@angular/cdk 2.0.0-beta.11 → 2.0.0-beta.12

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 (306) hide show
  1. package/_a11y.scss +23 -0
  2. package/_overlay.scss +93 -0
  3. package/a11y/index.metadata.json +2 -1
  4. package/a11y/typings/a11y-module.d.ts +2 -0
  5. package/a11y/typings/focus-monitor.d.ts +1 -1
  6. package/a11y/typings/index.d.ts +1 -1
  7. package/a11y/typings/index.metadata.json +1 -1
  8. package/a11y/typings/{public_api.d.ts → public-api.d.ts} +8 -2
  9. package/a11y-prebuilt.css +1 -0
  10. package/a11y.metadata.json +2 -1
  11. package/bidi/index.metadata.json +2 -1
  12. package/bidi/typings/bidi-module.d.ts +2 -0
  13. package/bidi/typings/index.d.ts +1 -1
  14. package/bidi/typings/index.metadata.json +1 -1
  15. package/bidi/typings/public-api.d.ts +10 -0
  16. package/bidi.metadata.json +2 -1
  17. package/bundles/cdk-a11y.umd.js +1368 -1357
  18. package/bundles/cdk-a11y.umd.js.map +1 -1
  19. package/bundles/cdk-a11y.umd.min.js +2 -2
  20. package/bundles/cdk-a11y.umd.min.js.map +1 -1
  21. package/bundles/cdk-bidi.umd.js +42 -40
  22. package/bundles/cdk-bidi.umd.js.map +1 -1
  23. package/bundles/cdk-bidi.umd.min.js +2 -2
  24. package/bundles/cdk-bidi.umd.min.js.map +1 -1
  25. package/bundles/cdk-coercion.umd.js +12 -0
  26. package/bundles/cdk-coercion.umd.js.map +1 -1
  27. package/bundles/cdk-coercion.umd.min.js +2 -2
  28. package/bundles/cdk-coercion.umd.min.js.map +1 -1
  29. package/bundles/cdk-collections.umd.js +113 -11
  30. package/bundles/cdk-collections.umd.js.map +1 -1
  31. package/bundles/cdk-collections.umd.min.js +2 -2
  32. package/bundles/cdk-collections.umd.min.js.map +1 -1
  33. package/bundles/cdk-keycodes.umd.js.map +1 -1
  34. package/bundles/cdk-keycodes.umd.min.js +1 -1
  35. package/bundles/cdk-keycodes.umd.min.js.map +1 -1
  36. package/bundles/cdk-layout.umd.js +235 -0
  37. package/bundles/cdk-layout.umd.js.map +1 -0
  38. package/bundles/cdk-layout.umd.min.js +9 -0
  39. package/bundles/cdk-layout.umd.min.js.map +1 -0
  40. package/bundles/cdk-observers.umd.js +41 -40
  41. package/bundles/cdk-observers.umd.js.map +1 -1
  42. package/bundles/cdk-observers.umd.min.js +2 -2
  43. package/bundles/cdk-observers.umd.min.js.map +1 -1
  44. package/bundles/cdk-overlay.umd.js +306 -265
  45. package/bundles/cdk-overlay.umd.js.map +1 -1
  46. package/bundles/cdk-overlay.umd.min.js +2 -2
  47. package/bundles/cdk-overlay.umd.min.js.map +1 -1
  48. package/bundles/cdk-platform.umd.js +19 -17
  49. package/bundles/cdk-platform.umd.js.map +1 -1
  50. package/bundles/cdk-platform.umd.min.js +2 -2
  51. package/bundles/cdk-platform.umd.min.js.map +1 -1
  52. package/bundles/cdk-portal.umd.js +71 -37
  53. package/bundles/cdk-portal.umd.js.map +1 -1
  54. package/bundles/cdk-portal.umd.min.js +2 -2
  55. package/bundles/cdk-portal.umd.min.js.map +1 -1
  56. package/bundles/cdk-rxjs.umd.js +13 -4
  57. package/bundles/cdk-rxjs.umd.js.map +1 -1
  58. package/bundles/cdk-rxjs.umd.min.js +2 -2
  59. package/bundles/cdk-rxjs.umd.min.js.map +1 -1
  60. package/bundles/cdk-scrolling.umd.js +89 -54
  61. package/bundles/cdk-scrolling.umd.js.map +1 -1
  62. package/bundles/cdk-scrolling.umd.min.js +2 -2
  63. package/bundles/cdk-scrolling.umd.min.js.map +1 -1
  64. package/bundles/cdk-stepper.umd.js +115 -90
  65. package/bundles/cdk-stepper.umd.js.map +1 -1
  66. package/bundles/cdk-stepper.umd.min.js +2 -2
  67. package/bundles/cdk-stepper.umd.min.js.map +1 -1
  68. package/bundles/cdk-table.umd.js +261 -218
  69. package/bundles/cdk-table.umd.js.map +1 -1
  70. package/bundles/cdk-table.umd.min.js +2 -2
  71. package/bundles/cdk-table.umd.min.js.map +1 -1
  72. package/bundles/cdk.umd.js +1 -1
  73. package/bundles/cdk.umd.js.map +1 -1
  74. package/bundles/cdk.umd.min.js +2 -2
  75. package/bundles/cdk.umd.min.js.map +1 -1
  76. package/cdk.metadata.json +2 -1
  77. package/coercion/index.metadata.json +2 -1
  78. package/coercion/typings/array.d.ts +9 -0
  79. package/coercion/typings/index.d.ts +1 -1
  80. package/coercion/typings/index.metadata.json +1 -1
  81. package/{typings/coercion/public_api.d.ts → coercion/typings/public-api.d.ts} +1 -0
  82. package/coercion.metadata.json +2 -1
  83. package/collections/index.metadata.json +2 -1
  84. package/collections/typings/index.d.ts +2 -1
  85. package/collections/typings/index.metadata.json +1 -1
  86. package/{typings/collections/public_api.d.ts → collections/typings/public-api.d.ts} +1 -0
  87. package/collections/typings/selection.d.ts +13 -3
  88. package/collections/typings/unique-selection-dispatcher.d.ts +40 -0
  89. package/collections.metadata.json +2 -1
  90. package/esm2015/a11y.js +1252 -1250
  91. package/esm2015/a11y.js.map +1 -1
  92. package/esm2015/bidi.js +1 -1
  93. package/esm2015/bidi.js.map +1 -1
  94. package/esm2015/cdk.js +1 -1
  95. package/esm2015/cdk.js.map +1 -1
  96. package/esm2015/coercion.js +11 -1
  97. package/esm2015/coercion.js.map +1 -1
  98. package/esm2015/collections.js +93 -8
  99. package/esm2015/collections.js.map +1 -1
  100. package/esm2015/keycodes.js.map +1 -1
  101. package/esm2015/layout.js +226 -0
  102. package/esm2015/layout.js.map +1 -0
  103. package/esm2015/observers.js +8 -7
  104. package/esm2015/observers.js.map +1 -1
  105. package/esm2015/overlay.js +157 -136
  106. package/esm2015/overlay.js.map +1 -1
  107. package/esm2015/platform.js +1 -1
  108. package/esm2015/platform.js.map +1 -1
  109. package/esm2015/portal.js +30 -1
  110. package/esm2015/portal.js.map +1 -1
  111. package/esm2015/rxjs.js +5 -1
  112. package/esm2015/rxjs.js.map +1 -1
  113. package/esm2015/scrolling.js +39 -8
  114. package/esm2015/scrolling.js.map +1 -1
  115. package/esm2015/stepper.js +27 -5
  116. package/esm2015/stepper.js.map +1 -1
  117. package/esm2015/table.js +68 -29
  118. package/esm2015/table.js.map +1 -1
  119. package/esm5/a11y.es5.js +1372 -1357
  120. package/esm5/a11y.es5.js.map +1 -1
  121. package/esm5/bidi.es5.js +45 -40
  122. package/esm5/bidi.es5.js.map +1 -1
  123. package/esm5/cdk.es5.js +4 -1
  124. package/esm5/cdk.es5.js.map +1 -1
  125. package/esm5/coercion.es5.js +14 -1
  126. package/esm5/coercion.es5.js.map +1 -1
  127. package/esm5/collections.es5.js +110 -8
  128. package/esm5/collections.es5.js.map +1 -1
  129. package/esm5/keycodes.es5.js +2 -0
  130. package/esm5/keycodes.es5.js.map +1 -1
  131. package/esm5/layout.es5.js +234 -0
  132. package/esm5/layout.es5.js.map +1 -0
  133. package/esm5/observers.es5.js +44 -40
  134. package/esm5/observers.es5.js.map +1 -1
  135. package/esm5/overlay.es5.js +304 -259
  136. package/esm5/overlay.es5.js.map +1 -1
  137. package/esm5/platform.es5.js +22 -17
  138. package/esm5/platform.es5.js.map +1 -1
  139. package/esm5/portal.es5.js +81 -44
  140. package/esm5/portal.es5.js.map +1 -1
  141. package/esm5/rxjs.es5.js +12 -1
  142. package/esm5/rxjs.es5.js.map +1 -1
  143. package/esm5/scrolling.es5.js +89 -51
  144. package/esm5/scrolling.es5.js.map +1 -1
  145. package/esm5/stepper.es5.js +119 -91
  146. package/esm5/stepper.es5.js.map +1 -1
  147. package/esm5/table.es5.js +265 -218
  148. package/esm5/table.es5.js.map +1 -1
  149. package/keycodes/index.metadata.json +2 -1
  150. package/keycodes/typings/index.d.ts +1 -1
  151. package/keycodes/typings/{public_api.d.ts → public-api.d.ts} +0 -0
  152. package/keycodes.metadata.json +2 -1
  153. package/layout/index.d.ts +8 -0
  154. package/layout/index.metadata.json +12 -0
  155. package/layout/package.json +7 -0
  156. package/layout/typings/breakpoints-observer.d.ts +37 -0
  157. package/layout/typings/breakpoints.d.ts +18 -0
  158. package/layout/typings/index.d.ts +4 -0
  159. package/layout/typings/index.metadata.json +1 -0
  160. package/layout/typings/media-matcher.d.ts +15 -0
  161. package/layout/typings/public-api.d.ts +5 -0
  162. package/layout.d.ts +8 -0
  163. package/layout.metadata.json +12 -0
  164. package/observers/index.metadata.json +2 -1
  165. package/observers/typings/index.d.ts +1 -1
  166. package/observers/typings/index.metadata.json +1 -1
  167. package/observers/typings/observe-content.d.ts +3 -3
  168. package/observers/typings/{public_api.d.ts → public-api.d.ts} +0 -0
  169. package/observers.metadata.json +2 -1
  170. package/overlay/index.metadata.json +2 -1
  171. package/overlay/typings/index.d.ts +2 -2
  172. package/overlay/typings/index.metadata.json +1 -1
  173. package/overlay/typings/overlay-config.d.ts +1 -1
  174. package/overlay/typings/overlay-directives.d.ts +3 -3
  175. package/overlay/typings/overlay-module.d.ts +11 -0
  176. package/overlay/typings/overlay-ref.d.ts +6 -6
  177. package/overlay/typings/overlay.d.ts +2 -2
  178. package/overlay/typings/position/connected-position-strategy.d.ts +5 -0
  179. package/overlay/typings/position/position-strategy.d.ts +2 -0
  180. package/overlay/typings/{public_api.d.ts → public-api.d.ts} +1 -4
  181. package/overlay/typings/scroll/scroll-strategy.d.ts +1 -1
  182. package/overlay-prebuilt.css +1 -0
  183. package/overlay.metadata.json +2 -1
  184. package/package.json +3 -3
  185. package/platform/index.metadata.json +2 -1
  186. package/platform/typings/index.d.ts +1 -1
  187. package/platform/typings/index.metadata.json +1 -1
  188. package/platform/typings/platform-module.d.ts +2 -0
  189. package/platform/typings/public-api.d.ts +10 -0
  190. package/platform.metadata.json +2 -1
  191. package/portal/index.metadata.json +2 -1
  192. package/portal/typings/index.d.ts +1 -1
  193. package/portal/typings/index.metadata.json +1 -1
  194. package/portal/typings/{public_api.d.ts → public-api.d.ts} +1 -0
  195. package/portal.metadata.json +2 -1
  196. package/rxjs/index.metadata.json +2 -1
  197. package/rxjs/typings/index.d.ts +1 -1
  198. package/rxjs/typings/index.metadata.json +1 -1
  199. package/rxjs/typings/{public_api.d.ts → public-api.d.ts} +0 -0
  200. package/rxjs/typings/rx-operators.d.ts +7 -0
  201. package/rxjs.metadata.json +2 -1
  202. package/scrolling/index.metadata.json +2 -1
  203. package/scrolling/typings/index.d.ts +1 -1
  204. package/scrolling/typings/index.metadata.json +1 -1
  205. package/scrolling/typings/public-api.d.ts +11 -0
  206. package/scrolling/typings/scrolling-module.d.ts +2 -0
  207. package/scrolling/typings/viewport-ruler.d.ts +20 -6
  208. package/scrolling.metadata.json +2 -1
  209. package/stepper/index.metadata.json +2 -1
  210. package/stepper/typings/index.d.ts +1 -1
  211. package/stepper/typings/index.metadata.json +1 -1
  212. package/stepper/typings/public-api.d.ts +11 -0
  213. package/stepper/typings/stepper-module.d.ts +2 -0
  214. package/stepper/typings/stepper.d.ts +8 -4
  215. package/stepper.metadata.json +2 -1
  216. package/table/index.metadata.json +2 -1
  217. package/table/typings/index.d.ts +1 -1
  218. package/table/typings/index.metadata.json +1 -1
  219. package/table/typings/public-api.d.ts +13 -0
  220. package/table/typings/row.d.ts +11 -3
  221. package/table/typings/table-errors.d.ts +10 -0
  222. package/table/typings/table-module.d.ts +2 -0
  223. package/table/typings/table.d.ts +17 -8
  224. package/table.metadata.json +2 -1
  225. package/typings/a11y/a11y-module.d.ts +2 -0
  226. package/typings/a11y/focus-monitor.d.ts +1 -1
  227. package/typings/a11y/index.d.ts +1 -1
  228. package/typings/a11y/index.metadata.json +1 -1
  229. package/typings/a11y/{public_api.d.ts → public-api.d.ts} +8 -2
  230. package/typings/bidi/bidi-module.d.ts +2 -0
  231. package/typings/bidi/index.d.ts +1 -1
  232. package/typings/bidi/index.metadata.json +1 -1
  233. package/typings/bidi/public-api.d.ts +10 -0
  234. package/typings/coercion/array.d.ts +9 -0
  235. package/typings/coercion/index.d.ts +1 -1
  236. package/typings/coercion/index.metadata.json +1 -1
  237. package/{coercion/typings/public_api.d.ts → typings/coercion/public-api.d.ts} +1 -0
  238. package/typings/collections/index.d.ts +2 -1
  239. package/typings/collections/index.metadata.json +1 -1
  240. package/{collections/typings/public_api.d.ts → typings/collections/public-api.d.ts} +1 -0
  241. package/typings/collections/selection.d.ts +13 -3
  242. package/typings/collections/unique-selection-dispatcher.d.ts +40 -0
  243. package/typings/index.d.ts +1 -1
  244. package/typings/index.metadata.json +1 -1
  245. package/typings/keycodes/index.d.ts +1 -1
  246. package/typings/keycodes/{public_api.d.ts → public-api.d.ts} +0 -0
  247. package/typings/layout/breakpoints-observer.d.ts +37 -0
  248. package/typings/layout/breakpoints.d.ts +18 -0
  249. package/typings/layout/index.d.ts +4 -0
  250. package/typings/layout/index.metadata.json +1 -0
  251. package/typings/layout/media-matcher.d.ts +15 -0
  252. package/typings/layout/public-api.d.ts +5 -0
  253. package/typings/observers/index.d.ts +1 -1
  254. package/typings/observers/index.metadata.json +1 -1
  255. package/typings/observers/observe-content.d.ts +3 -3
  256. package/typings/observers/{public_api.d.ts → public-api.d.ts} +0 -0
  257. package/typings/overlay/index.d.ts +2 -2
  258. package/typings/overlay/index.metadata.json +1 -1
  259. package/typings/overlay/overlay-config.d.ts +1 -1
  260. package/typings/overlay/overlay-directives.d.ts +3 -3
  261. package/typings/overlay/overlay-module.d.ts +11 -0
  262. package/typings/overlay/overlay-ref.d.ts +6 -6
  263. package/typings/overlay/overlay.d.ts +2 -2
  264. package/typings/overlay/position/connected-position-strategy.d.ts +5 -0
  265. package/typings/overlay/position/position-strategy.d.ts +2 -0
  266. package/typings/overlay/{public_api.d.ts → public-api.d.ts} +1 -4
  267. package/typings/overlay/scroll/scroll-strategy.d.ts +1 -1
  268. package/typings/platform/index.d.ts +1 -1
  269. package/typings/platform/index.metadata.json +1 -1
  270. package/typings/platform/platform-module.d.ts +2 -0
  271. package/typings/platform/public-api.d.ts +10 -0
  272. package/typings/portal/index.d.ts +1 -1
  273. package/typings/portal/index.metadata.json +1 -1
  274. package/typings/portal/{public_api.d.ts → public-api.d.ts} +1 -0
  275. package/typings/{public_api.d.ts → public-api.d.ts} +0 -0
  276. package/typings/rxjs/index.d.ts +1 -1
  277. package/typings/rxjs/index.metadata.json +1 -1
  278. package/typings/rxjs/{public_api.d.ts → public-api.d.ts} +0 -0
  279. package/typings/rxjs/rx-operators.d.ts +7 -0
  280. package/typings/scrolling/index.d.ts +1 -1
  281. package/typings/scrolling/index.metadata.json +1 -1
  282. package/typings/scrolling/public-api.d.ts +11 -0
  283. package/typings/scrolling/scrolling-module.d.ts +2 -0
  284. package/typings/scrolling/viewport-ruler.d.ts +20 -6
  285. package/typings/stepper/index.d.ts +1 -1
  286. package/typings/stepper/index.metadata.json +1 -1
  287. package/typings/stepper/public-api.d.ts +11 -0
  288. package/typings/stepper/stepper-module.d.ts +2 -0
  289. package/typings/stepper/stepper.d.ts +8 -4
  290. package/typings/table/index.d.ts +1 -1
  291. package/typings/table/index.metadata.json +1 -1
  292. package/typings/table/public-api.d.ts +13 -0
  293. package/typings/table/row.d.ts +11 -3
  294. package/typings/table/table-errors.d.ts +10 -0
  295. package/typings/table/table-module.d.ts +2 -0
  296. package/typings/table/table.d.ts +17 -8
  297. package/bidi/typings/public_api.d.ts +0 -4
  298. package/platform/typings/public_api.d.ts +0 -4
  299. package/scrolling/typings/public_api.d.ts +0 -5
  300. package/stepper/typings/public_api.d.ts +0 -5
  301. package/table/typings/public_api.d.ts +0 -7
  302. package/typings/bidi/public_api.d.ts +0 -4
  303. package/typings/platform/public_api.d.ts +0 -4
  304. package/typings/scrolling/public_api.d.ts +0 -5
  305. package/typings/stepper/public_api.d.ts +0 -5
  306. package/typings/table/public_api.d.ts +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"cdk-platform.umd.js","sources":["../../src/cdk/platform/index.ts","../../src/cdk/platform/public_api.ts","../../src/cdk/platform/features.ts","../../src/cdk/platform/platform.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport {PlatformModule,Platform,getSupportedInputTypes} from './public_api';\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {NgModule} from '@angular/core';\nimport {Platform} from './platform';\nexport class PlatformModule {static decorators: DecoratorInvocation[] = [\n{ type: NgModule, args: [{\n providers: [Platform]\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\nfunction PlatformModule_tsickle_Closure_declarations() {\n/** @type {?} */\nPlatformModule.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nPlatformModule.ctorParameters;\n}\n\n\n\nexport {Platform} from './platform';\nexport {getSupportedInputTypes} from './features';\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","\n/**\n * Cached result Set of input types support by the current browser.\n */\nlet supportedInputTypes: Set<string>;\n/**\n * Types of <input> that *might* be supported.\n */\nconst candidateInputTypes = [\n // `color` must come first. Chrome 56 shows a warning if we change the type to `color` after\n // first changing it to something else:\n // The specified value \"\" does not conform to the required format.\n // The format is \"#rrggbb\" where rr, gg, bb are two-digit hexadecimal numbers.\n 'color',\n 'button',\n 'checkbox',\n 'date',\n 'datetime-local',\n 'email',\n 'file',\n 'hidden',\n 'image',\n 'month',\n 'number',\n 'password',\n 'radio',\n 'range',\n 'reset',\n 'search',\n 'submit',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week',\n];\n/**\n * @return {?} The input types supported by this browser.\n */\nexport function getSupportedInputTypes(): Set<string> {\n // Result is cached.\n if (supportedInputTypes) {\n return supportedInputTypes;\n }\n\n // We can't check if an input type is not supported until we're on the browser, so say that\n // everything is supported when not on the browser. We don't use `Platform` here since it's\n // just a helper function and can't inject it.\n if (typeof document !== 'object' || !document) {\n supportedInputTypes = new Set(candidateInputTypes);\n return supportedInputTypes;\n }\n\n let /** @type {?} */ featureTestInput = document.createElement('input');\n supportedInputTypes = new Set(candidateInputTypes.filter(value => {\n featureTestInput.setAttribute('type', value);\n return featureTestInput.type === value;\n }));\n\n return supportedInputTypes;\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {Injectable} from '@angular/core';\n\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nconst /** @type {?} */ hasV8BreakIterator = (typeof(Intl) !== 'undefined' && ( /** @type {?} */((Intl as any))).v8BreakIterator);\n/**\n * Service to detect the current platform by comparing the userAgent strings and\n * checking browser-specific global properties.\n * \\@docs-private\n */\nexport class Platform {\n isBrowser: boolean = typeof document === 'object' && !!document;\n/**\n * Layout Engines\n */\nEDGE = this.isBrowser && /(edge)/i.test(navigator.userAgent);\n TRIDENT = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\n\n // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n BLINK = this.isBrowser &&\n (!!(( /** @type {?} */((window as any))).chrome || hasV8BreakIterator) && !!CSS && !this.EDGE && !this.TRIDENT);\n\n // Webkit is part of the userAgent in EdgeHTML, Blink and Trident. Therefore we need to\n // ensure that Webkit runs standalone and is not used as another engine's base.\n WEBKIT = this.isBrowser &&\n /AppleWebKit/i.test(navigator.userAgent) && !this.BLINK && !this.EDGE && !this.TRIDENT;\n/**\n * Browsers and Platform Types\n */\nIOS = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) && !(window as any).MSStream;\n\n // It's difficult to detect the plain Gecko engine, because most of the browsers identify\n // them self as Gecko-like browsers and modify the userAgent's according to that.\n // Since we only cover one explicit Firefox case, we can simply check for Firefox\n // instead of having an unstable check for Gecko.\n FIREFOX = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\n\n // Trident on mobile adds the android platform to the userAgent to trick detections.\n ANDROID = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;\n\n // Safari browsers will include the Safari keyword in their userAgent. Some browsers may fake\n // this and just place the Safari keyword in the userAgent. To be more safe about Safari every\n // Safari browser should also use Webkit as its layout engine.\n SAFARI = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\nfunction Platform_tsickle_Closure_declarations() {\n/** @type {?} */\nPlatform.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nPlatform.ctorParameters;\n/** @type {?} */\nPlatform.prototype.isBrowser;\n/**\n * Layout Engines\n * @type {?}\n */\nPlatform.prototype.EDGE;\n/** @type {?} */\nPlatform.prototype.TRIDENT;\n/** @type {?} */\nPlatform.prototype.BLINK;\n/** @type {?} */\nPlatform.prototype.WEBKIT;\n/**\n * Browsers and Platform Types\n * @type {?}\n */\nPlatform.prototype.IOS;\n/** @type {?} */\nPlatform.prototype.FIREFOX;\n/** @type {?} */\nPlatform.prototype.ANDROID;\n/** @type {?} */\nPlatform.prototype.SAFARI;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"],"names":["NgModule","Injectable"],"mappings":";;;;;;;;;;;;;;;;;;;;;;IGmBA,SAAA,QAAA,GAAA;QAAA,IAAA,CAAA,SAAA,GAAA,OAAA,QAAA,KAAA,QAAA,IAAA,CAAA,CAAA,QAAA,CAAA;;;;;QAKA,IAAA,CAAA,OAAG,GAAH,IAAA,CAAA,SAAA,IAAA,iBAAA,CAAA,IAAG,CAAH,SAAG,CAAA,SAAH,CAAA,CAAA;;;aAIA,CAAA,EAAA,EAAO,MAAP,GAAA,MAAA,IAAA,kBAAA,CAAA,IAAA,CAAA,CAAA,GAAA,IAAA,CAAA,IAAA,CAAA,IAAA,IAAA,CAAA,IAAA,CAAA,OAAA,CAAA,CAAA;;;;YAKA,cAAW,CAAK,IAAhB,CAAA,SAAA,CAAA,SAAA,CAAA,IAAA,CAAA,IAAA,CAAA,KAAA,IAAA,CAAA,IAAA,CAAA,IAAA,IAAA,CAAA,IAAA,CAAA,OAAA,CAAA;;;;;;;;;;;;;;;;KAmBA;IASA,OAAA,QAAA,CAAA;;AATO,QAAP,CAAA,UAAO,GAAoC;IAE3C,EADE,IAAA,EAAMC,wBAAA,EAAW;CAElB,CADC;;;;AAED,QAAD,CAAA,cAAC,GAAA,YAAD,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA;;;;;;;;;;;;;;ID3CE,QAAF;IACE,UAAF;IACE,MAAF;IACE,gBAAF;IACE,OAAF;IACE,MAAF;IACE,QAAF;IACE,OAAF;IACE,OAAO;IACP,QAAF;IACE,UAAF;IACE,OAAF;IACE,OAAO;IACP,OAAO;IACP,QAAF;IACE,QAAQ;IACR,KAAF;IACE,MAAF;IACE,MAAM;IACN,KAAF;IACE,MAAF;CACA,CAAA;;;;;;;QAOM,OAAN,mBAAA,CAAA;KACA;;;;;QAMM,mBAAN,GAAA,IAAA,GAAA,CAAA,mBAAA,CAAA,CAAA;QACI,OAAJ,mBAG8B,CAH9B;KACA;IACA,qBAAA,gBAAA,GAAA,QAAA,CAAA,aAAA,CAAA,OAAA,CAAA,CAAA;IAEE,mBAAF,GAAA,IAAA,GAAA,CAAA,mBAGkC,CAHlC,MAAA,CAAA,UAAA,KAGyD,EAHzD;QACA,gBAAA,CAAA,YAAA,CAAA,MAAA,EAAA,KAAA,CAAA,CAGiC;QAF7B,OAAJ,gBAAA,CAAA,IAAA,KAAA,KAG0C,CAH1C;KACA,CAAA,CAAA,CAAI;IACJ,OAAA,mBAAA,CAAA;CAEA;AACA,IAAA,cAAA,IAAA,YAAA;;KDjDA;;CAEA,EAAA,CAAA,CAAA;AADA,cAAA,CAAA,UAAA,GAEwB;IADxB,EAAA,IAAA,EAAAD,sBAAA,EAAA,IAAA,EAEa,CAFb;gBACA,SAAA,EAAA,CAAA,QAAA,CAAA;aACA,EAAA,EAAA;;;;;2DDfA;;;;;;;;"}
