Skip to content

Commit 56e856b

Browse files
committed
Merge master into skrastev/localization
2 parents 0721fe9 + b781018 commit 56e856b

38 files changed

+2196
-290
lines changed

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
All notable changes for each version of this project will be documented in this file.
44

5+
56
## 20.1.0
67
### New Features
78
- `IgxCarousel`
@@ -10,9 +11,32 @@ All notable changes for each version of this project will be documented in this
1011
this.carousel.select(2, Direction.NEXT);
1112
```
1213

14+
- `IgxDateRangePicker`
15+
- Added new properties:
16+
- `usePredefinedRanges` - Whether to render built-in predefined ranges
17+
- `customRanges` - Allows the user to provide custom ranges rendered as chips
18+
- `resourceStrings` - Allows the user to provide set of resource strings
19+
20+
- `IgxPredefinedRangesAreaComponent`
21+
- Added new component for rendering the predefined or custom ranges inside the calendar of the `IgxDateRangePicker`
22+
23+
- `IgxOverlay`
24+
- Position Settings now accept a new optional `offset` input property of type `number`. Used to set the offset of the element from the target in pixels.
25+
26+
- `IgxTooltip`
27+
- The tooltip now remains open while interacting with it.
28+
- `IgxTooltipTarget`
29+
- Introduced several new properties to enhance customization of tooltip content and behavior. Those include `positionSettings`, `hasArrow`, `sticky`, `closeButtonTemplate`. For detailed usage and examples, please refer to the Tooltip [README](https://github.com/IgniteUI/igniteui-angular/blob/master/projects/igniteui-angular/src/lib/directives/tooltip/README.md).
30+
31+
1332
### General
1433
- `IgxDropDown` now exposes a `role` input property, allowing users to customize the role attribute based on the use case. The default is `listbox`.
1534

35+
- `IgxTooltipTarget`
36+
- **Behavioral Changes**
37+
- The `showDelay` input property now defaults to `200`.
38+
- The `hideDelay` input property now defaults to `300`.
39+
- The `showTooltip` and `hideTooltip` methods do not take `showDelay`/`hideDelay` into account.
1640

1741
## 20.0.6
1842
### General

projects/igniteui-angular/src/lib/core/i18n/date-range-picker-resources.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ import { convertToIgxResource } from './resources';
44
export interface IDateRangePickerResourceStrings {
55
igx_date_range_picker_date_separator?: string;
66
igx_date_range_picker_done_button?: string;
7+
igx_date_range_picker_last7Days?: string;
8+
igx_date_range_picker_currentMonth?: string;
9+
igx_date_range_picker_last30Days?: string;
10+
igx_date_range_picker_yearToDate?: string;
711
}
812

913
export const DateRangePickerResourceStringsEN: IDateRangePickerResourceStrings = convertToIgxResource(ADateRangePickerResourceStrings);

projects/igniteui-angular/src/lib/core/styles/components/tooltip/_tooltip-component.scss

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,22 @@
1010

1111
@extend %tooltip-display !optional;
1212

13+
@include m(top) {
14+
@extend %arrow--top !optional;
15+
}
16+
17+
@include m(bottom) {
18+
@extend %arrow--bottom !optional;
19+
}
20+
21+
@include m(left) {
22+
@extend %arrow--left !optional;
23+
}
24+
25+
@include m(right) {
26+
@extend %arrow--right !optional;
27+
}
28+
1329
@include m(hidden) {
1430
@extend %tooltip--hidden !optional;
1531
}

projects/igniteui-angular/src/lib/core/styles/components/tooltip/_tooltip-theme.scss

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,58 @@
88
@include css-vars($theme);
99
$variant: map.get($theme, '_meta', 'theme');
1010

11+
$transparent-border: rem(4px) solid transparent;
12+
$color-border: rem(4px) solid var-get($theme, 'background');
13+
1114
%tooltip-display {
12-
display: inline-flex;
13-
justify-content: center;
14-
flex-flow: column wrap;
15+
display: flex;
16+
align-items: flex-start;
17+
text-align: start;
1518
background: var-get($theme, 'background');
1619
color: var-get($theme, 'text-color');
1720
border-radius: var-get($theme, 'border-radius');
1821
box-shadow: map.get($theme, 'shadow');
19-
margin: 0 auto;
20-
padding: 0 rem(8px);
22+
padding: rem(4px) rem(8px);
23+
gap: rem(8px);
2124
min-height: rem(24px);
25+
min-width: rem(24px);
26+
max-width: 200px;
27+
width: fit-content;
28+
29+
igx-icon {
30+
--component-size: 1;
31+
}
2232

23-
@if $variant == 'indigo' {
24-
padding: rem(4px) rem(8px);
33+
igx-tooltip-close-button {
34+
display: flex;
35+
cursor: default;
2536
}
2637
}
2738

39+
%arrow--top {
40+
border-left: $transparent-border;
41+
border-right: $transparent-border;
42+
border-top: $color-border;
43+
}
44+
45+
%arrow--bottom {
46+
border-left: $transparent-border;
47+
border-right: $transparent-border;
48+
border-bottom: $color-border;
49+
}
50+
51+
%arrow--left {
52+
border-top: $transparent-border;
53+
border-bottom: $transparent-border;
54+
border-left: $color-border;
55+
}
56+
57+
%arrow--right {
58+
border-top: $transparent-border;
59+
border-bottom: $transparent-border;
60+
border-right: $color-border;
61+
}
62+
2863
%tooltip--hidden {
2964
display: none;
3065
}
@@ -45,6 +80,7 @@
4580
}
4681
} @else {
4782
%tooltip-display {
83+
line-height: rem(16px);
4884
font-size: rem(10px);
4985
font-weight: 600;
5086
}

projects/igniteui-angular/src/lib/date-common/calendar-container/calendar-container.component.html

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,15 @@
2828
</ng-template>
2929

3030
<igx-calendar></igx-calendar>
31+
32+
@if( usePredefinedRanges || (customRanges?.length || 0) > 0 ){
33+
<igx-predefined-ranges-area
34+
[usePredefinedRanges]="usePredefinedRanges"
35+
[customRanges]="customRanges"
36+
[resourceStrings]="resourceStrings"
37+
(rangeSelect)="rangeSelected.emit($event)">
38+
</igx-predefined-ranges-area>
39+
}
3140
@if (pickerActions?.template || (closeButtonLabel || todayButtonLabel)) {
3241
<igx-divider></igx-divider>
3342
}

projects/igniteui-angular/src/lib/date-common/calendar-container/calendar-container.component.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ import { IgxRippleDirective } from '../../directives/ripple/ripple.directive';
1313
import { IgxPickerActionsDirective } from '../picker-icons.common';
1414
import { IgxCalendarComponent } from '../../calendar/calendar.component';
1515
import { IgxDividerDirective } from "../../directives/divider/divider.directive";
16+
import { CustomDateRange, DateRange } from '../../date-range-picker/date-range-picker-inputs.common';
17+
import { IDateRangePickerResourceStrings } from '../../core/i18n/date-range-picker-resources';
18+
import { IgxPredefinedRangesAreaComponent } from '../../date-range-picker/predefined-ranges/predefined-ranges-area.component';
1619

1720
/** @hidden */
1821
@Component({
@@ -25,6 +28,7 @@ import { IgxDividerDirective } from "../../directives/divider/divider.directive"
2528
IgxCalendarComponent,
2629
NgTemplateOutlet,
2730
IgxDividerDirective,
31+
IgxPredefinedRangesAreaComponent
2832
]
2933
})
3034
export class IgxCalendarContainerComponent {
@@ -37,6 +41,10 @@ export class IgxCalendarContainerComponent {
3741
@Output()
3842
public todaySelection = new EventEmitter<IBaseEventArgs>();
3943

44+
@Output()
45+
public rangeSelected = new EventEmitter<DateRange>();
46+
47+
4048
@HostBinding('class.igx-date-picker')
4149
public styleClass = 'igx-date-picker';
4250

@@ -45,6 +53,9 @@ export class IgxCalendarContainerComponent {
4553
return this.mode === PickerInteractionMode.DropDown;
4654
}
4755

56+
public usePredefinedRanges = false;
57+
public customRanges: CustomDateRange[] = [];
58+
public resourceStrings!: IDateRangePickerResourceStrings;
4859
public vertical = false;
4960
public closeButtonLabel: string;
5061
public todayButtonLabel: string;

projects/igniteui-angular/src/lib/date-range-picker/date-range-picker-inputs.common.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@ export interface DateRange {
1717
start: Date | string;
1818
end: Date | string;
1919
}
20+
/** Represents a range between two dates and a label used for predefined and custom date ranges. */
21+
export interface CustomDateRange {
22+
label: string;
23+
dateRange: DateRange;
24+
}
2025

2126
/** @hidden @internal */
2227
@Pipe({

projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
</ng-template>
1717

1818
<ng-template #defIcon>
19-
<igx-icon family="default" name="date_range" [attr.aria-hidden]="true"></igx-icon>
19+
<igx-icon family="default" name="date_range"></igx-icon>
2020
</ng-template>
2121

2222
<ng-template #defDateSeparatorTemplate>{{ dateSeparator }}</ng-template>

0 commit comments

Comments
 (0)