@material/web 1.0.0-pre.8 → 1.0.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 (1624) hide show
  1. package/README.md +14 -75
  2. package/all.d.ts +95 -0
  3. package/all.js +104 -0
  4. package/all.js.map +1 -0
  5. package/button/_elevated-button.scss +1 -1
  6. package/button/_filled-button.scss +1 -1
  7. package/button/_filled-tonal-button.scss +6 -0
  8. package/button/_outlined-button.scss +1 -1
  9. package/button/_text-button.scss +1 -1
  10. package/button/elevated-button.d.ts +1 -1
  11. package/button/elevated-button.js +5 -6
  12. package/button/elevated-button.js.map +1 -1
  13. package/button/filled-button.d.ts +1 -1
  14. package/button/filled-button.js +5 -6
  15. package/button/filled-button.js.map +1 -1
  16. package/button/filled-tonal-button.d.ts +35 -0
  17. package/button/filled-tonal-button.js +39 -0
  18. package/button/filled-tonal-button.js.map +1 -0
  19. package/button/harness.d.ts +1 -1
  20. package/button/harness.js +1 -1
  21. package/button/harness.js.map +1 -1
  22. package/button/internal/_elevated-button.scss +62 -0
  23. package/button/internal/_elevation.scss +69 -0
  24. package/button/internal/_filled-button.scss +61 -0
  25. package/button/internal/_filled-tonal-button.scss +61 -0
  26. package/button/internal/_icon.scss +39 -0
  27. package/button/internal/_outlined-button.scss +110 -0
  28. package/button/internal/_shared.scss +169 -0
  29. package/button/internal/_text-button.scss +65 -0
  30. package/button/internal/_touch-target.scss +19 -0
  31. package/button/internal/button.d.ts +68 -0
  32. package/button/internal/button.js +159 -0
  33. package/button/internal/button.js.map +1 -0
  34. package/button/internal/elevated-button.d.ts +13 -0
  35. package/button/internal/elevated-button.js +17 -0
  36. package/button/internal/elevated-button.js.map +1 -0
  37. package/button/internal/elevated-styles.css.js +9 -0
  38. package/button/internal/elevated-styles.css.js.map +1 -0
  39. package/button/internal/filled-button.d.ts +13 -0
  40. package/button/internal/filled-button.js +17 -0
  41. package/button/internal/filled-button.js.map +1 -0
  42. package/button/internal/filled-styles.css.js +9 -0
  43. package/button/internal/filled-styles.css.js.map +1 -0
  44. package/button/internal/filled-tonal-button.d.ts +13 -0
  45. package/button/internal/filled-tonal-button.js +17 -0
  46. package/button/internal/filled-tonal-button.js.map +1 -0
  47. package/button/internal/filled-tonal-styles.css.js +9 -0
  48. package/button/internal/filled-tonal-styles.css.js.map +1 -0
  49. package/button/internal/filled-tonal-styles.scss +10 -0
  50. package/button/internal/outlined-button.d.ts +12 -0
  51. package/button/internal/outlined-button.js +16 -0
  52. package/button/internal/outlined-button.js.map +1 -0
  53. package/button/internal/outlined-styles.css.js +9 -0
  54. package/button/internal/outlined-styles.css.js.map +1 -0
  55. package/button/internal/shared-elevation-styles.css.js +9 -0
  56. package/button/internal/shared-elevation-styles.css.js.map +1 -0
  57. package/button/internal/shared-styles.css.js +9 -0
  58. package/button/internal/shared-styles.css.js.map +1 -0
  59. package/button/internal/text-button.d.ts +11 -0
  60. package/button/internal/text-button.js +12 -0
  61. package/button/internal/text-button.js.map +1 -0
  62. package/button/internal/text-styles.css.js +9 -0
  63. package/button/internal/text-styles.css.js.map +1 -0
  64. package/button/outlined-button.d.ts +1 -1
  65. package/button/outlined-button.js +4 -5
  66. package/button/outlined-button.js.map +1 -1
  67. package/button/text-button.d.ts +1 -1
  68. package/button/text-button.js +4 -5
  69. package/button/text-button.js.map +1 -1
  70. package/checkbox/_checkbox.scss +1 -1
  71. package/checkbox/checkbox.d.ts +1 -1
  72. package/checkbox/checkbox.js +4 -6
  73. package/checkbox/checkbox.js.map +1 -1
  74. package/checkbox/harness.d.ts +1 -1
  75. package/checkbox/harness.js.map +1 -1
  76. package/checkbox/internal/_checkbox.scss +416 -0
  77. package/checkbox/internal/checkbox-styles.css.js +9 -0
  78. package/checkbox/internal/checkbox-styles.css.js.map +1 -0
  79. package/checkbox/internal/checkbox.d.ts +138 -0
  80. package/checkbox/internal/checkbox.js +307 -0
  81. package/checkbox/internal/checkbox.js.map +1 -0
  82. package/chips/_assist-chip.scss +1 -1
  83. package/chips/_filter-chip.scss +1 -1
  84. package/chips/_input-chip.scss +6 -0
  85. package/chips/_suggestion-chip.scss +1 -1
  86. package/chips/assist-chip.d.ts +1 -1
  87. package/chips/assist-chip.js +5 -6
  88. package/chips/assist-chip.js.map +1 -1
  89. package/chips/chip-set.d.ts +20 -0
  90. package/chips/chip-set.js +22 -0
  91. package/chips/chip-set.js.map +1 -0
  92. package/chips/filter-chip.d.ts +1 -1
  93. package/chips/filter-chip.js +10 -7
  94. package/chips/filter-chip.js.map +1 -1
  95. package/chips/harness.d.ts +14 -0
  96. package/chips/harness.js +37 -0
  97. package/chips/harness.js.map +1 -0
  98. package/chips/input-chip.d.ts +20 -0
  99. package/chips/input-chip.js +25 -0
  100. package/chips/input-chip.js.map +1 -0
  101. package/chips/internal/_assist-chip.scss +67 -0
  102. package/chips/internal/_chip-set.scss +12 -0
  103. package/chips/internal/_elevated.scss +70 -0
  104. package/chips/internal/_filter-chip.scss +80 -0
  105. package/chips/internal/_input-chip.scss +107 -0
  106. package/chips/internal/_selectable.scss +78 -0
  107. package/chips/internal/_shared.scss +216 -0
  108. package/chips/internal/_suggestion-chip.scss +67 -0
  109. package/chips/internal/_trailing-icon.scss +80 -0
  110. package/chips/internal/assist-chip.d.ts +24 -0
  111. package/chips/internal/assist-chip.js +74 -0
  112. package/chips/internal/assist-chip.js.map +1 -0
  113. package/chips/internal/assist-styles.css.js +9 -0
  114. package/chips/internal/assist-styles.css.js.map +1 -0
  115. package/chips/internal/chip-set-styles.css.js +9 -0
  116. package/chips/internal/chip-set-styles.css.js.map +1 -0
  117. package/chips/internal/chip-set-styles.scss +10 -0
  118. package/chips/internal/chip-set.d.ts +19 -0
  119. package/chips/internal/chip-set.js +130 -0
  120. package/chips/internal/chip-set.js.map +1 -0
  121. package/chips/internal/chip.d.ts +56 -0
  122. package/chips/internal/chip.js +111 -0
  123. package/chips/internal/chip.js.map +1 -0
  124. package/chips/internal/elevated-styles.css.js +9 -0
  125. package/chips/internal/elevated-styles.css.js.map +1 -0
  126. package/chips/internal/filter-chip.d.ts +29 -0
  127. package/chips/internal/filter-chip.js +98 -0
  128. package/chips/internal/filter-chip.js.map +1 -0
  129. package/chips/internal/filter-styles.css.js +9 -0
  130. package/chips/internal/filter-styles.css.js.map +1 -0
  131. package/chips/internal/input-chip.d.ts +29 -0
  132. package/chips/internal/input-chip.js +110 -0
  133. package/chips/internal/input-chip.js.map +1 -0
  134. package/chips/internal/input-styles.css.js +9 -0
  135. package/chips/internal/input-styles.css.js.map +1 -0
  136. package/chips/internal/input-styles.scss +10 -0
  137. package/chips/internal/multi-action-chip.d.ts +23 -0
  138. package/chips/internal/multi-action-chip.js +95 -0
  139. package/chips/internal/multi-action-chip.js.map +1 -0
  140. package/chips/internal/selectable-styles.css.js +9 -0
  141. package/chips/internal/selectable-styles.css.js.map +1 -0
  142. package/chips/internal/selectable-styles.scss +10 -0
  143. package/chips/internal/shared-styles.css.js +9 -0
  144. package/chips/internal/shared-styles.css.js.map +1 -0
  145. package/chips/internal/suggestion-styles.css.js +9 -0
  146. package/chips/internal/suggestion-styles.css.js.map +1 -0
  147. package/chips/internal/trailing-icon-styles.css.js +9 -0
  148. package/chips/internal/trailing-icon-styles.css.js.map +1 -0
  149. package/chips/internal/trailing-icon-styles.scss +10 -0
  150. package/chips/internal/trailing-icons.d.ts +16 -0
  151. package/chips/internal/trailing-icons.js +38 -0
  152. package/chips/internal/trailing-icons.js.map +1 -0
  153. package/chips/suggestion-chip.d.ts +1 -1
  154. package/chips/suggestion-chip.js +5 -6
  155. package/chips/suggestion-chip.js.map +1 -1
  156. package/color/_color.scss +197 -0
  157. package/common.d.ts +57 -0
  158. package/common.js +66 -0
  159. package/common.js.map +1 -0
  160. package/dialog/_dialog.scss +1 -1
  161. package/dialog/dialog.d.ts +1 -1
  162. package/dialog/dialog.js +3 -4
  163. package/dialog/dialog.js.map +1 -1
  164. package/dialog/harness.d.ts +2 -7
  165. package/dialog/harness.js +2 -43
  166. package/dialog/harness.js.map +1 -1
  167. package/dialog/internal/_dialog.scss +278 -0
  168. package/dialog/internal/animations.d.ts +47 -0
  169. package/dialog/internal/animations.js +117 -0
  170. package/dialog/internal/animations.js.map +1 -0
  171. package/dialog/internal/dialog-styles.css.js +9 -0
  172. package/dialog/internal/dialog-styles.css.js.map +1 -0
  173. package/dialog/internal/dialog.d.ts +110 -0
  174. package/dialog/internal/dialog.js +371 -0
  175. package/dialog/internal/dialog.js.map +1 -0
  176. package/divider/_divider.scss +1 -1
  177. package/divider/divider.d.ts +1 -1
  178. package/divider/divider.js +3 -4
  179. package/divider/divider.js.map +1 -1
  180. package/divider/internal/_divider.scss +64 -0
  181. package/docs/theming/README.md +129 -0
  182. package/elevation/_elevation.scss +1 -1
  183. package/elevation/elevation.d.ts +1 -1
  184. package/elevation/elevation.js +3 -4
  185. package/elevation/elevation.js.map +1 -1
  186. package/elevation/internal/_elevation.scss +172 -0
  187. package/elevation/internal/elevation-styles.css.js +9 -0
  188. package/elevation/internal/elevation-styles.css.js.map +1 -0
  189. package/elevation/internal/elevation.d.ts +13 -0
  190. package/elevation/internal/elevation.js +21 -0
  191. package/elevation/internal/elevation.js.map +1 -0
  192. package/fab/_fab.scss +2 -2
  193. package/fab/branded-fab.d.ts +3 -3
  194. package/fab/branded-fab.js +5 -6
  195. package/fab/branded-fab.js.map +1 -1
  196. package/fab/fab.d.ts +3 -3
  197. package/fab/fab.js +5 -6
  198. package/fab/fab.js.map +1 -1
  199. package/fab/harness.d.ts +1 -1
  200. package/fab/harness.js.map +1 -1
  201. package/fab/internal/_fab.scss +261 -0
  202. package/fab/internal/_shared.scss +245 -0
  203. package/fab/internal/fab-branded-styles.css.js +9 -0
  204. package/fab/internal/fab-branded-styles.css.js.map +1 -0
  205. package/fab/internal/fab-styles.css.js +9 -0
  206. package/fab/internal/fab-styles.css.js.map +1 -0
  207. package/fab/internal/fab.d.ts +25 -0
  208. package/fab/internal/fab.js.map +1 -0
  209. package/fab/internal/forced-colors-styles.css.js +9 -0
  210. package/fab/internal/forced-colors-styles.css.js.map +1 -0
  211. package/fab/internal/forced-colors-styles.scss +29 -0
  212. package/fab/internal/shared-styles.css.js +9 -0
  213. package/fab/internal/shared-styles.css.js.map +1 -0
  214. package/fab/internal/shared.d.ts +42 -0
  215. package/fab/internal/shared.js +94 -0
  216. package/fab/internal/shared.js.map +1 -0
  217. package/field/_filled-field.scss +1 -1
  218. package/field/_outlined-field.scss +1 -1
  219. package/field/filled-field.d.ts +1 -1
  220. package/field/filled-field.js +4 -5
  221. package/field/filled-field.js.map +1 -1
  222. package/field/harness.d.ts +1 -1
  223. package/field/harness.js.map +1 -1
  224. package/field/internal/_content.scss +199 -0
  225. package/field/internal/_filled-field.scss +215 -0
  226. package/field/internal/_label.scss +94 -0
  227. package/field/internal/_outlined-field.scss +356 -0
  228. package/field/internal/_shared.scss +78 -0
  229. package/field/internal/_supporting-text.scss +50 -0
  230. package/field/internal/field.d.ts +65 -0
  231. package/field/internal/field.js +337 -0
  232. package/field/internal/field.js.map +1 -0
  233. package/field/internal/filled-styles.css.js +9 -0
  234. package/field/internal/filled-styles.css.js.map +1 -0
  235. package/field/internal/outlined-field.d.ts +12 -0
  236. package/field/internal/outlined-field.js.map +1 -0
  237. package/field/internal/outlined-styles.css.js +9 -0
  238. package/field/internal/outlined-styles.css.js.map +1 -0
  239. package/field/internal/shared-styles.css.js +9 -0
  240. package/field/internal/shared-styles.css.js.map +1 -0
  241. package/field/outlined-field.d.ts +1 -1
  242. package/field/outlined-field.js +4 -5
  243. package/field/outlined-field.js.map +1 -1
  244. package/focus/_focus-ring.scss +1 -1
  245. package/focus/internal/_focus-ring.scss +139 -0
  246. package/focus/internal/focus-ring-styles.css.js +9 -0
  247. package/focus/internal/focus-ring-styles.css.js.map +1 -0
  248. package/focus/internal/focus-ring.d.ts +37 -0
  249. package/focus/internal/focus-ring.js +100 -0
  250. package/focus/internal/focus-ring.js.map +1 -0
  251. package/focus/md-focus-ring.d.ts +20 -0
  252. package/focus/md-focus-ring.js +22 -0
  253. package/focus/md-focus-ring.js.map +1 -0
  254. package/icon/_icon.scss +1 -1
  255. package/icon/icon.d.ts +2 -1
  256. package/icon/icon.js +4 -4
  257. package/icon/icon.js.map +1 -1
  258. package/icon/internal/_icon.scss +66 -0
  259. package/icon/internal/icon-styles.css.js +9 -0
  260. package/icon/internal/icon-styles.css.js.map +1 -0
  261. package/icon/internal/icon.d.ts +13 -0
  262. package/icon/internal/icon.js +28 -0
  263. package/icon/internal/icon.js.map +1 -0
  264. package/iconbutton/_filled-icon-button.scss +1 -1
  265. package/iconbutton/_filled-tonal-icon-button.scss +1 -1
  266. package/iconbutton/_icon-button.scss +6 -0
  267. package/iconbutton/_outlined-icon-button.scss +1 -1
  268. package/iconbutton/filled-icon-button.d.ts +5 -5
  269. package/iconbutton/filled-icon-button.js +6 -7
  270. package/iconbutton/filled-icon-button.js.map +1 -1
  271. package/iconbutton/filled-tonal-icon-button.d.ts +5 -5
  272. package/iconbutton/filled-tonal-icon-button.js +6 -7
  273. package/iconbutton/filled-tonal-icon-button.js.map +1 -1
  274. package/iconbutton/harness.d.ts +1 -1
  275. package/iconbutton/harness.js.map +1 -1
  276. package/iconbutton/icon-button.d.ts +34 -0
  277. package/iconbutton/icon-button.js +38 -0
  278. package/iconbutton/icon-button.js.map +1 -0
  279. package/iconbutton/internal/_filled-icon-button.scss +171 -0
  280. package/iconbutton/internal/_filled-tonal-icon-button.scss +173 -0
  281. package/iconbutton/internal/_icon-button.scss +131 -0
  282. package/iconbutton/internal/_outlined-icon-button.scss +182 -0
  283. package/iconbutton/internal/_shared.scss +116 -0
  284. package/iconbutton/internal/filled-styles.css.js +9 -0
  285. package/iconbutton/internal/filled-styles.css.js.map +1 -0
  286. package/iconbutton/internal/filled-tonal-styles.css.js +9 -0
  287. package/iconbutton/internal/filled-tonal-styles.css.js.map +1 -0
  288. package/iconbutton/internal/icon-button.d.ts +81 -0
  289. package/iconbutton/internal/icon-button.js +207 -0
  290. package/iconbutton/internal/icon-button.js.map +1 -0
  291. package/iconbutton/internal/outlined-styles.css.js +9 -0
  292. package/iconbutton/internal/outlined-styles.css.js.map +1 -0
  293. package/iconbutton/internal/shared-styles.css.js +9 -0
  294. package/iconbutton/internal/shared-styles.css.js.map +1 -0
  295. package/iconbutton/internal/standard-styles.css.js +9 -0
  296. package/iconbutton/internal/standard-styles.css.js.map +1 -0
  297. package/iconbutton/internal/standard-styles.scss +10 -0
  298. package/iconbutton/outlined-icon-button.d.ts +4 -4
  299. package/iconbutton/outlined-icon-button.js +5 -6
  300. package/iconbutton/outlined-icon-button.js.map +1 -1
  301. package/internal/README.md +6 -0
  302. package/internal/aria/aria.d.ts +154 -0
  303. package/internal/aria/aria.js +239 -0
  304. package/internal/aria/aria.js.map +1 -0
  305. package/internal/aria/delegate.d.ts +37 -0
  306. package/internal/aria/delegate.js +53 -0
  307. package/internal/aria/delegate.js.map +1 -0
  308. package/internal/controller/attachable-controller.d.ts +114 -0
  309. package/internal/controller/attachable-controller.js +123 -0
  310. package/internal/controller/attachable-controller.js.map +1 -0
  311. package/internal/controller/element-internals.d.ts +35 -0
  312. package/internal/controller/element-internals.js +24 -0
  313. package/internal/controller/element-internals.js.map +1 -0
  314. package/internal/controller/form-submitter.d.ts +72 -0
  315. package/internal/controller/form-submitter.js +71 -0
  316. package/internal/controller/form-submitter.js.map +1 -0
  317. package/internal/motion/animation.d.ts +80 -0
  318. package/internal/motion/animation.js +101 -0
  319. package/internal/motion/animation.js.map +1 -0
  320. package/internal/sass/_var.scss +237 -0
  321. package/labs/README.md +6 -0
  322. package/labs/badge/_badge.scss +6 -0
  323. package/labs/badge/badge.d.ts +18 -0
  324. package/labs/badge/badge.js +20 -0
  325. package/labs/badge/badge.js.map +1 -0
  326. package/labs/badge/internal/_badge.scss +76 -0
  327. package/labs/badge/internal/badge-styles.css.js +9 -0
  328. package/labs/badge/internal/badge-styles.css.js.map +1 -0
  329. package/labs/item/internal/_item.scss +99 -0
  330. package/labs/item/internal/item-styles.css.js +9 -0
  331. package/labs/item/internal/item-styles.css.js.map +1 -0
  332. package/labs/item/internal/item-styles.scss +10 -0
  333. package/labs/item/internal/item.d.ts +22 -0
  334. package/labs/item/internal/item.js +78 -0
  335. package/labs/item/internal/item.js.map +1 -0
  336. package/labs/item/item.d.ts +70 -0
  337. package/labs/item/item.js +72 -0
  338. package/labs/item/item.js.map +1 -0
  339. package/labs/navigationbar/_navigation-bar.scss +6 -0
  340. package/labs/navigationbar/harness.d.ts +19 -0
  341. package/labs/navigationbar/harness.js +29 -0
  342. package/labs/navigationbar/harness.js.map +1 -0
  343. package/labs/navigationbar/internal/_navigation-bar.scss +70 -0
  344. package/labs/navigationbar/internal/constants.d.ts +17 -0
  345. package/labs/navigationbar/internal/constants.js.map +1 -0
  346. package/labs/navigationbar/internal/navigation-bar-styles.css.js +9 -0
  347. package/labs/navigationbar/internal/navigation-bar-styles.css.js.map +1 -0
  348. package/labs/navigationbar/internal/navigation-bar.d.ts +27 -0
  349. package/labs/navigationbar/internal/navigation-bar.js +138 -0
  350. package/labs/navigationbar/internal/navigation-bar.js.map +1 -0
  351. package/labs/navigationbar/internal/state.d.ts +23 -0
  352. package/labs/navigationbar/internal/state.js.map +1 -0
  353. package/labs/navigationbar/navigation-bar.d.ts +18 -0
  354. package/labs/navigationbar/navigation-bar.js +20 -0
  355. package/labs/navigationbar/navigation-bar.js.map +1 -0
  356. package/labs/navigationdrawer/_navigation-drawer-modal.scss +6 -0
  357. package/labs/navigationdrawer/_navigation-drawer.scss +6 -0
  358. package/labs/navigationdrawer/internal/_navigation-drawer-modal.scss +110 -0
  359. package/labs/navigationdrawer/internal/_navigation-drawer.scss +97 -0
  360. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.js +9 -0
  361. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.js.map +1 -0
  362. package/labs/navigationdrawer/internal/navigation-drawer-modal.js +81 -0
  363. package/labs/navigationdrawer/internal/navigation-drawer-modal.js.map +1 -0
  364. package/labs/navigationdrawer/internal/navigation-drawer-styles.css.js +9 -0
  365. package/labs/navigationdrawer/internal/navigation-drawer-styles.css.js.map +1 -0
  366. package/labs/navigationdrawer/internal/navigation-drawer.d.ts +17 -0
  367. package/labs/navigationdrawer/internal/navigation-drawer.js +64 -0
  368. package/labs/navigationdrawer/internal/navigation-drawer.js.map +1 -0
  369. package/labs/navigationdrawer/navigation-drawer-modal.d.ts +18 -0
  370. package/labs/navigationdrawer/navigation-drawer-modal.js +21 -0
  371. package/labs/navigationdrawer/navigation-drawer-modal.js.map +1 -0
  372. package/labs/navigationdrawer/navigation-drawer.d.ts +18 -0
  373. package/labs/navigationdrawer/navigation-drawer.js +21 -0
  374. package/labs/navigationdrawer/navigation-drawer.js.map +1 -0
  375. package/labs/navigationtab/_navigation-tab.scss +6 -0
  376. package/labs/navigationtab/harness.d.ts +13 -0
  377. package/labs/navigationtab/harness.js +16 -0
  378. package/labs/navigationtab/harness.js.map +1 -0
  379. package/labs/navigationtab/internal/_navigation-tab.scss +262 -0
  380. package/labs/navigationtab/internal/navigation-tab-styles.css.js +9 -0
  381. package/labs/navigationtab/internal/navigation-tab-styles.css.js.map +1 -0
  382. package/labs/navigationtab/internal/navigation-tab.d.ts +30 -0
  383. package/labs/navigationtab/internal/navigation-tab.js +117 -0
  384. package/labs/navigationtab/internal/navigation-tab.js.map +1 -0
  385. package/labs/navigationtab/navigation-tab.d.ts +18 -0
  386. package/labs/navigationtab/navigation-tab.js +20 -0
  387. package/labs/navigationtab/navigation-tab.js.map +1 -0
  388. package/labs/segmentedbutton/internal/_outlined-segmented-button.scss +42 -0
  389. package/labs/segmentedbutton/internal/_shared.scss +358 -0
  390. package/labs/segmentedbutton/internal/outlined-styles.css.js +9 -0
  391. package/labs/segmentedbutton/internal/outlined-styles.css.js.map +1 -0
  392. package/labs/segmentedbutton/internal/segmented-button.d.ts +44 -0
  393. package/labs/segmentedbutton/internal/segmented-button.js +157 -0
  394. package/labs/segmentedbutton/internal/segmented-button.js.map +1 -0
  395. package/labs/segmentedbutton/internal/shared-styles.css.js +9 -0
  396. package/labs/segmentedbutton/internal/shared-styles.css.js.map +1 -0
  397. package/labs/segmentedbutton/outlined-segmented-button.d.ts +20 -0
  398. package/labs/segmentedbutton/outlined-segmented-button.js +23 -0
  399. package/labs/segmentedbutton/outlined-segmented-button.js.map +1 -0
  400. package/labs/segmentedbuttonset/internal/_outlined-segmented-button-set.scss +53 -0
  401. package/labs/segmentedbuttonset/internal/outlined-styles.css.js +9 -0
  402. package/labs/segmentedbuttonset/internal/outlined-styles.css.js.map +1 -0
  403. package/labs/segmentedbuttonset/internal/segmented-button-set.d.ts +26 -0
  404. package/labs/segmentedbuttonset/internal/segmented-button-set.js +108 -0
  405. package/labs/segmentedbuttonset/internal/segmented-button-set.js.map +1 -0
  406. package/labs/segmentedbuttonset/outlined-segmented-button-set.d.ts +20 -0
  407. package/labs/segmentedbuttonset/outlined-segmented-button-set.js +23 -0
  408. package/labs/segmentedbuttonset/outlined-segmented-button-set.js.map +1 -0
  409. package/list/_list-item.scss +1 -1
  410. package/list/_list.scss +1 -1
  411. package/list/harness.d.ts +28 -4
  412. package/list/harness.js +27 -3
  413. package/list/harness.js.map +1 -1
  414. package/list/internal/_list.scss +46 -0
  415. package/list/internal/list-controller.d.ts +108 -0
  416. package/list/internal/list-controller.js +176 -0
  417. package/list/internal/list-controller.js.map +1 -0
  418. package/list/internal/list-navigation-helpers.d.ts +132 -0
  419. package/list/internal/list-navigation-helpers.js +218 -0
  420. package/list/internal/list-navigation-helpers.js.map +1 -0
  421. package/list/internal/list-styles.css.js +9 -0
  422. package/list/internal/list-styles.css.js.map +1 -0
  423. package/list/internal/list.d.ts +44 -0
  424. package/list/internal/list.js +73 -0
  425. package/list/internal/list.js.map +1 -0
  426. package/list/internal/listitem/_list-item.scss +146 -0
  427. package/list/internal/listitem/forced-colors-styles.css.js +9 -0
  428. package/list/internal/listitem/forced-colors-styles.css.js.map +1 -0
  429. package/list/internal/listitem/forced-colors-styles.scss +19 -0
  430. package/list/internal/listitem/harness.d.ts +27 -0
  431. package/list/internal/listitem/harness.js +25 -0
  432. package/list/internal/listitem/harness.js.map +1 -0
  433. package/list/internal/listitem/list-item-styles.css.js +9 -0
  434. package/list/internal/listitem/list-item-styles.css.js.map +1 -0
  435. package/list/internal/listitem/list-item.d.ts +77 -0
  436. package/list/internal/listitem/list-item.js +194 -0
  437. package/list/internal/listitem/list-item.js.map +1 -0
  438. package/list/list-item.d.ts +15 -8
  439. package/list/list-item.js +17 -12
  440. package/list/list-item.js.map +1 -1
  441. package/list/list.d.ts +1 -1
  442. package/list/list.js +3 -4
  443. package/list/list.js.map +1 -1
  444. package/menu/_menu-item.scss +1 -1
  445. package/menu/_menu.scss +1 -1
  446. package/menu/harness.d.ts +5 -5
  447. package/menu/harness.js +4 -6
  448. package/menu/harness.js.map +1 -1
  449. package/menu/internal/_menu.scss +124 -0
  450. package/menu/internal/controllers/menuItemController.d.ts +107 -0
  451. package/menu/internal/controllers/menuItemController.js +99 -0
  452. package/menu/internal/controllers/menuItemController.js.map +1 -0
  453. package/menu/internal/controllers/shared.d.ts +221 -0
  454. package/menu/internal/controllers/shared.js +137 -0
  455. package/menu/internal/controllers/shared.js.map +1 -0
  456. package/menu/internal/controllers/surfacePositionController.d.ts +152 -0
  457. package/menu/internal/controllers/surfacePositionController.js +316 -0
  458. package/menu/internal/controllers/surfacePositionController.js.map +1 -0
  459. package/menu/internal/controllers/typeaheadController.d.ts +157 -0
  460. package/menu/internal/controllers/typeaheadController.js +254 -0
  461. package/menu/internal/controllers/typeaheadController.js.map +1 -0
  462. package/menu/internal/menu-styles.css.js +9 -0
  463. package/menu/internal/menu-styles.css.js.map +1 -0
  464. package/menu/internal/menu.d.ts +259 -0
  465. package/menu/internal/menu.js +788 -0
  466. package/menu/internal/menu.js.map +1 -0
  467. package/menu/internal/menuitem/_menu-item.scss +180 -0
  468. package/menu/internal/menuitem/forced-colors-styles.css.js +9 -0
  469. package/menu/internal/menuitem/forced-colors-styles.css.js.map +1 -0
  470. package/menu/internal/menuitem/forced-colors-styles.scss +26 -0
  471. package/menu/internal/menuitem/harness.d.ts +11 -0
  472. package/menu/internal/menuitem/harness.js +12 -0
  473. package/menu/internal/menuitem/harness.js.map +1 -0
  474. package/menu/internal/menuitem/menu-item-styles.css.js +9 -0
  475. package/menu/internal/menuitem/menu-item-styles.css.js.map +1 -0
  476. package/menu/internal/menuitem/menu-item.d.ts +80 -0
  477. package/menu/internal/menuitem/menu-item.js +200 -0
  478. package/menu/internal/menuitem/menu-item.js.map +1 -0
  479. package/menu/internal/submenu/_sub-menu.scss +12 -0
  480. package/menu/internal/submenu/sub-menu-styles.css.js +9 -0
  481. package/menu/internal/submenu/sub-menu-styles.css.js.map +1 -0
  482. package/menu/internal/submenu/sub-menu-styles.scss +10 -0
  483. package/menu/internal/submenu/sub-menu.d.ts +101 -0
  484. package/menu/internal/submenu/sub-menu.js +351 -0
  485. package/menu/internal/submenu/sub-menu.js.map +1 -0
  486. package/menu/menu-item.d.ts +3 -3
  487. package/menu/menu-item.js +5 -9
  488. package/menu/menu-item.js.map +1 -1
  489. package/menu/menu.d.ts +21 -13
  490. package/menu/menu.js +22 -15
  491. package/menu/menu.js.map +1 -1
  492. package/menu/sub-menu.d.ts +62 -0
  493. package/menu/sub-menu.js +64 -0
  494. package/menu/sub-menu.js.map +1 -0
  495. package/package.json +85 -16
  496. package/progress/_circular-progress.scss +6 -0
  497. package/progress/_linear-progress.scss +6 -0
  498. package/progress/circular-progress.d.ts +24 -0
  499. package/progress/circular-progress.js +26 -0
  500. package/progress/circular-progress.js.map +1 -0
  501. package/progress/harness.d.ts +20 -0
  502. package/progress/harness.js +25 -0
  503. package/progress/harness.js.map +1 -0
  504. package/progress/internal/_circular-progress.scss +287 -0
  505. package/progress/internal/_linear-progress.scss +340 -0
  506. package/progress/internal/circular-progress-styles.css.js +9 -0
  507. package/progress/internal/circular-progress-styles.css.js.map +1 -0
  508. package/progress/internal/circular-progress.d.ts +14 -0
  509. package/progress/internal/circular-progress.js +49 -0
  510. package/progress/internal/circular-progress.js.map +1 -0
  511. package/progress/internal/linear-progress-styles.css.js +9 -0
  512. package/progress/internal/linear-progress-styles.css.js.map +1 -0
  513. package/progress/internal/linear-progress.d.ts +16 -0
  514. package/progress/internal/linear-progress.js +47 -0
  515. package/progress/internal/linear-progress.js.map +1 -0
  516. package/progress/internal/progress.d.ts +34 -0
  517. package/progress/internal/progress.js +70 -0
  518. package/progress/internal/progress.js.map +1 -0
  519. package/progress/linear-progress.d.ts +23 -0
  520. package/progress/linear-progress.js +25 -0
  521. package/progress/linear-progress.js.map +1 -0
  522. package/radio/_radio.scss +1 -1
  523. package/radio/harness.d.ts +2 -2
  524. package/radio/harness.js +1 -1
  525. package/radio/harness.js.map +1 -1
  526. package/radio/internal/_radio.scss +185 -0
  527. package/radio/internal/forced-colors-styles.css.js +9 -0
  528. package/radio/internal/forced-colors-styles.css.js.map +1 -0
  529. package/radio/internal/forced-colors-styles.scss +29 -0
  530. package/radio/internal/radio-styles.css.js +9 -0
  531. package/radio/internal/radio-styles.css.js.map +1 -0
  532. package/radio/internal/radio.d.ts +56 -0
  533. package/radio/internal/radio.js +165 -0
  534. package/radio/internal/radio.js.map +1 -0
  535. package/radio/internal/single-selection-controller.js +197 -0
  536. package/radio/internal/single-selection-controller.js.map +1 -0
  537. package/radio/radio.d.ts +1 -1
  538. package/radio/radio.js +4 -5
  539. package/radio/radio.js.map +1 -1
  540. package/ripple/_ripple.scss +1 -1
  541. package/ripple/internal/_ripple.scss +96 -0
  542. package/ripple/internal/ripple-styles.css.js +9 -0
  543. package/ripple/internal/ripple-styles.css.js.map +1 -0
  544. package/ripple/internal/ripple.d.ts +76 -0
  545. package/ripple/internal/ripple.js +408 -0
  546. package/ripple/internal/ripple.js.map +1 -0
  547. package/ripple/ripple.d.ts +1 -1
  548. package/ripple/ripple.js +3 -4
  549. package/ripple/ripple.js.map +1 -1
  550. package/select/_filled-select.scss +1 -1
  551. package/select/_outlined-select.scss +1 -1
  552. package/select/filled-select.d.ts +1 -1
  553. package/select/filled-select.js +5 -6
  554. package/select/filled-select.js.map +1 -1
  555. package/select/harness.d.ts +4 -4
  556. package/select/harness.js +3 -5
  557. package/select/harness.js.map +1 -1
  558. package/select/internal/_filled-select.scss +231 -0
  559. package/select/internal/_outlined-select.scss +189 -0
  560. package/select/internal/_shared.scss +84 -0
  561. package/select/internal/filled-select-styles.css.js +9 -0
  562. package/select/internal/filled-select-styles.css.js.map +1 -0
  563. package/select/internal/outlined-select-styles.css.js +9 -0
  564. package/select/internal/outlined-select-styles.css.js.map +1 -0
  565. package/select/internal/select.d.ts +313 -0
  566. package/select/internal/select.js +773 -0
  567. package/select/internal/select.js.map +1 -0
  568. package/select/internal/selectoption/harness.d.ts +11 -0
  569. package/select/internal/selectoption/harness.js +12 -0
  570. package/select/internal/selectoption/harness.js.map +1 -0
  571. package/select/internal/selectoption/select-option.d.ts +82 -0
  572. package/select/internal/selectoption/select-option.js +183 -0
  573. package/select/internal/selectoption/select-option.js.map +1 -0
  574. package/select/internal/selectoption/selectOptionController.d.ts +91 -0
  575. package/select/internal/selectoption/selectOptionController.js +118 -0
  576. package/select/internal/selectoption/selectOptionController.js.map +1 -0
  577. package/select/internal/shared-styles.css.js +9 -0
  578. package/select/internal/shared-styles.css.js.map +1 -0
  579. package/select/internal/shared.d.ts +18 -0
  580. package/select/internal/shared.js +23 -0
  581. package/select/internal/shared.js.map +1 -0
  582. package/select/outlined-select.d.ts +1 -1
  583. package/select/outlined-select.js +5 -6
  584. package/select/outlined-select.js.map +1 -1
  585. package/select/select-option.d.ts +1 -1
  586. package/select/select-option.js +5 -8
  587. package/select/select-option.js.map +1 -1
  588. package/slider/_slider.scss +1 -1
  589. package/slider/harness.d.ts +1 -1
  590. package/slider/harness.js +7 -5
  591. package/slider/harness.js.map +1 -1
  592. package/slider/internal/_slider.scss +508 -0
  593. package/slider/internal/forced-colors-styles.css.js +9 -0
  594. package/slider/internal/forced-colors-styles.css.js.map +1 -0
  595. package/slider/internal/forced-colors-styles.scss +88 -0
  596. package/slider/internal/slider-styles.css.js +9 -0
  597. package/slider/internal/slider-styles.css.js.map +1 -0
  598. package/slider/internal/slider.d.ts +187 -0
  599. package/slider/internal/slider.js +718 -0
  600. package/slider/internal/slider.js.map +1 -0
  601. package/slider/slider.d.ts +1 -1
  602. package/slider/slider.js +4 -5
  603. package/slider/slider.js.map +1 -1
  604. package/switch/_switch.scss +1 -1
  605. package/switch/harness.d.ts +2 -2
  606. package/switch/harness.js +1 -1
  607. package/switch/harness.js.map +1 -1
  608. package/switch/internal/README.md +55 -0
  609. package/switch/internal/_handle.scss +160 -0
  610. package/switch/internal/_icon.scss +92 -0
  611. package/switch/internal/_switch.scss +154 -0
  612. package/switch/internal/_track.scss +91 -0
  613. package/switch/internal/forced-colors-styles.css.js +9 -0
  614. package/switch/internal/forced-colors-styles.css.js.map +1 -0
  615. package/switch/internal/forced-colors-styles.scss +42 -0
  616. package/switch/internal/switch-styles.css.js +9 -0
  617. package/switch/internal/switch-styles.css.js.map +1 -0
  618. package/switch/internal/switch.d.ts +150 -0
  619. package/switch/internal/switch.js +326 -0
  620. package/switch/internal/switch.js.map +1 -0
  621. package/switch/switch.d.ts +1 -1
  622. package/switch/switch.js +5 -5
  623. package/switch/switch.js.map +1 -1
  624. package/tabs/_primary-tab.scss +6 -0
  625. package/tabs/_secondary-tab.scss +6 -0
  626. package/tabs/harness.d.ts +23 -0
  627. package/tabs/harness.js +51 -0
  628. package/tabs/harness.js.map +1 -0
  629. package/tabs/internal/_primary-tab.scss +70 -0
  630. package/tabs/internal/_secondary-tab.scss +61 -0
  631. package/tabs/internal/_tab.scss +205 -0
  632. package/tabs/internal/_tabs.scss +45 -0
  633. package/tabs/internal/primary-tab-styles.css.js +9 -0
  634. package/tabs/internal/primary-tab-styles.css.js.map +1 -0
  635. package/tabs/internal/primary-tab-styles.scss +10 -0
  636. package/tabs/internal/primary-tab.d.ts +20 -0
  637. package/tabs/internal/primary-tab.js +30 -0
  638. package/tabs/internal/primary-tab.js.map +1 -0
  639. package/tabs/internal/secondary-tab-styles.css.d.ts +1 -0
  640. package/tabs/internal/secondary-tab-styles.css.js +9 -0
  641. package/tabs/internal/secondary-tab-styles.css.js.map +1 -0
  642. package/tabs/internal/secondary-tab-styles.scss +10 -0
  643. package/tabs/internal/secondary-tab.d.ts +12 -0
  644. package/tabs/internal/secondary-tab.js +16 -0
  645. package/tabs/internal/secondary-tab.js.map +1 -0
  646. package/tabs/internal/tab-styles.css.d.ts +1 -0
  647. package/tabs/internal/tab-styles.css.js +9 -0
  648. package/tabs/internal/tab-styles.css.js.map +1 -0
  649. package/tabs/internal/tab-styles.scss +10 -0
  650. package/tabs/internal/tab.d.ts +61 -0
  651. package/tabs/internal/tab.js +188 -0
  652. package/tabs/internal/tab.js.map +1 -0
  653. package/tabs/internal/tabs-styles.css.d.ts +1 -0
  654. package/tabs/internal/tabs-styles.css.js +9 -0
  655. package/tabs/internal/tabs-styles.css.js.map +1 -0
  656. package/tabs/internal/tabs-styles.scss +10 -0
  657. package/tabs/internal/tabs.d.ts +74 -0
  658. package/tabs/internal/tabs.js +283 -0
  659. package/tabs/internal/tabs.js.map +1 -0
  660. package/tabs/primary-tab.d.ts +18 -0
  661. package/tabs/primary-tab.js +22 -0
  662. package/tabs/primary-tab.js.map +1 -0
  663. package/tabs/secondary-tab.d.ts +18 -0
  664. package/tabs/secondary-tab.js +22 -0
  665. package/tabs/secondary-tab.js.map +1 -0
  666. package/tabs/tabs.d.ts +18 -0
  667. package/tabs/tabs.js +21 -0
  668. package/tabs/tabs.js.map +1 -0
  669. package/textfield/_filled-text-field.scss +1 -1
  670. package/textfield/_outlined-text-field.scss +1 -1
  671. package/textfield/filled-text-field.d.ts +2 -2
  672. package/textfield/filled-text-field.js +5 -6
  673. package/textfield/filled-text-field.js.map +1 -1
  674. package/textfield/harness.d.ts +5 -5
  675. package/textfield/harness.js +5 -12
  676. package/textfield/harness.js.map +1 -1
  677. package/textfield/internal/_filled-text-field.scss +203 -0
  678. package/textfield/internal/_input.scss +79 -0
  679. package/textfield/internal/_outlined-text-field.scss +176 -0
  680. package/textfield/internal/_shared.scss +47 -0
  681. package/textfield/internal/filled-forced-colors-styles.css.d.ts +1 -0
  682. package/textfield/internal/filled-styles.css.d.ts +1 -0
  683. package/textfield/internal/filled-styles.css.js +9 -0
  684. package/textfield/internal/filled-styles.css.js.map +1 -0
  685. package/textfield/internal/outlined-forced-colors-styles.css.d.ts +1 -0
  686. package/textfield/internal/outlined-styles.css.d.ts +1 -0
  687. package/textfield/internal/outlined-styles.css.js +9 -0
  688. package/textfield/internal/outlined-styles.css.js.map +1 -0
  689. package/textfield/internal/shared-styles.css.d.ts +1 -0
  690. package/textfield/internal/shared-styles.css.js +9 -0
  691. package/textfield/internal/shared-styles.css.js.map +1 -0
  692. package/textfield/internal/text-field.d.ts +350 -0
  693. package/textfield/internal/text-field.js +754 -0
  694. package/textfield/internal/text-field.js.map +1 -0
  695. package/textfield/outlined-text-field.d.ts +2 -2
  696. package/textfield/outlined-text-field.js +5 -6
  697. package/textfield/outlined-text-field.js.map +1 -1
  698. package/tokens/_index.scss +9 -40
  699. package/tokens/_md-comp-assist-chip.scss +9 -17
  700. package/tokens/_md-comp-badge.scss +2 -15
  701. package/tokens/_md-comp-checkbox.scss +72 -46
  702. package/tokens/_md-comp-circular-progress.scss +65 -0
  703. package/tokens/_md-comp-dialog.scss +55 -19
  704. package/tokens/_md-comp-divider.scss +13 -2
  705. package/tokens/_md-comp-elevated-button.scss +39 -35
  706. package/tokens/_md-comp-elevation.scss +11 -2
  707. package/tokens/_md-comp-fab-branded.scss +20 -15
  708. package/tokens/_md-comp-fab.scss +27 -31
  709. package/tokens/_md-comp-filled-button.scss +39 -35
  710. package/tokens/_md-comp-filled-field.scss +46 -20
  711. package/tokens/_md-comp-filled-icon-button.scss +35 -13
  712. package/tokens/_md-comp-filled-select.scss +38 -17
  713. package/tokens/_md-comp-filled-text-field.scss +20 -21
  714. package/tokens/_md-comp-filled-tonal-button.scss +39 -35
  715. package/tokens/_md-comp-filled-tonal-icon-button.scss +35 -13
  716. package/tokens/_md-comp-filter-chip.scss +10 -18
  717. package/tokens/_md-comp-focus-ring.scss +4 -2
  718. package/tokens/_md-comp-full-screen-dialog.scss +1 -1
  719. package/tokens/_md-comp-icon-button.scss +35 -15
  720. package/tokens/_md-comp-icon.scss +32 -0
  721. package/tokens/_md-comp-input-chip.scss +15 -16
  722. package/tokens/_md-comp-item.scss +87 -0
  723. package/tokens/_md-comp-linear-progress.scss +50 -0
  724. package/tokens/_md-comp-list-item.scss +125 -139
  725. package/tokens/_md-comp-list.scss +11 -109
  726. package/tokens/_md-comp-menu-item.scss +15 -10
  727. package/tokens/_md-comp-menu-list-item.scss +162 -0
  728. package/tokens/_md-comp-menu.scss +15 -12
  729. package/tokens/_md-comp-navigation-bar.scss +1 -1
  730. package/tokens/_md-comp-navigation-drawer.scss +1 -1
  731. package/tokens/_md-comp-outlined-button.scss +41 -37
  732. package/tokens/_md-comp-outlined-field.scss +42 -16
  733. package/tokens/_md-comp-outlined-icon-button.scss +37 -16
  734. package/tokens/_md-comp-outlined-segmented-button.scss +22 -24
  735. package/tokens/_md-comp-outlined-select.scss +24 -16
  736. package/tokens/_md-comp-outlined-text-field.scss +19 -20
  737. package/tokens/_md-comp-primary-tab.scss +131 -0
  738. package/tokens/_md-comp-radio.scss +73 -0
  739. package/tokens/_md-comp-ripple.scss +40 -0
  740. package/tokens/_md-comp-secondary-tab.scss +131 -0
  741. package/tokens/_md-comp-slider.scss +71 -23
  742. package/tokens/_md-comp-suggestion-chip.scss +9 -16
  743. package/tokens/_md-comp-switch.scss +75 -35
  744. package/tokens/_md-comp-test-table.scss +14 -3
  745. package/tokens/_md-comp-text-button.scss +39 -35
  746. package/tokens/_md-ref-palette.scss +102 -2
  747. package/tokens/_md-ref-typeface.scss +24 -12
  748. package/tokens/_md-sys-color.scss +99 -5
  749. package/tokens/_md-sys-elevation.scss +1 -1
  750. package/tokens/_md-sys-motion.scss +1 -1
  751. package/tokens/_md-sys-shape.scss +1 -1
  752. package/tokens/_md-sys-state.scss +1 -1
  753. package/tokens/_md-sys-typescale.scss +115 -17
  754. package/tokens/_values.scss +1 -1
  755. package/tokens/v0_192/_md-comp-assist-chip.scss +111 -0
  756. package/tokens/v0_192/_md-comp-badge.scss +61 -0
  757. package/tokens/v0_192/_md-comp-banner.scss +76 -0
  758. package/tokens/v0_192/_md-comp-bottom-app-bar.scss +36 -0
  759. package/tokens/v0_192/_md-comp-carousel-item.scss +66 -0
  760. package/tokens/v0_192/_md-comp-checkbox.scss +129 -0
  761. package/tokens/v0_192/_md-comp-circular-progress-indicator.scss +41 -0
  762. package/tokens/v0_192/_md-comp-data-table.scss +99 -0
  763. package/tokens/v0_192/_md-comp-date-input-modal.scss +90 -0
  764. package/tokens/v0_192/_md-comp-date-picker-docked.scss +247 -0
  765. package/tokens/v0_192/_md-comp-date-picker-modal.scss +306 -0
  766. package/tokens/v0_192/_md-comp-dialog.scss +124 -0
  767. package/tokens/v0_192/_md-comp-divider.scss +28 -0
  768. package/tokens/v0_192/_md-comp-elevated-button.scss +92 -0
  769. package/tokens/v0_192/_md-comp-elevated-card.scss +60 -0
  770. package/tokens/v0_192/_md-comp-extended-fab-branded.scss +89 -0
  771. package/tokens/v0_192/_md-comp-extended-fab-primary.scss +97 -0
  772. package/tokens/v0_192/_md-comp-extended-fab-secondary.scss +98 -0
  773. package/tokens/v0_192/_md-comp-extended-fab-surface.scss +93 -0
  774. package/tokens/v0_192/_md-comp-extended-fab-tertiary.scss +98 -0
  775. package/tokens/v0_192/_md-comp-fab-branded-large.scss +63 -0
  776. package/tokens/v0_192/_md-comp-fab-branded.scss +63 -0
  777. package/tokens/v0_192/_md-comp-fab-primary-large.scss +68 -0
  778. package/tokens/v0_192/_md-comp-fab-primary-small.scss +68 -0
  779. package/tokens/v0_192/_md-comp-fab-primary.scss +68 -0
  780. package/tokens/v0_192/_md-comp-fab-secondary-large.scss +69 -0
  781. package/tokens/v0_192/_md-comp-fab-secondary-small.scss +69 -0
  782. package/tokens/v0_192/_md-comp-fab-secondary.scss +69 -0
  783. package/tokens/v0_192/_md-comp-fab-surface-large.scss +67 -0
  784. package/tokens/v0_192/_md-comp-fab-surface-small.scss +67 -0
  785. package/tokens/v0_192/_md-comp-fab-surface.scss +67 -0
  786. package/tokens/v0_192/_md-comp-fab-tertiary-large.scss +69 -0
  787. package/tokens/v0_192/_md-comp-fab-tertiary-small.scss +69 -0
  788. package/tokens/v0_192/_md-comp-fab-tertiary.scss +69 -0
  789. package/tokens/v0_192/_md-comp-filled-autocomplete.scss +239 -0
  790. package/tokens/v0_192/_md-comp-filled-button.scss +92 -0
  791. package/tokens/v0_192/_md-comp-filled-card.scss +62 -0
  792. package/tokens/v0_192/_md-comp-filled-icon-button.scss +83 -0
  793. package/tokens/v0_192/_md-comp-filled-menu-button.scss +101 -0
  794. package/tokens/v0_192/_md-comp-filled-select.scss +273 -0
  795. package/tokens/v0_192/_md-comp-filled-text-field.scss +193 -0
  796. package/tokens/v0_192/_md-comp-filled-tonal-button.scss +102 -0
  797. package/tokens/v0_192/_md-comp-filled-tonal-icon-button.scss +90 -0
  798. package/tokens/v0_192/_md-comp-filter-chip.scss +210 -0
  799. package/tokens/v0_192/_md-comp-full-screen-dialog.scss +114 -0
  800. package/tokens/v0_192/_md-comp-icon-button.scss +74 -0
  801. package/tokens/v0_192/_md-comp-input-chip.scss +187 -0
  802. package/tokens/v0_192/_md-comp-linear-progress-indicator.scss +43 -0
  803. package/tokens/v0_192/_md-comp-list.scss +255 -0
  804. package/tokens/v0_192/_md-comp-menu.scss +44 -0
  805. package/tokens/v0_192/_md-comp-navigation-bar.scss +115 -0
  806. package/tokens/v0_192/_md-comp-navigation-drawer.scss +165 -0
  807. package/tokens/v0_192/_md-comp-navigation-rail.scss +119 -0
  808. package/tokens/v0_192/_md-comp-outlined-autocomplete.scss +229 -0
  809. package/tokens/v0_192/_md-comp-outlined-button.scss +87 -0
  810. package/tokens/v0_192/_md-comp-outlined-card.scss +66 -0
  811. package/tokens/v0_192/_md-comp-outlined-icon-button.scss +83 -0
  812. package/tokens/v0_192/_md-comp-outlined-menu-button.scss +97 -0
  813. package/tokens/v0_192/_md-comp-outlined-segmented-button.scss +115 -0
  814. package/tokens/v0_192/_md-comp-outlined-select.scss +263 -0
  815. package/tokens/v0_192/_md-comp-outlined-text-field.scss +174 -0
  816. package/tokens/v0_192/_md-comp-plain-tooltip.scss +58 -0
  817. package/tokens/v0_192/_md-comp-primary-navigation-tab.scss +124 -0
  818. package/tokens/v0_192/_md-comp-radio-button.scss +71 -0
  819. package/tokens/v0_192/_md-comp-rich-tooltip.scss +122 -0
  820. package/tokens/v0_192/_md-comp-scrim.scss +28 -0
  821. package/tokens/v0_192/_md-comp-search-bar.scss +100 -0
  822. package/tokens/v0_192/_md-comp-search-view.scss +94 -0
  823. package/tokens/v0_192/_md-comp-secondary-navigation-tab.scss +87 -0
  824. package/tokens/v0_192/_md-comp-sheet-bottom.scss +46 -0
  825. package/tokens/v0_192/_md-comp-sheet-floating.scss +35 -0
  826. package/tokens/v0_192/_md-comp-sheet-side.scss +94 -0
  827. package/tokens/v0_192/_md-comp-slider.scss +118 -0
  828. package/tokens/v0_192/_md-comp-snackbar.scss +130 -0
  829. package/tokens/v0_192/_md-comp-standard-menu-button.scss +101 -0
  830. package/tokens/v0_192/_md-comp-suggestion-chip.scss +127 -0
  831. package/tokens/v0_192/_md-comp-switch.scss +141 -0
  832. package/tokens/v0_192/_md-comp-text-button.scss +80 -0
  833. package/tokens/v0_192/_md-comp-time-input.scss +220 -0
  834. package/tokens/v0_192/_md-comp-time-picker.scss +267 -0
  835. package/tokens/v0_192/_md-comp-top-app-bar-large.scss +64 -0
  836. package/tokens/v0_192/_md-comp-top-app-bar-medium.scss +64 -0
  837. package/tokens/v0_192/_md-comp-top-app-bar-small-centered.scss +71 -0
  838. package/tokens/v0_192/_md-comp-top-app-bar-small.scss +67 -0
  839. package/tokens/v0_192/_md-ref-palette.scss +109 -0
  840. package/tokens/v0_192/_md-ref-typeface.scss +23 -0
  841. package/tokens/v0_192/_md-sys-color.scss +135 -0
  842. package/tokens/v0_192/_md-sys-elevation.scss +24 -0
  843. package/tokens/v0_192/_md-sys-motion.scss +55 -0
  844. package/tokens/v0_192/_md-sys-shape.scss +33 -0
  845. package/tokens/v0_192/_md-sys-state.scss +22 -0
  846. package/tokens/v0_192/_md-sys-typescale.scss +286 -0
  847. package/tokens/v0_192/index.test.css.d.ts +1 -0
  848. package/tokens/v0_192/lib.test.css.d.ts +1 -0
  849. package/typography/_typeface.scss +49 -0
  850. package/typography/_typescale.scss +50 -0
  851. package/aria/aria.d.ts +0 -43
  852. package/aria/aria.js +0 -80
  853. package/aria/aria.js.map +0 -1
  854. package/aria/delegate.d.ts +0 -37
  855. package/aria/delegate.js +0 -53
  856. package/aria/delegate.js.map +0 -1
  857. package/badge/_badge.scss +0 -6
  858. package/badge/badge.d.ts +0 -18
  859. package/badge/badge.js +0 -21
  860. package/badge/badge.js.map +0 -1
  861. package/badge/lib/_badge.scss +0 -69
  862. package/badge/lib/badge-styles.css.js +0 -9
  863. package/badge/lib/badge-styles.css.js.map +0 -1
  864. package/button/_tonal-button.scss +0 -6
  865. package/button/lib/_elevated-button.scss +0 -62
  866. package/button/lib/_elevation.scss +0 -68
  867. package/button/lib/_filled-button.scss +0 -62
  868. package/button/lib/_icon.scss +0 -42
  869. package/button/lib/_outlined-button.scss +0 -103
  870. package/button/lib/_shared.scss +0 -159
  871. package/button/lib/_text-button.scss +0 -65
  872. package/button/lib/_tonal-button.scss +0 -61
  873. package/button/lib/_touch-target.scss +0 -18
  874. package/button/lib/button.d.ts +0 -69
  875. package/button/lib/button.js +0 -174
  876. package/button/lib/button.js.map +0 -1
  877. package/button/lib/elevated-button.d.ts +0 -18
  878. package/button/lib/elevated-button.js +0 -23
  879. package/button/lib/elevated-button.js.map +0 -1
  880. package/button/lib/elevated-styles.css.js +0 -9
  881. package/button/lib/elevated-styles.css.js.map +0 -1
  882. package/button/lib/filled-button.d.ts +0 -18
  883. package/button/lib/filled-button.js +0 -23
  884. package/button/lib/filled-button.js.map +0 -1
  885. package/button/lib/filled-styles.css.js +0 -9
  886. package/button/lib/filled-styles.css.js.map +0 -1
  887. package/button/lib/outlined-button.d.ts +0 -17
  888. package/button/lib/outlined-button.js +0 -22
  889. package/button/lib/outlined-button.js.map +0 -1
  890. package/button/lib/outlined-styles.css.js +0 -9
  891. package/button/lib/outlined-styles.css.js.map +0 -1
  892. package/button/lib/shared-elevation-styles.css.js +0 -9
  893. package/button/lib/shared-elevation-styles.css.js.map +0 -1
  894. package/button/lib/shared-styles.css.js +0 -9
  895. package/button/lib/shared-styles.css.js.map +0 -1
  896. package/button/lib/text-button.d.ts +0 -16
  897. package/button/lib/text-button.js +0 -18
  898. package/button/lib/text-button.js.map +0 -1
  899. package/button/lib/text-styles.css.js +0 -9
  900. package/button/lib/text-styles.css.js.map +0 -1
  901. package/button/lib/tonal-button.d.ts +0 -18
  902. package/button/lib/tonal-button.js +0 -23
  903. package/button/lib/tonal-button.js.map +0 -1
  904. package/button/lib/tonal-styles.css.js +0 -9
  905. package/button/lib/tonal-styles.css.js.map +0 -1
  906. package/button/lib/tonal-styles.scss +0 -10
  907. package/button/tonal-button.d.ts +0 -35
  908. package/button/tonal-button.js +0 -40
  909. package/button/tonal-button.js.map +0 -1
  910. package/checkbox/lib/_checkbox.scss +0 -457
  911. package/checkbox/lib/checkbox-styles.css.js +0 -9
  912. package/checkbox/lib/checkbox-styles.css.js.map +0 -1
  913. package/checkbox/lib/checkbox.d.ts +0 -64
  914. package/checkbox/lib/checkbox.js +0 -190
  915. package/checkbox/lib/checkbox.js.map +0 -1
  916. package/checkbox/lib/forced-colors-styles.css.js +0 -9
  917. package/checkbox/lib/forced-colors-styles.css.js.map +0 -1
  918. package/checkbox/lib/forced-colors-styles.scss +0 -49
  919. package/chips/lib/_assist-chip.scss +0 -61
  920. package/chips/lib/_elevated.scss +0 -60
  921. package/chips/lib/_filter-chip.scss +0 -175
  922. package/chips/lib/_shared.scss +0 -177
  923. package/chips/lib/_suggestion-chip.scss +0 -61
  924. package/chips/lib/assist-chip.d.ts +0 -23
  925. package/chips/lib/assist-chip.js +0 -76
  926. package/chips/lib/assist-chip.js.map +0 -1
  927. package/chips/lib/assist-styles.css.js +0 -9
  928. package/chips/lib/assist-styles.css.js.map +0 -1
  929. package/chips/lib/chip.d.ts +0 -37
  930. package/chips/lib/chip.js +0 -89
  931. package/chips/lib/chip.js.map +0 -1
  932. package/chips/lib/elevated-styles.css.js +0 -9
  933. package/chips/lib/elevated-styles.css.js.map +0 -1
  934. package/chips/lib/filter-chip.d.ts +0 -26
  935. package/chips/lib/filter-chip.js +0 -80
  936. package/chips/lib/filter-chip.js.map +0 -1
  937. package/chips/lib/filter-styles.css.js +0 -9
  938. package/chips/lib/filter-styles.css.js.map +0 -1
  939. package/chips/lib/shared-styles.css.js +0 -9
  940. package/chips/lib/shared-styles.css.js.map +0 -1
  941. package/chips/lib/suggestion-styles.css.js +0 -9
  942. package/chips/lib/suggestion-styles.css.js.map +0 -1
  943. package/circularprogress/_circular-progress.scss +0 -6
  944. package/circularprogress/circular-progress.d.ts +0 -24
  945. package/circularprogress/circular-progress.js +0 -27
  946. package/circularprogress/circular-progress.js.map +0 -1
  947. package/circularprogress/harness.d.ts +0 -13
  948. package/circularprogress/harness.js +0 -16
  949. package/circularprogress/harness.js.map +0 -1
  950. package/circularprogress/lib/_circular-progress.scss +0 -288
  951. package/circularprogress/lib/circular-progress-styles.css.js +0 -9
  952. package/circularprogress/lib/circular-progress-styles.css.js.map +0 -1
  953. package/circularprogress/lib/circular-progress.d.ts +0 -27
  954. package/circularprogress/lib/circular-progress.js +0 -94
  955. package/circularprogress/lib/circular-progress.js.map +0 -1
  956. package/controller/form-associated.d.ts +0 -14
  957. package/controller/form-associated.js +0 -12
  958. package/controller/form-associated.js.map +0 -1
  959. package/controller/form-controller.d.ts +0 -66
  960. package/controller/form-controller.js +0 -74
  961. package/controller/form-controller.js.map +0 -1
  962. package/controller/shim-label-activation.d.ts +0 -18
  963. package/controller/shim-label-activation.js +0 -72
  964. package/controller/shim-label-activation.js.map +0 -1
  965. package/dialog/lib/_dialog.scss +0 -378
  966. package/dialog/lib/_tokens.scss +0 -87
  967. package/dialog/lib/dialog-styles.css.js +0 -9
  968. package/dialog/lib/dialog-styles.css.js.map +0 -1
  969. package/dialog/lib/dialog.d.ts +0 -190
  970. package/dialog/lib/dialog.js +0 -545
  971. package/dialog/lib/dialog.js.map +0 -1
  972. package/divider/lib/_divider.scss +0 -56
  973. package/elevation/lib/_elevation.scss +0 -165
  974. package/elevation/lib/elevation-styles.css.js +0 -9
  975. package/elevation/lib/elevation-styles.css.js.map +0 -1
  976. package/elevation/lib/elevation.d.ts +0 -12
  977. package/elevation/lib/elevation.js +0 -15
  978. package/elevation/lib/elevation.js.map +0 -1
  979. package/fab/lib/_fab.scss +0 -245
  980. package/fab/lib/_shared.scss +0 -224
  981. package/fab/lib/fab-branded-styles.css.js +0 -9
  982. package/fab/lib/fab-branded-styles.css.js.map +0 -1
  983. package/fab/lib/fab-styles.css.js +0 -9
  984. package/fab/lib/fab-styles.css.js.map +0 -1
  985. package/fab/lib/fab.d.ts +0 -25
  986. package/fab/lib/fab.js.map +0 -1
  987. package/fab/lib/forced-colors-styles.css.js +0 -9
  988. package/fab/lib/forced-colors-styles.css.js.map +0 -1
  989. package/fab/lib/forced-colors-styles.scss +0 -26
  990. package/fab/lib/shared-styles.css.js +0 -9
  991. package/fab/lib/shared-styles.css.js.map +0 -1
  992. package/fab/lib/shared.d.ts +0 -49
  993. package/fab/lib/shared.js +0 -113
  994. package/fab/lib/shared.js.map +0 -1
  995. package/field/lib/_content.scss +0 -175
  996. package/field/lib/_filled-field.scss +0 -189
  997. package/field/lib/_label.scss +0 -74
  998. package/field/lib/_outlined-field.scss +0 -313
  999. package/field/lib/_shared.scss +0 -65
  1000. package/field/lib/_supporting-text.scss +0 -56
  1001. package/field/lib/field.d.ts +0 -41
  1002. package/field/lib/field.js +0 -236
  1003. package/field/lib/field.js.map +0 -1
  1004. package/field/lib/filled-styles.css.js +0 -9
  1005. package/field/lib/filled-styles.css.js.map +0 -1
  1006. package/field/lib/outlined-field.d.ts +0 -13
  1007. package/field/lib/outlined-field.js.map +0 -1
  1008. package/field/lib/outlined-styles.css.js +0 -9
  1009. package/field/lib/outlined-styles.css.js.map +0 -1
  1010. package/field/lib/shared-styles.css.js +0 -9
  1011. package/field/lib/shared-styles.css.js.map +0 -1
  1012. package/focus/focus-ring.d.ts +0 -20
  1013. package/focus/focus-ring.js +0 -23
  1014. package/focus/focus-ring.js.map +0 -1
  1015. package/focus/lib/_focus-ring.scss +0 -86
  1016. package/focus/lib/focus-ring-styles.css.js +0 -9
  1017. package/focus/lib/focus-ring-styles.css.js.map +0 -1
  1018. package/focus/lib/focus-ring.d.ts +0 -72
  1019. package/focus/lib/focus-ring.js +0 -139
  1020. package/focus/lib/focus-ring.js.map +0 -1
  1021. package/icon/lib/_icon.scss +0 -61
  1022. package/icon/lib/_md-comp-icon.scss +0 -18
  1023. package/icon/lib/icon-styles.css.js +0 -9
  1024. package/icon/lib/icon-styles.css.js.map +0 -1
  1025. package/icon/lib/icon.d.ts +0 -12
  1026. package/icon/lib/icon.js +0 -15
  1027. package/icon/lib/icon.js.map +0 -1
  1028. package/iconbutton/_standard-icon-button.scss +0 -6
  1029. package/iconbutton/lib/_filled-icon-button.scss +0 -157
  1030. package/iconbutton/lib/_filled-tonal-icon-button.scss +0 -159
  1031. package/iconbutton/lib/_outlined-icon-button.scss +0 -180
  1032. package/iconbutton/lib/_shared.scss +0 -163
  1033. package/iconbutton/lib/_standard-icon-button.scss +0 -115
  1034. package/iconbutton/lib/filled-styles.css.js +0 -9
  1035. package/iconbutton/lib/filled-styles.css.js.map +0 -1
  1036. package/iconbutton/lib/filled-tonal-styles.css.js +0 -9
  1037. package/iconbutton/lib/filled-tonal-styles.css.js.map +0 -1
  1038. package/iconbutton/lib/icon-button.d.ts +0 -63
  1039. package/iconbutton/lib/icon-button.js +0 -179
  1040. package/iconbutton/lib/icon-button.js.map +0 -1
  1041. package/iconbutton/lib/outlined-styles.css.js +0 -9
  1042. package/iconbutton/lib/outlined-styles.css.js.map +0 -1
  1043. package/iconbutton/lib/shared-styles.css.js +0 -9
  1044. package/iconbutton/lib/shared-styles.css.js.map +0 -1
  1045. package/iconbutton/lib/standard-styles.css.js +0 -9
  1046. package/iconbutton/lib/standard-styles.css.js.map +0 -1
  1047. package/iconbutton/lib/standard-styles.scss +0 -10
  1048. package/iconbutton/standard-icon-button.d.ts +0 -34
  1049. package/iconbutton/standard-icon-button.js +0 -39
  1050. package/iconbutton/standard-icon-button.js.map +0 -1
  1051. package/linearprogress/_linear-progress.scss +0 -6
  1052. package/linearprogress/harness.d.ts +0 -13
  1053. package/linearprogress/harness.js +0 -18
  1054. package/linearprogress/harness.js.map +0 -1
  1055. package/linearprogress/lib/_linear-progress.scss +0 -386
  1056. package/linearprogress/lib/linear-progress-styles.css.js +0 -9
  1057. package/linearprogress/lib/linear-progress-styles.css.js.map +0 -1
  1058. package/linearprogress/lib/linear-progress.d.ts +0 -35
  1059. package/linearprogress/lib/linear-progress.js +0 -127
  1060. package/linearprogress/lib/linear-progress.js.map +0 -1
  1061. package/linearprogress/linear-progress.d.ts +0 -23
  1062. package/linearprogress/linear-progress.js +0 -26
  1063. package/linearprogress/linear-progress.js.map +0 -1
  1064. package/list/lib/_list.scss +0 -55
  1065. package/list/lib/list-styles.css.js +0 -9
  1066. package/list/lib/list-styles.css.js.map +0 -1
  1067. package/list/lib/list.d.ts +0 -110
  1068. package/list/lib/list.js +0 -260
  1069. package/list/lib/list.js.map +0 -1
  1070. package/list/lib/listitem/_list-item.scss +0 -425
  1071. package/list/lib/listitem/forced-colors-styles.css.js +0 -9
  1072. package/list/lib/listitem/forced-colors-styles.css.js.map +0 -1
  1073. package/list/lib/listitem/forced-colors-styles.scss +0 -23
  1074. package/list/lib/listitem/harness.d.ts +0 -13
  1075. package/list/lib/listitem/harness.js +0 -17
  1076. package/list/lib/listitem/harness.js.map +0 -1
  1077. package/list/lib/listitem/list-item-styles.css.js +0 -9
  1078. package/list/lib/listitem/list-item-styles.css.js.map +0 -1
  1079. package/list/lib/listitem/list-item.d.ts +0 -129
  1080. package/list/lib/listitem/list-item.js +0 -236
  1081. package/list/lib/listitem/list-item.js.map +0 -1
  1082. package/list/lib/listitemlink/list-item-link.d.ts +0 -17
  1083. package/list/lib/listitemlink/list-item-link.js +0 -38
  1084. package/list/lib/listitemlink/list-item-link.js.map +0 -1
  1085. package/list/list-item-link.d.ts +0 -53
  1086. package/list/list-item-link.js +0 -57
  1087. package/list/list-item-link.js.map +0 -1
  1088. package/localization/localize.d.ts +0 -15
  1089. package/localization/localize.js +0 -18
  1090. package/localization/localize.js.map +0 -1
  1091. package/menu/lib/_menu.scss +0 -103
  1092. package/menu/lib/menu-styles.css.js +0 -9
  1093. package/menu/lib/menu-styles.css.js.map +0 -1
  1094. package/menu/lib/menu.d.ts +0 -211
  1095. package/menu/lib/menu.js +0 -650
  1096. package/menu/lib/menu.js.map +0 -1
  1097. package/menu/lib/menuitem/_menu-item.scss +0 -60
  1098. package/menu/lib/menuitem/forced-colors-styles.css.js +0 -9
  1099. package/menu/lib/menuitem/forced-colors-styles.css.js.map +0 -1
  1100. package/menu/lib/menuitem/forced-colors-styles.scss +0 -22
  1101. package/menu/lib/menuitem/harness.d.ts +0 -11
  1102. package/menu/lib/menuitem/harness.js +0 -12
  1103. package/menu/lib/menuitem/harness.js.map +0 -1
  1104. package/menu/lib/menuitem/menu-item-styles.css.js +0 -9
  1105. package/menu/lib/menuitem/menu-item-styles.css.js.map +0 -1
  1106. package/menu/lib/menuitem/menu-item.d.ts +0 -28
  1107. package/menu/lib/menuitem/menu-item.js +0 -51
  1108. package/menu/lib/menuitem/menu-item.js.map +0 -1
  1109. package/menu/lib/menuitemlink/menu-item-link.d.ts +0 -23
  1110. package/menu/lib/menuitemlink/menu-item-link.js +0 -49
  1111. package/menu/lib/menuitemlink/menu-item-link.js.map +0 -1
  1112. package/menu/lib/shared.d.ts +0 -178
  1113. package/menu/lib/shared.js +0 -142
  1114. package/menu/lib/shared.js.map +0 -1
  1115. package/menu/lib/submenuitem/harness.d.ts +0 -11
  1116. package/menu/lib/submenuitem/harness.js +0 -12
  1117. package/menu/lib/submenuitem/harness.js.map +0 -1
  1118. package/menu/lib/submenuitem/sub-menu-item.d.ts +0 -99
  1119. package/menu/lib/submenuitem/sub-menu-item.js +0 -293
  1120. package/menu/lib/submenuitem/sub-menu-item.js.map +0 -1
  1121. package/menu/lib/surfacePositionController.d.ts +0 -125
  1122. package/menu/lib/surfacePositionController.js +0 -200
  1123. package/menu/lib/surfacePositionController.js.map +0 -1
  1124. package/menu/lib/typeaheadController.d.ts +0 -157
  1125. package/menu/lib/typeaheadController.js +0 -252
  1126. package/menu/lib/typeaheadController.js.map +0 -1
  1127. package/menu/menu-item-link.d.ts +0 -33
  1128. package/menu/menu-item-link.js +0 -38
  1129. package/menu/menu-item-link.js.map +0 -1
  1130. package/menu/sub-menu-item.d.ts +0 -60
  1131. package/menu/sub-menu-item.js +0 -65
  1132. package/menu/sub-menu-item.js.map +0 -1
  1133. package/motion/animation.d.ts +0 -80
  1134. package/motion/animation.js +0 -101
  1135. package/motion/animation.js.map +0 -1
  1136. package/navigationbar/_navigation-bar.scss +0 -6
  1137. package/navigationbar/harness.d.ts +0 -19
  1138. package/navigationbar/harness.js +0 -29
  1139. package/navigationbar/harness.js.map +0 -1
  1140. package/navigationbar/lib/_navigation-bar.scss +0 -68
  1141. package/navigationbar/lib/constants.d.ts +0 -17
  1142. package/navigationbar/lib/constants.js.map +0 -1
  1143. package/navigationbar/lib/navigation-bar-styles.css.js +0 -9
  1144. package/navigationbar/lib/navigation-bar-styles.css.js.map +0 -1
  1145. package/navigationbar/lib/navigation-bar.d.ts +0 -27
  1146. package/navigationbar/lib/navigation-bar.js +0 -140
  1147. package/navigationbar/lib/navigation-bar.js.map +0 -1
  1148. package/navigationbar/lib/state.d.ts +0 -23
  1149. package/navigationbar/lib/state.js.map +0 -1
  1150. package/navigationbar/navigation-bar.d.ts +0 -18
  1151. package/navigationbar/navigation-bar.js +0 -21
  1152. package/navigationbar/navigation-bar.js.map +0 -1
  1153. package/navigationdrawer/_navigation-drawer-modal.scss +0 -6
  1154. package/navigationdrawer/_navigation-drawer.scss +0 -6
  1155. package/navigationdrawer/lib/_navigation-drawer-modal.scss +0 -107
  1156. package/navigationdrawer/lib/_navigation-drawer.scss +0 -94
  1157. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js +0 -9
  1158. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js.map +0 -1
  1159. package/navigationdrawer/lib/navigation-drawer-modal.js +0 -83
  1160. package/navigationdrawer/lib/navigation-drawer-modal.js.map +0 -1
  1161. package/navigationdrawer/lib/navigation-drawer-styles.css.js +0 -9
  1162. package/navigationdrawer/lib/navigation-drawer-styles.css.js.map +0 -1
  1163. package/navigationdrawer/lib/navigation-drawer.d.ts +0 -17
  1164. package/navigationdrawer/lib/navigation-drawer.js +0 -66
  1165. package/navigationdrawer/lib/navigation-drawer.js.map +0 -1
  1166. package/navigationdrawer/navigation-drawer-modal.d.ts +0 -18
  1167. package/navigationdrawer/navigation-drawer-modal.js +0 -22
  1168. package/navigationdrawer/navigation-drawer-modal.js.map +0 -1
  1169. package/navigationdrawer/navigation-drawer.d.ts +0 -18
  1170. package/navigationdrawer/navigation-drawer.js +0 -22
  1171. package/navigationdrawer/navigation-drawer.js.map +0 -1
  1172. package/navigationtab/_navigation-tab.scss +0 -6
  1173. package/navigationtab/harness.d.ts +0 -13
  1174. package/navigationtab/harness.js +0 -16
  1175. package/navigationtab/harness.js.map +0 -1
  1176. package/navigationtab/lib/_navigation-tab.scss +0 -261
  1177. package/navigationtab/lib/navigation-tab-styles.css.js +0 -9
  1178. package/navigationtab/lib/navigation-tab-styles.css.js.map +0 -1
  1179. package/navigationtab/lib/navigation-tab.d.ts +0 -35
  1180. package/navigationtab/lib/navigation-tab.js +0 -135
  1181. package/navigationtab/lib/navigation-tab.js.map +0 -1
  1182. package/navigationtab/navigation-tab.d.ts +0 -18
  1183. package/navigationtab/navigation-tab.js +0 -21
  1184. package/navigationtab/navigation-tab.js.map +0 -1
  1185. package/radio/lib/_radio.scss +0 -167
  1186. package/radio/lib/forced-colors-styles.css.js +0 -9
  1187. package/radio/lib/forced-colors-styles.css.js.map +0 -1
  1188. package/radio/lib/forced-colors-styles.scss +0 -29
  1189. package/radio/lib/radio-styles.css.js +0 -9
  1190. package/radio/lib/radio-styles.css.js.map +0 -1
  1191. package/radio/lib/radio.d.ts +0 -54
  1192. package/radio/lib/radio.js +0 -152
  1193. package/radio/lib/radio.js.map +0 -1
  1194. package/radio/lib/single-selection-controller.js +0 -193
  1195. package/radio/lib/single-selection-controller.js.map +0 -1
  1196. package/ripple/directive.d.ts +0 -31
  1197. package/ripple/directive.js +0 -79
  1198. package/ripple/directive.js.map +0 -1
  1199. package/ripple/lib/_md-comp-ripple.scss +0 -30
  1200. package/ripple/lib/_ripple.scss +0 -114
  1201. package/ripple/lib/ripple-styles.css.js +0 -9
  1202. package/ripple/lib/ripple-styles.css.js.map +0 -1
  1203. package/ripple/lib/ripple.d.ts +0 -64
  1204. package/ripple/lib/ripple.js +0 -354
  1205. package/ripple/lib/ripple.js.map +0 -1
  1206. package/sass/_assert.scss +0 -23
  1207. package/sass/_color-scheme.scss +0 -92
  1208. package/sass/_color.scss +0 -170
  1209. package/sass/_dom.scss +0 -52
  1210. package/sass/_feature-flags.scss +0 -119
  1211. package/sass/_map-ext.scss +0 -51
  1212. package/sass/_theme.scss +0 -249
  1213. package/sass/_touch-target.scss +0 -22
  1214. package/sass/_var.scss +0 -245
  1215. package/segmentedbutton/lib/_outlined-segmented-button.scss +0 -46
  1216. package/segmentedbutton/lib/_shared.scss +0 -382
  1217. package/segmentedbutton/lib/outlined-styles.css.js +0 -9
  1218. package/segmentedbutton/lib/outlined-styles.css.js.map +0 -1
  1219. package/segmentedbutton/lib/segmented-button.d.ts +0 -48
  1220. package/segmentedbutton/lib/segmented-button.js +0 -175
  1221. package/segmentedbutton/lib/segmented-button.js.map +0 -1
  1222. package/segmentedbutton/lib/shared-styles.css.js +0 -9
  1223. package/segmentedbutton/lib/shared-styles.css.js.map +0 -1
  1224. package/segmentedbutton/outlined-segmented-button.d.ts +0 -20
  1225. package/segmentedbutton/outlined-segmented-button.js +0 -24
  1226. package/segmentedbutton/outlined-segmented-button.js.map +0 -1
  1227. package/segmentedbuttonset/lib/_outlined-segmented-button-set.scss +0 -53
  1228. package/segmentedbuttonset/lib/outlined-styles.css.js +0 -9
  1229. package/segmentedbuttonset/lib/outlined-styles.css.js.map +0 -1
  1230. package/segmentedbuttonset/lib/segmented-button-set.d.ts +0 -26
  1231. package/segmentedbuttonset/lib/segmented-button-set.js +0 -110
  1232. package/segmentedbuttonset/lib/segmented-button-set.js.map +0 -1
  1233. package/segmentedbuttonset/outlined-segmented-button-set.d.ts +0 -20
  1234. package/segmentedbuttonset/outlined-segmented-button-set.js +0 -24
  1235. package/segmentedbuttonset/outlined-segmented-button-set.js.map +0 -1
  1236. package/select/lib/_filled-select.scss +0 -222
  1237. package/select/lib/_outlined-select.scss +0 -180
  1238. package/select/lib/_shared.scss +0 -48
  1239. package/select/lib/filled-select-styles.css.js +0 -9
  1240. package/select/lib/filled-select-styles.css.js.map +0 -1
  1241. package/select/lib/outlined-select-styles.css.js +0 -9
  1242. package/select/lib/outlined-select-styles.css.js.map +0 -1
  1243. package/select/lib/select.d.ts +0 -216
  1244. package/select/lib/select.js +0 -589
  1245. package/select/lib/select.js.map +0 -1
  1246. package/select/lib/selectoption/harness.d.ts +0 -11
  1247. package/select/lib/selectoption/harness.js +0 -12
  1248. package/select/lib/selectoption/harness.js.map +0 -1
  1249. package/select/lib/selectoption/select-option.d.ts +0 -30
  1250. package/select/lib/selectoption/select-option.js +0 -71
  1251. package/select/lib/selectoption/select-option.js.map +0 -1
  1252. package/select/lib/shared-styles.css.js +0 -9
  1253. package/select/lib/shared-styles.css.js.map +0 -1
  1254. package/select/lib/shared.d.ts +0 -52
  1255. package/select/lib/shared.js +0 -41
  1256. package/select/lib/shared.js.map +0 -1
  1257. package/slider/lib/_slider.scss +0 -476
  1258. package/slider/lib/forced-colors-styles.css.js +0 -9
  1259. package/slider/lib/forced-colors-styles.css.js.map +0 -1
  1260. package/slider/lib/forced-colors-styles.scss +0 -53
  1261. package/slider/lib/slider-styles.css.js +0 -9
  1262. package/slider/lib/slider-styles.css.js.map +0 -1
  1263. package/slider/lib/slider.d.ts +0 -124
  1264. package/slider/lib/slider.js +0 -485
  1265. package/slider/lib/slider.js.map +0 -1
  1266. package/switch/lib/README.md +0 -55
  1267. package/switch/lib/_handle.scss +0 -168
  1268. package/switch/lib/_icon.scss +0 -73
  1269. package/switch/lib/_switch.scss +0 -226
  1270. package/switch/lib/_track.scss +0 -98
  1271. package/switch/lib/switch-styles.css.js +0 -9
  1272. package/switch/lib/switch-styles.css.js.map +0 -1
  1273. package/switch/lib/switch.d.ts +0 -75
  1274. package/switch/lib/switch.js +0 -215
  1275. package/switch/lib/switch.js.map +0 -1
  1276. package/textfield/lib/_filled-text-field.scss +0 -205
  1277. package/textfield/lib/_input.scss +0 -61
  1278. package/textfield/lib/_outlined-text-field.scss +0 -161
  1279. package/textfield/lib/_shared.scss +0 -41
  1280. package/textfield/lib/filled-styles.css.js +0 -9
  1281. package/textfield/lib/filled-styles.css.js.map +0 -1
  1282. package/textfield/lib/outlined-styles.css.js +0 -9
  1283. package/textfield/lib/outlined-styles.css.js.map +0 -1
  1284. package/textfield/lib/shared-styles.css.js +0 -9
  1285. package/textfield/lib/shared-styles.css.js.map +0 -1
  1286. package/textfield/lib/text-field.d.ts +0 -338
  1287. package/textfield/lib/text-field.js +0 -720
  1288. package/textfield/lib/text-field.js.map +0 -1
  1289. package/tokens/_md-comp-banner.scss +0 -23
  1290. package/tokens/_md-comp-bottom-app-bar.scss +0 -21
  1291. package/tokens/_md-comp-carousel-item.scss +0 -23
  1292. package/tokens/_md-comp-circular-progress-indicator.scss +0 -63
  1293. package/tokens/_md-comp-data-table.scss +0 -23
  1294. package/tokens/_md-comp-date-input-modal.scss +0 -23
  1295. package/tokens/_md-comp-date-picker-docked.scss +0 -25
  1296. package/tokens/_md-comp-date-picker-modal.scss +0 -25
  1297. package/tokens/_md-comp-elevated-card.scss +0 -23
  1298. package/tokens/_md-comp-filled-autocomplete.scss +0 -25
  1299. package/tokens/_md-comp-filled-card.scss +0 -23
  1300. package/tokens/_md-comp-filled-menu-button.scss +0 -25
  1301. package/tokens/_md-comp-linear-progress-indicator.scss +0 -50
  1302. package/tokens/_md-comp-navigation-rail.scss +0 -25
  1303. package/tokens/_md-comp-outlined-autocomplete.scss +0 -28
  1304. package/tokens/_md-comp-outlined-card.scss +0 -23
  1305. package/tokens/_md-comp-outlined-menu-button.scss +0 -23
  1306. package/tokens/_md-comp-plain-tooltip.scss +0 -21
  1307. package/tokens/_md-comp-primary-navigation-tab.scss +0 -50
  1308. package/tokens/_md-comp-radio-button.scss +0 -19
  1309. package/tokens/_md-comp-rich-tooltip.scss +0 -25
  1310. package/tokens/_md-comp-scrim.scss +0 -17
  1311. package/tokens/_md-comp-search-bar.scss +0 -25
  1312. package/tokens/_md-comp-search-view.scss +0 -23
  1313. package/tokens/_md-comp-secondary-navigation-tab.scss +0 -49
  1314. package/tokens/_md-comp-sheet-bottom.scss +0 -21
  1315. package/tokens/_md-comp-sheet-floating.scss +0 -21
  1316. package/tokens/_md-comp-sheet-side.scss +0 -25
  1317. package/tokens/_md-comp-snackbar.scss +0 -25
  1318. package/tokens/_md-comp-standard-menu-button.scss +0 -23
  1319. package/tokens/_md-comp-time-input.scss +0 -25
  1320. package/tokens/_md-comp-time-picker.scss +0 -25
  1321. package/tokens/_md-comp-top-app-bar-large.scss +0 -23
  1322. package/tokens/_md-comp-top-app-bar-medium.scss +0 -23
  1323. package/tokens/_md-comp-top-app-bar-small-centered.scss +0 -26
  1324. package/tokens/_md-comp-top-app-bar-small.scss +0 -23
  1325. package/tokens/v0_172/_md-comp-assist-chip.scss +0 -108
  1326. package/tokens/v0_172/_md-comp-badge.scss +0 -58
  1327. package/tokens/v0_172/_md-comp-banner.scss +0 -73
  1328. package/tokens/v0_172/_md-comp-bottom-app-bar.scss +0 -33
  1329. package/tokens/v0_172/_md-comp-carousel-item.scss +0 -63
  1330. package/tokens/v0_172/_md-comp-checkbox.scss +0 -126
  1331. package/tokens/v0_172/_md-comp-circular-progress-indicator.scss +0 -39
  1332. package/tokens/v0_172/_md-comp-data-table.scss +0 -96
  1333. package/tokens/v0_172/_md-comp-date-input-modal.scss +0 -87
  1334. package/tokens/v0_172/_md-comp-date-picker-docked.scss +0 -244
  1335. package/tokens/v0_172/_md-comp-date-picker-modal.scss +0 -303
  1336. package/tokens/v0_172/_md-comp-dialog.scss +0 -121
  1337. package/tokens/v0_172/_md-comp-divider.scss +0 -25
  1338. package/tokens/v0_172/_md-comp-elevated-button.scss +0 -89
  1339. package/tokens/v0_172/_md-comp-elevated-card.scss +0 -57
  1340. package/tokens/v0_172/_md-comp-extended-fab-branded.scss +0 -86
  1341. package/tokens/v0_172/_md-comp-extended-fab-primary.scss +0 -94
  1342. package/tokens/v0_172/_md-comp-extended-fab-secondary.scss +0 -95
  1343. package/tokens/v0_172/_md-comp-extended-fab-surface.scss +0 -90
  1344. package/tokens/v0_172/_md-comp-extended-fab-tertiary.scss +0 -95
  1345. package/tokens/v0_172/_md-comp-fab-branded-large.scss +0 -60
  1346. package/tokens/v0_172/_md-comp-fab-branded.scss +0 -60
  1347. package/tokens/v0_172/_md-comp-fab-primary-large.scss +0 -65
  1348. package/tokens/v0_172/_md-comp-fab-primary-small.scss +0 -65
  1349. package/tokens/v0_172/_md-comp-fab-primary.scss +0 -65
  1350. package/tokens/v0_172/_md-comp-fab-secondary-large.scss +0 -66
  1351. package/tokens/v0_172/_md-comp-fab-secondary-small.scss +0 -66
  1352. package/tokens/v0_172/_md-comp-fab-secondary.scss +0 -66
  1353. package/tokens/v0_172/_md-comp-fab-surface-large.scss +0 -64
  1354. package/tokens/v0_172/_md-comp-fab-surface-small.scss +0 -64
  1355. package/tokens/v0_172/_md-comp-fab-surface.scss +0 -64
  1356. package/tokens/v0_172/_md-comp-fab-tertiary-large.scss +0 -66
  1357. package/tokens/v0_172/_md-comp-fab-tertiary-small.scss +0 -66
  1358. package/tokens/v0_172/_md-comp-fab-tertiary.scss +0 -66
  1359. package/tokens/v0_172/_md-comp-filled-autocomplete.scss +0 -265
  1360. package/tokens/v0_172/_md-comp-filled-button.scss +0 -89
  1361. package/tokens/v0_172/_md-comp-filled-card.scss +0 -59
  1362. package/tokens/v0_172/_md-comp-filled-icon-button.scss +0 -79
  1363. package/tokens/v0_172/_md-comp-filled-menu-button.scss +0 -98
  1364. package/tokens/v0_172/_md-comp-filled-select.scss +0 -270
  1365. package/tokens/v0_172/_md-comp-filled-text-field.scss +0 -190
  1366. package/tokens/v0_172/_md-comp-filled-tonal-button.scss +0 -99
  1367. package/tokens/v0_172/_md-comp-filled-tonal-icon-button.scss +0 -86
  1368. package/tokens/v0_172/_md-comp-filter-chip.scss +0 -207
  1369. package/tokens/v0_172/_md-comp-full-screen-dialog.scss +0 -111
  1370. package/tokens/v0_172/_md-comp-icon-button.scss +0 -70
  1371. package/tokens/v0_172/_md-comp-input-chip.scss +0 -184
  1372. package/tokens/v0_172/_md-comp-linear-progress-indicator.scss +0 -41
  1373. package/tokens/v0_172/_md-comp-list.scss +0 -248
  1374. package/tokens/v0_172/_md-comp-menu.scss +0 -35
  1375. package/tokens/v0_172/_md-comp-navigation-bar.scss +0 -112
  1376. package/tokens/v0_172/_md-comp-navigation-drawer.scss +0 -162
  1377. package/tokens/v0_172/_md-comp-navigation-rail.scss +0 -116
  1378. package/tokens/v0_172/_md-comp-outlined-autocomplete.scss +0 -255
  1379. package/tokens/v0_172/_md-comp-outlined-button.scss +0 -84
  1380. package/tokens/v0_172/_md-comp-outlined-card.scss +0 -63
  1381. package/tokens/v0_172/_md-comp-outlined-icon-button.scss +0 -79
  1382. package/tokens/v0_172/_md-comp-outlined-menu-button.scss +0 -94
  1383. package/tokens/v0_172/_md-comp-outlined-segmented-button.scss +0 -112
  1384. package/tokens/v0_172/_md-comp-outlined-select.scss +0 -260
  1385. package/tokens/v0_172/_md-comp-outlined-text-field.scss +0 -171
  1386. package/tokens/v0_172/_md-comp-plain-tooltip.scss +0 -55
  1387. package/tokens/v0_172/_md-comp-primary-navigation-tab.scss +0 -121
  1388. package/tokens/v0_172/_md-comp-radio-button.scss +0 -68
  1389. package/tokens/v0_172/_md-comp-rich-tooltip.scss +0 -119
  1390. package/tokens/v0_172/_md-comp-scrim.scss +0 -25
  1391. package/tokens/v0_172/_md-comp-search-bar.scss +0 -97
  1392. package/tokens/v0_172/_md-comp-search-view.scss +0 -91
  1393. package/tokens/v0_172/_md-comp-secondary-navigation-tab.scss +0 -84
  1394. package/tokens/v0_172/_md-comp-sheet-bottom.scss +0 -44
  1395. package/tokens/v0_172/_md-comp-sheet-floating.scss +0 -32
  1396. package/tokens/v0_172/_md-comp-sheet-side.scss +0 -91
  1397. package/tokens/v0_172/_md-comp-slider.scss +0 -115
  1398. package/tokens/v0_172/_md-comp-snackbar.scss +0 -127
  1399. package/tokens/v0_172/_md-comp-standard-menu-button.scss +0 -98
  1400. package/tokens/v0_172/_md-comp-suggestion-chip.scss +0 -124
  1401. package/tokens/v0_172/_md-comp-switch.scss +0 -138
  1402. package/tokens/v0_172/_md-comp-text-button.scss +0 -77
  1403. package/tokens/v0_172/_md-comp-time-input.scss +0 -217
  1404. package/tokens/v0_172/_md-comp-time-picker.scss +0 -264
  1405. package/tokens/v0_172/_md-comp-top-app-bar-large.scss +0 -61
  1406. package/tokens/v0_172/_md-comp-top-app-bar-medium.scss +0 -61
  1407. package/tokens/v0_172/_md-comp-top-app-bar-small-centered.scss +0 -68
  1408. package/tokens/v0_172/_md-comp-top-app-bar-small.scss +0 -64
  1409. package/tokens/v0_172/_md-ref-palette.scss +0 -107
  1410. package/tokens/v0_172/_md-ref-typeface.scss +0 -21
  1411. package/tokens/v0_172/_md-sys-color.scss +0 -904
  1412. package/tokens/v0_172/_md-sys-elevation.scss +0 -21
  1413. package/tokens/v0_172/_md-sys-motion.scss +0 -53
  1414. package/tokens/v0_172/_md-sys-shape.scss +0 -30
  1415. package/tokens/v0_172/_md-sys-state.scss +0 -19
  1416. package/tokens/v0_172/_md-sys-typescale.scss +0 -284
  1417. package/types/aria.d.ts +0 -106
  1418. package/types/keys.d.ts +0 -57
  1419. /package/button/{lib → internal}/elevated-styles.css.d.ts +0 -0
  1420. /package/button/{lib → internal}/elevated-styles.scss +0 -0
  1421. /package/button/{lib → internal}/filled-styles.css.d.ts +0 -0
  1422. /package/button/{lib → internal}/filled-styles.scss +0 -0
  1423. /package/{iconbutton/lib → button/internal}/filled-tonal-styles.css.d.ts +0 -0
  1424. /package/button/{lib → internal}/outlined-styles.css.d.ts +0 -0
  1425. /package/button/{lib → internal}/outlined-styles.scss +0 -0
  1426. /package/button/{lib → internal}/shared-elevation-styles.css.d.ts +0 -0
  1427. /package/button/{lib → internal}/shared-elevation-styles.scss +0 -0
  1428. /package/button/{lib → internal}/shared-styles.css.d.ts +0 -0
  1429. /package/button/{lib → internal}/shared-styles.scss +0 -0
  1430. /package/button/{lib → internal}/text-styles.css.d.ts +0 -0
  1431. /package/button/{lib → internal}/text-styles.scss +0 -0
  1432. /package/checkbox/{lib → internal}/checkbox-styles.css.d.ts +0 -0
  1433. /package/checkbox/{lib → internal}/checkbox-styles.scss +0 -0
  1434. /package/chips/{lib → internal}/assist-styles.css.d.ts +0 -0
  1435. /package/chips/{lib → internal}/assist-styles.scss +0 -0
  1436. /package/{badge/lib/badge-styles.css.d.ts → chips/internal/chip-set-styles.css.d.ts} +0 -0
  1437. /package/chips/{lib → internal}/elevated-styles.css.d.ts +0 -0
  1438. /package/chips/{lib → internal}/elevated-styles.scss +0 -0
  1439. /package/chips/{lib → internal}/filter-styles.css.d.ts +0 -0
  1440. /package/chips/{lib → internal}/filter-styles.scss +0 -0
  1441. /package/{button/lib/tonal-styles.css.d.ts → chips/internal/input-styles.css.d.ts} +0 -0
  1442. /package/{checkbox/lib/forced-colors-styles.css.d.ts → chips/internal/selectable-styles.css.d.ts} +0 -0
  1443. /package/chips/{lib → internal}/shared-styles.css.d.ts +0 -0
  1444. /package/chips/{lib → internal}/shared-styles.scss +0 -0
  1445. /package/chips/{lib → internal}/suggestion-chip.d.ts +0 -0
  1446. /package/chips/{lib → internal}/suggestion-chip.js +0 -0
  1447. /package/chips/{lib → internal}/suggestion-chip.js.map +0 -0
  1448. /package/chips/{lib → internal}/suggestion-styles.css.d.ts +0 -0
  1449. /package/chips/{lib → internal}/suggestion-styles.scss +0 -0
  1450. /package/{circularprogress/lib/circular-progress-styles.css.d.ts → chips/internal/trailing-icon-styles.css.d.ts} +0 -0
  1451. /package/dialog/{lib → internal}/dialog-styles.css.d.ts +0 -0
  1452. /package/dialog/{lib → internal}/dialog-styles.scss +0 -0
  1453. /package/divider/{lib → internal}/divider-styles.css.d.ts +0 -0
  1454. /package/divider/{lib → internal}/divider-styles.css.js +0 -0
  1455. /package/divider/{lib → internal}/divider-styles.css.js.map +0 -0
  1456. /package/divider/{lib → internal}/divider-styles.scss +0 -0
  1457. /package/divider/{lib → internal}/divider.d.ts +0 -0
  1458. /package/divider/{lib → internal}/divider.js +0 -0
  1459. /package/divider/{lib → internal}/divider.js.map +0 -0
  1460. /package/elevation/{lib → internal}/elevation-styles.css.d.ts +0 -0
  1461. /package/elevation/{lib → internal}/elevation-styles.scss +0 -0
  1462. /package/fab/{lib → internal}/_fab-branded.scss +0 -0
  1463. /package/fab/{lib → internal}/fab-branded-styles.css.d.ts +0 -0
  1464. /package/fab/{lib → internal}/fab-branded-styles.scss +0 -0
  1465. /package/fab/{lib → internal}/fab-styles.css.d.ts +0 -0
  1466. /package/fab/{lib → internal}/fab-styles.scss +0 -0
  1467. /package/fab/{lib → internal}/fab.js +0 -0
  1468. /package/fab/{lib → internal}/forced-colors-styles.css.d.ts +0 -0
  1469. /package/fab/{lib → internal}/shared-styles.css.d.ts +0 -0
  1470. /package/fab/{lib → internal}/shared-styles.scss +0 -0
  1471. /package/field/{lib → internal}/filled-field.d.ts +0 -0
  1472. /package/field/{lib → internal}/filled-field.js +0 -0
  1473. /package/field/{lib → internal}/filled-field.js.map +0 -0
  1474. /package/field/{lib → internal}/filled-styles.css.d.ts +0 -0
  1475. /package/field/{lib → internal}/filled-styles.scss +0 -0
  1476. /package/field/{lib → internal}/outlined-field.js +0 -0
  1477. /package/field/{lib → internal}/outlined-styles.css.d.ts +0 -0
  1478. /package/field/{lib → internal}/outlined-styles.scss +0 -0
  1479. /package/field/{lib → internal}/shared-styles.css.d.ts +0 -0
  1480. /package/field/{lib → internal}/shared-styles.scss +0 -0
  1481. /package/focus/{lib → internal}/focus-ring-styles.css.d.ts +0 -0
  1482. /package/focus/{lib → internal}/focus-ring-styles.scss +0 -0
  1483. /package/icon/{lib → internal}/icon-styles.css.d.ts +0 -0
  1484. /package/icon/{lib → internal}/icon-styles.scss +0 -0
  1485. /package/iconbutton/{lib → internal}/filled-styles.css.d.ts +0 -0
  1486. /package/iconbutton/{lib → internal}/filled-styles.scss +0 -0
  1487. /package/iconbutton/{lib/outlined-styles.css.d.ts → internal/filled-tonal-styles.css.d.ts} +0 -0
  1488. /package/iconbutton/{lib → internal}/filled-tonal-styles.scss +0 -0
  1489. /package/{segmentedbutton/lib → iconbutton/internal}/outlined-styles.css.d.ts +0 -0
  1490. /package/iconbutton/{lib → internal}/outlined-styles.scss +0 -0
  1491. /package/iconbutton/{lib → internal}/shared-styles.css.d.ts +0 -0
  1492. /package/iconbutton/{lib → internal}/shared-styles.scss +0 -0
  1493. /package/iconbutton/{lib → internal}/standard-styles.css.d.ts +0 -0
  1494. /package/{controller → internal/controller}/events.d.ts +0 -0
  1495. /package/{controller → internal/controller}/events.js +0 -0
  1496. /package/{controller → internal/controller}/events.js.map +0 -0
  1497. /package/{controller → internal/controller}/is-rtl.d.ts +0 -0
  1498. /package/{controller → internal/controller}/is-rtl.js +0 -0
  1499. /package/{controller → internal/controller}/is-rtl.js.map +0 -0
  1500. /package/{controller → internal/controller}/string-converter.d.ts +0 -0
  1501. /package/{controller → internal/controller}/string-converter.js +0 -0
  1502. /package/{controller → internal/controller}/string-converter.js.map +0 -0
  1503. /package/{motion → internal/motion}/_animation.scss +0 -0
  1504. /package/{sass → internal/sass}/_string-ext.scss +0 -0
  1505. /package/{linearprogress/lib/linear-progress-styles.css.d.ts → labs/badge/internal/badge-styles.css.d.ts} +0 -0
  1506. /package/{badge/lib → labs/badge/internal}/badge-styles.scss +0 -0
  1507. /package/{badge/lib → labs/badge/internal}/badge.d.ts +0 -0
  1508. /package/{badge/lib → labs/badge/internal}/badge.js +0 -0
  1509. /package/{badge/lib → labs/badge/internal}/badge.js.map +0 -0
  1510. /package/{list/lib/list-styles.css.d.ts → labs/item/internal/item-styles.css.d.ts} +0 -0
  1511. /package/{navigationbar/lib → labs/navigationbar/internal}/constants.js +0 -0
  1512. /package/{navigationbar/lib → labs/navigationbar/internal}/navigation-bar-styles.css.d.ts +0 -0
  1513. /package/{navigationbar/lib → labs/navigationbar/internal}/navigation-bar-styles.scss +0 -0
  1514. /package/{navigationbar/lib → labs/navigationbar/internal}/state.js +0 -0
  1515. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/_shared.scss +0 -0
  1516. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/navigation-drawer-modal-styles.css.d.ts +0 -0
  1517. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/navigation-drawer-modal-styles.scss +0 -0
  1518. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/navigation-drawer-modal.d.ts +0 -0
  1519. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/navigation-drawer-styles.css.d.ts +0 -0
  1520. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/navigation-drawer-styles.scss +0 -0
  1521. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/shared-styles.css.d.ts +0 -0
  1522. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/shared-styles.css.js +0 -0
  1523. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/shared-styles.css.js.map +0 -0
  1524. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/shared-styles.scss +0 -0
  1525. /package/{navigationtab/lib → labs/navigationtab/internal}/navigation-tab-styles.css.d.ts +0 -0
  1526. /package/{navigationtab/lib → labs/navigationtab/internal}/navigation-tab-styles.scss +0 -0
  1527. /package/{navigationtab/lib → labs/navigationtab/internal}/state.d.ts +0 -0
  1528. /package/{navigationtab/lib → labs/navigationtab/internal}/state.js +0 -0
  1529. /package/{navigationtab/lib → labs/navigationtab/internal}/state.js.map +0 -0
  1530. /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/outlined-segmented-button.d.ts +0 -0
  1531. /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/outlined-segmented-button.js +0 -0
  1532. /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/outlined-segmented-button.js.map +0 -0
  1533. /package/{segmentedbuttonset/lib → labs/segmentedbutton/internal}/outlined-styles.css.d.ts +0 -0
  1534. /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/outlined-styles.scss +0 -0
  1535. /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/shared-styles.css.d.ts +0 -0
  1536. /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/shared-styles.scss +0 -0
  1537. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/_shared.scss +0 -0
  1538. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/outlined-segmented-button-set.d.ts +0 -0
  1539. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/outlined-segmented-button-set.js +0 -0
  1540. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/outlined-segmented-button-set.js.map +0 -0
  1541. /package/{textfield/lib → labs/segmentedbuttonset/internal}/outlined-styles.css.d.ts +0 -0
  1542. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/outlined-styles.scss +0 -0
  1543. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/shared-styles.css.d.ts +0 -0
  1544. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/shared-styles.css.js +0 -0
  1545. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/shared-styles.css.js.map +0 -0
  1546. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/shared-styles.scss +0 -0
  1547. /package/list/{lib/listitem/forced-colors-styles.css.d.ts → internal/list-styles.css.d.ts} +0 -0
  1548. /package/list/{lib → internal}/list-styles.scss +0 -0
  1549. /package/{menu/lib → list/internal/listitem}/forced-colors-styles.css.d.ts +0 -0
  1550. /package/list/{lib → internal}/listitem/list-item-styles.css.d.ts +0 -0
  1551. /package/list/{lib → internal}/listitem/list-item-styles.scss +0 -0
  1552. /package/menu/{lib/menuitem → internal}/forced-colors-styles.css.d.ts +0 -0
  1553. /package/menu/{lib → internal}/forced-colors-styles.css.js +0 -0
  1554. /package/menu/{lib → internal}/forced-colors-styles.css.js.map +0 -0
  1555. /package/menu/{lib → internal}/forced-colors-styles.scss +0 -0
  1556. /package/menu/{lib → internal}/menu-styles.css.d.ts +0 -0
  1557. /package/menu/{lib → internal}/menu-styles.scss +0 -0
  1558. /package/{radio/lib → menu/internal/menuitem}/forced-colors-styles.css.d.ts +0 -0
  1559. /package/menu/{lib → internal}/menuitem/menu-item-styles.css.d.ts +0 -0
  1560. /package/menu/{lib → internal}/menuitem/menu-item-styles.scss +0 -0
  1561. /package/{radio/lib/radio-styles.css.d.ts → menu/internal/submenu/sub-menu-styles.css.d.ts} +0 -0
  1562. /package/menu/{lib → internal}/types.d.ts +0 -0
  1563. /package/menu/{lib → internal}/types.js +0 -0
  1564. /package/menu/{lib → internal}/types.js.map +0 -0
  1565. /package/{ripple/lib/ripple-styles.css.d.ts → progress/internal/circular-progress-styles.css.d.ts} +0 -0
  1566. /package/{circularprogress/lib → progress/internal}/circular-progress-styles.scss +0 -0
  1567. /package/{select/lib/filled-forced-colors-styles.css.d.ts → progress/internal/linear-progress-styles.css.d.ts} +0 -0
  1568. /package/{linearprogress/lib → progress/internal}/linear-progress-styles.scss +0 -0
  1569. /package/{slider/lib → radio/internal}/forced-colors-styles.css.d.ts +0 -0
  1570. /package/{select/lib/filled-select-styles.css.d.ts → radio/internal/radio-styles.css.d.ts} +0 -0
  1571. /package/radio/{lib → internal}/radio-styles.scss +0 -0
  1572. /package/radio/{lib → internal}/single-selection-controller.d.ts +0 -0
  1573. /package/{select/lib/outlined-forced-colors-styles.css.d.ts → ripple/internal/ripple-styles.css.d.ts} +0 -0
  1574. /package/ripple/{lib → internal}/ripple-styles.scss +0 -0
  1575. /package/{textfield/lib → select/internal}/filled-forced-colors-styles.css.d.ts +0 -0
  1576. /package/select/{lib → internal}/filled-forced-colors-styles.css.js +0 -0
  1577. /package/select/{lib → internal}/filled-forced-colors-styles.css.js.map +0 -0
  1578. /package/select/{lib → internal}/filled-forced-colors-styles.scss +0 -0
  1579. /package/select/{lib/outlined-select-styles.css.d.ts → internal/filled-select-styles.css.d.ts} +0 -0
  1580. /package/select/{lib → internal}/filled-select-styles.scss +0 -0
  1581. /package/select/{lib → internal}/filled-select.d.ts +0 -0
  1582. /package/select/{lib → internal}/filled-select.js +0 -0
  1583. /package/select/{lib → internal}/filled-select.js.map +0 -0
  1584. /package/{textfield/lib → select/internal}/outlined-forced-colors-styles.css.d.ts +0 -0
  1585. /package/select/{lib → internal}/outlined-forced-colors-styles.css.js +0 -0
  1586. /package/select/{lib → internal}/outlined-forced-colors-styles.css.js.map +0 -0
  1587. /package/select/{lib → internal}/outlined-forced-colors-styles.scss +0 -0
  1588. /package/select/{lib/shared-styles.css.d.ts → internal/outlined-select-styles.css.d.ts} +0 -0
  1589. /package/select/{lib → internal}/outlined-select-styles.scss +0 -0
  1590. /package/select/{lib → internal}/outlined-select.d.ts +0 -0
  1591. /package/select/{lib → internal}/outlined-select.js +0 -0
  1592. /package/select/{lib → internal}/outlined-select.js.map +0 -0
  1593. /package/{textfield/lib → select/internal}/shared-styles.css.d.ts +0 -0
  1594. /package/select/{lib → internal}/shared-styles.scss +0 -0
  1595. /package/slider/{lib/slider-styles.css.d.ts → internal/forced-colors-styles.css.d.ts} +0 -0
  1596. /package/{switch/lib/switch-styles.css.d.ts → slider/internal/slider-styles.css.d.ts} +0 -0
  1597. /package/slider/{lib → internal}/slider-styles.scss +0 -0
  1598. /package/{textfield/lib/filled-styles.css.d.ts → switch/internal/forced-colors-styles.css.d.ts} +0 -0
  1599. /package/{tokens/v0_172/index.test.css.d.ts → switch/internal/switch-styles.css.d.ts} +0 -0
  1600. /package/switch/{lib → internal}/switch-styles.scss +0 -0
  1601. /package/{tokens/v0_172/lib.test.css.d.ts → tabs/internal/primary-tab-styles.css.d.ts} +0 -0
  1602. /package/textfield/{lib → internal}/_icon.scss +0 -0
  1603. /package/textfield/{lib → internal}/filled-forced-colors-styles.css.js +0 -0
  1604. /package/textfield/{lib → internal}/filled-forced-colors-styles.css.js.map +0 -0
  1605. /package/textfield/{lib → internal}/filled-forced-colors-styles.scss +0 -0
  1606. /package/textfield/{lib → internal}/filled-styles.scss +0 -0
  1607. /package/textfield/{lib → internal}/filled-text-field.d.ts +0 -0
  1608. /package/textfield/{lib → internal}/filled-text-field.js +0 -0
  1609. /package/textfield/{lib → internal}/filled-text-field.js.map +0 -0
  1610. /package/textfield/{lib → internal}/outlined-forced-colors-styles.css.js +0 -0
  1611. /package/textfield/{lib → internal}/outlined-forced-colors-styles.css.js.map +0 -0
  1612. /package/textfield/{lib → internal}/outlined-forced-colors-styles.scss +0 -0
  1613. /package/textfield/{lib → internal}/outlined-styles.scss +0 -0
  1614. /package/textfield/{lib → internal}/outlined-text-field.d.ts +0 -0
  1615. /package/textfield/{lib → internal}/outlined-text-field.js +0 -0
  1616. /package/textfield/{lib → internal}/outlined-text-field.js.map +0 -0
  1617. /package/textfield/{lib → internal}/shared-styles.scss +0 -0
  1618. /package/tokens/{v0_172 → v0_192}/_index.scss +0 -0
  1619. /package/tokens/{v0_172 → v0_192}/index.test.css.js +0 -0
  1620. /package/tokens/{v0_172 → v0_192}/index.test.css.js.map +0 -0
  1621. /package/tokens/{v0_172 → v0_192}/index.test.scss +0 -0
  1622. /package/tokens/{v0_172 → v0_192}/lib.test.css.js +0 -0
  1623. /package/tokens/{v0_172 → v0_192}/lib.test.css.js.map +0 -0
  1624. /package/tokens/{v0_172 → v0_192}/lib.test.scss +0 -0