1
+ {"version":3,"file":"cdk-platform.umd.js","sources":["cdk/platform.es5.js"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. 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 { Injectable, NgModule } from '@angular/core';\n\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nvar hasV8BreakIterator = (typeof (Intl) !== 'undefined' && ((Intl)).v8BreakIterator);\n/**\n * Service to detect the current platform by comparing the userAgent strings and\n * checking browser-specific global properties.\n * \\@docs-private\n */\nvar Platform = (function () {\n function Platform() {\n this.isBrowser = typeof document === 'object' && !!document;\n /**\n * Layout Engines\n */\n this.EDGE = this.isBrowser && /(edge)/i.test(navigator.userAgent);\n this.TRIDENT = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\n // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n this.BLINK = this.isBrowser &&\n (!!(((window)).chrome || hasV8BreakIterator) && !!CSS && !this.EDGE && !this.TRIDENT);\n // Webkit is part of the userAgent in EdgeHTML, Blink and Trident. Therefore we need to\n // ensure that Webkit runs standalone and is not used as another engine's base.\n this.WEBKIT = this.isBrowser &&\n /AppleWebKit/i.test(navigator.userAgent) && !this.BLINK && !this.EDGE && !this.TRIDENT;\n /**\n * Browsers and Platform Types\n */\n this.IOS = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n // It's difficult to detect the plain Gecko engine, because most of the browsers identify\n // them self as Gecko-like browsers and modify the userAgent's according to that.\n // Since we only cover one explicit Firefox case, we can simply check for Firefox\n // instead of having an unstable check for Gecko.\n this.FIREFOX = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\n // Trident on mobile adds the android platform to the userAgent to trick detections.\n this.ANDROID = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;\n // Safari browsers will include the Safari keyword in their userAgent. Some browsers may fake\n // this and just place the Safari keyword in the userAgent. To be more safe about Safari every\n // Safari browser should also use Webkit as its layout engine.\n this.SAFARI = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n }\n Platform.decorators = [\n { type: Injectable },\n ];\n /**\n * @nocollapse\n */\n Platform.ctorParameters = function () { return []; };\n return Platform;\n}());\n\n/**\n * Cached result Set of input types support by the current browser.\n */\nvar supportedInputTypes;\n/**\n * Types of <input> that *might* be supported.\n */\nvar candidateInputTypes = [\n // `color` must come first. Chrome 56 shows a warning if we change the type to `color` after\n // first changing it to something else:\n // The specified value \"\" does not conform to the required format.\n // The format is \"#rrggbb\" where rr, gg, bb are two-digit hexadecimal numbers.\n 'color',\n 'button',\n 'checkbox',\n 'date',\n 'datetime-local',\n 'email',\n 'file',\n 'hidden',\n 'image',\n 'month',\n 'number',\n 'password',\n 'radio',\n 'range',\n 'reset',\n 'search',\n 'submit',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week',\n];\n/**\n * @return {?} The input types supported by this browser.\n */\nfunction getSupportedInputTypes() {\n // Result is cached.\n if (supportedInputTypes) {\n return supportedInputTypes;\n }\n // We can't check if an input type is not supported until we're on the browser, so say that\n // everything is supported when not on the browser. We don't use `Platform` here since it's\n // just a helper function and can't inject it.\n if (typeof document !== 'object' || !document) {\n supportedInputTypes = new Set(candidateInputTypes);\n return supportedInputTypes;\n }\n var /** @type {?} */ featureTestInput = document.createElement('input');\n supportedInputTypes = new Set(candidateInputTypes.filter(function (value) {\n featureTestInput.setAttribute('type', value);\n return featureTestInput.type === value;\n }));\n return supportedInputTypes;\n}\n\nvar PlatformModule = (function () {\n function PlatformModule() {\n }\n PlatformModule.decorators = [\n { type: NgModule, args: [{\n providers: [Platform]\n },] },\n ];\n /**\n * @nocollapse\n */\n PlatformModule.ctorParameters = function () { return []; };\n return PlatformModule;\n}());\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Platform, getSupportedInputTypes, PlatformModule };\n//# sourceMappingURL=platform.es5.js.map\n"],"names":["Injectable","NgModule"],"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")):"function"==typeof define&&define.amd?define(["exports","@angular/core"],e):e((t.ng=t.ng||{},t.ng.cdk=t.ng.cdk||{},t.ng.cdk.platform=t.ng.cdk.platform||{}),t.ng.core)}(this,function(t,e){"use strict";function r(){if(o)return o;if("object"!=typeof document||!document)return o=new Set(s);var t=document.createElement("input");return o=new Set(s.filter(function(e){return t.setAttribute("type",e),t.type===e}))}var i="undefined"!=typeof Intl&&Intl.v8BreakIterator,n=function(){function t(){this.isBrowser="object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!i)&&!!CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}return t}();n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[]};var o,s=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"],a=function(){function t(){}return t}();a.decorators=[{type:e.NgModule,args:[{providers:[n]}]}],a.ctorParameters=function(){return[]},t.PlatformModule=a,t.Platform=n,t.getSupportedInputTypes=r,Object.defineProperty(t,"__esModule",{value:!0})});
9
- //# sourceMappingURL=cdk-platform.umd.min.js.map
8
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core")):"function"==typeof define&&define.amd?define(["exports","@angular/core"],e):e((t.ng=t.ng||{},t.ng.cdk=t.ng.cdk||{},t.ng.cdk.platform=t.ng.cdk.platform||{}),t.ng.core)}(this,function(t,e){"use strict";function r(){if(i)return i;if("object"!=typeof document||!document)return i=new Set(s);var t=document.createElement("input");return i=new Set(s.filter(function(e){return t.setAttribute("type",e),t.type===e}))}var i,n="undefined"!=typeof Intl&&Intl.v8BreakIterator,o=function(){function t(){this.isBrowser="object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!n)&&!!CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}return t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}(),s=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"],a=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{providers:[o]}]}],t.ctorParameters=function(){return[]},t}();t.Platform=o,t.getSupportedInputTypes=r,t.PlatformModule=a,Object.defineProperty(t,"__esModule",{value:!0})});
9
+ //# sourceMappingURL=/Users/karakara/repos/material2/dist/bundles/cdk-platform.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cdk-platform.umd.min.js","sources":["../../src/cdk/platform/features.ts","../../src/cdk/platform/platform.ts","../../src/cdk/platform/public_api.ts","../../src/cdk/platform/index.ts"],"sourcesContent":["\n/**\n * Cached result Set of input types support by the current browser.\n */\nlet supportedInputTypes: Set<string>;\n/**\n * Types of <input> that *might* be supported.\n */\nconst candidateInputTypes = [\n // `color` must come first. Chrome 56 shows a warning if we change the type to `color` after\n // first changing it to something else:\n // The specified value \"\" does not conform to the required format.\n // The format is \"#rrggbb\" where rr, gg, bb are two-digit hexadecimal numbers.\n 'color',\n 'button',\n 'checkbox',\n 'date',\n 'datetime-local',\n 'email',\n 'file',\n 'hidden',\n 'image',\n 'month',\n 'number',\n 'password',\n 'radio',\n 'range',\n 'reset',\n 'search',\n 'submit',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week',\n];\n/**\n * @return {?} The input types supported by this browser.\n */\nexport function getSupportedInputTypes(): Set<string> {\n // Result is cached.\n if (supportedInputTypes) {\n return supportedInputTypes;\n }\n\n // We can't check if an input type is not supported until we're on the browser, so say that\n // everything is supported when not on the browser. We don't use `Platform` here since it's\n // just a helper function and can't inject it.\n if (typeof document !== 'object' || !document) {\n supportedInputTypes = new Set(candidateInputTypes);\n return supportedInputTypes;\n }\n\n let /** @type {?} */ featureTestInput = document.createElement('input');\n supportedInputTypes = new Set(candidateInputTypes.filter(value => {\n featureTestInput.setAttribute('type', value);\n return featureTestInput.type === value;\n }));\n\n return supportedInputTypes;\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {Injectable} from '@angular/core';\n\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nconst /** @type {?} */ hasV8BreakIterator = (typeof(Intl) !== 'undefined' && ( /** @type {?} */((Intl as any))).v8BreakIterator);\n/**\n * Service to detect the current platform by comparing the userAgent strings and\n * checking browser-specific global properties.\n * \\@docs-private\n */\nexport class Platform {\n isBrowser: boolean = typeof document === 'object' && !!document;\n/**\n * Layout Engines\n */\nEDGE = this.isBrowser && /(edge)/i.test(navigator.userAgent);\n TRIDENT = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\n\n // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n BLINK = this.isBrowser &&\n (!!(( /** @type {?} */((window as any))).chrome || hasV8BreakIterator) && !!CSS && !this.EDGE && !this.TRIDENT);\n\n // Webkit is part of the userAgent in EdgeHTML, Blink and Trident. Therefore we need to\n // ensure that Webkit runs standalone and is not used as another engine's base.\n WEBKIT = this.isBrowser &&\n /AppleWebKit/i.test(navigator.userAgent) && !this.BLINK && !this.EDGE && !this.TRIDENT;\n/**\n * Browsers and Platform Types\n */\nIOS = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) && !(window as any).MSStream;\n\n // It's difficult to detect the plain Gecko engine, because most of the browsers identify\n // them self as Gecko-like browsers and modify the userAgent's according to that.\n // Since we only cover one explicit Firefox case, we can simply check for Firefox\n // instead of having an unstable check for Gecko.\n FIREFOX = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\n\n // Trident on mobile adds the android platform to the userAgent to trick detections.\n ANDROID = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;\n\n // Safari browsers will include the Safari keyword in their userAgent. Some browsers may fake\n // this and just place the Safari keyword in the userAgent. To be more safe about Safari every\n // Safari browser should also use Webkit as its layout engine.\n SAFARI = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\nfunction Platform_tsickle_Closure_declarations() {\n/** @type {?} */\nPlatform.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nPlatform.ctorParameters;\n/** @type {?} */\nPlatform.prototype.isBrowser;\n/**\n * Layout Engines\n * @type {?}\n */\nPlatform.prototype.EDGE;\n/** @type {?} */\nPlatform.prototype.TRIDENT;\n/** @type {?} */\nPlatform.prototype.BLINK;\n/** @type {?} */\nPlatform.prototype.WEBKIT;\n/**\n * Browsers and Platform Types\n * @type {?}\n */\nPlatform.prototype.IOS;\n/** @type {?} */\nPlatform.prototype.FIREFOX;\n/** @type {?} */\nPlatform.prototype.ANDROID;\n/** @type {?} */\nPlatform.prototype.SAFARI;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {NgModule} from '@angular/core';\nimport {Platform} from './platform';\nexport class PlatformModule {static decorators: DecoratorInvocation[] = [\n{ type: NgModule, args: [{\n providers: [Platform]\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\nfunction PlatformModule_tsickle_Closure_declarations() {\n/** @type {?} */\nPlatformModule.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nPlatformModule.ctorParameters;\n}\n\n\n\nexport {Platform} from './platform';\nexport {getSupportedInputTypes} from './features';\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport {PlatformModule,Platform,getSupportedInputTypes} from './public_api';\n"],"names":["supportedInputTypes","Set","candidateInputTypes","featureTestInput","document","createElement","filter","value","setAttribute","type","Platform","this","isBrowser","TRIDENT","test","navigator","userAgent","chrome","hasV8BreakIterator","CSS","EDGE","BLINK","decorators","Injectable","ctorParameters","PlatformModule","NgModule","args","providers"],"mappings":";;;;;;;kUAyCM,MAANA,2CAQI,MADEA,GAAN,GAAAC,KAAAC,EAGA,IAAAC,GAAAC,SAAAC,cAAA,QAMA,OAJEL,GAAF,GAAAC,KAAAC,EAAAI,OAAA,SAAAC,GAEI,MADJJ,GAAAK,aAAA,OAAAD,GACAJ,EAAAM,OAAAF,uECpCA,QAAAG,KAAAC,KAAAC,UAAA,gBAAAR,aAAAA,uEAKAO,KAAAE,QAAAF,KAAAC,WAAA,kBAAAE,KAAAC,UAAGC,yCAIH,OAAAC,SAAAC,MAAAC,MAAAR,KAAAS,OAAAT,KAAAE,oCAKA,eAAgBC,KAAhBC,UAAAC,aAAAL,KAAAU,QAAAV,KAAAS,OAAAT,KAAAE,4UA4BA,MAAAH,KATOA,GAAPY,aACEb,KAAMc,EACRA,aAECb,EAADc,eAAC,WAAD,2BD3CE,SACA,WACA,OACA,iBACA,QACA,OACA,SACA,QACA,QACA,SACA,WACA,QACA,QACA,QACA,SACA,SACA,MACA,OACA,OACA,MACA,QA2BFC,EAAA,oCEhDAA,GAAAH,aACAb,KAAAiB,EAAAA,SAAAC,OACAC,WAAAlB,OCdAe,EAAAD,eAAA,WAAA"}
1
+ {"version":3,"sources":["/Users/karakara/repos/material2/dist/bundles/cdk-platform.umd.js"],"names":["global","factory","exports","module","require","define","amd","ng","cdk","platform","core","this","_angular_core","getSupportedInputTypes","supportedInputTypes","document","Set","candidateInputTypes","featureTestInput","createElement","filter","value","setAttribute","type","hasV8BreakIterator","v8BreakIterator","Platform","isBrowser","EDGE","test","navigator","userAgent","TRIDENT","BLINK","chrome","CSS","WEBKIT","IOS","window","MSStream","FIREFOX","ANDROID","SAFARI","decorators","Injectable","ctorParameters","PlatformModule","NgModule","args","providers","Object","defineProperty"],"mappings":";;;;;;;CAOC,SAAUA,EAAQC,GACC,gBAAZC,UAA0C,mBAAXC,QAAyBF,EAAQC,QAASE,QAAQ,kBACtE,kBAAXC,SAAyBA,OAAOC,IAAMD,QAAQ,UAAW,iBAAkBJ,GACjFA,GAASD,EAAOO,GAAKP,EAAOO,OAAUP,EAAOO,GAAGC,IAAMR,EAAOO,GAAGC,QAAWR,EAAOO,GAAGC,IAAIC,SAAWT,EAAOO,GAAGC,IAAIC,cAAgBT,EAAOO,GAAGG,OAC5IC,KAAM,SAAWT,EAAQU,GAAiB,YAyF5C,SAASC,KAEL,GAAIC,EACA,MAAOA,EAKX,IAAwB,gBAAbC,YAA0BA,SAEjC,MADAD,GAAsB,GAAIE,KAAIC,EAGlC,IAAqBC,GAAmBH,SAASI,cAAc,QAK/D,OAJAL,GAAsB,GAAIE,KAAIC,EAAoBG,OAAO,SAAUC,GAE/D,MADAH,GAAiBI,aAAa,OAAQD,GAC/BH,EAAiBK,OAASF,KApGzC,GAkDIP,GAlDAU,EAAwC,mBAAX,OAA0B,KAASC,gBAMhEC,EAAY,WACZ,QAASA,KACLf,KAAKgB,UAAgC,gBAAbZ,aAA2BA,SAInDJ,KAAKiB,KAAOjB,KAAKgB,WAAa,UAAUE,KAAKC,UAAUC,WACvDpB,KAAKqB,QAAUrB,KAAKgB,WAAa,kBAAkBE,KAAKC,UAAUC,WAElEpB,KAAKsB,MAAQtB,KAAKgB,cACV,OAAWO,SAAUV,MAAyBW,MAAQxB,KAAKiB,OAASjB,KAAKqB,QAGjFrB,KAAKyB,OAASzB,KAAKgB,WACf,eAAeE,KAAKC,UAAUC,aAAepB,KAAKsB,QAAUtB,KAAKiB,OAASjB,KAAKqB,QAInFrB,KAAK0B,IAAM1B,KAAKgB,WAAa,mBAAmBE,KAAKC,UAAUC,aAAeO,OAAOC,SAKrF5B,KAAK6B,QAAU7B,KAAKgB,WAAa,uBAAuBE,KAAKC,UAAUC,WAEvEpB,KAAK8B,QAAU9B,KAAKgB,WAAa,WAAWE,KAAKC,UAAUC,aAAepB,KAAKqB,QAI/ErB,KAAK+B,OAAS/B,KAAKgB,WAAa,UAAUE,KAAKC,UAAUC,YAAcpB,KAAKyB,OAShF,MAPAV,GAASiB,aACHpB,KAAMX,EAAcgC,aAK1BlB,EAASmB,eAAiB,WAAc,UACjCnB,KAUPT,GAKA,QACA,SACA,WACA,OACA,iBACA,QACA,OACA,SACA,QACA,QACA,SACA,WACA,QACA,QACA,QACA,SACA,SACA,MACA,OACA,OACA,MACA,QAyBA6B,EAAkB,WAClB,QAASA,MAWT,MATAA,GAAeH,aACTpB,KAAMX,EAAcmC,SAAUC,OACpBC,WAAYvB,OAM5BoB,EAAeD,eAAiB,WAAc,UACvCC,IAGX5C,GAAQwB,SAAWA,EACnBxB,EAAQW,uBAAyBA,EACjCX,EAAQ4C,eAAiBA,EAEzBI,OAAOC,eAAejD,EAAS,cAAgBmB,OAAO","file":"/Users/karakara/repos/material2/dist/bundles/cdk-platform.umd.min.js"}
@@ -86,6 +86,7 @@ function throwNullPortalHostError() {
86
86
  function throwNoPortalAttachedError() {
87
87
  throw Error('Attempting to detach a portal that is not attached to a host');
88
88
  }
89
+
89
90
  /**
90
91
  * A `Portal` is something that you want to render somewhere else.
91
92
  * It can be attach to / detached from a `PortalHost`.
@@ -310,6 +311,7 @@ var BasePortalHost = (function () {
310
311
  };
311
312
  return BasePortalHost;
312
313
  }());
314
+
313
315
  /**
314
316
  * A PortalHost for attaching portals to an arbitrary DOM element outside of the Angular
315
317
  * application context.
@@ -407,6 +409,7 @@ var DomPortalHost = (function (_super) {
407
409
  };
408
410
  return DomPortalHost;
409
411
  }(BasePortalHost));
412
+
410
413
  /**
411
414
  * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,
412
415
  * the directive instance itself can be attached to a host, enabling declarative use of portals.
@@ -425,21 +428,21 @@ var TemplatePortalDirective = (function (_super) {
425
428
  function TemplatePortalDirective(templateRef, viewContainerRef) {
426
429
  return _super.call(this, templateRef, viewContainerRef) || this;
427
430
  }
431
+ TemplatePortalDirective.decorators = [
432
+ { type: _angular_core.Directive, args: [{
433
+ selector: '[cdk-portal], [cdkPortal], [portal]',
434
+ exportAs: 'cdkPortal',
435
+ },] },
436
+ ];
437
+ /**
438
+ * @nocollapse
439
+ */
440
+ TemplatePortalDirective.ctorParameters = function () { return [
441
+ { type: _angular_core.TemplateRef, },
442
+ { type: _angular_core.ViewContainerRef, },
443
+ ]; };
428
444
  return TemplatePortalDirective;
429
445
  }(TemplatePortal));
430
- TemplatePortalDirective.decorators = [
431
- { type: _angular_core.Directive, args: [{
432
- selector: '[cdk-portal], [cdkPortal], [portal]',
433
- exportAs: 'cdkPortal',
434
- },] },
435
- ];
436
- /**
437
- * @nocollapse
438
- */
439
- TemplatePortalDirective.ctorParameters = function () { return [
440
- { type: _angular_core.TemplateRef, },
441
- { type: _angular_core.ViewContainerRef, },
442
- ]; };
443
446
  /**
444
447
  * Directive version of a PortalHost. Because the directive *is* a PortalHost, portals can be
445
448
  * directly attached to it, enabling declarative use.
@@ -542,39 +545,69 @@ var PortalHostDirective = (function (_super) {
542
545
  this._portal = portal;
543
546
  return viewRef;
544
547
  };
548
+ PortalHostDirective.decorators = [
549
+ { type: _angular_core.Directive, args: [{
550
+ selector: '[cdkPortalHost], [portalHost]',
551
+ exportAs: 'cdkPortalHost',
552
+ inputs: ['portal: cdkPortalHost']
553
+ },] },
554
+ ];
555
+ /**
556
+ * @nocollapse
557
+ */
558
+ PortalHostDirective.ctorParameters = function () { return [
559
+ { type: _angular_core.ComponentFactoryResolver, },
560
+ { type: _angular_core.ViewContainerRef, },
561
+ ]; };
562
+ PortalHostDirective.propDecorators = {
563
+ '_deprecatedPortal': [{ type: _angular_core.Input, args: ['portalHost',] },],
564
+ };
545
565
  return PortalHostDirective;
546
566
  }(BasePortalHost));
