@angular/cdk 7.1.1 → 7.3.0

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 (228) hide show
  1. package/LICENSE +1 -1
  2. package/_a11y.scss +1 -1
  3. package/a11y/typings/focus-monitor/focus-monitor.d.ts +0 -1
  4. package/a11y/typings/focus-trap/focus-trap.d.ts +2 -0
  5. package/a11y/typings/index.metadata.json +1 -1
  6. package/bundles/cdk-a11y.umd.js +30 -24
  7. package/bundles/cdk-a11y.umd.js.map +1 -1
  8. package/bundles/cdk-a11y.umd.min.js +1 -1
  9. package/bundles/cdk-a11y.umd.min.js.map +1 -1
  10. package/bundles/cdk-coercion.umd.js +20 -4
  11. package/bundles/cdk-coercion.umd.js.map +1 -1
  12. package/bundles/cdk-coercion.umd.min.js +1 -1
  13. package/bundles/cdk-coercion.umd.min.js.map +1 -1
  14. package/bundles/cdk-drag-drop.umd.js +3246 -1894
  15. package/bundles/cdk-drag-drop.umd.js.map +1 -1
  16. package/bundles/cdk-drag-drop.umd.min.js +2 -1
  17. package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
  18. package/bundles/cdk-observers.umd.js +2 -2
  19. package/bundles/cdk-observers.umd.js.map +1 -1
  20. package/bundles/cdk-observers.umd.min.js +1 -1
  21. package/bundles/cdk-observers.umd.min.js.map +1 -1
  22. package/bundles/cdk-overlay.umd.js +107 -45
  23. package/bundles/cdk-overlay.umd.js.map +1 -1
  24. package/bundles/cdk-overlay.umd.min.js +2 -2
  25. package/bundles/cdk-overlay.umd.min.js.map +1 -1
  26. package/bundles/cdk-portal.umd.js +3 -3
  27. package/bundles/cdk-portal.umd.js.map +1 -1
  28. package/bundles/cdk-portal.umd.min.js.map +1 -1
  29. package/bundles/cdk-scrolling.umd.js +9 -6
  30. package/bundles/cdk-scrolling.umd.js.map +1 -1
  31. package/bundles/cdk-scrolling.umd.min.js +1 -1
  32. package/bundles/cdk-scrolling.umd.min.js.map +1 -1
  33. package/bundles/cdk-stepper.umd.js +36 -16
  34. package/bundles/cdk-stepper.umd.js.map +1 -1
  35. package/bundles/cdk-stepper.umd.min.js +1 -1
  36. package/bundles/cdk-stepper.umd.min.js.map +1 -1
  37. package/bundles/cdk-table.umd.js +8 -4
  38. package/bundles/cdk-table.umd.js.map +1 -1
  39. package/bundles/cdk-table.umd.min.js +1 -1
  40. package/bundles/cdk-table.umd.min.js.map +1 -1
  41. package/bundles/cdk-text-field.umd.js +47 -22
  42. package/bundles/cdk-text-field.umd.js.map +1 -1
  43. package/bundles/cdk-text-field.umd.min.js +1 -1
  44. package/bundles/cdk-text-field.umd.min.js.map +1 -1
  45. package/bundles/cdk-tree.umd.js +1 -1
  46. package/bundles/cdk-tree.umd.js.map +1 -1
  47. package/bundles/cdk-tree.umd.min.js +1 -1
  48. package/bundles/cdk-tree.umd.min.js.map +1 -1
  49. package/bundles/cdk.umd.js +1 -1
  50. package/bundles/cdk.umd.js.map +1 -1
  51. package/bundles/cdk.umd.min.js +1 -1
  52. package/bundles/cdk.umd.min.js.map +1 -1
  53. package/coercion/typings/element.d.ts +13 -0
  54. package/coercion/typings/index.metadata.json +1 -1
  55. package/coercion/typings/public-api.d.ts +1 -0
  56. package/drag-drop/typings/{drag-handle.d.ts → directives/drag-handle.d.ts} +6 -2
  57. package/drag-drop/typings/{drag-placeholder.d.ts → directives/drag-placeholder.d.ts} +0 -0
  58. package/drag-drop/typings/{drag-preview.d.ts → directives/drag-preview.d.ts} +0 -0
  59. package/drag-drop/typings/directives/drag.d.ts +114 -0
  60. package/{typings/esm5/drag-drop → drag-drop/typings/directives}/drop-list-group.d.ts +3 -0
  61. package/drag-drop/typings/{drop-list.d.ts → directives/drop-list.d.ts} +44 -70
  62. package/drag-drop/typings/drag-drop-registry.d.ts +8 -3
  63. package/drag-drop/typings/drag-drop.d.ts +33 -0
  64. package/drag-drop/typings/drag-events.d.ts +14 -7
  65. package/{typings/esm5/drag-drop/drag.d.ts → drag-drop/typings/drag-ref.d.ts} +162 -86
  66. package/drag-drop/typings/drop-list-container.d.ts +19 -3
  67. package/drag-drop/typings/drop-list-ref.d.ts +238 -0
  68. package/drag-drop/typings/index.d.ts +2 -1
  69. package/drag-drop/typings/index.metadata.json +1 -1
  70. package/drag-drop/typings/public-api.d.ts +16 -6
  71. package/esm2015/a11y.js +30 -20
  72. package/esm2015/a11y.js.map +1 -1
  73. package/esm2015/cdk.js +1 -1
  74. package/esm2015/cdk.js.map +1 -1
  75. package/esm2015/coercion.js +18 -1
  76. package/esm2015/coercion.js.map +1 -1
  77. package/esm2015/drag-drop.js +2281 -1289
  78. package/esm2015/drag-drop.js.map +1 -1
  79. package/esm2015/observers.js +3 -3
  80. package/esm2015/observers.js.map +1 -1
  81. package/esm2015/overlay.js +75 -31
  82. package/esm2015/overlay.js.map +1 -1
  83. package/esm2015/portal.js +1 -1
  84. package/esm2015/portal.js.map +1 -1
  85. package/esm2015/scrolling.js +9 -6
  86. package/esm2015/scrolling.js.map +1 -1
  87. package/esm2015/stepper.js +30 -16
  88. package/esm2015/stepper.js.map +1 -1
  89. package/esm2015/table.js +8 -4
  90. package/esm2015/table.js.map +1 -1
  91. package/esm2015/text-field.js +31 -19
  92. package/esm2015/text-field.js.map +1 -1
  93. package/esm2015/tree.js +2 -2
  94. package/esm2015/tree.js.map +1 -1
  95. package/esm5/a11y.es5.js +31 -25
  96. package/esm5/a11y.es5.js.map +1 -1
  97. package/esm5/cdk.es5.js +1 -1
  98. package/esm5/cdk.es5.js.map +1 -1
  99. package/esm5/coercion.es5.js +18 -1
  100. package/esm5/coercion.es5.js.map +1 -1
  101. package/esm5/drag-drop.es5.js +3247 -1899
  102. package/esm5/drag-drop.es5.js.map +1 -1
  103. package/esm5/observers.es5.js +3 -3
  104. package/esm5/observers.es5.js.map +1 -1
  105. package/esm5/overlay.es5.js +107 -45
  106. package/esm5/overlay.es5.js.map +1 -1
  107. package/esm5/portal.es5.js +3 -3
  108. package/esm5/portal.es5.js.map +1 -1
  109. package/esm5/scrolling.es5.js +9 -6
  110. package/esm5/scrolling.es5.js.map +1 -1
  111. package/esm5/stepper.es5.js +36 -17
  112. package/esm5/stepper.es5.js.map +1 -1
  113. package/esm5/table.es5.js +8 -4
  114. package/esm5/table.es5.js.map +1 -1
  115. package/esm5/text-field.es5.js +44 -19
  116. package/esm5/text-field.es5.js.map +1 -1
  117. package/esm5/tree.es5.js +2 -2
  118. package/esm5/tree.es5.js.map +1 -1
  119. package/overlay/typings/index.metadata.json +1 -1
  120. package/overlay/typings/overlay-directives.d.ts +0 -2
  121. package/overlay/typings/overlay-ref.d.ts +5 -1
  122. package/overlay/typings/position/flexible-connected-position-strategy.d.ts +17 -4
  123. package/overlay/typings/position/overlay-position-builder.d.ts +3 -3
  124. package/package.json +4 -4
  125. package/portal/typings/portal.d.ts +1 -1
  126. package/schematics/migration.json +5 -0
  127. package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  128. package/schematics/ng-update/index.d.ts +2 -0
  129. package/schematics/ng-update/index.js +5 -0
  130. package/schematics/ng-update/index.js.map +1 -1
  131. package/schematics/ng-update/target-version.d.ts +7 -1
  132. package/schematics/ng-update/target-version.js +10 -0
  133. package/schematics/ng-update/target-version.js.map +1 -1
  134. package/schematics/ng-update/upgrade-data.js +2 -1
  135. package/schematics/ng-update/upgrade-data.js.map +1 -1
  136. package/schematics/ng-update/upgrade-rules/index.js +3 -2
  137. package/schematics/ng-update/upgrade-rules/index.js.map +1 -1
  138. package/schematics/utils/ast/ng-module-imports.d.ts +1 -1
  139. package/schematics/utils/ast/ng-module-imports.js +25 -13
  140. package/schematics/utils/ast/ng-module-imports.js.map +1 -1
  141. package/schematics/utils/get-project.js +2 -1
  142. package/schematics/utils/get-project.js.map +1 -1
  143. package/schematics/utils/parse5-element.js +3 -2
  144. package/schematics/utils/parse5-element.js.map +1 -1
  145. package/schematics/utils/project-targets.js +2 -1
  146. package/schematics/utils/project-targets.js.map +1 -1
  147. package/schematics/utils/version-agnostic-typescript.js +3 -2
  148. package/schematics/utils/version-agnostic-typescript.js.map +1 -1
  149. package/stepper/typings/index.metadata.json +1 -1
  150. package/stepper/typings/stepper.d.ts +14 -2
  151. package/text-field/typings/autosize.d.ts +6 -0
  152. package/text-field/typings/index.metadata.json +1 -1
  153. package/tree/typings/control/base-tree-control.d.ts +1 -1
  154. package/tree/typings/control/nested-tree-control.d.ts +2 -2
  155. package/tree/typings/control/tree-control.d.ts +1 -1
  156. package/typings/a11y/focus-monitor/focus-monitor.d.ts +0 -1
  157. package/typings/a11y/focus-trap/focus-trap.d.ts +2 -0
  158. package/typings/a11y/index.metadata.json +1 -1
  159. package/typings/coercion/element.d.ts +13 -0
  160. package/typings/coercion/index.metadata.json +1 -1
  161. package/typings/coercion/public-api.d.ts +1 -0
  162. package/typings/drag-drop/{drag-handle.d.ts → directives/drag-handle.d.ts} +6 -2
  163. package/typings/drag-drop/{drag-placeholder.d.ts → directives/drag-placeholder.d.ts} +0 -0
  164. package/typings/drag-drop/{drag-preview.d.ts → directives/drag-preview.d.ts} +0 -0
  165. package/typings/drag-drop/directives/drag.d.ts +114 -0
  166. package/typings/drag-drop/{drop-list-group.d.ts → directives/drop-list-group.d.ts} +3 -0
  167. package/typings/{esm5/drag-drop → drag-drop/directives}/drop-list.d.ts +44 -70
  168. package/typings/drag-drop/drag-drop-registry.d.ts +8 -3
  169. package/typings/drag-drop/drag-drop.d.ts +33 -0
  170. package/typings/drag-drop/drag-events.d.ts +14 -7
  171. package/typings/drag-drop/{drag.d.ts → drag-ref.d.ts} +162 -86
  172. package/typings/drag-drop/drop-list-container.d.ts +19 -3
  173. package/typings/drag-drop/drop-list-ref.d.ts +238 -0
  174. package/typings/drag-drop/index.d.ts +2 -1
  175. package/typings/drag-drop/index.metadata.json +1 -1
  176. package/typings/drag-drop/public-api.d.ts +16 -6
  177. package/typings/esm5/a11y/focus-monitor/focus-monitor.d.ts +0 -1
  178. package/typings/esm5/a11y/focus-trap/focus-trap.d.ts +2 -0
  179. package/typings/esm5/a11y/index.metadata.json +1 -1
  180. package/typings/esm5/coercion/element.d.ts +13 -0
  181. package/typings/esm5/coercion/index.metadata.json +1 -1
  182. package/typings/esm5/coercion/public-api.d.ts +1 -0
  183. package/typings/esm5/drag-drop/{drag-handle.d.ts → directives/drag-handle.d.ts} +6 -2
  184. package/typings/esm5/drag-drop/{drag-placeholder.d.ts → directives/drag-placeholder.d.ts} +0 -0
  185. package/typings/esm5/drag-drop/{drag-preview.d.ts → directives/drag-preview.d.ts} +0 -0
  186. package/typings/esm5/drag-drop/directives/drag.d.ts +114 -0
  187. package/{drag-drop/typings → typings/esm5/drag-drop/directives}/drop-list-group.d.ts +3 -0
  188. package/typings/{drag-drop → esm5/drag-drop/directives}/drop-list.d.ts +44 -70
  189. package/typings/esm5/drag-drop/drag-drop-registry.d.ts +8 -3
  190. package/typings/esm5/drag-drop/drag-drop.d.ts +33 -0
  191. package/typings/esm5/drag-drop/drag-events.d.ts +14 -7
  192. package/{drag-drop/typings/drag.d.ts → typings/esm5/drag-drop/drag-ref.d.ts} +162 -86
  193. package/typings/esm5/drag-drop/drop-list-container.d.ts +19 -3
  194. package/typings/esm5/drag-drop/drop-list-ref.d.ts +238 -0
  195. package/typings/esm5/drag-drop/index.d.ts +2 -1
  196. package/typings/esm5/drag-drop/index.metadata.json +1 -1
  197. package/typings/esm5/drag-drop/public-api.d.ts +16 -6
  198. package/typings/esm5/index.metadata.json +1 -1
  199. package/typings/esm5/overlay/index.metadata.json +1 -1
  200. package/typings/esm5/overlay/overlay-directives.d.ts +0 -2
  201. package/typings/esm5/overlay/overlay-ref.d.ts +5 -1
  202. package/typings/esm5/overlay/position/flexible-connected-position-strategy.d.ts +17 -4
  203. package/typings/esm5/overlay/position/overlay-position-builder.d.ts +3 -3
  204. package/typings/esm5/portal/portal.d.ts +1 -1
  205. package/typings/esm5/stepper/index.metadata.json +1 -1
  206. package/typings/esm5/stepper/stepper.d.ts +14 -2
  207. package/typings/esm5/text-field/autosize.d.ts +6 -0
  208. package/typings/esm5/text-field/index.metadata.json +1 -1
  209. package/typings/esm5/tree/control/base-tree-control.d.ts +1 -1
  210. package/typings/esm5/tree/control/nested-tree-control.d.ts +2 -2
  211. package/typings/esm5/tree/control/tree-control.d.ts +1 -1
  212. package/typings/index.metadata.json +1 -1
  213. package/typings/overlay/index.metadata.json +1 -1
  214. package/typings/overlay/overlay-directives.d.ts +0 -2
  215. package/typings/overlay/overlay-ref.d.ts +5 -1
  216. package/typings/overlay/position/flexible-connected-position-strategy.d.ts +17 -4
  217. package/typings/overlay/position/overlay-position-builder.d.ts +3 -3
  218. package/typings/portal/portal.d.ts +1 -1
  219. package/typings/schematics/ng-update/index.d.ts +2 -0
  220. package/typings/schematics/ng-update/target-version.d.ts +7 -1
  221. package/typings/schematics/utils/ast/ng-module-imports.d.ts +1 -1
  222. package/typings/stepper/index.metadata.json +1 -1
  223. package/typings/stepper/stepper.d.ts +14 -2
  224. package/typings/text-field/autosize.d.ts +6 -0
  225. package/typings/text-field/index.metadata.json +1 -1
  226. package/typings/tree/control/base-tree-control.d.ts +1 -1
  227. package/typings/tree/control/nested-tree-control.d.ts +2 -2
  228. package/typings/tree/control/tree-control.d.ts +1 -1
