igniteui-angular 19.0.5 → 19.0.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 (36) hide show
  1. package/fesm2022/igniteui-angular.mjs +36 -27
  2. package/fesm2022/igniteui-angular.mjs.map +1 -1
  3. package/lib/carousel/carousel-base.d.ts +31 -2
  4. package/lib/carousel/carousel.component.d.ts +2 -2
  5. package/lib/carousel/slide.component.d.ts +2 -3
  6. package/lib/core/styles/components/checkbox/_checkbox-theme.scss +1 -2
  7. package/lib/core/styles/components/radio/_radio-theme.scss +0 -2
  8. package/lib/core/styles/components/switch/_switch-theme.scss +0 -2
  9. package/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.d.ts +4 -1
  10. package/package.json +1 -1
  11. package/styles/igniteui-angular-dark.css +1 -1
  12. package/styles/igniteui-angular.css +1 -1
  13. package/styles/igniteui-bootstrap-dark.css +1 -1
  14. package/styles/igniteui-bootstrap-light.css +1 -1
  15. package/styles/igniteui-dark-green.css +1 -1
  16. package/styles/igniteui-fluent-dark-excel.css +1 -1
  17. package/styles/igniteui-fluent-dark-word.css +1 -1
  18. package/styles/igniteui-fluent-dark.css +1 -1
  19. package/styles/igniteui-fluent-light-excel.css +1 -1
  20. package/styles/igniteui-fluent-light-word.css +1 -1
  21. package/styles/igniteui-fluent-light.css +1 -1
  22. package/styles/igniteui-indigo-dark.css +1 -1
  23. package/styles/igniteui-indigo-light.css +1 -1
  24. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  25. package/styles/maps/igniteui-angular.css.map +1 -1
  26. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  27. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  28. package/styles/maps/igniteui-dark-green.css.map +1 -1
  29. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  30. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  31. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  32. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  33. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  34. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  35. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  36. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -34179,6 +34179,8 @@ var Direction;
34179
34179
  Direction[Direction["PREV"] = 2] = "PREV";
34180
34180
  })(Direction || (Direction = {}));
34181
34181
  /** @hidden */
34182
+ const IGX_CAROUSEL_COMPONENT = /*@__PURE__*/ new InjectionToken('IgxCarouselToken');
34183
+ /** @hidden */
34182
34184
  let IgxCarouselComponentBase = class IgxCarouselComponentBase {
34183
34185
  constructor(animationService, cdr) {
34184
34186
  this.animationService = animationService;
@@ -34457,15 +34459,15 @@ class IgxSlideComponent {
34457
34459
  this._destroy$.next(true);
34458
34460
  this._destroy$.complete();
34459
34461
  }
34460
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: IgxSlideComponent, deps: [{ token: i0.ElementRef }, { token: IgxCarouselComponent }], target: i0.ɵɵFactoryTarget.Component }); }
34462
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: IgxSlideComponent, deps: [{ token: i0.ElementRef }, { token: IGX_CAROUSEL_COMPONENT }], target: i0.ɵɵFactoryTarget.Component }); }
34461
34463
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.0", type: IgxSlideComponent, isStandalone: true, selector: "igx-slide", inputs: { index: "index", direction: "direction", total: "total", active: ["active", "active", booleanAttribute], previous: ["previous", "previous", booleanAttribute] }, outputs: { activeChange: "activeChange" }, host: { properties: { "attr.tabindex": "this.tabIndex", "attr.id": "this.id", "attr.role": "this.tab", "attr.aria-labelledby": "this.ariaLabelledBy", "class.igx-slide": "this.cssClass", "class.igx-slide--current": "this.active", "class.igx-slide--previous": "this.previous" } }, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
34462
34464
  }