547
- PortalHostDirective.decorators = [
548
- { type: _angular_core.Directive, args: [{
549
- selector: '[cdkPortalHost], [portalHost]',
550
- inputs: ['portal: cdkPortalHost']
551
- },] },
552
- ];
553
- /**
554
- * @nocollapse
555
- */
556
- PortalHostDirective.ctorParameters = function () { return [
557
- { type: _angular_core.ComponentFactoryResolver, },
558
- { type: _angular_core.ViewContainerRef, },
559
- ]; };
560
- PortalHostDirective.propDecorators = {
561
- '_deprecatedPortal': [{ type: _angular_core.Input, args: ['portalHost',] },],
562
- };
563
567
  var PortalModule = (function () {
564
568
  function PortalModule() {
565
569
  }
570
+ PortalModule.decorators = [
571
+ { type: _angular_core.NgModule, args: [{
572
+ exports: [TemplatePortalDirective, PortalHostDirective],
573
+ declarations: [TemplatePortalDirective, PortalHostDirective],
574
+ },] },
575
+ ];
576
+ /**
577
+ * @nocollapse
578
+ */
579
+ PortalModule.ctorParameters = function () { return []; };
566
580
  return PortalModule;
567
581
  }());
568
- PortalModule.decorators = [
569
- { type: _angular_core.NgModule, args: [{
570
- exports: [TemplatePortalDirective, PortalHostDirective],
571
- declarations: [TemplatePortalDirective, PortalHostDirective],
572
- },] },
573
- ];
582
+
574
583
  /**
575
- * @nocollapse
584
+ * Custom injector to be used when providing custom
585
+ * injection tokens to components inside a portal.
586
+ * \@docs-private
576
587
  */
