igniteui-angular 17.2.4 → 17.2.6

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 (53) hide show
  1. package/esm2022/lib/card/card.component.mjs +17 -26
  2. package/esm2022/lib/directives/for-of/for_of.directive.mjs +12 -1
  3. package/esm2022/lib/directives/tooltip/tooltip-target.directive.mjs +3 -2
  4. package/esm2022/lib/grids/grid-base.directive.mjs +5 -8
  5. package/esm2022/lib/grids/selection/selection.service.mjs +12 -16
  6. package/esm2022/lib/simple-combo/simple-combo.component.mjs +7 -6
  7. package/esm2022/lib/slider/slider.component.mjs +10 -8
  8. package/esm2022/lib/slider/thumb/thumb-slider.component.mjs +6 -2
  9. package/fesm2022/igniteui-angular.mjs +63 -60
  10. package/fesm2022/igniteui-angular.mjs.map +1 -1
  11. package/lib/card/card.component.d.ts +2 -8
  12. package/lib/core/styles/components/bottom-nav/_bottom-nav-theme.scss +24 -12
  13. package/lib/core/styles/components/button/_button-theme.scss +9 -3
  14. package/lib/core/styles/components/grid/_excel-filtering-theme.scss +20 -0
  15. package/lib/core/styles/components/input/_input-group-component.scss +4 -0
  16. package/lib/core/styles/components/input/_input-group-theme.scss +17 -4
  17. package/lib/core/styles/components/overlay/_overlay-theme.scss +6 -0
  18. package/lib/core/styles/components/slider/_slider-theme.scss +27 -2
  19. package/lib/core/styles/components/tree/_tree-theme.scss +4 -0
  20. package/lib/directives/for-of/for_of.directive.d.ts +5 -0
  21. package/lib/slider/slider.component.d.ts +1 -1
  22. package/lib/slider/thumb/thumb-slider.component.d.ts +2 -1
  23. package/migrations/migration-collection.json +5 -0
  24. package/migrations/update-17_2_6/changes/theme-changes.json +11 -0
  25. package/migrations/update-17_2_6/index.d.ts +3 -0
  26. package/migrations/update-17_2_6/index.js +31 -0
  27. package/package.json +1 -1
  28. package/styles/igniteui-angular-dark.css +1 -1
  29. package/styles/igniteui-angular.css +1 -1
  30. package/styles/igniteui-bootstrap-dark.css +1 -1
  31. package/styles/igniteui-bootstrap-light.css +1 -1
  32. package/styles/igniteui-dark-green.css +1 -1
  33. package/styles/igniteui-fluent-dark-excel.css +1 -1
  34. package/styles/igniteui-fluent-dark-word.css +1 -1
  35. package/styles/igniteui-fluent-dark.css +1 -1
  36. package/styles/igniteui-fluent-light-excel.css +1 -1
  37. package/styles/igniteui-fluent-light-word.css +1 -1
  38. package/styles/igniteui-fluent-light.css +1 -1
  39. package/styles/igniteui-indigo-dark.css +1 -1
  40. package/styles/igniteui-indigo-light.css +1 -1
  41. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  42. package/styles/maps/igniteui-angular.css.map +1 -1
  43. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  44. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  45. package/styles/maps/igniteui-dark-green.css.map +1 -1
  46. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  47. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  48. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  49. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  50. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  51. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  52. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  53. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -55,6 +55,7 @@ export class IgxSliderThumbComponent {
55
55
  this._dir = _dir;
56
56
  this.thumbValueChange = new EventEmitter();
57
57
  this.thumbChange = new EventEmitter();
58
+ this.thumbBlur = new EventEmitter();
58
59
  this.hoverChange = new EventEmitter();
59
60
  this.tabindex = 0;
60
61
  this.zIndex = 0;
@@ -97,6 +98,7 @@ export class IgxSliderThumbComponent {
97
98
  this.isActive = false;
98
99
  this.zIndex = 0;
99
100
  this.focused = false;
101
+ this.thumbBlur.emit();
100
102
  }
101
103
  onFocusListener() {
102
104
  this.isActive = true;
@@ -159,7 +161,7 @@ export class IgxSliderThumbComponent {
159
161
  }
160
162
  }
161
163
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgxSliderThumbComponent, deps: [{ token: i0.ElementRef }, { token: i1.IgxDirectionality }], target: i0.ɵɵFactoryTarget.Component }); }
162
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.4", type: IgxSliderThumbComponent, isStandalone: true, selector: "igx-thumb", inputs: { value: "value", continuous: ["continuous", "continuous", booleanAttribute], thumbLabelVisibilityDuration: "thumbLabelVisibilityDuration", disabled: ["disabled", "disabled", booleanAttribute], onPan: "onPan", stepDistance: "stepDistance", step: "step", templateRef: "templateRef", context: "context", type: "type", deactiveState: ["deactiveState", "deactiveState", booleanAttribute] }, outputs: { thumbValueChange: "thumbValueChange", thumbChange: "thumbChange", hoverChange: "hoverChange" }, host: { listeners: { "pointerenter": "onPointerEnter()", "pointerleave": "onPointerLeave()", "keyup": "onKeyUp($event)", "keydown": "onKeyDown($event)", "blur": "onBlur()", "focus": "onFocusListener()" }, properties: { "attr.tabindex": "this.tabindex", "attr.z-index": "this.zIndex", "class.igx-slider-thumb-to--focused": "this.focused", "class.igx-slider-thumb-from": "this.thumbFromClass", "class.igx-slider-thumb-to": "this.thumbToClass", "class.igx-slider-thumb-from--active": "this.thumbFromActiveClass", "class.igx-slider-thumb-to--active": "this.thumbToActiveClass", "class.igx-slider-thumb-from--disabled": "this.thumbFromDisabledClass", "class.igx-slider-thumb-to--disabled": "this.thumbToDisabledClass", "class.igx-slider-thumb-from--pressed": "this.thumbFromPressedClass", "class.igx-slider-thumb-to--pressed": "this.thumbToPressedClass" } }, ngImport: i0, template: "<div [ngClass]=\"getDotClass\"></div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
164
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.4", type: IgxSliderThumbComponent, isStandalone: true, selector: "igx-thumb", inputs: { value: "value", continuous: ["continuous", "continuous", booleanAttribute], thumbLabelVisibilityDuration: "thumbLabelVisibilityDuration", disabled: ["disabled", "disabled", booleanAttribute], onPan: "onPan", stepDistance: "stepDistance", step: "step", templateRef: "templateRef", context: "context", type: "type", deactiveState: ["deactiveState", "deactiveState", booleanAttribute] }, outputs: { thumbValueChange: "thumbValueChange", thumbChange: "thumbChange", thumbBlur: "thumbBlur", hoverChange: "hoverChange" }, host: { listeners: { "pointerenter": "onPointerEnter()", "pointerleave": "onPointerLeave()", "keyup": "onKeyUp($event)", "keydown": "onKeyDown($event)", "blur": "onBlur()", "focus": "onFocusListener()" }, properties: { "attr.tabindex": "this.tabindex", "attr.z-index": "this.zIndex", "class.igx-slider-thumb-to--focused": "this.focused", "class.igx-slider-thumb-from": "this.thumbFromClass", "class.igx-slider-thumb-to": "this.thumbToClass", "class.igx-slider-thumb-from--active": "this.thumbFromActiveClass", "class.igx-slider-thumb-to--active": "this.thumbToActiveClass", "class.igx-slider-thumb-from--disabled": "this.thumbFromDisabledClass", "class.igx-slider-thumb-to--disabled": "this.thumbToDisabledClass", "class.igx-slider-thumb-from--pressed": "this.thumbFromPressedClass", "class.igx-slider-thumb-to--pressed": "this.thumbToPressedClass" } }, ngImport: i0, template: "<div [ngClass]=\"getDotClass\"></div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
163
165
  }
