igniteui-angular 19.2.11 → 19.2.12

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 (40) hide show
  1. package/fesm2022/igniteui-angular.mjs +191 -19
  2. package/fesm2022/igniteui-angular.mjs.map +1 -1
  3. package/lib/calendar/common/model.d.ts +31 -1
  4. package/lib/combo/combo.common.d.ts +1 -0
  5. package/lib/core/styles/components/column-actions/_column-actions-theme.scss +1 -1
  6. package/lib/core/styles/components/combo/_combo-theme.scss +7 -0
  7. package/lib/core/styles/components/input/_input-group-component.scss +30 -0
  8. package/lib/core/styles/components/input/_input-group-theme.scss +69 -5
  9. package/lib/directives/tooltip/tooltip.directive.d.ts +1 -0
  10. package/lib/grids/grid-public-row.d.ts +39 -0
  11. package/lib/grids/pivot-grid/pivot-grid.component.d.ts +4 -0
  12. package/lib/input-group/input-group.component.d.ts +1 -1
  13. package/lib/select/select.component.d.ts +1 -0
  14. package/package.json +1 -1
  15. package/styles/igniteui-angular-dark.css +1 -1
  16. package/styles/igniteui-angular.css +1 -1
  17. package/styles/igniteui-bootstrap-dark.css +1 -1
  18. package/styles/igniteui-bootstrap-light.css +1 -1
  19. package/styles/igniteui-dark-green.css +1 -1
  20. package/styles/igniteui-fluent-dark-excel.css +1 -1
  21. package/styles/igniteui-fluent-dark-word.css +1 -1
  22. package/styles/igniteui-fluent-dark.css +1 -1
  23. package/styles/igniteui-fluent-light-excel.css +1 -1
  24. package/styles/igniteui-fluent-light-word.css +1 -1
  25. package/styles/igniteui-fluent-light.css +1 -1
  26. package/styles/igniteui-indigo-dark.css +1 -1
  27. package/styles/igniteui-indigo-light.css +1 -1
  28. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  29. package/styles/maps/igniteui-angular.css.map +1 -1
  30. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  31. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  32. package/styles/maps/igniteui-dark-green.css.map +1 -1
  33. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  34. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  35. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  36. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  37. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  38. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  39. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  40. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -36,8 +36,38 @@ export declare class CalendarDay {
36
36
  get date(): number;
37
37
  /** Returns the timestamp since epoch in milliseconds. */
38
38
  get timestamp(): number;
39
- /** Returns the current week number. */
39
+ /** Returns the ISO 8601 week number. */
40
40
  get week(): number;
41
+ /**
42
+ * Gets the week number based on week start day.
43
+ * Uses ISO 8601 (first Thursday rule) only when weekStart is Monday (1).
44
+ * For other week starts, uses simple counting from January 1st.
45
+ */
46
+ getWeekNumber(weekStart?: number): number;
47
+ /**
48
+ * Calculates week number using ISO 8601 standard (Monday start, first Thursday rule).
49
+ */
50
+ private calculateISO8601WeekNumber;
51
+ /**
52
+ * Calculates week number using simple counting from January 1st.
53
+ */
54
+ private calculateSimpleWeekNumber;
55
+ /**
56
+ * Gets the Thursday of the current date's week (ISO 8601 helper).
57
+ */
58
+ private getThursdayOfWeek;
59
+ /**
60
+ * Gets the Thursday of the first week of the given year (ISO 8601 helper).
61
+ */
62
+ private getFirstWeekThursday;
63
+ /**
64
+ * Calculates the number of weeks between two Thursday dates (ISO 8601 helper).
65
+ */
66
+ private getWeeksDifference;
67
+ /**
68
+ * Gets the last week number of the previous year (ISO 8601 helper).
69
+ */
70
+ private getPreviousYearLastWeek;
41
71
  /** Returns the underlying native date instance. */
42
72
  get native(): Date;
43
73
  /**
@@ -557,6 +557,7 @@ export declare abstract class IgxComboBaseDirective implements IgxComboBase, Aft
557
557
  protected complexTemplate: TemplateRef<any>;
558
558
  protected prefixes: QueryList<IgxPrefixDirective>;
559
559
  protected suffixes: QueryList<IgxSuffixDirective>;
560
+ protected internalSuffixes: QueryList<IgxSuffixDirective>;
560
561
  /** @hidden @internal */
561
562
  get searchValue(): string;
562
563
  set searchValue(val: string);
@@ -100,7 +100,7 @@
100
100
 
101
101
  %column-actions-input {
102
102
  font-size: rem(16px) !important;
103
- margin: rem(-16px) 0 0 !important;
103
+ margin: 0 !important;
104
104
  padding: rem(8px) rem(16px);
105
105
  }
106
106
 
@@ -263,6 +263,13 @@
263
263
  padding: 0;
264
264
  }
