@maicol07/material-web 2.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 (1252) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +86 -0
  3. package/all.d.ts +97 -0
  4. package/all.js +106 -0
  5. package/all.js.map +1 -0
  6. package/button/_elevated-button.scss +6 -0
  7. package/button/_filled-button.scss +6 -0
  8. package/button/_filled-tonal-button.scss +6 -0
  9. package/button/_outlined-button.scss +6 -0
  10. package/button/_text-button.scss +6 -0
  11. package/button/elevated-button.d.ts +37 -0
  12. package/button/elevated-button.js +44 -0
  13. package/button/elevated-button.js.map +1 -0
  14. package/button/filled-button.d.ts +35 -0
  15. package/button/filled-button.js +42 -0
  16. package/button/filled-button.js.map +1 -0
  17. package/button/filled-tonal-button.d.ts +36 -0
  18. package/button/filled-tonal-button.js +43 -0
  19. package/button/filled-tonal-button.js.map +1 -0
  20. package/button/harness.d.ts +13 -0
  21. package/button/harness.js +16 -0
  22. package/button/harness.js.map +1 -0
  23. package/button/internal/_elevated-button.scss +37 -0
  24. package/button/internal/_elevation.scss +69 -0
  25. package/button/internal/_filled-button.scss +37 -0
  26. package/button/internal/_filled-tonal-button.scss +37 -0
  27. package/button/internal/_icon.scss +38 -0
  28. package/button/internal/_outlined-button.scss +87 -0
  29. package/button/internal/_shared.scss +178 -0
  30. package/button/internal/_text-button.scss +41 -0
  31. package/button/internal/_touch-target.scss +23 -0
  32. package/button/internal/button.d.ts +81 -0
  33. package/button/internal/button.js +204 -0
  34. package/button/internal/button.js.map +1 -0
  35. package/button/internal/elevated-button.d.ts +13 -0
  36. package/button/internal/elevated-button.js +17 -0
  37. package/button/internal/elevated-button.js.map +1 -0
  38. package/button/internal/elevated-styles.css +1 -0
  39. package/button/internal/elevated-styles.css.map +1 -0
  40. package/button/internal/elevated-styles.d.ts +1 -0
  41. package/button/internal/elevated-styles.js +10 -0
  42. package/button/internal/elevated-styles.js.map +1 -0
  43. package/button/internal/elevated-styles.scss +10 -0
  44. package/button/internal/filled-button.d.ts +13 -0
  45. package/button/internal/filled-button.js +17 -0
  46. package/button/internal/filled-button.js.map +1 -0
  47. package/button/internal/filled-styles.css +1 -0
  48. package/button/internal/filled-styles.css.map +1 -0
  49. package/button/internal/filled-styles.d.ts +1 -0
  50. package/button/internal/filled-styles.js +10 -0
  51. package/button/internal/filled-styles.js.map +1 -0
  52. package/button/internal/filled-styles.scss +10 -0
  53. package/button/internal/filled-tonal-button.d.ts +13 -0
  54. package/button/internal/filled-tonal-button.js +17 -0
  55. package/button/internal/filled-tonal-button.js.map +1 -0
  56. package/button/internal/filled-tonal-styles.css +1 -0
  57. package/button/internal/filled-tonal-styles.css.map +1 -0
  58. package/button/internal/filled-tonal-styles.d.ts +1 -0
  59. package/button/internal/filled-tonal-styles.js +10 -0
  60. package/button/internal/filled-tonal-styles.js.map +1 -0
  61. package/button/internal/filled-tonal-styles.scss +10 -0
  62. package/button/internal/outlined-button.d.ts +12 -0
  63. package/button/internal/outlined-button.js +16 -0
  64. package/button/internal/outlined-button.js.map +1 -0
  65. package/button/internal/outlined-styles.css +1 -0
  66. package/button/internal/outlined-styles.css.map +1 -0
  67. package/button/internal/outlined-styles.d.ts +1 -0
  68. package/button/internal/outlined-styles.js +10 -0
  69. package/button/internal/outlined-styles.js.map +1 -0
  70. package/button/internal/outlined-styles.scss +10 -0
  71. package/button/internal/shared-elevation-styles.css +1 -0
  72. package/button/internal/shared-elevation-styles.css.map +1 -0
  73. package/button/internal/shared-elevation-styles.d.ts +1 -0
  74. package/button/internal/shared-elevation-styles.js +10 -0
  75. package/button/internal/shared-elevation-styles.js.map +1 -0
  76. package/button/internal/shared-elevation-styles.scss +10 -0
  77. package/button/internal/shared-styles.css +1 -0
  78. package/button/internal/shared-styles.css.map +1 -0
  79. package/button/internal/shared-styles.d.ts +1 -0
  80. package/button/internal/shared-styles.js +10 -0
  81. package/button/internal/shared-styles.js.map +1 -0
  82. package/button/internal/shared-styles.scss +14 -0
  83. package/button/internal/text-button.d.ts +11 -0
  84. package/button/internal/text-button.js +12 -0
  85. package/button/internal/text-button.js.map +1 -0
  86. package/button/internal/text-styles.css +1 -0
  87. package/button/internal/text-styles.css.map +1 -0
  88. package/button/internal/text-styles.d.ts +1 -0
  89. package/button/internal/text-styles.js +10 -0
  90. package/button/internal/text-styles.js.map +1 -0
  91. package/button/internal/text-styles.scss +10 -0
  92. package/button/outlined-button.d.ts +37 -0
  93. package/button/outlined-button.js +39 -0
  94. package/button/outlined-button.js.map +1 -0
  95. package/button/text-button.d.ts +35 -0
  96. package/button/text-button.js +37 -0
  97. package/button/text-button.js.map +1 -0
  98. package/checkbox/_checkbox.scss +6 -0
  99. package/checkbox/checkbox.d.ts +28 -0
  100. package/checkbox/checkbox.js +29 -0
  101. package/checkbox/checkbox.js.map +1 -0
  102. package/checkbox/harness.d.ts +13 -0
  103. package/checkbox/harness.js +16 -0
  104. package/checkbox/harness.js.map +1 -0
  105. package/checkbox/internal/_checkbox.scss +392 -0
  106. package/checkbox/internal/checkbox-styles.css +1 -0
  107. package/checkbox/internal/checkbox-styles.css.map +1 -0
  108. package/checkbox/internal/checkbox-styles.d.ts +1 -0
  109. package/checkbox/internal/checkbox-styles.js +10 -0
  110. package/checkbox/internal/checkbox-styles.js.map +1 -0
  111. package/checkbox/internal/checkbox-styles.scss +10 -0
  112. package/checkbox/internal/checkbox.d.ts +72 -0
  113. package/checkbox/internal/checkbox.js +192 -0
  114. package/checkbox/internal/checkbox.js.map +1 -0
  115. package/chips/_assist-chip.scss +6 -0
  116. package/chips/_filter-chip.scss +6 -0
  117. package/chips/_input-chip.scss +6 -0
  118. package/chips/_suggestion-chip.scss +6 -0
  119. package/chips/assist-chip.d.ts +21 -0
  120. package/chips/assist-chip.js +24 -0
  121. package/chips/assist-chip.js.map +1 -0
  122. package/chips/chip-set.d.ts +21 -0
  123. package/chips/chip-set.js +22 -0
  124. package/chips/chip-set.js.map +1 -0
  125. package/chips/filter-chip.d.ts +21 -0
  126. package/chips/filter-chip.js +32 -0
  127. package/chips/filter-chip.js.map +1 -0
  128. package/chips/harness.d.ts +14 -0
  129. package/chips/harness.js +37 -0
  130. package/chips/harness.js.map +1 -0
  131. package/chips/input-chip.d.ts +21 -0
  132. package/chips/input-chip.js +30 -0
  133. package/chips/input-chip.js.map +1 -0
  134. package/chips/internal/_assist-chip.scss +43 -0
  135. package/chips/internal/_chip-set.scss +12 -0
  136. package/chips/internal/_elevated.scss +70 -0
  137. package/chips/internal/_filter-chip.scss +56 -0
  138. package/chips/internal/_input-chip.scss +83 -0
  139. package/chips/internal/_selectable.scss +78 -0
  140. package/chips/internal/_shared.scss +248 -0
  141. package/chips/internal/_suggestion-chip.scss +43 -0
  142. package/chips/internal/_trailing-icon.scss +81 -0
  143. package/chips/internal/assist-chip.d.ts +24 -0
  144. package/chips/internal/assist-chip.js +79 -0
  145. package/chips/internal/assist-chip.js.map +1 -0
  146. package/chips/internal/assist-styles.css +1 -0
  147. package/chips/internal/assist-styles.css.map +1 -0
  148. package/chips/internal/assist-styles.d.ts +1 -0
  149. package/chips/internal/assist-styles.js +10 -0
  150. package/chips/internal/assist-styles.js.map +1 -0
  151. package/chips/internal/assist-styles.scss +10 -0
  152. package/chips/internal/chip-set-styles.css +1 -0
  153. package/chips/internal/chip-set-styles.css.map +1 -0
  154. package/chips/internal/chip-set-styles.d.ts +1 -0
  155. package/chips/internal/chip-set-styles.js +10 -0
  156. package/chips/internal/chip-set-styles.js.map +1 -0
  157. package/chips/internal/chip-set-styles.scss +10 -0
  158. package/chips/internal/chip-set.d.ts +19 -0
  159. package/chips/internal/chip-set.js +128 -0
  160. package/chips/internal/chip-set.js.map +1 -0
  161. package/chips/internal/chip.d.ts +84 -0
  162. package/chips/internal/chip.js +161 -0
  163. package/chips/internal/chip.js.map +1 -0
  164. package/chips/internal/elevated-styles.css +1 -0
  165. package/chips/internal/elevated-styles.css.map +1 -0
  166. package/chips/internal/elevated-styles.d.ts +1 -0
  167. package/chips/internal/elevated-styles.js +10 -0
  168. package/chips/internal/elevated-styles.js.map +1 -0
  169. package/chips/internal/elevated-styles.scss +10 -0
  170. package/chips/internal/filter-chip.d.ts +39 -0
  171. package/chips/internal/filter-chip.js +124 -0
  172. package/chips/internal/filter-chip.js.map +1 -0
  173. package/chips/internal/filter-styles.css +1 -0
  174. package/chips/internal/filter-styles.css.map +1 -0
  175. package/chips/internal/filter-styles.d.ts +1 -0
  176. package/chips/internal/filter-styles.js +10 -0
  177. package/chips/internal/filter-styles.js.map +1 -0
  178. package/chips/internal/filter-styles.scss +10 -0
  179. package/chips/internal/input-chip.d.ts +31 -0
  180. package/chips/internal/input-chip.js +117 -0
  181. package/chips/internal/input-chip.js.map +1 -0
  182. package/chips/internal/input-styles.css +1 -0
  183. package/chips/internal/input-styles.css.map +1 -0
  184. package/chips/internal/input-styles.d.ts +1 -0
  185. package/chips/internal/input-styles.js +10 -0
  186. package/chips/internal/input-styles.js.map +1 -0
  187. package/chips/internal/input-styles.scss +10 -0
  188. package/chips/internal/multi-action-chip.d.ts +23 -0
  189. package/chips/internal/multi-action-chip.js +99 -0
  190. package/chips/internal/multi-action-chip.js.map +1 -0
  191. package/chips/internal/selectable-styles.css +1 -0
  192. package/chips/internal/selectable-styles.css.map +1 -0
  193. package/chips/internal/selectable-styles.d.ts +1 -0
  194. package/chips/internal/selectable-styles.js +10 -0
  195. package/chips/internal/selectable-styles.js.map +1 -0
  196. package/chips/internal/selectable-styles.scss +10 -0
  197. package/chips/internal/shared-styles.css +1 -0
  198. package/chips/internal/shared-styles.css.map +1 -0
  199. package/chips/internal/shared-styles.d.ts +1 -0
  200. package/chips/internal/shared-styles.js +10 -0
  201. package/chips/internal/shared-styles.js.map +1 -0
  202. package/chips/internal/shared-styles.scss +10 -0
  203. package/chips/internal/suggestion-chip.d.ts +11 -0
  204. package/chips/internal/suggestion-chip.js +14 -0
  205. package/chips/internal/suggestion-chip.js.map +1 -0
  206. package/chips/internal/suggestion-styles.css +1 -0
  207. package/chips/internal/suggestion-styles.css.map +1 -0
  208. package/chips/internal/suggestion-styles.d.ts +1 -0
  209. package/chips/internal/suggestion-styles.js +10 -0
  210. package/chips/internal/suggestion-styles.js.map +1 -0
  211. package/chips/internal/suggestion-styles.scss +10 -0
  212. package/chips/internal/trailing-icon-styles.css +1 -0
  213. package/chips/internal/trailing-icon-styles.css.map +1 -0
  214. package/chips/internal/trailing-icon-styles.d.ts +1 -0
  215. package/chips/internal/trailing-icon-styles.js +10 -0
  216. package/chips/internal/trailing-icon-styles.js.map +1 -0
  217. package/chips/internal/trailing-icon-styles.scss +10 -0
  218. package/chips/internal/trailing-icons.d.ts +16 -0
  219. package/chips/internal/trailing-icons.js +48 -0
  220. package/chips/internal/trailing-icons.js.map +1 -0
  221. package/chips/suggestion-chip.d.ts +21 -0
  222. package/chips/suggestion-chip.js +24 -0
  223. package/chips/suggestion-chip.js.map +1 -0
  224. package/color/_color.scss +197 -0
  225. package/common.d.ts +59 -0
  226. package/common.js +68 -0
  227. package/common.js.map +1 -0
  228. package/custom-elements.json +64772 -0
  229. package/dialog/_dialog.scss +6 -0
  230. package/dialog/dialog.d.ts +42 -0
  231. package/dialog/dialog.js +43 -0
  232. package/dialog/dialog.js.map +1 -0
  233. package/dialog/harness.d.ts +13 -0
  234. package/dialog/harness.js +16 -0
  235. package/dialog/harness.js.map +1 -0
  236. package/dialog/internal/_dialog.scss +248 -0
  237. package/dialog/internal/animations.d.ts +47 -0
  238. package/dialog/internal/animations.js +119 -0
  239. package/dialog/internal/animations.js.map +1 -0
  240. package/dialog/internal/dialog-styles.css +1 -0
  241. package/dialog/internal/dialog-styles.css.map +1 -0
  242. package/dialog/internal/dialog-styles.d.ts +1 -0
  243. package/dialog/internal/dialog-styles.js +10 -0
  244. package/dialog/internal/dialog-styles.js.map +1 -0
  245. package/dialog/internal/dialog-styles.scss +10 -0
  246. package/dialog/internal/dialog.d.ts +131 -0
  247. package/dialog/internal/dialog.js +556 -0
  248. package/dialog/internal/dialog.js.map +1 -0
  249. package/divider/_divider.scss +6 -0
  250. package/divider/divider.d.ts +25 -0
  251. package/divider/divider.js +26 -0
  252. package/divider/divider.js.map +1 -0
  253. package/divider/internal/_divider.scss +61 -0
  254. package/divider/internal/divider-styles.css +1 -0
  255. package/divider/internal/divider-styles.css.map +1 -0
  256. package/divider/internal/divider-styles.d.ts +1 -0
  257. package/divider/internal/divider-styles.js +10 -0
  258. package/divider/internal/divider-styles.js.map +1 -0
  259. package/divider/internal/divider-styles.scss +10 -0
  260. package/divider/internal/divider.d.ts +23 -0
  261. package/divider/internal/divider.js +38 -0
  262. package/divider/internal/divider.js.map +1 -0
  263. package/elevation/_elevation.scss +6 -0
  264. package/elevation/elevation.d.ts +23 -0
  265. package/elevation/elevation.js +24 -0
  266. package/elevation/elevation.js.map +1 -0
  267. package/elevation/internal/_elevation.scss +176 -0
  268. package/elevation/internal/elevation-styles.css +1 -0
  269. package/elevation/internal/elevation-styles.css.map +1 -0
  270. package/elevation/internal/elevation-styles.d.ts +1 -0
  271. package/elevation/internal/elevation-styles.js +10 -0
  272. package/elevation/internal/elevation-styles.js.map +1 -0
  273. package/elevation/internal/elevation-styles.scss +10 -0
  274. package/elevation/internal/elevation.d.ts +13 -0
  275. package/elevation/internal/elevation.js +21 -0
  276. package/elevation/internal/elevation.js.map +1 -0
  277. package/fab/_fab.scss +7 -0
  278. package/fab/branded-fab.d.ts +57 -0
  279. package/fab/branded-fab.js +55 -0
  280. package/fab/branded-fab.js.map +1 -0
  281. package/fab/fab.d.ts +44 -0
  282. package/fab/fab.js +45 -0
  283. package/fab/fab.js.map +1 -0
  284. package/fab/harness.d.ts +13 -0
  285. package/fab/harness.js +16 -0
  286. package/fab/harness.js.map +1 -0
  287. package/fab/internal/_fab-branded.scss +37 -0
  288. package/fab/internal/_fab.scss +206 -0
  289. package/fab/internal/_shared.scss +248 -0
  290. package/fab/internal/fab-branded-styles.css +1 -0
  291. package/fab/internal/fab-branded-styles.css.map +1 -0
  292. package/fab/internal/fab-branded-styles.d.ts +1 -0
  293. package/fab/internal/fab-branded-styles.js +10 -0
  294. package/fab/internal/fab-branded-styles.js.map +1 -0
  295. package/fab/internal/fab-branded-styles.scss +10 -0
  296. package/fab/internal/fab-styles.css +1 -0
  297. package/fab/internal/fab-styles.css.map +1 -0
  298. package/fab/internal/fab-styles.d.ts +1 -0
  299. package/fab/internal/fab-styles.js +10 -0
  300. package/fab/internal/fab-styles.js.map +1 -0
  301. package/fab/internal/fab-styles.scss +10 -0
  302. package/fab/internal/fab.d.ts +25 -0
  303. package/fab/internal/fab.js +30 -0
  304. package/fab/internal/fab.js.map +1 -0
  305. package/fab/internal/forced-colors-styles.css +1 -0
  306. package/fab/internal/forced-colors-styles.css.map +1 -0
  307. package/fab/internal/forced-colors-styles.d.ts +1 -0
  308. package/fab/internal/forced-colors-styles.js +10 -0
  309. package/fab/internal/forced-colors-styles.js.map +1 -0
  310. package/fab/internal/forced-colors-styles.scss +29 -0
  311. package/fab/internal/shared-styles.css +1 -0
  312. package/fab/internal/shared-styles.css.map +1 -0
  313. package/fab/internal/shared-styles.d.ts +1 -0
  314. package/fab/internal/shared-styles.js +10 -0
  315. package/fab/internal/shared-styles.js.map +1 -0
  316. package/fab/internal/shared-styles.scss +10 -0
  317. package/fab/internal/shared.d.ts +44 -0
  318. package/fab/internal/shared.js +92 -0
  319. package/fab/internal/shared.js.map +1 -0
  320. package/field/_filled-field.scss +6 -0
  321. package/field/_outlined-field.scss +6 -0
  322. package/field/filled-field.d.ts +20 -0
  323. package/field/filled-field.js +22 -0
  324. package/field/filled-field.js.map +1 -0
  325. package/field/harness.d.ts +16 -0
  326. package/field/harness.js +29 -0
  327. package/field/harness.js.map +1 -0
  328. package/field/internal/_content.scss +212 -0
  329. package/field/internal/_filled-field.scss +208 -0
  330. package/field/internal/_label.scss +102 -0
  331. package/field/internal/_outlined-field.scss +344 -0
  332. package/field/internal/_shared.scss +78 -0
  333. package/field/internal/_supporting-text.scss +61 -0
  334. package/field/internal/field.d.ts +66 -0
  335. package/field/internal/field.js +350 -0
  336. package/field/internal/field.js.map +1 -0
  337. package/field/internal/filled-field.d.ts +13 -0
  338. package/field/internal/filled-field.js +22 -0
  339. package/field/internal/filled-field.js.map +1 -0
  340. package/field/internal/filled-styles.css +1 -0
  341. package/field/internal/filled-styles.css.map +1 -0
  342. package/field/internal/filled-styles.d.ts +1 -0
  343. package/field/internal/filled-styles.js +10 -0
  344. package/field/internal/filled-styles.js.map +1 -0
  345. package/field/internal/filled-styles.scss +8 -0
  346. package/field/internal/outlined-field.d.ts +12 -0
  347. package/field/internal/outlined-field.js +26 -0
  348. package/field/internal/outlined-field.js.map +1 -0
  349. package/field/internal/outlined-styles.css +1 -0
  350. package/field/internal/outlined-styles.css.map +1 -0
  351. package/field/internal/outlined-styles.d.ts +1 -0
  352. package/field/internal/outlined-styles.js +10 -0
  353. package/field/internal/outlined-styles.js.map +1 -0
  354. package/field/internal/outlined-styles.scss +7 -0
  355. package/field/internal/shared-styles.css +1 -0
  356. package/field/internal/shared-styles.css.map +1 -0
  357. package/field/internal/shared-styles.d.ts +1 -0
  358. package/field/internal/shared-styles.js +10 -0
  359. package/field/internal/shared-styles.js.map +1 -0
  360. package/field/internal/shared-styles.scss +8 -0
  361. package/field/outlined-field.d.ts +20 -0
  362. package/field/outlined-field.js +22 -0
  363. package/field/outlined-field.js.map +1 -0
  364. package/focus/_focus-ring.scss +6 -0
  365. package/focus/internal/_focus-ring.scss +113 -0
  366. package/focus/internal/focus-ring-styles.css +1 -0
  367. package/focus/internal/focus-ring-styles.css.map +1 -0
  368. package/focus/internal/focus-ring-styles.d.ts +1 -0
  369. package/focus/internal/focus-ring-styles.js +10 -0
  370. package/focus/internal/focus-ring-styles.js.map +1 -0
  371. package/focus/internal/focus-ring-styles.scss +10 -0
  372. package/focus/internal/focus-ring.d.ts +39 -0
  373. package/focus/internal/focus-ring.js +100 -0
  374. package/focus/internal/focus-ring.js.map +1 -0
  375. package/focus/md-focus-ring.d.ts +21 -0
  376. package/focus/md-focus-ring.js +22 -0
  377. package/focus/md-focus-ring.js.map +1 -0
  378. package/icon/_icon.scss +6 -0
  379. package/icon/icon.d.ts +20 -0
  380. package/icon/icon.js +21 -0
  381. package/icon/icon.js.map +1 -0
  382. package/icon/internal/_icon.scss +76 -0
  383. package/icon/internal/icon-styles.css +1 -0
  384. package/icon/internal/icon-styles.css.map +1 -0
  385. package/icon/internal/icon-styles.d.ts +1 -0
  386. package/icon/internal/icon-styles.js +10 -0
  387. package/icon/internal/icon-styles.js.map +1 -0
  388. package/icon/internal/icon-styles.scss +10 -0
  389. package/icon/internal/icon.d.ts +13 -0
  390. package/icon/internal/icon.js +28 -0
  391. package/icon/internal/icon.js.map +1 -0
  392. package/iconbutton/_filled-icon-button.scss +6 -0
  393. package/iconbutton/_filled-tonal-icon-button.scss +6 -0
  394. package/iconbutton/_icon-button.scss +6 -0
  395. package/iconbutton/_outlined-icon-button.scss +6 -0
  396. package/iconbutton/filled-icon-button.d.ts +39 -0
  397. package/iconbutton/filled-icon-button.js +42 -0
  398. package/iconbutton/filled-icon-button.js.map +1 -0
  399. package/iconbutton/filled-tonal-icon-button.d.ts +39 -0
  400. package/iconbutton/filled-tonal-icon-button.js +42 -0
  401. package/iconbutton/filled-tonal-icon-button.js.map +1 -0
  402. package/iconbutton/harness.d.ts +13 -0
  403. package/iconbutton/harness.js +19 -0
  404. package/iconbutton/harness.js.map +1 -0
  405. package/iconbutton/icon-button.d.ts +38 -0
  406. package/iconbutton/icon-button.js +41 -0
  407. package/iconbutton/icon-button.js.map +1 -0
  408. package/iconbutton/internal/_filled-icon-button.scss +146 -0
  409. package/iconbutton/internal/_filled-tonal-icon-button.scss +146 -0
  410. package/iconbutton/internal/_icon-button.scss +131 -0
  411. package/iconbutton/internal/_outlined-icon-button.scss +157 -0
  412. package/iconbutton/internal/_shared.scss +117 -0
  413. package/iconbutton/internal/filled-styles.css +1 -0
  414. package/iconbutton/internal/filled-styles.css.map +1 -0
  415. package/iconbutton/internal/filled-styles.d.ts +1 -0
  416. package/iconbutton/internal/filled-styles.js +10 -0
  417. package/iconbutton/internal/filled-styles.js.map +1 -0
  418. package/iconbutton/internal/filled-styles.scss +10 -0
  419. package/iconbutton/internal/filled-tonal-styles.css +1 -0
  420. package/iconbutton/internal/filled-tonal-styles.css.map +1 -0
  421. package/iconbutton/internal/filled-tonal-styles.d.ts +1 -0
  422. package/iconbutton/internal/filled-tonal-styles.js +10 -0
  423. package/iconbutton/internal/filled-tonal-styles.js.map +1 -0
  424. package/iconbutton/internal/filled-tonal-styles.scss +10 -0
  425. package/iconbutton/internal/icon-button.d.ts +106 -0
  426. package/iconbutton/internal/icon-button.js +260 -0
  427. package/iconbutton/internal/icon-button.js.map +1 -0
  428. package/iconbutton/internal/outlined-styles.css +1 -0
  429. package/iconbutton/internal/outlined-styles.css.map +1 -0
  430. package/iconbutton/internal/outlined-styles.d.ts +1 -0
  431. package/iconbutton/internal/outlined-styles.js +10 -0
  432. package/iconbutton/internal/outlined-styles.js.map +1 -0
  433. package/iconbutton/internal/outlined-styles.scss +10 -0
  434. package/iconbutton/internal/shared-styles.css +1 -0
  435. package/iconbutton/internal/shared-styles.css.map +1 -0
  436. package/iconbutton/internal/shared-styles.d.ts +1 -0
  437. package/iconbutton/internal/shared-styles.js +10 -0
  438. package/iconbutton/internal/shared-styles.js.map +1 -0
  439. package/iconbutton/internal/shared-styles.scss +10 -0
  440. package/iconbutton/internal/standard-styles.css +1 -0
  441. package/iconbutton/internal/standard-styles.css.map +1 -0
  442. package/iconbutton/internal/standard-styles.d.ts +1 -0
  443. package/iconbutton/internal/standard-styles.js +10 -0
  444. package/iconbutton/internal/standard-styles.js.map +1 -0
  445. package/iconbutton/internal/standard-styles.scss +10 -0
  446. package/iconbutton/outlined-icon-button.d.ts +38 -0
  447. package/iconbutton/outlined-icon-button.js +41 -0
  448. package/iconbutton/outlined-icon-button.js.map +1 -0
  449. package/internal/aria/aria.d.ts +103 -0
  450. package/internal/aria/aria.js +81 -0
  451. package/internal/aria/aria.js.map +1 -0
  452. package/internal/aria/delegate.d.ts +54 -0
  453. package/internal/aria/delegate.js +176 -0
  454. package/internal/aria/delegate.js.map +1 -0
  455. package/internal/controller/attachable-controller.d.ts +114 -0
  456. package/internal/controller/attachable-controller.js +121 -0
  457. package/internal/controller/attachable-controller.js.map +1 -0
  458. package/internal/controller/form-submitter.d.ts +70 -0
  459. package/internal/controller/form-submitter.js +69 -0
  460. package/internal/controller/form-submitter.js.map +1 -0
  461. package/internal/controller/is-rtl.d.ts +14 -0
  462. package/internal/controller/is-rtl.js +18 -0
  463. package/internal/controller/is-rtl.js.map +1 -0
  464. package/internal/controller/string-converter.d.ts +9 -0
  465. package/internal/controller/string-converter.js +14 -0
  466. package/internal/controller/string-converter.js.map +1 -0
  467. package/internal/events/dispatch-hooks.d.ts +85 -0
  468. package/internal/events/dispatch-hooks.js +151 -0
  469. package/internal/events/dispatch-hooks.js.map +1 -0
  470. package/internal/events/form-label-activation.d.ts +55 -0
  471. package/internal/events/form-label-activation.js +96 -0
  472. package/internal/events/form-label-activation.js.map +1 -0
  473. package/internal/events/redispatch-event.d.ts +27 -0
  474. package/internal/events/redispatch-event.js +40 -0
  475. package/internal/events/redispatch-event.js.map +1 -0
  476. package/internal/motion/_animation.scss +33 -0
  477. package/internal/motion/animation.d.ts +80 -0
  478. package/internal/motion/animation.js +101 -0
  479. package/internal/motion/animation.js.map +1 -0
  480. package/internal/sass/_string-ext.scss +195 -0
  481. package/internal/sass/_var.scss +237 -0
  482. package/labs/badge/_badge.scss +6 -0
  483. package/labs/badge/badge.d.ts +19 -0
  484. package/labs/badge/badge.js +20 -0
  485. package/labs/badge/badge.js.map +1 -0
  486. package/labs/badge/internal/_badge.scss +76 -0
  487. package/labs/badge/internal/badge-styles.css +1 -0
  488. package/labs/badge/internal/badge-styles.css.map +1 -0
  489. package/labs/badge/internal/badge-styles.d.ts +1 -0
  490. package/labs/badge/internal/badge-styles.js +10 -0
  491. package/labs/badge/internal/badge-styles.js.map +1 -0
  492. package/labs/badge/internal/badge-styles.scss +10 -0
  493. package/labs/badge/internal/badge.d.ts +13 -0
  494. package/labs/badge/internal/badge.js +28 -0
  495. package/labs/badge/internal/badge.js.map +1 -0
  496. package/labs/behaviors/constraint-validation.d.ts +133 -0
  497. package/labs/behaviors/constraint-validation.js +131 -0
  498. package/labs/behaviors/constraint-validation.js.map +1 -0
  499. package/labs/behaviors/element-internals.d.ts +45 -0
  500. package/labs/behaviors/element-internals.js +46 -0
  501. package/labs/behaviors/element-internals.js.map +1 -0
  502. package/labs/behaviors/focusable.d.ts +39 -0
  503. package/labs/behaviors/focusable.js +87 -0
  504. package/labs/behaviors/focusable.js.map +1 -0
  505. package/labs/behaviors/form-associated.d.ts +199 -0
  506. package/labs/behaviors/form-associated.js +175 -0
  507. package/labs/behaviors/form-associated.js.map +1 -0
  508. package/labs/behaviors/mixin.d.ts +54 -0
  509. package/labs/behaviors/mixin.js +7 -0
  510. package/labs/behaviors/mixin.js.map +1 -0
  511. package/labs/behaviors/on-report-validity.d.ts +71 -0
  512. package/labs/behaviors/on-report-validity.js +289 -0
  513. package/labs/behaviors/on-report-validity.js.map +1 -0
  514. package/labs/behaviors/validators/checkbox-validator.d.ts +35 -0
  515. package/labs/behaviors/validators/checkbox-validator.js +32 -0
  516. package/labs/behaviors/validators/checkbox-validator.js.map +1 -0
  517. package/labs/behaviors/validators/radio-validator.d.ts +38 -0
  518. package/labs/behaviors/validators/radio-validator.js +65 -0
  519. package/labs/behaviors/validators/radio-validator.js.map +1 -0
  520. package/labs/behaviors/validators/select-validator.d.ts +35 -0
  521. package/labs/behaviors/validators/select-validator.js +33 -0
  522. package/labs/behaviors/validators/select-validator.js.map +1 -0
  523. package/labs/behaviors/validators/text-field-validator.d.ts +110 -0
  524. package/labs/behaviors/validators/text-field-validator.js +154 -0
  525. package/labs/behaviors/validators/text-field-validator.js.map +1 -0
  526. package/labs/behaviors/validators/validator.d.ts +96 -0
  527. package/labs/behaviors/validators/validator.js +73 -0
  528. package/labs/behaviors/validators/validator.js.map +1 -0
  529. package/labs/card/_elevated-card.scss +6 -0
  530. package/labs/card/_filled-card.scss +6 -0
  531. package/labs/card/_outlined-card.scss +6 -0
  532. package/labs/card/elevated-card.d.ts +19 -0
  533. package/labs/card/elevated-card.js +21 -0
  534. package/labs/card/elevated-card.js.map +1 -0
  535. package/labs/card/filled-card.d.ts +19 -0
  536. package/labs/card/filled-card.js +21 -0
  537. package/labs/card/filled-card.js.map +1 -0
  538. package/labs/card/internal/_elevated-card.scss +35 -0
  539. package/labs/card/internal/_filled-card.scss +35 -0
  540. package/labs/card/internal/_outlined-card.scss +40 -0
  541. package/labs/card/internal/_shared.scss +62 -0
  542. package/labs/card/internal/card.d.ts +13 -0
  543. package/labs/card/internal/card.js +21 -0
  544. package/labs/card/internal/card.js.map +1 -0
  545. package/labs/card/internal/elevated-styles.css +1 -0
  546. package/labs/card/internal/elevated-styles.css.map +1 -0
  547. package/labs/card/internal/elevated-styles.d.ts +1 -0
  548. package/labs/card/internal/elevated-styles.js +10 -0
  549. package/labs/card/internal/elevated-styles.js.map +1 -0
  550. package/labs/card/internal/elevated-styles.scss +10 -0
  551. package/labs/card/internal/filled-styles.css +1 -0
  552. package/labs/card/internal/filled-styles.css.map +1 -0
  553. package/labs/card/internal/filled-styles.d.ts +1 -0
  554. package/labs/card/internal/filled-styles.js +10 -0
  555. package/labs/card/internal/filled-styles.js.map +1 -0
  556. package/labs/card/internal/filled-styles.scss +10 -0
  557. package/labs/card/internal/outlined-styles.css +1 -0
  558. package/labs/card/internal/outlined-styles.css.map +1 -0
  559. package/labs/card/internal/outlined-styles.d.ts +1 -0
  560. package/labs/card/internal/outlined-styles.js +10 -0
  561. package/labs/card/internal/outlined-styles.js.map +1 -0
  562. package/labs/card/internal/outlined-styles.scss +10 -0
  563. package/labs/card/internal/shared-styles.css +1 -0
  564. package/labs/card/internal/shared-styles.css.map +1 -0
  565. package/labs/card/internal/shared-styles.d.ts +1 -0
  566. package/labs/card/internal/shared-styles.js +10 -0
  567. package/labs/card/internal/shared-styles.js.map +1 -0
  568. package/labs/card/internal/shared-styles.scss +10 -0
  569. package/labs/card/outlined-card.d.ts +19 -0
  570. package/labs/card/outlined-card.js +21 -0
  571. package/labs/card/outlined-card.js.map +1 -0
  572. package/labs/item/internal/_item.scss +99 -0
  573. package/labs/item/internal/item-styles.css +1 -0
  574. package/labs/item/internal/item-styles.css.map +1 -0
  575. package/labs/item/internal/item-styles.d.ts +1 -0
  576. package/labs/item/internal/item-styles.js +10 -0
  577. package/labs/item/internal/item-styles.js.map +1 -0
  578. package/labs/item/internal/item-styles.scss +10 -0
  579. package/labs/item/internal/item.d.ts +22 -0
  580. package/labs/item/internal/item.js +78 -0
  581. package/labs/item/internal/item.js.map +1 -0
  582. package/labs/item/item.d.ts +74 -0
  583. package/labs/item/item.js +75 -0
  584. package/labs/item/item.js.map +1 -0
  585. package/labs/navigationbar/_navigation-bar.scss +6 -0
  586. package/labs/navigationbar/harness.d.ts +19 -0
  587. package/labs/navigationbar/harness.js +29 -0
  588. package/labs/navigationbar/harness.js.map +1 -0
  589. package/labs/navigationbar/internal/_navigation-bar.scss +70 -0
  590. package/labs/navigationbar/internal/constants.d.ts +17 -0
  591. package/labs/navigationbar/internal/constants.js +7 -0
  592. package/labs/navigationbar/internal/constants.js.map +1 -0
  593. package/labs/navigationbar/internal/navigation-bar-styles.css +1 -0
  594. package/labs/navigationbar/internal/navigation-bar-styles.css.map +1 -0
  595. package/labs/navigationbar/internal/navigation-bar-styles.d.ts +1 -0
  596. package/labs/navigationbar/internal/navigation-bar-styles.js +10 -0
  597. package/labs/navigationbar/internal/navigation-bar-styles.js.map +1 -0
  598. package/labs/navigationbar/internal/navigation-bar-styles.scss +10 -0
  599. package/labs/navigationbar/internal/navigation-bar.d.ts +32 -0
  600. package/labs/navigationbar/internal/navigation-bar.js +144 -0
  601. package/labs/navigationbar/internal/navigation-bar.js.map +1 -0
  602. package/labs/navigationbar/internal/state.d.ts +23 -0
  603. package/labs/navigationbar/internal/state.js +7 -0
  604. package/labs/navigationbar/internal/state.js.map +1 -0
  605. package/labs/navigationbar/navigation-bar.d.ts +19 -0
  606. package/labs/navigationbar/navigation-bar.js +20 -0
  607. package/labs/navigationbar/navigation-bar.js.map +1 -0
  608. package/labs/navigationdrawer/_navigation-drawer-modal.scss +6 -0
  609. package/labs/navigationdrawer/_navigation-drawer.scss +6 -0
  610. package/labs/navigationdrawer/internal/_navigation-drawer-modal.scss +110 -0
  611. package/labs/navigationdrawer/internal/_navigation-drawer.scss +97 -0
  612. package/labs/navigationdrawer/internal/_shared.scss +31 -0
  613. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css +1 -0
  614. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.map +1 -0
  615. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.d.ts +1 -0
  616. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.js +10 -0
  617. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.js.map +1 -0
  618. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.scss +10 -0
  619. package/labs/navigationdrawer/internal/navigation-drawer-modal.d.ts +24 -0
  620. package/labs/navigationdrawer/internal/navigation-drawer-modal.js +87 -0
  621. package/labs/navigationdrawer/internal/navigation-drawer-modal.js.map +1 -0
  622. package/labs/navigationdrawer/internal/navigation-drawer-styles.css +1 -0
  623. package/labs/navigationdrawer/internal/navigation-drawer-styles.css.map +1 -0
  624. package/labs/navigationdrawer/internal/navigation-drawer-styles.d.ts +1 -0
  625. package/labs/navigationdrawer/internal/navigation-drawer-styles.js +10 -0
  626. package/labs/navigationdrawer/internal/navigation-drawer-styles.js.map +1 -0
  627. package/labs/navigationdrawer/internal/navigation-drawer-styles.scss +10 -0
  628. package/labs/navigationdrawer/internal/navigation-drawer.d.ts +22 -0
  629. package/labs/navigationdrawer/internal/navigation-drawer.js +70 -0
  630. package/labs/navigationdrawer/internal/navigation-drawer.js.map +1 -0
  631. package/labs/navigationdrawer/internal/shared-styles.css +1 -0
  632. package/labs/navigationdrawer/internal/shared-styles.css.map +1 -0
  633. package/labs/navigationdrawer/internal/shared-styles.d.ts +1 -0
  634. package/labs/navigationdrawer/internal/shared-styles.js +10 -0
  635. package/labs/navigationdrawer/internal/shared-styles.js.map +1 -0
  636. package/labs/navigationdrawer/internal/shared-styles.scss +10 -0
  637. package/labs/navigationdrawer/navigation-drawer-modal.d.ts +18 -0
  638. package/labs/navigationdrawer/navigation-drawer-modal.js +21 -0
  639. package/labs/navigationdrawer/navigation-drawer-modal.js.map +1 -0
  640. package/labs/navigationdrawer/navigation-drawer.d.ts +18 -0
  641. package/labs/navigationdrawer/navigation-drawer.js +21 -0
  642. package/labs/navigationdrawer/navigation-drawer.js.map +1 -0
  643. package/labs/navigationtab/_navigation-tab.scss +6 -0
  644. package/labs/navigationtab/harness.d.ts +13 -0
  645. package/labs/navigationtab/harness.js +16 -0
  646. package/labs/navigationtab/harness.js.map +1 -0
  647. package/labs/navigationtab/internal/_navigation-tab.scss +264 -0
  648. package/labs/navigationtab/internal/navigation-tab-styles.css +1 -0
  649. package/labs/navigationtab/internal/navigation-tab-styles.css.map +1 -0
  650. package/labs/navigationtab/internal/navigation-tab-styles.d.ts +1 -0
  651. package/labs/navigationtab/internal/navigation-tab-styles.js +10 -0
  652. package/labs/navigationtab/internal/navigation-tab-styles.js.map +1 -0
  653. package/labs/navigationtab/internal/navigation-tab-styles.scss +10 -0
  654. package/labs/navigationtab/internal/navigation-tab.d.ts +38 -0
  655. package/labs/navigationtab/internal/navigation-tab.js +132 -0
  656. package/labs/navigationtab/internal/navigation-tab.js.map +1 -0
  657. package/labs/navigationtab/internal/state.d.ts +18 -0
  658. package/labs/navigationtab/internal/state.js +7 -0
  659. package/labs/navigationtab/internal/state.js.map +1 -0
  660. package/labs/navigationtab/navigation-tab.d.ts +19 -0
  661. package/labs/navigationtab/navigation-tab.js +20 -0
  662. package/labs/navigationtab/navigation-tab.js.map +1 -0
  663. package/labs/segmentedbutton/internal/_outlined-segmented-button.scss +42 -0
  664. package/labs/segmentedbutton/internal/_shared.scss +361 -0
  665. package/labs/segmentedbutton/internal/outlined-segmented-button.d.ts +24 -0
  666. package/labs/segmentedbutton/internal/outlined-segmented-button.js +22 -0
  667. package/labs/segmentedbutton/internal/outlined-segmented-button.js.map +1 -0
  668. package/labs/segmentedbutton/internal/outlined-styles.css +1 -0
  669. package/labs/segmentedbutton/internal/outlined-styles.css.map +1 -0
  670. package/labs/segmentedbutton/internal/outlined-styles.d.ts +1 -0
  671. package/labs/segmentedbutton/internal/outlined-styles.js +10 -0
  672. package/labs/segmentedbutton/internal/outlined-styles.js.map +1 -0
  673. package/labs/segmentedbutton/internal/outlined-styles.scss +10 -0
  674. package/labs/segmentedbutton/internal/segmented-button.d.ts +49 -0
  675. package/labs/segmentedbutton/internal/segmented-button.js +170 -0
  676. package/labs/segmentedbutton/internal/segmented-button.js.map +1 -0
  677. package/labs/segmentedbutton/internal/shared-styles.css +1 -0
  678. package/labs/segmentedbutton/internal/shared-styles.css.map +1 -0
  679. package/labs/segmentedbutton/internal/shared-styles.d.ts +1 -0
  680. package/labs/segmentedbutton/internal/shared-styles.js +10 -0
  681. package/labs/segmentedbutton/internal/shared-styles.js.map +1 -0
  682. package/labs/segmentedbutton/internal/shared-styles.scss +10 -0
  683. package/labs/segmentedbutton/outlined-segmented-button.d.ts +21 -0
  684. package/labs/segmentedbutton/outlined-segmented-button.js +23 -0
  685. package/labs/segmentedbutton/outlined-segmented-button.js.map +1 -0
  686. package/labs/segmentedbuttonset/internal/_outlined-segmented-button-set.scss +40 -0
  687. package/labs/segmentedbuttonset/internal/_shared.scss +33 -0
  688. package/labs/segmentedbuttonset/internal/outlined-segmented-button-set.d.ts +14 -0
  689. package/labs/segmentedbuttonset/internal/outlined-segmented-button-set.js +18 -0
  690. package/labs/segmentedbuttonset/internal/outlined-segmented-button-set.js.map +1 -0
  691. package/labs/segmentedbuttonset/internal/outlined-styles.css +1 -0
  692. package/labs/segmentedbuttonset/internal/outlined-styles.css.map +1 -0
  693. package/labs/segmentedbuttonset/internal/outlined-styles.d.ts +1 -0
  694. package/labs/segmentedbuttonset/internal/outlined-styles.js +10 -0
  695. package/labs/segmentedbuttonset/internal/outlined-styles.js.map +1 -0
  696. package/labs/segmentedbuttonset/internal/outlined-styles.scss +10 -0
  697. package/labs/segmentedbuttonset/internal/segmented-button-set.d.ts +33 -0
  698. package/labs/segmentedbuttonset/internal/segmented-button-set.js +112 -0
  699. package/labs/segmentedbuttonset/internal/segmented-button-set.js.map +1 -0
  700. package/labs/segmentedbuttonset/internal/shared-styles.css +1 -0
  701. package/labs/segmentedbuttonset/internal/shared-styles.css.map +1 -0
  702. package/labs/segmentedbuttonset/internal/shared-styles.d.ts +1 -0
  703. package/labs/segmentedbuttonset/internal/shared-styles.js +10 -0
  704. package/labs/segmentedbuttonset/internal/shared-styles.js.map +1 -0
  705. package/labs/segmentedbuttonset/internal/shared-styles.scss +10 -0
  706. package/labs/segmentedbuttonset/outlined-segmented-button-set.d.ts +21 -0
  707. package/labs/segmentedbuttonset/outlined-segmented-button-set.js +23 -0
  708. package/labs/segmentedbuttonset/outlined-segmented-button-set.js.map +1 -0
  709. package/list/_list-item.scss +6 -0
  710. package/list/_list.scss +6 -0
  711. package/list/harness.d.ts +45 -0
  712. package/list/harness.js +49 -0
  713. package/list/harness.js.map +1 -0
  714. package/list/internal/_list.scss +43 -0
  715. package/list/internal/list-controller.d.ts +114 -0
  716. package/list/internal/list-controller.js +186 -0
  717. package/list/internal/list-controller.js.map +1 -0
  718. package/list/internal/list-navigation-helpers.d.ts +136 -0
  719. package/list/internal/list-navigation-helpers.js +230 -0
  720. package/list/internal/list-navigation-helpers.js.map +1 -0
  721. package/list/internal/list-styles.css +1 -0
  722. package/list/internal/list-styles.css.map +1 -0
  723. package/list/internal/list-styles.d.ts +1 -0
  724. package/list/internal/list-styles.js +10 -0
  725. package/list/internal/list-styles.js.map +1 -0
  726. package/list/internal/list-styles.scss +10 -0
  727. package/list/internal/list.d.ts +44 -0
  728. package/list/internal/list.js +71 -0
  729. package/list/internal/list.js.map +1 -0
  730. package/list/internal/listitem/_list-item.scss +163 -0
  731. package/list/internal/listitem/harness.d.ts +27 -0
  732. package/list/internal/listitem/harness.js +25 -0
  733. package/list/internal/listitem/harness.js.map +1 -0
  734. package/list/internal/listitem/list-item-styles.css +1 -0
  735. package/list/internal/listitem/list-item-styles.css.map +1 -0
  736. package/list/internal/listitem/list-item-styles.d.ts +1 -0
  737. package/list/internal/listitem/list-item-styles.js +10 -0
  738. package/list/internal/listitem/list-item-styles.js.map +1 -0
  739. package/list/internal/listitem/list-item-styles.scss +10 -0
  740. package/list/internal/listitem/list-item.d.ts +80 -0
  741. package/list/internal/listitem/list-item.js +192 -0
  742. package/list/internal/listitem/list-item.js.map +1 -0
  743. package/list/list-item.d.ts +54 -0
  744. package/list/list-item.js +54 -0
  745. package/list/list-item.js.map +1 -0
  746. package/list/list.d.ts +34 -0
  747. package/list/list.js +35 -0
  748. package/list/list.js.map +1 -0
  749. package/menu/_menu-item.scss +6 -0
  750. package/menu/_menu.scss +6 -0
  751. package/menu/harness.d.ts +21 -0
  752. package/menu/harness.js +38 -0
  753. package/menu/harness.js.map +1 -0
  754. package/menu/internal/_menu.scss +143 -0
  755. package/menu/internal/controllers/menuItemController.d.ts +126 -0
  756. package/menu/internal/controllers/menuItemController.js +138 -0
  757. package/menu/internal/controllers/menuItemController.js.map +1 -0
  758. package/menu/internal/controllers/shared.d.ts +229 -0
  759. package/menu/internal/controllers/shared.js +137 -0
  760. package/menu/internal/controllers/shared.js.map +1 -0
  761. package/menu/internal/controllers/surfacePositionController.d.ts +174 -0
  762. package/menu/internal/controllers/surfacePositionController.js +394 -0
  763. package/menu/internal/controllers/surfacePositionController.js.map +1 -0
  764. package/menu/internal/controllers/typeaheadController.d.ts +157 -0
  765. package/menu/internal/controllers/typeaheadController.js +259 -0
  766. package/menu/internal/controllers/typeaheadController.js.map +1 -0
  767. package/menu/internal/menu-styles.css +1 -0
  768. package/menu/internal/menu-styles.css.map +1 -0
  769. package/menu/internal/menu-styles.d.ts +1 -0
  770. package/menu/internal/menu-styles.js +10 -0
  771. package/menu/internal/menu-styles.js.map +1 -0
  772. package/menu/internal/menu-styles.scss +10 -0
  773. package/menu/internal/menu.d.ts +317 -0
  774. package/menu/internal/menu.js +914 -0
  775. package/menu/internal/menu.js.map +1 -0
  776. package/menu/internal/menuitem/_menu-item.scss +180 -0
  777. package/menu/internal/menuitem/harness.d.ts +13 -0
  778. package/menu/internal/menuitem/harness.js +12 -0
  779. package/menu/internal/menuitem/harness.js.map +1 -0
  780. package/menu/internal/menuitem/menu-item-styles.css +1 -0
  781. package/menu/internal/menuitem/menu-item-styles.css.map +1 -0
  782. package/menu/internal/menuitem/menu-item-styles.d.ts +1 -0
  783. package/menu/internal/menuitem/menu-item-styles.js +10 -0
  784. package/menu/internal/menuitem/menu-item-styles.js.map +1 -0
  785. package/menu/internal/menuitem/menu-item-styles.scss +10 -0
  786. package/menu/internal/menuitem/menu-item.d.ts +85 -0
  787. package/menu/internal/menuitem/menu-item.js +211 -0
  788. package/menu/internal/menuitem/menu-item.js.map +1 -0
  789. package/menu/internal/submenu/_sub-menu.scss +12 -0
  790. package/menu/internal/submenu/sub-menu-styles.css +1 -0
  791. package/menu/internal/submenu/sub-menu-styles.css.map +1 -0
  792. package/menu/internal/submenu/sub-menu-styles.d.ts +1 -0
  793. package/menu/internal/submenu/sub-menu-styles.js +10 -0
  794. package/menu/internal/submenu/sub-menu-styles.js.map +1 -0
  795. package/menu/internal/submenu/sub-menu-styles.scss +10 -0
  796. package/menu/internal/submenu/sub-menu.d.ts +102 -0
  797. package/menu/internal/submenu/sub-menu.js +364 -0
  798. package/menu/internal/submenu/sub-menu.js.map +1 -0
  799. package/menu/internal/types.d.ts +23 -0
  800. package/menu/internal/types.js +7 -0
  801. package/menu/internal/types.js.map +1 -0
  802. package/menu/menu-item.d.ts +32 -0
  803. package/menu/menu-item.js +31 -0
  804. package/menu/menu-item.js.map +1 -0
  805. package/menu/menu.d.ts +68 -0
  806. package/menu/menu.js +67 -0
  807. package/menu/menu.js.map +1 -0
  808. package/menu/sub-menu.d.ts +63 -0
  809. package/menu/sub-menu.js +64 -0
  810. package/menu/sub-menu.js.map +1 -0
  811. package/migrations/v2/query-selector-aria.d.ts +22 -0
  812. package/migrations/v2/query-selector-aria.js +30 -0
  813. package/migrations/v2/query-selector-aria.js.map +1 -0
  814. package/package.json +166 -0
  815. package/progress/_circular-progress.scss +6 -0
  816. package/progress/_linear-progress.scss +6 -0
  817. package/progress/circular-progress.d.ts +28 -0
  818. package/progress/circular-progress.js +29 -0
  819. package/progress/circular-progress.js.map +1 -0
  820. package/progress/harness.d.ts +20 -0
  821. package/progress/harness.js +25 -0
  822. package/progress/harness.js.map +1 -0
  823. package/progress/internal/_circular-progress.scss +287 -0
  824. package/progress/internal/_linear-progress.scss +335 -0
  825. package/progress/internal/circular-progress-styles.css +1 -0
  826. package/progress/internal/circular-progress-styles.css.map +1 -0
  827. package/progress/internal/circular-progress-styles.d.ts +1 -0
  828. package/progress/internal/circular-progress-styles.js +10 -0
  829. package/progress/internal/circular-progress-styles.js.map +1 -0
  830. package/progress/internal/circular-progress-styles.scss +8 -0
  831. package/progress/internal/circular-progress.d.ts +14 -0
  832. package/progress/internal/circular-progress.js +50 -0
  833. package/progress/internal/circular-progress.js.map +1 -0
  834. package/progress/internal/linear-progress-styles.css +1 -0
  835. package/progress/internal/linear-progress-styles.css.map +1 -0
  836. package/progress/internal/linear-progress-styles.d.ts +1 -0
  837. package/progress/internal/linear-progress-styles.js +10 -0
  838. package/progress/internal/linear-progress-styles.js.map +1 -0
  839. package/progress/internal/linear-progress-styles.scss +8 -0
  840. package/progress/internal/linear-progress.d.ts +17 -0
  841. package/progress/internal/linear-progress.js +54 -0
  842. package/progress/internal/linear-progress.js.map +1 -0
  843. package/progress/internal/progress.d.ts +36 -0
  844. package/progress/internal/progress.js +71 -0
  845. package/progress/internal/progress.js.map +1 -0
  846. package/progress/linear-progress.d.ts +27 -0
  847. package/progress/linear-progress.js +28 -0
  848. package/progress/linear-progress.js.map +1 -0
  849. package/radio/_radio.scss +6 -0
  850. package/radio/harness.d.ts +13 -0
  851. package/radio/harness.js +16 -0
  852. package/radio/harness.js.map +1 -0
  853. package/radio/internal/_radio.scss +203 -0
  854. package/radio/internal/radio-styles.css +1 -0
  855. package/radio/internal/radio-styles.css.map +1 -0
  856. package/radio/internal/radio-styles.d.ts +1 -0
  857. package/radio/internal/radio-styles.js +10 -0
  858. package/radio/internal/radio-styles.js.map +1 -0
  859. package/radio/internal/radio-styles.scss +10 -0
  860. package/radio/internal/radio.d.ts +55 -0
  861. package/radio/internal/radio.js +172 -0
  862. package/radio/internal/radio.js.map +1 -0
  863. package/radio/internal/single-selection-controller.d.ts +80 -0
  864. package/radio/internal/single-selection-controller.js +199 -0
  865. package/radio/internal/single-selection-controller.js.map +1 -0
  866. package/radio/radio.d.ts +31 -0
  867. package/radio/radio.js +32 -0
  868. package/radio/radio.js.map +1 -0
  869. package/ripple/_ripple.scss +6 -0
  870. package/ripple/internal/_ripple.scss +92 -0
  871. package/ripple/internal/ripple-styles.css +1 -0
  872. package/ripple/internal/ripple-styles.css.map +1 -0
  873. package/ripple/internal/ripple-styles.d.ts +1 -0
  874. package/ripple/internal/ripple-styles.js +10 -0
  875. package/ripple/internal/ripple-styles.js.map +1 -0
  876. package/ripple/internal/ripple-styles.scss +10 -0
  877. package/ripple/internal/ripple.d.ts +76 -0
  878. package/ripple/internal/ripple.js +423 -0
  879. package/ripple/internal/ripple.js.map +1 -0
  880. package/ripple/ripple.d.ts +28 -0
  881. package/ripple/ripple.js +29 -0
  882. package/ripple/ripple.js.map +1 -0
  883. package/select/_filled-select.scss +6 -0
  884. package/select/_outlined-select.scss +6 -0
  885. package/select/filled-select.d.ts +42 -0
  886. package/select/filled-select.js +44 -0
  887. package/select/filled-select.js.map +1 -0
  888. package/select/harness.d.ts +25 -0
  889. package/select/harness.js +58 -0
  890. package/select/harness.js.map +1 -0
  891. package/select/internal/_filled-select.scss +191 -0
  892. package/select/internal/_outlined-select.scss +164 -0
  893. package/select/internal/_shared.scss +102 -0
  894. package/select/internal/filled-select-styles.css +1 -0
  895. package/select/internal/filled-select-styles.css.map +1 -0
  896. package/select/internal/filled-select-styles.d.ts +1 -0
  897. package/select/internal/filled-select-styles.js +10 -0
  898. package/select/internal/filled-select-styles.js.map +1 -0
  899. package/select/internal/filled-select-styles.scss +10 -0
  900. package/select/internal/filled-select.d.ts +10 -0
  901. package/select/internal/filled-select.js +16 -0
  902. package/select/internal/filled-select.js.map +1 -0
  903. package/select/internal/outlined-select-styles.css +1 -0
  904. package/select/internal/outlined-select-styles.css.map +1 -0
  905. package/select/internal/outlined-select-styles.d.ts +1 -0
  906. package/select/internal/outlined-select-styles.js +10 -0
  907. package/select/internal/outlined-select-styles.js.map +1 -0
  908. package/select/internal/outlined-select-styles.scss +10 -0
  909. package/select/internal/outlined-select.d.ts +10 -0
  910. package/select/internal/outlined-select.js +16 -0
  911. package/select/internal/outlined-select.js.map +1 -0
  912. package/select/internal/select.d.ts +265 -0
  913. package/select/internal/select.js +750 -0
  914. package/select/internal/select.js.map +1 -0
  915. package/select/internal/selectoption/harness.d.ts +11 -0
  916. package/select/internal/selectoption/harness.js +12 -0
  917. package/select/internal/selectoption/harness.js.map +1 -0
  918. package/select/internal/selectoption/select-option.d.ts +112 -0
  919. package/select/internal/selectoption/select-option.js +196 -0
  920. package/select/internal/selectoption/select-option.js.map +1 -0
  921. package/select/internal/selectoption/selectOptionController.d.ts +71 -0
  922. package/select/internal/selectoption/selectOptionController.js +115 -0
  923. package/select/internal/selectoption/selectOptionController.js.map +1 -0
  924. package/select/internal/shared-styles.css +1 -0
  925. package/select/internal/shared-styles.css.map +1 -0
  926. package/select/internal/shared-styles.d.ts +1 -0
  927. package/select/internal/shared-styles.js +10 -0
  928. package/select/internal/shared-styles.js.map +1 -0
  929. package/select/internal/shared-styles.scss +10 -0
  930. package/select/internal/shared.d.ts +18 -0
  931. package/select/internal/shared.js +23 -0
  932. package/select/internal/shared.js.map +1 -0
  933. package/select/outlined-select.d.ts +42 -0
  934. package/select/outlined-select.js +44 -0
  935. package/select/outlined-select.js.map +1 -0
  936. package/select/select-option.d.ts +46 -0
  937. package/select/select-option.js +46 -0
  938. package/select/select-option.js.map +1 -0
  939. package/slider/_slider.scss +6 -0
  940. package/slider/harness.d.ts +21 -0
  941. package/slider/harness.js +70 -0
  942. package/slider/harness.js.map +1 -0
  943. package/slider/internal/_slider.scss +519 -0
  944. package/slider/internal/forced-colors-styles.css +1 -0
  945. package/slider/internal/forced-colors-styles.css.map +1 -0
  946. package/slider/internal/forced-colors-styles.d.ts +1 -0
  947. package/slider/internal/forced-colors-styles.js +10 -0
  948. package/slider/internal/forced-colors-styles.js.map +1 -0
  949. package/slider/internal/forced-colors-styles.scss +88 -0
  950. package/slider/internal/slider-styles.css +1 -0
  951. package/slider/internal/slider-styles.css.map +1 -0
  952. package/slider/internal/slider-styles.d.ts +1 -0
  953. package/slider/internal/slider-styles.js +10 -0
  954. package/slider/internal/slider-styles.js.map +1 -0
  955. package/slider/internal/slider-styles.scss +8 -0
  956. package/slider/internal/slider.d.ts +178 -0
  957. package/slider/internal/slider.js +714 -0
  958. package/slider/internal/slider.js.map +1 -0
  959. package/slider/slider.d.ts +32 -0
  960. package/slider/slider.js +34 -0
  961. package/slider/slider.js.map +1 -0
  962. package/switch/_switch.scss +6 -0
  963. package/switch/harness.d.ts +13 -0
  964. package/switch/harness.js +16 -0
  965. package/switch/harness.js.map +1 -0
  966. package/switch/internal/_handle.scss +183 -0
  967. package/switch/internal/_icon.scss +119 -0
  968. package/switch/internal/_switch.scss +101 -0
  969. package/switch/internal/_track.scss +124 -0
  970. package/switch/internal/switch-styles.css +1 -0
  971. package/switch/internal/switch-styles.css.map +1 -0
  972. package/switch/internal/switch-styles.d.ts +1 -0
  973. package/switch/internal/switch-styles.js +10 -0
  974. package/switch/internal/switch-styles.js.map +1 -0
  975. package/switch/internal/switch-styles.scss +10 -0
  976. package/switch/internal/switch.d.ts +75 -0
  977. package/switch/internal/switch.js +219 -0
  978. package/switch/internal/switch.js.map +1 -0
  979. package/switch/switch.d.ts +25 -0
  980. package/switch/switch.js +26 -0
  981. package/switch/switch.js.map +1 -0
  982. package/tabs/_primary-tab.scss +6 -0
  983. package/tabs/_secondary-tab.scss +6 -0
  984. package/tabs/harness.d.ts +23 -0
  985. package/tabs/harness.js +51 -0
  986. package/tabs/harness.js.map +1 -0
  987. package/tabs/internal/_primary-tab.scss +46 -0
  988. package/tabs/internal/_secondary-tab.scss +37 -0
  989. package/tabs/internal/_tab.scss +199 -0
  990. package/tabs/internal/_tabs.scss +47 -0
  991. package/tabs/internal/primary-tab-styles.css +1 -0
  992. package/tabs/internal/primary-tab-styles.css.map +1 -0
  993. package/tabs/internal/primary-tab-styles.d.ts +1 -0
  994. package/tabs/internal/primary-tab-styles.js +10 -0
  995. package/tabs/internal/primary-tab-styles.js.map +1 -0
  996. package/tabs/internal/primary-tab-styles.scss +10 -0
  997. package/tabs/internal/primary-tab.d.ts +18 -0
  998. package/tabs/internal/primary-tab.js +30 -0
  999. package/tabs/internal/primary-tab.js.map +1 -0
  1000. package/tabs/internal/secondary-tab-styles.css +1 -0
  1001. package/tabs/internal/secondary-tab-styles.css.map +1 -0
  1002. package/tabs/internal/secondary-tab-styles.d.ts +1 -0
  1003. package/tabs/internal/secondary-tab-styles.js +10 -0
  1004. package/tabs/internal/secondary-tab-styles.js.map +1 -0
  1005. package/tabs/internal/secondary-tab-styles.scss +10 -0
  1006. package/tabs/internal/secondary-tab.d.ts +12 -0
  1007. package/tabs/internal/secondary-tab.js +16 -0
  1008. package/tabs/internal/secondary-tab.js.map +1 -0
  1009. package/tabs/internal/tab-styles.css +1 -0
  1010. package/tabs/internal/tab-styles.css.map +1 -0
  1011. package/tabs/internal/tab-styles.d.ts +1 -0
  1012. package/tabs/internal/tab-styles.js +10 -0
  1013. package/tabs/internal/tab-styles.js.map +1 -0
  1014. package/tabs/internal/tab-styles.scss +10 -0
  1015. package/tabs/internal/tab.d.ts +65 -0
  1016. package/tabs/internal/tab.js +204 -0
  1017. package/tabs/internal/tab.js.map +1 -0
  1018. package/tabs/internal/tabs-styles.css +1 -0
  1019. package/tabs/internal/tabs-styles.css.map +1 -0
  1020. package/tabs/internal/tabs-styles.d.ts +1 -0
  1021. package/tabs/internal/tabs-styles.js +10 -0
  1022. package/tabs/internal/tabs-styles.js.map +1 -0
  1023. package/tabs/internal/tabs-styles.scss +10 -0
  1024. package/tabs/internal/tabs.d.ts +78 -0
  1025. package/tabs/internal/tabs.js +291 -0
  1026. package/tabs/internal/tabs.js.map +1 -0
  1027. package/tabs/primary-tab.d.ts +21 -0
  1028. package/tabs/primary-tab.js +24 -0
  1029. package/tabs/primary-tab.js.map +1 -0
  1030. package/tabs/secondary-tab.d.ts +21 -0
  1031. package/tabs/secondary-tab.js +24 -0
  1032. package/tabs/secondary-tab.js.map +1 -0
  1033. package/tabs/tabs.d.ts +21 -0
  1034. package/tabs/tabs.js +23 -0
  1035. package/tabs/tabs.js.map +1 -0
  1036. package/testing/harness.d.ts +371 -0
  1037. package/testing/harness.js +737 -0
  1038. package/testing/harness.js.map +1 -0
  1039. package/testing/transform-pseudo-classes.d.ts +39 -0
  1040. package/testing/transform-pseudo-classes.js +172 -0
  1041. package/testing/transform-pseudo-classes.js.map +1 -0
  1042. package/textfield/_filled-text-field.scss +6 -0
  1043. package/textfield/_outlined-text-field.scss +6 -0
  1044. package/textfield/filled-text-field.d.ts +23 -0
  1045. package/textfield/filled-text-field.js +28 -0
  1046. package/textfield/filled-text-field.js.map +1 -0
  1047. package/textfield/harness.d.ts +51 -0
  1048. package/textfield/harness.js +112 -0
  1049. package/textfield/harness.js.map +1 -0
  1050. package/textfield/internal/_filled-text-field.scss +149 -0
  1051. package/textfield/internal/_icon.scss +29 -0
  1052. package/textfield/internal/_input.scss +91 -0
  1053. package/textfield/internal/_outlined-text-field.scss +129 -0
  1054. package/textfield/internal/_shared.scss +49 -0
  1055. package/textfield/internal/filled-styles.css +1 -0
  1056. package/textfield/internal/filled-styles.css.map +1 -0
  1057. package/textfield/internal/filled-styles.d.ts +1 -0
  1058. package/textfield/internal/filled-styles.js +10 -0
  1059. package/textfield/internal/filled-styles.js.map +1 -0
  1060. package/textfield/internal/filled-styles.scss +10 -0
  1061. package/textfield/internal/filled-text-field.d.ts +13 -0
  1062. package/textfield/internal/filled-text-field.js +18 -0
  1063. package/textfield/internal/filled-text-field.js.map +1 -0
  1064. package/textfield/internal/outlined-styles.css +1 -0
  1065. package/textfield/internal/outlined-styles.css.map +1 -0
  1066. package/textfield/internal/outlined-styles.d.ts +1 -0
  1067. package/textfield/internal/outlined-styles.js +10 -0
  1068. package/textfield/internal/outlined-styles.js.map +1 -0
  1069. package/textfield/internal/outlined-styles.scss +10 -0
  1070. package/textfield/internal/outlined-text-field.d.ts +13 -0
  1071. package/textfield/internal/outlined-text-field.js +18 -0
  1072. package/textfield/internal/outlined-text-field.js.map +1 -0
  1073. package/textfield/internal/shared-styles.css +1 -0
  1074. package/textfield/internal/shared-styles.css.map +1 -0
  1075. package/textfield/internal/shared-styles.d.ts +1 -0
  1076. package/textfield/internal/shared-styles.js +10 -0
  1077. package/textfield/internal/shared-styles.js.map +1 -0
  1078. package/textfield/internal/shared-styles.scss +10 -0
  1079. package/textfield/internal/text-field.d.ts +334 -0
  1080. package/textfield/internal/text-field.js +716 -0
  1081. package/textfield/internal/text-field.js.map +1 -0
  1082. package/textfield/outlined-text-field.d.ts +23 -0
  1083. package/textfield/outlined-text-field.js +28 -0
  1084. package/textfield/outlined-text-field.js.map +1 -0
  1085. package/tokens/_index.scss +66 -0
  1086. package/tokens/_md-comp-assist-chip.scss +153 -0
  1087. package/tokens/_md-comp-badge.scss +39 -0
  1088. package/tokens/_md-comp-checkbox.scss +156 -0
  1089. package/tokens/_md-comp-circular-progress.scss +79 -0
  1090. package/tokens/_md-comp-dialog.scss +112 -0
  1091. package/tokens/_md-comp-divider.scss +43 -0
  1092. package/tokens/_md-comp-elevated-button.scss +143 -0
  1093. package/tokens/_md-comp-elevated-card.scss +80 -0
  1094. package/tokens/_md-comp-elevation.scss +48 -0
  1095. package/tokens/_md-comp-fab-branded.scss +155 -0
  1096. package/tokens/_md-comp-fab.scss +296 -0
  1097. package/tokens/_md-comp-filled-button.scss +143 -0
  1098. package/tokens/_md-comp-filled-card.scss +80 -0
  1099. package/tokens/_md-comp-filled-field.scss +285 -0
  1100. package/tokens/_md-comp-filled-icon-button.scss +119 -0
  1101. package/tokens/_md-comp-filled-select.scss +198 -0
  1102. package/tokens/_md-comp-filled-text-field.scss +192 -0
  1103. package/tokens/_md-comp-filled-tonal-button.scss +143 -0
  1104. package/tokens/_md-comp-filled-tonal-icon-button.scss +123 -0
  1105. package/tokens/_md-comp-filter-chip.scss +265 -0
  1106. package/tokens/_md-comp-focus-ring.scss +78 -0
  1107. package/tokens/_md-comp-full-screen-dialog.scss +25 -0
  1108. package/tokens/_md-comp-icon-button.scss +94 -0
  1109. package/tokens/_md-comp-icon.scss +46 -0
  1110. package/tokens/_md-comp-input-chip.scss +247 -0
  1111. package/tokens/_md-comp-item.scss +88 -0
  1112. package/tokens/_md-comp-linear-progress.scss +64 -0
  1113. package/tokens/_md-comp-list-item.scss +173 -0
  1114. package/tokens/_md-comp-list.scss +44 -0
  1115. package/tokens/_md-comp-menu-item.scss +125 -0
  1116. package/tokens/_md-comp-menu.scss +59 -0
  1117. package/tokens/_md-comp-navigation-bar.scss +44 -0
  1118. package/tokens/_md-comp-navigation-drawer.scss +44 -0
  1119. package/tokens/_md-comp-outlined-button.scss +139 -0
  1120. package/tokens/_md-comp-outlined-card.scss +86 -0
  1121. package/tokens/_md-comp-outlined-field.scss +260 -0
  1122. package/tokens/_md-comp-outlined-icon-button.scss +117 -0
  1123. package/tokens/_md-comp-outlined-segmented-button.scss +123 -0
  1124. package/tokens/_md-comp-outlined-select.scss +186 -0
  1125. package/tokens/_md-comp-outlined-text-field.scss +179 -0
  1126. package/tokens/_md-comp-primary-tab.scss +160 -0
  1127. package/tokens/_md-comp-radio.scss +86 -0
  1128. package/tokens/_md-comp-ripple.scss +48 -0
  1129. package/tokens/_md-comp-secondary-tab.scss +158 -0
  1130. package/tokens/_md-comp-slider.scss +117 -0
  1131. package/tokens/_md-comp-suggestion-chip.scss +157 -0
  1132. package/tokens/_md-comp-switch.scss +187 -0
  1133. package/tokens/_md-comp-test-table.scss +43 -0
  1134. package/tokens/_md-comp-text-button.scss +132 -0
  1135. package/tokens/_md-ref-palette.scss +112 -0
  1136. package/tokens/_md-ref-typeface.scss +46 -0
  1137. package/tokens/_md-sys-color.scss +119 -0
  1138. package/tokens/_md-sys-elevation.scss +31 -0
  1139. package/tokens/_md-sys-motion.scss +12 -0
  1140. package/tokens/_md-sys-shape.scss +102 -0
  1141. package/tokens/_md-sys-state.scss +12 -0
  1142. package/tokens/_md-sys-typescale.scss +149 -0
  1143. package/tokens/internal/_shape.scss +93 -0
  1144. package/tokens/internal/_validate.scss +109 -0
  1145. package/tokens/v0_192/_index.scss +107 -0
  1146. package/tokens/v0_192/_md-comp-assist-chip.scss +111 -0
  1147. package/tokens/v0_192/_md-comp-badge.scss +61 -0
  1148. package/tokens/v0_192/_md-comp-banner.scss +76 -0
  1149. package/tokens/v0_192/_md-comp-bottom-app-bar.scss +36 -0
  1150. package/tokens/v0_192/_md-comp-carousel-item.scss +66 -0
  1151. package/tokens/v0_192/_md-comp-checkbox.scss +129 -0
  1152. package/tokens/v0_192/_md-comp-circular-progress-indicator.scss +41 -0
  1153. package/tokens/v0_192/_md-comp-data-table.scss +99 -0
  1154. package/tokens/v0_192/_md-comp-date-input-modal.scss +90 -0
  1155. package/tokens/v0_192/_md-comp-date-picker-docked.scss +247 -0
  1156. package/tokens/v0_192/_md-comp-date-picker-modal.scss +306 -0
  1157. package/tokens/v0_192/_md-comp-dialog.scss +124 -0
  1158. package/tokens/v0_192/_md-comp-divider.scss +28 -0
  1159. package/tokens/v0_192/_md-comp-elevated-button.scss +92 -0
  1160. package/tokens/v0_192/_md-comp-elevated-card.scss +60 -0
  1161. package/tokens/v0_192/_md-comp-extended-fab-branded.scss +89 -0
  1162. package/tokens/v0_192/_md-comp-extended-fab-primary.scss +97 -0
  1163. package/tokens/v0_192/_md-comp-extended-fab-secondary.scss +98 -0
  1164. package/tokens/v0_192/_md-comp-extended-fab-surface.scss +93 -0
  1165. package/tokens/v0_192/_md-comp-extended-fab-tertiary.scss +98 -0
  1166. package/tokens/v0_192/_md-comp-fab-branded-large.scss +63 -0
  1167. package/tokens/v0_192/_md-comp-fab-branded.scss +63 -0
  1168. package/tokens/v0_192/_md-comp-fab-primary-large.scss +68 -0
  1169. package/tokens/v0_192/_md-comp-fab-primary-small.scss +68 -0
  1170. package/tokens/v0_192/_md-comp-fab-primary.scss +68 -0
  1171. package/tokens/v0_192/_md-comp-fab-secondary-large.scss +69 -0
  1172. package/tokens/v0_192/_md-comp-fab-secondary-small.scss +69 -0
  1173. package/tokens/v0_192/_md-comp-fab-secondary.scss +69 -0
  1174. package/tokens/v0_192/_md-comp-fab-surface-large.scss +67 -0
  1175. package/tokens/v0_192/_md-comp-fab-surface-small.scss +67 -0
  1176. package/tokens/v0_192/_md-comp-fab-surface.scss +67 -0
  1177. package/tokens/v0_192/_md-comp-fab-tertiary-large.scss +69 -0
  1178. package/tokens/v0_192/_md-comp-fab-tertiary-small.scss +69 -0
  1179. package/tokens/v0_192/_md-comp-fab-tertiary.scss +69 -0
  1180. package/tokens/v0_192/_md-comp-filled-autocomplete.scss +239 -0
  1181. package/tokens/v0_192/_md-comp-filled-button.scss +92 -0
  1182. package/tokens/v0_192/_md-comp-filled-card.scss +62 -0
  1183. package/tokens/v0_192/_md-comp-filled-icon-button.scss +83 -0
  1184. package/tokens/v0_192/_md-comp-filled-menu-button.scss +101 -0
  1185. package/tokens/v0_192/_md-comp-filled-select.scss +273 -0
  1186. package/tokens/v0_192/_md-comp-filled-text-field.scss +193 -0
  1187. package/tokens/v0_192/_md-comp-filled-tonal-button.scss +102 -0
  1188. package/tokens/v0_192/_md-comp-filled-tonal-icon-button.scss +90 -0
  1189. package/tokens/v0_192/_md-comp-filter-chip.scss +210 -0
  1190. package/tokens/v0_192/_md-comp-full-screen-dialog.scss +114 -0
  1191. package/tokens/v0_192/_md-comp-icon-button.scss +74 -0
  1192. package/tokens/v0_192/_md-comp-input-chip.scss +187 -0
  1193. package/tokens/v0_192/_md-comp-linear-progress-indicator.scss +43 -0
  1194. package/tokens/v0_192/_md-comp-list.scss +255 -0
  1195. package/tokens/v0_192/_md-comp-menu.scss +44 -0
  1196. package/tokens/v0_192/_md-comp-navigation-bar.scss +115 -0
  1197. package/tokens/v0_192/_md-comp-navigation-drawer.scss +165 -0
  1198. package/tokens/v0_192/_md-comp-navigation-rail.scss +119 -0
  1199. package/tokens/v0_192/_md-comp-outlined-autocomplete.scss +229 -0
  1200. package/tokens/v0_192/_md-comp-outlined-button.scss +87 -0
  1201. package/tokens/v0_192/_md-comp-outlined-card.scss +66 -0
  1202. package/tokens/v0_192/_md-comp-outlined-icon-button.scss +83 -0
  1203. package/tokens/v0_192/_md-comp-outlined-menu-button.scss +97 -0
  1204. package/tokens/v0_192/_md-comp-outlined-segmented-button.scss +115 -0
  1205. package/tokens/v0_192/_md-comp-outlined-select.scss +263 -0
  1206. package/tokens/v0_192/_md-comp-outlined-text-field.scss +174 -0
  1207. package/tokens/v0_192/_md-comp-plain-tooltip.scss +58 -0
  1208. package/tokens/v0_192/_md-comp-primary-navigation-tab.scss +124 -0
  1209. package/tokens/v0_192/_md-comp-radio-button.scss +71 -0
  1210. package/tokens/v0_192/_md-comp-rich-tooltip.scss +122 -0
  1211. package/tokens/v0_192/_md-comp-scrim.scss +28 -0
  1212. package/tokens/v0_192/_md-comp-search-bar.scss +100 -0
  1213. package/tokens/v0_192/_md-comp-search-view.scss +94 -0
  1214. package/tokens/v0_192/_md-comp-secondary-navigation-tab.scss +87 -0
  1215. package/tokens/v0_192/_md-comp-sheet-bottom.scss +46 -0
  1216. package/tokens/v0_192/_md-comp-sheet-floating.scss +35 -0
  1217. package/tokens/v0_192/_md-comp-sheet-side.scss +94 -0
  1218. package/tokens/v0_192/_md-comp-slider.scss +118 -0
  1219. package/tokens/v0_192/_md-comp-snackbar.scss +130 -0
  1220. package/tokens/v0_192/_md-comp-standard-menu-button.scss +101 -0
  1221. package/tokens/v0_192/_md-comp-suggestion-chip.scss +127 -0
  1222. package/tokens/v0_192/_md-comp-switch.scss +141 -0
  1223. package/tokens/v0_192/_md-comp-text-button.scss +80 -0
  1224. package/tokens/v0_192/_md-comp-time-input.scss +220 -0
  1225. package/tokens/v0_192/_md-comp-time-picker.scss +267 -0
  1226. package/tokens/v0_192/_md-comp-top-app-bar-large.scss +64 -0
  1227. package/tokens/v0_192/_md-comp-top-app-bar-medium.scss +64 -0
  1228. package/tokens/v0_192/_md-comp-top-app-bar-small-centered.scss +71 -0
  1229. package/tokens/v0_192/_md-comp-top-app-bar-small.scss +67 -0
  1230. package/tokens/v0_192/_md-ref-palette.scss +109 -0
  1231. package/tokens/v0_192/_md-ref-typeface.scss +23 -0
  1232. package/tokens/v0_192/_md-sys-color.scss +135 -0
  1233. package/tokens/v0_192/_md-sys-elevation.scss +24 -0
  1234. package/tokens/v0_192/_md-sys-motion.scss +55 -0
  1235. package/tokens/v0_192/_md-sys-shape.scss +33 -0
  1236. package/tokens/v0_192/_md-sys-state.scss +22 -0
  1237. package/tokens/v0_192/_md-sys-typescale.scss +286 -0
  1238. package/tokens/v0_192/index.test.css +1 -0
  1239. package/tokens/v0_192/index.test.css.map +1 -0
  1240. package/tokens/v0_192/index.test.scss +584 -0
  1241. package/tokens/v0_192/lib.test.css +1 -0
  1242. package/tokens/v0_192/lib.test.css.map +1 -0
  1243. package/tokens/v0_192/lib.test.scss +663 -0
  1244. package/typography/_typeface.scss +49 -0
  1245. package/typography/_typescale.scss +157 -0
  1246. package/typography/md-typescale-styles.css +1 -0
  1247. package/typography/md-typescale-styles.css.map +1 -0
  1248. package/typography/md-typescale-styles.d.ts +1 -0
  1249. package/typography/md-typescale-styles.js +10 -0
  1250. package/typography/md-typescale-styles.js.map +1 -0
  1251. package/typography/md-typescale-styles.scss +11 -0
  1252. package/web-types.json +5718 -0
