@material/web 0.1.0-alpha.0 → 0.1.0-alpha.2

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 (1120) hide show
  1. package/actionelement/action-element.d.ts +1 -1
  2. package/actionelement/action-element.js +1 -1
  3. package/actionelement/action-element.js.map +1 -1
  4. package/autocomplete/_filled-autocomplete.scss +6 -0
  5. package/autocomplete/_outlined-autocomplete.scss +6 -0
  6. package/autocomplete/autocomplete-item.d.ts +19 -0
  7. package/autocomplete/autocomplete-item.js +22 -0
  8. package/autocomplete/autocomplete-item.js.map +1 -0
  9. package/autocomplete/autocomplete-list.d.ts +19 -0
  10. package/autocomplete/autocomplete-list.js +23 -0
  11. package/autocomplete/autocomplete-list.js.map +1 -0
  12. package/autocomplete/autocomplete-surface.d.ts +19 -0
  13. package/autocomplete/autocomplete-surface.js +23 -0
  14. package/autocomplete/autocomplete-surface.js.map +1 -0
  15. package/autocomplete/filled-autocomplete.d.ts +30 -0
  16. package/autocomplete/filled-autocomplete.js +53 -0
  17. package/autocomplete/filled-autocomplete.js.map +1 -0
  18. package/autocomplete/lib/_filled-autocomplete.scss +229 -0
  19. package/autocomplete/lib/_outlined-autocomplete.scss +217 -0
  20. package/autocomplete/lib/_shared.scss +34 -0
  21. package/autocomplete/lib/autocomplete.d.ts +58 -0
  22. package/autocomplete/lib/autocomplete.js +273 -0
  23. package/autocomplete/lib/autocomplete.js.map +1 -0
  24. package/autocomplete/lib/autocompleteitem/autocomplete-item.d.ts +11 -0
  25. package/autocomplete/lib/autocompleteitem/autocomplete-item.js +14 -0
  26. package/autocomplete/lib/autocompleteitem/autocomplete-item.js.map +1 -0
  27. package/autocomplete/lib/autocompleteitem/harness.d.ts +11 -0
  28. package/autocomplete/lib/autocompleteitem/harness.js +12 -0
  29. package/autocomplete/lib/autocompleteitem/harness.js.map +1 -0
  30. package/{field/lib/_field-theme.scss → autocomplete/lib/autocompletelist/_autocomplete-list.scss} +4 -6
  31. package/{elevation/lib/elevation-overlay-styles.css.d.ts → autocomplete/lib/autocompletelist/autocomplete-list-styles.css.d.ts} +0 -0
  32. package/autocomplete/lib/autocompletelist/autocomplete-list-styles.css.js +9 -0
  33. package/autocomplete/lib/autocompletelist/autocomplete-list-styles.css.js.map +1 -0
  34. package/{segmentedbutton/lib/segmented-button-styles.scss → autocomplete/lib/autocompletelist/autocomplete-list-styles.scss} +2 -2
  35. package/autocomplete/lib/autocompletelist/autocomplete-list.d.ts +14 -0
  36. package/autocomplete/lib/autocompletelist/autocomplete-list.js +21 -0
  37. package/autocomplete/lib/autocompletelist/autocomplete-list.js.map +1 -0
  38. package/autocomplete/lib/autocompletelist/harness.d.ts +11 -0
  39. package/autocomplete/lib/autocompletelist/harness.js +12 -0
  40. package/autocomplete/lib/autocompletelist/harness.js.map +1 -0
  41. package/autocomplete/lib/autocompletesurface/_autocomplete-surface.scss +13 -0
  42. package/{formfield/lib/formfield-styles.css.d.ts → autocomplete/lib/autocompletesurface/autocomplete-surface-styles.css.d.ts} +0 -0
  43. package/autocomplete/lib/autocompletesurface/autocomplete-surface-styles.css.js +9 -0
  44. package/autocomplete/lib/autocompletesurface/autocomplete-surface-styles.css.js.map +1 -0
  45. package/autocomplete/lib/autocompletesurface/autocomplete-surface-styles.scss +8 -0
  46. package/autocomplete/lib/autocompletesurface/autocomplete-surface.d.ts +13 -0
  47. package/autocomplete/lib/autocompletesurface/autocomplete-surface.js +21 -0
  48. package/autocomplete/lib/autocompletesurface/autocomplete-surface.js.map +1 -0
  49. package/{iconbutton/lib/icon-button-styles.css.d.ts → autocomplete/lib/filled-styles.css.d.ts} +0 -0
  50. package/autocomplete/lib/filled-styles.css.js +9 -0
  51. package/autocomplete/lib/filled-styles.css.js.map +1 -0
  52. package/autocomplete/lib/filled-styles.scss +8 -0
  53. package/{segmentedbutton/lib/segmented-button-styles.css.d.ts → autocomplete/lib/outlined-styles.css.d.ts} +0 -0
  54. package/autocomplete/lib/outlined-styles.css.js +9 -0
  55. package/autocomplete/lib/outlined-styles.css.js.map +1 -0
  56. package/autocomplete/lib/outlined-styles.scss +8 -0
  57. package/autocomplete/lib/shared-styles.css.d.ts +1 -0
  58. package/autocomplete/lib/shared-styles.css.js +9 -0
  59. package/autocomplete/lib/shared-styles.css.js.map +1 -0
  60. package/{iconbutton/lib/icon-button-styles.scss → autocomplete/lib/shared-styles.scss} +2 -2
  61. package/autocomplete/outlined-autocomplete.d.ts +30 -0
  62. package/autocomplete/outlined-autocomplete.js +53 -0
  63. package/autocomplete/outlined-autocomplete.js.map +1 -0
  64. package/badge/_badge.scss +6 -0
  65. package/badge/lib/_badge.scss +60 -21
  66. package/badge/lib/badge-styles.css.js +1 -1
  67. package/badge/lib/badge-styles.css.js.map +1 -1
  68. package/badge/lib/badge-styles.scss +1 -9
  69. package/button/_elevated-button.scss +1 -3
  70. package/button/_filled-button.scss +1 -3
  71. package/button/_outlined-button.scss +1 -3
  72. package/button/_text-button.scss +1 -3
  73. package/button/_tonal-button.scss +1 -3
  74. package/button/elevated-button.d.ts +18 -1
  75. package/button/elevated-button.js +20 -3
  76. package/button/elevated-button.js.map +1 -1
  77. package/button/elevated-link-button.d.ts +18 -1
  78. package/button/elevated-link-button.js +20 -3
  79. package/button/elevated-link-button.js.map +1 -1
  80. package/button/filled-button.d.ts +16 -1
  81. package/button/filled-button.js +18 -2
  82. package/button/filled-button.js.map +1 -1
  83. package/button/filled-link-button.d.ts +16 -1
  84. package/button/filled-link-button.js +18 -2
  85. package/button/filled-link-button.js.map +1 -1
  86. package/button/harness.d.ts +1 -1
  87. package/button/harness.js +1 -1
  88. package/button/harness.js.map +1 -1
  89. package/button/lib/_elevated-button.scss +51 -2
  90. package/button/lib/_elevation.scss +74 -0
  91. package/button/lib/_filled-button.scss +47 -2
  92. package/button/lib/_icon.scss +26 -18
  93. package/button/lib/_outlined-button.scss +70 -8
  94. package/button/lib/_shared.scss +180 -0
  95. package/button/lib/_text-button.scss +52 -2
  96. package/button/lib/_tonal-button.scss +50 -2
  97. package/button/lib/_touch-target.scss +7 -5
  98. package/button/lib/button.d.ts +45 -40
  99. package/button/lib/button.js +83 -88
  100. package/button/lib/button.js.map +1 -1
  101. package/button/lib/elevated-button.d.ts +2 -4
  102. package/button/lib/elevated-button.js +4 -5
  103. package/button/lib/elevated-button.js.map +1 -1
  104. package/button/lib/elevated-link-button.d.ts +2 -4
  105. package/button/lib/elevated-link-button.js +4 -5
  106. package/button/lib/elevated-link-button.js.map +1 -1
  107. package/button/lib/elevated-styles.css.js +1 -1
  108. package/button/lib/elevated-styles.css.js.map +1 -1
  109. package/button/lib/elevated-styles.scss +1 -11
  110. package/button/lib/filled-button.d.ts +4 -2
  111. package/button/lib/filled-button.js +7 -2
  112. package/button/lib/filled-button.js.map +1 -1
  113. package/button/lib/filled-link-button.d.ts +4 -2
  114. package/button/lib/filled-link-button.js +7 -2
  115. package/button/lib/filled-link-button.js.map +1 -1
  116. package/button/lib/filled-styles.css.js +1 -1
  117. package/button/lib/filled-styles.css.js.map +1 -1
  118. package/button/lib/filled-styles.scss +1 -9
  119. package/button/lib/link-button.d.ts +11 -3
  120. package/button/lib/link-button.js +29 -18
  121. package/button/lib/link-button.js.map +1 -1
  122. package/button/lib/outlined-button.d.ts +0 -3
  123. package/button/lib/outlined-button.js +1 -3
  124. package/button/lib/outlined-button.js.map +1 -1
  125. package/button/lib/outlined-link-button.d.ts +0 -3
  126. package/button/lib/outlined-link-button.js +1 -3
  127. package/button/lib/outlined-link-button.js.map +1 -1
  128. package/button/lib/outlined-styles.css.js +1 -1
  129. package/button/lib/outlined-styles.css.js.map +1 -1
  130. package/button/lib/outlined-styles.scss +1 -11
  131. package/button/lib/shared-elevation-styles.css.d.ts +1 -0
  132. package/button/lib/shared-elevation-styles.css.js +9 -0
  133. package/button/lib/shared-elevation-styles.css.js.map +1 -0
  134. package/{ripple/_index.scss → button/lib/shared-elevation-styles.scss} +3 -1
  135. package/button/lib/shared-styles.css.js +1 -1
  136. package/button/lib/shared-styles.css.js.map +1 -1
  137. package/button/lib/shared-styles.scss +4 -4
  138. package/button/lib/text-button.d.ts +0 -2
  139. package/button/lib/text-button.js +1 -2
  140. package/button/lib/text-button.js.map +1 -1
  141. package/button/lib/text-link-button.d.ts +0 -2
  142. package/button/lib/text-link-button.js +1 -2
  143. package/button/lib/text-link-button.js.map +1 -1
  144. package/button/lib/text-styles.css.js +1 -1
  145. package/button/lib/text-styles.css.js.map +1 -1
  146. package/button/lib/text-styles.scss +1 -9
  147. package/button/lib/tonal-button.d.ts +4 -2
  148. package/button/lib/tonal-button.js +7 -2
  149. package/button/lib/tonal-button.js.map +1 -1
  150. package/button/lib/tonal-link-button.d.ts +4 -2
  151. package/button/lib/tonal-link-button.js +7 -2
  152. package/button/lib/tonal-link-button.js.map +1 -1
  153. package/button/lib/tonal-styles.css.js +1 -1
  154. package/button/lib/tonal-styles.css.js.map +1 -1
  155. package/button/lib/tonal-styles.scss +1 -9
  156. package/button/outlined-button.d.ts +18 -1
  157. package/button/outlined-button.js +18 -1
  158. package/button/outlined-button.js.map +1 -1
  159. package/button/outlined-link-button.d.ts +18 -1
  160. package/button/outlined-link-button.js +18 -1
  161. package/button/outlined-link-button.js.map +1 -1
  162. package/button/text-button.d.ts +16 -1
  163. package/button/text-button.js +16 -1
  164. package/button/text-button.js.map +1 -1
  165. package/button/text-link-button.d.ts +16 -1
  166. package/button/text-link-button.js +16 -1
  167. package/button/text-link-button.js.map +1 -1
  168. package/button/tonal-button.d.ts +17 -1
  169. package/button/tonal-button.js +19 -2
  170. package/button/tonal-button.js.map +1 -1
  171. package/button/tonal-link-button.d.ts +17 -1
  172. package/button/tonal-link-button.js +19 -2
  173. package/button/tonal-link-button.js.map +1 -1
  174. package/checkbox/_checkbox.scss +6 -1
  175. package/checkbox/checkbox.d.ts +4 -1
  176. package/checkbox/checkbox.js +6 -2
  177. package/checkbox/checkbox.js.map +1 -1
  178. package/checkbox/harness.d.ts +1 -1
  179. package/checkbox/harness.js +1 -1
  180. package/checkbox/harness.js.map +1 -1
  181. package/checkbox/lib/_checkbox.scss +368 -334
  182. package/checkbox/lib/checkbox-styles.css.js +1 -1
  183. package/checkbox/lib/checkbox-styles.css.js.map +1 -1
  184. package/checkbox/lib/checkbox-styles.scss +1 -8
  185. package/checkbox/lib/checkbox.d.ts +30 -45
  186. package/checkbox/lib/checkbox.js +127 -177
  187. package/checkbox/lib/checkbox.js.map +1 -1
  188. package/checkbox/lib/forced-colors-styles.css.d.ts +1 -0
  189. package/checkbox/lib/forced-colors-styles.css.js +9 -0
  190. package/checkbox/lib/forced-colors-styles.css.js.map +1 -0
  191. package/checkbox/lib/forced-colors-styles.scss +47 -0
  192. package/{formfield/formfield.d.ts → chips/action/delete-action.d.ts} +3 -4
  193. package/chips/action/delete-action.js +20 -0
  194. package/chips/action/delete-action.js.map +1 -0
  195. package/chips/action/lib/action.d.ts +17 -4
  196. package/chips/action/lib/action.js +85 -6
  197. package/chips/action/lib/action.js.map +1 -1
  198. package/chips/action/lib/{trailing-action.d.ts → delete-action.d.ts} +3 -3
  199. package/chips/action/lib/{trailing-action.js → delete-action.js} +22 -19
  200. package/chips/action/lib/delete-action.js.map +1 -0
  201. package/chips/action/lib/events.d.ts +14 -0
  202. package/chips/action/lib/events.js +16 -0
  203. package/chips/action/lib/events.js.map +1 -0
  204. package/chips/action/lib/link-action.d.ts +2 -0
  205. package/chips/action/lib/link-action.js +13 -1
  206. package/chips/action/lib/link-action.js.map +1 -1
  207. package/chips/action/lib/primary-action.d.ts +0 -1
  208. package/chips/action/lib/primary-action.js +11 -6
  209. package/chips/action/lib/primary-action.js.map +1 -1
  210. package/chips/action/lib/selectable-action.js +11 -1
  211. package/chips/action/lib/selectable-action.js.map +1 -1
  212. package/chips/action/link-action.d.ts +18 -0
  213. package/chips/action/link-action.js +20 -0
  214. package/chips/action/link-action.js.map +1 -0
  215. package/chips/action/presentational-action.d.ts +18 -0
  216. package/chips/action/presentational-action.js +20 -0
  217. package/chips/action/presentational-action.js.map +1 -0
  218. package/chips/action/primary-action.d.ts +18 -0
  219. package/chips/action/primary-action.js +20 -0
  220. package/chips/action/primary-action.js.map +1 -0
  221. package/chips/action/selectable-action.d.ts +18 -0
  222. package/chips/action/selectable-action.js +20 -0
  223. package/chips/action/selectable-action.js.map +1 -0
  224. package/chips/chip/lib/_assist-chip-theme.scss +5 -11
  225. package/chips/chip/lib/_chip-theme.scss +191 -220
  226. package/chips/chip/lib/_chip.scss +80 -63
  227. package/chips/chip/lib/_filter-chip-theme.scss +5 -11
  228. package/chips/chip/lib/_input-chip-theme.scss +12 -18
  229. package/chips/chip/lib/_suggestion-chip-theme.scss +5 -11
  230. package/chips/chip/lib/action-chip.d.ts +18 -0
  231. package/chips/chip/lib/action-chip.js +39 -0
  232. package/chips/chip/lib/action-chip.js.map +1 -0
  233. package/{compat/animation → chips/chip/lib}/animationframe.d.ts +0 -0
  234. package/{compat/animation → chips/chip/lib}/animationframe.js +1 -0
  235. package/chips/chip/lib/animationframe.js.map +1 -0
  236. package/chips/chip/lib/chip.d.ts +42 -0
  237. package/chips/chip/lib/chip.js +133 -0
  238. package/chips/chip/lib/chip.js.map +1 -0
  239. package/chips/chip/lib/foundation.js +3 -4
  240. package/chips/chip/lib/foundation.js.map +1 -1
  241. package/chips/chip/lib/link-chip.d.ts +21 -0
  242. package/chips/chip/lib/link-chip.js +53 -0
  243. package/chips/chip/lib/link-chip.js.map +1 -0
  244. package/chips/chip/lib/presentational-chip.d.ts +18 -0
  245. package/chips/chip/lib/presentational-chip.js +39 -0
  246. package/chips/chip/lib/presentational-chip.js.map +1 -0
  247. package/chips/chip/lib/selectable-chip.d.ts +22 -0
  248. package/chips/chip/lib/selectable-chip.js +57 -0
  249. package/chips/chip/lib/selectable-chip.js.map +1 -0
  250. package/chips/chipset/lib/_chip-set-theme.scss +1 -1
  251. package/chips/chipset/lib/foundation.js +8 -10
  252. package/chips/chipset/lib/foundation.js.map +1 -1
  253. package/controller/events.d.ts +50 -0
  254. package/controller/events.js +86 -0
  255. package/controller/events.js.map +1 -1
  256. package/controller/form-associated.d.ts +14 -0
  257. package/controller/form-associated.js +12 -0
  258. package/controller/form-associated.js.map +1 -0
  259. package/controller/form-controller.d.ts +7 -0
  260. package/controller/form-controller.js +15 -1
  261. package/controller/form-controller.js.map +1 -1
  262. package/controller/is-rtl.d.ts +14 -0
  263. package/controller/is-rtl.js +18 -0
  264. package/controller/is-rtl.js.map +1 -0
  265. package/controller/shim-label-activation.d.ts +18 -0
  266. package/controller/shim-label-activation.js +72 -0
  267. package/controller/shim-label-activation.js.map +1 -0
  268. package/decorators/bound.d.ts +1 -1
  269. package/decorators/bound.js.map +1 -1
  270. package/elevation/_elevation.scss +6 -0
  271. package/elevation/elevation.d.ts +19 -0
  272. package/elevation/elevation.js +22 -0
  273. package/elevation/elevation.js.map +1 -0
  274. package/elevation/lib/_elevation.scss +218 -0
  275. package/elevation/lib/_md-comp-elevation.scss +23 -0
  276. package/elevation/lib/elevation-styles.css.d.ts +1 -0
  277. package/elevation/lib/elevation-styles.css.js +9 -0
  278. package/elevation/lib/elevation-styles.css.js.map +1 -0
  279. package/elevation/lib/elevation-styles.scss +8 -0
  280. package/elevation/lib/elevation.d.ts +20 -0
  281. package/elevation/lib/elevation.js +39 -0
  282. package/elevation/lib/elevation.js.map +1 -0
  283. package/{elevation → elevationold}/lib/_elevation-overlay-theme.scss +0 -0
  284. package/{elevation → elevationold}/lib/_elevation-overlay.scss +0 -0
  285. package/{elevation → elevationold}/lib/_elevation-theme.scss +3 -17
  286. package/{elevation → elevationold}/lib/_surface.scss +1 -4
  287. package/elevationold/lib/elevation-overlay-styles.css.d.ts +1 -0
  288. package/{elevation → elevationold}/lib/elevation-overlay-styles.css.js +0 -0
  289. package/{elevation → elevationold}/lib/elevation-overlay-styles.css.js.map +0 -0
  290. package/{elevation → elevationold}/lib/elevation-overlay-styles.scss +0 -0
  291. package/fab/_fab-extended.scss +1 -6
  292. package/fab/_fab.scss +1 -15
  293. package/fab/fab-extended.d.ts +1 -1
  294. package/fab/fab-extended.js +2 -2
  295. package/fab/fab-extended.js.map +1 -1
  296. package/fab/fab.d.ts +1 -1
  297. package/fab/fab.js +2 -2
  298. package/fab/fab.js.map +1 -1
  299. package/fab/harness.d.ts +1 -1
  300. package/fab/harness.js +1 -1
  301. package/fab/harness.js.map +1 -1
  302. package/fab/lib/_fab-extended.scss +55 -21
  303. package/fab/lib/_fab.scss +30 -6
  304. package/fab/lib/_shared.scss +209 -0
  305. package/fab/lib/fab-extended-styles.css.js +1 -1
  306. package/fab/lib/fab-extended-styles.css.js.map +1 -1
  307. package/fab/lib/fab-extended-styles.scss +1 -9
  308. package/fab/lib/fab-shared-styles.css.js +1 -1
  309. package/fab/lib/fab-shared-styles.css.js.map +1 -1
  310. package/fab/lib/fab-shared-styles.scss +2 -2
  311. package/fab/lib/fab-shared.d.ts +6 -5
  312. package/fab/lib/fab-shared.js +9 -8
  313. package/fab/lib/fab-shared.js.map +1 -1
  314. package/fab/lib/fab-styles.css.js +1 -1
  315. package/fab/lib/fab-styles.css.js.map +1 -1
  316. package/fab/lib/fab-styles.scss +1 -9
  317. package/field/_filled-field.scss +1 -3
  318. package/field/_outlined-field.scss +1 -3
  319. package/field/harness.d.ts +1 -1
  320. package/field/harness.js +1 -1
  321. package/field/harness.js.map +1 -1
  322. package/field/lib/_content.scss +51 -2
  323. package/field/lib/_filled-field.scss +167 -88
  324. package/field/lib/_label.scss +65 -2
  325. package/field/lib/_md-comp-filled-field.scss +72 -0
  326. package/field/lib/_md-comp-outlined-field.scss +74 -0
  327. package/field/lib/_outlined-field.scss +222 -118
  328. package/field/lib/{_field.scss → _shared.scss} +30 -1
  329. package/field/lib/_supporting-text.scss +64 -1
  330. package/field/lib/field.d.ts +1 -1
  331. package/field/lib/field.js +1 -1
  332. package/field/lib/field.js.map +1 -1
  333. package/field/lib/filled-field.d.ts +1 -0
  334. package/field/lib/filled-field.js +1 -0
  335. package/field/lib/filled-field.js.map +1 -1
  336. package/field/lib/filled-styles.css.js +1 -1
  337. package/field/lib/filled-styles.css.js.map +1 -1
  338. package/field/lib/filled-styles.scss +1 -9
  339. package/field/lib/outlined-styles.css.js +1 -1
  340. package/field/lib/outlined-styles.css.js.map +1 -1
  341. package/field/lib/outlined-styles.scss +1 -10
  342. package/field/lib/shared-styles.css.js +1 -1
  343. package/field/lib/shared-styles.css.js.map +1 -1
  344. package/field/lib/shared-styles.scss +2 -8
  345. package/focus/_focus-ring.scss +6 -0
  346. package/focus/lib/_focus-ring.scss +48 -21
  347. package/focus/lib/_md-comp-focus-ring.scss +27 -0
  348. package/focus/lib/focus-ring-styles.css.js +1 -1
  349. package/focus/lib/focus-ring-styles.css.js.map +1 -1
  350. package/focus/lib/focus-ring-styles.scss +1 -9
  351. package/focus/lib/focus-ring.d.ts +16 -3
  352. package/focus/lib/focus-ring.js +16 -3
  353. package/focus/lib/focus-ring.js.map +1 -1
  354. package/focus/strong-focus.d.ts +2 -0
  355. package/focus/strong-focus.js +6 -4
  356. package/focus/strong-focus.js.map +1 -1
  357. package/icon/_icon.scss +6 -0
  358. package/icon/lib/_icon.scss +54 -0
  359. package/icon/lib/_md-comp-icon.scss +19 -0
  360. package/icon/lib/icon-styles.css.js +1 -1
  361. package/icon/lib/icon-styles.css.js.map +1 -1
  362. package/icon/lib/icon-styles.scss +2 -19
  363. package/iconbutton/_filled-icon-button.scss +1 -2
  364. package/iconbutton/_filled-tonal-icon-button.scss +6 -0
  365. package/iconbutton/_outlined-icon-button.scss +1 -2
  366. package/iconbutton/_standard-icon-button.scss +1 -2
  367. package/iconbutton/filled-icon-button-toggle.d.ts +15 -3
  368. package/iconbutton/filled-icon-button-toggle.js +16 -4
  369. package/iconbutton/filled-icon-button-toggle.js.map +1 -1
  370. package/iconbutton/filled-icon-button.d.ts +15 -3
  371. package/iconbutton/filled-icon-button.js +16 -4
  372. package/iconbutton/filled-icon-button.js.map +1 -1
  373. package/iconbutton/filled-link-icon-button.d.ts +15 -3
  374. package/iconbutton/filled-link-icon-button.js +16 -4
  375. package/iconbutton/filled-link-icon-button.js.map +1 -1
  376. package/iconbutton/filled-tonal-icon-button-toggle.d.ts +15 -3
  377. package/iconbutton/filled-tonal-icon-button-toggle.js +16 -4
  378. package/iconbutton/filled-tonal-icon-button-toggle.js.map +1 -1
  379. package/iconbutton/filled-tonal-icon-button.d.ts +15 -3
  380. package/iconbutton/filled-tonal-icon-button.js +16 -4
  381. package/iconbutton/filled-tonal-icon-button.js.map +1 -1
  382. package/iconbutton/filled-tonal-link-icon-button.d.ts +15 -3
  383. package/iconbutton/filled-tonal-link-icon-button.js +16 -4
  384. package/iconbutton/filled-tonal-link-icon-button.js.map +1 -1
  385. package/iconbutton/harness.d.ts +1 -1
  386. package/iconbutton/harness.js +1 -1
  387. package/iconbutton/harness.js.map +1 -1
  388. package/iconbutton/lib/_filled-icon-button.scss +123 -2
  389. package/iconbutton/lib/_filled-tonal-icon-button.scss +123 -2
  390. package/iconbutton/lib/_outlined-icon-button.scss +133 -1
  391. package/iconbutton/lib/{_icon-button-theme.scss → _shared.scss} +76 -71
  392. package/iconbutton/lib/_standard-icon-button.scss +94 -2
  393. package/iconbutton/lib/filled-styles.css.js +1 -1
  394. package/iconbutton/lib/filled-styles.css.js.map +1 -1
  395. package/iconbutton/lib/filled-styles.scss +1 -11
  396. package/iconbutton/lib/filled-tonal-styles.css.js +1 -1
  397. package/iconbutton/lib/filled-tonal-styles.css.js.map +1 -1
  398. package/iconbutton/lib/filled-tonal-styles.scss +1 -11
  399. package/iconbutton/lib/icon-button-toggle.d.ts +42 -23
  400. package/iconbutton/lib/icon-button-toggle.js +64 -62
  401. package/iconbutton/lib/icon-button-toggle.js.map +1 -1
  402. package/iconbutton/lib/icon-button.d.ts +22 -30
  403. package/iconbutton/lib/icon-button.js +52 -71
  404. package/iconbutton/lib/icon-button.js.map +1 -1
  405. package/iconbutton/lib/link-icon-button.d.ts +11 -2
  406. package/iconbutton/lib/link-icon-button.js +23 -18
  407. package/iconbutton/lib/link-icon-button.js.map +1 -1
  408. package/iconbutton/lib/outlined-styles.css.js +1 -1
  409. package/iconbutton/lib/outlined-styles.css.js.map +1 -1
  410. package/iconbutton/lib/outlined-styles.scss +1 -11
  411. package/iconbutton/lib/shared-styles.css.d.ts +1 -0
  412. package/iconbutton/lib/shared-styles.css.js +9 -0
  413. package/iconbutton/lib/shared-styles.css.js.map +1 -0
  414. package/iconbutton/lib/shared-styles.scss +8 -0
  415. package/iconbutton/lib/standard-styles.css.js +1 -1
  416. package/iconbutton/lib/standard-styles.css.js.map +1 -1
  417. package/iconbutton/lib/standard-styles.scss +1 -11
  418. package/iconbutton/outlined-icon-button-toggle.d.ts +15 -3
  419. package/iconbutton/outlined-icon-button-toggle.js +16 -4
  420. package/iconbutton/outlined-icon-button-toggle.js.map +1 -1
  421. package/iconbutton/outlined-icon-button.d.ts +15 -3
  422. package/iconbutton/outlined-icon-button.js +16 -4
  423. package/iconbutton/outlined-icon-button.js.map +1 -1
  424. package/iconbutton/outlined-link-icon-button.d.ts +15 -3
  425. package/iconbutton/outlined-link-icon-button.js +16 -4
  426. package/iconbutton/outlined-link-icon-button.js.map +1 -1
  427. package/iconbutton/standard-icon-button-toggle.d.ts +15 -3
  428. package/iconbutton/standard-icon-button-toggle.js +16 -4
  429. package/iconbutton/standard-icon-button-toggle.js.map +1 -1
  430. package/iconbutton/standard-icon-button.d.ts +15 -3
  431. package/iconbutton/standard-icon-button.js +16 -4
  432. package/iconbutton/standard-icon-button.js.map +1 -1
  433. package/iconbutton/standard-link-icon-button.d.ts +15 -3
  434. package/iconbutton/standard-link-icon-button.js +16 -4
  435. package/iconbutton/standard-link-icon-button.js.map +1 -1
  436. package/list/_list-item.scss +1 -2
  437. package/list/_list.scss +1 -2
  438. package/list/harness.d.ts +1 -1
  439. package/list/harness.js +1 -1
  440. package/list/harness.js.map +1 -1
  441. package/list/lib/_list.scss +58 -21
  442. package/list/lib/_tokens.scss +2 -2
  443. package/list/lib/avatar/_list-item-avatar.scss +25 -1
  444. package/list/lib/avatar/list-item-avatar-styles.css.js +1 -1
  445. package/list/lib/avatar/list-item-avatar-styles.css.js.map +1 -1
  446. package/list/lib/avatar/list-item-avatar-styles.scss +1 -13
  447. package/list/lib/divider/_list-divider.scss +33 -1
  448. package/list/lib/divider/list-divider-styles.css.js +1 -1
  449. package/list/lib/divider/list-divider-styles.css.js.map +1 -1
  450. package/list/lib/divider/list-divider-styles.scss +1 -11
  451. package/list/lib/divider/list-divider.d.ts +1 -1
  452. package/list/lib/divider/list-divider.js +1 -1
  453. package/list/lib/divider/list-divider.js.map +1 -1
  454. package/list/lib/icon/_list-item-icon.scss +32 -2
  455. package/list/lib/icon/list-item-icon-styles.css.js +1 -1
  456. package/list/lib/icon/list-item-icon-styles.css.js.map +1 -1
  457. package/list/lib/icon/list-item-icon-styles.scss +1 -13
  458. package/list/lib/image/_list-item-image.scss +44 -1
  459. package/list/lib/image/list-item-image-styles.css.js +1 -1
  460. package/list/lib/image/list-item-image-styles.css.js.map +1 -1
  461. package/list/lib/image/list-item-image-styles.scss +1 -13
  462. package/list/lib/list-styles.css.js +1 -1
  463. package/list/lib/list-styles.css.js.map +1 -1
  464. package/list/lib/list-styles.scss +1 -9
  465. package/list/lib/list.d.ts +5 -1
  466. package/list/lib/list.js +13 -2
  467. package/list/lib/list.js.map +1 -1
  468. package/list/lib/listitem/_list-item.scss +156 -59
  469. package/list/lib/listitem/harness.d.ts +1 -1
  470. package/list/lib/listitem/harness.js +1 -1
  471. package/list/lib/listitem/harness.js.map +1 -1
  472. package/list/lib/listitem/list-item-styles.css.js +1 -1
  473. package/list/lib/listitem/list-item-styles.css.js.map +1 -1
  474. package/list/lib/listitem/list-item-styles.scss +1 -9
  475. package/list/lib/listitem/list-item.d.ts +5 -5
  476. package/list/lib/listitem/list-item.js +6 -6
  477. package/list/lib/listitem/list-item.js.map +1 -1
  478. package/list/lib/video/_list-item-video.scss +45 -2
  479. package/list/lib/video/list-item-video-styles.css.js +1 -1
  480. package/list/lib/video/list-item-video-styles.css.js.map +1 -1
  481. package/list/lib/video/list-item-video-styles.scss +1 -13
  482. package/localization/localize.d.ts +15 -0
  483. package/localization/localize.js +18 -0
  484. package/localization/localize.js.map +1 -0
  485. package/menu/harness.d.ts +1 -1
  486. package/menu/harness.js +1 -1
  487. package/menu/harness.js.map +1 -1
  488. package/menu/lib/_menu-button.scss +1 -1
  489. package/menu/lib/_menu.scss +105 -2
  490. package/menu/lib/menu-button-styles.scss +5 -6
  491. package/menu/lib/menu-styles.css.js +1 -1
  492. package/menu/lib/menu-styles.css.js.map +1 -1
  493. package/menu/lib/menu-styles.scss +5 -14
  494. package/menu/lib/menu.js +3 -3
  495. package/menu/lib/menu.js.map +1 -1
  496. package/menu/lib/menuitem/harness.d.ts +1 -1
  497. package/menu/lib/menuitem/harness.js +1 -1
  498. package/menu/lib/menuitem/harness.js.map +1 -1
  499. package/menu/lib/menuitem/menu-item.d.ts +2 -2
  500. package/menu/lib/menuitem/menu-item.js +1 -1
  501. package/menu/lib/menuitem/menu-item.js.map +1 -1
  502. package/menusurface/_menu-surface.scss +1 -2
  503. package/menusurface/lib/_md-comp-menu-surface.scss +35 -0
  504. package/menusurface/lib/_menu-surface.scss +30 -1
  505. package/menusurface/lib/menu-surface-styles.css.js +1 -1
  506. package/menusurface/lib/menu-surface-styles.css.js.map +1 -1
  507. package/menusurface/lib/menu-surface-styles.scss +1 -9
  508. package/menusurface/lib/menu-surface.d.ts +5 -2
  509. package/menusurface/lib/menu-surface.js +48 -89
  510. package/menusurface/lib/menu-surface.js.map +1 -1
  511. package/navigationbar/_navigation-bar.scss +1 -2
  512. package/navigationbar/harness.d.ts +1 -1
  513. package/navigationbar/harness.js +1 -1
  514. package/navigationbar/harness.js.map +1 -1
  515. package/navigationbar/lib/_navigation-bar.scss +44 -6
  516. package/navigationbar/lib/constants.d.ts +1 -1
  517. package/navigationbar/lib/constants.js.map +1 -1
  518. package/navigationbar/lib/navigation-bar-styles.css.js +1 -1
  519. package/navigationbar/lib/navigation-bar-styles.css.js.map +1 -1
  520. package/navigationbar/lib/navigation-bar-styles.scss +1 -13
  521. package/navigationbar/lib/navigation-bar.d.ts +4 -3
  522. package/navigationbar/lib/navigation-bar.js +35 -44
  523. package/navigationbar/lib/navigation-bar.js.map +1 -1
  524. package/navigationbar/lib/state.d.ts +1 -1
  525. package/navigationbar/lib/state.js.map +1 -1
  526. package/navigationdrawer/_navigation-drawer-modal.scss +1 -1
  527. package/navigationdrawer/_navigation-drawer.scss +1 -1
  528. package/navigationdrawer/lib/_navigation-drawer-modal.scss +54 -12
  529. package/navigationdrawer/lib/_navigation-drawer.scss +48 -9
  530. package/navigationdrawer/lib/_shared.scss +49 -0
  531. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js +1 -1
  532. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js.map +1 -1
  533. package/navigationdrawer/lib/navigation-drawer-modal-styles.scss +1 -5
  534. package/navigationdrawer/lib/navigation-drawer-modal.d.ts +7 -7
  535. package/navigationdrawer/lib/navigation-drawer-modal.js +13 -14
  536. package/navigationdrawer/lib/navigation-drawer-modal.js.map +1 -1
  537. package/navigationdrawer/lib/navigation-drawer-styles.css.js +1 -1
  538. package/navigationdrawer/lib/navigation-drawer-styles.css.js.map +1 -1
  539. package/navigationdrawer/lib/navigation-drawer-styles.scss +1 -11
  540. package/navigationdrawer/lib/navigation-drawer.d.ts +6 -6
  541. package/navigationdrawer/lib/navigation-drawer.js +13 -14
  542. package/navigationdrawer/lib/navigation-drawer.js.map +1 -1
  543. package/navigationdrawer/lib/shared-styles.css.d.ts +1 -0
  544. package/navigationdrawer/lib/shared-styles.css.js +9 -0
  545. package/navigationdrawer/lib/shared-styles.css.js.map +1 -0
  546. package/navigationdrawer/lib/shared-styles.scss +8 -0
  547. package/navigationdrawer/navigation-drawer-modal.js +2 -1
  548. package/navigationdrawer/navigation-drawer-modal.js.map +1 -1
  549. package/navigationdrawer/navigation-drawer.js +2 -1
  550. package/navigationdrawer/navigation-drawer.js.map +1 -1
  551. package/navigationtab/_navigation-tab.scss +1 -2
  552. package/navigationtab/harness.d.ts +1 -1
  553. package/navigationtab/harness.js +1 -1
  554. package/navigationtab/harness.js.map +1 -1
  555. package/navigationtab/lib/_navigation-tab.scss +224 -77
  556. package/navigationtab/lib/navigation-tab-styles.css.js +1 -1
  557. package/navigationtab/lib/navigation-tab-styles.css.js.map +1 -1
  558. package/navigationtab/lib/navigation-tab-styles.scss +1 -14
  559. package/navigationtab/lib/navigation-tab.d.ts +4 -4
  560. package/navigationtab/lib/navigation-tab.js +6 -6
  561. package/navigationtab/lib/navigation-tab.js.map +1 -1
  562. package/package.json +76 -12
  563. package/radio/harness.d.ts +1 -1
  564. package/radio/harness.js +1 -1
  565. package/radio/harness.js.map +1 -1
  566. package/radio/lib/_radio-theme.scss +9 -8
  567. package/radio/lib/_radio.scss +5 -5
  568. package/radio/lib/radio-styles.css.js +1 -1
  569. package/radio/lib/radio-styles.css.js.map +1 -1
  570. package/radio/lib/radio.d.ts +34 -38
  571. package/radio/lib/radio.js +88 -118
  572. package/radio/lib/radio.js.map +1 -1
  573. package/ripple/_ripple.scss +6 -0
  574. package/ripple/directive.d.ts +63 -0
  575. package/ripple/directive.js +266 -0
  576. package/ripple/directive.js.map +1 -0
  577. package/ripple/lib/_md-comp-ripple.scss +29 -0
  578. package/ripple/lib/_ripple.scss +97 -51
  579. package/ripple/lib/ripple-styles.css.js +1 -1
  580. package/ripple/lib/ripple-styles.css.js.map +1 -1
  581. package/ripple/lib/ripple-styles.scss +1 -9
  582. package/ripple/lib/ripple.d.ts +1 -1
  583. package/ripple/lib/ripple.js +5 -2
  584. package/ripple/lib/ripple.js.map +1 -1
  585. package/sass/_assert.scss +5 -0
  586. package/sass/_color-scheme.scss +88 -0
  587. package/sass/_color.scss +30 -50
  588. package/sass/_feature-flags.scss +3 -3
  589. package/segmentedbutton/lib/_outlined-segmented-button.scss +26 -2
  590. package/segmentedbutton/lib/_shared.scss +388 -0
  591. package/segmentedbutton/lib/outlined-styles.css.js +1 -1
  592. package/segmentedbutton/lib/outlined-styles.css.js.map +1 -1
  593. package/segmentedbutton/lib/outlined-styles.scss +1 -10
  594. package/segmentedbutton/lib/segmented-button.d.ts +3 -3
  595. package/segmentedbutton/lib/segmented-button.js +5 -5
  596. package/segmentedbutton/lib/segmented-button.js.map +1 -1
  597. package/segmentedbutton/lib/shared-styles.css.d.ts +1 -0
  598. package/segmentedbutton/lib/shared-styles.css.js +9 -0
  599. package/segmentedbutton/lib/shared-styles.css.js.map +1 -0
  600. package/segmentedbutton/lib/shared-styles.scss +8 -0
  601. package/segmentedbutton/outlined-segmented-button.js +1 -1
  602. package/segmentedbutton/outlined-segmented-button.js.map +1 -1
  603. package/segmentedbuttonset/lib/_outlined-segmented-button-set.scss +22 -4
  604. package/segmentedbuttonset/lib/_shared.scss +46 -0
  605. package/segmentedbuttonset/lib/outlined-styles.css.js +1 -1
  606. package/segmentedbuttonset/lib/outlined-styles.css.js.map +1 -1
  607. package/segmentedbuttonset/lib/outlined-styles.scss +1 -10
  608. package/segmentedbuttonset/lib/segmented-button-set.js +1 -1
  609. package/segmentedbuttonset/lib/segmented-button-set.js.map +1 -1
  610. package/segmentedbuttonset/lib/shared-styles.css.js +1 -1
  611. package/segmentedbuttonset/lib/shared-styles.css.js.map +1 -1
  612. package/segmentedbuttonset/lib/shared-styles.scss +2 -2
  613. package/switch/_switch.scss +1 -2
  614. package/switch/harness.d.ts +1 -1
  615. package/switch/harness.js +1 -1
  616. package/switch/harness.js.map +1 -1
  617. package/switch/lib/_handle.scss +122 -0
  618. package/switch/lib/_icon.scss +33 -0
  619. package/switch/lib/_switch.scss +211 -119
  620. package/switch/lib/_track.scss +57 -0
  621. package/switch/lib/switch-styles.css.js +1 -1
  622. package/switch/lib/switch-styles.css.js.map +1 -1
  623. package/switch/lib/switch-styles.scss +1 -4
  624. package/switch/lib/switch.d.ts +51 -31
  625. package/switch/lib/switch.js +106 -70
  626. package/switch/lib/switch.js.map +1 -1
  627. package/switch/switch.d.ts +6 -1
  628. package/switch/switch.js +6 -1
  629. package/switch/switch.js.map +1 -1
  630. package/textfield/_filled-text-field.scss +1 -4
  631. package/textfield/_outlined-text-field.scss +1 -4
  632. package/textfield/filled-text-field.d.ts +2 -1
  633. package/textfield/filled-text-field.js +1 -1
  634. package/textfield/filled-text-field.js.map +1 -1
  635. package/textfield/harness.d.ts +1 -1
  636. package/textfield/harness.js +1 -1
  637. package/textfield/harness.js.map +1 -1
  638. package/textfield/lib/_filled-text-field.scss +147 -0
  639. package/textfield/lib/_icon.scss +71 -1
  640. package/textfield/lib/_input.scss +65 -21
  641. package/textfield/lib/_outlined-text-field.scss +137 -0
  642. package/textfield/lib/_shared.scss +59 -0
  643. package/textfield/lib/filled-forced-colors-styles.css.js +1 -1
  644. package/textfield/lib/filled-forced-colors-styles.css.js.map +1 -1
  645. package/textfield/lib/filled-forced-colors-styles.scss +17 -7
  646. package/textfield/lib/filled-styles.css.js +1 -1
  647. package/textfield/lib/filled-styles.css.js.map +1 -1
  648. package/textfield/lib/filled-styles.scss +2 -9
  649. package/textfield/lib/outlined-forced-colors-styles.css.js +1 -1
  650. package/textfield/lib/outlined-forced-colors-styles.css.js.map +1 -1
  651. package/textfield/lib/outlined-forced-colors-styles.scss +17 -7
  652. package/textfield/lib/outlined-styles.css.js +1 -1
  653. package/textfield/lib/outlined-styles.css.js.map +1 -1
  654. package/textfield/lib/outlined-styles.scss +2 -9
  655. package/textfield/lib/shared-styles.css.js +1 -1
  656. package/textfield/lib/shared-styles.css.js.map +1 -1
  657. package/textfield/lib/shared-styles.scss +2 -6
  658. package/textfield/lib/text-field.d.ts +88 -9
  659. package/textfield/lib/text-field.js +228 -70
  660. package/textfield/lib/text-field.js.map +1 -1
  661. package/textfield/outlined-text-field.d.ts +2 -1
  662. package/textfield/outlined-text-field.js +1 -1
  663. package/textfield/outlined-text-field.js.map +1 -1
  664. package/tokens/_index.scss +1 -1
  665. package/tokens/{latest → v0_144}/_index.scss +15 -94
  666. package/tokens/v0_144/_md-comp-assist-chip.scss +109 -0
  667. package/tokens/v0_144/_md-comp-badge.scss +58 -0
  668. package/tokens/v0_144/_md-comp-banner.scss +116 -0
  669. package/tokens/v0_144/_md-comp-bottom-app-bar.scss +36 -0
  670. package/tokens/v0_144/_md-comp-carousel-item.scss +65 -0
  671. package/tokens/v0_144/_md-comp-checkbox.scss +147 -0
  672. package/tokens/v0_144/_md-comp-circular-progress-indicator.scss +39 -0
  673. package/tokens/v0_144/_md-comp-data-table.scss +100 -0
  674. package/tokens/v0_144/_md-comp-date-input-modal.scss +89 -0
  675. package/tokens/v0_144/_md-comp-date-picker-docked.scss +246 -0
  676. package/tokens/v0_144/_md-comp-date-picker-modal.scss +305 -0
  677. package/tokens/v0_144/_md-comp-dialog.scss +146 -0
  678. package/tokens/{latest → v0_144}/_md-comp-divider.scss +5 -5
  679. package/tokens/v0_144/_md-comp-elevated-button.scss +91 -0
  680. package/tokens/v0_144/_md-comp-elevated-card.scss +59 -0
  681. package/tokens/v0_144/_md-comp-extended-fab-branded.scss +86 -0
  682. package/tokens/v0_144/_md-comp-extended-fab-primary.scss +94 -0
  683. package/tokens/v0_144/_md-comp-extended-fab-secondary.scss +95 -0
  684. package/tokens/v0_144/_md-comp-extended-fab-surface.scss +90 -0
  685. package/tokens/v0_144/_md-comp-extended-fab-tertiary.scss +97 -0
  686. package/tokens/v0_144/_md-comp-fab-branded-large.scss +61 -0
  687. package/tokens/v0_144/_md-comp-fab-branded.scss +60 -0
  688. package/tokens/v0_144/_md-comp-fab-primary-large.scss +65 -0
  689. package/tokens/v0_144/_md-comp-fab-primary-small.scss +65 -0
  690. package/tokens/v0_144/_md-comp-fab-primary.scss +65 -0
  691. package/tokens/v0_144/_md-comp-fab-secondary-large.scss +66 -0
  692. package/tokens/v0_144/_md-comp-fab-secondary-small.scss +66 -0
  693. package/tokens/v0_144/_md-comp-fab-secondary.scss +66 -0
  694. package/tokens/v0_144/_md-comp-fab-surface-large.scss +64 -0
  695. package/tokens/v0_144/_md-comp-fab-surface-small.scss +64 -0
  696. package/tokens/v0_144/_md-comp-fab-surface.scss +64 -0
  697. package/tokens/v0_144/_md-comp-fab-tertiary-large.scss +66 -0
  698. package/tokens/v0_144/_md-comp-fab-tertiary-small.scss +66 -0
  699. package/tokens/v0_144/_md-comp-fab-tertiary.scss +66 -0
  700. package/tokens/v0_144/_md-comp-filled-autocomplete.scss +268 -0
  701. package/tokens/v0_144/_md-comp-filled-button.scss +95 -0
  702. package/tokens/v0_144/_md-comp-filled-card.scss +60 -0
  703. package/tokens/v0_144/_md-comp-filled-icon-button.scss +79 -0
  704. package/tokens/v0_144/_md-comp-filled-menu-button.scss +98 -0
  705. package/tokens/v0_144/_md-comp-filled-select.scss +276 -0
  706. package/tokens/v0_144/_md-comp-filled-text-field.scss +190 -0
  707. package/tokens/v0_144/_md-comp-filled-tonal-button.scss +99 -0
  708. package/tokens/v0_144/_md-comp-filled-tonal-icon-button.scss +86 -0
  709. package/tokens/v0_144/_md-comp-filter-chip.scss +236 -0
  710. package/tokens/v0_144/_md-comp-full-screen-dialog.scss +161 -0
  711. package/tokens/v0_144/_md-comp-icon-button.scss +70 -0
  712. package/tokens/v0_144/_md-comp-input-chip.scss +234 -0
  713. package/tokens/v0_144/_md-comp-linear-progress-indicator.scss +41 -0
  714. package/tokens/v0_144/_md-comp-list.scss +257 -0
  715. package/tokens/v0_144/_md-comp-menu.scss +123 -0
  716. package/tokens/v0_144/_md-comp-navigation-bar.scss +121 -0
  717. package/tokens/v0_144/_md-comp-navigation-drawer.scss +168 -0
  718. package/tokens/v0_144/_md-comp-navigation-rail.scss +168 -0
  719. package/tokens/v0_144/_md-comp-outlined-autocomplete.scss +258 -0
  720. package/tokens/v0_144/_md-comp-outlined-button.scss +88 -0
  721. package/tokens/v0_144/_md-comp-outlined-card.scss +65 -0
  722. package/tokens/v0_144/_md-comp-outlined-icon-button.scss +81 -0
  723. package/tokens/v0_144/_md-comp-outlined-menu-button.scss +94 -0
  724. package/tokens/v0_144/_md-comp-outlined-segmented-button.scss +112 -0
  725. package/tokens/v0_144/_md-comp-outlined-select.scss +266 -0
  726. package/tokens/v0_144/_md-comp-outlined-text-field.scss +172 -0
  727. package/tokens/v0_144/_md-comp-plain-tooltip.scss +55 -0
  728. package/tokens/v0_144/_md-comp-primary-navigation-tab.scss +123 -0
  729. package/tokens/v0_144/_md-comp-radio-button.scss +68 -0
  730. package/tokens/v0_144/_md-comp-rich-tooltip.scss +121 -0
  731. package/tokens/{v0_93/_md-comp-divider.scss → v0_144/_md-comp-scrim.scss} +5 -5
  732. package/tokens/v0_144/_md-comp-search-bar.scss +99 -0
  733. package/tokens/v0_144/_md-comp-search-view.scss +93 -0
  734. package/tokens/v0_144/_md-comp-secondary-navigation-tab.scss +86 -0
  735. package/tokens/v0_144/_md-comp-sheet-bottom.scss +45 -0
  736. package/tokens/v0_144/_md-comp-sheet-floating.scss +34 -0
  737. package/tokens/v0_144/_md-comp-sheet-side.scss +89 -0
  738. package/tokens/v0_144/_md-comp-slider.scss +116 -0
  739. package/tokens/v0_144/_md-comp-snackbar.scss +103 -0
  740. package/tokens/v0_144/_md-comp-standard-menu-button.scss +98 -0
  741. package/tokens/v0_144/_md-comp-suggestion-chip.scss +125 -0
  742. package/tokens/v0_144/_md-comp-switch.scss +145 -0
  743. package/tokens/v0_144/_md-comp-text-button.scss +81 -0
  744. package/tokens/v0_144/_md-comp-time-input.scss +218 -0
  745. package/tokens/v0_144/_md-comp-time-picker.scss +267 -0
  746. package/tokens/v0_144/_md-comp-top-app-bar-large.scss +63 -0
  747. package/tokens/v0_144/_md-comp-top-app-bar-medium.scss +63 -0
  748. package/tokens/v0_144/_md-comp-top-app-bar-small-centered.scss +67 -0
  749. package/tokens/v0_144/_md-comp-top-app-bar-small.scss +65 -0
  750. package/tokens/v0_144/_md-ref-palette.scss +107 -0
  751. package/tokens/v0_144/_md-ref-typeface.scss +21 -0
  752. package/tokens/v0_144/_md-sys-color.scss +706 -0
  753. package/tokens/v0_144/_md-sys-elevation.scss +30 -0
  754. package/tokens/v0_144/_md-sys-motion.scss +53 -0
  755. package/tokens/v0_144/_md-sys-shape.scss +30 -0
  756. package/tokens/v0_144/_md-sys-state.scss +19 -0
  757. package/tokens/v0_144/_md-sys-typescale.scss +285 -0
  758. package/badge/lib/_badge-theme.scss +0 -118
  759. package/button/lib/_button-theme.scss +0 -204
  760. package/button/lib/_button.scss +0 -88
  761. package/button/lib/_elevated-button-theme.scss +0 -53
  762. package/button/lib/_elevation-theme.scss +0 -94
  763. package/button/lib/_filled-button-theme.scss +0 -53
  764. package/button/lib/_icon-theme.scss +0 -67
  765. package/button/lib/_outlined-button-theme.scss +0 -112
  766. package/button/lib/_text-button-theme.scss +0 -57
  767. package/button/lib/_tonal-button-theme.scss +0 -53
  768. package/checkbox/lib/_checkbox-theme.scss +0 -532
  769. package/chips/action/lib/adapter.d.ts +0 -21
  770. package/chips/action/lib/adapter.js +0 -7
  771. package/chips/action/lib/adapter.js.map +0 -1
  772. package/chips/action/lib/foundation.d.ts +0 -31
  773. package/chips/action/lib/foundation.js +0 -151
  774. package/chips/action/lib/foundation.js.map +0 -1
  775. package/chips/action/lib/primary-foundation.d.ts +0 -16
  776. package/chips/action/lib/primary-foundation.js +0 -24
  777. package/chips/action/lib/primary-foundation.js.map +0 -1
  778. package/chips/action/lib/trailing-action.js.map +0 -1
  779. package/chips/action/lib/trailing-foundation.d.ts +0 -16
  780. package/chips/action/lib/trailing-foundation.js +0 -23
  781. package/chips/action/lib/trailing-foundation.js.map +0 -1
  782. package/compat/animation/animationframe.js.map +0 -1
  783. package/compat/base/aria-property.d.ts +0 -39
  784. package/compat/base/aria-property.js +0 -93
  785. package/compat/base/aria-property.js.map +0 -1
  786. package/compat/base/foundation.d.ts +0 -44
  787. package/compat/base/foundation.js +0 -45
  788. package/compat/base/foundation.js.map +0 -1
  789. package/compat/base/observer.d.ts +0 -16
  790. package/compat/base/observer.js +0 -43
  791. package/compat/base/observer.js.map +0 -1
  792. package/compat/base/utils.d.ts +0 -7
  793. package/compat/base/utils.js +0 -39
  794. package/compat/base/utils.js.map +0 -1
  795. package/compat/density/_density.scss +0 -106
  796. package/compat/dom/keyboard.d.ts +0 -33
  797. package/compat/dom/keyboard.js +0 -109
  798. package/compat/dom/keyboard.js.map +0 -1
  799. package/compat/theme/_color-palette.scss +0 -277
  800. package/compat/theme/_css.scss +0 -92
  801. package/compat/theme/_custom-properties.scss +0 -309
  802. package/compat/theme/_gss.scss +0 -45
  803. package/compat/theme/_keys.scss +0 -507
  804. package/compat/theme/_map-ext.scss +0 -68
  805. package/compat/theme/_replace.scss +0 -108
  806. package/compat/theme/_selector-ext.scss +0 -522
  807. package/compat/theme/_shadow-dom.scss +0 -474
  808. package/compat/theme/_state.scss +0 -752
  809. package/compat/theme/_theme-color.scss +0 -344
  810. package/compat/theme/_theme.scss +0 -334
  811. package/compat/touchtarget/_touch-target.scss +0 -56
  812. package/fab/lib/_fab-extended-theme.scss +0 -108
  813. package/fab/lib/_fab-shared-theme.scss +0 -202
  814. package/fab/lib/_fab-shared.scss +0 -114
  815. package/fab/lib/_fab-theme.scss +0 -107
  816. package/field/lib/_content-theme.scss +0 -80
  817. package/field/lib/_filled-field-theme.scss +0 -382
  818. package/field/lib/_label-theme.scss +0 -123
  819. package/field/lib/_outlined-field-theme.scss +0 -311
  820. package/field/lib/_supporting-text-theme.scss +0 -107
  821. package/focus/lib/_focus-ring-theme.scss +0 -89
  822. package/formfield/formfield.js +0 -22
  823. package/formfield/formfield.js.map +0 -1
  824. package/formfield/lib/_formfield-theme.scss +0 -41
  825. package/formfield/lib/_formfield.scss +0 -40
  826. package/formfield/lib/formfield-styles.css.js +0 -9
  827. package/formfield/lib/formfield-styles.css.js.map +0 -1
  828. package/formfield/lib/formfield-styles.scss +0 -16
  829. package/formfield/lib/formfield.d.ts +0 -22
  830. package/formfield/lib/formfield.js +0 -73
  831. package/formfield/lib/formfield.js.map +0 -1
  832. package/iconbutton/lib/_filled-icon-button-theme.scss +0 -138
  833. package/iconbutton/lib/_filled-tonal-icon-button-theme.scss +0 -144
  834. package/iconbutton/lib/_icon-button.scss +0 -91
  835. package/iconbutton/lib/_outlined-icon-button-theme.scss +0 -187
  836. package/iconbutton/lib/_standard-icon-button-theme.scss +0 -107
  837. package/iconbutton/lib/icon-button-styles.css.js +0 -9
  838. package/iconbutton/lib/icon-button-styles.css.js.map +0 -1
  839. package/list/lib/_list-theme.scss +0 -51
  840. package/list/lib/avatar/_list-item-avatar-theme.scss +0 -30
  841. package/list/lib/divider/_list-divider-theme.scss +0 -30
  842. package/list/lib/icon/_list-item-icon-theme.scss +0 -32
  843. package/list/lib/image/_list-item-image-theme.scss +0 -36
  844. package/list/lib/listitem/_list-item-theme.scss +0 -337
  845. package/list/lib/video/_list-item-video-theme.scss +0 -36
  846. package/menu/lib/_menu-theme.scss +0 -118
  847. package/menusurface/lib/_menu-surface-theme.scss +0 -58
  848. package/navigationbar/lib/_navigation-bar-theme.scss +0 -87
  849. package/navigationdrawer/lib/_navigation-drawer-modal-theme.scss +0 -138
  850. package/navigationdrawer/lib/_navigation-drawer-theme.scss +0 -113
  851. package/navigationtab/lib/_navigation-tab-theme.scss +0 -343
  852. package/ripple/_ripple-theme.scss +0 -6
  853. package/ripple/lib/_ripple-theme.scss +0 -98
  854. package/segmentedbutton/lib/_outlined-segmented-button-theme.scss +0 -167
  855. package/segmentedbutton/lib/_segmented-button-theme.scss +0 -316
  856. package/segmentedbutton/lib/_segmented-button.scss +0 -159
  857. package/segmentedbutton/lib/segmented-button-styles.css.js +0 -9
  858. package/segmentedbutton/lib/segmented-button-styles.css.js.map +0 -1
  859. package/segmentedbuttonset/lib/_outlined-segmented-button-set-theme.scss +0 -53
  860. package/segmentedbuttonset/lib/_segmented-button-set-theme.scss +0 -41
  861. package/segmentedbuttonset/lib/_segmented-button-set.scss +0 -21
  862. package/switch/lib/_switch-handle-theme.scss +0 -137
  863. package/switch/lib/_switch-icon-theme.scss +0 -52
  864. package/switch/lib/_switch-theme.scss +0 -232
  865. package/switch/lib/_switch-track-theme.scss +0 -117
  866. package/textfield/lib/_filled-text-field-theme.scss +0 -203
  867. package/textfield/lib/_icon-theme.scss +0 -100
  868. package/textfield/lib/_input-theme.scss +0 -91
  869. package/textfield/lib/_outlined-text-field-theme.scss +0 -186
  870. package/textfield/lib/_text-field.scss +0 -28
  871. package/tokens/latest/_md-comp-assist-chip.scss +0 -98
  872. package/tokens/latest/_md-comp-badge.scss +0 -51
  873. package/tokens/latest/_md-comp-banner.scss +0 -99
  874. package/tokens/latest/_md-comp-bottom-app-bar.scss +0 -36
  875. package/tokens/latest/_md-comp-checkbox.scss +0 -119
  876. package/tokens/latest/_md-comp-circular-progress-indicator.scss +0 -37
  877. package/tokens/latest/_md-comp-date-input-modal.scss +0 -76
  878. package/tokens/latest/_md-comp-date-picker-docked.scss +0 -210
  879. package/tokens/latest/_md-comp-date-picker-modal.scss +0 -254
  880. package/tokens/latest/_md-comp-dialog.scss +0 -115
  881. package/tokens/latest/_md-comp-elevated-button.scss +0 -83
  882. package/tokens/latest/_md-comp-elevated-card.scss +0 -59
  883. package/tokens/latest/_md-comp-extended-fab-branded.scss +0 -77
  884. package/tokens/latest/_md-comp-extended-fab-primary.scss +0 -80
  885. package/tokens/latest/_md-comp-extended-fab-secondary.scss +0 -83
  886. package/tokens/latest/_md-comp-extended-fab-surface.scss +0 -81
  887. package/tokens/latest/_md-comp-extended-fab-tertiary.scss +0 -80
  888. package/tokens/latest/_md-comp-fab-branded-large.scss +0 -59
  889. package/tokens/latest/_md-comp-fab-branded.scss +0 -58
  890. package/tokens/latest/_md-comp-fab-primary-large.scss +0 -61
  891. package/tokens/latest/_md-comp-fab-primary-small.scss +0 -61
  892. package/tokens/latest/_md-comp-fab-primary.scss +0 -61
  893. package/tokens/latest/_md-comp-fab-secondary-large.scss +0 -63
  894. package/tokens/latest/_md-comp-fab-secondary-small.scss +0 -62
  895. package/tokens/latest/_md-comp-fab-secondary.scss +0 -63
  896. package/tokens/latest/_md-comp-fab-surface-large.scss +0 -62
  897. package/tokens/latest/_md-comp-fab-surface-small.scss +0 -62
  898. package/tokens/latest/_md-comp-fab-surface.scss +0 -62
  899. package/tokens/latest/_md-comp-fab-tertiary-large.scss +0 -61
  900. package/tokens/latest/_md-comp-fab-tertiary-small.scss +0 -61
  901. package/tokens/latest/_md-comp-fab-tertiary.scss +0 -61
  902. package/tokens/latest/_md-comp-filled-autocomplete.scss +0 -235
  903. package/tokens/latest/_md-comp-filled-button.scss +0 -87
  904. package/tokens/latest/_md-comp-filled-card.scss +0 -59
  905. package/tokens/latest/_md-comp-filled-icon-button.scss +0 -72
  906. package/tokens/latest/_md-comp-filled-menu-button.scss +0 -89
  907. package/tokens/latest/_md-comp-filled-select.scss +0 -243
  908. package/tokens/latest/_md-comp-filled-text-field.scss +0 -146
  909. package/tokens/latest/_md-comp-filled-tonal-button.scss +0 -88
  910. package/tokens/latest/_md-comp-filled-tonal-icon-button.scss +0 -83
  911. package/tokens/latest/_md-comp-filter-chip.scss +0 -172
  912. package/tokens/latest/_md-comp-full-screen-dialog.scss +0 -131
  913. package/tokens/latest/_md-comp-icon-button.scss +0 -66
  914. package/tokens/latest/_md-comp-input-chip.scss +0 -112
  915. package/tokens/latest/_md-comp-linear-progress-indicator.scss +0 -39
  916. package/tokens/latest/_md-comp-list.scss +0 -205
  917. package/tokens/latest/_md-comp-menu.scss +0 -113
  918. package/tokens/latest/_md-comp-navigation-bar.scss +0 -97
  919. package/tokens/latest/_md-comp-navigation-drawer.scss +0 -137
  920. package/tokens/latest/_md-comp-navigation-rail.scss +0 -132
  921. package/tokens/latest/_md-comp-outlined-autocomplete.scss +0 -223
  922. package/tokens/latest/_md-comp-outlined-button.scss +0 -80
  923. package/tokens/latest/_md-comp-outlined-card.scss +0 -65
  924. package/tokens/latest/_md-comp-outlined-icon-button.scss +0 -68
  925. package/tokens/latest/_md-comp-outlined-menu-button.scss +0 -83
  926. package/tokens/latest/_md-comp-outlined-segmented-button.scss +0 -97
  927. package/tokens/latest/_md-comp-outlined-select.scss +0 -231
  928. package/tokens/latest/_md-comp-outlined-text-field.scss +0 -140
  929. package/tokens/latest/_md-comp-plain-tooltip.scss +0 -46
  930. package/tokens/latest/_md-comp-primary-navigation-tab.scss +0 -110
  931. package/tokens/latest/_md-comp-radio-button.scss +0 -58
  932. package/tokens/latest/_md-comp-rich-tooltip.scss +0 -98
  933. package/tokens/latest/_md-comp-search-bar.scss +0 -84
  934. package/tokens/latest/_md-comp-search-view.scss +0 -79
  935. package/tokens/latest/_md-comp-secondary-navigation-tab.scss +0 -78
  936. package/tokens/latest/_md-comp-sheet-bottom.scss +0 -41
  937. package/tokens/latest/_md-comp-sheet-floating.scss +0 -34
  938. package/tokens/latest/_md-comp-sheet-side.scss +0 -75
  939. package/tokens/latest/_md-comp-slider.scss +0 -105
  940. package/tokens/latest/_md-comp-snackbar.scss +0 -91
  941. package/tokens/latest/_md-comp-standard-menu-button.scss +0 -82
  942. package/tokens/latest/_md-comp-suggestion-chip.scss +0 -90
  943. package/tokens/latest/_md-comp-switch.scss +0 -126
  944. package/tokens/latest/_md-comp-text-button.scss +0 -75
  945. package/tokens/latest/_md-comp-time-input.scss +0 -184
  946. package/tokens/latest/_md-comp-time-picker.scss +0 -235
  947. package/tokens/latest/_md-comp-top-app-bar-large.scss +0 -57
  948. package/tokens/latest/_md-comp-top-app-bar-medium.scss +0 -56
  949. package/tokens/latest/_md-comp-top-app-bar-small-centered.scss +0 -60
  950. package/tokens/latest/_md-comp-top-app-bar-small.scss +0 -58
  951. package/tokens/latest/_md-ref-palette.scss +0 -95
  952. package/tokens/latest/_md-ref-typeface.scss +0 -20
  953. package/tokens/latest/_md-sys-color.scss +0 -1006
  954. package/tokens/latest/_md-sys-elevation.scss +0 -30
  955. package/tokens/latest/_md-sys-motion.scss +0 -51
  956. package/tokens/latest/_md-sys-shape.scss +0 -26
  957. package/tokens/latest/_md-sys-state.scss +0 -19
  958. package/tokens/latest/_md-sys-typescale.scss +0 -204
  959. package/tokens/v0_75/_index.scss +0 -154
  960. package/tokens/v0_75/_md-comp-assist-chip.scss +0 -98
  961. package/tokens/v0_75/_md-comp-badge.scss +0 -51
  962. package/tokens/v0_75/_md-comp-banner.scss +0 -99
  963. package/tokens/v0_75/_md-comp-bottom-app-bar.scss +0 -36
  964. package/tokens/v0_75/_md-comp-checkbox.scss +0 -59
  965. package/tokens/v0_75/_md-comp-circular-progress-indicator.scss +0 -37
  966. package/tokens/v0_75/_md-comp-dialog.scss +0 -102
  967. package/tokens/v0_75/_md-comp-elevated-button.scss +0 -83
  968. package/tokens/v0_75/_md-comp-elevated-card.scss +0 -56
  969. package/tokens/v0_75/_md-comp-extended-fab-branded.scss +0 -77
  970. package/tokens/v0_75/_md-comp-extended-fab-primary.scss +0 -80
  971. package/tokens/v0_75/_md-comp-extended-fab-secondary.scss +0 -83
  972. package/tokens/v0_75/_md-comp-extended-fab-surface.scss +0 -81
  973. package/tokens/v0_75/_md-comp-extended-fab-tertiary.scss +0 -80
  974. package/tokens/v0_75/_md-comp-fab-branded-large.scss +0 -59
  975. package/tokens/v0_75/_md-comp-fab-branded.scss +0 -58
  976. package/tokens/v0_75/_md-comp-fab-primary-large.scss +0 -61
  977. package/tokens/v0_75/_md-comp-fab-primary-small.scss +0 -61
  978. package/tokens/v0_75/_md-comp-fab-primary.scss +0 -61
  979. package/tokens/v0_75/_md-comp-fab-secondary-large.scss +0 -63
  980. package/tokens/v0_75/_md-comp-fab-secondary-small.scss +0 -62
  981. package/tokens/v0_75/_md-comp-fab-secondary.scss +0 -63
  982. package/tokens/v0_75/_md-comp-fab-surface-large.scss +0 -62
  983. package/tokens/v0_75/_md-comp-fab-surface-small.scss +0 -62
  984. package/tokens/v0_75/_md-comp-fab-surface.scss +0 -62
  985. package/tokens/v0_75/_md-comp-fab-tertiary-large.scss +0 -61
  986. package/tokens/v0_75/_md-comp-fab-tertiary-small.scss +0 -61
  987. package/tokens/v0_75/_md-comp-fab-tertiary.scss +0 -61
  988. package/tokens/v0_75/_md-comp-filled-button-tonal.scss +0 -84
  989. package/tokens/v0_75/_md-comp-filled-button.scss +0 -87
  990. package/tokens/v0_75/_md-comp-filled-card.scss +0 -56
  991. package/tokens/v0_75/_md-comp-filled-icon-button.scss +0 -72
  992. package/tokens/v0_75/_md-comp-filled-text-field.scss +0 -142
  993. package/tokens/v0_75/_md-comp-filled-tonal-button.scss +0 -88
  994. package/tokens/v0_75/_md-comp-filled-tonal-icon-button.scss +0 -83
  995. package/tokens/v0_75/_md-comp-filter-chip.scss +0 -172
  996. package/tokens/v0_75/_md-comp-full-screen-dialog.scss +0 -131
  997. package/tokens/v0_75/_md-comp-icon-button.scss +0 -79
  998. package/tokens/v0_75/_md-comp-input-chip.scss +0 -112
  999. package/tokens/v0_75/_md-comp-linear-progress-indicator.scss +0 -39
  1000. package/tokens/v0_75/_md-comp-list.scss +0 -205
  1001. package/tokens/v0_75/_md-comp-menu.scss +0 -113
  1002. package/tokens/v0_75/_md-comp-navigation-bar.scss +0 -131
  1003. package/tokens/v0_75/_md-comp-navigation-drawer.scss +0 -137
  1004. package/tokens/v0_75/_md-comp-navigation-rail.scss +0 -136
  1005. package/tokens/v0_75/_md-comp-outlined-button.scss +0 -80
  1006. package/tokens/v0_75/_md-comp-outlined-card.scss +0 -62
  1007. package/tokens/v0_75/_md-comp-outlined-icon-button.scss +0 -68
  1008. package/tokens/v0_75/_md-comp-outlined-segmented-button.scss +0 -96
  1009. package/tokens/v0_75/_md-comp-outlined-text-field.scss +0 -136
  1010. package/tokens/v0_75/_md-comp-primary-navigation-tab.scss +0 -116
  1011. package/tokens/v0_75/_md-comp-radio-button.scss +0 -58
  1012. package/tokens/v0_75/_md-comp-rich-tooltip.scss +0 -98
  1013. package/tokens/v0_75/_md-comp-secondary-navigation-tab.scss +0 -75
  1014. package/tokens/v0_75/_md-comp-slider.scss +0 -129
  1015. package/tokens/v0_75/_md-comp-snackbar.scss +0 -77
  1016. package/tokens/v0_75/_md-comp-suggestion-chip.scss +0 -90
  1017. package/tokens/v0_75/_md-comp-switch.scss +0 -92
  1018. package/tokens/v0_75/_md-comp-text-button.scss +0 -75
  1019. package/tokens/v0_75/_md-comp-top-app-bar-compact-centered.scss +0 -53
  1020. package/tokens/v0_75/_md-comp-top-app-bar-compact.scss +0 -43
  1021. package/tokens/v0_75/_md-comp-top-app-bar-large.scss +0 -57
  1022. package/tokens/v0_75/_md-comp-top-app-bar-medium.scss +0 -56
  1023. package/tokens/v0_75/_md-comp-top-app-bar-small-centered.scss +0 -60
  1024. package/tokens/v0_75/_md-comp-top-app-bar-small.scss +0 -58
  1025. package/tokens/v0_75/_md-ref-palette.scss +0 -186
  1026. package/tokens/v0_75/_md-ref-typeface.scss +0 -25
  1027. package/tokens/v0_75/_md-sys-color.scss +0 -86
  1028. package/tokens/v0_75/_md-sys-elevation.scss +0 -30
  1029. package/tokens/v0_75/_md-sys-motion.scss +0 -61
  1030. package/tokens/v0_75/_md-sys-shape.scss +0 -29
  1031. package/tokens/v0_75/_md-sys-state.scss +0 -19
  1032. package/tokens/v0_75/_md-sys-typescale.scss +0 -252
  1033. package/tokens/v0_93/_index.scss +0 -184
  1034. package/tokens/v0_93/_md-comp-assist-chip.scss +0 -98
  1035. package/tokens/v0_93/_md-comp-badge.scss +0 -51
  1036. package/tokens/v0_93/_md-comp-banner.scss +0 -99
  1037. package/tokens/v0_93/_md-comp-bottom-app-bar.scss +0 -36
  1038. package/tokens/v0_93/_md-comp-checkbox.scss +0 -119
  1039. package/tokens/v0_93/_md-comp-circular-progress-indicator.scss +0 -37
  1040. package/tokens/v0_93/_md-comp-date-input-modal.scss +0 -76
  1041. package/tokens/v0_93/_md-comp-date-picker-docked.scss +0 -210
  1042. package/tokens/v0_93/_md-comp-date-picker-modal.scss +0 -254
  1043. package/tokens/v0_93/_md-comp-dialog.scss +0 -101
  1044. package/tokens/v0_93/_md-comp-elevated-button.scss +0 -83
  1045. package/tokens/v0_93/_md-comp-elevated-card.scss +0 -59
  1046. package/tokens/v0_93/_md-comp-extended-fab-branded.scss +0 -77
  1047. package/tokens/v0_93/_md-comp-extended-fab-primary.scss +0 -80
  1048. package/tokens/v0_93/_md-comp-extended-fab-secondary.scss +0 -83
  1049. package/tokens/v0_93/_md-comp-extended-fab-surface.scss +0 -81
  1050. package/tokens/v0_93/_md-comp-extended-fab-tertiary.scss +0 -80
  1051. package/tokens/v0_93/_md-comp-fab-branded-large.scss +0 -59
  1052. package/tokens/v0_93/_md-comp-fab-branded.scss +0 -58
  1053. package/tokens/v0_93/_md-comp-fab-primary-large.scss +0 -61
  1054. package/tokens/v0_93/_md-comp-fab-primary-small.scss +0 -61
  1055. package/tokens/v0_93/_md-comp-fab-primary.scss +0 -61
  1056. package/tokens/v0_93/_md-comp-fab-secondary-large.scss +0 -63
  1057. package/tokens/v0_93/_md-comp-fab-secondary-small.scss +0 -62
  1058. package/tokens/v0_93/_md-comp-fab-secondary.scss +0 -63
  1059. package/tokens/v0_93/_md-comp-fab-surface-large.scss +0 -62
  1060. package/tokens/v0_93/_md-comp-fab-surface-small.scss +0 -62
  1061. package/tokens/v0_93/_md-comp-fab-surface.scss +0 -62
  1062. package/tokens/v0_93/_md-comp-fab-tertiary-large.scss +0 -61
  1063. package/tokens/v0_93/_md-comp-fab-tertiary-small.scss +0 -61
  1064. package/tokens/v0_93/_md-comp-fab-tertiary.scss +0 -61
  1065. package/tokens/v0_93/_md-comp-filled-autocomplete.scss +0 -235
  1066. package/tokens/v0_93/_md-comp-filled-button.scss +0 -87
  1067. package/tokens/v0_93/_md-comp-filled-card.scss +0 -59
  1068. package/tokens/v0_93/_md-comp-filled-icon-button.scss +0 -72
  1069. package/tokens/v0_93/_md-comp-filled-menu-button.scss +0 -89
  1070. package/tokens/v0_93/_md-comp-filled-select.scss +0 -243
  1071. package/tokens/v0_93/_md-comp-filled-text-field.scss +0 -146
  1072. package/tokens/v0_93/_md-comp-filled-tonal-button.scss +0 -88
  1073. package/tokens/v0_93/_md-comp-filled-tonal-icon-button.scss +0 -83
  1074. package/tokens/v0_93/_md-comp-filter-chip.scss +0 -172
  1075. package/tokens/v0_93/_md-comp-full-screen-dialog.scss +0 -131
  1076. package/tokens/v0_93/_md-comp-icon-button.scss +0 -66
  1077. package/tokens/v0_93/_md-comp-input-chip.scss +0 -112
  1078. package/tokens/v0_93/_md-comp-linear-progress-indicator.scss +0 -39
  1079. package/tokens/v0_93/_md-comp-list.scss +0 -205
  1080. package/tokens/v0_93/_md-comp-menu.scss +0 -113
  1081. package/tokens/v0_93/_md-comp-navigation-bar.scss +0 -97
  1082. package/tokens/v0_93/_md-comp-navigation-drawer.scss +0 -137
  1083. package/tokens/v0_93/_md-comp-navigation-rail.scss +0 -132
  1084. package/tokens/v0_93/_md-comp-outlined-autocomplete.scss +0 -223
  1085. package/tokens/v0_93/_md-comp-outlined-button.scss +0 -80
  1086. package/tokens/v0_93/_md-comp-outlined-card.scss +0 -65
  1087. package/tokens/v0_93/_md-comp-outlined-icon-button.scss +0 -68
  1088. package/tokens/v0_93/_md-comp-outlined-menu-button.scss +0 -83
  1089. package/tokens/v0_93/_md-comp-outlined-segmented-button.scss +0 -97
  1090. package/tokens/v0_93/_md-comp-outlined-select.scss +0 -231
  1091. package/tokens/v0_93/_md-comp-outlined-text-field.scss +0 -140
  1092. package/tokens/v0_93/_md-comp-plain-tooltip.scss +0 -46
  1093. package/tokens/v0_93/_md-comp-primary-navigation-tab.scss +0 -110
  1094. package/tokens/v0_93/_md-comp-radio-button.scss +0 -58
  1095. package/tokens/v0_93/_md-comp-rich-tooltip.scss +0 -98
  1096. package/tokens/v0_93/_md-comp-search-bar.scss +0 -84
  1097. package/tokens/v0_93/_md-comp-search-view.scss +0 -79
  1098. package/tokens/v0_93/_md-comp-secondary-navigation-tab.scss +0 -78
  1099. package/tokens/v0_93/_md-comp-sheet-bottom.scss +0 -41
  1100. package/tokens/v0_93/_md-comp-sheet-side.scss +0 -75
  1101. package/tokens/v0_93/_md-comp-slider.scss +0 -105
  1102. package/tokens/v0_93/_md-comp-snackbar.scss +0 -91
  1103. package/tokens/v0_93/_md-comp-standard-menu-button.scss +0 -82
  1104. package/tokens/v0_93/_md-comp-suggestion-chip.scss +0 -90
  1105. package/tokens/v0_93/_md-comp-switch.scss +0 -126
  1106. package/tokens/v0_93/_md-comp-text-button.scss +0 -75
  1107. package/tokens/v0_93/_md-comp-time-input.scss +0 -184
  1108. package/tokens/v0_93/_md-comp-time-picker.scss +0 -235
  1109. package/tokens/v0_93/_md-comp-top-app-bar-large.scss +0 -57
  1110. package/tokens/v0_93/_md-comp-top-app-bar-medium.scss +0 -56
  1111. package/tokens/v0_93/_md-comp-top-app-bar-small-centered.scss +0 -60
  1112. package/tokens/v0_93/_md-comp-top-app-bar-small.scss +0 -58
  1113. package/tokens/v0_93/_md-ref-palette.scss +0 -95
  1114. package/tokens/v0_93/_md-ref-typeface.scss +0 -20
  1115. package/tokens/v0_93/_md-sys-color.scss +0 -1006
  1116. package/tokens/v0_93/_md-sys-elevation.scss +0 -30
  1117. package/tokens/v0_93/_md-sys-motion.scss +0 -51
  1118. package/tokens/v0_93/_md-sys-shape.scss +0 -26
  1119. package/tokens/v0_93/_md-sys-state.scss +0 -19
  1120. package/tokens/v0_93/_md-sys-typescale.scss +0 -204
