igniteui-angular 17.2.0-rc.1 → 17.2.1

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 (44) hide show
  1. package/esm2022/lib/calendar/month-picker/month-picker.component.mjs +224 -6
  2. package/esm2022/lib/core/utils.mjs +3 -1
  3. package/esm2022/lib/directives/button/button-base.mjs +39 -2
  4. package/esm2022/lib/directives/button/button.directive.mjs +2 -1
  5. package/esm2022/lib/directives/toggle/toggle.directive.mjs +18 -6
  6. package/fesm2022/igniteui-angular.mjs +276 -8
  7. package/fesm2022/igniteui-angular.mjs.map +1 -1
  8. package/lib/calendar/month-picker/month-picker.component.d.ts +83 -2
  9. package/lib/core/styles/components/button/_button-component.scss +16 -0
  10. package/lib/core/styles/components/button/_button-theme.scss +203 -273
  11. package/lib/core/styles/components/button-group/_button-group-theme.scss +314 -85
  12. package/lib/core/styles/components/icon-button/_icon-button-theme.scss +27 -51
  13. package/lib/core/styles/components/overlay/_overlay-component.scss +4 -0
  14. package/lib/core/styles/components/overlay/_overlay-theme.scss +17 -1
  15. package/lib/core/utils.d.ts +2 -0
  16. package/lib/directives/button/button-base.d.ts +21 -0
  17. package/lib/directives/toggle/toggle.directive.d.ts +5 -3
  18. package/package.json +3 -3
  19. package/styles/igniteui-angular-dark.css +1 -1
  20. package/styles/igniteui-angular.css +1 -1
  21. package/styles/igniteui-bootstrap-dark.css +1 -1
  22. package/styles/igniteui-bootstrap-light.css +1 -1
  23. package/styles/igniteui-dark-green.css +1 -1
  24. package/styles/igniteui-fluent-dark-excel.css +1 -1
  25. package/styles/igniteui-fluent-dark-word.css +1 -1
  26. package/styles/igniteui-fluent-dark.css +1 -1
  27. package/styles/igniteui-fluent-light-excel.css +1 -1
  28. package/styles/igniteui-fluent-light-word.css +1 -1
  29. package/styles/igniteui-fluent-light.css +1 -1
  30. package/styles/igniteui-indigo-dark.css +1 -1
  31. package/styles/igniteui-indigo-light.css +1 -1
  32. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  33. package/styles/maps/igniteui-angular.css.map +1 -1
  34. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  35. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  36. package/styles/maps/igniteui-dark-green.css.map +1 -1
  37. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  38. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  39. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  40. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  41. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  42. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  43. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  44. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -15,6 +15,7 @@
15
15
 
16
16
  $background: null,
17
17
  $foreground: null,
18
+ $shadow-color: null,
18
19
 
19
20
  $hover-background: null,
20
21
  $hover-foreground: null,
@@ -94,6 +95,7 @@
94
95
  name: $name,
95
96
  background: $background,
96
97
  foreground: $foreground,
98
+ shadow-color: $shadow-color,
97
99
 
98
100
  hover-background: $hover-background,
99
101
  hover-foreground: $hover-foreground,
@@ -228,7 +230,6 @@
228
230
  color: var-get($flat-theme, 'hover-foreground');
229
231
  }
230
232
 
231
- &:focus,
232
233
  &:focus-visible {
233
234
  background: var-get($flat-theme, 'focus-background');
234
235
  color: var-get($flat-theme, 'focus-foreground');
@@ -238,15 +239,18 @@
238
239
  background: var-get($flat-theme, 'focus-hover-background');
239
240
  color: var-get($flat-theme, 'focus-hover-foreground');
240
241
  }
241
- }
242
242
 