164
166
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgxSliderThumbComponent, decorators: [{
165
167
  type: Component,
@@ -193,6 +195,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
193
195
  type: Output
194
196
  }], thumbChange: [{
195
197
  type: Output
198
+ }], thumbBlur: [{
199
+ type: Output
196
200
  }], hoverChange: [{
197
201
  type: Output
198
202
  }], tabindex: [{
@@ -247,4 +251,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
247
251
  type: HostListener,
248
252
  args: ['focus']
249
253
  }] } });
250
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWItc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9zbGlkZXIvdGh1bWIvdGh1bWItc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9zbGlkZXIvdGh1bWIvdGh1bWItc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFlBQVksRUFFWixXQUFXLEVBQ1gsTUFBTSxFQUNOLFlBQVksRUFJWixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRTFDOztHQUVHO0FBT0gsTUFBTSxPQUFPLHVCQUF1QjtJQW9EaEMsSUFDVyxjQUFjO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUNXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELElBQ1csb0JBQW9CO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQ1csa0JBQWtCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxZ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QU07c0JBRFosV0FBVzt1QkFBQyxjQUFjO2dCQUlwQixPQUFPO3NCQURiLFdBQVc7dUJBQUMsb0NBQW9DO2dCQUl0QyxjQUFjO3NCQUR4QixXQUFXO3VCQUFDLDZCQUE2QjtnQkFNL0IsWUFBWTtzQkFEdEIsV0FBVzt1QkFBQywyQkFBMkI7Z0JBTTdCLG9CQUFvQjtzQkFEOUIsV0FBVzt1QkFBQyxxQ0FBcUM7Z0JBTXZDLGtCQUFrQjtzQkFENUIsV0FBVzt1QkFBQyxtQ0FBbUM7Z0JBTXJDLHNCQUFzQjtzQkFEaEMsV0FBVzt1QkFBQyx1Q0FBdUM7Z0JBTXpDLG9CQUFvQjtzQkFEOUIsV0FBVzt1QkFBQyxxQ0FBcUM7Z0JBTXZDLHFCQUFxQjtzQkFEL0IsV0FBVzt1QkFBQyxzQ0FBc0M7Z0JBTXhDLG1CQUFtQjtzQkFEN0IsV0FBVzt1QkFBQyxvQ0FBb0M7Z0JBbUMxQyxjQUFjO3NCQURwQixZQUFZO3VCQUFDLGNBQWM7Z0JBT3JCLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsY0FBYztnQkFNckIsT0FBTztzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPMUIsU0FBUztzQkFEZixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFxQjVCLE1BQU07c0JBRFosWUFBWTt1QkFBQyxNQUFNO2dCQVFiLGVBQWU7c0JBRHJCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25Jbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBib29sZWFuQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU2xpZGVySGFuZGxlIH0gZnJvbSAnLi4vc2xpZGVyLmNvbW1vbic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJZ3hEaXJlY3Rpb25hbGl0eSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RpcmVjdGlvbi9kaXJlY3Rpb25hbGl0eSc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LXRodW1iJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3RodW1iLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdDbGFzc11cbn0pXG5leHBvcnQgY2xhc3MgSWd4U2xpZGVyVGh1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdmFsdWU6IGFueTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHB1YmxpYyBjb250aW51b3VzOiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdGh1bWJMYWJlbFZpc2liaWxpdHlEdXJhdGlvbjogbnVtYmVyO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgb25QYW46IFN1YmplY3Q8bnVtYmVyPjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHN0ZXBEaXN0YW5jZTogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc3RlcDogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb250ZXh0OiBhbnk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0eXBlOiBTbGlkZXJIYW5kbGU7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBwdWJsaWMgZGVhY3RpdmVTdGF0ZTogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB0aHVtYlZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgdGh1bWJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBob3ZlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgcHVibGljIHRhYmluZGV4ID0gMDtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci56LWluZGV4JylcbiAgICBwdWJsaWMgekluZGV4ID0gMDtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LXNsaWRlci10aHVtYi10by0tZm9jdXNlZCcpXG4gICAgcHVibGljIGZvY3VzZWQgPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LXNsaWRlci10aHVtYi1mcm9tJylcbiAgICBwdWJsaWMgZ2V0IHRodW1iRnJvbUNsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50eXBlID09PSBTbGlkZXJIYW5kbGUuRlJPTTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1zbGlkZXItdGh1bWItdG8nKVxuICAgIHB1YmxpYyBnZXQgdGh1bWJUb0NsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50eXBlID09PSBTbGlkZXJIYW5kbGUuVE87XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtc2xpZGVyLXRodW1iLWZyb20tLWFjdGl2ZScpXG4gICAgcHVibGljIGdldCB0aHVtYkZyb21BY3RpdmVDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gU2xpZGVySGFuZGxlLkZST00gJiYgdGhpcy5faXNBY3RpdmU7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtc2xpZGVyLXRodW1iLXRvLS1hY3RpdmUnKVxuICAgIHB1YmxpYyBnZXQgdGh1bWJUb0FjdGl2ZUNsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50eXBlID09PSBTbGlkZXJIYW5kbGUuVE8gJiYgdGhpcy5faXNBY3RpdmU7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtc2xpZGVyLXRodW1iLWZyb20tLWRpc2FibGVkJylcbiAgICBwdWJsaWMgZ2V0IHRodW1iRnJvbURpc2FibGVkQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUgPT09IFNsaWRlckhhbmRsZS5GUk9NICYmIHRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtc2xpZGVyLXRodW1iLXRvLS1kaXNhYmxlZCcpXG4gICAgcHVibGljIGdldCB0aHVtYlRvRGlzYWJsZWRDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gU2xpZGVySGFuZGxlLlRPICYmIHRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtc2xpZGVyLXRodW1iLWZyb20tLXByZXNzZWQnKVxuICAgIHB1YmxpYyBnZXQgdGh1bWJGcm9tUHJlc3NlZENsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50eXBlID09PSBTbGlkZXJIYW5kbGUuRlJPTSAmJiB0aGlzLmlzQWN0aXZlICYmIHRoaXMuX2lzUHJlc3NlZDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1zbGlkZXItdGh1bWItdG8tLXByZXNzZWQnKVxuICAgIHB1YmxpYyBnZXQgdGh1bWJUb1ByZXNzZWRDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gU2xpZGVySGFuZGxlLlRPICYmIHRoaXMuaXNBY3RpdmUgJiYgdGhpcy5faXNQcmVzc2VkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZ2V0RG90Q2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnaWd4LXNsaWRlci10aHVtYi1mcm9tX19kb3QnOiB0aGlzLnR5cGUgPT09IFNsaWRlckhhbmRsZS5GUk9NLFxuICAgICAgICAgICAgJ2lneC1zbGlkZXItdGh1bWItdG9fX2RvdCc6IHRoaXMudHlwZSA9PT0gU2xpZGVySGFuZGxlLlRPXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIGlzQWN0aXZlID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgZ2V0IG5hdGl2ZUVsZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkZXN0cm95KCk6IFN1YmplY3Q8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVzdHJveSQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaXNBY3RpdmUgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pc1ByZXNzZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBwcml2YXRlIGdldCB0aHVtYlBvc2l0aW9uWCgpIHtcbiAgICAgICAgY29uc3QgdGh1bWJCb3VuZGVyaWVzID0gdGhpcy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB0aHVtYkNlbnRlciA9ICh0aHVtYkJvdW5kZXJpZXMucmlnaHQgLSB0aHVtYkJvdW5kZXJpZXMubGVmdCkgLyAyO1xuICAgICAgICByZXR1cm4gdGh1bWJCb3VuZGVyaWVzLmxlZnQgKyB0aHVtYkNlbnRlcjtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIF9kaXI6IElneERpcmVjdGlvbmFsaXR5KSB7IH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJlbnRlcicpXG4gICAgcHVibGljIG9uUG9pbnRlckVudGVyKCkge1xuICAgICAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5ob3ZlckNoYW5nZS5lbWl0KHRydWUpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJsZWF2ZScpXG4gICAgcHVibGljIG9uUG9pbnRlckxlYXZlKCkge1xuICAgICAgICB0aGlzLmhvdmVyQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleXVwJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25LZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaW5jcmVtZW50ID0gMDtcbiAgICAgICAgY29uc3Qgc3RlcFdpdGhEaXIgPSAocnRsOiBib29sZWFuKSA9PiBydGwgPyB0aGlzLnN0ZXAgKiAtMSA6IHRoaXMuc3RlcDtcbiAgICAgICAgaWYgKGV2ZW50LmtleS5lbmRzV2l0aCgnTGVmdCcpKSB7XG4gICAgICAgICAgICBpbmNyZW1lbnQgPSBzdGVwV2l0aERpcighdGhpcy5fZGlyLnJ0bCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5LmVuZHNXaXRoKCdSaWdodCcpKSB7XG4gICAgICAgICAgICBpbmNyZW1lbnQgPSBzdGVwV2l0aERpcih0aGlzLl9kaXIucnRsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGh1bWJDaGFuZ2UuZW1pdCgpO1xuICAgICAgICB0aGlzLnRodW1iVmFsdWVDaGFuZ2UuZW1pdChpbmNyZW1lbnQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICAgIHB1YmxpYyBvbkJsdXIoKSB7XG4gICAgICAgIHRoaXMuaXNBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy56SW5kZXggPSAwO1xuICAgICAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gICAgcHVibGljIG9uRm9jdXNMaXN0ZW5lcigpIHtcbiAgICAgICAgdGhpcy5pc0FjdGl2ZSA9IHRydWU7XG4gICAgICAgIHRoaXMuekluZGV4ID0gMTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLm9uUGFuXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShtb3VzZVggPT5cbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRodW1iVmFsdWUobW91c2VYKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGh1bWIgbGFiZWwgYW5kIHJpcHBsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd1RodW1iSW5kaWNhdG9ycygpIHtcbiAgICAgICAgdGhpcy50b2dnbGVUaHVtYkluZGljYXRvcnModHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aHVtYiBsYWJlbCBhbmQgcmlwcGxlLlxuICAgICAqL1xuICAgIHB1YmxpYyBoaWRlVGh1bWJJbmRpY2F0b3JzKCkge1xuICAgICAgICB0aGlzLnRvZ2dsZVRodW1iSW5kaWNhdG9ycyhmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUaHVtYlZhbHVlKG1vdXNlWDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZVZhbHVlID0gdGhpcy5jYWxjdWxhdGVUcmFja1VwZGF0ZShtb3VzZVgpO1xuICAgICAgICBpZiAodGhpcy5pc0FjdGl2ZSAmJiB1cGRhdGVWYWx1ZSAhPT0gMCkge1xuICAgICAgICAgICAgdGhpcy50aHVtYlZhbHVlQ2hhbmdlLmVtaXQodXBkYXRlVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVUcmFja1VwZGF0ZShtb3VzZVg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHNjYWxlWCA9IHRoaXMuX2Rpci5ydGwgPyB0aGlzLnRodW1iUG9zaXRpb25YIC0gbW91c2VYIDogbW91c2VYIC0gdGhpcy50aHVtYlBvc2l0aW9uWDtcbiAgICAgICAgY29uc3Qgc3RlcERpc3RhbmNlQ2VudGVyID0gdGhpcy5zdGVwRGlzdGFuY2UgLyAyO1xuXG4gICAgICAgIC8vIElmIHRoZSB0aHVtYiBzY2FsZSByYW5nZSAoc2xpZGVyIHVwZGF0ZSkgaXMgbGVzcyB0aMOgbiBhIGhhbGYgc3RlcCxcbiAgICAgICAgLy8gdGhlIHBvc2l0aW9uIHN0YXlzIHRoZSBzYW1lLlxuICAgICAgICBjb25zdCBzY2FsZVhQb3NpdGl2ZSA9IE1hdGguYWJzKHNjYWxlWCk7XG4gICAgICAgIGlmIChzY2FsZVhQb3NpdGl2ZSA8IHN0ZXBEaXN0YW5jZUNlbnRlcikge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5zdGVwVG9Qcm9jZWVkKHNjYWxlWCwgdGhpcy5zdGVwRGlzdGFuY2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RlcFRvUHJvY2VlZChzY2FsZVgsIHN0ZXBEaXN0KSB7XG4gICAgICAgIHJldHVybiBNYXRoLnJvdW5kKHNjYWxlWCAvIHN0ZXBEaXN0KSAqIHRoaXMuc3RlcDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvZ2dsZVRodW1iSW5kaWNhdG9ycyh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzUHJlc3NlZCA9IHZpc2libGU7XG5cbiAgICAgICAgaWYgKHRoaXMuY29udGludW91cyB8fCB0aGlzLmRlYWN0aXZlU3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2lzQWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pc0FjdGl2ZSA9IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiZ2V0RG90Q2xhc3NcIj48L2Rpdj5cbiJdfQ==
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWItc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9zbGlkZXIvdGh1bWIvdGh1bWItc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9zbGlkZXIvdGh1bWIvdGh1bWItc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFlBQVksRUFFWixXQUFXLEVBQ1gsTUFBTSxFQUNOLFlBQVksRUFJWixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRTFDOztHQUVHO0FBT0gsTUFBTSxPQUFPLHVCQUF1QjtJQXVEaEMsSUFDVyxjQUFjO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUNXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELElBQ1csb0JBQW9CO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQ1csa0JBQWtCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxZ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c0JBRGpCLE1BQU07Z0JBSUEsU0FBUztzQkFEZixNQUFNO2dCQUlBLFdBQVc7c0JBRGpCLE1BQU07Z0JBSUEsUUFBUTtzQkFEZCxXQUFXO3VCQUFDLGVBQWU7Z0JBSXJCLE1BQU07c0JBRFosV0FBVzt1QkFBQyxjQUFjO2dCQUlwQixPQUFPO3NCQURiLFdBQVc7dUJBQUMsb0NBQW9DO2dCQUl0QyxjQUFjO3NCQUR4QixXQUFXO3VCQUFDLDZCQUE2QjtnQkFNL0IsWUFBWTtzQkFEdEIsV0FBVzt1QkFBQywyQkFBMkI7Z0JBTTdCLG9CQUFvQjtzQkFEOUIsV0FBVzt1QkFBQyxxQ0FBcUM7Z0JBTXZDLGtCQUFrQjtzQkFENUIsV0FBVzt1QkFBQyxtQ0FBbUM7Z0JBTXJDLHNCQUFzQjtzQkFEaEMsV0FBVzt1QkFBQyx1Q0FBdUM7Z0JBTXpDLG9CQUFvQjtzQkFEOUIsV0FBVzt1QkFBQyxxQ0FBcUM7Z0JBTXZDLHFCQUFxQjtzQkFEL0IsV0FBVzt1QkFBQyxzQ0FBc0M7Z0JBTXhDLG1CQUFtQjtzQkFEN0IsV0FBVzt1QkFBQyxvQ0FBb0M7Z0JBbUMxQyxjQUFjO3NCQURwQixZQUFZO3VCQUFDLGNBQWM7Z0JBT3JCLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsY0FBYztnQkFNckIsT0FBTztzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPMUIsU0FBUztzQkFEZixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFxQjVCLE1BQU07c0JBRFosWUFBWTt1QkFBQyxNQUFNO2dCQVNiLGVBQWU7c0JBRHJCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25Jbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBib29sZWFuQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU2xpZGVySGFuZGxlIH0gZnJvbSAnLi4vc2xpZGVyLmNvbW1vbic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJZ3hEaXJlY3Rpb25hbGl0eSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RpcmVjdGlvbi9kaXJlY3Rpb25hbGl0eSc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LXRodW1iJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3RodW1iLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdDbGFzc11cbn0pXG5leHBvcnQgY2xhc3MgSWd4U2xpZGVyVGh1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdmFsdWU6IGFueTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHB1YmxpYyBjb250aW51b3VzOiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdGh1bWJMYWJlbFZpc2liaWxpdHlEdXJhdGlvbjogbnVtYmVyO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgb25QYW46IFN1YmplY3Q8bnVtYmVyPjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHN0ZXBEaXN0YW5jZTogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc3RlcDogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb250ZXh0OiBhbnk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0eXBlOiBTbGlkZXJIYW5kbGU7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBwdWJsaWMgZGVhY3RpdmVTdGF0ZTogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB0aHVtYlZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgdGh1bWJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB0aHVtYkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaG92ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICAgIHB1YmxpYyB0YWJpbmRleCA9IDA7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuei1pbmRleCcpXG4gICAgcHVibGljIHpJbmRleCA9IDA7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1zbGlkZXItdGh1bWItdG8tLWZvY3VzZWQnKVxuICAgIHB1YmxpYyBmb2N1c2VkID0gZmFsc2U7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1zbGlkZXItdGh1bWItZnJvbScpXG4gICAgcHVibGljIGdldCB0aHVtYkZyb21DbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gU2xpZGVySGFuZGxlLkZST007XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtc2xpZGVyLXRodW1iLXRvJylcbiAgICBwdWJsaWMgZ2V0IHRodW1iVG9DbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gU2xpZGVySGFuZGxlLlRPO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LXNsaWRlci10aHVtYi1mcm9tLS1hY3RpdmUnKVxuICAgIHB1YmxpYyBnZXQgdGh1bWJGcm9tQWN0aXZlQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUgPT09IFNsaWRlckhhbmRsZS5GUk9NICYmIHRoaXMuX2lzQWN0aXZlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LXNsaWRlci10aHVtYi10by0tYWN0aXZlJylcbiAgICBwdWJsaWMgZ2V0IHRodW1iVG9BY3RpdmVDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gU2xpZGVySGFuZGxlLlRPICYmIHRoaXMuX2lzQWN0aXZlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LXNsaWRlci10aHVtYi1mcm9tLS1kaXNhYmxlZCcpXG4gICAgcHVibGljIGdldCB0aHVtYkZyb21EaXNhYmxlZENsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50eXBlID09PSBTbGlkZXJIYW5kbGUuRlJPTSAmJiB0aGlzLmRpc2FibGVkO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LXNsaWRlci10aHVtYi10by0tZGlzYWJsZWQnKVxuICAgIHB1YmxpYyBnZXQgdGh1bWJUb0Rpc2FibGVkQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUgPT09IFNsaWRlckhhbmRsZS5UTyAmJiB0aGlzLmRpc2FibGVkO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LXNsaWRlci10aHVtYi1mcm9tLS1wcmVzc2VkJylcbiAgICBwdWJsaWMgZ2V0IHRodW1iRnJvbVByZXNzZWRDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gU2xpZGVySGFuZGxlLkZST00gJiYgdGhpcy5pc0FjdGl2ZSAmJiB0aGlzLl9pc1ByZXNzZWQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtc2xpZGVyLXRodW1iLXRvLS1wcmVzc2VkJylcbiAgICBwdWJsaWMgZ2V0IHRodW1iVG9QcmVzc2VkQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUgPT09IFNsaWRlckhhbmRsZS5UTyAmJiB0aGlzLmlzQWN0aXZlICYmIHRoaXMuX2lzUHJlc3NlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGdldERvdENsYXNzKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJ2lneC1zbGlkZXItdGh1bWItZnJvbV9fZG90JzogdGhpcy50eXBlID09PSBTbGlkZXJIYW5kbGUuRlJPTSxcbiAgICAgICAgICAgICdpZ3gtc2xpZGVyLXRodW1iLXRvX19kb3QnOiB0aGlzLnR5cGUgPT09IFNsaWRlckhhbmRsZS5UT1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0FjdGl2ZSA9IGZhbHNlO1xuXG4gICAgcHVibGljIGdldCBuYXRpdmVFbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGVzdHJveSgpOiBTdWJqZWN0PGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rlc3Ryb3kkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2lzQWN0aXZlID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfaXNQcmVzc2VkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgcHJpdmF0ZSBnZXQgdGh1bWJQb3NpdGlvblgoKSB7XG4gICAgICAgIGNvbnN0IHRodW1iQm91bmRlcmllcyA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgdGh1bWJDZW50ZXIgPSAodGh1bWJCb3VuZGVyaWVzLnJpZ2h0IC0gdGh1bWJCb3VuZGVyaWVzLmxlZnQpIC8gMjtcbiAgICAgICAgcmV0dXJuIHRodW1iQm91bmRlcmllcy5sZWZ0ICsgdGh1bWJDZW50ZXI7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBfZGlyOiBJZ3hEaXJlY3Rpb25hbGl0eSkgeyB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdwb2ludGVyZW50ZXInKVxuICAgIHB1YmxpYyBvblBvaW50ZXJFbnRlcigpIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaG92ZXJDaGFuZ2UuZW1pdCh0cnVlKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdwb2ludGVybGVhdmUnKVxuICAgIHB1YmxpYyBvblBvaW50ZXJMZWF2ZSgpIHtcbiAgICAgICAgdGhpcy5ob3ZlckNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIG9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGluY3JlbWVudCA9IDA7XG4gICAgICAgIGNvbnN0IHN0ZXBXaXRoRGlyID0gKHJ0bDogYm9vbGVhbikgPT4gcnRsID8gdGhpcy5zdGVwICogLTEgOiB0aGlzLnN0ZXA7XG4gICAgICAgIGlmIChldmVudC5rZXkuZW5kc1dpdGgoJ0xlZnQnKSkge1xuICAgICAgICAgICAgaW5jcmVtZW50ID0gc3RlcFdpdGhEaXIoIXRoaXMuX2Rpci5ydGwpO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleS5lbmRzV2l0aCgnUmlnaHQnKSkge1xuICAgICAgICAgICAgaW5jcmVtZW50ID0gc3RlcFdpdGhEaXIodGhpcy5fZGlyLnJ0bCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRodW1iQ2hhbmdlLmVtaXQoKTtcbiAgICAgICAgdGhpcy50aHVtYlZhbHVlQ2hhbmdlLmVtaXQoaW5jcmVtZW50KTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgICBwdWJsaWMgb25CbHVyKCkge1xuICAgICAgICB0aGlzLmlzQWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuekluZGV4ID0gMDtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMudGh1bWJCbHVyLmVtaXQoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gICAgcHVibGljIG9uRm9jdXNMaXN0ZW5lcigpIHtcbiAgICAgICAgdGhpcy5pc0FjdGl2ZSA9IHRydWU7XG4gICAgICAgIHRoaXMuekluZGV4ID0gMTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLm9uUGFuXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShtb3VzZVggPT5cbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRodW1iVmFsdWUobW91c2VYKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGh1bWIgbGFiZWwgYW5kIHJpcHBsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd1RodW1iSW5kaWNhdG9ycygpIHtcbiAgICAgICAgdGhpcy50b2dnbGVUaHVtYkluZGljYXRvcnModHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aHVtYiBsYWJlbCBhbmQgcmlwcGxlLlxuICAgICAqL1xuICAgIHB1YmxpYyBoaWRlVGh1bWJJbmRpY2F0b3JzKCkge1xuICAgICAgICB0aGlzLnRvZ2dsZVRodW1iSW5kaWNhdG9ycyhmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUaHVtYlZhbHVlKG1vdXNlWDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZVZhbHVlID0gdGhpcy5jYWxjdWxhdGVUcmFja1VwZGF0ZShtb3VzZVgpO1xuICAgICAgICBpZiAodGhpcy5pc0FjdGl2ZSAmJiB1cGRhdGVWYWx1ZSAhPT0gMCkge1xuICAgICAgICAgICAgdGhpcy50aHVtYlZhbHVlQ2hhbmdlLmVtaXQodXBkYXRlVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVUcmFja1VwZGF0ZShtb3VzZVg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHNjYWxlWCA9IHRoaXMuX2Rpci5ydGwgPyB0aGlzLnRodW1iUG9zaXRpb25YIC0gbW91c2VYIDogbW91c2VYIC0gdGhpcy50aHVtYlBvc2l0aW9uWDtcbiAgICAgICAgY29uc3Qgc3RlcERpc3RhbmNlQ2VudGVyID0gdGhpcy5zdGVwRGlzdGFuY2UgLyAyO1xuXG4gICAgICAgIC8vIElmIHRoZSB0aHVtYiBzY2FsZSByYW5nZSAoc2xpZGVyIHVwZGF0ZSkgaXMgbGVzcyB0aMOgbiBhIGhhbGYgc3RlcCxcbiAgICAgICAgLy8gdGhlIHBvc2l0aW9uIHN0YXlzIHRoZSBzYW1lLlxuICAgICAgICBjb25zdCBzY2FsZVhQb3NpdGl2ZSA9IE1hdGguYWJzKHNjYWxlWCk7XG4gICAgICAgIGlmIChzY2FsZVhQb3NpdGl2ZSA8IHN0ZXBEaXN0YW5jZUNlbnRlcikge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5zdGVwVG9Qcm9jZWVkKHNjYWxlWCwgdGhpcy5zdGVwRGlzdGFuY2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RlcFRvUHJvY2VlZChzY2FsZVgsIHN0ZXBEaXN0KSB7XG4gICAgICAgIHJldHVybiBNYXRoLnJvdW5kKHNjYWxlWCAvIHN0ZXBEaXN0KSAqIHRoaXMuc3RlcDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvZ2dsZVRodW1iSW5kaWNhdG9ycyh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzUHJlc3NlZCA9IHZpc2libGU7XG5cbiAgICAgICAgaWYgKHRoaXMuY29udGludW91cyB8fCB0aGlzLmRlYWN0aXZlU3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2lzQWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pc0FjdGl2ZSA9IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiZ2V0RG90Q2xhc3NcIj48L2Rpdj5cbiJdfQ==
@@ -13534,6 +13534,17 @@ class IgxForOfDirective extends IgxForOfToken {
13534
13534
  this.chunkLoad.emit(this.state);
13535
13535
  }
