@angular/material 5.2.1 → 5.2.5

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 (191) hide show
  1. package/_theming.scss +13 -10
  2. package/autocomplete/typings/index.metadata.json +1 -1
  3. package/bundles/material-autocomplete.umd.js +1 -1
  4. package/bundles/material-autocomplete.umd.js.map +1 -1
  5. package/bundles/material-autocomplete.umd.min.js +1 -1
  6. package/bundles/material-autocomplete.umd.min.js.map +1 -1
  7. package/bundles/material-button.umd.js +2 -2
  8. package/bundles/material-button.umd.js.map +1 -1
  9. package/bundles/material-button.umd.min.js +1 -1
  10. package/bundles/material-button.umd.min.js.map +1 -1
  11. package/bundles/material-chips.umd.js +4 -0
  12. package/bundles/material-chips.umd.js.map +1 -1
  13. package/bundles/material-chips.umd.min.js +1 -1
  14. package/bundles/material-chips.umd.min.js.map +1 -1
  15. package/bundles/material-core.umd.js +64 -33
  16. package/bundles/material-core.umd.js.map +1 -1
  17. package/bundles/material-core.umd.min.js +1 -1
  18. package/bundles/material-core.umd.min.js.map +1 -1
  19. package/bundles/material-dialog.umd.js +12 -9
  20. package/bundles/material-dialog.umd.js.map +1 -1
  21. package/bundles/material-dialog.umd.min.js +1 -1
  22. package/bundles/material-dialog.umd.min.js.map +1 -1
  23. package/bundles/material-expansion.umd.js +1 -1
  24. package/bundles/material-expansion.umd.js.map +1 -1
  25. package/bundles/material-expansion.umd.min.js +1 -1
  26. package/bundles/material-expansion.umd.min.js.map +1 -1
  27. package/bundles/material-grid-list.umd.js +7 -7
  28. package/bundles/material-grid-list.umd.js.map +1 -1
  29. package/bundles/material-grid-list.umd.min.js +1 -1
  30. package/bundles/material-grid-list.umd.min.js.map +1 -1
  31. package/bundles/material-list.umd.js +46 -41
  32. package/bundles/material-list.umd.js.map +1 -1
  33. package/bundles/material-list.umd.min.js +3 -3
  34. package/bundles/material-list.umd.min.js.map +1 -1
  35. package/bundles/material-menu.umd.js +5 -5
  36. package/bundles/material-menu.umd.js.map +1 -1
  37. package/bundles/material-menu.umd.min.js +1 -1
  38. package/bundles/material-menu.umd.min.js.map +1 -1
  39. package/bundles/material-paginator.umd.js +2 -2
  40. package/bundles/material-paginator.umd.js.map +1 -1
  41. package/bundles/material-paginator.umd.min.js +1 -1
  42. package/bundles/material-paginator.umd.min.js.map +1 -1
  43. package/bundles/material-progress-spinner.umd.js +7 -3
  44. package/bundles/material-progress-spinner.umd.js.map +1 -1
  45. package/bundles/material-progress-spinner.umd.min.js +1 -1
  46. package/bundles/material-progress-spinner.umd.min.js.map +1 -1
  47. package/bundles/material-select.umd.js +3 -3
  48. package/bundles/material-select.umd.js.map +1 -1
  49. package/bundles/material-select.umd.min.js +1 -1
  50. package/bundles/material-select.umd.min.js.map +1 -1
  51. package/bundles/material-sidenav.umd.js +22 -31
  52. package/bundles/material-sidenav.umd.js.map +1 -1
  53. package/bundles/material-sidenav.umd.min.js +1 -1
  54. package/bundles/material-sidenav.umd.min.js.map +1 -1
  55. package/bundles/material-tabs.umd.js +13 -13
  56. package/bundles/material-tabs.umd.js.map +1 -1
  57. package/bundles/material-tabs.umd.min.js +1 -1
  58. package/bundles/material-tabs.umd.min.js.map +1 -1
  59. package/bundles/material.umd.js +186 -148
  60. package/bundles/material.umd.js.map +1 -1
  61. package/bundles/material.umd.min.js +17 -17
  62. package/bundles/material.umd.min.js.map +1 -1
  63. package/button/typings/index.metadata.json +1 -1
  64. package/core/typings/datetime/native-date-adapter.d.ts +17 -0
  65. package/core/typings/index.metadata.json +1 -1
  66. package/core/typings/ripple/ripple-renderer.d.ts +4 -1
  67. package/core/typings/ripple/ripple.d.ts +12 -2
  68. package/dialog/typings/index.metadata.json +1 -1
  69. package/esm2015/autocomplete.js +1 -1
  70. package/esm2015/autocomplete.js.map +1 -1
  71. package/esm2015/button.js +2 -2
  72. package/esm2015/button.js.map +1 -1
  73. package/esm2015/chips.js +4 -0
  74. package/esm2015/chips.js.map +1 -1
  75. package/esm2015/core.js +43 -26
  76. package/esm2015/core.js.map +1 -1
  77. package/esm2015/dialog.js +12 -9
  78. package/esm2015/dialog.js.map +1 -1
  79. package/esm2015/expansion.js +1 -1
  80. package/esm2015/expansion.js.map +1 -1
  81. package/esm2015/grid-list.js +7 -7
  82. package/esm2015/grid-list.js.map +1 -1
  83. package/esm2015/list.js +45 -36
  84. package/esm2015/list.js.map +1 -1
  85. package/esm2015/material.js +4 -4
  86. package/esm2015/material.js.map +1 -1
  87. package/esm2015/menu.js +2 -2
  88. package/esm2015/menu.js.map +1 -1
  89. package/esm2015/paginator.js +2 -2
  90. package/esm2015/paginator.js.map +1 -1
  91. package/esm2015/progress-spinner.js +13 -9
  92. package/esm2015/progress-spinner.js.map +1 -1
  93. package/esm2015/select.js +3 -3
  94. package/esm2015/select.js.map +1 -1
  95. package/esm2015/sidenav.js +18 -17
  96. package/esm2015/sidenav.js.map +1 -1
  97. package/esm2015/tabs.js +4 -4
  98. package/esm2015/tabs.js.map +1 -1
  99. package/esm5/autocomplete.es5.js +1 -1
  100. package/esm5/autocomplete.es5.js.map +1 -1
  101. package/esm5/button.es5.js +2 -2
  102. package/esm5/button.es5.js.map +1 -1
  103. package/esm5/chips.es5.js +4 -0
  104. package/esm5/chips.es5.js.map +1 -1
  105. package/esm5/core.es5.js +64 -33
  106. package/esm5/core.es5.js.map +1 -1
  107. package/esm5/dialog.es5.js +12 -9
  108. package/esm5/dialog.es5.js.map +1 -1
  109. package/esm5/expansion.es5.js +1 -1
  110. package/esm5/expansion.es5.js.map +1 -1
  111. package/esm5/grid-list.es5.js +7 -7
  112. package/esm5/grid-list.es5.js.map +1 -1
  113. package/esm5/list.es5.js +47 -42
  114. package/esm5/list.es5.js.map +1 -1
  115. package/esm5/material.es5.js +4 -4
  116. package/esm5/material.es5.js.map +1 -1
  117. package/esm5/menu.es5.js +2 -2
  118. package/esm5/menu.es5.js.map +1 -1
  119. package/esm5/paginator.es5.js +2 -2
  120. package/esm5/paginator.es5.js.map +1 -1
  121. package/esm5/progress-spinner.es5.js +7 -3
  122. package/esm5/progress-spinner.es5.js.map +1 -1
  123. package/esm5/select.es5.js +3 -3
  124. package/esm5/select.es5.js.map +1 -1
  125. package/esm5/sidenav.es5.js +19 -27
  126. package/esm5/sidenav.es5.js.map +1 -1
  127. package/esm5/tabs.es5.js +4 -4
  128. package/esm5/tabs.es5.js.map +1 -1
  129. package/expansion/typings/index.metadata.json +1 -1
  130. package/list/typings/index.metadata.json +1 -1
  131. package/list/typings/list.d.ts +1 -2
  132. package/list/typings/selection-list.d.ts +10 -7
  133. package/menu/typings/index.d.ts +2 -2
  134. package/menu/typings/index.metadata.json +1 -1
  135. package/package.json +4 -4
  136. package/paginator/typings/index.metadata.json +1 -1
  137. package/prebuilt-themes/deeppurple-amber.css +1 -1
  138. package/prebuilt-themes/indigo-pink.css +1 -1
  139. package/prebuilt-themes/pink-bluegrey.css +1 -1
  140. package/prebuilt-themes/purple-green.css +1 -1
  141. package/progress-spinner/typings/index.metadata.json +1 -1
  142. package/select/typings/index.metadata.json +1 -1
  143. package/select/typings/select.d.ts +1 -1
  144. package/sidenav/typings/drawer.d.ts +2 -6
  145. package/sidenav/typings/index.metadata.json +1 -1
  146. package/tabs/typings/index.d.ts +4 -4
  147. package/tabs/typings/index.metadata.json +1 -1
  148. package/typings/autocomplete/index.metadata.json +1 -1
  149. package/typings/button/index.metadata.json +1 -1
  150. package/typings/core/datetime/native-date-adapter.d.ts +17 -0
  151. package/typings/core/index.metadata.json +1 -1
  152. package/typings/core/ripple/ripple-renderer.d.ts +4 -1
  153. package/typings/core/ripple/ripple.d.ts +12 -2
  154. package/typings/dialog/index.metadata.json +1 -1
  155. package/typings/esm5/autocomplete/index.metadata.json +1 -1
  156. package/typings/esm5/button/index.metadata.json +1 -1
  157. package/typings/esm5/core/datetime/native-date-adapter.d.ts +17 -0
  158. package/typings/esm5/core/index.metadata.json +1 -1
  159. package/typings/esm5/core/ripple/ripple-renderer.d.ts +4 -1
  160. package/typings/esm5/core/ripple/ripple.d.ts +12 -2
  161. package/typings/esm5/dialog/index.metadata.json +1 -1
  162. package/typings/esm5/expansion/index.metadata.json +1 -1
  163. package/typings/esm5/index.metadata.json +1 -1
  164. package/typings/esm5/list/index.metadata.json +1 -1
  165. package/typings/esm5/list/list.d.ts +1 -2
  166. package/typings/esm5/list/selection-list.d.ts +10 -7
  167. package/typings/esm5/menu/index.d.ts +2 -2
  168. package/typings/esm5/menu/index.metadata.json +1 -1
  169. package/typings/esm5/paginator/index.metadata.json +1 -1
  170. package/typings/esm5/progress-spinner/index.metadata.json +1 -1
  171. package/typings/esm5/select/index.metadata.json +1 -1
  172. package/typings/esm5/select/select.d.ts +1 -1
  173. package/typings/esm5/sidenav/drawer.d.ts +2 -6
  174. package/typings/esm5/sidenav/index.metadata.json +1 -1
  175. package/typings/esm5/tabs/index.d.ts +4 -4
  176. package/typings/esm5/tabs/index.metadata.json +1 -1
  177. package/typings/expansion/index.metadata.json +1 -1
  178. package/typings/index.metadata.json +1 -1
  179. package/typings/list/index.metadata.json +1 -1
  180. package/typings/list/list.d.ts +1 -2
  181. package/typings/list/selection-list.d.ts +10 -7
  182. package/typings/menu/index.d.ts +2 -2
  183. package/typings/menu/index.metadata.json +1 -1
  184. package/typings/paginator/index.metadata.json +1 -1
  185. package/typings/progress-spinner/index.metadata.json +1 -1
  186. package/typings/select/index.metadata.json +1 -1
  187. package/typings/select/select.d.ts +1 -1
  188. package/typings/sidenav/drawer.d.ts +2 -6
  189. package/typings/sidenav/index.metadata.json +1 -1
  190. package/typings/tabs/index.d.ts +4 -4
  191. package/typings/tabs/index.metadata.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"material-expansion.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/lib/expansion/accordion.ts","../../src/lib/expansion/expansion-panel-content.ts","../../src/lib/expansion/expansion-animations.ts","../../src/lib/expansion/expansion-panel.ts","../../src/lib/expansion/expansion-panel-header.ts","../../src/lib/expansion/expansion-module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\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 = 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\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++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\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 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) : new P(function (resolve) { resolve(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 = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, 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 function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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\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\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) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\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];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\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","/**\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, Input} from '@angular/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {CdkAccordion} from '@angular/cdk/accordion';\n\n/** MatAccordion's display modes. */\nexport type MatAccordionDisplayMode = 'default' | 'flat';\n\n/**\n * Directive for a Material Design Accordion.\n */\n@Directive({\n selector: 'mat-accordion',\n exportAs: 'matAccordion',\n host: {\n class: 'mat-accordion'\n }\n})\nexport class MatAccordion extends CdkAccordion {\n /** Whether the expansion indicator should be hidden. */\n @Input()\n get hideToggle(): boolean { return this._hideToggle; }\n set hideToggle(show: boolean) { this._hideToggle = coerceBooleanProperty(show); }\n private _hideToggle: boolean = false;\n\n /**\n * The display mode used for all expansion panels in the accordion. Currently two display\n * modes exist:\n * default - a gutter-like spacing is placed around any expanded panel, placing the expanded\n * panel at a different elevation from the reset of the accordion.\n * flat - no spacing is placed around expanded panels, showing all panels at the same\n * elevation.\n */\n @Input() displayMode: MatAccordionDisplayMode = 'default';\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 {Directive, TemplateRef} from '@angular/core';\n\n/**\n * Expansion panel content that will be rendered lazily\n * after the panel is opened for the first time.\n */\n@Directive({\n selector: 'ng-template[matExpansionPanelContent]'\n})\nexport class MatExpansionPanelContent {\n constructor(public _template: TemplateRef<any>) {}\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 */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\n/** Time and timing curve for expansion panel animations. */\nexport const EXPANSION_PANEL_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';\n\n/** Animations used by the Material expansion panel. */\nexport const matExpansionAnimations: {\n readonly indicatorRotate: AnimationTriggerMetadata;\n readonly expansionHeaderHeight: AnimationTriggerMetadata;\n readonly bodyExpansion: AnimationTriggerMetadata;\n} = {\n /** Animation that rotates the indicator arrow. */\n indicatorRotate: trigger('indicatorRotate', [\n state('collapsed', style({transform: 'rotate(0deg)'})),\n state('expanded', style({transform: 'rotate(180deg)'})),\n transition('expanded <=> collapsed', animate(EXPANSION_PANEL_ANIMATION_TIMING)),\n ]),\n\n /** Animation that expands and collapses the panel header height. */\n expansionHeaderHeight: trigger('expansionHeight', [\n state('collapsed', style({\n height: '{{collapsedHeight}}',\n }), {\n params: {collapsedHeight: '48px'},\n }),\n state('expanded', style({\n height: '{{expandedHeight}}'\n }), {\n params: {expandedHeight: '64px'}\n }),\n transition('expanded <=> collapsed', animate(EXPANSION_PANEL_ANIMATION_TIMING)),\n ]),\n\n /** Animation that expands and collapses the panel content. */\n bodyExpansion: trigger('bodyExpansion', [\n state('collapsed', style({height: '0px', visibility: 'hidden'})),\n state('expanded', style({height: '*', visibility: 'visible'})),\n transition('expanded <=> collapsed', animate(EXPANSION_PANEL_ANIMATION_TIMING)),\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 {AnimationEvent} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n Host,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n SimpleChanges,\n ViewEncapsulation,\n ViewContainerRef,\n AfterContentInit,\n ContentChild,\n} from '@angular/core';\nimport {CdkAccordionItem} from '@angular/cdk/accordion';\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {Subject} from 'rxjs/Subject';\nimport {take} from 'rxjs/operators/take';\nimport {filter} from 'rxjs/operators/filter';\nimport {startWith} from 'rxjs/operators/startWith';\nimport {MatAccordion} from './accordion';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {MatExpansionPanelContent} from './expansion-panel-content';\nimport {matExpansionAnimations} from './expansion-animations';\n\n/** MatExpansionPanel's states. */\nexport type MatExpansionPanelState = 'expanded' | 'collapsed';\n\n/** Counter for generating unique element ids. */\nlet uniqueId = 0;\n\n/**\n * `<mat-expansion-panel>`\n *\n * This component can be used as a single element to show expandable content, or as one of\n * multiple children of an element with the MdAccordion directive attached.\n */\n@Component({\n moduleId: module.id,\n styleUrls: ['./expansion-panel.css'],\n selector: 'mat-expansion-panel',\n exportAs: 'matExpansionPanel',\n templateUrl: './expansion-panel.html',\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disabled', 'expanded'],\n outputs: ['opened', 'closed', 'expandedChange'],\n animations: [matExpansionAnimations.bodyExpansion],\n host: {\n 'class': 'mat-expansion-panel',\n '[class.mat-expanded]': 'expanded',\n '[class.mat-expansion-panel-spacing]': '_hasSpacing()',\n }\n})\nexport class MatExpansionPanel extends CdkAccordionItem\n implements AfterContentInit, OnChanges, OnDestroy {\n /** Whether the toggle indicator should be hidden. */\n @Input()\n get hideToggle(): boolean { return this._hideToggle; }\n set hideToggle(value: boolean) {\n this._hideToggle = coerceBooleanProperty(value);\n }\n private _hideToggle = false;\n\n /** Stream that emits for changes in `@Input` properties. */\n readonly _inputChanges = new Subject<SimpleChanges>();\n\n /** Optionally defined accordion the expansion panel belongs to. */\n accordion: MatAccordion;\n\n /** Content that will be rendered lazily. */\n @ContentChild(MatExpansionPanelContent) _lazyContent: MatExpansionPanelContent;\n\n /** Portal holding the user's content. */\n _portal: TemplatePortal;\n\n /** ID for the associated header element. Used for a11y labelling. */\n _headerId = `mat-expansion-panel-header-${uniqueId++}`;\n\n constructor(@Optional() @Host() accordion: MatAccordion,\n _changeDetectorRef: ChangeDetectorRef,\n _uniqueSelectionDispatcher: UniqueSelectionDispatcher,\n private _viewContainerRef: ViewContainerRef) {\n super(accordion, _changeDetectorRef, _uniqueSelectionDispatcher);\n this.accordion = accordion;\n }\n\n /** Whether the expansion indicator should be hidden. */\n _getHideToggle(): boolean {\n if (this.accordion) {\n return this.accordion.hideToggle;\n }\n return this.hideToggle;\n }\n\n /** Determines whether the expansion panel should have spacing between it and its siblings. */\n _hasSpacing(): boolean {\n if (this.accordion) {\n return (this.expanded ? this.accordion.displayMode : this._getExpandedState()) === 'default';\n }\n return false;\n }\n\n /** Gets the expanded state string. */\n _getExpandedState(): MatExpansionPanelState {\n return this.expanded ? 'expanded' : 'collapsed';\n }\n\n ngAfterContentInit() {\n if (this._lazyContent) {\n // Render the content as soon as the panel becomes open.\n this.opened.pipe(\n startWith(null!),\n filter(() => this.expanded && !this._portal),\n take(1)\n ).subscribe(() => {\n this._portal = new TemplatePortal(this._lazyContent._template, this._viewContainerRef);\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this._inputChanges.next(changes);\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this._inputChanges.complete();\n }\n\n _bodyAnimation(event: AnimationEvent) {\n const classList = event.element.classList;\n const cssClass = 'mat-expanded';\n const {phaseName, toState} = event;\n\n // Toggle the body's `overflow: hidden` class when closing starts or when expansion ends in\n // order to prevent the cases where switching too early would cause the animation to jump.\n // Note that we do it directly on the DOM element to avoid the slight delay that comes\n // with doing it via change detection.\n if (phaseName === 'done' && toState === 'expanded') {\n classList.add(cssClass);\n } else if (phaseName === 'start' && toState === 'collapsed') {\n classList.remove(cssClass);\n }\n }\n}\n\n@Directive({\n selector: 'mat-action-row',\n host: {\n class: 'mat-action-row'\n }\n})\nexport class MatExpansionPanelActionRow {}\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 {FocusMonitor} from '@angular/cdk/a11y';\nimport {ENTER, SPACE} from '@angular/cdk/keycodes';\nimport {filter} from 'rxjs/operators/filter';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n Host,\n Input,\n OnDestroy,\n ViewEncapsulation,\n} from '@angular/core';\nimport {merge} from 'rxjs/observable/merge';\nimport {Subscription} from 'rxjs/Subscription';\nimport {MatExpansionPanel} from './expansion-panel';\nimport {matExpansionAnimations} from './expansion-animations';\n\n\n/**\n * `<mat-expansion-panel-header>`\n *\n * This component corresponds to the header element of an `<mat-expansion-panel>`.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-expansion-panel-header',\n styleUrls: ['./expansion-panel-header.css'],\n templateUrl: './expansion-panel-header.html',\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n matExpansionAnimations.indicatorRotate,\n matExpansionAnimations.expansionHeaderHeight\n ],\n host: {\n 'class': 'mat-expansion-panel-header',\n 'role': 'button',\n '[attr.id]': 'panel._headerId',\n '[attr.tabindex]': 'panel.disabled ? -1 : 0',\n '[attr.aria-controls]': '_getPanelId()',\n '[attr.aria-expanded]': '_isExpanded()',\n '[attr.aria-disabled]': 'panel.disabled',\n '[class.mat-expanded]': '_isExpanded()',\n '(click)': '_toggle()',\n '(keydown)': '_keydown($event)',\n '[@expansionHeight]': `{\n value: _getExpandedState(),\n params: {\n collapsedHeight: collapsedHeight,\n expandedHeight: expandedHeight\n }\n }`,\n },\n})\nexport class MatExpansionPanelHeader implements OnDestroy {\n private _parentChangeSubscription = Subscription.EMPTY;\n\n constructor(\n @Host() public panel: MatExpansionPanel,\n private _element: ElementRef,\n private _focusMonitor: FocusMonitor,\n private _changeDetectorRef: ChangeDetectorRef) {\n\n // Since the toggle state depends on an @Input on the panel, we\n // need to subscribe and trigger change detection manually.\n this._parentChangeSubscription = merge(\n panel.opened,\n panel.closed,\n panel._inputChanges.pipe(filter(changes => !!(changes.hideToggle || changes.disabled)))\n )\n .subscribe(() => this._changeDetectorRef.markForCheck());\n\n _focusMonitor.monitor(_element.nativeElement);\n }\n\n /** Height of the header while the panel is expanded. */\n @Input() expandedHeight: string;\n\n /** Height of the header while the panel is collapsed. */\n @Input() collapsedHeight: string;\n\n /** Toggles the expanded state of the panel. */\n _toggle(): void {\n this.panel.toggle();\n }\n\n /** Gets whether the panel is expanded. */\n _isExpanded(): boolean {\n return this.panel.expanded;\n }\n\n /** Gets the expanded state string of the panel. */\n _getExpandedState(): string {\n return this.panel._getExpandedState();\n }\n\n /** Gets the panel id. */\n _getPanelId(): string {\n return this.panel.id;\n }\n\n /** Gets whether the expand indicator should be shown. */\n _showToggle(): boolean {\n return !this.panel.hideToggle && !this.panel.disabled;\n }\n\n /** Handle keydown event calling to toggle() if appropriate. */\n _keydown(event: KeyboardEvent) {\n switch (event.keyCode) {\n // Toggle for space and enter keys.\n case SPACE:\n case ENTER:\n event.preventDefault();\n this._toggle();\n break;\n default:\n return;\n }\n }\n\n ngOnDestroy() {\n this._parentChangeSubscription.unsubscribe();\n this._focusMonitor.stopMonitoring(this._element.nativeElement);\n }\n}\n\n/**\n * `<mat-panel-description>`\n *\n * This direction is to be used inside of the MatExpansionPanelHeader component.\n */\n@Directive({\n selector: 'mat-panel-description',\n host : {\n class: 'mat-expansion-panel-header-description'\n }\n})\nexport class MatExpansionPanelDescription {}\n\n/**\n * `<mat-panel-title>`\n *\n * This direction is to be used inside of the MatExpansionPanelHeader component.\n */\n@Directive({\n selector: 'mat-panel-title',\n host : {\n class: 'mat-expansion-panel-header-title'\n }\n})\nexport class MatExpansionPanelTitle {}\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 {UNIQUE_SELECTION_DISPATCHER_PROVIDER} from '@angular/cdk/collections';\nimport {CdkAccordionModule} from '@angular/cdk/accordion';\nimport {A11yModule} from '@angular/cdk/a11y';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {MatAccordion} from './accordion';\nimport {MatExpansionPanelContent} from './expansion-panel-content';\nimport {\n MatExpansionPanel,\n MatExpansionPanelActionRow\n} from './expansion-panel';\nimport {\n MatExpansionPanelDescription,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n} from './expansion-panel-header';\n\n\n@NgModule({\n imports: [CommonModule, A11yModule, CdkAccordionModule, PortalModule],\n exports: [\n MatAccordion,\n MatExpansionPanel,\n MatExpansionPanelActionRow,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n MatExpansionPanelDescription,\n MatExpansionPanelContent,\n ],\n declarations: [\n MatAccordion,\n MatExpansionPanel,\n MatExpansionPanelActionRow,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n MatExpansionPanelDescription,\n MatExpansionPanelContent,\n ],\n providers: [UNIQUE_SELECTION_DISPATCHER_PROVIDER]\n})\nexport class MatExpansionModule {}\n"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","setPrototypeOf","__proto__","Array","p","hasOwnProperty","_this","_hideToggle","displayMode","tslib_1.__extends","MatAccordion","_super","defineProperty","show","coerceBooleanProperty","type","Directive","args","selector","exportAs","host","class","hideToggle","Input","CdkAccordion","MatExpansionPanelContent","_template","TemplateRef","matExpansionAnimations","indicatorRotate","trigger","state","style","transform","transition","animate","expansionHeaderHeight","height","params","collapsedHeight","expandedHeight","bodyExpansion","visibility","uniqueId","MatExpansionPanel","accordion","_changeDetectorRef","_uniqueSelectionDispatcher","_viewContainerRef","call","_inputChanges","Subject","_headerId","value","_getHideToggle","_hasSpacing","expanded","_getExpandedState","ngAfterContentInit","_lazyContent","opened","pipe","startWith","filter","_portal","take","subscribe","TemplatePortal","ngOnChanges","changes","next","ngOnDestroy","complete","_bodyAnimation","event","classList","element","phaseName","toState","add","remove","Component","styles","template","encapsulation","ViewEncapsulation","None","preserveWhitespaces","changeDetection","ChangeDetectionStrategy","OnPush","inputs","outputs","animations","[class.mat-expanded]","[class.mat-expansion-panel-spacing]","UniqueSelectionDispatcher","ViewContainerRef","propDecorators","MatExpansionPanelActionRow","MatExpansionPanelHeader","panel","_element","_focusMonitor","_parentChangeSubscription","Subscription","EMPTY","merge","closed","markForCheck","monitor","nativeElement","_toggle","toggle","_isExpanded","_getPanelId","id","_showToggle","disabled","_keydown","keyCode","SPACE","ENTER","preventDefault","unsubscribe","stopMonitoring","role","[attr.id]","[attr.tabindex]","[attr.aria-controls]","[attr.aria-expanded]","[attr.aria-disabled]","(click)","(keydown)","[@expansionHeight]","FocusMonitor","ChangeDetectorRef","MatExpansionModule","NgModule","imports","CommonModule","A11yModule","CdkAccordionModule","PortalModule","exports","MatExpansionPanelTitle","MatExpansionPanelDescription","declarations","providers","UNIQUE_SELECTION_DISPATCHER_PROVIDER"],"mappings":"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"}