577
- PortalModule.ctorParameters = function () { return []; };
588
+ var PortalInjector = (function () {
589
+ /**
590
+ * @param {?} _parentInjector
591
+ * @param {?} _customTokens
592
+ */
593
+ function PortalInjector(_parentInjector, _customTokens) {
594
+ this._parentInjector = _parentInjector;
595
+ this._customTokens = _customTokens;
596
+ }
597
+ /**
598
+ * @param {?} token
599
+ * @param {?=} notFoundValue
600
+ * @return {?}
601
+ */
602
+ PortalInjector.prototype.get = function (token, notFoundValue) {
603
+ var /** @type {?} */ value = this._customTokens.get(token);
604
+ if (typeof value !== 'undefined') {
605
+ return value;
606
+ }
607
+ return this._parentInjector.get(token, notFoundValue);
608
+ };
609
+ return PortalInjector;
610
+ }());
578
611
 
579
612
  exports.Portal = Portal;
580
613
  exports.ComponentPortal = ComponentPortal;
@@ -584,6 +617,7 @@ exports.DomPortalHost = DomPortalHost;
584
617
  exports.TemplatePortalDirective = TemplatePortalDirective;
585
618
  exports.PortalHostDirective = PortalHostDirective;
586
619
  exports.PortalModule = PortalModule;
