@angular/material-experimental 13.0.0-next.3 → 13.0.0-next.7

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 (202) hide show
  1. package/bundles/material-experimental-column-resize.umd.js +1 -1
  2. package/bundles/material-experimental-column-resize.umd.js.map +1 -1
  3. package/bundles/material-experimental-mdc-autocomplete-testing.umd.js +1 -1
  4. package/bundles/material-experimental-mdc-autocomplete-testing.umd.js.map +1 -1
  5. package/bundles/material-experimental-mdc-autocomplete.umd.js +1 -1
  6. package/bundles/material-experimental-mdc-autocomplete.umd.js.map +1 -1
  7. package/bundles/material-experimental-mdc-button-testing.umd.js +2 -10
  8. package/bundles/material-experimental-mdc-button-testing.umd.js.map +1 -1
  9. package/bundles/material-experimental-mdc-button.umd.js +9 -9
  10. package/bundles/material-experimental-mdc-button.umd.js.map +1 -1
  11. package/bundles/material-experimental-mdc-card-testing.umd.js +1 -1
  12. package/bundles/material-experimental-mdc-card-testing.umd.js.map +1 -1
  13. package/bundles/material-experimental-mdc-checkbox-testing.umd.js +1 -1
  14. package/bundles/material-experimental-mdc-checkbox-testing.umd.js.map +1 -1
  15. package/bundles/material-experimental-mdc-checkbox.umd.js +1 -1
  16. package/bundles/material-experimental-mdc-checkbox.umd.js.map +1 -1
  17. package/bundles/material-experimental-mdc-chips-testing.umd.js +1 -1
  18. package/bundles/material-experimental-mdc-chips-testing.umd.js.map +1 -1
  19. package/bundles/material-experimental-mdc-chips.umd.js +12 -10
  20. package/bundles/material-experimental-mdc-chips.umd.js.map +1 -1
  21. package/bundles/material-experimental-mdc-core-testing.umd.js +1 -1
  22. package/bundles/material-experimental-mdc-core-testing.umd.js.map +1 -1
  23. package/bundles/material-experimental-mdc-core.umd.js +2 -2
  24. package/bundles/material-experimental-mdc-core.umd.js.map +1 -1
  25. package/bundles/material-experimental-mdc-dialog-testing.umd.js +1 -1
  26. package/bundles/material-experimental-mdc-dialog-testing.umd.js.map +1 -1
  27. package/bundles/material-experimental-mdc-dialog.umd.js +2 -2
  28. package/bundles/material-experimental-mdc-dialog.umd.js.map +1 -1
  29. package/bundles/material-experimental-mdc-form-field-testing.umd.js +1 -1
  30. package/bundles/material-experimental-mdc-form-field-testing.umd.js.map +1 -1
  31. package/bundles/material-experimental-mdc-form-field.umd.js +14 -7
  32. package/bundles/material-experimental-mdc-form-field.umd.js.map +1 -1
  33. package/bundles/material-experimental-mdc-input.umd.js +5 -32
  34. package/bundles/material-experimental-mdc-input.umd.js.map +1 -1
  35. package/bundles/material-experimental-mdc-list-testing.umd.js +1 -1
  36. package/bundles/material-experimental-mdc-list-testing.umd.js.map +1 -1
  37. package/bundles/material-experimental-mdc-list.umd.js +5 -5
  38. package/bundles/material-experimental-mdc-list.umd.js.map +1 -1
  39. package/bundles/material-experimental-mdc-menu-testing.umd.js +2 -2
  40. package/bundles/material-experimental-mdc-menu-testing.umd.js.map +1 -1
  41. package/bundles/material-experimental-mdc-menu.umd.js +45 -23
  42. package/bundles/material-experimental-mdc-menu.umd.js.map +1 -1
  43. package/bundles/material-experimental-mdc-paginator-testing.umd.js +1 -1
  44. package/bundles/material-experimental-mdc-paginator-testing.umd.js.map +1 -1
  45. package/bundles/material-experimental-mdc-paginator.umd.js +1 -1
  46. package/bundles/material-experimental-mdc-paginator.umd.js.map +1 -1
  47. package/bundles/material-experimental-mdc-progress-bar-testing.umd.js +1 -1
  48. package/bundles/material-experimental-mdc-progress-bar-testing.umd.js.map +1 -1
  49. package/bundles/material-experimental-mdc-progress-bar.umd.js +1 -1
  50. package/bundles/material-experimental-mdc-progress-bar.umd.js.map +1 -1
  51. package/bundles/material-experimental-mdc-progress-spinner-testing.umd.js +1 -1
  52. package/bundles/material-experimental-mdc-progress-spinner-testing.umd.js.map +1 -1
  53. package/bundles/material-experimental-mdc-progress-spinner.umd.js +1 -1
  54. package/bundles/material-experimental-mdc-progress-spinner.umd.js.map +1 -1
  55. package/bundles/material-experimental-mdc-radio-testing.umd.js +1 -1
  56. package/bundles/material-experimental-mdc-radio-testing.umd.js.map +1 -1
  57. package/bundles/material-experimental-mdc-radio.umd.js +1 -1
  58. package/bundles/material-experimental-mdc-radio.umd.js.map +1 -1
  59. package/bundles/material-experimental-mdc-select-testing.umd.js +1 -1
  60. package/bundles/material-experimental-mdc-select-testing.umd.js.map +1 -1
  61. package/bundles/material-experimental-mdc-select.umd.js +2 -2
  62. package/bundles/material-experimental-mdc-select.umd.js.map +1 -1
  63. package/bundles/material-experimental-mdc-slide-toggle-testing.umd.js +1 -1
  64. package/bundles/material-experimental-mdc-slide-toggle-testing.umd.js.map +1 -1
  65. package/bundles/material-experimental-mdc-slide-toggle.umd.js +1 -1
  66. package/bundles/material-experimental-mdc-slider-testing.umd.js +1 -1
  67. package/bundles/material-experimental-mdc-slider-testing.umd.js.map +1 -1
  68. package/bundles/material-experimental-mdc-slider.umd.js +9 -1
  69. package/bundles/material-experimental-mdc-slider.umd.js.map +1 -1
  70. package/bundles/material-experimental-mdc-snack-bar-testing.umd.js +8 -4
  71. package/bundles/material-experimental-mdc-snack-bar-testing.umd.js.map +1 -1
  72. package/bundles/material-experimental-mdc-snack-bar.umd.js +2 -3
  73. package/bundles/material-experimental-mdc-snack-bar.umd.js.map +1 -1
  74. package/bundles/material-experimental-mdc-table-testing.umd.js +1 -1
  75. package/bundles/material-experimental-mdc-table-testing.umd.js.map +1 -1
  76. package/bundles/material-experimental-mdc-table.umd.js +2 -2
  77. package/bundles/material-experimental-mdc-table.umd.js.map +1 -1
  78. package/bundles/material-experimental-mdc-tabs-testing.umd.js +1 -1
  79. package/bundles/material-experimental-mdc-tabs-testing.umd.js.map +1 -1
  80. package/bundles/material-experimental-mdc-tabs.umd.js +11 -4
  81. package/bundles/material-experimental-mdc-tabs.umd.js.map +1 -1
  82. package/bundles/material-experimental-mdc-tooltip-testing.umd.js +1 -1
  83. package/bundles/material-experimental-mdc-tooltip-testing.umd.js.map +1 -1
  84. package/bundles/material-experimental-mdc-tooltip.umd.js +2 -2
  85. package/bundles/material-experimental-mdc-tooltip.umd.js.map +1 -1
  86. package/bundles/material-experimental-menubar.umd.js +1 -1
  87. package/bundles/material-experimental-menubar.umd.js.map +1 -1
  88. package/bundles/material-experimental-popover-edit.umd.js +1 -1
  89. package/bundles/material-experimental-popover-edit.umd.js.map +1 -1
  90. package/bundles/material-experimental-selection.umd.js +1 -1
  91. package/bundles/material-experimental-selection.umd.js.map +1 -1
  92. package/bundles/material-experimental.umd.js +1 -1
  93. package/bundles/material-experimental.umd.js.map +1 -1
  94. package/esm2015/mdc-button/button.js +2 -2
  95. package/esm2015/mdc-button/fab.js +4 -4
  96. package/esm2015/mdc-button/icon-button.js +2 -2
  97. package/esm2015/mdc-button/testing/button-harness.js +3 -10
  98. package/esm2015/mdc-chips/chip-grid.js +7 -5
  99. package/esm2015/mdc-chips/chip-icons.js +1 -1
  100. package/esm2015/mdc-chips/chip-input.js +2 -2
  101. package/esm2015/mdc-chips/chip-listbox.js +1 -1
  102. package/esm2015/mdc-chips/chip-option.js +1 -1
  103. package/esm2015/mdc-chips/chip-row.js +1 -1
  104. package/esm2015/mdc-chips/chip-set.js +2 -2
  105. package/esm2015/mdc-chips/chip.js +1 -1
  106. package/esm2015/mdc-core/option/option.js +1 -1
  107. package/esm2015/mdc-core/public-api.js +1 -1
  108. package/esm2015/mdc-dialog/dialog-container.js +1 -1
  109. package/esm2015/mdc-form-field/form-field.js +14 -7
  110. package/esm2015/mdc-input/input.js +3 -3
  111. package/esm2015/mdc-input/module.js +3 -4
  112. package/esm2015/mdc-input/public-api.js +1 -2
  113. package/esm2015/mdc-list/action-list.js +1 -1
  114. package/esm2015/mdc-list/list.js +1 -1
  115. package/esm2015/mdc-list/nav-list.js +1 -1
  116. package/esm2015/mdc-list/selection-list.js +1 -1
  117. package/esm2015/mdc-menu/directives.js +31 -0
  118. package/esm2015/mdc-menu/menu.js +1 -1
  119. package/esm2015/mdc-menu/module.js +12 -6
  120. package/esm2015/mdc-menu/public-api.js +3 -2
  121. package/esm2015/mdc-menu/testing/menu-harness.js +2 -2
  122. package/esm2015/mdc-select/select.js +1 -1
  123. package/esm2015/mdc-slide-toggle/slide-toggle.js +1 -1
  124. package/esm2015/mdc-slider/global-change-and-input-listener.js +1 -1
  125. package/esm2015/mdc-slider/slider.js +9 -1
  126. package/esm2015/mdc-snack-bar/snack-bar-container.js +2 -3
  127. package/esm2015/mdc-snack-bar/testing/snack-bar-harness.js +7 -4
  128. package/esm2015/mdc-table/table.js +1 -1
  129. package/esm2015/mdc-tabs/public-api.js +2 -2
  130. package/esm2015/mdc-tabs/tab-header.js +1 -1
  131. package/esm2015/mdc-tabs/tab-nav-bar/tab-nav-bar.js +1 -1
  132. package/esm2015/mdc-tabs/tab.js +4 -3
  133. package/esm2015/mdc-tooltip/tooltip.js +1 -1
  134. package/esm2015/version.js +1 -1
  135. package/fesm2015/material-experimental.js +1 -1
  136. package/fesm2015/material-experimental.js.map +1 -1
  137. package/fesm2015/mdc-button/testing.js +2 -9
  138. package/fesm2015/mdc-button/testing.js.map +1 -1
  139. package/fesm2015/mdc-button.js +8 -8
  140. package/fesm2015/mdc-chips.js +12 -10
  141. package/fesm2015/mdc-chips.js.map +1 -1
  142. package/fesm2015/mdc-core.js +1 -1
  143. package/fesm2015/mdc-core.js.map +1 -1
  144. package/fesm2015/mdc-dialog.js +1 -1
  145. package/fesm2015/mdc-form-field.js +13 -6
  146. package/fesm2015/mdc-form-field.js.map +1 -1
  147. package/fesm2015/mdc-input.js +6 -34
  148. package/fesm2015/mdc-input.js.map +1 -1
  149. package/fesm2015/mdc-list.js +4 -4
  150. package/fesm2015/mdc-menu/testing.js +1 -1
  151. package/fesm2015/mdc-menu/testing.js.map +1 -1
  152. package/fesm2015/mdc-menu.js +43 -8
  153. package/fesm2015/mdc-menu.js.map +1 -1
  154. package/fesm2015/mdc-select.js +1 -1
  155. package/fesm2015/mdc-slide-toggle.js +1 -1
  156. package/fesm2015/mdc-slider.js +8 -0
  157. package/fesm2015/mdc-slider.js.map +1 -1
  158. package/fesm2015/mdc-snack-bar/testing.js +6 -3
  159. package/fesm2015/mdc-snack-bar/testing.js.map +1 -1
  160. package/fesm2015/mdc-snack-bar.js +1 -2
  161. package/fesm2015/mdc-snack-bar.js.map +1 -1
  162. package/fesm2015/mdc-table.js +1 -1
  163. package/fesm2015/mdc-tabs.js +6 -5
  164. package/fesm2015/mdc-tabs.js.map +1 -1
  165. package/fesm2015/mdc-tooltip.js +1 -1
  166. package/mdc-button/index.metadata.json +1 -1
  167. package/mdc-chips/chip-grid.d.ts +3 -3
  168. package/mdc-chips/chip-icons.d.ts +2 -2
  169. package/mdc-chips/chip-set.d.ts +2 -2
  170. package/mdc-chips/index.metadata.json +1 -1
  171. package/mdc-core/index.metadata.json +1 -1
  172. package/mdc-core/public-api.d.ts +1 -1
  173. package/mdc-dialog/index.metadata.json +1 -1
  174. package/mdc-form-field/_form-field-native-select.scss +3 -28
  175. package/mdc-form-field/_form-field-sizing.scss +0 -4
  176. package/mdc-form-field/_form-field-subscript.scss +4 -12
  177. package/mdc-form-field/_form-field-theme.scss +23 -7
  178. package/mdc-form-field/_mdc-text-field-structure-overrides.scss +16 -9
  179. package/mdc-form-field/_mdc-text-field-textarea-overrides.scss +9 -1
  180. package/mdc-form-field/index.metadata.json +1 -1
  181. package/mdc-input/index.metadata.json +1 -1
  182. package/mdc-input/public-api.d.ts +0 -1
  183. package/mdc-list/index.metadata.json +1 -1
  184. package/mdc-menu/_menu-theme.scss +1 -1
  185. package/mdc-menu/directives.d.ts +14 -0
  186. package/mdc-menu/index.metadata.json +1 -1
  187. package/mdc-menu/public-api.d.ts +2 -1
  188. package/mdc-select/index.metadata.json +1 -1
  189. package/mdc-slide-toggle/index.metadata.json +1 -1
  190. package/mdc-slider/global-change-and-input-listener.d.ts +1 -1
  191. package/mdc-slider/index.metadata.json +1 -1
  192. package/mdc-slider/slider.d.ts +2 -0
  193. package/mdc-snack-bar/testing/snack-bar-harness.d.ts +1 -1
  194. package/mdc-table/_table-theme.scss +0 -9
  195. package/mdc-table/index.metadata.json +1 -1
  196. package/mdc-tabs/index.metadata.json +1 -1
  197. package/mdc-tabs/public-api.d.ts +1 -1
  198. package/mdc-theming/prebuilt/indigo-pink.css +1 -1
  199. package/mdc-tooltip/index.metadata.json +1 -1
  200. package/package.json +3 -3
  201. package/esm2015/mdc-input/autosize.js +0 -30
  202. package/mdc-input/autosize.d.ts +0 -15