265
265
  }
266
+
267
+ &:not(.igx-input-group--disabled){
268
+ %igx-combo__clear-button {
269
+ color: var-get($theme, 'clear-button-foreground');
270
+ background: var-get($theme, 'clear-button-background');
271
+ }
272
+ }
266
273
  }
267
274
 
268
275
  %form-group-bundle:not(%form-group-bundle--disabled):focus-within {
@@ -1000,6 +1000,36 @@
1000
1000
  }
1001
1001
  }
1002
1002
 
1003
+ @include mx(bootstrap, warning) {
1004
+ @include e(input) {
1005
+ @extend %bootstrap-input--warning !optional;
1006
+
1007
+ &:hover {
1008
+ @extend %bootstrap-input--warning !optional;
1009
+ }
1010
+ }
1011
+
1012
+ @include e(file-input) {
1013
+ @extend %bootstrap-input--warning !optional;
1014
+
1015
+ &:hover {
1016
+ @extend %bootstrap-input--warning !optional;
1017
+ }
1018
+ }
1019
+
1020
+ @include e(label) {
1021
+ @extend %bootstrap-label !optional;
1022
+ }
1023
+
1024
+ @include e(textarea) {
1025
+ @extend %bootstrap-input--warning !optional;
1026
+
1027
+ &:hover {
1028
+ @extend %bootstrap-input--warning !optional;
1029
+ }
1030
+ }
1031
+ }
1032
+
1003
1033
  @include mx(bootstrap, textarea-group) {
1004
1034
  @include e(bundle) {
1005
1035
  @extend %form-group-bundle-bootstrap--textarea !optional;
@@ -496,12 +496,23 @@
496
496
  }
497
497
  }
498
498
  }
499
+
500
+ &:not(%form-group-display--focused, %form-group-display--filled) {
501
+ &:has(input:not(:placeholder-shown, [type='file'])) {
502
+ %form-group-label {
503
+ @include type-style('subtitle-1');
504
+ transform: translateY(0);
505
+ }
506
+ }
507
+ }
499
508
  }
500
509
  }
501
510
 
