igniteui-angular 20.2.0-alpha.2 → 20.2.0-alpha.4

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 (41) hide show
  1. package/README.md +3 -1
  2. package/fesm2022/igniteui-angular.mjs +135 -68
  3. package/fesm2022/igniteui-angular.mjs.map +1 -1
  4. package/index.d.ts +30 -11
  5. package/lib/core/styles/components/action-strip/_action-strip-theme.scss +0 -58
  6. package/lib/core/styles/components/carousel/_carousel-theme.scss +12 -11
  7. package/lib/core/styles/components/checkbox/_checkbox-theme.scss +4 -10
  8. package/lib/core/styles/components/combo/_combo-theme.scss +23 -1
  9. package/lib/core/styles/components/date-range-picker/_date-range-picker-theme.scss +9 -4
  10. package/lib/core/styles/components/grid/_pivot-data-selector-theme.scss +0 -25
  11. package/lib/core/styles/components/input/_file-input-theme.scss +0 -82
  12. package/lib/core/styles/components/input/_input-group-theme.scss +70 -70
  13. package/lib/core/styles/components/time-picker/_time-picker-theme.scss +15 -1
  14. package/lib/core/styles/typography/_bootstrap.scss +3 -1
  15. package/package.json +2 -2
  16. package/styles/igniteui-angular-dark.css +1 -1
  17. package/styles/igniteui-angular.css +1 -1
  18. package/styles/igniteui-bootstrap-dark.css +1 -1
  19. package/styles/igniteui-bootstrap-light.css +1 -1
  20. package/styles/igniteui-dark-green.css +1 -1
  21. package/styles/igniteui-fluent-dark-excel.css +1 -1
  22. package/styles/igniteui-fluent-dark-word.css +1 -1
  23. package/styles/igniteui-fluent-dark.css +1 -1
  24. package/styles/igniteui-fluent-light-excel.css +1 -1
  25. package/styles/igniteui-fluent-light-word.css +1 -1
  26. package/styles/igniteui-fluent-light.css +1 -1
  27. package/styles/igniteui-indigo-dark.css +1 -1
  28. package/styles/igniteui-indigo-light.css +1 -1
  29. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  30. package/styles/maps/igniteui-angular.css.map +1 -1
  31. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  32. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  33. package/styles/maps/igniteui-dark-green.css.map +1 -1
  34. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  35. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  36. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  37. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  38. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  39. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  40. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  41. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -16,28 +16,13 @@
16
16
  $indigo-theme: $variant == 'indigo';
17
17
  $fluent-theme: $variant == 'fluent';
18
18
  $bootstrap-theme: $variant == 'bootstrap';
19
- $NOT-material-theme: $variant != 'material';
20
- $NOT-indigo-theme: $variant != 'indigo';
21
- $NOT-fluent-theme: $variant != 'fluent';
22
- $NOT-bootstrap-theme: $variant != 'bootstrap';
23
19
 
24
20
  $required-symbol: '*';
25
21
  $required-symbol-margin: rem(2px);
26
22
 
27
- // This creates an inverse relationship
28
- // between the value of the base scale size and
29
- // the sizing of all inner elements.
30
- // i.e. the bigger the scale size,
31
- // the smaller the padding of the inner items.
32
- $base-scale-size: (
33
- 'comfortable': 16px,
34
- 'cosy': 19px,
35
- 'compact': 22px
36
- );
37
-
38
23
  $bootstrap-inline-padding: (
39
- 'comfortable': rem(16px),
40
- 'cosy': rem(12px),
24
+ 'comfortable': rem(14px),
25
+ 'cosy': rem(10px),
41
26
  'compact': rem(8px)
42
27
  );
43
28
 
@@ -50,12 +35,6 @@
50
35
  $input-top-padding: rem(20px);
51
36
  $input-bottom-padding: rem(6px);
52
37
 
53
- $bundle-padding-top: (
54
- 'comfortable': rem(18px, map.get($base-scale-size, 'comfortable')),
55
- 'cosy': rem(18px, map.get($base-scale-size, 'cosy')),
56
- 'compact': rem(18px, map.get($base-scale-size, 'compact')),
57
- );
58
-
59
38
  $hint-spacing-block: map.get((
60
39
  'material': rem(4px),
61
40
  'fluent': rem(5px),
@@ -64,7 +43,7 @@
64
43
  ), $variant);
65
44
 
66
45
  $hint-spacing-inline: map.get((
67
- 'material': sizable(rem(14px), rem(16px), rem(18px)),
46
+ 'material': sizable(rem(12px), rem(14px), rem(16px)),
68
47
  'fluent': 0,
69
48
  'bootstrap': 0,
70
49
  'indigo': 0,
@@ -77,6 +56,23 @@
77
56
  'indigo': rem(15px),
78
57
  ), $variant);
