Skip to content

Commit e479046

Browse files
authored
Merge branch '9.1.x' into ddimitrov/exportersPerf
2 parents eadde2a + dabdc72 commit e479046

File tree

128 files changed

+5592
-1559
lines changed

Some content is hidden

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

128 files changed

+5592
-1559
lines changed

.hooks/scripts/templates/default.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ var defaults = {
1111
otherLine: 80,
1212
},
1313
issuePattern: '(#)[0-9]+',
14-
typesWithMandatoryIssue: [ 'feat', 'fix', 'test' ],
14+
typesWithMandatoryIssue: [],
1515
guidelinesUrl: 'https://bit.ly/angular-guidelines',
1616
types: [
1717
'feat', 'fix', 'docs', 'style', 'refactor', 'perf', 'test', 'chore', 'build', 'ci', 'revert'
@@ -20,4 +20,4 @@ var defaults = {
2020
oldMessagePath: path.join('.git', 'COMMIT_EDITMSG_OLD')
2121
}
2222

23-
module.exports = defaults;
23+
module.exports = defaults;

.hooks/scripts/utils/issue-validator.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ var matchType = require('../common').matchType,
66
module.exports = (lines, options, errors) => {
77
var ticket = new RegExp(options.issuePattern);
88
var whetherIssueIsMandatory = false,
9-
wheterMatchAnyIssueRef = false;
9+
wheterMatchAnyIssueRef = false;
10+
1011

11-
1212
if (matchType(options.typesWithMandatoryIssue, lines[0])) {
1313
whetherIssueIsMandatory = true;
1414
}
@@ -27,7 +27,7 @@ module.exports = (lines, options, errors) => {
2727

2828
if (whetherIssueIsMandatory && !wheterMatchAnyIssueRef) {
2929
errors.push(errorFactory(
30-
`The issue reference for (${options.typesWithMandatoryIssue.join(', ')}) types is mandatory!\n`,
30+
`The issue reference for (${options.typesWithMandatoryIssue.join(', ')}) types is mandatory!\n`,
3131
"Please add at least one related issue. E.g: Closes #31, Closes #45"));
3232
}
33-
}
33+
}

CHANGELOG.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,18 @@
22

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

5+
## 9.1.4
6+
7+
### New Features
8+
- `IgxList`
9+
- Added localization support.
10+
511
## 9.1.1
612

713
### General
814
- `IgxHierarchicalGrid`
915
- `onGridInitialized` - New output has been exposed. Emitted after a grid is being initialized for the corresponding row island.
10-
16+
- **Behavioral Change** - When moving a column `DropPosition.None` is now acting like `DropPosition.AfterDropTarget`.
1117
## 9.1.0
1218

1319
### General
@@ -169,7 +175,6 @@ All notable changes for each version of this project will be documented in this
169175
- Added support for tabIndex attribute applied to the main chip element.
170176
- Added `tabIndex` input so it can support change detection as well.
171177

172-
173178
- `IgxHighlightDirective`
174179
- New `metadata` property was introduced, which allows adding additional, custom logic to the activation condition of a highlighted element.
175180

ROADMAP.md

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,22 @@
22

33
# Current Milestone
44

5-
## Milestone 11 (Due by April 30th, 2020)
5+
## Milestone 12 (Due by August, 2020)
6+
7+
1. Accept ISO 8601 Date-only string as input for igx-calendar and igx-datepicker [#6994](https://github.com/IgniteUI/igniteui-angular/issues/6994)
8+
2. igxCombo has to include caseSensitive property in filter search [#7282](https://github.com/IgniteUI/igniteui-angular/issues/7282)
9+
3. igxCombo default positioning strategy [#7225](https://github.com/IgniteUI/igniteui-angular/issues/7225)
10+
To Be Updated
11+
12+
13+
## Going down the road
14+
15+
1. Tile Manager
16+
2. Visual Cell merging
17+
3. RTL Support across Ignite UI for Angular components
18+
# Previous Milestones
19+
20+
## Milestone 11 (Released June 2nd, 2020)
621

722
1. Dock Manger [#5980](https://github.com/IgniteUI/igniteui-angular/issues/5980)
823
2. Range Date Picker [#5732](https://github.com/IgniteUI/igniteui-angular/issues/5732)
@@ -14,14 +29,9 @@
1429
8. Data Analysis Directive [#1752](https://github.com/IgniteUI/igniteui-angular-samples/issues/1752)
1530
9. Slider does not support RTL [#5212](https://github.com/igniteui/igniteui-angular/issues/5212)
1631
10. Circular Progress Indicator does not support RTL [#5903](https://github.com/igniteui/igniteui-angular/issues/5903)
17-
18-
19-
## Going down the road
20-
21-
1. Tile Manager
22-
2. Visual Cell merging
23-
3. RTL Support across Ignite UI for Angular components
24-
# Previous Milestones
32+
11. Action Strip [#6941](https://github.com/IgniteUI/igniteui-angular/issues/6941)
33+
12. Theme igx-component scrollbars [#6675](https://github.com/IgniteUI/igniteui-angular/issues/6675)
34+
13. Use CSS variables by default [#6803](https://github.com/IgniteUI/igniteui-angular/issues/6675)
2535

2636
## Milestone 10 (Released February 10th, 2020)
2737

projects/igniteui-angular/src/lib/calendar/calendar-base.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,7 @@ export class IgxCalendarBaseDirective implements ControlValueAccessor {
379379
const result = [];
380380
start = this.getDateOnly(start);
381381
end = this.getDateOnly(end);
382-
while (start.getTime() !== end.getTime()) {
382+
while (start.getTime() < end.getTime()) {
383383
start = this.calendarModel.timedelta(start, 'day', 1);
384384
result.push(start);
385385
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export interface IListResourceStrings {
2+
igx_list_no_items?: string;
3+
igx_list_loading?: string;
4+
}
5+
6+
export const ListResourceStringsEN: IListResourceStrings = {
7+
igx_list_no_items: 'There are no items in the list.',
8+
igx_list_loading: 'Loading data from the server...'
9+
};

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { ITimePickerResourceStrings, TimePickerResourceStringsEN } from './time-
44
import { PaginatorResourceStringsEN } from './paginator-resources';
55
import { cloneValue } from '../utils';
66
import { ICarouselResourceStrings, CarouselResourceStringsEN } from './carousel-resources';
7+
import { ListResourceStringsEN } from './list-resources';
78

89
export interface IResourceStrings extends IGridResourceStrings, ITimePickerResourceStrings, ICarouselResourceStrings {}
910

@@ -16,6 +17,7 @@ export const CurrentResourceStrings = {
1617
TimePickerResStrings: cloneValue(TimePickerResourceStringsEN),
1718
DateRangePickerResStrings: cloneValue(DateRangePickerResourceStringsEN),
1819
CarouselResStrings: cloneValue(CarouselResourceStringsEN),
20+
ListResStrings: cloneValue(ListResourceStringsEN),
1921
};
2022

2123
function updateResourceStrings(currentStrings: IResourceStrings, newStrings: IResourceStrings ) {

projects/igniteui-angular/src/lib/core/styles/base/utilities/_functions.scss

Lines changed: 84 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,18 @@
3131
@return ($pixels / $context) * 1rem;
3232
}
3333

34+
/// Relative value(em/rem) to pixel.
35+
/// @access public
36+
/// @param {number|string} $num - The relative value to be converted.
37+
/// @param {number|string} $context [$browser-context] - The base context to convert against.
38+
@function px($num, $context: $browser-context) {
39+
@if type-of $num == 'number' {
40+
@return ($num / ($num * 0 + 1)) * 16px;
41+
}
42+
43+
@return $num;
44+
}
45+
3446
/// Calculates the luminance for a given color.
3547
/// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests.
3648
///
@@ -276,12 +288,12 @@
276288
/// @param {Color} $color - The base color used to generate the palette.
277289
/// @param {Map} $shades - A map of variations as keys and opacities as values.
278290
/// Based on the Material color system.
279-
/// @returns {Map} - A map consisting of 10 grayscale color variations and 10
291+
/// @returns {Map} - A map consisting of 10 color variations and 10
280292
/// text contrast colors for each variation.
281293
@function grayscale-palette($color, $shades) {
282294
$result: ();
283295
@each $saturation, $opacity in $shades {
284-
$shade: rgba(grayscale($color), $opacity);
296+
$shade: rgba($color, $opacity);
285297
$result: map-merge($result, ($saturation: $shade));
286298
}
287299
@return $result;
@@ -297,7 +309,7 @@
297309
/// @param {Color} $success [#4eb862] - The success color used throughout the application.
298310
/// @param {Color} $warn [#fbb13c] - The warning color used throughout the application.
299311
/// @param {Color} $error [#ff134a] - The error color used throughout the application.
300-
/// @param {Color} $grays [#000 | $igx-foreground-color] - The color used for generating the grayscale palette.
312+
/// @param {Color} $grays [#000 | $igx-foreground-color] - The color used for generating the grays palette.
301313
/// @param {Color} $surface [#fff] - The color used as a background in components, such as cards, sheets, and menus.
302314
/// @returns {Map} - A map consisting of 74 color variations, including the `primary`, `secondary`, `grays`,
303315
/// `info`, `success`, `warn`, and `error` colors.
@@ -403,17 +415,19 @@
403415
///
404416
@function resolve-value($ctx, $extra: null) {
405417
$result: null;
418+
406419
@each $fn, $args in $ctx {
407420
@if function-exists($fn) {
408421
@if $result == null and ($fn == 'igx-color' or $fn == 'igx-contrast-color') {
409422
$result: call(get-function($fn), $extra, $args...);
410423
} @else if $result != null {
411-
$result: call(get-function($fn), $result, $args...)
424+
$result: call(get-function($fn), $result, $args...);
412425
} @else {
413-
$result: call(get-function($fn), $args...)
426+
$result: call(get-function($fn), $args);
414427
}
415428
}
416429
}
430+
417431
@return $result;
418432
}
419433

@@ -423,6 +437,21 @@
423437
@return hsl(random(360), 100%, 50%);
424438
}
425439

440+
@function igx-generate-series-colors($palette) {
441+
@return (
442+
igx-color($palette, 'primary'),
443+
igx-color($palette, 'secondary'),
444+
rgb(249, 98, 50),
445+
rgb(60, 189, 201),
446+
rgb(220, 63, 118),
447+
rgb(255, 152, 0),
448+
rgb(78, 98, 207),
449+
rgb(84, 194, 90),
450+
rgb(121, 85, 72),
451+
rgb(154, 154, 154)
452+
);
453+
}
454+
426455
/// Applies an `igx-palette` to a given theme schema.
427456
/// @access private
428457
/// @param {Map} $schema - A theme schema.
@@ -448,6 +477,12 @@
448477
} @else {
449478
$result: extend($result, (#{$key}: $value));
450479
}
480+
481+
@if $value == 'series' {
482+
$result: extend($result, (
483+
#{$key}: #{igx-generate-series-colors($palette)}
484+
));
485+
}
451486
}
452487
@return $result;
453488
}
@@ -567,3 +602,47 @@
567602
@function if-rtl($if, $else: null) {
568603
@return if-ltr($else, $if);
569604
}
605+
606+
@function expand-shorthand($list) {
607+
$len: length($list);
608+
609+
$margins: (
610+
'margin-top': null,
611+
'margin-right': null,
612+
'margin-bottom': null,
613+
'margin-left': null,
614+
);
615+
616+
@for $i from 1 through 4 {
617+
$n: $i % $len;
618+
$n: if($n != 0, $n, $len);
619+
620+
@if $len == 3 and $i == 4 {
621+
$n: 2;
622+
}
623+
624+
$key: nth(map-keys($margins), $i);
625+
$value: nth($list, $n);
626+
627+
$margins: map-merge($margins, ($key: $value));
628+
}
629+
630+
@return $margins;
631+
}
632+
633+
@function map-keys-prefix($map, $prefix, $separator: '-') {
634+
$keys: map-keys($map);
635+
$len: length($keys);
636+
$result: ();
637+
638+
@for $i from 1 through $len {
639+
$key: nth($keys, $i);
640+
641+
$result: map-merge($result, (
642+
'#{$prefix}#{$separator}#{$key}': map-get($map, $key))
643+
);
644+
}
645+
646+
@return $result;
647+
}
648+

projects/igniteui-angular/src/lib/core/styles/base/utilities/_mixins.scss

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -238,12 +238,14 @@
238238
/// :root {
239239
/// @include css-vars-from-theme($my-theme);
240240
/// }
241-
@mixin css-vars-from-theme($theme) {
242-
$prefix: map-get($theme, 'name');
243-
241+
@mixin css-vars-from-theme($theme, $prefix: null) {
244242
@each $key, $value in $theme {
245243
@if $key != 'name' and $key != 'palette' and type-of($value) != 'map' {
246-
--#{$prefix}-#{$key}: #{$value};
244+
@if $prefix {
245+
--#{$prefix}-#{$key}: #{$value};
246+
} @else {
247+
--#{$key}: #{$value};
248+
}
247249
}
248250
}
249251
}
@@ -269,9 +271,10 @@
269271
/// @requires {mixin} css-vars-from-theme
270272
@mixin igx-css-vars($theme) {
271273
$scope: if(is-root(), ':root', '&');
274+
$prefix: map-get($theme, 'name');
272275

273276
#{$scope} {
274-
@include css-vars-from-theme($theme);
277+
@include css-vars-from-theme($theme, $prefix);
275278
}
276279
}
277280

0 commit comments

Comments
 (0)