13536
13536
  }
13537
+ /**
13538
+ * @hidden
13539
+ * @internal
13540
+ */
13541
+ updateScroll() {
13542
+ if (this.igxForScrollOrientation === "horizontal") {
13543
+ const scrollAmount = this.scrollComponent.nativeElement["scrollLeft"];
13544
+ this.scrollComponent.scrollAmount = scrollAmount;
13545
+ this._updateScrollOffset();
13546
+ }
13547
+ }
13537
13548
  updateSizes() {
13538
13549
  if (!this.scrollComponent.nativeElement.isConnected)
13539
13550
  return;
@@ -18111,7 +18122,7 @@ class IgxTooltipTargetDirective extends IgxToggleActionDirective {
18111
18122
  * @hidden
18112
18123
  */
18113
18124
  set target(target) {
18114
- if (target !== null && target !== '') {
18125
+ if (target instanceof IgxTooltipDirective) {
18115
18126
  this._target = target;
18116
18127
  }
18117
18128
  }
@@ -25143,20 +25154,17 @@ class IgxGridSelectionService {
25143
25154
  return keys.some(k => this.isPivotRowSelected(k));
25144
25155
  });
25145
25156
  }
25146
- if (this.rowSelection.size && this.grid.totalItemCount || this.grid.pagingMode === GridPagingMode.Remote) {
25147
- if (!this.grid.primaryKey) {
25148
- return Array.from(this.rowSelection);
25149
- }
25150
- const selection = [];
25151
- this.rowSelection.forEach(rID => {
25152
- const rData = this.grid.gridAPI.get_all_data(true).find(row => this.getRecordKey(row) === rID);
25153
- const partialRowData = {};
25154
- partialRowData[this.grid.primaryKey] = rID;
25155
- selection.push(rData ? rData : partialRowData);
25156
- });
25157
- return selection;
25158
- }
25159
- return this.rowSelection.size ? this.grid.gridAPI.get_all_data(true).filter(row => this.rowSelection.has(this.getRecordKey(row))) : [];
25157
+ if (!this.grid.primaryKey) {
25158
+ return Array.from(this.rowSelection);
25159
+ }
25160
+ const selection = [];
25161
+ this.rowSelection.forEach(rID => {
25162
+ const rData = this.grid.gridAPI.get_all_data(true).find(row => this.getRecordKey(row) === rID);
25163
+ const partialRowData = {};
25164
+ partialRowData[this.grid.primaryKey] = rID;
25165
+ selection.push(rData ? rData : partialRowData);
25166
+ });
25167
+ return selection;
25160
25168
  }