@@ -0,0 +1,217 @@
1
+ //
2
+ // Copyright 2022 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ // stylelint-disable selector-class-pattern --
7
+ // Selector '.md3-*' should only be used in this project.
8
+
9
+ @use 'sass:map';
10
+ @use '../../field/outlined-field';
11
+ @use '../../list/list';
12
+ @use '../../list/list-item';
13
+ @use '../../menusurface/menu-surface';
14
+ @use '../../sass/theme';
15
+ @use '../../textfield/outlined-text-field';
16
+ @use '../../tokens';
17
+ @use './shared';
18
+
19
+ $custom-property-prefix: 'outlined-autocomplete';
20
+ $dark-theme: tokens.md-comp-outlined-autocomplete-values(
21
+ (
22
+ md-sys-color: tokens.md-sys-color-values-dark(),
23
+ ),
24
+ $exclude-hardcoded-values: true
25
+ );
26
+
27
+ @mixin theme($tokens) {
28
+ $tokens: theme.validate-theme(
29
+ tokens.md-comp-outlined-autocomplete-values(),
30
+ $theme
31
+ );
32
+ $tokens: shared.resolve-tokens($tokens);
33
+ $tokens: theme.create-theme-vars($tokens, $custom-property-prefix);
34
+
35
+ @include theme.emit-theme-vars($tokens);
36
+ }
37
+
38
+ @mixin styles() {
39
+ $tokens: tokens.md-comp-outlined-autocomplete-values();
40
+ $tokens: shared.resolve-tokens($tokens);
41
+ // TODO(b/251183088): Clean up container-shape once token is correct.
42
+ $tokens: map.merge(
43
+ $tokens,
44
+ (
45
+ text-field-container-shape: 4px,
46
+ )
47
+ );
48
+
49
+ $tokens: theme.create-theme-vars($tokens, $custom-property-prefix);
50
+
51
+ :host {
52
+ @each $token, $value in $tokens {
53
+ --_#{$token}: #{$value};
54
+ }
55
+ }
56
+
57
+ .md3-text-field {
58
+ @include outlined-text-field.theme(
59
+ (
60
+ caret-color: var(--_text-field-caret-color),
61
+ container-height: var(--_text-field-container-height),
62
+ disabled-input-text-color: var(--_text-field-disabled-input-text-color),
63
+ disabled-input-text-opacity:
64
+ var(--_text-field-disabled-input-text-opacity),
65
+ disabled-label-text-color: var(--_text-field-disabled-label-text-color),
66
+ disabled-label-text-opacity:
67
+ var(--_text-field-disabled-label-text-opacity),
68
+ disabled-leading-icon-color:
69
+ var(--_text-field-disabled-leading-icon-color),
70
+ disabled-leading-icon-opacity:
71
+ var(--_text-field-disabled-leading-icon-opacity),
72
+ disabled-outline-color: var(--_text-field-disabled-outline-color),
73
+ disabled-outline-opacity: var(--_text-field-disabled-outline-opacity),
74
+ disabled-outline-width: var(--_text-field-disabled-outline-width),
75
+ disabled-supporting-text-color:
76
+ var(--_text-field-disabled-supporting-text-color),
77
+ disabled-supporting-text-opacity:
78
+ var(--_text-field-disabled-supporting-text-opacity),
79
+ disabled-trailing-icon-color:
80
+ var(--_text-field-disabled-trailing-icon-color),
81
+ disabled-trailing-icon-opacity:
82
+ var(--_text-field-disabled-trailing-icon-opacity),
83
+ error-focus-caret-color: var(--_text-field-error-focus-caret-color),
84
+ error-focus-input-text-color:
85
+ var(--_text-field-error-focus-input-text-color),
86
+ error-focus-label-text-color:
87
+ var(--_text-field-error-focus-label-text-color),
88
+ error-focus-leading-icon-color:
89
+ var(--_text-field-error-focus-leading-icon-color),
90
+ error-focus-outline-color: var(--_text-field-error-focus-outline-color),
91
+ error-focus-supporting-text-color:
92
+ var(--_text-field-error-focus-supporting-text-color),
93
+ error-focus-trailing-icon-color:
94
+ var(--_text-field-error-focus-trailing-icon-color),
95
+ error-hover-input-text-color:
96
+ var(--_text-field-error-hover-input-text-color),
97
+ error-hover-label-text-color:
98
+ var(--_text-field-error-hover-label-text-color),
99
+ error-hover-leading-icon-color:
100
+ var(--_text-field-error-hover-leading-icon-color),
101
+ error-hover-outline-color: var(--_text-field-error-hover-outline-color),
102
+ error-hover-supporting-text-color:
103
+ var(--_text-field-error-hover-supporting-text-color),
104
+ error-hover-trailing-icon-color:
105
+ var(--_text-field-error-hover-trailing-icon-color),
106
+ error-input-text-color: var(--_text-field-error-input-text-color),
107
+ error-label-text-color: var(--_text-field-error-label-text-color),
108
+ error-leading-icon-color: var(--_text-field-error-leading-icon-color),
109
+ error-outline-color: var(--_text-field-error-outline-color),
110
+ error-supporting-text-color:
111
+ var(--_text-field-error-supporting-text-color),
112
+ error-trailing-icon-color: var(--_text-field-error-trailing-icon-color),
113
+ focus-input-text-color: var(--_text-field-focus-input-text-color),
114
+ focus-label-text-color: var(--_text-field-focus-label-text-color),
115
+ focus-leading-icon-color: var(--_text-field-focus-leading-icon-color),
116
+ focus-outline-color: var(--_text-field-focus-outline-color),
117
+ focus-outline-width: var(--_text-field-focus-outline-width),
118
+ focus-supporting-text-color:
119
+ var(--_text-field-focus-supporting-text-color),
120
+ focus-trailing-icon-color: var(--_text-field-focus-trailing-icon-color),
121
+ hover-input-text-color: var(--_text-field-hover-input-text-color),
122
+ hover-label-text-color: var(--_text-field-hover-label-text-color),
123
+ hover-leading-icon-color: var(--_text-field-hover-leading-icon-color),
124
+ hover-outline-color: var(--_text-field-hover-outline-color),
125
+ hover-outline-width: var(--_text-field-hover-outline-width),
126
+ hover-supporting-text-color:
127
+ var(--_text-field-hover-supporting-text-color),
128
+ hover-trailing-icon-color: var(--_text-field-hover-trailing-icon-color),
129
+ 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
+ input-text-type: var(--_text-field-input-text-type),
135
+ input-text-weight: var(--_text-field-input-text-weight),
136
+ 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),
139
+ label-text-populated-line-height:
140
+ var(--_text-field-label-text-populated-line-height),
141
+ 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
+ leading-icon-color: var(--_text-field-leading-icon-color),
147
+ leading-icon-size: var(--_text-field-leading-icon-size),
148
+ outline-color: var(--_text-field-outline-color),
149
+ outline-width: var(--_text-field-outline-width),
150
+ 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),
157
+ trailing-icon-color: var(--_text-field-trailing-icon-color),
158
+ trailing-icon-size: var(--_text-field-trailing-icon-size),
159
+ )
160
+ );
161
+
162
+ // Textfield cannot resolve shape when created as vars.
163
+ @include outlined-field.theme(
164
+ (
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),
170
+ )
171
+ );
172
+ }
173
+
174
+ .md3-autocomplete__menu-surface {
175
+ @include menu-surface.theme(
176
+ (
177
+ container-elevation-shadow: var(--_menu-container-elevation-shadow),
178
+ container-shape: var(--_menu-container-shape),
179
+ )
180
+ );
181
+
182
+ @include list.theme(
183
+ (
184
+ container-color: var(--_menu-container-color),
185
+ container-surface-tint-layer-color:
186
+ var(--_menu-container-surface-tint-layer-color),
187
+ container-elevation-overlay-opacity:
188
+ var(--_menu-container-elevation-overlay-opacity),
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
+ }
208
+
209
+ .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
+ );
216
+ }
217
+ }
@@ -0,0 +1,34 @@
1
+ //
2
+ // Copyright 2022 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ // stylelint-disable selector-class-pattern --
7
+ // Selector '.md3-*' should only be used in this project.
8
+
9
+ @use 'sass:map';
10
+ @use '../../elevationold/lib/elevation-theme';
11
+ @use '../../sass/resolvers';
12
+ @use '../../sass/shape';
13
+
14
+ @mixin styles() {
15
+ .md3-autocomplete {
16
+ display: inline-flex;
17
+ flex: 1;
18
+ }
19
+ }
20
+
21
+ @function resolve-tokens($tokens) {
22
+ $tokens: elevation-theme.resolve-theme(
23
+ $tokens,
24
+ map.get(resolvers.$material, 'elevation'),
25
+ $shadow-color-token: 'menu-container-shadow-color',
26
+ $elevation-tokens: (menu-container-elevation)
27
+ );
28
+ $tokens: shape.resolve-theme(
29
+ $tokens,
30
+ map.get(resolvers.$material, shape),
31
+ text-field-container-shape
32
+ );
33
+ @return $tokens;
34
+ }
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { PropertyValues, TemplateResult } from 'lit';
7
+ import { ClassInfo } from 'lit/directives/class-map.js';
8
+ import { StaticValue } from 'lit/static-html.js';
9
+ import { TextField } from '../../textfield/lib/text-field.js';
10
+ import { AutocompleteItem } from './autocompleteitem/autocomplete-item.js';
11
+ import { AutocompleteList } from './autocompletelist/autocomplete-list.js';
12
+ import { AutocompleteSurface } from './autocompletesurface/autocomplete-surface.js';
13
+ /** @soyCompatible */
14
+ export declare abstract class Autocomplete extends TextField {
15
+ static shadowRootOptions: ShadowRootInit;
16
+ readonly role = "combobox";
17
+ readonly ariaAutoComplete = "list";
18
+ /**
19
+ * The ID on the list element, used for SSR.
20
+ */
21
+ listId: string;
22
+ /**
23
+ * The ID prefix for the item elements, used for SSR.
24
+ */
25
+ itemIdPrefix: string;
26
+ protected abstract readonly menuSurfaceTag: StaticValue;
27
+ protected abstract readonly listTag: StaticValue;
28
+ menuSurface?: AutocompleteSurface | null;
29
+ list?: AutocompleteList | null;
30
+ protected slottedItems?: AutocompleteItem[];
31
+ value: string;
32
+ protected selectedItem: AutocompleteItem | null;
33
+ /** @soyTemplate */
34
+ render(): TemplateResult;
35
+ /** @soyTemplate */
36
+ protected getAutocompleteRenderClasses(): ClassInfo;
37
+ protected updated(changedProperties: PropertyValues): void;
38
+ firstUpdated(changedProperties: PropertyValues): void;
39
+ /** @soyTemplate */
40
+ protected renderMenuSurface(): TemplateResult;
41
+ isOpen(): boolean;
42
+ open(): void;
43
+ close(): void;
44
+ protected handleClicked(event: PointerEvent): void;
45
+ protected handleFocusout(): void;
46
+ protected handleAction(event: CustomEvent<{
47
+ item: AutocompleteItem;
48
+ }>): void;
49
+ protected handleKeydown(event: KeyboardEvent): void;
50
+ protected handleKeyup(event: KeyboardEvent): void;
51
+ /**
52
+ * When selectedItem is updated, item prefixes and aria-selected status will
53
+ * be updated along with scrolling the selected item into view, if needed.
54
+ */
55
+ private updateSelectedItem;
56
+ private getPreviousItem;
57
+ private getNextItem;
58
+ }
@@ -0,0 +1,273 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { __decorate, __metadata } from "tslib";
7
+ import { html } from 'lit';
8
+ import { property, query, queryAssignedElements, state } from 'lit/decorators.js';
9
+ import { classMap } from 'lit/directives/class-map.js';
10
+ import { html as staticHtml } from 'lit/static-html.js';
11
+ import { TextField } from '../../textfield/lib/text-field.js';
12
+ import { AutocompleteItem } from './autocompleteitem/autocomplete-item.js';
13
+ import { AutocompleteList } from './autocompletelist/autocomplete-list.js';
14
+ import { AutocompleteSurface } from './autocompletesurface/autocomplete-surface.js';
15
+ /** @soyCompatible */
16
+ export class Autocomplete extends TextField {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.role = 'combobox';
20
+ this.ariaAutoComplete = 'list';
21
+ /**
22
+ * The ID on the list element, used for SSR.
23
+ */
24
+ this.listId = 'autocomplete-list';
25
+ /**
26
+ * The ID prefix for the item elements, used for SSR.
27
+ */
28
+ this.itemIdPrefix = 'autocomplete-item';
29
+ this.value = '';
30
+ this.selectedItem = null;
31
+ }
32
+ /** @soyTemplate */
33
+ render() {
34
+ return html `<div class="md3-autocomplete ${classMap(this.getAutocompleteRenderClasses())}"
35
+ @click=${this.handleClicked}
36
+ @focusout=${this.handleFocusout}
37
+ @action=${this.handleAction}
38
+ @input=${this.handleInput}
39
+ @keydown=${this.handleKeydown}
40
+ @keyup=${this.handleKeyup}>
41
+ ${super.render()}
42
+ ${this.renderMenuSurface()}</div>`;
43
+ }
44
+ /** @soyTemplate */
45
+ getAutocompleteRenderClasses() {
46
+ return {};
47
+ }
48
+ updated(changedProperties) {
49
+ super.updated(changedProperties);
50
+ if (changedProperties.has('selectedItem')) {
51
+ this.updateSelectedItem();
52
+ this.ariaActiveDescendant = this.selectedItem?.itemId ?? null;
53
+ }
54
+ if (changedProperties.has('value')) {
55
+ this.dispatchEvent(new CustomEvent('autocomplete-value-changed', { detail: { value: this.value }, bubbles: true, composed: true }));
56
+ }
57
+ }
58
+ firstUpdated(changedProperties) {
59
+ super.firstUpdated(changedProperties);
60
+ this.menuSurface.anchor = this;
61
+ }
62
+ /** @soyTemplate */
63
+ renderMenuSurface() {
64
+ return staticHtml `<${this.menuSurfaceTag}
65
+ class="md3-autocomplete__menu-surface">
66
+ <${this.listTag} class="md3-autocomplete__list">
67
+ <slot></slot>
68
+ </${this.listTag}>
69
+ </${this.menuSurfaceTag}>`;
70
+ }
71
+ isOpen() {
72
+ return this.menuSurface?.open || false;
73
+ }
74
+ open() {
75
+ this.menuSurface?.show();
76
+ this.ariaExpanded = 'true';
77
+ }
78
+ close() {
79
+ this.menuSurface?.close();
80
+ this.selectedItem = null;
81
+ this.ariaExpanded = 'false';
82
+ }
83
+ handleClicked(event) {
84
+ // When clicking the list (not items nor text field) the menu should stay
85
+ // open.
86
+ if (this.isOpen() &&
87
+ event.target?.parentNode !== this.menuSurface) {
88
+ this.close();
89
+ }
90
+ else {
91
+ this.open();
92
+ }
93
+ }
94
+ handleFocusout() {
95
+ if (this.matches(':focus-within')) {
96
+ this.getInput().focus();
97
+ return;
98
+ }
99
+ this.close();
100
+ this.focused = false;
101
+ }
102
+ handleAction(event) {
103
+ const detail = event.detail;
104
+ this.value = detail.item.headline;
105
+ }
106
+ handleKeydown(event) {
107
+ let bubble = true;
108
+ const altKey = event.altKey;
109
+ switch (event.key) {
110
+ case 'Enter':
111
+ if (this.selectedItem) {
112
+ this.value = this.selectedItem.headline;
113
+ }
114
+ this.close();
115
+ bubble = false;
116
+ break;
117
+ case 'ArrowDown':
118
+ if (!this.slottedItems)
119
+ return;
120
+ if (this.slottedItems.length) {
121
+ if (this.selectedItem) {
122
+ this.selectedItem = this.getNextItem();
123
+ }
124
+ else {
125
+ this.open();
126
+ if (!altKey) {
127
+ this.selectedItem = this.slottedItems[0];
128
+ }
129
+ }
130
+ }
131
+ bubble = false;
132
+ break;
133
+ case 'ArrowUp':
134
+ if (!this.slottedItems)
135
+ return;
136
+ if (this.slottedItems.length) {
137
+ if (this.selectedItem) {
138
+ this.selectedItem = this.getPreviousItem();
139
+ }
140
+ else {
141
+ this.open();
142
+ if (!altKey) {
143
+ this.selectedItem =
144
+ this.slottedItems[this.slottedItems.length - 1];
145
+ }
146
+ }
147
+ }
148
+ bubble = false;
149
+ break;
150
+ case 'Escape':
151
+ if (this.isOpen()) {
152
+ this.close();
153
+ }
154
+ else {
155
+ this.value = '';
156
+ }
157
+ this.selectedItem = null;
158
+ bubble = false;
159
+ break;
160
+ case 'Tab':
161
+ if (this.selectedItem) {
162
+ this.value = this.selectedItem.headline;
163
+ }
164
+ this.close();
165
+ break;
166
+ case 'Home':
167
+ this.setSelectionRange(0, 0);
168
+ this.selectedItem = null;
169
+ bubble = false;
170
+ break;
171
+ case 'End':
172
+ this.setSelectionRange(this.value.length, this.value.length);
173
+ this.selectedItem = null;
174
+ bubble = false;
175
+ break;
176
+ default:
177
+ break;
178
+ }
179
+ if (bubble)
180
+ return;
181
+ event.stopPropagation();
182
+ event.preventDefault();
183
+ }
184
+ handleKeyup(event) {
185
+ let bubble = true;
186
+ switch (event.key) {
187
+ case 'Backspace':
188
+ case 'ArrowLeft':
189
+ case 'ArrowRight':
190
+ this.selectedItem = null;
191
+ bubble = false;
192
+ break;
193
+ default:
194
+ break;
195
+ }
196
+ if (bubble)
197
+ return;
198
+ event.stopPropagation();
199
+ event.preventDefault();
200
+ }
201
+ /**
202
+ * When selectedItem is updated, item prefixes and aria-selected status will
203
+ * be updated along with scrolling the selected item into view, if needed.
204
+ */
205
+ updateSelectedItem() {
206
+ if (!this.slottedItems)
207
+ return;
208
+ this.slottedItems.forEach((item, index) => {
209
+ item.itemId = `${this.itemIdPrefix}-${index}`;
210
+ if (this.selectedItem && item === this.selectedItem && this.list) {
211
+ item.ariaSelected = 'true';
212
+ item.showFocusRing = true;
213
+ // Scroll into view
214
+ if (this.list.scrollTop + this.list.offsetHeight <
215
+ item.offsetTop + item.offsetHeight) {
216
+ this.list.scrollTop =
217
+ item.offsetTop + item.offsetHeight - this.list.offsetHeight;
218
+ }
219
+ else if (this.list.scrollTop > item.offsetTop + 2) {
220
+ this.list.scrollTop = item.offsetTop;
221
+ }
222
+ }
223
+ else {
224
+ item.ariaSelected = 'false';
225
+ item.showFocusRing = false;
226
+ }
227
+ });
228
+ }
229
+ getPreviousItem() {
230
+ if (!this.slottedItems)
231
+ return null;
232
+ const index = this.selectedItem ? this.slottedItems.indexOf(this.selectedItem) : 0;
233
+ const length = this.slottedItems.length;
234
+ return this.slottedItems[(index - 1 + length) % length];
235
+ }
236
+ getNextItem() {
237
+ if (!this.slottedItems)
238
+ return null;
239
+ const index = this.selectedItem ? this.slottedItems.indexOf(this.selectedItem) : 0;
240
+ const length = this.slottedItems.length;
241
+ return this.slottedItems[(index + 1) % length];
242
+ }
243
+ }
244
+ Autocomplete.shadowRootOptions = { mode: 'open', delegatesFocus: true };
245
+ __decorate([
246
+ property({ type: String }),
247
+ __metadata("design:type", Object)
248
+ ], Autocomplete.prototype, "listId", void 0);
249
+ __decorate([
250
+ property({ type: String }),
251
+ __metadata("design:type", Object)
252
+ ], Autocomplete.prototype, "itemIdPrefix", void 0);
253
+ __decorate([
254
+ query('.md3-autocomplete__menu-surface'),
255
+ __metadata("design:type", AutocompleteSurface)
256
+ ], Autocomplete.prototype, "menuSurface", void 0);
257
+ __decorate([
258
+ query('.md3-autocomplete__list'),
259
+ __metadata("design:type", AutocompleteList)
260
+ ], Autocomplete.prototype, "list", void 0);
261
+ __decorate([
262
+ queryAssignedElements({ flatten: true }),
263
+ __metadata("design:type", Array)
264
+ ], Autocomplete.prototype, "slottedItems", void 0);
265
+ __decorate([
266
+ property({ type: String }),
267
+ __metadata("design:type", Object)
268
+ ], Autocomplete.prototype, "value", void 0);
269
+ __decorate([
270
+ state(),
271
+ __metadata("design:type", AutocompleteItem)
272
+ ], Autocomplete.prototype, "selectedItem", void 0);
273
+ //# sourceMappingURL=autocomplete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete.js","sourceRoot":"","sources":["autocomplete.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, PropertyValues, TemplateResult} from 'lit';\nimport {property, query, queryAssignedElements, state} from 'lit/decorators.js';\nimport {ClassInfo, classMap} from 'lit/directives/class-map.js';\nimport {html as staticHtml, StaticValue} from 'lit/static-html.js';\n\nimport {TextField} from '../../textfield/lib/text-field.js';\n\nimport {AutocompleteItem} from './autocompleteitem/autocomplete-item.js';\nimport {AutocompleteList} from './autocompletelist/autocomplete-list.js';\nimport {AutocompleteSurface} from './autocompletesurface/autocomplete-surface.js';\n\n/** @soyCompatible */\nexport abstract class Autocomplete extends TextField {\n static override shadowRootOptions:\n ShadowRootInit = {mode: 'open', delegatesFocus: true};\n\n override readonly role = 'combobox';\n override readonly ariaAutoComplete = 'list';\n\n /**\n * The ID on the list element, used for SSR.\n */\n @property({type: String}) listId = 'autocomplete-list';\n /**\n * The ID prefix for the item elements, used for SSR.\n */\n @property({type: String}) itemIdPrefix = 'autocomplete-item';\n\n protected abstract readonly menuSurfaceTag: StaticValue;\n protected abstract readonly listTag: StaticValue;\n\n @query('.md3-autocomplete__menu-surface')\n menuSurface?: AutocompleteSurface|null;\n @query('.md3-autocomplete__list') list?: AutocompleteList|null;\n\n @queryAssignedElements({flatten: true})\n protected slottedItems?: AutocompleteItem[];\n\n @property({type: String}) override value = '';\n @state() protected selectedItem: AutocompleteItem|null = null;\n\n /** @soyTemplate */\n override render(): TemplateResult {\n return html`<div class=\"md3-autocomplete ${\n classMap(this.getAutocompleteRenderClasses())}\"\n @click=${this.handleClicked}\n @focusout=${this.handleFocusout}\n @action=${this.handleAction}\n @input=${this.handleInput}\n @keydown=${this.handleKeydown}\n @keyup=${this.handleKeyup}>\n ${super.render()}\n ${this.renderMenuSurface()}</div>`;\n }\n\n /** @soyTemplate */\n protected getAutocompleteRenderClasses(): ClassInfo {\n return {};\n }\n\n protected override updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (changedProperties.has('selectedItem')) {\n this.updateSelectedItem();\n this.ariaActiveDescendant = this.selectedItem?.itemId ?? null;\n }\n if (changedProperties.has('value')) {\n this.dispatchEvent(new CustomEvent(\n 'autocomplete-value-changed',\n {detail: {value: this.value}, bubbles: true, composed: true}));\n }\n }\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n this.menuSurface!.anchor = this;\n }\n\n /** @soyTemplate */\n protected renderMenuSurface(): TemplateResult {\n return staticHtml`<${this.menuSurfaceTag}\n class=\"md3-autocomplete__menu-surface\">\n <${this.listTag} class=\"md3-autocomplete__list\">\n <slot></slot>\n </${this.listTag}>\n </${this.menuSurfaceTag}>`;\n }\n\n isOpen() {\n return this.menuSurface?.open || false;\n }\n\n open() {\n this.menuSurface?.show();\n this.ariaExpanded = 'true';\n }\n\n close() {\n this.menuSurface?.close();\n this.selectedItem = null;\n this.ariaExpanded = 'false';\n }\n\n protected handleClicked(event: PointerEvent) {\n // When clicking the list (not items nor text field) the menu should stay\n // open.\n if (this.isOpen() &&\n (event.target as Node)?.parentNode !== this.menuSurface) {\n this.close();\n } else {\n this.open();\n }\n }\n\n protected override handleFocusout() {\n if (this.matches(':focus-within')) {\n this.getInput().focus();\n return;\n }\n this.close();\n this.focused = false;\n }\n\n protected handleAction(event: CustomEvent<{item: AutocompleteItem}>) {\n const detail = event.detail;\n this.value = detail.item.headline;\n }\n\n protected handleKeydown(event: KeyboardEvent) {\n let bubble = true;\n const altKey = event.altKey;\n\n switch (event.key) {\n case 'Enter':\n if (this.selectedItem) {\n this.value = this.selectedItem.headline;\n }\n this.close();\n bubble = false;\n break;\n\n case 'ArrowDown':\n if (!this.slottedItems) return;\n if (this.slottedItems.length) {\n if (this.selectedItem) {\n this.selectedItem = this.getNextItem();\n } else {\n this.open();\n if (!altKey) {\n this.selectedItem = this.slottedItems[0];\n }\n }\n }\n bubble = false;\n break;\n\n case 'ArrowUp':\n if (!this.slottedItems) return;\n if (this.slottedItems.length) {\n if (this.selectedItem) {\n this.selectedItem = this.getPreviousItem();\n } else {\n this.open();\n if (!altKey) {\n this.selectedItem =\n this.slottedItems[this.slottedItems.length - 1];\n }\n }\n }\n bubble = false;\n break;\n\n case 'Escape':\n if (this.isOpen()) {\n this.close();\n } else {\n this.value = '';\n }\n this.selectedItem = null;\n bubble = false;\n break;\n\n case 'Tab':\n if (this.selectedItem) {\n this.value = this.selectedItem.headline;\n }\n this.close();\n break;\n\n case 'Home':\n this.setSelectionRange(0, 0);\n this.selectedItem = null;\n bubble = false;\n break;\n\n case 'End':\n this.setSelectionRange(this.value.length, this.value.length);\n this.selectedItem = null;\n bubble = false;\n break;\n\n default:\n break;\n }\n\n if (bubble) return;\n event.stopPropagation();\n event.preventDefault();\n }\n\n protected handleKeyup(event: KeyboardEvent) {\n let bubble = true;\n\n switch (event.key) {\n case 'Backspace':\n case 'ArrowLeft':\n case 'ArrowRight':\n this.selectedItem = null;\n bubble = false;\n break;\n\n default:\n break;\n }\n\n if (bubble) return;\n event.stopPropagation();\n event.preventDefault();\n }\n\n /**\n * When selectedItem is updated, item prefixes and aria-selected status will\n * be updated along with scrolling the selected item into view, if needed.\n */\n private updateSelectedItem() {\n if (!this.slottedItems) return;\n this.slottedItems.forEach((item, index) => {\n item.itemId = `${this.itemIdPrefix}-${index}`;\n\n if (this.selectedItem && item === this.selectedItem && this.list) {\n item.ariaSelected = 'true';\n item.showFocusRing = true;\n\n // Scroll into view\n if (this.list.scrollTop + this.list.offsetHeight <\n item.offsetTop + item.offsetHeight) {\n this.list.scrollTop =\n item.offsetTop + item.offsetHeight - this.list.offsetHeight;\n } else if (this.list.scrollTop > item.offsetTop + 2) {\n this.list.scrollTop = item.offsetTop;\n }\n } else {\n item.ariaSelected = 'false';\n item.showFocusRing = false;\n }\n });\n }\n\n private getPreviousItem(): AutocompleteItem|null {\n if (!this.slottedItems) return null;\n const index =\n this.selectedItem ? this.slottedItems.indexOf(this.selectedItem) : 0;\n const length = this.slottedItems.length;\n return this.slottedItems[(index - 1 + length) % length];\n }\n\n private getNextItem(): AutocompleteItem|null {\n if (!this.slottedItems) return null;\n const index =\n this.selectedItem ? this.slottedItems.indexOf(this.selectedItem) : 0;\n const length = this.slottedItems.length;\n return this.slottedItems[(index + 1) % length];\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ListItem } from '../../../list/lib/listitem/list-item.js';
7
+ import { ARIARole } from '../../../types/aria.js';
8
+ /** Base class for autocomplete item component. */
9
+ export declare class AutocompleteItem extends ListItem {
10
+ role: ARIARole;
11
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ListItem } from '../../../list/lib/listitem/list-item.js';
7
+ /** Base class for autocomplete item component. */
8
+ export class AutocompleteItem extends ListItem {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.role = 'option';
12
+ }
13
+ }
14
+ //# sourceMappingURL=autocomplete-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-item.js","sourceRoot":"","sources":["autocomplete-item.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,yCAAyC,CAAC;AAGjE,kDAAkD;AAClD,MAAM,OAAO,gBAAiB,SAAQ,QAAQ;IAA9C;;QACW,SAAI,GAAa,QAAQ,CAAC;IACrC,CAAC;CAAA","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {ListItem} from '../../../list/lib/listitem/list-item.js';\nimport {ARIARole} from '../../../types/aria.js';\n\n/** Base class for autocomplete item component. */\nexport class AutocompleteItem extends ListItem {\n override role: ARIARole = 'option';\n}\n"]}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ListItemHarness } from '../../../list/lib/listitem/harness.js';
7
+ /**
8
+ * Test harness for autocomplete item.
9
+ */
10
+ export declare class AutocompleteItemHarness extends ListItemHarness {
11
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ListItemHarness } from '../../../list/lib/listitem/harness.js';
7
+ /**
8
+ * Test harness for autocomplete item.
9
+ */
10
+ export class AutocompleteItemHarness extends ListItemHarness {
11
+ }
12
+ //# sourceMappingURL=harness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["harness.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,eAAe,EAAC,MAAM,uCAAuC,CAAC;AAEtE;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,eAAe;CAAG","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {ListItemHarness} from '../../../list/lib/listitem/harness.js';\n\n/**\n * Test harness for autocomplete item.\n */\nexport class AutocompleteItemHarness extends ListItemHarness {}\n"]}