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

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 (1504) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +65 -23
  3. package/button/elevated-button.js.map +1 -1
  4. package/button/filled-button.js.map +1 -1
  5. package/button/lib/_elevated-button.scss +41 -42
  6. package/button/lib/_elevation.scss +16 -24
  7. package/button/lib/_filled-button.scss +42 -39
  8. package/button/lib/_icon.scss +16 -24
  9. package/button/lib/_outlined-button.scss +42 -35
  10. package/button/lib/_shared.scss +43 -71
  11. package/button/lib/_text-button.scss +45 -44
  12. package/button/lib/_tonal-button.scss +40 -41
  13. package/button/lib/button.d.ts +44 -38
  14. package/button/lib/button.js +103 -109
  15. package/button/lib/button.js.map +1 -1
  16. package/button/lib/elevated-button.d.ts +9 -4
  17. package/button/lib/elevated-button.js +4 -2
  18. package/button/lib/elevated-button.js.map +1 -1
  19. package/button/lib/elevated-styles.css.js +1 -1
  20. package/button/lib/elevated-styles.css.js.map +1 -1
  21. package/button/lib/elevated-styles.scss +2 -0
  22. package/button/lib/filled-button.d.ts +9 -5
  23. package/button/lib/filled-button.js +4 -3
  24. package/button/lib/filled-button.js.map +1 -1
  25. package/button/lib/filled-styles.css.js +1 -1
  26. package/button/lib/filled-styles.css.js.map +1 -1
  27. package/button/lib/filled-styles.scss +2 -0
  28. package/button/lib/outlined-button.d.ts +9 -4
  29. package/button/lib/outlined-button.js +3 -1
  30. package/button/lib/outlined-button.js.map +1 -1
  31. package/button/lib/outlined-styles.css.js +1 -1
  32. package/button/lib/outlined-styles.css.js.map +1 -1
  33. package/button/lib/outlined-styles.scss +2 -0
  34. package/button/lib/shared-elevation-styles.css.js +1 -1
  35. package/button/lib/shared-elevation-styles.css.js.map +1 -1
  36. package/button/lib/shared-elevation-styles.scss +2 -0
  37. package/button/lib/shared-styles.css.js +1 -1
  38. package/button/lib/shared-styles.css.js.map +1 -1
  39. package/button/lib/shared-styles.scss +2 -0
  40. package/button/lib/text-button.d.ts +8 -2
  41. package/button/lib/text-button.js +3 -1
  42. package/button/lib/text-button.js.map +1 -1
  43. package/button/lib/text-styles.css.js +1 -1
  44. package/button/lib/text-styles.css.js.map +1 -1
  45. package/button/lib/text-styles.scss +2 -0
  46. package/button/lib/tonal-button.d.ts +9 -5
  47. package/button/lib/tonal-button.js +4 -3
  48. package/button/lib/tonal-button.js.map +1 -1
  49. package/button/lib/tonal-styles.css.js +1 -1
  50. package/button/lib/tonal-styles.css.js.map +1 -1
  51. package/button/lib/tonal-styles.scss +2 -0
  52. package/button/outlined-button.js.map +1 -1
  53. package/button/text-button.js.map +1 -1
  54. package/button/tonal-button.js.map +1 -1
  55. package/checkbox/checkbox.d.ts +11 -2
  56. package/checkbox/checkbox.js +11 -2
  57. package/checkbox/checkbox.js.map +1 -1
  58. package/checkbox/lib/_checkbox.scss +68 -79
  59. package/checkbox/lib/checkbox-styles.css.js +1 -1
  60. package/checkbox/lib/checkbox-styles.css.js.map +1 -1
  61. package/checkbox/lib/checkbox-styles.scss +2 -0
  62. package/checkbox/lib/checkbox.d.ts +39 -14
  63. package/checkbox/lib/checkbox.js +88 -89
  64. package/checkbox/lib/checkbox.js.map +1 -1
  65. package/checkbox/lib/forced-colors-styles.css.js +1 -1
  66. package/checkbox/lib/forced-colors-styles.css.js.map +1 -1
  67. package/checkbox/lib/forced-colors-styles.scss +2 -0
  68. package/chips/_assist-chip.scss +6 -0
  69. package/chips/_filter-chip.scss +6 -0
  70. package/chips/_input-chip.scss +6 -0
  71. package/chips/_suggestion-chip.scss +6 -0
  72. package/chips/assist-chip.d.ts +20 -0
  73. package/chips/assist-chip.js +25 -0
  74. package/chips/assist-chip.js.map +1 -0
  75. package/chips/chip-set.d.ts +20 -0
  76. package/chips/chip-set.js +23 -0
  77. package/chips/chip-set.js.map +1 -0
  78. package/chips/filter-chip.d.ts +20 -0
  79. package/chips/filter-chip.js +29 -0
  80. package/chips/filter-chip.js.map +1 -0
  81. package/chips/harness.d.ts +17 -0
  82. package/chips/harness.js +34 -0
  83. package/chips/harness.js.map +1 -0
  84. package/chips/input-chip.d.ts +20 -0
  85. package/chips/input-chip.js +26 -0
  86. package/chips/input-chip.js.map +1 -0
  87. package/chips/lib/_assist-chip.scss +61 -0
  88. package/chips/lib/_chip-set.scss +18 -0
  89. package/chips/lib/_elevated.scss +60 -0
  90. package/chips/lib/_filter-chip.scss +74 -0
  91. package/chips/lib/_input-chip.scss +75 -0
  92. package/chips/lib/_selectable.scss +66 -0
  93. package/chips/lib/_shared.scss +189 -0
  94. package/chips/lib/_suggestion-chip.scss +61 -0
  95. package/chips/lib/_trailing-icon.scss +78 -0
  96. package/chips/lib/assist-chip.d.ts +23 -0
  97. package/chips/lib/assist-chip.js +73 -0
  98. package/chips/lib/assist-chip.js.map +1 -0
  99. package/chips/lib/assist-styles.css.js +9 -0
  100. package/chips/lib/assist-styles.css.js.map +1 -0
  101. package/chips/lib/assist-styles.scss +10 -0
  102. package/chips/lib/chip-set-styles.css.js +9 -0
  103. package/chips/lib/chip-set-styles.css.js.map +1 -0
  104. package/chips/lib/chip-set-styles.scss +10 -0
  105. package/chips/lib/chip-set.d.ts +26 -0
  106. package/chips/lib/chip-set.js +165 -0
  107. package/chips/lib/chip-set.js.map +1 -0
  108. package/chips/lib/chip.d.ts +45 -0
  109. package/chips/lib/chip.js +95 -0
  110. package/chips/lib/chip.js.map +1 -0
  111. package/chips/lib/elevated-styles.css.js +9 -0
  112. package/chips/lib/elevated-styles.css.js.map +1 -0
  113. package/chips/lib/elevated-styles.scss +10 -0
  114. package/chips/lib/filter-chip.d.ts +31 -0
  115. package/chips/lib/filter-chip.js +102 -0
  116. package/chips/lib/filter-chip.js.map +1 -0
  117. package/chips/lib/filter-styles.css.js +9 -0
  118. package/chips/lib/filter-styles.css.js.map +1 -0
  119. package/chips/lib/filter-styles.scss +10 -0
  120. package/chips/lib/input-chip.d.ts +27 -0
  121. package/chips/lib/input-chip.js +107 -0
  122. package/chips/lib/input-chip.js.map +1 -0
  123. package/chips/lib/input-styles.css.js +9 -0
  124. package/chips/lib/input-styles.css.js.map +1 -0
  125. package/chips/lib/input-styles.scss +10 -0
  126. package/chips/lib/multi-action-chip.d.ts +23 -0
  127. package/chips/lib/multi-action-chip.js +80 -0
  128. package/chips/lib/multi-action-chip.js.map +1 -0
  129. package/chips/lib/selectable-styles.css.js +9 -0
  130. package/chips/lib/selectable-styles.css.js.map +1 -0
  131. package/chips/lib/selectable-styles.scss +10 -0
  132. package/chips/lib/shared-styles.css.js +9 -0
  133. package/chips/lib/shared-styles.css.js.map +1 -0
  134. package/chips/lib/shared-styles.scss +10 -0
  135. package/chips/lib/suggestion-chip.d.ts +11 -0
  136. package/chips/lib/suggestion-chip.js +14 -0
  137. package/chips/lib/suggestion-chip.js.map +1 -0
  138. package/chips/lib/suggestion-styles.css.js +9 -0
  139. package/chips/lib/suggestion-styles.css.js.map +1 -0
  140. package/chips/lib/suggestion-styles.scss +10 -0
  141. package/chips/lib/trailing-icon-styles.css.js +9 -0
  142. package/chips/lib/trailing-icon-styles.css.js.map +1 -0
  143. package/chips/lib/trailing-icon-styles.scss +10 -0
  144. package/chips/lib/trailing-icons.d.ts +15 -0
  145. package/chips/lib/trailing-icons.js +38 -0
  146. package/chips/lib/trailing-icons.js.map +1 -0
  147. package/chips/suggestion-chip.d.ts +20 -0
  148. package/chips/suggestion-chip.js +25 -0
  149. package/chips/suggestion-chip.js.map +1 -0
  150. package/circularprogress/_circular-progress.scss +6 -0
  151. package/circularprogress/circular-progress.d.ts +24 -0
  152. package/circularprogress/circular-progress.js +27 -0
  153. package/circularprogress/circular-progress.js.map +1 -0
  154. package/circularprogress/harness.d.ts +13 -0
  155. package/circularprogress/harness.js +16 -0
  156. package/circularprogress/harness.js.map +1 -0
  157. package/circularprogress/lib/_circular-progress.scss +288 -0
  158. package/circularprogress/lib/circular-progress-styles.css.js +9 -0
  159. package/circularprogress/lib/circular-progress-styles.css.js.map +1 -0
  160. package/circularprogress/lib/circular-progress-styles.scss +8 -0
  161. package/circularprogress/lib/circular-progress.d.ts +27 -0
  162. package/circularprogress/lib/circular-progress.js +94 -0
  163. package/circularprogress/lib/circular-progress.js.map +1 -0
  164. package/dialog/_dialog.scss +6 -0
  165. package/dialog/dialog.d.ts +38 -0
  166. package/dialog/dialog.js +41 -0
  167. package/dialog/dialog.js.map +1 -0
  168. package/dialog/harness.d.ts +18 -0
  169. package/dialog/harness.js +58 -0
  170. package/dialog/harness.js.map +1 -0
  171. package/dialog/lib/_dialog.scss +376 -0
  172. package/dialog/lib/_tokens.scss +85 -0
  173. package/dialog/lib/dialog-styles.css.js +9 -0
  174. package/dialog/lib/dialog-styles.css.js.map +1 -0
  175. package/dialog/lib/dialog-styles.scss +10 -0
  176. package/dialog/lib/dialog.d.ts +190 -0
  177. package/dialog/lib/dialog.js +553 -0
  178. package/dialog/lib/dialog.js.map +1 -0
  179. package/divider/_divider.scss +6 -0
  180. package/divider/divider.d.ts +24 -0
  181. package/divider/divider.js +27 -0
  182. package/divider/divider.js.map +1 -0
  183. package/divider/lib/_divider.scss +64 -0
  184. package/divider/lib/divider-styles.css.js +9 -0
  185. package/divider/lib/divider-styles.css.js.map +1 -0
  186. package/divider/lib/divider-styles.scss +10 -0
  187. package/divider/lib/divider.d.ts +23 -0
  188. package/divider/lib/divider.js +38 -0
  189. package/divider/lib/divider.js.map +1 -0
  190. package/elevation/elevation.js.map +1 -1
  191. package/elevation/lib/_elevation.scss +21 -74
  192. package/elevation/lib/elevation-styles.css.js +1 -1
  193. package/elevation/lib/elevation-styles.css.js.map +1 -1
  194. package/elevation/lib/elevation-styles.scss +2 -0
  195. package/elevation/lib/elevation.d.ts +1 -9
  196. package/elevation/lib/elevation.js +1 -25
  197. package/elevation/lib/elevation.js.map +1 -1
  198. package/fab/_fab.scss +1 -0
  199. package/fab/branded-fab.d.ts +56 -0
  200. package/fab/branded-fab.js +56 -0
  201. package/fab/branded-fab.js.map +1 -0
  202. package/fab/fab.d.ts +25 -5
  203. package/fab/fab.js +27 -10
  204. package/fab/fab.js.map +1 -1
  205. package/fab/harness.d.ts +1 -2
  206. package/fab/harness.js +1 -1
  207. package/fab/harness.js.map +1 -1
  208. package/fab/lib/_fab-branded.scss +81 -0
  209. package/fab/lib/_fab.scss +219 -19
  210. package/fab/lib/_shared.scss +163 -152
  211. package/fab/lib/fab-branded-styles.css.js +9 -0
  212. package/fab/lib/fab-branded-styles.css.js.map +1 -0
  213. package/fab/lib/fab-branded-styles.scss +10 -0
  214. package/fab/lib/fab-styles.css.js +1 -1
  215. package/fab/lib/fab-styles.css.js.map +1 -1
  216. package/fab/lib/fab-styles.scss +2 -0
  217. package/fab/lib/fab.d.ts +18 -10
  218. package/fab/lib/fab.js +19 -12
  219. package/fab/lib/fab.js.map +1 -1
  220. package/fab/lib/forced-colors-styles.css.js +9 -0
  221. package/fab/lib/forced-colors-styles.css.js.map +1 -0
  222. package/fab/lib/forced-colors-styles.scss +26 -0
  223. package/fab/lib/shared-styles.css.js +9 -0
  224. package/fab/lib/shared-styles.css.js.map +1 -0
  225. package/fab/lib/shared-styles.scss +10 -0
  226. package/fab/lib/shared.d.ts +46 -0
  227. package/fab/lib/shared.js +99 -0
  228. package/fab/lib/shared.js.map +1 -0
  229. package/field/filled-field.d.ts +1 -1
  230. package/field/filled-field.js +1 -1
  231. package/field/filled-field.js.map +1 -1
  232. package/field/harness.js +1 -1
  233. package/field/harness.js.map +1 -1
  234. package/field/lib/_content.scss +120 -57
  235. package/field/lib/_filled-field.scss +117 -136
  236. package/field/lib/_label.scss +27 -65
  237. package/field/lib/_outlined-field.scss +143 -128
  238. package/field/lib/_shared.scss +29 -45
  239. package/field/lib/_supporting-text.scss +25 -52
  240. package/field/lib/field.d.ts +19 -34
  241. package/field/lib/field.js +143 -160
  242. package/field/lib/field.js.map +1 -1
  243. package/field/lib/filled-field.d.ts +5 -16
  244. package/field/lib/filled-field.js +8 -70
  245. package/field/lib/filled-field.js.map +1 -1
  246. package/field/lib/filled-styles.css.js +1 -1
  247. package/field/lib/filled-styles.css.js.map +1 -1
  248. package/field/lib/outlined-field.d.ts +4 -10
  249. package/field/lib/outlined-field.js +13 -33
  250. package/field/lib/outlined-field.js.map +1 -1
  251. package/field/lib/outlined-styles.css.js +1 -1
  252. package/field/lib/outlined-styles.css.js.map +1 -1
  253. package/field/lib/shared-styles.css.js +1 -1
  254. package/field/lib/shared-styles.css.js.map +1 -1
  255. package/field/outlined-field.d.ts +1 -1
  256. package/field/outlined-field.js +1 -1
  257. package/field/outlined-field.js.map +1 -1
  258. package/focus/focus-ring.d.ts +2 -1
  259. package/focus/focus-ring.js +2 -1
  260. package/focus/focus-ring.js.map +1 -1
  261. package/focus/lib/_focus-ring.scss +103 -42
  262. package/focus/lib/focus-ring-styles.css.js +1 -1
  263. package/focus/lib/focus-ring-styles.css.js.map +1 -1
  264. package/focus/lib/focus-ring-styles.scss +2 -0
  265. package/focus/lib/focus-ring.d.ts +22 -16
  266. package/focus/lib/focus-ring.js +57 -22
  267. package/focus/lib/focus-ring.js.map +1 -1
  268. package/icon/icon.d.ts +1 -1
  269. package/icon/icon.js +1 -1
  270. package/icon/icon.js.map +1 -1
  271. package/icon/lib/_icon.scss +6 -2
  272. package/icon/lib/_md-comp-icon.scss +1 -2
  273. package/icon/lib/icon-styles.css.js +1 -1
  274. package/icon/lib/icon-styles.css.js.map +1 -1
  275. package/icon/lib/icon-styles.scss +2 -0
  276. package/icon/lib/icon.d.ts +5 -4
  277. package/icon/lib/icon.js +3 -2
  278. package/icon/lib/icon.js.map +1 -1
  279. package/iconbutton/filled-icon-button.d.ts +6 -2
  280. package/iconbutton/filled-icon-button.js +2 -1
  281. package/iconbutton/filled-icon-button.js.map +1 -1
  282. package/iconbutton/filled-tonal-icon-button.d.ts +6 -2
  283. package/iconbutton/filled-tonal-icon-button.js +2 -1
  284. package/iconbutton/filled-tonal-icon-button.js.map +1 -1
  285. package/iconbutton/harness.d.ts +2 -3
  286. package/iconbutton/harness.js +4 -1
  287. package/iconbutton/harness.js.map +1 -1
  288. package/iconbutton/lib/_filled-icon-button.scss +77 -51
  289. package/iconbutton/lib/_filled-tonal-icon-button.scss +77 -49
  290. package/iconbutton/lib/_outlined-icon-button.scss +70 -53
  291. package/iconbutton/lib/_shared.scss +35 -112
  292. package/iconbutton/lib/_standard-icon-button.scss +39 -48
  293. package/iconbutton/lib/filled-styles.css.js +1 -1
  294. package/iconbutton/lib/filled-styles.css.js.map +1 -1
  295. package/iconbutton/lib/filled-styles.scss +2 -0
  296. package/iconbutton/lib/filled-tonal-styles.css.js +1 -1
  297. package/iconbutton/lib/filled-tonal-styles.css.js.map +1 -1
  298. package/iconbutton/lib/filled-tonal-styles.scss +2 -0
  299. package/iconbutton/lib/icon-button.d.ts +43 -26
  300. package/iconbutton/lib/icon-button.js +115 -84
  301. package/iconbutton/lib/icon-button.js.map +1 -1
  302. package/iconbutton/lib/outlined-styles.css.js +1 -1
  303. package/iconbutton/lib/outlined-styles.css.js.map +1 -1
  304. package/iconbutton/lib/outlined-styles.scss +2 -0
  305. package/iconbutton/lib/shared-styles.css.js +1 -1
  306. package/iconbutton/lib/shared-styles.css.js.map +1 -1
  307. package/iconbutton/lib/shared-styles.scss +2 -0
  308. package/iconbutton/lib/standard-styles.css.js +1 -1
  309. package/iconbutton/lib/standard-styles.css.js.map +1 -1
  310. package/iconbutton/lib/standard-styles.scss +2 -0
  311. package/iconbutton/outlined-icon-button.d.ts +5 -2
  312. package/iconbutton/outlined-icon-button.js +1 -1
  313. package/iconbutton/outlined-icon-button.js.map +1 -1
  314. package/iconbutton/standard-icon-button.d.ts +5 -2
  315. package/iconbutton/standard-icon-button.js +1 -1
  316. package/iconbutton/standard-icon-button.js.map +1 -1
  317. package/internal/README.md +6 -0
  318. package/internal/aria/aria.d.ts +103 -0
  319. package/internal/aria/aria.js +80 -0
  320. package/internal/aria/aria.js.map +1 -0
  321. package/internal/aria/delegate.d.ts +37 -0
  322. package/internal/aria/delegate.js +53 -0
  323. package/internal/aria/delegate.js.map +1 -0
  324. package/internal/controller/attachable-controller.d.ts +113 -0
  325. package/internal/controller/attachable-controller.js +115 -0
  326. package/internal/controller/attachable-controller.js.map +1 -0
  327. package/internal/controller/events.js +130 -0
  328. package/internal/controller/events.js.map +1 -0
  329. package/internal/motion/animation.d.ts +80 -0
  330. package/internal/motion/animation.js +101 -0
  331. package/internal/motion/animation.js.map +1 -0
  332. package/internal/sass/_string-ext.scss +195 -0
  333. package/internal/sass/_theme.scss +249 -0
  334. package/internal/sass/_var.scss +237 -0
  335. package/labs/README.md +6 -0
  336. package/labs/badge/badge.d.ts +18 -0
  337. package/labs/badge/badge.js +21 -0
  338. package/labs/badge/badge.js.map +1 -0
  339. package/labs/badge/lib/_badge.scss +69 -0
  340. package/labs/badge/lib/badge-styles.css.js +9 -0
  341. package/labs/badge/lib/badge-styles.css.js.map +1 -0
  342. package/labs/badge/lib/badge-styles.scss +10 -0
  343. package/labs/badge/lib/badge.d.ts +13 -0
  344. package/labs/badge/lib/badge.js +28 -0
  345. package/labs/badge/lib/badge.js.map +1 -0
  346. package/labs/navigationbar/harness.d.ts +19 -0
  347. package/labs/navigationbar/harness.js +29 -0
  348. package/labs/navigationbar/harness.js.map +1 -0
  349. package/labs/navigationbar/lib/_navigation-bar.scss +68 -0
  350. package/labs/navigationbar/lib/constants.d.ts +17 -0
  351. package/labs/navigationbar/lib/navigation-bar-styles.css.js +9 -0
  352. package/labs/navigationbar/lib/navigation-bar-styles.css.js.map +1 -0
  353. package/labs/navigationbar/lib/navigation-bar-styles.scss +10 -0
  354. package/labs/navigationbar/lib/navigation-bar.d.ts +27 -0
  355. package/labs/navigationbar/lib/navigation-bar.js +140 -0
  356. package/labs/navigationbar/lib/navigation-bar.js.map +1 -0
  357. package/labs/navigationbar/navigation-bar.d.ts +18 -0
  358. package/labs/navigationbar/navigation-bar.js +21 -0
  359. package/labs/navigationbar/navigation-bar.js.map +1 -0
  360. package/labs/navigationdrawer/lib/_navigation-drawer-modal.scss +107 -0
  361. package/labs/navigationdrawer/lib/_navigation-drawer.scss +94 -0
  362. package/labs/navigationdrawer/lib/_shared.scss +28 -0
  363. package/labs/navigationdrawer/lib/navigation-drawer-modal-styles.css.js +9 -0
  364. package/labs/navigationdrawer/lib/navigation-drawer-modal-styles.css.js.map +1 -0
  365. package/labs/navigationdrawer/lib/navigation-drawer-modal-styles.scss +10 -0
  366. package/labs/navigationdrawer/lib/navigation-drawer-modal.d.ts +19 -0
  367. package/labs/navigationdrawer/lib/navigation-drawer-modal.js +83 -0
  368. package/labs/navigationdrawer/lib/navigation-drawer-modal.js.map +1 -0
  369. package/labs/navigationdrawer/lib/navigation-drawer-styles.css.js +9 -0
  370. package/labs/navigationdrawer/lib/navigation-drawer-styles.css.js.map +1 -0
  371. package/labs/navigationdrawer/lib/navigation-drawer-styles.scss +10 -0
  372. package/labs/navigationdrawer/lib/navigation-drawer.d.ts +17 -0
  373. package/labs/navigationdrawer/lib/navigation-drawer.js +66 -0
  374. package/labs/navigationdrawer/lib/navigation-drawer.js.map +1 -0
  375. package/labs/navigationdrawer/lib/shared-styles.css.js +9 -0
  376. package/labs/navigationdrawer/lib/shared-styles.css.js.map +1 -0
  377. package/labs/navigationdrawer/lib/shared-styles.scss +10 -0
  378. package/labs/navigationdrawer/navigation-drawer-modal.d.ts +18 -0
  379. package/labs/navigationdrawer/navigation-drawer-modal.js +22 -0
  380. package/labs/navigationdrawer/navigation-drawer-modal.js.map +1 -0
  381. package/labs/navigationdrawer/navigation-drawer.d.ts +18 -0
  382. package/labs/navigationdrawer/navigation-drawer.js +22 -0
  383. package/labs/navigationdrawer/navigation-drawer.js.map +1 -0
  384. package/labs/navigationtab/harness.d.ts +13 -0
  385. package/labs/navigationtab/harness.js +16 -0
  386. package/labs/navigationtab/harness.js.map +1 -0
  387. package/labs/navigationtab/lib/_navigation-tab.scss +257 -0
  388. package/labs/navigationtab/lib/navigation-tab-styles.css.js +9 -0
  389. package/labs/navigationtab/lib/navigation-tab-styles.css.js.map +1 -0
  390. package/labs/navigationtab/lib/navigation-tab-styles.scss +10 -0
  391. package/labs/navigationtab/lib/navigation-tab.d.ts +30 -0
  392. package/labs/navigationtab/lib/navigation-tab.js +119 -0
  393. package/labs/navigationtab/lib/navigation-tab.js.map +1 -0
  394. package/labs/navigationtab/lib/state.d.ts +24 -0
  395. package/labs/navigationtab/lib/state.js.map +1 -0
  396. package/labs/navigationtab/navigation-tab.d.ts +18 -0
  397. package/labs/navigationtab/navigation-tab.js +21 -0
  398. package/labs/navigationtab/navigation-tab.js.map +1 -0
  399. package/labs/segmentedbutton/lib/_outlined-segmented-button.scss +44 -0
  400. package/labs/segmentedbutton/lib/_shared.scss +355 -0
  401. package/labs/segmentedbutton/lib/outlined-segmented-button.d.ts +24 -0
  402. package/labs/segmentedbutton/lib/outlined-segmented-button.js +22 -0
  403. package/labs/segmentedbutton/lib/outlined-segmented-button.js.map +1 -0
  404. package/labs/segmentedbutton/lib/outlined-styles.css.js +9 -0
  405. package/labs/segmentedbutton/lib/outlined-styles.css.js.map +1 -0
  406. package/labs/segmentedbutton/lib/outlined-styles.scss +10 -0
  407. package/labs/segmentedbutton/lib/segmented-button.d.ts +44 -0
  408. package/labs/segmentedbutton/lib/segmented-button.js +159 -0
  409. package/labs/segmentedbutton/lib/segmented-button.js.map +1 -0
  410. package/labs/segmentedbutton/lib/shared-styles.css.js +9 -0
  411. package/labs/segmentedbutton/lib/shared-styles.css.js.map +1 -0
  412. package/labs/segmentedbutton/lib/shared-styles.scss +10 -0
  413. package/labs/segmentedbutton/outlined-segmented-button.d.ts +20 -0
  414. package/labs/segmentedbutton/outlined-segmented-button.js +24 -0
  415. package/labs/segmentedbutton/outlined-segmented-button.js.map +1 -0
  416. package/labs/segmentedbuttonset/lib/_outlined-segmented-button-set.scss +53 -0
  417. package/labs/segmentedbuttonset/lib/_shared.scss +33 -0
  418. package/labs/segmentedbuttonset/lib/outlined-segmented-button-set.d.ts +14 -0
  419. package/labs/segmentedbuttonset/lib/outlined-segmented-button-set.js +18 -0
  420. package/labs/segmentedbuttonset/lib/outlined-segmented-button-set.js.map +1 -0
  421. package/labs/segmentedbuttonset/lib/outlined-styles.css.js +9 -0
  422. package/labs/segmentedbuttonset/lib/outlined-styles.css.js.map +1 -0
  423. package/labs/segmentedbuttonset/lib/outlined-styles.scss +10 -0
  424. package/labs/segmentedbuttonset/lib/segmented-button-set.d.ts +26 -0
  425. package/labs/segmentedbuttonset/lib/segmented-button-set.js +110 -0
  426. package/labs/segmentedbuttonset/lib/segmented-button-set.js.map +1 -0
  427. package/labs/segmentedbuttonset/lib/shared-styles.scss +10 -0
  428. package/labs/segmentedbuttonset/outlined-segmented-button-set.d.ts +20 -0
  429. package/labs/segmentedbuttonset/outlined-segmented-button-set.js +24 -0
  430. package/labs/segmentedbuttonset/outlined-segmented-button-set.js.map +1 -0
  431. package/linearprogress/_linear-progress.scss +6 -0
  432. package/linearprogress/harness.d.ts +13 -0
  433. package/linearprogress/harness.js +18 -0
  434. package/linearprogress/harness.js.map +1 -0
  435. package/linearprogress/lib/_linear-progress.scss +386 -0
  436. package/linearprogress/lib/linear-progress-styles.css.js +9 -0
  437. package/linearprogress/lib/linear-progress-styles.css.js.map +1 -0
  438. package/linearprogress/lib/linear-progress-styles.scss +8 -0
  439. package/linearprogress/lib/linear-progress.d.ts +35 -0
  440. package/linearprogress/lib/linear-progress.js +127 -0
  441. package/linearprogress/lib/linear-progress.js.map +1 -0
  442. package/linearprogress/linear-progress.d.ts +23 -0
  443. package/linearprogress/linear-progress.js +26 -0
  444. package/linearprogress/linear-progress.js.map +1 -0
  445. package/list/harness.d.ts +1 -0
  446. package/list/harness.js +1 -0
  447. package/list/harness.js.map +1 -1
  448. package/list/lib/_list.scss +19 -49
  449. package/list/lib/list-styles.css.js +1 -1
  450. package/list/lib/list-styles.css.js.map +1 -1
  451. package/list/lib/list-styles.scss +2 -0
  452. package/list/lib/list.d.ts +105 -34
  453. package/list/lib/list.js +222 -137
  454. package/list/lib/list.js.map +1 -1
  455. package/list/lib/listitem/_list-item.scss +320 -126
  456. package/list/lib/listitem/forced-colors-styles.css.d.ts +1 -0
  457. package/list/lib/listitem/forced-colors-styles.css.js +9 -0
  458. package/list/lib/listitem/forced-colors-styles.css.js.map +1 -0
  459. package/list/lib/listitem/forced-colors-styles.scss +23 -0
  460. package/list/lib/listitem/harness.js +2 -1
  461. package/list/lib/listitem/harness.js.map +1 -1
  462. package/list/lib/listitem/list-item-only.d.ts +22 -0
  463. package/list/lib/listitem/list-item-only.js +35 -0
  464. package/list/lib/listitem/list-item-only.js.map +1 -0
  465. package/list/lib/listitem/list-item-styles.css.js +1 -1
  466. package/list/lib/listitem/list-item-styles.css.js.map +1 -1
  467. package/list/lib/listitem/list-item-styles.scss +2 -0
  468. package/list/lib/listitem/list-item.d.ts +121 -61
  469. package/list/lib/listitem/list-item.js +174 -204
  470. package/list/lib/listitem/list-item.js.map +1 -1
  471. package/list/lib/listitemlink/list-item-link-only.d.ts +22 -0
  472. package/list/lib/listitemlink/list-item-link-only.js +33 -0
  473. package/list/lib/listitemlink/list-item-link-only.js.map +1 -0
  474. package/list/lib/listitemlink/list-item-link.d.ts +18 -0
  475. package/list/lib/listitemlink/list-item-link.js +42 -0
  476. package/list/lib/listitemlink/list-item-link.js.map +1 -0
  477. package/list/list-item-link.d.ts +53 -0
  478. package/list/list-item-link.js +57 -0
  479. package/list/list-item-link.js.map +1 -0
  480. package/list/list-item.d.ts +38 -2
  481. package/list/list-item.js +39 -3
  482. package/list/list-item.js.map +1 -1
  483. package/list/list.d.ts +15 -1
  484. package/list/list.js +15 -1
  485. package/list/list.js.map +1 -1
  486. package/menu/_menu-item.scss +6 -0
  487. package/menu/_menu.scss +6 -0
  488. package/menu/harness.d.ts +6 -0
  489. package/menu/harness.js +23 -0
  490. package/menu/harness.js.map +1 -1
  491. package/menu/lib/_menu.scss +71 -76
  492. package/menu/lib/forced-colors-styles.css.d.ts +1 -0
  493. package/menu/lib/forced-colors-styles.css.js +9 -0
  494. package/menu/lib/forced-colors-styles.css.js.map +1 -0
  495. package/menu/lib/forced-colors-styles.scss +12 -0
  496. package/menu/lib/menu-styles.css.js +1 -1
  497. package/menu/lib/menu-styles.css.js.map +1 -1
  498. package/menu/lib/menu-styles.scss +2 -0
  499. package/menu/lib/menu.d.ts +195 -46
  500. package/menu/lib/menu.js +580 -264
  501. package/menu/lib/menu.js.map +1 -1
  502. package/menu/lib/menuitem/_menu-item.scss +60 -0
  503. package/menu/lib/menuitem/forced-colors-styles.css.d.ts +1 -0
  504. package/menu/lib/menuitem/forced-colors-styles.css.js +9 -0
  505. package/menu/lib/menuitem/forced-colors-styles.css.js.map +1 -0
  506. package/menu/lib/menuitem/forced-colors-styles.scss +22 -0
  507. package/menu/lib/menuitem/menu-item-styles.css.d.ts +1 -0
  508. package/menu/lib/menuitem/menu-item-styles.css.js +9 -0
  509. package/menu/lib/menuitem/menu-item-styles.css.js.map +1 -0
  510. package/menu/lib/menuitem/menu-item-styles.scss +10 -0
  511. package/menu/lib/menuitem/menu-item.d.ts +22 -5
  512. package/menu/lib/menuitem/menu-item.js +41 -4
  513. package/menu/lib/menuitem/menu-item.js.map +1 -1
  514. package/menu/lib/menuitemlink/menu-item-link.d.ts +23 -0
  515. package/menu/lib/menuitemlink/menu-item-link.js +49 -0
  516. package/menu/lib/menuitemlink/menu-item-link.js.map +1 -0
  517. package/menu/lib/shared.d.ts +178 -0
  518. package/menu/lib/shared.js +142 -0
  519. package/menu/lib/shared.js.map +1 -0
  520. package/menu/lib/submenuitem/harness.d.ts +11 -0
  521. package/menu/lib/submenuitem/harness.js +12 -0
  522. package/menu/lib/submenuitem/harness.js.map +1 -0
  523. package/menu/lib/submenuitem/sub-menu-item.d.ts +99 -0
  524. package/menu/lib/submenuitem/sub-menu-item.js +293 -0
  525. package/menu/lib/submenuitem/sub-menu-item.js.map +1 -0
  526. package/menu/lib/surfacePositionController.d.ts +125 -0
  527. package/menu/lib/surfacePositionController.js +200 -0
  528. package/menu/lib/surfacePositionController.js.map +1 -0
  529. package/menu/lib/typeaheadController.d.ts +157 -0
  530. package/menu/lib/typeaheadController.js +252 -0
  531. package/menu/lib/typeaheadController.js.map +1 -0
  532. package/menu/menu-item-link.d.ts +33 -0
  533. package/menu/menu-item-link.js +38 -0
  534. package/menu/menu-item-link.js.map +1 -0
  535. package/menu/menu-item.d.ts +19 -2
  536. package/menu/menu-item.js +23 -4
  537. package/menu/menu-item.js.map +1 -1
  538. package/menu/menu.d.ts +45 -0
  539. package/menu/menu.js +45 -1
  540. package/menu/menu.js.map +1 -1
  541. package/menu/sub-menu-item.d.ts +60 -0
  542. package/menu/sub-menu-item.js +65 -0
  543. package/menu/sub-menu-item.js.map +1 -0
  544. package/package.json +27 -18
  545. package/radio/lib/_radio.scss +34 -32
  546. package/radio/lib/forced-colors-styles.css.js +1 -1
  547. package/radio/lib/forced-colors-styles.css.js.map +1 -1
  548. package/radio/lib/forced-colors-styles.scss +2 -0
  549. package/radio/lib/radio-styles.css.js +1 -1
  550. package/radio/lib/radio-styles.css.js.map +1 -1
  551. package/radio/lib/radio-styles.scss +2 -0
  552. package/radio/lib/radio.d.ts +22 -16
  553. package/radio/lib/radio.js +95 -111
  554. package/radio/lib/radio.js.map +1 -1
  555. package/radio/radio.d.ts +16 -1
  556. package/radio/radio.js +16 -1
  557. package/radio/radio.js.map +1 -1
  558. package/ripple/lib/_ripple.scss +39 -73
  559. package/ripple/lib/ripple-styles.css.js +1 -1
  560. package/ripple/lib/ripple-styles.css.js.map +1 -1
  561. package/ripple/lib/ripple-styles.scss +2 -0
  562. package/ripple/lib/ripple.d.ts +60 -48
  563. package/ripple/lib/ripple.js +277 -106
  564. package/ripple/lib/ripple.js.map +1 -1
  565. package/ripple/ripple.d.ts +9 -1
  566. package/ripple/ripple.js +9 -1
  567. package/ripple/ripple.js.map +1 -1
  568. package/select/_filled-select.scss +6 -0
  569. package/select/_outlined-select.scss +6 -0
  570. package/select/filled-select.d.ts +41 -0
  571. package/select/filled-select.js +46 -0
  572. package/select/filled-select.js.map +1 -0
  573. package/select/harness.d.ts +24 -0
  574. package/select/harness.js +53 -0
  575. package/select/harness.js.map +1 -0
  576. package/select/lib/_filled-select.scss +222 -0
  577. package/select/lib/_outlined-select.scss +180 -0
  578. package/select/lib/_shared.scss +55 -0
  579. package/select/lib/filled-forced-colors-styles.css.d.ts +1 -0
  580. package/select/lib/filled-forced-colors-styles.css.js +9 -0
  581. package/select/lib/filled-forced-colors-styles.css.js.map +1 -0
  582. package/select/lib/filled-forced-colors-styles.scss +29 -0
  583. package/select/lib/filled-select-styles.css.d.ts +1 -0
  584. package/select/lib/filled-select-styles.css.js +9 -0
  585. package/select/lib/filled-select-styles.css.js.map +1 -0
  586. package/select/lib/filled-select-styles.scss +10 -0
  587. package/select/lib/filled-select.d.ts +10 -0
  588. package/select/lib/filled-select.js +16 -0
  589. package/select/lib/filled-select.js.map +1 -0
  590. package/select/lib/outlined-forced-colors-styles.css.d.ts +1 -0
  591. package/select/lib/outlined-forced-colors-styles.css.js +9 -0
  592. package/select/lib/outlined-forced-colors-styles.css.js.map +1 -0
  593. package/select/lib/outlined-forced-colors-styles.scss +29 -0
  594. package/select/lib/outlined-select-styles.css.d.ts +1 -0
  595. package/select/lib/outlined-select-styles.css.js +9 -0
  596. package/select/lib/outlined-select-styles.css.js.map +1 -0
  597. package/select/lib/outlined-select-styles.scss +10 -0
  598. package/select/lib/outlined-select.d.ts +10 -0
  599. package/select/lib/outlined-select.js +16 -0
  600. package/select/lib/outlined-select.js.map +1 -0
  601. package/select/lib/select.d.ts +216 -0
  602. package/select/lib/select.js +589 -0
  603. package/select/lib/select.js.map +1 -0
  604. package/select/lib/selectoption/harness.d.ts +11 -0
  605. package/select/lib/selectoption/harness.js +12 -0
  606. package/select/lib/selectoption/harness.js.map +1 -0
  607. package/select/lib/selectoption/select-option.d.ts +29 -0
  608. package/select/lib/selectoption/select-option.js +71 -0
  609. package/select/lib/selectoption/select-option.js.map +1 -0
  610. package/select/lib/shared-styles.css.d.ts +1 -0
  611. package/select/lib/shared-styles.css.js +9 -0
  612. package/select/lib/shared-styles.css.js.map +1 -0
  613. package/select/lib/shared-styles.scss +10 -0
  614. package/select/lib/shared.d.ts +52 -0
  615. package/select/lib/shared.js +41 -0
  616. package/select/lib/shared.js.map +1 -0
  617. package/select/outlined-select.d.ts +41 -0
  618. package/select/outlined-select.js +46 -0
  619. package/select/outlined-select.js.map +1 -0
  620. package/select/select-option.d.ts +44 -0
  621. package/select/select-option.js +51 -0
  622. package/select/select-option.js.map +1 -0
  623. package/slider/_slider.scss +6 -0
  624. package/slider/harness.d.ts +21 -0
  625. package/slider/harness.js +70 -0
  626. package/slider/harness.js.map +1 -0
  627. package/slider/lib/_slider.scss +476 -0
  628. package/slider/lib/forced-colors-styles.css.d.ts +1 -0
  629. package/slider/lib/forced-colors-styles.css.js +9 -0
  630. package/slider/lib/forced-colors-styles.css.js.map +1 -0
  631. package/slider/lib/forced-colors-styles.scss +53 -0
  632. package/slider/lib/slider-styles.css.d.ts +1 -0
  633. package/slider/lib/slider-styles.css.js +9 -0
  634. package/slider/lib/slider-styles.css.js.map +1 -0
  635. package/slider/lib/slider-styles.scss +8 -0
  636. package/slider/lib/slider.d.ts +173 -0
  637. package/slider/lib/slider.js +623 -0
  638. package/slider/lib/slider.js.map +1 -0
  639. package/slider/slider.d.ts +28 -0
  640. package/slider/slider.js +32 -0
  641. package/slider/slider.js.map +1 -0
  642. package/switch/harness.js +1 -1
  643. package/switch/harness.js.map +1 -1
  644. package/switch/lib/README.md +55 -0
  645. package/switch/lib/_handle.scss +134 -97
  646. package/switch/lib/_icon.scss +82 -23
  647. package/switch/lib/_switch.scss +83 -233
  648. package/switch/lib/_track.scss +79 -45
  649. package/switch/lib/forced-colors-styles.css.d.ts +1 -0
  650. package/switch/lib/forced-colors-styles.css.js +9 -0
  651. package/switch/lib/forced-colors-styles.css.js.map +1 -0
  652. package/switch/lib/forced-colors-styles.scss +41 -0
  653. package/switch/lib/switch-styles.css.js +1 -1
  654. package/switch/lib/switch-styles.css.js.map +1 -1
  655. package/switch/lib/switch-styles.scss +2 -0
  656. package/switch/lib/switch.d.ts +20 -20
  657. package/switch/lib/switch.js +79 -128
  658. package/switch/lib/switch.js.map +1 -1
  659. package/switch/switch.js +2 -1
  660. package/switch/switch.js.map +1 -1
  661. package/tabs/_tab.scss +6 -0
  662. package/tabs/harness.d.ts +23 -0
  663. package/tabs/harness.js +50 -0
  664. package/tabs/harness.js.map +1 -0
  665. package/tabs/lib/_tab.scss +293 -0
  666. package/tabs/lib/_tabs.scss +44 -0
  667. package/tabs/lib/tab-styles.css.d.ts +1 -0
  668. package/tabs/lib/tab-styles.css.js +9 -0
  669. package/tabs/lib/tab-styles.css.js.map +1 -0
  670. package/tabs/lib/tab-styles.scss +10 -0
  671. package/tabs/lib/tab.d.ts +68 -0
  672. package/tabs/lib/tab.js +162 -0
  673. package/tabs/lib/tab.js.map +1 -0
  674. package/tabs/lib/tabs-styles.css.d.ts +1 -0
  675. package/tabs/lib/tabs-styles.css.js +9 -0
  676. package/tabs/lib/tabs-styles.css.js.map +1 -0
  677. package/tabs/lib/tabs-styles.scss +10 -0
  678. package/tabs/lib/tabs.d.ts +91 -0
  679. package/tabs/lib/tabs.js +310 -0
  680. package/tabs/lib/tabs.js.map +1 -0
  681. package/tabs/tab.d.ts +19 -0
  682. package/tabs/tab.js +22 -0
  683. package/tabs/tab.js.map +1 -0
  684. package/tabs/tabs.d.ts +20 -0
  685. package/tabs/tabs.js +24 -0
  686. package/tabs/tabs.js.map +1 -0
  687. package/textfield/filled-text-field.d.ts +1 -1
  688. package/textfield/filled-text-field.js +1 -2
  689. package/textfield/filled-text-field.js.map +1 -1
  690. package/textfield/harness.d.ts +1 -1
  691. package/textfield/harness.js +1 -1
  692. package/textfield/harness.js.map +1 -1
  693. package/textfield/lib/_filled-text-field.scss +161 -103
  694. package/textfield/lib/_icon.scss +14 -73
  695. package/textfield/lib/_input.scss +15 -36
  696. package/textfield/lib/_outlined-text-field.scss +121 -97
  697. package/textfield/lib/_shared.scss +10 -29
  698. package/textfield/lib/filled-forced-colors-styles.css.js +1 -1
  699. package/textfield/lib/filled-forced-colors-styles.css.js.map +1 -1
  700. package/textfield/lib/filled-forced-colors-styles.scss +2 -0
  701. package/textfield/lib/filled-styles.css.js +1 -1
  702. package/textfield/lib/filled-styles.css.js.map +1 -1
  703. package/textfield/lib/filled-styles.scss +2 -0
  704. package/textfield/lib/filled-text-field.d.ts +6 -5
  705. package/textfield/lib/filled-text-field.js +8 -7
  706. package/textfield/lib/filled-text-field.js.map +1 -1
  707. package/textfield/lib/outlined-forced-colors-styles.css.js +1 -1
  708. package/textfield/lib/outlined-forced-colors-styles.css.js.map +1 -1
  709. package/textfield/lib/outlined-forced-colors-styles.scss +2 -0
  710. package/textfield/lib/outlined-styles.css.js +1 -1
  711. package/textfield/lib/outlined-styles.css.js.map +1 -1
  712. package/textfield/lib/outlined-styles.scss +2 -0
  713. package/textfield/lib/outlined-text-field.d.ts +6 -5
  714. package/textfield/lib/outlined-text-field.js +8 -7
  715. package/textfield/lib/outlined-text-field.js.map +1 -1
  716. package/textfield/lib/shared-styles.css.js +1 -1
  717. package/textfield/lib/shared-styles.css.js.map +1 -1
  718. package/textfield/lib/shared-styles.scss +2 -0
  719. package/textfield/lib/text-field.d.ts +54 -121
  720. package/textfield/lib/text-field.js +250 -423
  721. package/textfield/lib/text-field.js.map +1 -1
  722. package/textfield/outlined-text-field.d.ts +1 -1
  723. package/textfield/outlined-text-field.js +1 -2
  724. package/textfield/outlined-text-field.js.map +1 -1
  725. package/tokens/_index.scss +58 -2
  726. package/tokens/_md-comp-assist-chip.scss +119 -0
  727. package/tokens/_md-comp-badge.scss +41 -0
  728. package/tokens/_md-comp-checkbox.scss +100 -0
  729. package/tokens/_md-comp-circular-progress-indicator.scss +63 -0
  730. package/tokens/_md-comp-dialog.scss +52 -0
  731. package/tokens/_md-comp-divider.scss +28 -0
  732. package/tokens/_md-comp-elevated-button.scss +108 -0
  733. package/tokens/_md-comp-elevation.scss +24 -0
  734. package/tokens/_md-comp-fab-branded.scss +112 -0
  735. package/tokens/_md-comp-fab.scss +246 -0
  736. package/tokens/_md-comp-filled-button.scss +108 -0
  737. package/tokens/_md-comp-filled-field.scss +227 -0
  738. package/tokens/_md-comp-filled-icon-button.scss +72 -0
  739. package/tokens/_md-comp-filled-select.scss +148 -0
  740. package/tokens/_md-comp-filled-text-field.scss +139 -0
  741. package/tokens/_md-comp-filled-tonal-button.scss +108 -0
  742. package/tokens/_md-comp-filled-tonal-icon-button.scss +72 -0
  743. package/tokens/_md-comp-filter-chip.scss +228 -0
  744. package/tokens/_md-comp-focus-ring.scss +47 -0
  745. package/tokens/_md-comp-full-screen-dialog.scss +25 -0
  746. package/tokens/_md-comp-icon-button.scss +63 -0
  747. package/tokens/_md-comp-input-chip.scss +203 -0
  748. package/tokens/_md-comp-linear-progress-indicator.scss +50 -0
  749. package/tokens/_md-comp-list-item.scss +174 -0
  750. package/tokens/_md-comp-list.scss +134 -0
  751. package/tokens/_md-comp-menu-item.scss +50 -0
  752. package/tokens/_md-comp-menu.scss +48 -0
  753. package/tokens/_md-comp-navigation-bar.scss +25 -0
  754. package/tokens/_md-comp-navigation-drawer.scss +25 -0
  755. package/tokens/_md-comp-outlined-button.scss +104 -0
  756. package/tokens/_md-comp-outlined-field.scss +202 -0
  757. package/tokens/_md-comp-outlined-icon-button.scss +67 -0
  758. package/tokens/_md-comp-outlined-segmented-button.scss +93 -0
  759. package/tokens/_md-comp-outlined-select.scss +147 -0
  760. package/tokens/_md-comp-outlined-text-field.scss +130 -0
  761. package/tokens/_md-comp-radio-button.scss +62 -0
  762. package/tokens/_md-comp-ripple.scss +40 -0
  763. package/tokens/_md-comp-slider.scss +59 -0
  764. package/tokens/_md-comp-suggestion-chip.scss +122 -0
  765. package/tokens/_md-comp-switch.scss +107 -0
  766. package/tokens/_md-comp-tab.scss +285 -0
  767. package/tokens/_md-comp-test-table.scss +31 -0
  768. package/tokens/_md-comp-text-button.scss +97 -0
  769. package/tokens/_md-ref-palette.scss +12 -0
  770. package/tokens/_md-ref-typeface.scss +34 -0
  771. package/tokens/_md-sys-color.scss +54 -0
  772. package/tokens/_md-sys-elevation.scss +30 -0
  773. package/tokens/_md-sys-motion.scss +12 -0
  774. package/tokens/_md-sys-shape.scss +12 -0
  775. package/tokens/_md-sys-state.scss +12 -0
  776. package/tokens/_md-sys-typescale.scss +51 -0
  777. package/tokens/_values.scss +109 -0
  778. package/tokens/v0_172/_index.scss +107 -0
  779. package/tokens/v0_172/_md-comp-assist-chip.scss +108 -0
  780. package/tokens/v0_172/_md-comp-badge.scss +58 -0
  781. package/tokens/v0_172/_md-comp-banner.scss +73 -0
  782. package/tokens/v0_172/_md-comp-bottom-app-bar.scss +33 -0
  783. package/tokens/v0_172/_md-comp-carousel-item.scss +63 -0
  784. package/tokens/v0_172/_md-comp-checkbox.scss +126 -0
  785. package/tokens/v0_172/_md-comp-circular-progress-indicator.scss +39 -0
  786. package/tokens/v0_172/_md-comp-data-table.scss +96 -0
  787. package/tokens/v0_172/_md-comp-date-input-modal.scss +87 -0
  788. package/tokens/v0_172/_md-comp-date-picker-docked.scss +244 -0
  789. package/tokens/v0_172/_md-comp-date-picker-modal.scss +303 -0
  790. package/tokens/v0_172/_md-comp-dialog.scss +121 -0
  791. package/tokens/v0_172/_md-comp-divider.scss +25 -0
  792. package/tokens/v0_172/_md-comp-elevated-button.scss +89 -0
  793. package/tokens/v0_172/_md-comp-elevated-card.scss +57 -0
  794. package/tokens/v0_172/_md-comp-extended-fab-branded.scss +86 -0
  795. package/tokens/v0_172/_md-comp-extended-fab-primary.scss +94 -0
  796. package/tokens/v0_172/_md-comp-extended-fab-secondary.scss +95 -0
  797. package/tokens/v0_172/_md-comp-extended-fab-surface.scss +90 -0
  798. package/tokens/v0_172/_md-comp-extended-fab-tertiary.scss +95 -0
  799. package/tokens/v0_172/_md-comp-fab-branded-large.scss +60 -0
  800. package/tokens/v0_172/_md-comp-fab-branded.scss +60 -0
  801. package/tokens/v0_172/_md-comp-fab-primary-large.scss +65 -0
  802. package/tokens/v0_172/_md-comp-fab-primary-small.scss +65 -0
  803. package/tokens/v0_172/_md-comp-fab-primary.scss +65 -0
  804. package/tokens/v0_172/_md-comp-fab-secondary-large.scss +66 -0
  805. package/tokens/v0_172/_md-comp-fab-secondary-small.scss +66 -0
  806. package/tokens/v0_172/_md-comp-fab-secondary.scss +66 -0
  807. package/tokens/v0_172/_md-comp-fab-surface-large.scss +64 -0
  808. package/tokens/v0_172/_md-comp-fab-surface-small.scss +64 -0
  809. package/tokens/v0_172/_md-comp-fab-surface.scss +64 -0
  810. package/tokens/v0_172/_md-comp-fab-tertiary-large.scss +66 -0
  811. package/tokens/v0_172/_md-comp-fab-tertiary-small.scss +66 -0
  812. package/tokens/v0_172/_md-comp-fab-tertiary.scss +66 -0
  813. package/tokens/v0_172/_md-comp-filled-autocomplete.scss +265 -0
  814. package/tokens/v0_172/_md-comp-filled-button.scss +89 -0
  815. package/tokens/v0_172/_md-comp-filled-card.scss +59 -0
  816. package/tokens/v0_172/_md-comp-filled-icon-button.scss +79 -0
  817. package/tokens/v0_172/_md-comp-filled-menu-button.scss +98 -0
  818. package/tokens/v0_172/_md-comp-filled-select.scss +270 -0
  819. package/tokens/v0_172/_md-comp-filled-text-field.scss +190 -0
  820. package/tokens/v0_172/_md-comp-filled-tonal-button.scss +99 -0
  821. package/tokens/v0_172/_md-comp-filled-tonal-icon-button.scss +86 -0
  822. package/tokens/v0_172/_md-comp-filter-chip.scss +207 -0
  823. package/tokens/v0_172/_md-comp-full-screen-dialog.scss +111 -0
  824. package/tokens/v0_172/_md-comp-icon-button.scss +70 -0
  825. package/tokens/v0_172/_md-comp-input-chip.scss +184 -0
  826. package/tokens/v0_172/_md-comp-linear-progress-indicator.scss +41 -0
  827. package/tokens/v0_172/_md-comp-list.scss +248 -0
  828. package/tokens/v0_172/_md-comp-menu.scss +35 -0
  829. package/tokens/v0_172/_md-comp-navigation-bar.scss +112 -0
  830. package/tokens/v0_172/_md-comp-navigation-drawer.scss +162 -0
  831. package/tokens/v0_172/_md-comp-navigation-rail.scss +116 -0
  832. package/tokens/v0_172/_md-comp-outlined-autocomplete.scss +255 -0
  833. package/tokens/v0_172/_md-comp-outlined-button.scss +84 -0
  834. package/tokens/v0_172/_md-comp-outlined-card.scss +63 -0
  835. package/tokens/v0_172/_md-comp-outlined-icon-button.scss +79 -0
  836. package/tokens/v0_172/_md-comp-outlined-menu-button.scss +94 -0
  837. package/tokens/v0_172/_md-comp-outlined-segmented-button.scss +112 -0
  838. package/tokens/v0_172/_md-comp-outlined-select.scss +260 -0
  839. package/tokens/v0_172/_md-comp-outlined-text-field.scss +171 -0
  840. package/tokens/v0_172/_md-comp-plain-tooltip.scss +55 -0
  841. package/tokens/v0_172/_md-comp-primary-navigation-tab.scss +121 -0
  842. package/tokens/v0_172/_md-comp-radio-button.scss +68 -0
  843. package/tokens/v0_172/_md-comp-rich-tooltip.scss +119 -0
  844. package/tokens/v0_172/_md-comp-scrim.scss +25 -0
  845. package/tokens/v0_172/_md-comp-search-bar.scss +97 -0
  846. package/tokens/v0_172/_md-comp-search-view.scss +91 -0
  847. package/tokens/v0_172/_md-comp-secondary-navigation-tab.scss +84 -0
  848. package/tokens/v0_172/_md-comp-sheet-bottom.scss +44 -0
  849. package/tokens/v0_172/_md-comp-sheet-floating.scss +32 -0
  850. package/tokens/v0_172/_md-comp-sheet-side.scss +91 -0
  851. package/tokens/v0_172/_md-comp-slider.scss +115 -0
  852. package/tokens/v0_172/_md-comp-snackbar.scss +127 -0
  853. package/tokens/v0_172/_md-comp-standard-menu-button.scss +98 -0
  854. package/tokens/v0_172/_md-comp-suggestion-chip.scss +124 -0
  855. package/tokens/v0_172/_md-comp-switch.scss +138 -0
  856. package/tokens/v0_172/_md-comp-text-button.scss +77 -0
  857. package/tokens/v0_172/_md-comp-time-input.scss +217 -0
  858. package/tokens/v0_172/_md-comp-time-picker.scss +264 -0
  859. package/tokens/v0_172/_md-comp-top-app-bar-large.scss +61 -0
  860. package/tokens/v0_172/_md-comp-top-app-bar-medium.scss +61 -0
  861. package/tokens/v0_172/_md-comp-top-app-bar-small-centered.scss +68 -0
  862. package/tokens/v0_172/_md-comp-top-app-bar-small.scss +64 -0
  863. package/tokens/v0_172/_md-ref-palette.scss +107 -0
  864. package/tokens/v0_172/_md-ref-typeface.scss +21 -0
  865. package/tokens/v0_172/_md-sys-color.scss +134 -0
  866. package/tokens/v0_172/_md-sys-elevation.scss +21 -0
  867. package/tokens/v0_172/_md-sys-motion.scss +53 -0
  868. package/tokens/v0_172/_md-sys-shape.scss +30 -0
  869. package/tokens/v0_172/_md-sys-state.scss +19 -0
  870. package/tokens/v0_172/_md-sys-typescale.scss +284 -0
  871. package/tokens/v0_172/index.test.css.d.ts +1 -0
  872. package/tokens/v0_172/index.test.scss +584 -0
  873. package/tokens/v0_172/lib.test.css.d.ts +1 -0
  874. package/tokens/v0_172/lib.test.scss +663 -0
  875. package/actionelement/action-element.d.ts +0 -79
  876. package/actionelement/action-element.js +0 -97
  877. package/actionelement/action-element.js.map +0 -1
  878. package/autocomplete/_filled-autocomplete.scss +0 -6
  879. package/autocomplete/_outlined-autocomplete.scss +0 -6
  880. package/autocomplete/autocomplete-item.d.ts +0 -19
  881. package/autocomplete/autocomplete-item.js +0 -22
  882. package/autocomplete/autocomplete-item.js.map +0 -1
  883. package/autocomplete/autocomplete-list.d.ts +0 -19
  884. package/autocomplete/autocomplete-list.js +0 -23
  885. package/autocomplete/autocomplete-list.js.map +0 -1
  886. package/autocomplete/autocomplete-surface.d.ts +0 -19
  887. package/autocomplete/autocomplete-surface.js +0 -23
  888. package/autocomplete/autocomplete-surface.js.map +0 -1
  889. package/autocomplete/filled-autocomplete.d.ts +0 -30
  890. package/autocomplete/filled-autocomplete.js +0 -53
  891. package/autocomplete/filled-autocomplete.js.map +0 -1
  892. package/autocomplete/lib/_filled-autocomplete.scss +0 -228
  893. package/autocomplete/lib/_outlined-autocomplete.scss +0 -217
  894. package/autocomplete/lib/_shared.scss +0 -29
  895. package/autocomplete/lib/autocomplete.d.ts +0 -58
  896. package/autocomplete/lib/autocomplete.js +0 -273
  897. package/autocomplete/lib/autocomplete.js.map +0 -1
  898. package/autocomplete/lib/autocompleteitem/autocomplete-item.d.ts +0 -11
  899. package/autocomplete/lib/autocompleteitem/autocomplete-item.js +0 -14
  900. package/autocomplete/lib/autocompleteitem/autocomplete-item.js.map +0 -1
  901. package/autocomplete/lib/autocompleteitem/harness.d.ts +0 -11
  902. package/autocomplete/lib/autocompleteitem/harness.js +0 -12
  903. package/autocomplete/lib/autocompleteitem/harness.js.map +0 -1
  904. package/autocomplete/lib/autocompletelist/_autocomplete-list.scss +0 -13
  905. package/autocomplete/lib/autocompletelist/autocomplete-list-styles.css.js +0 -9
  906. package/autocomplete/lib/autocompletelist/autocomplete-list-styles.css.js.map +0 -1
  907. package/autocomplete/lib/autocompletelist/autocomplete-list-styles.scss +0 -8
  908. package/autocomplete/lib/autocompletelist/autocomplete-list.d.ts +0 -14
  909. package/autocomplete/lib/autocompletelist/autocomplete-list.js +0 -21
  910. package/autocomplete/lib/autocompletelist/autocomplete-list.js.map +0 -1
  911. package/autocomplete/lib/autocompletelist/harness.d.ts +0 -11
  912. package/autocomplete/lib/autocompletelist/harness.js +0 -12
  913. package/autocomplete/lib/autocompletelist/harness.js.map +0 -1
  914. package/autocomplete/lib/autocompletesurface/_autocomplete-surface.scss +0 -13
  915. package/autocomplete/lib/autocompletesurface/autocomplete-surface-styles.css.js +0 -9
  916. package/autocomplete/lib/autocompletesurface/autocomplete-surface-styles.css.js.map +0 -1
  917. package/autocomplete/lib/autocompletesurface/autocomplete-surface-styles.scss +0 -8
  918. package/autocomplete/lib/autocompletesurface/autocomplete-surface.d.ts +0 -13
  919. package/autocomplete/lib/autocompletesurface/autocomplete-surface.js +0 -21
  920. package/autocomplete/lib/autocompletesurface/autocomplete-surface.js.map +0 -1
  921. package/autocomplete/lib/filled-styles.css.js +0 -9
  922. package/autocomplete/lib/filled-styles.css.js.map +0 -1
  923. package/autocomplete/lib/filled-styles.scss +0 -8
  924. package/autocomplete/lib/outlined-styles.css.js +0 -9
  925. package/autocomplete/lib/outlined-styles.css.js.map +0 -1
  926. package/autocomplete/lib/outlined-styles.scss +0 -8
  927. package/autocomplete/lib/shared-styles.css.js +0 -9
  928. package/autocomplete/lib/shared-styles.css.js.map +0 -1
  929. package/autocomplete/lib/shared-styles.scss +0 -8
  930. package/autocomplete/outlined-autocomplete.d.ts +0 -30
  931. package/autocomplete/outlined-autocomplete.js +0 -53
  932. package/autocomplete/outlined-autocomplete.js.map +0 -1
  933. package/badge/badge.d.ts +0 -19
  934. package/badge/badge.js +0 -22
  935. package/badge/badge.js.map +0 -1
  936. package/badge/lib/_badge.scss +0 -80
  937. package/badge/lib/badge-styles.css.js +0 -9
  938. package/badge/lib/badge-styles.css.js.map +0 -1
  939. package/badge/lib/badge-styles.scss +0 -8
  940. package/badge/lib/badge.d.ts +0 -15
  941. package/badge/lib/badge.js +0 -31
  942. package/badge/lib/badge.js.map +0 -1
  943. package/button/elevated-link-button.d.ts +0 -36
  944. package/button/elevated-link-button.js +0 -41
  945. package/button/elevated-link-button.js.map +0 -1
  946. package/button/filled-link-button.d.ts +0 -34
  947. package/button/filled-link-button.js +0 -39
  948. package/button/filled-link-button.js.map +0 -1
  949. package/button/lib/elevated-link-button.d.ts +0 -13
  950. package/button/lib/elevated-link-button.js +0 -21
  951. package/button/lib/elevated-link-button.js.map +0 -1
  952. package/button/lib/filled-link-button.d.ts +0 -14
  953. package/button/lib/filled-link-button.js +0 -22
  954. package/button/lib/filled-link-button.js.map +0 -1
  955. package/button/lib/link-button.d.ts +0 -25
  956. package/button/lib/link-button.js +0 -64
  957. package/button/lib/link-button.js.map +0 -1
  958. package/button/lib/outlined-link-button.d.ts +0 -12
  959. package/button/lib/outlined-link-button.js +0 -20
  960. package/button/lib/outlined-link-button.js.map +0 -1
  961. package/button/lib/state.d.ts +0 -10
  962. package/button/lib/state.js +0 -7
  963. package/button/lib/state.js.map +0 -1
  964. package/button/lib/text-link-button.d.ts +0 -10
  965. package/button/lib/text-link-button.js +0 -16
  966. package/button/lib/text-link-button.js.map +0 -1
  967. package/button/lib/tonal-link-button.d.ts +0 -14
  968. package/button/lib/tonal-link-button.js +0 -22
  969. package/button/lib/tonal-link-button.js.map +0 -1
  970. package/button/outlined-link-button.d.ts +0 -36
  971. package/button/outlined-link-button.js +0 -40
  972. package/button/outlined-link-button.js.map +0 -1
  973. package/button/text-link-button.d.ts +0 -34
  974. package/button/text-link-button.js +0 -38
  975. package/button/text-link-button.js.map +0 -1
  976. package/button/tonal-link-button.d.ts +0 -35
  977. package/button/tonal-link-button.js +0 -40
  978. package/button/tonal-link-button.js.map +0 -1
  979. package/chips/action/delete-action.d.ts +0 -18
  980. package/chips/action/delete-action.js +0 -20
  981. package/chips/action/delete-action.js.map +0 -1
  982. package/chips/action/lib/action.d.ts +0 -47
  983. package/chips/action/lib/action.js +0 -162
  984. package/chips/action/lib/action.js.map +0 -1
  985. package/chips/action/lib/constants.d.ts +0 -62
  986. package/chips/action/lib/constants.js +0 -69
  987. package/chips/action/lib/constants.js.map +0 -1
  988. package/chips/action/lib/delete-action.d.ts +0 -20
  989. package/chips/action/lib/delete-action.js +0 -65
  990. package/chips/action/lib/delete-action.js.map +0 -1
  991. package/chips/action/lib/events.d.ts +0 -14
  992. package/chips/action/lib/events.js +0 -16
  993. package/chips/action/lib/events.js.map +0 -1
  994. package/chips/action/lib/link-action.d.ts +0 -19
  995. package/chips/action/lib/link-action.js +0 -55
  996. package/chips/action/lib/link-action.js.map +0 -1
  997. package/chips/action/lib/presentational-action.d.ts +0 -15
  998. package/chips/action/lib/presentational-action.js +0 -30
  999. package/chips/action/lib/presentational-action.js.map +0 -1
  1000. package/chips/action/lib/primary-action.d.ts +0 -28
  1001. package/chips/action/lib/primary-action.js +0 -88
  1002. package/chips/action/lib/primary-action.js.map +0 -1
  1003. package/chips/action/lib/selectable-action.d.ts +0 -17
  1004. package/chips/action/lib/selectable-action.js +0 -67
  1005. package/chips/action/lib/selectable-action.js.map +0 -1
  1006. package/chips/action/lib/types.d.ts +0 -23
  1007. package/chips/action/lib/types.js +0 -7
  1008. package/chips/action/lib/types.js.map +0 -1
  1009. package/chips/action/link-action.d.ts +0 -18
  1010. package/chips/action/link-action.js +0 -20
  1011. package/chips/action/link-action.js.map +0 -1
  1012. package/chips/action/presentational-action.d.ts +0 -18
  1013. package/chips/action/presentational-action.js +0 -20
  1014. package/chips/action/presentational-action.js.map +0 -1
  1015. package/chips/action/primary-action.d.ts +0 -18
  1016. package/chips/action/primary-action.js +0 -20
  1017. package/chips/action/primary-action.js.map +0 -1
  1018. package/chips/action/selectable-action.d.ts +0 -18
  1019. package/chips/action/selectable-action.js +0 -20
  1020. package/chips/action/selectable-action.js.map +0 -1
  1021. package/chips/chip/lib/_assist-chip-theme.scss +0 -95
  1022. package/chips/chip/lib/_chip-theme.scss +0 -1296
  1023. package/chips/chip/lib/_chip.scss +0 -442
  1024. package/chips/chip/lib/_filter-chip-theme.scss +0 -126
  1025. package/chips/chip/lib/_input-chip-theme.scss +0 -87
  1026. package/chips/chip/lib/_suggestion-chip-theme.scss +0 -88
  1027. package/chips/chip/lib/action-chip.d.ts +0 -18
  1028. package/chips/chip/lib/action-chip.js +0 -39
  1029. package/chips/chip/lib/action-chip.js.map +0 -1
  1030. package/chips/chip/lib/adapter.d.ts +0 -50
  1031. package/chips/chip/lib/adapter.js +0 -7
  1032. package/chips/chip/lib/adapter.js.map +0 -1
  1033. package/chips/chip/lib/animationframe.d.ts +0 -31
  1034. package/chips/chip/lib/animationframe.js +0 -66
  1035. package/chips/chip/lib/animationframe.js.map +0 -1
  1036. package/chips/chip/lib/chip.d.ts +0 -43
  1037. package/chips/chip/lib/chip.js +0 -134
  1038. package/chips/chip/lib/chip.js.map +0 -1
  1039. package/chips/chip/lib/constants.d.ts +0 -43
  1040. package/chips/chip/lib/constants.js +0 -48
  1041. package/chips/chip/lib/constants.js.map +0 -1
  1042. package/chips/chip/lib/foundation.d.ts +0 -41
  1043. package/chips/chip/lib/foundation.js +0 -255
  1044. package/chips/chip/lib/foundation.js.map +0 -1
  1045. package/chips/chip/lib/link-chip.d.ts +0 -21
  1046. package/chips/chip/lib/link-chip.js +0 -53
  1047. package/chips/chip/lib/link-chip.js.map +0 -1
  1048. package/chips/chip/lib/presentational-chip.d.ts +0 -18
  1049. package/chips/chip/lib/presentational-chip.js +0 -39
  1050. package/chips/chip/lib/presentational-chip.js.map +0 -1
  1051. package/chips/chip/lib/selectable-chip.d.ts +0 -22
  1052. package/chips/chip/lib/selectable-chip.js +0 -57
  1053. package/chips/chip/lib/selectable-chip.js.map +0 -1
  1054. package/chips/chip/lib/types.d.ts +0 -42
  1055. package/chips/chip/lib/types.js +0 -7
  1056. package/chips/chip/lib/types.js.map +0 -1
  1057. package/chips/chipset/lib/_chip-set-theme.scss +0 -48
  1058. package/chips/chipset/lib/_chip-set.scss +0 -46
  1059. package/chips/chipset/lib/adapter.d.ts +0 -45
  1060. package/chips/chipset/lib/adapter.js +0 -7
  1061. package/chips/chipset/lib/adapter.js.map +0 -1
  1062. package/chips/chipset/lib/constants.d.ts +0 -26
  1063. package/chips/chipset/lib/constants.js +0 -30
  1064. package/chips/chipset/lib/constants.js.map +0 -1
  1065. package/chips/chipset/lib/foundation.d.ts +0 -68
  1066. package/chips/chipset/lib/foundation.js +0 -314
  1067. package/chips/chipset/lib/foundation.js.map +0 -1
  1068. package/chips/chipset/lib/types.d.ts +0 -41
  1069. package/chips/chipset/lib/types.js +0 -7
  1070. package/chips/chipset/lib/types.js.map +0 -1
  1071. package/controller/action-controller.d.ts +0 -147
  1072. package/controller/action-controller.js +0 -286
  1073. package/controller/action-controller.js.map +0 -1
  1074. package/controller/events.js +0 -126
  1075. package/controller/events.js.map +0 -1
  1076. package/controller/form-associated.d.ts +0 -14
  1077. package/controller/form-associated.js +0 -12
  1078. package/controller/form-associated.js.map +0 -1
  1079. package/controller/form-controller.d.ts +0 -66
  1080. package/controller/form-controller.js +0 -82
  1081. package/controller/form-controller.js.map +0 -1
  1082. package/controller/foundation.d.ts +0 -24
  1083. package/controller/foundation.js +0 -18
  1084. package/controller/foundation.js.map +0 -1
  1085. package/controller/observer-foundation.d.ts +0 -25
  1086. package/controller/observer-foundation.js +0 -37
  1087. package/controller/observer-foundation.js.map +0 -1
  1088. package/controller/observer.d.ts +0 -52
  1089. package/controller/observer.js +0 -149
  1090. package/controller/observer.js.map +0 -1
  1091. package/controller/shim-label-activation.d.ts +0 -18
  1092. package/controller/shim-label-activation.js +0 -72
  1093. package/controller/shim-label-activation.js.map +0 -1
  1094. package/decorators/aria-property.d.ts +0 -32
  1095. package/decorators/aria-property.js +0 -99
  1096. package/decorators/aria-property.js.map +0 -1
  1097. package/decorators/bound.d.ts +0 -40
  1098. package/decorators/bound.js +0 -49
  1099. package/decorators/bound.js.map +0 -1
  1100. package/elevation/lib/_md-comp-elevation.scss +0 -23
  1101. package/fab/_fab-extended.scss +0 -6
  1102. package/fab/fab-extended.d.ts +0 -23
  1103. package/fab/fab-extended.js +0 -29
  1104. package/fab/fab-extended.js.map +0 -1
  1105. package/fab/lib/_fab-extended.scss +0 -73
  1106. package/fab/lib/fab-extended-styles.css.js +0 -9
  1107. package/fab/lib/fab-extended-styles.css.js.map +0 -1
  1108. package/fab/lib/fab-extended-styles.scss +0 -8
  1109. package/fab/lib/fab-extended.d.ts +0 -19
  1110. package/fab/lib/fab-extended.js +0 -28
  1111. package/fab/lib/fab-extended.js.map +0 -1
  1112. package/fab/lib/fab-shared-styles.css.js +0 -9
  1113. package/fab/lib/fab-shared-styles.css.js.map +0 -1
  1114. package/fab/lib/fab-shared-styles.scss +0 -8
  1115. package/fab/lib/fab-shared.d.ts +0 -51
  1116. package/fab/lib/fab-shared.js +0 -139
  1117. package/fab/lib/fab-shared.js.map +0 -1
  1118. package/field/lib/_md-comp-filled-field.scss +0 -72
  1119. package/field/lib/_md-comp-outlined-field.scss +0 -74
  1120. package/focus/lib/_md-comp-focus-ring.scss +0 -27
  1121. package/focus/strong-focus.d.ts +0 -45
  1122. package/focus/strong-focus.js +0 -86
  1123. package/focus/strong-focus.js.map +0 -1
  1124. package/iconbutton/filled-icon-button-toggle.d.ts +0 -31
  1125. package/iconbutton/filled-icon-button-toggle.js +0 -40
  1126. package/iconbutton/filled-icon-button-toggle.js.map +0 -1
  1127. package/iconbutton/filled-link-icon-button.d.ts +0 -31
  1128. package/iconbutton/filled-link-icon-button.js +0 -39
  1129. package/iconbutton/filled-link-icon-button.js.map +0 -1
  1130. package/iconbutton/filled-tonal-icon-button-toggle.d.ts +0 -31
  1131. package/iconbutton/filled-tonal-icon-button-toggle.js +0 -40
  1132. package/iconbutton/filled-tonal-icon-button-toggle.js.map +0 -1
  1133. package/iconbutton/filled-tonal-link-icon-button.d.ts +0 -31
  1134. package/iconbutton/filled-tonal-link-icon-button.js +0 -39
  1135. package/iconbutton/filled-tonal-link-icon-button.js.map +0 -1
  1136. package/iconbutton/lib/icon-button-toggle.d.ts +0 -63
  1137. package/iconbutton/lib/icon-button-toggle.js +0 -157
  1138. package/iconbutton/lib/icon-button-toggle.js.map +0 -1
  1139. package/iconbutton/lib/link-icon-button.d.ts +0 -23
  1140. package/iconbutton/lib/link-icon-button.js +0 -58
  1141. package/iconbutton/lib/link-icon-button.js.map +0 -1
  1142. package/iconbutton/outlined-icon-button-toggle.d.ts +0 -31
  1143. package/iconbutton/outlined-icon-button-toggle.js +0 -39
  1144. package/iconbutton/outlined-icon-button-toggle.js.map +0 -1
  1145. package/iconbutton/outlined-link-icon-button.d.ts +0 -31
  1146. package/iconbutton/outlined-link-icon-button.js +0 -39
  1147. package/iconbutton/outlined-link-icon-button.js.map +0 -1
  1148. package/iconbutton/standard-icon-button-toggle.d.ts +0 -31
  1149. package/iconbutton/standard-icon-button-toggle.js +0 -39
  1150. package/iconbutton/standard-icon-button-toggle.js.map +0 -1
  1151. package/iconbutton/standard-link-icon-button.d.ts +0 -31
  1152. package/iconbutton/standard-link-icon-button.js +0 -39
  1153. package/iconbutton/standard-link-icon-button.js.map +0 -1
  1154. package/list/lib/_tokens.scss +0 -80
  1155. package/list/lib/avatar/_list-item-avatar.scss +0 -38
  1156. package/list/lib/avatar/list-item-avatar-styles.css.js +0 -9
  1157. package/list/lib/avatar/list-item-avatar-styles.css.js.map +0 -1
  1158. package/list/lib/avatar/list-item-avatar-styles.scss +0 -8
  1159. package/list/lib/avatar/list-item-avatar.d.ts +0 -16
  1160. package/list/lib/avatar/list-item-avatar.js +0 -35
  1161. package/list/lib/avatar/list-item-avatar.js.map +0 -1
  1162. package/list/lib/divider/_list-divider.scss +0 -46
  1163. package/list/lib/divider/list-divider-styles.css.js +0 -9
  1164. package/list/lib/divider/list-divider-styles.css.js.map +0 -1
  1165. package/list/lib/divider/list-divider-styles.scss +0 -8
  1166. package/list/lib/divider/list-divider.d.ts +0 -13
  1167. package/list/lib/divider/list-divider.js +0 -32
  1168. package/list/lib/divider/list-divider.js.map +0 -1
  1169. package/list/lib/icon/_list-item-icon.scss +0 -65
  1170. package/list/lib/icon/list-item-icon-styles.css.js +0 -9
  1171. package/list/lib/icon/list-item-icon-styles.css.js.map +0 -1
  1172. package/list/lib/icon/list-item-icon-styles.scss +0 -8
  1173. package/list/lib/icon/list-item-icon.d.ts +0 -12
  1174. package/list/lib/icon/list-item-icon.js +0 -26
  1175. package/list/lib/icon/list-item-icon.js.map +0 -1
  1176. package/list/lib/image/_list-item-image.scss +0 -59
  1177. package/list/lib/image/list-item-image-styles.css.js +0 -9
  1178. package/list/lib/image/list-item-image-styles.css.js.map +0 -1
  1179. package/list/lib/image/list-item-image-styles.scss +0 -8
  1180. package/list/lib/image/list-item-image.d.ts +0 -14
  1181. package/list/lib/image/list-item-image.js +0 -37
  1182. package/list/lib/image/list-item-image.js.map +0 -1
  1183. package/list/lib/video/_list-item-video.scss +0 -61
  1184. package/list/lib/video/list-item-video-styles.css.js +0 -9
  1185. package/list/lib/video/list-item-video-styles.css.js.map +0 -1
  1186. package/list/lib/video/list-item-video-styles.scss +0 -8
  1187. package/list/lib/video/list-item-video.d.ts +0 -14
  1188. package/list/lib/video/list-item-video.js +0 -37
  1189. package/list/lib/video/list-item-video.js.map +0 -1
  1190. package/list/list-divider.d.ts +0 -19
  1191. package/list/list-divider.js +0 -22
  1192. package/list/list-divider.js.map +0 -1
  1193. package/list/list-item-avatar.d.ts +0 -19
  1194. package/list/list-item-avatar.js +0 -22
  1195. package/list/list-item-avatar.js.map +0 -1
  1196. package/list/list-item-icon.d.ts +0 -19
  1197. package/list/list-item-icon.js +0 -22
  1198. package/list/list-item-icon.js.map +0 -1
  1199. package/list/list-item-image.d.ts +0 -19
  1200. package/list/list-item-image.js +0 -22
  1201. package/list/list-item-image.js.map +0 -1
  1202. package/list/list-item-video.d.ts +0 -19
  1203. package/list/list-item-video.js +0 -22
  1204. package/list/list-item-video.js.map +0 -1
  1205. package/localization/localize.d.ts +0 -15
  1206. package/localization/localize.js +0 -18
  1207. package/localization/localize.js.map +0 -1
  1208. package/menu/lib/_menu-button.scss +0 -14
  1209. package/menu/lib/adapter.d.ts +0 -66
  1210. package/menu/lib/adapter.js +0 -7
  1211. package/menu/lib/adapter.js.map +0 -1
  1212. package/menu/lib/constants.d.ts +0 -22
  1213. package/menu/lib/constants.js +0 -23
  1214. package/menu/lib/constants.js.map +0 -1
  1215. package/menu/lib/foundation.d.ts +0 -49
  1216. package/menu/lib/foundation.js +0 -123
  1217. package/menu/lib/foundation.js.map +0 -1
  1218. package/menu/lib/menu-button-styles.css.js +0 -9
  1219. package/menu/lib/menu-button-styles.css.js.map +0 -1
  1220. package/menu/lib/menu-button-styles.scss +0 -8
  1221. package/menu/lib/menu-button.d.ts +0 -27
  1222. package/menu/lib/menu-button.js +0 -93
  1223. package/menu/lib/menu-button.js.map +0 -1
  1224. package/menu/menu-button.d.ts +0 -14
  1225. package/menu/menu-button.js +0 -17
  1226. package/menu/menu-button.js.map +0 -1
  1227. package/menusurface/_menu-surface.scss +0 -6
  1228. package/menusurface/lib/_md-comp-menu-surface.scss +0 -27
  1229. package/menusurface/lib/_menu-surface.scss +0 -118
  1230. package/menusurface/lib/adapter.d.ts +0 -46
  1231. package/menusurface/lib/adapter.js +0 -7
  1232. package/menusurface/lib/adapter.js.map +0 -1
  1233. package/menusurface/lib/constants.d.ts +0 -71
  1234. package/menusurface/lib/constants.js +0 -83
  1235. package/menusurface/lib/constants.js.map +0 -1
  1236. package/menusurface/lib/foundation.d.ts +0 -176
  1237. package/menusurface/lib/foundation.js +0 -544
  1238. package/menusurface/lib/foundation.js.map +0 -1
  1239. package/menusurface/lib/menu-surface-styles.css.js +0 -9
  1240. package/menusurface/lib/menu-surface-styles.css.js.map +0 -1
  1241. package/menusurface/lib/menu-surface-styles.scss +0 -8
  1242. package/menusurface/lib/menu-surface.d.ts +0 -62
  1243. package/menusurface/lib/menu-surface.js +0 -347
  1244. package/menusurface/lib/menu-surface.js.map +0 -1
  1245. package/menusurface/lib/types.d.ts +0 -19
  1246. package/menusurface/lib/types.js +0 -7
  1247. package/menusurface/lib/types.js.map +0 -1
  1248. package/menusurface/menu-surface.d.ts +0 -14
  1249. package/menusurface/menu-surface.js +0 -17
  1250. package/menusurface/menu-surface.js.map +0 -1
  1251. package/motion/animation.d.ts +0 -63
  1252. package/motion/animation.js +0 -66
  1253. package/motion/animation.js.map +0 -1
  1254. package/navigationbar/harness.d.ts +0 -19
  1255. package/navigationbar/harness.js +0 -29
  1256. package/navigationbar/harness.js.map +0 -1
  1257. package/navigationbar/lib/_navigation-bar.scss +0 -66
  1258. package/navigationbar/lib/constants.d.ts +0 -17
  1259. package/navigationbar/lib/navigation-bar-styles.css.js +0 -9
  1260. package/navigationbar/lib/navigation-bar-styles.css.js.map +0 -1
  1261. package/navigationbar/lib/navigation-bar-styles.scss +0 -8
  1262. package/navigationbar/lib/navigation-bar.d.ts +0 -27
  1263. package/navigationbar/lib/navigation-bar.js +0 -141
  1264. package/navigationbar/lib/navigation-bar.js.map +0 -1
  1265. package/navigationbar/navigation-bar.d.ts +0 -19
  1266. package/navigationbar/navigation-bar.js +0 -22
  1267. package/navigationbar/navigation-bar.js.map +0 -1
  1268. package/navigationdrawer/lib/_navigation-drawer-modal.scss +0 -105
  1269. package/navigationdrawer/lib/_navigation-drawer.scss +0 -100
  1270. package/navigationdrawer/lib/_shared.scss +0 -44
  1271. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js +0 -9
  1272. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js.map +0 -1
  1273. package/navigationdrawer/lib/navigation-drawer-modal-styles.scss +0 -8
  1274. package/navigationdrawer/lib/navigation-drawer-modal.d.ts +0 -24
  1275. package/navigationdrawer/lib/navigation-drawer-modal.js +0 -105
  1276. package/navigationdrawer/lib/navigation-drawer-modal.js.map +0 -1
  1277. package/navigationdrawer/lib/navigation-drawer-styles.css.js +0 -9
  1278. package/navigationdrawer/lib/navigation-drawer-styles.css.js.map +0 -1
  1279. package/navigationdrawer/lib/navigation-drawer-styles.scss +0 -8
  1280. package/navigationdrawer/lib/navigation-drawer.d.ts +0 -21
  1281. package/navigationdrawer/lib/navigation-drawer.js +0 -87
  1282. package/navigationdrawer/lib/navigation-drawer.js.map +0 -1
  1283. package/navigationdrawer/lib/shared-styles.css.js +0 -9
  1284. package/navigationdrawer/lib/shared-styles.css.js.map +0 -1
  1285. package/navigationdrawer/lib/shared-styles.scss +0 -8
  1286. package/navigationdrawer/navigation-drawer-modal.d.ts +0 -19
  1287. package/navigationdrawer/navigation-drawer-modal.js +0 -23
  1288. package/navigationdrawer/navigation-drawer-modal.js.map +0 -1
  1289. package/navigationdrawer/navigation-drawer.d.ts +0 -19
  1290. package/navigationdrawer/navigation-drawer.js +0 -23
  1291. package/navigationdrawer/navigation-drawer.js.map +0 -1
  1292. package/navigationtab/harness.d.ts +0 -13
  1293. package/navigationtab/harness.js +0 -16
  1294. package/navigationtab/harness.js.map +0 -1
  1295. package/navigationtab/lib/_navigation-tab.scss +0 -274
  1296. package/navigationtab/lib/navigation-tab-styles.css.js +0 -9
  1297. package/navigationtab/lib/navigation-tab-styles.css.js.map +0 -1
  1298. package/navigationtab/lib/navigation-tab-styles.scss +0 -8
  1299. package/navigationtab/lib/navigation-tab.d.ts +0 -48
  1300. package/navigationtab/lib/navigation-tab.js +0 -174
  1301. package/navigationtab/lib/navigation-tab.js.map +0 -1
  1302. package/navigationtab/lib/state.d.ts +0 -24
  1303. package/navigationtab/lib/state.js.map +0 -1
  1304. package/navigationtab/navigation-tab.d.ts +0 -19
  1305. package/navigationtab/navigation-tab.js +0 -22
  1306. package/navigationtab/navigation-tab.js.map +0 -1
  1307. package/ripple/directive.d.ts +0 -63
  1308. package/ripple/directive.js +0 -266
  1309. package/ripple/directive.js.map +0 -1
  1310. package/ripple/lib/_md-comp-ripple.scss +0 -29
  1311. package/sass/_assert.scss +0 -21
  1312. package/sass/_color-scheme.scss +0 -88
  1313. package/sass/_color.scss +0 -166
  1314. package/sass/_dom.scss +0 -52
  1315. package/sass/_elevation.scss +0 -155
  1316. package/sass/_feature-flags.scss +0 -117
  1317. package/sass/_map-ext.scss +0 -25
  1318. package/sass/_resolvers.scss +0 -16
  1319. package/sass/_shape.scss +0 -106
  1320. package/sass/_string-ext.scss +0 -128
  1321. package/sass/_theme.scss +0 -245
  1322. package/sass/_touch-target.scss +0 -22
  1323. package/sass/_typography.scss +0 -114
  1324. package/sass/_var.scss +0 -241
  1325. package/segmentedbutton/lib/_outlined-segmented-button.scss +0 -42
  1326. package/segmentedbutton/lib/_shared.scss +0 -388
  1327. package/segmentedbutton/lib/outlined-segmented-button.d.ts +0 -15
  1328. package/segmentedbutton/lib/outlined-segmented-button.js +0 -22
  1329. package/segmentedbutton/lib/outlined-segmented-button.js.map +0 -1
  1330. package/segmentedbutton/lib/outlined-styles.css.js +0 -9
  1331. package/segmentedbutton/lib/outlined-styles.css.js.map +0 -1
  1332. package/segmentedbutton/lib/outlined-styles.scss +0 -8
  1333. package/segmentedbutton/lib/segmented-button.d.ts +0 -60
  1334. package/segmentedbutton/lib/segmented-button.js +0 -229
  1335. package/segmentedbutton/lib/segmented-button.js.map +0 -1
  1336. package/segmentedbutton/lib/shared-styles.css.js +0 -9
  1337. package/segmentedbutton/lib/shared-styles.css.js.map +0 -1
  1338. package/segmentedbutton/lib/shared-styles.scss +0 -8
  1339. package/segmentedbutton/outlined-segmented-button.d.ts +0 -21
  1340. package/segmentedbutton/outlined-segmented-button.js +0 -25
  1341. package/segmentedbutton/outlined-segmented-button.js.map +0 -1
  1342. package/segmentedbuttonset/lib/_outlined-segmented-button-set.scss +0 -30
  1343. package/segmentedbuttonset/lib/_shared.scss +0 -46
  1344. package/segmentedbuttonset/lib/outlined-segmented-button-set.d.ts +0 -12
  1345. package/segmentedbuttonset/lib/outlined-segmented-button-set.js +0 -17
  1346. package/segmentedbuttonset/lib/outlined-segmented-button-set.js.map +0 -1
  1347. package/segmentedbuttonset/lib/outlined-styles.css.js +0 -9
  1348. package/segmentedbuttonset/lib/outlined-styles.css.js.map +0 -1
  1349. package/segmentedbuttonset/lib/outlined-styles.scss +0 -8
  1350. package/segmentedbuttonset/lib/segmented-button-set.d.ts +0 -34
  1351. package/segmentedbuttonset/lib/segmented-button-set.js +0 -118
  1352. package/segmentedbuttonset/lib/segmented-button-set.js.map +0 -1
  1353. package/segmentedbuttonset/lib/shared-styles.scss +0 -8
  1354. package/segmentedbuttonset/outlined-segmented-button-set.d.ts +0 -21
  1355. package/segmentedbuttonset/outlined-segmented-button-set.js +0 -25
  1356. package/segmentedbuttonset/outlined-segmented-button-set.js.map +0 -1
  1357. package/tokens/v0_150/_index.scss +0 -107
  1358. package/tokens/v0_150/_md-comp-assist-chip.scss +0 -109
  1359. package/tokens/v0_150/_md-comp-badge.scss +0 -58
  1360. package/tokens/v0_150/_md-comp-banner.scss +0 -116
  1361. package/tokens/v0_150/_md-comp-bottom-app-bar.scss +0 -36
  1362. package/tokens/v0_150/_md-comp-carousel-item.scss +0 -65
  1363. package/tokens/v0_150/_md-comp-checkbox.scss +0 -147
  1364. package/tokens/v0_150/_md-comp-circular-progress-indicator.scss +0 -39
  1365. package/tokens/v0_150/_md-comp-data-table.scss +0 -100
  1366. package/tokens/v0_150/_md-comp-date-input-modal.scss +0 -89
  1367. package/tokens/v0_150/_md-comp-date-picker-docked.scss +0 -246
  1368. package/tokens/v0_150/_md-comp-date-picker-modal.scss +0 -305
  1369. package/tokens/v0_150/_md-comp-dialog.scss +0 -146
  1370. package/tokens/v0_150/_md-comp-divider.scss +0 -25
  1371. package/tokens/v0_150/_md-comp-elevated-button.scss +0 -91
  1372. package/tokens/v0_150/_md-comp-elevated-card.scss +0 -59
  1373. package/tokens/v0_150/_md-comp-extended-fab-branded.scss +0 -86
  1374. package/tokens/v0_150/_md-comp-extended-fab-primary.scss +0 -94
  1375. package/tokens/v0_150/_md-comp-extended-fab-secondary.scss +0 -95
  1376. package/tokens/v0_150/_md-comp-extended-fab-surface.scss +0 -90
  1377. package/tokens/v0_150/_md-comp-extended-fab-tertiary.scss +0 -97
  1378. package/tokens/v0_150/_md-comp-fab-branded-large.scss +0 -61
  1379. package/tokens/v0_150/_md-comp-fab-branded.scss +0 -60
  1380. package/tokens/v0_150/_md-comp-fab-primary-large.scss +0 -65
  1381. package/tokens/v0_150/_md-comp-fab-primary-small.scss +0 -65
  1382. package/tokens/v0_150/_md-comp-fab-primary.scss +0 -65
  1383. package/tokens/v0_150/_md-comp-fab-secondary-large.scss +0 -66
  1384. package/tokens/v0_150/_md-comp-fab-secondary-small.scss +0 -66
  1385. package/tokens/v0_150/_md-comp-fab-secondary.scss +0 -66
  1386. package/tokens/v0_150/_md-comp-fab-surface-large.scss +0 -64
  1387. package/tokens/v0_150/_md-comp-fab-surface-small.scss +0 -64
  1388. package/tokens/v0_150/_md-comp-fab-surface.scss +0 -64
  1389. package/tokens/v0_150/_md-comp-fab-tertiary-large.scss +0 -66
  1390. package/tokens/v0_150/_md-comp-fab-tertiary-small.scss +0 -66
  1391. package/tokens/v0_150/_md-comp-fab-tertiary.scss +0 -66
  1392. package/tokens/v0_150/_md-comp-filled-autocomplete.scss +0 -268
  1393. package/tokens/v0_150/_md-comp-filled-button.scss +0 -95
  1394. package/tokens/v0_150/_md-comp-filled-card.scss +0 -60
  1395. package/tokens/v0_150/_md-comp-filled-icon-button.scss +0 -79
  1396. package/tokens/v0_150/_md-comp-filled-menu-button.scss +0 -98
  1397. package/tokens/v0_150/_md-comp-filled-select.scss +0 -276
  1398. package/tokens/v0_150/_md-comp-filled-text-field.scss +0 -190
  1399. package/tokens/v0_150/_md-comp-filled-tonal-button.scss +0 -99
  1400. package/tokens/v0_150/_md-comp-filled-tonal-icon-button.scss +0 -86
  1401. package/tokens/v0_150/_md-comp-filter-chip.scss +0 -237
  1402. package/tokens/v0_150/_md-comp-full-screen-dialog.scss +0 -161
  1403. package/tokens/v0_150/_md-comp-icon-button.scss +0 -70
  1404. package/tokens/v0_150/_md-comp-input-chip.scss +0 -234
  1405. package/tokens/v0_150/_md-comp-linear-progress-indicator.scss +0 -41
  1406. package/tokens/v0_150/_md-comp-list.scss +0 -257
  1407. package/tokens/v0_150/_md-comp-menu.scss +0 -123
  1408. package/tokens/v0_150/_md-comp-navigation-bar.scss +0 -121
  1409. package/tokens/v0_150/_md-comp-navigation-drawer.scss +0 -168
  1410. package/tokens/v0_150/_md-comp-navigation-rail.scss +0 -168
  1411. package/tokens/v0_150/_md-comp-outlined-autocomplete.scss +0 -258
  1412. package/tokens/v0_150/_md-comp-outlined-button.scss +0 -88
  1413. package/tokens/v0_150/_md-comp-outlined-card.scss +0 -65
  1414. package/tokens/v0_150/_md-comp-outlined-icon-button.scss +0 -81
  1415. package/tokens/v0_150/_md-comp-outlined-menu-button.scss +0 -94
  1416. package/tokens/v0_150/_md-comp-outlined-segmented-button.scss +0 -112
  1417. package/tokens/v0_150/_md-comp-outlined-select.scss +0 -266
  1418. package/tokens/v0_150/_md-comp-outlined-text-field.scss +0 -172
  1419. package/tokens/v0_150/_md-comp-plain-tooltip.scss +0 -55
  1420. package/tokens/v0_150/_md-comp-primary-navigation-tab.scss +0 -123
  1421. package/tokens/v0_150/_md-comp-radio-button.scss +0 -68
  1422. package/tokens/v0_150/_md-comp-rich-tooltip.scss +0 -121
  1423. package/tokens/v0_150/_md-comp-scrim.scss +0 -25
  1424. package/tokens/v0_150/_md-comp-search-bar.scss +0 -99
  1425. package/tokens/v0_150/_md-comp-search-view.scss +0 -93
  1426. package/tokens/v0_150/_md-comp-secondary-navigation-tab.scss +0 -86
  1427. package/tokens/v0_150/_md-comp-sheet-bottom.scss +0 -45
  1428. package/tokens/v0_150/_md-comp-sheet-floating.scss +0 -34
  1429. package/tokens/v0_150/_md-comp-sheet-side.scss +0 -89
  1430. package/tokens/v0_150/_md-comp-slider.scss +0 -116
  1431. package/tokens/v0_150/_md-comp-snackbar.scss +0 -127
  1432. package/tokens/v0_150/_md-comp-standard-menu-button.scss +0 -98
  1433. package/tokens/v0_150/_md-comp-suggestion-chip.scss +0 -125
  1434. package/tokens/v0_150/_md-comp-switch.scss +0 -145
  1435. package/tokens/v0_150/_md-comp-text-button.scss +0 -81
  1436. package/tokens/v0_150/_md-comp-time-input.scss +0 -218
  1437. package/tokens/v0_150/_md-comp-time-picker.scss +0 -267
  1438. package/tokens/v0_150/_md-comp-top-app-bar-large.scss +0 -63
  1439. package/tokens/v0_150/_md-comp-top-app-bar-medium.scss +0 -63
  1440. package/tokens/v0_150/_md-comp-top-app-bar-small-centered.scss +0 -67
  1441. package/tokens/v0_150/_md-comp-top-app-bar-small.scss +0 -65
  1442. package/tokens/v0_150/_md-ref-palette.scss +0 -107
  1443. package/tokens/v0_150/_md-ref-typeface.scss +0 -21
  1444. package/tokens/v0_150/_md-sys-color.scss +0 -706
  1445. package/tokens/v0_150/_md-sys-elevation.scss +0 -30
  1446. package/tokens/v0_150/_md-sys-motion.scss +0 -53
  1447. package/tokens/v0_150/_md-sys-shape.scss +0 -30
  1448. package/tokens/v0_150/_md-sys-state.scss +0 -19
  1449. package/tokens/v0_150/_md-sys-typescale.scss +0 -285
  1450. package/tokens/v0_150/index.test.scss +0 -584
  1451. package/tokens/v0_150/lib.test.scss +0 -663
  1452. package/types/aria.d.ts +0 -48
  1453. package/types/keys.d.ts +0 -57
  1454. /package/{autocomplete/lib/autocompletelist/autocomplete-list-styles.css.d.ts → chips/lib/assist-styles.css.d.ts} +0 -0
  1455. /package/{autocomplete/lib/autocompletesurface/autocomplete-surface-styles.css.d.ts → chips/lib/chip-set-styles.css.d.ts} +0 -0
  1456. /package/{autocomplete/lib/filled-styles.css.d.ts → chips/lib/elevated-styles.css.d.ts} +0 -0
  1457. /package/{autocomplete/lib/outlined-styles.css.d.ts → chips/lib/filter-styles.css.d.ts} +0 -0
  1458. /package/{autocomplete/lib/shared-styles.css.d.ts → chips/lib/input-styles.css.d.ts} +0 -0
  1459. /package/{badge/lib/badge-styles.css.d.ts → chips/lib/selectable-styles.css.d.ts} +0 -0
  1460. /package/{navigationdrawer → chips}/lib/shared-styles.css.d.ts +0 -0
  1461. /package/{fab/lib/fab-extended-styles.css.d.ts → chips/lib/suggestion-styles.css.d.ts} +0 -0
  1462. /package/{fab/lib/fab-shared-styles.css.d.ts → chips/lib/trailing-icon-styles.css.d.ts} +0 -0
  1463. /package/{list/lib/avatar/list-item-avatar-styles.css.d.ts → circularprogress/lib/circular-progress-styles.css.d.ts} +0 -0
  1464. /package/{list/lib/divider/list-divider-styles.css.d.ts → dialog/lib/dialog-styles.css.d.ts} +0 -0
  1465. /package/{list/lib/icon/list-item-icon-styles.css.d.ts → divider/lib/divider-styles.css.d.ts} +0 -0
  1466. /package/{list/lib/image/list-item-image-styles.css.d.ts → fab/lib/fab-branded-styles.css.d.ts} +0 -0
  1467. /package/{list/lib/video/list-item-video-styles.css.d.ts → fab/lib/forced-colors-styles.css.d.ts} +0 -0
  1468. /package/{segmentedbutton → fab}/lib/shared-styles.css.d.ts +0 -0
  1469. /package/{controller → internal/controller}/events.d.ts +0 -0
  1470. /package/{controller → internal/controller}/is-rtl.d.ts +0 -0
  1471. /package/{controller → internal/controller}/is-rtl.js +0 -0
  1472. /package/{controller → internal/controller}/is-rtl.js.map +0 -0
  1473. /package/{controller → internal/controller}/string-converter.d.ts +0 -0
  1474. /package/{controller → internal/controller}/string-converter.js +0 -0
  1475. /package/{controller → internal/controller}/string-converter.js.map +0 -0
  1476. /package/{motion → internal/motion}/_animation.scss +0 -0
  1477. /package/{badge → labs/badge}/_badge.scss +0 -0
  1478. /package/{menu/lib/menu-button-styles.css.d.ts → labs/badge/lib/badge-styles.css.d.ts} +0 -0
  1479. /package/{navigationbar → labs/navigationbar}/_navigation-bar.scss +0 -0
  1480. /package/{navigationbar → labs/navigationbar}/lib/constants.js +0 -0
  1481. /package/{navigationbar → labs/navigationbar}/lib/constants.js.map +0 -0
  1482. /package/{navigationbar → labs/navigationbar}/lib/navigation-bar-styles.css.d.ts +0 -0
  1483. /package/{navigationbar → labs/navigationbar}/lib/state.d.ts +0 -0
  1484. /package/{navigationbar → labs/navigationbar}/lib/state.js +0 -0
  1485. /package/{navigationbar → labs/navigationbar}/lib/state.js.map +0 -0
  1486. /package/{navigationdrawer → labs/navigationdrawer}/_navigation-drawer-modal.scss +0 -0
  1487. /package/{navigationdrawer → labs/navigationdrawer}/_navigation-drawer.scss +0 -0
  1488. /package/{navigationdrawer → labs/navigationdrawer}/lib/navigation-drawer-modal-styles.css.d.ts +0 -0
  1489. /package/{navigationdrawer → labs/navigationdrawer}/lib/navigation-drawer-styles.css.d.ts +0 -0
  1490. /package/{segmentedbuttonset → labs/navigationdrawer}/lib/shared-styles.css.d.ts +0 -0
  1491. /package/{navigationtab → labs/navigationtab}/_navigation-tab.scss +0 -0
  1492. /package/{navigationtab → labs/navigationtab}/lib/navigation-tab-styles.css.d.ts +0 -0
  1493. /package/{navigationtab → labs/navigationtab}/lib/state.js +0 -0
  1494. /package/{segmentedbutton → labs/segmentedbutton}/lib/outlined-styles.css.d.ts +0 -0
  1495. /package/{menusurface/lib/menu-surface-styles.css.d.ts → labs/segmentedbutton/lib/shared-styles.css.d.ts} +0 -0
  1496. /package/{segmentedbuttonset → labs/segmentedbuttonset}/lib/outlined-styles.css.d.ts +0 -0
  1497. /package/{tokens/v0_150/index.test.css.d.ts → labs/segmentedbuttonset/lib/shared-styles.css.d.ts} +0 -0
  1498. /package/{segmentedbuttonset → labs/segmentedbuttonset}/lib/shared-styles.css.js +0 -0
  1499. /package/{segmentedbuttonset → labs/segmentedbuttonset}/lib/shared-styles.css.js.map +0 -0
  1500. /package/{tokens/v0_150/lib.test.css.d.ts → linearprogress/lib/linear-progress-styles.css.d.ts} +0 -0
  1501. /package/tokens/{v0_150 → v0_172}/index.test.css.js +0 -0
  1502. /package/tokens/{v0_150 → v0_172}/index.test.css.js.map +0 -0
  1503. /package/tokens/{v0_150 → v0_172}/lib.test.css.js +0 -0
  1504. /package/tokens/{v0_150 → v0_172}/lib.test.css.js.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","sourceRoot":"","sources":["menu.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 '../../list/list.js';\nimport '../../menusurface/menu-surface.js';\n\nimport {html, LitElement} from 'lit';\nimport {property, query} from 'lit/decorators.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\n\nimport {ariaProperty} from '../../decorators/aria-property.js';\nimport {List} from '../../list/lib/list.js';\nimport {ListItem} from '../../list/lib/listitem/list-item.js';\nimport {Corner, MenuSurface} from '../../menusurface/lib/menu-surface.js';\n\nimport {MDCMenuAdapter} from './adapter.js';\nimport {MDCMenuFoundation} from './foundation.js';\n\ninterface ActionDetail {\n item: ListItem;\n}\n\n/** Element to focus on when menu is first opened. */\nexport type DefaultFocusState = 'NONE'|'LIST_ROOT'|'FIRST_ITEM'|'LAST_ITEM';\n\n/**\n * @fires selected {SelectedDetail}\n * @fires action {ActionDetail}\n * @fires items-updated\n * @fires opened\n * @fires closed\n */\nexport abstract class Menu extends LitElement {\n protected mdcFoundation!: MDCMenuFoundation;\n\n protected listElementInternal: List|null = null;\n\n @query('.md3-menu') mdcRoot!: MenuSurface;\n\n @query('slot') slotElement!: HTMLSlotElement|null;\n\n @property({type: Object}) anchor: HTMLElement|null = null;\n\n @ariaProperty // tslint:disable-line:no-new-decorators\n @property({type: String, attribute: 'data-aria-label', noAccessor: true})\n override ariaLabel!: string;\n\n @property({type: Boolean, reflect: true}) open = false;\n\n @property({type: Boolean}) quick = false;\n\n @property({type: String}) corner: Corner = 'BOTTOM_START';\n\n @property({type: Number}) x: number|null = null;\n\n @property({type: Number}) y: number|null = null;\n\n @property({type: Boolean}) absolute = false;\n\n @property({type: Boolean}) activatable = false;\n\n @property({type: Boolean}) fixed = false;\n\n @property({type: Boolean}) forceGroupSelection = false;\n\n @property({type: Boolean}) fullwidth = false;\n\n @property({type: Boolean}) flipMenuHorizontally = false;\n\n @property({type: Boolean}) stayOpenOnBodyClick = false;\n\n @property({type: Boolean}) skipRestoreFocus = false;\n\n @property({type: String}) defaultFocus: DefaultFocusState = 'LIST_ROOT';\n\n protected listUpdateComplete: null|Promise<unknown> = null;\n\n protected get listElement() {\n if (!this.listElementInternal) {\n this.listElementInternal = this.renderRoot.querySelector('md-list');\n return this.listElementInternal;\n }\n\n return this.listElementInternal;\n }\n\n get items(): ListItem[] {\n const listElement = this.listElement;\n\n if (listElement) {\n return listElement.items;\n }\n\n return [];\n }\n\n override render() {\n return html`\n <md-menu-surface\n ?hidden=${!this.open}\n .anchor=${this.anchor}\n .open=${this.open}\n .quick=${this.quick}\n .corner=${this.corner}\n .x=${this.x}\n .y=${this.y}\n .absolute=${this.absolute}\n .fixed=${this.fixed}\n .fullwidth=${this.fullwidth}\n .flipMenuHorizontally=${this.flipMenuHorizontally}\n .skipRestoreFocus=${this.skipRestoreFocus}\n ?stayOpenOnBodyClick=${this.stayOpenOnBodyClick}\n class=\"md3-menu\"\n @closed=${this.onClosed}\n @opened=${this.onOpened}\n @keydown=${this.onKeydown}>\n <md-list\n aria-label=\"${ifDefined(this.ariaLabel)}\"\n role=${'menu'}\n .listTabIndex=${\n - 1}\n .listItemTagName=${this.getMenuItemTagName()}\n @action=${this.onAction}>\n <slot></slot>\n </md-list>\n </md-menu-surface>`;\n }\n\n protected getMenuItemTagName() {\n return 'md-menu-item';\n }\n\n protected createAdapter(): MDCMenuAdapter {\n return {\n addClassToElementAtIndex: (index, className) => {\n const listElement = this.listElement;\n if (!listElement) {\n return;\n }\n\n const element = listElement.items[index];\n\n if (!element) {\n return;\n }\n\n element.classList.add(className);\n },\n removeClassFromElementAtIndex: (index, className) => {\n const listElement = this.listElement;\n if (!listElement) {\n return;\n }\n\n const element = listElement.items[index];\n\n if (!element) {\n return;\n }\n\n element.classList.remove(className);\n },\n addAttributeToElementAtIndex: (index, attr, value) => {\n // TODO(b/240174946): This method is only used for setting\n // `aria-checked` and `aria-disabled` on the menu items when selected\n // and disabled states change. Remove this in favor of adding to the\n // template declaratively.\n },\n removeAttributeFromElementAtIndex: (index, attr) => {\n const listElement = this.listElement;\n if (!listElement) {\n return;\n }\n\n const element = listElement.items[index];\n\n if (!element) {\n return;\n }\n\n element.removeAttribute(attr);\n },\n getAttributeFromElementAtIndex: (index, attr) => {\n const listElement = this.listElement;\n if (!listElement) {\n return null;\n }\n\n const element = listElement.items[index];\n\n if (!element) {\n return null;\n }\n\n return element.getAttribute(attr);\n },\n elementContainsClass: (element, className) =>\n element.classList.contains(className),\n closeSurface: (skipRestoreFocus) => {\n this.skipRestoreFocus = Boolean(skipRestoreFocus);\n this.open = false;\n },\n getElementIndex: (element) => {\n const listElement = this.listElement;\n if (listElement) {\n return listElement.items.indexOf(element as ListItem);\n }\n\n return -1;\n },\n notifySelected: () => {/** handled by list */},\n getMenuItemCount: () => {\n const listElement = this.listElement;\n if (!listElement) {\n return 0;\n }\n\n return listElement.items.length;\n },\n getSelectedSiblingOfItemAtIndex: (index) => {\n const listElement = this.listElement;\n\n if (!listElement) {\n return -1;\n }\n\n // TODO(b/240177152): Remove/refactor this when implementing keyboard\n // navigation support.\n // const elementAtIndex = listElement.items[index];\n // if (!elementAtIndex || !elementAtIndex.group) {\n // return -1;\n // }\n // for (let i = 0; i < listElement.items.length; i++) {\n // if (i === index) {\n // continue;\n // }\n // const current = listElement.items[i];\n // if (current.selected && current.group === elementAtIndex.group) {\n // return i;\n // }\n // }\n\n return -1;\n },\n isSelectableItemAtIndex: (index) => {\n const listElement = this.listElement;\n\n if (!listElement) {\n return false;\n }\n\n const elementAtIndex = listElement.items[index];\n\n if (!elementAtIndex) {\n return false;\n }\n\n return elementAtIndex.hasAttribute('group');\n },\n };\n }\n\n protected onKeydown(evt: KeyboardEvent) {\n if (this.mdcFoundation) {\n this.mdcFoundation.handleKeydown(evt);\n }\n }\n\n protected onAction(evt: CustomEvent<ActionDetail>) {\n const listElement = this.listElement;\n if (this.mdcFoundation && listElement) {\n const el = evt.detail.item;\n\n if (el) {\n this.mdcFoundation.handleItemAction(el);\n }\n }\n }\n\n protected onOpened() {\n this.skipRestoreFocus = false;\n this.open = true;\n\n this.listElement?.resetActiveListItem();\n switch (this.defaultFocus) {\n case 'FIRST_ITEM':\n this.listElement?.activateFirstItem();\n break;\n case 'LAST_ITEM':\n this.listElement?.activateLastItem();\n break;\n case 'NONE':\n // Do nothing.\n break;\n case 'LIST_ROOT':\n default:\n this.listElement?.focus();\n break;\n }\n }\n\n protected onClosed() {\n this.open = false;\n }\n\n // tslint:disable:ban-ts-suppressions\n protected override async getUpdateComplete() {\n await this.listUpdateComplete;\n // @ts-ignore\n const result = await super.getUpdateComplete();\n return result;\n }\n // tslint:enable:ban-ts-suppressions\n\n protected override async firstUpdated() {\n if (this.mdcFoundation !== undefined) {\n this.mdcFoundation.destroy();\n }\n this.mdcFoundation = new MDCMenuFoundation(this.createAdapter());\n\n const listElement = this.listElement;\n\n if (listElement) {\n this.listUpdateComplete = listElement.updateComplete;\n await this.listUpdateComplete;\n }\n }\n\n close() {\n this.open = false;\n }\n\n show() {\n this.open = true;\n }\n}\n"]}
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["menu.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 '../../list/list.js';\nimport '../../focus/focus-ring.js';\nimport '../../elevation/elevation.js';\n\nimport {html, isServer, LitElement, nothing} from 'lit';\nimport {eventOptions, property, query, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {styleMap} from 'lit/directives/style-map.js';\n\nimport {ARIAMixinStrict, ARIARole} from '../../internal/aria/aria.js';\nimport {requestUpdateOnAriaChange} from '../../internal/aria/delegate.js';\nimport {List} from '../../list/lib/list.js';\nimport {createAnimationSignal, EASING} from '../../internal/motion/animation.js';\n\nimport {ActivateTypeaheadEvent, DeactivateTypeaheadEvent, isElementInSubtree, MenuItem} from './shared.js';\nimport {Corner, SurfacePositionController, SurfacePositionTarget} from './surfacePositionController.js';\nimport {TypeaheadController} from './typeaheadController.js';\n\nexport {Corner} from './surfacePositionController.js';\n\n/**\n * The default value for the typeahead buffer time in Milliseconds.\n */\nexport const DEFAULT_TYPEAHEAD_BUFFER_TIME = 200;\n\n/**\n * Element to focus on when menu is first opened.\n */\nexport type DefaultFocusState = 'NONE'|'LIST_ROOT'|'FIRST_ITEM'|'LAST_ITEM';\n\n/**\n * Gets the currently focused element on the page.\n *\n * @param activeDoc The document or shadowroot from which to start the search.\n * Defaults to `window.document`\n * @return Returns the currently deeply focused element or `null` if none.\n */\nfunction getFocusedElement(activeDoc: Document|ShadowRoot = document):\n HTMLElement|null {\n const activeEl = activeDoc.activeElement as HTMLElement | null;\n\n if (!activeEl) {\n return null;\n }\n\n if (activeEl.shadowRoot) {\n return getFocusedElement(activeEl.shadowRoot) ?? activeEl;\n }\n\n return activeEl;\n}\n\n/**\n * @fires opening Fired before the opening animation begins\n * @fires opened Fired once the menu is open, after any animations\n * @fires closing Fired before the closing animation begins\n * @fires closed Fired once the menu is closed, after any animations\n */\nexport abstract class Menu extends LitElement {\n static {\n requestUpdateOnAriaChange(this);\n }\n\n @query('md-list') private readonly listElement!: List|null;\n @query('.menu') private readonly surfaceEl!: HTMLElement|null;\n @query('slot') private readonly slotEl!: HTMLSlotElement|null;\n\n /**\n * The element in which the menu should align to.\n */\n @property({attribute: false})\n anchor: HTMLElement&Partial<SurfacePositionTarget>|null = null;\n /**\n * Makes the element use `position:fixed` instead of `position:absolute`. In\n * most cases, the menu should position itself above most other\n * `position:absolute` or `position:fixed` elements when placed inside of\n * them. e.g. using a menu inside of an `md-dialog`.\n *\n * __NOTE__: Fixed menus will not scroll with the page and will be fixed to\n * the window instead.\n */\n @property({type: Boolean}) fixed = false;\n /**\n * Skips the opening and closing animations.\n */\n @property({type: Boolean}) quick = false;\n /**\n * Displays overflow content like a submenu.\n *\n * __NOTE__: This may cause adverse effects if you set\n * `md-menu {max-height:...}`\n * and have items overflowing items in the \"y\" direction.\n */\n @property({type: Boolean, attribute: 'has-overflow'}) hasOverflow = false;\n /**\n * Opens the menu and makes it visible. Alternative to the `.show()` and\n * `.close()` methods\n */\n @property({type: Boolean, reflect: true}) open = false;\n /**\n * Offsets the menu's inline alignment from the anchor by the given number in\n * pixels. This value is direction aware and will follow the LTR / RTL\n * direction.\n *\n * e.g. LTR: positive -> right, negative -> left\n * RTL: positive -> left, negative -> right\n */\n @property({type: Number, attribute: 'x-offset'}) xOffset = 0;\n /**\n * Offsets the menu's block alignment from the anchor by the given number in\n * pixels.\n *\n * e.g. positive -> down, negative -> up\n */\n @property({type: Number, attribute: 'y-offset'}) yOffset = 0;\n /**\n * The tabindex of the underlying list element.\n */\n @property({type: Number, attribute: 'list-tab-index'}) listTabIndex = 0;\n /**\n * The role of the underlying list element.\n */\n @property() type: ARIARole = 'menu';\n /**\n * The max time between the keystrokes of the typeahead menu behavior before\n * it clears the typeahead buffer.\n */\n @property({type: Number, attribute: 'typeahead-delay'})\n typeaheadBufferTime = DEFAULT_TYPEAHEAD_BUFFER_TIME;\n /**\n * The corner of the anchor which to align the menu in the standard logical\n * property style of <block>_<inline>.\n */\n @property({attribute: 'anchor-corner'}) anchorCorner: Corner = 'END_START';\n /**\n * The corner of the menu which to align the anchor in the standard logical\n * property style of <block>_<inline>.\n */\n @property({attribute: 'menu-corner'}) menuCorner: Corner = 'START_START';\n /**\n * Keeps the user clicks outside the menu.\n *\n * NOTE: clicking outside may still cause focusout to close the menu so see\n * `stayOpenOnFocusout`.\n */\n @property({type: Boolean, attribute: 'stay-open-on-outside-click'})\n stayOpenOnOutsideClick = false;\n /**\n * Keeps the menu open when focus leaves the menu's composed subtree.\n *\n * NOTE: Focusout behavior will stop propagation of the focusout event. Set\n * this property to true to opt-out of menu's focuout handling altogether.\n */\n @property({type: Boolean, attribute: 'stay-open-on-focusout'})\n stayOpenOnFocusout = false;\n /**\n * After closing, does not restore focus to the last focused element before\n * the menu was opened.\n */\n @property({type: Boolean, attribute: 'skip-restore-focus'})\n skipRestoreFocus = false;\n /**\n * The element that should be focused by default once opened.\n */\n @property({attribute: 'default-focus'})\n defaultFocus: DefaultFocusState = 'LIST_ROOT';\n\n @state() private typeaheadActive = true;\n\n private readonly openCloseAnimationSignal = createAnimationSignal();\n\n /**\n * Whether the menu is animating upwards or downwards when opening. This is\n * helpful for calculating some animation calculations.\n */\n private get openDirection(): 'UP'|'DOWN' {\n const menuCornerBlock = this.menuCorner.split('_')[0];\n return menuCornerBlock === 'START' ? 'DOWN' : 'UP';\n }\n\n /**\n * The element that was focused before the menu opened.\n */\n private lastFocusedElement: HTMLElement|null = null;\n\n /**\n * Handles typeahead navigation through the menu.\n */\n typeaheadController = new TypeaheadController(() => {\n return {\n getItems: () => this.items,\n typeaheadBufferTime: this.typeaheadBufferTime,\n active: this.typeaheadActive\n };\n });\n\n /**\n * Handles positioning the surface and aligning it to the anchor.\n */\n private readonly menuPositionController =\n new SurfacePositionController(this, () => {\n return {\n anchorCorner: this.anchorCorner,\n surfaceCorner: this.menuCorner,\n surfaceEl: this.surfaceEl,\n anchorEl: this.anchor,\n isTopLayer: this.fixed,\n isOpen: this.open,\n xOffset: this.xOffset,\n yOffset: this.yOffset,\n onOpen: this.onOpened,\n beforeClose: this.beforeClose,\n onClose: this.onClosed,\n };\n });\n\n /**\n * The menu items associated with this menu. The items must be `MenuItem`s and\n * have both the `md-menu-item` and `md-list-item` attributes.\n */\n get items(): MenuItem[] {\n const listElement = this.listElement;\n\n if (listElement) {\n return listElement.items.filter(el => el.hasAttribute('md-menu-item')) as\n MenuItem[];\n }\n\n return [];\n }\n\n protected override render() {\n return this.renderSurface();\n }\n\n /**\n * Renders the positionable surface element and its contents.\n */\n private renderSurface() {\n // TODO(b/274140618): elevation should be an underlay, not an overlay that\n // tints content\n return html`\n <div\n class=\"menu ${classMap(this.getSurfaceClasses())}\"\n style=${styleMap(this.menuPositionController.surfaceStyles)}\n @focusout=${this.handleFocusout}>\n ${this.renderElevation()}\n ${this.renderList()}\n ${this.renderFocusRing()}\n </div>\n `;\n }\n\n /**\n * Renders the List element and its items\n */\n private renderList() {\n // Needed for closure conformance\n const {ariaLabel} = this as ARIAMixinStrict;\n return html`\n <md-list\n id=\"list\"\n aria-label=${ariaLabel || nothing}\n type=${this.type}\n listTabIndex=${this.listTabIndex}\n @keydown=${this.handleListKeydown}>\n ${this.renderMenuItems()}\n </md-list>`;\n }\n\n /**\n * Renders the menu items' slot\n */\n private renderMenuItems() {\n return html`<slot\n @close-menu=${this.onCloseMenu}\n @deactivate-items=${this.onDeactivateItems}\n @deactivate-typeahead=${this.handleDeactivateTypeahead}\n @activate-typeahead=${this.handleActivateTypeahead}\n @stay-open-on-focusout=${this.handleStayOpenOnFocusout}\n @close-on-focusout=${this.handleCloseOnFocusout}></slot>`;\n }\n\n /**\n * Renders the elevation component.\n */\n private renderElevation() {\n return html`<md-elevation></md-elevation>`;\n }\n\n /**\n * Renders the focus ring component.\n */\n private renderFocusRing() {\n return html`<md-focus-ring for=\"list\"></md-focus-ring>`;\n }\n\n private getSurfaceClasses() {\n return {\n open: this.open,\n fixed: this.fixed,\n 'has-overflow': this.hasOverflow,\n };\n }\n\n private async handleFocusout(e: FocusEvent) {\n if (this.stayOpenOnFocusout) {\n return;\n }\n\n // Stop propagation to prevent nested menus from interfering with each other\n e.stopPropagation();\n\n if (e.relatedTarget) {\n // Don't close the menu if we are switching focus between menu,\n // md-menu-item, and md-list\n if (isElementInSubtree(e.relatedTarget, this)) {\n return;\n }\n }\n\n const oldRestoreFocus = this.skipRestoreFocus;\n // allow focus to continue to the next focused object rather than returning\n this.skipRestoreFocus = true;\n this.close();\n // await for close\n await this.updateComplete;\n // return to previous behavior\n this.skipRestoreFocus = oldRestoreFocus;\n }\n\n // Capture so that we can grab the event before it reaches the list item\n // istelf. Specifically useful for the case where typeahead encounters a space\n // and we don't want the menu item to close the menu.\n @eventOptions({capture: true})\n private handleListKeydown(e: KeyboardEvent) {\n this.typeaheadController.onKeydown(e);\n }\n\n /**\n * Saves the last focused element focuses the new element based on\n * `defaultFocus`, and animates open.\n */\n private readonly onOpened = () => {\n this.lastFocusedElement = getFocusedElement();\n\n if (!this.listElement) return;\n\n const items = this.listElement.items;\n const activeItemRecord = List.getActiveItem(items);\n\n if (activeItemRecord && this.defaultFocus !== 'NONE') {\n activeItemRecord.item.active = false;\n }\n\n switch (this.defaultFocus) {\n case 'FIRST_ITEM':\n const first = List.getFirstActivatableItem(items);\n if (first) {\n first.active = true;\n }\n break;\n case 'LAST_ITEM':\n const last = List.getLastActivatableItem(items);\n if (last) {\n last.active = true;\n }\n break;\n case 'LIST_ROOT':\n this.listElement?.focus();\n break;\n default:\n case 'NONE':\n // Do nothing.\n break;\n }\n\n if (this.quick) {\n this.dispatchEvent(new Event('opening'));\n this.dispatchEvent(new Event('opened'));\n } else {\n this.animateOpen();\n }\n };\n\n /**\n * Animates closed.\n */\n private readonly beforeClose = async () => {\n this.open = false;\n\n if (!this.skipRestoreFocus) {\n this.lastFocusedElement?.focus?.();\n }\n\n if (!this.quick) {\n await this.animateClose();\n }\n };\n\n /**\n * Focuses the last focused element.\n */\n private readonly onClosed = () => {\n if (this.quick) {\n this.dispatchEvent(new Event('closing'));\n this.dispatchEvent(new Event('closed'));\n }\n };\n\n /**\n * Performs the opening animation:\n *\n * https://direct.googleplex.com/#/spec/295000003+271060003\n */\n private animateOpen() {\n const surfaceEl = this.surfaceEl;\n const slotEl = this.slotEl;\n\n if (!surfaceEl || !slotEl) return;\n\n const openDirection = this.openDirection;\n this.dispatchEvent(new Event('opening'));\n // needs to be imperative because we don't want to mix animation and Lit\n // render timing\n surfaceEl.classList.toggle('animating', true);\n\n const signal = this.openCloseAnimationSignal.start();\n const height = surfaceEl.offsetHeight;\n const openingUpwards = openDirection === 'UP';\n const children = this.items;\n const FULL_DURATION = 500;\n const SURFACE_OPACITY_DURATION = 50;\n const ITEM_OPACITY_DURATION = 250;\n // We want to fit every child fade-in animation within the full duration of\n // the animation.\n const DELAY_BETWEEN_ITEMS =\n (FULL_DURATION - ITEM_OPACITY_DURATION) / children.length;\n\n const surfaceHeightAnimation =\n surfaceEl.animate([{height: '0px'}, {height: `${height}px`}], {\n duration: FULL_DURATION,\n easing: EASING.EMPHASIZED,\n });\n // When we are opening upwards, we want to make sure the last item is always\n // in view, so we need to translate it upwards the opposite direction of the\n // height animation\n const upPositionCorrectionAnimation = slotEl.animate(\n [\n {transform: openingUpwards ? `translateY(-${height}px)` : ''},\n {transform: ''}\n ],\n {duration: FULL_DURATION, easing: EASING.EMPHASIZED});\n\n const surfaceOpacityAnimation = surfaceEl.animate(\n [{opacity: 0}, {opacity: 1}], SURFACE_OPACITY_DURATION);\n\n const childrenAnimations: Array<[HTMLElement, Animation]> = [];\n\n for (let i = 0; i < children.length; i++) {\n // If we are animating upwards, then reverse the children list.\n const directionalIndex = openingUpwards ? children.length - 1 - i : i;\n const child = children[directionalIndex];\n const animation = child.animate([{opacity: 0}, {opacity: 1}], {\n duration: ITEM_OPACITY_DURATION,\n delay: DELAY_BETWEEN_ITEMS * i,\n });\n\n // Make them all initially hidden and then clean up at the end of each\n // animation.\n child.classList.toggle('hidden', true);\n animation.addEventListener('finish', () => {\n child.classList.toggle('hidden', false);\n });\n\n childrenAnimations.push([child, animation]);\n }\n\n signal.addEventListener('abort', () => {\n surfaceHeightAnimation.cancel();\n upPositionCorrectionAnimation.cancel();\n surfaceOpacityAnimation.cancel();\n childrenAnimations.forEach(([child, animation]) => {\n child.classList.toggle('hidden', false);\n animation.cancel();\n });\n });\n\n surfaceHeightAnimation.addEventListener('finish', () => {\n surfaceEl.classList.toggle('animating', false);\n this.openCloseAnimationSignal.finish();\n this.dispatchEvent(new Event('opened'));\n });\n }\n\n /**\n * Performs the closing animation:\n *\n * https://direct.googleplex.com/#/spec/295000003+271060003\n */\n private animateClose() {\n let resolve!: (value: unknown) => void;\n let reject!: () => void;\n\n // This promise blocks the surface position controller from setting\n // display: none on the surface which will interfere with this animation.\n const animationEnded = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n\n const surfaceEl = this.surfaceEl;\n const slotEl = this.slotEl;\n\n if (!surfaceEl || !slotEl) {\n reject();\n return animationEnded;\n }\n\n const openDirection = this.openDirection;\n const closingDownwards = openDirection === 'UP';\n this.dispatchEvent(new Event('closing'));\n // needs to be imperative because we don't want to mix animation and Lit\n // render timing\n surfaceEl.classList.toggle('animating', true);\n const signal = this.openCloseAnimationSignal.start();\n const height = surfaceEl.offsetHeight;\n const children = this.items;\n const FULL_DURATION = 150;\n const SURFACE_OPACITY_DURATION = 50;\n // The surface fades away at the very end\n const SURFACE_OPACITY_DELAY = FULL_DURATION - SURFACE_OPACITY_DURATION;\n const ITEM_OPACITY_DURATION = 50;\n const ITEM_OPACITY_INITIAL_DELAY = 50;\n const END_HEIGHT_PERCENTAGE = .35;\n\n // We want to fit every child fade-out animation within the full duration of\n // the animation.\n const DELAY_BETWEEN_ITEMS =\n (FULL_DURATION - ITEM_OPACITY_INITIAL_DELAY - ITEM_OPACITY_DURATION) /\n children.length;\n\n // The mock has the animation shrink to 35%\n const surfaceHeightAnimation = surfaceEl.animate(\n [\n {height: `${height}px`},\n {height: `${height * END_HEIGHT_PERCENTAGE}px`}\n ],\n {\n duration: FULL_DURATION,\n easing: EASING.EMPHASIZED_ACCELERATE,\n });\n\n // When we are closing downwards, we want to make sure the last item is\n // always in view, so we need to translate it upwards the opposite direction\n // of the height animation\n const downPositionCorrectionAnimation = slotEl.animate(\n [\n {transform: ''}, {\n transform: closingDownwards ?\n `translateY(-${height * (1 - END_HEIGHT_PERCENTAGE)}px)` :\n ''\n }\n ],\n {duration: FULL_DURATION, easing: EASING.EMPHASIZED_ACCELERATE});\n\n const surfaceOpacityAnimation = surfaceEl.animate(\n [{opacity: 1}, {opacity: 0}],\n {duration: SURFACE_OPACITY_DURATION, delay: SURFACE_OPACITY_DELAY});\n\n const childrenAnimations: Array<[HTMLElement, Animation]> = [];\n\n for (let i = 0; i < children.length; i++) {\n // If the animation is closing upwards, then reverse the list of\n // children so that we animate in the opposite direction.\n const directionalIndex = closingDownwards ? i : children.length - 1 - i;\n const child = children[directionalIndex];\n const animation = child.animate([{opacity: 1}, {opacity: 0}], {\n duration: ITEM_OPACITY_DURATION,\n delay: ITEM_OPACITY_INITIAL_DELAY + DELAY_BETWEEN_ITEMS * i,\n });\n\n // Make sure the items stay hidden at the end of each child animation.\n // We clean this up at the end of the overall animation.\n animation.addEventListener('finish', () => {\n child.classList.toggle('hidden', true);\n });\n childrenAnimations.push([child, animation]);\n }\n\n signal.addEventListener('abort', () => {\n surfaceHeightAnimation.cancel();\n downPositionCorrectionAnimation.cancel();\n surfaceOpacityAnimation.cancel();\n childrenAnimations.forEach(([child, animation]) => {\n animation.cancel();\n child.classList.toggle('hidden', false);\n });\n reject();\n });\n\n surfaceHeightAnimation.addEventListener('finish', () => {\n surfaceEl.classList.toggle('animating', false);\n childrenAnimations.forEach(([child]) => {\n child.classList.toggle('hidden', false);\n });\n this.openCloseAnimationSignal.finish();\n this.dispatchEvent(new Event('closed'));\n resolve(true);\n });\n\n return animationEnded;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n if (!isServer) {\n window.addEventListener('click', this.onWindowClick, {capture: true});\n }\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n if (!isServer) {\n window.removeEventListener('click', this.onWindowClick, {capture: true});\n }\n }\n\n private readonly onWindowClick = (e: MouseEvent) => {\n if (!this.stayOpenOnOutsideClick && !e.composedPath().includes(this)) {\n this.open = false;\n }\n };\n\n private onCloseMenu() {\n this.close();\n }\n\n private onDeactivateItems(e: Event) {\n e.stopPropagation();\n const items = this.items;\n for (const item of items) {\n item.active = false;\n item.selected = false;\n }\n }\n\n private handleDeactivateTypeahead(e: DeactivateTypeaheadEvent) {\n // stopPropagation so that this does not deactivate any typeaheads in menus\n // nested above it e.g. md-sub-menu-item\n e.stopPropagation();\n this.typeaheadActive = false;\n }\n\n private handleActivateTypeahead(e: ActivateTypeaheadEvent) {\n // stopPropagation so that this does not activate any typeaheads in menus\n // nested above it e.g. md-sub-menu-item\n e.stopPropagation();\n this.typeaheadActive = true;\n }\n\n private handleStayOpenOnFocusout(e:Event) {\n e.stopPropagation();\n this.stayOpenOnFocusout = true;\n }\n\n private handleCloseOnFocusout(e:Event) {\n e.stopPropagation();\n this.stayOpenOnFocusout = false;\n }\n\n override focus() {\n this.listElement?.focus();\n }\n\n close() {\n this.open = false;\n this.items.forEach(item => {\n item.close?.();\n });\n }\n\n show() {\n this.open = true;\n }\n}\n"]}
@@ -0,0 +1,60 @@
1
+ //
2
+ // Copyright 2023 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ // go/keep-sorted start
7
+ @use 'sass:list';
8
+ @use 'sass:map';
9
+ @use 'sass:string';
10
+ // go/keep-sorted end
11
+ // go/keep-sorted start
12
+ @use '../../../internal/sass/theme';
13
+ @use '../../../list/list-item';
14
+ @use '../../../ripple/ripple';
15
+ @use '../../../tokens';
16
+ // go/keep-sorted end
17
+
18
+ @mixin theme($tokens) {
19
+ $tokens: theme.validate-theme(tokens.md-comp-menu-item-values(), $tokens);
20
+
21
+ @each $token, $value in $tokens {
22
+ @if $value {
23
+ --md-menu-item-#{$token}: #{$value};
24
+ }
25
+ }
26
+ }
27
+
28
+ @mixin styles() {
29
+ $tokens: tokens.md-comp-menu-item-values();
30
+
31
+ :host {
32
+ @each $token, $value in $tokens {
33
+ --_#{$token}: var(--md-menu-item-#{$token}, #{$value});
34
+ }
35
+
36
+ @include list-item.theme(
37
+ (
38
+ 'list-item-container-color': var(--_list-item-container-color),
39
+ )
40
+ );
41
+ }
42
+
43
+ .list-item {
44
+ :host([selected]) & {
45
+ background-color: var(--_list-item-selected-container-color);
46
+ }
47
+ }
48
+
49
+ // Set the ripple opacity to 0 if there is a submenu that is hovered.
50
+ .list-item:has(.submenu:hover) {
51
+ // Have to use ripple theme directly because :has selector in this case does
52
+ // not work in this case with the :has selector, thus we cannot override the
53
+ // custom props set in :host
54
+ @include ripple.theme(
55
+ (
56
+ hover-opacity: 0,
57
+ )
58
+ );
59
+ }
60
+ }
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { css } from 'lit';
7
+ export const styles = css `@media(forced-colors: active){.list-item{position:relative}:host([selected]) .list-item:not(:has(.focus-ring[visible]))::before{content:"";position:absolute;inset:0;box-sizing:border-box;border-radius:inherit;pointer-events:none;border:3px double CanvasText}}/*# sourceMappingURL=forced-colors-styles.css.map */
8
+ `;
9
+ //# sourceMappingURL=forced-colors-styles.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forced-colors-styles.css.js","sourceRoot":"","sources":["forced-colors-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`@media(forced-colors: active){.list-item{position:relative}:host([selected]) .list-item:not(:has(.focus-ring[visible]))::before{content:\"\";position:absolute;inset:0;box-sizing:border-box;border-radius:inherit;pointer-events:none;border:3px double CanvasText}}/*# sourceMappingURL=forced-colors-styles.css.map */\n`;\n "]}
@@ -0,0 +1,22 @@
1
+ //
2
+ // Copyright 2023 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ @media (forced-colors: active) {
7
+ .list-item {
8
+ position: relative;
9
+ }
10
+
11
+ // Show double border only when selected, and the current list item does not
12
+ // have a focus ring on it.
13
+ :host([selected]) .list-item:not(:has(.focus-ring[visible]))::before {
14
+ content: '';
15
+ position: absolute;
16
+ inset: 0;
17
+ box-sizing: border-box;
18
+ border-radius: inherit;
19
+ pointer-events: none;
20
+ border: 3px double CanvasText;
21
+ }
22
+ }
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { css } from 'lit';
7
+ export const styles = css `:host{--_list-item-selected-container-color: var(--md-menu-item-list-item-selected-container-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_list-item-container-color: var(--md-menu-item-list-item-container-color, var(--md-sys-color-surface-container, #f3edf7));--md-list-item-list-item-container-color: var(--_list-item-container-color)}:host([selected]) .list-item{background-color:var(--_list-item-selected-container-color)}.list-item:has(.submenu:hover){--md-ripple-hover-opacity: 0}/*# sourceMappingURL=menu-item-styles.css.map */
8
+ `;
9
+ //# sourceMappingURL=menu-item-styles.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item-styles.css.js","sourceRoot":"","sources":["menu-item-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_list-item-selected-container-color: var(--md-menu-item-list-item-selected-container-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_list-item-container-color: var(--md-menu-item-list-item-container-color, var(--md-sys-color-surface-container, #f3edf7));--md-list-item-list-item-container-color: var(--_list-item-container-color)}:host([selected]) .list-item{background-color:var(--_list-item-selected-container-color)}.list-item:has(.submenu:hover){--md-ripple-hover-opacity: 0}/*# sourceMappingURL=menu-item-styles.css.map */\n`;\n "]}
@@ -0,0 +1,10 @@
1
+ //
2
+ // Copyright 2023 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ // go/keep-sorted start
7
+ @use './menu-item';
8
+ // go/keep-sorted end
9
+
10
+ @include menu-item.styles;
@@ -3,9 +3,26 @@
3
3
  * Copyright 2022 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { ListItem } from '../../../list/lib/listitem/list-item.js';