25161
25169
  /** Returns array of the selected row id's. */
25162
25170
  getSelectedRows() {
@@ -32364,6 +32372,19 @@ class IgxCardComponent {
32364
32372
  * ```
32365
32373
  */
32366
32374
  this.role = 'group';
32375
+ /**
32376
+ * Sets/gets whether the card is elevated.
32377
+ * Default value is `false`.
32378
+ *
32379
+ * @example
32380
+ * ```html
32381
+ * <igx-card elevated></igx-card>
32382
+ * ```
32383
+ * ```typescript
32384
+ * let cardElevation = this.card.elevated;
32385
+ * ```
32386
+ */
32387
+ this.elevated = false;
32367
32388
  /**
32368
32389
  * Sets the value of the `horizontal` attribute of the card.
32369
32390
  * Setting this to `true` will make the different card sections align horizontally,
@@ -32375,32 +32396,9 @@ class IgxCardComponent {
32375
32396
  * ```
32376
32397
  */
32377
32398
  this.horizontal = false;
32378
- /**
32379
- * @hidden
32380
- * @internal
32381
- */
32382
- this._elevated = false;
32383
- }
32384
- /**
32385
- * Sets/gets whether the card is elevated.
32386
- * Default value is `false`.
32387
- *
32388
- * @example
32389
- * ```html
32390
- * <igx-card elevated></igx-card>
32391
- * ```
32392
- * ```typescript
32393
- * let cardElevation = this.card.elevated;
32394
- * ```
32395
- */
32396
- get elevated() {
32397
- return this._elevated;
32398
- }
32399
- set elevated(value) {
32400
- this._elevated = (value === '') || value;
32401
32399
  }
32402
32400
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgxCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32403
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.4", type: IgxCardComponent, isStandalone: true, selector: "igx-card", inputs: { id: "id", role: "role", elevated: "elevated", horizontal: ["horizontal", "horizontal", booleanAttribute] }, host: { properties: { "attr.id": "this.id", "class.igx-card": "this.cssClass", "attr.role": "this.role", "class.igx-card--elevated": "this.elevated", "class.igx-card--horizontal": "this.horizontal" } }, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
32401
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.4", type: IgxCardComponent, isStandalone: true, selector: "igx-card", inputs: { id: "id", role: "role", elevated: ["elevated", "elevated", booleanAttribute], horizontal: ["horizontal", "horizontal", booleanAttribute] }, host: { properties: { "attr.id": "this.id", "class.igx-card": "this.cssClass", "attr.role": "this.role", "class.igx-card--elevated": "this.elevated", "class.igx-card--horizontal": "this.horizontal" } }, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
32404
32402
  }
