@angular/material-experimental 14.2.1 → 15.0.0-next.0

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 (590) hide show
  1. package/_index.scss +0 -69
  2. package/esm2020/selection/selection-column.mjs +11 -11
  3. package/esm2020/selection/selection-module.mjs +5 -5
  4. package/esm2020/version.mjs +1 -1
  5. package/fesm2015/material-experimental.mjs +1 -1
  6. package/fesm2015/material-experimental.mjs.map +1 -1
  7. package/fesm2015/selection.mjs +13 -13
  8. package/fesm2015/selection.mjs.map +1 -1
  9. package/fesm2020/material-experimental.mjs +1 -1
  10. package/fesm2020/material-experimental.mjs.map +1 -1
  11. package/fesm2020/selection.mjs +13 -13
  12. package/fesm2020/selection.mjs.map +1 -1
  13. package/package.json +55 -422
  14. package/selection/index.d.ts +4 -4
  15. package/esm2020/mdc-autocomplete/animations.mjs +0 -25
  16. package/esm2020/mdc-autocomplete/autocomplete-origin.mjs +0 -26
  17. package/esm2020/mdc-autocomplete/autocomplete-trigger.mjs +0 -54
  18. package/esm2020/mdc-autocomplete/autocomplete.mjs +0 -35
  19. package/esm2020/mdc-autocomplete/index.mjs +0 -9
  20. package/esm2020/mdc-autocomplete/mdc-autocomplete_public_index.mjs +0 -5
  21. package/esm2020/mdc-autocomplete/module.mjs +0 -46
  22. package/esm2020/mdc-autocomplete/public-api.mjs +0 -14
  23. package/esm2020/mdc-autocomplete/testing/autocomplete-harness-filters.mjs +0 -9
  24. package/esm2020/mdc-autocomplete/testing/autocomplete-harness.mjs +0 -31
  25. package/esm2020/mdc-autocomplete/testing/index.mjs +0 -9
  26. package/esm2020/mdc-autocomplete/testing/public-api.mjs +0 -10
  27. package/esm2020/mdc-button/button-base.mjs +0 -152
  28. package/esm2020/mdc-button/button.mjs +0 -69
  29. package/esm2020/mdc-button/fab.mjs +0 -175
  30. package/esm2020/mdc-button/icon-button.mjs +0 -57
  31. package/esm2020/mdc-button/index.mjs +0 -9
  32. package/esm2020/mdc-button/mdc-button_public_index.mjs +0 -5
  33. package/esm2020/mdc-button/module.mjs +0 -61
  34. package/esm2020/mdc-button/public-api.mjs +0 -12
  35. package/esm2020/mdc-button/testing/button-harness.mjs +0 -50
  36. package/esm2020/mdc-button/testing/index.mjs +0 -9
  37. package/esm2020/mdc-button/testing/public-api.mjs +0 -9
  38. package/esm2020/mdc-card/card.mjs +0 -261
  39. package/esm2020/mdc-card/index.mjs +0 -9
  40. package/esm2020/mdc-card/mdc-card_public_index.mjs +0 -5
  41. package/esm2020/mdc-card/module.mjs +0 -68
  42. package/esm2020/mdc-card/public-api.mjs +0 -10
  43. package/esm2020/mdc-card/testing/card-harness-filters.mjs +0 -9
  44. package/esm2020/mdc-card/testing/card-harness.mjs +0 -42
  45. package/esm2020/mdc-card/testing/index.mjs +0 -9
  46. package/esm2020/mdc-card/testing/public-api.mjs +0 -10
  47. package/esm2020/mdc-checkbox/checkbox.mjs +0 -93
  48. package/esm2020/mdc-checkbox/index.mjs +0 -9
  49. package/esm2020/mdc-checkbox/mdc-checkbox_public_index.mjs +0 -5
  50. package/esm2020/mdc-checkbox/module.mjs +0 -26
  51. package/esm2020/mdc-checkbox/public-api.mjs +0 -11
  52. package/esm2020/mdc-checkbox/testing/checkbox-harness.mjs +0 -41
  53. package/esm2020/mdc-checkbox/testing/index.mjs +0 -9
  54. package/esm2020/mdc-checkbox/testing/public-api.mjs +0 -9
  55. package/esm2020/mdc-chips/chip-action.mjs +0 -90
  56. package/esm2020/mdc-chips/chip-edit-input.mjs +0 -60
  57. package/esm2020/mdc-chips/chip-grid.mjs +0 -407
  58. package/esm2020/mdc-chips/chip-icons.mjs +0 -110
  59. package/esm2020/mdc-chips/chip-input.mjs +0 -212
  60. package/esm2020/mdc-chips/chip-listbox.mjs +0 -332
  61. package/esm2020/mdc-chips/chip-option.mjs +0 -160
  62. package/esm2020/mdc-chips/chip-row.mjs +0 -176
  63. package/esm2020/mdc-chips/chip-set.mjs +0 -271
  64. package/esm2020/mdc-chips/chip-text-control.mjs +0 -9
  65. package/esm2020/mdc-chips/chip.mjs +0 -287
  66. package/esm2020/mdc-chips/index.mjs +0 -9
  67. package/esm2020/mdc-chips/mdc-chips_public_index.mjs +0 -5
  68. package/esm2020/mdc-chips/module.mjs +0 -87
  69. package/esm2020/mdc-chips/public-api.mjs +0 -20
  70. package/esm2020/mdc-chips/testing/chip-avatar-harness.mjs +0 -22
  71. package/esm2020/mdc-chips/testing/chip-grid-harness.mjs +0 -43
  72. package/esm2020/mdc-chips/testing/chip-harness-filters.mjs +0 -9
  73. package/esm2020/mdc-chips/testing/chip-harness.mjs +0 -58
  74. package/esm2020/mdc-chips/testing/chip-input-harness.mjs +0 -82
  75. package/esm2020/mdc-chips/testing/chip-listbox-harness.mjs +0 -59
  76. package/esm2020/mdc-chips/testing/chip-option-harness.mjs +0 -45
  77. package/esm2020/mdc-chips/testing/chip-remove-harness.mjs +0 -26
  78. package/esm2020/mdc-chips/testing/chip-row-harness.mjs +0 -22
  79. package/esm2020/mdc-chips/testing/chip-set-harness.mjs +0 -26
  80. package/esm2020/mdc-chips/testing/index.mjs +0 -9
  81. package/esm2020/mdc-chips/testing/public-api.mjs +0 -18
  82. package/esm2020/mdc-chips/tokens.mjs +0 -33
  83. package/esm2020/mdc-core/index.mjs +0 -9
  84. package/esm2020/mdc-core/mdc-core_public_index.mjs +0 -5
  85. package/esm2020/mdc-core/option/index.mjs +0 -30
  86. package/esm2020/mdc-core/option/optgroup.mjs +0 -46
  87. package/esm2020/mdc-core/option/option.mjs +0 -52
  88. package/esm2020/mdc-core/public-api.mjs +0 -10
  89. package/esm2020/mdc-core/testing/index.mjs +0 -9
  90. package/esm2020/mdc-core/testing/optgroup-harness-filters.mjs +0 -9
  91. package/esm2020/mdc-core/testing/optgroup-harness.mjs +0 -43
  92. package/esm2020/mdc-core/testing/option-harness-filters.mjs +0 -9
  93. package/esm2020/mdc-core/testing/option-harness.mjs +0 -53
  94. package/esm2020/mdc-core/testing/public-api.mjs +0 -12
  95. package/esm2020/mdc-dialog/dialog-container.mjs +0 -171
  96. package/esm2020/mdc-dialog/dialog-content-directives.mjs +0 -179
  97. package/esm2020/mdc-dialog/dialog-ref.mjs +0 -14
  98. package/esm2020/mdc-dialog/dialog.mjs +0 -82
  99. package/esm2020/mdc-dialog/index.mjs +0 -9
  100. package/esm2020/mdc-dialog/mdc-dialog_public_index.mjs +0 -5
  101. package/esm2020/mdc-dialog/module.mjs +0 -53
  102. package/esm2020/mdc-dialog/public-api.mjs +0 -14
  103. package/esm2020/mdc-dialog/testing/dialog-harness.mjs +0 -29
  104. package/esm2020/mdc-dialog/testing/dialog-opener.mjs +0 -45
  105. package/esm2020/mdc-dialog/testing/index.mjs +0 -9
  106. package/esm2020/mdc-dialog/testing/public-api.mjs +0 -10
  107. package/esm2020/mdc-form-field/directives/error.mjs +0 -47
  108. package/esm2020/mdc-form-field/directives/floating-label.mjs +0 -73
  109. package/esm2020/mdc-form-field/directives/hint.mjs +0 -39
  110. package/esm2020/mdc-form-field/directives/label.mjs +0 -21
  111. package/esm2020/mdc-form-field/directives/line-ripple.mjs +0 -59
  112. package/esm2020/mdc-form-field/directives/notched-outline.mjs +0 -68
  113. package/esm2020/mdc-form-field/directives/prefix.mjs +0 -32
  114. package/esm2020/mdc-form-field/directives/suffix.mjs +0 -32
  115. package/esm2020/mdc-form-field/form-field.mjs +0 -608
  116. package/esm2020/mdc-form-field/index.mjs +0 -9
  117. package/esm2020/mdc-form-field/mdc-form-field_public_index.mjs +0 -5
  118. package/esm2020/mdc-form-field/module.mjs +0 -53
  119. package/esm2020/mdc-form-field/public-api.mjs +0 -16
  120. package/esm2020/mdc-form-field/testing/form-field-harness.mjs +0 -58
  121. package/esm2020/mdc-form-field/testing/index.mjs +0 -9
  122. package/esm2020/mdc-form-field/testing/public-api.mjs +0 -13
  123. package/esm2020/mdc-input/index.mjs +0 -9
  124. package/esm2020/mdc-input/input.mjs +0 -55
  125. package/esm2020/mdc-input/mdc-input_public_index.mjs +0 -5
  126. package/esm2020/mdc-input/module.mjs +0 -27
  127. package/esm2020/mdc-input/public-api.mjs +0 -11
  128. package/esm2020/mdc-input/testing/index.mjs +0 -9
  129. package/esm2020/mdc-input/testing/public-api.mjs +0 -9
  130. package/esm2020/mdc-list/action-list.mjs +0 -31
  131. package/esm2020/mdc-list/index.mjs +0 -9
  132. package/esm2020/mdc-list/list-base.mjs +0 -272
  133. package/esm2020/mdc-list/list-item-sections.mjs +0 -138
  134. package/esm2020/mdc-list/list-option-types.mjs +0 -16
  135. package/esm2020/mdc-list/list-option.mjs +0 -253
  136. package/esm2020/mdc-list/list.mjs +0 -82
  137. package/esm2020/mdc-list/mdc-list_public_index.mjs +0 -5
  138. package/esm2020/mdc-list/module.mjs +0 -98
  139. package/esm2020/mdc-list/nav-list.mjs +0 -31
  140. package/esm2020/mdc-list/public-api.mjs +0 -18
  141. package/esm2020/mdc-list/selection-list.mjs +0 -338
  142. package/esm2020/mdc-list/subheader.mjs +0 -27
  143. package/esm2020/mdc-list/testing/action-list-harness.mjs +0 -59
  144. package/esm2020/mdc-list/testing/index.mjs +0 -9
  145. package/esm2020/mdc-list/testing/list-harness-base.mjs +0 -95
  146. package/esm2020/mdc-list/testing/list-harness-filters.mjs +0 -9
  147. package/esm2020/mdc-list/testing/list-harness.mjs +0 -41
  148. package/esm2020/mdc-list/testing/list-item-harness-base.mjs +0 -150
  149. package/esm2020/mdc-list/testing/nav-list-harness.mjs +0 -69
  150. package/esm2020/mdc-list/testing/public-api.mjs +0 -14
  151. package/esm2020/mdc-list/testing/selection-list-harness.mjs +0 -117
  152. package/esm2020/mdc-menu/directives.mjs +0 -38
  153. package/esm2020/mdc-menu/index.mjs +0 -9
  154. package/esm2020/mdc-menu/mdc-menu_public_index.mjs +0 -5
  155. package/esm2020/mdc-menu/menu-item.mjs +0 -36
  156. package/esm2020/mdc-menu/menu.mjs +0 -43
  157. package/esm2020/mdc-menu/module.mjs +0 -44
  158. package/esm2020/mdc-menu/public-api.mjs +0 -13
  159. package/esm2020/mdc-menu/testing/index.mjs +0 -9
  160. package/esm2020/mdc-menu/testing/menu-harness.mjs +0 -46
  161. package/esm2020/mdc-menu/testing/public-api.mjs +0 -9
  162. package/esm2020/mdc-paginator/index.mjs +0 -9
  163. package/esm2020/mdc-paginator/mdc-paginator_public_index.mjs +0 -5
  164. package/esm2020/mdc-paginator/module.mjs +0 -30
  165. package/esm2020/mdc-paginator/paginator.mjs +0 -48
  166. package/esm2020/mdc-paginator/public-api.mjs +0 -11
  167. package/esm2020/mdc-paginator/testing/index.mjs +0 -9
  168. package/esm2020/mdc-paginator/testing/paginator-harness.mjs +0 -36
  169. package/esm2020/mdc-paginator/testing/public-api.mjs +0 -9
  170. package/esm2020/mdc-progress-bar/index.mjs +0 -9
  171. package/esm2020/mdc-progress-bar/mdc-progress-bar_public_index.mjs +0 -5
  172. package/esm2020/mdc-progress-bar/module.mjs +0 -24
  173. package/esm2020/mdc-progress-bar/progress-bar.mjs +0 -152
  174. package/esm2020/mdc-progress-bar/public-api.mjs +0 -11
  175. package/esm2020/mdc-progress-bar/testing/index.mjs +0 -9
  176. package/esm2020/mdc-progress-bar/testing/progress-bar-harness.mjs +0 -33
  177. package/esm2020/mdc-progress-bar/testing/public-api.mjs +0 -9
  178. package/esm2020/mdc-progress-bar/testing/testing_public_index.mjs +0 -5
  179. package/esm2020/mdc-progress-spinner/index.mjs +0 -9
  180. package/esm2020/mdc-progress-spinner/mdc-progress-spinner_public_index.mjs +0 -5
  181. package/esm2020/mdc-progress-spinner/module.mjs +0 -26
  182. package/esm2020/mdc-progress-spinner/progress-spinner.mjs +0 -151
  183. package/esm2020/mdc-progress-spinner/public-api.mjs +0 -11
  184. package/esm2020/mdc-progress-spinner/testing/index.mjs +0 -9
  185. package/esm2020/mdc-progress-spinner/testing/progress-spinner-harness.mjs +0 -35
  186. package/esm2020/mdc-progress-spinner/testing/public-api.mjs +0 -9
  187. package/esm2020/mdc-progress-spinner/testing/testing_public_index.mjs +0 -5
  188. package/esm2020/mdc-radio/index.mjs +0 -9
  189. package/esm2020/mdc-radio/mdc-radio_public_index.mjs +0 -5
  190. package/esm2020/mdc-radio/module.mjs +0 -26
  191. package/esm2020/mdc-radio/public-api.mjs +0 -11
  192. package/esm2020/mdc-radio/radio.mjs +0 -111
  193. package/esm2020/mdc-radio/testing/index.mjs +0 -9
  194. package/esm2020/mdc-radio/testing/public-api.mjs +0 -9
  195. package/esm2020/mdc-radio/testing/radio-harness.mjs +0 -50
  196. package/esm2020/mdc-select/index.mjs +0 -9
  197. package/esm2020/mdc-select/mdc-select_public_index.mjs +0 -5
  198. package/esm2020/mdc-select/module.mjs +0 -46
  199. package/esm2020/mdc-select/public-api.mjs +0 -12
  200. package/esm2020/mdc-select/select-animations.mjs +0 -38
  201. package/esm2020/mdc-select/select-errors.mjs +0 -35
  202. package/esm2020/mdc-select/select.mjs +0 -172
  203. package/esm2020/mdc-select/testing/index.mjs +0 -9
  204. package/esm2020/mdc-select/testing/public-api.mjs +0 -10
  205. package/esm2020/mdc-select/testing/select-harness-filters.mjs +0 -9
  206. package/esm2020/mdc-select/testing/select-harness.mjs +0 -29
  207. package/esm2020/mdc-slide-toggle/index.mjs +0 -9
  208. package/esm2020/mdc-slide-toggle/mdc-slide-toggle_public_index.mjs +0 -5
  209. package/esm2020/mdc-slide-toggle/module.mjs +0 -27
  210. package/esm2020/mdc-slide-toggle/public-api.mjs +0 -12
  211. package/esm2020/mdc-slide-toggle/slide-toggle-config.mjs +0 -14
  212. package/esm2020/mdc-slide-toggle/slide-toggle.mjs +0 -99
  213. package/esm2020/mdc-slide-toggle/testing/index.mjs +0 -9
  214. package/esm2020/mdc-slide-toggle/testing/public-api.mjs +0 -9
  215. package/esm2020/mdc-slide-toggle/testing/slide-toggle-harness.mjs +0 -47
  216. package/esm2020/mdc-slider/global-change-and-input-listener.mjs +0 -59
  217. package/esm2020/mdc-slider/index.mjs +0 -9
  218. package/esm2020/mdc-slider/mdc-slider_public_index.mjs +0 -5
  219. package/esm2020/mdc-slider/module.mjs +0 -26
  220. package/esm2020/mdc-slider/public-api.mjs +0 -10
  221. package/esm2020/mdc-slider/slider.mjs +0 -1094
  222. package/esm2020/mdc-slider/testing/index.mjs +0 -9
  223. package/esm2020/mdc-slider/testing/public-api.mjs +0 -11
  224. package/esm2020/mdc-slider/testing/slider-harness-filters.mjs +0 -2
  225. package/esm2020/mdc-slider/testing/slider-harness.mjs +0 -62
  226. package/esm2020/mdc-slider/testing/slider-thumb-harness.mjs +0 -94
  227. package/esm2020/mdc-snack-bar/index.mjs +0 -9
  228. package/esm2020/mdc-snack-bar/mdc-snack-bar_public_index.mjs +0 -5
  229. package/esm2020/mdc-snack-bar/module.mjs +0 -51
  230. package/esm2020/mdc-snack-bar/public-api.mjs +0 -14
  231. package/esm2020/mdc-snack-bar/simple-snack-bar.mjs +0 -40
  232. package/esm2020/mdc-snack-bar/snack-bar-container.mjs +0 -41
  233. package/esm2020/mdc-snack-bar/snack-bar-content.mjs +0 -52
  234. package/esm2020/mdc-snack-bar/snack-bar.mjs +0 -45
  235. package/esm2020/mdc-snack-bar/testing/index.mjs +0 -9
  236. package/esm2020/mdc-snack-bar/testing/public-api.mjs +0 -9
  237. package/esm2020/mdc-snack-bar/testing/snack-bar-harness.mjs +0 -34
  238. package/esm2020/mdc-table/cell.mjs +0 -141
  239. package/esm2020/mdc-table/index.mjs +0 -9
  240. package/esm2020/mdc-table/mdc-table_public_index.mjs +0 -5
  241. package/esm2020/mdc-table/module.mjs +0 -94
  242. package/esm2020/mdc-table/public-api.mjs +0 -14
  243. package/esm2020/mdc-table/row.mjs +0 -143
  244. package/esm2020/mdc-table/table-data-source.mjs +0 -24
  245. package/esm2020/mdc-table/table.mjs +0 -74
  246. package/esm2020/mdc-table/testing/cell-harness.mjs +0 -50
  247. package/esm2020/mdc-table/testing/index.mjs +0 -9
  248. package/esm2020/mdc-table/testing/public-api.mjs +0 -11
  249. package/esm2020/mdc-table/testing/row-harness.mjs +0 -64
  250. package/esm2020/mdc-table/testing/table-harness.mjs +0 -30
  251. package/esm2020/mdc-table/text-column.mjs +0 -58
  252. package/esm2020/mdc-tabs/index.mjs +0 -9
  253. package/esm2020/mdc-tabs/ink-bar.mjs +0 -130
  254. package/esm2020/mdc-tabs/mdc-tabs_public_index.mjs +0 -5
  255. package/esm2020/mdc-tabs/module.mjs +0 -93
  256. package/esm2020/mdc-tabs/public-api.mjs +0 -19
  257. package/esm2020/mdc-tabs/tab-body.mjs +0 -60
  258. package/esm2020/mdc-tabs/tab-content.mjs +0 -20
  259. package/esm2020/mdc-tabs/tab-group.mjs +0 -98
  260. package/esm2020/mdc-tabs/tab-header.mjs +0 -73
  261. package/esm2020/mdc-tabs/tab-label-wrapper.mjs +0 -32
  262. package/esm2020/mdc-tabs/tab-label.mjs +0 -22
  263. package/esm2020/mdc-tabs/tab-nav-bar/tab-nav-bar.mjs +0 -202
  264. package/esm2020/mdc-tabs/tab.mjs +0 -34
  265. package/esm2020/mdc-tabs/testing/index.mjs +0 -9
  266. package/esm2020/mdc-tabs/testing/public-api.mjs +0 -13
  267. package/esm2020/mdc-tabs/testing/tab-group-harness.mjs +0 -56
  268. package/esm2020/mdc-tabs/testing/tab-harness-filters.mjs +0 -2
  269. package/esm2020/mdc-tabs/testing/tab-harness.mjs +0 -64
  270. package/esm2020/mdc-tabs/testing/tab-link-harness.mjs +0 -40
  271. package/esm2020/mdc-tabs/testing/tab-nav-bar-harness.mjs +0 -66
  272. package/esm2020/mdc-tabs/testing/tab-nav-panel-harness.mjs +0 -27
  273. package/esm2020/mdc-tooltip/index.mjs +0 -9
  274. package/esm2020/mdc-tooltip/mdc-tooltip_public_index.mjs +0 -5
  275. package/esm2020/mdc-tooltip/module.mjs +0 -31
  276. package/esm2020/mdc-tooltip/public-api.mjs +0 -12
  277. package/esm2020/mdc-tooltip/testing/index.mjs +0 -9
  278. package/esm2020/mdc-tooltip/testing/public-api.mjs +0 -9
  279. package/esm2020/mdc-tooltip/testing/tooltip-harness.mjs +0 -30
  280. package/esm2020/mdc-tooltip/tooltip-animations.mjs +0 -24
  281. package/esm2020/mdc-tooltip/tooltip.mjs +0 -132
  282. package/fesm2015/mdc-autocomplete/testing.mjs +0 -50
  283. package/fesm2015/mdc-autocomplete/testing.mjs.map +0 -1
  284. package/fesm2015/mdc-autocomplete.mjs +0 -196
  285. package/fesm2015/mdc-autocomplete.mjs.map +0 -1
  286. package/fesm2015/mdc-button/testing.mjs +0 -75
  287. package/fesm2015/mdc-button/testing.mjs.map +0 -1
  288. package/fesm2015/mdc-button.mjs +0 -490
  289. package/fesm2015/mdc-button.mjs.map +0 -1
  290. package/fesm2015/mdc-card/testing.mjs +0 -63
  291. package/fesm2015/mdc-card/testing.mjs.map +0 -1
  292. package/fesm2015/mdc-card.mjs +0 -351
  293. package/fesm2015/mdc-card.mjs.map +0 -1
  294. package/fesm2015/mdc-checkbox/testing.mjs +0 -56
  295. package/fesm2015/mdc-checkbox/testing.mjs.map +0 -1
  296. package/fesm2015/mdc-checkbox.mjs +0 -142
  297. package/fesm2015/mdc-checkbox.mjs.map +0 -1
  298. package/fesm2015/mdc-chips/testing.mjs +0 -394
  299. package/fesm2015/mdc-chips/testing.mjs.map +0 -1
  300. package/fesm2015/mdc-chips.mjs +0 -2169
  301. package/fesm2015/mdc-chips.mjs.map +0 -1
  302. package/fesm2015/mdc-core/testing.mjs +0 -118
  303. package/fesm2015/mdc-core/testing.mjs.map +0 -1
  304. package/fesm2015/mdc-core.mjs +0 -141
  305. package/fesm2015/mdc-core.mjs.map +0 -1
  306. package/fesm2015/mdc-dialog/testing.mjs +0 -90
  307. package/fesm2015/mdc-dialog/testing.mjs.map +0 -1
  308. package/fesm2015/mdc-dialog.mjs +0 -500
  309. package/fesm2015/mdc-dialog.mjs.map +0 -1
  310. package/fesm2015/mdc-form-field/testing.mjs +0 -78
  311. package/fesm2015/mdc-form-field/testing.mjs.map +0 -1
  312. package/fesm2015/mdc-form-field.mjs +0 -1018
  313. package/fesm2015/mdc-form-field.mjs.map +0 -1
  314. package/fesm2015/mdc-input/testing.mjs +0 -18
  315. package/fesm2015/mdc-input/testing.mjs.map +0 -1
  316. package/fesm2015/mdc-input.mjs +0 -103
  317. package/fesm2015/mdc-input.mjs.map +0 -1
  318. package/fesm2015/mdc-list/testing.mjs +0 -574
  319. package/fesm2015/mdc-list/testing.mjs.map +0 -1
  320. package/fesm2015/mdc-list.mjs +0 -1264
  321. package/fesm2015/mdc-list.mjs.map +0 -1
  322. package/fesm2015/mdc-menu/testing.mjs +0 -59
  323. package/fesm2015/mdc-menu/testing.mjs.map +0 -1
  324. package/fesm2015/mdc-menu.mjs +0 -174
  325. package/fesm2015/mdc-menu.mjs.map +0 -1
  326. package/fesm2015/mdc-paginator/testing.mjs +0 -55
  327. package/fesm2015/mdc-paginator/testing.mjs.map +0 -1
  328. package/fesm2015/mdc-paginator.mjs +0 -100
  329. package/fesm2015/mdc-paginator.mjs.map +0 -1
  330. package/fesm2015/mdc-progress-bar/testing.mjs +0 -54
  331. package/fesm2015/mdc-progress-bar/testing.mjs.map +0 -1
  332. package/fesm2015/mdc-progress-bar.mjs +0 -198
  333. package/fesm2015/mdc-progress-bar.mjs.map +0 -1
  334. package/fesm2015/mdc-progress-spinner/testing.mjs +0 -56
  335. package/fesm2015/mdc-progress-spinner/testing.mjs.map +0 -1
  336. package/fesm2015/mdc-progress-spinner.mjs +0 -200
  337. package/fesm2015/mdc-progress-spinner.mjs.map +0 -1
  338. package/fesm2015/mdc-radio/testing.mjs +0 -63
  339. package/fesm2015/mdc-radio/testing.mjs.map +0 -1
  340. package/fesm2015/mdc-radio.mjs +0 -155
  341. package/fesm2015/mdc-radio.mjs.map +0 -1
  342. package/fesm2015/mdc-select/testing.mjs +0 -48
  343. package/fesm2015/mdc-select/testing.mjs.map +0 -1
  344. package/fesm2015/mdc-select.mjs +0 -273
  345. package/fesm2015/mdc-select.mjs.map +0 -1
  346. package/fesm2015/mdc-slide-toggle/testing.mjs +0 -66
  347. package/fesm2015/mdc-slide-toggle/testing.mjs.map +0 -1
  348. package/fesm2015/mdc-slide-toggle.mjs +0 -159
  349. package/fesm2015/mdc-slide-toggle.mjs.map +0 -1
  350. package/fesm2015/mdc-slider/testing.mjs +0 -199
  351. package/fesm2015/mdc-slider/testing.mjs.map +0 -1
  352. package/fesm2015/mdc-slider.mjs +0 -1212
  353. package/fesm2015/mdc-slider.mjs.map +0 -1
  354. package/fesm2015/mdc-snack-bar/testing.mjs +0 -49
  355. package/fesm2015/mdc-snack-bar/testing.mjs.map +0 -1
  356. package/fesm2015/mdc-snack-bar.mjs +0 -229
  357. package/fesm2015/mdc-snack-bar.mjs.map +0 -1
  358. package/fesm2015/mdc-table/testing.mjs +0 -158
  359. package/fesm2015/mdc-table/testing.mjs.map +0 -1
  360. package/fesm2015/mdc-table.mjs +0 -540
  361. package/fesm2015/mdc-table.mjs.map +0 -1
  362. package/fesm2015/mdc-tabs/testing.mjs +0 -273
  363. package/fesm2015/mdc-tabs/testing.mjs.map +0 -1
  364. package/fesm2015/mdc-tabs.mjs +0 -737
  365. package/fesm2015/mdc-tabs.mjs.map +0 -1
  366. package/fesm2015/mdc-tooltip/testing.mjs +0 -49
  367. package/fesm2015/mdc-tooltip/testing.mjs.map +0 -1
  368. package/fesm2015/mdc-tooltip.mjs +0 -206
  369. package/fesm2015/mdc-tooltip.mjs.map +0 -1
  370. package/fesm2020/mdc-autocomplete/testing.mjs +0 -58
  371. package/fesm2020/mdc-autocomplete/testing.mjs.map +0 -1
  372. package/fesm2020/mdc-autocomplete.mjs +0 -196
  373. package/fesm2020/mdc-autocomplete.mjs.map +0 -1
  374. package/fesm2020/mdc-button/testing.mjs +0 -69
  375. package/fesm2020/mdc-button/testing.mjs.map +0 -1
  376. package/fesm2020/mdc-button.mjs +0 -510
  377. package/fesm2020/mdc-button.mjs.map +0 -1
  378. package/fesm2020/mdc-card/testing.mjs +0 -69
  379. package/fesm2020/mdc-card/testing.mjs.map +0 -1
  380. package/fesm2020/mdc-card.mjs +0 -349
  381. package/fesm2020/mdc-card.mjs.map +0 -1
  382. package/fesm2020/mdc-checkbox/testing.mjs +0 -60
  383. package/fesm2020/mdc-checkbox/testing.mjs.map +0 -1
  384. package/fesm2020/mdc-checkbox.mjs +0 -139
  385. package/fesm2020/mdc-checkbox.mjs.map +0 -1
  386. package/fesm2020/mdc-chips/testing.mjs +0 -395
  387. package/fesm2020/mdc-chips/testing.mjs.map +0 -1
  388. package/fesm2020/mdc-chips.mjs +0 -2161
  389. package/fesm2020/mdc-chips.mjs.map +0 -1
  390. package/fesm2020/mdc-core/testing.mjs +0 -129
  391. package/fesm2020/mdc-core/testing.mjs.map +0 -1
  392. package/fesm2020/mdc-core.mjs +0 -139
  393. package/fesm2020/mdc-core.mjs.map +0 -1
  394. package/fesm2020/mdc-dialog/testing.mjs +0 -90
  395. package/fesm2020/mdc-dialog/testing.mjs.map +0 -1
  396. package/fesm2020/mdc-dialog.mjs +0 -499
  397. package/fesm2020/mdc-dialog.mjs.map +0 -1
  398. package/fesm2020/mdc-form-field/testing.mjs +0 -78
  399. package/fesm2020/mdc-form-field/testing.mjs.map +0 -1
  400. package/fesm2020/mdc-form-field.mjs +0 -1014
  401. package/fesm2020/mdc-form-field.mjs.map +0 -1
  402. package/fesm2020/mdc-input/testing.mjs +0 -18
  403. package/fesm2020/mdc-input/testing.mjs.map +0 -1
  404. package/fesm2020/mdc-input.mjs +0 -103
  405. package/fesm2020/mdc-input.mjs.map +0 -1
  406. package/fesm2020/mdc-list/testing.mjs +0 -544
  407. package/fesm2020/mdc-list/testing.mjs.map +0 -1
  408. package/fesm2020/mdc-list.mjs +0 -1260
  409. package/fesm2020/mdc-list.mjs.map +0 -1
  410. package/fesm2020/mdc-menu/testing.mjs +0 -65
  411. package/fesm2020/mdc-menu/testing.mjs.map +0 -1
  412. package/fesm2020/mdc-menu.mjs +0 -172
  413. package/fesm2020/mdc-menu.mjs.map +0 -1
  414. package/fesm2020/mdc-paginator/testing.mjs +0 -55
  415. package/fesm2020/mdc-paginator/testing.mjs.map +0 -1
  416. package/fesm2020/mdc-paginator.mjs +0 -98
  417. package/fesm2020/mdc-paginator.mjs.map +0 -1
  418. package/fesm2020/mdc-progress-bar/testing.mjs +0 -56
  419. package/fesm2020/mdc-progress-bar/testing.mjs.map +0 -1
  420. package/fesm2020/mdc-progress-bar.mjs +0 -196
  421. package/fesm2020/mdc-progress-bar.mjs.map +0 -1
  422. package/fesm2020/mdc-progress-spinner/testing.mjs +0 -58
  423. package/fesm2020/mdc-progress-spinner/testing.mjs.map +0 -1
  424. package/fesm2020/mdc-progress-spinner.mjs +0 -197
  425. package/fesm2020/mdc-progress-spinner.mjs.map +0 -1
  426. package/fesm2020/mdc-radio/testing.mjs +0 -69
  427. package/fesm2020/mdc-radio/testing.mjs.map +0 -1
  428. package/fesm2020/mdc-radio.mjs +0 -153
  429. package/fesm2020/mdc-radio.mjs.map +0 -1
  430. package/fesm2020/mdc-select/testing.mjs +0 -56
  431. package/fesm2020/mdc-select/testing.mjs.map +0 -1
  432. package/fesm2020/mdc-select.mjs +0 -273
  433. package/fesm2020/mdc-select.mjs.map +0 -1
  434. package/fesm2020/mdc-slide-toggle/testing.mjs +0 -66
  435. package/fesm2020/mdc-slide-toggle/testing.mjs.map +0 -1
  436. package/fesm2020/mdc-slide-toggle.mjs +0 -157
  437. package/fesm2020/mdc-slide-toggle.mjs.map +0 -1
  438. package/fesm2020/mdc-slider/testing.mjs +0 -172
  439. package/fesm2020/mdc-slider/testing.mjs.map +0 -1
  440. package/fesm2020/mdc-slider.mjs +0 -1191
  441. package/fesm2020/mdc-slider.mjs.map +0 -1
  442. package/fesm2020/mdc-snack-bar/testing.mjs +0 -53
  443. package/fesm2020/mdc-snack-bar/testing.mjs.map +0 -1
  444. package/fesm2020/mdc-snack-bar.mjs +0 -232
  445. package/fesm2020/mdc-snack-bar.mjs.map +0 -1
  446. package/fesm2020/mdc-table/testing.mjs +0 -158
  447. package/fesm2020/mdc-table/testing.mjs.map +0 -1
  448. package/fesm2020/mdc-table.mjs +0 -539
  449. package/fesm2020/mdc-table.mjs.map +0 -1
  450. package/fesm2020/mdc-tabs/testing.mjs +0 -265
  451. package/fesm2020/mdc-tabs/testing.mjs.map +0 -1
  452. package/fesm2020/mdc-tabs.mjs +0 -723
  453. package/fesm2020/mdc-tabs.mjs.map +0 -1
  454. package/fesm2020/mdc-tooltip/testing.mjs +0 -49
  455. package/fesm2020/mdc-tooltip/testing.mjs.map +0 -1
  456. package/fesm2020/mdc-tooltip.mjs +0 -202
  457. package/fesm2020/mdc-tooltip.mjs.map +0 -1
  458. package/mdc-autocomplete/_autocomplete-theme.import.scss +0 -5
  459. package/mdc-autocomplete/_autocomplete-theme.scss +0 -48
  460. package/mdc-autocomplete/index.d.ts +0 -97
  461. package/mdc-autocomplete/testing/index.d.ts +0 -32
  462. package/mdc-button/_button-base.import.scss +0 -4
  463. package/mdc-button/_button-base.scss +0 -95
  464. package/mdc-button/_button-theme-private.scss +0 -62
  465. package/mdc-button/_button-theme.import.scss +0 -16
  466. package/mdc-button/_button-theme.scss +0 -224
  467. package/mdc-button/_fab-theme.scss +0 -90
  468. package/mdc-button/_icon-button-theme.scss +0 -76
  469. package/mdc-button/index.d.ts +0 -216
  470. package/mdc-button/testing/index.d.ts +0 -41
  471. package/mdc-card/_card-theme.import.scss +0 -7
  472. package/mdc-card/_card-theme.scss +0 -74
  473. package/mdc-card/index.d.ts +0 -194
  474. package/mdc-card/testing/index.d.ts +0 -44
  475. package/mdc-checkbox/_checkbox-private.scss +0 -53
  476. package/mdc-checkbox/_checkbox-theme.import.scss +0 -15
  477. package/mdc-checkbox/_checkbox-theme.scss +0 -122
  478. package/mdc-checkbox/index.d.ts +0 -87
  479. package/mdc-checkbox/testing/index.d.ts +0 -28
  480. package/mdc-chips/_chips-theme.import.scss +0 -8
  481. package/mdc-chips/_chips-theme.scss +0 -117
  482. package/mdc-chips/index.d.ts +0 -979
  483. package/mdc-chips/testing/index.d.ts +0 -232
  484. package/mdc-core/_core-theme.import.scss +0 -10
  485. package/mdc-core/_core-theme.scss +0 -78
  486. package/mdc-core/_elevation.scss +0 -38
  487. package/mdc-core/color/_all-color.scss +0 -25
  488. package/mdc-core/density/_all-density.scss +0 -25
  489. package/mdc-core/index.d.ts +0 -206
  490. package/mdc-core/mdc-helpers/_focus-indicators-theme.scss +0 -39
  491. package/mdc-core/mdc-helpers/_focus-indicators.import.scss +0 -10
  492. package/mdc-core/mdc-helpers/_focus-indicators.scss +0 -15
  493. package/mdc-core/mdc-helpers/_mdc-helpers.import.scss +0 -8
  494. package/mdc-core/mdc-helpers/_mdc-helpers.scss +0 -221
  495. package/mdc-core/option/_optgroup-theme.import.scss +0 -7
  496. package/mdc-core/option/_optgroup-theme.scss +0 -44
  497. package/mdc-core/option/_option-theme.import.scss +0 -7
  498. package/mdc-core/option/_option-theme.scss +0 -87
  499. package/mdc-core/testing/index.d.ts +0 -64
  500. package/mdc-core/theming/_all-theme.scss +0 -61
  501. package/mdc-core/theming/prebuilt/deeppurple-amber.css +0 -1
  502. package/mdc-core/theming/prebuilt/indigo-pink.css +0 -1
  503. package/mdc-core/theming/prebuilt/pink-bluegrey.css +0 -1
  504. package/mdc-core/theming/prebuilt/purple-green.css +0 -1
  505. package/mdc-core/typography/_all-typography.scss +0 -99
  506. package/mdc-dialog/_dialog-legacy-padding.import.scss +0 -1
  507. package/mdc-dialog/_dialog-legacy-padding.scss +0 -31
  508. package/mdc-dialog/_dialog-theme.import.scss +0 -5
  509. package/mdc-dialog/_dialog-theme.scss +0 -78
  510. package/mdc-dialog/_mdc-dialog-structure-overrides.import.scss +0 -1
  511. package/mdc-dialog/_mdc-dialog-structure-overrides.scss +0 -56
  512. package/mdc-dialog/index.d.ts +0 -217
  513. package/mdc-dialog/testing/index.d.ts +0 -47
  514. package/mdc-form-field/_form-field-density.scss +0 -119
  515. package/mdc-form-field/_form-field-focus-overlay.scss +0 -34
  516. package/mdc-form-field/_form-field-high-contrast.scss +0 -39
  517. package/mdc-form-field/_form-field-native-select.scss +0 -133
  518. package/mdc-form-field/_form-field-sizing.scss +0 -40
  519. package/mdc-form-field/_form-field-subscript.scss +0 -83
  520. package/mdc-form-field/_form-field-theme.scss +0 -148
  521. package/mdc-form-field/_mdc-text-field-structure-overrides.scss +0 -129
  522. package/mdc-form-field/_mdc-text-field-textarea-overrides.scss +0 -36
  523. package/mdc-form-field/_mdc-text-field-theme-variable-refresh.scss +0 -63
  524. package/mdc-form-field/index.d.ts +0 -431
  525. package/mdc-form-field/testing/index.d.ts +0 -48
  526. package/mdc-input/_input-theme.import.scss +0 -5
  527. package/mdc-input/_input-theme.scss +0 -35
  528. package/mdc-input/index.d.ts +0 -30
  529. package/mdc-input/testing/index.d.ts +0 -20
  530. package/mdc-list/_interactive-list-theme.import.scss +0 -5
  531. package/mdc-list/_interactive-list-theme.scss +0 -40
  532. package/mdc-list/_list-option-theme.import.scss +0 -13
  533. package/mdc-list/_list-option-theme.scss +0 -28
  534. package/mdc-list/_list-option-trailing-avatar-compat.scss +0 -58
  535. package/mdc-list/_list-theme.import.scss +0 -17
  536. package/mdc-list/_list-theme.scss +0 -81
  537. package/mdc-list/index.d.ts +0 -534
  538. package/mdc-list/testing/index.d.ts +0 -372
  539. package/mdc-menu/_menu-theme.import.scss +0 -5
  540. package/mdc-menu/_menu-theme.scss +0 -88
  541. package/mdc-menu/index.d.ts +0 -110
  542. package/mdc-menu/testing/index.d.ts +0 -38
  543. package/mdc-paginator/_paginator-theme.import.scss +0 -9
  544. package/mdc-paginator/_paginator-theme.scss +0 -106
  545. package/mdc-paginator/_paginator-variables.import.scss +0 -1
  546. package/mdc-paginator/_paginator-variables.scss +0 -13
  547. package/mdc-paginator/index.d.ts +0 -72
  548. package/mdc-paginator/testing/index.d.ts +0 -30
  549. package/mdc-progress-bar/_progress-bar-theme.import.scss +0 -6
  550. package/mdc-progress-bar/_progress-bar-theme.scss +0 -57
  551. package/mdc-progress-bar/index.d.ts +0 -98
  552. package/mdc-progress-bar/testing/index.d.ts +0 -24
  553. package/mdc-progress-spinner/_progress-spinner-theme.import.scss +0 -6
  554. package/mdc-progress-spinner/_progress-spinner-theme.scss +0 -48
  555. package/mdc-progress-spinner/index.d.ts +0 -90
  556. package/mdc-progress-spinner/testing/index.d.ts +0 -26
  557. package/mdc-radio/_radio-theme.import.scss +0 -7
  558. package/mdc-radio/_radio-theme.scss +0 -110
  559. package/mdc-radio/index.d.ts +0 -72
  560. package/mdc-radio/testing/index.d.ts +0 -43
  561. package/mdc-select/_select-theme.import.scss +0 -10
  562. package/mdc-select/_select-theme.scss +0 -100
  563. package/mdc-select/index.d.ts +0 -111
  564. package/mdc-select/testing/index.d.ts +0 -28
  565. package/mdc-slide-toggle/_slide-toggle-theme.import.scss +0 -11
  566. package/mdc-slide-toggle/_slide-toggle-theme.scss +0 -140
  567. package/mdc-slide-toggle/index.d.ts +0 -83
  568. package/mdc-slide-toggle/testing/index.d.ts +0 -27
  569. package/mdc-slider/_slider-theme.import.scss +0 -5
  570. package/mdc-slider/_slider-theme.scss +0 -125
  571. package/mdc-slider/index.d.ts +0 -435
  572. package/mdc-slider/testing/index.d.ts +0 -92
  573. package/mdc-snack-bar/_snack-bar-theme.import.scss +0 -8
  574. package/mdc-snack-bar/_snack-bar-theme.scss +0 -81
  575. package/mdc-snack-bar/index.d.ts +0 -136
  576. package/mdc-snack-bar/testing/index.d.ts +0 -23
  577. package/mdc-table/_table-theme.import.scss +0 -11
  578. package/mdc-table/_table-theme.scss +0 -78
  579. package/mdc-table/index.d.ts +0 -238
  580. package/mdc-table/testing/index.d.ts +0 -118
  581. package/mdc-tabs/_tabs-common.import.scss +0 -14
  582. package/mdc-tabs/_tabs-common.scss +0 -196
  583. package/mdc-tabs/_tabs-theme.import.scss +0 -8
  584. package/mdc-tabs/_tabs-theme.scss +0 -146
  585. package/mdc-tabs/index.d.ts +0 -307
  586. package/mdc-tabs/testing/index.d.ts +0 -151
  587. package/mdc-tooltip/_tooltip-theme.import.scss +0 -5
  588. package/mdc-tooltip/_tooltip-theme.scss +0 -49
  589. package/mdc-tooltip/index.d.ts +0 -118
  590. package/mdc-tooltip/testing/index.d.ts +0 -26