79
58
 
59
+ $material-box-top-padding: sizable(rem(16px), rem(20px), rem(24px));
60
+ $material-border-top-padding: sizable(rem(8px), rem(12px), rem(16px));
61
+
62
+ $textarea-top-padding: map.get((
63
+ 'material': rem(0px),
64
+ 'fluent': sizable(rem(6px), rem(10px), rem(14px)),
65
+ 'bootstrap': sizable(rem(4px), rem(8px), rem(12px)),
66
+ 'indigo': sizable(rem(4px), rem(6px), rem(8px)),
67
+ ), $variant);
68
+
69
+ $textarea-font: map.get((
70
+ 'material': 'var(--ig-subtitle-1-line-height)',
71
+ 'fluent': 'var(--ig-body-2-line-height)',
72
+ 'bootstrap': 'var(--ig-body-1-line-height)',
73
+ 'indigo': 'var(--ig-body-2-line-height)',
74
+ ), $variant);
75
+
80
76
  // Base Start
81
77
  %form-group-prefix--upload {
82
78
  padding: 0;
@@ -115,7 +111,7 @@
115
111
  } @else if $indigo-theme {
116
112
  padding-inline: pad-inline(rem(2px), rem(4px), rem(6px));
117
113
  } @else {
118
- padding-inline: pad-inline(rem(8px), rem(12px), rem(16px));
114
+ padding-inline: pad-inline(rem(8px), rem(10px), rem(14px));
119
115
  }
120
116
  }
121
117
  }
@@ -149,7 +145,7 @@
149
145
  @include sizable();
150
146
  --component-size: var(--ig-size, #{var-get($theme, 'default-size')});
151
147
  --input-size: var(--component-size);
152
- --input-icon: #{sizable(rem(14px), rem(16px), rem(18px))};
148
+ --input-icon: #{sizable(rem(14px), rem(16px), rem(16px))};
153
149
 
154
150
  position: relative;
155
151
  display: block;
@@ -869,7 +865,7 @@
869
865
 
870
866
  @if $variant == 'material' {
871
867
  overflow: hidden;
872
- min-width: pad(rem(10px), rem(12px), rem(14px));
868
+ min-width: pad(rem(8px), rem(10px), rem(12px));
873
869
  }
874
870
  }
875
871
 