1
+ {"version":3,"file":"material-expansion.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/lib/expansion/accordion.ts","../../src/lib/expansion/expansion-panel-content.ts","../../src/lib/expansion/expansion-animations.ts","../../src/lib/expansion/expansion-panel.ts","../../src/lib/expansion/expansion-panel-header.ts","../../src/lib/expansion/expansion-module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\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 = 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\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++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\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 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) : new P(function (resolve) { resolve(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 = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, 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 function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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\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\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) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\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];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\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","/**\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, Input} from '@angular/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {CdkAccordion} from '@angular/cdk/accordion';\n\n/** MatAccordion's display modes. */\nexport type MatAccordionDisplayMode = 'default' | 'flat';\n\n/**\n * Directive for a Material Design Accordion.\n */\n@Directive({\n selector: 'mat-accordion',\n exportAs: 'matAccordion',\n host: {\n class: 'mat-accordion'\n }\n})\nexport class MatAccordion extends CdkAccordion {\n /** Whether the expansion indicator should be hidden. */\n @Input()\n get hideToggle(): boolean { return this._hideToggle; }\n set hideToggle(show: boolean) { this._hideToggle = coerceBooleanProperty(show); }\n private _hideToggle: boolean = false;\n\n /**\n * The display mode used for all expansion panels in the accordion. Currently two display\n * modes exist:\n * default - a gutter-like spacing is placed around any expanded panel, placing the expanded\n * panel at a different elevation from the reset of the accordion.\n * flat - no spacing is placed around expanded panels, showing all panels at the same\n * elevation.\n */\n @Input() displayMode: MatAccordionDisplayMode = 'default';\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 {Directive, TemplateRef} from '@angular/core';\n\n/**\n * Expansion panel content that will be rendered lazily\n * after the panel is opened for the first time.\n */\n@Directive({\n selector: 'ng-template[matExpansionPanelContent]'\n})\nexport class MatExpansionPanelContent {\n constructor(public _template: TemplateRef<any>) {}\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 */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\n/** Time and timing curve for expansion panel animations. */\nexport const EXPANSION_PANEL_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';\n\n/** Animations used by the Material expansion panel. */\nexport const matExpansionAnimations: {\n readonly indicatorRotate: AnimationTriggerMetadata;\n readonly expansionHeaderHeight: AnimationTriggerMetadata;\n readonly bodyExpansion: AnimationTriggerMetadata;\n} = {\n /** Animation that rotates the indicator arrow. */\n indicatorRotate: trigger('indicatorRotate', [\n state('collapsed', style({transform: 'rotate(0deg)'})),\n state('expanded', style({transform: 'rotate(180deg)'})),\n transition('expanded <=> collapsed', animate(EXPANSION_PANEL_ANIMATION_TIMING)),\n ]),\n\n /** Animation that expands and collapses the panel header height. */\n expansionHeaderHeight: trigger('expansionHeight', [\n state('collapsed', style({\n height: '{{collapsedHeight}}',\n }), {\n params: {collapsedHeight: '48px'},\n }),\n state('expanded', style({\n height: '{{expandedHeight}}'\n }), {\n params: {expandedHeight: '64px'}\n }),\n transition('expanded <=> collapsed', animate(EXPANSION_PANEL_ANIMATION_TIMING)),\n ]),\n\n /** Animation that expands and collapses the panel content. */\n bodyExpansion: trigger('bodyExpansion', [\n state('collapsed', style({height: '0px', visibility: 'hidden'})),\n state('expanded', style({height: '*', visibility: 'visible'})),\n transition('expanded <=> collapsed', animate(EXPANSION_PANEL_ANIMATION_TIMING)),\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 {AnimationEvent} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n Host,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n SimpleChanges,\n ViewEncapsulation,\n ViewContainerRef,\n AfterContentInit,\n ContentChild,\n} from '@angular/core';\nimport {CdkAccordionItem} from '@angular/cdk/accordion';\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {Subject} from 'rxjs/Subject';\nimport {take} from 'rxjs/operators/take';\nimport {filter} from 'rxjs/operators/filter';\nimport {startWith} from 'rxjs/operators/startWith';\nimport {MatAccordion} from './accordion';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {MatExpansionPanelContent} from './expansion-panel-content';\nimport {matExpansionAnimations} from './expansion-animations';\n\n/** MatExpansionPanel's states. */\nexport type MatExpansionPanelState = 'expanded' | 'collapsed';\n\n/** Counter for generating unique element ids. */\nlet uniqueId = 0;\n\n/**\n * `<mat-expansion-panel>`\n *\n * This component can be used as a single element to show expandable content, or as one of\n * multiple children of an element with the MdAccordion directive attached.\n */\n@Component({\n moduleId: module.id,\n styleUrls: ['./expansion-panel.css'],\n selector: 'mat-expansion-panel',\n exportAs: 'matExpansionPanel',\n templateUrl: './expansion-panel.html',\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disabled', 'expanded'],\n outputs: ['opened', 'closed', 'expandedChange'],\n animations: [matExpansionAnimations.bodyExpansion],\n host: {\n 'class': 'mat-expansion-panel',\n '[class.mat-expanded]': 'expanded',\n '[class.mat-expansion-panel-spacing]': '_hasSpacing()',\n }\n})\nexport class MatExpansionPanel extends CdkAccordionItem\n implements AfterContentInit, OnChanges, OnDestroy {\n /** Whether the toggle indicator should be hidden. */\n @Input()\n get hideToggle(): boolean { return this._hideToggle; }\n set hideToggle(value: boolean) {\n this._hideToggle = coerceBooleanProperty(value);\n }\n private _hideToggle = false;\n\n /** Stream that emits for changes in `@Input` properties. */\n readonly _inputChanges = new Subject<SimpleChanges>();\n\n /** Optionally defined accordion the expansion panel belongs to. */\n accordion: MatAccordion;\n\n /** Content that will be rendered lazily. */\n @ContentChild(MatExpansionPanelContent) _lazyContent: MatExpansionPanelContent;\n\n /** Portal holding the user's content. */\n _portal: TemplatePortal;\n\n /** ID for the associated header element. Used for a11y labelling. */\n _headerId = `mat-expansion-panel-header-${uniqueId++}`;\n\n constructor(@Optional() @Host() accordion: MatAccordion,\n _changeDetectorRef: ChangeDetectorRef,\n _uniqueSelectionDispatcher: UniqueSelectionDispatcher,\n private _viewContainerRef: ViewContainerRef) {\n super(accordion, _changeDetectorRef, _uniqueSelectionDispatcher);\n this.accordion = accordion;\n }\n\n /** Whether the expansion indicator should be hidden. */\n _getHideToggle(): boolean {\n if (this.accordion) {\n return this.accordion.hideToggle;\n }\n return this.hideToggle;\n }\n\n /** Determines whether the expansion panel should have spacing between it and its siblings. */\n _hasSpacing(): boolean {\n if (this.accordion) {\n return (this.expanded ? this.accordion.displayMode : this._getExpandedState()) === 'default';\n }\n return false;\n }\n\n /** Gets the expanded state string. */\n _getExpandedState(): MatExpansionPanelState {\n return this.expanded ? 'expanded' : 'collapsed';\n }\n\n ngAfterContentInit() {\n if (this._lazyContent) {\n // Render the content as soon as the panel becomes open.\n this.opened.pipe(\n startWith(null!),\n filter(() => this.expanded && !this._portal),\n take(1)\n ).subscribe(() => {\n this._portal = new TemplatePortal(this._lazyContent._template, this._viewContainerRef);\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this._inputChanges.next(changes);\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this._inputChanges.complete();\n }\n\n _bodyAnimation(event: AnimationEvent) {\n const classList = event.element.classList;\n const cssClass = 'mat-expanded';\n const {phaseName, toState} = event;\n\n // Toggle the body's `overflow: hidden` class when closing starts or when expansion ends in\n // order to prevent the cases where switching too early would cause the animation to jump.\n // Note that we do it directly on the DOM element to avoid the slight delay that comes\n // with doing it via change detection.\n if (phaseName === 'done' && toState === 'expanded') {\n classList.add(cssClass);\n } else if (phaseName === 'start' && toState === 'collapsed') {\n classList.remove(cssClass);\n }\n }\n}\n\n@Directive({\n selector: 'mat-action-row',\n host: {\n class: 'mat-action-row'\n }\n})\nexport class MatExpansionPanelActionRow {}\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 {FocusMonitor} from '@angular/cdk/a11y';\nimport {ENTER, SPACE} from '@angular/cdk/keycodes';\nimport {filter} from 'rxjs/operators/filter';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n Host,\n Input,\n OnDestroy,\n ViewEncapsulation,\n} from '@angular/core';\nimport {merge} from 'rxjs/observable/merge';\nimport {Subscription} from 'rxjs/Subscription';\nimport {MatExpansionPanel} from './expansion-panel';\nimport {matExpansionAnimations} from './expansion-animations';\n\n\n/**\n * `<mat-expansion-panel-header>`\n *\n * This component corresponds to the header element of an `<mat-expansion-panel>`.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-expansion-panel-header',\n styleUrls: ['./expansion-panel-header.css'],\n templateUrl: './expansion-panel-header.html',\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n matExpansionAnimations.indicatorRotate,\n matExpansionAnimations.expansionHeaderHeight\n ],\n host: {\n 'class': 'mat-expansion-panel-header',\n 'role': 'button',\n '[attr.id]': 'panel._headerId',\n '[attr.tabindex]': 'panel.disabled ? -1 : 0',\n '[attr.aria-controls]': '_getPanelId()',\n '[attr.aria-expanded]': '_isExpanded()',\n '[attr.aria-disabled]': 'panel.disabled',\n '[class.mat-expanded]': '_isExpanded()',\n '(click)': '_toggle()',\n '(keydown)': '_keydown($event)',\n '[@expansionHeight]': `{\n value: _getExpandedState(),\n params: {\n collapsedHeight: collapsedHeight,\n expandedHeight: expandedHeight\n }\n }`,\n },\n})\nexport class MatExpansionPanelHeader implements OnDestroy {\n private _parentChangeSubscription = Subscription.EMPTY;\n\n constructor(\n @Host() public panel: MatExpansionPanel,\n private _element: ElementRef,\n private _focusMonitor: FocusMonitor,\n private _changeDetectorRef: ChangeDetectorRef) {\n\n // Since the toggle state depends on an @Input on the panel, we\n // need to subscribe and trigger change detection manually.\n this._parentChangeSubscription = merge(\n panel.opened,\n panel.closed,\n panel._inputChanges.pipe(filter(changes => !!(changes.hideToggle || changes.disabled)))\n )\n .subscribe(() => this._changeDetectorRef.markForCheck());\n\n _focusMonitor.monitor(_element.nativeElement);\n }\n\n /** Height of the header while the panel is expanded. */\n @Input() expandedHeight: string;\n\n /** Height of the header while the panel is collapsed. */\n @Input() collapsedHeight: string;\n\n /** Toggles the expanded state of the panel. */\n _toggle(): void {\n this.panel.toggle();\n }\n\n /** Gets whether the panel is expanded. */\n _isExpanded(): boolean {\n return this.panel.expanded;\n }\n\n /** Gets the expanded state string of the panel. */\n _getExpandedState(): string {\n return this.panel._getExpandedState();\n }\n\n /** Gets the panel id. */\n _getPanelId(): string {\n return this.panel.id;\n }\n\n /** Gets whether the expand indicator should be shown. */\n _showToggle(): boolean {\n return !this.panel.hideToggle && !this.panel.disabled;\n }\n\n /** Handle keydown event calling to toggle() if appropriate. */\n _keydown(event: KeyboardEvent) {\n switch (event.keyCode) {\n // Toggle for space and enter keys.\n case SPACE:\n case ENTER:\n event.preventDefault();\n this._toggle();\n break;\n default:\n return;\n }\n }\n\n ngOnDestroy() {\n this._parentChangeSubscription.unsubscribe();\n this._focusMonitor.stopMonitoring(this._element.nativeElement);\n }\n}\n\n/**\n * `<mat-panel-description>`\n *\n * This direction is to be used inside of the MatExpansionPanelHeader component.\n */\n@Directive({\n selector: 'mat-panel-description',\n host : {\n class: 'mat-expansion-panel-header-description'\n }\n})\nexport class MatExpansionPanelDescription {}\n\n/**\n * `<mat-panel-title>`\n *\n * This direction is to be used inside of the MatExpansionPanelHeader component.\n */\n@Directive({\n selector: 'mat-panel-title',\n host : {\n class: 'mat-expansion-panel-header-title'\n }\n})\nexport class MatExpansionPanelTitle {}\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 {UNIQUE_SELECTION_DISPATCHER_PROVIDER} from '@angular/cdk/collections';\nimport {CdkAccordionModule} from '@angular/cdk/accordion';\nimport {A11yModule} from '@angular/cdk/a11y';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {MatAccordion} from './accordion';\nimport {MatExpansionPanelContent} from './expansion-panel-content';\nimport {\n MatExpansionPanel,\n MatExpansionPanelActionRow\n} from './expansion-panel';\nimport {\n MatExpansionPanelDescription,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n} from './expansion-panel-header';\n\n\n@NgModule({\n imports: [CommonModule, A11yModule, CdkAccordionModule, PortalModule],\n exports: [\n MatAccordion,\n MatExpansionPanel,\n MatExpansionPanelActionRow,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n MatExpansionPanelDescription,\n MatExpansionPanelContent,\n ],\n declarations: [\n MatAccordion,\n MatExpansionPanel,\n MatExpansionPanelActionRow,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n MatExpansionPanelDescription,\n MatExpansionPanelContent,\n ],\n providers: [UNIQUE_SELECTION_DISPATCHER_PROVIDER]\n})\nexport class MatExpansionModule {}\n"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","setPrototypeOf","__proto__","Array","p","hasOwnProperty","_this","_hideToggle","displayMode","tslib_1.__extends","MatAccordion","_super","defineProperty","show","coerceBooleanProperty","type","Directive","args","selector","exportAs","host","class","hideToggle","Input","CdkAccordion","MatExpansionPanelContent","_template","TemplateRef","matExpansionAnimations","indicatorRotate","trigger","state","style","transform","transition","animate","expansionHeaderHeight","height","params","collapsedHeight","expandedHeight","bodyExpansion","visibility","uniqueId","MatExpansionPanel","accordion","_changeDetectorRef","_uniqueSelectionDispatcher","_viewContainerRef","call","_inputChanges","Subject","_headerId","value","_getHideToggle","_hasSpacing","expanded","_getExpandedState","ngAfterContentInit","_lazyContent","opened","pipe","startWith","filter","_portal","take","subscribe","TemplatePortal","ngOnChanges","changes","next","ngOnDestroy","complete","_bodyAnimation","event","classList","element","phaseName","toState","add","remove","Component","styles","template","encapsulation","ViewEncapsulation","None","preserveWhitespaces","changeDetection","ChangeDetectionStrategy","OnPush","inputs","outputs","animations","[class.mat-expanded]","[class.mat-expansion-panel-spacing]","UniqueSelectionDispatcher","ViewContainerRef","propDecorators","MatExpansionPanelActionRow","MatExpansionPanelHeader","panel","_element","_focusMonitor","_parentChangeSubscription","Subscription","EMPTY","merge","closed","markForCheck","monitor","nativeElement","_toggle","toggle","_isExpanded","_getPanelId","id","_showToggle","disabled","_keydown","keyCode","SPACE","ENTER","preventDefault","unsubscribe","stopMonitoring","role","[attr.id]","[attr.tabindex]","[attr.aria-controls]","[attr.aria-expanded]","[attr.aria-disabled]","(click)","(keydown)","[@expansionHeight]","FocusMonitor","ChangeDetectorRef","MatExpansionModule","NgModule","imports","CommonModule","A11yModule","CdkAccordionModule","PortalModule","exports","MatExpansionPanelTitle","MatExpansionPanelDescription","declarations","providers","UNIQUE_SELECTION_DISPATCHER_PROVIDER"],"mappings":"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"}
@@ -597,7 +597,7 @@ var TileStyler = /** @class */ (function () {
597
597
  var /** @type {?} */ baseTileWidth = this.getBaseTileSize(percentWidth, gutterWidth);
598
598
  // The width and horizontal position of each tile is always calculated the same way, but the
599
599
  // height and vertical position depends on the rowMode.
600
- var /** @type {?} */ side = this._direction === 'ltr' ? 'left' : 'right';
600
+ var /** @type {?} */ side = this._direction === 'rtl' ? 'right' : 'left';
601
601
  tile._setStyle(side, this.getTilePosition(baseTileWidth, colIndex));
602
602
  tile._setStyle('width', calc(this.getTileSize(baseTileWidth, tile.colspan)));
603
603
  };
@@ -756,8 +756,8 @@ var RatioTileStyler = /** @class */ (function (_super) {
756
756
  // Use padding-top and margin-top to maintain the given aspect ratio, as
757
757
  // a percentage-based value for these properties is applied versus the *width* of the
758
758
  // containing block. See http://www.w3.org/TR/CSS2/box.html#margin-properties
759
- tile._setStyle('margin-top', this.getTilePosition(this.baseTileHeight, rowIndex));
760
- tile._setStyle('padding-top', calc(this.getTileSize(this.baseTileHeight, tile.rowspan)));
759
+ tile._setStyle('marginTop', this.getTilePosition(this.baseTileHeight, rowIndex));
760
+ tile._setStyle('paddingTop', calc(this.getTileSize(this.baseTileHeight, tile.rowspan)));
761
761
  };
762
762
  /**
763
763
  * @return {?}
@@ -767,7 +767,7 @@ var RatioTileStyler = /** @class */ (function (_super) {
767
767
  */
768
768
  function () {
769
769
  return [
770
- 'padding-bottom', calc(this.getTileSpan(this.baseTileHeight) + " + " + this.getGutterSpan())
770
+ 'paddingBottom', calc(this.getTileSpan(this.baseTileHeight) + " + " + this.getGutterSpan())
771
771
  ];
772
772
  };
773
773
  /**
@@ -779,10 +779,10 @@ var RatioTileStyler = /** @class */ (function (_super) {
779
779
  * @return {?}
780
780
  */
781
781
  function (list) {
782
- list._setListStyle(['padding-bottom', null]);
782
+ list._setListStyle(['paddingBottom', null]);
783
783
  list._tiles.forEach(function (tile) {
784
- tile._setStyle('margin-top', null);
785
- tile._setStyle('padding-top', null);
784
+ tile._setStyle('marginTop', null);
785
+ tile._setStyle('paddingTop', null);
786
786
  });
787
787
  };
788
788
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"material-grid-list.umd.js","sources":["../../src/lib/grid-list/grid-list-module.ts","../../src/lib/grid-list/grid-list.ts","../../src/lib/grid-list/tile-styler.ts","../../src/lib/grid-list/tile-coordinator.ts","../../src/lib/grid-list/grid-tile.ts","../../src/lib/grid-list/grid-list-measure.ts","../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/**\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 {NgModule} from '@angular/core';\nimport {MatLineModule, MatCommonModule} from '@angular/material/core';\nimport {\n MatGridTile, MatGridTileText, MatGridTileFooterCssMatStyler,\n MatGridTileHeaderCssMatStyler, MatGridAvatarCssMatStyler\n} from './grid-tile';\nimport {MatGridList} from './grid-list';\n\n\n@NgModule({\n imports: [MatLineModule, MatCommonModule],\n exports: [\n MatGridList,\n MatGridTile,\n MatGridTileText,\n MatLineModule,\n MatCommonModule,\n MatGridTileHeaderCssMatStyler,\n MatGridTileFooterCssMatStyler,\n MatGridAvatarCssMatStyler\n ],\n declarations: [\n MatGridList,\n MatGridTile,\n MatGridTileText,\n MatGridTileHeaderCssMatStyler,\n MatGridTileFooterCssMatStyler,\n MatGridAvatarCssMatStyler\n ],\n})\nexport class MatGridListModule {}\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 {\n Component,\n ViewEncapsulation,\n AfterContentChecked,\n OnInit,\n Input,\n ContentChildren,\n QueryList,\n ElementRef,\n Optional,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {MatGridTile} from './grid-tile';\nimport {TileCoordinator} from './tile-coordinator';\nimport {TileStyler, FitTileStyler, RatioTileStyler, FixedTileStyler} from './tile-styler';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {\n coerceToString,\n coerceToNumber,\n} from './grid-list-measure';\n\n\n// TODO(kara): Conditional (responsive) column count / row size.\n// TODO(kara): Re-layout on window resize / media change (debounced).\n// TODO(kara): gridTileHeader and gridTileFooter.\n\nconst MAT_FIT_MODE = 'fit';\n\n@Component({\n moduleId: module.id,\n selector: 'mat-grid-list',\n exportAs: 'matGridList',\n templateUrl: 'grid-list.html',\n styleUrls: ['grid-list.css'],\n host: {\n 'class': 'mat-grid-list',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n})\nexport class MatGridList implements OnInit, AfterContentChecked {\n /** Number of columns being rendered. */\n private _cols: number;\n\n /**\n * Row height value passed in by user. This can be one of three types:\n * - Number value (ex: \"100px\"): sets a fixed row height to that value\n * - Ratio value (ex: \"4:3\"): sets the row height based on width:height ratio\n * - \"Fit\" mode (ex: \"fit\"): sets the row height to total height divided by number of rows\n */\n private _rowHeight: string;\n\n /** The amount of space between tiles. This will be something like '5px' or '2em'. */\n private _gutter: string = '1px';\n\n /** Sets position and size styles for a tile */\n private _tileStyler: TileStyler;\n\n /** Query list of tiles that are being rendered. */\n @ContentChildren(MatGridTile) _tiles: QueryList<MatGridTile>;\n\n constructor(private _element: ElementRef, @Optional() private _dir: Directionality) {}\n\n /** Amount of columns in the grid list. */\n @Input()\n get cols(): number { return this._cols; }\n set cols(value: number) { this._cols = coerceToNumber(value); }\n\n /** Size of the grid list's gutter in pixels. */\n @Input()\n get gutterSize(): string { return this._gutter; }\n set gutterSize(value: string) { this._gutter = coerceToString(value); }\n\n /** Set internal representation of row height from the user-provided value. */\n @Input()\n set rowHeight(value: string | number) {\n const newValue = coerceToString(value);\n\n if (newValue !== this._rowHeight) {\n this._rowHeight = newValue;\n this._setTileStyler(this._rowHeight);\n }\n }\n\n ngOnInit() {\n this._checkCols();\n this._checkRowHeight();\n }\n\n /**\n * The layout calculation is fairly cheap if nothing changes, so there's little cost\n * to run it frequently.\n */\n ngAfterContentChecked() {\n this._layoutTiles();\n }\n\n /** Throw a friendly error if cols property is missing */\n private _checkCols() {\n if (!this.cols) {\n throw Error(`mat-grid-list: must pass in number of columns. ` +\n `Example: <mat-grid-list cols=\"3\">`);\n }\n }\n\n /** Default to equal width:height if rowHeight property is missing */\n private _checkRowHeight(): void {\n if (!this._rowHeight) {\n this._setTileStyler('1:1');\n }\n }\n\n /** Creates correct Tile Styler subtype based on rowHeight passed in by user */\n private _setTileStyler(rowHeight: string): void {\n if (this._tileStyler) {\n this._tileStyler.reset(this);\n }\n\n if (rowHeight === MAT_FIT_MODE) {\n this._tileStyler = new FitTileStyler();\n } else if (rowHeight && rowHeight.indexOf(':') > -1) {\n this._tileStyler = new RatioTileStyler(rowHeight);\n } else {\n this._tileStyler = new FixedTileStyler(rowHeight);\n }\n }\n\n /** Computes and applies the size and position for all children grid tiles. */\n private _layoutTiles(): void {\n const tracker = new TileCoordinator(this.cols, this._tiles);\n const direction = this._dir ? this._dir.value : 'ltr';\n this._tileStyler.init(this.gutterSize, tracker, this.cols, direction);\n\n this._tiles.forEach((tile, index) => {\n const pos = tracker.positions[index];\n this._tileStyler.setStyle(tile, pos.row, pos.col);\n });\n\n this._setListStyle(this._tileStyler.getComputedHeight());\n }\n\n /** Sets style on the main grid-list element, given the style name and value. */\n _setListStyle(style: [string, string | null] | null): void {\n if (style) {\n this._element.nativeElement.style[style[0]] = style[1];\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 {MatGridList} from './grid-list';\nimport {MatGridTile} from './grid-tile';\nimport {TileCoordinator} from './tile-coordinator';\n\n/**\n * Sets the style properties for an individual tile, given the position calculated by the\n * Tile Coordinator.\n * @docs-private\n */\nexport abstract class TileStyler {\n _gutterSize: string;\n _rows: number = 0;\n _rowspan: number = 0;\n _cols: number;\n _direction: string;\n\n /**\n * Adds grid-list layout info once it is available. Cannot be processed in the constructor\n * because these properties haven't been calculated by that point.\n *\n * @param gutterSize Size of the grid's gutter.\n * @param tracker Instance of the TileCoordinator.\n * @param cols Amount of columns in the grid.\n * @param direction Layout direction of the grid.\n */\n init(gutterSize: string, tracker: TileCoordinator, cols: number, direction: string): void {\n this._gutterSize = normalizeUnits(gutterSize);\n this._rows = tracker.rowCount;\n this._rowspan = tracker.rowspan;\n this._cols = cols;\n this._direction = direction;\n }\n\n /**\n * Computes the amount of space a single 1x1 tile would take up (width or height).\n * Used as a basis for other calculations.\n * @param sizePercent Percent of the total grid-list space that one 1x1 tile would take up.\n * @param gutterFraction Fraction of the gutter size taken up by one 1x1 tile.\n * @return The size of a 1x1 tile as an expression that can be evaluated via CSS calc().\n */\n getBaseTileSize(sizePercent: number, gutterFraction: number): string {\n // Take the base size percent (as would be if evenly dividing the size between cells),\n // and then subtracting the size of one gutter. However, since there are no gutters on the\n // edges, each tile only uses a fraction (gutterShare = numGutters / numCells) of the gutter\n // size. (Imagine having one gutter per tile, and then breaking up the extra gutter on the\n // edge evenly among the cells).\n return `(${sizePercent}% - (${this._gutterSize} * ${gutterFraction}))`;\n }\n\n\n /**\n * Gets The horizontal or vertical position of a tile, e.g., the 'top' or 'left' property value.\n * @param offset Number of tiles that have already been rendered in the row/column.\n * @param baseSize Base size of a 1x1 tile (as computed in getBaseTileSize).\n * @return Position of the tile as a CSS calc() expression.\n */\n getTilePosition(baseSize: string, offset: number): string {\n // The position comes the size of a 1x1 tile plus gutter for each previous tile in the\n // row/column (offset).\n return offset === 0 ? '0' : calc(`(${baseSize} + ${this._gutterSize}) * ${offset}`);\n }\n\n\n /**\n * Gets the actual size of a tile, e.g., width or height, taking rowspan or colspan into account.\n * @param baseSize Base size of a 1x1 tile (as computed in getBaseTileSize).\n * @param span The tile's rowspan or colspan.\n * @return Size of the tile as a CSS calc() expression.\n */\n getTileSize(baseSize: string, span: number): string {\n return `(${baseSize} * ${span}) + (${span - 1} * ${this._gutterSize})`;\n }\n\n\n /**\n * Sets the style properties to be applied to a tile for the given row and column index.\n * @param tile Tile to which to apply the styling.\n * @param rowIndex Index of the tile's row.\n * @param colIndex Index of the tile's column.\n */\n setStyle(tile: MatGridTile, rowIndex: number, colIndex: number): void {\n // Percent of the available horizontal space that one column takes up.\n let percentWidthPerTile = 100 / this._cols;\n\n // Fraction of the vertical gutter size that each column takes up.\n // For example, if there are 5 columns, each column uses 4/5 = 0.8 times the gutter width.\n let gutterWidthFractionPerTile = (this._cols - 1) / this._cols;\n\n this.setColStyles(tile, colIndex, percentWidthPerTile, gutterWidthFractionPerTile);\n this.setRowStyles(tile, rowIndex, percentWidthPerTile, gutterWidthFractionPerTile);\n }\n\n /** Sets the horizontal placement of the tile in the list. */\n setColStyles(tile: MatGridTile, colIndex: number, percentWidth: number,\n gutterWidth: number) {\n // Base horizontal size of a column.\n let baseTileWidth = this.getBaseTileSize(percentWidth, gutterWidth);\n\n // The width and horizontal position of each tile is always calculated the same way, but the\n // height and vertical position depends on the rowMode.\n let side = this._direction === 'ltr' ? 'left' : 'right';\n tile._setStyle(side, this.getTilePosition(baseTileWidth, colIndex));\n tile._setStyle('width', calc(this.getTileSize(baseTileWidth, tile.colspan)));\n }\n\n /**\n * Calculates the total size taken up by gutters across one axis of a list.\n */\n getGutterSpan(): string {\n return `${this._gutterSize} * (${this._rowspan} - 1)`;\n }\n\n /**\n * Calculates the total size taken up by tiles across one axis of a list.\n * @param tileHeight Height of the tile.\n */\n getTileSpan(tileHeight: string): string {\n return `${this._rowspan} * ${this.getTileSize(tileHeight, 1)}`;\n }\n\n /**\n * Sets the vertical placement of the tile in the list.\n * This method will be implemented by each type of TileStyler.\n * @docs-private\n */\n abstract setRowStyles(tile: MatGridTile, rowIndex: number, percentWidth: number,\n gutterWidth: number);\n\n /**\n * Calculates the computed height and returns the correct style property to set.\n * This method can be implemented by each type of TileStyler.\n * @docs-private\n */\n getComputedHeight(): [string, string] | null { return null; }\n\n /**\n * Called when the tile styler is swapped out with a different one. To be used for cleanup.\n * @param list Grid list that the styler was attached to.\n * @docs-private\n */\n abstract reset(list: MatGridList);\n}\n\n\n/**\n * This type of styler is instantiated when the user passes in a fixed row height.\n * Example `<mat-grid-list cols=\"3\" rowHeight=\"100px\">`\n * @docs-private\n */\nexport class FixedTileStyler extends TileStyler {\n\n constructor(public fixedRowHeight: string) { super(); }\n\n init(gutterSize: string, tracker: TileCoordinator, cols: number, direction: string) {\n super.init(gutterSize, tracker, cols, direction);\n this.fixedRowHeight = normalizeUnits(this.fixedRowHeight);\n }\n\n setRowStyles(tile: MatGridTile, rowIndex: number): void {\n tile._setStyle('top', this.getTilePosition(this.fixedRowHeight, rowIndex));\n tile._setStyle('height', calc(this.getTileSize(this.fixedRowHeight, tile.rowspan)));\n }\n\n getComputedHeight(): [string, string] {\n return [\n 'height', calc(`${this.getTileSpan(this.fixedRowHeight)} + ${this.getGutterSpan()}`)\n ];\n }\n\n reset(list: MatGridList) {\n list._setListStyle(['height', null]);\n\n list._tiles.forEach(tile => {\n tile._setStyle('top', null);\n tile._setStyle('height', null);\n });\n }\n}\n\n\n/**\n * This type of styler is instantiated when the user passes in a width:height ratio\n * for the row height. Example `<mat-grid-list cols=\"3\" rowHeight=\"3:1\">`\n * @docs-private\n */\nexport class RatioTileStyler extends TileStyler {\n\n /** Ratio width:height given by user to determine row height. */\n rowHeightRatio: number;\n baseTileHeight: string;\n\n constructor(value: string) {\n super();\n this._parseRatio(value);\n }\n\n setRowStyles(tile: MatGridTile, rowIndex: number, percentWidth: number,\n gutterWidth: number): void {\n let percentHeightPerTile = percentWidth / this.rowHeightRatio;\n this.baseTileHeight = this.getBaseTileSize(percentHeightPerTile, gutterWidth);\n\n // Use padding-top and margin-top to maintain the given aspect ratio, as\n // a percentage-based value for these properties is applied versus the *width* of the\n // containing block. See http://www.w3.org/TR/CSS2/box.html#margin-properties\n tile._setStyle('margin-top', this.getTilePosition(this.baseTileHeight, rowIndex));\n tile._setStyle('padding-top', calc(this.getTileSize(this.baseTileHeight, tile.rowspan)));\n }\n\n getComputedHeight(): [string, string] {\n return [\n 'padding-bottom', calc(`${this.getTileSpan(this.baseTileHeight)} + ${this.getGutterSpan()}`)\n ];\n }\n\n reset(list: MatGridList) {\n list._setListStyle(['padding-bottom', null]);\n\n list._tiles.forEach(tile => {\n tile._setStyle('margin-top', null);\n tile._setStyle('padding-top', null);\n });\n }\n\n private _parseRatio(value: string): void {\n const ratioParts = value.split(':');\n\n if (ratioParts.length !== 2) {\n throw Error(`mat-grid-list: invalid ratio given for row-height: \"${value}\"`);\n }\n\n this.rowHeightRatio = parseFloat(ratioParts[0]) / parseFloat(ratioParts[1]);\n }\n}\n\n/**\n * This type of styler is instantiated when the user selects a \"fit\" row height mode.\n * In other words, the row height will reflect the total height of the container divided\n * by the number of rows. Example `<mat-grid-list cols=\"3\" rowHeight=\"fit\">`\n *\n * @docs-private\n */\nexport class FitTileStyler extends TileStyler {\n\n setRowStyles(tile: MatGridTile, rowIndex: number): void {\n // Percent of the available vertical space that one row takes up.\n let percentHeightPerTile = 100 / this._rowspan;\n\n // Fraction of the horizontal gutter size that each column takes up.\n let gutterHeightPerTile = (this._rows - 1) / this._rows;\n\n // Base vertical size of a column.\n let baseTileHeight = this.getBaseTileSize(percentHeightPerTile, gutterHeightPerTile);\n\n tile._setStyle('top', this.getTilePosition(baseTileHeight, rowIndex));\n tile._setStyle('height', calc(this.getTileSize(baseTileHeight, tile.rowspan)));\n }\n\n reset(list: MatGridList) {\n list._tiles.forEach(tile => {\n tile._setStyle('top', null);\n tile._setStyle('height', null);\n });\n }\n}\n\n\n/** Wraps a CSS string in a calc function */\nfunction calc(exp: string): string { return `calc(${exp})`; }\n\n\n/** Appends pixels to a CSS string if no units are given. */\nfunction normalizeUnits(value: string): string {\n return (value.match(/px|em|rem/)) ? value : value + 'px';\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 {QueryList} from '@angular/core';\nimport {MatGridTile} from './grid-tile';\n\n/**\n * Class for determining, from a list of tiles, the (row, col) position of each of those tiles\n * in the grid. This is necessary (rather than just rendering the tiles in normal document flow)\n * because the tiles can have a rowspan.\n *\n * The positioning algorithm greedily places each tile as soon as it encounters a gap in the grid\n * large enough to accommodate it so that the tiles still render in the same order in which they\n * are given.\n *\n * The basis of the algorithm is the use of an array to track the already placed tiles. Each\n * element of the array corresponds to a column, and the value indicates how many cells in that\n * column are already occupied; zero indicates an empty cell. Moving \"down\" to the next row\n * decrements each value in the tracking array (indicating that the column is one cell closer to\n * being free).\n *\n * @docs-private\n */\nexport class TileCoordinator {\n /** Tracking array (see class description). */\n tracker: number[];\n\n /** Index at which the search for the next gap will start. */\n columnIndex: number = 0;\n\n /** The current row index. */\n rowIndex: number = 0;\n\n /** Gets the total number of rows occupied by tiles */\n get rowCount(): number { return this.rowIndex + 1; }\n\n /**\n * Gets the total span of rows occupied by tiles.\n * Ex: A list with 1 row that contains a tile with rowspan 2 will have a total rowspan of 2.\n */\n get rowspan() {\n let lastRowMax = Math.max(...this.tracker);\n // if any of the tiles has a rowspan that pushes it beyond the total row count,\n // add the difference to the rowcount\n return lastRowMax > 1 ? this.rowCount + lastRowMax - 1 : this.rowCount;\n }\n\n /** The computed (row, col) position of each tile (the output). */\n positions: TilePosition[];\n\n constructor(numColumns: number, tiles: QueryList<MatGridTile>) {\n this.tracker = new Array(numColumns);\n this.tracker.fill(0, 0, this.tracker.length);\n\n this.positions = tiles.map(tile => this._trackTile(tile));\n }\n\n /** Calculates the row and col position of a tile. */\n private _trackTile(tile: MatGridTile): TilePosition {\n // Find a gap large enough for this tile.\n let gapStartIndex = this._findMatchingGap(tile.colspan);\n\n // Place tile in the resulting gap.\n this._markTilePosition(gapStartIndex, tile);\n\n // The next time we look for a gap, the search will start at columnIndex, which should be\n // immediately after the tile that has just been placed.\n this.columnIndex = gapStartIndex + tile.colspan;\n\n return new TilePosition(this.rowIndex, gapStartIndex);\n }\n\n /** Finds the next available space large enough to fit the tile. */\n private _findMatchingGap(tileCols: number): number {\n if (tileCols > this.tracker.length) {\n throw Error(`mat-grid-list: tile with colspan ${tileCols} is wider than ` +\n `grid with cols=\"${this.tracker.length}\".`);\n }\n\n // Start index is inclusive, end index is exclusive.\n let gapStartIndex = -1;\n let gapEndIndex = -1;\n\n // Look for a gap large enough to fit the given tile. Empty spaces are marked with a zero.\n do {\n // If we've reached the end of the row, go to the next row.\n if (this.columnIndex + tileCols > this.tracker.length) {\n this._nextRow();\n continue;\n }\n\n gapStartIndex = this.tracker.indexOf(0, this.columnIndex);\n\n // If there are no more empty spaces in this row at all, move on to the next row.\n if (gapStartIndex == -1) {\n this._nextRow();\n continue;\n }\n\n gapEndIndex = this._findGapEndIndex(gapStartIndex);\n\n // If a gap large enough isn't found, we want to start looking immediately after the current\n // gap on the next iteration.\n this.columnIndex = gapStartIndex + 1;\n\n // Continue iterating until we find a gap wide enough for this tile.\n } while (gapEndIndex - gapStartIndex < tileCols);\n\n // If we still didn't manage to find a gap, ensure that the index is\n // at least zero so the tile doesn't get pulled out of the grid.\n return Math.max(gapStartIndex, 0);\n }\n\n /** Move \"down\" to the next row. */\n private _nextRow(): void {\n this.columnIndex = 0;\n this.rowIndex++;\n\n // Decrement all spaces by one to reflect moving down one row.\n for (let i = 0; i < this.tracker.length; i++) {\n this.tracker[i] = Math.max(0, this.tracker[i] - 1);\n }\n }\n\n /**\n * Finds the end index (exclusive) of a gap given the index from which to start looking.\n * The gap ends when a non-zero value is found.\n */\n private _findGapEndIndex(gapStartIndex: number): number {\n for (let i = gapStartIndex + 1; i < this.tracker.length; i++) {\n if (this.tracker[i] != 0) {\n return i;\n }\n }\n\n // The gap ends with the end of the row.\n return this.tracker.length;\n }\n\n /** Update the tile tracker to account for the given tile in the given space. */\n private _markTilePosition(start: number, tile: MatGridTile): void {\n for (let i = 0; i < tile.colspan; i++) {\n this.tracker[start + i] = tile.rowspan;\n }\n }\n}\n\n/**\n * Simple data structure for tile position (row, col).\n * @docs-private\n */\nexport class TilePosition {\n constructor(public row: number, public col: number) {}\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 {\n Component,\n ViewEncapsulation,\n ElementRef,\n Input,\n ContentChildren,\n QueryList,\n AfterContentInit,\n Directive,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {MatLine, MatLineSetter} from '@angular/material/core';\nimport {coerceToNumber} from './grid-list-measure';\n\n@Component({\n moduleId: module.id,\n selector: 'mat-grid-tile',\n exportAs: 'matGridTile',\n host: {\n 'class': 'mat-grid-tile',\n },\n templateUrl: 'grid-tile.html',\n styleUrls: ['grid-list.css'],\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatGridTile {\n _rowspan: number = 1;\n _colspan: number = 1;\n\n constructor(private _element: ElementRef) {}\n\n /** Amount of rows that the grid tile takes up. */\n @Input()\n get rowspan(): number { return this._rowspan; }\n set rowspan(value: number) { this._rowspan = coerceToNumber(value); }\n\n /** Amount of columns that the grid tile takes up. */\n @Input()\n get colspan(): number { return this._colspan; }\n set colspan(value: number) { this._colspan = coerceToNumber(value); }\n\n /**\n * Sets the style of the grid-tile element. Needs to be set manually to avoid\n * \"Changed after checked\" errors that would occur with HostBinding.\n */\n _setStyle(property: string, value: any): void {\n this._element.nativeElement.style[property] = value;\n }\n}\n\n@Component({\n moduleId: module.id,\n selector: 'mat-grid-tile-header, mat-grid-tile-footer',\n templateUrl: 'grid-tile-text.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n})\nexport class MatGridTileText implements AfterContentInit {\n /**\n * Helper that watches the number of lines in a text area and sets\n * a class on the host element that matches the line count.\n */\n _lineSetter: MatLineSetter;\n @ContentChildren(MatLine) _lines: QueryList<MatLine>;\n\n constructor(private _element: ElementRef) {}\n\n ngAfterContentInit() {\n this._lineSetter = new MatLineSetter(this._lines, this._element);\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-grid-avatar], [matGridAvatar]',\n host: {'class': 'mat-grid-avatar'}\n})\nexport class MatGridAvatarCssMatStyler {}\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-grid-tile-header',\n host: {'class': 'mat-grid-tile-header'}\n})\nexport class MatGridTileHeaderCssMatStyler {}\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-grid-tile-footer',\n host: {'class': 'mat-grid-tile-footer'}\n})\nexport class MatGridTileFooterCssMatStyler {}\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\n/**\n * Converts values into strings. Falsy values become empty strings.\n * @docs-private\n */\nexport function coerceToString(value: string | number): string {\n return `${value || ''}`;\n}\n\n/**\n * Converts a value that might be a string into a number.\n * @docs-private\n */\nexport function coerceToNumber(value: string | number): number {\n return typeof value === 'string' ? parseInt(value, 10) : value;\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\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 = 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\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++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\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 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) : new P(function (resolve) { resolve(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 = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, 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 function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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\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\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) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\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];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\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"],"names":["MatCommonModule","MatLineModule","NgModule","Input","ViewEncapsulation","ChangeDetectionStrategy","Component","tslib_1.__extends","ElementRef"],"mappings":"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"}
1
+ {"version":3,"file":"material-grid-list.umd.js","sources":["../../src/lib/grid-list/grid-list-module.ts","../../src/lib/grid-list/grid-list.ts","../../src/lib/grid-list/tile-styler.ts","../../src/lib/grid-list/tile-coordinator.ts","../../src/lib/grid-list/grid-tile.ts","../../src/lib/grid-list/grid-list-measure.ts","../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/**\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 {NgModule} from '@angular/core';\nimport {MatLineModule, MatCommonModule} from '@angular/material/core';\nimport {\n MatGridTile, MatGridTileText, MatGridTileFooterCssMatStyler,\n MatGridTileHeaderCssMatStyler, MatGridAvatarCssMatStyler\n} from './grid-tile';\nimport {MatGridList} from './grid-list';\n\n\n@NgModule({\n imports: [MatLineModule, MatCommonModule],\n exports: [\n MatGridList,\n MatGridTile,\n MatGridTileText,\n MatLineModule,\n MatCommonModule,\n MatGridTileHeaderCssMatStyler,\n MatGridTileFooterCssMatStyler,\n MatGridAvatarCssMatStyler\n ],\n declarations: [\n MatGridList,\n MatGridTile,\n MatGridTileText,\n MatGridTileHeaderCssMatStyler,\n MatGridTileFooterCssMatStyler,\n MatGridAvatarCssMatStyler\n ],\n})\nexport class MatGridListModule {}\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 {\n Component,\n ViewEncapsulation,\n AfterContentChecked,\n OnInit,\n Input,\n ContentChildren,\n QueryList,\n ElementRef,\n Optional,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {MatGridTile} from './grid-tile';\nimport {TileCoordinator} from './tile-coordinator';\nimport {TileStyler, FitTileStyler, RatioTileStyler, FixedTileStyler} from './tile-styler';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {\n coerceToString,\n coerceToNumber,\n} from './grid-list-measure';\n\n\n// TODO(kara): Conditional (responsive) column count / row size.\n// TODO(kara): Re-layout on window resize / media change (debounced).\n// TODO(kara): gridTileHeader and gridTileFooter.\n\nconst MAT_FIT_MODE = 'fit';\n\n@Component({\n moduleId: module.id,\n selector: 'mat-grid-list',\n exportAs: 'matGridList',\n templateUrl: 'grid-list.html',\n styleUrls: ['grid-list.css'],\n host: {\n 'class': 'mat-grid-list',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n})\nexport class MatGridList implements OnInit, AfterContentChecked {\n /** Number of columns being rendered. */\n private _cols: number;\n\n /**\n * Row height value passed in by user. This can be one of three types:\n * - Number value (ex: \"100px\"): sets a fixed row height to that value\n * - Ratio value (ex: \"4:3\"): sets the row height based on width:height ratio\n * - \"Fit\" mode (ex: \"fit\"): sets the row height to total height divided by number of rows\n */\n private _rowHeight: string;\n\n /** The amount of space between tiles. This will be something like '5px' or '2em'. */\n private _gutter: string = '1px';\n\n /** Sets position and size styles for a tile */\n private _tileStyler: TileStyler;\n\n /** Query list of tiles that are being rendered. */\n @ContentChildren(MatGridTile) _tiles: QueryList<MatGridTile>;\n\n constructor(private _element: ElementRef, @Optional() private _dir: Directionality) {}\n\n /** Amount of columns in the grid list. */\n @Input()\n get cols(): number { return this._cols; }\n set cols(value: number) { this._cols = coerceToNumber(value); }\n\n /** Size of the grid list's gutter in pixels. */\n @Input()\n get gutterSize(): string { return this._gutter; }\n set gutterSize(value: string) { this._gutter = coerceToString(value); }\n\n /** Set internal representation of row height from the user-provided value. */\n @Input()\n set rowHeight(value: string | number) {\n const newValue = coerceToString(value);\n\n if (newValue !== this._rowHeight) {\n this._rowHeight = newValue;\n this._setTileStyler(this._rowHeight);\n }\n }\n\n ngOnInit() {\n this._checkCols();\n this._checkRowHeight();\n }\n\n /**\n * The layout calculation is fairly cheap if nothing changes, so there's little cost\n * to run it frequently.\n */\n ngAfterContentChecked() {\n this._layoutTiles();\n }\n\n /** Throw a friendly error if cols property is missing */\n private _checkCols() {\n if (!this.cols) {\n throw Error(`mat-grid-list: must pass in number of columns. ` +\n `Example: <mat-grid-list cols=\"3\">`);\n }\n }\n\n /** Default to equal width:height if rowHeight property is missing */\n private _checkRowHeight(): void {\n if (!this._rowHeight) {\n this._setTileStyler('1:1');\n }\n }\n\n /** Creates correct Tile Styler subtype based on rowHeight passed in by user */\n private _setTileStyler(rowHeight: string): void {\n if (this._tileStyler) {\n this._tileStyler.reset(this);\n }\n\n if (rowHeight === MAT_FIT_MODE) {\n this._tileStyler = new FitTileStyler();\n } else if (rowHeight && rowHeight.indexOf(':') > -1) {\n this._tileStyler = new RatioTileStyler(rowHeight);\n } else {\n this._tileStyler = new FixedTileStyler(rowHeight);\n }\n }\n\n /** Computes and applies the size and position for all children grid tiles. */\n private _layoutTiles(): void {\n const tracker = new TileCoordinator(this.cols, this._tiles);\n const direction = this._dir ? this._dir.value : 'ltr';\n this._tileStyler.init(this.gutterSize, tracker, this.cols, direction);\n\n this._tiles.forEach((tile, index) => {\n const pos = tracker.positions[index];\n this._tileStyler.setStyle(tile, pos.row, pos.col);\n });\n\n this._setListStyle(this._tileStyler.getComputedHeight());\n }\n\n /** Sets style on the main grid-list element, given the style name and value. */\n _setListStyle(style: [string, string | null] | null): void {\n if (style) {\n this._element.nativeElement.style[style[0]] = style[1];\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 {MatGridList} from './grid-list';\nimport {MatGridTile} from './grid-tile';\nimport {TileCoordinator} from './tile-coordinator';\n\n/**\n * Sets the style properties for an individual tile, given the position calculated by the\n * Tile Coordinator.\n * @docs-private\n */\nexport abstract class TileStyler {\n _gutterSize: string;\n _rows: number = 0;\n _rowspan: number = 0;\n _cols: number;\n _direction: string;\n\n /**\n * Adds grid-list layout info once it is available. Cannot be processed in the constructor\n * because these properties haven't been calculated by that point.\n *\n * @param gutterSize Size of the grid's gutter.\n * @param tracker Instance of the TileCoordinator.\n * @param cols Amount of columns in the grid.\n * @param direction Layout direction of the grid.\n */\n init(gutterSize: string, tracker: TileCoordinator, cols: number, direction: string): void {\n this._gutterSize = normalizeUnits(gutterSize);\n this._rows = tracker.rowCount;\n this._rowspan = tracker.rowspan;\n this._cols = cols;\n this._direction = direction;\n }\n\n /**\n * Computes the amount of space a single 1x1 tile would take up (width or height).\n * Used as a basis for other calculations.\n * @param sizePercent Percent of the total grid-list space that one 1x1 tile would take up.\n * @param gutterFraction Fraction of the gutter size taken up by one 1x1 tile.\n * @return The size of a 1x1 tile as an expression that can be evaluated via CSS calc().\n */\n getBaseTileSize(sizePercent: number, gutterFraction: number): string {\n // Take the base size percent (as would be if evenly dividing the size between cells),\n // and then subtracting the size of one gutter. However, since there are no gutters on the\n // edges, each tile only uses a fraction (gutterShare = numGutters / numCells) of the gutter\n // size. (Imagine having one gutter per tile, and then breaking up the extra gutter on the\n // edge evenly among the cells).\n return `(${sizePercent}% - (${this._gutterSize} * ${gutterFraction}))`;\n }\n\n\n /**\n * Gets The horizontal or vertical position of a tile, e.g., the 'top' or 'left' property value.\n * @param offset Number of tiles that have already been rendered in the row/column.\n * @param baseSize Base size of a 1x1 tile (as computed in getBaseTileSize).\n * @return Position of the tile as a CSS calc() expression.\n */\n getTilePosition(baseSize: string, offset: number): string {\n // The position comes the size of a 1x1 tile plus gutter for each previous tile in the\n // row/column (offset).\n return offset === 0 ? '0' : calc(`(${baseSize} + ${this._gutterSize}) * ${offset}`);\n }\n\n\n /**\n * Gets the actual size of a tile, e.g., width or height, taking rowspan or colspan into account.\n * @param baseSize Base size of a 1x1 tile (as computed in getBaseTileSize).\n * @param span The tile's rowspan or colspan.\n * @return Size of the tile as a CSS calc() expression.\n */\n getTileSize(baseSize: string, span: number): string {\n return `(${baseSize} * ${span}) + (${span - 1} * ${this._gutterSize})`;\n }\n\n\n /**\n * Sets the style properties to be applied to a tile for the given row and column index.\n * @param tile Tile to which to apply the styling.\n * @param rowIndex Index of the tile's row.\n * @param colIndex Index of the tile's column.\n */\n setStyle(tile: MatGridTile, rowIndex: number, colIndex: number): void {\n // Percent of the available horizontal space that one column takes up.\n let percentWidthPerTile = 100 / this._cols;\n\n // Fraction of the vertical gutter size that each column takes up.\n // For example, if there are 5 columns, each column uses 4/5 = 0.8 times the gutter width.\n let gutterWidthFractionPerTile = (this._cols - 1) / this._cols;\n\n this.setColStyles(tile, colIndex, percentWidthPerTile, gutterWidthFractionPerTile);\n this.setRowStyles(tile, rowIndex, percentWidthPerTile, gutterWidthFractionPerTile);\n }\n\n /** Sets the horizontal placement of the tile in the list. */\n setColStyles(tile: MatGridTile, colIndex: number, percentWidth: number,\n gutterWidth: number) {\n // Base horizontal size of a column.\n let baseTileWidth = this.getBaseTileSize(percentWidth, gutterWidth);\n\n // The width and horizontal position of each tile is always calculated the same way, but the\n // height and vertical position depends on the rowMode.\n let side = this._direction === 'rtl' ? 'right' : 'left';\n tile._setStyle(side, this.getTilePosition(baseTileWidth, colIndex));\n tile._setStyle('width', calc(this.getTileSize(baseTileWidth, tile.colspan)));\n }\n\n /**\n * Calculates the total size taken up by gutters across one axis of a list.\n */\n getGutterSpan(): string {\n return `${this._gutterSize} * (${this._rowspan} - 1)`;\n }\n\n /**\n * Calculates the total size taken up by tiles across one axis of a list.\n * @param tileHeight Height of the tile.\n */\n getTileSpan(tileHeight: string): string {\n return `${this._rowspan} * ${this.getTileSize(tileHeight, 1)}`;\n }\n\n /**\n * Sets the vertical placement of the tile in the list.\n * This method will be implemented by each type of TileStyler.\n * @docs-private\n */\n abstract setRowStyles(tile: MatGridTile, rowIndex: number, percentWidth: number,\n gutterWidth: number);\n\n /**\n * Calculates the computed height and returns the correct style property to set.\n * This method can be implemented by each type of TileStyler.\n * @docs-private\n */\n getComputedHeight(): [string, string] | null { return null; }\n\n /**\n * Called when the tile styler is swapped out with a different one. To be used for cleanup.\n * @param list Grid list that the styler was attached to.\n * @docs-private\n */\n abstract reset(list: MatGridList);\n}\n\n\n/**\n * This type of styler is instantiated when the user passes in a fixed row height.\n * Example `<mat-grid-list cols=\"3\" rowHeight=\"100px\">`\n * @docs-private\n */\nexport class FixedTileStyler extends TileStyler {\n\n constructor(public fixedRowHeight: string) { super(); }\n\n init(gutterSize: string, tracker: TileCoordinator, cols: number, direction: string) {\n super.init(gutterSize, tracker, cols, direction);\n this.fixedRowHeight = normalizeUnits(this.fixedRowHeight);\n }\n\n setRowStyles(tile: MatGridTile, rowIndex: number): void {\n tile._setStyle('top', this.getTilePosition(this.fixedRowHeight, rowIndex));\n tile._setStyle('height', calc(this.getTileSize(this.fixedRowHeight, tile.rowspan)));\n }\n\n getComputedHeight(): [string, string] {\n return [\n 'height', calc(`${this.getTileSpan(this.fixedRowHeight)} + ${this.getGutterSpan()}`)\n ];\n }\n\n reset(list: MatGridList) {\n list._setListStyle(['height', null]);\n\n list._tiles.forEach(tile => {\n tile._setStyle('top', null);\n tile._setStyle('height', null);\n });\n }\n}\n\n\n/**\n * This type of styler is instantiated when the user passes in a width:height ratio\n * for the row height. Example `<mat-grid-list cols=\"3\" rowHeight=\"3:1\">`\n * @docs-private\n */\nexport class RatioTileStyler extends TileStyler {\n\n /** Ratio width:height given by user to determine row height. */\n rowHeightRatio: number;\n baseTileHeight: string;\n\n constructor(value: string) {\n super();\n this._parseRatio(value);\n }\n\n setRowStyles(tile: MatGridTile, rowIndex: number, percentWidth: number,\n gutterWidth: number): void {\n let percentHeightPerTile = percentWidth / this.rowHeightRatio;\n this.baseTileHeight = this.getBaseTileSize(percentHeightPerTile, gutterWidth);\n\n // Use padding-top and margin-top to maintain the given aspect ratio, as\n // a percentage-based value for these properties is applied versus the *width* of the\n // containing block. See http://www.w3.org/TR/CSS2/box.html#margin-properties\n tile._setStyle('marginTop', this.getTilePosition(this.baseTileHeight, rowIndex));\n tile._setStyle('paddingTop', calc(this.getTileSize(this.baseTileHeight, tile.rowspan)));\n }\n\n getComputedHeight(): [string, string] {\n return [\n 'paddingBottom', calc(`${this.getTileSpan(this.baseTileHeight)} + ${this.getGutterSpan()}`)\n ];\n }\n\n reset(list: MatGridList) {\n list._setListStyle(['paddingBottom', null]);\n\n list._tiles.forEach(tile => {\n tile._setStyle('marginTop', null);\n tile._setStyle('paddingTop', null);\n });\n }\n\n private _parseRatio(value: string): void {\n const ratioParts = value.split(':');\n\n if (ratioParts.length !== 2) {\n throw Error(`mat-grid-list: invalid ratio given for row-height: \"${value}\"`);\n }\n\n this.rowHeightRatio = parseFloat(ratioParts[0]) / parseFloat(ratioParts[1]);\n }\n}\n\n/**\n * This type of styler is instantiated when the user selects a \"fit\" row height mode.\n * In other words, the row height will reflect the total height of the container divided\n * by the number of rows. Example `<mat-grid-list cols=\"3\" rowHeight=\"fit\">`\n *\n * @docs-private\n */\nexport class FitTileStyler extends TileStyler {\n\n setRowStyles(tile: MatGridTile, rowIndex: number): void {\n // Percent of the available vertical space that one row takes up.\n let percentHeightPerTile = 100 / this._rowspan;\n\n // Fraction of the horizontal gutter size that each column takes up.\n let gutterHeightPerTile = (this._rows - 1) / this._rows;\n\n // Base vertical size of a column.\n let baseTileHeight = this.getBaseTileSize(percentHeightPerTile, gutterHeightPerTile);\n\n tile._setStyle('top', this.getTilePosition(baseTileHeight, rowIndex));\n tile._setStyle('height', calc(this.getTileSize(baseTileHeight, tile.rowspan)));\n }\n\n reset(list: MatGridList) {\n list._tiles.forEach(tile => {\n tile._setStyle('top', null);\n tile._setStyle('height', null);\n });\n }\n}\n\n\n/** Wraps a CSS string in a calc function */\nfunction calc(exp: string): string { return `calc(${exp})`; }\n\n\n/** Appends pixels to a CSS string if no units are given. */\nfunction normalizeUnits(value: string): string {\n return (value.match(/px|em|rem/)) ? value : value + 'px';\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 {QueryList} from '@angular/core';\nimport {MatGridTile} from './grid-tile';\n\n/**\n * Class for determining, from a list of tiles, the (row, col) position of each of those tiles\n * in the grid. This is necessary (rather than just rendering the tiles in normal document flow)\n * because the tiles can have a rowspan.\n *\n * The positioning algorithm greedily places each tile as soon as it encounters a gap in the grid\n * large enough to accommodate it so that the tiles still render in the same order in which they\n * are given.\n *\n * The basis of the algorithm is the use of an array to track the already placed tiles. Each\n * element of the array corresponds to a column, and the value indicates how many cells in that\n * column are already occupied; zero indicates an empty cell. Moving \"down\" to the next row\n * decrements each value in the tracking array (indicating that the column is one cell closer to\n * being free).\n *\n * @docs-private\n */\nexport class TileCoordinator {\n /** Tracking array (see class description). */\n tracker: number[];\n\n /** Index at which the search for the next gap will start. */\n columnIndex: number = 0;\n\n /** The current row index. */\n rowIndex: number = 0;\n\n /** Gets the total number of rows occupied by tiles */\n get rowCount(): number { return this.rowIndex + 1; }\n\n /**\n * Gets the total span of rows occupied by tiles.\n * Ex: A list with 1 row that contains a tile with rowspan 2 will have a total rowspan of 2.\n */\n get rowspan() {\n let lastRowMax = Math.max(...this.tracker);\n // if any of the tiles has a rowspan that pushes it beyond the total row count,\n // add the difference to the rowcount\n return lastRowMax > 1 ? this.rowCount + lastRowMax - 1 : this.rowCount;\n }\n\n /** The computed (row, col) position of each tile (the output). */\n positions: TilePosition[];\n\n constructor(numColumns: number, tiles: QueryList<MatGridTile>) {\n this.tracker = new Array(numColumns);\n this.tracker.fill(0, 0, this.tracker.length);\n\n this.positions = tiles.map(tile => this._trackTile(tile));\n }\n\n /** Calculates the row and col position of a tile. */\n private _trackTile(tile: MatGridTile): TilePosition {\n // Find a gap large enough for this tile.\n let gapStartIndex = this._findMatchingGap(tile.colspan);\n\n // Place tile in the resulting gap.\n this._markTilePosition(gapStartIndex, tile);\n\n // The next time we look for a gap, the search will start at columnIndex, which should be\n // immediately after the tile that has just been placed.\n this.columnIndex = gapStartIndex + tile.colspan;\n\n return new TilePosition(this.rowIndex, gapStartIndex);\n }\n\n /** Finds the next available space large enough to fit the tile. */\n private _findMatchingGap(tileCols: number): number {\n if (tileCols > this.tracker.length) {\n throw Error(`mat-grid-list: tile with colspan ${tileCols} is wider than ` +\n `grid with cols=\"${this.tracker.length}\".`);\n }\n\n // Start index is inclusive, end index is exclusive.\n let gapStartIndex = -1;\n let gapEndIndex = -1;\n\n // Look for a gap large enough to fit the given tile. Empty spaces are marked with a zero.\n do {\n // If we've reached the end of the row, go to the next row.\n if (this.columnIndex + tileCols > this.tracker.length) {\n this._nextRow();\n continue;\n }\n\n gapStartIndex = this.tracker.indexOf(0, this.columnIndex);\n\n // If there are no more empty spaces in this row at all, move on to the next row.\n if (gapStartIndex == -1) {\n this._nextRow();\n continue;\n }\n\n gapEndIndex = this._findGapEndIndex(gapStartIndex);\n\n // If a gap large enough isn't found, we want to start looking immediately after the current\n // gap on the next iteration.\n this.columnIndex = gapStartIndex + 1;\n\n // Continue iterating until we find a gap wide enough for this tile.\n } while (gapEndIndex - gapStartIndex < tileCols);\n\n // If we still didn't manage to find a gap, ensure that the index is\n // at least zero so the tile doesn't get pulled out of the grid.\n return Math.max(gapStartIndex, 0);\n }\n\n /** Move \"down\" to the next row. */\n private _nextRow(): void {\n this.columnIndex = 0;\n this.rowIndex++;\n\n // Decrement all spaces by one to reflect moving down one row.\n for (let i = 0; i < this.tracker.length; i++) {\n this.tracker[i] = Math.max(0, this.tracker[i] - 1);\n }\n }\n\n /**\n * Finds the end index (exclusive) of a gap given the index from which to start looking.\n * The gap ends when a non-zero value is found.\n */\n private _findGapEndIndex(gapStartIndex: number): number {\n for (let i = gapStartIndex + 1; i < this.tracker.length; i++) {\n if (this.tracker[i] != 0) {\n return i;\n }\n }\n\n // The gap ends with the end of the row.\n return this.tracker.length;\n }\n\n /** Update the tile tracker to account for the given tile in the given space. */\n private _markTilePosition(start: number, tile: MatGridTile): void {\n for (let i = 0; i < tile.colspan; i++) {\n this.tracker[start + i] = tile.rowspan;\n }\n }\n}\n\n/**\n * Simple data structure for tile position (row, col).\n * @docs-private\n */\nexport class TilePosition {\n constructor(public row: number, public col: number) {}\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 {\n Component,\n ViewEncapsulation,\n ElementRef,\n Input,\n ContentChildren,\n QueryList,\n AfterContentInit,\n Directive,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {MatLine, MatLineSetter} from '@angular/material/core';\nimport {coerceToNumber} from './grid-list-measure';\n\n@Component({\n moduleId: module.id,\n selector: 'mat-grid-tile',\n exportAs: 'matGridTile',\n host: {\n 'class': 'mat-grid-tile',\n },\n templateUrl: 'grid-tile.html',\n styleUrls: ['grid-list.css'],\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatGridTile {\n _rowspan: number = 1;\n _colspan: number = 1;\n\n constructor(private _element: ElementRef) {}\n\n /** Amount of rows that the grid tile takes up. */\n @Input()\n get rowspan(): number { return this._rowspan; }\n set rowspan(value: number) { this._rowspan = coerceToNumber(value); }\n\n /** Amount of columns that the grid tile takes up. */\n @Input()\n get colspan(): number { return this._colspan; }\n set colspan(value: number) { this._colspan = coerceToNumber(value); }\n\n /**\n * Sets the style of the grid-tile element. Needs to be set manually to avoid\n * \"Changed after checked\" errors that would occur with HostBinding.\n */\n _setStyle(property: string, value: any): void {\n this._element.nativeElement.style[property] = value;\n }\n}\n\n@Component({\n moduleId: module.id,\n selector: 'mat-grid-tile-header, mat-grid-tile-footer',\n templateUrl: 'grid-tile-text.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n})\nexport class MatGridTileText implements AfterContentInit {\n /**\n * Helper that watches the number of lines in a text area and sets\n * a class on the host element that matches the line count.\n */\n _lineSetter: MatLineSetter;\n @ContentChildren(MatLine) _lines: QueryList<MatLine>;\n\n constructor(private _element: ElementRef) {}\n\n ngAfterContentInit() {\n this._lineSetter = new MatLineSetter(this._lines, this._element);\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-grid-avatar], [matGridAvatar]',\n host: {'class': 'mat-grid-avatar'}\n})\nexport class MatGridAvatarCssMatStyler {}\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-grid-tile-header',\n host: {'class': 'mat-grid-tile-header'}\n})\nexport class MatGridTileHeaderCssMatStyler {}\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-grid-tile-footer',\n host: {'class': 'mat-grid-tile-footer'}\n})\nexport class MatGridTileFooterCssMatStyler {}\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\n/**\n * Converts values into strings. Falsy values become empty strings.\n * @docs-private\n */\nexport function coerceToString(value: string | number): string {\n return `${value || ''}`;\n}\n\n/**\n * Converts a value that might be a string into a number.\n * @docs-private\n */\nexport function coerceToNumber(value: string | number): number {\n return typeof value === 'string' ? parseInt(value, 10) : value;\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\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 = 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\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++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\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 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) : new P(function (resolve) { resolve(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 = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, 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 function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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\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\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) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\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];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\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"],"names":["MatCommonModule","MatLineModule","NgModule","Input","ViewEncapsulation","ChangeDetectionStrategy","Component","tslib_1.__extends","ElementRef"],"mappings":"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"}
@@ -5,5 +5,5 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/material/core"),require("@angular/cdk/bidi")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/material/core","@angular/cdk/bidi"],e):e((t.ng=t.ng||{},t.ng.material=t.ng.material||{},t.ng.material.gridList=t.ng.material.gridList||{}),t.ng.core,t.ng.material.core,t.ng.cdk.bidi)}(this,function(t,e,i,r){"use strict";function n(t,e){function i(){this.constructor=t}p(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}function o(t){return""+(t||"")}function a(t){return"string"==typeof t?parseInt(t,10):t}function s(t){return"calc("+t+")"}function l(t){return t.match(/px|em|rem/)?t:t+"px"}var p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])},c=function(){function t(t){this._element=t,this._rowspan=1,this._colspan=1}return Object.defineProperty(t.prototype,"rowspan",{get:function(){return this._rowspan},set:function(t){this._rowspan=a(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"colspan",{get:function(){return this._colspan},set:function(t){this._colspan=a(t)},enumerable:!0,configurable:!0}),t.prototype._setStyle=function(t,e){this._element.nativeElement.style[t]=e},t.decorators=[{type:e.Component,args:[{selector:"mat-grid-tile",exportAs:"matGridTile",host:{class:"mat-grid-tile"},template:'<figure class="mat-figure"><ng-content></ng-content></figure>',styles:[".mat-grid-list{display:block;position:relative}.mat-grid-tile{display:block;position:absolute;overflow:hidden}.mat-grid-tile .mat-figure{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}.mat-grid-tile .mat-grid-tile-footer,.mat-grid-tile .mat-grid-tile-header{display:flex;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.38);overflow:hidden;padding:0 16px;position:absolute;left:0;right:0}.mat-grid-tile .mat-grid-tile-footer>*,.mat-grid-tile .mat-grid-tile-header>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-tile-footer.mat-2-line,.mat-grid-tile .mat-grid-tile-header.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}"],encapsulation:e.ViewEncapsulation.None,preserveWhitespaces:!1,changeDetection:e.ChangeDetectionStrategy.OnPush}]}],t.ctorParameters=function(){return[{type:e.ElementRef}]},t.propDecorators={rowspan:[{type:e.Input}],colspan:[{type:e.Input}]},t}(),g=function(){function t(t){this._element=t}return t.prototype.ngAfterContentInit=function(){this._lineSetter=new i.MatLineSetter(this._lines,this._element)},t.decorators=[{type:e.Component,args:[{selector:"mat-grid-tile-header, mat-grid-tile-footer",template:'<ng-content select="[mat-grid-avatar], [matGridAvatar]"></ng-content><div class="mat-grid-list-text"><ng-content select="[mat-line], [matLine]"></ng-content></div><ng-content></ng-content>',changeDetection:e.ChangeDetectionStrategy.OnPush,encapsulation:e.ViewEncapsulation.None,preserveWhitespaces:!1}]}],t.ctorParameters=function(){return[{type:e.ElementRef}]},t.propDecorators={_lines:[{type:e.ContentChildren,args:[i.MatLine]}]},t}(),h=function(){function t(){}return t.decorators=[{type:e.Directive,args:[{selector:"[mat-grid-avatar], [matGridAvatar]",host:{class:"mat-grid-avatar"}}]}],t.ctorParameters=function(){return[]},t}(),d=function(){function t(){}return t.decorators=[{type:e.Directive,args:[{selector:"mat-grid-tile-header",host:{class:"mat-grid-tile-header"}}]}],t.ctorParameters=function(){return[]},t}(),u=function(){function t(){}return t.decorators=[{type:e.Directive,args:[{selector:"mat-grid-tile-footer",host:{class:"mat-grid-tile-footer"}}]}],t.ctorParameters=function(){return[]},t}(),f=function(){function t(t,e){var i=this;this.columnIndex=0,this.rowIndex=0,this.tracker=new Array(t),this.tracker.fill(0,0,this.tracker.length),this.positions=e.map(function(t){return i._trackTile(t)})}return Object.defineProperty(t.prototype,"rowCount",{get:function(){return this.rowIndex+1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowspan",{get:function(){var t=Math.max.apply(Math,this.tracker);return t>1?this.rowCount+t-1:this.rowCount},enumerable:!0,configurable:!0}),t.prototype._trackTile=function(t){var e=this._findMatchingGap(t.colspan);return this._markTilePosition(e,t),this.columnIndex=e+t.colspan,new m(this.rowIndex,e)},t.prototype._findMatchingGap=function(t){if(t>this.tracker.length)throw Error("mat-grid-list: tile with colspan "+t+' is wider than grid with cols="'+this.tracker.length+'".');var e=-1,i=-1;do{this.columnIndex+t>this.tracker.length?this._nextRow():(e=this.tracker.indexOf(0,this.columnIndex),-1!=e?(i=this._findGapEndIndex(e),this.columnIndex=e+1):this._nextRow())}while(i-e<t);return Math.max(e,0)},t.prototype._nextRow=function(){this.columnIndex=0,this.rowIndex++;for(var t=0;t<this.tracker.length;t++)this.tracker[t]=Math.max(0,this.tracker[t]-1)},t.prototype._findGapEndIndex=function(t){for(var e=t+1;e<this.tracker.length;e++)if(0!=this.tracker[e])return e;return this.tracker.length},t.prototype._markTilePosition=function(t,e){for(var i=0;i<e.colspan;i++)this.tracker[t+i]=e.rowspan},t}(),m=function(){function t(t,e){this.row=t,this.col=e}return t}(),y=function(){function t(){this._rows=0,this._rowspan=0}return t.prototype.init=function(t,e,i,r){this._gutterSize=l(t),this._rows=e.rowCount,this._rowspan=e.rowspan,this._cols=i,this._direction=r},t.prototype.getBaseTileSize=function(t,e){return"("+t+"% - ("+this._gutterSize+" * "+e+"))"},t.prototype.getTilePosition=function(t,e){return 0===e?"0":s("("+t+" + "+this._gutterSize+") * "+e)},t.prototype.getTileSize=function(t,e){return"("+t+" * "+e+") + ("+(e-1)+" * "+this._gutterSize+")"},t.prototype.setStyle=function(t,e,i){var r=100/this._cols,n=(this._cols-1)/this._cols;this.setColStyles(t,i,r,n),this.setRowStyles(t,e,r,n)},t.prototype.setColStyles=function(t,e,i,r){var n=this.getBaseTileSize(i,r),o="ltr"===this._direction?"left":"right";t._setStyle(o,this.getTilePosition(n,e)),t._setStyle("width",s(this.getTileSize(n,t.colspan)))},t.prototype.getGutterSpan=function(){return this._gutterSize+" * ("+this._rowspan+" - 1)"},t.prototype.getTileSpan=function(t){return this._rowspan+" * "+this.getTileSize(t,1)},t.prototype.getComputedHeight=function(){return null},t}(),_=function(t){function e(e){var i=t.call(this)||this;return i.fixedRowHeight=e,i}return n(e,t),e.prototype.init=function(e,i,r,n){t.prototype.init.call(this,e,i,r,n),this.fixedRowHeight=l(this.fixedRowHeight)},e.prototype.setRowStyles=function(t,e){t._setStyle("top",this.getTilePosition(this.fixedRowHeight,e)),t._setStyle("height",s(this.getTileSize(this.fixedRowHeight,t.rowspan)))},e.prototype.getComputedHeight=function(){return["height",s(this.getTileSpan(this.fixedRowHeight)+" + "+this.getGutterSpan())]},e.prototype.reset=function(t){t._setListStyle(["height",null]),t._tiles.forEach(function(t){t._setStyle("top",null),t._setStyle("height",null)})},e}(y),w=function(t){function e(e){var i=t.call(this)||this;return i._parseRatio(e),i}return n(e,t),e.prototype.setRowStyles=function(t,e,i,r){var n=i/this.rowHeightRatio;this.baseTileHeight=this.getBaseTileSize(n,r),t._setStyle("margin-top",this.getTilePosition(this.baseTileHeight,e)),t._setStyle("padding-top",s(this.getTileSize(this.baseTileHeight,t.rowspan)))},e.prototype.getComputedHeight=function(){return["padding-bottom",s(this.getTileSpan(this.baseTileHeight)+" + "+this.getGutterSpan())]},e.prototype.reset=function(t){t._setListStyle(["padding-bottom",null]),t._tiles.forEach(function(t){t._setStyle("margin-top",null),t._setStyle("padding-top",null)})},e.prototype._parseRatio=function(t){var e=t.split(":");if(2!==e.length)throw Error('mat-grid-list: invalid ratio given for row-height: "'+t+'"');this.rowHeightRatio=parseFloat(e[0])/parseFloat(e[1])},e}(y),S=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.setRowStyles=function(t,e){var i=100/this._rowspan,r=(this._rows-1)/this._rows,n=this.getBaseTileSize(i,r);t._setStyle("top",this.getTilePosition(n,e)),t._setStyle("height",s(this.getTileSize(n,t.rowspan)))},e.prototype.reset=function(t){t._tiles.forEach(function(t){t._setStyle("top",null),t._setStyle("height",null)})},e}(y),x=function(){function t(t,e){this._element=t,this._dir=e,this._gutter="1px"}return Object.defineProperty(t.prototype,"cols",{get:function(){return this._cols},set:function(t){this._cols=a(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"gutterSize",{get:function(){return this._gutter},set:function(t){this._gutter=o(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowHeight",{set:function(t){var e=o(t);e!==this._rowHeight&&(this._rowHeight=e,this._setTileStyler(this._rowHeight))},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this._checkCols(),this._checkRowHeight()},t.prototype.ngAfterContentChecked=function(){this._layoutTiles()},t.prototype._checkCols=function(){if(!this.cols)throw Error('mat-grid-list: must pass in number of columns. Example: <mat-grid-list cols="3">')},t.prototype._checkRowHeight=function(){this._rowHeight||this._setTileStyler("1:1")},t.prototype._setTileStyler=function(t){this._tileStyler&&this._tileStyler.reset(this),"fit"===t?this._tileStyler=new S:t&&t.indexOf(":")>-1?this._tileStyler=new w(t):this._tileStyler=new _(t)},t.prototype._layoutTiles=function(){var t=this,e=new f(this.cols,this._tiles),i=this._dir?this._dir.value:"ltr";this._tileStyler.init(this.gutterSize,e,this.cols,i),this._tiles.forEach(function(i,r){var n=e.positions[r];t._tileStyler.setStyle(i,n.row,n.col)}),this._setListStyle(this._tileStyler.getComputedHeight())},t.prototype._setListStyle=function(t){t&&(this._element.nativeElement.style[t[0]]=t[1])},t.decorators=[{type:e.Component,args:[{selector:"mat-grid-list",exportAs:"matGridList",template:"<div><ng-content></ng-content></div>",styles:[".mat-grid-list{display:block;position:relative}.mat-grid-tile{display:block;position:absolute;overflow:hidden}.mat-grid-tile .mat-figure{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}.mat-grid-tile .mat-grid-tile-footer,.mat-grid-tile .mat-grid-tile-header{display:flex;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.38);overflow:hidden;padding:0 16px;position:absolute;left:0;right:0}.mat-grid-tile .mat-grid-tile-footer>*,.mat-grid-tile .mat-grid-tile-header>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-tile-footer.mat-2-line,.mat-grid-tile .mat-grid-tile-header.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}"],host:{class:"mat-grid-list"},changeDetection:e.ChangeDetectionStrategy.OnPush,encapsulation:e.ViewEncapsulation.None,preserveWhitespaces:!1}]}],t.ctorParameters=function(){return[{type:e.ElementRef},{type:r.Directionality,decorators:[{type:e.Optional}]}]},t.propDecorators={_tiles:[{type:e.ContentChildren,args:[c]}],cols:[{type:e.Input}],gutterSize:[{type:e.Input}],rowHeight:[{type:e.Input}]},t}(),b=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{imports:[i.MatLineModule,i.MatCommonModule],exports:[x,c,g,i.MatLineModule,i.MatCommonModule,d,u,h],declarations:[x,c,g,d,u,h]}]}],t.ctorParameters=function(){return[]},t}();t.MatGridListModule=b,t.MatGridList=x,t.MatGridTile=c,t.MatGridTileText=g,t.MatGridAvatarCssMatStyler=h,t.MatGridTileHeaderCssMatStyler=d,t.MatGridTileFooterCssMatStyler=u,Object.defineProperty(t,"__esModule",{value:!0})});
8
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/material/core"),require("@angular/cdk/bidi")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/material/core","@angular/cdk/bidi"],e):e((t.ng=t.ng||{},t.ng.material=t.ng.material||{},t.ng.material.gridList=t.ng.material.gridList||{}),t.ng.core,t.ng.material.core,t.ng.cdk.bidi)}(this,function(t,e,i,r){"use strict";function n(t,e){function i(){this.constructor=t}p(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}function o(t){return""+(t||"")}function a(t){return"string"==typeof t?parseInt(t,10):t}function s(t){return"calc("+t+")"}function l(t){return t.match(/px|em|rem/)?t:t+"px"}var p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])},c=function(){function t(t){this._element=t,this._rowspan=1,this._colspan=1}return Object.defineProperty(t.prototype,"rowspan",{get:function(){return this._rowspan},set:function(t){this._rowspan=a(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"colspan",{get:function(){return this._colspan},set:function(t){this._colspan=a(t)},enumerable:!0,configurable:!0}),t.prototype._setStyle=function(t,e){this._element.nativeElement.style[t]=e},t.decorators=[{type:e.Component,args:[{selector:"mat-grid-tile",exportAs:"matGridTile",host:{class:"mat-grid-tile"},template:'<figure class="mat-figure"><ng-content></ng-content></figure>',styles:[".mat-grid-list{display:block;position:relative}.mat-grid-tile{display:block;position:absolute;overflow:hidden}.mat-grid-tile .mat-figure{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}.mat-grid-tile .mat-grid-tile-footer,.mat-grid-tile .mat-grid-tile-header{display:flex;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.38);overflow:hidden;padding:0 16px;position:absolute;left:0;right:0}.mat-grid-tile .mat-grid-tile-footer>*,.mat-grid-tile .mat-grid-tile-header>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-tile-footer.mat-2-line,.mat-grid-tile .mat-grid-tile-header.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}"],encapsulation:e.ViewEncapsulation.None,preserveWhitespaces:!1,changeDetection:e.ChangeDetectionStrategy.OnPush}]}],t.ctorParameters=function(){return[{type:e.ElementRef}]},t.propDecorators={rowspan:[{type:e.Input}],colspan:[{type:e.Input}]},t}(),g=function(){function t(t){this._element=t}return t.prototype.ngAfterContentInit=function(){this._lineSetter=new i.MatLineSetter(this._lines,this._element)},t.decorators=[{type:e.Component,args:[{selector:"mat-grid-tile-header, mat-grid-tile-footer",template:'<ng-content select="[mat-grid-avatar], [matGridAvatar]"></ng-content><div class="mat-grid-list-text"><ng-content select="[mat-line], [matLine]"></ng-content></div><ng-content></ng-content>',changeDetection:e.ChangeDetectionStrategy.OnPush,encapsulation:e.ViewEncapsulation.None,preserveWhitespaces:!1}]}],t.ctorParameters=function(){return[{type:e.ElementRef}]},t.propDecorators={_lines:[{type:e.ContentChildren,args:[i.MatLine]}]},t}(),h=function(){function t(){}return t.decorators=[{type:e.Directive,args:[{selector:"[mat-grid-avatar], [matGridAvatar]",host:{class:"mat-grid-avatar"}}]}],t.ctorParameters=function(){return[]},t}(),d=function(){function t(){}return t.decorators=[{type:e.Directive,args:[{selector:"mat-grid-tile-header",host:{class:"mat-grid-tile-header"}}]}],t.ctorParameters=function(){return[]},t}(),u=function(){function t(){}return t.decorators=[{type:e.Directive,args:[{selector:"mat-grid-tile-footer",host:{class:"mat-grid-tile-footer"}}]}],t.ctorParameters=function(){return[]},t}(),f=function(){function t(t,e){var i=this;this.columnIndex=0,this.rowIndex=0,this.tracker=new Array(t),this.tracker.fill(0,0,this.tracker.length),this.positions=e.map(function(t){return i._trackTile(t)})}return Object.defineProperty(t.prototype,"rowCount",{get:function(){return this.rowIndex+1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowspan",{get:function(){var t=Math.max.apply(Math,this.tracker);return t>1?this.rowCount+t-1:this.rowCount},enumerable:!0,configurable:!0}),t.prototype._trackTile=function(t){var e=this._findMatchingGap(t.colspan);return this._markTilePosition(e,t),this.columnIndex=e+t.colspan,new m(this.rowIndex,e)},t.prototype._findMatchingGap=function(t){if(t>this.tracker.length)throw Error("mat-grid-list: tile with colspan "+t+' is wider than grid with cols="'+this.tracker.length+'".');var e=-1,i=-1;do{this.columnIndex+t>this.tracker.length?this._nextRow():(e=this.tracker.indexOf(0,this.columnIndex),-1!=e?(i=this._findGapEndIndex(e),this.columnIndex=e+1):this._nextRow())}while(i-e<t);return Math.max(e,0)},t.prototype._nextRow=function(){this.columnIndex=0,this.rowIndex++;for(var t=0;t<this.tracker.length;t++)this.tracker[t]=Math.max(0,this.tracker[t]-1)},t.prototype._findGapEndIndex=function(t){for(var e=t+1;e<this.tracker.length;e++)if(0!=this.tracker[e])return e;return this.tracker.length},t.prototype._markTilePosition=function(t,e){for(var i=0;i<e.colspan;i++)this.tracker[t+i]=e.rowspan},t}(),m=function(){function t(t,e){this.row=t,this.col=e}return t}(),y=function(){function t(){this._rows=0,this._rowspan=0}return t.prototype.init=function(t,e,i,r){this._gutterSize=l(t),this._rows=e.rowCount,this._rowspan=e.rowspan,this._cols=i,this._direction=r},t.prototype.getBaseTileSize=function(t,e){return"("+t+"% - ("+this._gutterSize+" * "+e+"))"},t.prototype.getTilePosition=function(t,e){return 0===e?"0":s("("+t+" + "+this._gutterSize+") * "+e)},t.prototype.getTileSize=function(t,e){return"("+t+" * "+e+") + ("+(e-1)+" * "+this._gutterSize+")"},t.prototype.setStyle=function(t,e,i){var r=100/this._cols,n=(this._cols-1)/this._cols;this.setColStyles(t,i,r,n),this.setRowStyles(t,e,r,n)},t.prototype.setColStyles=function(t,e,i,r){var n=this.getBaseTileSize(i,r),o="rtl"===this._direction?"right":"left";t._setStyle(o,this.getTilePosition(n,e)),t._setStyle("width",s(this.getTileSize(n,t.colspan)))},t.prototype.getGutterSpan=function(){return this._gutterSize+" * ("+this._rowspan+" - 1)"},t.prototype.getTileSpan=function(t){return this._rowspan+" * "+this.getTileSize(t,1)},t.prototype.getComputedHeight=function(){return null},t}(),_=function(t){function e(e){var i=t.call(this)||this;return i.fixedRowHeight=e,i}return n(e,t),e.prototype.init=function(e,i,r,n){t.prototype.init.call(this,e,i,r,n),this.fixedRowHeight=l(this.fixedRowHeight)},e.prototype.setRowStyles=function(t,e){t._setStyle("top",this.getTilePosition(this.fixedRowHeight,e)),t._setStyle("height",s(this.getTileSize(this.fixedRowHeight,t.rowspan)))},e.prototype.getComputedHeight=function(){return["height",s(this.getTileSpan(this.fixedRowHeight)+" + "+this.getGutterSpan())]},e.prototype.reset=function(t){t._setListStyle(["height",null]),t._tiles.forEach(function(t){t._setStyle("top",null),t._setStyle("height",null)})},e}(y),w=function(t){function e(e){var i=t.call(this)||this;return i._parseRatio(e),i}return n(e,t),e.prototype.setRowStyles=function(t,e,i,r){var n=i/this.rowHeightRatio;this.baseTileHeight=this.getBaseTileSize(n,r),t._setStyle("marginTop",this.getTilePosition(this.baseTileHeight,e)),t._setStyle("paddingTop",s(this.getTileSize(this.baseTileHeight,t.rowspan)))},e.prototype.getComputedHeight=function(){return["paddingBottom",s(this.getTileSpan(this.baseTileHeight)+" + "+this.getGutterSpan())]},e.prototype.reset=function(t){t._setListStyle(["paddingBottom",null]),t._tiles.forEach(function(t){t._setStyle("marginTop",null),t._setStyle("paddingTop",null)})},e.prototype._parseRatio=function(t){var e=t.split(":");if(2!==e.length)throw Error('mat-grid-list: invalid ratio given for row-height: "'+t+'"');this.rowHeightRatio=parseFloat(e[0])/parseFloat(e[1])},e}(y),S=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.setRowStyles=function(t,e){var i=100/this._rowspan,r=(this._rows-1)/this._rows,n=this.getBaseTileSize(i,r);t._setStyle("top",this.getTilePosition(n,e)),t._setStyle("height",s(this.getTileSize(n,t.rowspan)))},e.prototype.reset=function(t){t._tiles.forEach(function(t){t._setStyle("top",null),t._setStyle("height",null)})},e}(y),x=function(){function t(t,e){this._element=t,this._dir=e,this._gutter="1px"}return Object.defineProperty(t.prototype,"cols",{get:function(){return this._cols},set:function(t){this._cols=a(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"gutterSize",{get:function(){return this._gutter},set:function(t){this._gutter=o(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowHeight",{set:function(t){var e=o(t);e!==this._rowHeight&&(this._rowHeight=e,this._setTileStyler(this._rowHeight))},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this._checkCols(),this._checkRowHeight()},t.prototype.ngAfterContentChecked=function(){this._layoutTiles()},t.prototype._checkCols=function(){if(!this.cols)throw Error('mat-grid-list: must pass in number of columns. Example: <mat-grid-list cols="3">')},t.prototype._checkRowHeight=function(){this._rowHeight||this._setTileStyler("1:1")},t.prototype._setTileStyler=function(t){this._tileStyler&&this._tileStyler.reset(this),"fit"===t?this._tileStyler=new S:t&&t.indexOf(":")>-1?this._tileStyler=new w(t):this._tileStyler=new _(t)},t.prototype._layoutTiles=function(){var t=this,e=new f(this.cols,this._tiles),i=this._dir?this._dir.value:"ltr";this._tileStyler.init(this.gutterSize,e,this.cols,i),this._tiles.forEach(function(i,r){var n=e.positions[r];t._tileStyler.setStyle(i,n.row,n.col)}),this._setListStyle(this._tileStyler.getComputedHeight())},t.prototype._setListStyle=function(t){t&&(this._element.nativeElement.style[t[0]]=t[1])},t.decorators=[{type:e.Component,args:[{selector:"mat-grid-list",exportAs:"matGridList",template:"<div><ng-content></ng-content></div>",styles:[".mat-grid-list{display:block;position:relative}.mat-grid-tile{display:block;position:absolute;overflow:hidden}.mat-grid-tile .mat-figure{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}.mat-grid-tile .mat-grid-tile-footer,.mat-grid-tile .mat-grid-tile-header{display:flex;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.38);overflow:hidden;padding:0 16px;position:absolute;left:0;right:0}.mat-grid-tile .mat-grid-tile-footer>*,.mat-grid-tile .mat-grid-tile-header>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-tile-footer.mat-2-line,.mat-grid-tile .mat-grid-tile-header.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}"],host:{class:"mat-grid-list"},changeDetection:e.ChangeDetectionStrategy.OnPush,encapsulation:e.ViewEncapsulation.None,preserveWhitespaces:!1}]}],t.ctorParameters=function(){return[{type:e.ElementRef},{type:r.Directionality,decorators:[{type:e.Optional}]}]},t.propDecorators={_tiles:[{type:e.ContentChildren,args:[c]}],cols:[{type:e.Input}],gutterSize:[{type:e.Input}],rowHeight:[{type:e.Input}]},t}(),b=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{imports:[i.MatLineModule,i.MatCommonModule],exports:[x,c,g,i.MatLineModule,i.MatCommonModule,d,u,h],declarations:[x,c,g,d,u,h]}]}],t.ctorParameters=function(){return[]},t}();t.MatGridListModule=b,t.MatGridList=x,t.MatGridTile=c,t.MatGridTileText=g,t.MatGridAvatarCssMatStyler=h,t.MatGridTileHeaderCssMatStyler=d,t.MatGridTileFooterCssMatStyler=u,Object.defineProperty(t,"__esModule",{value:!0})});
9
9
  //# sourceMappingURL=material-grid-list.umd.min.js.map