@@ -1,253 +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 { coerceBooleanProperty } from '@angular/cdk/coercion';
9
- import { ANIMATION_MODULE_TYPE, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Inject, InjectionToken, Input, NgZone, Optional, Output, QueryList, ViewChild, ViewEncapsulation, } from '@angular/core';
10
- import { MAT_RIPPLE_GLOBAL_OPTIONS, } from '@angular/material-experimental/mdc-core';
11
- import { MatListItemBase } from './list-base';
12
- import { LIST_OPTION } from './list-option-types';
13
- import { MatListItemLine, MatListItemTitle } from './list-item-sections';
14
- import { Platform } from '@angular/cdk/platform';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "@angular/cdk/platform";
17
- import * as i2 from "@angular/cdk/observers";
18
- import * as i3 from "@angular/common";
19
- /**
20
- * Injection token that can be used to reference instances of an `SelectionList`. It serves
21
- * as alternative token to an actual implementation which would result in circular references.
22
- * @docs-private
23
- */
24
- export const SELECTION_LIST = new InjectionToken('SelectionList');
25
- export class MatListOption extends MatListItemBase {
26
- constructor(elementRef, ngZone, _selectionList, platform, _changeDetectorRef, globalRippleOptions, animationMode) {
27
- super(elementRef, ngZone, _selectionList, platform, globalRippleOptions, animationMode);
28
- this._selectionList = _selectionList;
29
- this._changeDetectorRef = _changeDetectorRef;
30
- /**
31
- * Emits when the selected state of the option has changed.
32
- * Use to facilitate two-data binding to the `selected` property.
33
- * @docs-private
34
- */
35
- this.selectedChange = new EventEmitter();
36
- /** Whether the label should appear before or after the checkbox. Defaults to 'after' */
37
- this.checkboxPosition = 'after';
38
- this._selected = false;
39
- /**
40
- * This is set to true after the first OnChanges cycle so we don't
41
- * clear the value of `selected` in the first cycle.
42
- */
43
- this._inputsInitialized = false;
44
- }
45
- /** Theme color of the list option. This sets the color of the checkbox. */
46
- get color() {
47
- return this._color || this._selectionList.color;
48
- }
49
- set color(newValue) {
50
- this._color = newValue;
51
- }
52
- /** Value of the option */
53
- get value() {
54
- return this._value;
55
- }
56
- set value(newValue) {
57
- if (this.selected && newValue !== this.value && this._inputsInitialized) {
58
- this.selected = false;
59
- }
60
- this._value = newValue;
61
- }
62
- /** Whether the option is selected. */
63
- get selected() {
64
- return this._selectionList.selectedOptions.isSelected(this);
65
- }
66
- set selected(value) {
67
- const isSelected = coerceBooleanProperty(value);
68
- if (isSelected !== this._selected) {
69
- this._setSelected(isSelected);
70
- if (isSelected || this._selectionList.multiple) {
71
- this._selectionList._reportValueChange();
72
- }
73
- }
74
- }
75
- ngOnInit() {
76
- const list = this._selectionList;
77
- if (list._value && list._value.some(value => list.compareWith(this._value, value))) {
78
- this._setSelected(true);
79
- }
80
- const wasSelected = this._selected;
81
- // List options that are selected at initialization can't be reported properly to the form
82
- // control. This is because it takes some time until the selection-list knows about all
83
- // available options. Also it can happen that the ControlValueAccessor has an initial value
84
- // that should be used instead. Deferring the value change report to the next tick ensures
85
- // that the form control value is not being overwritten.
86
- Promise.resolve().then(() => {
87
- if (this._selected || wasSelected) {
88
- this.selected = true;
89
- this._changeDetectorRef.markForCheck();
90
- }
91
- });
92
- this._inputsInitialized = true;
93
- }
94
- ngOnDestroy() {
95
- super.ngOnDestroy();
96
- if (this.selected) {
97
- // We have to delay this until the next tick in order
98
- // to avoid changed after checked errors.
99
- Promise.resolve().then(() => {
100
- this.selected = false;
101
- });
102
- }
103
- }
104
- /** Toggles the selection state of the option. */
105
- toggle() {
106
- this.selected = !this.selected;
107
- }
108
- /** Allows for programmatic focusing of the option. */
109
- focus() {
110
- this._hostElement.focus();
111
- }
112
- /** Gets the text label of the list option. Used for the typeahead functionality in the list. */
113
- getLabel() {
114
- const titleElement = this._titles?.get(0)?._elementRef.nativeElement;
115
- // If there is no explicit title element, the unscoped text content
116
- // is treated as the list item title.
117
- const labelEl = titleElement || this._unscopedContent?.nativeElement;
118
- return labelEl?.textContent || '';
119
- }
120
- /** Whether a checkbox is shown at the given position. */
121
- _hasCheckboxAt(position) {
122
- return this._selectionList.multiple && this._getCheckboxPosition() === position;
123
- }
124
- /** Whether icons or avatars are shown at the given position. */
125
- _hasIconsOrAvatarsAt(position) {
126
- return this._hasProjected('icons', position) || this._hasProjected('avatars', position);
127
- }
128
- /** Gets whether the given type of element is projected at the specified position. */
129
- _hasProjected(type, position) {
130
- // If the checkbox is shown at the specified position, neither icons or
131
- // avatars can be shown at the position.
132
- return (this._getCheckboxPosition() !== position &&
133
- (type === 'avatars' ? this._avatars.length !== 0 : this._icons.length !== 0));
134
- }
135
- _handleBlur() {
136
- this._selectionList._onTouched();
137
- }
138
- /** Gets the current position of the checkbox. */
139
- _getCheckboxPosition() {
140
- return this.checkboxPosition || 'after';
141
- }
142
- /**
143
- * Sets the selected state of the option.
144
- * @returns Whether the value has changed.
145
- */
146
- _setSelected(selected) {
147
- if (selected === this._selected) {
148
- return false;
149
- }
150
- this._selected = selected;
151
- if (selected) {
152
- this._selectionList.selectedOptions.select(this);
153
- }
154
- else {
155
- this._selectionList.selectedOptions.deselect(this);
156
- }
157
- this.selectedChange.emit(selected);
158
- this._changeDetectorRef.markForCheck();
159
- return true;
160
- }
161
- /**
162
- * Notifies Angular that the option needs to be checked in the next change detection run.
163
- * Mainly used to trigger an update of the list option if the disabled state of the selection
164
- * list changed.
165
- */
166
- _markForCheck() {
167
- this._changeDetectorRef.markForCheck();
168
- }
169
- /** Toggles the option's value based on a user interaction. */
170
- _toggleOnInteraction() {
171
- if (!this.disabled) {
172
- if (this._selectionList.multiple) {
173
- this.selected = !this.selected;
174
- this._selectionList._emitChangeEvent([this]);
175
- }
176
- else if (!this.selected) {
177
- this.selected = true;
178
- this._selectionList._emitChangeEvent([this]);
179
- }
180
- }
181
- }
182
- /** Sets the tabindex of the list option. */
183
- _setTabindex(value) {
184
- this._hostElement.setAttribute('tabindex', value + '');
185
- }
186
- }
187
- MatListOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatListOption, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: SELECTION_LIST }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
188
- MatListOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: MatListOption, selector: "mat-list-option", inputs: { checkboxPosition: "checkboxPosition", color: "color", value: "value", selected: "selected" }, outputs: { selectedChange: "selectedChange" }, host: { attributes: { "role": "option" }, listeners: { "blur": "_handleBlur()", "click": "_toggleOnInteraction()" }, properties: { "class.mdc-list-item--selected": "selected && !_selectionList.multiple", "class.mdc-list-item--with-leading-avatar": "_hasProjected(\"avatars\", \"before\")", "class.mdc-list-item--with-leading-icon": "_hasProjected(\"icons\", \"before\")", "class.mdc-list-item--with-trailing-icon": "_hasProjected(\"icons\", \"after\")", "class.mat-mdc-list-option-with-trailing-avatar": "_hasProjected(\"avatars\", \"after\")", "class.mdc-list-item--with-leading-checkbox": "_hasCheckboxAt(\"before\")", "class.mdc-list-item--with-trailing-checkbox": "_hasCheckboxAt(\"after\")", "class.mat-accent": "color !== \"primary\" && color !== \"warn\"", "class.mat-warn": "color === \"warn\"", "class._mat-animation-noopable": "_noopAnimations", "attr.aria-selected": "selected" }, classAttribute: "mat-mdc-list-item mat-mdc-list-option mdc-list-item" }, providers: [
189
- { provide: MatListItemBase, useExisting: MatListOption },
190
- { provide: LIST_OPTION, useExisting: MatListOption },
191
- ], queries: [{ propertyName: "_lines", predicate: MatListItemLine, descendants: true }, { propertyName: "_titles", predicate: MatListItemTitle, descendants: true }], viewQueries: [{ propertyName: "_unscopedContent", first: true, predicate: ["unscopedContent"], descendants: true }], exportAs: ["matListOption"], usesInheritance: true, ngImport: i0, template: "<!--\n Save icons and the pseudo checkbox so that they can be re-used in the template without\n duplication. Also content can only be injected once so we need to extract icons/avatars\n into a template since we use it in multiple places.\n-->\n<ng-template #icons>\n <ng-content select=\"[matListItemAvatar],[matListItemIcon]\">\n </ng-content>\n</ng-template>\n\n<ng-template #checkbox>\n <div class=\"mdc-checkbox\" [class.mdc-checkbox--disabled]=\"disabled\">\n <input type=\"checkbox\" class=\"mdc-checkbox__native-control\"\n [checked]=\"selected\" [disabled]=\"disabled\"/>\n <div class=\"mdc-checkbox__background\">\n <svg class=\"mdc-checkbox__checkmark\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\">\n <path class=\"mdc-checkbox__checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"/>\n </svg>\n <div class=\"mdc-checkbox__mixedmark\"></div>\n </div>\n </div>\n</ng-template>\n\n<!-- Container for the checkbox at start. -->\n<span class=\"mdc-list-item__start mat-mdc-list-option-checkbox-before\"\n *ngIf=\"_hasCheckboxAt('before')\">\n <ng-template [ngTemplateOutlet]=\"checkbox\"></ng-template>\n</span>\n<!-- Conditionally renders icons/avatars before the list item text. -->\n<ng-template [ngIf]=\"_hasIconsOrAvatarsAt('before')\">\n <ng-template [ngTemplateOutlet]=\"icons\"></ng-template>\n</ng-template>\n\n<!-- Text -->\n<span class=\"mdc-list-item__content\">\n <ng-content select=\"[matListItemTitle]\"></ng-content>\n <ng-content select=\"[matListItemLine]\"></ng-content>\n <span #unscopedContent class=\"mat-mdc-list-item-unscoped-content\"\n (cdkObserveContent)=\"_updateItemLines(true)\">\n <ng-content></ng-content>\n </span>\n</span>\n\n<!-- Container for the checkbox at the end. -->\n<span class=\"mdc-list-item__end\" *ngIf=\"_hasCheckboxAt('after')\">\n <ng-template [ngTemplateOutlet]=\"checkbox\"></ng-template>\n</span>\n<!-- Conditionally renders icons/avatars after the list item text. -->\n<ng-template [ngIf]=\"_hasIconsOrAvatarsAt('after')\">\n <ng-template [ngTemplateOutlet]=\"icons\"></ng-template>\n</ng-template>\n\n<!-- Divider -->\n<ng-content select=\"mat-divider\"></ng-content>\n\n<!--\n Strong focus indicator element. MDC uses the `::before` pseudo element for the default\n focus/hover/selected state, so we need a separate element.\n-->\n<div class=\"mat-mdc-focus-indicator\"></div>\n", styles: [".mat-mdc-list-option-with-trailing-avatar.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mat-mdc-list-option-with-trailing-avatar.mdc-list-item,.mat-mdc-list-option-with-trailing-avatar.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mat-mdc-list-option-with-trailing-avatar .mdc-list-item__end{margin-left:16px;margin-right:16px}[dir=rtl] .mat-mdc-list-option-with-trailing-avatar .mdc-list-item__end,.mat-mdc-list-option-with-trailing-avatar .mdc-list-item__end[dir=rtl]{margin-left:16px;margin-right:16px}.mat-mdc-list-option-with-trailing-avatar .mdc-list-item__end{width:40px;height:40px}.mat-mdc-list-option-with-trailing-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mat-mdc-list-option-with-trailing-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:\"\";vertical-align:0}.mat-mdc-list-option-with-trailing-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\"\";vertical-align:-20px}.mat-mdc-list-option-with-trailing-avatar .mdc-list-item__end{border-radius:50%}.mat-mdc-list-option .mdc-touch-target-wrapper{display:inline}.mat-mdc-list-option .mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom}.mat-mdc-list-option .mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring,.mat-mdc-list-option .mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%}@media screen and (forced-colors: active){.mat-mdc-list-option .mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring,.mat-mdc-list-option .mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring{border-color:CanvasText}}.mat-mdc-list-option .mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring::after,.mat-mdc-list-option .mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring::after{content:\"\";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mat-mdc-list-option .mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring::after,.mat-mdc-list-option .mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring::after{border-color:CanvasText}}@media all and (-ms-high-contrast: none){.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__focus-ring{display:none}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-list-option .mdc-checkbox__mixedmark{margin:0 1px}}.mat-mdc-list-option .mdc-checkbox--disabled{cursor:default;pointer-events:none}.mat-mdc-list-option .mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:rgba(0,0,0,0);pointer-events:none;will-change:background-color,border-color}.mat-mdc-list-option .mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0}.mdc-checkbox--upgraded .mat-mdc-list-option .mdc-checkbox__checkmark{opacity:1}.mat-mdc-list-option .mdc-checkbox__checkmark-path{stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mat-mdc-list-option .mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mat-mdc-list-option .mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mat-mdc-list-option .mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit}.mat-mdc-list-option .mdc-checkbox__native-control:disabled{cursor:default;pointer-events:none}.mat-mdc-list-option .mdc-checkbox--touch{margin:calc((var(--mdc-checkbox-state-layer-size, 48px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2)}.mat-mdc-list-option .mdc-checkbox--touch .mdc-checkbox__native-control{top:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 48px)) / 2);right:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 48px)) / 2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 48px)) / 2);width:var(--mdc-checkbox-state-layer-size, 48px);height:var(--mdc-checkbox-state-layer-size, 48px)}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{opacity:1}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark,.mat-mdc-list-option .mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0}.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__mixedmark,.mat-mdc-list-option .mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:mdc-animation-deceleration-curve-timing-function;transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}@media all and (-ms-high-contrast: none){.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox .mdc-checkbox__focus-ring{display:none}}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__background{transition:background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__checkmark{transition:opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__mixedmark{transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;transition:none}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;transition:none}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;transition:none}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;transition:none}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;transition:none}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;transition:none}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background{transition:border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__background,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__mixedmark{transition:none}.mat-mdc-list-option .mdc-checkbox{padding:calc((40px - 18px) / 2);padding:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px) / 2);margin:calc((40px - 40px) / 2);margin:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2)}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:rgba(0, 0, 0, 0.38);border-color:var(--mdc-checkbox-disabled-unselected-icon-color, rgba(0, 0, 0, 0.38));background-color:transparent}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control[disabled]:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control[disabled]:indeterminate~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true][disabled]~.mdc-checkbox__background{border-color:transparent;background-color:rgba(0, 0, 0, 0.38);background-color:var(--mdc-checkbox-disabled-selected-icon-color, rgba(0, 0, 0, 0.38))}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:#fff;color:var(--mdc-checkbox-selected-checkmark-color, #fff)}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:#fff;border-color:var(--mdc-checkbox-selected-checkmark-color, #fff)}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:#fff;color:var(--mdc-checkbox-disabled-selected-checkmark-color, #fff)}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:#fff;border-color:var(--mdc-checkbox-disabled-selected-checkmark-color, #fff)}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:rgba(0, 0, 0, 0.54);border-color:var(--mdc-checkbox-unselected-icon-color, rgba(0, 0, 0, 0.54));background-color:transparent}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:#018786;border-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786));background-color:#018786;background-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786))}@keyframes mdc-checkbox-fade-in-background-8A000000FF01878600000000FF018786{0%{border-color:rgba(0, 0, 0, 0.54);border-color:var(--mdc-checkbox-unselected-icon-color, rgba(0, 0, 0, 0.54));background-color:transparent}50%{border-color:#018786;border-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786));background-color:#018786;background-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786))}}@keyframes mdc-checkbox-fade-out-background-8A000000FF01878600000000FF018786{0%,80%{border-color:#018786;border-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786));background-color:#018786;background-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786))}100%{border-color:rgba(0, 0, 0, 0.54);border-color:var(--mdc-checkbox-unselected-icon-color, rgba(0, 0, 0, 0.54));background-color:transparent}}.mat-mdc-list-option .mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-8A000000FF01878600000000FF018786}.mat-mdc-list-option .mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-8A000000FF01878600000000FF018786}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__background{top:calc((40px - 18px) / 2);top:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px) / 2);left:calc((40px - 18px) / 2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px) / 2)}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control{top:calc((40px - 40px) / 2);top:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2);right:calc((40px - 40px) / 2);right:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2);left:calc((40px - 40px) / 2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2);width:40px;width:var(--mdc-checkbox-state-layer-size, 40px);height:40px;height:var(--mdc-checkbox-state-layer-size, 40px)}.mat-mdc-list-option .mdc-checkbox__native-control{display:none}.cdk-high-contrast-active .mat-mdc-list-option.mdc-list-item--selected::after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-mdc-list-option.mdc-list-item--selected::after{right:auto;left:16px}"], dependencies: [{ kind: "directive", type: i2.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
192
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatListOption, decorators: [{
193
- type: Component,
194
- args: [{ selector: 'mat-list-option', exportAs: 'matListOption', host: {
195
- 'class': 'mat-mdc-list-item mat-mdc-list-option mdc-list-item',
196
- 'role': 'option',
197
- // As per MDC, only list items in single selection mode should receive the `--selected`
198
- // class. For multi selection, the checkbox is used as indicator.
199
- '[class.mdc-list-item--selected]': 'selected && !_selectionList.multiple',
200
- // Based on the checkbox position and whether there are icons or avatars, we apply MDC's
201
- // list-item `--leading` and `--trailing` classes.
202
- '[class.mdc-list-item--with-leading-avatar]': '_hasProjected("avatars", "before")',
203
- '[class.mdc-list-item--with-leading-icon]': '_hasProjected("icons", "before")',
204
- '[class.mdc-list-item--with-trailing-icon]': '_hasProjected("icons", "after")',
205
- '[class.mat-mdc-list-option-with-trailing-avatar]': '_hasProjected("avatars", "after")',
206
- // Based on the checkbox position, we apply the `--leading` or `--trailing` MDC classes
207
- // which ensure that the checkbox is positioned correctly within the list item.
208
- '[class.mdc-list-item--with-leading-checkbox]': '_hasCheckboxAt("before")',
209
- '[class.mdc-list-item--with-trailing-checkbox]': '_hasCheckboxAt("after")',
210
- '[class.mat-accent]': 'color !== "primary" && color !== "warn"',
211
- '[class.mat-warn]': 'color === "warn"',
212
- '[class._mat-animation-noopable]': '_noopAnimations',
213
- '[attr.aria-selected]': 'selected',
214
- '(blur)': '_handleBlur()',
215
- '(click)': '_toggleOnInteraction()',
216
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
217
- { provide: MatListItemBase, useExisting: MatListOption },
218
- { provide: LIST_OPTION, useExisting: MatListOption },
219
- ], template: "<!--\n Save icons and the pseudo checkbox so that they can be re-used in the template without\n duplication. Also content can only be injected once so we need to extract icons/avatars\n into a template since we use it in multiple places.\n-->\n<ng-template #icons>\n <ng-content select=\"[matListItemAvatar],[matListItemIcon]\">\n </ng-content>\n</ng-template>\n\n<ng-template #checkbox>\n <div class=\"mdc-checkbox\" [class.mdc-checkbox--disabled]=\"disabled\">\n <input type=\"checkbox\" class=\"mdc-checkbox__native-control\"\n [checked]=\"selected\" [disabled]=\"disabled\"/>\n <div class=\"mdc-checkbox__background\">\n <svg class=\"mdc-checkbox__checkmark\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\">\n <path class=\"mdc-checkbox__checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"/>\n </svg>\n <div class=\"mdc-checkbox__mixedmark\"></div>\n </div>\n </div>\n</ng-template>\n\n<!-- Container for the checkbox at start. -->\n<span class=\"mdc-list-item__start mat-mdc-list-option-checkbox-before\"\n *ngIf=\"_hasCheckboxAt('before')\">\n <ng-template [ngTemplateOutlet]=\"checkbox\"></ng-template>\n</span>\n<!-- Conditionally renders icons/avatars before the list item text. -->\n<ng-template [ngIf]=\"_hasIconsOrAvatarsAt('before')\">\n <ng-template [ngTemplateOutlet]=\"icons\"></ng-template>\n</ng-template>\n\n<!-- Text -->\n<span class=\"mdc-list-item__content\">\n <ng-content select=\"[matListItemTitle]\"></ng-content>\n <ng-content select=\"[matListItemLine]\"></ng-content>\n <span #unscopedContent class=\"mat-mdc-list-item-unscoped-content\"\n (cdkObserveContent)=\"_updateItemLines(true)\">\n <ng-content></ng-content>\n </span>\n</span>\n\n<!-- Container for the checkbox at the end. -->\n<span class=\"mdc-list-item__end\" *ngIf=\"_hasCheckboxAt('after')\">\n <ng-template [ngTemplateOutlet]=\"checkbox\"></ng-template>\n</span>\n<!-- Conditionally renders icons/avatars after the list item text. -->\n<ng-template [ngIf]=\"_hasIconsOrAvatarsAt('after')\">\n <ng-template [ngTemplateOutlet]=\"icons\"></ng-template>\n</ng-template>\n\n<!-- Divider -->\n<ng-content select=\"mat-divider\"></ng-content>\n\n<!--\n Strong focus indicator element. MDC uses the `::before` pseudo element for the default\n focus/hover/selected state, so we need a separate element.\n-->\n<div class=\"mat-mdc-focus-indicator\"></div>\n", styles: [".mat-mdc-list-option-with-trailing-avatar.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mat-mdc-list-option-with-trailing-avatar.mdc-list-item,.mat-mdc-list-option-with-trailing-avatar.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mat-mdc-list-option-with-trailing-avatar .mdc-list-item__end{margin-left:16px;margin-right:16px}[dir=rtl] .mat-mdc-list-option-with-trailing-avatar .mdc-list-item__end,.mat-mdc-list-option-with-trailing-avatar .mdc-list-item__end[dir=rtl]{margin-left:16px;margin-right:16px}.mat-mdc-list-option-with-trailing-avatar .mdc-list-item__end{width:40px;height:40px}.mat-mdc-list-option-with-trailing-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mat-mdc-list-option-with-trailing-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:\"\";vertical-align:0}.mat-mdc-list-option-with-trailing-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\"\";vertical-align:-20px}.mat-mdc-list-option-with-trailing-avatar .mdc-list-item__end{border-radius:50%}.mat-mdc-list-option .mdc-touch-target-wrapper{display:inline}.mat-mdc-list-option .mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom}.mat-mdc-list-option .mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring,.mat-mdc-list-option .mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%}@media screen and (forced-colors: active){.mat-mdc-list-option .mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring,.mat-mdc-list-option .mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring{border-color:CanvasText}}.mat-mdc-list-option .mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring::after,.mat-mdc-list-option .mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring::after{content:\"\";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mat-mdc-list-option .mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring::after,.mat-mdc-list-option .mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring::after{border-color:CanvasText}}@media all and (-ms-high-contrast: none){.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__focus-ring{display:none}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-list-option .mdc-checkbox__mixedmark{margin:0 1px}}.mat-mdc-list-option .mdc-checkbox--disabled{cursor:default;pointer-events:none}.mat-mdc-list-option .mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:rgba(0,0,0,0);pointer-events:none;will-change:background-color,border-color}.mat-mdc-list-option .mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0}.mdc-checkbox--upgraded .mat-mdc-list-option .mdc-checkbox__checkmark{opacity:1}.mat-mdc-list-option .mdc-checkbox__checkmark-path{stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mat-mdc-list-option .mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mat-mdc-list-option .mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mat-mdc-list-option .mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit}.mat-mdc-list-option .mdc-checkbox__native-control:disabled{cursor:default;pointer-events:none}.mat-mdc-list-option .mdc-checkbox--touch{margin:calc((var(--mdc-checkbox-state-layer-size, 48px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2)}.mat-mdc-list-option .mdc-checkbox--touch .mdc-checkbox__native-control{top:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 48px)) / 2);right:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 48px)) / 2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 48px)) / 2);width:var(--mdc-checkbox-state-layer-size, 48px);height:var(--mdc-checkbox-state-layer-size, 48px)}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{opacity:1}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark,.mat-mdc-list-option .mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0}.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__mixedmark,.mat-mdc-list-option .mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:mdc-animation-deceleration-curve-timing-function;transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}@media all and (-ms-high-contrast: none){.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox .mdc-checkbox__focus-ring{display:none}}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__background{transition:background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__checkmark{transition:opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__mixedmark{transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;transition:none}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;transition:none}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;transition:none}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;transition:none}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;transition:none}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;transition:none}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background{transition:border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__background,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,.mat-mdc-list-option:not(._mat-animation-noopable) .mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__mixedmark{transition:none}.mat-mdc-list-option .mdc-checkbox{padding:calc((40px - 18px) / 2);padding:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px) / 2);margin:calc((40px - 40px) / 2);margin:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2)}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:rgba(0, 0, 0, 0.38);border-color:var(--mdc-checkbox-disabled-unselected-icon-color, rgba(0, 0, 0, 0.38));background-color:transparent}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control[disabled]:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control[disabled]:indeterminate~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true][disabled]~.mdc-checkbox__background{border-color:transparent;background-color:rgba(0, 0, 0, 0.38);background-color:var(--mdc-checkbox-disabled-selected-icon-color, rgba(0, 0, 0, 0.38))}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:#fff;color:var(--mdc-checkbox-selected-checkmark-color, #fff)}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:#fff;border-color:var(--mdc-checkbox-selected-checkmark-color, #fff)}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:#fff;color:var(--mdc-checkbox-disabled-selected-checkmark-color, #fff)}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:#fff;border-color:var(--mdc-checkbox-disabled-selected-checkmark-color, #fff)}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:rgba(0, 0, 0, 0.54);border-color:var(--mdc-checkbox-unselected-icon-color, rgba(0, 0, 0, 0.54));background-color:transparent}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:#018786;border-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786));background-color:#018786;background-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786))}@keyframes mdc-checkbox-fade-in-background-8A000000FF01878600000000FF018786{0%{border-color:rgba(0, 0, 0, 0.54);border-color:var(--mdc-checkbox-unselected-icon-color, rgba(0, 0, 0, 0.54));background-color:transparent}50%{border-color:#018786;border-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786));background-color:#018786;background-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786))}}@keyframes mdc-checkbox-fade-out-background-8A000000FF01878600000000FF018786{0%,80%{border-color:#018786;border-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786));background-color:#018786;background-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786))}100%{border-color:rgba(0, 0, 0, 0.54);border-color:var(--mdc-checkbox-unselected-icon-color, rgba(0, 0, 0, 0.54));background-color:transparent}}.mat-mdc-list-option .mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-8A000000FF01878600000000FF018786}.mat-mdc-list-option .mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-8A000000FF01878600000000FF018786}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__background{top:calc((40px - 18px) / 2);top:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px) / 2);left:calc((40px - 18px) / 2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px) / 2)}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control{top:calc((40px - 40px) / 2);top:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2);right:calc((40px - 40px) / 2);right:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2);left:calc((40px - 40px) / 2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2);width:40px;width:var(--mdc-checkbox-state-layer-size, 40px);height:40px;height:var(--mdc-checkbox-state-layer-size, 40px)}.mat-mdc-list-option .mdc-checkbox__native-control{display:none}.cdk-high-contrast-active .mat-mdc-list-option.mdc-list-item--selected::after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-mdc-list-option.mdc-list-item--selected::after{right:auto;left:16px}"] }]
220
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
221
- type: Inject,
222
- args: [SELECTION_LIST]
223
- }] }, { type: i1.Platform }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
224
- type: Optional
225
- }, {
226
- type: Inject,
227
- args: [MAT_RIPPLE_GLOBAL_OPTIONS]
228
- }] }, { type: undefined, decorators: [{
229
- type: Optional
230
- }, {
231
- type: Inject,
232
- args: [ANIMATION_MODULE_TYPE]
233
- }] }]; }, propDecorators: { _lines: [{
234
- type: ContentChildren,
235
- args: [MatListItemLine, { descendants: true }]
236
- }], _titles: [{
237
- type: ContentChildren,
238
- args: [MatListItemTitle, { descendants: true }]
239
- }], _unscopedContent: [{
240
- type: ViewChild,
241
- args: ['unscopedContent']
242
- }], selectedChange: [{
243
- type: Output
244
- }], checkboxPosition: [{
245
- type: Input
246
- }], color: [{
247
- type: Input
248
- }], value: [{
249
- type: Input
250
- }], selected: [{
251
- type: Input
252
- }] } });
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwtZXhwZXJpbWVudGFsL21kYy1saXN0L2xpc3Qtb3B0aW9uLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsLWV4cGVyaW1lbnRhbC9tZGMtbGlzdC9saXN0LW9wdGlvbi5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBZSxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTFFLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsTUFBTSxFQUdOLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLHlCQUF5QixHQUcxQixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBYyxlQUFlLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDekQsT0FBTyxFQUFDLFdBQVcsRUFBNEMsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRixPQUFPLEVBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7OztBQUUvQzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFnQixlQUFlLENBQUMsQ0FBQztBQXFEakYsTUFBTSxPQUFPLGFBQWMsU0FBUSxlQUFlO0lBZ0VoRCxZQUNFLFVBQW1DLEVBQ25DLE1BQWMsRUFDa0IsY0FBNkIsRUFDN0QsUUFBa0IsRUFDVixrQkFBcUMsRUFH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LDJDQUEyQyxFQUFFLGlDQUFpQzt3QkFDOUUsa0RBQWtELEVBQUUsbUNBQW1DO3dCQUN2Rix1RkFBdUY7d0JBQ3ZGLCtFQUErRTt3QkFDL0UsOENBQThDLEVBQUUsMEJBQTBCO3dCQUMxRSwrQ0FBK0MsRUFBRSx5QkFBeUI7d0JBQzFFLG9CQUFvQixFQUFFLHlDQUF5Qzt3QkFDL0Qsa0JBQWtCLEVBQUUsa0JBQWtCO3dCQUN0QyxpQ0FBaUMsRUFBRSxpQkFBaUI7d0JBQ3BELHNCQUFzQixFQUFFLFVBQVU7d0JBQ2xDLFFBQVEsRUFBRSxlQUFlO3dCQUN6QixTQUFTLEVBQUUsd0JBQXdCO3FCQUNwQyxpQkFFYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNULEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLGVBQWUsRUFBQzt3QkFDdEQsRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsZUFBZSxFQUFDO3FCQUNuRDs7MEJBcUVFLE1BQU07MkJBQUMsY0FBYzs7MEJBR3JCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMseUJBQXlCOzswQkFFaEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxxQkFBcUI7NENBeEVZLE1BQU07c0JBQTVELGVBQWU7dUJBQUMsZUFBZSxFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQztnQkFDRyxPQUFPO3NCQUE5RCxlQUFlO3VCQUFDLGdCQUFnQixFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQztnQkFDeEIsZ0JBQWdCO3NCQUE3QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFRbkIsY0FBYztzQkFEdEIsTUFBTTtnQkFJRSxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBSUYsS0FBSztzQkFEUixLQUFLO2dCQVdGLEtBQUs7c0JBRFIsS0FBSztnQkFlRixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7U2VsZWN0aW9uTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge1xuICBBTklNQVRJT05fTU9EVUxFX1RZUEUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNQVRfUklQUExFX0dMT0JBTF9PUFRJT05TLFxuICBSaXBwbGVHbG9iYWxPcHRpb25zLFxuICBUaGVtZVBhbGV0dGUsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLWV4cGVyaW1lbnRhbC9tZGMtY29yZSc7XG5pbXBvcnQge01hdExpc3RCYXNlLCBNYXRMaXN0SXRlbUJhc2V9IGZyb20gJy4vbGlzdC1iYXNlJztcbmltcG9ydCB7TElTVF9PUFRJT04sIExpc3RPcHRpb24sIE1hdExpc3RPcHRpb25DaGVja2JveFBvc2l0aW9ufSBmcm9tICcuL2xpc3Qtb3B0aW9uLXR5cGVzJztcbmltcG9ydCB7TWF0TGlzdEl0ZW1MaW5lLCBNYXRMaXN0SXRlbVRpdGxlfSBmcm9tICcuL2xpc3QtaXRlbS1zZWN0aW9ucyc7XG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlZmVyZW5jZSBpbnN0YW5jZXMgb2YgYW4gYFNlbGVjdGlvbkxpc3RgLiBJdCBzZXJ2ZXNcbiAqIGFzIGFsdGVybmF0aXZlIHRva2VuIHRvIGFuIGFjdHVhbCBpbXBsZW1lbnRhdGlvbiB3aGljaCB3b3VsZCByZXN1bHQgaW4gY2lyY3VsYXIgcmVmZXJlbmNlcy5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IFNFTEVDVElPTl9MSVNUID0gbmV3IEluamVjdGlvblRva2VuPFNlbGVjdGlvbkxpc3Q+KCdTZWxlY3Rpb25MaXN0Jyk7XG5cbi8qKlxuICogSW50ZXJmYWNlIGRlc2NyaWJpbmcgdGhlIGNvbnRhaW5pbmcgbGlzdCBvZiBhbiBsaXN0IG9wdGlvbi4gVGhpcyBpcyB1c2VkIHRvIGF2b2lkXG4gKiBjaXJjdWxhciBkZXBlbmRlbmNpZXMgYmV0d2VlbiB0aGUgbGlzdC1vcHRpb24gYW5kIHRoZSBzZWxlY3Rpb24gbGlzdC5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxlY3Rpb25MaXN0IGV4dGVuZHMgTWF0TGlzdEJhc2Uge1xuICBtdWx0aXBsZTogYm9vbGVhbjtcbiAgY29sb3I6IFRoZW1lUGFsZXR0ZTtcbiAgc2VsZWN0ZWRPcHRpb25zOiBTZWxlY3Rpb25Nb2RlbDxNYXRMaXN0T3B0aW9uPjtcbiAgY29tcGFyZVdpdGg6IChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuO1xuICBfdmFsdWU6IHN0cmluZ1tdIHwgbnVsbDtcbiAgX3JlcG9ydFZhbHVlQ2hhbmdlKCk6IHZvaWQ7XG4gIF9lbWl0Q2hhbmdlRXZlbnQob3B0aW9uczogTWF0TGlzdE9wdGlvbltdKTogdm9pZDtcbiAgX29uVG91Y2hlZCgpOiB2b2lkO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtbGlzdC1vcHRpb24nLFxuICBleHBvcnRBczogJ21hdExpc3RPcHRpb24nLFxuICBzdHlsZVVybHM6IFsnbGlzdC1vcHRpb24uY3NzJ10sXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnbWF0LW1kYy1saXN0LWl0ZW0gbWF0LW1kYy1saXN0LW9wdGlvbiBtZGMtbGlzdC1pdGVtJyxcbiAgICAncm9sZSc6ICdvcHRpb24nLFxuICAgIC8vIEFzIHBlciBNREMsIG9ubHkgbGlzdCBpdGVtcyBpbiBzaW5nbGUgc2VsZWN0aW9uIG1vZGUgc2hvdWxkIHJlY2VpdmUgdGhlIGAtLXNlbGVjdGVkYFxuICAgIC8vIGNsYXNzLiBGb3IgbXVsdGkgc2VsZWN0aW9uLCB0aGUgY2hlY2tib3ggaXMgdXNlZCBhcyBpbmRpY2F0b3IuXG4gICAgJ1tjbGFzcy5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZF0nOiAnc2VsZWN0ZWQgJiYgIV9zZWxlY3Rpb25MaXN0Lm11bHRpcGxlJyxcbiAgICAvLyBCYXNlZCBvbiB0aGUgY2hlY2tib3ggcG9zaXRpb24gYW5kIHdoZXRoZXIgdGhlcmUgYXJlIGljb25zIG9yIGF2YXRhcnMsIHdlIGFwcGx5IE1EQydzXG4gICAgLy8gbGlzdC1pdGVtIGAtLWxlYWRpbmdgIGFuZCBgLS10cmFpbGluZ2AgY2xhc3Nlcy5cbiAgICAnW2NsYXNzLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1hdmF0YXJdJzogJ19oYXNQcm9qZWN0ZWQoXCJhdmF0YXJzXCIsIFwiYmVmb3JlXCIpJyxcbiAgICAnW2NsYXNzLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1pY29uXSc6ICdfaGFzUHJvamVjdGVkKFwiaWNvbnNcIiwgXCJiZWZvcmVcIiknLFxuICAgICdbY2xhc3MubWRjLWxpc3QtaXRlbS0td2l0aC10cmFpbGluZy1pY29uXSc6ICdfaGFzUHJvamVjdGVkKFwiaWNvbnNcIiwgXCJhZnRlclwiKScsXG4gICAgJ1tjbGFzcy5tYXQtbWRjLWxpc3Qtb3B0aW9uLXdpdGgtdHJhaWxpbmctYXZhdGFyXSc6ICdfaGFzUHJvamVjdGVkKFwiYXZhdGFyc1wiLCBcImFmdGVyXCIpJyxcbiAgICAvLyBCYXNlZCBvbiB0aGUgY2hlY2tib3ggcG9zaXRpb24sIHdlIGFwcGx5IHRoZSBgLS1sZWFkaW5nYCBvciBgLS10cmFpbGluZ2AgTURDIGNsYXNzZXNcbiAgICAvLyB3aGljaCBlbnN1cmUgdGhhdCB0aGUgY2hlY2tib3ggaXMgcG9zaXRpb25lZCBjb3JyZWN0bHkgd2l0aGluIHRoZSBsaXN0IGl0ZW0uXG4gICAgJ1tjbGFzcy5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctY2hlY2tib3hdJzogJ19oYXNDaGVja2JveEF0KFwiYmVmb3JlXCIpJyxcbiAgICAnW2NsYXNzLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHJhaWxpbmctY2hlY2tib3hdJzogJ19oYXNDaGVja2JveEF0KFwiYWZ0ZXJcIiknLFxuICAgICdbY2xhc3MubWF0LWFjY2VudF0nOiAnY29sb3IgIT09IFwicHJpbWFyeVwiICYmIGNvbG9yICE9PSBcIndhcm5cIicsXG4gICAgJ1tjbGFzcy5tYXQtd2Fybl0nOiAnY29sb3IgPT09IFwid2FyblwiJyxcbiAgICAnW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXSc6ICdfbm9vcEFuaW1hdGlvbnMnLFxuICAgICdbYXR0ci5hcmlhLXNlbGVjdGVkXSc6ICdzZWxlY3RlZCcsXG4gICAgJyhibHVyKSc6ICdfaGFuZGxlQmx1cigpJyxcbiAgICAnKGNsaWNrKSc6ICdfdG9nZ2xlT25JbnRlcmFjdGlvbigpJyxcbiAgfSxcbiAgdGVtcGxhdGVVcmw6ICdsaXN0LW9wdGlvbi5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtwcm92aWRlOiBNYXRMaXN0SXRlbUJhc2UsIHVzZUV4aXN0aW5nOiBNYXRMaXN0T3B0aW9ufSxcbiAgICB7cHJvdmlkZTogTElTVF9PUFRJT04sIHVzZUV4aXN0aW5nOiBNYXRMaXN0T3B0aW9ufSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0TGlzdE9wdGlvbiBleHRlbmRzIE1hdExpc3RJdGVtQmFzZSBpbXBsZW1lbnRzIExpc3RPcHRpb24sIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQENvbnRlbnRDaGlsZHJlbihNYXRMaXN0SXRlbUxpbmUsIHtkZXNjZW5kYW50czogdHJ1ZX0pIF9saW5lczogUXVlcnlMaXN0PE1hdExpc3RJdGVtTGluZT47XG4gIEBDb250ZW50Q2hpbGRyZW4oTWF0TGlzdEl0ZW1UaXRsZSwge2Rlc2NlbmRhbnRzOiB0cnVlfSkgX3RpdGxlczogUXVlcnlMaXN0PE1hdExpc3RJdGVtVGl0bGU+O1xuICBAVmlld0NoaWxkKCd1bnNjb3BlZENvbnRlbnQnKSBfdW5zY29wZWRDb250ZW50OiBFbGVtZW50UmVmPEhUTUxTcGFuRWxlbWVudD47XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIHNlbGVjdGVkIHN0YXRlIG9mIHRoZSBvcHRpb24gaGFzIGNoYW5nZWQuXG4gICAqIFVzZSB0byBmYWNpbGl0YXRlIHR3by1kYXRhIGJpbmRpbmcgdG8gdGhlIGBzZWxlY3RlZGAgcHJvcGVydHkuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZWxlY3RlZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBsYWJlbCBzaG91bGQgYXBwZWFyIGJlZm9yZSBvciBhZnRlciB0aGUgY2hlY2tib3guIERlZmF1bHRzIHRvICdhZnRlcicgKi9cbiAgQElucHV0KCkgY2hlY2tib3hQb3NpdGlvbjogTWF0TGlzdE9wdGlvbkNoZWNrYm94UG9zaXRpb24gPSAnYWZ0ZXInO1xuXG4gIC8qKiBUaGVtZSBjb2xvciBvZiB0aGUgbGlzdCBvcHRpb24uIFRoaXMgc2V0cyB0aGUgY29sb3Igb2YgdGhlIGNoZWNrYm94LiAqL1xuICBASW5wdXQoKVxuICBnZXQgY29sb3IoKTogVGhlbWVQYWxldHRlIHtcbiAgICByZXR1cm4gdGhpcy5fY29sb3IgfHwgdGhpcy5fc2VsZWN0aW9uTGlzdC5jb2xvcjtcbiAgfVxuICBzZXQgY29sb3IobmV3VmFsdWU6IFRoZW1lUGFsZXR0ZSkge1xuICAgIHRoaXMuX2NvbG9yID0gbmV3VmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfY29sb3I6IFRoZW1lUGFsZXR0ZTtcblxuICAvKiogVmFsdWUgb2YgdGhlIG9wdGlvbiAqL1xuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbiAgc2V0IHZhbHVlKG5ld1ZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCAmJiBuZXdWYWx1ZSAhPT0gdGhpcy52YWx1ZSAmJiB0aGlzLl9pbnB1dHNJbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuX3ZhbHVlID0gbmV3VmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcblxuICAvKiogV2hldGhlciB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkLiAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0ZWRPcHRpb25zLmlzU2VsZWN0ZWQodGhpcyk7XG4gIH1cbiAgc2V0IHNlbGVjdGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICBjb25zdCBpc1NlbGVjdGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcblxuICAgIGlmIChpc1NlbGVjdGVkICE9PSB0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgdGhpcy5fc2V0U2VsZWN0ZWQoaXNTZWxlY3RlZCk7XG5cbiAgICAgIGlmIChpc1NlbGVjdGVkIHx8IHRoaXMuX3NlbGVjdGlvbkxpc3QubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5fcmVwb3J0VmFsdWVDaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhpcyBpcyBzZXQgdG8gdHJ1ZSBhZnRlciB0aGUgZmlyc3QgT25DaGFuZ2VzIGN5Y2xlIHNvIHdlIGRvbid0XG4gICAqIGNsZWFyIHRoZSB2YWx1ZSBvZiBgc2VsZWN0ZWRgIGluIHRoZSBmaXJzdCBjeWNsZS5cbiAgICovXG4gIHByaXZhdGUgX2lucHV0c0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgbmdab25lOiBOZ1pvbmUsXG4gICAgQEluamVjdChTRUxFQ1RJT05fTElTVCkgcHJpdmF0ZSBfc2VsZWN0aW9uTGlzdDogU2VsZWN0aW9uTGlzdCxcbiAgICBwbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChNQVRfUklQUExFX0dMT0JBTF9PUFRJT05TKVxuICAgIGdsb2JhbFJpcHBsZU9wdGlvbnM/OiBSaXBwbGVHbG9iYWxPcHRpb25zLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQU5JTUFUSU9OX01PRFVMRV9UWVBFKSBhbmltYXRpb25Nb2RlPzogc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmLCBuZ1pvbmUsIF9zZWxlY3Rpb25MaXN0LCBwbGF0Zm9ybSwgZ2xvYmFsUmlwcGxlT3B0aW9ucywgYW5pbWF0aW9uTW9kZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5fc2VsZWN0aW9uTGlzdDtcblxuICAgIGlmIChsaXN0Ll92YWx1ZSAmJiBsaXN0Ll92YWx1ZS5zb21lKHZhbHVlID0+IGxpc3QuY29tcGFyZVdpdGgodGhpcy5fdmFsdWUsIHZhbHVlKSkpIHtcbiAgICAgIHRoaXMuX3NldFNlbGVjdGVkKHRydWUpO1xuICAgIH1cblxuICAgIGNvbnN0IHdhc1NlbGVjdGVkID0gdGhpcy5fc2VsZWN0ZWQ7XG5cbiAgICAvLyBMaXN0IG9wdGlvbnMgdGhhdCBhcmUgc2VsZWN0ZWQgYXQgaW5pdGlhbGl6YXRpb24gY2FuJ3QgYmUgcmVwb3J0ZWQgcHJvcGVybHkgdG8gdGhlIGZvcm1cbiAgICAvLyBjb250cm9sLiBUaGlzIGlzIGJlY2F1c2UgaXQgdGFrZXMgc29tZSB0aW1lIHVudGlsIHRoZSBzZWxlY3Rpb24tbGlzdCBrbm93cyBhYm91dCBhbGxcbiAgICAvLyBhdmFpbGFibGUgb3B0aW9ucy4gQWxzbyBpdCBjYW4gaGFwcGVuIHRoYXQgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGhhcyBhbiBpbml0aWFsIHZhbHVlXG4gICAgLy8gdGhhdCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLiBEZWZlcnJpbmcgdGhlIHZhbHVlIGNoYW5nZSByZXBvcnQgdG8gdGhlIG5leHQgdGljayBlbnN1cmVzXG4gICAgLy8gdGhhdCB0aGUgZm9ybSBjb250cm9sIHZhbHVlIGlzIG5vdCBiZWluZyBvdmVyd3JpdHRlbi5cbiAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9zZWxlY3RlZCB8fCB3YXNTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5faW5wdXRzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICAvLyBXZSBoYXZlIHRvIGRlbGF5IHRoaXMgdW50aWwgdGhlIG5leHQgdGljayBpbiBvcmRlclxuICAgICAgLy8gdG8gYXZvaWQgY2hhbmdlZCBhZnRlciBjaGVja2VkIGVycm9ycy5cbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKiogVG9nZ2xlcyB0aGUgc2VsZWN0aW9uIHN0YXRlIG9mIHRoZSBvcHRpb24uICovXG4gIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gIXRoaXMuc2VsZWN0ZWQ7XG4gIH1cblxuICAvKiogQWxsb3dzIGZvciBwcm9ncmFtbWF0aWMgZm9jdXNpbmcgb2YgdGhlIG9wdGlvbi4gKi9cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5faG9zdEVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSB0ZXh0IGxhYmVsIG9mIHRoZSBsaXN0IG9wdGlvbi4gVXNlZCBmb3IgdGhlIHR5cGVhaGVhZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBsaXN0LiAqL1xuICBnZXRMYWJlbCgpIHtcbiAgICBjb25zdCB0aXRsZUVsZW1lbnQgPSB0aGlzLl90aXRsZXM/LmdldCgwKT8uX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAvLyBJZiB0aGVyZSBpcyBubyBleHBsaWNpdCB0aXRsZSBlbGVtZW50LCB0aGUgdW5zY29wZWQgdGV4dCBjb250ZW50XG4gICAgLy8gaXMgdHJlYXRlZCBhcyB0aGUgbGlzdCBpdGVtIHRpdGxlLlxuICAgIGNvbnN0IGxhYmVsRWwgPSB0aXRsZUVsZW1lbnQgfHwgdGhpcy5fdW5zY29wZWRDb250ZW50Py5uYXRpdmVFbGVtZW50O1xuICAgIHJldHVybiBsYWJlbEVsPy50ZXh0Q29udGVudCB8fCAnJztcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIGEgY2hlY2tib3ggaXMgc2hvd24gYXQgdGhlIGdpdmVuIHBvc2l0aW9uLiAqL1xuICBfaGFzQ2hlY2tib3hBdChwb3NpdGlvbjogTWF0TGlzdE9wdGlvbkNoZWNrYm94UG9zaXRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTGlzdC5tdWx0aXBsZSAmJiB0aGlzLl9nZXRDaGVja2JveFBvc2l0aW9uKCkgPT09IHBvc2l0aW9uO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgaWNvbnMgb3IgYXZhdGFycyBhcmUgc2hvd24gYXQgdGhlIGdpdmVuIHBvc2l0aW9uLiAqL1xuICBfaGFzSWNvbnNPckF2YXRhcnNBdChwb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2hhc1Byb2plY3RlZCgnaWNvbnMnLCBwb3NpdGlvbikgfHwgdGhpcy5faGFzUHJvamVjdGVkKCdhdmF0YXJzJywgcG9zaXRpb24pO1xuICB9XG5cbiAgLyoqIEdldHMgd2hldGhlciB0aGUgZ2l2ZW4gdHlwZSBvZiBlbGVtZW50IGlzIHByb2plY3RlZCBhdCB0aGUgc3BlY2lmaWVkIHBvc2l0aW9uLiAqL1xuICBfaGFzUHJvamVjdGVkKHR5cGU6ICdpY29ucycgfCAnYXZhdGFycycsIHBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicpOiBib29sZWFuIHtcbiAgICAvLyBJZiB0aGUgY2hlY2tib3ggaXMgc2hvd24gYXQgdGhlIHNwZWNpZmllZCBwb3NpdGlvbiwgbmVpdGhlciBpY29ucyBvclxuICAgIC8vIGF2YXRhcnMgY2FuIGJlIHNob3duIGF0IHRoZSBwb3NpdGlvbi5cbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5fZ2V0Q2hlY2tib3hQb3NpdGlvbigpICE9PSBwb3NpdGlvbiAmJlxuICAgICAgKHR5cGUgPT09ICdhdmF0YXJzJyA/IHRoaXMuX2F2YXRhcnMubGVuZ3RoICE9PSAwIDogdGhpcy5faWNvbnMubGVuZ3RoICE9PSAwKVxuICAgICk7XG4gIH1cblxuICBfaGFuZGxlQmx1cigpIHtcbiAgICB0aGlzLl9zZWxlY3Rpb25MaXN0Ll9vblRvdWNoZWQoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBjdXJyZW50IHBvc2l0aW9uIG9mIHRoZSBjaGVja2JveC4gKi9cbiAgX2dldENoZWNrYm94UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hlY2tib3hQb3NpdGlvbiB8fCAnYWZ0ZXInO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHNlbGVjdGVkIHN0YXRlIG9mIHRoZSBvcHRpb24uXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHZhbHVlIGhhcyBjaGFuZ2VkLlxuICAgKi9cbiAgX3NldFNlbGVjdGVkKHNlbGVjdGVkOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgaWYgKHNlbGVjdGVkID09PSB0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuX3NlbGVjdGVkID0gc2VsZWN0ZWQ7XG5cbiAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0ZWRPcHRpb25zLnNlbGVjdCh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZE9wdGlvbnMuZGVzZWxlY3QodGhpcyk7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHNlbGVjdGVkKTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3RpZmllcyBBbmd1bGFyIHRoYXQgdGhlIG9wdGlvbiBuZWVkcyB0byBiZSBjaGVja2VkIGluIHRoZSBuZXh0IGNoYW5nZSBkZXRlY3Rpb24gcnVuLlxuICAgKiBNYWlubHkgdXNlZCB0byB0cmlnZ2VyIGFuIHVwZGF0ZSBvZiB0aGUgbGlzdCBvcHRpb24gaWYgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBzZWxlY3Rpb25cbiAgICogbGlzdCBjaGFuZ2VkLlxuICAgKi9cbiAgX21hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKiBUb2dnbGVzIHRoZSBvcHRpb24ncyB2YWx1ZSBiYXNlZCBvbiBhIHVzZXIgaW50ZXJhY3Rpb24uICovXG4gIF90b2dnbGVPbkludGVyYWN0aW9uKCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKHRoaXMuX3NlbGVjdGlvbkxpc3QubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9ICF0aGlzLnNlbGVjdGVkO1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0Ll9lbWl0Q2hhbmdlRXZlbnQoW3RoaXNdKTtcbiAgICAgIH0gZWxzZSBpZiAoIXRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbkxpc3QuX2VtaXRDaGFuZ2VFdmVudChbdGhpc10pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBTZXRzIHRoZSB0YWJpbmRleCBvZiB0aGUgbGlzdCBvcHRpb24uICovXG4gIF9zZXRUYWJpbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5faG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsIHZhbHVlICsgJycpO1xuICB9XG59XG4iLCI8IS0tXG4gIFNhdmUgaWNvbnMgYW5kIHRoZSBwc2V1ZG8gY2hlY2tib3ggc28gdGhhdCB0aGV5IGNhbiBiZSByZS11c2VkIGluIHRoZSB0ZW1wbGF0ZSB3aXRob3V0XG4gIGR1cGxpY2F0aW9uLiBBbHNvIGNvbnRlbnQgY2FuIG9ubHkgYmUgaW5qZWN0ZWQgb25jZSBzbyB3ZSBuZWVkIHRvIGV4dHJhY3QgaWNvbnMvYXZhdGFyc1xuICBpbnRvIGEgdGVtcGxhdGUgc2luY2Ugd2UgdXNlIGl0IGluIG11bHRpcGxlIHBsYWNlcy5cbi0tPlxuPG5nLXRlbXBsYXRlICNpY29ucz5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21hdExpc3RJdGVtQXZhdGFyXSxbbWF0TGlzdEl0ZW1JY29uXVwiPlxuICA8L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NoZWNrYm94PlxuICA8ZGl2IGNsYXNzPVwibWRjLWNoZWNrYm94XCIgW2NsYXNzLm1kYy1jaGVja2JveC0tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJtZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sXCJcbiAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIi8+XG4gICAgPGRpdiBjbGFzcz1cIm1kYy1jaGVja2JveF9fYmFja2dyb3VuZFwiPlxuICAgICAgPHN2ZyBjbGFzcz1cIm1kYy1jaGVja2JveF9fY2hlY2ttYXJrXCJcbiAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICA8cGF0aCBjbGFzcz1cIm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGhcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIGQ9XCJNMS43MywxMi45MSA4LjEsMTkuMjggMjIuNzksNC41OVwiLz5cbiAgICAgIDwvc3ZnPlxuICAgICAgPGRpdiBjbGFzcz1cIm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBDb250YWluZXIgZm9yIHRoZSBjaGVja2JveCBhdCBzdGFydC4gLS0+XG48c3BhbiBjbGFzcz1cIm1kYy1saXN0LWl0ZW1fX3N0YXJ0IG1hdC1tZGMtbGlzdC1vcHRpb24tY2hlY2tib3gtYmVmb3JlXCJcbiAgICAgICpuZ0lmPVwiX2hhc0NoZWNrYm94QXQoJ2JlZm9yZScpXCI+XG4gIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGVja2JveFwiPjwvbmctdGVtcGxhdGU+XG48L3NwYW4+XG48IS0tIENvbmRpdGlvbmFsbHkgcmVuZGVycyBpY29ucy9hdmF0YXJzIGJlZm9yZSB0aGUgbGlzdCBpdGVtIHRleHQuIC0tPlxuPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIl9oYXNJY29uc09yQXZhdGFyc0F0KCdiZWZvcmUnKVwiPlxuICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWNvbnNcIj48L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBUZXh0IC0tPlxuPHNwYW4gY2xhc3M9XCJtZGMtbGlzdC1pdGVtX19jb250ZW50XCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIlttYXRMaXN0SXRlbVRpdGxlXVwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21hdExpc3RJdGVtTGluZV1cIj48L25nLWNvbnRlbnQ+XG4gIDxzcGFuICN1bnNjb3BlZENvbnRlbnQgY2xhc3M9XCJtYXQtbWRjLWxpc3QtaXRlbS11bnNjb3BlZC1jb250ZW50XCJcbiAgICAgICAgKGNka09ic2VydmVDb250ZW50KT1cIl91cGRhdGVJdGVtTGluZXModHJ1ZSlcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvc3Bhbj5cbjwvc3Bhbj5cblxuPCEtLSBDb250YWluZXIgZm9yIHRoZSBjaGVja2JveCBhdCB0aGUgZW5kLiAtLT5cbjxzcGFuIGNsYXNzPVwibWRjLWxpc3QtaXRlbV9fZW5kXCIgKm5nSWY9XCJfaGFzQ2hlY2tib3hBdCgnYWZ0ZXInKVwiPlxuICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2hlY2tib3hcIj48L25nLXRlbXBsYXRlPlxuPC9zcGFuPlxuPCEtLSBDb25kaXRpb25hbGx5IHJlbmRlcnMgaWNvbnMvYXZhdGFycyBhZnRlciB0aGUgbGlzdCBpdGVtIHRleHQuIC0tPlxuPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIl9oYXNJY29uc09yQXZhdGFyc0F0KCdhZnRlcicpXCI+XG4gIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpY29uc1wiPjwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIERpdmlkZXIgLS0+XG48bmctY29udGVudCBzZWxlY3Q9XCJtYXQtZGl2aWRlclwiPjwvbmctY29udGVudD5cblxuPCEtLVxuICBTdHJvbmcgZm9jdXMgaW5kaWNhdG9yIGVsZW1lbnQuIE1EQyB1c2VzIHRoZSBgOjpiZWZvcmVgIHBzZXVkbyBlbGVtZW50IGZvciB0aGUgZGVmYXVsdFxuICBmb2N1cy9ob3Zlci9zZWxlY3RlZCBzdGF0ZSwgc28gd2UgbmVlZCBhIHNlcGFyYXRlIGVsZW1lbnQuXG4tLT5cbjxkaXYgY2xhc3M9XCJtYXQtbWRjLWZvY3VzLWluZGljYXRvclwiPjwvZGl2PlxuIl19