Skip to content

Commit 2e78c1f

Browse files
authored
Merge branch '15.1.x' into ibarakov/fix-12787
2 parents e2b382d + 74458cd commit 2e78c1f

File tree

52 files changed

+568
-248
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+568
-248
lines changed

gulpfile.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,8 +188,6 @@ function typedocBuildExportFn(cb) {
188188
TYPEDOC.PROJECT_PATH,
189189
"--generate-json",
190190
TYPEDOC.EXPORT_JSON_PATH,
191-
"--tags",
192-
"--params",
193191
"--tsconfig",
194192
path.join(__dirname, "tsconfig.typedoc.json")],
195193
{ stdio: 'inherit', shell: true });

package-lock.json

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,8 @@
130130
"stylelint": "^15.1.0",
131131
"stylelint-scss": "^4.1.0",
132132
"ts-node": "^10.8.1",
133-
"typedoc": "^0.23.24",
134-
"typedoc-plugin-localization": "^2.4.0",
133+
"typedoc": "^0.23.21",
134+
"typedoc-plugin-localization": "^3.0.0",
135135
"typescript": "4.9.5"
136136
}
137137
}

projects/igniteui-angular/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@
8686
"@angular/forms": "^15.0.0"
8787
},
8888
"igxDevDependencies": {
89-
"@igniteui/angular-schematics": "~15.0.1100"
89+
"@igniteui/angular-schematics": "~15.1.1110-rc.0"
9090
},
9191
"ng-update": {
9292
"migrations": "./migrations/migration-collection.json"

projects/igniteui-angular/src/lib/combo/combo-add-item.component.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@ export class IgxComboAddItemComponent extends IgxComboItemComponent {
1616
public set selected(value: boolean) {
1717
}
1818

19-
/**
20-
* @inheritDoc
21-
*/
2219
public clicked(event?) {// eslint-disable-line
2320
this.comboAPI.disableTransitions = false;
2421
this.comboAPI.add_custom_item();

projects/igniteui-angular/src/lib/combo/combo-item.component.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,6 @@ export class IgxComboItemComponent extends IgxDropDownItemComponent {
101101
return rect.y >= parentDiv.y;
102102
}
103103

104-
/**
105-
* @inheritDoc
106-
*/
107104
public clicked(event): void {
108105
this.comboAPI.disableTransitions = false;
109106
if (!this.isSelectable) {

projects/igniteui-angular/src/lib/core/styles/components/input/_input-group-theme.scss

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -369,9 +369,9 @@
369369
align-items: center;
370370

371371
igx-icon {
372+
width: sizable(rem(18px), rem(20px), rem(24px)) ;
373+
height: sizable(rem(18px), rem(20px), rem(24px)) ;
372374
font-size: sizable(rem(18px), rem(20px), rem(24px)) !important;
373-
width: auto;
374-
height: auto;
375375
}
376376

377377
@if $indigo-theme {
@@ -393,8 +393,8 @@
393393

394394
igx-icon[igxPrefix],
395395
igx-icon[igxSuffix] {
396-
width: auto;
397-
height: auto;
396+
width: sizable(rem(18px), rem(20px), rem(24px)) ;
397+
height: sizable(rem(18px), rem(20px), rem(24px)) ;
398398
font-size: sizable(rem(18px), rem(20px), rem(24px)) !important;
399399
}
400400
}
@@ -637,6 +637,7 @@
637637
width: auto;
638638
min-width: 0;
639639
height: 100%;
640+
position: relative;
640641

641642
grid-area: 1 / 2;
642643
}
@@ -653,10 +654,6 @@
653654
grid-area: 1 / 4;
654655
}
655656

656-
%form-group-bundle--box,
657-
%form-group-bundle--border {
658-
grid-template-columns: auto auto 1fr auto;
659-
}
660657

661658
%form-group-bundle-start,
662659
%form-group-bundle-end {
@@ -677,8 +674,7 @@
677674
}
678675

679676
%form-group-bundle--border {
680-
--size: #{sizable(rem(40px), rem(48px), rem(56px))};
681-
677+
grid-template-columns: auto auto 1fr auto;
682678
display: grid;
683679
align-items: initial;
684680
padding: 0;
@@ -787,7 +783,6 @@
787783
padding-block: 0;
788784
border: none;
789785
outline-style: none;
790-
color: inherit;
791786
z-index: 1;
792787
}
793788

@@ -873,7 +868,7 @@
873868
position: absolute;
874869
max-width: 100%;
875870
padding-inline-end: rem(4px);
876-
line-height: 1;
871+
line-height: normal;
877872
backface-visibility: hidden;
878873
will-change: transform;
879874
transform-origin: top left;
@@ -905,7 +900,7 @@
905900
}
906901

907902
%form-group-label--float {
908-
--floating-label-position: -106%;
903+
--floating-label-position: -73%;
909904
transform: translateY(var(--floating-label-position));
910905
font-size: rem(12px);
911906
}
@@ -1584,10 +1579,9 @@
15841579

15851580
// Label
15861581
%fluent-label {
1587-
display: inline-flex;
1582+
display: block;
15881583
font-size: rem(14px);
15891584
font-weight: 600;
1590-
line-height: 1 !important;
15911585
position: static;
15921586
transform: translateY(0);
15931587
transform-origin: top left;

projects/igniteui-angular/src/lib/core/styles/components/paginator/_paginator-theme.scss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@
117117

118118
%igx-page-size__select {
119119
display: flex;
120-
max-width: rem(90px);
121-
min-width: rem(80px);
120+
max-width: rem(114px);
121+
min-width: rem(100px);
122122
}
123123

124124
%igx-page-nav {

projects/igniteui-angular/src/lib/core/styles/components/select/_select-theme.scss

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,6 @@
7474
}
7575
}
7676

77-
@if $variant == 'material' {
78-
.igx-input-group--focused %igx-select__toggle-button {
79-
background: var-get($theme, 'toggle-button-background-focus');
80-
color: var-get($theme, 'toggle-button-foreground-focus');
81-
}
82-
}
83-
8477
@if $variant == 'bootstrap' {
8578
.igx-input-group--disabled {
8679
%igx-select__toggle-button {
@@ -104,6 +97,14 @@
10497
}
10598
}
10699

100+
@if $variant == 'material' {
101+
.igx-input-group--focused %igx-select__toggle-button {
102+
background: var-get($theme, 'toggle-button-background-focus');
103+
color: var-get($theme, 'toggle-button-foreground-focus');
104+
}
105+
}
106+
107+
107108
.igx-input-group--disabled {
108109
%igx-select__toggle-button {
109110
background: var-get($theme, 'toggle-button-background-disabled');

projects/igniteui-angular/src/lib/directives/radio/radio-group.directive.ts

Lines changed: 57 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {
22
AfterContentInit,
33
AfterViewInit,
4-
ContentChildren, Directive, EventEmitter, HostBinding, HostListener, Input, NgModule, OnDestroy, Optional, Output, QueryList, Self
4+
ContentChildren, Directive, DoCheck, EventEmitter, HostBinding, HostListener, Input, NgModule, OnDestroy, Optional, Output, QueryList, Self
55
} from '@angular/core';
66
import { ControlValueAccessor, NgControl, Validators } from '@angular/forms';
77
import { fromEvent, noop, Subject } from 'rxjs';
@@ -49,7 +49,7 @@ let nextId = 0;
4949
exportAs: 'igxRadioGroup',
5050
selector: 'igx-radio-group, [igxRadioGroup]'
5151
})
52-
export class IgxRadioGroupDirective implements AfterContentInit, AfterViewInit, ControlValueAccessor, OnDestroy {
52+
export class IgxRadioGroupDirective implements AfterContentInit, AfterViewInit, ControlValueAccessor, OnDestroy, DoCheck {
5353
private static ngAcceptInputType_required: boolean | '';
5454
private static ngAcceptInputType_invalid: boolean | '';
5555
/**
@@ -204,10 +204,10 @@ export class IgxRadioGroupDirective implements AfterContentInit, AfterViewInit,
204204
@HostListener('keydown', ['$event'])
205205
protected handleKeyDown(event: KeyboardEvent) {
206206
const { key } = event;
207+
const buttons = this.radioButtons.filter(radio => !radio.disabled);
208+
const checked = buttons.find((radio) => radio.checked);
207209

208210
if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) {
209-
const buttons = this.radioButtons.filter(radio => !radio.disabled);
210-
const checked = buttons.find((radio) => radio.checked);
211211
let index = checked ? buttons.indexOf(checked!) : -1;
212212
const ltr = this._directionality.value === 'ltr';
213213

@@ -238,6 +238,14 @@ export class IgxRadioGroupDirective implements AfterContentInit, AfterViewInit,
238238
buttons[index].select();
239239
event.preventDefault();
240240
}
241+
242+
if (event.key === "Tab") {
243+
buttons.forEach((radio) => {
244+
if (radio !== checked) {
245+
event.stopPropagation();
246+
}
247+
});
248+
}
241249
}
242250

243251
/**
@@ -352,6 +360,12 @@ export class IgxRadioGroupDirective implements AfterContentInit, AfterViewInit,
352360
.subscribe(() => {
353361
this.updateValidityOnBlur()
354362
});
363+
364+
fromEvent(button.nativeElement, 'keyup')
365+
.pipe(takeUntil(this.destroy$))
366+
.subscribe((event: KeyboardEvent) => {
367+
this.updateOnKeyUp(event)
368+
});
355369
});
356370
}
357371
}
@@ -371,6 +385,45 @@ export class IgxRadioGroupDirective implements AfterContentInit, AfterViewInit,
371385
}
372386
}
373387

388+
/**
389+
* @hidden
390+
* @internal
391+
*/
392+
private updateOnKeyUp(event: KeyboardEvent) {
393+
const checked = this.radioButtons.find(x => x.checked);
394+
395+
if (event.key === "Tab") {
396+
this.radioButtons.forEach((radio) => {
397+
if (radio === checked) {
398+
checked.focused = true;
399+
}
400+
});
401+
}
402+
}
403+
404+
public ngDoCheck(): void {
405+
this._updateTabIndex();
406+
}
407+
408+
private _updateTabIndex() {
409+
// Needed so that the keyboard navigation of a radio group
410+
// placed inside a dialog works properly
411+
if (this.radioButtons) {
412+
const checked = this.radioButtons.find(x => x.checked);
413+
414+
if (checked) {
415+
this.radioButtons.forEach((button) => {
416+
checked.nativeElement.tabIndex = 0;
417+
418+
if (button !== checked) {
419+
button.nativeElement.tabIndex = -1;
420+
button.focused = false;
421+
}
422+
});
423+
}
424+
}
425+
}
426+
374427
/**
375428
* Sets the "checked" property value on the radio input element.
376429
*

0 commit comments

Comments
 (0)