@angular/material 19.0.0-next.0 → 19.0.0-next.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 (646) hide show
  1. package/_index.scss +4 -5
  2. package/button/_button-base.scss +2 -4
  3. package/button/index.d.ts +2 -10
  4. package/checkbox/_checkbox-common.scss +7 -7
  5. package/checkbox/index.d.ts +0 -7
  6. package/chips/index.d.ts +1 -10
  7. package/core/_core.scss +9 -7
  8. package/core/focus-indicators/_private.scss +20 -81
  9. package/core/index.d.ts +8 -10
  10. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +5 -4
  11. package/core/style/_elevation.scss +1 -1
  12. package/core/style/_list-common.scss +2 -2
  13. package/core/style/_menu-common.scss +1 -0
  14. package/core/theming/_palettes.scss +132 -45
  15. package/core/tokens/_m3-system.scss +228 -0
  16. package/core/tokens/_m3-tokens.scss +8 -149
  17. package/core/tokens/_token-utils.scss +13 -12
  18. package/core/tokens/m2/mat/_datepicker.scss +1 -1
  19. package/core/tokens/m3/mat/_datepicker.scss +2 -2
  20. package/core/tokens/m3/mat/_sidenav.scss +0 -1
  21. package/dialog/index.d.ts +2 -2
  22. package/fesm2022/autocomplete.mjs +2 -2
  23. package/fesm2022/autocomplete.mjs.map +1 -1
  24. package/fesm2022/badge.mjs +7 -20
  25. package/fesm2022/badge.mjs.map +1 -1
  26. package/fesm2022/bottom-sheet.mjs +2 -2
  27. package/fesm2022/bottom-sheet.mjs.map +1 -1
  28. package/fesm2022/button-toggle.mjs +2 -2
  29. package/fesm2022/button-toggle.mjs.map +1 -1
  30. package/fesm2022/button.mjs +16 -27
  31. package/fesm2022/button.mjs.map +1 -1
  32. package/fesm2022/card.mjs +2 -2
  33. package/fesm2022/card.mjs.map +1 -1
  34. package/fesm2022/checkbox.mjs +2 -5
  35. package/fesm2022/checkbox.mjs.map +1 -1
  36. package/fesm2022/chips.mjs +8 -19
  37. package/fesm2022/chips.mjs.map +1 -1
  38. package/fesm2022/core.mjs +64 -40
  39. package/fesm2022/core.mjs.map +1 -1
  40. package/fesm2022/datepicker.mjs +8 -8
  41. package/fesm2022/datepicker.mjs.map +1 -1
  42. package/fesm2022/dialog.mjs +5 -5
  43. package/fesm2022/dialog.mjs.map +1 -1
  44. package/fesm2022/divider.mjs +2 -2
  45. package/fesm2022/divider.mjs.map +1 -1
  46. package/fesm2022/expansion.mjs +4 -4
  47. package/fesm2022/expansion.mjs.map +1 -1
  48. package/fesm2022/form-field.mjs +2 -2
  49. package/fesm2022/form-field.mjs.map +1 -1
  50. package/fesm2022/icon.mjs +4 -5
  51. package/fesm2022/icon.mjs.map +1 -1
  52. package/fesm2022/input/testing.mjs +7 -1
  53. package/fesm2022/input/testing.mjs.map +1 -1
  54. package/fesm2022/input.mjs +43 -9
  55. package/fesm2022/input.mjs.map +1 -1
  56. package/fesm2022/list.mjs +14 -14
  57. package/fesm2022/list.mjs.map +1 -1
  58. package/fesm2022/menu.mjs +4 -4
  59. package/fesm2022/menu.mjs.map +1 -1
  60. package/fesm2022/paginator.mjs +2 -2
  61. package/fesm2022/paginator.mjs.map +1 -1
  62. package/fesm2022/progress-bar.mjs +2 -2
  63. package/fesm2022/progress-bar.mjs.map +1 -1
  64. package/fesm2022/progress-spinner.mjs +2 -2
  65. package/fesm2022/progress-spinner.mjs.map +1 -1
  66. package/fesm2022/radio.mjs +2 -2
  67. package/fesm2022/radio.mjs.map +1 -1
  68. package/fesm2022/select.mjs +6 -6
  69. package/fesm2022/select.mjs.map +1 -1
  70. package/fesm2022/sidenav.mjs +4 -4
  71. package/fesm2022/sidenav.mjs.map +1 -1
  72. package/fesm2022/slide-toggle.mjs +2 -2
  73. package/fesm2022/slide-toggle.mjs.map +1 -1
  74. package/fesm2022/slider.mjs +4 -4
  75. package/fesm2022/slider.mjs.map +1 -1
  76. package/fesm2022/snack-bar.mjs +2 -2
  77. package/fesm2022/snack-bar.mjs.map +1 -1
  78. package/fesm2022/stepper.mjs +4 -4
  79. package/fesm2022/stepper.mjs.map +1 -1
  80. package/fesm2022/table.mjs +2 -2
  81. package/fesm2022/table.mjs.map +1 -1
  82. package/fesm2022/tabs.mjs +9 -9
  83. package/fesm2022/tabs.mjs.map +1 -1
  84. package/fesm2022/toolbar.mjs +2 -2
  85. package/fesm2022/toolbar.mjs.map +1 -1
  86. package/fesm2022/tooltip.mjs +16 -4
  87. package/fesm2022/tooltip.mjs.map +1 -1
  88. package/fesm2022/tree.mjs +2 -2
  89. package/fesm2022/tree.mjs.map +1 -1
  90. package/form-field/_mdc-text-field-structure.scss +6 -0
  91. package/input/index.d.ts +18 -1
  92. package/package.json +2 -146
  93. package/prebuilt-themes/azure-blue.css +1 -1
  94. package/prebuilt-themes/cyan-orange.css +1 -1
  95. package/prebuilt-themes/deeppurple-amber.css +1 -1
  96. package/prebuilt-themes/indigo-pink.css +1 -1
  97. package/prebuilt-themes/magenta-violet.css +1 -1
  98. package/prebuilt-themes/pink-bluegrey.css +1 -1
  99. package/prebuilt-themes/purple-green.css +1 -1
  100. package/prebuilt-themes/rose-red.css +1 -1
  101. package/schematics/ng-add/index.js +1 -1
  102. package/schematics/ng-add/index.mjs +1 -1
  103. package/select/index.d.ts +2 -2
  104. package/slide-toggle/_slide-toggle-theme.scss +8 -6
  105. package/tabs/_tabs-common.scss +12 -10
  106. package/core/focus-indicators/_focus-indicators-theme.scss +0 -11
  107. package/core/focus-indicators/_focus-indicators.scss +0 -6
  108. package/esm2022/autocomplete/animations.mjs +0 -24
  109. package/esm2022/autocomplete/autocomplete-origin.mjs +0 -31
  110. package/esm2022/autocomplete/autocomplete-trigger.mjs +0 -902
  111. package/esm2022/autocomplete/autocomplete.mjs +0 -238
  112. package/esm2022/autocomplete/autocomplete_public_index.mjs +0 -5
  113. package/esm2022/autocomplete/index.mjs +0 -9
  114. package/esm2022/autocomplete/module.mjs +0 -61
  115. package/esm2022/autocomplete/public-api.mjs +0 -14
  116. package/esm2022/autocomplete/testing/autocomplete-harness-filters.mjs +0 -9
  117. package/esm2022/autocomplete/testing/autocomplete-harness.mjs +0 -105
  118. package/esm2022/autocomplete/testing/index.mjs +0 -9
  119. package/esm2022/autocomplete/testing/public-api.mjs +0 -10
  120. package/esm2022/badge/badge-module.mjs +0 -27
  121. package/esm2022/badge/badge.mjs +0 -301
  122. package/esm2022/badge/badge_public_index.mjs +0 -5
  123. package/esm2022/badge/index.mjs +0 -9
  124. package/esm2022/badge/public-api.mjs +0 -10
  125. package/esm2022/badge/testing/badge-harness-filters.mjs +0 -9
  126. package/esm2022/badge/testing/badge-harness.mjs +0 -71
  127. package/esm2022/badge/testing/index.mjs +0 -9
  128. package/esm2022/badge/testing/public-api.mjs +0 -10
  129. package/esm2022/bottom-sheet/bottom-sheet-animations.mjs +0 -26
  130. package/esm2022/bottom-sheet/bottom-sheet-config.mjs +0 -48
  131. package/esm2022/bottom-sheet/bottom-sheet-container.mjs +0 -85
  132. package/esm2022/bottom-sheet/bottom-sheet-module.mjs +0 -28
  133. package/esm2022/bottom-sheet/bottom-sheet-ref.mjs +0 -104
  134. package/esm2022/bottom-sheet/bottom-sheet.mjs +0 -115
  135. package/esm2022/bottom-sheet/bottom-sheet_public_index.mjs +0 -5
  136. package/esm2022/bottom-sheet/index.mjs +0 -9
  137. package/esm2022/bottom-sheet/public-api.mjs +0 -14
  138. package/esm2022/bottom-sheet/testing/bottom-sheet-harness-filters.mjs +0 -9
  139. package/esm2022/bottom-sheet/testing/bottom-sheet-harness.mjs +0 -35
  140. package/esm2022/bottom-sheet/testing/index.mjs +0 -9
  141. package/esm2022/bottom-sheet/testing/public-api.mjs +0 -10
  142. package/esm2022/button/button-base.mjs +0 -230
  143. package/esm2022/button/button.mjs +0 -67
  144. package/esm2022/button/button_public_index.mjs +0 -5
  145. package/esm2022/button/fab.mjs +0 -166
  146. package/esm2022/button/icon-button.mjs +0 -56
  147. package/esm2022/button/index.mjs +0 -9
  148. package/esm2022/button/module.mjs +0 -65
  149. package/esm2022/button/public-api.mjs +0 -13
  150. package/esm2022/button/testing/button-harness-filters.mjs +0 -9
  151. package/esm2022/button/testing/button-harness.mjs +0 -80
  152. package/esm2022/button/testing/index.mjs +0 -9
  153. package/esm2022/button/testing/public-api.mjs +0 -10
  154. package/esm2022/button-toggle/button-toggle-module.mjs +0 -24
  155. package/esm2022/button-toggle/button-toggle.mjs +0 -651
  156. package/esm2022/button-toggle/button-toggle_public_index.mjs +0 -5
  157. package/esm2022/button-toggle/index.mjs +0 -9
  158. package/esm2022/button-toggle/public-api.mjs +0 -10
  159. package/esm2022/button-toggle/testing/button-toggle-group-harness-filters.mjs +0 -9
  160. package/esm2022/button-toggle/testing/button-toggle-group-harness.mjs +0 -47
  161. package/esm2022/button-toggle/testing/button-toggle-harness-filters.mjs +0 -9
  162. package/esm2022/button-toggle/testing/button-toggle-harness.mjs +0 -105
  163. package/esm2022/button-toggle/testing/index.mjs +0 -9
  164. package/esm2022/button-toggle/testing/public-api.mjs +0 -12
  165. package/esm2022/card/card.mjs +0 -273
  166. package/esm2022/card/card_public_index.mjs +0 -5
  167. package/esm2022/card/index.mjs +0 -9
  168. package/esm2022/card/module.mjs +0 -67
  169. package/esm2022/card/public-api.mjs +0 -10
  170. package/esm2022/card/testing/card-harness-filters.mjs +0 -9
  171. package/esm2022/card/testing/card-harness.mjs +0 -50
  172. package/esm2022/card/testing/index.mjs +0 -9
  173. package/esm2022/card/testing/public-api.mjs +0 -10
  174. package/esm2022/checkbox/checkbox-config.mjs +0 -22
  175. package/esm2022/checkbox/checkbox-required-validator.mjs +0 -41
  176. package/esm2022/checkbox/checkbox.mjs +0 -443
  177. package/esm2022/checkbox/checkbox_public_index.mjs +0 -5
  178. package/esm2022/checkbox/index.mjs +0 -9
  179. package/esm2022/checkbox/module.mjs +0 -41
  180. package/esm2022/checkbox/public-api.mjs +0 -12
  181. package/esm2022/checkbox/testing/checkbox-harness-filters.mjs +0 -9
  182. package/esm2022/checkbox/testing/checkbox-harness.mjs +0 -138
  183. package/esm2022/checkbox/testing/index.mjs +0 -9
  184. package/esm2022/checkbox/testing/public-api.mjs +0 -9
  185. package/esm2022/chips/chip-action.mjs +0 -113
  186. package/esm2022/chips/chip-edit-input.mjs +0 -61
  187. package/esm2022/chips/chip-grid.mjs +0 -420
  188. package/esm2022/chips/chip-icons.mjs +0 -107
  189. package/esm2022/chips/chip-input.mjs +0 -192
  190. package/esm2022/chips/chip-listbox.mjs +0 -369
  191. package/esm2022/chips/chip-option.mjs +0 -190
  192. package/esm2022/chips/chip-row.mjs +0 -173
  193. package/esm2022/chips/chip-set.mjs +0 -283
  194. package/esm2022/chips/chip-text-control.mjs +0 -9
  195. package/esm2022/chips/chip.mjs +0 -322
  196. package/esm2022/chips/chips_public_index.mjs +0 -5
  197. package/esm2022/chips/index.mjs +0 -9
  198. package/esm2022/chips/module.mjs +0 -85
  199. package/esm2022/chips/public-api.mjs +0 -20
  200. package/esm2022/chips/testing/chip-avatar-harness.mjs +0 -22
  201. package/esm2022/chips/testing/chip-edit-input-harness.mjs +0 -33
  202. package/esm2022/chips/testing/chip-grid-harness.mjs +0 -45
  203. package/esm2022/chips/testing/chip-harness-filters.mjs +0 -9
  204. package/esm2022/chips/testing/chip-harness.mjs +0 -62
  205. package/esm2022/chips/testing/chip-input-harness.mjs +0 -85
  206. package/esm2022/chips/testing/chip-listbox-harness.mjs +0 -61
  207. package/esm2022/chips/testing/chip-option-harness.mjs +0 -45
  208. package/esm2022/chips/testing/chip-remove-harness.mjs +0 -26
  209. package/esm2022/chips/testing/chip-row-harness.mjs +0 -40
  210. package/esm2022/chips/testing/chip-set-harness.mjs +0 -26
  211. package/esm2022/chips/testing/index.mjs +0 -9
  212. package/esm2022/chips/testing/public-api.mjs +0 -19
  213. package/esm2022/chips/tokens.mjs +0 -39
  214. package/esm2022/core/animation/animation.mjs +0 -21
  215. package/esm2022/core/common-behaviors/color.mjs +0 -33
  216. package/esm2022/core/common-behaviors/common-module.mjs +0 -127
  217. package/esm2022/core/common-behaviors/constructor.mjs +0 -9
  218. package/esm2022/core/common-behaviors/disable-ripple.mjs +0 -24
  219. package/esm2022/core/common-behaviors/disabled.mjs +0 -23
  220. package/esm2022/core/common-behaviors/error-state.mjs +0 -66
  221. package/esm2022/core/common-behaviors/index.mjs +0 -15
  222. package/esm2022/core/common-behaviors/initialized.mjs +0 -62
  223. package/esm2022/core/common-behaviors/tabindex.mjs +0 -25
  224. package/esm2022/core/core_public_index.mjs +0 -5
  225. package/esm2022/core/datetime/date-adapter.mjs +0 -109
  226. package/esm2022/core/datetime/date-formats.mjs +0 -10
  227. package/esm2022/core/datetime/index.mjs +0 -46
  228. package/esm2022/core/datetime/native-date-adapter.mjs +0 -221
  229. package/esm2022/core/datetime/native-date-formats.mjs +0 -19
  230. package/esm2022/core/error/error-options.mjs +0 -33
  231. package/esm2022/core/index.mjs +0 -9
  232. package/esm2022/core/internal-form-field/internal-form-field.mjs +0 -29
  233. package/esm2022/core/line/line.mjs +0 -64
  234. package/esm2022/core/option/index.mjs +0 -30
  235. package/esm2022/core/option/optgroup.mjs +0 -71
  236. package/esm2022/core/option/option-parent.mjs +0 -13
  237. package/esm2022/core/option/option.mjs +0 -283
  238. package/esm2022/core/private/index.mjs +0 -9
  239. package/esm2022/core/private/ripple-loader.mjs +0 -160
  240. package/esm2022/core/public-api.mjs +0 -19
  241. package/esm2022/core/ripple/index.mjs +0 -27
  242. package/esm2022/core/ripple/ripple-event-manager.mjs +0 -69
  243. package/esm2022/core/ripple/ripple-ref.mjs +0 -39
  244. package/esm2022/core/ripple/ripple-renderer.mjs +0 -354
  245. package/esm2022/core/ripple/ripple.mjs +0 -156
  246. package/esm2022/core/selection/index.mjs +0 -10
  247. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +0 -24
  248. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +0 -62
  249. package/esm2022/core/testing/index.mjs +0 -9
  250. package/esm2022/core/testing/optgroup-harness-filters.mjs +0 -9
  251. package/esm2022/core/testing/optgroup-harness.mjs +0 -43
  252. package/esm2022/core/testing/option-harness-filters.mjs +0 -9
  253. package/esm2022/core/testing/option-harness.mjs +0 -53
  254. package/esm2022/core/testing/public-api.mjs +0 -12
  255. package/esm2022/core/version.mjs +0 -11
  256. package/esm2022/datepicker/aria-accessible-name.mjs +0 -159
  257. package/esm2022/datepicker/calendar-body.mjs +0 -509
  258. package/esm2022/datepicker/calendar.mjs +0 -426
  259. package/esm2022/datepicker/date-range-input-parts.mjs +0 -372
  260. package/esm2022/datepicker/date-range-input.mjs +0 -369
  261. package/esm2022/datepicker/date-range-picker.mjs +0 -51
  262. package/esm2022/datepicker/date-range-selection-strategy.mjs +0 -97
  263. package/esm2022/datepicker/date-selection-model.mjs +0 -188
  264. package/esm2022/datepicker/datepicker-actions.mjs +0 -91
  265. package/esm2022/datepicker/datepicker-animations.mjs +0 -35
  266. package/esm2022/datepicker/datepicker-base.mjs +0 -609
  267. package/esm2022/datepicker/datepicker-errors.mjs +0 -14
  268. package/esm2022/datepicker/datepicker-input-base.mjs +0 -311
  269. package/esm2022/datepicker/datepicker-input.mjs +0 -200
  270. package/esm2022/datepicker/datepicker-intl.mjs +0 -69
  271. package/esm2022/datepicker/datepicker-module.mjs +0 -138
  272. package/esm2022/datepicker/datepicker-toggle.mjs +0 -113
  273. package/esm2022/datepicker/datepicker.mjs +0 -38
  274. package/esm2022/datepicker/datepicker_public_index.mjs +0 -5
  275. package/esm2022/datepicker/index.mjs +0 -9
  276. package/esm2022/datepicker/month-view.mjs +0 -460
  277. package/esm2022/datepicker/multi-year-view.mjs +0 -330
  278. package/esm2022/datepicker/public-api.mjs +0 -27
  279. package/esm2022/datepicker/testing/calendar-cell-harness.mjs +0 -138
  280. package/esm2022/datepicker/testing/calendar-harness.mjs +0 -83
  281. package/esm2022/datepicker/testing/date-range-input-harness.mjs +0 -98
  282. package/esm2022/datepicker/testing/datepicker-harness-filters.mjs +0 -9
  283. package/esm2022/datepicker/testing/datepicker-input-harness-base.mjs +0 -81
  284. package/esm2022/datepicker/testing/datepicker-input-harness.mjs +0 -58
  285. package/esm2022/datepicker/testing/datepicker-toggle-harness.mjs +0 -41
  286. package/esm2022/datepicker/testing/datepicker-trigger-harness-base.mjs +0 -65
  287. package/esm2022/datepicker/testing/index.mjs +0 -9
  288. package/esm2022/datepicker/testing/public-api.mjs +0 -14
  289. package/esm2022/datepicker/year-view.mjs +0 -324
  290. package/esm2022/dialog/dialog-animations.mjs +0 -38
  291. package/esm2022/dialog/dialog-config.mjs +0 -59
  292. package/esm2022/dialog/dialog-container.mjs +0 -253
  293. package/esm2022/dialog/dialog-content-directives.mjs +0 -212
  294. package/esm2022/dialog/dialog-ref.mjs +0 -177
  295. package/esm2022/dialog/dialog.mjs +0 -212
  296. package/esm2022/dialog/dialog_public_index.mjs +0 -5
  297. package/esm2022/dialog/index.mjs +0 -9
  298. package/esm2022/dialog/module.mjs +0 -45
  299. package/esm2022/dialog/public-api.mjs +0 -15
  300. package/esm2022/dialog/testing/dialog-harness-filters.mjs +0 -9
  301. package/esm2022/dialog/testing/dialog-harness.mjs +0 -84
  302. package/esm2022/dialog/testing/dialog-opener.mjs +0 -58
  303. package/esm2022/dialog/testing/index.mjs +0 -10
  304. package/esm2022/dialog/testing/public-api.mjs +0 -10
  305. package/esm2022/divider/divider-module.mjs +0 -24
  306. package/esm2022/divider/divider.mjs +0 -48
  307. package/esm2022/divider/divider_public_index.mjs +0 -5
  308. package/esm2022/divider/index.mjs +0 -9
  309. package/esm2022/divider/public-api.mjs +0 -10
  310. package/esm2022/divider/testing/divider-harness-filters.mjs +0 -9
  311. package/esm2022/divider/testing/divider-harness.mjs +0 -22
  312. package/esm2022/divider/testing/index.mjs +0 -9
  313. package/esm2022/divider/testing/public-api.mjs +0 -10
  314. package/esm2022/expansion/accordion-base.mjs +0 -14
  315. package/esm2022/expansion/accordion.mjs +0 -96
  316. package/esm2022/expansion/expansion-animations.mjs +0 -51
  317. package/esm2022/expansion/expansion-module.mjs +0 -65
  318. package/esm2022/expansion/expansion-panel-base.mjs +0 -14
  319. package/esm2022/expansion/expansion-panel-content.mjs +0 -35
  320. package/esm2022/expansion/expansion-panel-header.mjs +0 -218
  321. package/esm2022/expansion/expansion-panel.mjs +0 -211
  322. package/esm2022/expansion/expansion_public_index.mjs +0 -5
  323. package/esm2022/expansion/index.mjs +0 -9
  324. package/esm2022/expansion/public-api.mjs +0 -16
  325. package/esm2022/expansion/testing/accordion-harness.mjs +0 -31
  326. package/esm2022/expansion/testing/expansion-harness-filters.mjs +0 -9
  327. package/esm2022/expansion/testing/expansion-harness.mjs +0 -128
  328. package/esm2022/expansion/testing/index.mjs +0 -9
  329. package/esm2022/expansion/testing/public-api.mjs +0 -11
  330. package/esm2022/form-field/directives/error.mjs +0 -48
  331. package/esm2022/form-field/directives/floating-label.mjs +0 -135
  332. package/esm2022/form-field/directives/hint.mjs +0 -40
  333. package/esm2022/form-field/directives/label.mjs +0 -22
  334. package/esm2022/form-field/directives/line-ripple.mjs +0 -60
  335. package/esm2022/form-field/directives/notched-outline.mjs +0 -66
  336. package/esm2022/form-field/directives/prefix.mjs +0 -38
  337. package/esm2022/form-field/directives/suffix.mjs +0 -38
  338. package/esm2022/form-field/form-field-animations.mjs +0 -24
  339. package/esm2022/form-field/form-field-control.mjs +0 -11
  340. package/esm2022/form-field/form-field-errors.mjs +0 -20
  341. package/esm2022/form-field/form-field.mjs +0 -620
  342. package/esm2022/form-field/form-field_public_index.mjs +0 -5
  343. package/esm2022/form-field/index.mjs +0 -9
  344. package/esm2022/form-field/module.mjs +0 -51
  345. package/esm2022/form-field/public-api.mjs +0 -18
  346. package/esm2022/form-field/testing/control/form-field-control-harness.mjs +0 -15
  347. package/esm2022/form-field/testing/control/index.mjs +0 -9
  348. package/esm2022/form-field/testing/error-harness.mjs +0 -29
  349. package/esm2022/form-field/testing/form-field-harness-filters.mjs +0 -9
  350. package/esm2022/form-field/testing/form-field-harness.mjs +0 -179
  351. package/esm2022/form-field/testing/index.mjs +0 -9
  352. package/esm2022/form-field/testing/public-api.mjs +0 -15
  353. package/esm2022/grid-list/grid-list-base.mjs +0 -14
  354. package/esm2022/grid-list/grid-list-module.mjs +0 -59
  355. package/esm2022/grid-list/grid-list.mjs +0 -146
  356. package/esm2022/grid-list/grid-list_public_index.mjs +0 -5
  357. package/esm2022/grid-list/grid-tile.mjs +0 -128
  358. package/esm2022/grid-list/index.mjs +0 -9
  359. package/esm2022/grid-list/public-api.mjs +0 -14
  360. package/esm2022/grid-list/testing/grid-list-harness-filters.mjs +0 -9
  361. package/esm2022/grid-list/testing/grid-list-harness.mjs +0 -76
  362. package/esm2022/grid-list/testing/grid-tile-harness.mjs +0 -71
  363. package/esm2022/grid-list/testing/index.mjs +0 -9
  364. package/esm2022/grid-list/testing/public-api.mjs +0 -11
  365. package/esm2022/grid-list/tile-coordinator.mjs +0 -145
  366. package/esm2022/grid-list/tile-styler.mjs +0 -231
  367. package/esm2022/icon/fake-svgs.mjs +0 -62
  368. package/esm2022/icon/icon-module.mjs +0 -24
  369. package/esm2022/icon/icon-registry.mjs +0 -593
  370. package/esm2022/icon/icon.mjs +0 -379
  371. package/esm2022/icon/icon_public_index.mjs +0 -5
  372. package/esm2022/icon/index.mjs +0 -9
  373. package/esm2022/icon/public-api.mjs +0 -11
  374. package/esm2022/icon/testing/fake-icon-registry.mjs +0 -92
  375. package/esm2022/icon/testing/icon-harness-filters.mjs +0 -14
  376. package/esm2022/icon/testing/icon-harness.mjs +0 -60
  377. package/esm2022/icon/testing/index.mjs +0 -9
  378. package/esm2022/icon/testing/public-api.mjs +0 -11
  379. package/esm2022/icon/testing/testing_public_index.mjs +0 -5
  380. package/esm2022/icon/trusted-types.mjs +0 -43
  381. package/esm2022/index.mjs +0 -14
  382. package/esm2022/input/index.mjs +0 -9
  383. package/esm2022/input/input-errors.mjs +0 -12
  384. package/esm2022/input/input-value-accessor.mjs +0 -16
  385. package/esm2022/input/input.mjs +0 -490
  386. package/esm2022/input/input_public_index.mjs +0 -5
  387. package/esm2022/input/module.mjs +0 -26
  388. package/esm2022/input/public-api.mjs +0 -14
  389. package/esm2022/input/testing/index.mjs +0 -9
  390. package/esm2022/input/testing/input-harness-filters.mjs +0 -9
  391. package/esm2022/input/testing/input-harness.mjs +0 -113
  392. package/esm2022/input/testing/native-option-harness.mjs +0 -42
  393. package/esm2022/input/testing/native-select-harness-filters.mjs +0 -9
  394. package/esm2022/input/testing/native-select-harness.mjs +0 -79
  395. package/esm2022/input/testing/public-api.mjs +0 -13
  396. package/esm2022/list/action-list.mjs +0 -31
  397. package/esm2022/list/index.mjs +0 -9
  398. package/esm2022/list/list-base.mjs +0 -284
  399. package/esm2022/list/list-item-sections.mjs +0 -144
  400. package/esm2022/list/list-module.mjs +0 -97
  401. package/esm2022/list/list-option-types.mjs +0 -16
  402. package/esm2022/list/list-option.mjs +0 -295
  403. package/esm2022/list/list.mjs +0 -103
  404. package/esm2022/list/list_public_index.mjs +0 -5
  405. package/esm2022/list/nav-list.mjs +0 -37
  406. package/esm2022/list/public-api.mjs +0 -18
  407. package/esm2022/list/selection-list.mjs +0 -391
  408. package/esm2022/list/subheader.mjs +0 -28
  409. package/esm2022/list/testing/action-list-harness.mjs +0 -59
  410. package/esm2022/list/testing/index.mjs +0 -9
  411. package/esm2022/list/testing/list-harness-base.mjs +0 -95
  412. package/esm2022/list/testing/list-harness-filters.mjs +0 -9
  413. package/esm2022/list/testing/list-harness.mjs +0 -41
  414. package/esm2022/list/testing/list-item-harness-base.mjs +0 -162
  415. package/esm2022/list/testing/nav-list-harness.mjs +0 -69
  416. package/esm2022/list/testing/public-api.mjs +0 -14
  417. package/esm2022/list/testing/selection-list-harness.mjs +0 -122
  418. package/esm2022/list/tokens.mjs +0 -11
  419. package/esm2022/menu/index.mjs +0 -9
  420. package/esm2022/menu/menu-animations.mjs +0 -61
  421. package/esm2022/menu/menu-content.mjs +0 -87
  422. package/esm2022/menu/menu-errors.mjs +0 -35
  423. package/esm2022/menu/menu-item.mjs +0 -148
  424. package/esm2022/menu/menu-panel.mjs +0 -14
  425. package/esm2022/menu/menu-positions.mjs +0 -9
  426. package/esm2022/menu/menu-trigger.mjs +0 -542
  427. package/esm2022/menu/menu.mjs +0 -405
  428. package/esm2022/menu/menu_public_index.mjs +0 -5
  429. package/esm2022/menu/module.mjs +0 -63
  430. package/esm2022/menu/public-api.mjs +0 -16
  431. package/esm2022/menu/testing/index.mjs +0 -9
  432. package/esm2022/menu/testing/menu-harness-filters.mjs +0 -9
  433. package/esm2022/menu/testing/menu-harness.mjs +0 -166
  434. package/esm2022/menu/testing/public-api.mjs +0 -10
  435. package/esm2022/paginator/index.mjs +0 -9
  436. package/esm2022/paginator/module.mjs +0 -28
  437. package/esm2022/paginator/paginator-intl.mjs +0 -62
  438. package/esm2022/paginator/paginator.mjs +0 -266
  439. package/esm2022/paginator/paginator_public_index.mjs +0 -5
  440. package/esm2022/paginator/public-api.mjs +0 -11
  441. package/esm2022/paginator/testing/index.mjs +0 -9
  442. package/esm2022/paginator/testing/paginator-harness-filters.mjs +0 -9
  443. package/esm2022/paginator/testing/paginator-harness.mjs +0 -98
  444. package/esm2022/paginator/testing/public-api.mjs +0 -10
  445. package/esm2022/progress-bar/index.mjs +0 -9
  446. package/esm2022/progress-bar/module.mjs +0 -24
  447. package/esm2022/progress-bar/progress-bar.mjs +0 -181
  448. package/esm2022/progress-bar/progress-bar_public_index.mjs +0 -5
  449. package/esm2022/progress-bar/public-api.mjs +0 -10
  450. package/esm2022/progress-bar/testing/index.mjs +0 -9
  451. package/esm2022/progress-bar/testing/progress-bar-harness-filters.mjs +0 -9
  452. package/esm2022/progress-bar/testing/progress-bar-harness.mjs +0 -33
  453. package/esm2022/progress-bar/testing/public-api.mjs +0 -10
  454. package/esm2022/progress-bar/testing/testing_public_index.mjs +0 -5
  455. package/esm2022/progress-spinner/index.mjs +0 -9
  456. package/esm2022/progress-spinner/module.mjs +0 -25
  457. package/esm2022/progress-spinner/progress-spinner.mjs +0 -166
  458. package/esm2022/progress-spinner/progress-spinner_public_index.mjs +0 -5
  459. package/esm2022/progress-spinner/public-api.mjs +0 -10
  460. package/esm2022/progress-spinner/testing/index.mjs +0 -9
  461. package/esm2022/progress-spinner/testing/progress-spinner-harness-filters.mjs +0 -9
  462. package/esm2022/progress-spinner/testing/progress-spinner-harness.mjs +0 -35
  463. package/esm2022/progress-spinner/testing/public-api.mjs +0 -10
  464. package/esm2022/progress-spinner/testing/testing_public_index.mjs +0 -5
  465. package/esm2022/radio/index.mjs +0 -9
  466. package/esm2022/radio/module.mjs +0 -25
  467. package/esm2022/radio/public-api.mjs +0 -10
  468. package/esm2022/radio/radio.mjs +0 -680
  469. package/esm2022/radio/radio_public_index.mjs +0 -5
  470. package/esm2022/radio/testing/index.mjs +0 -9
  471. package/esm2022/radio/testing/public-api.mjs +0 -10
  472. package/esm2022/radio/testing/radio-harness-filters.mjs +0 -9
  473. package/esm2022/radio/testing/radio-harness.mjs +0 -228
  474. package/esm2022/select/index.mjs +0 -9
  475. package/esm2022/select/module.mjs +0 -59
  476. package/esm2022/select/public-api.mjs +0 -15
  477. package/esm2022/select/select-animations.mjs +0 -38
  478. package/esm2022/select/select-errors.mjs +0 -35
  479. package/esm2022/select/select.mjs +0 -1160
  480. package/esm2022/select/select_public_index.mjs +0 -5
  481. package/esm2022/select/testing/index.mjs +0 -9
  482. package/esm2022/select/testing/public-api.mjs +0 -10
  483. package/esm2022/select/testing/select-harness-filters.mjs +0 -9
  484. package/esm2022/select/testing/select-harness.mjs +0 -129
  485. package/esm2022/sidenav/drawer-animations.mjs +0 -33
  486. package/esm2022/sidenav/drawer.mjs +0 -863
  487. package/esm2022/sidenav/index.mjs +0 -9
  488. package/esm2022/sidenav/public-api.mjs +0 -12
  489. package/esm2022/sidenav/sidenav-module.mjs +0 -60
  490. package/esm2022/sidenav/sidenav.mjs +0 -148
  491. package/esm2022/sidenav/sidenav_public_index.mjs +0 -5
  492. package/esm2022/sidenav/testing/drawer-container-harness.mjs +0 -36
  493. package/esm2022/sidenav/testing/drawer-content-harness.mjs +0 -23
  494. package/esm2022/sidenav/testing/drawer-harness-filters.mjs +0 -9
  495. package/esm2022/sidenav/testing/drawer-harness.mjs +0 -49
  496. package/esm2022/sidenav/testing/index.mjs +0 -9
  497. package/esm2022/sidenav/testing/public-api.mjs +0 -15
  498. package/esm2022/sidenav/testing/sidenav-container-harness.mjs +0 -36
  499. package/esm2022/sidenav/testing/sidenav-content-harness.mjs +0 -23
  500. package/esm2022/sidenav/testing/sidenav-harness.mjs +0 -28
  501. package/esm2022/slide-toggle/index.mjs +0 -9
  502. package/esm2022/slide-toggle/module.mjs +0 -41
  503. package/esm2022/slide-toggle/public-api.mjs +0 -12
  504. package/esm2022/slide-toggle/slide-toggle-config.mjs +0 -14
  505. package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +0 -44
  506. package/esm2022/slide-toggle/slide-toggle.mjs +0 -273
  507. package/esm2022/slide-toggle/slide-toggle_public_index.mjs +0 -5
  508. package/esm2022/slide-toggle/testing/index.mjs +0 -9
  509. package/esm2022/slide-toggle/testing/public-api.mjs +0 -10
  510. package/esm2022/slide-toggle/testing/slide-toggle-harness-filters.mjs +0 -9
  511. package/esm2022/slide-toggle/testing/slide-toggle-harness.mjs +0 -110
  512. package/esm2022/slider/index.mjs +0 -9
  513. package/esm2022/slider/module.mjs +0 -39
  514. package/esm2022/slider/public-api.mjs +0 -13
  515. package/esm2022/slider/slider-input.mjs +0 -701
  516. package/esm2022/slider/slider-interface.mjs +0 -56
  517. package/esm2022/slider/slider-thumb.mjs +0 -231
  518. package/esm2022/slider/slider.mjs +0 -746
  519. package/esm2022/slider/slider_public_index.mjs +0 -5
  520. package/esm2022/slider/testing/index.mjs +0 -9
  521. package/esm2022/slider/testing/public-api.mjs +0 -11
  522. package/esm2022/slider/testing/slider-harness-filters.mjs +0 -7
  523. package/esm2022/slider/testing/slider-harness.mjs +0 -67
  524. package/esm2022/slider/testing/slider-thumb-harness.mjs +0 -95
  525. package/esm2022/snack-bar/index.mjs +0 -9
  526. package/esm2022/snack-bar/module.mjs +0 -47
  527. package/esm2022/snack-bar/public-api.mjs +0 -16
  528. package/esm2022/snack-bar/simple-snack-bar.mjs +0 -40
  529. package/esm2022/snack-bar/snack-bar-animations.mjs +0 -30
  530. package/esm2022/snack-bar/snack-bar-config.mjs +0 -33
  531. package/esm2022/snack-bar/snack-bar-container.mjs +0 -277
  532. package/esm2022/snack-bar/snack-bar-content.mjs +0 -55
  533. package/esm2022/snack-bar/snack-bar-ref.mjs +0 -89
  534. package/esm2022/snack-bar/snack-bar.mjs +0 -267
  535. package/esm2022/snack-bar/snack-bar_public_index.mjs +0 -5
  536. package/esm2022/snack-bar/testing/index.mjs +0 -9
  537. package/esm2022/snack-bar/testing/public-api.mjs +0 -10
  538. package/esm2022/snack-bar/testing/snack-bar-harness-filters.mjs +0 -9
  539. package/esm2022/snack-bar/testing/snack-bar-harness.mjs +0 -101
  540. package/esm2022/sort/index.mjs +0 -9
  541. package/esm2022/sort/public-api.mjs +0 -14
  542. package/esm2022/sort/sort-animations.mjs +0 -69
  543. package/esm2022/sort/sort-direction.mjs +0 -9
  544. package/esm2022/sort/sort-errors.mjs +0 -24
  545. package/esm2022/sort/sort-header-intl.mjs +0 -41
  546. package/esm2022/sort/sort-header.mjs +0 -317
  547. package/esm2022/sort/sort-module.mjs +0 -27
  548. package/esm2022/sort/sort.mjs +0 -155
  549. package/esm2022/sort/sort_public_index.mjs +0 -5
  550. package/esm2022/sort/testing/index.mjs +0 -9
  551. package/esm2022/sort/testing/public-api.mjs +0 -11
  552. package/esm2022/sort/testing/sort-harness-filters.mjs +0 -2
  553. package/esm2022/sort/testing/sort-harness.mjs +0 -36
  554. package/esm2022/sort/testing/sort-header-harness.mjs +0 -56
  555. package/esm2022/stepper/index.mjs +0 -9
  556. package/esm2022/stepper/public-api.mjs +0 -17
  557. package/esm2022/stepper/step-content.mjs +0 -27
  558. package/esm2022/stepper/step-header.mjs +0 -105
  559. package/esm2022/stepper/step-label.mjs +0 -22
  560. package/esm2022/stepper/stepper-animations.mjs +0 -47
  561. package/esm2022/stepper/stepper-button.mjs +0 -43
  562. package/esm2022/stepper/stepper-icon.mjs +0 -30
  563. package/esm2022/stepper/stepper-intl.mjs +0 -43
  564. package/esm2022/stepper/stepper-module.mjs +0 -88
  565. package/esm2022/stepper/stepper.mjs +0 -205
  566. package/esm2022/stepper/stepper_public_index.mjs +0 -5
  567. package/esm2022/stepper/testing/index.mjs +0 -9
  568. package/esm2022/stepper/testing/public-api.mjs +0 -12
  569. package/esm2022/stepper/testing/step-harness-filters.mjs +0 -7
  570. package/esm2022/stepper/testing/step-harness.mjs +0 -90
  571. package/esm2022/stepper/testing/stepper-button-harnesses.mjs +0 -48
  572. package/esm2022/stepper/testing/stepper-harness.mjs +0 -51
  573. package/esm2022/table/cell.mjs +0 -147
  574. package/esm2022/table/index.mjs +0 -9
  575. package/esm2022/table/module.mjs +0 -93
  576. package/esm2022/table/public-api.mjs +0 -14
  577. package/esm2022/table/row.mjs +0 -163
  578. package/esm2022/table/table-data-source.mjs +0 -317
  579. package/esm2022/table/table.mjs +0 -122
  580. package/esm2022/table/table_public_index.mjs +0 -5
  581. package/esm2022/table/testing/cell-harness.mjs +0 -77
  582. package/esm2022/table/testing/index.mjs +0 -9
  583. package/esm2022/table/testing/public-api.mjs +0 -12
  584. package/esm2022/table/testing/row-harness.mjs +0 -84
  585. package/esm2022/table/testing/table-harness-filters.mjs +0 -2
  586. package/esm2022/table/testing/table-harness.mjs +0 -86
  587. package/esm2022/table/text-column.mjs +0 -60
  588. package/esm2022/tabs/index.mjs +0 -9
  589. package/esm2022/tabs/ink-bar.mjs +0 -149
  590. package/esm2022/tabs/module.mjs +0 -60
  591. package/esm2022/tabs/paginated-tab-header.mjs +0 -539
  592. package/esm2022/tabs/public-api.mjs +0 -21
  593. package/esm2022/tabs/tab-body.mjs +0 -199
  594. package/esm2022/tabs/tab-config.mjs +0 -11
  595. package/esm2022/tabs/tab-content.mjs +0 -32
  596. package/esm2022/tabs/tab-group.mjs +0 -469
  597. package/esm2022/tabs/tab-header.mjs +0 -86
  598. package/esm2022/tabs/tab-label-wrapper.mjs +0 -49
  599. package/esm2022/tabs/tab-label.mjs +0 -44
  600. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +0 -388
  601. package/esm2022/tabs/tab.mjs +0 -128
  602. package/esm2022/tabs/tabs-animations.mjs +0 -45
  603. package/esm2022/tabs/tabs_public_index.mjs +0 -5
  604. package/esm2022/tabs/testing/index.mjs +0 -9
  605. package/esm2022/tabs/testing/public-api.mjs +0 -13
  606. package/esm2022/tabs/testing/tab-group-harness.mjs +0 -56
  607. package/esm2022/tabs/testing/tab-harness-filters.mjs +0 -2
  608. package/esm2022/tabs/testing/tab-harness.mjs +0 -66
  609. package/esm2022/tabs/testing/tab-link-harness.mjs +0 -40
  610. package/esm2022/tabs/testing/tab-nav-bar-harness.mjs +0 -66
  611. package/esm2022/tabs/testing/tab-nav-panel-harness.mjs +0 -27
  612. package/esm2022/toolbar/index.mjs +0 -9
  613. package/esm2022/toolbar/public-api.mjs +0 -10
  614. package/esm2022/toolbar/testing/index.mjs +0 -9
  615. package/esm2022/toolbar/testing/public-api.mjs +0 -10
  616. package/esm2022/toolbar/testing/toolbar-harness-filters.mjs +0 -9
  617. package/esm2022/toolbar/testing/toolbar-harness.mjs +0 -44
  618. package/esm2022/toolbar/toolbar-module.mjs +0 -24
  619. package/esm2022/toolbar/toolbar.mjs +0 -84
  620. package/esm2022/toolbar/toolbar_public_index.mjs +0 -5
  621. package/esm2022/tooltip/index.mjs +0 -9
  622. package/esm2022/tooltip/module.mjs +0 -29
  623. package/esm2022/tooltip/public-api.mjs +0 -11
  624. package/esm2022/tooltip/testing/index.mjs +0 -9
  625. package/esm2022/tooltip/testing/public-api.mjs +0 -10
  626. package/esm2022/tooltip/testing/tooltip-harness-filters.mjs +0 -9
  627. package/esm2022/tooltip/testing/tooltip-harness.mjs +0 -66
  628. package/esm2022/tooltip/tooltip-animations.mjs +0 -24
  629. package/esm2022/tooltip/tooltip.mjs +0 -920
  630. package/esm2022/tooltip/tooltip_public_index.mjs +0 -5
  631. package/esm2022/tree/data-source/flat-data-source.mjs +0 -156
  632. package/esm2022/tree/data-source/nested-data-source.mjs +0 -38
  633. package/esm2022/tree/index.mjs +0 -9
  634. package/esm2022/tree/node.mjs +0 -220
  635. package/esm2022/tree/outlet.mjs +0 -46
  636. package/esm2022/tree/padding.mjs +0 -46
  637. package/esm2022/tree/public-api.mjs +0 -16
  638. package/esm2022/tree/testing/index.mjs +0 -9
  639. package/esm2022/tree/testing/node-harness.mjs +0 -73
  640. package/esm2022/tree/testing/public-api.mjs +0 -11
  641. package/esm2022/tree/testing/tree-harness-filters.mjs +0 -9
  642. package/esm2022/tree/testing/tree-harness.mjs +0 -123
  643. package/esm2022/tree/toggle.mjs +0 -27
  644. package/esm2022/tree/tree-module.mjs +0 -50
  645. package/esm2022/tree/tree.mjs +0 -34
  646. package/esm2022/tree/tree_public_index.mjs +0 -5
