@taiga-ui/core 4.3.0 → 4.4.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.
Files changed (49) hide show
  1. package/components/icon/icon.component.d.ts +5 -4
  2. package/components/scrollbar/scrollbar.component.d.ts +2 -1
  3. package/components/textfield/textfield.component.d.ts +1 -0
  4. package/esm2022/components/calendar/calendar-sheet.component.mjs +3 -3
  5. package/esm2022/components/icon/icon.component.mjs +17 -23
  6. package/esm2022/components/notification/notification.options.mjs +2 -2
  7. package/esm2022/components/root/root.component.mjs +1 -1
  8. package/esm2022/components/scrollbar/scrollbar.component.mjs +12 -11
  9. package/esm2022/components/scrollbar/scrollbar.directive.mjs +7 -5
  10. package/esm2022/components/textfield/textfield.component.mjs +6 -3
  11. package/esm2022/directives/icons/icons.directive.mjs +2 -2
  12. package/esm2022/pipes/month/month.pipe.mjs +2 -2
  13. package/esm2022/services/breakpoint.service.mjs +2 -2
  14. package/esm2022/services/dark-theme.service.mjs +4 -1
  15. package/esm2022/tokens/dark-mode.mjs +40 -0
  16. package/esm2022/tokens/icon-resolver.mjs +12 -10
  17. package/esm2022/tokens/icons.mjs +8 -4
  18. package/esm2022/tokens/index.mjs +2 -1
  19. package/esm2022/utils/format/number-to-string-without-exp.mjs +2 -2
  20. package/fesm2022/taiga-ui-core-components-calendar.mjs +2 -2
  21. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  22. package/fesm2022/taiga-ui-core-components-icon.mjs +16 -22
  23. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  24. package/fesm2022/taiga-ui-core-components-notification.mjs +1 -1
  25. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-core-components-root.mjs +1 -1
  27. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +17 -14
  28. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-core-components-textfield.mjs +5 -2
  30. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-core-directives-icons.mjs +2 -2
  32. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-core-pipes-month.mjs +1 -1
  34. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-core-services.mjs +4 -1
  36. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-core-tokens.mjs +57 -15
  38. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-core-utils-format.mjs +1 -1
  40. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  41. package/package.json +111 -111
  42. package/services/dark-theme.service.d.ts +3 -0
  43. package/styles/components/icon.less +1 -1
  44. package/styles/components/icons.less +1 -0
  45. package/styles/components/textfield.less +1 -0
  46. package/tokens/dark-mode.d.ts +6 -0
  47. package/tokens/icon-resolver.d.ts +4 -0
  48. package/tokens/icons.d.ts +4 -0
  49. package/tokens/index.d.ts +1 -0
@@ -2,10 +2,11 @@ import type { TuiStringHandler } from '@taiga-ui/cdk/types';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiIcon {
4
4
  protected readonly resolver: TuiStringHandler<string>;
5
- icon: string;
6
- background: string;
7
- protected getUrl(icon: string): string;
8
- protected getBackground(background: string): string | null;
5
+ protected readonly backgroundSrc: import("@angular/core").WritableSignal<string | null>;
6
+ protected readonly iconSrc: import("@angular/core").WritableSignal<string | null>;
7
+ set icon(icon: string);
8
+ set background(background: string);
9
+ resolve(value?: string | null): string | null;
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiIcon, never>;
10
11
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiIcon, "tui-icon", never, { "icon": { "alias": "icon"; "required": false; }; "background": { "alias": "background"; "required": false; }; }, {}, never, never, true, never>;
11
12
  }
@@ -16,7 +16,8 @@ export declare class TuiScrollbar {
16
16
  protected readonly browserScrollRef: ElementRef<HTMLElement>;
17
17
  hidden: boolean;
18
18
  protected get delegated(): boolean;
19
- protected onScrollable(element: HTMLElement): void;
19
+ protected get scrollRef(): HTMLElement;
20
+ protected set scrollRef(element: HTMLElement);
20
21
  protected scrollIntoView(detail: HTMLElement): void;
21
22
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiScrollbar, never>;
22
23
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiScrollbar, "tui-scrollbar", never, { "hidden": { "alias": "hidden"; "required": false; }; }, {}, never, ["*"], true, never>;
@@ -30,6 +30,7 @@ export declare class TuiTextfieldComponent<T> implements TuiDataListHost<T> {
30
30
  protected get computedFiller(): string;
31
31
  protected get showFiller(): boolean;
32
32
  protected get hasLabel(): boolean;
33
+ protected onResize(entry: readonly ResizeObserverEntry[]): void;
33
34
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldComponent<any>, never>;
34
35
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiTextfieldComponent<any>, "tui-textfield", never, { "filler": { "alias": "filler"; "required": false; }; "stringify": { "alias": "stringify"; "required": false; }; "content": { "alias": "content"; "required": false; }; }, {}, ["directive", "label", "control", "el"], ["input", "select", "label", "*", "tui-icon"], true, [{ directive: typeof i1.TuiNativeValidator; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiWithDropdownOpen; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiWithTextfieldDropdown; inputs: {}; outputs: {}; }, { directive: typeof i4.TuiWithIcons; inputs: {}; outputs: {}; }]>;
35
36
  }
@@ -100,7 +100,7 @@ class TuiCalendarSheet {
100
100
  this.hoveredItemChange.emit(day);
101
101
  }
102
102
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarSheet, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
103
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiCalendarSheet, isStandalone: true, selector: "tui-calendar-sheet", inputs: { month: "month", disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", value: "value", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent" }, outputs: { hoveredItemChange: "hoveredItemChange", dayClick: "dayClick" }, host: { properties: { "class._single": "isSingleDayRange" } }, ngImport: i0, template: "<div class=\"t-row t-row_weekday\">\n <div\n *ngFor=\"let day of unorderedWeekDays$ | tuiOrderWeekDays | async\"\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex].length\">\n <ng-container *tuiLet=\"sheet[rowIndex][colIndex] as item\">\n <div\n *ngIf=\"!itemIsUnavailable(item) || showAdjacent\"\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n <div\n automation-id=\"tui-calendar-sheet__item\"\n class=\"t-item\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-item_unavailable]=\"itemIsUnavailable(item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"\n item\n | tuiMapper\n : toMarkers\n : itemIsToday(item)\n : !!getItemRange(item)\n : markerHandler as markers\n \"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;display:flex;justify-content:space-between;height:2.25rem;isolation:isolate}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:before,.t-item:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-item:after{border-radius:.5rem}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;text-align:center;outline:none;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:.125rem solid transparent}.t-cell:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%);content:\"\";bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background:var(--tui-text-primary)}.t-cell_interval:before{background:var(--tui-background-base-alt)}:host._single .t-cell_interval:before{background:var(--tui-background-neutral-1-hover)}.t-cell_interval:not(:last-child):before{right:-.1875rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell_interval:not([data-range=start]):not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background:var(--tui-text-primary-on-accent-1)}.t-cell[data-range]>.t-item{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range]>.t-item:before,.t-cell[data-range]>.t-item:after{background:var(--tui-background-accent-1)}.t-cell[data-range]:hover>.t-item:before,.t-cell[data-range]:hover>.t-item:after{background:var(--tui-background-accent-1-hover)}.t-cell[data-range]:active>.t-item:before,.t-cell[data-range]:active>.t-item:after{background:var(--tui-background-accent-1-pressed)}.t-cell[data-range=end]:before{background:var(--tui-background-base-alt)}:host._single .t-cell[data-range=end]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:before{left:.625rem;border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translate(1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.625rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translate(-1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=single]>.t-item:after{display:none}.t-cell_disabled{pointer-events:none}.t-cell_disabled>.t-item{opacity:.36}.t-cell:hover:not([data-range])>.t-item{background:var(--tui-background-neutral-1-hover)}.t-cell:active:not([data-range])>.t-item{background:var(--tui-background-neutral-1-pressed)}:host{width:15.75rem}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none}.t-item{display:flex;flex-direction:column}.t-item_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{display:flex;justify-content:center;margin-top:-.5rem;padding-bottom:.25rem}.t-dot{display:inline-block;width:.25rem;height:.25rem;border-radius:100%;margin:0 .0625rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "pipe", type: TuiCalendarSheetPipe, name: "tuiCalendarSheet" }, { kind: "pipe", type: TuiOrderWeekDaysPipe, name: "tuiOrderWeekDays" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
103
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiCalendarSheet, isStandalone: true, selector: "tui-calendar-sheet", inputs: { month: "month", disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", value: "value", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent" }, outputs: { hoveredItemChange: "hoveredItemChange", dayClick: "dayClick" }, host: { properties: { "class._single": "isSingleDayRange" } }, ngImport: i0, template: "<div class=\"t-row t-row_weekday\">\n <div\n *ngFor=\"let day of unorderedWeekDays$ | tuiOrderWeekDays | async\"\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex]?.length || 0\">\n <ng-container *tuiLet=\"sheet[rowIndex]?.[colIndex] as item\">\n <div\n *ngIf=\"item && (!itemIsUnavailable(item) || showAdjacent)\"\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n <div\n automation-id=\"tui-calendar-sheet__item\"\n class=\"t-item\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-item_unavailable]=\"itemIsUnavailable(item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"\n item\n | tuiMapper\n : toMarkers\n : itemIsToday(item)\n : !!getItemRange(item)\n : markerHandler as markers\n \"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;display:flex;justify-content:space-between;height:2.25rem;isolation:isolate}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:before,.t-item:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-item:after{border-radius:.5rem}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;text-align:center;outline:none;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:.125rem solid transparent}.t-cell:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%);content:\"\";bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background:var(--tui-text-primary)}.t-cell_interval:before{background:var(--tui-background-base-alt)}:host._single .t-cell_interval:before{background:var(--tui-background-neutral-1-hover)}.t-cell_interval:not(:last-child):before{right:-.1875rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell_interval:not([data-range=start]):not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background:var(--tui-text-primary-on-accent-1)}.t-cell[data-range]>.t-item{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range]>.t-item:before,.t-cell[data-range]>.t-item:after{background:var(--tui-background-accent-1)}.t-cell[data-range]:hover>.t-item:before,.t-cell[data-range]:hover>.t-item:after{background:var(--tui-background-accent-1-hover)}.t-cell[data-range]:active>.t-item:before,.t-cell[data-range]:active>.t-item:after{background:var(--tui-background-accent-1-pressed)}.t-cell[data-range=end]:before{background:var(--tui-background-base-alt)}:host._single .t-cell[data-range=end]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:before{left:.625rem;border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translate(1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.625rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translate(-1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=single]>.t-item:after{display:none}.t-cell_disabled{pointer-events:none}.t-cell_disabled>.t-item{opacity:.36}.t-cell:hover:not([data-range])>.t-item{background:var(--tui-background-neutral-1-hover)}.t-cell:active:not([data-range])>.t-item{background:var(--tui-background-neutral-1-pressed)}:host{width:15.75rem}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none}.t-item{display:flex;flex-direction:column}.t-item_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{display:flex;justify-content:center;margin-top:-.5rem;padding-bottom:.25rem}.t-dot{display:inline-block;width:.25rem;height:.25rem;border-radius:100%;margin:0 .0625rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "pipe", type: TuiCalendarSheetPipe, name: "tuiCalendarSheet" }, { kind: "pipe", type: TuiOrderWeekDaysPipe, name: "tuiOrderWeekDays" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
104
104
  }
105
105
  export { TuiCalendarSheet };