620
+ exports.PortalInjector = PortalInjector;
587
621
 
588
622
  Object.defineProperty(exports, '__esModule', { value: true });
589
623
 
@@ -1 +1 @@
1
- {"version":3,"file":"cdk-portal.umd.js","sources":["../../src/cdk/portal/index.ts","../../src/cdk/portal/portal-directives.ts","../../src/cdk/portal/dom-portal-host.ts","../../src/cdk/portal/portal.ts","../../src/cdk/portal/portal-errors.ts","../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport {ComponentType,Portal,ComponentPortal,TemplatePortal,PortalHost,BasePortalHost,DomPortalHost,TemplatePortalDirective,PortalHostDirective,PortalModule} from './public_api';\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {\n NgModule,\n ComponentRef,\n Directive,\n EmbeddedViewRef,\n TemplateRef,\n ComponentFactoryResolver,\n ViewContainerRef,\n OnDestroy,\n Input,\n} from '@angular/core';\nimport {Portal, TemplatePortal, ComponentPortal, BasePortalHost} from './portal';\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n * \n * Usage:\n * <ng-template portal #greeting>\n * <p> Hello {{name}} </p>\n * </ng-template>\n */\nexport class TemplatePortalDirective extends TemplatePortal<any> {\n/**\n * @param {?} templateRef\n * @param {?} viewContainerRef\n */\nconstructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef) {\n super(templateRef, viewContainerRef);\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: '[cdk-portal], [cdkPortal], [portal]',\n exportAs: 'cdkPortal',\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: TemplateRef, },\n{type: ViewContainerRef, },\n];\n}\n\nfunction TemplatePortalDirective_tsickle_Closure_declarations() {\n/** @type {?} */\nTemplatePortalDirective.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nTemplatePortalDirective.ctorParameters;\n}\n\n/**\n * Directive version of a PortalHost. Because the directive *is* a PortalHost, portals can be\n * directly attached to it, enabling declarative use.\n * \n * Usage:\n * <ng-template [cdkPortalHost]=\"greeting\"></ng-template>\n */\nexport class PortalHostDirective extends BasePortalHost implements OnDestroy {\n/**\n * The attached portal.\n */\nprivate _portal: Portal<any> | null = null;\n/**\n * @param {?} _componentFactoryResolver\n * @param {?} _viewContainerRef\n */\nconstructor(\nprivate _componentFactoryResolver: ComponentFactoryResolver,\nprivate _viewContainerRef: ViewContainerRef) {\n super();\n }\n/**\n * @deprecated\n * @return {?}\n */\nget _deprecatedPortal() { return this.portal; }\n/**\n * @param {?} v\n * @return {?}\n */\nset _deprecatedPortal(v) { this.portal = v; }\n/**\n * Portal associated with the Portal host.\n * @return {?}\n */\nget portal(): Portal<any> | null {\n return this._portal;\n }\n/**\n * @param {?} portal\n * @return {?}\n */\nset portal(portal: Portal<any> | null) {\n if (this.hasAttached()) {\n super.detach();\n }\n\n if (portal) {\n super.attach(portal);\n }\n\n this._portal = portal;\n }\n/**\n * @return {?}\n */\nngOnDestroy() {\n super.dispose();\n this._portal = null;\n }\n/**\n * Attach the given ComponentPortal to this PortalHost using the ComponentFactoryResolver.\n * \n * @template T\n * @param {?} portal Portal to be attached to the portal host.\n * @return {?}\n */\nattachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n portal.setAttachedHost(this);\n\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalHost.\n let /** @type {?} */ viewContainerRef = portal.viewContainerRef != null ?\n portal.viewContainerRef :\n this._viewContainerRef;\n\n let /** @type {?} */ componentFactory =\n this._componentFactoryResolver.resolveComponentFactory(portal.component);\n let /** @type {?} */ ref = viewContainerRef.createComponent(\n componentFactory, viewContainerRef.length,\n portal.injector || viewContainerRef.parentInjector);\n\n super.setDisposeFn(() => ref.destroy());\n this._portal = portal;\n\n return ref;\n }\n/**\n * Attach the given TemplatePortal to this PortlHost as an embedded View.\n * @template C\n * @param {?} portal Portal to be attached.\n * @return {?}\n */\nattachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n portal.setAttachedHost(this);\n const /** @type {?} */ viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context);\n super.setDisposeFn(() => this._viewContainerRef.clear());\n\n this._portal = portal;\n\n return viewRef;\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: '[cdkPortalHost], [portalHost]',\n inputs: ['portal: cdkPortalHost']\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: ComponentFactoryResolver, },\n{type: ViewContainerRef, },\n];\nstatic propDecorators: {[key: string]: DecoratorInvocation[]} = {\n'_deprecatedPortal': [{ type: Input, args: ['portalHost', ] },],\n};\n}\n\nfunction PortalHostDirective_tsickle_Closure_declarations() {\n/** @type {?} */\nPortalHostDirective.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nPortalHostDirective.ctorParameters;\n/** @type {?} */\nPortalHostDirective.propDecorators;\n/**\n * The attached portal.\n * @type {?}\n */\nPortalHostDirective.prototype._portal;\n/** @type {?} */\nPortalHostDirective.prototype._componentFactoryResolver;\n/** @type {?} */\nPortalHostDirective.prototype._viewContainerRef;\n}\n\nexport class PortalModule {static decorators: DecoratorInvocation[] = [\n{ type: NgModule, args: [{\n exports: [TemplatePortalDirective, PortalHostDirective],\n declarations: [TemplatePortalDirective, PortalHostDirective],\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\nfunction PortalModule_tsickle_Closure_declarations() {\n/** @type {?} */\nPortalModule.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nPortalModule.ctorParameters;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n ApplicationRef,\n Injector,\n} from '@angular/core';\nimport {BasePortalHost, ComponentPortal, TemplatePortal} from './portal';\n/**\n * A PortalHost for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n * \n * This is the only part of the portal core that directly touches the DOM.\n */\nexport class DomPortalHost extends BasePortalHost {\n/**\n * @param {?} _hostDomElement\n * @param {?} _componentFactoryResolver\n * @param {?} _appRef\n * @param {?} _defaultInjector\n */\nconstructor(\nprivate _hostDomElement: Element,\nprivate _componentFactoryResolver: ComponentFactoryResolver,\nprivate _appRef: ApplicationRef,\nprivate _defaultInjector: Injector) {\n super();\n }\n/**\n * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n * @template T\n * @param {?} portal Portal to be attached\n * @return {?}\n */\nattachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n let /** @type {?} */ componentFactory = this._componentFactoryResolver.resolveComponentFactory(portal.component);\n let /** @type {?} */ componentRef: ComponentRef<T>;\n\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the view to the application.\n if (portal.viewContainerRef) {\n componentRef = portal.viewContainerRef.createComponent(\n componentFactory,\n portal.viewContainerRef.length,\n portal.injector || portal.viewContainerRef.parentInjector);\n\n this.setDisposeFn(() => componentRef.destroy());\n } else {\n componentRef = componentFactory.create(portal.injector || this._defaultInjector);\n this._appRef.attachView(componentRef.hostView);\n this.setDisposeFn(() => {\n this._appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n });\n }\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n this._hostDomElement.appendChild(this._getComponentRootNode(componentRef));\n\n return componentRef;\n }\n/**\n * Attaches a template portal to the DOM as an embedded view.\n * @template C\n * @param {?} portal Portal to be attached.\n * @return {?}\n */\nattachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n let /** @type {?} */ viewContainer = portal.viewContainerRef;\n let /** @type {?} */ viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context);\n viewRef.detectChanges();\n\n // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n // But for the DomPortalHost the view can be added everywhere in the DOM (e.g Overlay Container)\n // To move the view to the specified host element. We just re-append the existing root nodes.\n viewRef.rootNodes.forEach(rootNode => this._hostDomElement.appendChild(rootNode));\n\n this.setDisposeFn((() => {\n let /** @type {?} */ index = viewContainer.indexOf(viewRef);\n if (index !== -1) {\n viewContainer.remove(index);\n }\n }));\n\n // TODO(jelbourn): Return locals from view.\n return viewRef;\n }\n/**\n * Clears out a portal from the DOM.\n * @return {?}\n */\ndispose(): void {\n super.dispose();\n if (this._hostDomElement.parentNode != null) {\n this._hostDomElement.parentNode.removeChild(this._hostDomElement);\n }\n }\n/**\n * Gets the root HTMLElement for an instantiated component.\n * @param {?} componentRef\n * @return {?}\n */\nprivate _getComponentRootNode(componentRef: ComponentRef<any>): HTMLElement {\n return /** @type {?} */(( ( /** @type {?} */((componentRef.hostView as EmbeddedViewRef<any>))).rootNodes[0] as HTMLElement));\n }\n}\n\nfunction DomPortalHost_tsickle_Closure_declarations() {\n/** @type {?} */\nDomPortalHost.prototype._hostDomElement;\n/** @type {?} */\nDomPortalHost.prototype._componentFactoryResolver;\n/** @type {?} */\nDomPortalHost.prototype._appRef;\n/** @type {?} */\nDomPortalHost.prototype._defaultInjector;\n}\n\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {\n TemplateRef,\n ViewContainerRef,\n ElementRef,\n ComponentRef,\n EmbeddedViewRef,\n Injector\n} from '@angular/core';\nimport {\n throwNullPortalHostError,\n throwPortalAlreadyAttachedError,\n throwNoPortalAttachedError,\n throwNullPortalError,\n throwPortalHostAlreadyDisposedError,\n throwUnknownPortalTypeError\n} from './portal-errors';\n\n\nexport interface ComponentType<T> {\n new (...args: any[]): T;\n}\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalHost`.\n * @abstract\n */\nexport abstract class Portal<T> {\nprivate _attachedHost: PortalHost | null;\n/**\n * Attach this portal to a host.\n * @param {?} host\n * @return {?}\n */\nattach(host: PortalHost): T {\n if (host == null) {\n throwNullPortalHostError();\n }\n\n if (host.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n\n this._attachedHost = host;\n return /** @type {?} */(( <T> host.attach(this)));\n }\n/**\n * Detach this portal from its host\n * @return {?}\n */\ndetach(): void {\n let /** @type {?} */ host = this._attachedHost;\n\n if (host == null) {\n throwNoPortalAttachedError();\n } else {\n this._attachedHost = null;\n host.detach();\n }\n }\n/**\n * Whether this portal is attached to a host.\n * @return {?}\n */\nget isAttached(): boolean {\n return this._attachedHost != null;\n }\n/**\n * Sets the PortalHost reference without performing `attach()`. This is used directly by\n * the PortalHost when it is performing an `attach()` or `detach()`.\n * @param {?} host\n * @return {?}\n */\nsetAttachedHost(host: PortalHost | null) {\n this._attachedHost = host;\n }\n}\n\nfunction Portal_tsickle_Closure_declarations() {\n/** @type {?} */\nPortal.prototype._attachedHost;\n}\n\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nexport class ComponentPortal<T> extends Portal<ComponentRef<T>> {\n/**\n * The type of the component that will be instantiated for attachment.\n */\ncomponent: ComponentType<T>;\n/**\n * [Optional] Where the attached component should live in Angular's *logical* component tree.\n * This is different from where the component *renders*, which is determined by the PortalHost.\n * The origin is necessary when the host is outside of the Angular application context.\n */\nviewContainerRef?: ViewContainerRef | null;\n/**\n * [Optional] Injector used for the instantiation of the component.\n */\ninjector?: Injector | null;\n/**\n * @param {?} component\n * @param {?=} viewContainerRef\n * @param {?=} injector\n */\nconstructor(\n component: ComponentType<T>,\n viewContainerRef?: ViewContainerRef | null,\n injector?: Injector | null) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n }\n}\n\nfunction ComponentPortal_tsickle_Closure_declarations() {\n/**\n * The type of the component that will be instantiated for attachment.\n * @type {?}\n */\nComponentPortal.prototype.component;\n/**\n * [Optional] Where the attached component should live in Angular's *logical* component tree.\n * This is different from where the component *renders*, which is determined by the PortalHost.\n * The origin is necessary when the host is outside of the Angular application context.\n * @type {?}\n */\nComponentPortal.prototype.viewContainerRef;\n/**\n * [Optional] Injector used for the instantiation of the component.\n * @type {?}\n */\nComponentPortal.prototype.injector;\n}\n\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nexport class TemplatePortal<C> extends Portal<C> {\n/**\n * The embedded template that will be used to instantiate an embedded View in the host.\n */\ntemplateRef: TemplateRef<C>;\n/**\n * Reference to the ViewContainer into which the template will be stamped out.\n */\nviewContainerRef: ViewContainerRef;\n\n context: C | undefined;\n/**\n * @param {?} template\n * @param {?} viewContainerRef\n * @param {?=} context\n */\nconstructor(template: TemplateRef<any>, viewContainerRef: ViewContainerRef, context?: C) {\n super();\n this.templateRef = template;\n this.viewContainerRef = viewContainerRef;\n if (context) {\n this.context = context;\n }\n }\n/**\n * @return {?}\n */\nget origin(): ElementRef {\n return this.templateRef.elementRef;\n }\n/**\n * Attach the the portal to the provided `PortalHost`.\n * When a context is provided it will override the `context` property of the `TemplatePortal`\n * instance.\n * @param {?} host\n * @param {?=} context\n * @return {?}\n */\nattach(host: PortalHost, context: C | undefined = this.context): C {\n this.context = context;\n return super.attach(host);\n }\n/**\n * @return {?}\n */\ndetach(): void {\n this.context = undefined;\n return super.detach();\n }\n}\n\nfunction TemplatePortal_tsickle_Closure_declarations() {\n/**\n * The embedded template that will be used to instantiate an embedded View in the host.\n * @type {?}\n */\nTemplatePortal.prototype.templateRef;\n/**\n * Reference to the ViewContainer into which the template will be stamped out.\n * @type {?}\n */\nTemplatePortal.prototype.viewContainerRef;\n/** @type {?} */\nTemplatePortal.prototype.context;\n}\n\n\n\n/**\n * A `PortalHost` is an space that can contain a single `Portal`.\n */\nexport interface PortalHost {\n attach(portal: Portal<any>): any;\n\n detach(): any;\n\n dispose(): void;\n\n hasAttached(): boolean;\n}\n/**\n * Partial implementation of PortalHost that only deals with attaching either a\n * ComponentPortal or a TemplatePortal.\n * @abstract\n */\nexport abstract class BasePortalHost implements PortalHost {\n/**\n * The portal currently attached to the host.\n */\nprivate _attachedPortal: Portal<any> | null;\n/**\n * A function that will permanently dispose this host.\n */\nprivate _disposeFn: (() => void) | null;\n/**\n * Whether this host has already been permanently disposed.\n */\nprivate _isDisposed: boolean = false;\n/**\n * Whether this host has an attached portal.\n * @return {?}\n */\nhasAttached(): boolean {\n return !!this._attachedPortal;\n }\n/**\n * @param {?} portal\n * @return {?}\n */\nattach(portal: Portal<any>): any {\n if (!portal) {\n throwNullPortalError();\n }\n\n if (this.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n\n if (this._isDisposed) {\n throwPortalHostAlreadyDisposedError();\n }\n\n if (portal instanceof ComponentPortal) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal);\n } else if (portal instanceof TemplatePortal) {\n this._attachedPortal = portal;\n return this.attachTemplatePortal(portal);\n }\n\n throwUnknownPortalTypeError();\n }\n/**\n * @abstract\n * @template T\n * @param {?} portal\n * @return {?}\n */\nattachComponentPortal<T>(portal: ComponentPortal<T>) {}\n/**\n * @abstract\n * @template C\n * @param {?} portal\n * @return {?}\n */\nattachTemplatePortal<C>(portal: TemplatePortal<C>) {}\n/**\n * @return {?}\n */\ndetach(): void {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost(null);\n this._attachedPortal = null;\n }\n\n this._invokeDisposeFn();\n }\n/**\n * @return {?}\n */\ndispose() {\n if (this.hasAttached()) {\n this.detach();\n }\n\n this._invokeDisposeFn();\n this._isDisposed = true;\n }\n/**\n * @param {?} fn\n * @return {?}\n */\nsetDisposeFn(fn: () => void) {\n this._disposeFn = fn;\n }\n/**\n * @return {?}\n */\nprivate _invokeDisposeFn() {\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = null;\n }\n }\n}\n\nfunction BasePortalHost_tsickle_Closure_declarations() {\n/**\n * The portal currently attached to the host.\n * @type {?}\n */\nBasePortalHost.prototype._attachedPortal;\n/**\n * A function that will permanently dispose this host.\n * @type {?}\n */\nBasePortalHost.prototype._disposeFn;\n/**\n * Whether this host has already been permanently disposed.\n * @type {?}\n */\nBasePortalHost.prototype._isDisposed;\n}\n\n","\n/**\n * Throws an exception when attempting to attach a null portal to a host.\n * \\@docs-private\n * @return {?}\n */\nexport function throwNullPortalError() {\n throw Error('Must provide a portal to attach');\n}\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * \\@docs-private\n * @return {?}\n */\nexport function throwPortalAlreadyAttachedError() {\n throw Error('Host already has a portal attached');\n}\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * \\@docs-private\n * @return {?}\n */\nexport function throwPortalHostAlreadyDisposedError() {\n throw Error('This PortalHost has already been disposed');\n}\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * \\@docs-private\n * @return {?}\n */\nexport function throwUnknownPortalTypeError() {\n throw Error('Attempting to attach an unknown Portal type. BasePortalHost accepts either ' +\n 'a ComponentPortal or a TemplatePortal.');\n}\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * \\@docs-private\n * @return {?}\n */\nexport function throwNullPortalHostError() {\n throw Error('Attempting to attach a portal to a null PortalHost');\n}\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * \\@docs-privatew\n * @return {?}\n */\nexport function throwNoPortalAttachedError() {\n throw Error('Attempting to detach a portal that is not attached to a host');\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}"],"names":["TemplateRef","tslib_1.__extends"],"mappings":"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"}
1
+ {"version":3,"file":"cdk-portal.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","cdk/portal.es5.js"],"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}","/**\n * @license\n * Copyright Google Inc. 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 { __extends } from 'tslib';\nimport * as tslib_1 from 'tslib';\nimport { ComponentFactoryResolver, Directive, Input, NgModule, TemplateRef, ViewContainerRef } from '@angular/core';\n\n/**\n * Throws an exception when attempting to attach a null portal to a host.\n * \\@docs-private\n * @return {?}\n */\nfunction throwNullPortalError() {\n throw Error('Must provide a portal to attach');\n}\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * \\@docs-private\n * @return {?}\n */\nfunction throwPortalAlreadyAttachedError() {\n throw Error('Host already has a portal attached');\n}\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * \\@docs-private\n * @return {?}\n */\nfunction throwPortalHostAlreadyDisposedError() {\n throw Error('This PortalHost has already been disposed');\n}\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * \\@docs-private\n * @return {?}\n */\nfunction throwUnknownPortalTypeError() {\n throw Error('Attempting to attach an unknown Portal type. BasePortalHost accepts either ' +\n 'a ComponentPortal or a TemplatePortal.');\n}\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * \\@docs-private\n * @return {?}\n */\nfunction throwNullPortalHostError() {\n throw Error('Attempting to attach a portal to a null PortalHost');\n}\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * \\@docs-privatew\n * @return {?}\n */\nfunction throwNoPortalAttachedError() {\n throw Error('Attempting to detach a portal that is not attached to a host');\n}\n\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalHost`.\n * @abstract\n */\nvar Portal = (function () {\n function Portal() {\n }\n /**\n * Attach this portal to a host.\n * @param {?} host\n * @return {?}\n */\n Portal.prototype.attach = function (host) {\n if (host == null) {\n throwNullPortalHostError();\n }\n if (host.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n this._attachedHost = host;\n return (host.attach(this));\n };\n /**\n * Detach this portal from its host\n * @return {?}\n */\n Portal.prototype.detach = function () {\n var /** @type {?} */ host = this._attachedHost;\n if (host == null) {\n throwNoPortalAttachedError();\n }\n else {\n this._attachedHost = null;\n host.detach();\n }\n };\n Object.defineProperty(Portal.prototype, \"isAttached\", {\n /**\n * Whether this portal is attached to a host.\n * @return {?}\n */\n get: function () {\n return this._attachedHost != null;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Sets the PortalHost reference without performing `attach()`. This is used directly by\n * the PortalHost when it is performing an `attach()` or `detach()`.\n * @param {?} host\n * @return {?}\n */\n Portal.prototype.setAttachedHost = function (host) {\n this._attachedHost = host;\n };\n return Portal;\n}());\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nvar ComponentPortal = (function (_super) {\n __extends(ComponentPortal, _super);\n /**\n * @param {?} component\n * @param {?=} viewContainerRef\n * @param {?=} injector\n */\n function ComponentPortal(component, viewContainerRef, injector) {\n var _this = _super.call(this) || this;\n _this.component = component;\n _this.viewContainerRef = viewContainerRef;\n _this.injector = injector;\n return _this;\n }\n return ComponentPortal;\n}(Portal));\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nvar TemplatePortal = (function (_super) {\n __extends(TemplatePortal, _super);\n /**\n * @param {?} template\n * @param {?} viewContainerRef\n * @param {?=} context\n */\n function TemplatePortal(template, viewContainerRef, context) {\n var _this = _super.call(this) || this;\n _this.templateRef = template;\n _this.viewContainerRef = viewContainerRef;\n if (context) {\n _this.context = context;\n }\n return _this;\n }\n Object.defineProperty(TemplatePortal.prototype, \"origin\", {\n /**\n * @return {?}\n */\n get: function () {\n return this.templateRef.elementRef;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Attach the the portal to the provided `PortalHost`.\n * When a context is provided it will override the `context` property of the `TemplatePortal`\n * instance.\n * @param {?} host\n * @param {?=} context\n * @return {?}\n */\n TemplatePortal.prototype.attach = function (host, context) {\n if (context === void 0) { context = this.context; }\n this.context = context;\n return _super.prototype.attach.call(this, host);\n };\n /**\n * @return {?}\n */\n TemplatePortal.prototype.detach = function () {\n this.context = undefined;\n return _super.prototype.detach.call(this);\n };\n return TemplatePortal;\n}(Portal));\n/**\n * Partial implementation of PortalHost that only deals with attaching either a\n * ComponentPortal or a TemplatePortal.\n * @abstract\n */\nvar BasePortalHost = (function () {\n function BasePortalHost() {\n /**\n * Whether this host has already been permanently disposed.\n */\n this._isDisposed = false;\n }\n /**\n * Whether this host has an attached portal.\n * @return {?}\n */\n BasePortalHost.prototype.hasAttached = function () {\n return !!this._attachedPortal;\n };\n /**\n * @param {?} portal\n * @return {?}\n */\n BasePortalHost.prototype.attach = function (portal) {\n if (!portal) {\n throwNullPortalError();\n }\n if (this.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n if (this._isDisposed) {\n throwPortalHostAlreadyDisposedError();\n }\n if (portal instanceof ComponentPortal) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal);\n }\n else if (portal instanceof TemplatePortal) {\n this._attachedPortal = portal;\n return this.attachTemplatePortal(portal);\n }\n throwUnknownPortalTypeError();\n };\n /**\n * @abstract\n * @template T\n * @param {?} portal\n * @return {?}\n */\n BasePortalHost.prototype.attachComponentPortal = function (portal) { };\n /**\n * @abstract\n * @template C\n * @param {?} portal\n * @return {?}\n */\n BasePortalHost.prototype.attachTemplatePortal = function (portal) { };\n /**\n * @return {?}\n */\n BasePortalHost.prototype.detach = function () {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost(null);\n this._attachedPortal = null;\n }\n this._invokeDisposeFn();\n };\n /**\n * @return {?}\n */\n BasePortalHost.prototype.dispose = function () {\n if (this.hasAttached()) {\n this.detach();\n }\n this._invokeDisposeFn();\n this._isDisposed = true;\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n BasePortalHost.prototype.setDisposeFn = function (fn) {\n this._disposeFn = fn;\n };\n /**\n * @return {?}\n */\n BasePortalHost.prototype._invokeDisposeFn = function () {\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = null;\n }\n };\n return BasePortalHost;\n}());\n\n/**\n * A PortalHost for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n *\n * This is the only part of the portal core that directly touches the DOM.\n */\nvar DomPortalHost = (function (_super) {\n __extends(DomPortalHost, _super);\n /**\n * @param {?} _hostDomElement\n * @param {?} _componentFactoryResolver\n * @param {?} _appRef\n * @param {?} _defaultInjector\n */\n function DomPortalHost(_hostDomElement, _componentFactoryResolver, _appRef, _defaultInjector) {\n var _this = _super.call(this) || this;\n _this._hostDomElement = _hostDomElement;\n _this._componentFactoryResolver = _componentFactoryResolver;\n _this._appRef = _appRef;\n _this._defaultInjector = _defaultInjector;\n return _this;\n }\n /**\n * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n * @template T\n * @param {?} portal Portal to be attached\n * @return {?}\n */\n DomPortalHost.prototype.attachComponentPortal = function (portal) {\n var _this = this;\n var /** @type {?} */ componentFactory = this._componentFactoryResolver.resolveComponentFactory(portal.component);\n var /** @type {?} */ componentRef;\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the view to the application.\n if (portal.viewContainerRef) {\n componentRef = portal.viewContainerRef.createComponent(componentFactory, portal.viewContainerRef.length, portal.injector || portal.viewContainerRef.parentInjector);\n this.setDisposeFn(function () { return componentRef.destroy(); });\n }\n else {\n componentRef = componentFactory.create(portal.injector || this._defaultInjector);\n this._appRef.attachView(componentRef.hostView);\n this.setDisposeFn(function () {\n _this._appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n });\n }\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n this._hostDomElement.appendChild(this._getComponentRootNode(componentRef));\n return componentRef;\n };\n /**\n * Attaches a template portal to the DOM as an embedded view.\n * @template C\n * @param {?} portal Portal to be attached.\n * @return {?}\n */\n DomPortalHost.prototype.attachTemplatePortal = function (portal) {\n var _this = this;\n var /** @type {?} */ viewContainer = portal.viewContainerRef;\n var /** @type {?} */ viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context);\n viewRef.detectChanges();\n // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n // But for the DomPortalHost the view can be added everywhere in the DOM (e.g Overlay Container)\n // To move the view to the specified host element. We just re-append the existing root nodes.\n viewRef.rootNodes.forEach(function (rootNode) { return _this._hostDomElement.appendChild(rootNode); });\n this.setDisposeFn((function () {\n var /** @type {?} */ index = viewContainer.indexOf(viewRef);\n if (index !== -1) {\n viewContainer.remove(index);\n }\n }));\n // TODO(jelbourn): Return locals from view.\n return viewRef;\n };\n /**\n * Clears out a portal from the DOM.\n * @return {?}\n */\n DomPortalHost.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n if (this._hostDomElement.parentNode != null) {\n this._hostDomElement.parentNode.removeChild(this._hostDomElement);\n }\n };\n /**\n * Gets the root HTMLElement for an instantiated component.\n * @param {?} componentRef\n * @return {?}\n */\n DomPortalHost.prototype._getComponentRootNode = function (componentRef) {\n return (((componentRef.hostView)).rootNodes[0]);\n };\n return DomPortalHost;\n}(BasePortalHost));\n\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n *\n * Usage:\n * <ng-template portal #greeting>\n * <p> Hello {{name}} </p>\n * </ng-template>\n */\nvar TemplatePortalDirective = (function (_super) {\n __extends(TemplatePortalDirective, _super);\n /**\n * @param {?} templateRef\n * @param {?} viewContainerRef\n */\n function TemplatePortalDirective(templateRef, viewContainerRef) {\n return _super.call(this, templateRef, viewContainerRef) || this;\n }\n TemplatePortalDirective.decorators = [\n { type: Directive, args: [{\n selector: '[cdk-portal], [cdkPortal], [portal]',\n exportAs: 'cdkPortal',\n },] },\n ];\n /**\n * @nocollapse\n */\n TemplatePortalDirective.ctorParameters = function () { return [\n { type: TemplateRef, },\n { type: ViewContainerRef, },\n ]; };\n return TemplatePortalDirective;\n}(TemplatePortal));\n/**\n * Directive version of a PortalHost. Because the directive *is* a PortalHost, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * <ng-template [cdkPortalHost]=\"greeting\"></ng-template>\n */\nvar PortalHostDirective = (function (_super) {\n __extends(PortalHostDirective, _super);\n /**\n * @param {?} _componentFactoryResolver\n * @param {?} _viewContainerRef\n */\n function PortalHostDirective(_componentFactoryResolver, _viewContainerRef) {\n var _this = _super.call(this) || this;\n _this._componentFactoryResolver = _componentFactoryResolver;\n _this._viewContainerRef = _viewContainerRef;\n /**\n * The attached portal.\n */\n _this._portal = null;\n return _this;\n }\n Object.defineProperty(PortalHostDirective.prototype, \"_deprecatedPortal\", {\n /**\n * @deprecated\n * @return {?}\n */\n get: function () { return this.portal; },\n /**\n * @param {?} v\n * @return {?}\n */\n set: function (v) { this.portal = v; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PortalHostDirective.prototype, \"portal\", {\n /**\n * Portal associated with the Portal host.\n * @return {?}\n */\n get: function () {\n return this._portal;\n },\n /**\n * @param {?} portal\n * @return {?}\n */\n set: function (portal) {\n if (this.hasAttached()) {\n _super.prototype.detach.call(this);\n }\n if (portal) {\n _super.prototype.attach.call(this, portal);\n }\n this._portal = portal;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n PortalHostDirective.prototype.ngOnDestroy = function () {\n _super.prototype.dispose.call(this);\n this._portal = null;\n };\n /**\n * Attach the given ComponentPortal to this PortalHost using the ComponentFactoryResolver.\n *\n * @template T\n * @param {?} portal Portal to be attached to the portal host.\n * @return {?}\n */\n PortalHostDirective.prototype.attachComponentPortal = function (portal) {\n portal.setAttachedHost(this);\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalHost.\n var /** @type {?} */ viewContainerRef = portal.viewContainerRef != null ?\n portal.viewContainerRef :\n this._viewContainerRef;\n var /** @type {?} */ componentFactory = this._componentFactoryResolver.resolveComponentFactory(portal.component);\n var /** @type {?} */ ref = viewContainerRef.createComponent(componentFactory, viewContainerRef.length, portal.injector || viewContainerRef.parentInjector);\n _super.prototype.setDisposeFn.call(this, function () { return ref.destroy(); });\n this._portal = portal;\n return ref;\n };\n /**\n * Attach the given TemplatePortal to this PortlHost as an embedded View.\n * @template C\n * @param {?} portal Portal to be attached.\n * @return {?}\n */\n PortalHostDirective.prototype.attachTemplatePortal = function (portal) {\n var _this = this;\n portal.setAttachedHost(this);\n var /** @type {?} */ viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context);\n _super.prototype.setDisposeFn.call(this, function () { return _this._viewContainerRef.clear(); });\n this._portal = portal;\n return viewRef;\n };\n PortalHostDirective.decorators = [\n { type: Directive, args: [{\n selector: '[cdkPortalHost], [portalHost]',\n exportAs: 'cdkPortalHost',\n inputs: ['portal: cdkPortalHost']\n },] },\n ];\n /**\n * @nocollapse\n */\n PortalHostDirective.ctorParameters = function () { return [\n { type: ComponentFactoryResolver, },\n { type: ViewContainerRef, },\n ]; };\n PortalHostDirective.propDecorators = {\n '_deprecatedPortal': [{ type: Input, args: ['portalHost',] },],\n };\n return PortalHostDirective;\n}(BasePortalHost));\nvar PortalModule = (function () {\n function PortalModule() {\n }\n PortalModule.decorators = [\n { type: NgModule, args: [{\n exports: [TemplatePortalDirective, PortalHostDirective],\n declarations: [TemplatePortalDirective, PortalHostDirective],\n },] },\n ];\n /**\n * @nocollapse\n */\n PortalModule.ctorParameters = function () { return []; };\n return PortalModule;\n}());\n\n/**\n * Custom injector to be used when providing custom\n * injection tokens to components inside a portal.\n * \\@docs-private\n */\nvar PortalInjector = (function () {\n /**\n * @param {?} _parentInjector\n * @param {?} _customTokens\n */\n function PortalInjector(_parentInjector, _customTokens) {\n this._parentInjector = _parentInjector;\n this._customTokens = _customTokens;\n }\n /**\n * @param {?} token\n * @param {?=} notFoundValue\n * @return {?}\n */\n PortalInjector.prototype.get = function (token, notFoundValue) {\n var /** @type {?} */ value = this._customTokens.get(token);\n if (typeof value !== 'undefined') {\n return value;\n }\n return this._parentInjector.get(token, notFoundValue);\n };\n return PortalInjector;\n}());\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Portal, ComponentPortal, TemplatePortal, BasePortalHost, DomPortalHost, TemplatePortalDirective, PortalHostDirective, PortalModule, PortalInjector };\n//# sourceMappingURL=portal.es5.js.map\n"],"names":["Directive","TemplateRef","ViewContainerRef","ComponentFactoryResolver","Input","NgModule"],"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")):"function"==typeof define&&define.amd?define(["exports","@angular/core"],e):e((t.ng=t.ng||{},t.ng.cdk=t.ng.cdk||{},t.ng.cdk.portal=t.ng.cdk.portal||{}),t.ng.core)}(this,function(t,e){"use strict";function o(t,e){function o(){this.constructor=t}p(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}function n(){throw Error("Must provide a portal to attach")}function r(){throw Error("Host already has a portal attached")}function a(){throw Error("This PortalHost has already been disposed")}function i(){throw Error("Attempting to attach an unknown Portal type. BasePortalHost accepts either a ComponentPortal or a TemplatePortal.")}function s(){throw Error("Attempting to attach a portal to a null PortalHost")}function c(){throw Error("Attempting to detach a portal that is not attached to a host")}var p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o])},h=function(){function t(){}return t.prototype.attach=function(t){return null==t&&s(),t.hasAttached()&&r(),this._attachedHost=t,t.attach(this)},t.prototype.detach=function(){var t=this._attachedHost;null==t?c():(this._attachedHost=null,t.detach())},Object.defineProperty(t.prototype,"isAttached",{get:function(){return null!=this._attachedHost},enumerable:!0,configurable:!0}),t.prototype.setAttachedHost=function(t){this._attachedHost=t},t}(),l=function(t){function e(e,o,n){var r=t.call(this)||this;return r.component=e,r.viewContainerRef=o,r.injector=n,r}return o(e,t),e}(h),u=function(t){function e(e,o,n){var r=t.call(this)||this;return r.templateRef=e,r.viewContainerRef=o,n&&(r.context=n),r}return o(e,t),Object.defineProperty(e.prototype,"origin",{get:function(){return this.templateRef.elementRef},enumerable:!0,configurable:!0}),e.prototype.attach=function(e,o){return void 0===o&&(o=this.context),this.context=o,t.prototype.attach.call(this,e)},e.prototype.detach=function(){return this.context=void 0,t.prototype.detach.call(this)},e}(h),f=function(){function t(){this._isDisposed=!1}return t.prototype.hasAttached=function(){return!!this._attachedPortal},t.prototype.attach=function(t){return t||n(),this.hasAttached()&&r(),this._isDisposed&&a(),t instanceof l?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof u?(this._attachedPortal=t,this.attachTemplatePortal(t)):void i()},t.prototype.attachComponentPortal=function(t){},t.prototype.attachTemplatePortal=function(t){},t.prototype.detach=function(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()},t.prototype.dispose=function(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0},t.prototype.setDisposeFn=function(t){this._disposeFn=t},t.prototype._invokeDisposeFn=function(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)},t}(),d=function(t){function e(e,o,n,r){var a=t.call(this)||this;return a._hostDomElement=e,a._componentFactoryResolver=o,a._appRef=n,a._defaultInjector=r,a}return o(e,t),e.prototype.attachComponentPortal=function(t){var e,o=this,n=this._componentFactoryResolver.resolveComponentFactory(t.component);return t.viewContainerRef?(e=t.viewContainerRef.createComponent(n,t.viewContainerRef.length,t.injector||t.viewContainerRef.parentInjector),this.setDisposeFn(function(){return e.destroy()})):(e=n.create(t.injector||this._defaultInjector),this._appRef.attachView(e.hostView),this.setDisposeFn(function(){o._appRef.detachView(e.hostView),e.destroy()})),this._hostDomElement.appendChild(this._getComponentRootNode(e)),e},e.prototype.attachTemplatePortal=function(t){var e=this,o=t.viewContainerRef,n=o.createEmbeddedView(t.templateRef,t.context);return n.detectChanges(),n.rootNodes.forEach(function(t){return e._hostDomElement.appendChild(t)}),this.setDisposeFn(function(){var t=o.indexOf(n);-1!==t&&o.remove(t)}),n},e.prototype.dispose=function(){t.prototype.dispose.call(this),null!=this._hostDomElement.parentNode&&this._hostDomElement.parentNode.removeChild(this._hostDomElement)},e.prototype._getComponentRootNode=function(t){return t.hostView.rootNodes[0]},e}(f),y=function(t){function e(e,o){return t.call(this,e,o)||this}return o(e,t),e}(u);y.decorators=[{type:e.Directive,args:[{selector:"[cdk-portal], [cdkPortal], [portal]",exportAs:"cdkPortal"}]}],y.ctorParameters=function(){return[{type:e.TemplateRef},{type:e.ViewContainerRef}]};var m=function(t){function e(e,o){var n=t.call(this)||this;return n._componentFactoryResolver=e,n._viewContainerRef=o,n._portal=null,n}return o(e,t),Object.defineProperty(e.prototype,"_deprecatedPortal",{get:function(){return this.portal},set:function(t){this.portal=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"portal",{get:function(){return this._portal},set:function(e){this.hasAttached()&&t.prototype.detach.call(this),e&&t.prototype.attach.call(this,e),this._portal=e},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){t.prototype.dispose.call(this),this._portal=null},e.prototype.attachComponentPortal=function(e){e.setAttachedHost(this);var o=null!=e.viewContainerRef?e.viewContainerRef:this._viewContainerRef,n=this._componentFactoryResolver.resolveComponentFactory(e.component),r=o.createComponent(n,o.length,e.injector||o.parentInjector);return t.prototype.setDisposeFn.call(this,function(){return r.destroy()}),this._portal=e,r},e.prototype.attachTemplatePortal=function(e){var o=this;e.setAttachedHost(this);var n=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context);return t.prototype.setDisposeFn.call(this,function(){return o._viewContainerRef.clear()}),this._portal=e,n},e}(f);m.decorators=[{type:e.Directive,args:[{selector:"[cdkPortalHost], [portalHost]",inputs:["portal: cdkPortalHost"]}]}],m.ctorParameters=function(){return[{type:e.ComponentFactoryResolver},{type:e.ViewContainerRef}]},m.propDecorators={_deprecatedPortal:[{type:e.Input,args:["portalHost"]}]};var _=function(){function t(){}return t}();_.decorators=[{type:e.NgModule,args:[{exports:[y,m],declarations:[y,m]}]}],_.ctorParameters=function(){return[]},t.Portal=h,t.ComponentPortal=l,t.TemplatePortal=u,t.BasePortalHost=f,t.DomPortalHost=d,t.TemplatePortalDirective=y,t.PortalHostDirective=m,t.PortalModule=_,Object.defineProperty(t,"__esModule",{value:!0})});
9
- //# sourceMappingURL=cdk-portal.umd.min.js.map
8
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core")):"function"==typeof define&&define.amd?define(["exports","@angular/core"],e):e((t.ng=t.ng||{},t.ng.cdk=t.ng.cdk||{},t.ng.cdk.portal=t.ng.cdk.portal||{}),t.ng.core)}(this,function(t,e){"use strict";function o(t,e){function o(){this.constructor=t}p(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}function n(){throw Error("Must provide a portal to attach")}function r(){throw Error("Host already has a portal attached")}function a(){throw Error("This PortalHost has already been disposed")}function i(){throw Error("Attempting to attach an unknown Portal type. BasePortalHost accepts either a ComponentPortal or a TemplatePortal.")}function s(){throw Error("Attempting to attach a portal to a null PortalHost")}function c(){throw Error("Attempting to detach a portal that is not attached to a host")}var p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o])},h=function(){function t(){}return t.prototype.attach=function(t){return null==t&&s(),t.hasAttached()&&r(),this._attachedHost=t,t.attach(this)},t.prototype.detach=function(){var t=this._attachedHost;null==t?c():(this._attachedHost=null,t.detach())},Object.defineProperty(t.prototype,"isAttached",{get:function(){return null!=this._attachedHost},enumerable:!0,configurable:!0}),t.prototype.setAttachedHost=function(t){this._attachedHost=t},t}(),l=function(t){function e(e,o,n){var r=t.call(this)||this;return r.component=e,r.viewContainerRef=o,r.injector=n,r}return o(e,t),e}(h),u=function(t){function e(e,o,n){var r=t.call(this)||this;return r.templateRef=e,r.viewContainerRef=o,n&&(r.context=n),r}return o(e,t),Object.defineProperty(e.prototype,"origin",{get:function(){return this.templateRef.elementRef},enumerable:!0,configurable:!0}),e.prototype.attach=function(e,o){return void 0===o&&(o=this.context),this.context=o,t.prototype.attach.call(this,e)},e.prototype.detach=function(){return this.context=void 0,t.prototype.detach.call(this)},e}(h),f=function(){function t(){this._isDisposed=!1}return t.prototype.hasAttached=function(){return!!this._attachedPortal},t.prototype.attach=function(t){return t||n(),this.hasAttached()&&r(),this._isDisposed&&a(),t instanceof l?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof u?(this._attachedPortal=t,this.attachTemplatePortal(t)):void i()},t.prototype.attachComponentPortal=function(t){},t.prototype.attachTemplatePortal=function(t){},t.prototype.detach=function(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()},t.prototype.dispose=function(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0},t.prototype.setDisposeFn=function(t){this._disposeFn=t},t.prototype._invokeDisposeFn=function(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)},t}(),d=function(t){function e(e,o,n,r){var a=t.call(this)||this;return a._hostDomElement=e,a._componentFactoryResolver=o,a._appRef=n,a._defaultInjector=r,a}return o(e,t),e.prototype.attachComponentPortal=function(t){var e,o=this,n=this._componentFactoryResolver.resolveComponentFactory(t.component);return t.viewContainerRef?(e=t.viewContainerRef.createComponent(n,t.viewContainerRef.length,t.injector||t.viewContainerRef.parentInjector),this.setDisposeFn(function(){return e.destroy()})):(e=n.create(t.injector||this._defaultInjector),this._appRef.attachView(e.hostView),this.setDisposeFn(function(){o._appRef.detachView(e.hostView),e.destroy()})),this._hostDomElement.appendChild(this._getComponentRootNode(e)),e},e.prototype.attachTemplatePortal=function(t){var e=this,o=t.viewContainerRef,n=o.createEmbeddedView(t.templateRef,t.context);return n.detectChanges(),n.rootNodes.forEach(function(t){return e._hostDomElement.appendChild(t)}),this.setDisposeFn(function(){var t=o.indexOf(n);-1!==t&&o.remove(t)}),n},e.prototype.dispose=function(){t.prototype.dispose.call(this),null!=this._hostDomElement.parentNode&&this._hostDomElement.parentNode.removeChild(this._hostDomElement)},e.prototype._getComponentRootNode=function(t){return t.hostView.rootNodes[0]},e}(f),y=function(t){function n(e,o){return t.call(this,e,o)||this}return o(n,t),n.decorators=[{type:e.Directive,args:[{selector:"[cdk-portal], [cdkPortal], [portal]",exportAs:"cdkPortal"}]}],n.ctorParameters=function(){return[{type:e.TemplateRef},{type:e.ViewContainerRef}]},n}(u),m=function(t){function n(e,o){var n=t.call(this)||this;return n._componentFactoryResolver=e,n._viewContainerRef=o,n._portal=null,n}return o(n,t),Object.defineProperty(n.prototype,"_deprecatedPortal",{get:function(){return this.portal},set:function(t){this.portal=t},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"portal",{get:function(){return this._portal},set:function(e){this.hasAttached()&&t.prototype.detach.call(this),e&&t.prototype.attach.call(this,e),this._portal=e},enumerable:!0,configurable:!0}),n.prototype.ngOnDestroy=function(){t.prototype.dispose.call(this),this._portal=null},n.prototype.attachComponentPortal=function(e){e.setAttachedHost(this);var o=null!=e.viewContainerRef?e.viewContainerRef:this._viewContainerRef,n=this._componentFactoryResolver.resolveComponentFactory(e.component),r=o.createComponent(n,o.length,e.injector||o.parentInjector);return t.prototype.setDisposeFn.call(this,function(){return r.destroy()}),this._portal=e,r},n.prototype.attachTemplatePortal=function(e){var o=this;e.setAttachedHost(this);var n=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context);return t.prototype.setDisposeFn.call(this,function(){return o._viewContainerRef.clear()}),this._portal=e,n},n.decorators=[{type:e.Directive,args:[{selector:"[cdkPortalHost], [portalHost]",exportAs:"cdkPortalHost",inputs:["portal: cdkPortalHost"]}]}],n.ctorParameters=function(){return[{type:e.ComponentFactoryResolver},{type:e.ViewContainerRef}]},n.propDecorators={_deprecatedPortal:[{type:e.Input,args:["portalHost"]}]},n}(f),_=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{exports:[y,m],declarations:[y,m]}]}],t.ctorParameters=function(){return[]},t}(),v=function(){function t(t,e){this._parentInjector=t,this._customTokens=e}return t.prototype.get=function(t,e){var o=this._customTokens.get(t);return void 0!==o?o:this._parentInjector.get(t,e)},t}();t.Portal=h,t.ComponentPortal=l,t.TemplatePortal=u,t.BasePortalHost=f,t.DomPortalHost=d,t.TemplatePortalDirective=y,t.PortalHostDirective=m,t.PortalModule=_,t.PortalInjector=v,Object.defineProperty(t,"__esModule",{value:!0})});
9
+ //# sourceMappingURL=/Users/karakara/repos/material2/dist/bundles/cdk-portal.umd.min.js.map