243
- @if ($variant == 'indigo-design') {
244
- border: none;
243
+ @if ($variant == 'bootstrap') {
244
+ box-shadow: 0 0 0 rem(4px) var-get($flat-theme, 'shadow-color');
245
+ }
246
+
247
+ @if ($variant == 'indigo-design') {
248
+ border-color: var-get($flat-theme, 'border-color');
249
+ box-shadow: 0 0 0 rem(3px) var-get($flat-theme, 'focus-border-color');
250
+ }
245
251
  }
246
252
 
247
253
  @if ($variant == 'fluent') {
248
- border: none;
249
-
250
254
  &:focus-visible::after {
251
255
  box-shadow: 0 0 0 rem(1px) var-get($flat-theme, 'focus-border-color');
252
256
  }
@@ -256,19 +260,6 @@
256
260
  background: var-get($flat-theme, 'active-background');
257
261
  color: var-get($flat-theme, 'active-foreground');
258
262
  }
259
-
260
- &:focus,
261
- &:focus-visible,
262
- &:active {
263
- @if ($variant == 'bootstrap') {
264
- box-shadow: 0 0 0 rem(4px) var-get($flat-theme, 'focus-border-color');
265
- }
266
-
267
- @if ($variant == 'indigo-design') {
268
- border-color: var-get($flat-theme, 'border-color');
269
- box-shadow: 0 0 0 rem(3px) var-get($flat-theme, 'focus-border-color');
270
- }
271
- }
272
263
  }
273
264
 
274
265
  %igx-icon-button--contained {
@@ -289,7 +280,6 @@
289
280
  color: var-get($contained-theme, 'hover-foreground');
290
281
  }
291
282
 
292
- &:focus,
293
283
  &:focus-visible {
294
284
  background: var-get($contained-theme, 'focus-background');
295
285
  color: var-get($contained-theme, 'focus-foreground');
@@ -298,6 +288,14 @@
298
288
  border-color: var-get($contained-theme, 'focus-border-color');
299
289
  }
300
290
 
291
+ @if ($variant == 'bootstrap') {
292
+ box-shadow: 0 0 0 rem(4px) var-get($contained-theme, 'shadow-color');
293
+ }
294
+
295
+ @if ($variant == 'indigo-design') {
296
+ box-shadow: 0 0 0 rem(3px) var-get($contained-theme, 'focus-border-color');
297
+ }
298
+
301
299
  &:hover {
302
300
  background: var-get($contained-theme, 'focus-hover-background');
303
301
  color: var-get($contained-theme, 'focus-hover-foreground');
@@ -314,18 +312,6 @@
314
312
  background: var-get($contained-theme, 'active-background');
315
313
  color: var-get($contained-theme, 'active-foreground');
316
314
  }
317
-
318
- &:focus,
319
- &:focus-visible,
320
- &:active {
321
- @if ($variant == 'bootstrap') {
322
- box-shadow: 0 0 0 rem(4px) var-get($contained-theme, 'focus-border-color');
323
- }
324
-
325
- @if ($variant == 'indigo-design') {
326
- box-shadow: 0 0 0 rem(3px) var-get($contained-theme, 'focus-border-color');
327
- }
328
- }
329
315
  }
330
316
 
331
317
  %igx-icon-button--outlined {
@@ -352,17 +338,11 @@
352
338
  }
353
339
  }
354
340
 
355
- @if ($variant == 'bootstrap') {
356
- border: none;
357
- box-shadow: 0 0 0 rem(1px) var-get($outlined-theme, 'border-color');
358
- }
359
-
360
341
  &:hover {
361
342
  background: var-get($outlined-theme, 'hover-background');
362
343
  color: var-get($outlined-theme, 'hover-foreground');
363
344
  }
364
345
 
365
- &:focus,
366
346
  &:focus-visible {
367
347
  background: var-get($outlined-theme, 'focus-background');
368
348
  color: var-get($outlined-theme, 'focus-foreground');
@@ -372,6 +352,15 @@
372
352
  background: var-get($contained-theme, 'focus-hover-background');
373
353
  color: var-get($contained-theme, 'focus-hover-foreground');
374
354
  }