package/esm5/a11y.es5.js CHANGED
@@ -12,7 +12,7 @@ import { UP_ARROW, DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB, A, Z, ZERO, NINE, h
12
12
  import { debounceTime, filter, map, tap, take } from 'rxjs/operators';
13
13
  import { __extends } from 'tslib';
14
14
  import { Platform, normalizePassiveListenerOptions, PlatformModule } from '@angular/cdk/platform';
15
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
15
+ import { coerceBooleanProperty, coerceElement } from '@angular/cdk/coercion';
16
16
  import { ContentObserver, ObserversModule } from '@angular/cdk/observers';
17
17
 
18
18
  /**
@@ -462,6 +462,7 @@ ListKeyManager = /** @class */ (function () {
462
462
  var _this = this;
463
463
  this._items = _items;
464
464
  this._activeItemIndex = -1;
465
+ this._activeItem = null;
465
466
  this._wrap = false;
466
467
  this._letterKeyStream = new Subject();
467
468
  this._typeaheadSubscription = Subscription.EMPTY;
@@ -851,8 +852,11 @@ ListKeyManager = /** @class */ (function () {
851
852
  var itemArray = this._getItemsArray();
852
853
  /** @type {?} */
853
854
  var index = typeof item === 'number' ? item : itemArray.indexOf(item);
855
+ /** @type {?} */
856
+ var activeItem = itemArray[index];
857
+ // Explicitly check for `null` and `undefined` because other falsy values are valid.
858
+ this._activeItem = activeItem == null ? null : activeItem;
854
859
  this._activeItemIndex = index;
855
- this._activeItem = itemArray[index];
856
860
  };
857
861
  /**
858
862
  * Allows setting of the activeItemIndex without any other effects.
@@ -1194,7 +1198,7 @@ var InteractivityChecker = /** @class */ (function () {
1194
1198
  * @return {?} Whether the element is tabbable.
1195
1199
  */
1196
1200
  function (element) {
1197
- // Nothing is tabbable on the the server 😎
1201
+ // Nothing is tabbable on the server 😎
1198
1202
  if (!this._platform.isBrowser) {
1199
1203
  return false;
1200
1204
  }
@@ -1456,11 +1460,15 @@ var /**
1456
1460
  FocusTrap = /** @class */ (function () {
1457
1461
  function FocusTrap(_element, _checker, _ngZone, _document, deferAnchors) {
1458
1462
  if (deferAnchors === void 0) { deferAnchors = false; }
1463
+ var _this = this;
1459
1464
  this._element = _element;
1460
1465
  this._checker = _checker;
1461
1466
  this._ngZone = _ngZone;
1462
1467
  this._document = _document;
1463
1468
  this._hasAttached = false;
1469
+ // Event listeners for the anchors. Need to be regular functions so that we can unbind them later.
1470
+ this._startAnchorListener = function () { return _this.focusLastTabbableElement(); };
1471
+ this._endAnchorListener = function () { return _this.focusFirstTabbableElement(); };
1464
1472
  this._enabled = true;
1465
1473
  if (!deferAnchors) {
1466
1474
  this.attachAnchors();
@@ -1497,11 +1505,21 @@ FocusTrap = /** @class */ (function () {
1497
1505
  * @return {?}
1498
1506
  */
1499
1507
  function () {
1500
- if (this._startAnchor && this._startAnchor.parentNode) {
1501
- this._startAnchor.parentNode.removeChild(this._startAnchor);
1508
+ /** @type {?} */
1509
+ var startAnchor = this._startAnchor;
1510
+ /** @type {?} */
1511
+ var endAnchor = this._endAnchor;
1512
+ if (startAnchor) {
1513
+ startAnchor.removeEventListener('focus', this._startAnchorListener);
1514
+ if (startAnchor.parentNode) {
1515
+ startAnchor.parentNode.removeChild(startAnchor);
1516
+ }
1502
1517
  }
1503
- if (this._endAnchor && this._endAnchor.parentNode) {
1504
- this._endAnchor.parentNode.removeChild(this._endAnchor);
1518
+ if (endAnchor) {
1519
+ endAnchor.removeEventListener('focus', this._endAnchorListener);
1520
+ if (endAnchor.parentNode) {
1521
+ endAnchor.parentNode.removeChild(endAnchor);
1522
+ }
1505
1523
  }
1506
1524
  this._startAnchor = this._endAnchor = null;
1507
1525
  };
@@ -1532,11 +1550,11 @@ FocusTrap = /** @class */ (function () {
1532
1550
  this._ngZone.runOutsideAngular(function () {
1533
1551
  if (!_this._startAnchor) {
1534
1552
  _this._startAnchor = _this._createAnchor();
1535
- (/** @type {?} */ (_this._startAnchor)).addEventListener('focus', function () { return _this.focusLastTabbableElement(); });
1553
+ (/** @type {?} */ (_this._startAnchor)).addEventListener('focus', _this._startAnchorListener);
1536
1554
  }
1537
1555
  if (!_this._endAnchor) {
1538
1556
  _this._endAnchor = _this._createAnchor();
1539
- (/** @type {?} */ (_this._endAnchor)).addEventListener('focus', function () { return _this.focusFirstTabbableElement(); });
1557
+ (/** @type {?} */ (_this._endAnchor)).addEventListener('focus', _this._endAnchorListener);
1540
1558
  }
1541
1559
  });
1542
1560
  if (this._element.parentNode) {
@@ -1828,6 +1846,7 @@ FocusTrap = /** @class */ (function () {
1828
1846
  this._toggleAnchorTabIndex(this._enabled, anchor);
1829
1847
  anchor.classList.add('cdk-visually-hidden');
1830
1848
  anchor.classList.add('cdk-focus-trap-anchor');
1849
+ anchor.setAttribute('aria-hidden', 'true');
1831
1850
  return anchor;
1832
1851
  };
1833
1852
  /**
@@ -2395,7 +2414,7 @@ var FocusMonitor = /** @class */ (function () {
2395
2414
  return of(null);
2396
2415
  }
2397
2416
  /** @type {?} */
2398
- var nativeElement = this._getNativeElement(element);
2417
+ var nativeElement = coerceElement(element);
2399
2418
  // Check if we're already monitoring this element.
2400
2419
  if (this._elementInfo.has(nativeElement)) {
2401
2420
  /** @type {?} */
@@ -2438,7 +2457,7 @@ var FocusMonitor = /** @class */ (function () {
2438
2457
  */
2439
2458
  function (element) {
2440
2459
  /** @type {?} */
2441
- var nativeElement = this._getNativeElement(element);
2460
+ var nativeElement = coerceElement(element);
2442
2461
  /** @type {?} */
2443
2462
  var elementInfo = this._elementInfo.get(nativeElement);
2444
2463
  if (elementInfo) {
@@ -2463,7 +2482,7 @@ var FocusMonitor = /** @class */ (function () {
2463
2482
  */
2464
2483
  function (element, origin, options) {
2465
2484
  /** @type {?} */
2466
- var nativeElement = this._getNativeElement(element);
2485
+ var nativeElement = coerceElement(element);
2467
2486
  this._setOriginForCurrentEventQueue(origin);
2468
2487
  // `focus` isn't available on the server
2469
2488
  if (typeof nativeElement.focus === 'function') {
@@ -2744,19 +2763,6 @@ var FocusMonitor = /** @class */ (function () {
2744
2763
  clearTimeout(this._originTimeoutId);
2745
2764
  }
2746
2765
  };
2747
- /**
2748
- * @private
2749
- * @param {?} element
2750
- * @return {?}
2751
- */
2752
- FocusMonitor.prototype._getNativeElement = /**
2753
- * @private
2754
- * @param {?} element
2755
- * @return {?}
2756
- */
2757
- function (element) {
2758
- return element instanceof ElementRef ? element.nativeElement : element;
2759
- };
2760
2766
  FocusMonitor.decorators = [
2761
2767
  { type: Injectable, args: [{ providedIn: 'root' },] },
2762
2768
  ];