@depup/angular__material 21.2.2-depup.19

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 (578) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +31 -0
  3. package/_index.scss +145 -0
  4. package/autocomplete/_autocomplete-theme.scss +76 -0
  5. package/autocomplete/_m2-autocomplete.scss +19 -0
  6. package/autocomplete/_m3-autocomplete.scss +26 -0
  7. package/badge/_badge-theme.scss +106 -0
  8. package/badge/_m2-badge.scss +73 -0
  9. package/badge/_m3-badge.scss +52 -0
  10. package/bottom-sheet/_bottom-sheet-theme.scss +76 -0
  11. package/bottom-sheet/_m2-bottom-sheet.scss +24 -0
  12. package/bottom-sheet/_m3-bottom-sheet.scss +25 -0
  13. package/button/_button-theme.scss +113 -0
  14. package/button/_fab-theme.scss +111 -0
  15. package/button/_icon-button-theme.scss +136 -0
  16. package/button/_m2-button.scss +194 -0
  17. package/button/_m2-fab.scss +101 -0
  18. package/button/_m2-icon-button.scss +59 -0
  19. package/button/_m3-button.scss +170 -0
  20. package/button/_m3-fab.scss +92 -0
  21. package/button/_m3-icon-button.scss +54 -0
  22. package/button-toggle/_button-toggle-theme.scss +93 -0
  23. package/button-toggle/_m2-button-toggle.scss +68 -0
  24. package/button-toggle/_m3-button-toggle.scss +72 -0
  25. package/card/_card-theme.scss +76 -0
  26. package/card/_m2-card.scss +39 -0
  27. package/card/_m3-card.scss +44 -0
  28. package/changes.json +10 -0
  29. package/checkbox/_checkbox-theme.scss +105 -0
  30. package/checkbox/_m2-checkbox.scss +78 -0
  31. package/checkbox/_m3-checkbox.scss +68 -0
  32. package/chips/_chips-theme.scss +115 -0
  33. package/chips/_m2-chip.scss +85 -0
  34. package/chips/_m3-chip.scss +81 -0
  35. package/core/_core-theme.scss +125 -0
  36. package/core/_core.scss +50 -0
  37. package/core/_m2-app.scss +24 -0
  38. package/core/_m3-app.scss +44 -0
  39. package/core/color/_all-color.scss +17 -0
  40. package/core/density/private/_all-density.scss +78 -0
  41. package/core/focus-indicators/_private.scss +126 -0
  42. package/core/m2/_index.scss +52 -0
  43. package/core/m2/_palette.scss +748 -0
  44. package/core/m2/_theming.scss +340 -0
  45. package/core/m2/_typography-utils.scss +81 -0
  46. package/core/m2/_typography.scss +388 -0
  47. package/core/option/_m2-optgroup.scss +21 -0
  48. package/core/option/_m2-option.scss +38 -0
  49. package/core/option/_m3-optgroup.scss +25 -0
  50. package/core/option/_m3-option.scss +37 -0
  51. package/core/option/_optgroup-theme.scss +76 -0
  52. package/core/option/_option-theme.scss +103 -0
  53. package/core/ripple/_m2-ripple.scss +17 -0
  54. package/core/ripple/_m3-ripple.scss +17 -0
  55. package/core/ripple/_ripple-theme.scss +75 -0
  56. package/core/ripple/_ripple.scss +56 -0
  57. package/core/selection/pseudo-checkbox/_m2-pseudo-checkbox.scss +32 -0
  58. package/core/selection/pseudo-checkbox/_m3-pseudo-checkbox.scss +34 -0
  59. package/core/selection/pseudo-checkbox/_pseudo-checkbox-common.scss +86 -0
  60. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +110 -0
  61. package/core/style/_checkbox-common.scss +11 -0
  62. package/core/style/_elevation.scss +208 -0
  63. package/core/style/_layout-common.scss +8 -0
  64. package/core/style/_private.scss +27 -0
  65. package/core/style/_sass-utils.scss +57 -0
  66. package/core/style/_validation.scss +52 -0
  67. package/core/style/_variables.scss +44 -0
  68. package/core/style/_vendor-prefixes.scss +56 -0
  69. package/core/theming/_all-theme.scss +168 -0
  70. package/core/theming/_color-api-backwards-compatibility.scss +159 -0
  71. package/core/theming/_config-validation.scss +174 -0
  72. package/core/theming/_definition.scss +141 -0
  73. package/core/theming/_inspection.scss +289 -0
  74. package/core/theming/_m2-inspection.scss +243 -0
  75. package/core/theming/_palettes.scss +1036 -0
  76. package/core/theming/_theming.scss +193 -0
  77. package/core/theming/_validation.scss +5 -0
  78. package/core/tokens/_classes.scss +398 -0
  79. package/core/tokens/_m2-utils.scss +25 -0
  80. package/core/tokens/_m3-tokens.scss +126 -0
  81. package/core/tokens/_m3-utils.scss +36 -0
  82. package/core/tokens/_system.scss +398 -0
  83. package/core/tokens/_token-utils.scss +119 -0
  84. package/core/tokens/m2/_index.scss +6 -0
  85. package/core/tokens/m2/_md-sys-color-internal.scss +11 -0
  86. package/core/tokens/m2/_md-sys-color.scss +123 -0
  87. package/core/tokens/m2/_md-sys-elevation.scss +10 -0
  88. package/core/tokens/m2/_md-sys-motion.scss +30 -0
  89. package/core/tokens/m2/_md-sys-shape.scss +16 -0
  90. package/core/tokens/m2/_md-sys-state.scss +8 -0
  91. package/core/tokens/m2/_md-sys-typescale.scss +68 -0
  92. package/core/tokens/m3/_index.scss +7 -0
  93. package/core/tokens/m3/_md-sys-color-internal.scss +11 -0
  94. package/core/tokens/m3/_md-sys-color.scss +118 -0
  95. package/core/tokens/m3/_md-sys-elevation.scss +15 -0
  96. package/core/tokens/m3/_md-sys-motion.scss +35 -0
  97. package/core/tokens/m3/_md-sys-shape.scss +21 -0
  98. package/core/tokens/m3/_md-sys-state.scss +13 -0
  99. package/core/tokens/m3/_md-sys-typescale-internal.scss +5 -0
  100. package/core/tokens/m3/_md-sys-typescale.scss +114 -0
  101. package/core/tokens/m3/_theme.scss +35 -0
  102. package/core/typography/_all-typography.scss +104 -0
  103. package/core/typography/_typography-utils.scss +31 -0
  104. package/core/typography/_typography.scss +269 -0
  105. package/core/typography/_versioning.scss +90 -0
  106. package/datepicker/_datepicker-theme.scss +132 -0
  107. package/datepicker/_m2-datepicker.scss +81 -0
  108. package/datepicker/_m3-datepicker.scss +74 -0
  109. package/dialog/_dialog-legacy-padding.scss +31 -0
  110. package/dialog/_dialog-theme.scss +76 -0
  111. package/dialog/_m2-dialog.scss +43 -0
  112. package/dialog/_m3-dialog.scss +47 -0
  113. package/divider/_divider-theme.scss +75 -0
  114. package/divider/_m2-divider.scss +17 -0
  115. package/divider/_m3-divider.scss +19 -0
  116. package/expansion/_expansion-theme.scss +76 -0
  117. package/expansion/_m2-expansion.scss +64 -0
  118. package/expansion/_m3-expansion.scss +61 -0
  119. package/fesm2022/_animation-chunk.mjs +22 -0
  120. package/fesm2022/_animation-chunk.mjs.map +1 -0
  121. package/fesm2022/_date-formats-chunk.mjs +86 -0
  122. package/fesm2022/_date-formats-chunk.mjs.map +1 -0
  123. package/fesm2022/_date-range-input-harness-chunk.mjs +322 -0
  124. package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -0
  125. package/fesm2022/_error-options-chunk.mjs +66 -0
  126. package/fesm2022/_error-options-chunk.mjs.map +1 -0
  127. package/fesm2022/_error-state-chunk.mjs +30 -0
  128. package/fesm2022/_error-state-chunk.mjs.map +1 -0
  129. package/fesm2022/_form-field-chunk.mjs +1351 -0
  130. package/fesm2022/_form-field-chunk.mjs.map +1 -0
  131. package/fesm2022/_icon-button-chunk.mjs +268 -0
  132. package/fesm2022/_icon-button-chunk.mjs.map +1 -0
  133. package/fesm2022/_icon-registry-chunk.mjs +368 -0
  134. package/fesm2022/_icon-registry-chunk.mjs.map +1 -0
  135. package/fesm2022/_input-harness-chunk.mjs +67 -0
  136. package/fesm2022/_input-harness-chunk.mjs.map +1 -0
  137. package/fesm2022/_input-value-accessor-chunk.mjs +6 -0
  138. package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -0
  139. package/fesm2022/_internal-form-field-chunk.mjs +67 -0
  140. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -0
  141. package/fesm2022/_line-chunk.mjs +99 -0
  142. package/fesm2022/_line-chunk.mjs.map +1 -0
  143. package/fesm2022/_option-chunk.mjs +385 -0
  144. package/fesm2022/_option-chunk.mjs.map +1 -0
  145. package/fesm2022/_option-harness-chunk.mjs +30 -0
  146. package/fesm2022/_option-harness-chunk.mjs.map +1 -0
  147. package/fesm2022/_option-module-chunk.mjs +48 -0
  148. package/fesm2022/_option-module-chunk.mjs.map +1 -0
  149. package/fesm2022/_pseudo-checkbox-chunk.mjs +88 -0
  150. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -0
  151. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +46 -0
  152. package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -0
  153. package/fesm2022/_public-api-chunk.mjs +84 -0
  154. package/fesm2022/_public-api-chunk.mjs.map +1 -0
  155. package/fesm2022/_ripple-chunk.mjs +544 -0
  156. package/fesm2022/_ripple-chunk.mjs.map +1 -0
  157. package/fesm2022/_ripple-loader-chunk.mjs +144 -0
  158. package/fesm2022/_ripple-loader-chunk.mjs.map +1 -0
  159. package/fesm2022/_ripple-module-chunk.mjs +46 -0
  160. package/fesm2022/_ripple-module-chunk.mjs.map +1 -0
  161. package/fesm2022/_structural-styles-chunk.mjs +45 -0
  162. package/fesm2022/_structural-styles-chunk.mjs.map +1 -0
  163. package/fesm2022/_tooltip-chunk.mjs +848 -0
  164. package/fesm2022/_tooltip-chunk.mjs.map +1 -0
  165. package/fesm2022/autocomplete-testing.mjs +75 -0
  166. package/fesm2022/autocomplete-testing.mjs.map +1 -0
  167. package/fesm2022/autocomplete.mjs +1068 -0
  168. package/fesm2022/autocomplete.mjs.map +1 -0
  169. package/fesm2022/badge-testing.mjs +48 -0
  170. package/fesm2022/badge-testing.mjs.map +1 -0
  171. package/fesm2022/badge.mjs +357 -0
  172. package/fesm2022/badge.mjs.map +1 -0
  173. package/fesm2022/bottom-sheet-testing.mjs +17 -0
  174. package/fesm2022/bottom-sheet-testing.mjs.map +1 -0
  175. package/fesm2022/bottom-sheet.mjs +390 -0
  176. package/fesm2022/bottom-sheet.mjs.map +1 -0
  177. package/fesm2022/button-testing.mjs +81 -0
  178. package/fesm2022/button-testing.mjs.map +1 -0
  179. package/fesm2022/button-toggle-testing.mjs +87 -0
  180. package/fesm2022/button-toggle-testing.mjs.map +1 -0
  181. package/fesm2022/button-toggle.mjs +789 -0
  182. package/fesm2022/button-toggle.mjs.map +1 -0
  183. package/fesm2022/button.mjs +308 -0
  184. package/fesm2022/button.mjs.map +1 -0
  185. package/fesm2022/card-testing.mjs +29 -0
  186. package/fesm2022/card-testing.mjs.map +1 -0
  187. package/fesm2022/card.mjs +615 -0
  188. package/fesm2022/card.mjs.map +1 -0
  189. package/fesm2022/checkbox-testing.mjs +79 -0
  190. package/fesm2022/checkbox-testing.mjs.map +1 -0
  191. package/fesm2022/checkbox.mjs +551 -0
  192. package/fesm2022/checkbox.mjs.map +1 -0
  193. package/fesm2022/chips-testing.mjs +239 -0
  194. package/fesm2022/chips-testing.mjs.map +1 -0
  195. package/fesm2022/chips.mjs +2663 -0
  196. package/fesm2022/chips.mjs.map +1 -0
  197. package/fesm2022/core-testing.mjs +22 -0
  198. package/fesm2022/core-testing.mjs.map +1 -0
  199. package/fesm2022/core.mjs +408 -0
  200. package/fesm2022/core.mjs.map +1 -0
  201. package/fesm2022/datepicker-testing.mjs +26 -0
  202. package/fesm2022/datepicker-testing.mjs.map +1 -0
  203. package/fesm2022/datepicker.mjs +5015 -0
  204. package/fesm2022/datepicker.mjs.map +1 -0
  205. package/fesm2022/dialog-testing.mjs +123 -0
  206. package/fesm2022/dialog-testing.mjs.map +1 -0
  207. package/fesm2022/dialog.mjs +873 -0
  208. package/fesm2022/dialog.mjs.map +1 -0
  209. package/fesm2022/divider-testing.mjs +17 -0
  210. package/fesm2022/divider-testing.mjs.map +1 -0
  211. package/fesm2022/divider.mjs +132 -0
  212. package/fesm2022/divider.mjs.map +1 -0
  213. package/fesm2022/expansion-testing.mjs +87 -0
  214. package/fesm2022/expansion-testing.mjs.map +1 -0
  215. package/fesm2022/expansion.mjs +749 -0
  216. package/fesm2022/expansion.mjs.map +1 -0
  217. package/fesm2022/form-field-testing-control.mjs +24 -0
  218. package/fesm2022/form-field-testing-control.mjs.map +1 -0
  219. package/fesm2022/form-field-testing.mjs +135 -0
  220. package/fesm2022/form-field-testing.mjs.map +1 -0
  221. package/fesm2022/form-field.mjs +57 -0
  222. package/fesm2022/form-field.mjs.map +1 -0
  223. package/fesm2022/grid-list-testing.mjs +80 -0
  224. package/fesm2022/grid-list-testing.mjs.map +1 -0
  225. package/fesm2022/grid-list.mjs +604 -0
  226. package/fesm2022/grid-list.mjs.map +1 -0
  227. package/fesm2022/icon-testing.mjs +172 -0
  228. package/fesm2022/icon-testing.mjs.map +1 -0
  229. package/fesm2022/icon.mjs +366 -0
  230. package/fesm2022/icon.mjs.map +1 -0
  231. package/fesm2022/input-testing.mjs +73 -0
  232. package/fesm2022/input-testing.mjs.map +1 -0
  233. package/fesm2022/input.mjs +495 -0
  234. package/fesm2022/input.mjs.map +1 -0
  235. package/fesm2022/list-testing.mjs +295 -0
  236. package/fesm2022/list-testing.mjs.map +1 -0
  237. package/fesm2022/list.mjs +1604 -0
  238. package/fesm2022/list.mjs.map +1 -0
  239. package/fesm2022/material.mjs +4 -0
  240. package/fesm2022/material.mjs.map +1 -0
  241. package/fesm2022/menu-testing.mjs +174 -0
  242. package/fesm2022/menu-testing.mjs.map +1 -0
  243. package/fesm2022/menu.mjs +1421 -0
  244. package/fesm2022/menu.mjs.map +1 -0
  245. package/fesm2022/paginator-testing.mjs +69 -0
  246. package/fesm2022/paginator-testing.mjs.map +1 -0
  247. package/fesm2022/paginator.mjs +445 -0
  248. package/fesm2022/paginator.mjs.map +1 -0
  249. package/fesm2022/progress-bar-testing.mjs +20 -0
  250. package/fesm2022/progress-bar-testing.mjs.map +1 -0
  251. package/fesm2022/progress-bar.mjs +247 -0
  252. package/fesm2022/progress-bar.mjs.map +1 -0
  253. package/fesm2022/progress-spinner-testing.mjs +21 -0
  254. package/fesm2022/progress-spinner-testing.mjs.map +1 -0
  255. package/fesm2022/progress-spinner.mjs +258 -0
  256. package/fesm2022/progress-spinner.mjs.map +1 -0
  257. package/fesm2022/radio-testing.mjs +143 -0
  258. package/fesm2022/radio-testing.mjs.map +1 -0
  259. package/fesm2022/radio.mjs +751 -0
  260. package/fesm2022/radio.mjs.map +1 -0
  261. package/fesm2022/select-testing.mjs +92 -0
  262. package/fesm2022/select-testing.mjs.map +1 -0
  263. package/fesm2022/select.mjs +1181 -0
  264. package/fesm2022/select.mjs.map +1 -0
  265. package/fesm2022/sidenav-testing.mjs +80 -0
  266. package/fesm2022/sidenav-testing.mjs.map +1 -0
  267. package/fesm2022/sidenav.mjs +1151 -0
  268. package/fesm2022/sidenav.mjs.map +1 -0
  269. package/fesm2022/slide-toggle-testing.mjs +68 -0
  270. package/fesm2022/slide-toggle-testing.mjs.map +1 -0
  271. package/fesm2022/slide-toggle.mjs +403 -0
  272. package/fesm2022/slide-toggle.mjs.map +1 -0
  273. package/fesm2022/slider-testing.mjs +105 -0
  274. package/fesm2022/slider-testing.mjs.map +1 -0
  275. package/fesm2022/slider.mjs +1720 -0
  276. package/fesm2022/slider.mjs.map +1 -0
  277. package/fesm2022/snack-bar-testing.mjs +47 -0
  278. package/fesm2022/snack-bar-testing.mjs.map +1 -0
  279. package/fesm2022/snack-bar.mjs +820 -0
  280. package/fesm2022/snack-bar.mjs.map +1 -0
  281. package/fesm2022/sort-testing.mjs +55 -0
  282. package/fesm2022/sort-testing.mjs.map +1 -0
  283. package/fesm2022/sort.mjs +470 -0
  284. package/fesm2022/sort.mjs.map +1 -0
  285. package/fesm2022/stepper-testing.mjs +99 -0
  286. package/fesm2022/stepper-testing.mjs.map +1 -0
  287. package/fesm2022/stepper.mjs +900 -0
  288. package/fesm2022/stepper.mjs.map +1 -0
  289. package/fesm2022/table-testing.mjs +152 -0
  290. package/fesm2022/table-testing.mjs.map +1 -0
  291. package/fesm2022/table.mjs +1151 -0
  292. package/fesm2022/table.mjs.map +1 -0
  293. package/fesm2022/tabs-testing.mjs +144 -0
  294. package/fesm2022/tabs-testing.mjs.map +1 -0
  295. package/fesm2022/tabs.mjs +2435 -0
  296. package/fesm2022/tabs.mjs.map +1 -0
  297. package/fesm2022/timepicker-testing.mjs +128 -0
  298. package/fesm2022/timepicker-testing.mjs.map +1 -0
  299. package/fesm2022/timepicker.mjs +1284 -0
  300. package/fesm2022/timepicker.mjs.map +1 -0
  301. package/fesm2022/toolbar-testing.mjs +26 -0
  302. package/fesm2022/toolbar-testing.mjs.map +1 -0
  303. package/fesm2022/toolbar.mjs +182 -0
  304. package/fesm2022/toolbar.mjs.map +1 -0
  305. package/fesm2022/tooltip-testing.mjs +48 -0
  306. package/fesm2022/tooltip-testing.mjs.map +1 -0
  307. package/fesm2022/tooltip.mjs +58 -0
  308. package/fesm2022/tooltip.mjs.map +1 -0
  309. package/fesm2022/tree-testing.mjs +104 -0
  310. package/fesm2022/tree-testing.mjs.map +1 -0
  311. package/fesm2022/tree.mjs +681 -0
  312. package/fesm2022/tree.mjs.map +1 -0
  313. package/form-field/_form-field-theme.scss +96 -0
  314. package/form-field/_m2-form-field.scss +226 -0
  315. package/form-field/_m3-form-field.scss +137 -0
  316. package/grid-list/_grid-list-theme.scss +76 -0
  317. package/grid-list/_m2-grid-list.scss +21 -0
  318. package/grid-list/_m3-grid-list.scss +20 -0
  319. package/icon/_icon-theme.scss +109 -0
  320. package/icon/_m2-icon.scss +15 -0
  321. package/icon/_m3-icon.scss +21 -0
  322. package/input/_input-theme.scss +36 -0
  323. package/list/_list-theme.scss +201 -0
  324. package/list/_m2-list.scss +92 -0
  325. package/list/_m3-list.scss +93 -0
  326. package/menu/_m2-menu.scss +44 -0
  327. package/menu/_m3-menu.scss +42 -0
  328. package/menu/_menu-theme.scss +76 -0
  329. package/package.json +404 -0
  330. package/paginator/_m2-paginator.scss +69 -0
  331. package/paginator/_m3-paginator.scss +46 -0
  332. package/paginator/_paginator-theme.scss +76 -0
  333. package/prebuilt-themes/azure-blue.css +1 -0
  334. package/prebuilt-themes/cyan-orange.css +1 -0
  335. package/prebuilt-themes/deeppurple-amber.css +1 -0
  336. package/prebuilt-themes/indigo-pink.css +1 -0
  337. package/prebuilt-themes/magenta-violet.css +1 -0
  338. package/prebuilt-themes/pink-bluegrey.css +1 -0
  339. package/prebuilt-themes/purple-green.css +1 -0
  340. package/prebuilt-themes/rose-red.css +1 -0
  341. package/progress-bar/_m2-progress-bar.scss +36 -0
  342. package/progress-bar/_m3-progress-bar.scss +29 -0
  343. package/progress-bar/_progress-bar-theme.scss +93 -0
  344. package/progress-spinner/_m2-progress-spinner.scss +25 -0
  345. package/progress-spinner/_m3-progress-spinner.scss +27 -0
  346. package/progress-spinner/_progress-spinner-theme.scss +95 -0
  347. package/radio/_m2-radio.scss +67 -0
  348. package/radio/_m3-radio.scss +65 -0
  349. package/radio/_radio-theme.scss +102 -0
  350. package/schematics/collection.json +55 -0
  351. package/schematics/migration.json +15 -0
  352. package/schematics/ng-add/fonts/material-fonts.d.ts +11 -0
  353. package/schematics/ng-add/fonts/material-fonts.js +41 -0
  354. package/schematics/ng-add/fonts/material-fonts.js.map +1 -0
  355. package/schematics/ng-add/index.d.ts +17 -0
  356. package/schematics/ng-add/index.js +54 -0
  357. package/schematics/ng-add/index.js.map +1 -0
  358. package/schematics/ng-add/package-config.d.ts +12 -0
  359. package/schematics/ng-add/package-config.js +51 -0
  360. package/schematics/ng-add/package-config.js.map +1 -0
  361. package/schematics/ng-add/schema.d.ts +15 -0
  362. package/schematics/ng-add/schema.js +10 -0
  363. package/schematics/ng-add/schema.js.map +1 -0
  364. package/schematics/ng-add/schema.json +43 -0
  365. package/schematics/ng-add/setup-project.d.ts +15 -0
  366. package/schematics/ng-add/setup-project.js +36 -0
  367. package/schematics/ng-add/setup-project.js.map +1 -0
  368. package/schematics/ng-add/theming/create-theme.d.ts +9 -0
  369. package/schematics/ng-add/theming/create-theme.js +58 -0
  370. package/schematics/ng-add/theming/create-theme.js.map +1 -0
  371. package/schematics/ng-add/theming/theming.d.ts +11 -0
  372. package/schematics/ng-add/theming/theming.js +133 -0
  373. package/schematics/ng-add/theming/theming.js.map +1 -0
  374. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +27 -0
  375. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +99 -0
  376. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +38 -0
  377. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +118 -0
  378. package/schematics/ng-generate/address-form/index.d.ts +14 -0
  379. package/schematics/ng-generate/address-form/index.js +43 -0
  380. package/schematics/ng-generate/address-form/index.js.map +1 -0
  381. package/schematics/ng-generate/address-form/schema.d.ts +10 -0
  382. package/schematics/ng-generate/address-form/schema.js +10 -0
  383. package/schematics/ng-generate/address-form/schema.js.map +1 -0
  384. package/schematics/ng-generate/address-form/schema.json +100 -0
  385. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +21 -0
  386. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +26 -0
  387. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +36 -0
  388. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +56 -0
  389. package/schematics/ng-generate/dashboard/index.d.ts +14 -0
  390. package/schematics/ng-generate/dashboard/index.js +42 -0
  391. package/schematics/ng-generate/dashboard/index.js.map +1 -0
  392. package/schematics/ng-generate/dashboard/schema.d.ts +10 -0
  393. package/schematics/ng-generate/dashboard/schema.js +10 -0
  394. package/schematics/ng-generate/dashboard/schema.js.map +1 -0
  395. package/schematics/ng-generate/dashboard/schema.json +100 -0
  396. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +17 -0
  397. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +28 -0
  398. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +36 -0
  399. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +42 -0
  400. package/schematics/ng-generate/navigation/index.d.ts +14 -0
  401. package/schematics/ng-generate/navigation/index.js +42 -0
  402. package/schematics/ng-generate/navigation/index.js.map +1 -0
  403. package/schematics/ng-generate/navigation/schema.d.ts +10 -0
  404. package/schematics/ng-generate/navigation/schema.js +10 -0
  405. package/schematics/ng-generate/navigation/schema.js.map +1 -0
  406. package/schematics/ng-generate/navigation/schema.json +105 -0
  407. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__-datasource.ts.template +111 -0
  408. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +3 -0
  409. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +26 -0
  410. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +32 -0
  411. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +36 -0
  412. package/schematics/ng-generate/table/index.d.ts +14 -0
  413. package/schematics/ng-generate/table/index.js +40 -0
  414. package/schematics/ng-generate/table/index.js.map +1 -0
  415. package/schematics/ng-generate/table/schema.d.ts +10 -0
  416. package/schematics/ng-generate/table/schema.js +10 -0
  417. package/schematics/ng-generate/table/schema.js.map +1 -0
  418. package/schematics/ng-generate/table/schema.json +100 -0
  419. package/schematics/ng-generate/theme-color/index_bundled.js +6561 -0
  420. package/schematics/ng-generate/theme-color/index_bundled.js.map +6 -0
  421. package/schematics/ng-generate/theme-color/schema.json +55 -0
  422. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +4 -0
  423. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +22 -0
  424. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +32 -0
  425. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +93 -0
  426. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/example-data.ts.template +47 -0
  427. package/schematics/ng-generate/tree/index.d.ts +14 -0
  428. package/schematics/ng-generate/tree/index.js +40 -0
  429. package/schematics/ng-generate/tree/index.js.map +1 -0
  430. package/schematics/ng-generate/tree/schema.d.ts +10 -0
  431. package/schematics/ng-generate/tree/schema.js +10 -0
  432. package/schematics/ng-generate/tree/schema.js.map +1 -0
  433. package/schematics/ng-generate/tree/schema.json +100 -0
  434. package/schematics/ng-update/index_bundled.js +204 -0
  435. package/schematics/ng-update/index_bundled.js.map +6 -0
  436. package/schematics/package.json +3 -0
  437. package/select/_m2-select.scss +49 -0
  438. package/select/_m3-select.scss +54 -0
  439. package/select/_select-theme.scss +99 -0
  440. package/sidenav/_m2-sidenav.scss +48 -0
  441. package/sidenav/_m3-sidenav.scss +26 -0
  442. package/sidenav/_sidenav-theme.scss +75 -0
  443. package/slide-toggle/_m2-slide-toggle.scss +134 -0
  444. package/slide-toggle/_m3-slide-toggle.scss +133 -0
  445. package/slide-toggle/_slide-toggle-theme.scss +119 -0
  446. package/slider/_m2-slider.scss +73 -0
  447. package/slider/_m3-slider.scss +69 -0
  448. package/slider/_slider-theme.scss +103 -0
  449. package/snack-bar/_m2-snack-bar.scss +24 -0
  450. package/snack-bar/_m3-snack-bar.scss +26 -0
  451. package/snack-bar/_snack-bar-theme.scss +77 -0
  452. package/sort/_m2-sort.scss +16 -0
  453. package/sort/_m3-sort.scss +20 -0
  454. package/sort/_sort-theme.scss +76 -0
  455. package/stepper/_m2-stepper.scss +65 -0
  456. package/stepper/_m3-stepper.scss +66 -0
  457. package/stepper/_stepper-theme.scss +102 -0
  458. package/table/_m2-table.scss +63 -0
  459. package/table/_m3-table.scss +52 -0
  460. package/table/_table-theme.scss +76 -0
  461. package/tabs/_m2-tabs.scss +68 -0
  462. package/tabs/_m3-tabs.scss +58 -0
  463. package/tabs/_tabs-theme.scss +131 -0
  464. package/timepicker/_m2-timepicker.scss +19 -0
  465. package/timepicker/_m3-timepicker.scss +21 -0
  466. package/timepicker/_timepicker-theme.scss +81 -0
  467. package/toolbar/_m2-toolbar.scss +43 -0
  468. package/toolbar/_m3-toolbar.scss +41 -0
  469. package/toolbar/_toolbar-theme.scss +114 -0
  470. package/tooltip/_m2-tooltip.scss +24 -0
  471. package/tooltip/_m3-tooltip.scss +25 -0
  472. package/tooltip/_tooltip-theme.scss +76 -0
  473. package/tree/_m2-tree.scss +30 -0
  474. package/tree/_m3-tree.scss +37 -0
  475. package/tree/_tree-theme.scss +76 -0
  476. package/types/_badge-chunk.d.ts +100 -0
  477. package/types/_button-toggle-chunk.d.ts +252 -0
  478. package/types/_date-adapter-chunk.d.ts +261 -0
  479. package/types/_date-range-input-harness-chunk.d.ts +284 -0
  480. package/types/_dialog-chunk.d.ts +336 -0
  481. package/types/_error-options-chunk.d.ts +17 -0
  482. package/types/_form-field-chunk.d.ts +375 -0
  483. package/types/_form-field-control-chunk.d.ts +64 -0
  484. package/types/_form-field-control-harness-chunk.d.ts +20 -0
  485. package/types/_form-field-module-chunk.d.ts +18 -0
  486. package/types/_icon-module-chunk.d.ts +162 -0
  487. package/types/_icon-registry-chunk.d.ts +271 -0
  488. package/types/_input-harness-chunk.d.ts +61 -0
  489. package/types/_line-chunk.d.ts +25 -0
  490. package/types/_list-option-types-chunk.d.ts +15 -0
  491. package/types/_option-chunk.d.ts +146 -0
  492. package/types/_option-harness-chunk.d.ts +35 -0
  493. package/types/_option-module-chunk.d.ts +13 -0
  494. package/types/_option-parent-chunk.d.ts +20 -0
  495. package/types/_paginator-chunk.d.ts +184 -0
  496. package/types/_palette-chunk.d.ts +4 -0
  497. package/types/_progress-spinner-chunk.d.ts +91 -0
  498. package/types/_pseudo-checkbox-module-chunk.d.ts +45 -0
  499. package/types/_ripple-chunk.d.ts +256 -0
  500. package/types/_ripple-loader-chunk.d.ts +48 -0
  501. package/types/_ripple-module-chunk.d.ts +11 -0
  502. package/types/_sort-chunk.d.ts +88 -0
  503. package/types/_sort-direction-chunk.d.ts +3 -0
  504. package/types/_tooltip-chunk.d.ts +315 -0
  505. package/types/autocomplete-testing.d.ts +53 -0
  506. package/types/autocomplete.d.ts +420 -0
  507. package/types/badge-testing.d.ts +36 -0
  508. package/types/badge.d.ts +14 -0
  509. package/types/bottom-sheet-testing.d.ts +26 -0
  510. package/types/bottom-sheet.d.ts +192 -0
  511. package/types/button-testing.d.ts +70 -0
  512. package/types/button-toggle-testing.d.ts +97 -0
  513. package/types/button-toggle.d.ts +16 -0
  514. package/types/button.d.ts +210 -0
  515. package/types/card-testing.d.ts +41 -0
  516. package/types/card.d.ts +156 -0
  517. package/types/checkbox-testing.d.ts +86 -0
  518. package/types/checkbox.d.ts +216 -0
  519. package/types/chips-testing.d.ts +270 -0
  520. package/types/chips.d.ts +993 -0
  521. package/types/core-testing.d.ts +32 -0
  522. package/types/core.d.ts +185 -0
  523. package/types/datepicker-testing.d.ts +25 -0
  524. package/types/datepicker.d.ts +1746 -0
  525. package/types/dialog-testing.d.ts +83 -0
  526. package/types/dialog.d.ts +84 -0
  527. package/types/divider-testing.d.ts +15 -0
  528. package/types/divider.d.ts +24 -0
  529. package/types/expansion-testing.d.ts +101 -0
  530. package/types/expansion.d.ts +258 -0
  531. package/types/form-field-testing-control.d.ts +13 -0
  532. package/types/form-field-testing.d.ts +127 -0
  533. package/types/form-field.d.ts +19 -0
  534. package/types/grid-list-testing.d.ts +82 -0
  535. package/types/grid-list.d.ts +207 -0
  536. package/types/icon-testing.d.ts +81 -0
  537. package/types/icon.d.ts +8 -0
  538. package/types/input-testing.d.ts +73 -0
  539. package/types/input.d.ts +208 -0
  540. package/types/list-testing.d.ts +354 -0
  541. package/types/list.d.ts +516 -0
  542. package/types/material.d.ts +3 -0
  543. package/types/menu-testing.d.ts +141 -0
  544. package/types/menu.d.ts +547 -0
  545. package/types/paginator-testing.d.ts +51 -0
  546. package/types/paginator.d.ts +36 -0
  547. package/types/progress-bar-testing.d.ts +24 -0
  548. package/types/progress-bar.d.ts +106 -0
  549. package/types/progress-spinner-testing.d.ts +28 -0
  550. package/types/progress-spinner.d.ts +13 -0
  551. package/types/radio-testing.d.ts +109 -0
  552. package/types/radio.d.ts +295 -0
  553. package/types/select-testing.d.ts +63 -0
  554. package/types/select.d.ts +448 -0
  555. package/types/sidenav-testing.d.ts +122 -0
  556. package/types/sidenav.d.ts +335 -0
  557. package/types/slide-toggle-testing.d.ts +66 -0
  558. package/types/slide-toggle.d.ts +151 -0
  559. package/types/slider-testing.d.ts +90 -0
  560. package/types/slider.d.ts +662 -0
  561. package/types/snack-bar-testing.d.ts +64 -0
  562. package/types/snack-bar.d.ts +328 -0
  563. package/types/sort-testing.d.ts +48 -0
  564. package/types/sort.d.ts +126 -0
  565. package/types/stepper-testing.d.ts +136 -0
  566. package/types/stepper.d.ts +225 -0
  567. package/types/table-testing.d.ts +174 -0
  568. package/types/table.d.ts +302 -0
  569. package/types/tabs-testing.d.ts +145 -0
  570. package/types/tabs.d.ts +890 -0
  571. package/types/timepicker-testing.d.ts +108 -0
  572. package/types/timepicker.d.ts +318 -0
  573. package/types/toolbar-testing.d.ts +33 -0
  574. package/types/toolbar.d.ts +44 -0
  575. package/types/tooltip-testing.d.ts +35 -0
  576. package/types/tooltip.d.ts +17 -0
  577. package/types/tree-testing.d.ts +119 -0
  578. package/types/tree.d.ts +233 -0