@@ -1020,7 +1016,7 @@
1020
1016
  %form-group-display--search {
1021
1017
  %igx-input-group__notch--search,
1022
1018
  %form-group-bundle-main--search {
1023
- @if $variant != 'indigo' {
1019
+ @if $variant == 'material' {
1024
1020
  padding-inline: rem(4px);
1025
1021
  }
1026
1022
  }
@@ -1083,11 +1079,9 @@
1083
1079
  }
1084
1080
 
1085
1081
  %form-group-label {
1086
- padding-inline-end: rem(4px);
1087
1082
  backface-visibility: hidden;
1088
1083
  will-change: transform;
1089
1084
  transform-origin: top left;
1090
- margin-inline-start: pad-inline(0, rem(-2px), rem(-4px));
1091
1085
  }
1092
1086
 
1093
1087
  %form-group-label--border {
@@ -1204,6 +1198,18 @@
1204
1198
  }
1205
1199
 
1206
1200
  @if $variant == 'material' {
1201
+ %textarea-group:not(%textarea-group--outlined) {
1202
+ --textarea-box-padding: #{pad-block(rem(8px), rem(12px), rem(16px))};
1203
+
1204
+ &:has(%igx-input-group__notch:not(:empty)) {
1205
+ --textarea-box-padding: #{pad-block(rem(16px), rem(20px), rem(24px))};
1206
+ }
1207
+
1208
+ %form-group-textarea {
1209
+ margin-block-end: rem(2px);
1210
+ }
1211
+ }
1212
+
1207
1213
  %textarea-group:not(%suffixed) {
1208
1214
  %form-group-bundle-main {
1209
1215
  grid-area: 1 / 2 / span 1 / span 3;
@@ -1211,7 +1217,7 @@
1211
1217
  }
1212
1218
 
1213
1219
  textarea {
1214
- padding-inline-end: rem(4px);
1220
+ padding-inline-end: #{pad-inline(rem(12px), rem(14px), rem(16px))};
1215
1221
  width: calc(100% - #{rem(1px)});
1216
1222
  }
1217
1223
  }
@@ -1227,7 +1233,7 @@
1227
1233
  %form-group-textarea-label:not(%textarea-group-label--focused) {
1228
1234
  @include type-style('subtitle-1');
1229
1235
 
1230
- top: calc($input-top-padding - #{rem(3px)});
1236
+ top: calc(#{$material-box-top-padding} - #{rem(3px)});
1231
1237
  transform: translateY(0);
1232
1238
  margin-bottom: auto;
1233
1239
  }
@@ -1244,13 +1250,6 @@
1244
1250
  }
1245
1251
 
1246
1252
  %form-group-textarea-group-bundle {
1247
- // 3 lines * 22px + 8px bottom padding + 8px top padding
1248
- --textarea-size: #{sizable(
1249
- rem(82px, map.get($base-scale-size, 'compact')),
1250
- rem(82px, map.get($base-scale-size, 'cosy')),
1251
- rem(82px, map.get($base-scale-size, 'comfortable'))
1252
- )};
1253
- min-height: var(--textarea-size) !important;
1254
1253
  height: auto !important;
1255
1254
 
1256
1255
  %form-group-label {
@@ -1260,25 +1259,25 @@
1260
1259
 
1261
1260
  @if $material-theme {
1262
1261
  %form-group-textarea-label {
1263
- top: calc($input-top-padding - #{rem(1px)});
1262
+ top: calc(#{$material-box-top-padding} - #{rem(1px)});
1264
1263
  margin-block-end: auto;
1265
1264
  }
1266
1265
 
1267
1266
  %textarea-group--outlined {
1268
1267
  %form-group-textarea-label {
1269
- top: calc($input-top-padding - #{rem(3px)});
1268
+ top: calc(#{$material-border-top-padding} - #{rem(3px)});
1270
1269
  }
1271
1270
  }
1272
1271
 
1273
1272
  %textarea-group--box {
1274
1273
  %form-group-textarea-label {
1275
- top: calc($input-top-padding - #{rem(2px)});
1274
+ top: calc(#{$material-box-top-padding} - #{rem(2px)});
1276
1275
  }
1277
1276
  }
1278
1277
 
1279
1278
  %textarea-group-label--focused {
1280
1279
  transform: translateY(0);
1281
- top: calc(#{$input-top-padding} / 4);
1280
+ top: calc(#{$material-box-top-padding} / 4);
1282
1281
  }
1283
1282
 
1284
1283
  %textarea-group-label--filled--border,
@@ -1336,7 +1335,7 @@
1336
1335
  overflow: hidden;
1337
1336
  text-overflow: ellipsis;
1338
1337
 
1339
- &:not([type='date']) {
1338
+ &:not(%form-group-textarea, [type='date']) {
1340
1339
  line-height: 0 !important; /* Reset typography */
1341
1340
  }
1342
1341
 
@@ -1450,29 +1449,13 @@
1450
1449
  }
1451
1450
 
1452
1451
  %form-group-textarea {
1453
- --textarea-size: #{sizable(
1454
- rem(82px, map.get($base-scale-size, 'compact')),
1455
- rem(82px, map.get($base-scale-size, 'cosy')),
1456
- rem(82px, map.get($base-scale-size, 'comfortable'))
1457
- )};
1458
-
1459
- min-height: var(--textarea-size);
1460
1452
  height: auto;
1461
1453
  resize: vertical;
1462
1454
  overflow: hidden;
1455
+ z-index: 1;
1463
1456
 
1464
1457
  @if $material-theme {
1465
1458
  padding: 0;
1466
- inset-block-start: rem(-3px);
1467
- }
1468
-
1469
- // resets typography styles
1470
- line-height: normal !important;
1471
-
1472
- z-index: 1;
1473
-
1474
- &:not([type='*']) {
1475
- line-height: normal !important; /* resets typography styles */
1476
1459
  }
1477
1460
  }
1478
1461
 
@@ -1485,7 +1468,17 @@
1485
1468
  }
1486
1469
 
1487
1470
  @if $material-theme {
1488
- padding-block-start: $input-top-padding;
1471
+ padding-block-start: var(--textarea-box-padding);
1472
+ }
1473
+ }
1474
+
1475
+ %textarea-group--outlined {
1476
+ %form-group-textarea-group-bundle-main {
1477
+ padding-block-start: #{$material-border-top-padding};
1478
+ }
1479
+
1480
+ %form-group-textarea {
1481
+ inset-block-start: rem(-2px);
1489
1482
  }
1490
1483
  }
1491
1484
 
@@ -1637,13 +1630,13 @@
1637
1630
  %form-group-helper {
1638
1631
  --ig-caption-margin-top: #{$hint-spacing-block};
1639
1632
  --ig-caption-margin-bottom: 0;
1633
+ --ig-body-2-margin-top: #{$hint-spacing-block};
1640
1634
 
1641
1635
  color: var-get($theme, 'helper-text-color');
1642
1636
  position: relative;
1643
1637
  display: grid;
1644
1638
  grid-auto-rows: minmax($hint-min-size, auto);
1645
1639
  padding-inline: pad-inline($hint-spacing-inline);
1646
-
1647
1640
  justify-content: space-between;
1648
1641
 
1649
1642
  > * {
@@ -1670,7 +1663,9 @@
1670
1663
  }
1671
1664
 
1672
1665
  %form-group-helper-item {
1673
- display: flex;
1666
+ @include line-clamp(2, true, true);
1667
+
1668
+ overflow-wrap: anywhere;
1674
1669
  align-items: center;
1675
1670
  position: relative;
1676
1671
  }
@@ -1710,7 +1705,9 @@
1710
1705
  [igxPrefix],
1711
1706
  igx-suffix,
1712
1707
  [igxSuffix] {
1713
- padding-inline: pad-inline(rem(6px), rem(8px), rem(10px));
1708
+ &:not(:empty) {
1709
+ padding-inline: pad-inline(rem(6px), rem(8px), rem(10px));
1710
+ }
1714
1711
  }
1715
1712
  }
1716
1713
 
@@ -2014,13 +2011,14 @@
2014
2011
  }
2015
2012
 
2016
2013
  %indigo-textarea {
2017
- padding-block: rem(6px);
2014
+ padding-block: $textarea-top-padding 0;
2018
2015
  padding-inline: pad-inline(rem(2px), rem(4px), rem(6px));
2019
2016
  inset-block-end: rem(2px);
2020
2017
  }
2021
2018
 
2022
2019
  %fluent-textarea {
2023
- padding: rem(8px);
2020
+ padding-inline: pad-inline(rem(8px));
2021
+ padding-block: $textarea-top-padding 0;
2024
2022
  }
2025
2023
 
2026
2024
  %fluent-input-disabled {
@@ -2038,8 +2036,6 @@
2038
2036
  color: var-get($theme, 'idle-secondary-color');
2039
2037
 
2040
2038
  @if $variant == 'fluent' {
2041
- --ig-subtitle-2-line-height: rem(16px);
2042
-
2043
2039
  margin-block-end: rem(5px);
2044
2040
  } @else {
2045
2041
  margin-block-end: rem(4px);
@@ -2113,7 +2109,7 @@
2113
2109
  %form-group-prefix-fluent-search,
2114
2110
  %form-group-suffix-fluent-search {
2115
2111
  &:not(:empty) {
2116
- padding-inline: pad-inline(rem(8px), rem(12px), rem(16px));
2112
+ padding-inline: pad-inline(rem(8px), rem(10px), rem(14px));
2117
2113
  }
2118
2114
  }
2119
2115
 
@@ -2299,6 +2295,10 @@
2299
2295
  map.get($bootstrap-inline-padding, 'cosy'),
2300
2296
  map.get($bootstrap-inline-padding, 'comfortable')
2301
2297
  );
2298
+
2299
+ &:is(textarea) {
2300
+ padding-block: $textarea-top-padding 0;
2301
+ }
2302
2302
  }
2303
2303
 
2304
2304
  // The :not selector is needed otherwise bootstrap will override the %autofill-background-fix
@@ -8,7 +8,6 @@
8
8
  @include css-vars($theme, '.igx-time-picker');
9
9
 
10
10
  $variant: map.get($theme, '_meta', 'theme');
11
- $not-bootstrap-theme: $variant != 'bootstrap';
12
11
 
13
12
  $picker-buttons-padding: map.get((
14
13
  'material': rem(8px),
@@ -24,6 +23,21 @@
24
23
  'indigo': rem(16px),
25
24
  ), $variant);
26
25
 
26
+ .igx-input-group {
27
+ display: flex;
28
+ flex-direction: column;
29
+
30
+ @if $variant == 'indigo' or $variant == 'bootstrap' {
31
+ [igxLabel] {
32
+ margin-block-end: rem(4px);
33
+ }
34
+ } @else if $variant == 'fluent' {
35
+ [igxLabel] {
36
+ margin-block-end: rem(5px);
37
+ }
38
+ }
39
+ }
40
+
27
41
  %time-picker-display {
28
42
  @include sizable();
29
43
 
@@ -59,7 +59,9 @@
59
59
  ));
60
60
  @include chip-typography();
61
61
  @include column-actions-typography();
62
- @include date-range-typography();
62
+ @include date-range-typography($categories: (
63
+ label: 'body-1',
64
+ ));
63
65
  @include dialog-typography($categories: (
64
66
  title: 'h5',
65
67
  content: 'body-1'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "igniteui-angular",
3
- "version": "20.2.0-alpha.2",
3
+ "version": "20.2.0-alpha.4",
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",
@@ -73,7 +73,7 @@
73
73
  "tslib": "^2.3.0",
74
74
  "igniteui-trial-watermark": "^3.1.0",
75
75
  "lodash-es": "^4.17.21",
76
- "igniteui-theming": "^21.0.2",
76
+ "igniteui-theming": "^22.0.0",
77
77
  "@igniteui/material-icons-extended": "^3.1.0"
78
78
  },
79
79
  "peerDependencies": {