355
+
356
+ @if ($variant == 'bootstrap') {
357
+ box-shadow: 0 0 0 rem(4px) var-get($outlined-theme, 'shadow-color');
358
+ }
359
+
360
+ @if ($variant == 'indigo-design') {
361
+ border-color: var-get($outlined-theme, 'border-color');
362
+ box-shadow: 0 0 0 rem(3px) var-get($outlined-theme, 'focus-border-color');
363
+ }
375
364
  }
376
365
 
377
366
  @if ($variant == 'fluent') {
@@ -393,19 +382,6 @@
393
382
  background: var-get($outlined-theme, 'active-background');
394
383
  color: var-get($outlined-theme, 'active-foreground');
395
384
  }
396
-
397
- &:focus,
398
- &:focus-visible,
399
- &:active {
400
- @if ($variant == 'bootstrap') {
401
- box-shadow: 0 0 0 rem(4px) var-get($outlined-theme, 'focus-border-color');
402
- }
403
-
404
- @if ($variant == 'indigo-design') {
405
- border-color: var-get($outlined-theme, 'border-color');
406
- box-shadow: 0 0 0 rem(3px) var-get($outlined-theme, 'focus-border-color');
407
- }
408
- }
409
385
  }
410
386
 
411
387
  %igx-button--disabled {
@@ -56,5 +56,9 @@
56
56
  @include m(hidden) {
57
57
  @extend %igx-toggle--hidden !optional;
58
58
  }
59
+
60
+ @include m(hidden-webkit) {
61
+ @extend %igx-toggle--hidden-webkit !optional;
62
+ }
59
63
  }
60
64
  }
@@ -94,7 +94,23 @@
94
94
  position: relative;
95
95
  }
96
96
 
97
- %igx-toggle--hidden {
97
+ %igx-toggle--hidden:not(%igx-toggle--hidden-webkit) {
98
98
  display: none !important;
99
99
  }
100
+
101
+ %igx-toggle--hidden-webkit {
102
+ // WARN: This is a workaround around a bug in Safari.
103
+ position: absolute;
104
+ visibility: hidden;
105
+ top: 0;
106
+ left: 0;
107
+ margin: -1px;
108
+ border: none;
109
+ clip: rect(0, 0, 0, 0);
110
+ outline: 0;
111
+ pointer-events: none;
112
+ overflow: hidden;
113
+ appearance: none;
114
+ z-index: -1;
115
+ }
100
116
  }