@@ -1 +1 @@
1
- {"version":3,"file":"material-experimental-mdc-list.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/material-experimental/mdc-list/list-option-types.ts","../../../../../src/material-experimental/mdc-list/list-styling.ts","../../../../../src/material-experimental/mdc-list/list-base.ts","../../../../../src/material-experimental/mdc-list/action-list.ts","../../../../../src/material-experimental/mdc-list/list.ts","../../../../../src/material-experimental/mdc-list/list-option.ts","../../../../../src/material-experimental/mdc-list/nav-list.ts","../../../../../src/material-experimental/mdc-list/interactive-list-base.ts","../../../../../src/material-experimental/mdc-list/selection-list.ts","../../../../../src/material-experimental/mdc-list/module.ts","../../../../../src/material-experimental/mdc-list/public-api.ts","../../../../../src/material-experimental/mdc-list/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {InjectionToken} from '@angular/core';\n\n/**\n * Type describing possible positions of a checkbox in a list option\n * with respect to the list item's text.\n */\nexport type MatListOptionCheckboxPosition = 'before'|'after';\n\n/**\n * Interface describing a list option. This is used to avoid circular\n * dependencies between the list-option and the styler directives.\n * @docs-private\n */\nexport interface ListOption {\n _getCheckboxPosition(): MatListOptionCheckboxPosition;\n}\n\n/**\n * Injection token that can be used to reference instances of an `ListOption`. It serves\n * as alternative token to an actual implementation which could result in undesired\n * retention of the class or circular references breaking runtime execution.\n * @docs-private\n */\nexport const LIST_OPTION = new InjectionToken<ListOption>('ListOption');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, Inject, Optional} from '@angular/core';\nimport {LIST_OPTION, ListOption} from './list-option-types';\n\n/**\n * MDC uses the very intuitively named classes `.mdc-list-item__start` and `.mat-list-item__end`\n * to position content such as icons or checkboxes that comes either before or after the text\n * content respectively. This directive detects the placement of the checkbox and applies the\n * correct MDC class to position the icon/avatar on the opposite side.\n * @docs-private\n */\n@Directive({\n selector: '[mat-list-avatar], [matListAvatar], [mat-list-icon], [matListIcon]',\n host: {\n '[class.mdc-list-item__start]': '_isAlignedAtStart()',\n '[class.mdc-list-item__end]': '!_isAlignedAtStart()',\n }\n})\nexport class MatListGraphicAlignmentStyler {\n constructor(\n @Optional() @Inject(LIST_OPTION) public _listOption: ListOption) {}\n\n _isAlignedAtStart() {\n // By default, in all list items the graphic is aligned at start. In list options,\n // the graphic is only aligned at start if the checkbox is at the end.\n return !this._listOption || this._listOption?._getCheckboxPosition() === 'after';\n }\n}\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n selector: '[mat-list-avatar], [matListAvatar]',\n host: {'class': 'mat-mdc-list-avatar'}\n})\nexport class MatListAvatarCssMatStyler {}\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n selector: '[mat-list-icon], [matListIcon]',\n host: {'class': 'mat-mdc-list-icon'}\n})\nexport class MatListIconCssMatStyler {}\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n selector: '[mat-subheader], [matSubheader]',\n // TODO(mmalerba): MDC's subheader font looks identical to the list item font, figure out why and\n // make a change in one of the repos to visually distinguish.\n host: {'class': 'mat-mdc-subheader mdc-list-group__subheader'}\n})\nexport class MatListSubheaderCssMatStyler {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Platform} from '@angular/cdk/platform';\nimport {\n AfterContentInit,\n ContentChildren,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n QueryList\n} from '@angular/core';\nimport {\n MAT_RIPPLE_GLOBAL_OPTIONS,\n RippleConfig,\n RippleGlobalOptions,\n RippleRenderer,\n RippleTarget,\n setLines,\n} from '@angular/material-experimental/mdc-core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {Subscription} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\nimport {MatListAvatarCssMatStyler, MatListIconCssMatStyler} from './list-styling';\n\nfunction toggleClass(el: Element, className: string, on: boolean) {\n if (on) {\n el.classList.add(className);\n } else {\n el.classList.remove(className);\n }\n}\n\n@Directive()\n/** @docs-private */\nexport abstract class MatListItemBase implements AfterContentInit, OnDestroy, RippleTarget {\n /** Query list matching list-item line elements. */\n abstract lines: QueryList<ElementRef<Element>>;\n\n /** Element reference referring to the primary list item text. */\n abstract _itemText: ElementRef<HTMLElement>;\n\n /** Host element for the list item. */\n _hostElement: HTMLElement;\n\n /** Whether animations are disabled. */\n _noopAnimations: boolean;\n\n @ContentChildren(MatListAvatarCssMatStyler, {descendants: false}) _avatars: QueryList<never>;\n @ContentChildren(MatListIconCssMatStyler, {descendants: false}) _icons: QueryList<never>;\n\n @Input()\n get disableRipple(): boolean {\n return this.disabled || this._disableRipple || this._listBase.disableRipple ||\n this._noopAnimations;\n }\n set disableRipple(value: boolean) { this._disableRipple = coerceBooleanProperty(value); }\n private _disableRipple: boolean = false;\n\n /** Whether the list-item is disabled. */\n @HostBinding('class.mdc-list-item--disabled')\n @HostBinding('attr.aria-disabled')\n @Input()\n get disabled(): boolean { return this._disabled || (this._listBase && this._listBase.disabled); }\n set disabled(value: boolean) { this._disabled = coerceBooleanProperty(value); }\n private _disabled = false;\n\n private _subscriptions = new Subscription();\n private _rippleRenderer: RippleRenderer|null = null;\n\n /**\n * Implemented as part of `RippleTarget`.\n * @docs-private\n */\n rippleConfig: RippleConfig & RippleGlobalOptions;\n\n /**\n * Implemented as part of `RippleTarget`.\n * @docs-private\n */\n get rippleDisabled(): boolean { return this.disableRipple || !!this.rippleConfig.disabled; }\n\n constructor(public _elementRef: ElementRef<HTMLElement>, protected _ngZone: NgZone,\n private _listBase: MatListBase, private _platform: Platform,\n @Optional() @Inject(MAT_RIPPLE_GLOBAL_OPTIONS)\n globalRippleOptions?: RippleGlobalOptions,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string) {\n this.rippleConfig = globalRippleOptions || {};\n this._hostElement = this._elementRef.nativeElement;\n this._noopAnimations = animationMode === 'NoopAnimations';\n\n if (!this._listBase._isNonInteractive) {\n this._initInteractiveListItem();\n }\n\n // If no type attribute is specified for a host `<button>` element, set it to `button`. If a\n // type attribute is already specified, we do nothing. We do this for backwards compatibility.\n // TODO: Determine if we intend to continue doing this for the MDC-based list.\n if (this._hostElement.nodeName.toLowerCase() === 'button' &&\n !this._hostElement.hasAttribute('type')) {\n this._hostElement.setAttribute('type', 'button');\n }\n }\n\n ngAfterContentInit() {\n this._monitorLines();\n }\n\n ngOnDestroy() {\n this._subscriptions.unsubscribe();\n if (this._rippleRenderer !== null) {\n this._rippleRenderer._removeTriggerEvents();\n }\n }\n\n /** Gets the label for the list item. This is used for the typeahead. */\n _getItemLabel(): string {\n return this._itemText ? (this._itemText.nativeElement.textContent || '') : '';\n }\n\n /** Whether the list item has icons or avatars. */\n _hasIconOrAvatar() {\n return !!(this._avatars.length || this._icons.length);\n }\n\n private _initInteractiveListItem() {\n this._hostElement.classList.add('mat-mdc-list-item-interactive');\n this._rippleRenderer =\n new RippleRenderer(this, this._ngZone, this._hostElement, this._platform);\n this._rippleRenderer.setupTriggerEvents(this._hostElement);\n }\n\n /**\n * Subscribes to changes in `MatLine` content children and annotates them\n * appropriately when they change.\n */\n private _monitorLines() {\n this._ngZone.runOutsideAngular(() => {\n this._subscriptions.add(this.lines.changes.pipe(startWith(this.lines))\n .subscribe((lines: QueryList<ElementRef<Element>>) => {\n toggleClass(this._hostElement, 'mat-mdc-list-item-single-line', lines.length <= 1);\n toggleClass(this._hostElement, 'mdc-list-item--with-one-line', lines.length <= 1);\n\n lines.forEach((line: ElementRef<Element>, index: number) => {\n toggleClass(\n this._hostElement, 'mdc-list-item--with-two-lines', lines.length === 2);\n toggleClass(\n this._hostElement, 'mdc-list-item--with-three-lines', lines.length === 3);\n toggleClass(line.nativeElement,\n 'mdc-list-item__primary-text', index === 0 && lines.length > 1);\n toggleClass(\n line.nativeElement, 'mdc-list-item__secondary-text', index !== 0);\n });\n setLines(lines, this._elementRef, 'mat-mdc');\n }));\n });\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_disableRipple: BooleanInput;\n}\n\n@Directive()\n/** @docs-private */\nexport abstract class MatListBase {\n @HostBinding('class.mat-mdc-list-non-interactive')\n _isNonInteractive: boolean = true;\n\n /** Whether ripples for all list items is disabled. */\n @Input()\n get disableRipple(): boolean { return this._disableRipple; }\n set disableRipple(value: boolean) { this._disableRipple = coerceBooleanProperty(value); }\n private _disableRipple: boolean = false;\n\n /** Whether all list items are disabled. */\n @HostBinding('attr.aria-disabled')\n @Input()\n get disabled(): boolean { return this._disabled; }\n set disabled(value: boolean) { this._disabled = coerceBooleanProperty(value); }\n private _disabled = false;\n\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_disableRipple: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {MatListBase} from './list-base';\n\n@Component({\n selector: 'mat-action-list',\n exportAs: 'matActionList',\n template: '<ng-content></ng-content>',\n host: {\n 'class': 'mat-mdc-action-list mat-mdc-list-base mdc--list',\n },\n styleUrls: ['list.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {provide: MatListBase, useExisting: MatActionList},\n ]\n})\nexport class MatActionList extends MatListBase {\n // An navigation list is considered interactive, but does not extend the interactive list\n // base class. We do this because as per MDC, items of interactive lists are only reachable\n // through keyboard shortcuts. We want all items for the navigation list to be reachable\n // through tab key as we do not intend to provide any special accessibility treatment. The\n // accessibility treatment depends on how the end-user will interact with it.\n override _isNonInteractive = false;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform} from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n Inject,\n NgZone,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n MatLine,\n MAT_RIPPLE_GLOBAL_OPTIONS,\n RippleGlobalOptions,\n} from '@angular/material-experimental/mdc-core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {MatListBase, MatListItemBase} from './list-base';\n\n@Component({\n selector: 'mat-list',\n exportAs: 'matList',\n template: '<ng-content></ng-content>',\n host: {\n 'class': 'mat-mdc-list mat-mdc-list-base mdc-list',\n },\n styleUrls: ['list.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {provide: MatListBase, useExisting: MatList},\n ]\n})\nexport class MatList extends MatListBase {}\n\n@Component({\n selector: 'mat-list-item, a[mat-list-item], button[mat-list-item]',\n exportAs: 'matListItem',\n host: {\n 'class': 'mat-mdc-list-item mdc-list-item',\n '[class.mdc-list-item--with-leading-avatar]': '_avatars.length !== 0',\n '[class.mdc-list-item--with-leading-icon]': '_icons.length !== 0',\n // If there are projected lines, we project the remaining content into the `mdc-list-item__end`\n // container. In order to make sure the container aligns properly (if there is content), we add\n // the trailing meta class. Note that we also add this even if there is no projected `meta`\n // content. This is because there is no good way to check for remaining projected content.\n '[class.mdc-list-item--with-trailing-meta]': 'lines.length !== 0',\n '[class._mat-animation-noopable]': '_noopAnimations',\n },\n templateUrl: 'list-item.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatListItem extends MatListItemBase {\n @ContentChildren(MatLine, {read: ElementRef, descendants: true}) lines:\n QueryList<ElementRef<Element>>;\n @ViewChild('text') _itemText: ElementRef<HTMLElement>;\n\n constructor(\n element: ElementRef,\n ngZone: NgZone,\n listBase: MatListBase,\n platform: Platform,\n @Optional() @Inject(MAT_RIPPLE_GLOBAL_OPTIONS) globalRippleOptions?: RippleGlobalOptions,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string) {\n super(element, ngZone, listBase, platform, globalRippleOptions, animationMode);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {Platform} from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n MatLine,\n MAT_RIPPLE_GLOBAL_OPTIONS,\n RippleGlobalOptions,\n ThemePalette,\n} from '@angular/material-experimental/mdc-core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {MatListBase, MatListItemBase} from './list-base';\nimport {LIST_OPTION, ListOption, MatListOptionCheckboxPosition} from './list-option-types';\n\n/**\n * Injection token that can be used to reference instances of an `SelectionList`. It serves\n * as alternative token to an actual implementation which would result in circular references.\n * @docs-private\n */\nexport const SELECTION_LIST = new InjectionToken<SelectionList>('SelectionList');\n\n/**\n * Interface describing the containing list of an list option. This is used to avoid\n * circular dependencies between the list-option and the selection list.\n * @docs-private\n */\nexport interface SelectionList extends MatListBase {\n multiple: boolean;\n color: ThemePalette;\n selectedOptions: SelectionModel<MatListOption>;\n compareWith: (o1: any, o2: any) => boolean;\n _value: string[]|null;\n _reportValueChange: () => void;\n _onTouched: () => void;\n}\n\n@Component({\n selector: 'mat-list-option',\n exportAs: 'matListOption',\n styleUrls: ['list-option.css'],\n host: {\n 'class': 'mat-mdc-list-item mat-mdc-list-option mdc-list-item',\n 'role': 'option',\n // As per MDC, only list items in single selection mode should receive the `--selected`\n // class. For multi selection, the checkbox is used as indicator.\n '[class.mdc-list-item--selected]': 'selected && !_selectionList.multiple',\n // Based on the checkbox position and whether there are icons or avatars, we apply MDC's\n // list-item `--leading` and `--trailing` classes.\n '[class.mdc-list-item--with-leading-avatar]': '_hasProjected(\"avatars\", \"before\")',\n '[class.mdc-list-item--with-leading-icon]': '_hasProjected(\"icons\", \"before\")',\n '[class.mdc-list-item--with-trailing-icon]': '_hasProjected(\"icons\", \"after\")',\n '[class.mat-mdc-list-option-with-trailing-avatar]': '_hasProjected(\"avatars\", \"after\")',\n // Based on the checkbox position, we apply the `--leading` or `--trailing` MDC classes\n // which ensure that the checkbox is positioned correctly within the list item.\n '[class.mdc-list-item--with-leading-checkbox]': '_hasCheckboxAt(\"before\")',\n '[class.mdc-list-item--with-trailing-checkbox]': '_hasCheckboxAt(\"after\")',\n '[class.mat-accent]': 'color !== \"primary\" && color !== \"warn\"',\n '[class.mat-warn]': 'color === \"warn\"',\n '[class._mat-animation-noopable]': '_noopAnimations',\n '(blur)': '_handleBlur()',\n },\n templateUrl: 'list-option.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {provide: MatListItemBase, useExisting: MatListOption},\n {provide: LIST_OPTION, useExisting: MatListOption},\n ]\n})\nexport class MatListOption extends MatListItemBase implements ListOption, OnInit, OnDestroy {\n /**\n * This is set to true after the first OnChanges cycle so we don't\n * clear the value of `selected` in the first cycle.\n */\n private _inputsInitialized = false;\n\n /**\n * Emits when the selected state of the option has changed.\n * Use to facilitate two-data binding to the `selected` property.\n * @docs-private\n */\n @Output()\n readonly selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ViewChild('text') _itemText: ElementRef<HTMLElement>;\n\n @ContentChildren(MatLine, {read: ElementRef, descendants: true}) lines:\n QueryList<ElementRef<Element>>;\n\n /** Whether the label should appear before or after the checkbox. Defaults to 'after' */\n @Input() checkboxPosition: MatListOptionCheckboxPosition = 'after';\n\n /** Theme color of the list option. This sets the color of the checkbox. */\n @Input()\n get color(): ThemePalette { return this._color || this._selectionList.color; }\n set color(newValue: ThemePalette) { this._color = newValue; }\n private _color: ThemePalette;\n\n /** Value of the option */\n @Input()\n get value(): any { return this._value; }\n set value(newValue: any) {\n if (this.selected && newValue !== this.value && this._inputsInitialized) {\n this.selected = false;\n }\n\n this._value = newValue;\n }\n private _value: any;\n\n /** Whether the option is selected. */\n @Input()\n get selected(): boolean { return this._selectionList.selectedOptions.isSelected(this); }\n set selected(value: boolean) {\n const isSelected = coerceBooleanProperty(value);\n\n if (isSelected !== this._selected) {\n this._setSelected(isSelected);\n\n if (isSelected || this._selectionList.multiple) {\n this._selectionList._reportValueChange();\n }\n }\n }\n private _selected = false;\n\n constructor(\n element: ElementRef,\n ngZone: NgZone,\n platform: Platform,\n @Inject(SELECTION_LIST) public _selectionList: SelectionList,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(MAT_RIPPLE_GLOBAL_OPTIONS) globalRippleOptions?: RippleGlobalOptions,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string) {\n super(element, ngZone, _selectionList, platform, globalRippleOptions, animationMode);\n\n // By default, we mark all options as unselected. The MDC list foundation will\n // automatically update the attribute based on selection. Note that we need to\n // initially set this because MDC does not set the default attributes for list\n // items but expects items to be set up properly in the static markup.\n element.nativeElement.setAttribute('aria-selected', 'false');\n }\n\n ngOnInit() {\n const list = this._selectionList;\n\n if (list._value && list._value.some(value => list.compareWith(value, this._value))) {\n this._setSelected(true);\n }\n\n const wasSelected = this._selected;\n\n // List options that are selected at initialization can't be reported properly to the form\n // control. This is because it takes some time until the selection-list knows about all\n // available options. Also it can happen that the ControlValueAccessor has an initial value\n // that should be used instead. Deferring the value change report to the next tick ensures\n // that the form control value is not being overwritten.\n Promise.resolve().then(() => {\n if (this._selected || wasSelected) {\n this.selected = true;\n this._changeDetectorRef.markForCheck();\n }\n });\n this._inputsInitialized = true;\n }\n\n override ngOnDestroy(): void {\n if (this.selected) {\n // We have to delay this until the next tick in order\n // to avoid changed after checked errors.\n Promise.resolve().then(() => {\n this.selected = false;\n });\n }\n }\n\n /** Toggles the selection state of the option. */\n toggle(): void {\n this.selected = !this.selected;\n }\n\n /** Allows for programmatic focusing of the option. */\n focus(): void {\n this._hostElement.focus();\n }\n\n /** Whether a checkbox is shown at the given position. */\n _hasCheckboxAt(position: MatListOptionCheckboxPosition): boolean {\n return this._selectionList.multiple && this._getCheckboxPosition() === position;\n }\n\n /** Whether icons or avatars are shown at the given position. */\n _hasIconsOrAvatarsAt(position: 'before'|'after'): boolean {\n return this._hasProjected('icons', position) || this._hasProjected('avatars', position);\n }\n\n /** Gets whether the given type of element is projected at the specified position. */\n _hasProjected(type: 'icons'|'avatars', position: 'before'|'after'): boolean {\n // If the checkbox is shown at the specified position, neither icons or\n // avatars can be shown at the position.\n return this._getCheckboxPosition() !== position &&\n (type === 'avatars' ? this._avatars.length !== 0 : this._icons.length !== 0);\n }\n\n _handleBlur() {\n this._selectionList._onTouched();\n }\n\n /** Gets the current position of the checkbox. */\n _getCheckboxPosition() {\n return this.checkboxPosition || 'after';\n }\n\n /**\n * Sets the selected state of the option.\n * @returns Whether the value has changed.\n */\n _setSelected(selected: boolean): boolean {\n if (selected === this._selected) {\n return false;\n }\n\n this._selected = selected;\n\n if (selected) {\n this._selectionList.selectedOptions.select(this);\n } else {\n this._selectionList.selectedOptions.deselect(this);\n }\n\n this.selectedChange.emit(selected);\n this._changeDetectorRef.markForCheck();\n return true;\n }\n\n /**\n * Notifies Angular that the option needs to be checked in the next change detection run.\n * Mainly used to trigger an update of the list option if the disabled state of the selection\n * list changed.\n */\n _markForCheck() {\n this._changeDetectorRef.markForCheck();\n }\n\n static ngAcceptInputType_selected: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {MatListBase} from './list-base';\n\n@Component({\n selector: 'mat-nav-list',\n exportAs: 'matNavList',\n template: '<ng-content></ng-content>',\n host: {\n 'class': 'mat-mdc-nav-list mat-mdc-list-base mdc-list',\n },\n styleUrls: ['list.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {provide: MatListBase, useExisting: MatNavList},\n ]\n})\nexport class MatNavList extends MatListBase {\n // An navigation list is considered interactive, but does not extend the interactive list\n // base class. We do this because as per MDC, items of interactive lists are only reachable\n // through keyboard shortcuts. We want all items for the navigation list to be reachable\n // through tab key as we do not intend to provide any special accessibility treatment. The\n // accessibility treatment depends on how the end-user will interact with it.\n override _isNonInteractive = false;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n HostListener,\n Inject,\n OnDestroy,\n QueryList\n} from '@angular/core';\nimport {MDCListAdapter, MDCListFoundation} from '@material/list';\nimport {Subscription} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\nimport {MatListBase, MatListItemBase} from './list-base';\n\n@Directive()\n/** @docs-private */\nexport abstract class MatInteractiveListBase<T extends MatListItemBase>\n extends MatListBase implements AfterViewInit, OnDestroy {\n\n @HostListener('keydown', ['$event'])\n _handleKeydown(event: KeyboardEvent) {\n const index = this._indexForElement(event.target as HTMLElement);\n this._foundation.handleKeydown(\n event, this._elementAtIndex(index) === event.target, index);\n }\n\n @HostListener('click', ['$event'])\n _handleClick(event: MouseEvent) {\n // The `toggleCheckbox` parameter can always be `true` as it only has an effect if the list\n // is recognized as checkbox selection list. For such lists, we would always want to toggle\n // the checkbox on list item click. MDC added this parameter so that they can avoid dispatching\n // a fake `change` event when the checkbox is directly clicked for the list item. We don't\n // need this as we require such list item checkboxes to stop propagation of the change event.\n // https://github.com/material-components/material-components-web/blob/08ca4d0ec5f359bc3a20bd2a302fa6b733b5e135/packages/mdc-list/component.ts#L308-L310\n this._foundation.handleClick(this._indexForElement(event.target as HTMLElement),\n /* toggleCheckbox */ true);\n }\n\n @HostListener('focusin', ['$event'])\n _handleFocusin(event: FocusEvent) {\n const itemIndex = this._indexForElement(event.target as HTMLElement);\n const tabIndex = this._itemsArr[itemIndex]?._hostElement.tabIndex;\n\n // If the newly focused item is not the designated item that should have received focus\n // first through keyboard interaction, the tabindex of the previously designated list item\n // needs to be cleared, so that only one list item is reachable through tab key at any time.\n // MDC sets a tabindex for the newly focused item, so we do not need to set a tabindex for it.\n // Workaround for: https://github.com/material-components/material-components-web/issues/6363.\n if (tabIndex === undefined || tabIndex === -1) {\n this._clearTabindexForAllItems();\n }\n\n this._foundation.handleFocusIn(itemIndex);\n }\n\n @HostListener('focusout', ['$event'])\n _handleFocusout(event: FocusEvent) {\n this._foundation.handleFocusOut(this._indexForElement(event.target as HTMLElement));\n }\n\n /** Items in the interactive list. */\n abstract _items: QueryList<T>;\n _itemsArr: T[] = [];\n _document: Document;\n\n protected _foundation: MDCListFoundation;\n protected _adapter: MDCListAdapter;\n\n private _subscriptions = new Subscription();\n\n protected constructor(public _element: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) document: any) {\n super();\n this._document = document;\n this._isNonInteractive = false;\n }\n\n protected _initWithAdapter(adapter: MDCListAdapter) {\n this._adapter = adapter;\n this._foundation = new MDCListFoundation(adapter);\n }\n\n ngAfterViewInit() {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !this._foundation) {\n throw Error('MDC list foundation not initialized for Angular Material list.');\n }\n\n this._foundation.init();\n this._watchListItems();\n\n // Enable typeahead and focus wrapping for interactive lists.\n this._foundation.setHasTypeahead(true);\n this._foundation.setWrapFocus(true);\n }\n\n ngOnDestroy() {\n this._foundation.destroy();\n this._subscriptions.unsubscribe();\n }\n\n protected _watchListItems() {\n this._subscriptions.add(this._items.changes.pipe(startWith(null)).subscribe(() => {\n this._itemsArr = this._items.toArray();\n // Whenever the items change, the foundation needs to be notified through the `layout`\n // method. It caches items for the typeahead and detects the list type based on the items.\n this._foundation.layout();\n\n // The list items changed, so we reset the tabindex for all items and\n // designate one list item that will be reachable through tab.\n this._resetTabindexToFirstSelectedOrFocusedItem();\n }));\n }\n\n /**\n * Clears the tabindex of all items so that no items are reachable through tab key.\n * MDC intends to always have only one tabbable item that will receive focus first.\n * This first item is selected by MDC automatically on blur or by manually invoking\n * the `setTabindexToFirstSelectedOrFocusedItem` method.\n */\n private _clearTabindexForAllItems() {\n for (let items of this._itemsArr) {\n items._hostElement.setAttribute('tabindex', '-1');\n }\n }\n\n /**\n * Resets tabindex for all options and sets tabindex for the first selected option or\n * previously focused item so that an item can be reached when users tab into the list.\n */\n protected _resetTabindexToFirstSelectedOrFocusedItem() {\n this._clearTabindexForAllItems();\n // MDC does not expose the method for setting the tabindex to the first selected\n // or previously focused item. We can still access the method as private class\n // members are accessible in the transpiled JavaScript. Tracked upstream with:\n // TODO: https://github.com/material-components/material-components-web/issues/6375\n (this._foundation as any).setTabindexToFirstSelectedOrFocusedItem();\n }\n\n _elementAtIndex(index: number): HTMLElement|undefined {\n return this._itemsArr[index]?._hostElement;\n }\n\n _indexForElement(element: Element | null): number {\n return element ?\n this._itemsArr.findIndex(i => i._hostElement.contains(element)) : -1;\n }\n}\n\n// TODO: replace with class once material-components-web/pull/6256 is available.\n/** Gets an instance of `MDcListAdapter` for the given interactive list. */\nexport function getInteractiveListAdapter(\n list: MatInteractiveListBase<MatListItemBase>): MDCListAdapter {\n return {\n getListItemCount() {\n return list._items.length;\n },\n listItemAtIndexHasClass(index: number, className: string) {\n const element = list._elementAtIndex(index);\n return element ? element.classList.contains(className) : false;\n },\n addClassForElementIndex(index: number, className: string) {\n list._elementAtIndex(index)?.classList.add(className);\n },\n removeClassForElementIndex(index: number, className: string) {\n list._elementAtIndex(index)?.classList.remove(className);\n },\n getAttributeForElementIndex(index: number, attr: string) {\n const element = list._elementAtIndex(index);\n return element ? element.getAttribute(attr) : null;\n },\n setAttributeForElementIndex(index: number, attr: string, value: string) {\n list._elementAtIndex(index)?.setAttribute(attr, value);\n },\n getFocusedElementIndex() {\n return list._indexForElement(list._document?.activeElement);\n },\n isFocusInsideList() {\n return list._element.nativeElement.contains(list._document?.activeElement);\n },\n isRootFocused() {\n return list._element.nativeElement === list._document?.activeElement;\n },\n focusItemAtIndex(index: number) {\n list._elementAtIndex(index)?.focus();\n },\n // Gets the text for a list item for the typeahead\n getPrimaryTextAtIndex(index: number) {\n return list._itemsArr[index]._getItemLabel();\n },\n\n // MDC uses this method to disable focusable children of list items. However, we believe that\n // this is not an accessible pattern and should be avoided, therefore we intentionally do not\n // implement this method. In addition, implementing this would require violating Angular\n // Material's general principle of not having components modify DOM elements they do not own.\n // A user who feels they really need this feature can simply listen to the `(focus)` and\n // `(blur)` events on the list item and enable/disable focus on the children themselves as\n // appropriate.\n setTabIndexForListItemChildren() {},\n\n // The following methods have a dummy implementation in the base class because they are only\n // applicable to certain types of lists. They should be implemented for the concrete classes\n // where they are applicable.\n hasCheckboxAtIndex() { return false; },\n hasRadioAtIndex(index: number) { return false; },\n setCheckedCheckboxOrRadioAtIndex(index: number, checked: boolean) {},\n isCheckboxCheckedAtIndex(index: number) { return false; },\n notifyAction() {},\n };\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ThemePalette} from '@angular/material-experimental/mdc-core';\nimport {MDCListAdapter, numbers as mdcListNumbers} from '@material/list';\nimport {Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {getInteractiveListAdapter, MatInteractiveListBase} from './interactive-list-base';\nimport {MatListBase} from './list-base';\nimport {MatListOption, SELECTION_LIST, SelectionList} from './list-option';\n\nconst MAT_SELECTION_LIST_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSelectionList),\n multi: true\n};\n\n/** Change event that is being fired whenever the selected state of an option changes. */\nexport class MatSelectionListChange {\n constructor(\n /** Reference to the selection list that emitted the event. */\n public source: MatSelectionList,\n /**\n * Reference to the option that has been changed.\n * @deprecated Use `options` instead, because some events may change more than one option.\n * @breaking-change 12.0.0\n */\n public option: MatListOption,\n /** Reference to the options that have been changed. */\n public options: MatListOption[]) {}\n}\n\n@Component({\n selector: 'mat-selection-list',\n exportAs: 'matSelectionList',\n host: {\n 'class': 'mat-mdc-selection-list mat-mdc-list-base mdc-list',\n 'role': 'listbox',\n '[attr.aria-multiselectable]': 'multiple',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['list.css'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n MAT_SELECTION_LIST_VALUE_ACCESSOR,\n {provide: MatListBase, useExisting: MatSelectionList},\n {provide: SELECTION_LIST, useExisting: MatSelectionList},\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatSelectionList extends MatInteractiveListBase<MatListOption>\n implements SelectionList, ControlValueAccessor, AfterViewInit, OnChanges, OnDestroy {\n\n private _multiple = true;\n private _initialized = false;\n\n @ContentChildren(MatListOption, {descendants: true}) _items: QueryList<MatListOption>;\n\n /** Emits a change event whenever the selected state of an option changes. */\n @Output() readonly selectionChange: EventEmitter<MatSelectionListChange> =\n new EventEmitter<MatSelectionListChange>();\n\n /** Theme color of the selection list. This sets the checkbox color for all list options. */\n @Input() color: ThemePalette = 'accent';\n\n /**\n * Function used for comparing an option against the selected value when determining which\n * options should appear as selected. The first argument is the value of an options. The second\n * one is a value from the selected value. A boolean must be returned.\n */\n @Input() compareWith: (o1: any, o2: any) => boolean = (a1, a2) => a1 === a2;\n\n /** Whether selection is limited to one or multiple items (default multiple). */\n @Input()\n get multiple(): boolean { return this._multiple; }\n set multiple(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n\n if (newValue !== this._multiple) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && this._initialized) {\n throw new Error(\n 'Cannot change `multiple` mode of mat-selection-list after initialization.');\n }\n\n this._multiple = newValue;\n this.selectedOptions = new SelectionModel(this._multiple, this.selectedOptions.selected);\n }\n }\n\n /** The currently selected options. */\n selectedOptions = new SelectionModel<MatListOption>(this._multiple);\n\n /** View to model callback that should be called whenever the selected options change. */\n private _onChange: (value: any) => void = (_: any) => {};\n\n /** Keeps track of the currently-selected value. */\n _value: string[]|null;\n\n /** Emits when the list has been destroyed. */\n private _destroyed = new Subject<void>();\n\n /** View to model callback that should be called if the list or its options lost focus. */\n _onTouched: () => void = () => {};\n\n /** Whether the list has been destroyed. */\n private _isDestroyed: boolean;\n\n constructor(element: ElementRef<HTMLElement>, @Inject(DOCUMENT) document: any) {\n super(element, document);\n super._initWithAdapter(getSelectionListAdapter(this));\n }\n\n override ngAfterViewInit() {\n // Mark the selection list as initialized so that the `multiple`\n // binding can no longer be changed.\n this._initialized = true;\n\n // Update the options if a control value has been set initially. Note that this should happen\n // before watching for selection changes as otherwise we would sync options with MDC multiple\n // times as part of view initialization (also the foundation would not be initialized yet).\n if (this._value) {\n this._setOptionsFromValues(this._value);\n }\n\n // Start monitoring the selected options so that the list foundation can be\n // updated accordingly.\n this._watchForSelectionChange();\n\n // Initialize the list foundation, including the initial `layout()` invocation.\n super.ngAfterViewInit();\n\n // List options can be pre-selected using the `selected` input. We need to sync the selected\n // options after view initialization with the foundation so that focus can be managed\n // accordingly. Note that this needs to happen after the initial `layout()` call because the\n // list wouldn't know about multi-selection and throw.\n if (this._items.length !== 0) {\n this._syncSelectedOptionsWithFoundation();\n this._resetTabindexForItemsIfBlurred();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const disabledChanges = changes['disabled'];\n const disableRippleChanges = changes['disableRipple'];\n\n if ((disableRippleChanges && !disableRippleChanges.firstChange) ||\n (disabledChanges && !disabledChanges.firstChange)) {\n this._markOptionsForCheck();\n }\n }\n\n override ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n this._isDestroyed = true;\n }\n\n /** Focuses the selection list. */\n focus(options?: FocusOptions) {\n this._element.nativeElement.focus(options);\n }\n\n /** Selects all of the options. Returns the options that changed as a result. */\n selectAll(): MatListOption[] {\n return this._setAllOptionsSelected(true);\n }\n\n /** Deselects all of the options. Returns the options that changed as a result. */\n deselectAll(): MatListOption[] {\n return this._setAllOptionsSelected(false);\n }\n\n /** Reports a value change to the ControlValueAccessor */\n _reportValueChange() {\n // Stop reporting value changes after the list has been destroyed. This avoids\n // cases where the list might wrongly reset its value once it is removed, but\n // the form control is still live.\n if (this.options && !this._isDestroyed) {\n const value = this._getSelectedOptionValues();\n this._onChange(value);\n this._value = value;\n }\n }\n\n /** Emits a change event if the selected state of an option changed. */\n _emitChangeEvent(options: MatListOption[]) {\n this.selectionChange.emit(new MatSelectionListChange(this, options[0], options));\n }\n\n /** Implemented as part of ControlValueAccessor. */\n writeValue(values: string[]): void {\n this._value = values;\n\n if (this.options) {\n this._setOptionsFromValues(values || []);\n }\n }\n\n /** Implemented as a part of ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnChange(fn: (value: any) => void): void {\n this._onChange = fn;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n /**\n * Resets tabindex for all options and sets tabindex for the first selected option so that\n * it will become active when users tab into the selection-list. This will be a noop if the\n * list is currently focused as otherwise multiple options might become reachable through tab.\n * e.g. A user currently already focused an option. We set tabindex to a new option but the\n * focus on the current option does persist. Pressing `TAB` then might go to the other option\n * that received a tabindex. We can skip the reset here as the MDC foundation resets the\n * tabindex to the first selected option automatically once the current item is blurred.\n */\n private _resetTabindexForItemsIfBlurred() {\n // If focus is inside the list already, then we do not change the tab index of the list.\n // Changing it while an item is focused could cause multiple items to be reachable through\n // the tab key. The MDC list foundation will update the tabindex on blur to the appropriate\n // selected or focused item.\n if (!this._adapter.isFocusInsideList()) {\n this._resetTabindexToFirstSelectedOrFocusedItem();\n }\n }\n\n private _watchForSelectionChange() {\n // Sync external changes to the model back to the options.\n this.selectedOptions.changed.pipe(takeUntil(this._destroyed)).subscribe(event => {\n if (event.added) {\n for (let item of event.added) {\n item.selected = true;\n }\n }\n\n if (event.removed) {\n for (let item of event.removed) {\n item.selected = false;\n }\n }\n\n // Sync the newly selected options with the foundation. Also reset tabindex for all\n // items if the list is currently not focused. We do this so that always the first\n // selected list item is focused when users tab into the selection list.\n this._syncSelectedOptionsWithFoundation();\n this._resetTabindexForItemsIfBlurred();\n });\n }\n\n private _syncSelectedOptionsWithFoundation() {\n if (this._multiple) {\n this._foundation.setSelectedIndex(this.selectedOptions.selected\n .map(o => this._itemsArr.indexOf(o)));\n } else {\n const selected = this.selectedOptions.selected[0];\n const index = selected === undefined ?\n mdcListNumbers.UNSET_INDEX : this._itemsArr.indexOf(selected);\n this._foundation.setSelectedIndex(index);\n }\n }\n\n /** Sets the selected options based on the specified values. */\n private _setOptionsFromValues(values: string[]) {\n this.options.forEach(option => option._setSelected(false));\n\n values.forEach(value => {\n const correspondingOption = this.options.find(option => {\n // Skip options that are already in the model. This allows us to handle cases\n // where the same primitive value is selected multiple times.\n return option.selected ? false : this.compareWith(option.value, value);\n });\n\n if (correspondingOption) {\n correspondingOption._setSelected(true);\n }\n });\n }\n\n /** Returns the values of the selected options. */\n private _getSelectedOptionValues(): string[] {\n return this.options.filter(option => option.selected).map(option => option.value);\n }\n\n /** Marks all the options to be checked in the next change detection run. */\n private _markOptionsForCheck() {\n if (this.options) {\n this.options.forEach(option => option._markForCheck());\n }\n }\n\n /**\n * Sets the selected state on all of the options\n * and emits an event if anything changed.\n */\n private _setAllOptionsSelected(isSelected: boolean, skipDisabled?: boolean): MatListOption[] {\n // Keep track of whether anything changed, because we only want to\n // emit the changed event when something actually changed.\n const changedOptions: MatListOption[] = [];\n\n this.options.forEach(option => {\n if ((!skipDisabled || !option.disabled) && option._setSelected(isSelected)) {\n changedOptions.push(option);\n }\n });\n\n if (changedOptions.length) {\n this._reportValueChange();\n }\n\n return changedOptions;\n }\n\n // Note: This getter exists for backwards compatibility. The `_items` query list\n // cannot be named `options` as it will be picked up by the interactive list base.\n /** The option components contained within this selection-list. */\n get options(): QueryList<MatListOption> {\n return this._items;\n }\n\n static ngAcceptInputType_multiple: BooleanInput;\n}\n\n// TODO: replace with class using inheritance once material-components-web/pull/6256 is available.\n/** Gets a `MDCListAdapter` instance for the given selection list. */\nfunction getSelectionListAdapter(list: MatSelectionList): MDCListAdapter {\n const baseAdapter = getInteractiveListAdapter(list);\n return {\n ...baseAdapter,\n hasRadioAtIndex(): boolean {\n // If multi selection is not used, we treat the list as a radio list so that\n // the MDC foundation does not keep track of multiple selected list options.\n // Note that we cannot use MDC's non-radio single selection mode as that one\n // will keep track of the selection state internally and we cannot update a\n // control model, or notify/update list-options on selection change. The radio\n // mode is similar to what we want but with support for change notification\n // (i.e. `setCheckedCheckboxOrRadioAtIndex`) while maintaining single selection.\n return !list.multiple;\n },\n hasCheckboxAtIndex() {\n // If multi selection is used, we treat the list as a checkbox list so that\n // the MDC foundation can keep track of multiple selected list options.\n return list.multiple;\n },\n isCheckboxCheckedAtIndex(index: number) {\n return list._itemsArr[index].selected;\n },\n setCheckedCheckboxOrRadioAtIndex(index: number, checked: boolean) {\n list._itemsArr[index].selected = checked;\n },\n setAttributeForElementIndex(index: number, attribute: string, value: string): void {\n // MDC list by default sets `aria-checked` for multi selection lists. We do not want to\n // use this as that signifies a bad accessibility experience. Instead, we change the\n // attribute update to `aria-selected` as that works best with list-options. See:\n // https://github.com/material-components/material-components-web/issues/6367.\n // TODO: Remove this once material-components-web#6367 is improved/fixed.\n if (attribute === 'aria-checked') {\n attribute = 'aria-selected';\n }\n\n baseAdapter.setAttributeForElementIndex(index, attribute, value);\n },\n notifyAction(index: number): void {\n list._emitChangeEvent([list._itemsArr[index]]);\n },\n };\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n MatLineModule,\n MatPseudoCheckboxModule,\n MatRippleModule,\n MatCommonModule,\n} from '@angular/material-experimental/mdc-core';\nimport {MatDividerModule} from '@angular/material/divider';\nimport {MatActionList} from './action-list';\nimport {MatList, MatListItem} from './list';\nimport {MatListOption} from './list-option';\nimport {\n MatListAvatarCssMatStyler,\n MatListGraphicAlignmentStyler,\n MatListIconCssMatStyler,\n MatListSubheaderCssMatStyler\n} from './list-styling';\nimport {MatNavList} from './nav-list';\nimport {MatSelectionList} from './selection-list';\n\n@NgModule({\n imports: [\n CommonModule,\n MatCommonModule,\n MatLineModule,\n MatRippleModule,\n MatPseudoCheckboxModule,\n ],\n exports: [\n MatList,\n MatActionList,\n MatNavList,\n MatSelectionList,\n MatListItem,\n MatListOption,\n MatListAvatarCssMatStyler,\n MatListIconCssMatStyler,\n MatListSubheaderCssMatStyler,\n MatListGraphicAlignmentStyler,\n MatDividerModule,\n MatLineModule,\n ],\n declarations: [\n MatList,\n MatActionList,\n MatNavList,\n MatSelectionList,\n MatListItem,\n MatListOption,\n MatListAvatarCssMatStyler,\n MatListIconCssMatStyler,\n MatListSubheaderCssMatStyler,\n MatListGraphicAlignmentStyler,\n ]\n})\nexport class MatListModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './action-list';\nexport * from './list';\nexport * from './module';\nexport * from './nav-list';\nexport * from './selection-list';\nexport * from './list-option';\nexport * from './list-styling';\nexport {MatListOptionCheckboxPosition} from './list-option-types';\nexport {MatListOption} from './list-option';\n\nexport {\n MAT_LIST,\n MAT_NAV_LIST,\n MAT_SELECTION_LIST_VALUE_ACCESSOR,\n} from '@angular/material/list';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {MatInteractiveListBase as ɵangular_material_src_material_experimental_mdc_list_mdc_list_e} from './interactive-list-base';\nexport {MatListBase as ɵangular_material_src_material_experimental_mdc_list_mdc_list_d,MatListItemBase as ɵangular_material_src_material_experimental_mdc_list_mdc_list_c} from './list-base';\nexport {LIST_OPTION as ɵangular_material_src_material_experimental_mdc_list_mdc_list_b,ListOption as ɵangular_material_src_material_experimental_mdc_list_mdc_list_a} from './list-option-types';"],"names":["InjectionToken","Directive","Optional","Inject","Subscription","coerceBooleanProperty","RippleRenderer","startWith","setLines","ElementRef","NgZone","Platform","MAT_RIPPLE_GLOBAL_OPTIONS","ANIMATION_MODULE_TYPE","ContentChildren","Input","HostBinding","Component","ViewEncapsulation","ChangeDetectionStrategy","MatLine","ViewChild","EventEmitter","ChangeDetectorRef","Output","MDCListFoundation","DOCUMENT","HostListener","NG_VALUE_ACCESSOR","forwardRef","SelectionModel","Subject","takeUntil","mdcListNumbers","NgModule","CommonModule","MatCommonModule","MatLineModule","MatRippleModule","MatPseudoCheckboxModule","MatDividerModule"],"mappings":"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"}
1
+ {"version":3,"file":"material-experimental-mdc-list.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/material-experimental/mdc-list/list-option-types.ts","../../../../../src/material-experimental/mdc-list/list-styling.ts","../../../../../src/material-experimental/mdc-list/list-base.ts","../../../../../src/material-experimental/mdc-list/action-list.ts","../../../../../src/material-experimental/mdc-list/list.ts","../../../../../src/material-experimental/mdc-list/list-option.ts","../../../../../src/material-experimental/mdc-list/nav-list.ts","../../../../../src/material-experimental/mdc-list/interactive-list-base.ts","../../../../../src/material-experimental/mdc-list/selection-list.ts","../../../../../src/material-experimental/mdc-list/module.ts","../../../../../src/material-experimental/mdc-list/public-api.ts","../../../../../src/material-experimental/mdc-list/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {InjectionToken} from '@angular/core';\n\n/**\n * Type describing possible positions of a checkbox in a list option\n * with respect to the list item's text.\n */\nexport type MatListOptionCheckboxPosition = 'before'|'after';\n\n/**\n * Interface describing a list option. This is used to avoid circular\n * dependencies between the list-option and the styler directives.\n * @docs-private\n */\nexport interface ListOption {\n _getCheckboxPosition(): MatListOptionCheckboxPosition;\n}\n\n/**\n * Injection token that can be used to reference instances of an `ListOption`. It serves\n * as alternative token to an actual implementation which could result in undesired\n * retention of the class or circular references breaking runtime execution.\n * @docs-private\n */\nexport const LIST_OPTION = new InjectionToken<ListOption>('ListOption');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, Inject, Optional} from '@angular/core';\nimport {LIST_OPTION, ListOption} from './list-option-types';\n\n/**\n * MDC uses the very intuitively named classes `.mdc-list-item__start` and `.mat-list-item__end`\n * to position content such as icons or checkboxes that comes either before or after the text\n * content respectively. This directive detects the placement of the checkbox and applies the\n * correct MDC class to position the icon/avatar on the opposite side.\n * @docs-private\n */\n@Directive({\n selector: '[mat-list-avatar], [matListAvatar], [mat-list-icon], [matListIcon]',\n host: {\n '[class.mdc-list-item__start]': '_isAlignedAtStart()',\n '[class.mdc-list-item__end]': '!_isAlignedAtStart()',\n }\n})\nexport class MatListGraphicAlignmentStyler {\n constructor(\n @Optional() @Inject(LIST_OPTION) public _listOption: ListOption) {}\n\n _isAlignedAtStart() {\n // By default, in all list items the graphic is aligned at start. In list options,\n // the graphic is only aligned at start if the checkbox is at the end.\n return !this._listOption || this._listOption?._getCheckboxPosition() === 'after';\n }\n}\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n selector: '[mat-list-avatar], [matListAvatar]',\n host: {'class': 'mat-mdc-list-avatar'}\n})\nexport class MatListAvatarCssMatStyler {}\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n selector: '[mat-list-icon], [matListIcon]',\n host: {'class': 'mat-mdc-list-icon'}\n})\nexport class MatListIconCssMatStyler {}\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n selector: '[mat-subheader], [matSubheader]',\n // TODO(mmalerba): MDC's subheader font looks identical to the list item font, figure out why and\n // make a change in one of the repos to visually distinguish.\n host: {'class': 'mat-mdc-subheader mdc-list-group__subheader'}\n})\nexport class MatListSubheaderCssMatStyler {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Platform} from '@angular/cdk/platform';\nimport {\n AfterContentInit,\n ContentChildren,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n QueryList\n} from '@angular/core';\nimport {\n MAT_RIPPLE_GLOBAL_OPTIONS,\n RippleConfig,\n RippleGlobalOptions,\n RippleRenderer,\n RippleTarget,\n setLines,\n} from '@angular/material-experimental/mdc-core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {Subscription} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\nimport {MatListAvatarCssMatStyler, MatListIconCssMatStyler} from './list-styling';\n\nfunction toggleClass(el: Element, className: string, on: boolean) {\n if (on) {\n el.classList.add(className);\n } else {\n el.classList.remove(className);\n }\n}\n\n@Directive()\n/** @docs-private */\nexport abstract class MatListItemBase implements AfterContentInit, OnDestroy, RippleTarget {\n /** Query list matching list-item line elements. */\n abstract lines: QueryList<ElementRef<Element>>;\n\n /** Element reference referring to the primary list item text. */\n abstract _itemText: ElementRef<HTMLElement>;\n\n /** Host element for the list item. */\n _hostElement: HTMLElement;\n\n /** Whether animations are disabled. */\n _noopAnimations: boolean;\n\n @ContentChildren(MatListAvatarCssMatStyler, {descendants: false}) _avatars: QueryList<never>;\n @ContentChildren(MatListIconCssMatStyler, {descendants: false}) _icons: QueryList<never>;\n\n @Input()\n get disableRipple(): boolean {\n return this.disabled || this._disableRipple || this._listBase.disableRipple ||\n this._noopAnimations;\n }\n set disableRipple(value: boolean) { this._disableRipple = coerceBooleanProperty(value); }\n private _disableRipple: boolean = false;\n\n /** Whether the list-item is disabled. */\n @HostBinding('class.mdc-list-item--disabled')\n @HostBinding('attr.aria-disabled')\n @Input()\n get disabled(): boolean { return this._disabled || (this._listBase && this._listBase.disabled); }\n set disabled(value: boolean) { this._disabled = coerceBooleanProperty(value); }\n private _disabled = false;\n\n private _subscriptions = new Subscription();\n private _rippleRenderer: RippleRenderer|null = null;\n\n /**\n * Implemented as part of `RippleTarget`.\n * @docs-private\n */\n rippleConfig: RippleConfig & RippleGlobalOptions;\n\n /**\n * Implemented as part of `RippleTarget`.\n * @docs-private\n */\n get rippleDisabled(): boolean { return this.disableRipple || !!this.rippleConfig.disabled; }\n\n constructor(public _elementRef: ElementRef<HTMLElement>, protected _ngZone: NgZone,\n private _listBase: MatListBase, private _platform: Platform,\n @Optional() @Inject(MAT_RIPPLE_GLOBAL_OPTIONS)\n globalRippleOptions?: RippleGlobalOptions,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string) {\n this.rippleConfig = globalRippleOptions || {};\n this._hostElement = this._elementRef.nativeElement;\n this._noopAnimations = animationMode === 'NoopAnimations';\n\n if (!this._listBase._isNonInteractive) {\n this._initInteractiveListItem();\n }\n\n // If no type attribute is specified for a host `<button>` element, set it to `button`. If a\n // type attribute is already specified, we do nothing. We do this for backwards compatibility.\n // TODO: Determine if we intend to continue doing this for the MDC-based list.\n if (this._hostElement.nodeName.toLowerCase() === 'button' &&\n !this._hostElement.hasAttribute('type')) {\n this._hostElement.setAttribute('type', 'button');\n }\n }\n\n ngAfterContentInit() {\n this._monitorLines();\n }\n\n ngOnDestroy() {\n this._subscriptions.unsubscribe();\n if (this._rippleRenderer !== null) {\n this._rippleRenderer._removeTriggerEvents();\n }\n }\n\n /** Gets the label for the list item. This is used for the typeahead. */\n _getItemLabel(): string {\n return this._itemText ? (this._itemText.nativeElement.textContent || '') : '';\n }\n\n /** Whether the list item has icons or avatars. */\n _hasIconOrAvatar() {\n return !!(this._avatars.length || this._icons.length);\n }\n\n private _initInteractiveListItem() {\n this._hostElement.classList.add('mat-mdc-list-item-interactive');\n this._rippleRenderer =\n new RippleRenderer(this, this._ngZone, this._hostElement, this._platform);\n this._rippleRenderer.setupTriggerEvents(this._hostElement);\n }\n\n /**\n * Subscribes to changes in `MatLine` content children and annotates them\n * appropriately when they change.\n */\n private _monitorLines() {\n this._ngZone.runOutsideAngular(() => {\n this._subscriptions.add(this.lines.changes.pipe(startWith(this.lines))\n .subscribe((lines: QueryList<ElementRef<Element>>) => {\n toggleClass(this._hostElement, 'mat-mdc-list-item-single-line', lines.length <= 1);\n toggleClass(this._hostElement, 'mdc-list-item--with-one-line', lines.length <= 1);\n\n lines.forEach((line: ElementRef<Element>, index: number) => {\n toggleClass(\n this._hostElement, 'mdc-list-item--with-two-lines', lines.length === 2);\n toggleClass(\n this._hostElement, 'mdc-list-item--with-three-lines', lines.length === 3);\n toggleClass(line.nativeElement,\n 'mdc-list-item__primary-text', index === 0 && lines.length > 1);\n toggleClass(\n line.nativeElement, 'mdc-list-item__secondary-text', index !== 0);\n });\n setLines(lines, this._elementRef, 'mat-mdc');\n }));\n });\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_disableRipple: BooleanInput;\n}\n\n@Directive()\n/** @docs-private */\nexport abstract class MatListBase {\n @HostBinding('class.mat-mdc-list-non-interactive')\n _isNonInteractive: boolean = true;\n\n /** Whether ripples for all list items is disabled. */\n @Input()\n get disableRipple(): boolean { return this._disableRipple; }\n set disableRipple(value: boolean) { this._disableRipple = coerceBooleanProperty(value); }\n private _disableRipple: boolean = false;\n\n /** Whether all list items are disabled. */\n @HostBinding('attr.aria-disabled')\n @Input()\n get disabled(): boolean { return this._disabled; }\n set disabled(value: boolean) { this._disabled = coerceBooleanProperty(value); }\n private _disabled = false;\n\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_disableRipple: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {MatListBase} from './list-base';\n\n@Component({\n selector: 'mat-action-list',\n exportAs: 'matActionList',\n template: '<ng-content></ng-content>',\n host: {\n 'class': 'mat-mdc-action-list mat-mdc-list-base mdc--list',\n },\n styleUrls: ['list.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {provide: MatListBase, useExisting: MatActionList},\n ]\n})\nexport class MatActionList extends MatListBase {\n // An navigation list is considered interactive, but does not extend the interactive list\n // base class. We do this because as per MDC, items of interactive lists are only reachable\n // through keyboard shortcuts. We want all items for the navigation list to be reachable\n // through tab key as we do not intend to provide any special accessibility treatment. The\n // accessibility treatment depends on how the end-user will interact with it.\n override _isNonInteractive = false;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform} from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n Inject,\n NgZone,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n MatLine,\n MAT_RIPPLE_GLOBAL_OPTIONS,\n RippleGlobalOptions,\n} from '@angular/material-experimental/mdc-core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {MatListBase, MatListItemBase} from './list-base';\n\n@Component({\n selector: 'mat-list',\n exportAs: 'matList',\n template: '<ng-content></ng-content>',\n host: {\n 'class': 'mat-mdc-list mat-mdc-list-base mdc-list',\n },\n styleUrls: ['list.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {provide: MatListBase, useExisting: MatList},\n ]\n})\nexport class MatList extends MatListBase {}\n\n@Component({\n selector: 'mat-list-item, a[mat-list-item], button[mat-list-item]',\n exportAs: 'matListItem',\n host: {\n 'class': 'mat-mdc-list-item mdc-list-item',\n '[class.mdc-list-item--with-leading-avatar]': '_avatars.length !== 0',\n '[class.mdc-list-item--with-leading-icon]': '_icons.length !== 0',\n // If there are projected lines, we project the remaining content into the `mdc-list-item__end`\n // container. In order to make sure the container aligns properly (if there is content), we add\n // the trailing meta class. Note that we also add this even if there is no projected `meta`\n // content. This is because there is no good way to check for remaining projected content.\n '[class.mdc-list-item--with-trailing-meta]': 'lines.length !== 0',\n '[class._mat-animation-noopable]': '_noopAnimations',\n },\n templateUrl: 'list-item.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatListItem extends MatListItemBase {\n @ContentChildren(MatLine, {read: ElementRef, descendants: true}) lines:\n QueryList<ElementRef<Element>>;\n @ViewChild('text') _itemText: ElementRef<HTMLElement>;\n\n constructor(\n element: ElementRef,\n ngZone: NgZone,\n listBase: MatListBase,\n platform: Platform,\n @Optional() @Inject(MAT_RIPPLE_GLOBAL_OPTIONS) globalRippleOptions?: RippleGlobalOptions,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string) {\n super(element, ngZone, listBase, platform, globalRippleOptions, animationMode);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {Platform} from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n MatLine,\n MAT_RIPPLE_GLOBAL_OPTIONS,\n RippleGlobalOptions,\n ThemePalette,\n} from '@angular/material-experimental/mdc-core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {MatListBase, MatListItemBase} from './list-base';\nimport {LIST_OPTION, ListOption, MatListOptionCheckboxPosition} from './list-option-types';\n\n/**\n * Injection token that can be used to reference instances of an `SelectionList`. It serves\n * as alternative token to an actual implementation which would result in circular references.\n * @docs-private\n */\nexport const SELECTION_LIST = new InjectionToken<SelectionList>('SelectionList');\n\n/**\n * Interface describing the containing list of an list option. This is used to avoid\n * circular dependencies between the list-option and the selection list.\n * @docs-private\n */\nexport interface SelectionList extends MatListBase {\n multiple: boolean;\n color: ThemePalette;\n selectedOptions: SelectionModel<MatListOption>;\n compareWith: (o1: any, o2: any) => boolean;\n _value: string[]|null;\n _reportValueChange: () => void;\n _onTouched: () => void;\n}\n\n@Component({\n selector: 'mat-list-option',\n exportAs: 'matListOption',\n styleUrls: ['list-option.css'],\n host: {\n 'class': 'mat-mdc-list-item mat-mdc-list-option mdc-list-item',\n 'role': 'option',\n // As per MDC, only list items in single selection mode should receive the `--selected`\n // class. For multi selection, the checkbox is used as indicator.\n '[class.mdc-list-item--selected]': 'selected && !_selectionList.multiple',\n // Based on the checkbox position and whether there are icons or avatars, we apply MDC's\n // list-item `--leading` and `--trailing` classes.\n '[class.mdc-list-item--with-leading-avatar]': '_hasProjected(\"avatars\", \"before\")',\n '[class.mdc-list-item--with-leading-icon]': '_hasProjected(\"icons\", \"before\")',\n '[class.mdc-list-item--with-trailing-icon]': '_hasProjected(\"icons\", \"after\")',\n '[class.mat-mdc-list-option-with-trailing-avatar]': '_hasProjected(\"avatars\", \"after\")',\n // Based on the checkbox position, we apply the `--leading` or `--trailing` MDC classes\n // which ensure that the checkbox is positioned correctly within the list item.\n '[class.mdc-list-item--with-leading-checkbox]': '_hasCheckboxAt(\"before\")',\n '[class.mdc-list-item--with-trailing-checkbox]': '_hasCheckboxAt(\"after\")',\n '[class.mat-accent]': 'color !== \"primary\" && color !== \"warn\"',\n '[class.mat-warn]': 'color === \"warn\"',\n '[class._mat-animation-noopable]': '_noopAnimations',\n '(blur)': '_handleBlur()',\n },\n templateUrl: 'list-option.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {provide: MatListItemBase, useExisting: MatListOption},\n {provide: LIST_OPTION, useExisting: MatListOption},\n ]\n})\nexport class MatListOption extends MatListItemBase implements ListOption, OnInit, OnDestroy {\n /**\n * This is set to true after the first OnChanges cycle so we don't\n * clear the value of `selected` in the first cycle.\n */\n private _inputsInitialized = false;\n\n /**\n * Emits when the selected state of the option has changed.\n * Use to facilitate two-data binding to the `selected` property.\n * @docs-private\n */\n @Output()\n readonly selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ViewChild('text') _itemText: ElementRef<HTMLElement>;\n\n @ContentChildren(MatLine, {read: ElementRef, descendants: true}) lines:\n QueryList<ElementRef<Element>>;\n\n /** Whether the label should appear before or after the checkbox. Defaults to 'after' */\n @Input() checkboxPosition: MatListOptionCheckboxPosition = 'after';\n\n /** Theme color of the list option. This sets the color of the checkbox. */\n @Input()\n get color(): ThemePalette { return this._color || this._selectionList.color; }\n set color(newValue: ThemePalette) { this._color = newValue; }\n private _color: ThemePalette;\n\n /** Value of the option */\n @Input()\n get value(): any { return this._value; }\n set value(newValue: any) {\n if (this.selected && newValue !== this.value && this._inputsInitialized) {\n this.selected = false;\n }\n\n this._value = newValue;\n }\n private _value: any;\n\n /** Whether the option is selected. */\n @Input()\n get selected(): boolean { return this._selectionList.selectedOptions.isSelected(this); }\n set selected(value: boolean) {\n const isSelected = coerceBooleanProperty(value);\n\n if (isSelected !== this._selected) {\n this._setSelected(isSelected);\n\n if (isSelected || this._selectionList.multiple) {\n this._selectionList._reportValueChange();\n }\n }\n }\n private _selected = false;\n\n constructor(\n element: ElementRef,\n ngZone: NgZone,\n platform: Platform,\n @Inject(SELECTION_LIST) public _selectionList: SelectionList,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(MAT_RIPPLE_GLOBAL_OPTIONS) globalRippleOptions?: RippleGlobalOptions,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string) {\n super(element, ngZone, _selectionList, platform, globalRippleOptions, animationMode);\n\n // By default, we mark all options as unselected. The MDC list foundation will\n // automatically update the attribute based on selection. Note that we need to\n // initially set this because MDC does not set the default attributes for list\n // items but expects items to be set up properly in the static markup.\n element.nativeElement.setAttribute('aria-selected', 'false');\n }\n\n ngOnInit() {\n const list = this._selectionList;\n\n if (list._value && list._value.some(value => list.compareWith(value, this._value))) {\n this._setSelected(true);\n }\n\n const wasSelected = this._selected;\n\n // List options that are selected at initialization can't be reported properly to the form\n // control. This is because it takes some time until the selection-list knows about all\n // available options. Also it can happen that the ControlValueAccessor has an initial value\n // that should be used instead. Deferring the value change report to the next tick ensures\n // that the form control value is not being overwritten.\n Promise.resolve().then(() => {\n if (this._selected || wasSelected) {\n this.selected = true;\n this._changeDetectorRef.markForCheck();\n }\n });\n this._inputsInitialized = true;\n }\n\n override ngOnDestroy(): void {\n if (this.selected) {\n // We have to delay this until the next tick in order\n // to avoid changed after checked errors.\n Promise.resolve().then(() => {\n this.selected = false;\n });\n }\n }\n\n /** Toggles the selection state of the option. */\n toggle(): void {\n this.selected = !this.selected;\n }\n\n /** Allows for programmatic focusing of the option. */\n focus(): void {\n this._hostElement.focus();\n }\n\n /** Whether a checkbox is shown at the given position. */\n _hasCheckboxAt(position: MatListOptionCheckboxPosition): boolean {\n return this._selectionList.multiple && this._getCheckboxPosition() === position;\n }\n\n /** Whether icons or avatars are shown at the given position. */\n _hasIconsOrAvatarsAt(position: 'before'|'after'): boolean {\n return this._hasProjected('icons', position) || this._hasProjected('avatars', position);\n }\n\n /** Gets whether the given type of element is projected at the specified position. */\n _hasProjected(type: 'icons'|'avatars', position: 'before'|'after'): boolean {\n // If the checkbox is shown at the specified position, neither icons or\n // avatars can be shown at the position.\n return this._getCheckboxPosition() !== position &&\n (type === 'avatars' ? this._avatars.length !== 0 : this._icons.length !== 0);\n }\n\n _handleBlur() {\n this._selectionList._onTouched();\n }\n\n /** Gets the current position of the checkbox. */\n _getCheckboxPosition() {\n return this.checkboxPosition || 'after';\n }\n\n /**\n * Sets the selected state of the option.\n * @returns Whether the value has changed.\n */\n _setSelected(selected: boolean): boolean {\n if (selected === this._selected) {\n return false;\n }\n\n this._selected = selected;\n\n if (selected) {\n this._selectionList.selectedOptions.select(this);\n } else {\n this._selectionList.selectedOptions.deselect(this);\n }\n\n this.selectedChange.emit(selected);\n this._changeDetectorRef.markForCheck();\n return true;\n }\n\n /**\n * Notifies Angular that the option needs to be checked in the next change detection run.\n * Mainly used to trigger an update of the list option if the disabled state of the selection\n * list changed.\n */\n _markForCheck() {\n this._changeDetectorRef.markForCheck();\n }\n\n static ngAcceptInputType_selected: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {MatListBase} from './list-base';\n\n@Component({\n selector: 'mat-nav-list',\n exportAs: 'matNavList',\n template: '<ng-content></ng-content>',\n host: {\n 'class': 'mat-mdc-nav-list mat-mdc-list-base mdc-list',\n },\n styleUrls: ['list.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {provide: MatListBase, useExisting: MatNavList},\n ]\n})\nexport class MatNavList extends MatListBase {\n // An navigation list is considered interactive, but does not extend the interactive list\n // base class. We do this because as per MDC, items of interactive lists are only reachable\n // through keyboard shortcuts. We want all items for the navigation list to be reachable\n // through tab key as we do not intend to provide any special accessibility treatment. The\n // accessibility treatment depends on how the end-user will interact with it.\n override _isNonInteractive = false;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n HostListener,\n Inject,\n OnDestroy,\n QueryList\n} from '@angular/core';\nimport {MDCListAdapter, MDCListFoundation} from '@material/list';\nimport {Subscription} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\nimport {MatListBase, MatListItemBase} from './list-base';\n\n@Directive()\n/** @docs-private */\nexport abstract class MatInteractiveListBase<T extends MatListItemBase>\n extends MatListBase implements AfterViewInit, OnDestroy {\n\n @HostListener('keydown', ['$event'])\n _handleKeydown(event: KeyboardEvent) {\n const index = this._indexForElement(event.target as HTMLElement);\n this._foundation.handleKeydown(\n event, this._elementAtIndex(index) === event.target, index);\n }\n\n @HostListener('click', ['$event'])\n _handleClick(event: MouseEvent) {\n // The `toggleCheckbox` parameter can always be `true` as it only has an effect if the list\n // is recognized as checkbox selection list. For such lists, we would always want to toggle\n // the checkbox on list item click. MDC added this parameter so that they can avoid dispatching\n // a fake `change` event when the checkbox is directly clicked for the list item. We don't\n // need this as we require such list item checkboxes to stop propagation of the change event.\n // https://github.com/material-components/material-components-web/blob/08ca4d0ec5f359bc3a20bd2a302fa6b733b5e135/packages/mdc-list/component.ts#L308-L310\n this._foundation.handleClick(this._indexForElement(event.target as HTMLElement),\n /* toggleCheckbox */ true);\n }\n\n @HostListener('focusin', ['$event'])\n _handleFocusin(event: FocusEvent) {\n const itemIndex = this._indexForElement(event.target as HTMLElement);\n const tabIndex = this._itemsArr[itemIndex]?._hostElement.tabIndex;\n\n // If the newly focused item is not the designated item that should have received focus\n // first through keyboard interaction, the tabindex of the previously designated list item\n // needs to be cleared, so that only one list item is reachable through tab key at any time.\n // MDC sets a tabindex for the newly focused item, so we do not need to set a tabindex for it.\n // Workaround for: https://github.com/material-components/material-components-web/issues/6363.\n if (tabIndex === undefined || tabIndex === -1) {\n this._clearTabindexForAllItems();\n }\n\n this._foundation.handleFocusIn(itemIndex);\n }\n\n @HostListener('focusout', ['$event'])\n _handleFocusout(event: FocusEvent) {\n this._foundation.handleFocusOut(this._indexForElement(event.target as HTMLElement));\n }\n\n /** Items in the interactive list. */\n abstract _items: QueryList<T>;\n _itemsArr: T[] = [];\n _document: Document;\n\n protected _foundation: MDCListFoundation;\n protected _adapter: MDCListAdapter;\n\n private _subscriptions = new Subscription();\n\n protected constructor(public _element: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) document: any) {\n super();\n this._document = document;\n this._isNonInteractive = false;\n }\n\n protected _initWithAdapter(adapter: MDCListAdapter) {\n this._adapter = adapter;\n this._foundation = new MDCListFoundation(adapter);\n }\n\n ngAfterViewInit() {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !this._foundation) {\n throw Error('MDC list foundation not initialized for Angular Material list.');\n }\n\n this._foundation.init();\n this._watchListItems();\n\n // Enable typeahead and focus wrapping for interactive lists.\n this._foundation.setHasTypeahead(true);\n this._foundation.setWrapFocus(true);\n }\n\n ngOnDestroy() {\n this._foundation.destroy();\n this._subscriptions.unsubscribe();\n }\n\n protected _watchListItems() {\n this._subscriptions.add(this._items.changes.pipe(startWith(null)).subscribe(() => {\n this._itemsArr = this._items.toArray();\n // Whenever the items change, the foundation needs to be notified through the `layout`\n // method. It caches items for the typeahead and detects the list type based on the items.\n this._foundation.layout();\n\n // The list items changed, so we reset the tabindex for all items and\n // designate one list item that will be reachable through tab.\n this._resetTabindexToFirstSelectedOrFocusedItem();\n }));\n }\n\n /**\n * Clears the tabindex of all items so that no items are reachable through tab key.\n * MDC intends to always have only one tabbable item that will receive focus first.\n * This first item is selected by MDC automatically on blur or by manually invoking\n * the `setTabindexToFirstSelectedOrFocusedItem` method.\n */\n private _clearTabindexForAllItems() {\n for (let items of this._itemsArr) {\n items._hostElement.setAttribute('tabindex', '-1');\n }\n }\n\n /**\n * Resets tabindex for all options and sets tabindex for the first selected option or\n * previously focused item so that an item can be reached when users tab into the list.\n */\n protected _resetTabindexToFirstSelectedOrFocusedItem() {\n this._clearTabindexForAllItems();\n // MDC does not expose the method for setting the tabindex to the first selected\n // or previously focused item. We can still access the method as private class\n // members are accessible in the transpiled JavaScript. Tracked upstream with:\n // TODO: https://github.com/material-components/material-components-web/issues/6375\n (this._foundation as any).setTabindexToFirstSelectedOrFocusedItem();\n }\n\n _elementAtIndex(index: number): HTMLElement|undefined {\n return this._itemsArr[index]?._hostElement;\n }\n\n _indexForElement(element: Element | null): number {\n return element ?\n this._itemsArr.findIndex(i => i._hostElement.contains(element)) : -1;\n }\n}\n\n// TODO: replace with class once material-components-web/pull/6256 is available.\n/** Gets an instance of `MDcListAdapter` for the given interactive list. */\nexport function getInteractiveListAdapter(\n list: MatInteractiveListBase<MatListItemBase>): MDCListAdapter {\n return {\n getListItemCount() {\n return list._items.length;\n },\n listItemAtIndexHasClass(index: number, className: string) {\n const element = list._elementAtIndex(index);\n return element ? element.classList.contains(className) : false;\n },\n addClassForElementIndex(index: number, className: string) {\n list._elementAtIndex(index)?.classList.add(className);\n },\n removeClassForElementIndex(index: number, className: string) {\n list._elementAtIndex(index)?.classList.remove(className);\n },\n getAttributeForElementIndex(index: number, attr: string) {\n const element = list._elementAtIndex(index);\n return element ? element.getAttribute(attr) : null;\n },\n setAttributeForElementIndex(index: number, attr: string, value: string) {\n list._elementAtIndex(index)?.setAttribute(attr, value);\n },\n getFocusedElementIndex() {\n return list._indexForElement(list._document?.activeElement);\n },\n isFocusInsideList() {\n return list._element.nativeElement.contains(list._document?.activeElement);\n },\n isRootFocused() {\n return list._element.nativeElement === list._document?.activeElement;\n },\n focusItemAtIndex(index: number) {\n list._elementAtIndex(index)?.focus();\n },\n // Gets the text for a list item for the typeahead\n getPrimaryTextAtIndex(index: number) {\n return list._itemsArr[index]._getItemLabel();\n },\n\n // MDC uses this method to disable focusable children of list items. However, we believe that\n // this is not an accessible pattern and should be avoided, therefore we intentionally do not\n // implement this method. In addition, implementing this would require violating Angular\n // Material's general principle of not having components modify DOM elements they do not own.\n // A user who feels they really need this feature can simply listen to the `(focus)` and\n // `(blur)` events on the list item and enable/disable focus on the children themselves as\n // appropriate.\n setTabIndexForListItemChildren() {},\n\n // The following methods have a dummy implementation in the base class because they are only\n // applicable to certain types of lists. They should be implemented for the concrete classes\n // where they are applicable.\n hasCheckboxAtIndex() { return false; },\n hasRadioAtIndex(index: number) { return false; },\n setCheckedCheckboxOrRadioAtIndex(index: number, checked: boolean) {},\n isCheckboxCheckedAtIndex(index: number) { return false; },\n notifyAction() {},\n };\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ThemePalette} from '@angular/material-experimental/mdc-core';\nimport {MDCListAdapter, numbers as mdcListNumbers} from '@material/list';\nimport {Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {getInteractiveListAdapter, MatInteractiveListBase} from './interactive-list-base';\nimport {MatListBase} from './list-base';\nimport {MatListOption, SELECTION_LIST, SelectionList} from './list-option';\n\nconst MAT_SELECTION_LIST_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSelectionList),\n multi: true\n};\n\n/** Change event that is being fired whenever the selected state of an option changes. */\nexport class MatSelectionListChange {\n constructor(\n /** Reference to the selection list that emitted the event. */\n public source: MatSelectionList,\n /**\n * Reference to the option that has been changed.\n * @deprecated Use `options` instead, because some events may change more than one option.\n * @breaking-change 12.0.0\n */\n public option: MatListOption,\n /** Reference to the options that have been changed. */\n public options: MatListOption[]) {}\n}\n\n@Component({\n selector: 'mat-selection-list',\n exportAs: 'matSelectionList',\n host: {\n 'class': 'mat-mdc-selection-list mat-mdc-list-base mdc-list',\n 'role': 'listbox',\n '[attr.aria-multiselectable]': 'multiple',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['list.css'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n MAT_SELECTION_LIST_VALUE_ACCESSOR,\n {provide: MatListBase, useExisting: MatSelectionList},\n {provide: SELECTION_LIST, useExisting: MatSelectionList},\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatSelectionList extends MatInteractiveListBase<MatListOption>\n implements SelectionList, ControlValueAccessor, AfterViewInit, OnChanges, OnDestroy {\n\n private _multiple = true;\n private _initialized = false;\n\n @ContentChildren(MatListOption, {descendants: true}) _items: QueryList<MatListOption>;\n\n /** Emits a change event whenever the selected state of an option changes. */\n @Output() readonly selectionChange: EventEmitter<MatSelectionListChange> =\n new EventEmitter<MatSelectionListChange>();\n\n /** Theme color of the selection list. This sets the checkbox color for all list options. */\n @Input() color: ThemePalette = 'accent';\n\n /**\n * Function used for comparing an option against the selected value when determining which\n * options should appear as selected. The first argument is the value of an options. The second\n * one is a value from the selected value. A boolean must be returned.\n */\n @Input() compareWith: (o1: any, o2: any) => boolean = (a1, a2) => a1 === a2;\n\n /** Whether selection is limited to one or multiple items (default multiple). */\n @Input()\n get multiple(): boolean { return this._multiple; }\n set multiple(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n\n if (newValue !== this._multiple) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && this._initialized) {\n throw new Error(\n 'Cannot change `multiple` mode of mat-selection-list after initialization.');\n }\n\n this._multiple = newValue;\n this.selectedOptions = new SelectionModel(this._multiple, this.selectedOptions.selected);\n }\n }\n\n /** The currently selected options. */\n selectedOptions = new SelectionModel<MatListOption>(this._multiple);\n\n /** View to model callback that should be called whenever the selected options change. */\n private _onChange: (value: any) => void = (_: any) => {};\n\n /** Keeps track of the currently-selected value. */\n _value: string[]|null;\n\n /** Emits when the list has been destroyed. */\n private _destroyed = new Subject<void>();\n\n /** View to model callback that should be called if the list or its options lost focus. */\n _onTouched: () => void = () => {};\n\n /** Whether the list has been destroyed. */\n private _isDestroyed: boolean;\n\n constructor(element: ElementRef<HTMLElement>, @Inject(DOCUMENT) document: any) {\n super(element, document);\n super._initWithAdapter(getSelectionListAdapter(this));\n }\n\n override ngAfterViewInit() {\n // Mark the selection list as initialized so that the `multiple`\n // binding can no longer be changed.\n this._initialized = true;\n\n // Update the options if a control value has been set initially. Note that this should happen\n // before watching for selection changes as otherwise we would sync options with MDC multiple\n // times as part of view initialization (also the foundation would not be initialized yet).\n if (this._value) {\n this._setOptionsFromValues(this._value);\n }\n\n // Start monitoring the selected options so that the list foundation can be\n // updated accordingly.\n this._watchForSelectionChange();\n\n // Initialize the list foundation, including the initial `layout()` invocation.\n super.ngAfterViewInit();\n\n // List options can be pre-selected using the `selected` input. We need to sync the selected\n // options after view initialization with the foundation so that focus can be managed\n // accordingly. Note that this needs to happen after the initial `layout()` call because the\n // list wouldn't know about multi-selection and throw.\n if (this._items.length !== 0) {\n this._syncSelectedOptionsWithFoundation();\n this._resetTabindexForItemsIfBlurred();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const disabledChanges = changes['disabled'];\n const disableRippleChanges = changes['disableRipple'];\n\n if ((disableRippleChanges && !disableRippleChanges.firstChange) ||\n (disabledChanges && !disabledChanges.firstChange)) {\n this._markOptionsForCheck();\n }\n }\n\n override ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n this._isDestroyed = true;\n }\n\n /** Focuses the selection list. */\n focus(options?: FocusOptions) {\n this._element.nativeElement.focus(options);\n }\n\n /** Selects all of the options. Returns the options that changed as a result. */\n selectAll(): MatListOption[] {\n return this._setAllOptionsSelected(true);\n }\n\n /** Deselects all of the options. Returns the options that changed as a result. */\n deselectAll(): MatListOption[] {\n return this._setAllOptionsSelected(false);\n }\n\n /** Reports a value change to the ControlValueAccessor */\n _reportValueChange() {\n // Stop reporting value changes after the list has been destroyed. This avoids\n // cases where the list might wrongly reset its value once it is removed, but\n // the form control is still live.\n if (this.options && !this._isDestroyed) {\n const value = this._getSelectedOptionValues();\n this._onChange(value);\n this._value = value;\n }\n }\n\n /** Emits a change event if the selected state of an option changed. */\n _emitChangeEvent(options: MatListOption[]) {\n this.selectionChange.emit(new MatSelectionListChange(this, options[0], options));\n }\n\n /** Implemented as part of ControlValueAccessor. */\n writeValue(values: string[]): void {\n this._value = values;\n\n if (this.options) {\n this._setOptionsFromValues(values || []);\n }\n }\n\n /** Implemented as a part of ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnChange(fn: (value: any) => void): void {\n this._onChange = fn;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n /**\n * Resets tabindex for all options and sets tabindex for the first selected option so that\n * it will become active when users tab into the selection-list. This will be a noop if the\n * list is currently focused as otherwise multiple options might become reachable through tab.\n * e.g. A user currently already focused an option. We set tabindex to a new option but the\n * focus on the current option does persist. Pressing `TAB` then might go to the other option\n * that received a tabindex. We can skip the reset here as the MDC foundation resets the\n * tabindex to the first selected option automatically once the current item is blurred.\n */\n private _resetTabindexForItemsIfBlurred() {\n // If focus is inside the list already, then we do not change the tab index of the list.\n // Changing it while an item is focused could cause multiple items to be reachable through\n // the tab key. The MDC list foundation will update the tabindex on blur to the appropriate\n // selected or focused item.\n if (!this._adapter.isFocusInsideList()) {\n this._resetTabindexToFirstSelectedOrFocusedItem();\n }\n }\n\n private _watchForSelectionChange() {\n // Sync external changes to the model back to the options.\n this.selectedOptions.changed.pipe(takeUntil(this._destroyed)).subscribe(event => {\n if (event.added) {\n for (let item of event.added) {\n item.selected = true;\n }\n }\n\n if (event.removed) {\n for (let item of event.removed) {\n item.selected = false;\n }\n }\n\n // Sync the newly selected options with the foundation. Also reset tabindex for all\n // items if the list is currently not focused. We do this so that always the first\n // selected list item is focused when users tab into the selection list.\n this._syncSelectedOptionsWithFoundation();\n this._resetTabindexForItemsIfBlurred();\n });\n }\n\n private _syncSelectedOptionsWithFoundation() {\n if (this._multiple) {\n this._foundation.setSelectedIndex(this.selectedOptions.selected\n .map(o => this._itemsArr.indexOf(o)));\n } else {\n const selected = this.selectedOptions.selected[0];\n const index = selected === undefined ?\n mdcListNumbers.UNSET_INDEX : this._itemsArr.indexOf(selected);\n this._foundation.setSelectedIndex(index);\n }\n }\n\n /** Sets the selected options based on the specified values. */\n private _setOptionsFromValues(values: string[]) {\n this.options.forEach(option => option._setSelected(false));\n\n values.forEach(value => {\n const correspondingOption = this.options.find(option => {\n // Skip options that are already in the model. This allows us to handle cases\n // where the same primitive value is selected multiple times.\n return option.selected ? false : this.compareWith(option.value, value);\n });\n\n if (correspondingOption) {\n correspondingOption._setSelected(true);\n }\n });\n }\n\n /** Returns the values of the selected options. */\n private _getSelectedOptionValues(): string[] {\n return this.options.filter(option => option.selected).map(option => option.value);\n }\n\n /** Marks all the options to be checked in the next change detection run. */\n private _markOptionsForCheck() {\n if (this.options) {\n this.options.forEach(option => option._markForCheck());\n }\n }\n\n /**\n * Sets the selected state on all of the options\n * and emits an event if anything changed.\n */\n private _setAllOptionsSelected(isSelected: boolean, skipDisabled?: boolean): MatListOption[] {\n // Keep track of whether anything changed, because we only want to\n // emit the changed event when something actually changed.\n const changedOptions: MatListOption[] = [];\n\n this.options.forEach(option => {\n if ((!skipDisabled || !option.disabled) && option._setSelected(isSelected)) {\n changedOptions.push(option);\n }\n });\n\n if (changedOptions.length) {\n this._reportValueChange();\n }\n\n return changedOptions;\n }\n\n // Note: This getter exists for backwards compatibility. The `_items` query list\n // cannot be named `options` as it will be picked up by the interactive list base.\n /** The option components contained within this selection-list. */\n get options(): QueryList<MatListOption> {\n return this._items;\n }\n\n static ngAcceptInputType_multiple: BooleanInput;\n}\n\n// TODO: replace with class using inheritance once material-components-web/pull/6256 is available.\n/** Gets a `MDCListAdapter` instance for the given selection list. */\nfunction getSelectionListAdapter(list: MatSelectionList): MDCListAdapter {\n const baseAdapter = getInteractiveListAdapter(list);\n return {\n ...baseAdapter,\n hasRadioAtIndex(): boolean {\n // If multi selection is not used, we treat the list as a radio list so that\n // the MDC foundation does not keep track of multiple selected list options.\n // Note that we cannot use MDC's non-radio single selection mode as that one\n // will keep track of the selection state internally and we cannot update a\n // control model, or notify/update list-options on selection change. The radio\n // mode is similar to what we want but with support for change notification\n // (i.e. `setCheckedCheckboxOrRadioAtIndex`) while maintaining single selection.\n return !list.multiple;\n },\n hasCheckboxAtIndex() {\n // If multi selection is used, we treat the list as a checkbox list so that\n // the MDC foundation can keep track of multiple selected list options.\n return list.multiple;\n },\n isCheckboxCheckedAtIndex(index: number) {\n return list._itemsArr[index].selected;\n },\n setCheckedCheckboxOrRadioAtIndex(index: number, checked: boolean) {\n list._itemsArr[index].selected = checked;\n },\n setAttributeForElementIndex(index: number, attribute: string, value: string): void {\n // MDC list by default sets `aria-checked` for multi selection lists. We do not want to\n // use this as that signifies a bad accessibility experience. Instead, we change the\n // attribute update to `aria-selected` as that works best with list-options. See:\n // https://github.com/material-components/material-components-web/issues/6367.\n // TODO: Remove this once material-components-web#6367 is improved/fixed.\n if (attribute === 'aria-checked') {\n attribute = 'aria-selected';\n }\n\n baseAdapter.setAttributeForElementIndex(index, attribute, value);\n },\n notifyAction(index: number): void {\n list._emitChangeEvent([list._itemsArr[index]]);\n },\n };\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n MatLineModule,\n MatPseudoCheckboxModule,\n MatRippleModule,\n MatCommonModule,\n} from '@angular/material-experimental/mdc-core';\nimport {MatDividerModule} from '@angular/material/divider';\nimport {MatActionList} from './action-list';\nimport {MatList, MatListItem} from './list';\nimport {MatListOption} from './list-option';\nimport {\n MatListAvatarCssMatStyler,\n MatListGraphicAlignmentStyler,\n MatListIconCssMatStyler,\n MatListSubheaderCssMatStyler\n} from './list-styling';\nimport {MatNavList} from './nav-list';\nimport {MatSelectionList} from './selection-list';\n\n@NgModule({\n imports: [\n CommonModule,\n MatCommonModule,\n MatLineModule,\n MatRippleModule,\n MatPseudoCheckboxModule,\n ],\n exports: [\n MatList,\n MatActionList,\n MatNavList,\n MatSelectionList,\n MatListItem,\n MatListOption,\n MatListAvatarCssMatStyler,\n MatListIconCssMatStyler,\n MatListSubheaderCssMatStyler,\n MatListGraphicAlignmentStyler,\n MatDividerModule,\n MatLineModule,\n ],\n declarations: [\n MatList,\n MatActionList,\n MatNavList,\n MatSelectionList,\n MatListItem,\n MatListOption,\n MatListAvatarCssMatStyler,\n MatListIconCssMatStyler,\n MatListSubheaderCssMatStyler,\n MatListGraphicAlignmentStyler,\n ]\n})\nexport class MatListModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './action-list';\nexport * from './list';\nexport * from './module';\nexport * from './nav-list';\nexport * from './selection-list';\nexport * from './list-option';\nexport * from './list-styling';\nexport {MatListOptionCheckboxPosition} from './list-option-types';\nexport {MatListOption} from './list-option';\n\nexport {\n MAT_LIST,\n MAT_NAV_LIST,\n MAT_SELECTION_LIST_VALUE_ACCESSOR,\n} from '@angular/material/list';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {MatInteractiveListBase as ɵangular_material_src_material_experimental_mdc_list_mdc_list_e} from './interactive-list-base';\nexport {MatListBase as ɵangular_material_src_material_experimental_mdc_list_mdc_list_d,MatListItemBase as ɵangular_material_src_material_experimental_mdc_list_mdc_list_c} from './list-base';\nexport {LIST_OPTION as ɵangular_material_src_material_experimental_mdc_list_mdc_list_b,ListOption as ɵangular_material_src_material_experimental_mdc_list_mdc_list_a} from './list-option-types';"],"names":["InjectionToken","Directive","Optional","Inject","Subscription","coerceBooleanProperty","RippleRenderer","startWith","setLines","ElementRef","NgZone","Platform","MAT_RIPPLE_GLOBAL_OPTIONS","ANIMATION_MODULE_TYPE","ContentChildren","Input","HostBinding","Component","ViewEncapsulation","ChangeDetectionStrategy","MatLine","ViewChild","EventEmitter","ChangeDetectorRef","Output","MDCListFoundation","DOCUMENT","HostListener","NG_VALUE_ACCESSOR","forwardRef","SelectionModel","Subject","takeUntil","mdcListNumbers","NgModule","CommonModule","MatCommonModule","MatLineModule","MatRippleModule","MatPseudoCheckboxModule","MatDividerModule"],"mappings":"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"}
@@ -239,7 +239,7 @@
239
239
  ar[i] = from[i];
240
240
  }
241
241
  }
242
- return to.concat(ar || from);
242
+ return to.concat(ar || Array.prototype.slice.call(from));
243
243
  }
244
244
  function __await(v) {
245
245
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -344,7 +344,7 @@
344
344
  return MatMenuHarness;
345
345
  }(testing$1._MatMenuHarnessBase));
346
346
  /** The selector for the host element of a `MatMenu` instance. */
347
- MatMenuHarness.hostSelector = '.mat-menu-trigger';
347
+ MatMenuHarness.hostSelector = '.mat-mdc-menu-trigger';
348
348
  /** Harness for interacting with an MDC-based mat-menu-item in tests. */
349
349
  var MatMenuItemHarness = /** @class */ (function (_super) {
350
350
  __extends(MatMenuItemHarness, _super);