@@ -1,589 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- var _a;
7
- import { __decorate } from "tslib";
8
- import '../../menu/menu.js';
9
- import { html, LitElement, nothing } from 'lit';
10
- import { property, query, queryAssignedElements, state } from 'lit/decorators.js';
11
- import { classMap } from 'lit/directives/class-map.js';
12
- import { html as staticHtml } from 'lit/static-html.js';
13
- import { List } from '../../list/lib/list.js';
14
- import { DEFAULT_TYPEAHEAD_BUFFER_TIME } from '../../menu/lib/menu.js';
15
- import { isElementInSubtree, isSelectableKey } from '../../menu/lib/shared.js';
16
- import { TYPEAHEAD_RECORD } from '../../menu/lib/typeaheadController.js';
17
- import { getSelectedItems } from './shared.js';
18
- const VALUE = Symbol('value');
19
- /**
20
- * @fires input Fired when a selection is made by the user via mouse or keyboard
21
- * interaction.
22
- * @fires change Fired when a selection is made by the user via mouse or
23
- * keyboard interaction.
24
- */
25
- export class Select extends LitElement {
26
- constructor() {
27
- super(...arguments);
28
- /**
29
- * Opens the menu synchronously with no animation.
30
- */
31
- this.quick = false;
32
- /**
33
- * Whether or not the select is required.
34
- */
35
- this.required = false;
36
- /**
37
- * Disables the select.
38
- */
39
- this.disabled = false;
40
- /**
41
- * The error message that replaces supporting text when `error` is true. If
42
- * `errorText` is an empty string, then the supporting text will continue to
43
- * show.
44
- *
45
- * Calling `reportValidity()` will automatically update `errorText` to the
46
- * native `validationMessage`.
47
- */
48
- this.errorText = '';
49
- /**
50
- * The floating label for the field.
51
- */
52
- this.label = '';
53
- /**
54
- * Conveys additional information below the text field, such as how it should
55
- * be used.
56
- */
57
- this.supportingText = '';
58
- /**
59
- * Gets or sets whether or not the text field is in a visually invalid state.
60
- *
61
- * Calling `reportValidity()` will automatically update `error`.
62
- */
63
- this.error = false;
64
- /**
65
- * Whether or not the underlying md-menu should be position: fixed to display
66
- * in a top-level manner.
67
- */
68
- this.menuFixed = false;
69
- /**
70
- * The max time between the keystrokes of the typeahead select / menu behavior
71
- * before it clears the typeahead buffer.
72
- */
73
- this.typeaheadBufferTime = DEFAULT_TYPEAHEAD_BUFFER_TIME;
74
- /**
75
- * Whether or not the text field has a leading icon. Used for SSR.
76
- */
77
- this.hasLeadingIcon = false;
78
- /**
79
- * Whether or not the text field has a trailing icon. Used for SSR.
80
- */
81
- this.hasTrailingIcon = false;
82
- /**
83
- * Text to display in the field. Only set for SSR.
84
- */
85
- this.displayText = '';
86
- /**
87
- * When set to true, the error text's `role="alert"` will be removed, then
88
- * re-added after an animation frame. This will re-announce an error message
89
- * to screen readers.
90
- */
91
- this.refreshErrorAlert = false;
92
- this.focused = false;
93
- this.open = false;
94
- this[_a] = '';
95
- /**
96
- * Used for initializing select when the user sets the `value` directly.
97
- */
98
- this.lastUserSetValue = null;
99
- /**
100
- * Used for initializing select when the user sets the `selectedIndex`
101
- * directly.
102
- */
103
- this.lastUserSetSelectedIndex = null;
104
- /**
105
- * Used for `input` and `change` event change detection.
106
- */
107
- this.lastSelectedOption = null;
108
- // tslint:disable-next-line:enforce-name-casing
109
- this.lastSelectedOptionRecords = [];
110
- }
111
- /**
112
- * The value of the currently selected option.
113
- *
114
- * Note: For SSR, set `[selected]` on the requested option and `displayText`
115
- * rather than setting `value` setting `value` will incur a DOM query.
116
- */
117
- get value() {
118
- return this[VALUE];
119
- }
120
- set value(value) {
121
- this.lastUserSetValue = value;
122
- this.select(value);
123
- }
124
- get options() {
125
- // NOTE: this does a DOM query.
126
- return (this.menu?.items ?? []);
127
- }
128
- /**
129
- * The index of the currently selected option.
130
- *
131
- * Note: For SSR, set `[selected]` on the requested option and `displayText`
132
- * rather than setting `selectedIndex` setting `selectedIndex` will incur a
133
- * DOM query.
134
- */
135
- get selectedIndex() {
136
- // tslint:disable-next-line:enforce-name-casing
137
- const [_option, index] = (this.getSelectedOptions() ?? [])[0] ?? [];
138
- return index ?? -1;
139
- }
140
- set selectedIndex(index) {
141
- this.lastUserSetSelectedIndex = index;
142
- this.selectIndex(index);
143
- }
144
- /**
145
- * Returns an array of selected options.
146
- *
147
- * NOTE: md-select only suppoprts single selection.
148
- */
149
- get selectedOptions() {
150
- return (this.getSelectedOptions() ?? []).map(([option]) => option);
151
- }
152
- render() {
153
- return html `
154
- <span
155
- class="select ${classMap(this.getRenderClasses())}"
156
- @focusout=${this.handleFocusout}>
157
- ${this.renderField()}
158
- ${this.renderMenu()}
159
- </span>
160
- `;
161
- }
162
- getRenderClasses() {
163
- return {
164
- 'disabled': this.disabled,
165
- 'error': this.error,
166
- };
167
- }
168
- renderField() {
169
- return staticHtml `
170
- <${this.fieldTag}
171
- aria-haspopup="listbox"
172
- role="combobox"
173
- tabindex=${this.disabled ? '-1' : '0'}
174
- aria-expanded=${this.open ? 'true' : 'false'}
175
- class="field"
176
- label=${this.label}
177
- .focused=${this.focused || this.open}
178
- .populated=${!!this.displayText}
179
- .disabled=${this.disabled}
180
- .required=${this.required}
181
- .error=${this.error}
182
- .hasStart=${this.hasLeadingIcon}
183
- .hasEnd=${this.hasTrailingIcon}
184
- @keydown =${this.handleKeydown}
185
- @click=${this.handleClick}
186
- @focus=${this.handleFocus}
187
- @blur=${this.handleBlur}>
188
- ${this.renderFieldContent()}
189
- </${this.fieldTag}>`;
190
- }
191
- renderFieldContent() {
192
- return [
193
- this.renderLeadingIcon(),
194
- this.renderLabel(),
195
- this.renderTrailingIcon(),
196
- this.renderSupportingText(),
197
- ];
198
- }
199
- renderLeadingIcon() {
200
- return html `
201
- <span class="icon leading" slot="start">
202
- <slot name="leadingicon" @slotchange=${this.handleIconChange}></slot>
203
- </span>
204
- `;
205
- }
206
- renderTrailingIcon() {
207
- return html `
208
- <span class="icon trailing" slot="end">
209
- <slot name="trailingicon" @slotchange=${this.handleIconChange}></slot>
210
- </span>
211
- `;
212
- }
213
- renderLabel() {
214
- // need to render &nbsp; so that line-height can apply and give it a
215
- // non-zero height
216
- return html `<div
217
- id="label"
218
- class="label">${this.displayText || html `&nbsp;`}</div>`;
219
- }
220
- renderSupportingText() {
221
- const text = this.getSupportingText();
222
- if (!text) {
223
- return nothing;
224
- }
225
- return html `<span id="support"
226
- slot="supporting-text"
227
- role=${this.shouldErrorAnnounce() ? 'alert' : nothing}>${text}</span>`;
228
- }
229
- getSupportingText() {
230
- return this.error && this.errorText ? this.errorText : this.supportingText;
231
- }
232
- shouldErrorAnnounce() {
233
- // Announce if there is an error and error text visible.
234
- // If refreshErrorAlert is true, do not announce. This will remove the
235
- // role="alert" attribute. Another render cycle will happen after an
236
- // animation frame to re-add the role.
237
- return this.error && !!this.errorText && !this.refreshErrorAlert;
238
- }
239
- renderMenu() {
240
- return html `
241
- <md-menu
242
- id="listbox"
243
- default-focus="NONE"
244
- listTabIndex="-1"
245
- type="listbox"
246
- stay-open-on-focusout
247
- .anchor=${this.field}
248
- .open=${this.open}
249
- .quick=${this.quick}
250
- .fixed=${this.menuFixed}
251
- .typeaheadBufferTime=${this.typeaheadBufferTime}
252
- @opening=${this.handleOpening}
253
- @closing=${this.handleClosing}
254
- @close-menu=${this.handleCloseMenu}
255
- @request-selection=${this.handleRequestSelection}
256
- @request-deselection=${this.handleRequestDeselection}>
257
- ${this.renderMenuContent()}
258
- </md-menu>`;
259
- }
260
- renderMenuContent() {
261
- return html `<slot></slot>`;
262
- }
263
- /**
264
- * Handles opening the select on keydown and typahead selection when the menu
265
- * is closed.
266
- */
267
- handleKeydown(e) {
268
- if (this.open || this.disabled || !this.menu) {
269
- return;
270
- }
271
- const typeaheadController = this.menu.typeaheadController;
272
- const isOpenKey = e.code === 'Space' || e.code === 'ArrowDown' || e.code === 'Enter';
273
- // Do not open if currently typing ahead because the user may be typing the
274
- // spacebar to match a word with a space
275
- if (!typeaheadController.isTypingAhead && isOpenKey) {
276
- e.preventDefault();
277
- this.open = true;
278
- return;
279
- }
280
- const isPrintableKey = e.key.length === 1;
281
- // Handles typing ahead when the menu is closed by delegating the event to
282
- // the underlying menu's typeaheadController
283
- if (isPrintableKey) {
284
- typeaheadController.onKeydown(e);
285
- e.preventDefault();
286
- const { lastActiveRecord } = typeaheadController;
287
- if (!lastActiveRecord) {
288
- return;
289
- }
290
- const hasChanged = this.selectItem(lastActiveRecord[TYPEAHEAD_RECORD.ITEM]);
291
- if (hasChanged) {
292
- this.dispatchInteractionEvents();
293
- }
294
- }
295
- }
296
- handleClick() {
297
- this.open = true;
298
- }
299
- handleFocus() {
300
- this.focused = true;
301
- }
302
- handleBlur() {
303
- this.focused = false;
304
- }
305
- /**
306
- * Handles closing the menu when the focus leaves the select's subtree.
307
- */
308
- handleFocusout(e) {
309
- // Don't close the menu if we are switching focus between menu,
310
- // select-option, and field
311
- if (e.relatedTarget && isElementInSubtree(e.relatedTarget, this)) {
312
- return;
313
- }
314
- this.open = false;
315
- }
316
- /**
317
- * Gets a list of all selected select options as a list item record array.
318
- *
319
- * @return An array of selected list option records.
320
- */
321
- getSelectedOptions() {
322
- if (!this.menu) {
323
- this.lastSelectedOptionRecords = [];
324
- return null;
325
- }
326
- const items = this.menu.items;
327
- this.lastSelectedOptionRecords = getSelectedItems(items);
328
- return this.lastSelectedOptionRecords;
329
- }
330
- async getUpdateComplete() {
331
- await this.menu?.updateComplete;
332
- return super.getUpdateComplete();
333
- }
334
- /**
335
- * Gets the selected options from the DOM, and updates the value and display
336
- * text to the first selected option's value and headline respectively.
337
- *
338
- * @return Whether or not the selected option has changed since last update.
339
- */
340
- updateValueAndDisplayText() {
341
- const selectedOptions = this.getSelectedOptions() ?? [];
342
- // Used to determine whether or not we need to fire an input / change event
343
- // which fire whenever the option element changes (value or selectedIndex)
344
- // on user interaction.
345
- let hasSelectedOptionChanged = false;
346
- if (selectedOptions.length) {
347
- const [firstSelectedOption] = selectedOptions[0];
348
- hasSelectedOptionChanged =
349
- this.lastSelectedOption !== firstSelectedOption;
350
- this.lastSelectedOption = firstSelectedOption;
351
- this[VALUE] = firstSelectedOption.value;
352
- this.displayText = firstSelectedOption.headline;
353
- }
354
- else {
355
- hasSelectedOptionChanged = this.lastSelectedOption !== null;
356
- this.lastSelectedOption = null;
357
- this[VALUE] = '';
358
- this.displayText = '';
359
- }
360
- return hasSelectedOptionChanged;
361
- }
362
- update(changed) {
363
- // In SSR the options will be ready to query, so try to figure out what
364
- // the value and display text should be.
365
- if (!this.hasUpdated) {
366
- this.initUserSelection();
367
- }
368
- super.update(changed);
369
- }
370
- async firstUpdated(changed) {
371
- await this.menu?.updateComplete;
372
- // If this has been handled on update already due to SSR, try again.
373
- if (!this.lastSelectedOptionRecords.length) {
374
- this.initUserSelection();
375
- }
376
- super.firstUpdated(changed);
377
- }
378
- updated(changedProperties) {
379
- // Keep changedProperties arg so that subclasses may call it
380
- if (this.refreshErrorAlert) {
381
- // The past render cycle removed the role="alert" from the error message.
382
- // Re-add it after an animation frame to re-announce the error.
383
- requestAnimationFrame(() => {
384
- this.refreshErrorAlert = false;
385
- });
386
- }
387
- }
388
- /**
389
- * Focuses and activates the last selected item upon opening, and resets other
390
- * active items.
391
- */
392
- async handleOpening() {
393
- const items = this.menu.items;
394
- const activeItem = List.getActiveItem(items)?.item;
395
- const [selectedItem] = this.lastSelectedOptionRecords[0] ?? [null];
396
- // This is true if the user keys through the list but clicks out of the menu
397
- // thus no close-menu event is fired by an item and we can't clean up in
398
- // handleCloseMenu.
399
- if (activeItem && activeItem !== selectedItem) {
400
- activeItem.active = false;
401
- }
402
- if (selectedItem) {
403
- selectedItem.active = true;
404
- selectedItem.focus();
405
- }
406
- }
407
- handleClosing() {
408
- this.open = false;
409
- }
410
- /**
411
- * Determines the reason for closing, and updates the UI accordingly.
412
- */
413
- handleCloseMenu(e) {
414
- const reason = e.reason;
415
- const item = e.itemPath[0];
416
- this.open = false;
417
- let hasChanged = false;
418
- if (reason.kind === 'CLICK_SELECTION') {
419
- hasChanged = this.selectItem(item);
420
- }
421
- else if (reason.kind === 'KEYDOWN' && isSelectableKey(reason.key)) {
422
- hasChanged = this.selectItem(item);
423
- }
424
- else {
425
- // This can happen on ESC being pressed
426
- item.active = false;
427
- item.blur();
428
- }
429
- // Dispatch interaction events since selection has been made via keyboard
430
- // or mouse.
431
- if (hasChanged) {
432
- this.dispatchInteractionEvents();
433
- }
434
- }
435
- /**
436
- * Selects a given option, deselects other options, and updates the UI.
437
- *
438
- * @return Whether the last selected option has changed.
439
- */
440
- selectItem(item) {
441
- this.lastSelectedOptionRecords.forEach(([option]) => {
442
- if (item !== option) {
443
- option.selected = false;
444
- }
445
- });
446
- item.selected = true;
447
- return this.updateValueAndDisplayText();
448
- }
449
- /**
450
- * Handles updating selection when an option element requests selection via
451
- * property / attribute change.
452
- */
453
- handleRequestSelection(e) {
454
- const requestingOptionEl = e.target;
455
- // No-op if this item is already selected.
456
- if (this.lastSelectedOptionRecords.some(([option]) => option === requestingOptionEl)) {
457
- return;
458
- }
459
- this.selectItem(requestingOptionEl);
460
- }
461
- /**
462
- * Handles updating selection when an option element requests deselection via
463
- * property / attribute change.
464
- */
465
- handleRequestDeselection(e) {
466
- const requestingOptionEl = e.target;
467
- // No-op if this item is not even in the list of tracked selected items.
468
- if (!this.lastSelectedOptionRecords.some(([option]) => option === requestingOptionEl)) {
469
- return;
470
- }
471
- this.updateValueAndDisplayText();
472
- }
473
- /**
474
- * Selects an option given the value of the option, and updates MdSelect's
475
- * value.
476
- */
477
- select(value) {
478
- const optionToSelect = this.options.find(option => option.value === value);
479
- if (optionToSelect) {
480
- this.selectItem(optionToSelect);
481
- }
482
- }
483
- /**
484
- * Selects an option given the index of the option, and updates MdSelect's
485
- * value.
486
- */
487
- selectIndex(index) {
488
- const optionToSelect = this.options[index];
489
- if (optionToSelect) {
490
- this.selectItem(optionToSelect);
491
- }
492
- }
493
- /**
494
- * Attempts to initialize the selected option from user-settable values like
495
- * SSR, setting `value`, or `selectedIndex` at startup.
496
- */
497
- initUserSelection() {
498
- // User has set `.value` directly, but internals have not yet booted up.
499
- if (this.lastUserSetValue && !this.lastSelectedOptionRecords.length) {
500
- this.select(this.lastUserSetValue);
501
- // User has set `.selectedIndex` directly, but internals have not yet
502
- // booted up.
503
- }
504
- else if (this.lastUserSetSelectedIndex !== null &&
505
- !this.lastSelectedOptionRecords.length) {
506
- this.selectIndex(this.lastUserSetSelectedIndex);
507
- // Regular boot up!
508
- }
509
- else {
510
- this.updateValueAndDisplayText();
511
- }
512
- }
513
- handleIconChange() {
514
- this.hasLeadingIcon = this.leadingIcons.length > 0;
515
- this.hasTrailingIcon = this.trailingIcons.length > 0;
516
- }
517
- /**
518
- * Dispatches the `input` and `change` events.
519
- */
520
- dispatchInteractionEvents() {
521
- this.dispatchEvent(new Event('input', { bubbles: true, composed: true }));
522
- this.dispatchEvent(new Event('change', { bubbles: true }));
523
- }
524
- }
525
- _a = VALUE;
526
- __decorate([
527
- property({ type: Boolean })
528
- ], Select.prototype, "quick", void 0);
529
- __decorate([
530
- property({ type: Boolean })
531
- ], Select.prototype, "required", void 0);
532
- __decorate([
533
- property({ type: Boolean, reflect: true })
534
- ], Select.prototype, "disabled", void 0);
535
- __decorate([
536
- property({ type: String })
537
- ], Select.prototype, "errorText", void 0);
538
- __decorate([
539
- property()
540
- ], Select.prototype, "label", void 0);
541
- __decorate([
542
- property({ type: String })
543
- ], Select.prototype, "supportingText", void 0);
544
- __decorate([
545
- property({ type: Boolean, reflect: true })
546
- ], Select.prototype, "error", void 0);
547
- __decorate([
548
- property({ type: Boolean })
549
- ], Select.prototype, "menuFixed", void 0);
550
- __decorate([
551
- property({ type: Number })
552
- ], Select.prototype, "typeaheadBufferTime", void 0);
553
- __decorate([
554
- property({ type: Boolean })
555
- ], Select.prototype, "hasLeadingIcon", void 0);
556
- __decorate([
557
- property({ type: Boolean })
558
- ], Select.prototype, "hasTrailingIcon", void 0);
559
- __decorate([
560
- property()
561
- ], Select.prototype, "displayText", void 0);
562
- __decorate([
563
- state()
564
- ], Select.prototype, "refreshErrorAlert", void 0);
565
- __decorate([
566
- state()
567
- ], Select.prototype, "focused", void 0);
568
- __decorate([
569
- state()
570
- ], Select.prototype, "open", void 0);
571
- __decorate([
572
- query('.field')
573
- ], Select.prototype, "field", void 0);
574
- __decorate([
575
- query('md-menu')
576
- ], Select.prototype, "menu", void 0);
577
- __decorate([
578
- queryAssignedElements({ slot: 'leadingicon', flatten: true })
579
- ], Select.prototype, "leadingIcons", void 0);
580
- __decorate([
581
- queryAssignedElements({ slot: 'trailingicon', flatten: true })
582
- ], Select.prototype, "trailingIcons", void 0);
583
- __decorate([
584
- property()
585
- ], Select.prototype, "value", null);
586
- __decorate([
587
- property({ type: Number })
588
- ], Select.prototype, "selectedIndex", null);
589
- //# sourceMappingURL=select.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["select.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;;AAEH,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAiB,MAAM,KAAK,CAAC;AAC9D,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAC,IAAI,IAAI,UAAU,EAAc,MAAM,oBAAoB,CAAC;AAGnE,OAAO,EAAC,IAAI,EAAC,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAC,6BAA6B,EAAO,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAwB,kBAAkB,EAAE,eAAe,EAAC,MAAM,0BAA0B,CAAC;AACpG,OAAO,EAAC,gBAAgB,EAAC,MAAM,uCAAuC,CAAC;AAEvE,OAAO,EAAC,gBAAgB,EAAmF,MAAM,aAAa,CAAC;AAE/H,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,OAAgB,MAAO,SAAQ,UAAU;IAA/C;;QACE;;WAEG;QACwB,UAAK,GAAG,KAAK,CAAC;QACzC;;WAEG;QACwB,aAAQ,GAAG,KAAK,CAAC;QAC5C;;WAEG;QACuC,aAAQ,GAAG,KAAK,CAAC;QAC3D;;;;;;;WAOG;QACuB,cAAS,GAAG,EAAE,CAAC;QACzC;;WAEG;QACS,UAAK,GAAG,EAAE,CAAC;QACvB;;;WAGG;QACuB,mBAAc,GAAG,EAAE,CAAC;QAC9C;;;;WAIG;QACuC,UAAK,GAAG,KAAK,CAAC;QACxD;;;WAGG;QACwB,cAAS,GAAG,KAAK,CAAC;QAC7C;;;WAGG;QACuB,wBAAmB,GAAG,6BAA6B,CAAC;QAC9E;;WAEG;QACwB,mBAAc,GAAG,KAAK,CAAC;QAClD;;WAEG;QACwB,oBAAe,GAAG,KAAK,CAAC;QACnD;;WAEG;QACS,gBAAW,GAAG,EAAE,CAAC;QAC7B;;;;WAIG;QACc,sBAAiB,GAAG,KAAK,CAAC;QAC1B,YAAO,GAAG,KAAK,CAAC;QAChB,SAAI,GAAG,KAAK,CAAC;QAwB9B,QAAO,GAAG,EAAE,CAAC;QAqCb;;WAEG;QACK,qBAAgB,GAAgB,IAAI,CAAC;QAE7C;;;WAGG;QACK,6BAAwB,GAAgB,IAAI,CAAC;QAErD;;WAEG;QACK,uBAAkB,GAAsB,IAAI,CAAC;QAErD,+CAA+C;QACvC,8BAAyB,GAAyB,EAAE,CAAC;IAmb/D,CAAC;IAzfC;;;;;OAKG;IAEH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAID,IAAI,OAAO;QACT,+BAA+B;QAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAmB,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IAEH,IAAI,aAAa;QACf,+CAA+C;QAC/C,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,aAAa,CAAC,KAAa;QAC7B,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,IAAI,eAAe;QACjB,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;IAuBkB,MAAM;QACvB,OAAO,IAAI,CAAA;;0BAEW,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;sBACrC,IAAI,CAAC,cAAc;UAC/B,IAAI,CAAC,WAAW,EAAE;UAClB,IAAI,CAAC,UAAU,EAAE;;KAEtB,CAAC;IACJ,CAAC;IAEO,gBAAgB;QACtB,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,QAAQ;YACzB,OAAO,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC;IACJ,CAAC;IAEO,WAAW;QACjB,OAAO,UAAU,CAAA;SACZ,IAAI,CAAC,QAAQ;;;qBAGD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;0BACrB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;kBAEpC,IAAI,CAAC,KAAK;qBACP,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI;uBACvB,CAAC,CAAC,IAAI,CAAC,WAAW;sBACnB,IAAI,CAAC,QAAQ;sBACb,IAAI,CAAC,QAAQ;mBAChB,IAAI,CAAC,KAAK;sBACP,IAAI,CAAC,cAAc;oBACrB,IAAI,CAAC,eAAe;sBAClB,IAAI,CAAC,aAAa;mBACrB,IAAI,CAAC,WAAW;mBAChB,IAAI,CAAC,WAAW;kBACjB,IAAI,CAAC,UAAU;UACvB,IAAI,CAAC,kBAAkB,EAAE;UACzB,IAAI,CAAC,QAAQ,GAAG,CAAC;IACzB,CAAC;IAEO,kBAAkB;QACxB,OAAO;YACL,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,CAAC,oBAAoB,EAAE;SAC5B,CAAC;IACJ,CAAC;IAEO,iBAAiB;QACvB,OAAO,IAAI,CAAA;;gDAEiC,IAAI,CAAC,gBAAgB;;MAE/D,CAAC;IACL,CAAC;IAEO,kBAAkB;QACxB,OAAO,IAAI,CAAA;;iDAEkC,IAAI,CAAC,gBAAgB;;MAEhE,CAAC;IACL,CAAC;IAEO,WAAW;QACjB,oEAAoE;QACpE,kBAAkB;QAClB,OAAO,IAAI,CAAA;;wBAES,IAAI,CAAC,WAAW,IAAI,IAAI,CAAA,QAAQ,QAAQ,CAAC;IAC/D,CAAC;IAEO,oBAAoB;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,OAAO,CAAC;SAChB;QAED,OAAO,IAAI,CAAA;;aAEF,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,SAAS,CAAC;IAC3E,CAAC;IAEO,iBAAiB;QACvB,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;IAC7E,CAAC;IAEO,mBAAmB;QACzB,wDAAwD;QACxD,sEAAsE;QACtE,oEAAoE;QACpE,sCAAsC;QACtC,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACnE,CAAC;IAEO,UAAU;QAChB,OAAO,IAAI,CAAA;;;;;;;oBAOK,IAAI,CAAC,KAAK;kBACZ,IAAI,CAAC,IAAI;mBACR,IAAI,CAAC,KAAK;mBACV,IAAI,CAAC,SAAS;iCACA,IAAI,CAAC,mBAAmB;qBACpC,IAAI,CAAC,aAAa;qBAClB,IAAI,CAAC,aAAa;wBACf,IAAI,CAAC,eAAe;+BACb,IAAI,CAAC,sBAAsB;iCACzB,IAAI,CAAC,wBAAwB;UACpD,IAAI,CAAC,iBAAiB,EAAE;iBACjB,CAAC;IAChB,CAAC;IAEO,iBAAiB;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACK,aAAa,CAAC,CAAgB;QACpC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAC5C,OAAO;SACR;QAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAC1D,MAAM,SAAS,GACX,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;QAEvE,2EAA2E;QAC3E,wCAAwC;QACxC,IAAI,CAAC,mBAAmB,CAAC,aAAa,IAAI,SAAS,EAAE;YACnD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,OAAO;SACR;QAED,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;QAE1C,0EAA0E;QAC1E,4CAA4C;QAC5C,IAAI,cAAc,EAAE;YAClB,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,MAAM,EAAC,gBAAgB,EAAC,GAAG,mBAAmB,CAAC;YAE/C,IAAI,CAAC,gBAAgB,EAAE;gBACrB,OAAO;aACR;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAC9B,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAiB,CAAC,CAAC;YAE7D,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,yBAAyB,EAAE,CAAC;aAClC;SACF;IACH,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,CAAa;QAClC,+DAA+D;QAC/D,2BAA2B;QAC3B,IAAI,CAAC,CAAC,aAAa,IAAI,kBAAkB,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE;YAChE,OAAO;SACR;QAED,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACK,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;SACb;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAuB,CAAC;QAChD,IAAI,CAAC,yBAAyB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,yBAAyB,CAAC;IACxC,CAAC;IAEQ,KAAK,CAAC,iBAAiB;QAC9B,MAAM,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC;QAChC,OAAO,KAAK,CAAC,iBAAiB,EAAE,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACK,yBAAyB;QAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACxD,2EAA2E;QAC3E,0EAA0E;QAC1E,uBAAuB;QACvB,IAAI,wBAAwB,GAAG,KAAK,CAAC;QAErC,IAAI,eAAe,CAAC,MAAM,EAAE;YAC1B,MAAM,CAAC,mBAAmB,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACjD,wBAAwB;gBACpB,IAAI,CAAC,kBAAkB,KAAK,mBAAmB,CAAC;YACpD,IAAI,CAAC,kBAAkB,GAAG,mBAAmB,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC;SAEjD;aAAM;YACL,wBAAwB,GAAG,IAAI,CAAC,kBAAkB,KAAK,IAAI,CAAC;YAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SACvB;QAED,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAEkB,MAAM,CAAC,OAA6B;QACrD,uEAAuE;QACvE,wCAAwC;QACxC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;QAED,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAEkB,KAAK,CAAC,YAAY,CAAC,OAA6B;QACjE,MAAM,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC;QAChC,oEAAoE;QACpE,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE;YAC1C,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;QAED,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEkB,OAAO,CAAC,iBAAiC;QAC1D,4DAA4D;QAE5D,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,yEAAyE;YACzE,+DAA+D;YAC/D,qBAAqB,CAAC,GAAG,EAAE;gBACzB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YACjC,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAK,CAAC,KAAK,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;QACnD,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnE,4EAA4E;QAC5E,wEAAwE;QACxE,mBAAmB;QACnB,IAAI,UAAU,IAAI,UAAU,KAAK,YAAY,EAAE;YAC7C,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;SAC3B;QAED,IAAI,YAAY,EAAE;YAChB,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC;YAC3B,YAAY,CAAC,KAAK,EAAE,CAAC;SACtB;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,CAA6C;QACnE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAiB,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,EAAE;YACrC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACpC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACnE,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACpC;aAAM;YACL,uCAAuC;YACvC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;QAED,yEAAyE;QACzE,YAAY;QACZ,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAClC;IACH,CAAC;IAED;;;;OAIG;IACK,UAAU,CAAC,IAAkB;QACnC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE;YAClD,IAAI,IAAI,KAAK,MAAM,EAAE;gBACnB,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,CAAwB;QACrD,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAoC,CAAC;QAElE,0CAA0C;QAC1C,IAAI,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAC/B,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,EAAE;YACpD,OAAO;SACR;QAED,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACK,wBAAwB,CAAC,CAA0B;QACzD,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAoC,CAAC;QAElE,wEAAwE;QACxE,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAChC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,EAAE;YACpD,OAAO;SACR;QAED,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAa;QAClB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAC3E,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SACjC;IACH,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAa;QACvB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SACjC;IACH,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACvB,wEAAwE;QACxE,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE;YACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAEnC,qEAAqE;YACrE,aAAa;SACd;aAAM,IACH,IAAI,CAAC,wBAAwB,KAAK,IAAI;YACtC,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE;YAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAEhD,mBAAmB;SACpB;aAAM;YACL,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAClC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,yBAAyB;QAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF;KAzeE,KAAK;AAtFqB;IAA1B,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;qCAAe;AAId;IAA1B,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;wCAAkB;AAIF;IAAzC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;wCAAkB;AASjC;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;yCAAgB;AAI7B;IAAX,QAAQ,EAAE;qCAAY;AAKG;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;8CAAqB;AAMJ;IAAzC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;qCAAe;AAK7B;IAA1B,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;yCAAmB;AAKnB;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;mDAAqD;AAInD;IAA1B,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;8CAAwB;AAIvB;IAA1B,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;+CAAyB;AAIvC;IAAX,QAAQ,EAAE;2CAAkB;AAMpB;IAAR,KAAK,EAAE;iDAAmC;AAClC;IAAR,KAAK,EAAE;uCAAyB;AACxB;IAAR,KAAK,EAAE;oCAAsB;AACb;IAAhB,KAAK,CAAC,QAAQ,CAAC;qCAAqC;AACnC;IAAjB,KAAK,CAAC,SAAS,CAAC;oCAAmC;AAEpD;IADC,qBAAqB,CAAC,EAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;4CAClB;AAE1C;IADC,qBAAqB,CAAC,EAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;6CAClB;AAS3C;IADC,QAAQ,EAAE;mCAGV;AAsBD;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;2CAKxB","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../../menu/menu.js';\n\nimport {html, LitElement, nothing, PropertyValues} from 'lit';\nimport {property, query, queryAssignedElements, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {html as staticHtml, StaticValue} from 'lit/static-html.js';\n\nimport {Field} from '../../field/lib/field.js';\nimport {List} from '../../list/lib/list.js';\nimport {DEFAULT_TYPEAHEAD_BUFFER_TIME, Menu} from '../../menu/lib/menu.js';\nimport {DefaultCloseMenuEvent, isElementInSubtree, isSelectableKey} from '../../menu/lib/shared.js';\nimport {TYPEAHEAD_RECORD} from '../../menu/lib/typeaheadController.js';\n\nimport {getSelectedItems, RequestDeselectionEvent, RequestSelectionEvent, SelectOption, SelectOptionRecord} from './shared.js';\n\nconst VALUE = Symbol('value');\n\n/**\n * @fires input Fired when a selection is made by the user via mouse or keyboard\n * interaction.\n * @fires change Fired when a selection is made by the user via mouse or\n * keyboard interaction.\n */\nexport abstract class Select extends LitElement {\n /**\n * Opens the menu synchronously with no animation.\n */\n @property({type: Boolean}) quick = false;\n /**\n * Whether or not the select is required.\n */\n @property({type: Boolean}) required = false;\n /**\n * Disables the select.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n /**\n * The error message that replaces supporting text when `error` is true. If\n * `errorText` is an empty string, then the supporting text will continue to\n * show.\n *\n * Calling `reportValidity()` will automatically update `errorText` to the\n * native `validationMessage`.\n */\n @property({type: String}) errorText = '';\n /**\n * The floating label for the field.\n */\n @property() label = '';\n /**\n * Conveys additional information below the text field, such as how it should\n * be used.\n */\n @property({type: String}) supportingText = '';\n /**\n * Gets or sets whether or not the text field is in a visually invalid state.\n *\n * Calling `reportValidity()` will automatically update `error`.\n */\n @property({type: Boolean, reflect: true}) error = false;\n /**\n * Whether or not the underlying md-menu should be position: fixed to display\n * in a top-level manner.\n */\n @property({type: Boolean}) menuFixed = false;\n /**\n * The max time between the keystrokes of the typeahead select / menu behavior\n * before it clears the typeahead buffer.\n */\n @property({type: Number}) typeaheadBufferTime = DEFAULT_TYPEAHEAD_BUFFER_TIME;\n /**\n * Whether or not the text field has a leading icon. Used for SSR.\n */\n @property({type: Boolean}) hasLeadingIcon = false;\n /**\n * Whether or not the text field has a trailing icon. Used for SSR.\n */\n @property({type: Boolean}) hasTrailingIcon = false;\n /**\n * Text to display in the field. Only set for SSR.\n */\n @property() displayText = '';\n /**\n * When set to true, the error text's `role=\"alert\"` will be removed, then\n * re-added after an animation frame. This will re-announce an error message\n * to screen readers.\n */\n @state() private refreshErrorAlert = false;\n @state() private focused = false;\n @state() private open = false;\n @query('.field') private readonly field!: Field|null;\n @query('md-menu') private readonly menu!: Menu|null;\n @queryAssignedElements({slot: 'leadingicon', flatten: true})\n private readonly leadingIcons!: Element[];\n @queryAssignedElements({slot: 'trailingicon', flatten: true})\n private readonly trailingIcons!: Element[];\n\n /**\n * The value of the currently selected option.\n *\n * Note: For SSR, set `[selected]` on the requested option and `displayText`\n * rather than setting `value` setting `value` will incur a DOM query.\n */\n @property()\n get value(): string {\n return this[VALUE];\n }\n\n set value(value: string) {\n this.lastUserSetValue = value;\n this.select(value);\n }\n\n [VALUE] = '';\n\n get options() {\n // NOTE: this does a DOM query.\n return (this.menu?.items ?? []) as SelectOption[];\n }\n\n /**\n * The index of the currently selected option.\n *\n * Note: For SSR, set `[selected]` on the requested option and `displayText`\n * rather than setting `selectedIndex` setting `selectedIndex` will incur a\n * DOM query.\n */\n @property({type: Number})\n get selectedIndex(): number {\n // tslint:disable-next-line:enforce-name-casing\n const [_option, index] = (this.getSelectedOptions() ?? [])[0] ?? [];\n return index ?? -1;\n }\n\n set selectedIndex(index: number) {\n this.lastUserSetSelectedIndex = index;\n this.selectIndex(index);\n }\n\n /**\n * Returns an array of selected options.\n *\n * NOTE: md-select only suppoprts single selection.\n */\n get selectedOptions() {\n return (this.getSelectedOptions() ?? []).map(([option]) => option);\n }\n\n protected abstract readonly fieldTag: StaticValue;\n\n /**\n * Used for initializing select when the user sets the `value` directly.\n */\n private lastUserSetValue: string|null = null;\n\n /**\n * Used for initializing select when the user sets the `selectedIndex`\n * directly.\n */\n private lastUserSetSelectedIndex: number|null = null;\n\n /**\n * Used for `input` and `change` event change detection.\n */\n private lastSelectedOption: SelectOption|null = null;\n\n // tslint:disable-next-line:enforce-name-casing\n private lastSelectedOptionRecords: SelectOptionRecord[] = [];\n\n protected override render() {\n return html`\n <span\n class=\"select ${classMap(this.getRenderClasses())}\"\n @focusout=${this.handleFocusout}>\n ${this.renderField()}\n ${this.renderMenu()}\n </span>\n `;\n }\n\n private getRenderClasses() {\n return {\n 'disabled': this.disabled,\n 'error': this.error,\n };\n }\n\n private renderField() {\n return staticHtml`\n <${this.fieldTag}\n aria-haspopup=\"listbox\"\n role=\"combobox\"\n tabindex=${this.disabled ? '-1' : '0'}\n aria-expanded=${this.open ? 'true' : 'false'}\n class=\"field\"\n label=${this.label}\n .focused=${this.focused || this.open}\n .populated=${!!this.displayText}\n .disabled=${this.disabled}\n .required=${this.required}\n .error=${this.error}\n .hasStart=${this.hasLeadingIcon}\n .hasEnd=${this.hasTrailingIcon}\n @keydown =${this.handleKeydown}\n @click=${this.handleClick}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}>\n ${this.renderFieldContent()}\n </${this.fieldTag}>`;\n }\n\n private renderFieldContent() {\n return [\n this.renderLeadingIcon(),\n this.renderLabel(),\n this.renderTrailingIcon(),\n this.renderSupportingText(),\n ];\n }\n\n private renderLeadingIcon() {\n return html`\n <span class=\"icon leading\" slot=\"start\">\n <slot name=\"leadingicon\" @slotchange=${this.handleIconChange}></slot>\n </span>\n `;\n }\n\n private renderTrailingIcon() {\n return html`\n <span class=\"icon trailing\" slot=\"end\">\n <slot name=\"trailingicon\" @slotchange=${this.handleIconChange}></slot>\n </span>\n `;\n }\n\n private renderLabel() {\n // need to render &nbsp; so that line-height can apply and give it a\n // non-zero height\n return html`<div\n id=\"label\"\n class=\"label\">${this.displayText || html`&nbsp;`}</div>`;\n }\n\n private renderSupportingText() {\n const text = this.getSupportingText();\n if (!text) {\n return nothing;\n }\n\n return html`<span id=\"support\"\n slot=\"supporting-text\"\n role=${this.shouldErrorAnnounce() ? 'alert' : nothing}>${text}</span>`;\n }\n\n private getSupportingText() {\n return this.error && this.errorText ? this.errorText : this.supportingText;\n }\n\n private shouldErrorAnnounce() {\n // Announce if there is an error and error text visible.\n // If refreshErrorAlert is true, do not announce. This will remove the\n // role=\"alert\" attribute. Another render cycle will happen after an\n // animation frame to re-add the role.\n return this.error && !!this.errorText && !this.refreshErrorAlert;\n }\n\n private renderMenu() {\n return html`\n <md-menu\n id=\"listbox\"\n default-focus=\"NONE\"\n listTabIndex=\"-1\"\n type=\"listbox\"\n stay-open-on-focusout\n .anchor=${this.field}\n .open=${this.open}\n .quick=${this.quick}\n .fixed=${this.menuFixed}\n .typeaheadBufferTime=${this.typeaheadBufferTime}\n @opening=${this.handleOpening}\n @closing=${this.handleClosing}\n @close-menu=${this.handleCloseMenu}\n @request-selection=${this.handleRequestSelection}\n @request-deselection=${this.handleRequestDeselection}>\n ${this.renderMenuContent()}\n </md-menu>`;\n }\n\n private renderMenuContent() {\n return html`<slot></slot>`;\n }\n\n /**\n * Handles opening the select on keydown and typahead selection when the menu\n * is closed.\n */\n private handleKeydown(e: KeyboardEvent) {\n if (this.open || this.disabled || !this.menu) {\n return;\n }\n\n const typeaheadController = this.menu.typeaheadController;\n const isOpenKey =\n e.code === 'Space' || e.code === 'ArrowDown' || e.code === 'Enter';\n\n // Do not open if currently typing ahead because the user may be typing the\n // spacebar to match a word with a space\n if (!typeaheadController.isTypingAhead && isOpenKey) {\n e.preventDefault();\n this.open = true;\n return;\n }\n\n const isPrintableKey = e.key.length === 1;\n\n // Handles typing ahead when the menu is closed by delegating the event to\n // the underlying menu's typeaheadController\n if (isPrintableKey) {\n typeaheadController.onKeydown(e);\n e.preventDefault();\n\n const {lastActiveRecord} = typeaheadController;\n\n if (!lastActiveRecord) {\n return;\n }\n\n const hasChanged = this.selectItem(\n lastActiveRecord[TYPEAHEAD_RECORD.ITEM] as SelectOption);\n\n if (hasChanged) {\n this.dispatchInteractionEvents();\n }\n }\n }\n\n private handleClick() {\n this.open = true;\n }\n\n private handleFocus() {\n this.focused = true;\n }\n\n private handleBlur() {\n this.focused = false;\n }\n\n /**\n * Handles closing the menu when the focus leaves the select's subtree.\n */\n private handleFocusout(e: FocusEvent) {\n // Don't close the menu if we are switching focus between menu,\n // select-option, and field\n if (e.relatedTarget && isElementInSubtree(e.relatedTarget, this)) {\n return;\n }\n\n this.open = false;\n }\n\n /**\n * Gets a list of all selected select options as a list item record array.\n *\n * @return An array of selected list option records.\n */\n private getSelectedOptions() {\n if (!this.menu) {\n this.lastSelectedOptionRecords = [];\n return null;\n }\n\n const items = this.menu.items as SelectOption[];\n this.lastSelectedOptionRecords = getSelectedItems(items);\n return this.lastSelectedOptionRecords;\n }\n\n override async getUpdateComplete() {\n await this.menu?.updateComplete;\n return super.getUpdateComplete();\n }\n\n /**\n * Gets the selected options from the DOM, and updates the value and display\n * text to the first selected option's value and headline respectively.\n *\n * @return Whether or not the selected option has changed since last update.\n */\n private updateValueAndDisplayText() {\n const selectedOptions = this.getSelectedOptions() ?? [];\n // Used to determine whether or not we need to fire an input / change event\n // which fire whenever the option element changes (value or selectedIndex)\n // on user interaction.\n let hasSelectedOptionChanged = false;\n\n if (selectedOptions.length) {\n const [firstSelectedOption] = selectedOptions[0];\n hasSelectedOptionChanged =\n this.lastSelectedOption !== firstSelectedOption;\n this.lastSelectedOption = firstSelectedOption;\n this[VALUE] = firstSelectedOption.value;\n this.displayText = firstSelectedOption.headline;\n\n } else {\n hasSelectedOptionChanged = this.lastSelectedOption !== null;\n this.lastSelectedOption = null;\n this[VALUE] = '';\n this.displayText = '';\n }\n\n return hasSelectedOptionChanged;\n }\n\n protected override update(changed: PropertyValues<this>) {\n // In SSR the options will be ready to query, so try to figure out what\n // the value and display text should be.\n if (!this.hasUpdated) {\n this.initUserSelection();\n }\n\n super.update(changed);\n }\n\n protected override async firstUpdated(changed: PropertyValues<this>) {\n await this.menu?.updateComplete;\n // If this has been handled on update already due to SSR, try again.\n if (!this.lastSelectedOptionRecords.length) {\n this.initUserSelection();\n }\n\n super.firstUpdated(changed);\n }\n\n protected override updated(changedProperties: PropertyValues) {\n // Keep changedProperties arg so that subclasses may call it\n\n if (this.refreshErrorAlert) {\n // The past render cycle removed the role=\"alert\" from the error message.\n // Re-add it after an animation frame to re-announce the error.\n requestAnimationFrame(() => {\n this.refreshErrorAlert = false;\n });\n }\n }\n\n /**\n * Focuses and activates the last selected item upon opening, and resets other\n * active items.\n */\n private async handleOpening() {\n const items = this.menu!.items;\n const activeItem = List.getActiveItem(items)?.item;\n const [selectedItem] = this.lastSelectedOptionRecords[0] ?? [null];\n\n // This is true if the user keys through the list but clicks out of the menu\n // thus no close-menu event is fired by an item and we can't clean up in\n // handleCloseMenu.\n if (activeItem && activeItem !== selectedItem) {\n activeItem.active = false;\n }\n\n if (selectedItem) {\n selectedItem.active = true;\n selectedItem.focus();\n }\n }\n\n private handleClosing() {\n this.open = false;\n }\n\n /**\n * Determines the reason for closing, and updates the UI accordingly.\n */\n private handleCloseMenu(e: InstanceType<typeof DefaultCloseMenuEvent>) {\n const reason = e.reason;\n const item = e.itemPath[0] as SelectOption;\n this.open = false;\n let hasChanged = false;\n\n if (reason.kind === 'CLICK_SELECTION') {\n hasChanged = this.selectItem(item);\n } else if (reason.kind === 'KEYDOWN' && isSelectableKey(reason.key)) {\n hasChanged = this.selectItem(item);\n } else {\n // This can happen on ESC being pressed\n item.active = false;\n item.blur();\n }\n\n // Dispatch interaction events since selection has been made via keyboard\n // or mouse.\n if (hasChanged) {\n this.dispatchInteractionEvents();\n }\n }\n\n /**\n * Selects a given option, deselects other options, and updates the UI.\n *\n * @return Whether the last selected option has changed.\n */\n private selectItem(item: SelectOption) {\n this.lastSelectedOptionRecords.forEach(([option]) => {\n if (item !== option) {\n option.selected = false;\n }\n });\n item.selected = true;\n\n return this.updateValueAndDisplayText();\n }\n\n /**\n * Handles updating selection when an option element requests selection via\n * property / attribute change.\n */\n private handleRequestSelection(e: RequestSelectionEvent) {\n const requestingOptionEl = e.target as SelectOption & HTMLElement;\n\n // No-op if this item is already selected.\n if (this.lastSelectedOptionRecords.some(\n ([option]) => option === requestingOptionEl)) {\n return;\n }\n\n this.selectItem(requestingOptionEl);\n }\n\n /**\n * Handles updating selection when an option element requests deselection via\n * property / attribute change.\n */\n private handleRequestDeselection(e: RequestDeselectionEvent) {\n const requestingOptionEl = e.target as SelectOption & HTMLElement;\n\n // No-op if this item is not even in the list of tracked selected items.\n if (!this.lastSelectedOptionRecords.some(\n ([option]) => option === requestingOptionEl)) {\n return;\n }\n\n this.updateValueAndDisplayText();\n }\n\n /**\n * Selects an option given the value of the option, and updates MdSelect's\n * value.\n */\n select(value: string) {\n const optionToSelect = this.options.find(option => option.value === value);\n if (optionToSelect) {\n this.selectItem(optionToSelect);\n }\n }\n\n /**\n * Selects an option given the index of the option, and updates MdSelect's\n * value.\n */\n selectIndex(index: number) {\n const optionToSelect = this.options[index];\n if (optionToSelect) {\n this.selectItem(optionToSelect);\n }\n }\n\n /**\n * Attempts to initialize the selected option from user-settable values like\n * SSR, setting `value`, or `selectedIndex` at startup.\n */\n private initUserSelection() {\n // User has set `.value` directly, but internals have not yet booted up.\n if (this.lastUserSetValue && !this.lastSelectedOptionRecords.length) {\n this.select(this.lastUserSetValue);\n\n // User has set `.selectedIndex` directly, but internals have not yet\n // booted up.\n } else if (\n this.lastUserSetSelectedIndex !== null &&\n !this.lastSelectedOptionRecords.length) {\n this.selectIndex(this.lastUserSetSelectedIndex);\n\n // Regular boot up!\n } else {\n this.updateValueAndDisplayText();\n }\n }\n\n private handleIconChange() {\n this.hasLeadingIcon = this.leadingIcons.length > 0;\n this.hasTrailingIcon = this.trailingIcons.length > 0;\n }\n\n /**\n * Dispatches the `input` and `change` events.\n */\n private dispatchInteractionEvents() {\n this.dispatchEvent(new Event('input', {bubbles: true, composed: true}));\n this.dispatchEvent(new Event('change', {bubbles: true}));\n }\n}\n"]}
@@ -1,11 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { ListItemHarness } from '../../../list/lib/listitem/harness.js';
7
- /**
8
- * Test harness for menu item.
9
- */
10
- export declare class SelectOptionHarness extends ListItemHarness {
11
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { ListItemHarness } from '../../../list/lib/listitem/harness.js';
7
- /**
8
- * Test harness for menu item.
9
- */
10
- export class SelectOptionHarness extends ListItemHarness {
11
- }
12
- //# sourceMappingURL=harness.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"harness.js","sourceRoot":"","sources":["harness.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,eAAe,EAAC,MAAM,uCAAuC,CAAC;AAEtE;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,eAAe;CAAG","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {ListItemHarness} from '../../../list/lib/listitem/harness.js';\n\n/**\n * Test harness for menu item.\n */\nexport class SelectOptionHarness extends ListItemHarness {}\n"]}