34463
34465
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: IgxSlideComponent, decorators: [{
34464
34466
  type: Component,
34465
34467
  args: [{ selector: 'igx-slide', standalone: true, template: "<ng-content></ng-content>\n" }]
34466
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: IgxCarouselComponent, decorators: [{
34468
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
34467
34469
  type: Inject,
34468
- args: [IgxCarouselComponent]
34470
+ args: [IGX_CAROUSEL_COMPONENT]
34469
34471
  }] }], propDecorators: { index: [{
34470
34472
  type: Input
34471
34473
  }], direction: [{
@@ -35610,7 +35612,8 @@ class IgxCarouselComponent extends IgxCarouselComponentBase {
35610
35612
  {
35611
35613
  provide: HAMMER_GESTURE_CONFIG,
35612
35614
  useClass: CarouselHammerConfig
35613
- }
35615
+ },
35616
+ { provide: IGX_CAROUSEL_COMPONENT, useExisting: IgxCarouselComponent }
35614
35617
  ], queries: [{ propertyName: "indicatorTemplate", first: true, predicate: IgxCarouselIndicatorDirective, descendants: true, read: TemplateRef }, { propertyName: "nextButtonTemplate", first: true, predicate: IgxCarouselNextButtonDirective, descendants: true, read: TemplateRef }, { propertyName: "prevButtonTemplate", first: true, predicate: IgxCarouselPrevButtonDirective, descendants: true, read: TemplateRef }, { propertyName: "slides", predicate: IgxSlideComponent }], viewQueries: [{ propertyName: "defaultIndicator", first: true, predicate: ["defaultIndicator"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultNextButton", first: true, predicate: ["defaultNextButton"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultPrevButton", first: true, predicate: ["defaultPrevButton"], descendants: true, read: TemplateRef, static: true }, { propertyName: "_indicators", predicate: ["indicators"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #defaultIndicator let-slide>\n <div class=\"igx-nav-dot\"\n [class.igx-nav-dot--active]=\"slide.active\">\n </div>\n</ng-template>\n\n<ng-template #defaultNextButton>\n <igx-icon aria-hidden=\"true\" family=\"default\" name=\"carousel_next\"\n class=\"igx-nav-arrow\">\n </igx-icon>\n</ng-template>\n\n<ng-template #defaultPrevButton>\n <igx-icon aria-hidden=\"true\" family=\"default\" name=\"carousel_prev\"\n class=\"igx-nav-arrow\">\n </igx-icon>\n</ng-template>\n\n<button *ngIf=\"navigation && slides.length\"\n igxButton\n class=\"igx-carousel__arrow--prev\"\n [attr.aria-label]=\"resourceStrings.igx_carousel_previous_slide\"\n [disabled]=\"prevButtonDisabled\"\n (click)=\"prev()\"\n (keydown)=\"handleKeydownPrev($event)\">\n <ng-container *ngTemplateOutlet=\"getPrevButtonTemplate; context: {$implicit: prevButtonDisabled};\"></ng-container>\n</button>\n\n<button *ngIf=\"navigation && slides.length\"\n igxButton\n class=\"igx-carousel__arrow--next\"\n [attr.aria-label]=\"resourceStrings.igx_carousel_next_slide\"\n [disabled]=\"nextButtonDisabled\"\n (click)=\"next()\"\n (keydown)=\"handleKeydownNext($event)\">\n <ng-container *ngTemplateOutlet=\"getNextButtonTemplate; context: {$implicit: nextButtonDisabled};\"></ng-container>\n</button>\n\n<div *ngIf=\"showIndicators\" [ngClass]=\"indicatorsClass\" [attr.role]=\"'tablist'\" (keyup)=\"handleKeyUp($event)\" (focusout)=\"handleFocusOut($event)\" (click)=\"handleClick()\" (keydown)=\"handleKeydown($event)\">\n <div #indicators *ngFor=\"let slide of slides\"\n class=\"igx-carousel-indicators__indicator\"\n (click)=\"select(slide)\"\n [id]=\"'tab-'+ slide.index + '-' + total\"\n [attr.role]=\"'tab'\"\n [attr.tabindex]=\"slide.active ? 0 : -1\"\n [attr.aria-label]=\"resourceStrings.igx_carousel_slide + ' ' + (slide.index + 1) + ' ' + resourceStrings.igx_carousel_of + ' ' + this.total\"\n [attr.aria-controls]=\"'panel-' + slide.index\"\n [attr.aria-selected]=\"slide.active\">\n <ng-container *ngTemplateOutlet=\"getIndicatorTemplate; context: {$implicit: slide};\"></ng-container>\n </div>\n</div>\n\n<div *ngIf=\"showIndicatorsLabel\" [ngClass]=\"indicatorsClass\" class=\"igx-carousel-label-indicator\">\n <span [id]=\"labelId\" class=\"igx-carousel__label\">{{getCarouselLabel}}</span>\n</div>\n\n<div class=\"igx-carousel__inner\" [attr.aria-live]=\"!interval || stoppedByInteraction ? 'polite' : 'off'\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block;outline-style:none}\n"], dependencies: [{ kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "name", "active"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
35615
35618
  }
35616
35619
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: IgxCarouselComponent, decorators: [{
@@ -35619,7 +35622,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
35619
35622
  {
35620
35623
  provide: HAMMER_GESTURE_CONFIG,
35621
35624
  useClass: CarouselHammerConfig
35622
- }
35625
+ },
35626
+ { provide: IGX_CAROUSEL_COMPONENT, useExisting: IgxCarouselComponent }
35623
35627
  ], selector: 'igx-carousel', imports: [IgxButtonDirective, IgxIconComponent, NgIf, NgClass, NgFor, NgTemplateOutlet], template: "<ng-template #defaultIndicator let-slide>\n <div class=\"igx-nav-dot\"\n [class.igx-nav-dot--active]=\"slide.active\">\n </div>\n</ng-template>\n\n<ng-template #defaultNextButton>\n <igx-icon aria-hidden=\"true\" family=\"default\" name=\"carousel_next\"\n class=\"igx-nav-arrow\">\n </igx-icon>\n</ng-template>\n\n<ng-template #defaultPrevButton>\n <igx-icon aria-hidden=\"true\" family=\"default\" name=\"carousel_prev\"\n class=\"igx-nav-arrow\">\n </igx-icon>\n</ng-template>\n\n<button *ngIf=\"navigation && slides.length\"\n igxButton\n class=\"igx-carousel__arrow--prev\"\n [attr.aria-label]=\"resourceStrings.igx_carousel_previous_slide\"\n [disabled]=\"prevButtonDisabled\"\n (click)=\"prev()\"\n (keydown)=\"handleKeydownPrev($event)\">\n <ng-container *ngTemplateOutlet=\"getPrevButtonTemplate; context: {$implicit: prevButtonDisabled};\"></ng-container>\n</button>\n\n<button *ngIf=\"navigation && slides.length\"\n igxButton\n class=\"igx-carousel__arrow--next\"\n [attr.aria-label]=\"resourceStrings.igx_carousel_next_slide\"\n [disabled]=\"nextButtonDisabled\"\n (click)=\"next()\"\n (keydown)=\"handleKeydownNext($event)\">\n <ng-container *ngTemplateOutlet=\"getNextButtonTemplate; context: {$implicit: nextButtonDisabled};\"></ng-container>\n</button>\n\n<div *ngIf=\"showIndicators\" [ngClass]=\"indicatorsClass\" [attr.role]=\"'tablist'\" (keyup)=\"handleKeyUp($event)\" (focusout)=\"handleFocusOut($event)\" (click)=\"handleClick()\" (keydown)=\"handleKeydown($event)\">\n <div #indicators *ngFor=\"let slide of slides\"\n class=\"igx-carousel-indicators__indicator\"\n (click)=\"select(slide)\"\n [id]=\"'tab-'+ slide.index + '-' + total\"\n [attr.role]=\"'tab'\"\n [attr.tabindex]=\"slide.active ? 0 : -1\"\n [attr.aria-label]=\"resourceStrings.igx_carousel_slide + ' ' + (slide.index + 1) + ' ' + resourceStrings.igx_carousel_of + ' ' + this.total\"\n [attr.aria-controls]=\"'panel-' + slide.index\"\n [attr.aria-selected]=\"slide.active\">\n <ng-container *ngTemplateOutlet=\"getIndicatorTemplate; context: {$implicit: slide};\"></ng-container>\n </div>\n</div>\n\n<div *ngIf=\"showIndicatorsLabel\" [ngClass]=\"indicatorsClass\" class=\"igx-carousel-label-indicator\">\n <span [id]=\"labelId\" class=\"igx-carousel__label\">{{getCarouselLabel}}</span>\n</div>\n\n<div class=\"igx-carousel__inner\" [attr.aria-live]=\"!interval || stoppedByInteraction ? 'polite' : 'off'\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block;outline-style:none}\n"] }]
35624
35628
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.IterableDiffers }, { type: undefined, decorators: [{
35625
35629
  type: Inject,
@@ -44202,7 +44206,7 @@ class IgxColumnComponent {
44202
44206
  columnSizes[col.colStart - 1] = {
44203
44207
  ref: col,
44204
44208
  width: col.width === 'fit-content' ? col.autoSize :
44205
- col.widthSetByUser || this.grid.columnWidthSetByUser ? parseInt(col.calcWidth, 10) : null,
44209
+ col.widthSetByUser || this.grid.columnWidthSetByUser ? parseFloat(col.calcWidth) : null,
44206
44210
  colSpan: col.gridColumnSpan,
44207
44211
  colEnd: col.colStart + col.gridColumnSpan,
44208
44212
  widthSetByUser: col.widthSetByUser
@@ -44231,7 +44235,7 @@ class IgxColumnComponent {
44231
44235
  columnSizes[col.colStart - 1] = {
44232
44236
  ref: col,
44233
44237
  width: col.width === 'fit-content' ? col.autoSize :
44234
- col.widthSetByUser || this.grid.columnWidthSetByUser ? parseInt(col.calcWidth, 10) : null,
44238
+ col.widthSetByUser || this.grid.columnWidthSetByUser ? parseFloat(col.calcWidth) : null,
44235
44239
  colSpan: col.gridColumnSpan,
44236
44240
  colEnd: col.colStart + col.gridColumnSpan,
44237
44241
  widthSetByUser: col.widthSetByUser
@@ -44246,7 +44250,7 @@ class IgxColumnComponent {
44246
44250
  columnSizes[i] = {
44247
44251
  ref: col,
44248
44252
  width: col.width === 'fit-content' ? col.autoSize :
44249
- col.widthSetByUser || this.grid.columnWidthSetByUser ? parseInt(col.calcWidth, 10) : null,
44253
+ col.widthSetByUser || this.grid.columnWidthSetByUser ? parseFloat(col.calcWidth) : null,
44250
44254
  colSpan: col.gridColumnSpan,
44251
44255
  colEnd: col.colStart + col.gridColumnSpan,
44252
44256
  widthSetByUser: col.widthSetByUser
@@ -44306,7 +44310,7 @@ class IgxColumnComponent {
44306
44310
  result.push(size.width + 'px');
44307
44311
  }
44308
44312
  else {
44309
- result.push(parseInt(this.grid.getPossibleColumnWidth(), 10) + 'px');
44313
+ result.push(parseFloat(this.grid.getPossibleColumnWidth()) + 'px');
44310
44314
  }
44311
44315
  }
44312
44316
  return result;
@@ -44715,7 +44719,7 @@ class IgxColumnComponent {
44715
44719
  this._calcWidth = this.grid.minColumnWidth;
44716
44720
  }
44717
44721
  else if (isPercentageWidth) {
44718
- this._calcWidth = Math.floor(parseFloat(colWidth) / 100 * this.grid.calcWidth);
44722
+ this._calcWidth = parseFloat(colWidth) / 100 * this.grid.calcWidth;
44719
44723
  }
44720
44724
  else if (!colWidth || isAutoWidth && !this.autoSize) {
44721
44725
  // no width
@@ -44724,7 +44728,7 @@ class IgxColumnComponent {
44724
44728
  else {
44725
44729
  this._calcWidth = this.width;
44726
44730
  }
44727
- this.calcPixelWidth = parseInt(this._calcWidth, 10);
44731
+ this.calcPixelWidth = parseFloat(this._calcWidth);
44728
44732
  }
44729
44733
  /**
44730
44734
  * @hidden
@@ -45423,7 +45427,7 @@ class IgxColumnGroupComponent extends IgxColumnComponent {
45423
45427
  if (val.hidden) {
45424
45428
  return acc;
45425
45429
  }
45426
- return acc + parseInt(val.calcWidth, 10);
45430
+ return acc + parseFloat(val.calcWidth);
45427
45431
  }, 0)}`;
45428
45432
  return width + 'px';
45429
45433
  }
@@ -45529,7 +45533,7 @@ class IgxColumnLayoutComponent extends IgxColumnGroupComponent {
45529
45533
  * @memberof IgxColumnGroupComponent
45530
45534
  */
45531
45535
  get width() {
45532
- const width = this.getFilledChildColumnSizes(this.children).reduce((acc, val) => acc + parseInt(val, 10), 0);
45536
+ const width = this.getFilledChildColumnSizes(this.children).reduce((acc, val) => acc + parseFloat(val), 0);
45533
45537
  return width;
45534
45538
  }
45535
45539
  /* blazorSuppress */
@@ -45544,7 +45548,7 @@ class IgxColumnLayoutComponent extends IgxColumnGroupComponent {
45544
45548
  let borderWidth = 0;
45545
45549
  if (this.headerGroup && this.headerGroup.hasLastPinnedChildColumn) {
45546
45550
  const headerStyles = this.grid.document.defaultView.getComputedStyle(this.headerGroup.nativeElement.children[0]);
45547
- borderWidth = parseInt(headerStyles.borderRightWidth, 10);
45551
+ borderWidth = parseFloat(headerStyles.borderRightWidth);
45548
45552
  }
45549
45553
  return super.getCalcWidth() + borderWidth;
45550
45554
  }
@@ -50009,10 +50013,11 @@ function generateExpressionsListRecursive(expressions, operator, expressionsUIs)
50009
50013
  * @hidden
50010
50014
  */
50011
50015
  class IgxExcelStyleCustomDialogComponent {
50012
- constructor(overlayService, cdr, platform) {
50016
+ constructor(overlayService, cdr, platform, esf) {
50013
50017
  this.overlayService = overlayService;
50014
50018
  this.cdr = cdr;
50015
50019
  this.platform = platform;
50020
+ this.esf = esf;
50016
50021
  this.expressionsList = new Array();
50017
50022
  this._customDialogPositionSettings = {
50018
50023
  verticalDirection: VerticalAlignment.Middle,
@@ -50072,6 +50077,10 @@ class IgxExcelStyleCustomDialogComponent {
50072
50077
  this.toggle.close();
50073
50078
  }
50074
50079
  }
50080
+ cancelDialog() {
50081
+ this.esf.cancel();
50082
+ this.closeDialog();
50083
+ }
50075
50084
  onApplyButtonClick() {
50076
50085
  this.expressionsList = this.expressionsList.filter(element => element.expression.condition &&
50077
50086
  (element.expression.searchVal || element.expression.searchVal === 0 || element.expression.condition.isUnary));
@@ -50182,13 +50191,13 @@ class IgxExcelStyleCustomDialogComponent {
50182
50191
  this.expressionsContainer.nativeElement.scrollTop = this.expressionsContainer.nativeElement.scrollHeight;
50183
50192
  });
50184
50193
  }
50185
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: IgxExcelStyleCustomDialogComponent, deps: [{ token: IgxOverlayService }, { token: i0.ChangeDetectorRef }, { token: PlatformUtil }], target: i0.ɵɵFactoryTarget.Component }); }
50186
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.0", type: IgxExcelStyleCustomDialogComponent, isStandalone: true, selector: "igx-excel-style-custom-dialog", inputs: { expressionsList: "expressionsList", column: "column", selectedOperator: "selectedOperator", filteringService: "filteringService", overlayComponentId: "overlayComponentId" }, viewQueries: [{ propertyName: "toggle", first: true, predicate: ["toggle"], descendants: true, read: IgxToggleDirective, static: true }, { propertyName: "defaultExpressionTemplate", first: true, predicate: ["defaultExpressionTemplate"], descendants: true, read: TemplateRef }, { propertyName: "dateExpressionTemplate", first: true, predicate: ["dateExpressionTemplate"], descendants: true, read: TemplateRef }, { propertyName: "expressionsContainer", first: true, predicate: ["expressionsContainer"], descendants: true, static: true }, { propertyName: "expressionComponents", predicate: IgxExcelStyleDefaultExpressionComponent, descendants: true }, { propertyName: "expressionDateComponents", predicate: IgxExcelStyleDateExpressionComponent, descendants: true }], ngImport: i0, template: "<article #toggle igxToggle\n class=\"igx-excel-filter__secondary\"\n [ngClass]=\"{\n 'igx-excel-filter__secondary--cosy': grid.gridSize === '2',\n 'igx-excel-filter__secondary--compact': grid.gridSize === '1'\n }\"\n (keydown)=\"onKeyDown($event)\"\n (opening)=\"onCustomDialogOpening()\"\n (opened)=\"onCustomDialogOpened()\">\n <header class=\"igx-excel-filter__secondary-header\">\n <h4 class=\"ig-typography__h6\">\n {{ grid.resourceStrings.igx_grid_excel_custom_dialog_header }}{{ column.header || column.field }}\n </h4>\n </header>\n\n <article #expressionsContainer class=\"igx-excel-filter__secondary-main\">\n <ng-container *ngIf=\"column.dataType === 'date' || column.dataType === 'dateTime' || column.dataType === 'time'\">\n <igx-excel-style-date-expression *ngFor=\"let expression of expressionsList;\"\n class=\"igx-excel-filter__condition\"\n [expressionUI]=\"expression\"\n [column]=\"column\"\n [grid]=\"grid\"\n [expressionsList]=\"expressionsList\"\n (expressionRemoved)=\"onExpressionRemoved($event)\"\n (logicOperatorChanged)=\"onLogicOperatorChanged($event)\">\n </igx-excel-style-date-expression>\n </ng-container>\n\n <ng-container *ngIf=\"column.dataType !== 'date' && column.dataType !== 'dateTime' && column.dataType !== 'time'\">\n <igx-excel-style-default-expression *ngFor=\"let expression of expressionsList;\"\n class=\"igx-excel-filter__condition\"\n [expressionUI]=\"expression\"\n [column]=\"column\"\n [grid]=\"grid\"\n [expressionsList]=\"expressionsList\"\n (expressionRemoved)=\"onExpressionRemoved($event)\"\n (logicOperatorChanged)=\"onLogicOperatorChanged($event)\">\n </igx-excel-style-default-expression>\n </ng-container>\n\n <button type=\"button\" igxButton\n class=\"igx-excel-filter__add-filter\"\n (click)=\"onAddButtonClick()\">\n <igx-icon family=\"default\" name=\"add\"></igx-icon>\n <span>{{ grid.resourceStrings.igx_grid_excel_custom_dialog_add }}</span>\n </button>\n </article>\n\n <footer class=\"igx-excel-filter__secondary-footer\">\n <div class=\"igx-excel-filter__clear\">\n <button type=\"button\"\n igxButton=\"flat\"\n (click)=\"onClearButtonClick()\">\n {{ grid.resourceStrings.igx_grid_excel_custom_dialog_clear }}\n </button>\n </div>\n <div class=\"igx-excel-filter__cancel\">\n <button type=\"button\"\n igxButton=\"flat\"\n (click)=\"closeDialog()\">\n {{ grid.resourceStrings.igx_grid_excel_cancel }}\n </button>\n </div>\n <div class=\"igx-excel-filter__apply\">\n <button type=\"button\"\n igxButton=\"contained\"\n (click)=\"onApplyButtonClick()\"\n (keydown)=\"onApplyButtonKeyDown($event)\">\n {{ grid.resourceStrings.igx_grid_excel_apply }}\n </button>\n </div>\n </footer>\n</article>\n", dependencies: [{ kind: "directive", type: IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: IgxExcelStyleDateExpressionComponent, selector: "igx-excel-style-date-expression" }, { kind: "component", type: IgxExcelStyleDefaultExpressionComponent, selector: "igx-excel-style-default-expression", inputs: ["column", "expressionUI", "expressionsList", "grid"], outputs: ["expressionRemoved", "logicOperatorChanged"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "name", "active"] }] }); }
50194
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: IgxExcelStyleCustomDialogComponent, deps: [{ token: IgxOverlayService }, { token: i0.ChangeDetectorRef }, { token: PlatformUtil }, { token: BaseFilteringComponent }], target: i0.ɵɵFactoryTarget.Component }); }
50195
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.0", type: IgxExcelStyleCustomDialogComponent, isStandalone: true, selector: "igx-excel-style-custom-dialog", inputs: { expressionsList: "expressionsList", column: "column", selectedOperator: "selectedOperator", filteringService: "filteringService", overlayComponentId: "overlayComponentId" }, viewQueries: [{ propertyName: "toggle", first: true, predicate: ["toggle"], descendants: true, read: IgxToggleDirective, static: true }, { propertyName: "defaultExpressionTemplate", first: true, predicate: ["defaultExpressionTemplate"], descendants: true, read: TemplateRef }, { propertyName: "dateExpressionTemplate", first: true, predicate: ["dateExpressionTemplate"], descendants: true, read: TemplateRef }, { propertyName: "expressionsContainer", first: true, predicate: ["expressionsContainer"], descendants: true, static: true }, { propertyName: "expressionComponents", predicate: IgxExcelStyleDefaultExpressionComponent, descendants: true }, { propertyName: "expressionDateComponents", predicate: IgxExcelStyleDateExpressionComponent, descendants: true }], ngImport: i0, template: "<article #toggle igxToggle\n class=\"igx-excel-filter__secondary\"\n [ngClass]=\"{\n 'igx-excel-filter__secondary--cosy': grid.gridSize === '2',\n 'igx-excel-filter__secondary--compact': grid.gridSize === '1'\n }\"\n (keydown)=\"onKeyDown($event)\"\n (opening)=\"onCustomDialogOpening()\"\n (opened)=\"onCustomDialogOpened()\">\n <header class=\"igx-excel-filter__secondary-header\">\n <h4 class=\"ig-typography__h6\">\n {{ grid.resourceStrings.igx_grid_excel_custom_dialog_header }}{{ column.header || column.field }}\n </h4>\n </header>\n\n <article #expressionsContainer class=\"igx-excel-filter__secondary-main\">\n <ng-container *ngIf=\"column.dataType === 'date' || column.dataType === 'dateTime' || column.dataType === 'time'\">\n <igx-excel-style-date-expression *ngFor=\"let expression of expressionsList;\"\n class=\"igx-excel-filter__condition\"\n [expressionUI]=\"expression\"\n [column]=\"column\"\n [grid]=\"grid\"\n [expressionsList]=\"expressionsList\"\n (expressionRemoved)=\"onExpressionRemoved($event)\"\n (logicOperatorChanged)=\"onLogicOperatorChanged($event)\">\n </igx-excel-style-date-expression>\n </ng-container>\n\n <ng-container *ngIf=\"column.dataType !== 'date' && column.dataType !== 'dateTime' && column.dataType !== 'time'\">\n <igx-excel-style-default-expression *ngFor=\"let expression of expressionsList;\"\n class=\"igx-excel-filter__condition\"\n [expressionUI]=\"expression\"\n [column]=\"column\"\n [grid]=\"grid\"\n [expressionsList]=\"expressionsList\"\n (expressionRemoved)=\"onExpressionRemoved($event)\"\n (logicOperatorChanged)=\"onLogicOperatorChanged($event)\">\n </igx-excel-style-default-expression>\n </ng-container>\n\n <button type=\"button\" igxButton\n class=\"igx-excel-filter__add-filter\"\n (click)=\"onAddButtonClick()\">\n <igx-icon family=\"default\" name=\"add\"></igx-icon>\n <span>{{ grid.resourceStrings.igx_grid_excel_custom_dialog_add }}</span>\n </button>\n </article>\n\n <footer class=\"igx-excel-filter__secondary-footer\">\n <div class=\"igx-excel-filter__clear\">\n <button type=\"button\"\n igxButton=\"flat\"\n (click)=\"onClearButtonClick()\">\n {{ grid.resourceStrings.igx_grid_excel_custom_dialog_clear }}\n </button>\n </div>\n <div class=\"igx-excel-filter__cancel\">\n <button type=\"button\"\n igxButton=\"flat\"\n (click)=\"cancelDialog()\">\n {{ grid.resourceStrings.igx_grid_excel_cancel }}\n </button>\n </div>\n <div class=\"igx-excel-filter__apply\">\n <button type=\"button\"\n igxButton=\"contained\"\n (click)=\"onApplyButtonClick()\"\n (keydown)=\"onApplyButtonKeyDown($event)\">\n {{ grid.resourceStrings.igx_grid_excel_apply }}\n </button>\n </div>\n </footer>\n</article>\n", dependencies: [{ kind: "directive", type: IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: IgxExcelStyleDateExpressionComponent, selector: "igx-excel-style-date-expression" }, { kind: "component", type: IgxExcelStyleDefaultExpressionComponent, selector: "igx-excel-style-default-expression", inputs: ["column", "expressionUI", "expressionsList", "grid"], outputs: ["expressionRemoved", "logicOperatorChanged"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "name", "active"] }] }); }
50187
50196
  }
50188
50197
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: IgxExcelStyleCustomDialogComponent, decorators: [{
50189
50198
  type: Component,
50190
- args: [{ selector: 'igx-excel-style-custom-dialog', imports: [IgxToggleDirective, NgClass, NgIf, NgFor, IgxExcelStyleDateExpressionComponent, IgxExcelStyleDefaultExpressionComponent, IgxButtonDirective, IgxIconComponent], template: "<article #toggle igxToggle\n class=\"igx-excel-filter__secondary\"\n [ngClass]=\"{\n 'igx-excel-filter__secondary--cosy': grid.gridSize === '2',\n 'igx-excel-filter__secondary--compact': grid.gridSize === '1'\n }\"\n (keydown)=\"onKeyDown($event)\"\n (opening)=\"onCustomDialogOpening()\"\n (opened)=\"onCustomDialogOpened()\">\n <header class=\"igx-excel-filter__secondary-header\">\n <h4 class=\"ig-typography__h6\">\n {{ grid.resourceStrings.igx_grid_excel_custom_dialog_header }}{{ column.header || column.field }}\n </h4>\n </header>\n\n <article #expressionsContainer class=\"igx-excel-filter__secondary-main\">\n <ng-container *ngIf=\"column.dataType === 'date' || column.dataType === 'dateTime' || column.dataType === 'time'\">\n <igx-excel-style-date-expression *ngFor=\"let expression of expressionsList;\"\n class=\"igx-excel-filter__condition\"\n [expressionUI]=\"expression\"\n [column]=\"column\"\n [grid]=\"grid\"\n [expressionsList]=\"expressionsList\"\n (expressionRemoved)=\"onExpressionRemoved($event)\"\n (logicOperatorChanged)=\"onLogicOperatorChanged($event)\">\n </igx-excel-style-date-expression>\n </ng-container>\n\n <ng-container *ngIf=\"column.dataType !== 'date' && column.dataType !== 'dateTime' && column.dataType !== 'time'\">\n <igx-excel-style-default-expression *ngFor=\"let expression of expressionsList;\"\n class=\"igx-excel-filter__condition\"\n [expressionUI]=\"expression\"\n [column]=\"column\"\n [grid]=\"grid\"\n [expressionsList]=\"expressionsList\"\n (expressionRemoved)=\"onExpressionRemoved($event)\"\n (logicOperatorChanged)=\"onLogicOperatorChanged($event)\">\n </igx-excel-style-default-expression>\n </ng-container>\n\n <button type=\"button\" igxButton\n class=\"igx-excel-filter__add-filter\"\n (click)=\"onAddButtonClick()\">\n <igx-icon family=\"default\" name=\"add\"></igx-icon>\n <span>{{ grid.resourceStrings.igx_grid_excel_custom_dialog_add }}</span>\n </button>\n </article>\n\n <footer class=\"igx-excel-filter__secondary-footer\">\n <div class=\"igx-excel-filter__clear\">\n <button type=\"button\"\n igxButton=\"flat\"\n (click)=\"onClearButtonClick()\">\n {{ grid.resourceStrings.igx_grid_excel_custom_dialog_clear }}\n </button>\n </div>\n <div class=\"igx-excel-filter__cancel\">\n <button type=\"button\"\n igxButton=\"flat\"\n (click)=\"closeDialog()\">\n {{ grid.resourceStrings.igx_grid_excel_cancel }}\n </button>\n </div>\n <div class=\"igx-excel-filter__apply\">\n <button type=\"button\"\n igxButton=\"contained\"\n (click)=\"onApplyButtonClick()\"\n (keydown)=\"onApplyButtonKeyDown($event)\">\n {{ grid.resourceStrings.igx_grid_excel_apply }}\n </button>\n </div>\n </footer>\n</article>\n" }]
50191
- }], ctorParameters: () => [{ type: IgxOverlayService }, { type: i0.ChangeDetectorRef }, { type: PlatformUtil }], propDecorators: { expressionsList: [{
50199
+ args: [{ selector: 'igx-excel-style-custom-dialog', imports: [IgxToggleDirective, NgClass, NgIf, NgFor, IgxExcelStyleDateExpressionComponent, IgxExcelStyleDefaultExpressionComponent, IgxButtonDirective, IgxIconComponent], template: "<article #toggle igxToggle\n class=\"igx-excel-filter__secondary\"\n [ngClass]=\"{\n 'igx-excel-filter__secondary--cosy': grid.gridSize === '2',\n 'igx-excel-filter__secondary--compact': grid.gridSize === '1'\n }\"\n (keydown)=\"onKeyDown($event)\"\n (opening)=\"onCustomDialogOpening()\"\n (opened)=\"onCustomDialogOpened()\">\n <header class=\"igx-excel-filter__secondary-header\">\n <h4 class=\"ig-typography__h6\">\n {{ grid.resourceStrings.igx_grid_excel_custom_dialog_header }}{{ column.header || column.field }}\n </h4>\n </header>\n\n <article #expressionsContainer class=\"igx-excel-filter__secondary-main\">\n <ng-container *ngIf=\"column.dataType === 'date' || column.dataType === 'dateTime' || column.dataType === 'time'\">\n <igx-excel-style-date-expression *ngFor=\"let expression of expressionsList;\"\n class=\"igx-excel-filter__condition\"\n [expressionUI]=\"expression\"\n [column]=\"column\"\n [grid]=\"grid\"\n [expressionsList]=\"expressionsList\"\n (expressionRemoved)=\"onExpressionRemoved($event)\"\n (logicOperatorChanged)=\"onLogicOperatorChanged($event)\">\n </igx-excel-style-date-expression>\n </ng-container>\n\n <ng-container *ngIf=\"column.dataType !== 'date' && column.dataType !== 'dateTime' && column.dataType !== 'time'\">\n <igx-excel-style-default-expression *ngFor=\"let expression of expressionsList;\"\n class=\"igx-excel-filter__condition\"\n [expressionUI]=\"expression\"\n [column]=\"column\"\n [grid]=\"grid\"\n [expressionsList]=\"expressionsList\"\n (expressionRemoved)=\"onExpressionRemoved($event)\"\n (logicOperatorChanged)=\"onLogicOperatorChanged($event)\">\n </igx-excel-style-default-expression>\n </ng-container>\n\n <button type=\"button\" igxButton\n class=\"igx-excel-filter__add-filter\"\n (click)=\"onAddButtonClick()\">\n <igx-icon family=\"default\" name=\"add\"></igx-icon>\n <span>{{ grid.resourceStrings.igx_grid_excel_custom_dialog_add }}</span>\n </button>\n </article>\n\n <footer class=\"igx-excel-filter__secondary-footer\">\n <div class=\"igx-excel-filter__clear\">\n <button type=\"button\"\n igxButton=\"flat\"\n (click)=\"onClearButtonClick()\">\n {{ grid.resourceStrings.igx_grid_excel_custom_dialog_clear }}\n </button>\n </div>\n <div class=\"igx-excel-filter__cancel\">\n <button type=\"button\"\n igxButton=\"flat\"\n (click)=\"cancelDialog()\">\n {{ grid.resourceStrings.igx_grid_excel_cancel }}\n </button>\n </div>\n <div class=\"igx-excel-filter__apply\">\n <button type=\"button\"\n igxButton=\"contained\"\n (click)=\"onApplyButtonClick()\"\n (keydown)=\"onApplyButtonKeyDown($event)\">\n {{ grid.resourceStrings.igx_grid_excel_apply }}\n </button>\n </div>\n </footer>\n</article>\n" }]
50200
+ }], ctorParameters: () => [{ type: IgxOverlayService }, { type: i0.ChangeDetectorRef }, { type: PlatformUtil }, { type: BaseFilteringComponent }], propDecorators: { expressionsList: [{
50192
50201
  type: Input
50193
50202
  }], column: [{
50194
50203
  type: Input
@@ -55898,7 +55907,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
55898
55907
  class IgxHeaderGroupWidthPipe {
55899
55908
  transform(width, minWidth, hasLayout) {
55900
55909
  const isFitContent = width === 'fit-content';
55901
- return hasLayout ? '' : isFitContent ? width : `${Math.max(parseInt(width), minWidth)}px`;
55910
+ return hasLayout ? '' : isFitContent ? width : `${Math.max(parseFloat(width), minWidth)}px`;
55902
55911
  }
55903
55912
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: IgxHeaderGroupWidthPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
55904
55913
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0", ngImport: i0, type: IgxHeaderGroupWidthPipe, isStandalone: true, name: "igxHeaderGroupWidth" }); }
@@ -65339,7 +65348,7 @@ class IgxGridBaseDirective {
65339
65348
  let totalWidth = 0;
65340
65349
  let i = 0;
65341
65350
  for (i; i < cols.length; i++) {
65342
- totalWidth += parseInt(cols[i].calcWidth, 10) || 0;
65351
+ totalWidth += parseFloat(cols[i].calcWidth) || 0;
65343
65352
  }
65344
65353
  this._totalWidth = totalWidth;
65345
65354
  return totalWidth;
@@ -66104,7 +66113,7 @@ class IgxGridBaseDirective {
66104
66113
  }
66105
66114
  else {
66106
66115
  computedWidth = this.calcWidth ||
66107
- parseInt(this.document.defaultView.getComputedStyle(this.nativeElement).getPropertyValue('width'), 10);
66116
+ parseFloat(this.document.defaultView.getComputedStyle(this.nativeElement).getPropertyValue('width'));
66108
66117
  }
66109
66118
  const visibleChildColumns = this.visibleColumns.filter(c => !c.columnGroup);
66110
66119
  // Column layouts related
@@ -66123,7 +66132,7 @@ class IgxGridBaseDirective {
66123
66132
  const sumExistingWidths = columnsWithSetWidths
66124
66133
  .reduce((prev, curr) => {
66125
66134
  const colWidth = curr.width;
66126
- let widthValue = parseInt(colWidth, 10);
66135
+ let widthValue = parseFloat(colWidth);
66127
66136
  if (isNaN(widthValue)) {
66128
66137
  widthValue = MINIMUM_COLUMN_WIDTH$1;
66129
66138
  }
@@ -66137,9 +66146,9 @@ class IgxGridBaseDirective {
66137
66146
  return '0px';
66138
66147
  }
66139
66148
  computedWidth -= this.featureColumnsWidth();
66140
- const columnWidth = Math.floor(!Number.isFinite(sumExistingWidths) ?
66149
+ const columnWidth = !Number.isFinite(sumExistingWidths) ?
66141
66150
  Math.max(computedWidth / columnsToSize, this.minColumnWidth) :
66142
- Math.max((computedWidth - sumExistingWidths) / columnsToSize, this.minColumnWidth));
66151
+ Math.max((computedWidth - sumExistingWidths) / columnsToSize, this.minColumnWidth);
66143
66152
  return columnWidth + 'px';
66144
66153
  }
66145
66154
  /**
@@ -67131,8 +67140,8 @@ class IgxGridBaseDirective {
67131
67140
  this._columnWidth = this.width !== null ? this.getPossibleColumnWidth() : this.minColumnWidth + 'px';
67132
67141
  }
67133
67142
  this._columns.forEach((column) => {
67134
- if (this.hasColumnLayouts && parseInt(this._columnWidth, 10)) {
67135
- const columnWidthCombined = parseInt(this._columnWidth, 10) * (column.colEnd ? column.colEnd - column.colStart : 1);
67143
+ if (this.hasColumnLayouts && parseFloat(this._columnWidth)) {
67144
+ const columnWidthCombined = parseFloat(this._columnWidth) * (column.colEnd ? column.colEnd - column.colStart : 1);
67136
67145
  column.defaultWidth = columnWidthCombined + 'px';
67137
67146
  }
67138
67147
  else {