32405
32403
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgxCardComponent, decorators: [{
32406
32404
  type: Component,
@@ -32419,7 +32417,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
32419
32417
  }, {
32420
32418
  type: Input
32421
32419
  }], elevated: [{
32422
- type: Input
32420
+ type: Input,
32421
+ args: [{ transform: booleanAttribute }]
32423
32422
  }, {
32424
32423
  type: HostBinding,
32425
32424
  args: ['class.igx-card--elevated']
@@ -37726,7 +37725,6 @@ class IgxSimpleComboComponent extends IgxComboBaseDirective {
37726
37725
  if (event !== undefined) {
37727
37726
  this.filterValue = this.searchValue = typeof event === 'string' ? event : event.target.value;
37728
37727
  }
37729
- this._onChangeCallback(this.searchValue);
37730
37728
  if (this.collapsed && this.comboInput.focused) {
37731
37729
  this.open();
37732
37730
  }
@@ -37760,10 +37758,12 @@ class IgxSimpleComboComponent extends IgxComboBaseDirective {
37760
37758
  if (filtered === null || filtered === undefined) {
37761
37759
  return;
37762
37760
  }
37763
- this.select(this.dropdown.focusedItem.itemID);
37764
- event.preventDefault();
37765
- event.stopPropagation();
37766
- this.close();
37761
+ if (!this.dropdown.collapsed) {
37762
+ this.select(this.dropdown.focusedItem.itemID);
37763
+ event.preventDefault();
37764
+ event.stopPropagation();
37765
+ this.close();
37766
+ }
37767
37767
  // manually trigger text selection as it will not be triggered during editing
37768
37768
  this.textSelection.trigger();
37769
37769
  return;
@@ -62777,6 +62777,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
62777
62777
  // the vert. scrollbar showing/hiding
62778
62778
  this.notifyChanges(true);
62779
62779
  this.cdr.detectChanges();
62780
+ Promise.resolve().then(() => this.headerContainer.updateScroll());
62780
62781
  });
62781
62782
  this.headerContainer?.scrollbarVisibilityChanged.pipe(filter(() => !this._init), destructor).subscribe(() => {
62782
62783
  // the horizontal scrollbar showing/hiding
@@ -65201,12 +65202,8 @@ class IgxGridBaseDirective extends DisplayDensityBase {
65201
65202
  // in case state is no longer valid - update it.
65202
65203
  const rowForOf = row.virtDirRow;
65203
65204
  const gridScrLeft = rowForOf.getScroll().scrollLeft;
65204
- const left = -parseInt(rowForOf.dc.instance._viewContainer.element.nativeElement.style.left, 10);
65205
- const actualScrollLeft = left + rowForOf.getColumnScrollLeft(rowForOf.state.startIndex);
65206
- if (gridScrLeft !== actualScrollLeft) {
65207
- rowForOf.onHScroll(gridScrLeft);
65208
- rowForOf.cdr.detectChanges();
65209
- }
65205
+ rowForOf.onHScroll(gridScrLeft);
65206
+ rowForOf.cdr.detectChanges();
65210
65207
  }
65211
65208
  changeRowEditingOverlayStateOnScroll(row) {
65212
65209
  if (!this.rowEditable || !this.rowEditingOverlay || this.rowEditingOverlay.collapsed) {
@@ -65705,7 +65702,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
65705
65702
  let res = !parentElement ||
65706
65703
  parentElement.clientHeight === 0 ||
65707
65704
  parentElement.clientHeight === renderedHeight;
65708
- if ((!this.platform.isChromium && !this.platform.isFirefox) || this._autoSize) {
65705
+ if (parentElement && (res || this._autoSize)) {
65709
65706
  // If grid causes the parent container to extend (for example when container is flex)
65710
65707
  // we should always auto-size since the actual size of the container will continuously change as the grid renders elements.
65711
65708
  this._autoSize = false;
@@ -83486,6 +83483,7 @@ class IgxSliderThumbComponent {
83486
83483
  this._dir = _dir;
83487
83484
  this.thumbValueChange = new EventEmitter();
83488
83485
  this.thumbChange = new EventEmitter();
83486
+ this.thumbBlur = new EventEmitter();
83489
83487
  this.hoverChange = new EventEmitter();
83490
83488
  this.tabindex = 0;
83491
83489
  this.zIndex = 0;
@@ -83528,6 +83526,7 @@ class IgxSliderThumbComponent {
83528
83526
  this.isActive = false;
83529
83527
  this.zIndex = 0;
83530
83528
  this.focused = false;
83529
+ this.thumbBlur.emit();
83531
83530
  }
83532
83531
  onFocusListener() {
83533
83532
  this.isActive = true;
@@ -83590,7 +83589,7 @@ class IgxSliderThumbComponent {
83590
83589
  }
83591
83590
  }
83592
83591
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgxSliderThumbComponent, deps: [{ token: i0.ElementRef }, { token: IgxDirectionality }], target: i0.ɵɵFactoryTarget.Component }); }
83593
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.4", type: IgxSliderThumbComponent, isStandalone: true, selector: "igx-thumb", inputs: { value: "value", continuous: ["continuous", "continuous", booleanAttribute], thumbLabelVisibilityDuration: "thumbLabelVisibilityDuration", disabled: ["disabled", "disabled", booleanAttribute], onPan: "onPan", stepDistance: "stepDistance", step: "step", templateRef: "templateRef", context: "context", type: "type", deactiveState: ["deactiveState", "deactiveState", booleanAttribute] }, outputs: { thumbValueChange: "thumbValueChange", thumbChange: "thumbChange", hoverChange: "hoverChange" }, host: { listeners: { "pointerenter": "onPointerEnter()", "pointerleave": "onPointerLeave()", "keyup": "onKeyUp($event)", "keydown": "onKeyDown($event)", "blur": "onBlur()", "focus": "onFocusListener()" }, properties: { "attr.tabindex": "this.tabindex", "attr.z-index": "this.zIndex", "class.igx-slider-thumb-to--focused": "this.focused", "class.igx-slider-thumb-from": "this.thumbFromClass", "class.igx-slider-thumb-to": "this.thumbToClass", "class.igx-slider-thumb-from--active": "this.thumbFromActiveClass", "class.igx-slider-thumb-to--active": "this.thumbToActiveClass", "class.igx-slider-thumb-from--disabled": "this.thumbFromDisabledClass", "class.igx-slider-thumb-to--disabled": "this.thumbToDisabledClass", "class.igx-slider-thumb-from--pressed": "this.thumbFromPressedClass", "class.igx-slider-thumb-to--pressed": "this.thumbToPressedClass" } }, ngImport: i0, template: "<div [ngClass]=\"getDotClass\"></div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
83592
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.4", type: IgxSliderThumbComponent, isStandalone: true, selector: "igx-thumb", inputs: { value: "value", continuous: ["continuous", "continuous", booleanAttribute], thumbLabelVisibilityDuration: "thumbLabelVisibilityDuration", disabled: ["disabled", "disabled", booleanAttribute], onPan: "onPan", stepDistance: "stepDistance", step: "step", templateRef: "templateRef", context: "context", type: "type", deactiveState: ["deactiveState", "deactiveState", booleanAttribute] }, outputs: { thumbValueChange: "thumbValueChange", thumbChange: "thumbChange", thumbBlur: "thumbBlur", hoverChange: "hoverChange" }, host: { listeners: { "pointerenter": "onPointerEnter()", "pointerleave": "onPointerLeave()", "keyup": "onKeyUp($event)", "keydown": "onKeyDown($event)", "blur": "onBlur()", "focus": "onFocusListener()" }, properties: { "attr.tabindex": "this.tabindex", "attr.z-index": "this.zIndex", "class.igx-slider-thumb-to--focused": "this.focused", "class.igx-slider-thumb-from": "this.thumbFromClass", "class.igx-slider-thumb-to": "this.thumbToClass", "class.igx-slider-thumb-from--active": "this.thumbFromActiveClass", "class.igx-slider-thumb-to--active": "this.thumbToActiveClass", "class.igx-slider-thumb-from--disabled": "this.thumbFromDisabledClass", "class.igx-slider-thumb-to--disabled": "this.thumbToDisabledClass", "class.igx-slider-thumb-from--pressed": "this.thumbFromPressedClass", "class.igx-slider-thumb-to--pressed": "this.thumbToPressedClass" } }, ngImport: i0, template: "<div [ngClass]=\"getDotClass\"></div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
83594
83593
  }
83595
83594
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgxSliderThumbComponent, decorators: [{
83596
83595
  type: Component,
@@ -83624,6 +83623,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
83624
83623
  type: Output
83625
83624
  }], thumbChange: [{
83626
83625
  type: Output
83626
+ }], thumbBlur: [{
83627
+ type: Output
83627
83628
  }], hoverChange: [{
83628
83629
  type: Output
83629
83630
  }], tabindex: [{
@@ -84631,12 +84632,12 @@ class IgxSliderComponent {
84631
84632
  this.positionHandlersAndUpdateTrack();
84632
84633
  this.setTickInterval();
84633
84634
  this.changeThumbFocusableState(this.disabled);
84634
- this.subscribeTo(this.thumbFrom, this.thumbChanged.bind(this));
84635
- this.subscribeTo(this.thumbTo, this.thumbChanged.bind(this));
84635
+ this.subscribeToEvents(this.thumbFrom);
84636
+ this.subscribeToEvents(this.thumbTo);
84636
84637
  this.thumbs.changes.pipe(takeUntil(this._destroyer$)).subscribe(change => {
84637
84638
  const thumbFrom = change.find((thumb) => thumb.type === SliderHandle.FROM);
84638
84639
  this.positionHandler(thumbFrom, null, this.lowerValue);
84639
- this.subscribeTo(thumbFrom, this.thumbChanged.bind(this));
84640
+ this.subscribeToEvents(thumbFrom);
84640
84641
  this.changeThumbFocusableState(this.disabled);
84641
84642
  });
84642
84643
  this.labelRefs.changes.pipe(takeUntil(this._destroyer$)).subscribe(() => {
@@ -84701,7 +84702,6 @@ class IgxSliderComponent {
84701
84702
  // Finally do positionHandlersAndUpdateTrack the DOM
84702
84703
  // based on data values
84703
84704
  this.positionHandlersAndUpdateTrack();
84704
- this._onTouchedCallback();
84705
84705
  }
84706
84706
  /**
84707
84707
  * @hidden
@@ -84982,13 +84982,16 @@ class IgxSliderComponent {
84982
84982
  this.renderer.setStyle(this.trackRef.nativeElement, 'transform', `scaleX(${toPosition})`);
84983
84983
  }
84984
84984
  }
84985
- subscribeTo(thumb, callback) {
84985
+ subscribeToEvents(thumb) {
84986
84986
  if (!thumb) {
84987
84987
  return;
84988
84988
  }
84989
84989
  thumb.thumbValueChange
84990
84990
  .pipe(takeUntil(this.unsubscriber(thumb)))
84991
- .subscribe(value => callback(value, thumb.type));
84991
+ .subscribe(value => this.thumbChanged(value, thumb.type));
84992
+ thumb.thumbBlur
84993
+ .pipe(takeUntil(this.unsubscriber(thumb)))
84994
+ .subscribe(() => this._onTouchedCallback());
84992
84995
  }
84993
84996
  unsubscriber(thumb) {
84994
84997
  return merge(this._destroyer$, thumb.destroy);
@@ -85004,7 +85007,7 @@ class IgxSliderComponent {
85004
85007
  this.valueChange.emit({ oldValue, value: this.value });
85005
85008
  }
85006
85009
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgxSliderComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: IgxDirectionality }], target: i0.ɵɵFactoryTarget.Component }); }
85007
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.4", type: IgxSliderComponent, isStandalone: true, selector: "igx-slider", inputs: { id: "id", thumbLabelVisibilityDuration: "thumbLabelVisibilityDuration", type: "type", labels: "labels", step: "step", disabled: ["disabled", "disabled", booleanAttribute], continuous: ["continuous", "continuous", booleanAttribute], minValue: "minValue", maxValue: "maxValue", lowerBound: "lowerBound", upperBound: "upperBound", value: "value", primaryTicks: "primaryTicks", secondaryTicks: "secondaryTicks", showTicks: ["showTicks", "showTicks", booleanAttribute], primaryTickLabels: ["primaryTickLabels", "primaryTickLabels", booleanAttribute], secondaryTickLabels: ["secondaryTickLabels", "secondaryTickLabels", booleanAttribute], ticksOrientation: "ticksOrientation", tickLabelsOrientation: "tickLabelsOrientation", lowerValue: "lowerValue", upperValue: "upperValue" }, outputs: { valueChange: "valueChange", lowerValueChange: "lowerValueChange", upperValueChange: "upperValueChange", dragFinished: "dragFinished" }, host: { listeners: { "focus": "onFocus()", "pointerdown": "onPointerDown($event)", "pointerup": "onPointerUp($event)" }, properties: { "attr.role": "this.role", "class.igx-slider": "this.slierClass", "attr.id": "this.id", "attr.aria-valuemin": "this.valuemin", "attr.aria-valuemax": "this.valuemax", "attr.aria-readonly": "this.readonly", "class.igx-slider--disabled": "this.disabledClass" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: IgxSliderComponent, multi: true }], queries: [{ propertyName: "thumbFromTemplateRef", first: true, predicate: IgxThumbFromTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "thumbToTemplateRef", first: true, predicate: IgxThumbToTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "tickLabelTemplateRef", first: true, predicate: IgxTickLabelTemplateDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "trackRef", first: true, predicate: ["track"], descendants: true, static: true }, { propertyName: "ticks", first: true, predicate: ["ticks"], descendants: true, static: true }, { propertyName: "thumbs", predicate: IgxSliderThumbComponent, descendants: true }, { propertyName: "labelRefs", predicate: IgxThumbLabelComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<igx-ticks\n *ngIf=\"showTicks && showTopTicks\"\n ticksOrientation=\"top\"\n [primaryTicks]=\"primaryTicks\"\n [secondaryTicks]=\"secondaryTicks\"\n [primaryTickLabels]=\"primaryTickLabels\"\n [secondaryTickLabels]=\"secondaryTickLabels\"\n [tickLabelsOrientation]=\"tickLabelsOrientation\"\n [labelsViewEnabled]=\"labelsViewEnabled\"\n [labels]=\"labels | spreadTickLabels:secondaryTicks\"\n [tickLabelTemplateRef]=\"tickLabelTemplateRef\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\">\n</igx-ticks>\n<div class=\"igx-slider__track\">\n <div class=\"igx-slider__track-inactive\"></div>\n <div #track class=\"igx-slider__track-fill\"></div>\n <div class=\"igx-slider__track-steps\">\n <svg width=\"100%\" height=\"100%\">\n <line #ticks x1=\"0\" y1=\"2\" x2=\"100%\" y2=\"2\"></line>\n </svg>\n </div>\n</div>\n<div class=\"igx-slider__thumbs\">\n <igx-thumb-label\n *ngIf=\"isRange\"\n type=\"from\"\n [value]=\"lowerLabel\"\n [templateRef]=\"thumbFromTemplateRef\"\n [continuous]=\"continuous\"\n [context]=\"context\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumb]=\"thumbFrom\"></igx-thumb-label>\n\n <igx-thumb\n *ngIf=\"isRange\"\n #thumbFrom\n type=\"from\"\n [value]=\"lowerLabel\"\n [disabled]=\"disabled\"\n [continuous]=\"continuous\"\n [onPan]=\"onPan\"\n [stepDistance]=\"stepDistance\"\n [step]=\"step\"\n [templateRef]=\"thumbFromTemplateRef\"\n [context]=\"context\"\n (thumbChange)=\"onThumbChange()\"\n (hoverChange)=\"onHoverChange($event)\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumbLabelVisibilityDuration]=\"thumbLabelVisibilityDuration\"></igx-thumb>\n\n <igx-thumb-label\n [value]=\"upperLabel\"\n type=\"to\"\n [templateRef]=\"thumbToTemplateRef\"\n [continuous]=\"continuous\"\n [context]=\"context\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumb]=\"thumbTo\"></igx-thumb-label>\n\n <igx-thumb\n #thumbTo\n type=\"to\"\n [value]=\"upperLabel\"\n [disabled]=\"disabled\"\n [continuous]=\"continuous\"\n [onPan]=\"onPan\"\n [stepDistance]=\"stepDistance\"\n [step]=\"step\"\n [templateRef]=\"thumbToTemplateRef\"\n [context]=\"context\"\n (thumbChange)=\"onThumbChange()\"\n (hoverChange)=\"onHoverChange($event)\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumbLabelVisibilityDuration]=\"thumbLabelVisibilityDuration\"></igx-thumb>\n</div>\n<igx-ticks\n *ngIf=\"showTicks && showBottomTicks\"\n ticksOrientation=\"bottom\"\n [primaryTicks]=\"primaryTicks\"\n [secondaryTicks]=\"secondaryTicks\"\n [primaryTickLabels]=\"primaryTickLabels\"\n [secondaryTickLabels]=\"secondaryTickLabels\"\n [tickLabelsOrientation]=\"tickLabelsOrientation\"\n [labelsViewEnabled]=\"labelsViewEnabled\"\n [labels]=\"labels | spreadTickLabels:secondaryTicks\"\n [tickLabelTemplateRef]=\"tickLabelTemplateRef\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\">\n</igx-ticks>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IgxTicksComponent, selector: "igx-ticks", inputs: ["primaryTicks", "secondaryTicks", "primaryTickLabels", "secondaryTickLabels", "ticksOrientation", "tickLabelsOrientation", "maxValue", "minValue", "labelsViewEnabled", "labels", "tickLabelTemplateRef"] }, { kind: "component", type: IgxThumbLabelComponent, selector: "igx-thumb-label", inputs: ["value", "templateRef", "context", "type", "continuous", "deactiveState", "thumb"] }, { kind: "component", type: IgxSliderThumbComponent, selector: "igx-thumb", inputs: ["value", "continuous", "thumbLabelVisibilityDuration", "disabled", "onPan", "stepDistance", "step", "templateRef", "context", "type", "deactiveState"], outputs: ["thumbValueChange", "thumbChange", "hoverChange"] }, { kind: "pipe", type: IgxTickLabelsPipe, name: "spreadTickLabels" }] }); }
85010
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.4", type: IgxSliderComponent, isStandalone: true, selector: "igx-slider", inputs: { id: "id", thumbLabelVisibilityDuration: "thumbLabelVisibilityDuration", type: "type", labels: "labels", step: "step", disabled: ["disabled", "disabled", booleanAttribute], continuous: ["continuous", "continuous", booleanAttribute], minValue: "minValue", maxValue: "maxValue", lowerBound: "lowerBound", upperBound: "upperBound", value: "value", primaryTicks: "primaryTicks", secondaryTicks: "secondaryTicks", showTicks: ["showTicks", "showTicks", booleanAttribute], primaryTickLabels: ["primaryTickLabels", "primaryTickLabels", booleanAttribute], secondaryTickLabels: ["secondaryTickLabels", "secondaryTickLabels", booleanAttribute], ticksOrientation: "ticksOrientation", tickLabelsOrientation: "tickLabelsOrientation", lowerValue: "lowerValue", upperValue: "upperValue" }, outputs: { valueChange: "valueChange", lowerValueChange: "lowerValueChange", upperValueChange: "upperValueChange", dragFinished: "dragFinished" }, host: { listeners: { "focus": "onFocus()", "pointerdown": "onPointerDown($event)", "pointerup": "onPointerUp($event)" }, properties: { "attr.role": "this.role", "class.igx-slider": "this.slierClass", "attr.id": "this.id", "attr.aria-valuemin": "this.valuemin", "attr.aria-valuemax": "this.valuemax", "attr.aria-readonly": "this.readonly", "class.igx-slider--disabled": "this.disabledClass" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: IgxSliderComponent, multi: true }], queries: [{ propertyName: "thumbFromTemplateRef", first: true, predicate: IgxThumbFromTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "thumbToTemplateRef", first: true, predicate: IgxThumbToTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "tickLabelTemplateRef", first: true, predicate: IgxTickLabelTemplateDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "trackRef", first: true, predicate: ["track"], descendants: true, static: true }, { propertyName: "ticks", first: true, predicate: ["ticks"], descendants: true, static: true }, { propertyName: "thumbs", predicate: IgxSliderThumbComponent, descendants: true }, { propertyName: "labelRefs", predicate: IgxThumbLabelComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<igx-ticks\n *ngIf=\"showTicks && showTopTicks\"\n ticksOrientation=\"top\"\n [primaryTicks]=\"primaryTicks\"\n [secondaryTicks]=\"secondaryTicks\"\n [primaryTickLabels]=\"primaryTickLabels\"\n [secondaryTickLabels]=\"secondaryTickLabels\"\n [tickLabelsOrientation]=\"tickLabelsOrientation\"\n [labelsViewEnabled]=\"labelsViewEnabled\"\n [labels]=\"labels | spreadTickLabels:secondaryTicks\"\n [tickLabelTemplateRef]=\"tickLabelTemplateRef\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\">\n</igx-ticks>\n<div class=\"igx-slider__track\">\n <div class=\"igx-slider__track-inactive\"></div>\n <div #track class=\"igx-slider__track-fill\"></div>\n <div class=\"igx-slider__track-steps\">\n <svg width=\"100%\" height=\"100%\">\n <line #ticks x1=\"0\" y1=\"2\" x2=\"100%\" y2=\"2\"></line>\n </svg>\n </div>\n</div>\n<div class=\"igx-slider__thumbs\">\n <igx-thumb-label\n *ngIf=\"isRange\"\n type=\"from\"\n [value]=\"lowerLabel\"\n [templateRef]=\"thumbFromTemplateRef\"\n [continuous]=\"continuous\"\n [context]=\"context\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumb]=\"thumbFrom\"></igx-thumb-label>\n\n <igx-thumb\n *ngIf=\"isRange\"\n #thumbFrom\n type=\"from\"\n [value]=\"lowerLabel\"\n [disabled]=\"disabled\"\n [continuous]=\"continuous\"\n [onPan]=\"onPan\"\n [stepDistance]=\"stepDistance\"\n [step]=\"step\"\n [templateRef]=\"thumbFromTemplateRef\"\n [context]=\"context\"\n (thumbChange)=\"onThumbChange()\"\n (hoverChange)=\"onHoverChange($event)\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumbLabelVisibilityDuration]=\"thumbLabelVisibilityDuration\"></igx-thumb>\n\n <igx-thumb-label\n [value]=\"upperLabel\"\n type=\"to\"\n [templateRef]=\"thumbToTemplateRef\"\n [continuous]=\"continuous\"\n [context]=\"context\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumb]=\"thumbTo\"></igx-thumb-label>\n\n <igx-thumb\n #thumbTo\n type=\"to\"\n [value]=\"upperLabel\"\n [disabled]=\"disabled\"\n [continuous]=\"continuous\"\n [onPan]=\"onPan\"\n [stepDistance]=\"stepDistance\"\n [step]=\"step\"\n [templateRef]=\"thumbToTemplateRef\"\n [context]=\"context\"\n (thumbChange)=\"onThumbChange()\"\n (hoverChange)=\"onHoverChange($event)\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumbLabelVisibilityDuration]=\"thumbLabelVisibilityDuration\"></igx-thumb>\n</div>\n<igx-ticks\n *ngIf=\"showTicks && showBottomTicks\"\n ticksOrientation=\"bottom\"\n [primaryTicks]=\"primaryTicks\"\n [secondaryTicks]=\"secondaryTicks\"\n [primaryTickLabels]=\"primaryTickLabels\"\n [secondaryTickLabels]=\"secondaryTickLabels\"\n [tickLabelsOrientation]=\"tickLabelsOrientation\"\n [labelsViewEnabled]=\"labelsViewEnabled\"\n [labels]=\"labels | spreadTickLabels:secondaryTicks\"\n [tickLabelTemplateRef]=\"tickLabelTemplateRef\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\">\n</igx-ticks>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IgxTicksComponent, selector: "igx-ticks", inputs: ["primaryTicks", "secondaryTicks", "primaryTickLabels", "secondaryTickLabels", "ticksOrientation", "tickLabelsOrientation", "maxValue", "minValue", "labelsViewEnabled", "labels", "tickLabelTemplateRef"] }, { kind: "component", type: IgxThumbLabelComponent, selector: "igx-thumb-label", inputs: ["value", "templateRef", "context", "type", "continuous", "deactiveState", "thumb"] }, { kind: "component", type: IgxSliderThumbComponent, selector: "igx-thumb", inputs: ["value", "continuous", "thumbLabelVisibilityDuration", "disabled", "onPan", "stepDistance", "step", "templateRef", "context", "type", "deactiveState"], outputs: ["thumbValueChange", "thumbChange", "thumbBlur", "hoverChange"] }, { kind: "pipe", type: IgxTickLabelsPipe, name: "spreadTickLabels" }] }); }
85008
85011
  }
85009
85012
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgxSliderComponent, decorators: [{
85010
85013
  type: Component,