502
511
  %form-group-placeholder {
503
- %form-group-label {
504
- transition: none !important;
512
+ &:has(input:placeholder-shown, textarea:placeholder-shown) {
513
+ %form-group-label {
514
+ transition: none !important;
515
+ }
505
516
  }
506
517
  }
507
518
 
@@ -1004,13 +1015,20 @@
1004
1015
 
1005
1016
  %form-group-label--focused-border,
1006
1017
  %form-group-label--filled-border,
1007
- %form-group-label--placeholder-border,
1008
1018
  %form-group-label--file-border {
1009
1019
  %igx-input-group__notch {
1010
1020
  border-block-start-color: transparent !important;
1011
1021
  }
1012
1022
  }
1013
1023
 
1024
+ %form-group-label--placeholder-border {
1025
+ &:has(input:placeholder-shown, textarea:placeholder-shown) {
1026
+ %igx-input-group__notch {
1027
+ border-block-start-color: transparent !important;
1028
+ }
1029
+ }
1030
+ }
1031
+
1014
1032
  %form-group-label--focused-border {
1015
1033
  %form-group-bundle-start {
1016
1034
  border-inline-start-width: rem(2px);
@@ -1098,6 +1116,26 @@
1098
1116
  width: calc(100% - #{rem(2px)});
1099
1117
  }
1100
1118
  }
1119
+
1120
+ %textarea-group:not(%form-group-display--focused, %form-group-display--filled) {
1121
+ &:has(textarea:not(:placeholder-shown)) {
1122
+ %form-group-textarea-label:not(%textarea-group-label--focused) {
1123
+ @include type-style('subtitle-1');
1124
+
1125
+ top: calc($input-top-padding - #{rem(3px)});
1126
+ transform: translateY(0);
1127
+ margin-bottom: auto;
1128
+ }
1129
+ }
1130
+ }
1131
+
1132
+ %textarea-group:not(%form-group-display--focused, %form-group-display--filled) {
1133
+ &:has(%form-group-display--border, textarea:not(:placeholder-shown)) {
1134
+ %igx-input-group__notch {
1135
+ border-block-start-width: rem(1px);
1136
+ }
1137
+ }
1138
+ }
1101
1139
  }
1102
1140
 
1103
1141
  %form-group-textarea-group-bundle {
@@ -2172,12 +2210,38 @@
2172
2210
 
2173
2211
  %bootstrap-input--success {
2174
2212
  border: rem(1px) solid var-get($theme, 'success-secondary-color');
2175
- box-shadow: 0 0 0 rem(4px) var-get($theme, 'success-shadow-color');
2213
+
2214
+ &:focus {
2215
+ box-shadow: 0 0 0 rem(4px) var-get($theme, 'success-shadow-color');
2216
+
2217
+ + %bootstrap-file-input {
2218
+ box-shadow: 0 0 0 rem(4px) var-get($theme, 'success-shadow-color');
2219
+ }
2220
+ }
2176
2221
  }
2177
2222
 
2178
2223
  %bootstrap-input--error {
2179
2224
  border: rem(1px) solid var-get($theme, 'error-secondary-color');
2180
- box-shadow: 0 0 0 rem(4px) var-get($theme, 'error-shadow-color');
2225
+
2226
+ &:focus {
2227
+ box-shadow: 0 0 0 rem(4px) var-get($theme, 'error-shadow-color');
2228
+
2229
+ + %bootstrap-file-input {
2230
+ box-shadow: 0 0 0 rem(4px) var-get($theme, 'error-shadow-color');
2231
+ }
2232
+ }
2233
+ }
2234
+
2235
+ %bootstrap-input--warning {
2236
+ border: rem(1px) solid var-get($theme, 'warning-secondary-color');
2237
+
2238
+ &:focus {
2239
+ box-shadow: 0 0 0 rem(4px) color($color: 'warn', $variant: 500, $opacity: 0.38);
2240
+
2241
+ + %bootstrap-file-input {
2242
+ box-shadow: 0 0 0 rem(4px) color($color: 'warn', $variant: 500, $opacity: 0.38);
2243
+ }
2244
+ }
2181
2245
  }
2182
2246
 
2183
2247
  %bootstrap-input--disabled {
@@ -80,6 +80,7 @@ export declare class IgxTooltipDirective extends IgxToggleDirective implements O
80
80
  */
81
81
  tooltipTarget: IgxTooltipTargetDirective;
82
82
  private _destroy$;
83
+ private _document;
83
84
  /** @hidden */
84
85
  constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, overlayService: IgxOverlayService, navigationService: IgxNavigationService);
85
86
  /** @hidden */
@@ -2,6 +2,7 @@ import { IGroupByRecord } from '../data-operations/groupby-record.interface';
2
2
  import { IgxSummaryResult } from './summaries/grid-summary';
3
3
  import { ITreeGridRecord } from './tree-grid/tree-grid.interfaces';
4
4
  import { CellType, GridType, IGridValidationState, RowType } from './common/grid.interface';
5
+ import { IgxPivotGridComponent } from './pivot-grid/public_api';
5
6
  declare abstract class BaseRow implements RowType {
6
7
  index: number;
7
8
  /**
@@ -356,4 +357,42 @@ export declare class IgxSummaryRow implements RowType {
356
357
  constructor(grid: GridType, index: number, _summaries?: Map<string, IgxSummaryResult[]>);
357
358
  private getRootParent;
358
359
  }
360
+ export declare class IgxPivotGridRow implements RowType {
361
+ /** The index of the row within the grid */
362
+ index: number;
363
+ /**
364
+ * The grid that contains the row.
365
+ */
366
+ grid: IgxPivotGridComponent;
367
+ private _data?;
368
+ constructor(grid: IgxPivotGridComponent, index: number, data?: any);
369
+ /**
370
+ * The data passed to the row component.
371
+ */
372
+ get data(): any;
373
+ /**
374
+ * Returns the view index calculated per the grid page.
375
+ */
376
+ get viewIndex(): number;
377
+ /**
378
+ * Gets the row key.
379
+ * A row in the grid is identified either by:
380
+ * - primaryKey data value,
381
+ * - the whole rowData, if the primaryKey is omitted.
382
+ *
383
+ * ```typescript
384
+ * let rowKey = row.key;
385
+ * ```
386
+ */
387
+ get key(): any;
388
+ /**
389
+ * Gets whether the row is selected.
390
+ * Default value is `false`.
391
+ * ```typescript
392
+ * row.selected = true;
393
+ * ```
394
+ */
395
+ get selected(): boolean;
396
+ set selected(val: boolean);
397
+ }
359
398
  export {};
@@ -984,6 +984,10 @@ export declare class IgxPivotGridComponent extends IgxGridBaseDirective implemen
984
984
  protected rowDimensionByName(memberName: string): IPivotDimension;
985
985
  protected calculateResizerTop(): any;
986
986
  protected updateDefaultRowHeight(): void;
987
+ /**
988
+ * @hidden @internal
989
+ */
990
+ createRow(index: number, data?: any): RowType;
987
991
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxPivotGridComponent, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
988
992
  static ɵcmp: i0.ɵɵComponentDeclaration<IgxPivotGridComponent, "igx-pivot-grid", never, { "valueChipTemplate": { "alias": "valueChipTemplate"; "required": false; }; "rowDimensionHeaderTemplate": { "alias": "rowDimensionHeaderTemplate"; "required": false; }; "pivotConfiguration": { "alias": "pivotConfiguration"; "required": false; }; "autoGenerateConfig": { "alias": "autoGenerateConfig"; "required": false; }; "pivotUI": { "alias": "pivotUI"; "required": false; }; "superCompactMode": { "alias": "superCompactMode"; "required": false; }; "pivotValueCloneStrategy": { "alias": "pivotValueCloneStrategy"; "required": false; }; "addRowEmptyTemplate": { "alias": "addRowEmptyTemplate"; "required": false; }; "autoGenerateExclude": { "alias": "autoGenerateExclude"; "required": false; }; "snackbarDisplayTime": { "alias": "snackbarDisplayTime"; "required": false; }; "defaultExpandState": { "alias": "defaultExpandState"; "required": false; }; "pagingMode": { "alias": "pagingMode"; "required": false; }; "hideRowSelectors": { "alias": "hideRowSelectors"; "required": false; }; "rowDraggable": { "alias": "rowDraggable"; "required": false; }; "allowAdvancedFiltering": { "alias": "allowAdvancedFiltering"; "required": false; }; "filterMode": { "alias": "filterMode"; "required": false; }; "allowFiltering": { "alias": "allowFiltering"; "required": false; }; "page": { "alias": "page"; "required": false; }; "perPage": { "alias": "perPage"; "required": false; }; "summaryRowHeight": { "alias": "summaryRowHeight"; "required": false; }; "rowEditable": { "alias": "rowEditable"; "required": false; }; "pinning": { "alias": "pinning"; "required": false; }; "summaryPosition": { "alias": "summaryPosition"; "required": false; }; "summaryCalculationMode": { "alias": "summaryCalculationMode"; "required": false; }; "showSummaryOnCollapse": { "alias": "showSummaryOnCollapse"; "required": false; }; "batchEditing": { "alias": "batchEditing"; "required": false; }; "id": { "alias": "id"; "required": false; }; "data": { "alias": "data"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "emptyPivotGridTemplate": { "alias": "emptyPivotGridTemplate"; "required": false; }; }, { "dimensionsChange": "dimensionsChange"; "pivotConfigurationChange": "pivotConfigurationChange"; "dimensionInit": "dimensionInit"; "valueInit": "valueInit"; "dimensionsSortingExpressionsChange": "dimensionsSortingExpressionsChange"; "valuesChange": "valuesChange"; "cellEdit": "cellEdit"; "cellEditDone": "cellEditDone"; "cellEditEnter": "cellEditEnter"; "cellEditExit": "cellEditExit"; "columnMovingStart": "columnMovingStart"; "columnMoving": "columnMoving"; "columnMovingEnd": "columnMovingEnd"; "columnPin": "columnPin"; "columnPinned": "columnPinned"; "rowAdd": "rowAdd"; "rowAdded": "rowAdded"; "rowDeleted": "rowDeleted"; "rowDelete": "rowDelete"; "rowDragStart": "rowDragStart"; "rowDragEnd": "rowDragEnd"; "rowEditEnter": "rowEditEnter"; "rowEdit": "rowEdit"; "rowEditDone": "rowEditDone"; "rowEditExit": "rowEditExit"; "rowPinning": "rowPinning"; "rowPinned": "rowPinned"; }, ["valueChipTemplateDirective", "rowDimensionHeaderDirective"], ["igx-grid-toolbar,igc-grid-toolbar", "igx-grid-footer,igc-grid-footer", "igx-grid-state,igc-grid-state"], true, never>;
989
993
  static ngAcceptInputType_autoGenerateConfig: unknown;
@@ -151,7 +151,7 @@ export declare class IgxInputGroupComponent implements IgxInputGroupBase {
151
151
  /** @hidden @internal */
152
152
  get hasSuffixes(): any;
153
153
  /** @hidden @internal */
154
- set suffixes(items: QueryList<IgxPrefixDirective>);
154
+ set suffixes(items: QueryList<IgxSuffixDirective>);
155
155
  /**
156
156
  * Returns whether the `IgxInputGroupComponent` has border.
157
157
  * ```typescript
@@ -60,6 +60,7 @@ export declare class IgxSelectComponent extends IgxDropDownComponent implements
60
60
  children: QueryList<IgxSelectItemComponent>;
61
61
  protected prefixes: QueryList<IgxPrefixDirective>;
62
62
  protected suffixes: QueryList<IgxSuffixDirective>;
63
+ protected internalSuffixes: QueryList<IgxSuffixDirective>;
63
64
  /** @hidden @internal */
64
65
  label: IgxLabelDirective;
65
66
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "igniteui-angular",
3
- "version": "19.2.11",
3
+ "version": "19.2.12",
4
4
  "description": "Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps",
5
5
  "author": "Infragistics",
6
6
  "license": "SEE LICENSE IN LICENSE",