@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
@@ -1,443 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/overlay'), require('@angular/cdk/portal'), require('@angular/cdk/bidi'), require('@angular/cdk/coercion'), require('@angular/cdk/platform'), require('@angular/cdk/keycodes'), require('rxjs')) :
3
- typeof define === 'function' && define.amd ? define('@angular/cdk-experimental/combobox', ['exports', '@angular/core', '@angular/cdk/overlay', '@angular/cdk/portal', '@angular/cdk/bidi', '@angular/cdk/coercion', '@angular/cdk/platform', '@angular/cdk/keycodes', 'rxjs'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ng = global.ng || {}, global.ng.cdkExperimental = global.ng.cdkExperimental || {}, global.ng.cdkExperimental.combobox = {}), global.ng.core, global.ng.cdk.overlay, global.ng.cdk.portal, global.ng.cdk.bidi, global.ng.cdk.coercion, global.ng.cdk.platform, global.ng.cdk.keycodes, global.rxjs));
5
- }(this, (function (exports, core, overlay, portal, bidi, coercion, platform, keycodes, rxjs) { 'use strict';
6
-
7
- /**
8
- * @license
9
- * Copyright Google LLC All Rights Reserved.
10
- *
11
- * Use of this source code is governed by an MIT-style license that can be
12
- * found in the LICENSE file at https://angular.io/license
13
- */
14
- var allowedOpenActions = ['focus', 'click', 'downKey', 'toggle'];
15
- var CdkCombobox = /** @class */ (function () {
16
- function CdkCombobox(_elementRef, _overlay, _viewContainerRef, _directionality) {
17
- this._elementRef = _elementRef;
18
- this._overlay = _overlay;
19
- this._viewContainerRef = _viewContainerRef;
20
- this._directionality = _directionality;
21
- this._disabled = false;
22
- this._openActions = ['click'];
23
- this._autoSetText = true;
24
- this.opened = new core.EventEmitter();
25
- this.closed = new core.EventEmitter();
26
- this.panelValueChanged = new core.EventEmitter();
27
- this.contentId = '';
28
- }
29
- Object.defineProperty(CdkCombobox.prototype, "panel", {
30
- get: function () { return this._panel; },
31
- set: function (panel) { this._panel = panel; },
32
- enumerable: false,
33
- configurable: true
34
- });
35
- Object.defineProperty(CdkCombobox.prototype, "disabled", {
36
- get: function () { return this._disabled; },
37
- set: function (value) { this._disabled = coercion.coerceBooleanProperty(value); },
38
- enumerable: false,
39
- configurable: true
40
- });
41
- Object.defineProperty(CdkCombobox.prototype, "openActions", {
42
- get: function () {
43
- return this._openActions;
44
- },
45
- set: function (action) {
46
- this._openActions = this._coerceOpenActionProperty(action);
47
- },
48
- enumerable: false,
49
- configurable: true
50
- });
51
- Object.defineProperty(CdkCombobox.prototype, "autoSetText", {
52
- /** Whether the textContent is automatically updated upon change of the combobox value. */
53
- get: function () { return this._autoSetText; },
54
- set: function (value) { this._autoSetText = coercion.coerceBooleanProperty(value); },
55
- enumerable: false,
56
- configurable: true
57
- });
58
- CdkCombobox.prototype.ngAfterContentInit = function () {
59
- var _this = this;
60
- var _a, _b, _c;
61
- (_a = this._panel) === null || _a === void 0 ? void 0 : _a.valueUpdated.subscribe(function (data) {
62
- _this._setComboboxValue(data);
63
- _this.close();
64
- });
65
- (_b = this._panel) === null || _b === void 0 ? void 0 : _b.contentIdUpdated.subscribe(function (id) {
66
- _this.contentId = id;
67
- });
68
- (_c = this._panel) === null || _c === void 0 ? void 0 : _c.contentTypeUpdated.subscribe(function (type) {
69
- _this.contentType = type;
70
- });
71
- };
72
- CdkCombobox.prototype.ngOnDestroy = function () {
73
- if (this._overlayRef) {
74
- this._overlayRef.dispose();
75
- }
76
- this.opened.complete();
77
- this.closed.complete();
78
- this.panelValueChanged.complete();
79
- };
80
- CdkCombobox.prototype._keydown = function (event) {
81
- var _a;
82
- var keyCode = event.keyCode;
83
- if (keyCode === keycodes.DOWN_ARROW) {
84
- if (this.isOpen()) {
85
- (_a = this._panel) === null || _a === void 0 ? void 0 : _a.focusContent();
86
- }
87
- else if (this._openActions.indexOf('downKey') !== -1) {
88
- this.open();
89
- }
90
- }
91
- else if (keyCode === keycodes.ENTER) {
92
- if (this._openActions.indexOf('toggle') !== -1) {
93
- this.toggle();
94
- }
95
- else if (this._openActions.indexOf('click') !== -1) {
96
- this.open();
97
- }
98
- }
99
- else if (keyCode === keycodes.ESCAPE) {
100
- event.preventDefault();
101
- this.close();
102
- }
103
- else if (keyCode === keycodes.TAB) {
104
- this.close();
105
- }
106
- };
107
- /** Handles click or focus interactions. */
108
- CdkCombobox.prototype._handleInteractions = function (interaction) {
109
- if (interaction === 'click') {
110
- if (this._openActions.indexOf('toggle') !== -1) {
111
- this.toggle();
112
- }
113
- else if (this._openActions.indexOf('click') !== -1) {
114
- this.open();
115
- }
116
- }
117
- else if (interaction === 'focus') {
118
- if (this._openActions.indexOf('focus') !== -1) {
119
- this.open();
120
- }
121
- }
122
- };
123
- /** Given a click in the document, determines if the click was inside a combobox. */
124
- CdkCombobox.prototype._attemptClose = function (event) {
125
- if (this.isOpen()) {
126
- var target = platform._getEventTarget(event);
127
- while (target instanceof Element) {
128
- if (target.className.indexOf('cdk-combobox') !== -1) {
129
- return;
130
- }
131
- target = target.parentElement;
132
- }
133
- }
134
- this.close();
135
- };
136
- /** Toggles the open state of the panel. */
137
- CdkCombobox.prototype.toggle = function () {
138
- if (this.hasPanel()) {
139
- this.isOpen() ? this.close() : this.open();
140
- }
141
- };
142
- /** If the combobox is closed and not disabled, opens the panel. */
143
- CdkCombobox.prototype.open = function () {
144
- var _a;
145
- if (!this.isOpen() && !this.disabled) {
146
- this.opened.next();
147
- this._overlayRef = this._overlayRef || this._overlay.create(this._getOverlayConfig());
148
- this._overlayRef.attach(this._getPanelContent());
149
- if (!this._isTextTrigger()) {
150
- (_a = this._panel) === null || _a === void 0 ? void 0 : _a.focusContent();
151
- }
152
- }
153
- };
154
- /** If the combobox is open and not disabled, closes the panel. */
155
- CdkCombobox.prototype.close = function () {
156
- if (this.isOpen() && !this.disabled) {
157
- this.closed.next();
158
- this._overlayRef.detach();
159
- }
160
- };
161
- /** Returns true if panel is currently opened. */
162
- CdkCombobox.prototype.isOpen = function () {
163
- return this._overlayRef ? this._overlayRef.hasAttached() : false;
164
- };
165
- /** Returns true if combobox has a child panel. */
166
- CdkCombobox.prototype.hasPanel = function () {
167
- return !!this.panel;
168
- };
169
- CdkCombobox.prototype._getTabIndex = function () {
170
- return this.disabled ? null : '0';
171
- };
172
- CdkCombobox.prototype._setComboboxValue = function (value) {
173
- var valueChanged = (this.value !== value);
174
- this.value = value;
175
- if (valueChanged) {
176
- this.panelValueChanged.emit(coercion.coerceArray(value));
177
- if (this._autoSetText) {
178
- this._setTextContent(value);
179
- }
180
- }
181
- };
182
- CdkCombobox.prototype._setTextContent = function (content) {
183
- var contentArray = coercion.coerceArray(content);
184
- this._elementRef.nativeElement.textContent = contentArray.join(' ');
185
- };
186
- CdkCombobox.prototype._isTextTrigger = function () {
187
- // TODO: Should check if the trigger is contenteditable.
188
- var tagName = this._elementRef.nativeElement.tagName.toLowerCase();
189
- return tagName === 'input' || tagName === 'textarea' ? true : false;
190
- };
191
- CdkCombobox.prototype._getOverlayConfig = function () {
192
- return new overlay.OverlayConfig({
193
- positionStrategy: this._getOverlayPositionStrategy(),
194
- scrollStrategy: this._overlay.scrollStrategies.block(),
195
- direction: this._directionality,
196
- });
197
- };
198
- CdkCombobox.prototype._getOverlayPositionStrategy = function () {
199
- return this._overlay
200
- .position()
201
- .flexibleConnectedTo(this._elementRef)
202
- .withPositions(this._getOverlayPositions());
203
- };
204
- CdkCombobox.prototype._getOverlayPositions = function () {
205
- return [
206
- { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },
207
- { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom' },
208
- { originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top' },
209
- { originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom' },
210
- ];
211
- };
212
- CdkCombobox.prototype._getPanelContent = function () {
213
- var _a, _b;
214
- var hasPanelChanged = ((_a = this._panel) === null || _a === void 0 ? void 0 : _a._templateRef) !== ((_b = this._panelContent) === null || _b === void 0 ? void 0 : _b.templateRef);
215
- if (this._panel && (!this._panel || hasPanelChanged)) {
216
- this._panelContent = new portal.TemplatePortal(this._panel._templateRef, this._viewContainerRef);
217
- }
218
- return this._panelContent;
219
- };
220
- CdkCombobox.prototype._coerceOpenActionProperty = function (input) {
221
- var actions = typeof input === 'string' ? input.trim().split(/[ ,]+/) : input;
222
- if ((typeof ngDevMode === 'undefined' || ngDevMode) &&
223
- actions.some(function (a) { return allowedOpenActions.indexOf(a) === -1; })) {
224
- throw Error(input + " is not a support open action for CdkCombobox");
225
- }
226
- return actions;
227
- };
228
- return CdkCombobox;
229
- }());
230
- CdkCombobox.decorators = [
231
- { type: core.Directive, args: [{
232
- selector: '[cdkCombobox]',
233
- exportAs: 'cdkCombobox',
234
- host: {
235
- 'role': 'combobox',
236
- 'class': 'cdk-combobox',
237
- '(click)': '_handleInteractions("click")',
238
- '(focus)': '_handleInteractions("focus")',
239
- '(keydown)': '_keydown($event)',
240
- '(document:click)': '_attemptClose($event)',
241
- '[attr.aria-disabled]': 'disabled',
242
- '[attr.aria-owns]': 'contentId',
243
- '[attr.aria-haspopup]': 'contentType',
244
- '[attr.aria-expanded]': 'isOpen()',
245
- '[attr.tabindex]': '_getTabIndex()'
246
- }
247
- },] }
248
- ];
249
- CdkCombobox.ctorParameters = function () { return [
250
- { type: core.ElementRef },
251
- { type: overlay.Overlay },
252
- { type: core.ViewContainerRef },
253
- { type: bidi.Directionality, decorators: [{ type: core.Optional }] }
254
- ]; };
255
- CdkCombobox.propDecorators = {
256
- panel: [{ type: core.Input, args: ['cdkComboboxTriggerFor',] }],
257
- value: [{ type: core.Input }],
258
- disabled: [{ type: core.Input }],
259
- openActions: [{ type: core.Input }],
260
- autoSetText: [{ type: core.Input }],
261
- opened: [{ type: core.Output, args: ['comboboxPanelOpened',] }],
262
- closed: [{ type: core.Output, args: ['comboboxPanelClosed',] }],
263
- panelValueChanged: [{ type: core.Output, args: ['panelValueChanged',] }]
264
- };
265
-
266
- /**
267
- * @license
268
- * Copyright Google LLC All Rights Reserved.
269
- *
270
- * Use of this source code is governed by an MIT-style license that can be
271
- * found in the LICENSE file at https://angular.io/license
272
- */
273
- var CdkComboboxPanel = /** @class */ (function () {
274
- function CdkComboboxPanel(_templateRef) {
275
- this._templateRef = _templateRef;
276
- this.valueUpdated = new rxjs.Subject();
277
- this.contentIdUpdated = new rxjs.Subject();
278
- this.contentTypeUpdated = new rxjs.Subject();
279
- this.contentId = '';
280
- }
281
- /** Tells the parent combobox to close the panel and sends back the content value. */
282
- CdkComboboxPanel.prototype.closePanel = function (data) {
283
- this.valueUpdated.next(data || []);
284
- };
285
- // TODO: instead of using a focus function, potentially use cdk/a11y focus trapping
286
- CdkComboboxPanel.prototype.focusContent = function () {
287
- var _a;
288
- // TODO: Use an injected document here
289
- (_a = document.getElementById(this.contentId)) === null || _a === void 0 ? void 0 : _a.focus();
290
- };
291
- /** Registers the content's id and the content type with the panel. */
292
- CdkComboboxPanel.prototype._registerContent = function (contentId, contentType) {
293
- // If content has already been registered, no further contentIds are registered.
294
- if (this.contentType && this.contentType !== contentType) {
295
- return;
296
- }
297
- this.contentId = contentId;
298
- if (contentType !== 'listbox' && contentType !== 'dialog') {
299
- throw Error('CdkComboboxPanel currently only supports listbox or dialog content.');
300
- }
301
- this.contentType = contentType;
302
- this.contentIdUpdated.next(this.contentId);
303
- this.contentTypeUpdated.next(this.contentType);
304
- };
305
- return CdkComboboxPanel;
306
- }());
307
- CdkComboboxPanel.decorators = [
308
- { type: core.Directive, args: [{
309
- host: {
310
- 'class': 'cdk-combobox-panel'
311
- },
312
- selector: 'ng-template[cdkComboboxPanel]',
313
- exportAs: 'cdkComboboxPanel',
314
- },] }
315
- ];
316
- CdkComboboxPanel.ctorParameters = function () { return [
317
- { type: core.TemplateRef }
318
- ]; };
319
-
320
- /**
321
- * @license
322
- * Copyright Google LLC All Rights Reserved.
323
- *
324
- * Use of this source code is governed by an MIT-style license that can be
325
- * found in the LICENSE file at https://angular.io/license
326
- */
327
- var PANEL = new core.InjectionToken('CdkComboboxPanel');
328
- var nextId = 0;
329
- var CdkComboboxPopup = /** @class */ (function () {
330
- function CdkComboboxPopup(_elementRef, _parentPanel) {
331
- this._elementRef = _elementRef;
332
- this._parentPanel = _parentPanel;
333
- this._role = 'dialog';
334
- this.id = "cdk-combobox-popup-" + nextId++;
335
- }
336
- Object.defineProperty(CdkComboboxPopup.prototype, "role", {
337
- get: function () {
338
- return this._role;
339
- },
340
- set: function (value) {
341
- this._role = value;
342
- },
343
- enumerable: false,
344
- configurable: true
345
- });
346
- Object.defineProperty(CdkComboboxPopup.prototype, "firstFocus", {
347
- get: function () {
348
- return this._firstFocusElement;
349
- },
350
- set: function (id) {
351
- this._firstFocusElement = id;
352
- },
353
- enumerable: false,
354
- configurable: true
355
- });
356
- CdkComboboxPopup.prototype.ngOnInit = function () {
357
- this.registerWithPanel();
358
- };
359
- CdkComboboxPopup.prototype.registerWithPanel = function () {
360
- if (this._parentPanel === null || this._parentPanel === undefined) {
361
- this._explicitPanel._registerContent(this.id, this._role);
362
- }
363
- else {
364
- this._parentPanel._registerContent(this.id, this._role);
365
- }
366
- };
367
- CdkComboboxPopup.prototype.focusFirstElement = function () {
368
- if (this._firstFocusElement) {
369
- this._firstFocusElement.focus();
370
- }
371
- else {
372
- this._elementRef.nativeElement.focus();
373
- }
374
- };
375
- return CdkComboboxPopup;
376
- }());
377
- CdkComboboxPopup.decorators = [
378
- { type: core.Directive, args: [{
379
- selector: '[cdkComboboxPopup]',
380
- exportAs: 'cdkComboboxPopup',
381
- host: {
382
- 'class': 'cdk-combobox-popup',
383
- '[attr.role]': 'role',
384
- '[id]': 'id',
385
- 'tabindex': '-1',
386
- '(focus)': 'focusFirstElement()'
387
- }
388
- },] }
389
- ];
390
- CdkComboboxPopup.ctorParameters = function () { return [
391
- { type: core.ElementRef },
392
- { type: CdkComboboxPanel, decorators: [{ type: core.Optional }, { type: core.Inject, args: [PANEL,] }] }
393
- ]; };
394
- CdkComboboxPopup.propDecorators = {
395
- role: [{ type: core.Input }],
396
- firstFocus: [{ type: core.Input }],
397
- id: [{ type: core.Input }],
398
- _explicitPanel: [{ type: core.Input, args: ['parentPanel',] }]
399
- };
400
-
401
- /**
402
- * @license
403
- * Copyright Google LLC All Rights Reserved.
404
- *
405
- * Use of this source code is governed by an MIT-style license that can be
406
- * found in the LICENSE file at https://angular.io/license
407
- */
408
- var EXPORTED_DECLARATIONS = [CdkCombobox, CdkComboboxPanel, CdkComboboxPopup];
409
- var CdkComboboxModule = /** @class */ (function () {
410
- function CdkComboboxModule() {
411
- }
412
- return CdkComboboxModule;
413
- }());
414
- CdkComboboxModule.decorators = [
415
- { type: core.NgModule, args: [{
416
- imports: [overlay.OverlayModule],
417
- exports: EXPORTED_DECLARATIONS,
418
- declarations: EXPORTED_DECLARATIONS,
419
- },] }
420
- ];
421
-
422
- /**
423
- * @license
424
- * Copyright Google LLC All Rights Reserved.
425
- *
426
- * Use of this source code is governed by an MIT-style license that can be
427
- * found in the LICENSE file at https://angular.io/license
428
- */
429
-
430
- /**
431
- * Generated bundle index. Do not edit.
432
- */
433
-
434
- exports.CdkCombobox = CdkCombobox;
435
- exports.CdkComboboxModule = CdkComboboxModule;
436
- exports.CdkComboboxPanel = CdkComboboxPanel;
437
- exports.CdkComboboxPopup = CdkComboboxPopup;
438
- exports.PANEL = PANEL;
439
-
440
- Object.defineProperty(exports, '__esModule', { value: true });
441
-
442
- })));
443
- //# sourceMappingURL=cdk-experimental-combobox.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cdk-experimental-combobox.umd.js","sources":["../../../../../src/cdk-experimental/combobox/combobox.ts","../../../../../src/cdk-experimental/combobox/combobox-panel.ts","../../../../../src/cdk-experimental/combobox/combobox-popup.ts","../../../../../src/cdk-experimental/combobox/combobox-module.ts","../../../../../src/cdk-experimental/combobox/public-api.ts","../../../../../src/cdk-experimental/combobox/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nexport type OpenAction = 'focus' | 'click' | 'downKey' | 'toggle';\nexport type OpenActionInput = OpenAction | OpenAction[] | string | null | undefined;\n\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output, ViewContainerRef\n} from '@angular/core';\nimport {CdkComboboxPanel, AriaHasPopupValue} from './combobox-panel';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayRef\n} from '@angular/cdk/overlay';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {BooleanInput, coerceBooleanProperty, coerceArray} from '@angular/cdk/coercion';\nimport {_getEventTarget} from '@angular/cdk/platform';\nimport {DOWN_ARROW, ENTER, ESCAPE, TAB} from '@angular/cdk/keycodes';\n\nconst allowedOpenActions = ['focus', 'click', 'downKey', 'toggle'];\n\n@Directive({\n selector: '[cdkCombobox]',\n exportAs: 'cdkCombobox',\n host: {\n 'role': 'combobox',\n 'class': 'cdk-combobox',\n '(click)': '_handleInteractions(\"click\")',\n '(focus)': '_handleInteractions(\"focus\")',\n '(keydown)': '_keydown($event)',\n '(document:click)': '_attemptClose($event)',\n '[attr.aria-disabled]': 'disabled',\n '[attr.aria-owns]': 'contentId',\n '[attr.aria-haspopup]': 'contentType',\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.tabindex]': '_getTabIndex()'\n }\n})\nexport class CdkCombobox<T = unknown> implements OnDestroy, AfterContentInit {\n @Input('cdkComboboxTriggerFor')\n get panel(): CdkComboboxPanel<T> | undefined { return this._panel; }\n set panel(panel: CdkComboboxPanel<T> | undefined) { this._panel = panel; }\n private _panel: CdkComboboxPanel<T> | undefined;\n\n @Input()\n value: T | T[];\n\n @Input()\n get disabled(): boolean { return this._disabled; }\n set disabled(value: boolean) { this._disabled = coerceBooleanProperty(value); }\n private _disabled: boolean = false;\n\n @Input()\n get openActions(): OpenAction[] {\n return this._openActions;\n }\n set openActions(action: OpenAction[]) {\n this._openActions = this._coerceOpenActionProperty(action);\n }\n private _openActions: OpenAction[] = ['click'];\n\n /** Whether the textContent is automatically updated upon change of the combobox value. */\n @Input()\n get autoSetText(): boolean { return this._autoSetText; }\n set autoSetText(value: boolean) { this._autoSetText = coerceBooleanProperty(value); }\n private _autoSetText: boolean = true;\n\n @Output('comboboxPanelOpened') readonly opened: EventEmitter<void> = new EventEmitter<void>();\n @Output('comboboxPanelClosed') readonly closed: EventEmitter<void> = new EventEmitter<void>();\n @Output('panelValueChanged') readonly panelValueChanged: EventEmitter<T[]>\n = new EventEmitter<T[]>();\n\n private _overlayRef: OverlayRef;\n private _panelContent: TemplatePortal;\n contentId: string = '';\n contentType: AriaHasPopupValue;\n\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n private readonly _overlay: Overlay,\n protected readonly _viewContainerRef: ViewContainerRef,\n @Optional() private readonly _directionality?: Directionality\n ) {}\n\n ngAfterContentInit() {\n this._panel?.valueUpdated.subscribe(data => {\n this._setComboboxValue(data);\n this.close();\n });\n\n this._panel?.contentIdUpdated.subscribe(id => {\n this.contentId = id;\n });\n\n this._panel?.contentTypeUpdated.subscribe(type => {\n this.contentType = type;\n });\n }\n\n ngOnDestroy() {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n\n this.opened.complete();\n this.closed.complete();\n this.panelValueChanged.complete();\n }\n\n _keydown(event: KeyboardEvent) {\n const {keyCode} = event;\n\n if (keyCode === DOWN_ARROW) {\n if (this.isOpen()) {\n this._panel?.focusContent();\n } else if (this._openActions.indexOf('downKey') !== -1) {\n this.open();\n }\n } else if (keyCode === ENTER) {\n if (this._openActions.indexOf('toggle') !== -1) {\n this.toggle();\n } else if (this._openActions.indexOf('click') !== -1) {\n this.open();\n }\n\n } else if (keyCode === ESCAPE) {\n event.preventDefault();\n this.close();\n } else if (keyCode === TAB) {\n this.close();\n }\n }\n\n /** Handles click or focus interactions. */\n _handleInteractions(interaction: OpenAction) {\n if (interaction === 'click') {\n if (this._openActions.indexOf('toggle') !== -1) {\n this.toggle();\n } else if (this._openActions.indexOf('click') !== -1) {\n this.open();\n }\n } else if (interaction === 'focus') {\n if (this._openActions.indexOf('focus') !== -1) {\n this.open();\n }\n }\n }\n\n /** Given a click in the document, determines if the click was inside a combobox. */\n _attemptClose(event: MouseEvent) {\n if (this.isOpen()) {\n let target = _getEventTarget(event);\n while (target instanceof Element) {\n if (target.className.indexOf('cdk-combobox') !== -1) {\n return;\n }\n target = target.parentElement;\n }\n }\n\n this.close();\n }\n\n /** Toggles the open state of the panel. */\n toggle() {\n if (this.hasPanel()) {\n this.isOpen() ? this.close() : this.open();\n }\n }\n\n /** If the combobox is closed and not disabled, opens the panel. */\n open() {\n if (!this.isOpen() && !this.disabled) {\n this.opened.next();\n this._overlayRef = this._overlayRef || this._overlay.create(this._getOverlayConfig());\n this._overlayRef.attach(this._getPanelContent());\n if (!this._isTextTrigger()) {\n this._panel?.focusContent();\n }\n }\n }\n\n /** If the combobox is open and not disabled, closes the panel. */\n close() {\n if (this.isOpen() && !this.disabled) {\n this.closed.next();\n this._overlayRef.detach();\n }\n }\n\n /** Returns true if panel is currently opened. */\n isOpen(): boolean {\n return this._overlayRef ? this._overlayRef.hasAttached() : false;\n }\n\n /** Returns true if combobox has a child panel. */\n hasPanel(): boolean {\n return !!this.panel;\n }\n\n _getTabIndex(): string | null {\n return this.disabled ? null : '0';\n }\n\n private _setComboboxValue(value: T | T[]) {\n\n const valueChanged = (this.value !== value);\n this.value = value;\n\n if (valueChanged) {\n this.panelValueChanged.emit(coerceArray(value));\n if (this._autoSetText) {\n this._setTextContent(value);\n }\n }\n }\n\n private _setTextContent(content: T | T[]) {\n const contentArray = coerceArray(content);\n this._elementRef.nativeElement.textContent = contentArray.join(' ');\n }\n\n private _isTextTrigger() {\n // TODO: Should check if the trigger is contenteditable.\n const tagName = this._elementRef.nativeElement.tagName.toLowerCase();\n return tagName === 'input' || tagName === 'textarea' ? true : false;\n }\n\n private _getOverlayConfig() {\n return new OverlayConfig({\n positionStrategy: this._getOverlayPositionStrategy(),\n scrollStrategy: this._overlay.scrollStrategies.block(),\n direction: this._directionality,\n });\n }\n\n private _getOverlayPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this._overlay\n .position()\n .flexibleConnectedTo(this._elementRef)\n .withPositions(this._getOverlayPositions());\n }\n\n private _getOverlayPositions(): ConnectedPosition[] {\n return [\n {originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top'},\n {originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom'},\n {originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top'},\n {originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom'},\n ];\n }\n\n private _getPanelContent() {\n const hasPanelChanged = this._panel?._templateRef !== this._panelContent?.templateRef;\n if (this._panel && (!this._panel || hasPanelChanged)) {\n this._panelContent = new TemplatePortal(this._panel._templateRef, this._viewContainerRef);\n }\n\n return this._panelContent;\n }\n\n private _coerceOpenActionProperty(input: string | OpenAction[]): OpenAction[] {\n let actions = typeof input === 'string' ? input.trim().split(/[ ,]+/) : input;\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n actions.some(a => allowedOpenActions.indexOf(a) === -1)) {\n throw Error(`${input} is not a support open action for CdkCombobox`);\n }\n return actions as OpenAction[];\n }\n\n static ngAcceptInputType_openActions: OpenActionInput;\n static ngAcceptInputType_autoSetText: OpenActionInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport type AriaHasPopupValue = 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';\n\nimport {Directive, TemplateRef} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Directive({\n host: {\n 'class': 'cdk-combobox-panel'\n },\n selector: 'ng-template[cdkComboboxPanel]',\n exportAs: 'cdkComboboxPanel',\n})\nexport class CdkComboboxPanel<T = unknown> {\n\n valueUpdated: Subject<T | T[]> = new Subject<T | T[]>();\n contentIdUpdated: Subject<string> = new Subject<string>();\n contentTypeUpdated: Subject<AriaHasPopupValue> = new Subject<AriaHasPopupValue>();\n\n contentId: string = '';\n contentType: AriaHasPopupValue;\n\n constructor(\n readonly _templateRef: TemplateRef<unknown>\n ) {}\n\n /** Tells the parent combobox to close the panel and sends back the content value. */\n closePanel(data?: T | T[]) {\n this.valueUpdated.next(data || []);\n }\n\n // TODO: instead of using a focus function, potentially use cdk/a11y focus trapping\n focusContent() {\n // TODO: Use an injected document here\n document.getElementById(this.contentId)?.focus();\n }\n\n /** Registers the content's id and the content type with the panel. */\n _registerContent(contentId: string, contentType: AriaHasPopupValue) {\n // If content has already been registered, no further contentIds are registered.\n if (this.contentType && this.contentType !== contentType) {\n return;\n }\n\n this.contentId = contentId;\n if (contentType !== 'listbox' && contentType !== 'dialog') {\n throw Error('CdkComboboxPanel currently only supports listbox or dialog content.');\n }\n this.contentType = contentType;\n\n this.contentIdUpdated.next(this.contentId);\n this.contentTypeUpdated.next(this.contentType);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n ElementRef,\n Inject,\n InjectionToken,\n Input,\n OnInit,\n Optional} from '@angular/core';\nimport {AriaHasPopupValue, CdkComboboxPanel} from './combobox-panel';\n\nexport const PANEL = new InjectionToken<CdkComboboxPanel>('CdkComboboxPanel');\n\nlet nextId = 0;\n\n@Directive({\n selector: '[cdkComboboxPopup]',\n exportAs: 'cdkComboboxPopup',\n host: {\n 'class': 'cdk-combobox-popup',\n '[attr.role]': 'role',\n '[id]': 'id',\n 'tabindex': '-1',\n '(focus)': 'focusFirstElement()'\n }\n})\nexport class CdkComboboxPopup<T = unknown> implements OnInit {\n @Input()\n get role(): AriaHasPopupValue {\n return this._role;\n }\n set role(value: AriaHasPopupValue) {\n this._role = value;\n }\n private _role: AriaHasPopupValue = 'dialog';\n\n @Input()\n get firstFocus(): HTMLElement {\n return this._firstFocusElement;\n }\n set firstFocus(id: HTMLElement) {\n this._firstFocusElement = id;\n }\n private _firstFocusElement: HTMLElement;\n\n @Input() id = `cdk-combobox-popup-${nextId++}`;\n\n @Input('parentPanel') private readonly _explicitPanel: CdkComboboxPanel;\n\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional() @Inject(PANEL) readonly _parentPanel?: CdkComboboxPanel<T>,\n ) { }\n\n ngOnInit() {\n this.registerWithPanel();\n }\n\n registerWithPanel(): void {\n if (this._parentPanel === null || this._parentPanel === undefined) {\n this._explicitPanel._registerContent(this.id, this._role);\n } else {\n this._parentPanel._registerContent(this.id, this._role);\n }\n }\n\n focusFirstElement() {\n if (this._firstFocusElement) {\n this._firstFocusElement.focus();\n } else {\n this._elementRef.nativeElement.focus();\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {CdkCombobox} from './combobox';\nimport {CdkComboboxPanel} from './combobox-panel';\nimport {CdkComboboxPopup} from './combobox-popup';\n\nconst EXPORTED_DECLARATIONS = [CdkCombobox, CdkComboboxPanel, CdkComboboxPopup];\n@NgModule({\n imports: [OverlayModule],\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n})\nexport class CdkComboboxModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './combobox-module';\nexport * from './combobox';\nexport * from './combobox-panel';\nexport * from './combobox-popup';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["EventEmitter","coerceBooleanProperty","DOWN_ARROW","ENTER","ESCAPE","TAB","_getEventTarget","coerceArray","OverlayConfig","TemplatePortal","Directive","ElementRef","Overlay","ViewContainerRef","Directionality","Optional","Input","Output","Subject","TemplateRef","InjectionToken","Inject","NgModule","OverlayModule"],"mappings":"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"}