@@ -124,9 +124,11 @@ export declare class PlatformUtil {
124
124
  private platformId;
125
125
  isBrowser: boolean;
126
126
  isIOS: boolean;
127
+ isSafari: boolean;
127
128
  isFirefox: boolean;
128
129
  isEdge: boolean;
129
130
  isChromium: boolean;
131
+ browserVersion: number;
130
132
  KEYMAP: {
131
133
  ENTER: "Enter";
132
134
  SPACE: " ";
@@ -28,6 +28,22 @@ export declare abstract class IgxButtonBaseDirective extends DisplayDensityBase
28
28
  * @internal
29
29
  */
30
30
  onClick(ev: MouseEvent): void;
31
+ /**
32
+ * @hidden
33
+ * @internal
34
+ */
35
+ protected onBlur(): void;
36
+ /**
37
+ * Sets/gets whether the button component is on focus.
38
+ * Default value is `false`.
39
+ * ```typescript
40
+ * this.button.focus = true;
41
+ * ```
42
+ * ```typescript
43
+ * let isFocused = this.button.focused;
44
+ * ```
45
+ */
46
+ protected focused: boolean;
31
47
  /**
32
48
  * Enables/disables the button.
33
49
  *
@@ -43,6 +59,11 @@ export declare abstract class IgxButtonBaseDirective extends DisplayDensityBase
43
59
  */
44
60
  get disabledAttribute(): true;
45
61
  constructor(element: ElementRef, _displayDensityOptions: IDisplayDensityOptions);
62
+ /**
63
+ * @hidden
64
+ * @internal
65
+ */
66
+ protected updateOnKeyUp(event: KeyboardEvent): void;
46
67
  /**
47
68
  * Returns the underlying DOM element.
48
69
  */
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
- import { CancelableBrowserEventArgs, IBaseEventArgs } from '../../core/utils';
2
+ import { CancelableBrowserEventArgs, IBaseEventArgs, PlatformUtil } from '../../core/utils';
3
3
  import { IgxNavigationService, IToggleView } from '../../core/navigation';
4
4
  import { IgxOverlayService } from '../../services/overlay/overlay';
5
5
  import { OverlaySettings } from '../../services/overlay/utilities';
@@ -17,6 +17,7 @@ export declare class IgxToggleDirective implements IToggleView, OnInit, OnDestro
17
17
  private cdr;
18
18
  protected overlayService: IgxOverlayService;
19
19
  private navigationService;
20
+ private platform?;
20
21
  /**
21
22
  * Emits an event after the toggle container is opened.
22
23
  *
@@ -122,6 +123,7 @@ export declare class IgxToggleDirective implements IToggleView, OnInit, OnDestro
122
123
  * @hidden
123
124
  */
124
125
  get hiddenClass(): boolean;
126
+ get hiddenWebkitClass(): boolean;
125
127
  /**
126
128
  * @hidden
127
129
  */
@@ -137,7 +139,7 @@ export declare class IgxToggleDirective implements IToggleView, OnInit, OnDestro
137
139
  /**
138
140
  * @hidden
139
141
  */
140
- constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, overlayService: IgxOverlayService, navigationService: IgxNavigationService);
142
+ constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, overlayService: IgxOverlayService, navigationService: IgxNavigationService, platform?: PlatformUtil);
141
143
  /**
142
144
  * Opens the toggle.
143
145
  *
@@ -194,7 +196,7 @@ export declare class IgxToggleDirective implements IToggleView, OnInit, OnDestro
194
196
  private subscribe;
195
197
  private unsubscribe;
196
198
  private clearSubscription;
197
- static ɵfac: i0.ɵɵFactoryDeclaration<IgxToggleDirective, [null, null, null, { optional: true; }]>;
199
+ static ɵfac: i0.ɵɵFactoryDeclaration<IgxToggleDirective, [null, null, null, { optional: true; }, { optional: true; }]>;
198
200
  static ɵdir: i0.ɵɵDirectiveDeclaration<IgxToggleDirective, "[igxToggle]", ["toggle"], { "id": { "alias": "id"; "required": false; }; }, { "opened": "opened"; "opening": "opening"; "closed": "closed"; "closing": "closing"; "appended": "appended"; }, never, never, true, never>;
199
201
  }
200
202
  export declare class IgxToggleActionDirective implements OnInit {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "igniteui-angular",
3
- "version": "17.2.0-rc.1",
3
+ "version": "17.2.1",
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",
@@ -74,7 +74,7 @@
74
74
  "igniteui-trial-watermark": "^3.0.2",
75
75
  "lodash-es": "^4.17.21",
76
76
  "uuid": "^9.0.0",
77
- "igniteui-theming": "^6.1.0",
77
+ "igniteui-theming": "^6.2.0",
78
78
  "@igniteui/material-icons-extended": "^3.0.0"
79
79
  },
80
80
  "peerDependencies": {
@@ -94,7 +94,7 @@
94
94
  }
95
95
  },
96
96
  "igxDevDependencies": {
97
- "@igniteui/angular-schematics": "~17.2.1320-rc.0"
97
+ "@igniteui/angular-schematics": "~17.2.1320"
98
98
  },
99
99
  "ng-update": {
100
100
  "migrations": "./migrations/migration-collection.json",