@@ -0,0 +1,1181 @@
1
+ import { _countGroupLabelsBeforeOption, _getOptionScrollPosition, MAT_OPTION_PARENT_COMPONENT, MatOption, MAT_OPTGROUP } from './_option-chunk.mjs';
2
+ export { MatOptgroup } from './_option-chunk.mjs';
3
+ import { MAT_FORM_FIELD, MatFormFieldControl } from './_form-field-chunk.mjs';
4
+ export { MatError, MatFormField, MatHint, MatLabel, MatPrefix, MatSuffix } from './_form-field-chunk.mjs';
5
+ import { createRepositionScrollStrategy, OVERLAY_DEFAULT_CONFIG, CdkConnectedOverlay, CdkOverlayOrigin, OverlayModule } from '@angular/cdk/overlay';
6
+ import * as i0 from '@angular/core';
7
+ import { InjectionToken, inject, Injector, ChangeDetectorRef, ElementRef, Renderer2, signal, EventEmitter, HostAttributeToken, booleanAttribute, numberAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, ContentChild, Input, ViewChild, Output, Directive, NgModule } from '@angular/core';
8
+ import { ViewportRuler, CdkScrollableModule } from '@angular/cdk/scrolling';
9
+ import { _IdGenerator, LiveAnnouncer, removeAriaReferencedId, addAriaReferencedId, ActiveDescendantKeyManager } from '@angular/cdk/a11y';
10
+ import { Directionality, BidiModule } from '@angular/cdk/bidi';
11
+ import { SelectionModel } from '@angular/cdk/collections';
12
+ import { hasModifierKey, ENTER, SPACE, A, ESCAPE, DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';
13
+ import { NgControl, Validators, NgForm, FormGroupDirective } from '@angular/forms';
14
+ import { _getEventTarget } from '@angular/cdk/platform';
15
+ import { Subject, defer, merge } from 'rxjs';
16
+ import { startWith, switchMap, filter, map, takeUntil, take } from 'rxjs/operators';
17
+ import { _animationsDisabled } from './_animation-chunk.mjs';
18
+ import { ErrorStateMatcher } from './_error-options-chunk.mjs';
19
+ import { _ErrorStateTracker } from './_error-state-chunk.mjs';
20
+ import { MatOptionModule } from './_option-module-chunk.mjs';
21
+ import { MatFormFieldModule } from './form-field.mjs';
22
+ import './_ripple-chunk.mjs';
23
+ import '@angular/cdk/coercion';
24
+ import '@angular/cdk/private';
25
+ import './_pseudo-checkbox-chunk.mjs';
26
+ import './_structural-styles-chunk.mjs';
27
+ import '@angular/common';
28
+ import '@angular/cdk/observers/private';
29
+ import '@angular/cdk/layout';
30
+ import './_ripple-module-chunk.mjs';
31
+ import './_pseudo-checkbox-module-chunk.mjs';
32
+ import '@angular/cdk/observers';
33
+
34
+ function getMatSelectDynamicMultipleError() {
35
+ return Error('Cannot change `multiple` mode of select after initialization.');
36
+ }
37
+ function getMatSelectNonArrayValueError() {
38
+ return Error('Value must be an array in multiple-selection mode.');
39
+ }
40
+ function getMatSelectNonFunctionValueError() {
41
+ return Error('`compareWith` must be a function.');
42
+ }
43
+
44
+ const MAT_SELECT_SCROLL_STRATEGY = new InjectionToken('mat-select-scroll-strategy', {
45
+ providedIn: 'root',
46
+ factory: () => {
47
+ const injector = inject(Injector);
48
+ return () => createRepositionScrollStrategy(injector);
49
+ }
50
+ });
51
+ const MAT_SELECT_CONFIG = new InjectionToken('MAT_SELECT_CONFIG');
52
+ const MAT_SELECT_TRIGGER = new InjectionToken('MatSelectTrigger');
53
+ class MatSelectChange {
54
+ source;
55
+ value;
56
+ constructor(source, value) {
57
+ this.source = source;
58
+ this.value = value;
59
+ }
60
+ }
61
+ class MatSelect {
62
+ _viewportRuler = inject(ViewportRuler);
63
+ _changeDetectorRef = inject(ChangeDetectorRef);
64
+ _elementRef = inject(ElementRef);
65
+ _dir = inject(Directionality, {
66
+ optional: true
67
+ });
68
+ _idGenerator = inject(_IdGenerator);
69
+ _renderer = inject(Renderer2);
70
+ _parentFormField = inject(MAT_FORM_FIELD, {
71
+ optional: true
72
+ });
73
+ ngControl = inject(NgControl, {
74
+ self: true,
75
+ optional: true
76
+ });
77
+ _liveAnnouncer = inject(LiveAnnouncer);
78
+ _defaultOptions = inject(MAT_SELECT_CONFIG, {
79
+ optional: true
80
+ });
81
+ _animationsDisabled = _animationsDisabled();
82
+ _popoverLocation;
83
+ _initialized = new Subject();
84
+ _cleanupDetach;
85
+ options;
86
+ optionGroups;
87
+ customTrigger;
88
+ _positions = [{
89
+ originX: 'start',
90
+ originY: 'bottom',
91
+ overlayX: 'start',
92
+ overlayY: 'top'
93
+ }, {
94
+ originX: 'end',
95
+ originY: 'bottom',
96
+ overlayX: 'end',
97
+ overlayY: 'top'
98
+ }, {
99
+ originX: 'start',
100
+ originY: 'top',
101
+ overlayX: 'start',
102
+ overlayY: 'bottom',
103
+ panelClass: 'mat-mdc-select-panel-above'
104
+ }, {
105
+ originX: 'end',
106
+ originY: 'top',
107
+ overlayX: 'end',
108
+ overlayY: 'bottom',
109
+ panelClass: 'mat-mdc-select-panel-above'
110
+ }];
111
+ _scrollOptionIntoView(index) {
112
+ const option = this.options.toArray()[index];
113
+ if (option) {
114
+ const panel = this.panel.nativeElement;
115
+ const labelCount = _countGroupLabelsBeforeOption(index, this.options, this.optionGroups);
116
+ const element = option._getHostElement();
117
+ if (index === 0 && labelCount === 1) {
118
+ panel.scrollTop = 0;
119
+ } else {
120
+ panel.scrollTop = _getOptionScrollPosition(element.offsetTop, element.offsetHeight, panel.scrollTop, panel.offsetHeight);
121
+ }
122
+ }
123
+ }
124
+ _positioningSettled() {
125
+ this._scrollOptionIntoView(this._keyManager.activeItemIndex || 0);
126
+ }
127
+ _getChangeEvent(value) {
128
+ return new MatSelectChange(this, value);
129
+ }
130
+ _scrollStrategyFactory = inject(MAT_SELECT_SCROLL_STRATEGY);
131
+ _panelOpen = false;
132
+ _compareWith = (o1, o2) => o1 === o2;
133
+ _uid = this._idGenerator.getId('mat-select-');
134
+ _triggerAriaLabelledBy = null;
135
+ _previousControl;
136
+ _destroy = new Subject();
137
+ _errorStateTracker;
138
+ stateChanges = new Subject();
139
+ disableAutomaticLabeling = true;
140
+ userAriaDescribedBy;
141
+ _selectionModel;
142
+ _keyManager;
143
+ _preferredOverlayOrigin;
144
+ _overlayWidth;
145
+ _onChange = () => {};
146
+ _onTouched = () => {};
147
+ _valueId = this._idGenerator.getId('mat-select-value-');
148
+ _scrollStrategy;
149
+ _overlayPanelClass = this._defaultOptions?.overlayPanelClass || '';
150
+ get focused() {
151
+ return this._focused || this._panelOpen;
152
+ }
153
+ _focused = false;
154
+ controlType = 'mat-select';
155
+ trigger;
156
+ panel;
157
+ _overlayDir;
158
+ panelClass;
159
+ disabled = false;
160
+ get disableRipple() {
161
+ return this._disableRipple();
162
+ }
163
+ set disableRipple(value) {
164
+ this._disableRipple.set(value);
165
+ }
166
+ _disableRipple = signal(false, ...(ngDevMode ? [{
167
+ debugName: "_disableRipple"
168
+ }] : []));
169
+ tabIndex = 0;
170
+ get hideSingleSelectionIndicator() {
171
+ return this._hideSingleSelectionIndicator;
172
+ }
173
+ set hideSingleSelectionIndicator(value) {
174
+ this._hideSingleSelectionIndicator = value;
175
+ this._syncParentProperties();
176
+ }
177
+ _hideSingleSelectionIndicator = this._defaultOptions?.hideSingleSelectionIndicator ?? false;
178
+ get placeholder() {
179
+ return this._placeholder;
180
+ }
181
+ set placeholder(value) {
182
+ this._placeholder = value;
183
+ this.stateChanges.next();
184
+ }
185
+ _placeholder;
186
+ get required() {
187
+ return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;
188
+ }
189
+ set required(value) {
190
+ this._required = value;
191
+ this.stateChanges.next();
192
+ }
193
+ _required;
194
+ get multiple() {
195
+ return this._multiple;
196
+ }
197
+ set multiple(value) {
198
+ if (this._selectionModel && (typeof ngDevMode === 'undefined' || ngDevMode)) {
199
+ throw getMatSelectDynamicMultipleError();
200
+ }
201
+ this._multiple = value;
202
+ }
203
+ _multiple = false;
204
+ disableOptionCentering = this._defaultOptions?.disableOptionCentering ?? false;
205
+ get compareWith() {
206
+ return this._compareWith;
207
+ }
208
+ set compareWith(fn) {
209
+ if (typeof fn !== 'function' && (typeof ngDevMode === 'undefined' || ngDevMode)) {
210
+ throw getMatSelectNonFunctionValueError();
211
+ }
212
+ this._compareWith = fn;
213
+ if (this._selectionModel) {
214
+ this._initializeSelection();
215
+ }
216
+ }
217
+ get value() {
218
+ return this._value;
219
+ }
220
+ set value(newValue) {
221
+ const hasAssigned = this._assignValue(newValue);
222
+ if (hasAssigned) {
223
+ this._onChange(newValue);
224
+ }
225
+ }
226
+ _value;
227
+ ariaLabel = '';
228
+ ariaLabelledby;
229
+ get errorStateMatcher() {
230
+ return this._errorStateTracker.matcher;
231
+ }
232
+ set errorStateMatcher(value) {
233
+ this._errorStateTracker.matcher = value;
234
+ }
235
+ typeaheadDebounceInterval;
236
+ sortComparator;
237
+ get id() {
238
+ return this._id;
239
+ }
240
+ set id(value) {
241
+ this._id = value || this._uid;
242
+ this.stateChanges.next();
243
+ }
244
+ _id;
245
+ get errorState() {
246
+ return this._errorStateTracker.errorState;
247
+ }
248
+ set errorState(value) {
249
+ this._errorStateTracker.errorState = value;
250
+ }
251
+ panelWidth = this._defaultOptions && typeof this._defaultOptions.panelWidth !== 'undefined' ? this._defaultOptions.panelWidth : 'auto';
252
+ canSelectNullableOptions = this._defaultOptions?.canSelectNullableOptions ?? false;
253
+ optionSelectionChanges = defer(() => {
254
+ const options = this.options;
255
+ if (options) {
256
+ return options.changes.pipe(startWith(options), switchMap(() => merge(...options.map(option => option.onSelectionChange))));
257
+ }
258
+ return this._initialized.pipe(switchMap(() => this.optionSelectionChanges));
259
+ });
260
+ openedChange = new EventEmitter();
261
+ _openedStream = this.openedChange.pipe(filter(o => o), map(() => {}));
262
+ _closedStream = this.openedChange.pipe(filter(o => !o), map(() => {}));
263
+ selectionChange = new EventEmitter();
264
+ valueChange = new EventEmitter();
265
+ constructor() {
266
+ const defaultErrorStateMatcher = inject(ErrorStateMatcher);
267
+ const parentForm = inject(NgForm, {
268
+ optional: true
269
+ });
270
+ const parentFormGroup = inject(FormGroupDirective, {
271
+ optional: true
272
+ });
273
+ const tabIndex = inject(new HostAttributeToken('tabindex'), {
274
+ optional: true
275
+ });
276
+ const defaultPopoverConfig = inject(OVERLAY_DEFAULT_CONFIG, {
277
+ optional: true
278
+ });
279
+ if (this.ngControl) {
280
+ this.ngControl.valueAccessor = this;
281
+ }
282
+ if (this._defaultOptions?.typeaheadDebounceInterval != null) {
283
+ this.typeaheadDebounceInterval = this._defaultOptions.typeaheadDebounceInterval;
284
+ }
285
+ this._errorStateTracker = new _ErrorStateTracker(defaultErrorStateMatcher, this.ngControl, parentFormGroup, parentForm, this.stateChanges);
286
+ this._scrollStrategy = this._scrollStrategyFactory();
287
+ this.tabIndex = tabIndex == null ? 0 : parseInt(tabIndex) || 0;
288
+ this._popoverLocation = defaultPopoverConfig?.usePopover === false ? null : 'inline';
289
+ this.id = this.id;
290
+ }
291
+ ngOnInit() {
292
+ this._selectionModel = new SelectionModel(this.multiple);
293
+ this.stateChanges.next();
294
+ this._viewportRuler.change().pipe(takeUntil(this._destroy)).subscribe(() => {
295
+ if (this.panelOpen) {
296
+ this._overlayWidth = this._getOverlayWidth(this._preferredOverlayOrigin);
297
+ this._changeDetectorRef.detectChanges();
298
+ }
299
+ });
300
+ }
301
+ ngAfterContentInit() {
302
+ this._initialized.next();
303
+ this._initialized.complete();
304
+ this._initKeyManager();
305
+ this._selectionModel.changed.pipe(takeUntil(this._destroy)).subscribe(event => {
306
+ event.added.forEach(option => option.select());
307
+ event.removed.forEach(option => option.deselect());
308
+ });
309
+ this.options.changes.pipe(startWith(null), takeUntil(this._destroy)).subscribe(() => {
310
+ this._resetOptions();
311
+ this._initializeSelection();
312
+ });
313
+ }
314
+ ngDoCheck() {
315
+ const newAriaLabelledby = this._getTriggerAriaLabelledby();
316
+ const ngControl = this.ngControl;
317
+ if (newAriaLabelledby !== this._triggerAriaLabelledBy) {
318
+ const element = this._elementRef.nativeElement;
319
+ this._triggerAriaLabelledBy = newAriaLabelledby;
320
+ if (newAriaLabelledby) {
321
+ element.setAttribute('aria-labelledby', newAriaLabelledby);
322
+ } else {
323
+ element.removeAttribute('aria-labelledby');
324
+ }
325
+ }
326
+ if (ngControl) {
327
+ if (this._previousControl !== ngControl.control) {
328
+ if (this._previousControl !== undefined && ngControl.disabled !== null && ngControl.disabled !== this.disabled) {
329
+ this.disabled = ngControl.disabled;
330
+ }
331
+ this._previousControl = ngControl.control;
332
+ }
333
+ this.updateErrorState();
334
+ }
335
+ }
336
+ ngOnChanges(changes) {
337
+ if (changes['disabled'] || changes['userAriaDescribedBy']) {
338
+ this.stateChanges.next();
339
+ }
340
+ if (changes['typeaheadDebounceInterval'] && this._keyManager) {
341
+ this._keyManager.withTypeAhead(this.typeaheadDebounceInterval);
342
+ }
343
+ if (changes['panelClass'] && this.panelClass instanceof Set) {
344
+ this.panelClass = Array.from(this.panelClass);
345
+ }
346
+ }
347
+ ngOnDestroy() {
348
+ this._cleanupDetach?.();
349
+ this._keyManager?.destroy();
350
+ this._destroy.next();
351
+ this._destroy.complete();
352
+ this.stateChanges.complete();
353
+ this._clearFromModal();
354
+ }
355
+ toggle() {
356
+ this.panelOpen ? this.close() : this.open();
357
+ }
358
+ open() {
359
+ if (!this._canOpen()) {
360
+ return;
361
+ }
362
+ if (this._parentFormField) {
363
+ this._preferredOverlayOrigin = this._parentFormField.getConnectedOverlayOrigin();
364
+ }
365
+ this._cleanupDetach?.();
366
+ this._overlayWidth = this._getOverlayWidth(this._preferredOverlayOrigin);
367
+ this._applyModalPanelOwnership();
368
+ this._panelOpen = true;
369
+ this._overlayDir.positionChange.pipe(take(1)).subscribe(() => {
370
+ this._changeDetectorRef.detectChanges();
371
+ this._positioningSettled();
372
+ });
373
+ this._overlayDir.attachOverlay();
374
+ this._keyManager.withHorizontalOrientation(null);
375
+ this._highlightCorrectOption();
376
+ this._changeDetectorRef.markForCheck();
377
+ this.stateChanges.next();
378
+ Promise.resolve().then(() => this.openedChange.emit(true));
379
+ }
380
+ _trackedModal = null;
381
+ _applyModalPanelOwnership() {
382
+ const modal = this._elementRef.nativeElement.closest('body > .cdk-overlay-container [aria-modal="true"]');
383
+ if (!modal) {
384
+ return;
385
+ }
386
+ const panelId = `${this.id}-panel`;
387
+ if (this._trackedModal) {
388
+ removeAriaReferencedId(this._trackedModal, 'aria-owns', panelId);
389
+ }
390
+ addAriaReferencedId(modal, 'aria-owns', panelId);
391
+ this._trackedModal = modal;
392
+ }
393
+ _clearFromModal() {
394
+ if (!this._trackedModal) {
395
+ return;
396
+ }
397
+ const panelId = `${this.id}-panel`;
398
+ removeAriaReferencedId(this._trackedModal, 'aria-owns', panelId);
399
+ this._trackedModal = null;
400
+ }
401
+ close() {
402
+ if (this._panelOpen) {
403
+ this._panelOpen = false;
404
+ this._exitAndDetach();
405
+ this._keyManager.withHorizontalOrientation(this._isRtl() ? 'rtl' : 'ltr');
406
+ this._changeDetectorRef.markForCheck();
407
+ this._onTouched();
408
+ this.stateChanges.next();
409
+ Promise.resolve().then(() => this.openedChange.emit(false));
410
+ }
411
+ }
412
+ _exitAndDetach() {
413
+ if (this._animationsDisabled || !this.panel) {
414
+ this._detachOverlay();
415
+ return;
416
+ }
417
+ this._cleanupDetach?.();
418
+ this._cleanupDetach = () => {
419
+ cleanupEvent();
420
+ clearTimeout(exitFallbackTimer);
421
+ this._cleanupDetach = undefined;
422
+ };
423
+ const panel = this.panel.nativeElement;
424
+ const cleanupEvent = this._renderer.listen(panel, 'animationend', event => {
425
+ if (event.animationName === '_mat-select-exit') {
426
+ this._cleanupDetach?.();
427
+ this._detachOverlay();
428
+ }
429
+ });
430
+ const exitFallbackTimer = setTimeout(() => {
431
+ this._cleanupDetach?.();
432
+ this._detachOverlay();
433
+ }, 200);
434
+ panel.classList.add('mat-select-panel-exit');
435
+ }
436
+ _detachOverlay() {
437
+ this._overlayDir.detachOverlay();
438
+ this._changeDetectorRef.markForCheck();
439
+ }
440
+ writeValue(value) {
441
+ this._assignValue(value);
442
+ }
443
+ registerOnChange(fn) {
444
+ this._onChange = fn;
445
+ }
446
+ registerOnTouched(fn) {
447
+ this._onTouched = fn;
448
+ }
449
+ setDisabledState(isDisabled) {
450
+ this.disabled = isDisabled;
451
+ this._changeDetectorRef.markForCheck();
452
+ this.stateChanges.next();
453
+ }
454
+ get panelOpen() {
455
+ return this._panelOpen;
456
+ }
457
+ get selected() {
458
+ return this.multiple ? this._selectionModel?.selected || [] : this._selectionModel?.selected[0];
459
+ }
460
+ get triggerValue() {
461
+ if (this.empty) {
462
+ return '';
463
+ }
464
+ if (this._multiple) {
465
+ const selectedOptions = this._selectionModel.selected.map(option => option.viewValue);
466
+ if (this._isRtl()) {
467
+ selectedOptions.reverse();
468
+ }
469
+ return selectedOptions.join(', ');
470
+ }
471
+ return this._selectionModel.selected[0].viewValue;
472
+ }
473
+ updateErrorState() {
474
+ this._errorStateTracker.updateErrorState();
475
+ }
476
+ _isRtl() {
477
+ return this._dir ? this._dir.value === 'rtl' : false;
478
+ }
479
+ _handleKeydown(event) {
480
+ if (!this.disabled) {
481
+ this.panelOpen ? this._handleOpenKeydown(event) : this._handleClosedKeydown(event);
482
+ }
483
+ }
484
+ _handleClosedKeydown(event) {
485
+ const keyCode = event.keyCode;
486
+ const isArrowKey = keyCode === DOWN_ARROW || keyCode === UP_ARROW || keyCode === LEFT_ARROW || keyCode === RIGHT_ARROW;
487
+ const isOpenKey = keyCode === ENTER || keyCode === SPACE;
488
+ const manager = this._keyManager;
489
+ if (!manager.isTyping() && isOpenKey && !hasModifierKey(event) || (this.multiple || event.altKey) && isArrowKey) {
490
+ event.preventDefault();
491
+ this.open();
492
+ } else if (!this.multiple) {
493
+ const previouslySelectedOption = this.selected;
494
+ manager.onKeydown(event);
495
+ const selectedOption = this.selected;
496
+ if (selectedOption && previouslySelectedOption !== selectedOption) {
497
+ this._liveAnnouncer.announce(selectedOption.viewValue, 10000);
498
+ }
499
+ }
500
+ }
501
+ _handleOpenKeydown(event) {
502
+ const manager = this._keyManager;
503
+ const keyCode = event.keyCode;
504
+ const isArrowKey = keyCode === DOWN_ARROW || keyCode === UP_ARROW;
505
+ const isTyping = manager.isTyping();
506
+ if (isArrowKey && event.altKey) {
507
+ event.preventDefault();
508
+ this.close();
509
+ } else if (!isTyping && (keyCode === ENTER || keyCode === SPACE) && manager.activeItem && !hasModifierKey(event)) {
510
+ event.preventDefault();
511
+ manager.activeItem._selectViaInteraction();
512
+ } else if (!isTyping && this._multiple && keyCode === A && event.ctrlKey) {
513
+ event.preventDefault();
514
+ const hasDeselectedOptions = this.options.some(opt => !opt.disabled && !opt.selected);
515
+ this.options.forEach(option => {
516
+ if (!option.disabled) {
517
+ hasDeselectedOptions ? option.select() : option.deselect();
518
+ }
519
+ });
520
+ } else {
521
+ const previouslyFocusedIndex = manager.activeItemIndex;
522
+ manager.onKeydown(event);
523
+ if (this._multiple && isArrowKey && event.shiftKey && manager.activeItem && manager.activeItemIndex !== previouslyFocusedIndex) {
524
+ manager.activeItem._selectViaInteraction();
525
+ }
526
+ }
527
+ }
528
+ _handleOverlayKeydown(event) {
529
+ if (event.keyCode === ESCAPE && !hasModifierKey(event)) {
530
+ event.preventDefault();
531
+ this.close();
532
+ }
533
+ }
534
+ _onFocus() {
535
+ if (!this.disabled) {
536
+ this._focused = true;
537
+ this.stateChanges.next();
538
+ }
539
+ }
540
+ _onBlur() {
541
+ this._focused = false;
542
+ this._keyManager?.cancelTypeahead();
543
+ if (!this.disabled && !this.panelOpen) {
544
+ this._onTouched();
545
+ this._changeDetectorRef.markForCheck();
546
+ this.stateChanges.next();
547
+ }
548
+ }
549
+ get empty() {
550
+ return !this._selectionModel || this._selectionModel.isEmpty();
551
+ }
552
+ _initializeSelection() {
553
+ Promise.resolve().then(() => {
554
+ if (this.ngControl) {
555
+ this._value = this.ngControl.value;
556
+ }
557
+ this._setSelectionByValue(this._value);
558
+ this.stateChanges.next();
559
+ });
560
+ }
561
+ _setSelectionByValue(value) {
562
+ this.options.forEach(option => option.setInactiveStyles());
563
+ this._selectionModel.clear();
564
+ if (this.multiple && value) {
565
+ if (!Array.isArray(value) && (typeof ngDevMode === 'undefined' || ngDevMode)) {
566
+ throw getMatSelectNonArrayValueError();
567
+ }
568
+ value.forEach(currentValue => this._selectOptionByValue(currentValue));
569
+ this._sortValues();
570
+ } else {
571
+ const correspondingOption = this._selectOptionByValue(value);
572
+ if (correspondingOption) {
573
+ this._keyManager.updateActiveItem(correspondingOption);
574
+ } else if (!this.panelOpen) {
575
+ this._keyManager.updateActiveItem(-1);
576
+ }
577
+ }
578
+ this._changeDetectorRef.markForCheck();
579
+ }
580
+ _selectOptionByValue(value) {
581
+ const correspondingOption = this.options.find(option => {
582
+ if (this._selectionModel.isSelected(option)) {
583
+ return false;
584
+ }
585
+ try {
586
+ return (option.value != null || this.canSelectNullableOptions) && this._compareWith(option.value, value);
587
+ } catch (error) {
588
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
589
+ console.warn(error);
590
+ }
591
+ return false;
592
+ }
593
+ });
594
+ if (correspondingOption) {
595
+ this._selectionModel.select(correspondingOption);
596
+ }
597
+ return correspondingOption;
598
+ }
599
+ _assignValue(newValue) {
600
+ if (newValue !== this._value || this._multiple && Array.isArray(newValue)) {
601
+ if (this.options) {
602
+ this._setSelectionByValue(newValue);
603
+ }
604
+ this._value = newValue;
605
+ return true;
606
+ }
607
+ return false;
608
+ }
609
+ _skipPredicate = option => {
610
+ if (this.panelOpen) {
611
+ return false;
612
+ }
613
+ return option.disabled;
614
+ };
615
+ _getOverlayWidth(preferredOrigin) {
616
+ if (this.panelWidth === 'auto') {
617
+ const refToMeasure = preferredOrigin instanceof CdkOverlayOrigin ? preferredOrigin.elementRef : preferredOrigin || this._elementRef;
618
+ return refToMeasure.nativeElement.getBoundingClientRect().width;
619
+ }
620
+ return this.panelWidth === null ? '' : this.panelWidth;
621
+ }
622
+ _syncParentProperties() {
623
+ if (this.options) {
624
+ for (const option of this.options) {
625
+ option._changeDetectorRef.markForCheck();
626
+ }
627
+ }
628
+ }
629
+ _initKeyManager() {
630
+ this._keyManager = new ActiveDescendantKeyManager(this.options).withTypeAhead(this.typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl() ? 'rtl' : 'ltr').withHomeAndEnd().withPageUpDown().withAllowedModifierKeys(['shiftKey']).skipPredicate(this._skipPredicate);
631
+ this._keyManager.tabOut.subscribe(() => {
632
+ if (this.panelOpen) {
633
+ if (!this.multiple && this._keyManager.activeItem) {
634
+ this._keyManager.activeItem._selectViaInteraction();
635
+ }
636
+ this.focus();
637
+ this.close();
638
+ }
639
+ });
640
+ this._keyManager.change.subscribe(() => {
641
+ if (this._panelOpen && this.panel) {
642
+ this._scrollOptionIntoView(this._keyManager.activeItemIndex || 0);
643
+ } else if (!this._panelOpen && !this.multiple && this._keyManager.activeItem) {
644
+ this._keyManager.activeItem._selectViaInteraction();
645
+ }
646
+ });
647
+ }
648
+ _resetOptions() {
649
+ const changedOrDestroyed = merge(this.options.changes, this._destroy);
650
+ this.optionSelectionChanges.pipe(takeUntil(changedOrDestroyed)).subscribe(event => {
651
+ this._onSelect(event.source, event.isUserInput);
652
+ if (event.isUserInput && !this.multiple && this._panelOpen) {
653
+ this.close();
654
+ this.focus();
655
+ }
656
+ });
657
+ merge(...this.options.map(option => option._stateChanges)).pipe(takeUntil(changedOrDestroyed)).subscribe(() => {
658
+ this._changeDetectorRef.detectChanges();
659
+ this.stateChanges.next();
660
+ });
661
+ }
662
+ _onSelect(option, isUserInput) {
663
+ const wasSelected = this._selectionModel.isSelected(option);
664
+ if (!this.canSelectNullableOptions && option.value == null && !this._multiple) {
665
+ option.deselect();
666
+ this._selectionModel.clear();
667
+ if (this.value != null) {
668
+ this._propagateChanges(option.value);
669
+ }
670
+ } else {
671
+ if (wasSelected !== option.selected) {
672
+ option.selected ? this._selectionModel.select(option) : this._selectionModel.deselect(option);
673
+ }
674
+ if (isUserInput) {
675
+ this._keyManager.setActiveItem(option);
676
+ }
677
+ if (this.multiple) {
678
+ this._sortValues();
679
+ if (isUserInput) {
680
+ this.focus();
681
+ }
682
+ }
683
+ }
684
+ if (wasSelected !== this._selectionModel.isSelected(option)) {
685
+ this._propagateChanges();
686
+ }
687
+ this.stateChanges.next();
688
+ }
689
+ _sortValues() {
690
+ if (this.multiple) {
691
+ const options = this.options.toArray();
692
+ this._selectionModel.sort((a, b) => {
693
+ return this.sortComparator ? this.sortComparator(a, b, options) : options.indexOf(a) - options.indexOf(b);
694
+ });
695
+ this.stateChanges.next();
696
+ }
697
+ }
698
+ _propagateChanges(fallbackValue) {
699
+ let valueToEmit;
700
+ if (this.multiple) {
701
+ valueToEmit = this.selected.map(option => option.value);
702
+ } else {
703
+ valueToEmit = this.selected ? this.selected.value : fallbackValue;
704
+ }
705
+ this._value = valueToEmit;
706
+ this.valueChange.emit(valueToEmit);
707
+ this._onChange(valueToEmit);
708
+ this.selectionChange.emit(this._getChangeEvent(valueToEmit));
709
+ this._changeDetectorRef.markForCheck();
710
+ }
711
+ _highlightCorrectOption() {
712
+ if (this._keyManager) {
713
+ if (this.empty) {
714
+ let firstEnabledOptionIndex = -1;
715
+ for (let index = 0; index < this.options.length; index++) {
716
+ const option = this.options.get(index);
717
+ if (!option.disabled) {
718
+ firstEnabledOptionIndex = index;
719
+ break;
720
+ }
721
+ }
722
+ this._keyManager.setActiveItem(firstEnabledOptionIndex);
723
+ } else {
724
+ this._keyManager.setActiveItem(this._selectionModel.selected[0]);
725
+ }
726
+ }
727
+ }
728
+ _canOpen() {
729
+ return !this._panelOpen && !this.disabled && this.options?.length > 0 && !!this._overlayDir;
730
+ }
731
+ focus(options) {
732
+ this._elementRef.nativeElement.focus(options);
733
+ }
734
+ _getPanelAriaLabelledby() {
735
+ if (this.ariaLabel) {
736
+ return null;
737
+ }
738
+ const labelId = this._parentFormField?.getLabelId() || null;
739
+ const labelExpression = labelId ? labelId + ' ' : '';
740
+ return this.ariaLabelledby ? labelExpression + this.ariaLabelledby : labelId;
741
+ }
742
+ _getAriaActiveDescendant() {
743
+ if (this.panelOpen && this._keyManager && this._keyManager.activeItem) {
744
+ return this._keyManager.activeItem.id;
745
+ }
746
+ return null;
747
+ }
748
+ _getTriggerAriaLabelledby() {
749
+ if (this.ariaLabel) {
750
+ return null;
751
+ }
752
+ let value = this._parentFormField?.getLabelId() || '';
753
+ if (this.ariaLabelledby) {
754
+ value += ' ' + this.ariaLabelledby;
755
+ }
756
+ if (!value) {
757
+ value = this._valueId;
758
+ }
759
+ return value;
760
+ }
761
+ get describedByIds() {
762
+ const element = this._elementRef.nativeElement;
763
+ const existingDescribedBy = element.getAttribute('aria-describedby');
764
+ return existingDescribedBy?.split(' ') || [];
765
+ }
766
+ setDescribedByIds(ids) {
767
+ const element = this._elementRef.nativeElement;
768
+ if (ids.length) {
769
+ element.setAttribute('aria-describedby', ids.join(' '));
770
+ } else {
771
+ element.removeAttribute('aria-describedby');
772
+ }
773
+ }
774
+ onContainerClick(event) {
775
+ const target = _getEventTarget(event);
776
+ if (target && (target.tagName === 'MAT-OPTION' || target.classList.contains('cdk-overlay-backdrop') || target.closest('.mat-mdc-select-panel'))) {
777
+ return;
778
+ }
779
+ this.focus();
780
+ this.open();
781
+ }
782
+ get shouldLabelFloat() {
783
+ return this.panelOpen || !this.empty || this.focused && !!this.placeholder;
784
+ }
785
+ static ɵfac = i0.ɵɵngDeclareFactory({
786
+ minVersion: "12.0.0",
787
+ version: "22.0.0-next.1",
788
+ ngImport: i0,
789
+ type: MatSelect,
790
+ deps: [],
791
+ target: i0.ɵɵFactoryTarget.Component
792
+ });
793
+ static ɵcmp = i0.ɵɵngDeclareComponent({
794
+ minVersion: "17.0.0",
795
+ version: "22.0.0-next.1",
796
+ type: MatSelect,
797
+ isStandalone: true,
798
+ selector: "mat-select",
799
+ inputs: {
800
+ userAriaDescribedBy: ["aria-describedby", "userAriaDescribedBy"],
801
+ panelClass: "panelClass",
802
+ disabled: ["disabled", "disabled", booleanAttribute],
803
+ disableRipple: ["disableRipple", "disableRipple", booleanAttribute],
804
+ tabIndex: ["tabIndex", "tabIndex", value => value == null ? 0 : numberAttribute(value)],
805
+ hideSingleSelectionIndicator: ["hideSingleSelectionIndicator", "hideSingleSelectionIndicator", booleanAttribute],
806
+ placeholder: "placeholder",
807
+ required: ["required", "required", booleanAttribute],
808
+ multiple: ["multiple", "multiple", booleanAttribute],
809
+ disableOptionCentering: ["disableOptionCentering", "disableOptionCentering", booleanAttribute],
810
+ compareWith: "compareWith",
811
+ value: "value",
812
+ ariaLabel: ["aria-label", "ariaLabel"],
813
+ ariaLabelledby: ["aria-labelledby", "ariaLabelledby"],
814
+ errorStateMatcher: "errorStateMatcher",
815
+ typeaheadDebounceInterval: ["typeaheadDebounceInterval", "typeaheadDebounceInterval", numberAttribute],
816
+ sortComparator: "sortComparator",
817
+ id: "id",
818
+ panelWidth: "panelWidth",
819
+ canSelectNullableOptions: ["canSelectNullableOptions", "canSelectNullableOptions", booleanAttribute]
820
+ },
821
+ outputs: {
822
+ openedChange: "openedChange",
823
+ _openedStream: "opened",
824
+ _closedStream: "closed",
825
+ selectionChange: "selectionChange",
826
+ valueChange: "valueChange"
827
+ },
828
+ host: {
829
+ attributes: {
830
+ "role": "combobox",
831
+ "aria-haspopup": "listbox"
832
+ },
833
+ listeners: {
834
+ "keydown": "_handleKeydown($event)",
835
+ "focus": "_onFocus()",
836
+ "blur": "_onBlur()"
837
+ },
838
+ properties: {
839
+ "attr.id": "id",
840
+ "attr.tabindex": "disabled ? -1 : tabIndex",
841
+ "attr.aria-controls": "panelOpen ? id + \"-panel\" : null",
842
+ "attr.aria-expanded": "panelOpen",
843
+ "attr.aria-label": "ariaLabel || null",
844
+ "attr.aria-required": "required.toString()",
845
+ "attr.aria-disabled": "disabled.toString()",
846
+ "attr.aria-invalid": "errorState",
847
+ "attr.aria-activedescendant": "_getAriaActiveDescendant()",
848
+ "class.mat-mdc-select-disabled": "disabled",
849
+ "class.mat-mdc-select-invalid": "errorState",
850
+ "class.mat-mdc-select-required": "required",
851
+ "class.mat-mdc-select-empty": "empty",
852
+ "class.mat-mdc-select-multiple": "multiple",
853
+ "class.mat-select-open": "panelOpen"
854
+ },
855
+ classAttribute: "mat-mdc-select"
856
+ },
857
+ providers: [{
858
+ provide: MatFormFieldControl,
859
+ useExisting: MatSelect
860
+ }, {
861
+ provide: MAT_OPTION_PARENT_COMPONENT,
862
+ useExisting: MatSelect
863
+ }],
864
+ queries: [{
865
+ propertyName: "customTrigger",
866
+ first: true,
867
+ predicate: MAT_SELECT_TRIGGER,
868
+ descendants: true
869
+ }, {
870
+ propertyName: "options",
871
+ predicate: MatOption,
872
+ descendants: true
873
+ }, {
874
+ propertyName: "optionGroups",
875
+ predicate: MAT_OPTGROUP,
876
+ descendants: true
877
+ }],
878
+ viewQueries: [{
879
+ propertyName: "trigger",
880
+ first: true,
881
+ predicate: ["trigger"],
882
+ descendants: true
883
+ }, {
884
+ propertyName: "panel",
885
+ first: true,
886
+ predicate: ["panel"],
887
+ descendants: true
888
+ }, {
889
+ propertyName: "_overlayDir",
890
+ first: true,
891
+ predicate: CdkConnectedOverlay,
892
+ descendants: true
893
+ }],
894
+ exportAs: ["matSelect"],
895
+ usesOnChanges: true,
896
+ ngImport: i0,
897
+ template: "<div\n cdk-overlay-origin\n class=\"mat-mdc-select-trigger\"\n (click)=\"open()\"\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger\n>\n <div class=\"mat-mdc-select-value\" [attr.id]=\"_valueId\">\n @if (empty) {\n <span class=\"mat-mdc-select-placeholder mat-mdc-select-min-line\">{{placeholder}}</span>\n } @else {\n <span class=\"mat-mdc-select-value-text\">\n @if (customTrigger) {\n <ng-content select=\"mat-select-trigger\"></ng-content>\n } @else {\n <span class=\"mat-mdc-select-min-line\">{{triggerValue}}</span>\n }\n </span>\n }\n </div>\n\n <div class=\"mat-mdc-select-arrow-wrapper\">\n <div class=\"mat-mdc-select-arrow\">\n <!-- Use an inline SVG, because it works better than a CSS triangle in high contrast mode. -->\n <svg viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M7 10l5 5 5-5z\" />\n </svg>\n </div>\n </div>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayDisableClose]=\"true\"\n [cdkConnectedOverlayPanelClass]=\"_overlayPanelClass\"\n [cdkConnectedOverlayScrollStrategy]=\"_scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"_preferredOverlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n [cdkConnectedOverlayUsePopover]=\"_popoverLocation\"\n (detach)=\"close()\"\n (backdropClick)=\"close()\"\n (overlayKeydown)=\"_handleOverlayKeydown($event)\">\n <!-- `mat-undefined` is weird, but we were using it internally -->\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open\"\n [class]=\"panelClass\"\n [class.mat-select-panel-animations-enabled]=\"!_animationsDisabled\"\n [class.mat-primary]=\"_parentFormField?.color === 'primary'\"\n [class.mat-accent]=\"_parentFormField?.color === 'accent'\"\n [class.mat-warn]=\"_parentFormField?.color === 'warn'\"\n [class.mat-undefined]=\"!_parentFormField?.color\"\n [attr.id]=\"id + '-panel'\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby()\"\n (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n",
898
+ styles: ["@keyframes _mat-select-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}@keyframes _mat-select-exit{from{opacity:1}to{opacity:0}}.mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color, var(--mat-sys-on-surface));font-family:var(--mat-select-trigger-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-select-trigger-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-select-trigger-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-select-trigger-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-select-trigger-text-tracking, var(--mat-sys-body-large-tracking))}div.mat-mdc-select-panel{box-shadow:var(--mat-select-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-select-disabled{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-select-disabled .mat-mdc-select-placeholder{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-invalid .mat-mdc-select-arrow,.mat-form-field-invalid:not(.mat-form-field-disabled) .mat-mdc-form-field-infix::after{color:var(--mat-select-invalid-arrow-color, var(--mat-sys-error))}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color, var(--mat-sys-on-surface-variant))}.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:var(--mat-select-focused-arrow-color, var(--mat-sys-primary))}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-disabled .mat-mdc-select-arrow{color:var(--mat-select-disabled-arrow-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-select-open .mat-mdc-select-arrow{transform:rotate(180deg)}.mat-form-field-animations-enabled .mat-mdc-select-arrow{transition:transform 80ms linear}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}@media(forced-colors: active){.mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .mat-mdc-select-arrow svg{fill:GrayText}}div.mat-mdc-select-panel{width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:relative;background-color:var(--mat-select-panel-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){div.mat-mdc-select-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}.mat-select-panel-animations-enabled{animation:_mat-select-enter 120ms cubic-bezier(0, 0, 0.2, 1)}.mat-select-panel-animations-enabled.mat-select-panel-exit{animation:_mat-select-exit 100ms linear}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1);color:var(--mat-select-placeholder-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-form-field:not(.mat-form-field-animations-enabled) .mat-mdc-select-placeholder,._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-mdc-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{cursor:pointer}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:\" \";white-space:pre;width:1px;display:inline-block;visibility:hidden}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:var(--mat-select-arrow-transform, translateY(-8px))}\n"],
899
+ dependencies: [{
900
+ kind: "directive",
901
+ type: CdkOverlayOrigin,
902
+ selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]",
903
+ exportAs: ["cdkOverlayOrigin"]
904
+ }, {
905
+ kind: "directive",
906
+ type: CdkConnectedOverlay,
907
+ selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]",
908
+ inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"],
909
+ outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"],
910
+ exportAs: ["cdkConnectedOverlay"]
911
+ }],
912
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
913
+ encapsulation: i0.ViewEncapsulation.None
914
+ });
915
+ }
916
+ i0.ɵɵngDeclareClassMetadata({
917
+ minVersion: "12.0.0",
918
+ version: "22.0.0-next.1",
919
+ ngImport: i0,
920
+ type: MatSelect,
921
+ decorators: [{
922
+ type: Component,
923
+ args: [{
924
+ selector: 'mat-select',
925
+ exportAs: 'matSelect',
926
+ encapsulation: ViewEncapsulation.None,
927
+ changeDetection: ChangeDetectionStrategy.OnPush,
928
+ host: {
929
+ 'role': 'combobox',
930
+ 'aria-haspopup': 'listbox',
931
+ 'class': 'mat-mdc-select',
932
+ '[attr.id]': 'id',
933
+ '[attr.tabindex]': 'disabled ? -1 : tabIndex',
934
+ '[attr.aria-controls]': 'panelOpen ? id + "-panel" : null',
935
+ '[attr.aria-expanded]': 'panelOpen',
936
+ '[attr.aria-label]': 'ariaLabel || null',
937
+ '[attr.aria-required]': 'required.toString()',
938
+ '[attr.aria-disabled]': 'disabled.toString()',
939
+ '[attr.aria-invalid]': 'errorState',
940
+ '[attr.aria-activedescendant]': '_getAriaActiveDescendant()',
941
+ '[class.mat-mdc-select-disabled]': 'disabled',
942
+ '[class.mat-mdc-select-invalid]': 'errorState',
943
+ '[class.mat-mdc-select-required]': 'required',
944
+ '[class.mat-mdc-select-empty]': 'empty',
945
+ '[class.mat-mdc-select-multiple]': 'multiple',
946
+ '[class.mat-select-open]': 'panelOpen',
947
+ '(keydown)': '_handleKeydown($event)',
948
+ '(focus)': '_onFocus()',
949
+ '(blur)': '_onBlur()'
950
+ },
951
+ providers: [{
952
+ provide: MatFormFieldControl,
953
+ useExisting: MatSelect
954
+ }, {
955
+ provide: MAT_OPTION_PARENT_COMPONENT,
956
+ useExisting: MatSelect
957
+ }],
958
+ imports: [CdkOverlayOrigin, CdkConnectedOverlay],
959
+ template: "<div\n cdk-overlay-origin\n class=\"mat-mdc-select-trigger\"\n (click)=\"open()\"\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger\n>\n <div class=\"mat-mdc-select-value\" [attr.id]=\"_valueId\">\n @if (empty) {\n <span class=\"mat-mdc-select-placeholder mat-mdc-select-min-line\">{{placeholder}}</span>\n } @else {\n <span class=\"mat-mdc-select-value-text\">\n @if (customTrigger) {\n <ng-content select=\"mat-select-trigger\"></ng-content>\n } @else {\n <span class=\"mat-mdc-select-min-line\">{{triggerValue}}</span>\n }\n </span>\n }\n </div>\n\n <div class=\"mat-mdc-select-arrow-wrapper\">\n <div class=\"mat-mdc-select-arrow\">\n <!-- Use an inline SVG, because it works better than a CSS triangle in high contrast mode. -->\n <svg viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M7 10l5 5 5-5z\" />\n </svg>\n </div>\n </div>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayDisableClose]=\"true\"\n [cdkConnectedOverlayPanelClass]=\"_overlayPanelClass\"\n [cdkConnectedOverlayScrollStrategy]=\"_scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"_preferredOverlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n [cdkConnectedOverlayUsePopover]=\"_popoverLocation\"\n (detach)=\"close()\"\n (backdropClick)=\"close()\"\n (overlayKeydown)=\"_handleOverlayKeydown($event)\">\n <!-- `mat-undefined` is weird, but we were using it internally -->\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open\"\n [class]=\"panelClass\"\n [class.mat-select-panel-animations-enabled]=\"!_animationsDisabled\"\n [class.mat-primary]=\"_parentFormField?.color === 'primary'\"\n [class.mat-accent]=\"_parentFormField?.color === 'accent'\"\n [class.mat-warn]=\"_parentFormField?.color === 'warn'\"\n [class.mat-undefined]=\"!_parentFormField?.color\"\n [attr.id]=\"id + '-panel'\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby()\"\n (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n",
960
+ styles: ["@keyframes _mat-select-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}@keyframes _mat-select-exit{from{opacity:1}to{opacity:0}}.mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color, var(--mat-sys-on-surface));font-family:var(--mat-select-trigger-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-select-trigger-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-select-trigger-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-select-trigger-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-select-trigger-text-tracking, var(--mat-sys-body-large-tracking))}div.mat-mdc-select-panel{box-shadow:var(--mat-select-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-select-disabled{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-select-disabled .mat-mdc-select-placeholder{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-invalid .mat-mdc-select-arrow,.mat-form-field-invalid:not(.mat-form-field-disabled) .mat-mdc-form-field-infix::after{color:var(--mat-select-invalid-arrow-color, var(--mat-sys-error))}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color, var(--mat-sys-on-surface-variant))}.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:var(--mat-select-focused-arrow-color, var(--mat-sys-primary))}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-disabled .mat-mdc-select-arrow{color:var(--mat-select-disabled-arrow-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-select-open .mat-mdc-select-arrow{transform:rotate(180deg)}.mat-form-field-animations-enabled .mat-mdc-select-arrow{transition:transform 80ms linear}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}@media(forced-colors: active){.mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .mat-mdc-select-arrow svg{fill:GrayText}}div.mat-mdc-select-panel{width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:relative;background-color:var(--mat-select-panel-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){div.mat-mdc-select-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}.mat-select-panel-animations-enabled{animation:_mat-select-enter 120ms cubic-bezier(0, 0, 0.2, 1)}.mat-select-panel-animations-enabled.mat-select-panel-exit{animation:_mat-select-exit 100ms linear}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1);color:var(--mat-select-placeholder-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-form-field:not(.mat-form-field-animations-enabled) .mat-mdc-select-placeholder,._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-mdc-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{cursor:pointer}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:\" \";white-space:pre;width:1px;display:inline-block;visibility:hidden}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:var(--mat-select-arrow-transform, translateY(-8px))}\n"]
961
+ }]
962
+ }],
963
+ ctorParameters: () => [],
964
+ propDecorators: {
965
+ options: [{
966
+ type: ContentChildren,
967
+ args: [MatOption, {
968
+ descendants: true
969
+ }]
970
+ }],
971
+ optionGroups: [{
972
+ type: ContentChildren,
973
+ args: [MAT_OPTGROUP, {
974
+ descendants: true
975
+ }]
976
+ }],
977
+ customTrigger: [{
978
+ type: ContentChild,
979
+ args: [MAT_SELECT_TRIGGER]
980
+ }],
981
+ userAriaDescribedBy: [{
982
+ type: Input,
983
+ args: ['aria-describedby']
984
+ }],
985
+ trigger: [{
986
+ type: ViewChild,
987
+ args: ['trigger']
988
+ }],
989
+ panel: [{
990
+ type: ViewChild,
991
+ args: ['panel']
992
+ }],
993
+ _overlayDir: [{
994
+ type: ViewChild,
995
+ args: [CdkConnectedOverlay]
996
+ }],
997
+ panelClass: [{
998
+ type: Input
999
+ }],
1000
+ disabled: [{
1001
+ type: Input,
1002
+ args: [{
1003
+ transform: booleanAttribute
1004
+ }]
1005
+ }],
1006
+ disableRipple: [{
1007
+ type: Input,
1008
+ args: [{
1009
+ transform: booleanAttribute
1010
+ }]
1011
+ }],
1012
+ tabIndex: [{
1013
+ type: Input,
1014
+ args: [{
1015
+ transform: value => value == null ? 0 : numberAttribute(value)
1016
+ }]
1017
+ }],
1018
+ hideSingleSelectionIndicator: [{
1019
+ type: Input,
1020
+ args: [{
1021
+ transform: booleanAttribute
1022
+ }]
1023
+ }],
1024
+ placeholder: [{
1025
+ type: Input
1026
+ }],
1027
+ required: [{
1028
+ type: Input,
1029
+ args: [{
1030
+ transform: booleanAttribute
1031
+ }]
1032
+ }],
1033
+ multiple: [{
1034
+ type: Input,
1035
+ args: [{
1036
+ transform: booleanAttribute
1037
+ }]
1038
+ }],
1039
+ disableOptionCentering: [{
1040
+ type: Input,
1041
+ args: [{
1042
+ transform: booleanAttribute
1043
+ }]
1044
+ }],
1045
+ compareWith: [{
1046
+ type: Input
1047
+ }],
1048
+ value: [{
1049
+ type: Input
1050
+ }],
1051
+ ariaLabel: [{
1052
+ type: Input,
1053
+ args: ['aria-label']
1054
+ }],
1055
+ ariaLabelledby: [{
1056
+ type: Input,
1057
+ args: ['aria-labelledby']
1058
+ }],
1059
+ errorStateMatcher: [{
1060
+ type: Input
1061
+ }],
1062
+ typeaheadDebounceInterval: [{
1063
+ type: Input,
1064
+ args: [{
1065
+ transform: numberAttribute
1066
+ }]
1067
+ }],
1068
+ sortComparator: [{
1069
+ type: Input
1070
+ }],
1071
+ id: [{
1072
+ type: Input
1073
+ }],
1074
+ panelWidth: [{
1075
+ type: Input
1076
+ }],
1077
+ canSelectNullableOptions: [{
1078
+ type: Input,
1079
+ args: [{
1080
+ transform: booleanAttribute
1081
+ }]
1082
+ }],
1083
+ openedChange: [{
1084
+ type: Output
1085
+ }],
1086
+ _openedStream: [{
1087
+ type: Output,
1088
+ args: ['opened']
1089
+ }],
1090
+ _closedStream: [{
1091
+ type: Output,
1092
+ args: ['closed']
1093
+ }],
1094
+ selectionChange: [{
1095
+ type: Output
1096
+ }],
1097
+ valueChange: [{
1098
+ type: Output
1099
+ }]
1100
+ }
1101
+ });
1102
+ class MatSelectTrigger {
1103
+ static ɵfac = i0.ɵɵngDeclareFactory({
1104
+ minVersion: "12.0.0",
1105
+ version: "22.0.0-next.1",
1106
+ ngImport: i0,
1107
+ type: MatSelectTrigger,
1108
+ deps: [],
1109
+ target: i0.ɵɵFactoryTarget.Directive
1110
+ });
1111
+ static ɵdir = i0.ɵɵngDeclareDirective({
1112
+ minVersion: "14.0.0",
1113
+ version: "22.0.0-next.1",
1114
+ type: MatSelectTrigger,
1115
+ isStandalone: true,
1116
+ selector: "mat-select-trigger",
1117
+ providers: [{
1118
+ provide: MAT_SELECT_TRIGGER,
1119
+ useExisting: MatSelectTrigger
1120
+ }],
1121
+ ngImport: i0
1122
+ });
1123
+ }
1124
+ i0.ɵɵngDeclareClassMetadata({
1125
+ minVersion: "12.0.0",
1126
+ version: "22.0.0-next.1",
1127
+ ngImport: i0,
1128
+ type: MatSelectTrigger,
1129
+ decorators: [{
1130
+ type: Directive,
1131
+ args: [{
1132
+ selector: 'mat-select-trigger',
1133
+ providers: [{
1134
+ provide: MAT_SELECT_TRIGGER,
1135
+ useExisting: MatSelectTrigger
1136
+ }]
1137
+ }]
1138
+ }]
1139
+ });
1140
+
1141
+ class MatSelectModule {
1142
+ static ɵfac = i0.ɵɵngDeclareFactory({
1143
+ minVersion: "12.0.0",
1144
+ version: "22.0.0-next.1",
1145
+ ngImport: i0,
1146
+ type: MatSelectModule,
1147
+ deps: [],
1148
+ target: i0.ɵɵFactoryTarget.NgModule
1149
+ });
1150
+ static ɵmod = i0.ɵɵngDeclareNgModule({
1151
+ minVersion: "14.0.0",
1152
+ version: "22.0.0-next.1",
1153
+ ngImport: i0,
1154
+ type: MatSelectModule,
1155
+ imports: [OverlayModule, MatOptionModule, MatSelect, MatSelectTrigger],
1156
+ exports: [BidiModule, CdkScrollableModule, MatFormFieldModule, MatSelect, MatSelectTrigger, MatOptionModule]
1157
+ });
1158
+ static ɵinj = i0.ɵɵngDeclareInjector({
1159
+ minVersion: "12.0.0",
1160
+ version: "22.0.0-next.1",
1161
+ ngImport: i0,
1162
+ type: MatSelectModule,
1163
+ imports: [OverlayModule, MatOptionModule, BidiModule, CdkScrollableModule, MatFormFieldModule, MatOptionModule]
1164
+ });
1165
+ }
1166
+ i0.ɵɵngDeclareClassMetadata({
1167
+ minVersion: "12.0.0",
1168
+ version: "22.0.0-next.1",
1169
+ ngImport: i0,
1170
+ type: MatSelectModule,
1171
+ decorators: [{
1172
+ type: NgModule,
1173
+ args: [{
1174
+ imports: [OverlayModule, MatOptionModule, MatSelect, MatSelectTrigger],
1175
+ exports: [BidiModule, CdkScrollableModule, MatFormFieldModule, MatSelect, MatSelectTrigger, MatOptionModule]
1176
+ }]
1177
+ }]
1178
+ });
1179
+
1180
+ export { MAT_SELECT_CONFIG, MAT_SELECT_SCROLL_STRATEGY, MAT_SELECT_TRIGGER, MatOption, MatSelect, MatSelectChange, MatSelectModule, MatSelectTrigger };
1181
+ //# sourceMappingURL=select.mjs.map