@material/web 1.0.0-pre.1 → 1.0.0-pre.3

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 (683) hide show
  1. package/README.md +66 -19
  2. package/autocomplete/autocomplete-item.js.map +1 -1
  3. package/autocomplete/autocomplete-list.js.map +1 -1
  4. package/autocomplete/autocomplete-surface.js.map +1 -1
  5. package/autocomplete/filled-autocomplete.d.ts +0 -2
  6. package/autocomplete/filled-autocomplete.js +0 -7
  7. package/autocomplete/filled-autocomplete.js.map +1 -1
  8. package/autocomplete/lib/_filled-autocomplete.scss +23 -62
  9. package/autocomplete/lib/_outlined-autocomplete.scss +24 -63
  10. package/autocomplete/lib/_shared.scss +6 -10
  11. package/autocomplete/lib/autocomplete.d.ts +2 -6
  12. package/autocomplete/lib/autocomplete.js +9 -17
  13. package/autocomplete/lib/autocomplete.js.map +1 -1
  14. package/autocomplete/lib/autocompleteitem/autocomplete-item.d.ts +2 -2
  15. package/autocomplete/lib/autocompleteitem/autocomplete-item.js +2 -2
  16. package/autocomplete/lib/autocompleteitem/autocomplete-item.js.map +1 -1
  17. package/autocomplete/lib/autocompletelist/autocomplete-list-styles.scss +2 -0
  18. package/autocomplete/lib/autocompletelist/autocomplete-list.d.ts +1 -1
  19. package/autocomplete/lib/autocompletelist/autocomplete-list.js +2 -2
  20. package/autocomplete/lib/autocompletelist/autocomplete-list.js.map +1 -1
  21. package/autocomplete/lib/autocompletesurface/autocomplete-surface-styles.scss +2 -0
  22. package/autocomplete/lib/filled-styles.css.js +1 -1
  23. package/autocomplete/lib/filled-styles.css.js.map +1 -1
  24. package/autocomplete/lib/filled-styles.scss +2 -0
  25. package/autocomplete/lib/outlined-styles.css.js +1 -1
  26. package/autocomplete/lib/outlined-styles.css.js.map +1 -1
  27. package/autocomplete/lib/outlined-styles.scss +2 -0
  28. package/autocomplete/lib/shared-styles.scss +2 -0
  29. package/autocomplete/outlined-autocomplete.d.ts +0 -2
  30. package/autocomplete/outlined-autocomplete.js +0 -7
  31. package/autocomplete/outlined-autocomplete.js.map +1 -1
  32. package/badge/badge.js.map +1 -1
  33. package/badge/lib/_badge.scss +10 -13
  34. package/badge/lib/badge-styles.css.js +1 -1
  35. package/badge/lib/badge-styles.css.js.map +1 -1
  36. package/badge/lib/badge-styles.scss +2 -0
  37. package/badge/lib/badge.js.map +1 -1
  38. package/button/elevated-button.js.map +1 -1
  39. package/button/elevated-link-button.js.map +1 -1
  40. package/button/filled-button.js.map +1 -1
  41. package/button/filled-link-button.js.map +1 -1
  42. package/button/lib/_elevated-button.scss +10 -15
  43. package/button/lib/_elevation.scss +5 -2
  44. package/button/lib/_filled-button.scss +12 -14
  45. package/button/lib/_icon.scss +15 -24
  46. package/button/lib/_outlined-button.scss +10 -15
  47. package/button/lib/_shared.scss +15 -19
  48. package/button/lib/_text-button.scss +12 -14
  49. package/button/lib/_tonal-button.scss +10 -15
  50. package/button/lib/button.d.ts +0 -3
  51. package/button/lib/button.js +1 -12
  52. package/button/lib/button.js.map +1 -1
  53. package/button/lib/elevated-styles.css.js +1 -1
  54. package/button/lib/elevated-styles.css.js.map +1 -1
  55. package/button/lib/elevated-styles.scss +2 -0
  56. package/button/lib/filled-styles.css.js +1 -1
  57. package/button/lib/filled-styles.css.js.map +1 -1
  58. package/button/lib/filled-styles.scss +2 -0
  59. package/button/lib/link-button.d.ts +0 -1
  60. package/button/lib/link-button.js +0 -5
  61. package/button/lib/link-button.js.map +1 -1
  62. package/button/lib/outlined-styles.css.js +1 -1
  63. package/button/lib/outlined-styles.css.js.map +1 -1
  64. package/button/lib/outlined-styles.scss +2 -0
  65. package/button/lib/shared-elevation-styles.css.js +1 -1
  66. package/button/lib/shared-elevation-styles.css.js.map +1 -1
  67. package/button/lib/shared-elevation-styles.scss +2 -0
  68. package/button/lib/shared-styles.css.js +1 -1
  69. package/button/lib/shared-styles.css.js.map +1 -1
  70. package/button/lib/shared-styles.scss +2 -0
  71. package/button/lib/text-styles.css.js +1 -1
  72. package/button/lib/text-styles.css.js.map +1 -1
  73. package/button/lib/text-styles.scss +2 -0
  74. package/button/lib/tonal-styles.css.js +1 -1
  75. package/button/lib/tonal-styles.css.js.map +1 -1
  76. package/button/lib/tonal-styles.scss +2 -0
  77. package/button/outlined-button.js.map +1 -1
  78. package/button/outlined-link-button.js.map +1 -1
  79. package/button/text-button.js.map +1 -1
  80. package/button/text-link-button.js.map +1 -1
  81. package/button/tonal-button.js.map +1 -1
  82. package/button/tonal-link-button.js.map +1 -1
  83. package/checkbox/checkbox.d.ts +11 -2
  84. package/checkbox/checkbox.js +11 -2
  85. package/checkbox/checkbox.js.map +1 -1
  86. package/checkbox/lib/_checkbox.scss +26 -31
  87. package/checkbox/lib/checkbox-styles.css.js +1 -1
  88. package/checkbox/lib/checkbox-styles.css.js.map +1 -1
  89. package/checkbox/lib/checkbox-styles.scss +2 -0
  90. package/checkbox/lib/checkbox.d.ts +28 -0
  91. package/checkbox/lib/checkbox.js +33 -4
  92. package/checkbox/lib/checkbox.js.map +1 -1
  93. package/checkbox/lib/forced-colors-styles.scss +2 -0
  94. package/chips/action/delete-action.js.map +1 -1
  95. package/chips/action/lib/action.js +4 -4
  96. package/chips/action/lib/action.js.map +1 -1
  97. package/chips/action/lib/link-action.js +1 -1
  98. package/chips/action/lib/link-action.js.map +1 -1
  99. package/chips/action/lib/primary-action.js.map +1 -1
  100. package/chips/action/lib/selectable-action.js.map +1 -1
  101. package/chips/action/link-action.js.map +1 -1
  102. package/chips/action/presentational-action.js.map +1 -1
  103. package/chips/action/primary-action.js.map +1 -1
  104. package/chips/action/selectable-action.js.map +1 -1
  105. package/chips/chip/lib/_assist-chip-theme.scss +4 -0
  106. package/chips/chip/lib/_chip-theme.scss +30 -41
  107. package/chips/chip/lib/_chip.scss +2 -0
  108. package/chips/chip/lib/_filter-chip-theme.scss +4 -0
  109. package/chips/chip/lib/_input-chip-theme.scss +4 -0
  110. package/chips/chip/lib/_suggestion-chip-theme.scss +4 -0
  111. package/chips/chip/lib/chip.js.map +1 -1
  112. package/chips/chip/lib/foundation.js +4 -4
  113. package/chips/chip/lib/foundation.js.map +1 -1
  114. package/chips/chip/lib/link-chip.js.map +1 -1
  115. package/chips/chip/lib/selectable-chip.js.map +1 -1
  116. package/chips/chip/lib/types.d.ts +2 -2
  117. package/chips/chipset/lib/_chip-set-theme.scss +2 -0
  118. package/chips/chipset/lib/_chip-set.scss +2 -0
  119. package/chips/chipset/lib/foundation.js +3 -3
  120. package/chips/chipset/lib/foundation.js.map +1 -1
  121. package/chips/chipset/lib/types.d.ts +3 -3
  122. package/controller/events.js +4 -0
  123. package/controller/events.js.map +1 -1
  124. package/controller/form-controller.js.map +1 -1
  125. package/controller/foundation.d.ts +1 -1
  126. package/controller/observer.d.ts +2 -2
  127. package/dialog/_dialog.scss +6 -0
  128. package/dialog/dialog.d.ts +38 -0
  129. package/dialog/dialog.js +41 -0
  130. package/dialog/dialog.js.map +1 -0
  131. package/dialog/harness.d.ts +18 -0
  132. package/dialog/harness.js +58 -0
  133. package/dialog/harness.js.map +1 -0
  134. package/dialog/lib/_dialog.scss +382 -0
  135. package/dialog/lib/_tokens.scss +89 -0
  136. package/dialog/lib/dialog-styles.css.js +9 -0
  137. package/dialog/lib/dialog-styles.css.js.map +1 -0
  138. package/dialog/lib/dialog-styles.scss +10 -0
  139. package/dialog/lib/dialog.d.ts +190 -0
  140. package/dialog/lib/dialog.js +568 -0
  141. package/dialog/lib/dialog.js.map +1 -0
  142. package/divider/_divider.scss +6 -0
  143. package/divider/divider.d.ts +24 -0
  144. package/divider/divider.js +27 -0
  145. package/divider/divider.js.map +1 -0
  146. package/divider/lib/_divider.scss +56 -0
  147. package/divider/lib/divider-styles.css.js +9 -0
  148. package/divider/lib/divider-styles.css.js.map +1 -0
  149. package/divider/lib/divider-styles.scss +10 -0
  150. package/divider/lib/divider.d.ts +23 -0
  151. package/divider/lib/divider.js +41 -0
  152. package/divider/lib/divider.js.map +1 -0
  153. package/elevation/elevation.js.map +1 -1
  154. package/elevation/lib/_elevation.scss +5 -1
  155. package/elevation/lib/_md-comp-elevation.scss +5 -1
  156. package/elevation/lib/elevation-styles.css.js +1 -1
  157. package/elevation/lib/elevation-styles.css.js.map +1 -1
  158. package/elevation/lib/elevation-styles.scss +2 -0
  159. package/elevation/lib/elevation.js.map +1 -1
  160. package/fab/fab-extended.js.map +1 -1
  161. package/fab/fab.js.map +1 -1
  162. package/fab/lib/_fab-extended.scss +18 -11
  163. package/fab/lib/_fab.scss +7 -2
  164. package/fab/lib/_shared.scss +17 -9
  165. package/fab/lib/fab-extended-styles.css.js +1 -1
  166. package/fab/lib/fab-extended-styles.css.js.map +1 -1
  167. package/fab/lib/fab-extended-styles.scss +2 -0
  168. package/fab/lib/fab-shared-styles.css.js +1 -1
  169. package/fab/lib/fab-shared-styles.css.js.map +1 -1
  170. package/fab/lib/fab-shared-styles.scss +2 -0
  171. package/fab/lib/fab-shared.d.ts +9 -15
  172. package/fab/lib/fab-shared.js +21 -33
  173. package/fab/lib/fab-shared.js.map +1 -1
  174. package/fab/lib/fab-styles.css.js +1 -1
  175. package/fab/lib/fab-styles.css.js.map +1 -1
  176. package/fab/lib/fab-styles.scss +2 -0
  177. package/field/filled-field.d.ts +1 -1
  178. package/field/filled-field.js +1 -1
  179. package/field/filled-field.js.map +1 -1
  180. package/field/harness.js +1 -1
  181. package/field/harness.js.map +1 -1
  182. package/field/lib/_content.scss +35 -50
  183. package/field/lib/_filled-field.scss +60 -76
  184. package/field/lib/_label.scss +26 -63
  185. package/field/lib/_md-comp-filled-field.scss +17 -3
  186. package/field/lib/_md-comp-outlined-field.scss +16 -5
  187. package/field/lib/_outlined-field.scss +96 -110
  188. package/field/lib/_shared.scss +15 -35
  189. package/field/lib/_supporting-text.scss +25 -52
  190. package/field/lib/field.d.ts +14 -33
  191. package/field/lib/field.js +79 -101
  192. package/field/lib/field.js.map +1 -1
  193. package/field/lib/filled-field.d.ts +10 -16
  194. package/field/lib/filled-field.js +14 -37
  195. package/field/lib/filled-field.js.map +1 -1
  196. package/field/lib/filled-styles.css.js +1 -1
  197. package/field/lib/filled-styles.css.js.map +1 -1
  198. package/field/lib/outlined-field.d.ts +4 -10
  199. package/field/lib/outlined-field.js +13 -33
  200. package/field/lib/outlined-field.js.map +1 -1
  201. package/field/lib/outlined-styles.css.js +1 -1
  202. package/field/lib/outlined-styles.css.js.map +1 -1
  203. package/field/lib/shared-styles.css.js +1 -1
  204. package/field/lib/shared-styles.css.js.map +1 -1
  205. package/field/outlined-field.d.ts +1 -1
  206. package/field/outlined-field.js +1 -1
  207. package/field/outlined-field.js.map +1 -1
  208. package/focus/focus-ring.js.map +1 -1
  209. package/focus/lib/_focus-ring.scss +10 -23
  210. package/focus/lib/_md-comp-focus-ring.scss +4 -0
  211. package/focus/lib/focus-ring-styles.css.js +1 -1
  212. package/focus/lib/focus-ring-styles.css.js.map +1 -1
  213. package/focus/lib/focus-ring-styles.scss +2 -0
  214. package/focus/lib/focus-ring.d.ts +1 -4
  215. package/focus/lib/focus-ring.js +2 -11
  216. package/focus/lib/focus-ring.js.map +1 -1
  217. package/icon/icon.js.map +1 -1
  218. package/icon/lib/_icon.scss +2 -0
  219. package/icon/lib/icon-styles.scss +2 -0
  220. package/iconbutton/filled-icon-button-toggle.js.map +1 -1
  221. package/iconbutton/filled-icon-button.js.map +1 -1
  222. package/iconbutton/filled-link-icon-button.js.map +1 -1
  223. package/iconbutton/filled-tonal-icon-button-toggle.js.map +1 -1
  224. package/iconbutton/filled-tonal-icon-button.js.map +1 -1
  225. package/iconbutton/filled-tonal-link-icon-button.js.map +1 -1
  226. package/iconbutton/lib/_filled-icon-button.scss +20 -20
  227. package/iconbutton/lib/_filled-tonal-icon-button.scss +20 -20
  228. package/iconbutton/lib/_outlined-icon-button.scss +27 -21
  229. package/iconbutton/lib/_shared.scss +13 -33
  230. package/iconbutton/lib/_standard-icon-button.scss +25 -24
  231. package/iconbutton/lib/filled-styles.css.js +1 -1
  232. package/iconbutton/lib/filled-styles.css.js.map +1 -1
  233. package/iconbutton/lib/filled-styles.scss +2 -0
  234. package/iconbutton/lib/filled-tonal-styles.css.js +1 -1
  235. package/iconbutton/lib/filled-tonal-styles.css.js.map +1 -1
  236. package/iconbutton/lib/filled-tonal-styles.scss +2 -0
  237. package/iconbutton/lib/icon-button-toggle.d.ts +13 -42
  238. package/iconbutton/lib/icon-button-toggle.js +33 -103
  239. package/iconbutton/lib/icon-button-toggle.js.map +1 -1
  240. package/iconbutton/lib/icon-button.d.ts +2 -4
  241. package/iconbutton/lib/icon-button.js +3 -9
  242. package/iconbutton/lib/icon-button.js.map +1 -1
  243. package/iconbutton/lib/link-icon-button.js.map +1 -1
  244. package/iconbutton/lib/outlined-styles.css.js +1 -1
  245. package/iconbutton/lib/outlined-styles.css.js.map +1 -1
  246. package/iconbutton/lib/outlined-styles.scss +2 -0
  247. package/iconbutton/lib/shared-styles.css.js +1 -1
  248. package/iconbutton/lib/shared-styles.css.js.map +1 -1
  249. package/iconbutton/lib/shared-styles.scss +2 -0
  250. package/iconbutton/lib/standard-styles.css.js +1 -1
  251. package/iconbutton/lib/standard-styles.css.js.map +1 -1
  252. package/iconbutton/lib/standard-styles.scss +2 -0
  253. package/iconbutton/outlined-icon-button-toggle.js.map +1 -1
  254. package/iconbutton/outlined-icon-button.js.map +1 -1
  255. package/iconbutton/outlined-link-icon-button.js.map +1 -1
  256. package/iconbutton/standard-icon-button-toggle.js.map +1 -1
  257. package/iconbutton/standard-icon-button.js.map +1 -1
  258. package/iconbutton/standard-link-icon-button.js.map +1 -1
  259. package/list/lib/_list.scss +35 -39
  260. package/list/lib/avatar/_list-item-avatar.scss +3 -1
  261. package/list/lib/avatar/list-item-avatar-styles.css.js +1 -1
  262. package/list/lib/avatar/list-item-avatar-styles.css.js.map +1 -1
  263. package/list/lib/avatar/list-item-avatar-styles.scss +2 -0
  264. package/list/lib/avatar/list-item-avatar.d.ts +9 -4
  265. package/list/lib/avatar/list-item-avatar.js +24 -11
  266. package/list/lib/avatar/list-item-avatar.js.map +1 -1
  267. package/list/lib/icon/_list-item-icon.scss +7 -1
  268. package/list/lib/icon/list-item-icon-styles.css.js +1 -1
  269. package/list/lib/icon/list-item-icon-styles.css.js.map +1 -1
  270. package/list/lib/icon/list-item-icon-styles.scss +2 -0
  271. package/list/lib/icon/list-item-icon.d.ts +0 -3
  272. package/list/lib/icon/list-item-icon.js +1 -12
  273. package/list/lib/icon/list-item-icon.js.map +1 -1
  274. package/list/lib/image/_list-item-image.scss +6 -2
  275. package/list/lib/image/list-item-image-styles.css.js +1 -1
  276. package/list/lib/image/list-item-image-styles.css.js.map +1 -1
  277. package/list/lib/image/list-item-image-styles.scss +2 -0
  278. package/list/lib/image/list-item-image.d.ts +11 -4
  279. package/list/lib/image/list-item-image.js +24 -13
  280. package/list/lib/image/list-item-image.js.map +1 -1
  281. package/list/lib/list-styles.css.js +1 -1
  282. package/list/lib/list-styles.css.js.map +1 -1
  283. package/list/lib/list-styles.scss +2 -0
  284. package/list/lib/list.d.ts +99 -28
  285. package/list/lib/list.js +213 -112
  286. package/list/lib/list.js.map +1 -1
  287. package/list/lib/listitem/_list-item.scss +122 -56
  288. package/list/lib/listitem/harness.js +2 -1
  289. package/list/lib/listitem/harness.js.map +1 -1
  290. package/list/lib/listitem/list-item-private-styles.css.js +9 -0
  291. package/list/lib/listitem/list-item-private-styles.css.js.map +1 -0
  292. package/list/lib/listitem/list-item-private-styles.scss +10 -0
  293. package/list/lib/listitem/list-item-styles.css.js +1 -1
  294. package/list/lib/listitem/list-item-styles.css.js.map +1 -1
  295. package/list/lib/listitem/list-item-styles.scss +2 -0
  296. package/list/lib/listitem/list-item.d.ts +99 -43
  297. package/list/lib/listitem/list-item.js +204 -173
  298. package/list/lib/listitem/list-item.js.map +1 -1
  299. package/list/lib/listitemlink/list-item-link.d.ts +17 -0
  300. package/list/lib/listitemlink/list-item-link.js +42 -0
  301. package/list/lib/listitemlink/list-item-link.js.map +1 -0
  302. package/list/lib/video/_list-item-video.scss +15 -5
  303. package/list/lib/video/list-item-video-styles.css.js +1 -1
  304. package/list/lib/video/list-item-video-styles.css.js.map +1 -1
  305. package/list/lib/video/list-item-video-styles.scss +2 -0
  306. package/list/lib/video/list-item-video.d.ts +43 -4
  307. package/list/lib/video/list-item-video.js +90 -12
  308. package/list/lib/video/list-item-video.js.map +1 -1
  309. package/list/list-item-avatar.d.ts +2 -1
  310. package/list/list-item-avatar.js +2 -1
  311. package/list/list-item-avatar.js.map +1 -1
  312. package/list/list-item-icon.d.ts +2 -1
  313. package/list/list-item-icon.js +2 -1
  314. package/list/list-item-icon.js.map +1 -1
  315. package/list/list-item-image.d.ts +2 -1
  316. package/list/list-item-image.js +2 -1
  317. package/list/list-item-image.js.map +1 -1
  318. package/list/list-item-link.d.ts +35 -0
  319. package/list/list-item-link.js +39 -0
  320. package/list/list-item-link.js.map +1 -0
  321. package/list/list-item-video.d.ts +2 -1
  322. package/list/list-item-video.js +2 -1
  323. package/list/list-item-video.js.map +1 -1
  324. package/list/list-item.d.ts +18 -2
  325. package/list/list-item.js +20 -3
  326. package/list/list-item.js.map +1 -1
  327. package/list/list.d.ts +15 -1
  328. package/list/list.js +15 -1
  329. package/list/list.js.map +1 -1
  330. package/menu/_menu-item.scss +6 -0
  331. package/menu/_menu.scss +6 -0
  332. package/menu/harness.d.ts +5 -0
  333. package/menu/harness.js +22 -0
  334. package/menu/harness.js.map +1 -1
  335. package/menu/lib/_menu.scss +64 -62
  336. package/menu/lib/menu-styles.css.js +1 -1
  337. package/menu/lib/menu-styles.css.js.map +1 -1
  338. package/menu/lib/menu-styles.scss +2 -0
  339. package/menu/lib/menu.d.ts +177 -43
  340. package/menu/lib/menu.js +506 -246
  341. package/menu/lib/menu.js.map +1 -1
  342. package/menu/lib/menuitem/_menu-item.scss +123 -0
  343. package/menu/lib/menuitem/menu-item-private-styles.css.js +9 -0
  344. package/menu/lib/menuitem/menu-item-private-styles.css.js.map +1 -0
  345. package/menu/lib/menuitem/menu-item-private-styles.scss +10 -0
  346. package/menu/lib/menuitem/menu-item-styles.css.d.ts +1 -0
  347. package/menu/lib/menuitem/menu-item-styles.css.js +9 -0
  348. package/menu/lib/menuitem/menu-item-styles.css.js.map +1 -0
  349. package/menu/lib/menuitem/menu-item-styles.scss +10 -0
  350. package/menu/lib/menuitem/menu-item.d.ts +20 -3
  351. package/menu/lib/menuitem/menu-item.js +42 -3
  352. package/menu/lib/menuitem/menu-item.js.map +1 -1
  353. package/menu/lib/menuitemlink/menu-item-link.d.ts +25 -0
  354. package/menu/lib/menuitemlink/menu-item-link.js +51 -0
  355. package/menu/lib/menuitemlink/menu-item-link.js.map +1 -0
  356. package/menu/lib/shared.d.ts +134 -0
  357. package/menu/lib/shared.js +85 -0
  358. package/menu/lib/shared.js.map +1 -0
  359. package/menu/lib/submenuitem/harness.d.ts +11 -0
  360. package/menu/lib/submenuitem/harness.js +12 -0
  361. package/menu/lib/submenuitem/harness.js.map +1 -0
  362. package/menu/lib/submenuitem/sub-menu-item.d.ts +89 -0
  363. package/menu/lib/submenuitem/sub-menu-item.js +266 -0
  364. package/menu/lib/submenuitem/sub-menu-item.js.map +1 -0
  365. package/menu/lib/surfacePositionController.d.ts +117 -0
  366. package/menu/lib/surfacePositionController.js +196 -0
  367. package/menu/lib/surfacePositionController.js.map +1 -0
  368. package/menu/lib/typeaheadController.d.ts +144 -0
  369. package/menu/lib/typeaheadController.js +242 -0
  370. package/menu/lib/typeaheadController.js.map +1 -0
  371. package/menu/menu-item-link.d.ts +33 -0
  372. package/menu/menu-item-link.js +37 -0
  373. package/menu/menu-item-link.js.map +1 -0
  374. package/menu/menu-item.d.ts +19 -2
  375. package/menu/menu-item.js +22 -4
  376. package/menu/menu-item.js.map +1 -1
  377. package/menu/menu.d.ts +45 -0
  378. package/menu/menu.js +43 -0
  379. package/menu/menu.js.map +1 -1
  380. package/menu/sub-menu-item.d.ts +60 -0
  381. package/menu/sub-menu-item.js +64 -0
  382. package/menu/sub-menu-item.js.map +1 -0
  383. package/menusurface/lib/_md-comp-menu-surface.scss +4 -0
  384. package/menusurface/lib/_menu-surface.scss +5 -1
  385. package/menusurface/lib/foundation.js +31 -31
  386. package/menusurface/lib/foundation.js.map +1 -1
  387. package/menusurface/lib/menu-surface-styles.css.js +1 -1
  388. package/menusurface/lib/menu-surface-styles.css.js.map +1 -1
  389. package/menusurface/lib/menu-surface-styles.scss +2 -0
  390. package/menusurface/lib/menu-surface.d.ts +2 -2
  391. package/menusurface/lib/menu-surface.js.map +1 -1
  392. package/menusurface/menu-surface.js.map +1 -1
  393. package/motion/animation.d.ts +20 -3
  394. package/motion/animation.js +39 -4
  395. package/motion/animation.js.map +1 -1
  396. package/navigationbar/lib/_navigation-bar.scss +11 -9
  397. package/navigationbar/lib/constants.d.ts +1 -1
  398. package/navigationbar/lib/navigation-bar-styles.css.js +1 -1
  399. package/navigationbar/lib/navigation-bar-styles.css.js.map +1 -1
  400. package/navigationbar/lib/navigation-bar-styles.scss +2 -0
  401. package/navigationbar/lib/navigation-bar.js.map +1 -1
  402. package/navigationbar/navigation-bar.js.map +1 -1
  403. package/navigationdrawer/lib/_navigation-drawer-modal.scss +11 -2
  404. package/navigationdrawer/lib/_navigation-drawer.scss +11 -6
  405. package/navigationdrawer/lib/_shared.scss +4 -8
  406. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js +1 -1
  407. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js.map +1 -1
  408. package/navigationdrawer/lib/navigation-drawer-modal-styles.scss +2 -0
  409. package/navigationdrawer/lib/navigation-drawer-modal.js.map +1 -1
  410. package/navigationdrawer/lib/navigation-drawer-styles.css.js +1 -1
  411. package/navigationdrawer/lib/navigation-drawer-styles.css.js.map +1 -1
  412. package/navigationdrawer/lib/navigation-drawer-styles.scss +2 -0
  413. package/navigationdrawer/lib/navigation-drawer.js.map +1 -1
  414. package/navigationdrawer/lib/shared-styles.scss +2 -0
  415. package/navigationdrawer/navigation-drawer-modal.js.map +1 -1
  416. package/navigationdrawer/navigation-drawer.js.map +1 -1
  417. package/navigationtab/lib/_navigation-tab.scss +34 -41
  418. package/navigationtab/lib/navigation-tab-styles.css.js +1 -1
  419. package/navigationtab/lib/navigation-tab-styles.css.js.map +1 -1
  420. package/navigationtab/lib/navigation-tab-styles.scss +2 -0
  421. package/navigationtab/lib/navigation-tab.js +4 -4
  422. package/navigationtab/lib/navigation-tab.js.map +1 -1
  423. package/navigationtab/navigation-tab.js.map +1 -1
  424. package/package.json +2 -9
  425. package/radio/lib/_radio.scss +16 -15
  426. package/radio/lib/forced-colors-styles.scss +2 -0
  427. package/radio/lib/radio-styles.css.js +1 -1
  428. package/radio/lib/radio-styles.css.js.map +1 -1
  429. package/radio/lib/radio-styles.scss +2 -0
  430. package/radio/lib/radio.d.ts +10 -1
  431. package/radio/lib/radio.js +28 -19
  432. package/radio/lib/radio.js.map +1 -1
  433. package/radio/radio.d.ts +16 -1
  434. package/radio/radio.js +16 -1
  435. package/radio/radio.js.map +1 -1
  436. package/ripple/directive.d.ts +1 -33
  437. package/ripple/directive.js +7 -194
  438. package/ripple/directive.js.map +1 -1
  439. package/ripple/lib/_md-comp-ripple.scss +20 -19
  440. package/ripple/lib/_ripple.scss +24 -40
  441. package/ripple/lib/ripple-styles.css.js +1 -1
  442. package/ripple/lib/ripple-styles.css.js.map +1 -1
  443. package/ripple/lib/ripple-styles.scss +2 -0
  444. package/ripple/lib/ripple.d.ts +50 -48
  445. package/ripple/lib/ripple.js +215 -77
  446. package/ripple/lib/ripple.js.map +1 -1
  447. package/ripple/ripple.d.ts +9 -1
  448. package/ripple/ripple.js +9 -1
  449. package/ripple/ripple.js.map +1 -1
  450. package/sass/_assert.scss +2 -0
  451. package/sass/_color-scheme.scss +4 -0
  452. package/sass/_color.scss +4 -0
  453. package/sass/_elevation.scss +4 -0
  454. package/sass/_feature-flags.scss +2 -0
  455. package/sass/_map-ext.scss +26 -0
  456. package/sass/_resolvers.scss +4 -4
  457. package/sass/_shape.scss +75 -27
  458. package/sass/_string-ext.scss +67 -0
  459. package/sass/_theme.scss +4 -0
  460. package/sass/_typography.scss +18 -93
  461. package/sass/_var.scss +4 -0
  462. package/segmentedbutton/lib/_outlined-segmented-button.scss +4 -0
  463. package/segmentedbutton/lib/_shared.scss +18 -22
  464. package/segmentedbutton/lib/outlined-styles.css.js +1 -1
  465. package/segmentedbutton/lib/outlined-styles.css.js.map +1 -1
  466. package/segmentedbutton/lib/outlined-styles.scss +2 -0
  467. package/segmentedbutton/lib/segmented-button.js +4 -4
  468. package/segmentedbutton/lib/segmented-button.js.map +1 -1
  469. package/segmentedbutton/lib/shared-styles.css.js +1 -1
  470. package/segmentedbutton/lib/shared-styles.css.js.map +1 -1
  471. package/segmentedbutton/lib/shared-styles.scss +2 -0
  472. package/segmentedbutton/outlined-segmented-button.js.map +1 -1
  473. package/segmentedbuttonset/lib/_outlined-segmented-button-set.scss +9 -5
  474. package/segmentedbuttonset/lib/_shared.scss +0 -13
  475. package/segmentedbuttonset/lib/outlined-styles.css.js +1 -1
  476. package/segmentedbuttonset/lib/outlined-styles.css.js.map +1 -1
  477. package/segmentedbuttonset/lib/outlined-styles.scss +2 -0
  478. package/segmentedbuttonset/lib/segmented-button-set.d.ts +0 -2
  479. package/segmentedbuttonset/lib/segmented-button-set.js +0 -2
  480. package/segmentedbuttonset/lib/segmented-button-set.js.map +1 -1
  481. package/segmentedbuttonset/lib/shared-styles.scss +2 -0
  482. package/segmentedbuttonset/outlined-segmented-button-set.js.map +1 -1
  483. package/slider/_slider.scss +6 -0
  484. package/slider/harness.d.ts +20 -0
  485. package/slider/harness.js +63 -0
  486. package/slider/harness.js.map +1 -0
  487. package/slider/lib/_slider.scss +503 -0
  488. package/slider/lib/_tokens.scss +66 -0
  489. package/slider/lib/forced-colors-styles.css.d.ts +1 -0
  490. package/slider/lib/forced-colors-styles.css.js +9 -0
  491. package/slider/lib/forced-colors-styles.css.js.map +1 -0
  492. package/slider/lib/forced-colors-styles.scss +53 -0
  493. package/slider/lib/slider-styles.css.d.ts +1 -0
  494. package/slider/lib/slider-styles.css.js +9 -0
  495. package/slider/lib/slider-styles.css.js.map +1 -0
  496. package/slider/lib/slider-styles.scss +8 -0
  497. package/slider/lib/slider.d.ts +158 -0
  498. package/slider/lib/slider.js +575 -0
  499. package/slider/lib/slider.js.map +1 -0
  500. package/slider/slider.d.ts +28 -0
  501. package/slider/slider.js +32 -0
  502. package/slider/slider.js.map +1 -0
  503. package/switch/lib/README.md +55 -0
  504. package/switch/lib/_handle.scss +72 -26
  505. package/switch/lib/_icon.scss +40 -0
  506. package/switch/lib/_switch.scss +12 -133
  507. package/switch/lib/_track.scss +41 -0
  508. package/switch/lib/switch-styles.css.js +1 -1
  509. package/switch/lib/switch-styles.css.js.map +1 -1
  510. package/switch/lib/switch-styles.scss +2 -0
  511. package/switch/lib/switch.d.ts +3 -0
  512. package/switch/lib/switch.js +12 -9
  513. package/switch/lib/switch.js.map +1 -1
  514. package/switch/switch.js.map +1 -1
  515. package/textfield/filled-text-field.d.ts +1 -1
  516. package/textfield/filled-text-field.js +1 -2
  517. package/textfield/filled-text-field.js.map +1 -1
  518. package/textfield/harness.js +1 -1
  519. package/textfield/harness.js.map +1 -1
  520. package/textfield/lib/_filled-text-field.scss +29 -23
  521. package/textfield/lib/_icon.scss +41 -56
  522. package/textfield/lib/_input.scss +17 -36
  523. package/textfield/lib/_outlined-text-field.scss +29 -23
  524. package/textfield/lib/_shared.scss +10 -29
  525. package/textfield/lib/filled-forced-colors-styles.scss +2 -0
  526. package/textfield/lib/filled-styles.css.js +1 -1
  527. package/textfield/lib/filled-styles.css.js.map +1 -1
  528. package/textfield/lib/filled-styles.scss +2 -0
  529. package/textfield/lib/filled-text-field.d.ts +6 -5
  530. package/textfield/lib/filled-text-field.js +8 -7
  531. package/textfield/lib/filled-text-field.js.map +1 -1
  532. package/textfield/lib/outlined-forced-colors-styles.scss +2 -0
  533. package/textfield/lib/outlined-styles.css.js +1 -1
  534. package/textfield/lib/outlined-styles.css.js.map +1 -1
  535. package/textfield/lib/outlined-styles.scss +2 -0
  536. package/textfield/lib/outlined-text-field.d.ts +6 -5
  537. package/textfield/lib/outlined-text-field.js +8 -7
  538. package/textfield/lib/outlined-text-field.js.map +1 -1
  539. package/textfield/lib/shared-styles.css.js +1 -1
  540. package/textfield/lib/shared-styles.css.js.map +1 -1
  541. package/textfield/lib/shared-styles.scss +2 -0
  542. package/textfield/lib/text-field.d.ts +40 -90
  543. package/textfield/lib/text-field.js +194 -272
  544. package/textfield/lib/text-field.js.map +1 -1
  545. package/textfield/outlined-text-field.d.ts +1 -1
  546. package/textfield/outlined-text-field.js +1 -2
  547. package/textfield/outlined-text-field.js.map +1 -1
  548. package/tokens/_index.scss +1 -1
  549. package/tokens/{v0_150 → v0_160}/_index.scss +1 -1
  550. package/tokens/{v0_150 → v0_160}/_md-comp-assist-chip.scss +2 -2
  551. package/tokens/{v0_150 → v0_160}/_md-comp-badge.scss +2 -2
  552. package/tokens/{v0_150 → v0_160}/_md-comp-banner.scss +2 -43
  553. package/tokens/{v0_150 → v0_160}/_md-comp-bottom-app-bar.scss +3 -4
  554. package/tokens/{v0_150 → v0_160}/_md-comp-carousel-item.scss +2 -2
  555. package/tokens/{v0_150 → v0_160}/_md-comp-checkbox.scss +5 -26
  556. package/tokens/{v0_150 → v0_160}/_md-comp-circular-progress-indicator.scss +2 -2
  557. package/tokens/{v0_150 → v0_160}/_md-comp-data-table.scss +2 -6
  558. package/tokens/{v0_150 → v0_160}/_md-comp-date-input-modal.scss +11 -11
  559. package/tokens/{v0_150 → v0_160}/_md-comp-date-picker-docked.scss +24 -24
  560. package/tokens/{v0_150 → v0_160}/_md-comp-date-picker-modal.scss +35 -35
  561. package/tokens/{v0_150 → v0_160}/_md-comp-dialog.scss +2 -25
  562. package/tokens/{v0_150 → v0_160}/_md-comp-divider.scss +2 -2
  563. package/tokens/{v0_150 → v0_160}/_md-comp-elevated-button.scss +2 -2
  564. package/tokens/{v0_150 → v0_160}/_md-comp-elevated-card.scss +2 -2
  565. package/tokens/{v0_150 → v0_160}/_md-comp-extended-fab-branded.scss +2 -2
  566. package/tokens/{v0_150 → v0_160}/_md-comp-extended-fab-primary.scss +2 -2
  567. package/tokens/{v0_150 → v0_160}/_md-comp-extended-fab-secondary.scss +2 -2
  568. package/tokens/{v0_150 → v0_160}/_md-comp-extended-fab-surface.scss +2 -2
  569. package/tokens/{v0_150 → v0_160}/_md-comp-extended-fab-tertiary.scss +2 -4
  570. package/tokens/{v0_150 → v0_160}/_md-comp-fab-branded-large.scss +2 -3
  571. package/tokens/{v0_150 → v0_160}/_md-comp-fab-branded.scss +2 -2
  572. package/tokens/{v0_150 → v0_160}/_md-comp-fab-primary-large.scss +2 -2
  573. package/tokens/{v0_150 → v0_160}/_md-comp-fab-primary-small.scss +2 -2
  574. package/tokens/{v0_150 → v0_160}/_md-comp-fab-primary.scss +2 -2
  575. package/tokens/{v0_150 → v0_160}/_md-comp-fab-secondary-large.scss +2 -2
  576. package/tokens/{v0_150 → v0_160}/_md-comp-fab-secondary-small.scss +2 -2
  577. package/tokens/{v0_150 → v0_160}/_md-comp-fab-secondary.scss +2 -2
  578. package/tokens/{v0_150 → v0_160}/_md-comp-fab-surface-large.scss +2 -2
  579. package/tokens/{v0_150 → v0_160}/_md-comp-fab-surface-small.scss +2 -2
  580. package/tokens/{v0_150 → v0_160}/_md-comp-fab-surface.scss +2 -2
  581. package/tokens/{v0_150 → v0_160}/_md-comp-fab-tertiary-large.scss +2 -2
  582. package/tokens/{v0_150 → v0_160}/_md-comp-fab-tertiary-small.scss +2 -2
  583. package/tokens/{v0_150 → v0_160}/_md-comp-fab-tertiary.scss +2 -2
  584. package/tokens/{v0_150 → v0_160}/_md-comp-filled-autocomplete.scss +2 -3
  585. package/tokens/{v0_150 → v0_160}/_md-comp-filled-button.scss +2 -8
  586. package/tokens/{v0_150 → v0_160}/_md-comp-filled-card.scss +2 -4
  587. package/tokens/{v0_150 → v0_160}/_md-comp-filled-icon-button.scss +2 -2
  588. package/tokens/{v0_150 → v0_160}/_md-comp-filled-menu-button.scss +2 -2
  589. package/tokens/{v0_150 → v0_160}/_md-comp-filled-select.scss +2 -6
  590. package/tokens/{v0_150 → v0_160}/_md-comp-filled-text-field.scss +2 -3
  591. package/tokens/{v0_150 → v0_160}/_md-comp-filled-tonal-button.scss +2 -2
  592. package/tokens/{v0_150 → v0_160}/_md-comp-filled-tonal-icon-button.scss +2 -2
  593. package/tokens/{v0_150 → v0_160}/_md-comp-filter-chip.scss +2 -30
  594. package/tokens/{v0_150 → v0_160}/_md-comp-full-screen-dialog.scss +3 -53
  595. package/tokens/{v0_150 → v0_160}/_md-comp-icon-button.scss +3 -3
  596. package/tokens/{v0_150 → v0_160}/_md-comp-input-chip.scss +2 -52
  597. package/tokens/{v0_150 → v0_160}/_md-comp-linear-progress-indicator.scss +2 -2
  598. package/tokens/{v0_150 → v0_160}/_md-comp-list.scss +3 -12
  599. package/tokens/{v0_150 → v0_160}/_md-comp-menu.scss +2 -4
  600. package/tokens/{v0_150 → v0_160}/_md-comp-navigation-bar.scss +2 -9
  601. package/tokens/{v0_150 → v0_160}/_md-comp-navigation-drawer.scss +2 -8
  602. package/tokens/{v0_150 → v0_160}/_md-comp-navigation-rail.scss +2 -39
  603. package/tokens/{v0_150 → v0_160}/_md-comp-outlined-autocomplete.scss +2 -3
  604. package/tokens/{v0_150 → v0_160}/_md-comp-outlined-button.scss +2 -6
  605. package/tokens/{v0_150 → v0_160}/_md-comp-outlined-card.scss +2 -2
  606. package/tokens/{v0_150 → v0_160}/_md-comp-outlined-icon-button.scss +2 -4
  607. package/tokens/{v0_150 → v0_160}/_md-comp-outlined-menu-button.scss +2 -2
  608. package/tokens/{v0_150 → v0_160}/_md-comp-outlined-segmented-button.scss +2 -2
  609. package/tokens/{v0_150 → v0_160}/_md-comp-outlined-select.scss +2 -6
  610. package/tokens/{v0_150 → v0_160}/_md-comp-outlined-text-field.scss +2 -3
  611. package/tokens/{v0_150 → v0_160}/_md-comp-plain-tooltip.scss +2 -2
  612. package/tokens/{v0_150 → v0_160}/_md-comp-primary-navigation-tab.scss +2 -4
  613. package/tokens/{v0_150 → v0_160}/_md-comp-radio-button.scss +2 -2
  614. package/tokens/{v0_150 → v0_160}/_md-comp-rich-tooltip.scss +2 -2
  615. package/tokens/{v0_150 → v0_160}/_md-comp-scrim.scss +2 -2
  616. package/tokens/{v0_150 → v0_160}/_md-comp-search-bar.scss +2 -2
  617. package/tokens/{v0_150 → v0_160}/_md-comp-search-view.scss +2 -2
  618. package/tokens/{v0_150 → v0_160}/_md-comp-secondary-navigation-tab.scss +2 -4
  619. package/tokens/{v0_150 → v0_160}/_md-comp-sheet-bottom.scss +2 -2
  620. package/tokens/{v0_150 → v0_160}/_md-comp-sheet-floating.scss +2 -2
  621. package/tokens/{v0_150 → v0_160}/_md-comp-sheet-side.scss +13 -11
  622. package/tokens/{v0_150 → v0_160}/_md-comp-slider.scss +2 -4
  623. package/tokens/{v0_150 → v0_160}/_md-comp-snackbar.scss +2 -2
  624. package/tokens/{v0_150 → v0_160}/_md-comp-standard-menu-button.scss +2 -2
  625. package/tokens/{v0_150 → v0_160}/_md-comp-suggestion-chip.scss +2 -2
  626. package/tokens/{v0_150 → v0_160}/_md-comp-switch.scss +2 -11
  627. package/tokens/{v0_150 → v0_160}/_md-comp-text-button.scss +2 -6
  628. package/tokens/{v0_150 → v0_160}/_md-comp-time-input.scss +2 -2
  629. package/tokens/{v0_150 → v0_160}/_md-comp-time-picker.scss +2 -5
  630. package/tokens/{v0_150 → v0_160}/_md-comp-top-app-bar-large.scss +2 -2
  631. package/tokens/{v0_150 → v0_160}/_md-comp-top-app-bar-medium.scss +2 -2
  632. package/tokens/{v0_150 → v0_160}/_md-comp-top-app-bar-small-centered.scss +2 -3
  633. package/tokens/{v0_150 → v0_160}/_md-comp-top-app-bar-small.scss +2 -3
  634. package/tokens/{v0_150 → v0_160}/_md-ref-palette.scss +2 -2
  635. package/tokens/{v0_150 → v0_160}/_md-ref-typeface.scss +2 -2
  636. package/tokens/{v0_150 → v0_160}/_md-sys-color.scss +218 -20
  637. package/tokens/{v0_150 → v0_160}/_md-sys-elevation.scss +4 -13
  638. package/tokens/{v0_150 → v0_160}/_md-sys-motion.scss +2 -2
  639. package/tokens/{v0_150 → v0_160}/_md-sys-shape.scss +2 -2
  640. package/tokens/{v0_150 → v0_160}/_md-sys-state.scss +2 -2
  641. package/tokens/{v0_150 → v0_160}/_md-sys-typescale.scss +2 -3
  642. package/tokens/v0_160/index.test.css.d.ts +1 -0
  643. package/tokens/{v0_150 → v0_160}/index.test.scss +1 -1
  644. package/tokens/v0_160/lib.test.css.d.ts +1 -0
  645. package/tokens/{v0_150 → v0_160}/lib.test.scss +1 -1
  646. package/list/lib/_tokens.scss +0 -80
  647. package/list/lib/divider/_list-divider.scss +0 -46
  648. package/list/lib/divider/list-divider-styles.css.js +0 -9
  649. package/list/lib/divider/list-divider-styles.css.js.map +0 -1
  650. package/list/lib/divider/list-divider-styles.scss +0 -8
  651. package/list/lib/divider/list-divider.d.ts +0 -13
  652. package/list/lib/divider/list-divider.js +0 -32
  653. package/list/lib/divider/list-divider.js.map +0 -1
  654. package/list/list-divider.d.ts +0 -19
  655. package/list/list-divider.js +0 -22
  656. package/list/list-divider.js.map +0 -1
  657. package/menu/lib/_menu-button.scss +0 -14
  658. package/menu/lib/adapter.d.ts +0 -66
  659. package/menu/lib/adapter.js +0 -7
  660. package/menu/lib/adapter.js.map +0 -1
  661. package/menu/lib/constants.d.ts +0 -22
  662. package/menu/lib/constants.js +0 -23
  663. package/menu/lib/constants.js.map +0 -1
  664. package/menu/lib/foundation.d.ts +0 -49
  665. package/menu/lib/foundation.js +0 -123
  666. package/menu/lib/foundation.js.map +0 -1
  667. package/menu/lib/menu-button-styles.css.js +0 -9
  668. package/menu/lib/menu-button-styles.css.js.map +0 -1
  669. package/menu/lib/menu-button-styles.scss +0 -8
  670. package/menu/lib/menu-button.d.ts +0 -27
  671. package/menu/lib/menu-button.js +0 -93
  672. package/menu/lib/menu-button.js.map +0 -1
  673. package/menu/menu-button.d.ts +0 -14
  674. package/menu/menu-button.js +0 -17
  675. package/menu/menu-button.js.map +0 -1
  676. /package/{list/lib/divider/list-divider-styles.css.d.ts → dialog/lib/dialog-styles.css.d.ts} +0 -0
  677. /package/{menu/lib/menu-button-styles.css.d.ts → divider/lib/divider-styles.css.d.ts} +0 -0
  678. /package/{tokens/v0_150/index.test.css.d.ts → list/lib/listitem/list-item-private-styles.css.d.ts} +0 -0
  679. /package/{tokens/v0_150/lib.test.css.d.ts → menu/lib/menuitem/menu-item-private-styles.css.d.ts} +0 -0
  680. /package/tokens/{v0_150 → v0_160}/index.test.css.js +0 -0
  681. /package/tokens/{v0_150 → v0_160}/index.test.css.js.map +0 -0
  682. /package/tokens/{v0_150 → v0_160}/lib.test.css.js +0 -0
  683. /package/tokens/{v0_150 → v0_160}/lib.test.css.js.map +0 -0