106
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarSheet, decorators: [{
@@ -115,7 +115,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
115
115
  TuiOrderWeekDaysPipe,
116
116
  ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
117
117
  '[class._single]': 'isSingleDayRange',
118
- }, template: "<div class=\"t-row t-row_weekday\">\n <div\n *ngFor=\"let day of unorderedWeekDays$ | tuiOrderWeekDays | async\"\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex].length\">\n <ng-container *tuiLet=\"sheet[rowIndex][colIndex] as item\">\n <div\n *ngIf=\"!itemIsUnavailable(item) || showAdjacent\"\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n <div\n automation-id=\"tui-calendar-sheet__item\"\n class=\"t-item\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-item_unavailable]=\"itemIsUnavailable(item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"\n item\n | tuiMapper\n : toMarkers\n : itemIsToday(item)\n : !!getItemRange(item)\n : markerHandler as markers\n \"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;display:flex;justify-content:space-between;height:2.25rem;isolation:isolate}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:before,.t-item:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-item:after{border-radius:.5rem}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;text-align:center;outline:none;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:.125rem solid transparent}.t-cell:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%);content:\"\";bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background:var(--tui-text-primary)}.t-cell_interval:before{background:var(--tui-background-base-alt)}:host._single .t-cell_interval:before{background:var(--tui-background-neutral-1-hover)}.t-cell_interval:not(:last-child):before{right:-.1875rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell_interval:not([data-range=start]):not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background:var(--tui-text-primary-on-accent-1)}.t-cell[data-range]>.t-item{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range]>.t-item:before,.t-cell[data-range]>.t-item:after{background:var(--tui-background-accent-1)}.t-cell[data-range]:hover>.t-item:before,.t-cell[data-range]:hover>.t-item:after{background:var(--tui-background-accent-1-hover)}.t-cell[data-range]:active>.t-item:before,.t-cell[data-range]:active>.t-item:after{background:var(--tui-background-accent-1-pressed)}.t-cell[data-range=end]:before{background:var(--tui-background-base-alt)}:host._single .t-cell[data-range=end]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:before{left:.625rem;border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translate(1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.625rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translate(-1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=single]>.t-item:after{display:none}.t-cell_disabled{pointer-events:none}.t-cell_disabled>.t-item{opacity:.36}.t-cell:hover:not([data-range])>.t-item{background:var(--tui-background-neutral-1-hover)}.t-cell:active:not([data-range])>.t-item{background:var(--tui-background-neutral-1-pressed)}:host{width:15.75rem}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none}.t-item{display:flex;flex-direction:column}.t-item_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{display:flex;justify-content:center;margin-top:-.5rem;padding-bottom:.25rem}.t-dot{display:inline-block;width:.25rem;height:.25rem;border-radius:100%;margin:0 .0625rem}\n"] }]
118
+ }, template: "<div class=\"t-row t-row_weekday\">\n <div\n *ngFor=\"let day of unorderedWeekDays$ | tuiOrderWeekDays | async\"\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex]?.length || 0\">\n <ng-container *tuiLet=\"sheet[rowIndex]?.[colIndex] as item\">\n <div\n *ngIf=\"item && (!itemIsUnavailable(item) || showAdjacent)\"\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n <div\n automation-id=\"tui-calendar-sheet__item\"\n class=\"t-item\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-item_unavailable]=\"itemIsUnavailable(item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"\n item\n | tuiMapper\n : toMarkers\n : itemIsToday(item)\n : !!getItemRange(item)\n : markerHandler as markers\n \"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;display:flex;justify-content:space-between;height:2.25rem;isolation:isolate}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:before,.t-item:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-item:after{border-radius:.5rem}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;text-align:center;outline:none;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:.125rem solid transparent}.t-cell:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%);content:\"\";bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background:var(--tui-text-primary)}.t-cell_interval:before{background:var(--tui-background-base-alt)}:host._single .t-cell_interval:before{background:var(--tui-background-neutral-1-hover)}.t-cell_interval:not(:last-child):before{right:-.1875rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell_interval:not([data-range=start]):not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background:var(--tui-text-primary-on-accent-1)}.t-cell[data-range]>.t-item{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range]>.t-item:before,.t-cell[data-range]>.t-item:after{background:var(--tui-background-accent-1)}.t-cell[data-range]:hover>.t-item:before,.t-cell[data-range]:hover>.t-item:after{background:var(--tui-background-accent-1-hover)}.t-cell[data-range]:active>.t-item:before,.t-cell[data-range]:active>.t-item:after{background:var(--tui-background-accent-1-pressed)}.t-cell[data-range=end]:before{background:var(--tui-background-base-alt)}:host._single .t-cell[data-range=end]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:before{left:.625rem;border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translate(1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.625rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translate(-1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=single]>.t-item:after{display:none}.t-cell_disabled{pointer-events:none}.t-cell_disabled>.t-item{opacity:.36}.t-cell:hover:not([data-range])>.t-item{background:var(--tui-background-neutral-1-hover)}.t-cell:active:not([data-range])>.t-item{background:var(--tui-background-neutral-1-pressed)}:host{width:15.75rem}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none}.t-item{display:flex;flex-direction:column}.t-item_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{display:flex;justify-content:center;margin-top:-.5rem;padding-bottom:.25rem}.t-dot{display:inline-block;width:.25rem;height:.25rem;border-radius:100%;margin:0 .0625rem}\n"] }]
119
119
  }], propDecorators: { month: [{
120
120
  type: Input
121
121
  }], disabledItemHandler: [{
@@ -133,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
133
133
  }], dayClick: [{
134
134
  type: Output
135
135
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItc2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLXNoZWV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci1zaGVldC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXpELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBS2hGLE1BbUJhLGdCQUFnQjtJQW5CN0I7UUFvQnFCLFVBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENB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SUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJVSxpQkFBaUI7c0JBRGhDLE1BQU07Z0JBSVMsUUFBUTtzQkFEdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlEYXksIFR1aURheVJhbmdlLCBUdWlNb250aH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtUdWlIb3ZlcmVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvaG92ZXJlZCc7XG5pbXBvcnQge1R1aUxldH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2xldCc7XG5pbXBvcnQge1R1aVJlcGVhdFRpbWVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcmVwZWF0LXRpbWVzJztcbmltcG9ydCB7VHVpTWFwcGVyUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy9tYXBwZXInO1xuaW1wb3J0IHR5cGUge1R1aUJvb2xlYW5IYW5kbGVyLCBUdWlIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpTnVsbGFibGVTYW1lfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlDYWxlbmRhclNoZWV0UGlwZSwgVHVpT3JkZXJXZWVrRGF5c1BpcGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3BpcGVzJztcbmltcG9ydCB7VFVJX0RBWV9UWVBFX0hBTkRMRVIsIFRVSV9TSE9SVF9XRUVLX0RBWVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpUmFuZ2VTdGF0ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBUdWlNYXJrZXJIYW5kbGVyID0gVHVpSGFuZGxlcjxUdWlEYXksIFtdIHwgW3N0cmluZywgc3RyaW5nXSB8IFtzdHJpbmddPjtcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1jYWxlbmRhci1zaGVldCcsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFR1aUxldCxcbiAgICAgICAgVHVpTWFwcGVyUGlwZSxcbiAgICAgICAgVHVpUmVwZWF0VGltZXMsXG4gICAgICAgIFR1aUhvdmVyZWQsXG4gICAgICAgIFR1aUNhbGVuZGFyU2hlZXRQaXBlLFxuICAgICAgICBUdWlPcmRlcldlZWtEYXlzUGlwZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci1zaGVldC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1zaGVldC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLl9zaW5nbGVdJzogJ2lzU2luZ2xlRGF5UmFuZ2UnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNhbGVuZGFyU2hlZXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9kYXkgPSBUdWlEYXkuY3VycmVudExvY2FsKCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdW5vcmRlcmVkV2Vla0RheXMkID0gaW5qZWN0KFRVSV9TSE9SVF9XRUVLX0RBWVMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkYXlUeXBlSGFuZGxlciA9IGluamVjdChUVUlfREFZX1RZUEVfSEFORExFUik7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtb250aDogVHVpTW9udGggPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4gPSBUVUlfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1hcmtlckhhbmRsZXI6IFR1aU1hcmtlckhhbmRsZXIgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHZhbHVlOiBUdWlEYXkgfCBUdWlEYXlSYW5nZSB8IHJlYWRvbmx5IFR1aURheVtdIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBob3ZlcmVkSXRlbTogVHVpRGF5IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93QWRqYWNlbnQgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGhvdmVyZWRJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlEYXkgfCBudWxsPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGRheUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlEYXk+KCk7XG5cbiAgICBwdWJsaWMgaXRlbUlzSW50ZXJ2YWwoZGF5OiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghKHZhbHVlIGluc3RhbmNlb2YgVHVpRGF5UmFuZ2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlLmlzU2luZ2xlRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUuZnJvbS5kYXlTYW1lT3JCZWZvcmUoZGF5KSAmJiB2YWx1ZS50by5kYXlBZnRlcihkYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdmVyZWRJdGVtID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByYW5nZSA9IFR1aURheVJhbmdlLnNvcnQodmFsdWUuZnJvbSwgaG92ZXJlZEl0ZW0pO1xuXG4gICAgICAgIHJldHVybiByYW5nZS5mcm9tLmRheVNhbWVPckJlZm9yZShkYXkpICYmIHJhbmdlLnRvLmRheUFmdGVyKGRheSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uSXRlbUhvdmVyZWQoaXRlbTogVHVpRGF5IHwgZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkSXRlbShpdGVtIHx8IG51bGwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJdGVtUmFuZ2UoaXRlbTogVHVpRGF5KTogVHVpUmFuZ2VTdGF0ZSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBUdWlEYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5kYXlTYW1lKGl0ZW0pID8gJ3NpbmdsZScgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBUdWlEYXlSYW5nZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5maW5kKChkYXkpID0+IGRheS5kYXlTYW1lKGl0ZW0pKSA/ICdzaW5nbGUnIDogbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh2YWx1ZS5mcm9tLmRheVNhbWUoaXRlbSkgJiYgIXZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtPy5kYXlBZnRlcih2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtPy5kYXlTYW1lKGl0ZW0pICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5QmVmb3JlKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVEYXkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuICdzdGFydCc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodmFsdWUudG8uZGF5U2FtZShpdGVtKSAmJiAhdmFsdWUuaXNTaW5nbGVEYXkpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0/LmRheUJlZm9yZSh2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtPy5kYXlTYW1lKGl0ZW0pICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5QWZ0ZXIodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5pc1NpbmdsZURheSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2VuZCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWUuaXNTaW5nbGVEYXkgJiYgdmFsdWUuZnJvbS5kYXlTYW1lKGl0ZW0pID8gJ3NpbmdsZScgOiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNTaW5nbGVEYXlSYW5nZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgaW5zdGFuY2VvZiBUdWlEYXlSYW5nZSAmJiB0aGlzLnZhbHVlLmlzU2luZ2xlRGF5O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0b01hcmtlcnMgPSAoXG4gICAgICAgIGRheTogVHVpRGF5LFxuICAgICAgICB0b2RheTogYm9vbGVhbixcbiAgICAgICAgaW5SYW5nZTogYm9vbGVhbixcbiAgICAgICAgbWFya2VySGFuZGxlcjogVHVpTWFya2VySGFuZGxlciB8IG51bGwsXG4gICAgKTogW3N0cmluZywgc3RyaW5nXSB8IFtzdHJpbmddIHwgbnVsbCA9PiB7XG4gICAgICAgIGlmICh0b2RheSB8fCBpblJhbmdlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1hcmtlcnMgPSBtYXJrZXJIYW5kbGVyPy4oZGF5KTtcblxuICAgICAgICByZXR1cm4gbWFya2Vycz8ubGVuZ3RoID8gbWFya2VycyA6IG51bGw7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBpdGVtSXNUb2RheShpdGVtOiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9kYXkuZGF5U2FtZShpdGVtKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaXRlbUlzVW5hdmFpbGFibGUoaXRlbTogVHVpRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5tb250aC5tb250aFNhbWUoaXRlbSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uSXRlbUNsaWNrKGl0ZW06IFR1aURheSk6IHZvaWQge1xuICAgICAgICB0aGlzLmRheUNsaWNrLmVtaXQoaXRlbSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVIb3ZlcmVkSXRlbShkYXk6IFR1aURheSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR1aU51bGxhYmxlU2FtZSh0aGlzLmhvdmVyZWRJdGVtLCBkYXksIChhLCBiKSA9PiBhLmRheVNhbWUoYikpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtID0gZGF5O1xuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtQ2hhbmdlLmVtaXQoZGF5KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidC1yb3cgdC1yb3dfd2Vla2RheVwiPlxuICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IGRheSBvZiB1bm9yZGVyZWRXZWVrRGF5cyQgfCB0dWlPcmRlcldlZWtEYXlzIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cInQtY2VsbFwiXG4gICAgICAgIFt0ZXh0Q29udGVudF09XCJkYXlcIlxuICAgID48L2Rpdj5cbjwvZGl2PlxuPGRpdiAqdHVpTGV0PVwibW9udGggfCB0dWlDYWxlbmRhclNoZWV0OiB0cnVlIGFzIHNoZWV0XCI+XG4gICAgPGRpdlxuICAgICAgICAqdHVpUmVwZWF0VGltZXM9XCJsZXQgcm93SW5kZXggb2Ygc2hlZXQubGVuZ3RoXCJcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1jYWxlbmRhci1zaGVldF9fcm93XCJcbiAgICAgICAgY2xhc3M9XCJ0LXJvd1wiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICp0dWlSZXBlYXRUaW1lcz1cImxldCBjb2xJbmRleCBvZiBzaGVldFtyb3dJbmRleF0ubGVuZ3RoXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICp0dWlMZXQ9XCJzaGVldFtyb3dJbmRleF1bY29sSW5kZXhdIGFzIGl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWl0ZW1Jc1VuYXZhaWxhYmxlKGl0ZW0pIHx8IHNob3dBZGphY2VudFwiXG4gICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktY2FsZW5kYXItc2hlZXRfX2NlbGxcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtY2VsbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtcmFuZ2VdPVwiZ2V0SXRlbVJhbmdlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtY2VsbF9kaXNhYmxlZF09XCJkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtY2VsbF9pbnRlcnZhbF09XCJpdGVtSXNJbnRlcnZhbChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LWNlbGxfdG9kYXldPVwiaXRlbUlzVG9kYXkoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MudC1jZWxsX3VuYXZhaWxhYmxlXT1cIml0ZW1Jc1VuYXZhaWxhYmxlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKHR1aUhvdmVyZWRDaGFuZ2UpPVwib25JdGVtSG92ZXJlZCgkZXZlbnQgJiYgaXRlbSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1jYWxlbmRhci1zaGVldF9faXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXR5cGVdPVwiaXRlbSB8IHR1aU1hcHBlcjogZGF5VHlwZUhhbmRsZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtaXRlbV91bmF2YWlsYWJsZV09XCJpdGVtSXNVbmF2YWlsYWJsZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uZGF5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0dWlNYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRvTWFya2Vyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXRlbUlzVG9kYXkoaXRlbSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICEhZ2V0SXRlbVJhbmdlKGl0ZW0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtYXJrZXJIYW5kbGVyIGFzIG1hcmtlcnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1kb3RzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1kb3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJtYXJrZXJzPy5bMF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibWFya2Vycy5sZW5ndGggPiAxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWRvdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIm1hcmtlcnM/LlsxXSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItc2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLXNoZWV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci1zaGVldC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXpELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBS2hGLE1BbUJhLGdCQUFnQjtJQW5CN0I7UUFvQnFCLFVBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENB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SUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJVSxpQkFBaUI7c0JBRGhDLE1BQU07Z0JBSVMsUUFBUTtzQkFEdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlEYXksIFR1aURheVJhbmdlLCBUdWlNb250aH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtUdWlIb3ZlcmVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvaG92ZXJlZCc7XG5pbXBvcnQge1R1aUxldH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2xldCc7XG5pbXBvcnQge1R1aVJlcGVhdFRpbWVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcmVwZWF0LXRpbWVzJztcbmltcG9ydCB7VHVpTWFwcGVyUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy9tYXBwZXInO1xuaW1wb3J0IHR5cGUge1R1aUJvb2xlYW5IYW5kbGVyLCBUdWlIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpTnVsbGFibGVTYW1lfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlDYWxlbmRhclNoZWV0UGlwZSwgVHVpT3JkZXJXZWVrRGF5c1BpcGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3BpcGVzJztcbmltcG9ydCB7VFVJX0RBWV9UWVBFX0hBTkRMRVIsIFRVSV9TSE9SVF9XRUVLX0RBWVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpUmFuZ2VTdGF0ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBUdWlNYXJrZXJIYW5kbGVyID0gVHVpSGFuZGxlcjxUdWlEYXksIFtdIHwgW3N0cmluZywgc3RyaW5nXSB8IFtzdHJpbmddPjtcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1jYWxlbmRhci1zaGVldCcsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFR1aUxldCxcbiAgICAgICAgVHVpTWFwcGVyUGlwZSxcbiAgICAgICAgVHVpUmVwZWF0VGltZXMsXG4gICAgICAgIFR1aUhvdmVyZWQsXG4gICAgICAgIFR1aUNhbGVuZGFyU2hlZXRQaXBlLFxuICAgICAgICBUdWlPcmRlcldlZWtEYXlzUGlwZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci1zaGVldC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1zaGVldC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLl9zaW5nbGVdJzogJ2lzU2luZ2xlRGF5UmFuZ2UnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNhbGVuZGFyU2hlZXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9kYXkgPSBUdWlEYXkuY3VycmVudExvY2FsKCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdW5vcmRlcmVkV2Vla0RheXMkID0gaW5qZWN0KFRVSV9TSE9SVF9XRUVLX0RBWVMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkYXlUeXBlSGFuZGxlciA9IGluamVjdChUVUlfREFZX1RZUEVfSEFORExFUik7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtb250aDogVHVpTW9udGggPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4gPSBUVUlfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1hcmtlckhhbmRsZXI6IFR1aU1hcmtlckhhbmRsZXIgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHZhbHVlOiBUdWlEYXkgfCBUdWlEYXlSYW5nZSB8IHJlYWRvbmx5IFR1aURheVtdIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBob3ZlcmVkSXRlbTogVHVpRGF5IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93QWRqYWNlbnQgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGhvdmVyZWRJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlEYXkgfCBudWxsPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGRheUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlEYXk+KCk7XG5cbiAgICBwdWJsaWMgaXRlbUlzSW50ZXJ2YWwoZGF5OiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghKHZhbHVlIGluc3RhbmNlb2YgVHVpRGF5UmFuZ2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlLmlzU2luZ2xlRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUuZnJvbS5kYXlTYW1lT3JCZWZvcmUoZGF5KSAmJiB2YWx1ZS50by5kYXlBZnRlcihkYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdmVyZWRJdGVtID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByYW5nZSA9IFR1aURheVJhbmdlLnNvcnQodmFsdWUuZnJvbSwgaG92ZXJlZEl0ZW0pO1xuXG4gICAgICAgIHJldHVybiByYW5nZS5mcm9tLmRheVNhbWVPckJlZm9yZShkYXkpICYmIHJhbmdlLnRvLmRheUFmdGVyKGRheSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uSXRlbUhvdmVyZWQoaXRlbTogVHVpRGF5IHwgZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkSXRlbShpdGVtIHx8IG51bGwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJdGVtUmFuZ2UoaXRlbTogVHVpRGF5KTogVHVpUmFuZ2VTdGF0ZSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBUdWlEYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5kYXlTYW1lKGl0ZW0pID8gJ3NpbmdsZScgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBUdWlEYXlSYW5nZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5maW5kKChkYXkpID0+IGRheS5kYXlTYW1lKGl0ZW0pKSA/ICdzaW5nbGUnIDogbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh2YWx1ZS5mcm9tLmRheVNhbWUoaXRlbSkgJiYgIXZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtPy5kYXlBZnRlcih2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtPy5kYXlTYW1lKGl0ZW0pICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5QmVmb3JlKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVEYXkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuICdzdGFydCc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodmFsdWUudG8uZGF5U2FtZShpdGVtKSAmJiAhdmFsdWUuaXNTaW5nbGVEYXkpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0/LmRheUJlZm9yZSh2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtPy5kYXlTYW1lKGl0ZW0pICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5QWZ0ZXIodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5pc1NpbmdsZURheSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2VuZCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWUuaXNTaW5nbGVEYXkgJiYgdmFsdWUuZnJvbS5kYXlTYW1lKGl0ZW0pID8gJ3NpbmdsZScgOiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNTaW5nbGVEYXlSYW5nZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgaW5zdGFuY2VvZiBUdWlEYXlSYW5nZSAmJiB0aGlzLnZhbHVlLmlzU2luZ2xlRGF5O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0b01hcmtlcnMgPSAoXG4gICAgICAgIGRheTogVHVpRGF5LFxuICAgICAgICB0b2RheTogYm9vbGVhbixcbiAgICAgICAgaW5SYW5nZTogYm9vbGVhbixcbiAgICAgICAgbWFya2VySGFuZGxlcjogVHVpTWFya2VySGFuZGxlciB8IG51bGwsXG4gICAgKTogW3N0cmluZywgc3RyaW5nXSB8IFtzdHJpbmddIHwgbnVsbCA9PiB7XG4gICAgICAgIGlmICh0b2RheSB8fCBpblJhbmdlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1hcmtlcnMgPSBtYXJrZXJIYW5kbGVyPy4oZGF5KTtcblxuICAgICAgICByZXR1cm4gbWFya2Vycz8ubGVuZ3RoID8gbWFya2VycyA6IG51bGw7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBpdGVtSXNUb2RheShpdGVtOiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9kYXkuZGF5U2FtZShpdGVtKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaXRlbUlzVW5hdmFpbGFibGUoaXRlbTogVHVpRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5tb250aC5tb250aFNhbWUoaXRlbSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uSXRlbUNsaWNrKGl0ZW06IFR1aURheSk6IHZvaWQge1xuICAgICAgICB0aGlzLmRheUNsaWNrLmVtaXQoaXRlbSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVIb3ZlcmVkSXRlbShkYXk6IFR1aURheSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR1aU51bGxhYmxlU2FtZSh0aGlzLmhvdmVyZWRJdGVtLCBkYXksIChhLCBiKSA9PiBhLmRheVNhbWUoYikpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtID0gZGF5O1xuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtQ2hhbmdlLmVtaXQoZGF5KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidC1yb3cgdC1yb3dfd2Vla2RheVwiPlxuICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IGRheSBvZiB1bm9yZGVyZWRXZWVrRGF5cyQgfCB0dWlPcmRlcldlZWtEYXlzIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cInQtY2VsbFwiXG4gICAgICAgIFt0ZXh0Q29udGVudF09XCJkYXlcIlxuICAgID48L2Rpdj5cbjwvZGl2PlxuPGRpdiAqdHVpTGV0PVwibW9udGggfCB0dWlDYWxlbmRhclNoZWV0OiB0cnVlIGFzIHNoZWV0XCI+XG4gICAgPGRpdlxuICAgICAgICAqdHVpUmVwZWF0VGltZXM9XCJsZXQgcm93SW5kZXggb2Ygc2hlZXQubGVuZ3RoXCJcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1jYWxlbmRhci1zaGVldF9fcm93XCJcbiAgICAgICAgY2xhc3M9XCJ0LXJvd1wiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICp0dWlSZXBlYXRUaW1lcz1cImxldCBjb2xJbmRleCBvZiBzaGVldFtyb3dJbmRleF0/Lmxlbmd0aCB8fCAwXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICp0dWlMZXQ9XCJzaGVldFtyb3dJbmRleF0/Lltjb2xJbmRleF0gYXMgaXRlbVwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtICYmICghaXRlbUlzVW5hdmFpbGFibGUoaXRlbSkgfHwgc2hvd0FkamFjZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktY2FsZW5kYXItc2hlZXRfX2NlbGxcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtY2VsbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtcmFuZ2VdPVwiZ2V0SXRlbVJhbmdlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtY2VsbF9kaXNhYmxlZF09XCJkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtY2VsbF9pbnRlcnZhbF09XCJpdGVtSXNJbnRlcnZhbChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LWNlbGxfdG9kYXldPVwiaXRlbUlzVG9kYXkoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MudC1jZWxsX3VuYXZhaWxhYmxlXT1cIml0ZW1Jc1VuYXZhaWxhYmxlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKHR1aUhvdmVyZWRDaGFuZ2UpPVwib25JdGVtSG92ZXJlZCgkZXZlbnQgJiYgaXRlbSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1jYWxlbmRhci1zaGVldF9faXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXR5cGVdPVwiaXRlbSB8IHR1aU1hcHBlcjogZGF5VHlwZUhhbmRsZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtaXRlbV91bmF2YWlsYWJsZV09XCJpdGVtSXNVbmF2YWlsYWJsZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uZGF5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0dWlNYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRvTWFya2Vyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXRlbUlzVG9kYXkoaXRlbSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICEhZ2V0SXRlbVJhbmdlKGl0ZW0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtYXJrZXJIYW5kbGVyIGFzIG1hcmtlcnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1kb3RzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1kb3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJtYXJrZXJzPy5bMF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibWFya2Vycy5sZW5ndGggPiAxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWRvdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIm1hcmtlcnM/LlsxXSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,41 +1,35 @@
1
- import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation, } from '@angular/core';
3
- import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
1
+ import { ChangeDetectionStrategy, Component, inject, Input, signal, ViewEncapsulation, } from '@angular/core';
4
2
  import { TUI_ICON_END, TUI_ICON_START, tuiInjectIconResolver } from '@taiga-ui/core/tokens';
5
3
  import * as i0 from "@angular/core";
6
4
  class TuiIcon {
7
5
  constructor() {
8
6
  this.resolver = tuiInjectIconResolver();
9
- this.icon = inject(TUI_ICON_START, { self: true, optional: true }) ||
10
- inject(TUI_ICON_END, { self: true, optional: true }) ||
11
- '';
12
- this.background = '';
7
+ this.backgroundSrc = signal(null);
8
+ this.iconSrc = signal(this.resolve(inject(TUI_ICON_START, { self: true, optional: true }) ||
9
+ inject(TUI_ICON_END, { self: true, optional: true })));
13
10
  }
14
- getUrl(icon) {
15
- return `url(${this.resolver(icon)})`;
11
+ set icon(icon) {
12
+ this.iconSrc.set(this.resolve(icon));
16
13
  }
17
- getBackground(background) {
18
- return background ? `url(${this.resolver(background)})` : null;
14
+ set background(background) {
15
+ this.backgroundSrc.set(this.resolve(background));
16
+ }
17
+ resolve(value) {
18
+ return value ? `url(${this.resolver(value)})` : null;
19
19
  }
20
20
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiIcon, isStandalone: true, selector: "tui-icon", inputs: { icon: "icon", background: "background" }, host: { properties: { "style.--t-icon": "getUrl(icon)", "style.--t-icon-bg": "getBackground(background)" } }, ngImport: i0, template: '', isInline: true, styles: ["tui-icon{position:relative;display:inline-block;width:1em;height:1em;font-size:1.5rem;flex-shrink:0;vertical-align:middle;box-sizing:border-box;-webkit-mask:var(--t-icon-bg) no-repeat center / contain;mask:var(--t-icon-bg) no-repeat center / contain}tui-icon:after,tui-icon[tuiIcons]:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";display:block;-webkit-mask:var(--t-icon) no-repeat center / contain;mask:var(--t-icon) no-repeat center / contain;background:currentColor}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiIcon, isStandalone: true, selector: "tui-icon", inputs: { icon: "icon", background: "background" }, host: { properties: { "style.--t-icon": "iconSrc() || \"url()\"", "style.--t-icon-bg": "backgroundSrc()" } }, ngImport: i0, template: '', isInline: true, styles: ["tui-icon{position:relative;display:inline-block;width:1em;height:1em;font-size:1.5rem;flex-shrink:0;vertical-align:middle;box-sizing:border-box;-webkit-mask:var(--t-icon-bg) no-repeat center / contain;mask:var(--t-icon-bg) no-repeat center / contain}tui-icon:after,tui-icon[tuiIcons]:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";display:block;-webkit-mask:var(--t-icon) no-repeat center / contain intersect;mask:var(--t-icon) no-repeat center / contain intersect;background:currentColor}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
22
22
  }
23
- __decorate([
24
- tuiPure
25
- ], TuiIcon.prototype, "getUrl", null);
26
- __decorate([
27
- tuiPure
28
- ], TuiIcon.prototype, "getBackground", null);
29
23
  export { TuiIcon };
30
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiIcon, decorators: [{
31
25
  type: Component,
32
26
  args: [{ standalone: true, selector: 'tui-icon', template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
33
- '[style.--t-icon]': 'getUrl(icon)',
34
- '[style.--t-icon-bg]': 'getBackground(background)',
35
- }, styles: ["tui-icon{position:relative;display:inline-block;width:1em;height:1em;font-size:1.5rem;flex-shrink:0;vertical-align:middle;box-sizing:border-box;-webkit-mask:var(--t-icon-bg) no-repeat center / contain;mask:var(--t-icon-bg) no-repeat center / contain}tui-icon:after,tui-icon[tuiIcons]:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";display:block;-webkit-mask:var(--t-icon) no-repeat center / contain;mask:var(--t-icon) no-repeat center / contain;background:currentColor}\n"] }]
27
+ '[style.--t-icon]': 'iconSrc() || "url()"',
28
+ '[style.--t-icon-bg]': 'backgroundSrc()',
29
+ }, styles: ["tui-icon{position:relative;display:inline-block;width:1em;height:1em;font-size:1.5rem;flex-shrink:0;vertical-align:middle;box-sizing:border-box;-webkit-mask:var(--t-icon-bg) no-repeat center / contain;mask:var(--t-icon-bg) no-repeat center / contain}tui-icon:after,tui-icon[tuiIcons]:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";display:block;-webkit-mask:var(--t-icon) no-repeat center / contain intersect;mask:var(--t-icon) no-repeat center / contain intersect;background:currentColor}\n"] }]
36
30
  }], propDecorators: { icon: [{
37
31
  type: Input
38
32
  }], background: [{
39
33
  type: Input
40
- }], getUrl: [], getBackground: [] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBRTFGLE1BWWEsT0FBTztJQVpwQjtRQWF1QixhQUFRLEdBQTZCLHFCQUFxQixFQUFFLENBQUM7UUFHekUsU0FBSSxHQUNQLE1BQU0sQ0FBQyxjQUFjLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQztZQUNwRCxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7WUFDbEQsRUFBRSxDQUFDO1FBR0EsZUFBVSxHQUFHLEVBQUUsQ0FBQztLQVcxQjtJQVJhLE1BQU0sQ0FBQyxJQUFZO1FBQ3pCLE9BQU8sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDekMsQ0FBQztJQUdTLGFBQWEsQ0FBQyxVQUFrQjtRQUN0QyxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNuRSxDQUFDOytHQXBCUSxPQUFPO21HQUFQLE9BQU8sc09BVE4sRUFBRTs7QUFzQkY7SUFEVCxPQUFPO3FDQUdQO0FBR1M7SUFEVCxPQUFPOzRDQUdQO1NBcEJRLE9BQU87NEZBQVAsT0FBTztrQkFabkIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sVUFBVSxZQUNWLEVBQUUsaUJBRUcsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixrQkFBa0IsRUFBRSxjQUFjO3dCQUNsQyxxQkFBcUIsRUFBRSwyQkFBMkI7cUJBQ3JEOzhCQU1NLElBQUk7c0JBRFYsS0FBSztnQkFPQyxVQUFVO3NCQURoQixLQUFLO2dCQUlJLE1BQU0sTUFLTixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtUdWlTdHJpbmdIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpUHVyZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VFVJX0lDT05fRU5ELCBUVUlfSUNPTl9TVEFSVCwgdHVpSW5qZWN0SWNvblJlc29sdmVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWljb24nLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdHlsZXM6IFsnQGltcG9ydCBcIkB0YWlnYS11aS9jb3JlL3N0eWxlcy9jb21wb25lbnRzL2ljb24ubGVzc1wiOyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLi0tdC1pY29uXSc6ICdnZXRVcmwoaWNvbiknLFxuICAgICAgICAnW3N0eWxlLi0tdC1pY29uLWJnXSc6ICdnZXRCYWNrZ3JvdW5kKGJhY2tncm91bmQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJY29uIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVzb2x2ZXI6IFR1aVN0cmluZ0hhbmRsZXI8c3RyaW5nPiA9IHR1aUluamVjdEljb25SZXNvbHZlcigpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWNvbiA9XG4gICAgICAgIGluamVjdChUVUlfSUNPTl9TVEFSVCwge3NlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlfSkgfHxcbiAgICAgICAgaW5qZWN0KFRVSV9JQ09OX0VORCwge3NlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlfSkgfHxcbiAgICAgICAgJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBiYWNrZ3JvdW5kID0gJyc7XG5cbiAgICBAdHVpUHVyZVxuICAgIHByb3RlY3RlZCBnZXRVcmwoaWNvbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGB1cmwoJHt0aGlzLnJlc29sdmVyKGljb24pfSlgO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJvdGVjdGVkIGdldEJhY2tncm91bmQoYmFja2dyb3VuZDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiBiYWNrZ3JvdW5kID8gYHVybCgke3RoaXMucmVzb2x2ZXIoYmFja2dyb3VuZCl9KWAgOiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
34
+ }] } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFMUYsTUFZYSxPQUFPO0lBWnBCO1FBYXVCLGFBQVEsR0FBNkIscUJBQXFCLEVBQUUsQ0FBQztRQUM3RCxrQkFBYSxHQUFHLE1BQU0sQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFDNUMsWUFBTyxHQUFHLE1BQU0sQ0FDL0IsSUFBSSxDQUFDLE9BQU8sQ0FDUixNQUFNLENBQUMsY0FBYyxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7WUFDaEQsTUFBTSxDQUFDLFlBQVksRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQ3pELENBQ0osQ0FBQztLQWVMO0lBYkcsSUFDVyxJQUFJLENBQUMsSUFBWTtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQ1csVUFBVSxDQUFDLFVBQWtCO1FBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQXFCO1FBQ2hDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pELENBQUM7K0dBdEJRLE9BQU87bUdBQVAsT0FBTyxzT0FUTixFQUFFOztTQVNILE9BQU87NEZBQVAsT0FBTztrQkFabkIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sVUFBVSxZQUNWLEVBQUUsaUJBRUcsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixrQkFBa0IsRUFBRSxzQkFBc0I7d0JBQzFDLHFCQUFxQixFQUFFLGlCQUFpQjtxQkFDM0M7OEJBYVUsSUFBSTtzQkFEZCxLQUFLO2dCQU1LLFVBQVU7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgc2lnbmFsLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtUdWlTdHJpbmdIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7VFVJX0lDT05fRU5ELCBUVUlfSUNPTl9TVEFSVCwgdHVpSW5qZWN0SWNvblJlc29sdmVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWljb24nLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdHlsZXM6IFsnQGltcG9ydCBcIkB0YWlnYS11aS9jb3JlL3N0eWxlcy9jb21wb25lbnRzL2ljb24ubGVzc1wiOyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLi0tdC1pY29uXSc6ICdpY29uU3JjKCkgfHwgXCJ1cmwoKVwiJyxcbiAgICAgICAgJ1tzdHlsZS4tLXQtaWNvbi1iZ10nOiAnYmFja2dyb3VuZFNyYygpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJY29uIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVzb2x2ZXI6IFR1aVN0cmluZ0hhbmRsZXI8c3RyaW5nPiA9IHR1aUluamVjdEljb25SZXNvbHZlcigpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBiYWNrZ3JvdW5kU3JjID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29uU3JjID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KFxuICAgICAgICB0aGlzLnJlc29sdmUoXG4gICAgICAgICAgICBpbmplY3QoVFVJX0lDT05fU1RBUlQsIHtzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZX0pIHx8XG4gICAgICAgICAgICAgICAgaW5qZWN0KFRVSV9JQ09OX0VORCwge3NlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlfSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBpY29uKGljb246IHN0cmluZykge1xuICAgICAgICB0aGlzLmljb25TcmMuc2V0KHRoaXMucmVzb2x2ZShpY29uKSk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGJhY2tncm91bmQoYmFja2dyb3VuZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuYmFja2dyb3VuZFNyYy5zZXQodGhpcy5yZXNvbHZlKGJhY2tncm91bmQpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzb2x2ZSh2YWx1ZT86IHN0cmluZyB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlID8gYHVybCgke3RoaXMucmVzb2x2ZXIodmFsdWUpfSlgIDogbnVsbDtcbiAgICB9XG59XG4iXX0=
@@ -9,7 +9,7 @@ const ICONS = {
9
9
  /** Default values for the notification options. */
10
10
  export const TUI_NOTIFICATION_DEFAULT_OPTIONS = {
11
11
  appearance: 'info',
12
- icon: (appearance) => ICONS[appearance],
12
+ icon: (appearance) => ICONS[appearance] ?? '',
13
13
  size: 'l',
14
14
  };
15
15
  /**
@@ -19,4 +19,4 @@ export const TUI_NOTIFICATION_OPTIONS = tuiCreateToken(TUI_NOTIFICATION_DEFAULT_
19
19
  export function tuiNotificationOptionsProvider(options) {
20
20
  return tuiProvideOptions(TUI_NOTIFICATION_OPTIONS, options, TUI_NOTIFICATION_DEFAULT_OPTIONS);
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQVNwRixNQUFNLEtBQUssR0FBMkI7SUFDbEMsSUFBSSxFQUFFLFdBQVc7SUFDakIsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixLQUFLLEVBQUUsZUFBZTtJQUN0QixPQUFPLEVBQUUsbUJBQW1CO0lBQzVCLE9BQU8sRUFBRSxXQUFXO0NBQ3ZCLENBQUM7QUFFRixtREFBbUQ7QUFDbkQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQTJCO0lBQ3BFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUN2QyxJQUFJLEVBQUUsR0FBRztDQUNaLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLGNBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0FBRXpGLE1BQU0sVUFBVSw4QkFBOEIsQ0FDMUMsT0FBd0M7SUFFeEMsT0FBTyxpQkFBaUIsQ0FDcEIsd0JBQXdCLEVBQ3hCLE9BQU8sRUFDUCxnQ0FBZ0MsQ0FDbkMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1R1aVN0cmluZ0hhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbiwgdHVpUHJvdmlkZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgdHlwZSB7VHVpQXBwZWFyYW5jZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvYXBwZWFyYW5jZSc7XG5pbXBvcnQgdHlwZSB7VHVpU2l6ZUwsIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpTm90aWZpY2F0aW9uT3B0aW9ucyBleHRlbmRzIFR1aUFwcGVhcmFuY2VPcHRpb25zIHtcbiAgICByZWFkb25seSBpY29uOiBUdWlTdHJpbmdIYW5kbGVyPHN0cmluZz4gfCBzdHJpbmc7XG4gICAgcmVhZG9ubHkgc2l6ZTogVHVpU2l6ZUwgfCBUdWlTaXplUztcbn1cblxuY29uc3QgSUNPTlM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgaW5mbzogJ0B0dWkuaW5mbycsXG4gICAgc3VjY2VzczogJ0B0dWkuY2lyY2xlLWNoZWNrJyxcbiAgICBlcnJvcjogJ0B0dWkuY2lyY2xlLXgnLFxuICAgIHdhcm5pbmc6ICdAdHVpLmNpcmNsZS1hbGVydCcsXG4gICAgbmV1dHJhbDogJ0B0dWkuaW5mbycsXG59O1xuXG4vKiogRGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBub3RpZmljYXRpb24gb3B0aW9ucy4gKi9cbmV4cG9ydCBjb25zdCBUVUlfTk9USUZJQ0FUSU9OX0RFRkFVTFRfT1BUSU9OUzogVHVpTm90aWZpY2F0aW9uT3B0aW9ucyA9IHtcbiAgICBhcHBlYXJhbmNlOiAnaW5mbycsXG4gICAgaWNvbjogKGFwcGVhcmFuY2UpID0+IElDT05TW2FwcGVhcmFuY2VdLFxuICAgIHNpemU6ICdsJyxcbn07XG5cbi8qKlxuICogRGVmYXVsdCBwYXJhbWV0ZXJzIGZvciBub3RpZmljYXRpb24gYWxlcnQgY29tcG9uZW50XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfTk9USUZJQ0FUSU9OX09QVElPTlMgPSB0dWlDcmVhdGVUb2tlbihUVUlfTk9USUZJQ0FUSU9OX0RFRkFVTFRfT1BUSU9OUyk7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlOb3RpZmljYXRpb25PcHRpb25zUHJvdmlkZXIoXG4gICAgb3B0aW9uczogUGFydGlhbDxUdWlOb3RpZmljYXRpb25PcHRpb25zPixcbik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gdHVpUHJvdmlkZU9wdGlvbnMoXG4gICAgICAgIFRVSV9OT1RJRklDQVRJT05fT1BUSU9OUyxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgVFVJX05PVElGSUNBVElPTl9ERUZBVUxUX09QVElPTlMsXG4gICAgKTtcbn1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQVNwRixNQUFNLEtBQUssR0FBMkI7SUFDbEMsSUFBSSxFQUFFLFdBQVc7SUFDakIsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixLQUFLLEVBQUUsZUFBZTtJQUN0QixPQUFPLEVBQUUsbUJBQW1CO0lBQzVCLE9BQU8sRUFBRSxXQUFXO0NBQ3ZCLENBQUM7QUFFRixtREFBbUQ7QUFDbkQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQTJCO0lBQ3BFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUU7SUFDN0MsSUFBSSxFQUFFLEdBQUc7Q0FDWixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxjQUFjLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztBQUV6RixNQUFNLFVBQVUsOEJBQThCLENBQzFDLE9BQXdDO0lBRXhDLE9BQU8saUJBQWlCLENBQ3BCLHdCQUF3QixFQUN4QixPQUFPLEVBQ1AsZ0NBQWdDLENBQ25DLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1Byb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtUdWlTdHJpbmdIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW4sIHR1aVByb3ZpZGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHR5cGUge1R1aUFwcGVhcmFuY2VPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2FwcGVhcmFuY2UnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aU5vdGlmaWNhdGlvbk9wdGlvbnMgZXh0ZW5kcyBUdWlBcHBlYXJhbmNlT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgaWNvbjogVHVpU3RyaW5nSGFuZGxlcjxzdHJpbmc+IHwgc3RyaW5nO1xuICAgIHJlYWRvbmx5IHNpemU6IFR1aVNpemVMIHwgVHVpU2l6ZVM7XG59XG5cbmNvbnN0IElDT05TOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIGluZm86ICdAdHVpLmluZm8nLFxuICAgIHN1Y2Nlc3M6ICdAdHVpLmNpcmNsZS1jaGVjaycsXG4gICAgZXJyb3I6ICdAdHVpLmNpcmNsZS14JyxcbiAgICB3YXJuaW5nOiAnQHR1aS5jaXJjbGUtYWxlcnQnLFxuICAgIG5ldXRyYWw6ICdAdHVpLmluZm8nLFxufTtcblxuLyoqIERlZmF1bHQgdmFsdWVzIGZvciB0aGUgbm90aWZpY2F0aW9uIG9wdGlvbnMuICovXG5leHBvcnQgY29uc3QgVFVJX05PVElGSUNBVElPTl9ERUZBVUxUX09QVElPTlM6IFR1aU5vdGlmaWNhdGlvbk9wdGlvbnMgPSB7XG4gICAgYXBwZWFyYW5jZTogJ2luZm8nLFxuICAgIGljb246IChhcHBlYXJhbmNlKSA9PiBJQ09OU1thcHBlYXJhbmNlXSA/PyAnJyxcbiAgICBzaXplOiAnbCcsXG59O1xuXG4vKipcbiAqIERlZmF1bHQgcGFyYW1ldGVycyBmb3Igbm90aWZpY2F0aW9uIGFsZXJ0IGNvbXBvbmVudFxuICovXG5leHBvcnQgY29uc3QgVFVJX05PVElGSUNBVElPTl9PUFRJT05TID0gdHVpQ3JlYXRlVG9rZW4oVFVJX05PVElGSUNBVElPTl9ERUZBVUxUX09QVElPTlMpO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpTm90aWZpY2F0aW9uT3B0aW9uc1Byb3ZpZGVyKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpTm90aWZpY2F0aW9uT3B0aW9ucz4sXG4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHR1aVByb3ZpZGVPcHRpb25zKFxuICAgICAgICBUVUlfTk9USUZJQ0FUSU9OX09QVElPTlMsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIFRVSV9OT1RJRklDQVRJT05fREVGQVVMVF9PUFRJT05TLFxuICAgICk7XG59XG4iXX0=
@@ -27,7 +27,7 @@ class TuiRoot {
27
27
  inject(DOCUMENT).defaultView?.document.documentElement.setAttribute('data-tui-theme', inject(TUI_THEME).toLowerCase());
28
28
  }
29
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRoot, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "4.3.0" }, listeners: { "touchstart.passive.silent": "0" }, properties: { "style.--tui-duration.ms": "duration", "style.--tui-scroll-behavior": "reducedMotion ? \"auto\" : \"smooth\"", "class._mobile": "isMobileRes()" } }, hostDirectives: [{ directive: i1.TuiPlatform }], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html[data-tui-theme],.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html[data-tui-theme]::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html[data-tui-theme]::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);height:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: TuiDropdowns, selector: "tui-dropdowns" }, { kind: "component", type: TuiDialogs, selector: "tui-dialogs" }, { kind: "component", type: TuiAlerts, selector: "tui-alerts" }, { kind: "component", type: TuiHints, selector: "tui-hints" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "4.4.0" }, listeners: { "touchstart.passive.silent": "0" }, properties: { "style.--tui-duration.ms": "duration", "style.--tui-scroll-behavior": "reducedMotion ? \"auto\" : \"smooth\"", "class._mobile": "isMobileRes()" } }, hostDirectives: [{ directive: i1.TuiPlatform }], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html[data-tui-theme],.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html[data-tui-theme]::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html[data-tui-theme]::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);height:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: TuiDropdowns, selector: "tui-dropdowns" }, { kind: "component", type: TuiDialogs, selector: "tui-dialogs" }, { kind: "component", type: TuiAlerts, selector: "tui-alerts" }, { kind: "component", type: TuiHints, selector: "tui-hints" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
31
31
  }
32
32
  export { TuiRoot };
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRoot, decorators: [{
@@ -24,25 +24,26 @@ class TuiScrollbar {
24
24
  this.hidden = false;
25
25
  }
26
26
  get delegated() {
27
- return this.browserScrollRef.nativeElement !== this.el;
27
+ return this.scrollRef !== this.el;
28
28
  }
29
- onScrollable(element) {
29
+ get scrollRef() {
30
+ return this.browserScrollRef.nativeElement;
31
+ }
32
+ set scrollRef(element) {
30
33
  this.browserScrollRef.nativeElement = element;
31
34
  }
32
35
  scrollIntoView(detail) {
33
36
  if (this.delegated) {
34
37
  return;
35
38
  }
36
- const { nativeElement } = this.browserScrollRef;
37
- const { offsetTop, offsetLeft } = tuiGetElementOffset(nativeElement, detail);
38
- const { clientHeight, clientWidth } = nativeElement;
39
39
  const { offsetHeight, offsetWidth } = detail;
40
- const scrollTop = offsetTop + offsetHeight / 2 - clientHeight / 2;
41
- const scrollLeft = offsetLeft + offsetWidth / 2 - clientWidth / 2;
42
- nativeElement.scrollTo?.(scrollLeft, scrollTop);
40
+ const { offsetTop, offsetLeft } = tuiGetElementOffset(this.scrollRef, detail);
41
+ const scrollTop = offsetTop + offsetHeight / 2 - this.scrollRef.clientHeight / 2;
42
+ const scrollLeft = offsetLeft + offsetWidth / 2 - this.scrollRef.clientWidth / 2;
43
+ this.scrollRef.scrollTo?.(scrollLeft, scrollTop);
43
44
  }
44
45
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiScrollbar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiScrollbar, isStandalone: true, selector: "tui-scrollbar", inputs: { hidden: "hidden" }, host: { listeners: { "tui-scrollable.stop": "onScrollable($event.detail)", "tui-scroll-into-view.stop": "scrollIntoView($event.detail)" }, properties: { "class._native-hidden": "!isIOS || hidden" } }, providers: [
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiScrollbar, isStandalone: true, selector: "tui-scrollbar", inputs: { hidden: "hidden" }, host: { listeners: { "tui-scrollable.stop": "scrollRef = $event.detail", "tui-scroll-into-view.stop": "scrollIntoView($event.detail)" }, properties: { "class._native-hidden": "!isIOS || hidden" } }, providers: [
46
47
  {
47
48
  provide: TUI_SCROLL_REF,
48
49
  useFactory: () => inject(TuiScrollbar).browserScrollRef,
@@ -59,10 +60,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
59
60
  },
60
61
  ], host: {
61
62
  '[class._native-hidden]': '!isIOS || hidden',
62
- [`(${TUI_SCROLLABLE}.stop)`]: 'onScrollable($event.detail)',
63
+ [`(${TUI_SCROLLABLE}.stop)`]: 'scrollRef = $event.detail',
63
64
  [`(${TUI_SCROLL_INTO_VIEW}.stop)`]: 'scrollIntoView($event.detail)',
64
65
  }, template: "<tui-scroll-controls\n *ngIf=\"!hidden && !isIOS\"\n class=\"t-bars\"\n [class.t-hover-mode]=\"options.mode === 'hover'\"\n/>\n<div\n class=\"t-content\"\n [class.t-content_delegated]=\"delegated\"\n>\n <ng-content />\n</div>\n", styles: [":host{position:relative;display:flex;isolation:isolate;overflow:auto}:host._native-hidden{scrollbar-width:none;-ms-overflow-style:none}:host._native-hidden::-webkit-scrollbar,:host._native-hidden::-webkit-scrollbar-thumb{display:none}:host .t-hover-mode:not(:active){transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;opacity:0}:host:hover .t-hover-mode{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;opacity:1}.t-content{isolation:isolate;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:max-content}.t-content_delegated{height:100%}.t-bars{color:var(--tui-text-primary)}\n"] }]
65
66
  }], propDecorators: { hidden: [{
66
67
  type: Input
67
68
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zY3JvbGxiYXIvc2Nyb2xsYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zY3JvbGxiYXIvc2Nyb2xsYmFyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0scUJBQXFCLENBQUM7O0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsc0JBQXNCLENBQUM7QUFFM0Q7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDO0FBRS9DLE1BbUJhLFlBQVk7SUFuQnpCO1FBb0JxQixPQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUV0QixZQUFPLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDeEMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzQixxQkFBZ0IsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFHdkQsV0FBTSxHQUFHLEtBQUssQ0FBQztLQXdCekI7SUF0QkcsSUFBYyxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFUyxZQUFZLENBQUMsT0FBb0I7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUM7SUFDbEQsQ0FBQztJQUVTLGNBQWMsQ0FBQyxNQUFtQjtRQUN4QyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsT0FBTztTQUNWO1FBRUQsTUFBTSxFQUFDLGFBQWEsRUFBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUM5QyxNQUFNLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxHQUFHLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzRSxNQUFNLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBQyxHQUFHLGFBQWEsQ0FBQztRQUNsRCxNQUFNLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBQyxHQUFHLE1BQU0sQ0FBQztRQUMzQyxNQUFNLFNBQVMsR0FBRyxTQUFTLEdBQUcsWUFBWSxHQUFHLENBQUMsR0FBRyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sVUFBVSxHQUFHLFVBQVUsR0FBRyxXQUFXLEdBQUcsQ0FBQyxHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFFbEUsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNwRCxDQUFDOytHQS9CUSxZQUFZO21HQUFaLFlBQVksbVNBWlY7WUFDUDtnQkFDSSxPQUFPLEVBQUUsY0FBYztnQkFDdkIsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxnQkFBZ0I7YUFDMUQ7U0FDSiwwQkN0Q0wsdVBBV0EseXdCRGtCYyxpQkFBaUIsZ0VBQUUsSUFBSTs7U0FnQnhCLFlBQVk7NEZBQVosWUFBWTtrQkFuQnhCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGVBQWUsV0FDaEIsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGNBQWM7NEJBQ3ZCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxnQkFBZ0I7eUJBQzFEO3FCQUNKLFFBQ0s7d0JBQ0Ysd0JBQXdCLEVBQUUsa0JBQWtCO3dCQUM1QyxDQUFDLElBQUksY0FBYyxRQUFRLENBQUMsRUFBRSw2QkFBNkI7d0JBQzNELENBQUMsSUFBSSxvQkFBb0IsUUFBUSxDQUFDLEVBQUUsK0JBQStCO3FCQUN0RTs4QkFVTSxNQUFNO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9JU19JT1N9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0RWxlbWVudE9mZnNldCwgdHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtUVUlfU0NST0xMX1JFRn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcblxuaW1wb3J0IHtUdWlTY3JvbGxDb250cm9sc30gZnJvbSAnLi9zY3JvbGwtY29udHJvbHMuY29tcG9uZW50JztcbmltcG9ydCB7VFVJX1NDUk9MTEJBUl9PUFRJT05TfSBmcm9tICcuL3Njcm9sbGJhci5vcHRpb25zJztcblxuLyoqXG4gKiBBbiBldmVudCBmb3Igc2Nyb2xsaW5nIGFuIGVsZW1lbnQgaW50byB2aWV3IHdpdGhpbiB7QGxpbmsgVHVpU2Nyb2xsYmFyfS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9TQ1JPTExfSU5UT19WSUVXID0gJ3R1aS1zY3JvbGwtaW50by12aWV3JztcblxuLyoqXG4gKiBBbiBldmVudCB0byBub3RpZnkge0BsaW5rIFR1aVNjcm9sbGJhcn0gdGhhdFxuICogaXQgc2hvdWxkIGNvbnRyb2wgYSBuZXN0ZWQgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9TQ1JPTExBQkxFID0gJ3R1aS1zY3JvbGxhYmxlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1zY3JvbGxiYXInLFxuICAgIGltcG9ydHM6IFtUdWlTY3JvbGxDb250cm9scywgTmdJZl0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Njcm9sbGJhci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zY3JvbGxiYXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfU0NST0xMX1JFRixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IGluamVjdChUdWlTY3JvbGxiYXIpLmJyb3dzZXJTY3JvbGxSZWYsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MuX25hdGl2ZS1oaWRkZW5dJzogJyFpc0lPUyB8fCBoaWRkZW4nLFxuICAgICAgICBbYCgke1RVSV9TQ1JPTExBQkxFfS5zdG9wKWBdOiAnb25TY3JvbGxhYmxlKCRldmVudC5kZXRhaWwpJyxcbiAgICAgICAgW2AoJHtUVUlfU0NST0xMX0lOVE9fVklFV30uc3RvcClgXTogJ3Njcm9sbEludG9WaWV3KCRldmVudC5kZXRhaWwpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxiYXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfU0NST0xMQkFSX09QVElPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0lPUyA9IGluamVjdChUVUlfSVNfSU9TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYnJvd3NlclNjcm9sbFJlZiA9IG5ldyBFbGVtZW50UmVmKHRoaXMuZWwpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGlkZGVuID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGRlbGVnYXRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnJvd3NlclNjcm9sbFJlZi5uYXRpdmVFbGVtZW50ICE9PSB0aGlzLmVsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblNjcm9sbGFibGUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5icm93c2VyU2Nyb2xsUmVmLm5hdGl2ZUVsZW1lbnQgPSBlbGVtZW50O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzY3JvbGxJbnRvVmlldyhkZXRhaWw6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRlbGVnYXRlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5icm93c2VyU2Nyb2xsUmVmO1xuICAgICAgICBjb25zdCB7b2Zmc2V0VG9wLCBvZmZzZXRMZWZ0fSA9IHR1aUdldEVsZW1lbnRPZmZzZXQobmF0aXZlRWxlbWVudCwgZGV0YWlsKTtcbiAgICAgICAgY29uc3Qge2NsaWVudEhlaWdodCwgY2xpZW50V2lkdGh9ID0gbmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge29mZnNldEhlaWdodCwgb2Zmc2V0V2lkdGh9ID0gZGV0YWlsO1xuICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSBvZmZzZXRUb3AgKyBvZmZzZXRIZWlnaHQgLyAyIC0gY2xpZW50SGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3Qgc2Nyb2xsTGVmdCA9IG9mZnNldExlZnQgKyBvZmZzZXRXaWR0aCAvIDIgLSBjbGllbnRXaWR0aCAvIDI7XG5cbiAgICAgICAgbmF0aXZlRWxlbWVudC5zY3JvbGxUbz8uKHNjcm9sbExlZnQsIHNjcm9sbFRvcCk7XG4gICAgfVxufVxuIiwiPHR1aS1zY3JvbGwtY29udHJvbHNcbiAgICAqbmdJZj1cIiFoaWRkZW4gJiYgIWlzSU9TXCJcbiAgICBjbGFzcz1cInQtYmFyc1wiXG4gICAgW2NsYXNzLnQtaG92ZXItbW9kZV09XCJvcHRpb25zLm1vZGUgPT09ICdob3ZlcidcIlxuLz5cbjxkaXZcbiAgICBjbGFzcz1cInQtY29udGVudFwiXG4gICAgW2NsYXNzLnQtY29udGVudF9kZWxlZ2F0ZWRdPVwiZGVsZWdhdGVkXCJcbj5cbiAgICA8bmctY29udGVudCAvPlxuPC9kaXY+XG4iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zY3JvbGxiYXIvc2Nyb2xsYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zY3JvbGxiYXIvc2Nyb2xsYmFyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0scUJBQXFCLENBQUM7O0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsc0JBQXNCLENBQUM7QUFFM0Q7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDO0FBRS9DLE1BbUJhLFlBQVk7SUFuQnpCO1FBb0JxQixPQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUV0QixZQUFPLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDeEMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzQixxQkFBZ0IsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFHdkQsV0FBTSxHQUFHLEtBQUssQ0FBQztLQTBCekI7SUF4QkcsSUFBYyxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFjLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFjLFNBQVMsQ0FBQyxPQUFvQjtRQUN4QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztJQUNsRCxDQUFDO0lBRVMsY0FBYyxDQUFDLE1BQW1CO1FBQ3hDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixPQUFPO1NBQ1Y7UUFFRCxNQUFNLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBQyxHQUFHLE1BQU0sQ0FBQztRQUMzQyxNQUFNLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUUsTUFBTSxTQUFTLEdBQUcsU0FBUyxHQUFHLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sVUFBVSxHQUFHLFVBQVUsR0FBRyxXQUFXLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUVqRixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNyRCxDQUFDOytHQWpDUSxZQUFZO21HQUFaLFlBQVksaVNBWlY7WUFDUDtnQkFDSSxPQUFPLEVBQUUsY0FBYztnQkFDdkIsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxnQkFBZ0I7YUFDMUQ7U0FDSiwwQkN0Q0wsdVBBV0EseXdCRGtCYyxpQkFBaUIsZ0VBQUUsSUFBSTs7U0FnQnhCLFlBQVk7NEZBQVosWUFBWTtrQkFuQnhCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGVBQWUsV0FDaEIsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGNBQWM7NEJBQ3ZCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxnQkFBZ0I7eUJBQzFEO3FCQUNKLFFBQ0s7d0JBQ0Ysd0JBQXdCLEVBQUUsa0JBQWtCO3dCQUM1QyxDQUFDLElBQUksY0FBYyxRQUFRLENBQUMsRUFBRSwyQkFBMkI7d0JBQ3pELENBQUMsSUFBSSxvQkFBb0IsUUFBUSxDQUFDLEVBQUUsK0JBQStCO3FCQUN0RTs4QkFVTSxNQUFNO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9JU19JT1N9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0RWxlbWVudE9mZnNldCwgdHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtUVUlfU0NST0xMX1JFRn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcblxuaW1wb3J0IHtUdWlTY3JvbGxDb250cm9sc30gZnJvbSAnLi9zY3JvbGwtY29udHJvbHMuY29tcG9uZW50JztcbmltcG9ydCB7VFVJX1NDUk9MTEJBUl9PUFRJT05TfSBmcm9tICcuL3Njcm9sbGJhci5vcHRpb25zJztcblxuLyoqXG4gKiBBbiBldmVudCBmb3Igc2Nyb2xsaW5nIGFuIGVsZW1lbnQgaW50byB2aWV3IHdpdGhpbiB7QGxpbmsgVHVpU2Nyb2xsYmFyfS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9TQ1JPTExfSU5UT19WSUVXID0gJ3R1aS1zY3JvbGwtaW50by12aWV3JztcblxuLyoqXG4gKiBBbiBldmVudCB0byBub3RpZnkge0BsaW5rIFR1aVNjcm9sbGJhcn0gdGhhdFxuICogaXQgc2hvdWxkIGNvbnRyb2wgYSBuZXN0ZWQgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9TQ1JPTExBQkxFID0gJ3R1aS1zY3JvbGxhYmxlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1zY3JvbGxiYXInLFxuICAgIGltcG9ydHM6IFtUdWlTY3JvbGxDb250cm9scywgTmdJZl0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Njcm9sbGJhci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zY3JvbGxiYXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfU0NST0xMX1JFRixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IGluamVjdChUdWlTY3JvbGxiYXIpLmJyb3dzZXJTY3JvbGxSZWYsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MuX25hdGl2ZS1oaWRkZW5dJzogJyFpc0lPUyB8fCBoaWRkZW4nLFxuICAgICAgICBbYCgke1RVSV9TQ1JPTExBQkxFfS5zdG9wKWBdOiAnc2Nyb2xsUmVmID0gJGV2ZW50LmRldGFpbCcsXG4gICAgICAgIFtgKCR7VFVJX1NDUk9MTF9JTlRPX1ZJRVd9LnN0b3ApYF06ICdzY3JvbGxJbnRvVmlldygkZXZlbnQuZGV0YWlsKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2Nyb2xsYmFyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX1NDUk9MTEJBUl9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNJT1MgPSBpbmplY3QoVFVJX0lTX0lPUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGJyb3dzZXJTY3JvbGxSZWYgPSBuZXcgRWxlbWVudFJlZih0aGlzLmVsKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhpZGRlbiA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIGdldCBkZWxlZ2F0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNjcm9sbFJlZiAhPT0gdGhpcy5lbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHNjcm9sbFJlZigpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmJyb3dzZXJTY3JvbGxSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0IHNjcm9sbFJlZihlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICB0aGlzLmJyb3dzZXJTY3JvbGxSZWYubmF0aXZlRWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNjcm9sbEludG9WaWV3KGRldGFpbDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGVsZWdhdGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7b2Zmc2V0SGVpZ2h0LCBvZmZzZXRXaWR0aH0gPSBkZXRhaWw7XG4gICAgICAgIGNvbnN0IHtvZmZzZXRUb3AsIG9mZnNldExlZnR9ID0gdHVpR2V0RWxlbWVudE9mZnNldCh0aGlzLnNjcm9sbFJlZiwgZGV0YWlsKTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gb2Zmc2V0VG9wICsgb2Zmc2V0SGVpZ2h0IC8gMiAtIHRoaXMuc2Nyb2xsUmVmLmNsaWVudEhlaWdodCAvIDI7XG4gICAgICAgIGNvbnN0IHNjcm9sbExlZnQgPSBvZmZzZXRMZWZ0ICsgb2Zmc2V0V2lkdGggLyAyIC0gdGhpcy5zY3JvbGxSZWYuY2xpZW50V2lkdGggLyAyO1xuXG4gICAgICAgIHRoaXMuc2Nyb2xsUmVmLnNjcm9sbFRvPy4oc2Nyb2xsTGVmdCwgc2Nyb2xsVG9wKTtcbiAgICB9XG59XG4iLCI8dHVpLXNjcm9sbC1jb250cm9sc1xuICAgICpuZ0lmPVwiIWhpZGRlbiAmJiAhaXNJT1NcIlxuICAgIGNsYXNzPVwidC1iYXJzXCJcbiAgICBbY2xhc3MudC1ob3Zlci1tb2RlXT1cIm9wdGlvbnMubW9kZSA9PT0gJ2hvdmVyJ1wiXG4vPlxuPGRpdlxuICAgIGNsYXNzPVwidC1jb250ZW50XCJcbiAgICBbY2xhc3MudC1jb250ZW50X2RlbGVnYXRlZF09XCJkZWxlZ2F0ZWRcIlxuPlxuICAgIDxuZy1jb250ZW50IC8+XG48L2Rpdj5cbiJdfQ==
@@ -30,13 +30,15 @@ class TuiScrollbarDirective {
30
30
  scrollWidth: this.el.scrollWidth,
31
31
  clientWidth: this.el.clientWidth,
32
32
  };
33
+ const thumb = `${this.getThumb(dimension) * 100}%`;
34
+ const view = `${this.getView(dimension) * 100}%`;
33
35
  if (this.tuiScrollbar === 'vertical') {
34
- this.style.top = `${this.getThumb(dimension) * 100}%`;
35
- this.style.height = `${this.getView(dimension) * 100}%`;
36
+ this.style.top = thumb;
37
+ this.style.height = view;
36
38
  }
37
39
  else {
38
- this.style.left = `${this.getThumb(dimension) * 100}%`;
39
- this.style.width = `${this.getView(dimension) * 100}%`;
40
+ this.style.left = thumb;
41
+ this.style.width = view;
40
42
  }
41
43
  });
42
44
  this.tuiScrollbar = 'vertical';
@@ -82,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
82
84
  }], propDecorators: { tuiScrollbar: [{
83
85
  type: Input
84
86
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zY3JvbGxiYXIvc2Nyb2xsYmFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxhQUFhLEVBQUUsV0FBVyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxLQUFLLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQUV4RCxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFXckIsTUFLYSxxQkFBcUI7SUFMbEM7UUFNcUIsT0FBRSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUMsVUFBSyxHQUFHLGdCQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDO1FBRS9CLGNBQVMsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUM7YUFDckQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDMUIsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUN2QixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFD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O0lBQzVDLENBQUM7SUFFTyxRQUFRLENBQUMsU0FBNEI7UUFDekMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWhGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU8sT0FBTyxDQUFDLFNBQTRCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxVQUFVO1lBQ25DLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRztZQUMxRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUNqRixDQUFDOytHQXhFUSxxQkFBcUI7bUdBQXJCLHFCQUFxQix1R0FGbkIsQ0FBQyxtQkFBbUIsQ0FBQzs7U0FFdkIscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBTGpDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUNuQzs4QkFzQ1UsWUFBWTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBOZ1pvbmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7V0FfQU5JTUFUSU9OX0ZSQU1FfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7dHVpU2Nyb2xsRnJvbSwgdHVpWm9uZWZyZWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge1RVSV9TQ1JPTExfUkVGfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHttZXJnZSwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlTY3JvbGxiYXJTZXJ2aWNlfSBmcm9tICcuL3Njcm9sbGJhci5zZXJ2aWNlJztcblxuY29uc3QgTUlOX1dJRFRIID0gMjQ7XG5cbmludGVyZmFjZSBDb21wdXRlZERpbWVuc2lvbiB7XG4gICAgc2Nyb2xsVG9wOiBudW1iZXI7XG4gICAgc2Nyb2xsSGVpZ2h0OiBudW1iZXI7XG4gICAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XG4gICAgc2Nyb2xsTGVmdDogbnVtYmVyO1xuICAgIHNjcm9sbFdpZHRoOiBudW1iZXI7XG4gICAgY2xpZW50V2lkdGg6IG51bWJlcjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlTY3JvbGxiYXJdJyxcbiAgICBwcm92aWRlcnM6IFtUdWlTY3JvbGxiYXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2Nyb2xsYmFyRGlyZWN0aXZlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gaW5qZWN0KFRVSV9TQ1JPTExfUkVGKS5uYXRpdmVFbGVtZW50O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3R5bGUgPSB0dWlJbmplY3RFbGVtZW50KCkuc3R5bGU7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2Nyb2xsU3ViID0gaW5qZWN0KFR1aVNjcm9sbGJhclNlcnZpY2UpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAuc3Vic2NyaWJlKChbdG9wLCBsZWZ0XSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5lbC5zdHlsZS5zY3JvbGxCZWhhdmlvciA9ICdhdXRvJztcbiAgICAgICAgICAgIHRoaXMuZWwuc2Nyb2xsVG8oe3RvcCwgbGVmdH0pO1xuICAgICAgICAgICAgdGhpcy5lbC5zdHlsZS5zY3JvbGxCZWhhdmlvciA9ICcnO1xuICAgICAgICB9KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdHlsZVN1YiA9IG1lcmdlKFxuICAgICAgICBpbmplY3QoV0FfQU5JTUFUSU9OX0ZSQU1FKS5waXBlKHRocm90dGxlVGltZSgxMDApKSxcbiAgICAgICAgdHVpU2Nyb2xsRnJvbSh0aGlzLmVsKSxcbiAgICApXG4gICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKGluamVjdChOZ1pvbmUpKSwgdGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGltZW5zaW9uOiBDb21wdXRlZERpbWVuc2lvbiA9IHtcbiAgICAgICAgICAgICAgICBzY3JvbGxUb3A6IHRoaXMuZWwuc2Nyb2xsVG9wLFxuICAgICAgICAgICAgICAgIHNjcm9sbEhlaWdodDogdGhpcy5lbC5zY3JvbGxIZWlnaHQsXG4gICAgICAgICAgICAgICAgY2xpZW50SGVpZ2h0OiB0aGlzLmVsLmNsaWVudEhlaWdodCxcbiAgICAgICAgICAgICAgICBzY3JvbGxMZWZ0OiB0aGlzLmVsLnNjcm9sbExlZnQsXG4gICAgICAgICAgICAgICAgc2Nyb2xsV2lkdGg6IHRoaXMuZWwuc2Nyb2xsV2lkdGgsXG4gICAgICAgICAgICAgICAgY2xpZW50V2lkdGg6IHRoaXMuZWwuY2xpZW50V2lkdGgsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBpZiAodGhpcy50dWlTY3JvbGxiYXIgPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0eWxlLnRvcCA9IGAke3RoaXMuZ2V0VGh1bWIoZGltZW5zaW9uKSAqIDEwMH0lYDtcbiAgICAgICAgICAgICAgICB0aGlzLnN0eWxlLmhlaWdodCA9IGAke3RoaXMuZ2V0VmlldyhkaW1lbnNpb24pICogMTAwfSVgO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0eWxlLmxlZnQgPSBgJHt0aGlzLmdldFRodW1iKGRpbWVuc2lvbikgKiAxMDB9JWA7XG4gICAgICAgICAgICAgICAgdGhpcy5zdHlsZS53aWR0aCA9IGAke3RoaXMuZ2V0VmlldyhkaW1lbnNpb24pICogMTAwfSVgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR1aVNjcm9sbGJhcjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICd2ZXJ0aWNhbCc7XG5cbiAgICBwcml2YXRlIGdldFNjcm9sbGVkKGRpbWVuc2lvbjogQ29tcHV0ZWREaW1lbnNpb24pOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy50dWlTY3JvbGxiYXIgPT09ICd2ZXJ0aWNhbCdcbiAgICAgICAgICAgID8gZGltZW5zaW9uLnNjcm9sbFRvcCAvIChkaW1lbnNpb24uc2Nyb2xsSGVpZ2h0IC0gZGltZW5zaW9uLmNsaWVudEhlaWdodClcbiAgICAgICAgICAgIDogZGltZW5zaW9uLnNjcm9sbExlZnQgLyAoZGltZW5zaW9uLnNjcm9sbFdpZHRoIC0gZGltZW5zaW9uLmNsaWVudFdpZHRoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbXBlbnNhdGlvbihkaW1lbnNpb246IENvbXB1dGVkRGltZW5zaW9uKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKChkaW1lbnNpb24uY2xpZW50SGVpZ2h0ICogZGltZW5zaW9uLmNsaWVudEhlaWdodCkgLyBkaW1lbnNpb24uc2Nyb2xsSGVpZ2h0ID5cbiAgICAgICAgICAgICAgICBNSU5fV0lEVEggJiZcbiAgICAgICAgICAgICAgICB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJykgfHxcbiAgICAgICAgICAgICgoZGltZW5zaW9uLmNsaWVudFdpZHRoICogZGltZW5zaW9uLmNsaWVudFdpZHRoKSAvIGRpbWVuc2lvbi5zY3JvbGxXaWR0aCA+XG4gICAgICAgICAgICAgICAgTUlOX1dJRFRIICYmXG4gICAgICAgICAgICAgICAgdGhpcy50dWlTY3JvbGxiYXIgPT09ICdob3Jpem9udGFsJylcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJ1xuICAgICAgICAgICAgPyBNSU5fV0lEVEggLyBkaW1lbnNpb24uY2xpZW50SGVpZ2h0XG4gICAgICAgICAgICA6IE1JTl9XSURUSCAvIGRpbWVuc2lvbi5jbGllbnRXaWR0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRodW1iKGRpbWVuc2lvbjogQ29tcHV0ZWREaW1lbnNpb24pOiBudW1iZXIge1xuICAgICAgICBjb25zdCBjb21wZW5zYXRpb24gPSB0aGlzLmdldENvbXBlbnNhdGlvbihkaW1lbnNpb24pIHx8IHRoaXMuZ2V0VmlldyhkaW1lbnNpb24pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmdldFNjcm9sbGVkKGRpbWVuc2lvbikgKiAoMSAtIGNvbXBlbnNhdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWaWV3KGRpbWVuc2lvbjogQ29tcHV0ZWREaW1lbnNpb24pOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy50dWlTY3JvbGxiYXIgPT09ICd2ZXJ0aWNhbCdcbiAgICAgICAgICAgID8gTWF0aC5jZWlsKChkaW1lbnNpb24uY2xpZW50SGVpZ2h0IC8gZGltZW5zaW9uLnNjcm9sbEhlaWdodCkgKiAxMDApIC8gMTAwXG4gICAgICAgICAgICA6IE1hdGguY2VpbCgoZGltZW5zaW9uLmNsaWVudFdpZHRoIC8gZGltZW5zaW9uLnNjcm9sbFdpZHRoKSAqIDEwMCkgLyAxMDA7XG4gICAgfVxufVxuIl19
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zY3JvbGxiYXIvc2Nyb2xsYmFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxhQUFhLEVBQUUsV0FBVyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxLQUFLLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQUV4RCxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFXckIsTUFLYSxxQkFBcUI7SUFMbEM7UUFNcUIsT0FBRSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUMsVUFBSyxHQUFHLGdCQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDO1FBRS9CLGNBQVMsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUM7YUFDckQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDMUIsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUN2QixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFD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QUE0QjtRQUN6QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFaEYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxPQUFPLENBQUMsU0FBNEI7UUFDeEMsT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLFVBQVU7WUFDbkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHO1lBQzFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ2pGLENBQUM7K0dBM0VRLHFCQUFxQjttR0FBckIscUJBQXFCLHVHQUZuQixDQUFDLG1CQUFtQixDQUFDOztTQUV2QixxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQ25DOzhCQXlDVSxZQUFZO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIE5nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtXQV9BTklNQVRJT05fRlJBTUV9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHt0dWlTY3JvbGxGcm9tLCB0dWlab25lZnJlZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7VFVJX1NDUk9MTF9SRUZ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge21lcmdlLCB0aHJvdHRsZVRpbWV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aVNjcm9sbGJhclNlcnZpY2V9IGZyb20gJy4vc2Nyb2xsYmFyLnNlcnZpY2UnO1xuXG5jb25zdCBNSU5fV0lEVEggPSAyNDtcblxuaW50ZXJmYWNlIENvbXB1dGVkRGltZW5zaW9uIHtcbiAgICBzY3JvbGxUb3A6IG51bWJlcjtcbiAgICBzY3JvbGxIZWlnaHQ6IG51bWJlcjtcbiAgICBjbGllbnRIZWlnaHQ6IG51bWJlcjtcbiAgICBzY3JvbGxMZWZ0OiBudW1iZXI7XG4gICAgc2Nyb2xsV2lkdGg6IG51bWJlcjtcbiAgICBjbGllbnRXaWR0aDogbnVtYmVyO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aVNjcm9sbGJhcl0nLFxuICAgIHByb3ZpZGVyczogW1R1aVNjcm9sbGJhclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxiYXJEaXJlY3RpdmUge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSBpbmplY3QoVFVJX1NDUk9MTF9SRUYpLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdHlsZSA9IHR1aUluamVjdEVsZW1lbnQoKS5zdHlsZTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzY3JvbGxTdWIgPSBpbmplY3QoVHVpU2Nyb2xsYmFyU2VydmljZSlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKFt0b3AsIGxlZnRdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVsLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gJ2F1dG8nO1xuICAgICAgICAgICAgdGhpcy5lbC5zY3JvbGxUbyh7dG9wLCBsZWZ0fSk7XG4gICAgICAgICAgICB0aGlzLmVsLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gJyc7XG4gICAgICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0eWxlU3ViID0gbWVyZ2UoXG4gICAgICAgIGluamVjdChXQV9BTklNQVRJT05fRlJBTUUpLnBpcGUodGhyb3R0bGVUaW1lKDEwMCkpLFxuICAgICAgICB0dWlTY3JvbGxGcm9tKHRoaXMuZWwpLFxuICAgIClcbiAgICAgICAgLnBpcGUodHVpWm9uZWZyZWUoaW5qZWN0KE5nWm9uZSkpLCB0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkaW1lbnNpb246IENvbXB1dGVkRGltZW5zaW9uID0ge1xuICAgICAgICAgICAgICAgIHNjcm9sbFRvcDogdGhpcy5lbC5zY3JvbGxUb3AsXG4gICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0OiB0aGlzLmVsLnNjcm9sbEhlaWdodCxcbiAgICAgICAgICAgICAgICBjbGllbnRIZWlnaHQ6IHRoaXMuZWwuY2xpZW50SGVpZ2h0LFxuICAgICAgICAgICAgICAgIHNjcm9sbExlZnQ6IHRoaXMuZWwuc2Nyb2xsTGVmdCxcbiAgICAgICAgICAgICAgICBzY3JvbGxXaWR0aDogdGhpcy5lbC5zY3JvbGxXaWR0aCxcbiAgICAgICAgICAgICAgICBjbGllbnRXaWR0aDogdGhpcy5lbC5jbGllbnRXaWR0aCxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IHRodW1iID0gYCR7dGhpcy5nZXRUaHVtYihkaW1lbnNpb24pICogMTAwfSVgO1xuICAgICAgICAgICAgY29uc3QgdmlldyA9IGAke3RoaXMuZ2V0VmlldyhkaW1lbnNpb24pICogMTAwfSVgO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50dWlTY3JvbGxiYXIgPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0eWxlLnRvcCA9IHRodW1iO1xuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGUuaGVpZ2h0ID0gdmlldztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdHlsZS5sZWZ0ID0gdGh1bWI7XG4gICAgICAgICAgICAgICAgdGhpcy5zdHlsZS53aWR0aCA9IHZpZXc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHVpU2Nyb2xsYmFyOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ3ZlcnRpY2FsJztcblxuICAgIHByaXZhdGUgZ2V0U2Nyb2xsZWQoZGltZW5zaW9uOiBDb21wdXRlZERpbWVuc2lvbik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJ1xuICAgICAgICAgICAgPyBkaW1lbnNpb24uc2Nyb2xsVG9wIC8gKGRpbWVuc2lvbi5zY3JvbGxIZWlnaHQgLSBkaW1lbnNpb24uY2xpZW50SGVpZ2h0KVxuICAgICAgICAgICAgOiBkaW1lbnNpb24uc2Nyb2xsTGVmdCAvIChkaW1lbnNpb24uc2Nyb2xsV2lkdGggLSBkaW1lbnNpb24uY2xpZW50V2lkdGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29tcGVuc2F0aW9uKGRpbWVuc2lvbjogQ29tcHV0ZWREaW1lbnNpb24pOiBudW1iZXIge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoKGRpbWVuc2lvbi5jbGllbnRIZWlnaHQgKiBkaW1lbnNpb24uY2xpZW50SGVpZ2h0KSAvIGRpbWVuc2lvbi5zY3JvbGxIZWlnaHQgPlxuICAgICAgICAgICAgICAgIE1JTl9XSURUSCAmJlxuICAgICAgICAgICAgICAgIHRoaXMudHVpU2Nyb2xsYmFyID09PSAndmVydGljYWwnKSB8fFxuICAgICAgICAgICAgKChkaW1lbnNpb24uY2xpZW50V2lkdGggKiBkaW1lbnNpb24uY2xpZW50V2lkdGgpIC8gZGltZW5zaW9uLnNjcm9sbFdpZHRoID5cbiAgICAgICAgICAgICAgICBNSU5fV0lEVEggJiZcbiAgICAgICAgICAgICAgICB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ2hvcml6b250YWwnKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudHVpU2Nyb2xsYmFyID09PSAndmVydGljYWwnXG4gICAgICAgICAgICA/IE1JTl9XSURUSCAvIGRpbWVuc2lvbi5jbGllbnRIZWlnaHRcbiAgICAgICAgICAgIDogTUlOX1dJRFRIIC8gZGltZW5zaW9uLmNsaWVudFdpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VGh1bWIoZGltZW5zaW9uOiBDb21wdXRlZERpbWVuc2lvbik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGNvbXBlbnNhdGlvbiA9IHRoaXMuZ2V0Q29tcGVuc2F0aW9uKGRpbWVuc2lvbikgfHwgdGhpcy5nZXRWaWV3KGRpbWVuc2lvbik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2Nyb2xsZWQoZGltZW5zaW9uKSAqICgxIC0gY29tcGVuc2F0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFZpZXcoZGltZW5zaW9uOiBDb21wdXRlZERpbWVuc2lvbik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJ1xuICAgICAgICAgICAgPyBNYXRoLmNlaWwoKGRpbWVuc2lvbi5jbGllbnRIZWlnaHQgLyBkaW1lbnNpb24uc2Nyb2xsSGVpZ2h0KSAqIDEwMCkgLyAxMDBcbiAgICAgICAgICAgIDogTWF0aC5jZWlsKChkaW1lbnNpb24uY2xpZW50V2lkdGggLyBkaW1lbnNpb24uc2Nyb2xsV2lkdGgpICogMTAwKSAvIDEwMDtcbiAgICB9XG59XG4iXX0=