@angular/cdk-experimental 13.0.0-next.7 → 13.0.0-rc.2

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 (329) hide show
  1. package/column-resize/column-resize-directives/column-resize-flex.d.ts +3 -0
  2. package/column-resize/column-resize-directives/column-resize.d.ts +3 -0
  3. package/column-resize/column-resize-directives/default-enabled-column-resize-flex.d.ts +3 -0
  4. package/column-resize/column-resize-directives/default-enabled-column-resize.d.ts +3 -0
  5. package/column-resize/column-resize-module.d.ts +11 -7
  6. package/column-resize/column-resize-notifier.d.ts +5 -7
  7. package/column-resize/column-resize.d.ts +3 -0
  8. package/column-resize/column-resize_public_index.d.ts +4 -0
  9. package/column-resize/column-size-store.d.ts +3 -7
  10. package/column-resize/event-dispatcher.d.ts +3 -0
  11. package/column-resize/index.d.ts +5 -2
  12. package/column-resize/overlay-handle.d.ts +3 -0
  13. package/column-resize/package.json +6 -6
  14. package/column-resize/resizable.d.ts +3 -0
  15. package/column-resize/resize-strategy.d.ts +7 -0
  16. package/combobox/combobox-module.d.ts +8 -7
  17. package/combobox/combobox-panel.d.ts +5 -2
  18. package/combobox/combobox-popup.d.ts +3 -0
  19. package/combobox/combobox.d.ts +8 -5
  20. package/combobox/combobox_public_index.d.ts +4 -0
  21. package/combobox/index.d.ts +5 -1
  22. package/combobox/package.json +6 -6
  23. package/dialog/dialog-container.d.ts +4 -1
  24. package/dialog/dialog-module.d.ts +8 -7
  25. package/dialog/dialog.d.ts +3 -0
  26. package/dialog/dialog_public_index.d.ts +4 -0
  27. package/dialog/index.d.ts +5 -1
  28. package/dialog/package.json +6 -6
  29. package/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +42 -0
  30. package/esm2020/column-resize/column-resize-directives/column-resize.mjs +42 -0
  31. package/{esm2015/column-resize/column-resize-directives/constants.js → esm2020/column-resize/column-resize-directives/constants.mjs} +0 -0
  32. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize-flex.mjs +48 -0
  33. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize.mjs +48 -0
  34. package/esm2020/column-resize/column-resize-module.mjs +46 -0
  35. package/esm2020/column-resize/column-resize-notifier.mjs +52 -0
  36. package/esm2020/column-resize/column-resize.mjs +82 -0
  37. package/esm2020/column-resize/column-resize_public_index.mjs +5 -0
  38. package/esm2020/column-resize/column-size-store.mjs +20 -0
  39. package/esm2020/column-resize/event-dispatcher.mjs +70 -0
  40. package/esm2020/column-resize/index.mjs +9 -0
  41. package/esm2020/column-resize/overlay-handle.mjs +146 -0
  42. package/{esm2015/column-resize/public-api.js → esm2020/column-resize/public-api.mjs} +0 -0
  43. package/esm2020/column-resize/resizable.mjs +195 -0
  44. package/{esm2015/column-resize/resize-ref.js → esm2020/column-resize/resize-ref.mjs} +1 -1
  45. package/esm2020/column-resize/resize-strategy.mjs +230 -0
  46. package/{esm2015/column-resize/selectors.js → esm2020/column-resize/selectors.mjs} +0 -0
  47. package/esm2020/combobox/combobox-module.mjs +28 -0
  48. package/esm2020/combobox/combobox-panel.mjs +48 -0
  49. package/esm2020/combobox/combobox-popup.mjs +83 -0
  50. package/esm2020/combobox/combobox.mjs +261 -0
  51. package/esm2020/combobox/combobox_public_index.mjs +5 -0
  52. package/esm2020/combobox/index.mjs +9 -0
  53. package/{esm2015/combobox/public-api.js → esm2020/combobox/public-api.mjs} +0 -0
  54. package/{esm2015/dialog/dialog-config.js → esm2020/dialog/dialog-config.mjs} +0 -0
  55. package/esm2020/dialog/dialog-container.mjs +310 -0
  56. package/esm2020/dialog/dialog-injectors.mjs +30 -0
  57. package/esm2020/dialog/dialog-module.mjs +57 -0
  58. package/esm2020/dialog/dialog-ref.mjs +116 -0
  59. package/esm2020/dialog/dialog.mjs +252 -0
  60. package/esm2020/dialog/dialog_public_index.mjs +5 -0
  61. package/esm2020/dialog/index.mjs +9 -0
  62. package/{esm2015/dialog/public-api.js → esm2020/dialog/public-api.mjs} +0 -0
  63. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  64. package/esm2020/listbox/index.mjs +9 -0
  65. package/esm2020/listbox/listbox-module.mjs +24 -0
  66. package/esm2020/listbox/listbox.mjs +499 -0
  67. package/esm2020/listbox/listbox_public_index.mjs +5 -0
  68. package/{esm2015/listbox/public-api.js → esm2020/listbox/public-api.mjs} +0 -0
  69. package/esm2020/menu/context-menu.mjs +287 -0
  70. package/esm2020/menu/index.mjs +9 -0
  71. package/esm2020/menu/menu-aim.mjs +199 -0
  72. package/esm2020/menu/menu-bar.mjs +272 -0
  73. package/{esm2015/menu/menu-errors.js → esm2020/menu/menu-errors.mjs} +1 -1
  74. package/esm2020/menu/menu-group.mjs +68 -0
  75. package/{esm2015/menu/menu-interface.js → esm2020/menu/menu-interface.mjs} +0 -0
  76. package/esm2020/menu/menu-item-checkbox.mjs +48 -0
  77. package/esm2020/menu/menu-item-radio.mjs +90 -0
  78. package/esm2020/menu/menu-item-selectable.mjs +57 -0
  79. package/esm2020/menu/menu-item-trigger.mjs +361 -0
  80. package/esm2020/menu/menu-item.mjs +291 -0
  81. package/esm2020/menu/menu-module.mjs +64 -0
  82. package/esm2020/menu/menu-panel.mjs +37 -0
  83. package/{esm2015/menu/menu-stack.js → esm2020/menu/menu-stack.mjs} +0 -0
  84. package/esm2020/menu/menu.mjs +316 -0
  85. package/esm2020/menu/menu_public_index.mjs +5 -0
  86. package/{esm2015/menu/pointer-focus-tracker.js → esm2020/menu/pointer-focus-tracker.mjs} +1 -1
  87. package/{esm2015/menu/public-api.js → esm2020/menu/public-api.mjs} +0 -0
  88. package/{esm2015/popover-edit/constants.js → esm2020/popover-edit/constants.mjs} +0 -0
  89. package/esm2020/popover-edit/edit-event-dispatcher.mjs +215 -0
  90. package/esm2020/popover-edit/edit-ref.mjs +84 -0
  91. package/esm2020/popover-edit/edit-services.mjs +48 -0
  92. package/esm2020/popover-edit/focus-dispatcher.mjs +82 -0
  93. package/esm2020/popover-edit/focus-escape-notifier.mjs +63 -0
  94. package/{esm2015/popover-edit/form-value-container.js → esm2020/popover-edit/form-value-container.mjs} +0 -0
  95. package/esm2020/popover-edit/index.mjs +9 -0
  96. package/esm2020/popover-edit/lens-directives.mjs +210 -0
  97. package/esm2020/popover-edit/polyfill.mjs +37 -0
  98. package/esm2020/popover-edit/popover-edit-module.mjs +62 -0
  99. package/esm2020/popover-edit/popover-edit-position-strategy-factory.mjs +76 -0
  100. package/esm2020/popover-edit/popover-edit_public_index.mjs +5 -0
  101. package/{esm2015/popover-edit/public-api.js → esm2020/popover-edit/public-api.mjs} +0 -0
  102. package/esm2020/popover-edit/table-directives.mjs +400 -0
  103. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  104. package/esm2020/scrolling/auto-size-virtual-scroll.mjs +421 -0
  105. package/esm2020/scrolling/index.mjs +9 -0
  106. package/{esm2015/scrolling/public-api.js → esm2020/scrolling/public-api.mjs} +0 -0
  107. package/esm2020/scrolling/scrolling-module.mjs +23 -0
  108. package/esm2020/scrolling/scrolling_public_index.mjs +5 -0
  109. package/esm2020/selection/index.mjs +9 -0
  110. package/{esm2015/selection/public-api.js → esm2020/selection/public-api.mjs} +0 -0
  111. package/esm2020/selection/row-selection.mjs +49 -0
  112. package/esm2020/selection/select-all.mjs +109 -0
  113. package/esm2020/selection/selection-column.mjs +134 -0
  114. package/esm2020/selection/selection-module.mjs +40 -0
  115. package/{esm2015/selection/selection-set.js → esm2020/selection/selection-set.mjs} +1 -1
  116. package/esm2020/selection/selection-toggle.mjs +101 -0
  117. package/esm2020/selection/selection.mjs +186 -0
  118. package/esm2020/selection/selection_public_index.mjs +5 -0
  119. package/esm2020/table-scroll-container/index.mjs +9 -0
  120. package/{esm2015/table-scroll-container/public-api.js → esm2020/table-scroll-container/public-api.mjs} +0 -0
  121. package/esm2020/table-scroll-container/table-scroll-container-module.mjs +23 -0
  122. package/esm2020/table-scroll-container/table-scroll-container.mjs +131 -0
  123. package/esm2020/table-scroll-container/table-scroll-container_public_index.mjs +5 -0
  124. package/{esm2015/version.js → esm2020/version.mjs} +1 -1
  125. package/fesm2015/{cdk-experimental.js → cdk-experimental.mjs} +2 -2
  126. package/fesm2015/cdk-experimental.mjs.map +1 -0
  127. package/fesm2015/{column-resize.js → column-resize.mjs} +213 -175
  128. package/fesm2015/column-resize.mjs.map +1 -0
  129. package/fesm2015/{combobox.js → combobox.mjs} +134 -102
  130. package/fesm2015/combobox.mjs.map +1 -0
  131. package/fesm2015/dialog.mjs +813 -0
  132. package/fesm2015/dialog.mjs.map +1 -0
  133. package/fesm2015/{listbox.js → listbox.mjs} +128 -91
  134. package/fesm2015/listbox.mjs.map +1 -0
  135. package/fesm2015/{menu.js → menu.mjs} +576 -397
  136. package/fesm2015/menu.mjs.map +1 -0
  137. package/fesm2015/{popover-edit.js → popover-edit.mjs} +257 -230
  138. package/fesm2015/popover-edit.mjs.map +1 -0
  139. package/fesm2015/{scrolling.js → scrolling.mjs} +66 -36
  140. package/fesm2015/scrolling.mjs.map +1 -0
  141. package/fesm2015/selection.mjs +693 -0
  142. package/fesm2015/selection.mjs.map +1 -0
  143. package/fesm2015/{table-scroll-container.js → table-scroll-container.mjs} +43 -30
  144. package/fesm2015/table-scroll-container.mjs.map +1 -0
  145. package/fesm2020/cdk-experimental.mjs +30 -0
  146. package/fesm2020/cdk-experimental.mjs.map +1 -0
  147. package/fesm2020/column-resize.mjs +1016 -0
  148. package/fesm2020/column-resize.mjs.map +1 -0
  149. package/fesm2020/combobox.mjs +430 -0
  150. package/fesm2020/combobox.mjs.map +1 -0
  151. package/{fesm2015/dialog.js → fesm2020/dialog.mjs} +156 -104
  152. package/fesm2020/dialog.mjs.map +1 -0
  153. package/fesm2020/listbox.mjs +541 -0
  154. package/fesm2020/listbox.mjs.map +1 -0
  155. package/fesm2020/menu.mjs +2202 -0
  156. package/fesm2020/menu.mjs.map +1 -0
  157. package/fesm2020/popover-edit.mjs +1289 -0
  158. package/fesm2020/popover-edit.mjs.map +1 -0
  159. package/fesm2020/scrolling.mjs +464 -0
  160. package/fesm2020/scrolling.mjs.map +1 -0
  161. package/{fesm2015/selection.js → fesm2020/selection.mjs} +195 -107
  162. package/fesm2020/selection.mjs.map +1 -0
  163. package/fesm2020/table-scroll-container.mjs +173 -0
  164. package/fesm2020/table-scroll-container.mjs.map +1 -0
  165. package/listbox/index.d.ts +5 -1
  166. package/listbox/listbox-module.d.ts +5 -7
  167. package/listbox/listbox.d.ts +5 -0
  168. package/listbox/listbox_public_index.d.ts +4 -0
  169. package/listbox/package.json +6 -6
  170. package/menu/context-menu.d.ts +5 -0
  171. package/menu/index.d.ts +5 -3
  172. package/menu/menu-aim.d.ts +5 -0
  173. package/menu/menu-bar.d.ts +3 -0
  174. package/menu/menu-group.d.ts +3 -0
  175. package/menu/menu-item-checkbox.d.ts +3 -7
  176. package/menu/menu-item-radio.d.ts +3 -0
  177. package/menu/menu-item-selectable.d.ts +3 -0
  178. package/menu/menu-item-trigger.d.ts +3 -0
  179. package/menu/menu-item.d.ts +3 -0
  180. package/menu/menu-module.d.ts +15 -7
  181. package/menu/menu-panel.d.ts +3 -0
  182. package/menu/menu.d.ts +3 -0
  183. package/menu/menu_public_index.d.ts +4 -0
  184. package/menu/package.json +6 -6
  185. package/package.json +94 -8
  186. package/popover-edit/edit-event-dispatcher.d.ts +3 -0
  187. package/popover-edit/edit-ref.d.ts +3 -0
  188. package/popover-edit/edit-services.d.ts +3 -0
  189. package/popover-edit/focus-dispatcher.d.ts +3 -0
  190. package/popover-edit/focus-escape-notifier.d.ts +3 -0
  191. package/popover-edit/index.d.ts +5 -3
  192. package/popover-edit/lens-directives.d.ts +7 -0
  193. package/popover-edit/package.json +6 -6
  194. package/popover-edit/popover-edit-module.d.ts +7 -7
  195. package/popover-edit/popover-edit-position-strategy-factory.d.ts +5 -0
  196. package/popover-edit/popover-edit_public_index.d.ts +4 -0
  197. package/popover-edit/table-directives.d.ts +11 -0
  198. package/scrolling/auto-size-virtual-scroll.d.ts +3 -0
  199. package/scrolling/index.d.ts +5 -1
  200. package/scrolling/package.json +6 -6
  201. package/scrolling/scrolling-module.d.ts +5 -7
  202. package/scrolling/scrolling_public_index.d.ts +4 -0
  203. package/selection/index.d.ts +5 -1
  204. package/selection/package.json +6 -6
  205. package/selection/row-selection.d.ts +3 -0
  206. package/selection/select-all.d.ts +3 -0
  207. package/selection/selection-column.d.ts +3 -0
  208. package/selection/selection-module.d.ts +11 -7
  209. package/selection/selection-toggle.d.ts +3 -0
  210. package/selection/selection.d.ts +3 -0
  211. package/selection/selection_public_index.d.ts +4 -0
  212. package/table-scroll-container/index.d.ts +5 -1
  213. package/table-scroll-container/package.json +6 -6
  214. package/table-scroll-container/table-scroll-container-module.d.ts +5 -7
  215. package/table-scroll-container/table-scroll-container.d.ts +3 -0
  216. package/table-scroll-container/table-scroll-container_public_index.d.ts +4 -0
  217. package/bundles/cdk-experimental-column-resize.umd.js +0 -1324
  218. package/bundles/cdk-experimental-column-resize.umd.js.map +0 -1
  219. package/bundles/cdk-experimental-combobox.umd.js +0 -443
  220. package/bundles/cdk-experimental-combobox.umd.js.map +0 -1
  221. package/bundles/cdk-experimental-dialog.umd.js +0 -1113
  222. package/bundles/cdk-experimental-dialog.umd.js.map +0 -1
  223. package/bundles/cdk-experimental-listbox.umd.js +0 -935
  224. package/bundles/cdk-experimental-listbox.umd.js.map +0 -1
  225. package/bundles/cdk-experimental-menu.umd.js +0 -2461
  226. package/bundles/cdk-experimental-menu.umd.js.map +0 -1
  227. package/bundles/cdk-experimental-popover-edit.umd.js +0 -1679
  228. package/bundles/cdk-experimental-popover-edit.umd.js.map +0 -1
  229. package/bundles/cdk-experimental-scrolling.umd.js +0 -459
  230. package/bundles/cdk-experimental-scrolling.umd.js.map +0 -1
  231. package/bundles/cdk-experimental-selection.umd.js +0 -961
  232. package/bundles/cdk-experimental-selection.umd.js.map +0 -1
  233. package/bundles/cdk-experimental-table-scroll-container.umd.js +0 -499
  234. package/bundles/cdk-experimental-table-scroll-container.umd.js.map +0 -1
  235. package/bundles/cdk-experimental.umd.js +0 -38
  236. package/bundles/cdk-experimental.umd.js.map +0 -1
  237. package/column-resize/index.metadata.json +0 -1
  238. package/combobox/index.metadata.json +0 -1
  239. package/dialog/index.metadata.json +0 -1
  240. package/esm2015/cdk-experimental.externs.js +0 -0
  241. package/esm2015/column-resize/column-resize-directives/column-resize-flex.js +0 -46
  242. package/esm2015/column-resize/column-resize-directives/column-resize.js +0 -46
  243. package/esm2015/column-resize/column-resize-directives/default-enabled-column-resize-flex.js +0 -46
  244. package/esm2015/column-resize/column-resize-directives/default-enabled-column-resize.js +0 -46
  245. package/esm2015/column-resize/column-resize-module.js +0 -37
  246. package/esm2015/column-resize/column-resize-notifier.js +0 -45
  247. package/esm2015/column-resize/column-resize.externs.js +0 -6
  248. package/esm2015/column-resize/column-resize.js +0 -71
  249. package/esm2015/column-resize/column-size-store.js +0 -17
  250. package/esm2015/column-resize/event-dispatcher.js +0 -70
  251. package/esm2015/column-resize/index.js +0 -6
  252. package/esm2015/column-resize/overlay-handle.js +0 -139
  253. package/esm2015/column-resize/resizable.js +0 -185
  254. package/esm2015/column-resize/resize-strategy.js +0 -227
  255. package/esm2015/combobox/combobox-module.js +0 -23
  256. package/esm2015/combobox/combobox-panel.js +0 -55
  257. package/esm2015/combobox/combobox-popup.js +0 -74
  258. package/esm2015/combobox/combobox.externs.js +0 -6
  259. package/esm2015/combobox/combobox.js +0 -248
  260. package/esm2015/combobox/index.js +0 -5
  261. package/esm2015/dialog/dialog-container.js +0 -289
  262. package/esm2015/dialog/dialog-injectors.js +0 -30
  263. package/esm2015/dialog/dialog-module.js +0 -47
  264. package/esm2015/dialog/dialog-ref.js +0 -115
  265. package/esm2015/dialog/dialog.externs.js +0 -6
  266. package/esm2015/dialog/dialog.js +0 -238
  267. package/esm2015/dialog/index.js +0 -5
  268. package/esm2015/listbox/index.js +0 -5
  269. package/esm2015/listbox/listbox-module.js +0 -19
  270. package/esm2015/listbox/listbox.externs.js +0 -6
  271. package/esm2015/listbox/listbox.js +0 -481
  272. package/esm2015/menu/context-menu.js +0 -280
  273. package/esm2015/menu/index.js +0 -6
  274. package/esm2015/menu/menu-aim.js +0 -195
  275. package/esm2015/menu/menu-bar.js +0 -252
  276. package/esm2015/menu/menu-group.js +0 -63
  277. package/esm2015/menu/menu-item-checkbox.js +0 -41
  278. package/esm2015/menu/menu-item-radio.js +0 -73
  279. package/esm2015/menu/menu-item-selectable.js +0 -51
  280. package/esm2015/menu/menu-item-trigger.js +0 -354
  281. package/esm2015/menu/menu-item.js +0 -253
  282. package/esm2015/menu/menu-module.js +0 -41
  283. package/esm2015/menu/menu-panel.js +0 -37
  284. package/esm2015/menu/menu.externs.js +0 -6
  285. package/esm2015/menu/menu.js +0 -293
  286. package/esm2015/popover-edit/edit-event-dispatcher.js +0 -215
  287. package/esm2015/popover-edit/edit-ref.js +0 -82
  288. package/esm2015/popover-edit/edit-services.js +0 -49
  289. package/esm2015/popover-edit/focus-dispatcher.js +0 -83
  290. package/esm2015/popover-edit/focus-escape-notifier.js +0 -64
  291. package/esm2015/popover-edit/index.js +0 -7
  292. package/esm2015/popover-edit/lens-directives.js +0 -199
  293. package/esm2015/popover-edit/polyfill.js +0 -35
  294. package/esm2015/popover-edit/popover-edit-module.js +0 -38
  295. package/esm2015/popover-edit/popover-edit-position-strategy-factory.js +0 -70
  296. package/esm2015/popover-edit/popover-edit.externs.js +0 -6
  297. package/esm2015/popover-edit/table-directives.js +0 -390
  298. package/esm2015/scrolling/auto-size-virtual-scroll.js +0 -403
  299. package/esm2015/scrolling/index.js +0 -5
  300. package/esm2015/scrolling/scrolling-module.js +0 -18
  301. package/esm2015/scrolling/scrolling.externs.js +0 -6
  302. package/esm2015/selection/index.js +0 -5
  303. package/esm2015/selection/row-selection.js +0 -41
  304. package/esm2015/selection/select-all.js +0 -96
  305. package/esm2015/selection/selection-column.js +0 -93
  306. package/esm2015/selection/selection-module.js +0 -40
  307. package/esm2015/selection/selection-toggle.js +0 -82
  308. package/esm2015/selection/selection.externs.js +0 -6
  309. package/esm2015/selection/selection.js +0 -176
  310. package/esm2015/table-scroll-container/index.js +0 -5
  311. package/esm2015/table-scroll-container/table-scroll-container-module.js +0 -18
  312. package/esm2015/table-scroll-container/table-scroll-container.externs.js +0 -6
  313. package/esm2015/table-scroll-container/table-scroll-container.js +0 -133
  314. package/fesm2015/cdk-experimental.js.map +0 -1
  315. package/fesm2015/column-resize.js.map +0 -1
  316. package/fesm2015/combobox.js.map +0 -1
  317. package/fesm2015/dialog.js.map +0 -1
  318. package/fesm2015/listbox.js.map +0 -1
  319. package/fesm2015/menu.js.map +0 -1
  320. package/fesm2015/popover-edit.js.map +0 -1
  321. package/fesm2015/scrolling.js.map +0 -1
  322. package/fesm2015/selection.js.map +0 -1
  323. package/fesm2015/table-scroll-container.js.map +0 -1
  324. package/listbox/index.metadata.json +0 -1
  325. package/menu/index.metadata.json +0 -1
  326. package/popover-edit/index.metadata.json +0 -1
  327. package/scrolling/index.metadata.json +0 -1
  328. package/selection/index.metadata.json +0 -1
  329. package/table-scroll-container/index.metadata.json +0 -1