package/README.md CHANGED
@@ -6,29 +6,76 @@
6
6
  Material Web is Google’s UI toolkit for building beautiful, accessible web
7
7
  applications. Material Web is implemented as a collection of
8
8
  [web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components).
9
+ [Material 3](https://m3.material.io/) is the latest version of Google’s
10
+ open-source design system.
9
11
 
10
- The Material team is currently working on
11
- [Material You](https://material.io/blog/announcing-material-you) (Material
12
- Design 3) support for Material components.
12
+ > Note: Looking for Material 2? `<mwc-*` components are now on the
13
+ > [`mwc` branch](https://github.com/material-components/material-web/tree/mwc).
13
14
 
14
- Developers using this library should expect some big changes as we work to
15
- improve our codebase and ease of use and implement the newest Material Design.
15
+ ## Links
16
16
 
17
- A few notable changes you should expect:
17
+ - [Quick start](docs/quick-start.md)
18
18
 
19
- - UX changes as we adopt the new designs (production users will definitely
20
- want to pin to an appropriate release, not mainline)
21
- - A single npm package (`@material/web`)
22
- - Simplification of tag name prefixes to `md-` (CSS custom properties will be
23
- `--md-`)
24
- - Components as top-level folders which contain all variants
19
+ ## Roadmap
25
20
 
26
- Example: `top-app-bar` and `top-app-bar-fixed` will be placed in the same
27
- folder: `top-app-bar` - Components with variant attributes will be split into
28
- several variant components:
21
+ **Alpha** components are in-development and may have many frequent breaking
22
+ changes.
29
23
 
30
- Example: `mwc-button` will be split into `md-text-button`, `md-filled-button`,
31
- `md-tonal-button`, `md-outlined-button`, etc
24
+ **Beta** components are mostly polished and ready for use.
32
25
 
33
- > Note: Looking for Material 2? MWC components are now on the
34
- > [`mwc` branch](https://github.com/material-components/material-web/tree/mwc).
26
+ **Stable** components are reviewed, documented, and API complete.
27
+
28
+ - 🔴 Not started
29
+ - 🟡 In progress
30
+ - 🟢 Complete
31
+
32
+ ### 1.0 Components
33
+
34
+ Component | Alpha | Beta | Stable
35
+ ----------------------------- | :---: | :--: | :----:
36
+ Button | 🟢 | 🟢 | 🔴
37
+ FAB | 🟢 | 🔴 | 🔴
38
+ Icon button | 🟢 | 🔴 | 🔴
39
+ Checkbox | 🟢 | 🟢 | 🔴
40
+ Chips | 🔴 | 🔴 | 🔴
41
+ Dialog | 🟢 | 🟢 | 🔴
42
+ Divider | 🟢 | 🟢 | 🟡
43
+ Elevation | 🟢 | 🔴 | 🔴
44
+ Focus ring | 🟢 | 🔴 | 🔴
45
+ Field | 🟢 | 🟢 | 🔴
46
+ Icon | 🟢 | 🔴 | 🔴
47
+ List | 🟢 | 🟢 | 🟡
48
+ Menu | 🟢 | 🟢 | 🟡
49
+ Progress indicator (circular) | 🔴 | 🔴 | 🔴
50
+ Progress indicator (linear) | 🔴 | 🔴 | 🔴
51
+ Radio button | 🟢 | 🟢 | 🔴
52
+ Ripple | 🟢 | 🟢 | 🟡
53
+ Select | 🟡 | 🔴 | 🔴
54
+ Slider | 🟢 | 🟢 | 🔴
55
+ Switch | 🟢 | 🟢 | 🔴
56
+ Tabs | 🔴 | 🔴 | 🔴
57
+ Text field | 🟢 | 🟢 | 🟡
58
+
59
+ ### 1.1+ Components
60
+
61
+ These components are planned for release after 1.0.
62
+
63
+ Component | Alpha | Beta | Stable
64
+ ----------------- | :---: | :--: | :----:
65
+ Autocomplete | 🟡 | 🔴 | 🔴
66
+ Badge | 🟡 | 🔴 | 🔴
67
+ Banner | 🔴 | 🔴 | 🔴
68
+ Bottom app bar | 🔴 | 🔴 | 🔴
69
+ Bottom sheet | 🔴 | 🔴 | 🔴
70
+ Segmented button | 🟡 | 🔴 | 🔴
71
+ Card | 🔴 | 🔴 | 🔴
72
+ Data table | 🔴 | 🔴 | 🔴
73
+ Date picker | 🔴 | 🔴 | 🔴
74
+ Navigation bar | 🟡 | 🔴 | 🔴
75
+ Navigation drawer | 🟡 | 🔴 | 🔴
76
+ Navigation rail | 🔴 | 🔴 | 🔴
77
+ Search | 🔴 | 🔴 | 🔴
78
+ Snackbar | 🔴 | 🔴 | 🔴
79
+ Time picker | 🔴 | 🔴 | 🔴
80
+ Tooltip | 🔴 | 🔴 | 🔴
81
+ Top app bar | 🔴 | 🔴 | 🔴
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete-item.js","sourceRoot":"","sources":["autocomplete-item.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,EAAC,MAAM,8CAA8C,CAAC;AAEpE,OAAO,EAAC,gBAAgB,EAAC,MAAM,6CAA6C,CAAC;AAQ7E;;;;GAIG;AAEH,IAAa,kBAAkB,GAA/B,MAAa,kBAAmB,SAAQ,gBAAgB;CAEvD,CAAA;AADiB,yBAAM,GAAG,CAAC,MAAM,CAAE,CAAA;AADvB,kBAAkB;IAD9B,aAAa,CAAC,sBAAsB,CAAC;GACzB,kBAAkB,CAE9B;SAFY,kBAAkB","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {styles} from '../list/lib/listitem/list-item-styles.css.js';\n\nimport {AutocompleteItem} from './lib/autocompleteitem/autocomplete-item.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-autocomplete-item': MdAutocompleteItem;\n }\n}\n\n/**\n * @soyCompatible\n * @final\n * @suppress {visibility}\n */\n@customElement('md-autocomplete-item')\nexport class MdAutocompleteItem extends AutocompleteItem {\n static override styles = [styles];\n}\n"]}
1
+ {"version":3,"file":"autocomplete-item.js","sourceRoot":"","sources":["autocomplete-item.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,EAAC,MAAM,8CAA8C,CAAC;AAEpE,OAAO,EAAC,gBAAgB,EAAC,MAAM,6CAA6C,CAAC;AAQ7E;;;;GAIG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,gBAAgB;;AACtC,yBAAM,GAAG,CAAC,MAAM,CAAC,CAAC;AADvB,kBAAkB;IAD9B,aAAa,CAAC,sBAAsB,CAAC;GACzB,kBAAkB,CAE9B;SAFY,kBAAkB","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {styles} from '../list/lib/listitem/list-item-styles.css.js';\n\nimport {AutocompleteItem} from './lib/autocompleteitem/autocomplete-item.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-autocomplete-item': MdAutocompleteItem;\n }\n}\n\n/**\n * @soyCompatible\n * @final\n * @suppress {visibility}\n */\n@customElement('md-autocomplete-item')\nexport class MdAutocompleteItem extends AutocompleteItem {\n static override styles = [styles];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete-list.js","sourceRoot":"","sources":["autocomplete-list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AAEtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAC,MAAM,IAAI,kBAAkB,EAAC,MAAM,wDAAwD,CAAC;AAQpG;;;;GAIG;AAEH,IAAa,kBAAkB,GAA/B,MAAa,kBAAmB,SAAQ,gBAAgB;CAEvD,CAAA;AADiB,yBAAM,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAE,CAAA;AAD3C,kBAAkB;IAD9B,aAAa,CAAC,sBAAsB,CAAC;GACzB,kBAAkB,CAE9B;SAFY,kBAAkB","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {styles} from '../list/lib/list-styles.css.js';\n\nimport {AutocompleteList} from './lib/autocompletelist/autocomplete-list.js';\nimport {styles as autocompleteStyles} from './lib/autocompletelist/autocomplete-list-styles.css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-autocomplete-list': MdAutocompleteList;\n }\n}\n\n/**\n * @soyCompatible\n * @final\n * @suppress {visibility}\n */\n@customElement('md-autocomplete-list')\nexport class MdAutocompleteList extends AutocompleteList {\n static override styles = [styles, autocompleteStyles];\n}\n"]}
1
+ {"version":3,"file":"autocomplete-list.js","sourceRoot":"","sources":["autocomplete-list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AAEtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAC,MAAM,IAAI,kBAAkB,EAAC,MAAM,wDAAwD,CAAC;AAQpG;;;;GAIG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,gBAAgB;;AACtC,yBAAM,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAD3C,kBAAkB;IAD9B,aAAa,CAAC,sBAAsB,CAAC;GACzB,kBAAkB,CAE9B;SAFY,kBAAkB","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {styles} from '../list/lib/list-styles.css.js';\n\nimport {AutocompleteList} from './lib/autocompletelist/autocomplete-list.js';\nimport {styles as autocompleteStyles} from './lib/autocompletelist/autocomplete-list-styles.css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-autocomplete-list': MdAutocompleteList;\n }\n}\n\n/**\n * @soyCompatible\n * @final\n * @suppress {visibility}\n */\n@customElement('md-autocomplete-list')\nexport class MdAutocompleteList extends AutocompleteList {\n static override styles = [styles, autocompleteStyles];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete-surface.js","sourceRoot":"","sources":["autocomplete-surface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,EAAC,MAAM,+CAA+C,CAAC;AAErE,OAAO,EAAC,mBAAmB,EAAC,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAC,MAAM,IAAI,kBAAkB,EAAC,MAAM,8DAA8D,CAAC;AAQ1G;;;;GAIG;AAEH,IAAa,qBAAqB,GAAlC,MAAa,qBAAsB,SAAQ,mBAAmB;CAE7D,CAAA;AADiB,4BAAM,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAE,CAAA;AAD3C,qBAAqB;IADjC,aAAa,CAAC,yBAAyB,CAAC;GAC5B,qBAAqB,CAEjC;SAFY,qBAAqB","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {styles} from '../menusurface/lib/menu-surface-styles.css.js';\n\nimport {AutocompleteSurface} from './lib/autocompletesurface/autocomplete-surface.js';\nimport {styles as autocompleteStyles} from './lib/autocompletesurface/autocomplete-surface-styles.css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-autocomplete-surface': MdAutocompleteSurface;\n }\n}\n\n/**\n * @soyCompatible\n * @final\n * @suppress {visibility}\n */\n@customElement('md-autocomplete-surface')\nexport class MdAutocompleteSurface extends AutocompleteSurface {\n static override styles = [styles, autocompleteStyles];\n}\n"]}
1
+ {"version":3,"file":"autocomplete-surface.js","sourceRoot":"","sources":["autocomplete-surface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,EAAC,MAAM,+CAA+C,CAAC;AAErE,OAAO,EAAC,mBAAmB,EAAC,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAC,MAAM,IAAI,kBAAkB,EAAC,MAAM,8DAA8D,CAAC;AAQ1G;;;;GAIG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,mBAAmB;;AAC5C,4BAAM,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAD3C,qBAAqB;IADjC,aAAa,CAAC,yBAAyB,CAAC;GAC5B,qBAAqB,CAEjC;SAFY,qBAAqB","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {styles} from '../menusurface/lib/menu-surface-styles.css.js';\n\nimport {AutocompleteSurface} from './lib/autocompletesurface/autocomplete-surface.js';\nimport {styles as autocompleteStyles} from './lib/autocompletesurface/autocomplete-surface-styles.css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-autocomplete-surface': MdAutocompleteSurface;\n }\n}\n\n/**\n * @soyCompatible\n * @final\n * @suppress {visibility}\n */\n@customElement('md-autocomplete-surface')\nexport class MdAutocompleteSurface extends AutocompleteSurface {\n static override styles = [styles, autocompleteStyles];\n}\n"]}
@@ -25,6 +25,4 @@ export declare class MdFilledAutocomplete extends Autocomplete {
25
25
  protected readonly fieldTag: import("lit-html/static.js").StaticValue;
26
26
  /** @soyTemplate */
27
27
  protected getAutocompleteRenderClasses(): ClassInfo;
28
- /** @soyTemplate */
29
- protected getRenderClasses(): ClassInfo;
30
28
  }
@@ -34,13 +34,6 @@ let MdFilledAutocomplete = class MdFilledAutocomplete extends Autocomplete {
34
34
  'md3-autocomplete--filled': true,
35
35
  };
36
36
  }
37
- /** @soyTemplate */
38
- getRenderClasses() {
39
- return {
40
- ...super.getRenderClasses(),
41
- 'md3-text-field--filled': true,
42
- };
43
- }
44
37
  };
45
38
  MdFilledAutocomplete.styles = [
46
39
  sharedStyles, filledStyles, filledForcedColorsStyles,
@@ -1 +1 @@
1
- {"version":3,"file":"filled-autocomplete.js","sourceRoot":"","sources":["filled-autocomplete.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,0BAA0B,CAAC;AAClC,OAAO,wBAAwB,CAAC;AAChC,OAAO,2BAA2B,CAAC;AAEnC,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAC,MAAM,IAAI,wBAAwB,EAAC,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAC,MAAM,IAAI,YAAY,EAAC,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAC,MAAM,IAAI,YAAY,EAAC,MAAM,uCAAuC,CAAC;AAE7E,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAC,MAAM,IAAI,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAC,MAAM,IAAI,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AAQ9E;;;;GAIG;AAEH,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,YAAY;IAAtD;;QAM8B,YAAO,GAAG,OAAO,CAAA,sBAAsB,CAAC;QACxC,mBAAc,GAAG,OAAO,CAAA,yBAAyB,CAAC;QAClD,aAAQ,GAAG,OAAO,CAAA,iBAAiB,CAAC;IAiBlE,CAAC;IAfC,mBAAmB;IACA,4BAA4B;QAC7C,OAAO;YACL,GAAG,KAAK,CAAC,4BAA4B,EAAE;YACvC,0BAA0B,EAAE,IAAI;SACjC,CAAC;IACJ,CAAC;IAED,mBAAmB;IACA,gBAAgB;QACjC,OAAO;YACL,GAAG,KAAK,CAAC,gBAAgB,EAAE;YAC3B,wBAAwB,EAAE,IAAI;SAC/B,CAAC;IACJ,CAAC;CACF,CAAA;AAxBiB,2BAAM,GAAG;IACvB,YAAY,EAAE,YAAY,EAAE,wBAAwB;IACpD,wBAAwB,EAAE,kBAAkB;CAC5C,CAAA;AAJS,oBAAoB;IADhC,aAAa,CAAC,wBAAwB,CAAC;GAC3B,oBAAoB,CAyBhC;SAzBY,oBAAoB","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../field/filled-field.js';\nimport './autocomplete-list.js';\nimport './autocomplete-surface.js';\n\nimport {customElement} from 'lit/decorators.js';\nimport {ClassInfo} from 'lit/directives/class-map.js';\nimport {literal} from 'lit/static-html.js';\n\nimport {styles as filledForcedColorsStyles} from '../textfield/lib/filled-forced-colors-styles.css.js';\nimport {styles as filledStyles} from '../textfield/lib/filled-styles.css.js';\nimport {styles as sharedStyles} from '../textfield/lib/shared-styles.css.js';\n\nimport {Autocomplete} from './lib/autocomplete.js';\nimport {styles as autocompleteStyles} from './lib/filled-styles.css.js';\nimport {styles as sharedAutocompleteStyles} from './lib/shared-styles.css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-filled-autocomplete': MdFilledAutocomplete;\n }\n}\n\n/**\n * @soyCompatible\n * @final\n * @suppress {visibility}\n */\n@customElement('md-filled-autocomplete')\nexport class MdFilledAutocomplete extends Autocomplete {\n static override styles = [\n sharedStyles, filledStyles, filledForcedColorsStyles,\n sharedAutocompleteStyles, autocompleteStyles\n ];\n\n protected override readonly listTag = literal`md-autocomplete-list`;\n protected override readonly menuSurfaceTag = literal`md-autocomplete-surface`;\n protected override readonly fieldTag = literal`md-filled-field`;\n\n /** @soyTemplate */\n protected override getAutocompleteRenderClasses(): ClassInfo {\n return {\n ...super.getAutocompleteRenderClasses(),\n 'md3-autocomplete--filled': true,\n };\n }\n\n /** @soyTemplate */\n protected override getRenderClasses(): ClassInfo {\n return {\n ...super.getRenderClasses(),\n 'md3-text-field--filled': true,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"filled-autocomplete.js","sourceRoot":"","sources":["filled-autocomplete.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,0BAA0B,CAAC;AAClC,OAAO,wBAAwB,CAAC;AAChC,OAAO,2BAA2B,CAAC;AAEnC,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAC,MAAM,IAAI,wBAAwB,EAAC,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAC,MAAM,IAAI,YAAY,EAAC,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAC,MAAM,IAAI,YAAY,EAAC,MAAM,uCAAuC,CAAC;AAE7E,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAC,MAAM,IAAI,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAC,MAAM,IAAI,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AAQ9E;;;;GAIG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,YAAY;IAA/C;;QAMuB,YAAO,GAAG,OAAO,CAAA,sBAAsB,CAAC;QACxC,mBAAc,GAAG,OAAO,CAAA,yBAAyB,CAAC;QAClD,aAAQ,GAAG,OAAO,CAAA,iBAAiB,CAAC;IASlE,CAAC;IAPC,mBAAmB;IACA,4BAA4B;QAC7C,OAAO;YACL,GAAG,KAAK,CAAC,4BAA4B,EAAE;YACvC,0BAA0B,EAAE,IAAI;SACjC,CAAC;IACJ,CAAC;;AAfe,2BAAM,GAAG;IACvB,YAAY,EAAE,YAAY,EAAE,wBAAwB;IACpD,wBAAwB,EAAE,kBAAkB;CAC7C,CAAC;AAJS,oBAAoB;IADhC,aAAa,CAAC,wBAAwB,CAAC;GAC3B,oBAAoB,CAiBhC;SAjBY,oBAAoB","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../field/filled-field.js';\nimport './autocomplete-list.js';\nimport './autocomplete-surface.js';\n\nimport {customElement} from 'lit/decorators.js';\nimport {ClassInfo} from 'lit/directives/class-map.js';\nimport {literal} from 'lit/static-html.js';\n\nimport {styles as filledForcedColorsStyles} from '../textfield/lib/filled-forced-colors-styles.css.js';\nimport {styles as filledStyles} from '../textfield/lib/filled-styles.css.js';\nimport {styles as sharedStyles} from '../textfield/lib/shared-styles.css.js';\n\nimport {Autocomplete} from './lib/autocomplete.js';\nimport {styles as autocompleteStyles} from './lib/filled-styles.css.js';\nimport {styles as sharedAutocompleteStyles} from './lib/shared-styles.css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-filled-autocomplete': MdFilledAutocomplete;\n }\n}\n\n/**\n * @soyCompatible\n * @final\n * @suppress {visibility}\n */\n@customElement('md-filled-autocomplete')\nexport class MdFilledAutocomplete extends Autocomplete {\n static override styles = [\n sharedStyles, filledStyles, filledForcedColorsStyles,\n sharedAutocompleteStyles, autocompleteStyles\n ];\n\n protected override readonly listTag = literal`md-autocomplete-list`;\n protected override readonly menuSurfaceTag = literal`md-autocomplete-surface`;\n protected override readonly fieldTag = literal`md-filled-field`;\n\n /** @soyTemplate */\n protected override getAutocompleteRenderClasses(): ClassInfo {\n return {\n ...super.getAutocompleteRenderClasses(),\n 'md3-autocomplete--filled': true,\n };\n }\n}\n"]}
@@ -6,15 +6,20 @@
6
6
  // stylelint-disable selector-class-pattern --
7
7
  // Selector '.md3-*' should only be used in this project.
8
8
 
9
+ // go/keep-sorted start
9
10
  @use 'sass:map';
11
+ // go/keep-sorted end
12
+ // go/keep-sorted start
13
+ @use '../../elevation/lib/elevation';
10
14
  @use '../../field/filled-field';
11
- @use '../../list/list';
12
- @use '../../list/list-item';
13
15
  @use '../../menusurface/menu-surface';
16
+ @use '../../sass/shape';
14
17
  @use '../../sass/theme';
18
+ @use '../../sass/typography';
15
19
  @use '../../textfield/filled-text-field';
16
20
  @use '../../tokens';
17
21
  @use './shared';
22
+ // go/keep-sorted end
18
23
 
19
24
  $custom-property-prefix: 'filled-autocomplete';
20
25
  $dark-theme: tokens.md-comp-filled-autocomplete-values(
@@ -25,20 +30,25 @@ $dark-theme: tokens.md-comp-filled-autocomplete-values(
25
30
  );
26
31
 
27
32
  @mixin theme($tokens) {
28
- $tokens: theme.validate-theme(
29
- tokens.md-comp-filled-autocomplete-values(),
30
- $tokens
33
+ $reference: shared.resolve-typography-tokens(
34
+ tokens.md-comp-filled-autocomplete-values()
31
35
  );
32
- $tokens: shared.resolve-tokens($tokens);
36
+ $tokens: shared.resolve-typography-tokens($tokens);
37
+ $tokens: theme.validate-theme($reference, $tokens);
38
+ $tokens: elevation.resolve-tokens($tokens, 'menu-container-elevation');
33
39
  $tokens: theme.create-theme-vars($tokens, $custom-property-prefix);
40
+ $tokens: shape.resolve-tokens($tokens, 'text-field-container-shape');
34
41
 
35
42
  @include theme.emit-theme-vars($tokens);
36
43
  }
37
44
 
38
45
  @mixin styles() {
39
- $tokens: tokens.md-comp-filled-autocomplete-values();
40
- $tokens: shared.resolve-tokens($tokens);
46
+ $tokens: shared.resolve-typography-tokens(
47
+ tokens.md-comp-filled-autocomplete-values()
48
+ );
49
+ $tokens: elevation.resolve-tokens($tokens, 'menu-container-elevation');
41
50
  $tokens: theme.create-theme-vars($tokens, $custom-property-prefix);
51
+ $tokens: shape.resolve-tokens($tokens, 'text-field-container-shape');
42
52
 
43
53
  :host {
44
54
  @each $token, $value in $tokens {
@@ -53,7 +63,6 @@ $dark-theme: tokens.md-comp-filled-autocomplete-values(
53
63
  active-indicator-height: var(--_text-field-active-indicator-height),
54
64
  caret-color: var(--_text-field-caret-color),
55
65
  container-color: var(--_text-field-container-color),
56
- container-height: var(--_text-field-container-height),
57
66
  disabled-active-indicator-color:
58
67
  var(--_text-field-disabled-active-indicator-color),
59
68
  disabled-active-indicator-height:
@@ -141,31 +150,16 @@ $dark-theme: tokens.md-comp-filled-autocomplete-values(
141
150
  var(--_text-field-hover-supporting-text-color),
142
151
  hover-trailing-icon-color: var(--_text-field-hover-trailing-icon-color),
143
152
  input-text-color: var(--_text-field-input-text-color),
144
- input-text-font: var(--_text-field-input-text-font),
145
- input-text-line-height: var(--_text-field-input-text-line-height),
146
- input-text-size: var(--_text-field-input-text-size),
147
- input-text-tracking: var(--_text-field-input-text-tracking),
148
153
  input-text-type: var(--_text-field-input-text-type),
149
- input-text-weight: var(--_text-field-input-text-weight),
150
154
  label-text-color: var(--_text-field-label-text-color),
151
- label-text-font: var(--_text-field-label-text-font),
152
- label-text-line-height: var(--_text-field-label-text-line-height),
155
+ label-text-type: var(--_label-text-type),
153
156
  label-text-populated-line-height:
154
157
  var(--_text-field-label-text-populated-line-height),
155
158
  label-text-populated-size: var(--_text-field-label-text-populated-size),
156
- label-text-size: var(--_text-field-label-text-size),
157
- label-text-tracking: var(--_text-field-label-text-tracking),
158
- label-text-type: var(--_text-field-label-text-type),
159
- label-text-weight: var(--_text-field-label-text-weight),
160
159
  leading-icon-color: var(--_text-field-leading-icon-color),
161
160
  leading-icon-size: var(--_text-field-leading-icon-size),
162
161
  supporting-text-color: var(--_text-field-supporting-text-color),
163
- supporting-text-font: var(--_text-field-supporting-text-font),
164
- supporting-text-line-height:
165
- var(--_text-field-supporting-text-line-height),
166
- supporting-text-size: var(--_text-field-supporting-text-size),
167
- supporting-text-tracking: var(--_text-field-supporting-text-tracking),
168
- supporting-text-weight: var(--_text-field-supporting-text-weight),
162
+ supporting-text-type: var(--_supporting-text-type),
169
163
  trailing-icon-color: var(--_text-field-trailing-icon-color),
170
164
  trailing-icon-size: var(--_text-field-trailing-icon-size),
171
165
  )
@@ -173,11 +167,8 @@ $dark-theme: tokens.md-comp-filled-autocomplete-values(
173
167
  // Textfield cannot resolve shape when created as vars.
174
168
  @include filled-field.theme(
175
169
  (
176
- container-shape-start-start:
177
- var(--_text-field-container-shape-start-start),
178
- container-shape-start-end: var(--_text-field-container-shape-start-end),
179
- container-shape-end-end: var(--_text-field-container-shape-end-end),
180
- container-shape-end-start: var(--_text-field-container-shape-end-start),
170
+ container-shape:
171
+ shape.corners-to-shape-token('--_text-field-container-shape'),
181
172
  )
182
173
  );
183
174
  }
@@ -190,39 +181,9 @@ $dark-theme: tokens.md-comp-filled-autocomplete-values(
190
181
  container-shadow-color: var(--_menu-container-shadow-color),
191
182
  )
192
183
  );
193
-
194
- @include list.theme(
195
- (
196
- container-color: var(--_menu-container-color),
197
- container-surface-tint-layer-color:
198
- var(--_menu-container-surface-tint-layer-color),
199
- container-elevation: var(--_menu-container-elevation),
200
- )
201
- );
202
-
203
- @include list-item.theme(
204
- (
205
- list-item-container-color: var(--_menu-container-color),
206
- list-item-one-line-container-height:
207
- var(--_menu-list-item-container-height),
208
- list-item-label-text-color: var(--_menu-list-item-label-text-color),
209
- list-item-label-text-font: var(--_menu-list-item-label-text-font),
210
- list-item-label-text-line-height:
211
- var(--_menu-list-item-label-text-line-height),
212
- list-item-label-text-size: var(--_menu-list-item-label-text-size),
213
- list-item-label-text-tracking:
214
- var(--_menu-list-item-label-text-tracking),
215
- list-item-label-text-weight: var(--_menu-list-item-label-text-weight),
216
- )
217
- );
218
184
  }
219
185
 
220
186
  .md3-autocomplete ::slotted([data-aria-selected='true']) {
221
- @include list-item.theme(
222
- (
223
- list-item-container-color:
224
- var(--_menu-list-item-selected-container-color),
225
- )
226
- );
187
+ // TODO(b/265209322): list item selected styles
227
188
  }
228
189
  }
@@ -6,15 +6,20 @@
6
6
  // stylelint-disable selector-class-pattern --
7
7
  // Selector '.md3-*' should only be used in this project.
8
8
 
9
+ // go/keep-sorted start
9
10
  @use 'sass:map';
11
+ // go/keep-sorted end
12
+ // go/keep-sorted start
13
+ @use '../../elevation/lib/elevation';
10
14
  @use '../../field/outlined-field';
11
- @use '../../list/list';
12
- @use '../../list/list-item';
13
15
  @use '../../menusurface/menu-surface';
16
+ @use '../../sass/shape';
14
17
  @use '../../sass/theme';
18
+ @use '../../sass/typography';
15
19
  @use '../../textfield/outlined-text-field';
16
20
  @use '../../tokens';
17
21
  @use './shared';
22
+ // go/keep-sorted end
18
23
 
19
24
  $custom-property-prefix: 'outlined-autocomplete';
20
25
  $dark-theme: tokens.md-comp-outlined-autocomplete-values(
@@ -25,19 +30,23 @@ $dark-theme: tokens.md-comp-outlined-autocomplete-values(
25
30
  );
26
31
 
27
32
  @mixin theme($tokens) {
28
- $tokens: theme.validate-theme(
29
- tokens.md-comp-outlined-autocomplete-values(),
30
- $theme
33
+ $reference: shared.resolve-typography-tokens(
34
+ tokens.md-comp-outlined-autocomplete-values()
31
35
  );
32
- $tokens: shared.resolve-tokens($tokens);
36
+
37
+ $tokens: shared.resolve-typography-tokens($tokens);
38
+ $tokens: theme.validate-theme($reference, $theme);
39
+ $tokens: elevation.resolve-tokens($tokens, 'menu-container-elevation');
33
40
  $tokens: theme.create-theme-vars($tokens, $custom-property-prefix);
41
+ $tokens: shape.resolve-tokens($tokens, 'text-field-container-shape');
34
42
 
35
43
  @include theme.emit-theme-vars($tokens);
36
44
  }
37
45
 
38
46
  @mixin styles() {
39
- $tokens: tokens.md-comp-outlined-autocomplete-values();
40
- $tokens: shared.resolve-tokens($tokens);
47
+ $tokens: shared.resolve-typography-tokens(
48
+ tokens.md-comp-outlined-autocomplete-values()
49
+ );
41
50
  // TODO(b/251183088): Clean up container-shape once token is correct.
42
51
  $tokens: map.merge(
43
52
  $tokens,
@@ -45,8 +54,9 @@ $dark-theme: tokens.md-comp-outlined-autocomplete-values(
45
54
  text-field-container-shape: 4px,
46
55
  )
47
56
  );
48
-
57
+ $tokens: elevation.resolve-tokens($tokens, 'menu-container-elevation');
49
58
  $tokens: theme.create-theme-vars($tokens, $custom-property-prefix);
59
+ $tokens: shape.resolve-tokens($tokens, 'text-field-container-shape');
50
60
 
51
61
  :host {
52
62
  @each $token, $value in $tokens {
@@ -58,7 +68,6 @@ $dark-theme: tokens.md-comp-outlined-autocomplete-values(
58
68
  @include outlined-text-field.theme(
59
69
  (
60
70
  caret-color: var(--_text-field-caret-color),
61
- container-height: var(--_text-field-container-height),
62
71
  disabled-input-text-color: var(--_text-field-disabled-input-text-color),
63
72
  disabled-input-text-opacity:
64
73
  var(--_text-field-disabled-input-text-opacity),
@@ -127,33 +136,18 @@ $dark-theme: tokens.md-comp-outlined-autocomplete-values(
127
136
  var(--_text-field-hover-supporting-text-color),
128
137
  hover-trailing-icon-color: var(--_text-field-hover-trailing-icon-color),
129
138
  input-text-color: var(--_text-field-input-text-color),
130
- input-text-font: var(--_text-field-input-text-font),
131
- input-text-line-height: var(--_text-field-input-text-line-height),
132
- input-text-size: var(--_text-field-input-text-size),
133
- input-text-tracking: var(--_text-field-input-text-tracking),
134
139
  input-text-type: var(--_text-field-input-text-type),
135
- input-text-weight: var(--_text-field-input-text-weight),
136
140
  label-text-color: var(--_text-field-label-text-color),
137
- label-text-font: var(--_text-field-label-text-font),
138
- label-text-line-height: var(--_text-field-label-text-line-height),
141
+ label-text-type: var(--_label-text-type),
139
142
  label-text-populated-line-height:
140
143
  var(--_text-field-label-text-populated-line-height),
141
144
  label-text-populated-size: var(--_text-field-label-text-populated-size),
142
- label-text-size: var(--_text-field-label-text-size),
143
- label-text-tracking: var(--_text-field-label-text-tracking),
144
- label-text-type: var(--_text-field-label-text-type),
145
- label-text-weight: var(--_text-field-label-text-weight),
146
145
  leading-icon-color: var(--_text-field-leading-icon-color),
147
146
  leading-icon-size: var(--_text-field-leading-icon-size),
148
147
  outline-color: var(--_text-field-outline-color),
149
148
  outline-width: var(--_text-field-outline-width),
150
149
  supporting-text-color: var(--_text-field-supporting-text-color),
151
- supporting-text-font: var(--_text-field-supporting-text-font),
152
- supporting-text-line-height:
153
- var(--_text-field-supporting-text-line-height),
154
- supporting-text-size: var(--_text-field-supporting-text-size),
155
- supporting-text-tracking: var(--_text-field-supporting-text-tracking),
156
- supporting-text-weight: var(--_text-field-supporting-text-weight),
150
+ supporting-text-type: var(--_supporting-text-type),
157
151
  trailing-icon-color: var(--_text-field-trailing-icon-color),
158
152
  trailing-icon-size: var(--_text-field-trailing-icon-size),
159
153
  )
@@ -162,11 +156,8 @@ $dark-theme: tokens.md-comp-outlined-autocomplete-values(
162
156
  // Textfield cannot resolve shape when created as vars.
163
157
  @include outlined-field.theme(
164
158
  (
165
- container-shape-start-start:
166
- var(--_text-field-container-shape-start-start),
167
- container-shape-start-end: var(--_text-field-container-shape-start-end),
168
- container-shape-end-end: var(--_text-field-container-shape-end-end),
169
- container-shape-end-start: var(--_text-field-container-shape-end-start),
159
+ container-shape:
160
+ shape.corners-to-shape-token('--_text-field-container-shape'),
170
161
  )
171
162
  );
172
163
  }
@@ -179,39 +170,9 @@ $dark-theme: tokens.md-comp-outlined-autocomplete-values(
179
170
  container-shadow-color: var(--_menu-container-shadow-color),
180
171
  )
181
172
  );
182
-
183
- @include list.theme(
184
- (
185
- container-color: var(--_menu-container-color),
186
- container-surface-tint-layer-color:
187
- var(--_menu-container-surface-tint-layer-color),
188
- container-elevation: var(--_menu-container-elevation),
189
- )
190
- );
191
-
192
- @include list-item.theme(
193
- (
194
- list-item-container-color: var(--_menu-container-color),
195
- list-item-one-line-container-height:
196
- var(--_menu-list-item-container-height),
197
- list-item-label-text-color: var(--_menu-list-item-label-text-color),
198
- list-item-label-text-font: var(--_menu-list-item-label-text-font),
199
- list-item-label-text-line-height:
200
- var(--_menu-list-item-label-text-line-height),
201
- list-item-label-text-size: var(--_menu-list-item-label-text-size),
202
- list-item-label-text-tracking:
203
- var(--_menu-list-item-label-text-tracking),
204
- list-item-label-text-weight: var(--_menu-list-item-label-text-weight),
205
- )
206
- );
207
173
  }
208
174
 
209
175
  .md3-autocomplete ::slotted([data-aria-selected='true']) {
210
- @include list-item.theme(
211
- (
212
- list-item-container-color:
213
- var(--_menu-list-item-selected-container-color),
214
- )
215
- );
176
+ // TODO(b/265209322): list item selected styles
216
177
  }
217
178
  }
@@ -6,10 +6,7 @@
6
6
  // stylelint-disable selector-class-pattern --
7
7
  // Selector '.md3-*' should only be used in this project.
8
8
 
9
- @use 'sass:map';
10
- @use '../../elevation/lib/elevation';
11
- @use '../../sass/resolvers';
12
- @use '../../sass/shape';
9
+ @use '../../sass/typography';
13
10
 
14
11
  @mixin styles() {
15
12
  .md3-autocomplete {
@@ -18,12 +15,11 @@
18
15
  }
19
16
  }
20
17
 
21
- @function resolve-tokens($tokens) {
22
- $tokens: elevation.resolve-tokens($tokens, 'menu-container-elevation');
23
- $tokens: shape.resolve-theme(
18
+ @function resolve-typography-tokens($tokens) {
19
+ @return typography.resolve-tokens(
24
20
  $tokens,
25
- map.get(resolvers.$material, shape),
26
- text-field-container-shape
21
+ 'input-text',
22
+ 'label-text',
23
+ 'supporting-text'
27
24
  );
28
- @return $tokens;
29
25
  }
@@ -15,10 +15,6 @@ export declare abstract class Autocomplete extends TextField {
15
15
  static shadowRootOptions: ShadowRootInit;
16
16
  readonly role = "combobox";
17
17
  readonly ariaAutoComplete = "list";
18
- /**
19
- * The ID on the list element, used for SSR.
20
- */
21
- listId: string;
22
18
  /**
23
19
  * The ID prefix for the item elements, used for SSR.
24
20
  */
@@ -31,7 +27,7 @@ export declare abstract class Autocomplete extends TextField {
31
27
  value: string;
32
28
  protected selectedItem: AutocompleteItem | null;
33
29
  /** @soyTemplate */
34
- render(): TemplateResult;
30
+ render(): TemplateResult<1>;
35
31
  /** @soyTemplate */
36
32
  protected getAutocompleteRenderClasses(): ClassInfo;
37
33
  protected updated(changedProperties: PropertyValues): void;
@@ -42,7 +38,7 @@ export declare abstract class Autocomplete extends TextField {
42
38
  open(): void;
43
39
  close(): void;
44
40
  protected handleClicked(event: PointerEvent): void;
45
- protected handleFocusout(): void;
41
+ protected handleAnyFocusout(): void;
46
42
  protected handleAction(event: CustomEvent<{
47
43
  item: AutocompleteItem;
48
44
  }>): void;
@@ -18,10 +18,6 @@ export class Autocomplete extends TextField {
18
18
  super(...arguments);
19
19
  this.role = 'combobox';
20
20
  this.ariaAutoComplete = 'list';
21
- /**
22
- * The ID on the list element, used for SSR.
23
- */
24
- this.listId = 'autocomplete-list';
25
21
  /**
26
22
  * The ID prefix for the item elements, used for SSR.
27
23
  */
@@ -33,9 +29,8 @@ export class Autocomplete extends TextField {
33
29
  render() {
34
30
  return html `<div class="md3-autocomplete ${classMap(this.getAutocompleteRenderClasses())}"
35
31
  @click=${this.handleClicked}
36
- @focusout=${this.handleFocusout}
32
+ @focusout=${this.handleAnyFocusout}
37
33
  @action=${this.handleAction}
38
- @input=${this.handleInput}
39
34
  @keydown=${this.handleKeydown}
40
35
  @keyup=${this.handleKeyup}>
41
36
  ${super.render()}
@@ -49,13 +44,15 @@ export class Autocomplete extends TextField {
49
44
  super.updated(changedProperties);
50
45
  if (changedProperties.has('selectedItem')) {
51
46
  this.updateSelectedItem();
52
- this.ariaActiveDescendant = this.selectedItem?.itemId ?? null;
47
+ // TODO(b/265209253): implement
48
+ // this.ariaActiveDescendant = this.selectedItem?.itemId ?? null;
53
49
  }
54
50
  if (changedProperties.has('value')) {
55
51
  this.dispatchEvent(new CustomEvent('autocomplete-value-changed', { detail: { value: this.value }, bubbles: true, composed: true }));
56
52
  }
57
53
  }
58
54
  firstUpdated(changedProperties) {
55
+ console.warn('<md-autocomplete> is not yet implemented.');
59
56
  super.firstUpdated(changedProperties);
60
57
  this.menuSurface.anchor = this;
61
58
  }
@@ -91,13 +88,13 @@ export class Autocomplete extends TextField {
91
88
  this.open();
92
89
  }
93
90
  }
94
- handleFocusout() {
91
+ handleAnyFocusout() {
95
92
  if (this.matches(':focus-within')) {
96
- this.getInput().focus();
93
+ super.focus();
97
94
  return;
98
95
  }
99
96
  this.close();
100
- this.focused = false;
97
+ this.blur();
101
98
  }
102
99
  handleAction(event) {
103
100
  const detail = event.detail;
@@ -206,10 +203,10 @@ export class Autocomplete extends TextField {
206
203
  if (!this.slottedItems)
207
204
  return;
208
205
  this.slottedItems.forEach((item, index) => {
209
- item.itemId = `${this.itemIdPrefix}-${index}`;
206
+ // TODO(b/265209253): implement
207
+ // item.itemId = `${this.itemIdPrefix}-${index}`;
210
208
  if (this.selectedItem && item === this.selectedItem && this.list) {
211
209
  item.ariaSelected = 'true';
212
- item.showFocusRing = true;
213
210
  // Scroll into view
214
211
  if (this.list.scrollTop + this.list.offsetHeight <
215
212
  item.offsetTop + item.offsetHeight) {
@@ -222,7 +219,6 @@ export class Autocomplete extends TextField {
222
219
  }
223
220
  else {
224
221
  item.ariaSelected = 'false';
225
- item.showFocusRing = false;
226
222
  }
227
223
  });
228
224
  }
@@ -242,10 +238,6 @@ export class Autocomplete extends TextField {
242
238
  }
243
239
  }
244
240
  Autocomplete.shadowRootOptions = { mode: 'open', delegatesFocus: true };
245
- __decorate([
246
- property({ type: String }),
247
- __metadata("design:type", Object)
248
- ], Autocomplete.prototype, "listId", void 0);
249
241
  __decorate([
250
242
  property({ type: String }),
251
243
  __metadata("design:type", Object)