@@ -1,420 +0,0 @@
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 { DOWN_ARROW, hasModifierKey, TAB, UP_ARROW } from '@angular/cdk/keycodes';
10
- import { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, Optional, Output, QueryList, Self, ViewEncapsulation, } from '@angular/core';
11
- import { FormGroupDirective, NgControl, NgForm, Validators, } from '@angular/forms';
12
- import { _ErrorStateTracker, ErrorStateMatcher } from '@angular/material/core';
13
- import { MatFormFieldControl } from '@angular/material/form-field';
14
- import { merge, Subject } from 'rxjs';
15
- import { takeUntil } from 'rxjs/operators';
16
- import { MatChipRow } from './chip-row';
17
- import { MatChipSet } from './chip-set';
18
- import * as i0 from "@angular/core";
19
- import * as i1 from "@angular/cdk/bidi";
20
- import * as i2 from "@angular/forms";
21
- import * as i3 from "@angular/material/core";
22
- /** Change event object that is emitted when the chip grid value has changed. */
23
- export class MatChipGridChange {
24
- constructor(
25
- /** Chip grid that emitted the event. */
26
- source,
27
- /** Value of the chip grid when the event was emitted. */
28
- value) {
29
- this.source = source;
30
- this.value = value;
31
- }
32
- }
33
- /**
34
- * An extension of the MatChipSet component used with MatChipRow chips and
35
- * the matChipInputFor directive.
36
- */
37
- export class MatChipGrid extends MatChipSet {
38
- /**
39
- * Implemented as part of MatFormFieldControl.
40
- * @docs-private
41
- */
42
- get disabled() {
43
- return this.ngControl ? !!this.ngControl.disabled : this._disabled;
44
- }
45
- set disabled(value) {
46
- this._disabled = value;
47
- this._syncChipsState();
48
- }
49
- /**
50
- * Implemented as part of MatFormFieldControl.
51
- * @docs-private
52
- */
53
- get id() {
54
- return this._chipInput.id;
55
- }
56
- /**
57
- * Implemented as part of MatFormFieldControl.
58
- * @docs-private
59
- */
60
- get empty() {
61
- return ((!this._chipInput || this._chipInput.empty) && (!this._chips || this._chips.length === 0));
62
- }
63
- /**
64
- * Implemented as part of MatFormFieldControl.
65
- * @docs-private
66
- */
67
- get placeholder() {
68
- return this._chipInput ? this._chipInput.placeholder : this._placeholder;
69
- }
70
- set placeholder(value) {
71
- this._placeholder = value;
72
- this.stateChanges.next();
73
- }
74
- /** Whether any chips or the matChipInput inside of this chip-grid has focus. */
75
- get focused() {
76
- return this._chipInput.focused || this._hasFocusedChip();
77
- }
78
- /**
79
- * Implemented as part of MatFormFieldControl.
80
- * @docs-private
81
- */
82
- get required() {
83
- return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;
84
- }
85
- set required(value) {
86
- this._required = value;
87
- this.stateChanges.next();
88
- }
89
- /**
90
- * Implemented as part of MatFormFieldControl.
91
- * @docs-private
92
- */
93
- get shouldLabelFloat() {
94
- return !this.empty || this.focused;
95
- }
96
- /**
97
- * Implemented as part of MatFormFieldControl.
98
- * @docs-private
99
- */
100
- get value() {
101
- return this._value;
102
- }
103
- set value(value) {
104
- this._value = value;
105
- }
106
- /** An object used to control when error messages are shown. */
107
- get errorStateMatcher() {
108
- return this._errorStateTracker.matcher;
109
- }
110
- set errorStateMatcher(value) {
111
- this._errorStateTracker.matcher = value;
112
- }
113
- /** Combined stream of all of the child chips' blur events. */
114
- get chipBlurChanges() {
115
- return this._getChipStream(chip => chip._onBlur);
116
- }
117
- /** Whether the chip grid is in an error state. */
118
- get errorState() {
119
- return this._errorStateTracker.errorState;
120
- }
121
- set errorState(value) {
122
- this._errorStateTracker.errorState = value;
123
- }
124
- constructor(elementRef, changeDetectorRef, dir, parentForm, parentFormGroup, defaultErrorStateMatcher, ngControl) {
125
- super(elementRef, changeDetectorRef, dir);
126
- this.ngControl = ngControl;
127
- /**
128
- * Implemented as part of MatFormFieldControl.
129
- * @docs-private
130
- */
131
- this.controlType = 'mat-chip-grid';
132
- this._defaultRole = 'grid';
133
- /**
134
- * List of element ids to propagate to the chipInput's aria-describedby attribute.
135
- */
136
- this._ariaDescribedbyIds = [];
137
- /**
138
- * Function when touched. Set as part of ControlValueAccessor implementation.
139
- * @docs-private
140
- */
141
- this._onTouched = () => { };
142
- /**
143
- * Function when changed. Set as part of ControlValueAccessor implementation.
144
- * @docs-private
145
- */
146
- this._onChange = () => { };
147
- this._value = [];
148
- /** Emits when the chip grid value has been changed by the user. */
149
- this.change = new EventEmitter();
150
- /**
151
- * Emits whenever the raw value of the chip-grid changes. This is here primarily
152
- * to facilitate the two-way binding for the `value` input.
153
- * @docs-private
154
- */
155
- this.valueChange = new EventEmitter();
156
- this._chips = undefined;
157
- /**
158
- * Emits whenever the component state changes and should cause the parent
159
- * form-field to update. Implemented as part of `MatFormFieldControl`.
160
- * @docs-private
161
- */
162
- this.stateChanges = new Subject();
163
- if (this.ngControl) {
164
- this.ngControl.valueAccessor = this;
165
- }
166
- this._errorStateTracker = new _ErrorStateTracker(defaultErrorStateMatcher, ngControl, parentFormGroup, parentForm, this.stateChanges);
167
- }
168
- ngAfterContentInit() {
169
- this.chipBlurChanges.pipe(takeUntil(this._destroyed)).subscribe(() => {
170
- this._blur();
171
- this.stateChanges.next();
172
- });
173
- merge(this.chipFocusChanges, this._chips.changes)
174
- .pipe(takeUntil(this._destroyed))
175
- .subscribe(() => this.stateChanges.next());
176
- }
177
- ngAfterViewInit() {
178
- super.ngAfterViewInit();
179
- if (!this._chipInput && (typeof ngDevMode === 'undefined' || ngDevMode)) {
180
- throw Error('mat-chip-grid must be used in combination with matChipInputFor.');
181
- }
182
- }
183
- ngDoCheck() {
184
- if (this.ngControl) {
185
- // We need to re-evaluate this on every change detection cycle, because there are some
186
- // error triggers that we can't subscribe to (e.g. parent form submissions). This means
187
- // that whatever logic is in here has to be super lean or we risk destroying the performance.
188
- this.updateErrorState();
189
- }
190
- }
191
- ngOnDestroy() {
192
- super.ngOnDestroy();
193
- this.stateChanges.complete();
194
- }
195
- /** Associates an HTML input element with this chip grid. */
196
- registerInput(inputElement) {
197
- this._chipInput = inputElement;
198
- this._chipInput.setDescribedByIds(this._ariaDescribedbyIds);
199
- }
200
- /**
201
- * Implemented as part of MatFormFieldControl.
202
- * @docs-private
203
- */
204
- onContainerClick(event) {
205
- if (!this.disabled && !this._originatesFromChip(event)) {
206
- this.focus();
207
- }
208
- }
209
- /**
210
- * Focuses the first chip in this chip grid, or the associated input when there
211
- * are no eligible chips.
212
- */
213
- focus() {
214
- if (this.disabled || this._chipInput.focused) {
215
- return;
216
- }
217
- if (!this._chips.length || this._chips.first.disabled) {
218
- // Delay until the next tick, because this can cause a "changed after checked"
219
- // error if the input does something on focus (e.g. opens an autocomplete).
220
- Promise.resolve().then(() => this._chipInput.focus());
221
- }
222
- else if (this._chips.length && this._keyManager.activeItemIndex !== 0) {
223
- this._keyManager.setFirstItemActive();
224
- }
225
- this.stateChanges.next();
226
- }
227
- /**
228
- * Implemented as part of MatFormFieldControl.
229
- * @docs-private
230
- */
231
- setDescribedByIds(ids) {
232
- // We must keep this up to date to handle the case where ids are set
233
- // before the chip input is registered.
234
- this._ariaDescribedbyIds = ids;
235
- this._chipInput?.setDescribedByIds(ids);
236
- }
237
- /**
238
- * Implemented as part of ControlValueAccessor.
239
- * @docs-private
240
- */
241
- writeValue(value) {
242
- // The user is responsible for creating the child chips, so we just store the value.
243
- this._value = value;
244
- }
245
- /**
246
- * Implemented as part of ControlValueAccessor.
247
- * @docs-private
248
- */
249
- registerOnChange(fn) {
250
- this._onChange = fn;
251
- }
252
- /**
253
- * Implemented as part of ControlValueAccessor.
254
- * @docs-private
255
- */
256
- registerOnTouched(fn) {
257
- this._onTouched = fn;
258
- }
259
- /**
260
- * Implemented as part of ControlValueAccessor.
261
- * @docs-private
262
- */
263
- setDisabledState(isDisabled) {
264
- this.disabled = isDisabled;
265
- this.stateChanges.next();
266
- }
267
- /** Refreshes the error state of the chip grid. */
268
- updateErrorState() {
269
- this._errorStateTracker.updateErrorState();
270
- }
271
- /** When blurred, mark the field as touched when focus moved outside the chip grid. */
272
- _blur() {
273
- if (!this.disabled) {
274
- // Check whether the focus moved to chip input.
275
- // If the focus is not moved to chip input, mark the field as touched. If the focus moved
276
- // to chip input, do nothing.
277
- // Timeout is needed to wait for the focus() event trigger on chip input.
278
- setTimeout(() => {
279
- if (!this.focused) {
280
- this._propagateChanges();
281
- this._markAsTouched();
282
- }
283
- });
284
- }
285
- }
286
- /**
287
- * Removes the `tabindex` from the chip grid and resets it back afterwards, allowing the
288
- * user to tab out of it. This prevents the grid from capturing focus and redirecting
289
- * it back to the first chip, creating a focus trap, if it user tries to tab away.
290
- */
291
- _allowFocusEscape() {
292
- if (!this._chipInput.focused) {
293
- super._allowFocusEscape();
294
- }
295
- }
296
- /** Handles custom keyboard events. */
297
- _handleKeydown(event) {
298
- const keyCode = event.keyCode;
299
- const activeItem = this._keyManager.activeItem;
300
- if (keyCode === TAB) {
301
- if (this._chipInput.focused &&
302
- hasModifierKey(event, 'shiftKey') &&
303
- this._chips.length &&
304
- !this._chips.last.disabled) {
305
- event.preventDefault();
306
- if (activeItem) {
307
- this._keyManager.setActiveItem(activeItem);
308
- }
309
- else {
310
- this._focusLastChip();
311
- }
312
- }
313
- else {
314
- // Use the super method here since it doesn't check for the input
315
- // focused state. This allows focus to escape if there's only one
316
- // disabled chip left in the list.
317
- super._allowFocusEscape();
318
- }
319
- }
320
- else if (!this._chipInput.focused) {
321
- // The up and down arrows are supposed to navigate between the individual rows in the grid.
322
- // We do this by filtering the actions down to the ones that have the same `_isPrimary`
323
- // flag as the active action and moving focus between them ourseles instead of delegating
324
- // to the key manager. For more information, see #29359 and:
325
- // https://www.w3.org/WAI/ARIA/apg/patterns/grid/examples/layout-grids/#ex2_label
326
- if ((keyCode === UP_ARROW || keyCode === DOWN_ARROW) && activeItem) {
327
- const eligibleActions = this._chipActions.filter(action => action._isPrimary === activeItem._isPrimary && !this._skipPredicate(action));
328
- const currentIndex = eligibleActions.indexOf(activeItem);
329
- const delta = event.keyCode === UP_ARROW ? -1 : 1;
330
- event.preventDefault();
331
- if (currentIndex > -1 && this._isValidIndex(currentIndex + delta)) {
332
- this._keyManager.setActiveItem(eligibleActions[currentIndex + delta]);
333
- }
334
- }
335
- else {
336
- super._handleKeydown(event);
337
- }
338
- }
339
- this.stateChanges.next();
340
- }
341
- _focusLastChip() {
342
- if (this._chips.length) {
343
- this._chips.last.focus();
344
- }
345
- }
346
- /** Emits change event to set the model value. */
347
- _propagateChanges() {
348
- const valueToEmit = this._chips.length ? this._chips.toArray().map(chip => chip.value) : [];
349
- this._value = valueToEmit;
350
- this.change.emit(new MatChipGridChange(this, valueToEmit));
351
- this.valueChange.emit(valueToEmit);
352
- this._onChange(valueToEmit);
353
- this._changeDetectorRef.markForCheck();
354
- }
355
- /** Mark the field as touched */
356
- _markAsTouched() {
357
- this._onTouched();
358
- this._changeDetectorRef.markForCheck();
359
- this.stateChanges.next();
360
- }
361
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatChipGrid, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Directionality, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: i3.ErrorStateMatcher }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
362
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.0-next.2", type: MatChipGrid, isStandalone: true, selector: "mat-chip-grid", inputs: { disabled: ["disabled", "disabled", booleanAttribute], placeholder: "placeholder", required: ["required", "required", booleanAttribute], value: "value", errorStateMatcher: "errorStateMatcher" }, outputs: { change: "change", valueChange: "valueChange" }, host: { listeners: { "focus": "focus()", "blur": "_blur()" }, properties: { "attr.role": "role", "attr.tabindex": "(disabled || (_chips && _chips.length === 0)) ? -1 : tabIndex", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "class.mat-mdc-chip-list-disabled": "disabled", "class.mat-mdc-chip-list-invalid": "errorState", "class.mat-mdc-chip-list-required": "required" }, classAttribute: "mat-mdc-chip-set mat-mdc-chip-grid mdc-evolution-chip-set" }, providers: [{ provide: MatFormFieldControl, useExisting: MatChipGrid }], queries: [{ propertyName: "_chips", predicate: MatChipRow, descendants: true }], usesInheritance: true, ngImport: i0, template: `
363
- <div class="mdc-evolution-chip-set__chips" role="presentation">
364
- <ng-content></ng-content>
365
- </div>
366
- `, isInline: true, styles: [".mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
367
- }
368
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatChipGrid, decorators: [{
369
- type: Component,
370
- args: [{ selector: 'mat-chip-grid', template: `
371
- <div class="mdc-evolution-chip-set__chips" role="presentation">
372
- <ng-content></ng-content>
373
- </div>
374
- `, host: {
375
- 'class': 'mat-mdc-chip-set mat-mdc-chip-grid mdc-evolution-chip-set',
376
- '[attr.role]': 'role',
377
- '[attr.tabindex]': '(disabled || (_chips && _chips.length === 0)) ? -1 : tabIndex',
378
- '[attr.aria-disabled]': 'disabled.toString()',
379
- '[attr.aria-invalid]': 'errorState',
380
- '[class.mat-mdc-chip-list-disabled]': 'disabled',
381
- '[class.mat-mdc-chip-list-invalid]': 'errorState',
382
- '[class.mat-mdc-chip-list-required]': 'required',
383
- '(focus)': 'focus()',
384
- '(blur)': '_blur()',
385
- }, providers: [{ provide: MatFormFieldControl, useExisting: MatChipGrid }], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, styles: [".mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}"] }]
386
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Directionality, decorators: [{
387
- type: Optional
388
- }] }, { type: i2.NgForm, decorators: [{
389
- type: Optional
390
- }] }, { type: i2.FormGroupDirective, decorators: [{
391
- type: Optional
392
- }] }, { type: i3.ErrorStateMatcher }, { type: i2.NgControl, decorators: [{
393
- type: Optional
394
- }, {
395
- type: Self
396
- }] }], propDecorators: { disabled: [{
397
- type: Input,
398
- args: [{ transform: booleanAttribute }]
399
- }], placeholder: [{
400
- type: Input
401
- }], required: [{
402
- type: Input,
403
- args: [{ transform: booleanAttribute }]
404
- }], value: [{
405
- type: Input
406
- }], errorStateMatcher: [{
407
- type: Input
408
- }], change: [{
409
- type: Output
410
- }], valueChange: [{
411
- type: Output
412
- }], _chips: [{
413
- type: ContentChildren,
414
- args: [MatChipRow, {
415
- // We need to use `descendants: true`, because Ivy will no longer match
416
- // indirect descendants if it's left as false.
417
- descendants: true,
418
- }]
419
- }] } });
420
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1ncmlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL2NoaXBzL2NoaXAtZ3JpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFHTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUVmLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULElBQUksRUFDSixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGtCQUFrQixFQUNsQixTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzdFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxLQUFLLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ3RDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxZQUFZLENBQUM7Ozs7O0FBR3RDLGdGQUFnRjtBQUNoRixNQUFNLE9BQU8saUJBQWlCO0lBQzVCO0lBQ0Usd0NBQXdDO0lBQ2pDLE1BQW1CO0lBQzFCLHlEQUF5RDtJQUNsRCxLQUFVO1FBRlYsV0FBTSxH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LE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLGFBQWEsRUFBQyxDQUFDLGlCQUN0RCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUk7OzBCQWlMYixRQUFROzswQkFDUixRQUFROzswQkFDUixRQUFROzswQkFFUixRQUFROzswQkFBSSxJQUFJO3lDQXZJTixRQUFRO3NCQURwQixLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDO2dCQWdDaEMsV0FBVztzQkFEZCxLQUFLO2dCQW9CRixRQUFRO3NCQURYLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBdUJoQyxLQUFLO3NCQURSLEtBQUs7Z0JBV0YsaUJBQWlCO3NCQURwQixLQUFLO2dCQWNhLE1BQU07c0JBQXhCLE1BQU07Z0JBUVksV0FBVztzQkFBN0IsTUFBTTtnQkFRRSxNQUFNO3NCQU5kLGVBQWU7dUJBQUMsVUFBVSxFQUFFO3dCQUMzQix1RUFBdUU7d0JBQ3ZFLDhDQUE4Qzt3QkFDOUMsV0FBVyxFQUFFLElBQUk7cUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7RGlyZWN0aW9uYWxpdHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7RE9XTl9BUlJPVywgaGFzTW9kaWZpZXJLZXksIFRBQiwgVVBfQVJST1d9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2VsZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgTmdDb250cm9sLFxuICBOZ0Zvcm0sXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7X0Vycm9yU3RhdGVUcmFja2VyLCBFcnJvclN0YXRlTWF0Y2hlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge01hdEZvcm1GaWVsZENvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHttZXJnZSwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtNYXRDaGlwRXZlbnR9IGZyb20gJy4vY2hpcCc7XG5pbXBvcnQge01hdENoaXBSb3d9IGZyb20gJy4vY2hpcC1yb3cnO1xuaW1wb3J0IHtNYXRDaGlwU2V0fSBmcm9tICcuL2NoaXAtc2V0JztcbmltcG9ydCB7TWF0Q2hpcFRleHRDb250cm9sfSBmcm9tICcuL2NoaXAtdGV4dC1jb250cm9sJztcblxuLyoqIENoYW5nZSBldmVudCBvYmplY3QgdGhhdCBpcyBlbWl0dGVkIHdoZW4gdGhlIGNoaXAgZ3JpZCB2YWx1ZSBoYXMgY2hhbmdlZC4gKi9cbmV4cG9ydCBjbGFzcyBNYXRDaGlwR3JpZENoYW5nZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKiBDaGlwIGdyaWQgdGhhdCBlbWl0dGVkIHRoZSBldmVudC4gKi9cbiAgICBwdWJsaWMgc291cmNlOiBNYXRDaGlwR3JpZCxcbiAgICAvKiogVmFsdWUgb2YgdGhlIGNoaXAgZ3JpZCB3aGVuIHRoZSBldmVudCB3YXMgZW1pdHRlZC4gKi9cbiAgICBwdWJsaWMgdmFsdWU6IGFueSxcbiAgKSB7fVxufVxuXG4vKipcbiAqIEFuIGV4dGVuc2lvbiBvZiB0aGUgTWF0Q2hpcFNldCBjb21wb25lbnQgdXNlZCB3aXRoIE1hdENoaXBSb3cgY2hpcHMgYW5kXG4gKiB0aGUgbWF0Q2hpcElucHV0Rm9yIGRpcmVjdGl2ZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWF0LWNoaXAtZ3JpZCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIm1kYy1ldm9sdXRpb24tY2hpcC1zZXRfX2NoaXBzXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybDogJ2NoaXAtc2V0LmNzcycsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnbWF0LW1kYy1jaGlwLXNldCBtYXQtbWRjLWNoaXAtZ3JpZCBtZGMtZXZvbHV0aW9uLWNoaXAtc2V0JyxcbiAgICAnW2F0dHIucm9sZV0nOiAncm9sZScsXG4gICAgJ1thdHRyLnRhYmluZGV4XSc6ICcoZGlzYWJsZWQgfHwgKF9jaGlwcyAmJiBfY2hpcHMubGVuZ3RoID09PSAwKSkgPyAtMSA6IHRhYkluZGV4JyxcbiAgICAnW2F0dHIuYXJpYS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQudG9TdHJpbmcoKScsXG4gICAgJ1thdHRyLmFyaWEtaW52YWxpZF0nOiAnZXJyb3JTdGF0ZScsXG4gICAgJ1tjbGFzcy5tYXQtbWRjLWNoaXAtbGlzdC1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbY2xhc3MubWF0LW1kYy1jaGlwLWxpc3QtaW52YWxpZF0nOiAnZXJyb3JTdGF0ZScsXG4gICAgJ1tjbGFzcy5tYXQtbWRjLWNoaXAtbGlzdC1yZXF1aXJlZF0nOiAncmVxdWlyZWQnLFxuICAgICcoZm9jdXMpJzogJ2ZvY3VzKCknLFxuICAgICcoYmx1ciknOiAnX2JsdXIoKScsXG4gIH0sXG4gIHByb3ZpZGVyczogW3twcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogTWF0Q2hpcEdyaWR9XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE1hdENoaXBHcmlkXG4gIGV4dGVuZHMgTWF0Q2hpcFNldFxuICBpbXBsZW1lbnRzXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIERvQ2hlY2ssXG4gICAgTWF0Rm9ybUZpZWxkQ29udHJvbDxhbnk+LFxuICAgIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBNYXRGb3JtRmllbGRDb250cm9sLlxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICByZWFkb25seSBjb250cm9sVHlwZTogc3RyaW5nID0gJ21hdC1jaGlwLWdyaWQnO1xuXG4gIC8qKiBUaGUgY2hpcCBpbnB1dCB0byBhZGQgbW9yZSBjaGlwcyAqL1xuICBwcm90ZWN0ZWQgX2NoaXBJbnB1dDogTWF0Q2hpcFRleHRDb250cm9sO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBfZGVmYXVsdFJvbGUgPSAnZ3JpZCc7XG4gIHByaXZhdGUgX2Vycm9yU3RhdGVUcmFja2VyOiBfRXJyb3JTdGF0ZVRyYWNrZXI7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgZWxlbWVudCBpZHMgdG8gcHJvcGFnYXRlIHRvIHRoZSBjaGlwSW5wdXQncyBhcmlhLWRlc2NyaWJlZGJ5IGF0dHJpYnV0ZS5cbiAgICovXG4gIHByaXZhdGUgX2FyaWFEZXNjcmliZWRieUlkczogc3RyaW5nW10gPSBbXTtcblxuICAvKipcbiAgICogRnVuY3Rpb24gd2hlbiB0b3VjaGVkLiBTZXQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3NvciBpbXBsZW1lbnRhdGlvbi5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgX29uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB3aGVuIGNoYW5nZWQuIFNldCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGltcGxlbWVudGF0aW9uLlxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICBfb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgTWF0Rm9ybUZpZWxkQ29udHJvbC5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KVxuICBvdmVycmlkZSBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubmdDb250cm9sID8gISF0aGlzLm5nQ29udHJvbC5kaXNhYmxlZCA6IHRoaXMuX2Rpc2FibGVkO1xuICB9XG4gIG92ZXJyaWRlIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgdGhpcy5fc3luY0NoaXBzU3RhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIE1hdEZvcm1GaWVsZENvbnRyb2wuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jaGlwSW5wdXQuaWQ7XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBNYXRGb3JtRmllbGRDb250cm9sLlxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICBvdmVycmlkZSBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICghdGhpcy5fY2hpcElucHV0IHx8IHRoaXMuX2NoaXBJbnB1dC5lbXB0eSkgJiYgKCF0aGlzLl9jaGlwcyB8fCB0aGlzLl9jaGlwcy5sZW5ndGggPT09IDApXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIE1hdEZvcm1GaWVsZENvbnRyb2wuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jaGlwSW5wdXQgPyB0aGlzLl9jaGlwSW5wdXQucGxhY2Vob2xkZXIgOiB0aGlzLl9wbGFjZWhvbGRlcjtcbiAgfVxuICBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gdmFsdWU7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHByb3RlY3RlZCBfcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAvKiogV2hldGhlciBhbnkgY2hpcHMgb3IgdGhlIG1hdENoaXBJbnB1dCBpbnNpZGUgb2YgdGhpcyBjaGlwLWdyaWQgaGFzIGZvY3VzLiAqL1xuICBvdmVycmlkZSBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY2hpcElucHV0LmZvY3VzZWQgfHwgdGhpcy5faGFzRm9jdXNlZENoaXAoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIE1hdEZvcm1GaWVsZENvbnRyb2wuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSlcbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZCA/PyB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpID8/IGZhbHNlO1xuICB9XG4gIHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gdmFsdWU7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHByb3RlY3RlZCBfcmVxdWlyZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgTWF0Rm9ybUZpZWxkQ29udHJvbC5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgZ2V0IHNob3VsZExhYmVsRmxvYXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmVtcHR5IHx8IHRoaXMuZm9jdXNlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIE1hdEZvcm1GaWVsZENvbnRyb2wuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gIH1cbiAgcHJvdGVjdGVkIF92YWx1ZTogYW55W10gPSBbXTtcblxuICAvKiogQW4gb2JqZWN0IHVzZWQgdG8gY29udHJvbCB3aGVuIGVycm9yIG1lc3NhZ2VzIGFyZSBzaG93bi4gKi9cbiAgQElucHV0KClcbiAgZ2V0IGVycm9yU3RhdGVNYXRjaGVyKCkge1xuICAgIHJldHVybiB0aGlzLl9lcnJvclN0YXRlVHJhY2tlci5tYXRjaGVyO1xuICB9XG4gIHNldCBlcnJvclN0YXRlTWF0Y2hlcih2YWx1ZTogRXJyb3JTdGF0ZU1hdGNoZXIpIHtcbiAgICB0aGlzLl9lcnJvclN0YXRlVHJhY2tlci5tYXRjaGVyID0gdmFsdWU7XG4gIH1cblxuICAvKiogQ29tYmluZWQgc3RyZWFtIG9mIGFsbCBvZiB0aGUgY2hpbGQgY2hpcHMnIGJsdXIgZXZlbnRzLiAqL1xuICBnZXQgY2hpcEJsdXJDaGFuZ2VzKCk6IE9ic2VydmFibGU8TWF0Q2hpcEV2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX2dldENoaXBTdHJlYW0oY2hpcCA9PiBjaGlwLl9vbkJsdXIpO1xuICB9XG5cbiAgLyoqIEVtaXRzIHdoZW4gdGhlIGNoaXAgZ3JpZCB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkIGJ5IHRoZSB1c2VyLiAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8TWF0Q2hpcEdyaWRDaGFuZ2U+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPE1hdENoaXBHcmlkQ2hhbmdlPigpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuZXZlciB0aGUgcmF3IHZhbHVlIG9mIHRoZSBjaGlwLWdyaWQgY2hhbmdlcy4gVGhpcyBpcyBoZXJlIHByaW1hcmlseVxuICAgKiB0byBmYWNpbGl0YXRlIHRoZSB0d28td2F5IGJpbmRpbmcgZm9yIHRoZSBgdmFsdWVgIGlucHV0LlxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihNYXRDaGlwUm93LCB7XG4gICAgLy8gV2UgbmVlZCB0byB1c2UgYGRlc2NlbmRhbnRzOiB0cnVlYCwgYmVjYXVzZSBJdnkgd2lsbCBubyBsb25nZXIgbWF0Y2hcbiAgICAvLyBpbmRpcmVjdCBkZXNjZW5kYW50cyBpZiBpdCdzIGxlZnQgYXMgZmFsc2UuXG4gICAgZGVzY2VuZGFudHM6IHRydWUsXG4gIH0pXG4gIC8vIFdlIG5lZWQgYW4gaW5pdGlhbGl6ZXIgaGVyZSB0byBhdm9pZCBhIFRTIGVycm9yLiBUaGUgdmFsdWUgd2lsbCBiZSBzZXQgaW4gYG5nQWZ0ZXJWaWV3SW5pdGAuXG4gIG92ZXJyaWRlIF9jaGlwczogUXVlcnlMaXN0PE1hdENoaXBSb3c+ID0gdW5kZWZpbmVkITtcblxuICAvKipcbiAgICogRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBzdGF0ZSBjaGFuZ2VzIGFuZCBzaG91bGQgY2F1c2UgdGhlIHBhcmVudFxuICAgKiBmb3JtLWZpZWxkIHRvIHVwZGF0ZS4gSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBgTWF0Rm9ybUZpZWxkQ29udHJvbGAuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNoaXAgZ3JpZCBpcyBpbiBhbiBlcnJvciBzdGF0ZS4gKi9cbiAgZ2V0IGVycm9yU3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Vycm9yU3RhdGVUcmFja2VyLmVycm9yU3RhdGU7XG4gIH1cbiAgc2V0IGVycm9yU3RhdGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9lcnJvclN0YXRlVHJhY2tlci5lcnJvclN0YXRlID0gdmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBkaXI6IERpcmVjdGlvbmFsaXR5LFxuICAgIEBPcHRpb25hbCgpIHBhcmVudEZvcm06IE5nRm9ybSxcbiAgICBAT3B0aW9uYWwoKSBwYXJlbnRGb3JtR3JvdXA6IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgICBkZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyLFxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjaGFuZ2VEZXRlY3RvclJlZiwgZGlyKTtcblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuXG4gICAgdGhpcy5fZXJyb3JTdGF0ZVRyYWNrZXIgPSBuZXcgX0Vycm9yU3RhdGVUcmFja2VyKFxuICAgICAgZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgbmdDb250cm9sLFxuICAgICAgcGFyZW50Rm9ybUdyb3VwLFxuICAgICAgcGFyZW50Rm9ybSxcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLFxuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5jaGlwQmx1ckNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX2JsdXIoKTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9KTtcblxuICAgIG1lcmdlKHRoaXMuY2hpcEZvY3VzQ2hhbmdlcywgdGhpcy5fY2hpcHMuY2hhbmdlcylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCkpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuXG4gICAgaWYgKCF0aGlzLl9jaGlwSW5wdXQgJiYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkpIHtcbiAgICAgIHRocm93IEVycm9yKCdtYXQtY2hpcC1ncmlkIG11c3QgYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIG1hdENoaXBJbnB1dEZvci4nKTtcbiAgICB9XG4gIH1cblxuICBuZ0RvQ2hlY2soKSB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAvLyBXZSBuZWVkIHRvIHJlLWV2YWx1YXRlIHRoaXMgb24gZXZlcnkgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSwgYmVjYXVzZSB0aGVyZSBhcmUgc29tZVxuICAgICAgLy8gZXJyb3IgdHJpZ2dlcnMgdGhhdCB3ZSBjYW4ndCBzdWJzY3JpYmUgdG8gKGUuZy4gcGFyZW50IGZvcm0gc3VibWlzc2lvbnMpLiBUaGlzIG1lYW5zXG4gICAgICAvLyB0aGF0IHdoYXRldmVyIGxvZ2ljIGlzIGluIGhlcmUgaGFzIHRvIGJlIHN1cGVyIGxlYW4gb3Igd2UgcmlzayBkZXN0cm95aW5nIHRoZSBwZXJmb3JtYW5jZS5cbiAgICAgIHRoaXMudXBkYXRlRXJyb3JTdGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKiBBc3NvY2lhdGVzIGFuIEhUTUwgaW5wdXQgZWxlbWVudCB3aXRoIHRoaXMgY2hpcCBncmlkLiAqL1xuICByZWdpc3RlcklucHV0KGlucHV0RWxlbWVudDogTWF0Q2hpcFRleHRDb250cm9sKTogdm9pZCB7XG4gICAgdGhpcy5fY2hpcElucHV0ID0gaW5wdXRFbGVtZW50O1xuICAgIHRoaXMuX2NoaXBJbnB1dC5zZXREZXNjcmliZWRCeUlkcyh0aGlzLl9hcmlhRGVzY3JpYmVkYnlJZHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgTWF0Rm9ybUZpZWxkQ29udHJvbC5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgb25Db250YWluZXJDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5fb3JpZ2luYXRlc0Zyb21DaGlwKGV2ZW50KSkge1xuICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIHRoZSBmaXJzdCBjaGlwIGluIHRoaXMgY2hpcCBncmlkLCBvciB0aGUgYXNzb2NpYXRlZCBpbnB1dCB3aGVuIHRoZXJlXG4gICAqIGFyZSBubyBlbGlnaWJsZSBjaGlwcy5cbiAgICovXG4gIG92ZXJyaWRlIGZvY3VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuX2NoaXBJbnB1dC5mb2N1c2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLl9jaGlwcy5sZW5ndGggfHwgdGhpcy5fY2hpcHMuZmlyc3QuZGlzYWJsZWQpIHtcbiAgICAgIC8vIERlbGF5IHVudGlsIHRoZSBuZXh0IHRpY2ssIGJlY2F1c2UgdGhpcyBjYW4gY2F1c2UgYSBcImNoYW5nZWQgYWZ0ZXIgY2hlY2tlZFwiXG4gICAgICAvLyBlcnJvciBpZiB0aGUgaW5wdXQgZG9lcyBzb21ldGhpbmcgb24gZm9jdXMgKGUuZy4gb3BlbnMgYW4gYXV0b2NvbXBsZXRlKS5cbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gdGhpcy5fY2hpcElucHV0LmZvY3VzKCkpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fY2hpcHMubGVuZ3RoICYmIHRoaXMuX2tleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4ICE9PSAwKSB7XG4gICAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldEZpcnN0SXRlbUFjdGl2ZSgpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIE1hdEZvcm1GaWVsZENvbnRyb2wuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIHNldERlc2NyaWJlZEJ5SWRzKGlkczogc3RyaW5nW10pIHtcbiAgICAvLyBXZSBtdXN0IGtlZXAgdGhpcyB1cCB0byBkYXRlIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBpZHMgYXJlIHNldFxuICAgIC8vIGJlZm9yZSB0aGUgY2hpcCBpbnB1dCBpcyByZWdpc3RlcmVkLlxuICAgIHRoaXMuX2FyaWFEZXNjcmliZWRieUlkcyA9IGlkcztcbiAgICB0aGlzLl9jaGlwSW5wdXQ/LnNldERlc2NyaWJlZEJ5SWRzKGlkcyk7XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgLy8gVGhlIHVzZXIgaXMgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoZSBjaGlsZCBjaGlwcywgc28gd2UganVzdCBzdG9yZSB0aGUgdmFsdWUuXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICAvKiogUmVmcmVzaGVzIHRoZSBlcnJvciBzdGF0ZSBvZiB0aGUgY2hpcCBncmlkLiAqL1xuICB1cGRhdGVFcnJvclN0YXRlKCkge1xuICAgIHRoaXMuX2Vycm9yU3RhdGVUcmFja2VyLnVwZGF0ZUVycm9yU3RhdGUoKTtcbiAgfVxuXG4gIC8qKiBXaGVuIGJsdXJyZWQsIG1hcmsgdGhlIGZpZWxkIGFzIHRvdWNoZWQgd2hlbiBmb2N1cyBtb3ZlZCBvdXRzaWRlIHRoZSBjaGlwIGdyaWQuICovXG4gIF9ibHVyKCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGUgZm9jdXMgbW92ZWQgdG8gY2hpcCBpbnB1dC5cbiAgICAgIC8vIElmIHRoZSBmb2N1cyBpcyBub3QgbW92ZWQgdG8gY2hpcCBpbnB1dCwgbWFyayB0aGUgZmllbGQgYXMgdG91Y2hlZC4gSWYgdGhlIGZvY3VzIG1vdmVkXG4gICAgICAvLyB0byBjaGlwIGlucHV0LCBkbyBub3RoaW5nLlxuICAgICAgLy8gVGltZW91dCBpcyBuZWVkZWQgdG8gd2FpdCBmb3IgdGhlIGZvY3VzKCkgZXZlbnQgdHJpZ2dlciBvbiBjaGlwIGlucHV0LlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgdGhpcy5fcHJvcGFnYXRlQ2hhbmdlcygpO1xuICAgICAgICAgIHRoaXMuX21hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgdGhlIGB0YWJpbmRleGAgZnJvbSB0aGUgY2hpcCBncmlkIGFuZCByZXNldHMgaXQgYmFjayBhZnRlcndhcmRzLCBhbGxvd2luZyB0aGVcbiAgICogdXNlciB0byB0YWIgb3V0IG9mIGl0LiBUaGlzIHByZXZlbnRzIHRoZSBncmlkIGZyb20gY2FwdHVyaW5nIGZvY3VzIGFuZCByZWRpcmVjdGluZ1xuICAgKiBpdCBiYWNrIHRvIHRoZSBmaXJzdCBjaGlwLCBjcmVhdGluZyBhIGZvY3VzIHRyYXAsIGlmIGl0IHVzZXIgdHJpZXMgdG8gdGFiIGF3YXkuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX2FsbG93Rm9jdXNFc2NhcGUoKSB7XG4gICAgaWYgKCF0aGlzLl9jaGlwSW5wdXQuZm9jdXNlZCkge1xuICAgICAgc3VwZXIuX2FsbG93Rm9jdXNFc2NhcGUoKTtcbiAgICB9XG4gIH1cblxuICAvKiogSGFuZGxlcyBjdXN0b20ga2V5Ym9hcmQgZXZlbnRzLiAqL1xuICBvdmVycmlkZSBfaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlO1xuICAgIGNvbnN0IGFjdGl2ZUl0ZW0gPSB0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW07XG5cbiAgICBpZiAoa2V5Q29kZSA9PT0gVEFCKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuX2NoaXBJbnB1dC5mb2N1c2VkICYmXG4gICAgICAgIGhhc01vZGlmaWVyS2V5KGV2ZW50LCAnc2hpZnRLZXknKSAmJlxuICAgICAgICB0aGlzLl9jaGlwcy5sZW5ndGggJiZcbiAgICAgICAgIXRoaXMuX2NoaXBzLmxhc3QuZGlzYWJsZWRcbiAgICAgICkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIGlmIChhY3RpdmVJdGVtKSB7XG4gICAgICAgICAgdGhpcy5fa2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKGFjdGl2ZUl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX2ZvY3VzTGFzdENoaXAoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVXNlIHRoZSBzdXBlciBtZXRob2QgaGVyZSBzaW5jZSBpdCBkb2Vzbid0IGNoZWNrIGZvciB0aGUgaW5wdXRcbiAgICAgICAgLy8gZm9jdXNlZCBzdGF0ZS4gVGhpcyBhbGxvd3MgZm9jdXMgdG8gZXNjYXBlIGlmIHRoZXJlJ3Mgb25seSBvbmVcbiAgICAgICAgLy8gZGlzYWJsZWQgY2hpcCBsZWZ0IGluIHRoZSBsaXN0LlxuICAgICAgICBzdXBlci5fYWxsb3dGb2N1c0VzY2FwZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIXRoaXMuX2NoaXBJbnB1dC5mb2N1c2VkKSB7XG4gICAgICAvLyBUaGUgdXAgYW5kIGRvd24gYXJyb3dzIGFyZSBzdXBwb3NlZCB0byBuYXZpZ2F0ZSBiZXR3ZWVuIHRoZSBpbmRpdmlkdWFsIHJvd3MgaW4gdGhlIGdyaWQuXG4gICAgICAvLyBXZSBkbyB0aGlzIGJ5IGZpbHRlcmluZyB0aGUgYWN0aW9ucyBkb3duIHRvIHRoZSBvbmVzIHRoYXQgaGF2ZSB0aGUgc2FtZSBgX2lzUHJpbWFyeWBcbiAgICAgIC8vIGZsYWcgYXMgdGhlIGFjdGl2ZSBhY3Rpb24gYW5kIG1vdmluZyBmb2N1cyBiZXR3ZWVuIHRoZW0gb3Vyc2VsZXMgaW5zdGVhZCBvZiBkZWxlZ2F0aW5nXG4gICAgICAvLyB0byB0aGUga2V5IG1hbmFnZXIuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgIzI5MzU5IGFuZDpcbiAgICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvQVJJQS9hcGcvcGF0dGVybnMvZ3JpZC9leGFtcGxlcy9sYXlvdXQtZ3JpZHMvI2V4Ml9sYWJlbFxuICAgICAgaWYgKChrZXlDb2RlID09PSBVUF9BUlJPVyB8fCBrZXlDb2RlID09PSBET1dOX0FSUk9XKSAmJiBhY3RpdmVJdGVtKSB7XG4gICAgICAgIGNvbnN0IGVsaWdpYmxlQWN0aW9ucyA9IHRoaXMuX2NoaXBBY3Rpb25zLmZpbHRlcihcbiAgICAgICAgICBhY3Rpb24gPT4gYWN0aW9uLl9pc1ByaW1hcnkgPT09IGFjdGl2ZUl0ZW0uX2lzUHJpbWFyeSAmJiAhdGhpcy5fc2tpcFByZWRpY2F0ZShhY3Rpb24pLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSBlbGlnaWJsZUFjdGlvbnMuaW5kZXhPZihhY3RpdmVJdGVtKTtcbiAgICAgICAgY29uc3QgZGVsdGEgPSBldmVudC5rZXlDb2RlID09PSBVUF9BUlJPVyA/IC0xIDogMTtcblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID4gLTEgJiYgdGhpcy5faXNWYWxpZEluZGV4KGN1cnJlbnRJbmRleCArIGRlbHRhKSkge1xuICAgICAgICAgIHRoaXMuX2tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbShlbGlnaWJsZUFjdGlvbnNbY3VycmVudEluZGV4ICsgZGVsdGFdKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3VwZXIuX2hhbmRsZUtleWRvd24oZXZlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIF9mb2N1c0xhc3RDaGlwKCkge1xuICAgIGlmICh0aGlzLl9jaGlwcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX2NoaXBzLmxhc3QuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICAvKiogRW1pdHMgY2hhbmdlIGV2ZW50IHRvIHNldCB0aGUgbW9kZWwgdmFsdWUuICovXG4gIHByaXZhdGUgX3Byb3BhZ2F0ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWVUb0VtaXQgPSB0aGlzLl9jaGlwcy5sZW5ndGggPyB0aGlzLl9jaGlwcy50b0FycmF5KCkubWFwKGNoaXAgPT4gY2hpcC52YWx1ZSkgOiBbXTtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlVG9FbWl0O1xuICAgIHRoaXMuY2hhbmdlLmVtaXQobmV3IE1hdENoaXBHcmlkQ2hhbmdlKHRoaXMsIHZhbHVlVG9FbWl0KSk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlVG9FbWl0KTtcbiAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZVRvRW1pdCk7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKiogTWFyayB0aGUgZmllbGQgYXMgdG91Y2hlZCAqL1xuICBwcml2YXRlIF9tYXJrQXNUb3VjaGVkKCkge1xuICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxufVxuIl19
@@ -1,107 +0,0 @@
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 { ENTER, SPACE } from '@angular/cdk/keycodes';
9
- import { Directive } from '@angular/core';
10
- import { MatChipAction } from './chip-action';
11
- import { MAT_CHIP_AVATAR, MAT_CHIP_REMOVE, MAT_CHIP_TRAILING_ICON } from './tokens';
12
- import * as i0 from "@angular/core";
13
- /** Avatar image within a chip. */
14
- export class MatChipAvatar {
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatChipAvatar, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
16
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0-next.2", type: MatChipAvatar, isStandalone: true, selector: "mat-chip-avatar, [matChipAvatar]", host: { attributes: { "role": "img" }, classAttribute: "mat-mdc-chip-avatar mdc-evolution-chip__icon mdc-evolution-chip__icon--primary" }, providers: [{ provide: MAT_CHIP_AVATAR, useExisting: MatChipAvatar }], ngImport: i0 }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatChipAvatar, decorators: [{
19
- type: Directive,
20
- args: [{
21
- selector: 'mat-chip-avatar, [matChipAvatar]',
22
- host: {
23
- 'class': 'mat-mdc-chip-avatar mdc-evolution-chip__icon mdc-evolution-chip__icon--primary',
24
- 'role': 'img',
25
- },
26
- providers: [{ provide: MAT_CHIP_AVATAR, useExisting: MatChipAvatar }],
27
- standalone: true,
28
- }]
29
- }] });
30
- /** Non-interactive trailing icon in a chip. */
31
- export class MatChipTrailingIcon extends MatChipAction {
32
- constructor() {
33
- super(...arguments);
34
- /**
35
- * MDC considers all trailing actions as a remove icon,
36
- * but we support non-interactive trailing icons.
37
- */
38
- this.isInteractive = false;
39
- this._isPrimary = false;
40
- }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatChipTrailingIcon, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
42
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0-next.2", type: MatChipTrailingIcon, isStandalone: true, selector: "mat-chip-trailing-icon, [matChipTrailingIcon]", host: { attributes: { "aria-hidden": "true" }, classAttribute: "mat-mdc-chip-trailing-icon mdc-evolution-chip__icon mdc-evolution-chip__icon--trailing" }, providers: [{ provide: MAT_CHIP_TRAILING_ICON, useExisting: MatChipTrailingIcon }], usesInheritance: true, ngImport: i0 }); }
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatChipTrailingIcon, decorators: [{
45
- type: Directive,
46
- args: [{
47
- selector: 'mat-chip-trailing-icon, [matChipTrailingIcon]',
48
- host: {
49
- 'class': 'mat-mdc-chip-trailing-icon mdc-evolution-chip__icon mdc-evolution-chip__icon--trailing',
50
- 'aria-hidden': 'true',
51
- },
52
- providers: [{ provide: MAT_CHIP_TRAILING_ICON, useExisting: MatChipTrailingIcon }],
53
- standalone: true,
54
- }]
55
- }] });
56
- /**
57
- * Directive to remove the parent chip when the trailing icon is clicked or
58
- * when the ENTER key is pressed on it.
59
- *
60
- * Recommended for use with the Material Design "cancel" icon
61
- * available at https://material.io/icons/#ic_cancel.
62
- *
63
- * Example:
64
- *
65
- * ```
66
- * <mat-chip>
67
- * <mat-icon matChipRemove>cancel</mat-icon>
68
- * </mat-chip>
69
- * ```
70
- */
71
- export class MatChipRemove extends MatChipAction {
72
- constructor() {
73
- super(...arguments);
74
- this._isPrimary = false;
75
- }
76
- _handleClick(event) {
77
- if (!this.disabled) {
78
- event.stopPropagation();
79
- event.preventDefault();
80
- this._parentChip.remove();
81
- }
82
- }
83
- _handleKeydown(event) {
84
- if ((event.keyCode === ENTER || event.keyCode === SPACE) && !this.disabled) {
85
- event.stopPropagation();
86
- event.preventDefault();
87
- this._parentChip.remove();
88
- }
89
- }
90
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatChipRemove, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
91
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0-next.2", type: MatChipRemove, isStandalone: true, selector: "[matChipRemove]", host: { attributes: { "role": "button" }, properties: { "attr.aria-hidden": "null" }, classAttribute: "mat-mdc-chip-remove mat-mdc-chip-trailing-icon mat-mdc-focus-indicator mdc-evolution-chip__icon mdc-evolution-chip__icon--trailing" }, providers: [{ provide: MAT_CHIP_REMOVE, useExisting: MatChipRemove }], usesInheritance: true, ngImport: i0 }); }
92
- }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatChipRemove, decorators: [{
94
- type: Directive,
95
- args: [{
96
- selector: '[matChipRemove]',
97
- host: {
98
- 'class': 'mat-mdc-chip-remove mat-mdc-chip-trailing-icon mat-mdc-focus-indicator ' +
99
- 'mdc-evolution-chip__icon mdc-evolution-chip__icon--trailing',
100
- 'role': 'button',
101
- '[attr.aria-hidden]': 'null',
102
- },
103
- providers: [{ provide: MAT_CHIP_REMOVE, useExisting: MatChipRemove }],
104
- standalone: true,
105
- }]
106
- }] });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1pY29ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9jaGlwcy9jaGlwLWljb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBQyxlQUFlLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFDLE1BQU0sVUFBVSxDQUFDOztBQUVsRixrQ0FBa0M7QUFVbEMsTUFBTSxPQUFPLGFBQWE7cUhBQWIsYUFBYTt5R0FBYixhQUFhLDBOQUhiLENBQUMsRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUMsQ0FBQzs7a0dBR3hELGFBQWE7a0JBVHpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsSUFBSSxFQUFFO3dCQUNKLE9BQU8sRUFBRSxnRkFBZ0Y7d0JBQ3pGLE1BQU0sRUFBRSxLQUFLO3FCQUNkO29CQUNELFNBQVMsRUFBRSxDQUFDLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLGVBQWUsRUFBQyxDQUFDO29CQUNuRSxVQUFVLEVBQUUsSUFBSTtpQkFDakI7O0FBR0QsK0NBQStDO0FBVy9DLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBVnREOztRQVdFOzs7V0FHRztRQUNNLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRXRCLGVBQVUsR0FBRyxLQUFLLENBQUM7S0FDN0I7cUhBUlksbUJBQW1CO3lHQUFuQixtQkFBbUIsdVBBSG5CLENBQUMsRUFBQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFDLENBQUM7O2tHQUdyRSxtQkFBbUI7a0JBVi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLCtDQUErQztvQkFDekQsSUFBSSxFQUFFO3dCQUNKLE9BQU8sRUFDTCx3RkFBd0Y7d0JBQzFGLGFBQWEsRUFBRSxNQUFNO3FCQUN0QjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxFQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLHFCQUFxQixFQUFDLENBQUM7b0JBQ2hGLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7QUFXRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQWNILE1BQU0sT0FBTyxhQUFjLFNBQVEsYUFBYTtJQVpoRDs7UUFhVyxlQUFVLEdBQUcsS0FBSyxDQUFDO0tBaUI3QjtJQWZVLFlBQVksQ0FBQyxLQUFpQjtRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVRLGNBQWMsQ0FBQyxLQUFvQjtRQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sS0FBSyxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMzRSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7cUhBakJVLGFBQWE7eUdBQWIsYUFBYSw0U0FIYixDQUFDLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFDLENBQUM7O2tHQUd4RCxhQUFhO2tCQVp6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLElBQUksRUFBRTt3QkFDSixPQUFPLEVBQ0wseUVBQXlFOzRCQUN6RSw2REFBNkQ7d0JBQy9ELE1BQU0sRUFBRSxRQUFRO3dCQUNoQixvQkFBb0IsRUFBRSxNQUFNO3FCQUM3QjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxlQUFlLEVBQUMsQ0FBQztvQkFDbkUsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7RU5URVIsIFNQQUNFfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHtEaXJlY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRDaGlwQWN0aW9ufSBmcm9tICcuL2NoaXAtYWN0aW9uJztcbmltcG9ydCB7TUFUX0NISVBfQVZBVEFSLCBNQVRfQ0hJUF9SRU1PVkUsIE1BVF9DSElQX1RSQUlMSU5HX0lDT059IGZyb20gJy4vdG9rZW5zJztcblxuLyoqIEF2YXRhciBpbWFnZSB3aXRoaW4gYSBjaGlwLiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnbWF0LWNoaXAtYXZhdGFyLCBbbWF0Q2hpcEF2YXRhcl0nLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ21hdC1tZGMtY2hpcC1hdmF0YXIgbWRjLWV2b2x1dGlvbi1jaGlwX19pY29uIG1kYy1ldm9sdXRpb24tY2hpcF9faWNvbi0tcHJpbWFyeScsXG4gICAgJ3JvbGUnOiAnaW1nJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IE1BVF9DSElQX0FWQVRBUiwgdXNlRXhpc3Rpbmc6IE1hdENoaXBBdmF0YXJ9XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0Q2hpcEF2YXRhciB7fVxuXG4vKiogTm9uLWludGVyYWN0aXZlIHRyYWlsaW5nIGljb24gaW4gYSBjaGlwLiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnbWF0LWNoaXAtdHJhaWxpbmctaWNvbiwgW21hdENoaXBUcmFpbGluZ0ljb25dJyxcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6XG4gICAgICAnbWF0LW1kYy1jaGlwLXRyYWlsaW5nLWljb24gbWRjLWV2b2x1dGlvbi1jaGlwX19pY29uIG1kYy1ldm9sdXRpb24tY2hpcF9faWNvbi0tdHJhaWxpbmcnLFxuICAgICdhcmlhLWhpZGRlbic6ICd0cnVlJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IE1BVF9DSElQX1RSQUlMSU5HX0lDT04sIHVzZUV4aXN0aW5nOiBNYXRDaGlwVHJhaWxpbmdJY29ufV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE1hdENoaXBUcmFpbGluZ0ljb24gZXh0ZW5kcyBNYXRDaGlwQWN0aW9uIHtcbiAgLyoqXG4gICAqIE1EQyBjb25zaWRlcnMgYWxsIHRyYWlsaW5nIGFjdGlvbnMgYXMgYSByZW1vdmUgaWNvbixcbiAgICogYnV0IHdlIHN1cHBvcnQgbm9uLWludGVyYWN0aXZlIHRyYWlsaW5nIGljb25zLlxuICAgKi9cbiAgb3ZlcnJpZGUgaXNJbnRlcmFjdGl2ZSA9IGZhbHNlO1xuXG4gIG92ZXJyaWRlIF9pc1ByaW1hcnkgPSBmYWxzZTtcbn1cblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gcmVtb3ZlIHRoZSBwYXJlbnQgY2hpcCB3aGVuIHRoZSB0cmFpbGluZyBpY29uIGlzIGNsaWNrZWQgb3JcbiAqIHdoZW4gdGhlIEVOVEVSIGtleSBpcyBwcmVzc2VkIG9uIGl0LlxuICpcbiAqIFJlY29tbWVuZGVkIGZvciB1c2Ugd2l0aCB0aGUgTWF0ZXJpYWwgRGVzaWduIFwiY2FuY2VsXCIgaWNvblxuICogYXZhaWxhYmxlIGF0IGh0dHBzOi8vbWF0ZXJpYWwuaW8vaWNvbnMvI2ljX2NhbmNlbC5cbiAqXG4gKiBFeGFtcGxlOlxuICpcbiAqIGBgYFxuICogPG1hdC1jaGlwPlxuICogICA8bWF0LWljb24gbWF0Q2hpcFJlbW92ZT5jYW5jZWw8L21hdC1pY29uPlxuICogPC9tYXQtY2hpcD5cbiAqIGBgYFxuICovXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttYXRDaGlwUmVtb3ZlXScsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOlxuICAgICAgJ21hdC1tZGMtY2hpcC1yZW1vdmUgbWF0LW1kYy1jaGlwLXRyYWlsaW5nLWljb24gbWF0LW1kYy1mb2N1cy1pbmRpY2F0b3IgJyArXG4gICAgICAnbWRjLWV2b2x1dGlvbi1jaGlwX19pY29uIG1kYy1ldm9sdXRpb24tY2hpcF9faWNvbi0tdHJhaWxpbmcnLFxuICAgICdyb2xlJzogJ2J1dHRvbicsXG4gICAgJ1thdHRyLmFyaWEtaGlkZGVuXSc6ICdudWxsJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IE1BVF9DSElQX1JFTU9WRSwgdXNlRXhpc3Rpbmc6IE1hdENoaXBSZW1vdmV9XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0Q2hpcFJlbW92ZSBleHRlbmRzIE1hdENoaXBBY3Rpb24ge1xuICBvdmVycmlkZSBfaXNQcmltYXJ5ID0gZmFsc2U7XG5cbiAgb3ZlcnJpZGUgX2hhbmRsZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLl9wYXJlbnRDaGlwLnJlbW92ZSgpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIF9oYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKChldmVudC5rZXlDb2RlID09PSBFTlRFUiB8fCBldmVudC5rZXlDb2RlID09PSBTUEFDRSkgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuX3BhcmVudENoaXAucmVtb3ZlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=