7
- import { ARIARole } from '../../../types/aria.js';
8
- /** Base class for menu item component. */
9
- export declare class MenuItem extends ListItem {
10
- role: ARIARole;
6
+ import { ListItemEl, ListItemRole } from '../../../list/lib/listitem/list-item.js';
7
+ import { MenuItem } from '../shared.js';
8
+ export { ListItemRole } from '../../../list/lib/listitem/list-item.js';
9
+ /**
10
+ * @fires close-menu {CloseMenuEvent}
11
+ */
12
+ export declare class MenuItemEl extends ListItemEl implements MenuItem {
13
+ /**
14
+ * READONLY: self-identifies as a menu item and sets its identifying attribute
15
+ */
16
+ isMenuItem: boolean;
17
+ /**
18
+ * Keeps the menu open if clicked or keyboard selected.
19
+ */
20
+ keepOpen: boolean;
21
+ /**
22
+ * Used for overriding e.g. sub-menu-item.
23
+ */
24
+ protected keepOpenOnClick: boolean;
25
+ readonly type: ListItemRole;
26
+ protected onClick(): void;
27
+ protected onKeydown(e: KeyboardEvent): void;
11
28
  }
@@ -3,12 +3,49 @@
3
3
  * Copyright 2022 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { ListItem } from '../../../list/lib/listitem/list-item.js';
7
- /** Base class for menu item component. */
8
- export class MenuItem extends ListItem {
6
+ import { __decorate } from "tslib";
7
+ import { property } from 'lit/decorators.js';
8
+ import { ListItemEl } from '../../../list/lib/listitem/list-item.js';
9
+ import { CLOSE_REASON, DefaultCloseMenuEvent, isClosableKey } from '../shared.js';
10
+ /**
11
+ * @fires close-menu {CloseMenuEvent}
12
+ */
13
+ export class MenuItemEl extends ListItemEl {
9
14
  constructor() {
10
15
  super(...arguments);
11
- this.role = 'menuitem';
16
+ /**
17
+ * READONLY: self-identifies as a menu item and sets its identifying attribute
18
+ */
19
+ this.isMenuItem = true;
20
+ /**
21
+ * Keeps the menu open if clicked or keyboard selected.
22
+ */
23
+ this.keepOpen = false;
24
+ /**
25
+ * Used for overriding e.g. sub-menu-item.
26
+ */
27
+ this.keepOpenOnClick = false;
28
+ this.type = 'menuitem';
29
+ }
30
+ onClick() {
31
+ if (this.keepOpen || this.keepOpenOnClick)
32
+ return;
33
+ this.dispatchEvent(new DefaultCloseMenuEvent(this, { kind: CLOSE_REASON.CLICK_SELECTION }));
34
+ }
35
+ onKeydown(e) {
36
+ if (this.keepOpen)
37
+ return;
38
+ const keyCode = e.code;
39
+ if (!e.defaultPrevented && isClosableKey(keyCode)) {
40
+ e.preventDefault();
41
+ this.dispatchEvent(new DefaultCloseMenuEvent(this, { kind: CLOSE_REASON.KEYDOWN, key: keyCode }));
42
+ }
12
43
  }
13
44
  }
45
+ __decorate([
46
+ property({ type: Boolean, attribute: 'md-menu-item', reflect: true })
47
+ ], MenuItemEl.prototype, "isMenuItem", void 0);
48
+ __decorate([
49
+ property({ type: Boolean, attribute: 'keep-open' })
50
+ ], MenuItemEl.prototype, "keepOpen", void 0);
14
51
  //# sourceMappingURL=menu-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.js","sourceRoot":"","sources":["menu-item.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,yCAAyC,CAAC;AAGjE,0CAA0C;AAC1C,MAAM,OAAO,QAAS,SAAQ,QAAQ;IAAtC;;QACW,SAAI,GAAa,UAAU,CAAC;IACvC,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 menu item component. */\nexport class MenuItem extends ListItem {\n override role: ARIARole = 'menuitem';\n}\n"]}
1
+ {"version":3,"file":"menu-item.js","sourceRoot":"","sources":["menu-item.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,UAAU,EAAe,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAC,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAW,MAAM,cAAc,CAAC;AAI1F;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,UAAU;IAA1C;;QACE;;WAEG;QAEH,eAAU,GAAG,IAAI,CAAC;QAElB;;WAEG;QACgD,aAAQ,GAAG,KAAK,CAAC;QAEpE;;WAEG;QACO,oBAAe,GAAG,KAAK,CAAC;QAEhB,SAAI,GAAiB,UAAU,CAAC;IAmBpD,CAAC;IAjBoB,OAAO;QACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QAElD,IAAI,CAAC,aAAa,CACd,IAAI,qBAAqB,CAAC,IAAI,EAAE,EAAC,IAAI,EAAE,YAAY,CAAC,eAAe,EAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEkB,SAAS,CAAC,CAAgB;QAC3C,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC;QAEvB,IAAI,CAAC,CAAC,CAAC,gBAAgB,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;YACjD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,IAAI,qBAAqB,CACxC,IAAI,EAAE,EAAC,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;SACxD;IACH,CAAC;CACF;AA/BC;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;8CAClD;AAKiC;IAAlD,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAC,CAAC;4CAAkB","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {property} from 'lit/decorators.js';\n\nimport {ListItemEl, ListItemRole} from '../../../list/lib/listitem/list-item.js';\nimport {CLOSE_REASON, DefaultCloseMenuEvent, isClosableKey, MenuItem} from '../shared.js';\n\nexport {ListItemRole} from '../../../list/lib/listitem/list-item.js';\n\n/**\n * @fires close-menu {CloseMenuEvent}\n */\nexport class MenuItemEl extends ListItemEl implements MenuItem {\n /**\n * READONLY: self-identifies as a menu item and sets its identifying attribute\n */\n @property({type: Boolean, attribute: 'md-menu-item', reflect: true})\n isMenuItem = true;\n\n /**\n * Keeps the menu open if clicked or keyboard selected.\n */\n @property({type: Boolean, attribute: 'keep-open'}) keepOpen = false;\n\n /**\n * Used for overriding e.g. sub-menu-item.\n */\n protected keepOpenOnClick = false;\n\n override readonly type: ListItemRole = 'menuitem';\n\n protected override onClick() {\n if (this.keepOpen || this.keepOpenOnClick) return;\n\n this.dispatchEvent(\n new DefaultCloseMenuEvent(this, {kind: CLOSE_REASON.CLICK_SELECTION}));\n }\n\n protected override onKeydown(e: KeyboardEvent) {\n if (this.keepOpen) return;\n const keyCode = e.code;\n\n if (!e.defaultPrevented && isClosableKey(keyCode)) {\n e.preventDefault();\n this.dispatchEvent(new DefaultCloseMenuEvent(\n this, {kind: CLOSE_REASON.KEYDOWN, key: keyCode}));\n }\n }\n}\n"]}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ListItemLink } from '../../../list/lib/listitemlink/list-item-link.js';
7
+ import { MenuItem } from '../shared.js';
8
+ /**
9
+ * @fires close-menu {CloseMenuEvent}
10
+ */
11
+ export declare class MenuItemLink extends ListItemLink implements MenuItem {
12
+ /**
13
+ * READONLY: self-identifies as a menu item and sets its identifying attribute
14
+ */
15
+ isMenuItem: boolean;
16
+ /**
17
+ * Keeps the menu open if clicked or keyboard selected.
18
+ */
19
+ keepOpen: boolean;
20
+ protected keepOpenOnClick: boolean;
21
+ protected onClick(): void;
22
+ protected onKeydown(e: KeyboardEvent): void;
23
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { __decorate } from "tslib";
7
+ import { property } from 'lit/decorators.js';
8
+ import { ListItemLink } from '../../../list/lib/listitemlink/list-item-link.js';
9
+ import { CLOSE_REASON, DefaultCloseMenuEvent, isClosableKey, SELECTION_KEY } from '../shared.js';
10
+ /**
11
+ * @fires close-menu {CloseMenuEvent}
12
+ */
13
+ export class MenuItemLink extends ListItemLink {
14
+ constructor() {
15
+ super(...arguments);
16
+ /**
17
+ * READONLY: self-identifies as a menu item and sets its identifying attribute
18
+ */
19
+ this.isMenuItem = true;
20
+ /**
21
+ * Keeps the menu open if clicked or keyboard selected.
22
+ */
23
+ this.keepOpen = false;
24
+ this.keepOpenOnClick = false;
25
+ }
26
+ onClick() {
27
+ if (this.keepOpen || this.keepOpenOnClick)
28
+ return;
29
+ this.dispatchEvent(new DefaultCloseMenuEvent(this, { kind: CLOSE_REASON.CLICK_SELECTION }));
30
+ }
31
+ onKeydown(e) {
32
+ if (this.keepOpen)
33
+ return;
34
+ const keyCode = e.code;
35
+ // Do not preventDefault on enter or else it will prevent from opening links
36
+ if (!e.defaultPrevented && isClosableKey(keyCode) &&
37
+ keyCode !== SELECTION_KEY.ENTER) {
38
+ e.preventDefault();
39
+ this.dispatchEvent(new DefaultCloseMenuEvent(this, { kind: CLOSE_REASON.KEYDOWN, key: keyCode }));
40
+ }
41
+ }
42
+ }
43
+ __decorate([
44
+ property({ type: Boolean, attribute: 'md-menu-item', reflect: true })
45
+ ], MenuItemLink.prototype, "isMenuItem", void 0);
46
+ __decorate([
47
+ property({ type: Boolean, attribute: 'keep-open' })
48
+ ], MenuItemLink.prototype, "keepOpen", void 0);
49
+ //# sourceMappingURL=menu-item-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item-link.js","sourceRoot":"","sources":["menu-item-link.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,YAAY,EAAC,MAAM,kDAAkD,CAAC;AAC9E,OAAO,EAAC,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAY,aAAa,EAAC,MAAM,cAAc,CAAC;AAEzG;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,YAAY;IAA9C;;QACE;;WAEG;QAEH,eAAU,GAAG,IAAI,CAAC;QAElB;;WAEG;QACgD,aAAQ,GAAG,KAAK,CAAC;QAE1D,oBAAe,GAAG,KAAK,CAAC;IAqBpC,CAAC;IAnBoB,OAAO;QACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QAElD,IAAI,CAAC,aAAa,CACd,IAAI,qBAAqB,CAAC,IAAI,EAAE,EAAC,IAAI,EAAE,YAAY,CAAC,eAAe,EAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEkB,SAAS,CAAC,CAAgB;QAC3C,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC;QACvB,4EAA4E;QAC5E,IAAI,CAAC,CAAC,CAAC,gBAAgB,IAAI,aAAa,CAAC,OAAO,CAAC;YAC7C,OAAO,KAAK,aAAa,CAAC,KAAK,EAAE;YACnC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,IAAI,qBAAqB,CACxC,IAAI,EAAE,EAAC,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;SACxD;IACH,CAAC;CACF;AA5BC;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;gDAClD;AAKiC;IAAlD,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAC,CAAC;8CAAkB","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {property} from 'lit/decorators.js';\n\nimport {ListItemLink} from '../../../list/lib/listitemlink/list-item-link.js';\nimport {CLOSE_REASON, DefaultCloseMenuEvent, isClosableKey, MenuItem, SELECTION_KEY} from '../shared.js';\n\n/**\n * @fires close-menu {CloseMenuEvent}\n */\nexport class MenuItemLink extends ListItemLink implements MenuItem {\n /**\n * READONLY: self-identifies as a menu item and sets its identifying attribute\n */\n @property({type: Boolean, attribute: 'md-menu-item', reflect: true})\n isMenuItem = true;\n\n /**\n * Keeps the menu open if clicked or keyboard selected.\n */\n @property({type: Boolean, attribute: 'keep-open'}) keepOpen = false;\n\n protected keepOpenOnClick = false;\n\n protected override onClick() {\n if (this.keepOpen || this.keepOpenOnClick) return;\n\n this.dispatchEvent(\n new DefaultCloseMenuEvent(this, {kind: CLOSE_REASON.CLICK_SELECTION}));\n }\n\n protected override onKeydown(e: KeyboardEvent) {\n if (this.keepOpen) return;\n\n const keyCode = e.code;\n // Do not preventDefault on enter or else it will prevent from opening links\n if (!e.defaultPrevented && isClosableKey(keyCode) &&\n keyCode !== SELECTION_KEY.ENTER) {\n e.preventDefault();\n this.dispatchEvent(new DefaultCloseMenuEvent(\n this, {kind: CLOSE_REASON.KEYDOWN, key: keyCode}));\n }\n }\n}\n"]}
@@ -0,0 +1,178 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ListItem } from '../../list/lib/listitem/list-item.js';
7
+ /**
8
+ * Interface specific to menu item and not list item.
9
+ */
10
+ interface MenuItemSelf {
11
+ /**
12
+ * The visible headline text of the item.
13
+ */
14
+ headline: string;
15
+ /**
16
+ * Whether or not the item is the currently active item of interest (focuses
17
+ * upon activation).
18
+ */
19
+ active: boolean;
20
+ /**
21
+ * Whether or not the item is in the selected visual state.
22
+ */
23
+ selected?: boolean;
24
+ /**
25
+ * If it is a sub-menu-item, a method that can close the submenu.
26
+ */
27
+ close?: () => void;
28
+ /**
29
+ * Focuses the item.
30
+ */
31
+ focus: () => void;
32
+ }
33
+ /**
34
+ * The interface of every menu item interactive with a menu. All menu items
35
+ * should implement this interface to be compatible with md-menu. Additionally
36
+ * they should have both the `md-menu-item` and `md-list-item` attributes set.
37
+ */
38
+ export type MenuItem = MenuItemSelf & ListItem;
39
+ /**
40
+ * The reason the `close-menu` event was dispatched.
41
+ */
42
+ export interface Reason {
43
+ kind: string;
44
+ }
45
+ /**
46
+ * The click selection reason for the `close-menu` event. The menu was closed
47
+ * because an item was selected via user click.
48
+ */
49
+ export interface ClickReason extends Reason {
50
+ kind: typeof CLOSE_REASON.CLICK_SELECTION;
51
+ }
52
+ /**
53
+ * The keydown reason for the `close-menu` event. The menu was closed
54
+ * because a specific key was pressed. The default closing keys for
55
+ * `md-menu-item` are, Space, Enter or Escape.
56
+ */
57
+ export interface KeydownReason extends Reason {
58
+ kind: typeof CLOSE_REASON.KEYDOWN;
59
+ key: string;
60
+ }
61
+ /**
62
+ * The default menu closing reasons for the material md-menu package.
63
+ */
64
+ export type DefaultReasons = ClickReason | KeydownReason;
65
+ /**
66
+ * The event that closes any parent menus. It is recommended to subclass and
67
+ * dispatch this event rather than creating your own `close-menu` event.
68
+ */
69
+ export declare class CloseMenuEvent<T extends Reason = DefaultReasons> extends Event {
70
+ initiator: MenuItem;
71
+ readonly reason: T;
72
+ readonly itemPath: MenuItem[];
73
+ constructor(initiator: MenuItem, reason: T);
74
+ }
75
+ /**
76
+ * The event that signals to the menu that it should stay open on the focusout
77
+ * event.
78
+ */
79
+ export declare class StayOpenOnFocusoutEvent extends Event {
80
+ constructor();
81
+ }
82
+ /**
83
+ * The event that signals to the menu that it should close open on the focusout
84
+ * event.
85
+ */
86
+ export declare class CloseOnFocusoutEvent extends Event {
87
+ constructor();
88
+ }
89
+ /**
90
+ * The default close menu event used by md-menu. To create your own `close-menu`
91
+ * event, you should subclass the `CloseMenuEvent` instead.
92
+ */
93
+ export declare const DefaultCloseMenuEvent: {
94
+ new (initiator: MenuItem, reason: DefaultReasons): CloseMenuEvent<DefaultReasons>;
95
+ readonly AT_TARGET: number;
96
+ readonly BUBBLING_PHASE: number;
97
+ readonly CAPTURING_PHASE: number;
98
+ readonly NONE: number;
99
+ };
100
+ /**
101
+ * The event that requests the parent md-menu to deactivate all other items.
102
+ */
103
+ export declare class DeactivateItemsEvent extends Event {
104
+ constructor();
105
+ }
106
+ /**
107
+ * Requests the typeahead functionality of containing menu be deactivated.
108
+ */
109
+ export declare class DeactivateTypeaheadEvent extends Event {
110
+ constructor();
111
+ }
112
+ /**
113
+ * Requests the typeahead functionality of containing menu be activated.
114
+ */
115
+ export declare class ActivateTypeaheadEvent extends Event {
116
+ constructor();
117
+ }
118
+ /**
119
+ * Keys that are used to navigate menus.
120
+ */
121
+ export declare const NAVIGABLE_KEY: {
122
+ readonly UP: "ArrowUp";
123
+ readonly DOWN: "ArrowDown";
124
+ readonly RIGHT: "ArrowRight";
125
+ readonly LEFT: "ArrowLeft";
126
+ };
127
+ /**
128
+ * Keys that are used for selection in menus.
129
+ */
130
+ export declare const SELECTION_KEY: {
131
+ readonly SPACE: "Space";
132
+ readonly ENTER: "Enter";
133
+ };
134
+ /**
135
+ * Default close `Reason` kind values.
136
+ */
137
+ export declare const CLOSE_REASON: {
138
+ readonly CLICK_SELECTION: "CLICK_SELECTION";
139
+ readonly KEYDOWN: "KEYDOWN";
140
+ };
141
+ /**
142
+ * Keys that can close menus.
143
+ */
144
+ export declare const KEYDOWN_CLOSE_KEYS: {
145
+ readonly ESCAPE: "Escape";
146
+ readonly SPACE: "Space";
147
+ readonly ENTER: "Enter";
148
+ };
149
+ type Values<T> = T[keyof T];
150
+ /**
151
+ * Determines whether the given key code is a key code that should close the
152
+ * menu.
153
+ *
154
+ * @param code The KeyboardEvent code to check.
155
+ * @return Whether or not the key code is in the predetermined list to close the
156
+ * menu.
157
+ */
158
+ export declare function isClosableKey(code: string): code is Values<typeof KEYDOWN_CLOSE_KEYS>;
159
+ /**
160
+ * Determines whether the given key code is a key code that should select a menu
161
+ * item.
162
+ *
163
+ * @param code They KeyboardEvent code to check.
164
+ * @return Whether or not the key code is in the predetermined list to select a
165
+ * menu item.
166
+ */
167
+ export declare function isSelectableKey(code: string): code is Values<typeof SELECTION_KEY>;
168
+ /**
169
+ * Determines whether a target element is contained inside another element's
170
+ * composed tree.
171
+ *
172
+ * @param target The potential contained element.
173
+ * @param container The potential containing element of the target.
174
+ * @returns Whether the target element is contained inside the container's
175
+ * composed subtree
176
+ */
177
+ export declare function isElementInSubtree(target: EventTarget, container: EventTarget): boolean;
178
+ export {};