@@ -0,0 +1,750 @@
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, isServer, 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 { styleMap } from 'lit/directives/style-map.js';
13
+ import { html as staticHtml } from 'lit/static-html.js';
14
+ import { mixinDelegatesAria } from '../../internal/aria/delegate.js';
15
+ import { redispatchEvent } from '../../internal/events/redispatch-event.js';
16
+ import { createValidator, getValidityAnchor, mixinConstraintValidation, } from '../../labs/behaviors/constraint-validation.js';
17
+ import { mixinElementInternals } from '../../labs/behaviors/element-internals.js';
18
+ import { getFormValue, mixinFormAssociated, } from '../../labs/behaviors/form-associated.js';
19
+ import { mixinOnReportValidity, onReportValidity, } from '../../labs/behaviors/on-report-validity.js';
20
+ import { SelectValidator } from '../../labs/behaviors/validators/select-validator.js';
21
+ import { getActiveItem } from '../../list/internal/list-navigation-helpers.js';
22
+ import { FocusState, isElementInSubtree, isSelectableKey, } from '../../menu/internal/controllers/shared.js';
23
+ import { TYPEAHEAD_RECORD } from '../../menu/internal/controllers/typeaheadController.js';
24
+ import { DEFAULT_TYPEAHEAD_BUFFER_TIME } from '../../menu/internal/menu.js';
25
+ import { getSelectedItems } from './shared.js';
26
+ const VALUE = Symbol('value');
27
+ // Separate variable needed for closure.
28
+ const selectBaseClass = mixinDelegatesAria(mixinOnReportValidity(mixinConstraintValidation(mixinFormAssociated(mixinElementInternals(LitElement)))));
29
+ /**
30
+ * @fires change {Event} The native `change` event on
31
+ * [`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event)
32
+ * --bubbles
33
+ * @fires input {InputEvent} The native `input` event on
34
+ * [`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event)
35
+ * --bubbles --composed
36
+ * @fires opening {Event} Fired when the select's menu is about to open.
37
+ * @fires opened {Event} Fired when the select's menu has finished animations
38
+ * and opened.
39
+ * @fires closing {Event} Fired when the select's menu is about to close.
40
+ * @fires closed {Event} Fired when the select's menu has finished animations
41
+ * and closed.
42
+ */
43
+ export class Select extends selectBaseClass {
44
+ /**
45
+ * The value of the currently selected option.
46
+ *
47
+ * Note: For SSR, set `[selected]` on the requested option and `displayText`
48
+ * rather than setting `value` setting `value` will incur a DOM query.
49
+ */
50
+ get value() {
51
+ return this[VALUE];
52
+ }
53
+ set value(value) {
54
+ if (isServer)
55
+ return;
56
+ this.lastUserSetValue = value;
57
+ this.select(value);
58
+ }
59
+ get options() {
60
+ // NOTE: this does a DOM query.
61
+ return (this.menu?.items ?? []);
62
+ }
63
+ /**
64
+ * The index of the currently selected option.
65
+ *
66
+ * Note: For SSR, set `[selected]` on the requested option and `displayText`
67
+ * rather than setting `selectedIndex` setting `selectedIndex` will incur a
68
+ * DOM query.
69
+ */
70
+ get selectedIndex() {
71
+ // tslint:disable-next-line:enforce-name-casing
72
+ const [_option, index] = (this.getSelectedOptions() ?? [])[0] ?? [];
73
+ return index ?? -1;
74
+ }
75
+ set selectedIndex(index) {
76
+ this.lastUserSetSelectedIndex = index;
77
+ this.selectIndex(index);
78
+ }
79
+ /**
80
+ * Returns an array of selected options.
81
+ *
82
+ * NOTE: md-select only supports single selection.
83
+ */
84
+ get selectedOptions() {
85
+ return (this.getSelectedOptions() ?? []).map(([option]) => option);
86
+ }
87
+ get hasError() {
88
+ return this.error || this.nativeError;
89
+ }
90
+ constructor() {
91
+ super();
92
+ /**
93
+ * Opens the menu synchronously with no animation.
94
+ */
95
+ this.quick = false;
96
+ /**
97
+ * Whether or not the select is required.
98
+ */
99
+ this.required = false;
100
+ /**
101
+ * The error message that replaces supporting text when `error` is true. If
102
+ * `errorText` is an empty string, then the supporting text will continue to
103
+ * show.
104
+ *
105
+ * This error message overrides the error message displayed by
106
+ * `reportValidity()`.
107
+ */
108
+ this.errorText = '';
109
+ /**
110
+ * The floating label for the field.
111
+ */
112
+ this.label = '';
113
+ /**
114
+ * Disables the asterisk on the floating label, when the select is
115
+ * required.
116
+ */
117
+ this.noAsterisk = false;
118
+ /**
119
+ * Conveys additional information below the select, such as how it should
120
+ * be used.
121
+ */
122
+ this.supportingText = '';
123
+ /**
124
+ * Gets or sets whether or not the select is in a visually invalid state.
125
+ *
126
+ * This error state overrides the error state controlled by
127
+ * `reportValidity()`.
128
+ */
129
+ this.error = false;
130
+ /**
131
+ * Whether or not the underlying md-menu should be position: fixed to display
132
+ * in a top-level manner, or position: absolute.
133
+ *
134
+ * position:fixed is useful for cases where select is inside of another
135
+ * element with stacking context and hidden overflows such as `md-dialog`.
136
+ */
137
+ this.menuPositioning = 'popover';
138
+ /**
139
+ * Clamps the menu-width to the width of the select.
140
+ */
141
+ this.clampMenuWidth = false;
142
+ /**
143
+ * The max time between the keystrokes of the typeahead select / menu behavior
144
+ * before it clears the typeahead buffer.
145
+ */
146
+ this.typeaheadDelay = DEFAULT_TYPEAHEAD_BUFFER_TIME;
147
+ /**
148
+ * Whether or not the text field has a leading icon. Used for SSR.
149
+ */
150
+ this.hasLeadingIcon = false;
151
+ /**
152
+ * Text to display in the field. Only set for SSR.
153
+ */
154
+ this.displayText = '';
155
+ /**
156
+ * Whether the menu should be aligned to the start or the end of the select's
157
+ * textbox.
158
+ */
159
+ this.menuAlign = 'start';
160
+ this[_a] = '';
161
+ /**
162
+ * Used for initializing select when the user sets the `value` directly.
163
+ */
164
+ this.lastUserSetValue = null;
165
+ /**
166
+ * Used for initializing select when the user sets the `selectedIndex`
167
+ * directly.
168
+ */
169
+ this.lastUserSetSelectedIndex = null;
170
+ /**
171
+ * Used for `input` and `change` event change detection.
172
+ */
173
+ this.lastSelectedOption = null;
174
+ // tslint:disable-next-line:enforce-name-casing
175
+ this.lastSelectedOptionRecords = [];
176
+ /**
177
+ * Whether or not a native error has been reported via `reportValidity()`.
178
+ */
179
+ this.nativeError = false;
180
+ /**
181
+ * The validation message displayed from a native error via
182
+ * `reportValidity()`.
183
+ */
184
+ this.nativeErrorText = '';
185
+ this.focused = false;
186
+ this.open = false;
187
+ this.defaultFocus = FocusState.NONE;
188
+ // Have to keep track of previous open because it's state and private and thus
189
+ // cannot be tracked in PropertyValues<this> map.
190
+ this.prevOpen = this.open;
191
+ this.selectWidth = 0;
192
+ if (isServer) {
193
+ return;
194
+ }
195
+ this.addEventListener('focus', this.handleFocus.bind(this));
196
+ this.addEventListener('blur', this.handleBlur.bind(this));
197
+ }
198
+ /**
199
+ * Selects an option given the value of the option, and updates MdSelect's
200
+ * value.
201
+ */
202
+ select(value) {
203
+ const optionToSelect = this.options.find((option) => option.value === value);
204
+ if (optionToSelect) {
205
+ this.selectItem(optionToSelect);
206
+ }
207
+ }
208
+ /**
209
+ * Selects an option given the index of the option, and updates MdSelect's
210
+ * value.
211
+ */
212
+ selectIndex(index) {
213
+ const optionToSelect = this.options[index];
214
+ if (optionToSelect) {
215
+ this.selectItem(optionToSelect);
216
+ }
217
+ }
218
+ /**
219
+ * Reset the select to its default value.
220
+ */
221
+ reset() {
222
+ for (const option of this.options) {
223
+ option.selected = option.hasAttribute('selected');
224
+ }
225
+ this.updateValueAndDisplayText();
226
+ this.nativeError = false;
227
+ this.nativeErrorText = '';
228
+ }
229
+ [(_a = VALUE, onReportValidity)](invalidEvent) {
230
+ // Prevent default pop-up behavior.
231
+ invalidEvent?.preventDefault();
232
+ const prevMessage = this.getErrorText();
233
+ this.nativeError = !!invalidEvent;
234
+ this.nativeErrorText = this.validationMessage;
235
+ if (prevMessage === this.getErrorText()) {
236
+ this.field?.reannounceError();
237
+ }
238
+ }
239
+ update(changed) {
240
+ // In SSR the options will be ready to query, so try to figure out what
241
+ // the value and display text should be.
242
+ if (!this.hasUpdated) {
243
+ this.initUserSelection();
244
+ }
245
+ // We have just opened the menu.
246
+ // We are only able to check for the select's rect in `update()` instead of
247
+ // having to wait for `updated()` because the menu can never be open on
248
+ // first render since it is not settable and Lit SSR does not support click
249
+ // events which would open the menu.
250
+ if (this.prevOpen !== this.open && this.open) {
251
+ const selectRect = this.getBoundingClientRect();
252
+ this.selectWidth = selectRect.width;
253
+ }
254
+ this.prevOpen = this.open;
255
+ super.update(changed);
256
+ }
257
+ render() {
258
+ return html `
259
+ <span
260
+ class="select ${classMap(this.getRenderClasses())}"
261
+ @focusout=${this.handleFocusout}>
262
+ ${this.renderField()} ${this.renderMenu()}
263
+ </span>
264
+ `;
265
+ }
266
+ async firstUpdated(changed) {
267
+ await this.menu?.updateComplete;
268
+ // If this has been handled on update already due to SSR, try again.
269
+ if (!this.lastSelectedOptionRecords.length) {
270
+ this.initUserSelection();
271
+ }
272
+ // Case for when the DOM is streaming, there are no children, and a child
273
+ // has [selected] set on it, we need to wait for DOM to render something.
274
+ if (!this.lastSelectedOptionRecords.length &&
275
+ !isServer &&
276
+ !this.options.length) {
277
+ setTimeout(() => {
278
+ this.updateValueAndDisplayText();
279
+ });
280
+ }
281
+ super.firstUpdated(changed);
282
+ }
283
+ getRenderClasses() {
284
+ return {
285
+ 'disabled': this.disabled,
286
+ 'error': this.error,
287
+ 'open': this.open,
288
+ };
289
+ }
290
+ renderField() {
291
+ return staticHtml `
292
+ <${this.fieldTag}
293
+ aria-haspopup="listbox"
294
+ role="combobox"
295
+ part="field"
296
+ id="field"
297
+ tabindex=${this.disabled ? '-1' : '0'}
298
+ aria-label=${this.ariaLabel || nothing}
299
+ aria-describedby="description"
300
+ aria-expanded=${this.open ? 'true' : 'false'}
301
+ aria-controls="listbox"
302
+ class="field"
303
+ label=${this.label}
304
+ ?no-asterisk=${this.noAsterisk}
305
+ .focused=${this.focused || this.open}
306
+ .populated=${!!this.displayText}
307
+ .disabled=${this.disabled}
308
+ .required=${this.required}
309
+ .error=${this.hasError}
310
+ ?has-start=${this.hasLeadingIcon}
311
+ has-end
312
+ supporting-text=${this.supportingText}
313
+ error-text=${this.getErrorText()}
314
+ @keydown=${this.handleKeydown}
315
+ @click=${this.handleClick}>
316
+ ${this.renderFieldContent()}
317
+ <div id="description" slot="aria-describedby"></div>
318
+ </${this.fieldTag}>`;
319
+ }
320
+ renderFieldContent() {
321
+ return [
322
+ this.renderLeadingIcon(),
323
+ this.renderLabel(),
324
+ this.renderTrailingIcon(),
325
+ ];
326
+ }
327
+ renderLeadingIcon() {
328
+ return html `
329
+ <span class="icon leading" slot="start">
330
+ <slot name="leading-icon" @slotchange=${this.handleIconChange}></slot>
331
+ </span>
332
+ `;
333
+ }
334
+ renderTrailingIcon() {
335
+ return html `
336
+ <span class="icon trailing" slot="end">
337
+ <slot name="trailing-icon" @slotchange=${this.handleIconChange}>
338
+ <svg height="5" viewBox="7 10 10 5" focusable="false">
339
+ <polygon
340
+ class="down"
341
+ stroke="none"
342
+ fill-rule="evenodd"
343
+ points="7 10 12 15 17 10"></polygon>
344
+ <polygon
345
+ class="up"
346
+ stroke="none"
347
+ fill-rule="evenodd"
348
+ points="7 15 12 10 17 15"></polygon>
349
+ </svg>
350
+ </slot>
351
+ </span>
352
+ `;
353
+ }
354
+ renderLabel() {
355
+ // need to render &nbsp; so that line-height can apply and give it a
356
+ // non-zero height
357
+ return html `<div id="label">${this.displayText || html `&nbsp;`}</div>`;
358
+ }
359
+ renderMenu() {
360
+ const ariaLabel = this.label || this.ariaLabel;
361
+ return html `<div class="menu-wrapper">
362
+ <md-menu
363
+ id="listbox"
364
+ .defaultFocus=${this.defaultFocus}
365
+ role="listbox"
366
+ tabindex="-1"
367
+ aria-label=${ariaLabel || nothing}
368
+ stay-open-on-focusout
369
+ part="menu"
370
+ exportparts="focus-ring: menu-focus-ring"
371
+ anchor="field"
372
+ style=${styleMap({
373
+ '--__menu-min-width': `${this.selectWidth}px`,
374
+ '--__menu-max-width': this.clampMenuWidth
375
+ ? `${this.selectWidth}px`
376
+ : undefined,
377
+ })}
378
+ no-navigation-wrap
379
+ .open=${this.open}
380
+ .quick=${this.quick}
381
+ .positioning=${this.menuPositioning}
382
+ .typeaheadDelay=${this.typeaheadDelay}
383
+ .anchorCorner=${this.menuAlign === 'start' ? 'end-start' : 'end-end'}
384
+ .menuCorner=${this.menuAlign === 'start' ? 'start-start' : 'start-end'}
385
+ @opening=${this.handleOpening}
386
+ @opened=${this.redispatchEvent}
387
+ @closing=${this.redispatchEvent}
388
+ @closed=${this.handleClosed}
389
+ @close-menu=${this.handleCloseMenu}
390
+ @request-selection=${this.handleRequestSelection}
391
+ @request-deselection=${this.handleRequestDeselection}>
392
+ ${this.renderMenuContent()}
393
+ </md-menu>
394
+ </div>`;
395
+ }
396
+ renderMenuContent() {
397
+ return html `<slot></slot>`;
398
+ }
399
+ /**
400
+ * Handles opening the select on keydown and typahead selection when the menu
401
+ * is closed.
402
+ */
403
+ handleKeydown(event) {
404
+ if (this.open || this.disabled || !this.menu) {
405
+ return;
406
+ }
407
+ const typeaheadController = this.menu.typeaheadController;
408
+ const isOpenKey = event.code === 'Space' ||
409
+ event.code === 'ArrowDown' ||
410
+ event.code === 'ArrowUp' ||
411
+ event.code === 'End' ||
412
+ event.code === 'Home' ||
413
+ event.code === 'Enter';
414
+ // Do not open if currently typing ahead because the user may be typing the
415
+ // spacebar to match a word with a space
416
+ if (!typeaheadController.isTypingAhead && isOpenKey) {
417
+ event.preventDefault();
418
+ this.open = true;
419
+ // https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/#kbd_label
420
+ switch (event.code) {
421
+ case 'Space':
422
+ case 'ArrowDown':
423
+ case 'Enter':
424
+ // We will handle focusing last selected item in this.handleOpening()
425
+ this.defaultFocus = FocusState.NONE;
426
+ break;
427
+ case 'End':
428
+ this.defaultFocus = FocusState.LAST_ITEM;
429
+ break;
430
+ case 'ArrowUp':
431
+ case 'Home':
432
+ this.defaultFocus = FocusState.FIRST_ITEM;
433
+ break;
434
+ default:
435
+ break;
436
+ }
437
+ return;
438
+ }
439
+ const isPrintableKey = event.key.length === 1;
440
+ // Handles typing ahead when the menu is closed by delegating the event to
441
+ // the underlying menu's typeaheadController
442
+ if (isPrintableKey) {
443
+ typeaheadController.onKeydown(event);
444
+ event.preventDefault();
445
+ const { lastActiveRecord } = typeaheadController;
446
+ if (!lastActiveRecord) {
447
+ return;
448
+ }
449
+ this.labelEl?.setAttribute?.('aria-live', 'polite');
450
+ const hasChanged = this.selectItem(lastActiveRecord[TYPEAHEAD_RECORD.ITEM]);
451
+ if (hasChanged) {
452
+ this.dispatchInteractionEvents();
453
+ }
454
+ }
455
+ }
456
+ handleClick() {
457
+ this.open = !this.open;
458
+ }
459
+ handleFocus() {
460
+ this.focused = true;
461
+ }
462
+ handleBlur() {
463
+ this.focused = false;
464
+ }
465
+ /**
466
+ * Handles closing the menu when the focus leaves the select's subtree.
467
+ */
468
+ handleFocusout(event) {
469
+ // Don't close the menu if we are switching focus between menu,
470
+ // select-option, and field
471
+ if (event.relatedTarget && isElementInSubtree(event.relatedTarget, this)) {
472
+ return;
473
+ }
474
+ this.open = false;
475
+ }
476
+ /**
477
+ * Gets a list of all selected select options as a list item record array.
478
+ *
479
+ * @return An array of selected list option records.
480
+ */
481
+ getSelectedOptions() {
482
+ if (!this.menu) {
483
+ this.lastSelectedOptionRecords = [];
484
+ return null;
485
+ }
486
+ const items = this.menu.items;
487
+ this.lastSelectedOptionRecords = getSelectedItems(items);
488
+ return this.lastSelectedOptionRecords;
489
+ }
490
+ async getUpdateComplete() {
491
+ await this.menu?.updateComplete;
492
+ return super.getUpdateComplete();
493
+ }
494
+ /**
495
+ * Gets the selected options from the DOM, and updates the value and display
496
+ * text to the first selected option's value and headline respectively.
497
+ *
498
+ * @return Whether or not the selected option has changed since last update.
499
+ */
500
+ updateValueAndDisplayText() {
501
+ const selectedOptions = this.getSelectedOptions() ?? [];
502
+ // Used to determine whether or not we need to fire an input / change event
503
+ // which fire whenever the option element changes (value or selectedIndex)
504
+ // on user interaction.
505
+ let hasSelectedOptionChanged = false;
506
+ if (selectedOptions.length) {
507
+ const [firstSelectedOption] = selectedOptions[0];
508
+ hasSelectedOptionChanged =
509
+ this.lastSelectedOption !== firstSelectedOption;
510
+ this.lastSelectedOption = firstSelectedOption;
511
+ this[VALUE] = firstSelectedOption.value;
512
+ this.displayText = firstSelectedOption.displayText;
513
+ }
514
+ else {
515
+ hasSelectedOptionChanged = this.lastSelectedOption !== null;
516
+ this.lastSelectedOption = null;
517
+ this[VALUE] = '';
518
+ this.displayText = '';
519
+ }
520
+ return hasSelectedOptionChanged;
521
+ }
522
+ /**
523
+ * Focuses and activates the last selected item upon opening, and resets other
524
+ * active items.
525
+ */
526
+ async handleOpening(e) {
527
+ this.labelEl?.removeAttribute?.('aria-live');
528
+ this.redispatchEvent(e);
529
+ // FocusState.NONE means we want to handle focus ourselves and focus the
530
+ // last selected item.
531
+ if (this.defaultFocus !== FocusState.NONE) {
532
+ return;
533
+ }
534
+ const items = this.menu.items;
535
+ const activeItem = getActiveItem(items)?.item;
536
+ let [selectedItem] = this.lastSelectedOptionRecords[0] ?? [null];
537
+ // This is true if the user keys through the list but clicks out of the menu
538
+ // thus no close-menu event is fired by an item and we can't clean up in
539
+ // handleCloseMenu.
540
+ if (activeItem && activeItem !== selectedItem) {
541
+ activeItem.tabIndex = -1;
542
+ }
543
+ // in the case that nothing is selected, focus the first item
544
+ selectedItem = selectedItem ?? items[0];
545
+ if (selectedItem) {
546
+ selectedItem.tabIndex = 0;
547
+ selectedItem.focus();
548
+ }
549
+ }
550
+ redispatchEvent(e) {
551
+ redispatchEvent(this, e);
552
+ }
553
+ handleClosed(e) {
554
+ this.open = false;
555
+ this.redispatchEvent(e);
556
+ }
557
+ /**
558
+ * Determines the reason for closing, and updates the UI accordingly.
559
+ */
560
+ handleCloseMenu(event) {
561
+ const reason = event.detail.reason;
562
+ const item = event.detail.itemPath[0];
563
+ this.open = false;
564
+ let hasChanged = false;
565
+ if (reason.kind === 'click-selection') {
566
+ hasChanged = this.selectItem(item);
567
+ }
568
+ else if (reason.kind === 'keydown' && isSelectableKey(reason.key)) {
569
+ hasChanged = this.selectItem(item);
570
+ }
571
+ else {
572
+ // This can happen on ESC being pressed
573
+ item.tabIndex = -1;
574
+ item.blur();
575
+ }
576
+ // Dispatch interaction events since selection has been made via keyboard
577
+ // or mouse.
578
+ if (hasChanged) {
579
+ this.dispatchInteractionEvents();
580
+ }
581
+ }
582
+ /**
583
+ * Selects a given option, deselects other options, and updates the UI.
584
+ *
585
+ * @return Whether the last selected option has changed.
586
+ */
587
+ selectItem(item) {
588
+ const selectedOptions = this.getSelectedOptions() ?? [];
589
+ selectedOptions.forEach(([option]) => {
590
+ if (item !== option) {
591
+ option.selected = false;
592
+ }
593
+ });
594
+ item.selected = true;
595
+ return this.updateValueAndDisplayText();
596
+ }
597
+ /**
598
+ * Handles updating selection when an option element requests selection via
599
+ * property / attribute change.
600
+ */
601
+ handleRequestSelection(event) {
602
+ const requestingOptionEl = event.target;
603
+ // No-op if this item is already selected.
604
+ if (this.lastSelectedOptionRecords.some(([option]) => option === requestingOptionEl)) {
605
+ return;
606
+ }
607
+ this.selectItem(requestingOptionEl);
608
+ }
609
+ /**
610
+ * Handles updating selection when an option element requests deselection via
611
+ * property / attribute change.
612
+ */
613
+ handleRequestDeselection(event) {
614
+ const requestingOptionEl = event.target;
615
+ // No-op if this item is not even in the list of tracked selected items.
616
+ if (!this.lastSelectedOptionRecords.some(([option]) => option === requestingOptionEl)) {
617
+ return;
618
+ }
619
+ this.updateValueAndDisplayText();
620
+ }
621
+ /**
622
+ * Attempts to initialize the selected option from user-settable values like
623
+ * SSR, setting `value`, or `selectedIndex` at startup.
624
+ */
625
+ initUserSelection() {
626
+ // User has set `.value` directly, but internals have not yet booted up.
627
+ if (this.lastUserSetValue && !this.lastSelectedOptionRecords.length) {
628
+ this.select(this.lastUserSetValue);
629
+ // User has set `.selectedIndex` directly, but internals have not yet
630
+ // booted up.
631
+ }
632
+ else if (this.lastUserSetSelectedIndex !== null &&
633
+ !this.lastSelectedOptionRecords.length) {
634
+ this.selectIndex(this.lastUserSetSelectedIndex);
635
+ // Regular boot up!
636
+ }
637
+ else {
638
+ this.updateValueAndDisplayText();
639
+ }
640
+ }
641
+ handleIconChange() {
642
+ this.hasLeadingIcon = this.leadingIcons.length > 0;
643
+ }
644
+ /**
645
+ * Dispatches the `input` and `change` events.
646
+ */
647
+ dispatchInteractionEvents() {
648
+ this.dispatchEvent(new Event('input', { bubbles: true, composed: true }));
649
+ this.dispatchEvent(new Event('change', { bubbles: true }));
650
+ }
651
+ getErrorText() {
652
+ return this.error ? this.errorText : this.nativeErrorText;
653
+ }
654
+ [getFormValue]() {
655
+ return this.value;
656
+ }
657
+ formResetCallback() {
658
+ this.reset();
659
+ }
660
+ formStateRestoreCallback(state) {
661
+ this.value = state;
662
+ }
663
+ click() {
664
+ this.field?.click();
665
+ }
666
+ [createValidator]() {
667
+ return new SelectValidator(() => this);
668
+ }
669
+ [getValidityAnchor]() {
670
+ return this.field;
671
+ }
672
+ }
673
+ /** @nocollapse */
674
+ Select.shadowRootOptions = {
675
+ ...LitElement.shadowRootOptions,
676
+ delegatesFocus: true,
677
+ };
678
+ __decorate([
679
+ property({ type: Boolean })
680
+ ], Select.prototype, "quick", void 0);
681
+ __decorate([
682
+ property({ type: Boolean })
683
+ ], Select.prototype, "required", void 0);
684
+ __decorate([
685
+ property({ type: String, attribute: 'error-text' })
686
+ ], Select.prototype, "errorText", void 0);
687
+ __decorate([
688
+ property()
689
+ ], Select.prototype, "label", void 0);
690
+ __decorate([
691
+ property({ type: Boolean, attribute: 'no-asterisk' })
692
+ ], Select.prototype, "noAsterisk", void 0);
693
+ __decorate([
694
+ property({ type: String, attribute: 'supporting-text' })
695
+ ], Select.prototype, "supportingText", void 0);
696
+ __decorate([
697
+ property({ type: Boolean, reflect: true })
698
+ ], Select.prototype, "error", void 0);
699
+ __decorate([
700
+ property({ attribute: 'menu-positioning' })
701
+ ], Select.prototype, "menuPositioning", void 0);
702
+ __decorate([
703
+ property({ type: Boolean, attribute: 'clamp-menu-width' })
704
+ ], Select.prototype, "clampMenuWidth", void 0);
705
+ __decorate([
706
+ property({ type: Number, attribute: 'typeahead-delay' })
707
+ ], Select.prototype, "typeaheadDelay", void 0);
708
+ __decorate([
709
+ property({ type: Boolean, attribute: 'has-leading-icon' })
710
+ ], Select.prototype, "hasLeadingIcon", void 0);
711
+ __decorate([
712
+ property({ attribute: 'display-text' })
713
+ ], Select.prototype, "displayText", void 0);
714
+ __decorate([
715
+ property({ attribute: 'menu-align' })
716
+ ], Select.prototype, "menuAlign", void 0);
717
+ __decorate([
718
+ property()
719
+ ], Select.prototype, "value", null);
720
+ __decorate([
721
+ property({ type: Number, attribute: 'selected-index' })
722
+ ], Select.prototype, "selectedIndex", null);
723
+ __decorate([
724
+ state()
725
+ ], Select.prototype, "nativeError", void 0);
726
+ __decorate([
727
+ state()
728
+ ], Select.prototype, "nativeErrorText", void 0);
729
+ __decorate([
730
+ state()
731
+ ], Select.prototype, "focused", void 0);
732
+ __decorate([
733
+ state()
734
+ ], Select.prototype, "open", void 0);
735
+ __decorate([
736
+ state()
737
+ ], Select.prototype, "defaultFocus", void 0);
738
+ __decorate([
739
+ query('.field')
740
+ ], Select.prototype, "field", void 0);
741
+ __decorate([
742
+ query('md-menu')
743
+ ], Select.prototype, "menu", void 0);
744
+ __decorate([
745
+ query('#label')
746
+ ], Select.prototype, "labelEl", void 0);
747
+ __decorate([
748
+ queryAssignedElements({ slot: 'leading-icon', flatten: true })
749
+ ], Select.prototype, "leadingIcons", void 0);
750
+ //# sourceMappingURL=select.js.map