@@ -0,0 +1,210 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { Subject } from 'rxjs';
9
+ import { Directive, ElementRef, EventEmitter, Input, HostListener, } from '@angular/core';
10
+ import { hasModifierKey } from '@angular/cdk/keycodes';
11
+ import { EDIT_PANE_SELECTOR } from './constants';
12
+ import { closest } from './polyfill';
13
+ import { EditRef } from './edit-ref';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "./edit-ref";
16
+ /**
17
+ * A directive that attaches to a form within the edit lens.
18
+ * It coordinates the form state with the table-wide edit system and handles
19
+ * closing the edit lens when the form is submitted or the user clicks
20
+ * out.
21
+ */
22
+ export class CdkEditControl {
23
+ constructor(elementRef, editRef) {
24
+ this.elementRef = elementRef;
25
+ this.editRef = editRef;
26
+ this.destroyed = new Subject();
27
+ /**
28
+ * Specifies what should happen when the user clicks outside of the edit lens.
29
+ * The default behavior is to close the lens without submitting the form.
30
+ */
31
+ this.clickOutBehavior = 'close';
32
+ this.preservedFormValueChange = new EventEmitter();
33
+ /**
34
+ * Determines whether the lens will close on form submit if the form is not in a valid
35
+ * state. By default the lens will remain open.
36
+ */
37
+ this.ignoreSubmitUnlessValid = true;
38
+ }
39
+ ngOnInit() {
40
+ this.editRef.init(this.preservedFormValue);
41
+ this.editRef.finalValue.subscribe(this.preservedFormValueChange);
42
+ this.editRef.blurred.subscribe(() => this._handleBlur());
43
+ }
44
+ ngOnDestroy() {
45
+ this.destroyed.next();
46
+ this.destroyed.complete();
47
+ }
48
+ /**
49
+ * Called when the form submits. If ignoreSubmitUnlessValid is true, checks
50
+ * the form for validity before proceeding.
51
+ * Updates the revert state with the latest submitted value then closes the edit.
52
+ */
53
+ // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order
54
+ // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we
55
+ // can move this back into `host`.
56
+ // tslint:disable-next-line:no-host-decorator-in-concrete
57
+ handleFormSubmit() {
58
+ if (this.ignoreSubmitUnlessValid && !this.editRef.isValid()) {
59
+ return;
60
+ }
61
+ this.editRef.updateRevertValue();
62
+ this.editRef.close();
63
+ }
64
+ /** Called on Escape keyup. Closes the edit. */
65
+ close() {
66
+ // todo - allow this behavior to be customized as well, such as calling
67
+ // reset before close
68
+ this.editRef.close();
69
+ }
70
+ /**
71
+ * Called on click anywhere in the document.
72
+ * If the click was outside of the lens, trigger the specified click out behavior.
73
+ */
74
+ // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order
75
+ // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we
76
+ // can move this back into `host`.
77
+ // tslint:disable-next-line:no-host-decorator-in-concrete
78
+ handlePossibleClickOut(evt) {
79
+ if (closest(evt.target, EDIT_PANE_SELECTOR)) {
80
+ return;
81
+ }
82
+ switch (this.clickOutBehavior) {
83
+ case 'submit':
84
+ // Manually cause the form to submit before closing.
85
+ this._triggerFormSubmit();
86
+ this.editRef.close();
87
+ break;
88
+ case 'close':
89
+ this.editRef.close();
90
+ break;
91
+ default:
92
+ break;
93
+ }
94
+ }
95
+ // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order
96
+ // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we
97
+ // can move this back into `host`.
98
+ // tslint:disable-next-line:no-host-decorator-in-concrete
99
+ _handleKeydown(event) {
100
+ if (event.key === 'Escape' && !hasModifierKey(event)) {
101
+ this.close();
102
+ event.preventDefault();
103
+ }
104
+ }
105
+ /** Triggers submit on tab out if clickOutBehavior is 'submit'. */
106
+ _handleBlur() {
107
+ if (this.clickOutBehavior === 'submit') {
108
+ // Manually cause the form to submit before closing.
109
+ this._triggerFormSubmit();
110
+ }
111
+ }
112
+ _triggerFormSubmit() {
113
+ this.elementRef.nativeElement.dispatchEvent(new Event('submit'));
114
+ }
115
+ }
116
+ CdkEditControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkEditControl, deps: [{ token: i0.ElementRef }, { token: i1.EditRef }], target: i0.ɵɵFactoryTarget.Directive });
117
+ CdkEditControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkEditControl, selector: "form[cdkEditControl]", inputs: { clickOutBehavior: ["cdkEditControlClickOutBehavior", "clickOutBehavior"], preservedFormValue: ["cdkEditControlPreservedFormValue", "preservedFormValue"], ignoreSubmitUnlessValid: ["cdkEditControlIgnoreSubmitUnlessValid", "ignoreSubmitUnlessValid"] }, outputs: { preservedFormValueChange: "cdkEditControlPreservedFormValueChange" }, host: { listeners: { "ngSubmit": "handleFormSubmit()", "document:click": "handlePossibleClickOut($event)", "keydown": "_handleKeydown($event)" } }, providers: [EditRef], ngImport: i0 });
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkEditControl, decorators: [{
119
+ type: Directive,
120
+ args: [{
121
+ selector: 'form[cdkEditControl]',
122
+ inputs: [
123
+ 'clickOutBehavior: cdkEditControlClickOutBehavior',
124
+ 'preservedFormValue: cdkEditControlPreservedFormValue',
125
+ 'ignoreSubmitUnlessValid: cdkEditControlIgnoreSubmitUnlessValid',
126
+ ],
127
+ outputs: ['preservedFormValueChange: cdkEditControlPreservedFormValueChange'],
128
+ providers: [EditRef],
129
+ }]
130
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.EditRef }]; }, propDecorators: { handleFormSubmit: [{
131
+ type: HostListener,
132
+ args: ['ngSubmit']
133
+ }], handlePossibleClickOut: [{
134
+ type: HostListener,
135
+ args: ['document:click', ['$event']]
136
+ }], _handleKeydown: [{
137
+ type: HostListener,
138
+ args: ['keydown', ['$event']]
139
+ }] } });
140
+ /** Reverts the form to its initial or previously submitted state on click. */
141
+ export class CdkEditRevert {
142
+ constructor(editRef) {
143
+ this.editRef = editRef;
144
+ /** Type of the button. Defaults to `button` to avoid accident form submits. */
145
+ this.type = 'button';
146
+ }
147
+ // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order
148
+ // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we
149
+ // can move this back into `host`.
150
+ // tslint:disable-next-line:no-host-decorator-in-concrete
151
+ revertEdit() {
152
+ this.editRef.reset();
153
+ }
154
+ }
155
+ CdkEditRevert.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkEditRevert, deps: [{ token: i1.EditRef }], target: i0.ɵɵFactoryTarget.Directive });
156
+ CdkEditRevert.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkEditRevert, selector: "button[cdkEditRevert]", inputs: { type: "type" }, host: { attributes: { "type": "button" }, listeners: { "click": "revertEdit()" } }, ngImport: i0 });
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkEditRevert, decorators: [{
158
+ type: Directive,
159
+ args: [{
160
+ selector: 'button[cdkEditRevert]',
161
+ host: {
162
+ 'type': 'button', // Prevents accidental form submits.
163
+ },
164
+ }]
165
+ }], ctorParameters: function () { return [{ type: i1.EditRef }]; }, propDecorators: { type: [{
166
+ type: Input
167
+ }], revertEdit: [{
168
+ type: HostListener,
169
+ args: ['click']
170
+ }] } });
171
+ /** Closes the lens on click. */
172
+ export class CdkEditClose {
173
+ constructor(elementRef, editRef) {
174
+ this.elementRef = elementRef;
175
+ this.editRef = editRef;
176
+ const nativeElement = elementRef.nativeElement;
177
+ // Prevent accidental form submits.
178
+ if (nativeElement.nodeName === 'BUTTON' && !nativeElement.getAttribute('type')) {
179
+ nativeElement.setAttribute('type', 'button');
180
+ }
181
+ }
182
+ // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order
183
+ // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we
184
+ // can move this back into `host`.
185
+ // tslint:disable-next-line:no-host-decorator-in-concrete
186
+ closeEdit() {
187
+ // Note that we use `click` here, rather than a keyboard event, because some screen readers
188
+ // will emit a fake click event instead of an enter keyboard event on buttons. For the keyboard
189
+ // events we use `keydown`, rather than `keyup`, because we use `keydown` to open the overlay
190
+ // as well. If we were to use `keyup`, the user could end up opening and closing within
191
+ // the same event sequence if focus was moved quickly.
192
+ this.editRef.close();
193
+ }
194
+ }
195
+ CdkEditClose.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkEditClose, deps: [{ token: i0.ElementRef }, { token: i1.EditRef }], target: i0.ɵɵFactoryTarget.Directive });
196
+ CdkEditClose.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkEditClose, selector: "[cdkEditClose]", host: { listeners: { "click": "closeEdit()", "keydown.enter": "closeEdit()", "keydown.space": "closeEdit()" } }, ngImport: i0 });
197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkEditClose, decorators: [{
198
+ type: Directive,
199
+ args: [{ selector: '[cdkEditClose]' }]
200
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.EditRef }]; }, propDecorators: { closeEdit: [{
201
+ type: HostListener,
202
+ args: ['click']
203
+ }, {
204
+ type: HostListener,
205
+ args: ['keydown.enter']
206
+ }, {
207
+ type: HostListener,
208
+ args: ['keydown.space']
209
+ }] } });
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVucy1kaXJlY3RpdmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay1leHBlcmltZW50YWwvcG9wb3Zlci1lZGl0L2xlbnMtZGlyZWN0aXZlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFHWixLQUFLLEVBQ0wsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sWUFBWSxDQUFDOzs7QUFLbkM7Ozs7O0dBS0c7QUFXSCxNQUFNLE9BQU8sY0FBYztJQXVCekIsWUFBK0IsVUFBc0IsRUFBVyxPQUEyQjtRQUE1RCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVcsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUF0QnhFLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRW5EOzs7V0FHRztRQUNILHFCQUFnQixHQUFnQyxPQUFPLENBQUM7UUFRL0MsNkJBQXdCLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUVsRTs7O1dBR0c7UUFDSCw0QkFBdUIsR0FBRyxJQUFJLENBQUM7SUFFK0QsQ0FBQztJQUUvRixRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFD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RCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLENBQUM7O2lIQTdCVSxZQUFZO3FHQUFaLFlBQVk7bUdBQVosWUFBWTtrQkFEeEIsU0FBUzttQkFBQyxFQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQzt1SEF1QnJDLFNBQVM7c0JBTFIsWUFBWTt1QkFBQyxPQUFPOztzQkFFcEIsWUFBWTt1QkFBQyxlQUFlOztzQkFFNUIsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBIb3N0TGlzdGVuZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtoYXNNb2RpZmllcktleX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7RURJVF9QQU5FX1NFTEVDVE9SfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQge2Nsb3Nlc3R9IGZyb20gJy4vcG9seWZpbGwnO1xuaW1wb3J0IHtFZGl0UmVmfSBmcm9tICcuL2VkaXQtcmVmJztcblxuLyoqIE9wdGlvbnMgZm9yIHdoYXQgZG8gdG8gd2hlbiB0aGUgdXNlciBjbGlja3Mgb3V0c2lkZSBvZiBhbiBlZGl0IGxlbnMuICovXG5leHBvcnQgdHlwZSBQb3BvdmVyRWRpdENsaWNrT3V0QmVoYXZpb3IgPSAnY2xvc2UnIHwgJ3N1Ym1pdCcgfCAnbm9vcCc7XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgdGhhdCBhdHRhY2hlcyB0byBhIGZvcm0gd2l0aGluIHRoZSBlZGl0IGxlbnMuXG4gKiBJdCBjb29yZGluYXRlcyB0aGUgZm9ybSBzdGF0ZSB3aXRoIHRoZSB0YWJsZS13aWRlIGVkaXQgc3lzdGVtIGFuZCBoYW5kbGVzXG4gKiBjbG9zaW5nIHRoZSBlZGl0IGxlbnMgd2hlbiB0aGUgZm9ybSBpcyBzdWJtaXR0ZWQgb3IgdGhlIHVzZXIgY2xpY2tzXG4gKiBvdXQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2Zvcm1bY2RrRWRpdENvbnRyb2xdJyxcbiAgaW5wdXRzOiBbXG4gICAgJ2NsaWNrT3V0QmVoYXZpb3I6IGNka0VkaXRDb250cm9sQ2xpY2tPdXRCZWhhdmlvcicsXG4gICAgJ3ByZXNlcnZlZEZvcm1WYWx1ZTogY2RrRWRpdENvbnRyb2xQcmVzZXJ2ZWRGb3JtVmFsdWUnLFxuICAgICdpZ25vcmVTdWJtaXRVbmxlc3NWYWxpZDogY2RrRWRpdENvbnRyb2xJZ25vcmVTdWJtaXRVbmxlc3NWYWxpZCcsXG4gIF0sXG4gIG91dHB1dHM6IFsncHJlc2VydmVkRm9ybVZhbHVlQ2hhbmdlOiBjZGtFZGl0Q29udHJvbFByZXNlcnZlZEZvcm1WYWx1ZUNoYW5nZSddLFxuICBwcm92aWRlcnM6IFtFZGl0UmVmXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2RrRWRpdENvbnRyb2w8Rm9ybVZhbHVlPiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGF0IHNob3VsZCBoYXBwZW4gd2hlbiB0aGUgdXNlciBjbGlja3Mgb3V0c2lkZSBvZiB0aGUgZWRpdCBsZW5zLlxuICAgKiBUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBjbG9zZSB0aGUgbGVucyB3aXRob3V0IHN1Ym1pdHRpbmcgdGhlIGZvcm0uXG4gICAqL1xuICBjbGlja091dEJlaGF2aW9yOiBQb3BvdmVyRWRpdENsaWNrT3V0QmVoYXZpb3IgPSAnY2xvc2UnO1xuXG4gIC8qKlxuICAgKiBBIHR3by13YXkgYmluZGluZyBmb3Igc3RvcmluZyB1bnN1Ym1pdHRlZCBmb3JtIHN0YXRlLiBJZiBub3QgcHJvdmlkZWRcbiAgICogdGhlbiBmb3JtIHN0YXRlIHdpbGwgYmUgZGlzY2FyZGVkIG9uIGNsb3NlLiBUaGUgUGVyaXN0QnkgZGlyZWN0aXZlIGlzIG9mZmVyZWRcbiAgICogYXMgYSBjb252ZW5pZW50IHNob3J0Y3V0IGZvciB0aGVzZSBiaW5kaW5ncy5cbiAgICovXG4gIHByZXNlcnZlZEZvcm1WYWx1ZT86IEZvcm1WYWx1ZTtcbiAgcmVhZG9ubHkgcHJlc2VydmVkRm9ybVZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtVmFsdWU+KCk7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGUgbGVucyB3aWxsIGNsb3NlIG9uIGZvcm0gc3VibWl0IGlmIHRoZSBmb3JtIGlzIG5vdCBpbiBhIHZhbGlkXG4gICAqIHN0YXRlLiBCeSBkZWZhdWx0IHRoZSBsZW5zIHdpbGwgcmVtYWluIG9wZW4uXG4gICAqL1xuICBpZ25vcmVTdWJtaXRVbmxlc3NWYWxpZCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHJlYWRvbmx5IGVkaXRSZWY6IEVkaXRSZWY8Rm9ybVZhbHVlPikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmVkaXRSZWYuaW5pdCh0aGlzLnByZXNlcnZlZEZvcm1WYWx1ZSk7XG4gICAgdGhpcy5lZGl0UmVmLmZpbmFsVmFsdWUuc3Vic2NyaWJlKHRoaXMucHJlc2VydmVkRm9ybVZhbHVlQ2hhbmdlKTtcbiAgICB0aGlzLmVkaXRSZWYuYmx1cnJlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5faGFuZGxlQmx1cigpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBmb3JtIHN1Ym1pdHMuIElmIGlnbm9yZVN1Ym1pdFVubGVzc1ZhbGlkIGlzIHRydWUsIGNoZWNrc1xuICAgKiB0aGUgZm9ybSBmb3IgdmFsaWRpdHkgYmVmb3JlIHByb2NlZWRpbmcuXG4gICAqIFVwZGF0ZXMgdGhlIHJldmVydCBzdGF0ZSB3aXRoIHRoZSBsYXRlc3Qgc3VibWl0dGVkIHZhbHVlIHRoZW4gY2xvc2VzIHRoZSBlZGl0LlxuICAgKi9cbiAgLy8gSW4gSXZ5IHRoZSBgaG9zdGAgbWV0YWRhdGEgd2lsbCBiZSBtZXJnZWQsIHdoZXJlYXMgaW4gVmlld0VuZ2luZSBpdCBpcyBvdmVycmlkZGVuLiBJbiBvcmRlclxuICAvLyB0byBhdm9pZCBkb3VibGUgZXZlbnQgbGlzdGVuZXJzLCB3ZSBuZWVkIHRvIHVzZSBgSG9zdExpc3RlbmVyYC4gT25jZSBJdnkgaXMgdGhlIGRlZmF1bHQsIHdlXG4gIC8vIGNhbiBtb3ZlIHRoaXMgYmFjayBpbnRvIGBob3N0YC5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWhvc3QtZGVjb3JhdG9yLWluLWNvbmNyZXRlXG4gIEBIb3N0TGlzdGVuZXIoJ25nU3VibWl0JylcbiAgaGFuZGxlRm9ybVN1Ym1pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pZ25vcmVTdWJtaXRVbmxlc3NWYWxpZCAmJiAhdGhpcy5lZGl0UmVmLmlzVmFsaWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZWRpdFJlZi51cGRhdGVSZXZlcnRWYWx1ZSgpO1xuICAgIHRoaXMuZWRpdFJlZi5jbG9zZSgpO1xuICB9XG5cbiAgLyoqIENhbGxlZCBvbiBFc2NhcGUga2V5dXAuIENsb3NlcyB0aGUgZWRpdC4gKi9cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgLy8gdG9kbyAtIGFsbG93IHRoaXMgYmVoYXZpb3IgdG8gYmUgY3VzdG9taXplZCBhcyB3ZWxsLCBzdWNoIGFzIGNhbGxpbmdcbiAgICAvLyByZXNldCBiZWZvcmUgY2xvc2VcbiAgICB0aGlzLmVkaXRSZWYuY2xvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgb24gY2xpY2sgYW55d2hlcmUgaW4gdGhlIGRvY3VtZW50LlxuICAgKiBJZiB0aGUgY2xpY2sgd2FzIG91dHNpZGUgb2YgdGhlIGxlbnMsIHRyaWdnZXIgdGhlIHNwZWNpZmllZCBjbGljayBvdXQgYmVoYXZpb3IuXG4gICAqL1xuICAvLyBJbiBJdnkgdGhlIGBob3N0YCBtZXRhZGF0YSB3aWxsIGJlIG1lcmdlZCwgd2hlcmVhcyBpbiBWaWV3RW5naW5lIGl0IGlzIG92ZXJyaWRkZW4uIEluIG9yZGVyXG4gIC8vIHRvIGF2b2lkIGRvdWJsZSBldmVudCBsaXN0ZW5lcnMsIHdlIG5lZWQgdG8gdXNlIGBIb3N0TGlzdGVuZXJgLiBPbmNlIEl2eSBpcyB0aGUgZGVmYXVsdCwgd2VcbiAgLy8gY2FuIG1vdmUgdGhpcyBiYWNrIGludG8gYGhvc3RgLlxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taG9zdC1kZWNvcmF0b3ItaW4tY29uY3JldGVcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxuICBoYW5kbGVQb3NzaWJsZUNsaWNrT3V0KGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoY2xvc2VzdChldnQudGFyZ2V0LCBFRElUX1BBTkVfU0VMRUNUT1IpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHN3aXRjaCAodGhpcy5jbGlja091dEJlaGF2aW9yKSB7XG4gICAgICBjYXNlICdzdWJtaXQnOlxuICAgICAgICAvLyBNYW51YWxseSBjYXVzZSB0aGUgZm9ybSB0byBzdWJtaXQgYmVmb3JlIGNsb3NpbmcuXG4gICAgICAgIHRoaXMuX3RyaWdnZXJGb3JtU3VibWl0KCk7XG4gICAgICAgIHRoaXMuZWRpdFJlZi5jbG9zZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Nsb3NlJzpcbiAgICAgICAgdGhpcy5lZGl0UmVmLmNsb3NlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLy8gSW4gSXZ5IHRoZSBgaG9zdGAgbWV0YWRhdGEgd2lsbCBiZSBtZXJnZWQsIHdoZXJlYXMgaW4gVmlld0VuZ2luZSBpdCBpcyBvdmVycmlkZGVuLiBJbiBvcmRlclxuICAvLyB0byBhdm9pZCBkb3VibGUgZXZlbnQgbGlzdGVuZXJzLCB3ZSBuZWVkIHRvIHVzZSBgSG9zdExpc3RlbmVyYC4gT25jZSBJdnkgaXMgdGhlIGRlZmF1bHQsIHdlXG4gIC8vIGNhbiBtb3ZlIHRoaXMgYmFjayBpbnRvIGBob3N0YC5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWhvc3QtZGVjb3JhdG9yLWluLWNvbmNyZXRlXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBfaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnICYmICFoYXNNb2RpZmllcktleShldmVudCkpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFRyaWdnZXJzIHN1Ym1pdCBvbiB0YWIgb3V0IGlmIGNsaWNrT3V0QmVoYXZpb3IgaXMgJ3N1Ym1pdCcuICovXG4gIHByaXZhdGUgX2hhbmRsZUJsdXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xpY2tPdXRCZWhhdmlvciA9PT0gJ3N1Ym1pdCcpIHtcbiAgICAgIC8vIE1hbnVhbGx5IGNhdXNlIHRoZSBmb3JtIHRvIHN1Ym1pdCBiZWZvcmUgY2xvc2luZy5cbiAgICAgIHRoaXMuX3RyaWdnZXJGb3JtU3VibWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdHJpZ2dlckZvcm1TdWJtaXQoKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQhLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdzdWJtaXQnKSk7XG4gIH1cbn1cblxuLyoqIFJldmVydHMgdGhlIGZvcm0gdG8gaXRzIGluaXRpYWwgb3IgcHJldmlvdXNseSBzdWJtaXR0ZWQgc3RhdGUgb24gY2xpY2suICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdidXR0b25bY2RrRWRpdFJldmVydF0nLFxuICBob3N0OiB7XG4gICAgJ3R5cGUnOiAnYnV0dG9uJywgLy8gUHJldmVudHMgYWNjaWRlbnRhbCBmb3JtIHN1Ym1pdHMuXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENka0VkaXRSZXZlcnQ8Rm9ybVZhbHVlPiB7XG4gIC8qKiBUeXBlIG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIGBidXR0b25gIHRvIGF2b2lkIGFjY2lkZW50IGZvcm0gc3VibWl0cy4gKi9cbiAgQElucHV0KCkgdHlwZTogc3RyaW5nID0gJ2J1dHRvbic7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IGVkaXRSZWY6IEVkaXRSZWY8Rm9ybVZhbHVlPikge31cblxuICAvLyBJbiBJdnkgdGhlIGBob3N0YCBtZXRhZGF0YSB3aWxsIGJlIG1lcmdlZCwgd2hlcmVhcyBpbiBWaWV3RW5naW5lIGl0IGlzIG92ZXJyaWRkZW4uIEluIG9yZGVyXG4gIC8vIHRvIGF2b2lkIGRvdWJsZSBldmVudCBsaXN0ZW5lcnMsIHdlIG5lZWQgdG8gdXNlIGBIb3N0TGlzdGVuZXJgLiBPbmNlIEl2eSBpcyB0aGUgZGVmYXVsdCwgd2VcbiAgLy8gY2FuIG1vdmUgdGhpcyBiYWNrIGludG8gYGhvc3RgLlxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taG9zdC1kZWNvcmF0b3ItaW4tY29uY3JldGVcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICByZXZlcnRFZGl0KCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdFJlZi5yZXNldCgpO1xuICB9XG59XG5cbi8qKiBDbG9zZXMgdGhlIGxlbnMgb24gY2xpY2suICovXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ1tjZGtFZGl0Q2xvc2VdJ30pXG5leHBvcnQgY2xhc3MgQ2RrRWRpdENsb3NlPEZvcm1WYWx1ZT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVkaXRSZWY6IEVkaXRSZWY8Rm9ybVZhbHVlPixcbiAgKSB7XG4gICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIC8vIFByZXZlbnQgYWNjaWRlbnRhbCBmb3JtIHN1Ym1pdHMuXG4gICAgaWYgKG5hdGl2ZUVsZW1lbnQubm9kZU5hbWUgPT09ICdCVVRUT04nICYmICFuYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgndHlwZScpKSB7XG4gICAgICBuYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgndHlwZScsICdidXR0b24nKTtcbiAgICB9XG4gIH1cblxuICAvLyBJbiBJdnkgdGhlIGBob3N0YCBtZXRhZGF0YSB3aWxsIGJlIG1lcmdlZCwgd2hlcmVhcyBpbiBWaWV3RW5naW5lIGl0IGlzIG92ZXJyaWRkZW4uIEluIG9yZGVyXG4gIC8vIHRvIGF2b2lkIGRvdWJsZSBldmVudCBsaXN0ZW5lcnMsIHdlIG5lZWQgdG8gdXNlIGBIb3N0TGlzdGVuZXJgLiBPbmNlIEl2eSBpcyB0aGUgZGVmYXVsdCwgd2VcbiAgLy8gY2FuIG1vdmUgdGhpcyBiYWNrIGludG8gYGhvc3RgLlxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taG9zdC1kZWNvcmF0b3ItaW4tY29uY3JldGVcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taG9zdC1kZWNvcmF0b3ItaW4tY29uY3JldGVcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicpXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1ob3N0LWRlY29yYXRvci1pbi1jb25jcmV0ZVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnNwYWNlJylcbiAgY2xvc2VFZGl0KCk6IHZvaWQge1xuICAgIC8vIE5vdGUgdGhhdCB3ZSB1c2UgYGNsaWNrYCBoZXJlLCByYXRoZXIgdGhhbiBhIGtleWJvYXJkIGV2ZW50LCBiZWNhdXNlIHNvbWUgc2NyZWVuIHJlYWRlcnNcbiAgICAvLyB3aWxsIGVtaXQgYSBmYWtlIGNsaWNrIGV2ZW50IGluc3RlYWQgb2YgYW4gZW50ZXIga2V5Ym9hcmQgZXZlbnQgb24gYnV0dG9ucy4gRm9yIHRoZSBrZXlib2FyZFxuICAgIC8vIGV2ZW50cyB3ZSB1c2UgYGtleWRvd25gLCByYXRoZXIgdGhhbiBga2V5dXBgLCBiZWNhdXNlIHdlIHVzZSBga2V5ZG93bmAgdG8gb3BlbiB0aGUgb3ZlcmxheVxuICAgIC8vIGFzIHdlbGwuIElmIHdlIHdlcmUgdG8gdXNlIGBrZXl1cGAsIHRoZSB1c2VyIGNvdWxkIGVuZCB1cCBvcGVuaW5nIGFuZCBjbG9zaW5nIHdpdGhpblxuICAgIC8vIHRoZSBzYW1lIGV2ZW50IHNlcXVlbmNlIGlmIGZvY3VzIHdhcyBtb3ZlZCBxdWlja2x5LlxuICAgIHRoaXMuZWRpdFJlZi5jbG9zZSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ /** IE 11 compatible matches implementation. */
9
+ export function matches(element, selector) {
10
+ return element.matches
11
+ ? element.matches(selector)
12
+ : element['msMatchesSelector'](selector);
13
+ }
14
+ /** IE 11 compatible closest implementation that is able to start from non-Element Nodes. */
15
+ export function closest(element, selector) {
16
+ if (!(element instanceof Node)) {
17
+ return null;
18
+ }
19
+ let curr = element;
20
+ while (curr != null && !(curr instanceof Element)) {
21
+ curr = curr.parentNode;
22
+ }
23
+ return (curr &&
24
+ (hasNativeClosest
25
+ ? curr.closest(selector)
26
+ : polyfillClosest(curr, selector)));
27
+ }
28
+ /** Polyfill for browsers without Element.closest. */
29
+ function polyfillClosest(element, selector) {
30
+ let curr = element;
31
+ while (curr != null && !(curr instanceof Element && matches(curr, selector))) {
32
+ curr = curr.parentNode;
33
+ }
34
+ return (curr || null);
35
+ }
36
+ const hasNativeClosest = !!Element.prototype.closest;
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWZpbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrLWV4cGVyaW1lbnRhbC9wb3BvdmVyLWVkaXQvcG9seWZpbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsK0NBQStDO0FBQy9DLE1BQU0sVUFBVSxPQUFPLENBQUMsT0FBZ0IsRUFBRSxRQUFnQjtJQUN4RCxPQUFPLE9BQU8sQ0FBQyxPQUFPO1FBQ3BCLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUMzQixDQUFDLENBQUUsT0FBZSxDQUFDLG1CQUFtQixDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUVELDRGQUE0RjtBQUM1RixNQUFNLFVBQVUsT0FBTyxDQUNyQixPQUFpRCxFQUNqRCxRQUFnQjtJQUVoQixJQUFJLENBQUMsQ0FBQyxPQUFPLFlBQVksSUFBSSxDQUFDLEVBQUU7UUFDOUIsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQUksSUFBSSxHQUFnQixPQUFPLENBQUM7SUFDaEMsT0FBTyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLFlBQVksT0FBTyxDQUFDLEVBQUU7UUFDakQsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7S0FDeEI7SUFFRCxPQUFPLENBQ0wsSUFBSTtRQUNILENBQUMsZ0JBQWdCO1lBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUN4QixDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBb0IsQ0FDeEQsQ0FBQztBQUNKLENBQUM7QUFFRCxxREFBcUQ7QUFDckQsU0FBUyxlQUFlLENBQUMsT0FBZ0IsRUFBRSxRQUFnQjtJQUN6RCxJQUFJLElBQUksR0FBZ0IsT0FBTyxDQUFDO0lBQ2hDLE9BQU8sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxZQUFZLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUU7UUFDNUUsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7S0FDeEI7SUFFRCxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBbUIsQ0FBQztBQUMxQyxDQUFDO0FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLyoqIElFIDExIGNvbXBhdGlibGUgbWF0Y2hlcyBpbXBsZW1lbnRhdGlvbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaGVzKGVsZW1lbnQ6IEVsZW1lbnQsIHNlbGVjdG9yOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGVsZW1lbnQubWF0Y2hlc1xuICAgID8gZWxlbWVudC5tYXRjaGVzKHNlbGVjdG9yKVxuICAgIDogKGVsZW1lbnQgYXMgYW55KVsnbXNNYXRjaGVzU2VsZWN0b3InXShzZWxlY3Rvcik7XG59XG5cbi8qKiBJRSAxMSBjb21wYXRpYmxlIGNsb3Nlc3QgaW1wbGVtZW50YXRpb24gdGhhdCBpcyBhYmxlIHRvIHN0YXJ0IGZyb20gbm9uLUVsZW1lbnQgTm9kZXMuICovXG5leHBvcnQgZnVuY3Rpb24gY2xvc2VzdChcbiAgZWxlbWVudDogRXZlbnRUYXJnZXQgfCBFbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgc2VsZWN0b3I6IHN0cmluZyxcbik6IEVsZW1lbnQgfCBudWxsIHtcbiAgaWYgKCEoZWxlbWVudCBpbnN0YW5jZW9mIE5vZGUpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBsZXQgY3VycjogTm9kZSB8IG51bGwgPSBlbGVtZW50O1xuICB3aGlsZSAoY3VyciAhPSBudWxsICYmICEoY3VyciBpbnN0YW5jZW9mIEVsZW1lbnQpKSB7XG4gICAgY3VyciA9IGN1cnIucGFyZW50Tm9kZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgY3VyciAmJlxuICAgICgoaGFzTmF0aXZlQ2xvc2VzdFxuICAgICAgPyBjdXJyLmNsb3Nlc3Qoc2VsZWN0b3IpXG4gICAgICA6IHBvbHlmaWxsQ2xvc2VzdChjdXJyLCBzZWxlY3RvcikpIGFzIEVsZW1lbnQgfCBudWxsKVxuICApO1xufVxuXG4vKiogUG9seWZpbGwgZm9yIGJyb3dzZXJzIHdpdGhvdXQgRWxlbWVudC5jbG9zZXN0LiAqL1xuZnVuY3Rpb24gcG9seWZpbGxDbG9zZXN0KGVsZW1lbnQ6IEVsZW1lbnQsIHNlbGVjdG9yOiBzdHJpbmcpOiBFbGVtZW50IHwgbnVsbCB7XG4gIGxldCBjdXJyOiBOb2RlIHwgbnVsbCA9IGVsZW1lbnQ7XG4gIHdoaWxlIChjdXJyICE9IG51bGwgJiYgIShjdXJyIGluc3RhbmNlb2YgRWxlbWVudCAmJiBtYXRjaGVzKGN1cnIsIHNlbGVjdG9yKSkpIHtcbiAgICBjdXJyID0gY3Vyci5wYXJlbnROb2RlO1xuICB9XG5cbiAgcmV0dXJuIChjdXJyIHx8IG51bGwpIGFzIEVsZW1lbnQgfCBudWxsO1xufVxuXG5jb25zdCBoYXNOYXRpdmVDbG9zZXN0ID0gISFFbGVtZW50LnByb3RvdHlwZS5jbG9zZXN0O1xuIl19
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { NgModule } from '@angular/core';
9
+ import { OverlayModule } from '@angular/cdk/overlay';
10
+ import { CdkPopoverEdit, CdkPopoverEditTabOut, CdkRowHoverContent, CdkEditable, CdkEditOpen, } from './table-directives';
11
+ import { CdkEditControl, CdkEditRevert, CdkEditClose } from './lens-directives';
12
+ import { DefaultPopoverEditPositionStrategyFactory, PopoverEditPositionStrategyFactory, } from './popover-edit-position-strategy-factory';
13
+ import * as i0 from "@angular/core";
14
+ const EXPORTED_DECLARATIONS = [
15
+ CdkPopoverEdit,
16
+ CdkPopoverEditTabOut,
17
+ CdkRowHoverContent,
18
+ CdkEditControl,
19
+ CdkEditRevert,
20
+ CdkEditClose,
21
+ CdkEditable,
22
+ CdkEditOpen,
23
+ ];
24
+ export class CdkPopoverEditModule {
25
+ }
26
+ CdkPopoverEditModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkPopoverEditModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
27
+ CdkPopoverEditModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkPopoverEditModule, declarations: [CdkPopoverEdit,
28
+ CdkPopoverEditTabOut,
29
+ CdkRowHoverContent,
30
+ CdkEditControl,
31
+ CdkEditRevert,
32
+ CdkEditClose,
33
+ CdkEditable,
34
+ CdkEditOpen], imports: [OverlayModule], exports: [CdkPopoverEdit,
35
+ CdkPopoverEditTabOut,
36
+ CdkRowHoverContent,
37
+ CdkEditControl,
38
+ CdkEditRevert,
39
+ CdkEditClose,
40
+ CdkEditable,
41
+ CdkEditOpen] });
42
+ CdkPopoverEditModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkPopoverEditModule, providers: [
43
+ {
44
+ provide: PopoverEditPositionStrategyFactory,
45
+ useClass: DefaultPopoverEditPositionStrategyFactory,
46
+ },
47
+ ], imports: [[OverlayModule]] });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkPopoverEditModule, decorators: [{
49
+ type: NgModule,
50
+ args: [{
51
+ imports: [OverlayModule],
52
+ exports: EXPORTED_DECLARATIONS,
53
+ declarations: EXPORTED_DECLARATIONS,
54
+ providers: [
55
+ {
56
+ provide: PopoverEditPositionStrategyFactory,
57
+ useClass: DefaultPopoverEditPositionStrategyFactory,
58
+ },
59
+ ],
60
+ }]
61
+ }] });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1lZGl0LW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGstZXhwZXJpbWVudGFsL3BvcG92ZXItZWRpdC9wb3BvdmVyLWVkaXQtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFDTCxjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsV0FBVyxHQUNaLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDOUUsT0FBTyxFQUNMLHlDQUF5QyxFQUN6QyxrQ0FBa0MsR0FDbkMsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFFbEQsTUFBTSxxQkFBcUIsR0FBRztJQUM1QixjQUFjO0lBQ2Qsb0JBQW9CO0lBQ3BCLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsYUFBYTtJQUNiLFlBQVk7SUFDWixXQUFXO0lBQ1gsV0FBVztDQUNaLENBQUM7QUFhRixNQUFNLE9BQU8sb0JBQW9COzt5SEFBcEIsb0JBQW9COzBIQUFwQixvQkFBb0IsaUJBckIvQixjQUFjO1FBQ2Qsb0JBQW9CO1FBQ3BCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsYUFBYTtRQUNiLFlBQVk7UUFDWixXQUFXO1FBQ1gsV0FBVyxhQUlELGFBQWEsYUFYdkIsY0FBYztRQUNkLG9CQUFvQjtRQUNwQixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGFBQWE7UUFDYixZQUFZO1FBQ1osV0FBVztRQUNYLFdBQVc7MEhBY0Esb0JBQW9CLGFBUHBCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsa0NBQWtDO1lBQzNDLFFBQVEsRUFBRSx5Q0FBeUM7U0FDcEQ7S0FDRixZQVJRLENBQUMsYUFBYSxDQUFDO21HQVViLG9CQUFvQjtrQkFYaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3hCLE9BQU8sRUFBRSxxQkFBcUI7b0JBQzlCLFlBQVksRUFBRSxxQkFBcUI7b0JBQ25DLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsa0NBQWtDOzRCQUMzQyxRQUFRLEVBQUUseUNBQXlDO3lCQUNwRDtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T3ZlcmxheU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgQ2RrUG9wb3ZlckVkaXQsXG4gIENka1BvcG92ZXJFZGl0VGFiT3V0LFxuICBDZGtSb3dIb3ZlckNvbnRlbnQsXG4gIENka0VkaXRhYmxlLFxuICBDZGtFZGl0T3Blbixcbn0gZnJvbSAnLi90YWJsZS1kaXJlY3RpdmVzJztcbmltcG9ydCB7Q2RrRWRpdENvbnRyb2wsIENka0VkaXRSZXZlcnQsIENka0VkaXRDbG9zZX0gZnJvbSAnLi9sZW5zLWRpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFBvcG92ZXJFZGl0UG9zaXRpb25TdHJhdGVneUZhY3RvcnksXG4gIFBvcG92ZXJFZGl0UG9zaXRpb25TdHJhdGVneUZhY3RvcnksXG59IGZyb20gJy4vcG9wb3Zlci1lZGl0LXBvc2l0aW9uLXN0cmF0ZWd5LWZhY3RvcnknO1xuXG5jb25zdCBFWFBPUlRFRF9ERUNMQVJBVElPTlMgPSBbXG4gIENka1BvcG92ZXJFZGl0LFxuICBDZGtQb3BvdmVyRWRpdFRhYk91dCxcbiAgQ2RrUm93SG92ZXJDb250ZW50LFxuICBDZGtFZGl0Q29udHJvbCxcbiAgQ2RrRWRpdFJldmVydCxcbiAgQ2RrRWRpdENsb3NlLFxuICBDZGtFZGl0YWJsZSxcbiAgQ2RrRWRpdE9wZW4sXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbT3ZlcmxheU1vZHVsZV0sXG4gIGV4cG9ydHM6IEVYUE9SVEVEX0RFQ0xBUkFUSU9OUyxcbiAgZGVjbGFyYXRpb25zOiBFWFBPUlRFRF9ERUNMQVJBVElPTlMsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFBvcG92ZXJFZGl0UG9zaXRpb25TdHJhdGVneUZhY3RvcnksXG4gICAgICB1c2VDbGFzczogRGVmYXVsdFBvcG92ZXJFZGl0UG9zaXRpb25TdHJhdGVneUZhY3RvcnksXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2RrUG9wb3ZlckVkaXRNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,76 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { Directionality } from '@angular/cdk/bidi';
9
+ import { Overlay } from '@angular/cdk/overlay';
10
+ import { Injectable } from '@angular/core';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@angular/cdk/bidi";
13
+ import * as i2 from "@angular/cdk/overlay";
14
+ /**
15
+ * Overridable factory responsible for configuring how cdkPopoverEdit popovers are positioned
16
+ * and sized.
17
+ */
18
+ export class PopoverEditPositionStrategyFactory {
19
+ }
20
+ PopoverEditPositionStrategyFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: PopoverEditPositionStrategyFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
21
+ PopoverEditPositionStrategyFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: PopoverEditPositionStrategyFactory });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: PopoverEditPositionStrategyFactory, decorators: [{
23
+ type: Injectable
24
+ }] });
25
+ /**
26
+ * Default implementation of PopoverEditPositionStrategyFactory.
27
+ * Uses a FlexibleConnectedPositionStrategy anchored to the start + top of the cell.
28
+ * Note: This will change to CoverPositionStrategy once it implemented.
29
+ */
30
+ export class DefaultPopoverEditPositionStrategyFactory extends PopoverEditPositionStrategyFactory {
31
+ constructor(direction, overlay) {
32
+ super();
33
+ this.direction = direction;
34
+ this.overlay = overlay;
35
+ }
36
+ positionStrategyForCells(cells) {
37
+ return this.overlay
38
+ .position()
39
+ .flexibleConnectedTo(cells[0])
40
+ .withGrowAfterOpen()
41
+ .withPush()
42
+ .withViewportMargin(16)
43
+ .withPositions([
44
+ {
45
+ originX: 'start',
46
+ originY: 'top',
47
+ overlayX: 'start',
48
+ overlayY: 'top',
49
+ },
50
+ ]);
51
+ }
52
+ sizeConfigForCells(cells) {
53
+ if (cells.length === 0) {
54
+ return {};
55
+ }
56
+ if (cells.length === 1) {
57
+ return { width: cells[0].getBoundingClientRect().width };
58
+ }
59
+ let firstCell, lastCell;
60
+ if (this.direction.value === 'ltr') {
61
+ firstCell = cells[0];
62
+ lastCell = cells[cells.length - 1];
63
+ }
64
+ else {
65
+ lastCell = cells[0];
66
+ firstCell = cells[cells.length - 1];
67
+ }
68
+ return { width: lastCell.getBoundingClientRect().right - firstCell.getBoundingClientRect().left };
69
+ }
70
+ }
71
+ DefaultPopoverEditPositionStrategyFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: DefaultPopoverEditPositionStrategyFactory, deps: [{ token: i1.Directionality }, { token: i2.Overlay }], target: i0.ɵɵFactoryTarget.Injectable });
72
+ DefaultPopoverEditPositionStrategyFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: DefaultPopoverEditPositionStrategyFactory });
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: DefaultPopoverEditPositionStrategyFactory, decorators: [{
74
+ type: Injectable
75
+ }], ctorParameters: function () { return [{ type: i1.Directionality }, { type: i2.Overlay }]; } });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1lZGl0LXBvc2l0aW9uLXN0cmF0ZWd5LWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrLWV4cGVyaW1lbnRhbC9wb3BvdmVyLWVkaXQvcG9wb3Zlci1lZGl0LXBvc2l0aW9uLXN0cmF0ZWd5LWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxPQUFPLEVBQXNDLE1BQU0sc0JBQXNCLENBQUM7QUFDbEYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQUV6Qzs7O0dBR0c7QUFFSCxNQUFNLE9BQWdCLGtDQUFrQzs7dUlBQWxDLGtDQUFrQzsySUFBbEMsa0NBQWtDO21HQUFsQyxrQ0FBa0M7a0JBRHZELFVBQVU7O0FBZVg7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyx5Q0FBMEMsU0FBUSxrQ0FBa0M7SUFDL0YsWUFBK0IsU0FBeUIsRUFBcUIsT0FBZ0I7UUFDM0YsS0FBSyxFQUFFLENBQUM7UUFEcUIsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFBcUIsWUFBTyxHQUFQLE9BQU8sQ0FBUztJQUU3RixDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBb0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsT0FBTzthQUNoQixRQUFRLEVBQUU7YUFDVixtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDN0IsaUJBQWlCLEVBQUU7YUFDbkIsUUFBUSxFQUFFO2FBQ1Ysa0JBQWtCLENBQUMsRUFBRSxDQUFDO2FBQ3RCLGFBQWEsQ0FBQztZQUNiO2dCQUNFLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixPQUFPLEVBQUUsS0FBSztnQkFDZCxRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLEtBQUs7YUFDaEI7U0FDRixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBb0I7UUFDckMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN0QixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN0QixPQUFPLEVBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssRUFBQyxDQUFDO1NBQ3hEO1FBRUQsSUFBSSxTQUFTLEVBQUUsUUFBUSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ2xDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckIsUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3BDO2FBQU07WUFDTCxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNyQztRQUVELE9BQU8sRUFBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLElBQUksRUFBQyxDQUFDO0lBQ2xHLENBQUM7OzhJQXpDVSx5Q0FBeUM7a0pBQXpDLHlDQUF5QzttR0FBekMseUNBQXlDO2tCQURyRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7RGlyZWN0aW9uYWxpdHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7T3ZlcmxheSwgT3ZlcmxheVNpemVDb25maWcsIFBvc2l0aW9uU3RyYXRlZ3l9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogT3ZlcnJpZGFibGUgZmFjdG9yeSByZXNwb25zaWJsZSBmb3IgY29uZmlndXJpbmcgaG93IGNka1BvcG92ZXJFZGl0IHBvcG92ZXJzIGFyZSBwb3NpdGlvbmVkXG4gKiBhbmQgc2l6ZWQuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQb3BvdmVyRWRpdFBvc2l0aW9uU3RyYXRlZ3lGYWN0b3J5IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBQb3NpdGlvblN0cmF0ZWd5IGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgdGFibGUgY2VsbHMuXG4gICAqIFRoZSBjZWxscyB3aWxsIGJlIHByb3ZpZGVkIGluIERPTSBvcmRlci5cbiAgICovXG4gIGFic3RyYWN0IHBvc2l0aW9uU3RyYXRlZ3lGb3JDZWxscyhjZWxsczogSFRNTEVsZW1lbnRbXSk6IFBvc2l0aW9uU3RyYXRlZ3k7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gT3ZlcmxheVNpemVDb25maWcgYmFzZWQgb24gdGhlIHNwZWNpZmllZCB0YWJsZSBjZWxscy5cbiAgICogVGhlIGNlbGxzIHdpbGwgYmUgcHJvdmlkZWQgaW4gRE9NIG9yZGVyLlxuICAgKi9cbiAgYWJzdHJhY3Qgc2l6ZUNvbmZpZ0ZvckNlbGxzKGNlbGxzOiBIVE1MRWxlbWVudFtdKTogT3ZlcmxheVNpemVDb25maWc7XG59XG5cbi8qKlxuICogRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBQb3BvdmVyRWRpdFBvc2l0aW9uU3RyYXRlZ3lGYWN0b3J5LlxuICogVXNlcyBhIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSBhbmNob3JlZCB0byB0aGUgc3RhcnQgKyB0b3Agb2YgdGhlIGNlbGwuXG4gKiBOb3RlOiBUaGlzIHdpbGwgY2hhbmdlIHRvIENvdmVyUG9zaXRpb25TdHJhdGVneSBvbmNlIGl0IGltcGxlbWVudGVkLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGVmYXVsdFBvcG92ZXJFZGl0UG9zaXRpb25TdHJhdGVneUZhY3RvcnkgZXh0ZW5kcyBQb3BvdmVyRWRpdFBvc2l0aW9uU3RyYXRlZ3lGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IGRpcmVjdGlvbjogRGlyZWN0aW9uYWxpdHksIHByb3RlY3RlZCByZWFkb25seSBvdmVybGF5OiBPdmVybGF5KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHBvc2l0aW9uU3RyYXRlZ3lGb3JDZWxscyhjZWxsczogSFRNTEVsZW1lbnRbXSk6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhjZWxsc1swXSlcbiAgICAgIC53aXRoR3Jvd0FmdGVyT3BlbigpXG4gICAgICAud2l0aFB1c2goKVxuICAgICAgLndpdGhWaWV3cG9ydE1hcmdpbigxNilcbiAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICB9LFxuICAgICAgXSk7XG4gIH1cblxuICBzaXplQ29uZmlnRm9yQ2VsbHMoY2VsbHM6IEhUTUxFbGVtZW50W10pOiBPdmVybGF5U2l6ZUNvbmZpZyB7XG4gICAgaWYgKGNlbGxzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIGlmIChjZWxscy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiB7d2lkdGg6IGNlbGxzWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRofTtcbiAgICB9XG5cbiAgICBsZXQgZmlyc3RDZWxsLCBsYXN0Q2VsbDtcbiAgICBpZiAodGhpcy5kaXJlY3Rpb24udmFsdWUgPT09ICdsdHInKSB7XG4gICAgICBmaXJzdENlbGwgPSBjZWxsc1swXTtcbiAgICAgIGxhc3RDZWxsID0gY2VsbHNbY2VsbHMubGVuZ3RoIC0gMV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGxhc3RDZWxsID0gY2VsbHNbMF07XG4gICAgICBmaXJzdENlbGwgPSBjZWxsc1tjZWxscy5sZW5ndGggLSAxXTtcbiAgICB9XG5cbiAgICByZXR1cm4ge3dpZHRoOiBsYXN0Q2VsbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodCAtIGZpcnN0Q2VsbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0fTtcbiAgfVxufVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1lZGl0X3B1YmxpY19pbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGstZXhwZXJpbWVudGFsL3BvcG92ZXItZWRpdC9wb3BvdmVyLWVkaXRfcHVibGljX2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19