@material/web 1.0.0-pre.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1624) hide show
  1. package/README.md +14 -75
  2. package/all.d.ts +95 -0
  3. package/all.js +104 -0
  4. package/all.js.map +1 -0
  5. package/button/_elevated-button.scss +1 -1
  6. package/button/_filled-button.scss +1 -1
  7. package/button/_filled-tonal-button.scss +6 -0
  8. package/button/_outlined-button.scss +1 -1
  9. package/button/_text-button.scss +1 -1
  10. package/button/elevated-button.d.ts +1 -1
  11. package/button/elevated-button.js +5 -6
  12. package/button/elevated-button.js.map +1 -1
  13. package/button/filled-button.d.ts +1 -1
  14. package/button/filled-button.js +5 -6
  15. package/button/filled-button.js.map +1 -1
  16. package/button/filled-tonal-button.d.ts +35 -0
  17. package/button/filled-tonal-button.js +39 -0
  18. package/button/filled-tonal-button.js.map +1 -0
  19. package/button/harness.d.ts +1 -1
  20. package/button/harness.js +1 -1
  21. package/button/harness.js.map +1 -1
  22. package/button/internal/_elevated-button.scss +62 -0
  23. package/button/internal/_elevation.scss +69 -0
  24. package/button/internal/_filled-button.scss +61 -0
  25. package/button/internal/_filled-tonal-button.scss +61 -0
  26. package/button/internal/_icon.scss +39 -0
  27. package/button/internal/_outlined-button.scss +110 -0
  28. package/button/internal/_shared.scss +169 -0
  29. package/button/internal/_text-button.scss +65 -0
  30. package/button/internal/_touch-target.scss +19 -0
  31. package/button/internal/button.d.ts +68 -0
  32. package/button/internal/button.js +159 -0
  33. package/button/internal/button.js.map +1 -0
  34. package/button/internal/elevated-button.d.ts +13 -0
  35. package/button/internal/elevated-button.js +17 -0
  36. package/button/internal/elevated-button.js.map +1 -0
  37. package/button/internal/elevated-styles.css.js +9 -0
  38. package/button/internal/elevated-styles.css.js.map +1 -0
  39. package/button/internal/filled-button.d.ts +13 -0
  40. package/button/internal/filled-button.js +17 -0
  41. package/button/internal/filled-button.js.map +1 -0
  42. package/button/internal/filled-styles.css.js +9 -0
  43. package/button/internal/filled-styles.css.js.map +1 -0
  44. package/button/internal/filled-tonal-button.d.ts +13 -0
  45. package/button/internal/filled-tonal-button.js +17 -0
  46. package/button/internal/filled-tonal-button.js.map +1 -0
  47. package/button/internal/filled-tonal-styles.css.js +9 -0
  48. package/button/internal/filled-tonal-styles.css.js.map +1 -0
  49. package/button/internal/filled-tonal-styles.scss +10 -0
  50. package/button/internal/outlined-button.d.ts +12 -0
  51. package/button/internal/outlined-button.js +16 -0
  52. package/button/internal/outlined-button.js.map +1 -0
  53. package/button/internal/outlined-styles.css.js +9 -0
  54. package/button/internal/outlined-styles.css.js.map +1 -0
  55. package/button/internal/shared-elevation-styles.css.js +9 -0
  56. package/button/internal/shared-elevation-styles.css.js.map +1 -0
  57. package/button/internal/shared-styles.css.js +9 -0
  58. package/button/internal/shared-styles.css.js.map +1 -0
  59. package/button/internal/text-button.d.ts +11 -0
  60. package/button/internal/text-button.js +12 -0
  61. package/button/internal/text-button.js.map +1 -0
  62. package/button/internal/text-styles.css.js +9 -0
  63. package/button/internal/text-styles.css.js.map +1 -0
  64. package/button/outlined-button.d.ts +1 -1
  65. package/button/outlined-button.js +4 -5
  66. package/button/outlined-button.js.map +1 -1
  67. package/button/text-button.d.ts +1 -1
  68. package/button/text-button.js +4 -5
  69. package/button/text-button.js.map +1 -1
  70. package/checkbox/_checkbox.scss +1 -1
  71. package/checkbox/checkbox.d.ts +1 -1
  72. package/checkbox/checkbox.js +4 -6
  73. package/checkbox/checkbox.js.map +1 -1
  74. package/checkbox/harness.d.ts +1 -1
  75. package/checkbox/harness.js.map +1 -1
  76. package/checkbox/internal/_checkbox.scss +416 -0
  77. package/checkbox/internal/checkbox-styles.css.js +9 -0
  78. package/checkbox/internal/checkbox-styles.css.js.map +1 -0
  79. package/checkbox/internal/checkbox.d.ts +138 -0
  80. package/checkbox/internal/checkbox.js +307 -0
  81. package/checkbox/internal/checkbox.js.map +1 -0
  82. package/chips/_assist-chip.scss +1 -1
  83. package/chips/_filter-chip.scss +1 -1
  84. package/chips/_input-chip.scss +6 -0
  85. package/chips/_suggestion-chip.scss +1 -1
  86. package/chips/assist-chip.d.ts +1 -1
  87. package/chips/assist-chip.js +5 -6
  88. package/chips/assist-chip.js.map +1 -1
  89. package/chips/chip-set.d.ts +20 -0
  90. package/chips/chip-set.js +22 -0
  91. package/chips/chip-set.js.map +1 -0
  92. package/chips/filter-chip.d.ts +1 -1
  93. package/chips/filter-chip.js +10 -7
  94. package/chips/filter-chip.js.map +1 -1
  95. package/chips/harness.d.ts +14 -0
  96. package/chips/harness.js +37 -0
  97. package/chips/harness.js.map +1 -0
  98. package/chips/input-chip.d.ts +20 -0
  99. package/chips/input-chip.js +25 -0
  100. package/chips/input-chip.js.map +1 -0
  101. package/chips/internal/_assist-chip.scss +67 -0
  102. package/chips/internal/_chip-set.scss +12 -0
  103. package/chips/internal/_elevated.scss +70 -0
  104. package/chips/internal/_filter-chip.scss +80 -0
  105. package/chips/internal/_input-chip.scss +107 -0
  106. package/chips/internal/_selectable.scss +78 -0
  107. package/chips/internal/_shared.scss +216 -0
  108. package/chips/internal/_suggestion-chip.scss +67 -0
  109. package/chips/internal/_trailing-icon.scss +80 -0
  110. package/chips/internal/assist-chip.d.ts +24 -0
  111. package/chips/internal/assist-chip.js +74 -0
  112. package/chips/internal/assist-chip.js.map +1 -0
  113. package/chips/internal/assist-styles.css.js +9 -0
  114. package/chips/internal/assist-styles.css.js.map +1 -0
  115. package/chips/internal/chip-set-styles.css.js +9 -0
  116. package/chips/internal/chip-set-styles.css.js.map +1 -0
  117. package/chips/internal/chip-set-styles.scss +10 -0
  118. package/chips/internal/chip-set.d.ts +19 -0
  119. package/chips/internal/chip-set.js +130 -0
  120. package/chips/internal/chip-set.js.map +1 -0
  121. package/chips/internal/chip.d.ts +56 -0
  122. package/chips/internal/chip.js +111 -0
  123. package/chips/internal/chip.js.map +1 -0
  124. package/chips/internal/elevated-styles.css.js +9 -0
  125. package/chips/internal/elevated-styles.css.js.map +1 -0
  126. package/chips/internal/filter-chip.d.ts +29 -0
  127. package/chips/internal/filter-chip.js +98 -0
  128. package/chips/internal/filter-chip.js.map +1 -0
  129. package/chips/internal/filter-styles.css.js +9 -0
  130. package/chips/internal/filter-styles.css.js.map +1 -0
  131. package/chips/internal/input-chip.d.ts +29 -0
  132. package/chips/internal/input-chip.js +110 -0
  133. package/chips/internal/input-chip.js.map +1 -0
  134. package/chips/internal/input-styles.css.js +9 -0
  135. package/chips/internal/input-styles.css.js.map +1 -0
  136. package/chips/internal/input-styles.scss +10 -0
  137. package/chips/internal/multi-action-chip.d.ts +23 -0
  138. package/chips/internal/multi-action-chip.js +95 -0
  139. package/chips/internal/multi-action-chip.js.map +1 -0
  140. package/chips/internal/selectable-styles.css.js +9 -0
  141. package/chips/internal/selectable-styles.css.js.map +1 -0
  142. package/chips/internal/selectable-styles.scss +10 -0
  143. package/chips/internal/shared-styles.css.js +9 -0
  144. package/chips/internal/shared-styles.css.js.map +1 -0
  145. package/chips/internal/suggestion-styles.css.js +9 -0
  146. package/chips/internal/suggestion-styles.css.js.map +1 -0
  147. package/chips/internal/trailing-icon-styles.css.js +9 -0
  148. package/chips/internal/trailing-icon-styles.css.js.map +1 -0
  149. package/chips/internal/trailing-icon-styles.scss +10 -0
  150. package/chips/internal/trailing-icons.d.ts +16 -0
  151. package/chips/internal/trailing-icons.js +38 -0
  152. package/chips/internal/trailing-icons.js.map +1 -0
  153. package/chips/suggestion-chip.d.ts +1 -1
  154. package/chips/suggestion-chip.js +5 -6
  155. package/chips/suggestion-chip.js.map +1 -1
  156. package/color/_color.scss +197 -0
  157. package/common.d.ts +57 -0
  158. package/common.js +66 -0
  159. package/common.js.map +1 -0
  160. package/dialog/_dialog.scss +1 -1
  161. package/dialog/dialog.d.ts +1 -1
  162. package/dialog/dialog.js +3 -4
  163. package/dialog/dialog.js.map +1 -1
  164. package/dialog/harness.d.ts +2 -7
  165. package/dialog/harness.js +2 -43
  166. package/dialog/harness.js.map +1 -1
  167. package/dialog/internal/_dialog.scss +278 -0
  168. package/dialog/internal/animations.d.ts +47 -0
  169. package/dialog/internal/animations.js +117 -0
  170. package/dialog/internal/animations.js.map +1 -0
  171. package/dialog/internal/dialog-styles.css.js +9 -0
  172. package/dialog/internal/dialog-styles.css.js.map +1 -0
  173. package/dialog/internal/dialog.d.ts +110 -0
  174. package/dialog/internal/dialog.js +371 -0
  175. package/dialog/internal/dialog.js.map +1 -0
  176. package/divider/_divider.scss +1 -1
  177. package/divider/divider.d.ts +1 -1
  178. package/divider/divider.js +3 -4
  179. package/divider/divider.js.map +1 -1
  180. package/divider/internal/_divider.scss +64 -0
  181. package/docs/theming/README.md +129 -0
  182. package/elevation/_elevation.scss +1 -1
  183. package/elevation/elevation.d.ts +1 -1
  184. package/elevation/elevation.js +3 -4
  185. package/elevation/elevation.js.map +1 -1
  186. package/elevation/internal/_elevation.scss +172 -0
  187. package/elevation/internal/elevation-styles.css.js +9 -0
  188. package/elevation/internal/elevation-styles.css.js.map +1 -0
  189. package/elevation/internal/elevation.d.ts +13 -0
  190. package/elevation/internal/elevation.js +21 -0
  191. package/elevation/internal/elevation.js.map +1 -0
  192. package/fab/_fab.scss +2 -2
  193. package/fab/branded-fab.d.ts +3 -3
  194. package/fab/branded-fab.js +5 -6
  195. package/fab/branded-fab.js.map +1 -1
  196. package/fab/fab.d.ts +3 -3
  197. package/fab/fab.js +5 -6
  198. package/fab/fab.js.map +1 -1
  199. package/fab/harness.d.ts +1 -1
  200. package/fab/harness.js.map +1 -1
  201. package/fab/internal/_fab.scss +261 -0
  202. package/fab/internal/_shared.scss +245 -0
  203. package/fab/internal/fab-branded-styles.css.js +9 -0
  204. package/fab/internal/fab-branded-styles.css.js.map +1 -0
  205. package/fab/internal/fab-styles.css.js +9 -0
  206. package/fab/internal/fab-styles.css.js.map +1 -0
  207. package/fab/internal/fab.d.ts +25 -0
  208. package/fab/internal/fab.js.map +1 -0
  209. package/fab/internal/forced-colors-styles.css.js +9 -0
  210. package/fab/internal/forced-colors-styles.css.js.map +1 -0
  211. package/fab/internal/forced-colors-styles.scss +29 -0
  212. package/fab/internal/shared-styles.css.js +9 -0
  213. package/fab/internal/shared-styles.css.js.map +1 -0
  214. package/fab/internal/shared.d.ts +42 -0
  215. package/fab/internal/shared.js +94 -0
  216. package/fab/internal/shared.js.map +1 -0
  217. package/field/_filled-field.scss +1 -1
  218. package/field/_outlined-field.scss +1 -1
  219. package/field/filled-field.d.ts +1 -1
  220. package/field/filled-field.js +4 -5
  221. package/field/filled-field.js.map +1 -1
  222. package/field/harness.d.ts +1 -1
  223. package/field/harness.js.map +1 -1
  224. package/field/internal/_content.scss +199 -0
  225. package/field/internal/_filled-field.scss +215 -0
  226. package/field/internal/_label.scss +94 -0
  227. package/field/internal/_outlined-field.scss +356 -0
  228. package/field/internal/_shared.scss +78 -0
  229. package/field/internal/_supporting-text.scss +50 -0
  230. package/field/internal/field.d.ts +65 -0
  231. package/field/internal/field.js +337 -0
  232. package/field/internal/field.js.map +1 -0
  233. package/field/internal/filled-styles.css.js +9 -0
  234. package/field/internal/filled-styles.css.js.map +1 -0
  235. package/field/internal/outlined-field.d.ts +12 -0
  236. package/field/internal/outlined-field.js.map +1 -0
  237. package/field/internal/outlined-styles.css.js +9 -0
  238. package/field/internal/outlined-styles.css.js.map +1 -0
  239. package/field/internal/shared-styles.css.js +9 -0
  240. package/field/internal/shared-styles.css.js.map +1 -0
  241. package/field/outlined-field.d.ts +1 -1
  242. package/field/outlined-field.js +4 -5
  243. package/field/outlined-field.js.map +1 -1
  244. package/focus/_focus-ring.scss +1 -1
  245. package/focus/internal/_focus-ring.scss +139 -0
  246. package/focus/internal/focus-ring-styles.css.js +9 -0
  247. package/focus/internal/focus-ring-styles.css.js.map +1 -0
  248. package/focus/internal/focus-ring.d.ts +37 -0
  249. package/focus/internal/focus-ring.js +100 -0
  250. package/focus/internal/focus-ring.js.map +1 -0
  251. package/focus/md-focus-ring.d.ts +20 -0
  252. package/focus/md-focus-ring.js +22 -0
  253. package/focus/md-focus-ring.js.map +1 -0
  254. package/icon/_icon.scss +1 -1
  255. package/icon/icon.d.ts +2 -1
  256. package/icon/icon.js +4 -4
  257. package/icon/icon.js.map +1 -1
  258. package/icon/internal/_icon.scss +66 -0
  259. package/icon/internal/icon-styles.css.js +9 -0
  260. package/icon/internal/icon-styles.css.js.map +1 -0
  261. package/icon/internal/icon.d.ts +13 -0
  262. package/icon/internal/icon.js +28 -0
  263. package/icon/internal/icon.js.map +1 -0
  264. package/iconbutton/_filled-icon-button.scss +1 -1
  265. package/iconbutton/_filled-tonal-icon-button.scss +1 -1
  266. package/iconbutton/_icon-button.scss +6 -0
  267. package/iconbutton/_outlined-icon-button.scss +1 -1
  268. package/iconbutton/filled-icon-button.d.ts +5 -5
  269. package/iconbutton/filled-icon-button.js +6 -7
  270. package/iconbutton/filled-icon-button.js.map +1 -1
  271. package/iconbutton/filled-tonal-icon-button.d.ts +5 -5
  272. package/iconbutton/filled-tonal-icon-button.js +6 -7
  273. package/iconbutton/filled-tonal-icon-button.js.map +1 -1
  274. package/iconbutton/harness.d.ts +1 -1
  275. package/iconbutton/harness.js.map +1 -1
  276. package/iconbutton/icon-button.d.ts +34 -0
  277. package/iconbutton/icon-button.js +38 -0
  278. package/iconbutton/icon-button.js.map +1 -0
  279. package/iconbutton/internal/_filled-icon-button.scss +171 -0
  280. package/iconbutton/internal/_filled-tonal-icon-button.scss +173 -0
  281. package/iconbutton/internal/_icon-button.scss +131 -0
  282. package/iconbutton/internal/_outlined-icon-button.scss +182 -0
  283. package/iconbutton/internal/_shared.scss +116 -0
  284. package/iconbutton/internal/filled-styles.css.js +9 -0
  285. package/iconbutton/internal/filled-styles.css.js.map +1 -0
  286. package/iconbutton/internal/filled-tonal-styles.css.js +9 -0
  287. package/iconbutton/internal/filled-tonal-styles.css.js.map +1 -0
  288. package/iconbutton/internal/icon-button.d.ts +81 -0
  289. package/iconbutton/internal/icon-button.js +207 -0
  290. package/iconbutton/internal/icon-button.js.map +1 -0
  291. package/iconbutton/internal/outlined-styles.css.js +9 -0
  292. package/iconbutton/internal/outlined-styles.css.js.map +1 -0
  293. package/iconbutton/internal/shared-styles.css.js +9 -0
  294. package/iconbutton/internal/shared-styles.css.js.map +1 -0
  295. package/iconbutton/internal/standard-styles.css.js +9 -0
  296. package/iconbutton/internal/standard-styles.css.js.map +1 -0
  297. package/iconbutton/internal/standard-styles.scss +10 -0
  298. package/iconbutton/outlined-icon-button.d.ts +4 -4
  299. package/iconbutton/outlined-icon-button.js +5 -6
  300. package/iconbutton/outlined-icon-button.js.map +1 -1
  301. package/internal/README.md +6 -0
  302. package/internal/aria/aria.d.ts +154 -0
  303. package/internal/aria/aria.js +239 -0
  304. package/internal/aria/aria.js.map +1 -0
  305. package/internal/aria/delegate.d.ts +37 -0
  306. package/internal/aria/delegate.js +53 -0
  307. package/internal/aria/delegate.js.map +1 -0
  308. package/internal/controller/attachable-controller.d.ts +114 -0
  309. package/internal/controller/attachable-controller.js +123 -0
  310. package/internal/controller/attachable-controller.js.map +1 -0
  311. package/internal/controller/element-internals.d.ts +35 -0
  312. package/internal/controller/element-internals.js +24 -0
  313. package/internal/controller/element-internals.js.map +1 -0
  314. package/internal/controller/form-submitter.d.ts +72 -0
  315. package/internal/controller/form-submitter.js +71 -0
  316. package/internal/controller/form-submitter.js.map +1 -0
  317. package/internal/motion/animation.d.ts +80 -0
  318. package/internal/motion/animation.js +101 -0
  319. package/internal/motion/animation.js.map +1 -0
  320. package/internal/sass/_var.scss +237 -0
  321. package/labs/README.md +6 -0
  322. package/labs/badge/_badge.scss +6 -0
  323. package/labs/badge/badge.d.ts +18 -0
  324. package/labs/badge/badge.js +20 -0
  325. package/labs/badge/badge.js.map +1 -0
  326. package/labs/badge/internal/_badge.scss +76 -0
  327. package/labs/badge/internal/badge-styles.css.js +9 -0
  328. package/labs/badge/internal/badge-styles.css.js.map +1 -0
  329. package/labs/item/internal/_item.scss +99 -0
  330. package/labs/item/internal/item-styles.css.js +9 -0
  331. package/labs/item/internal/item-styles.css.js.map +1 -0
  332. package/labs/item/internal/item-styles.scss +10 -0
  333. package/labs/item/internal/item.d.ts +22 -0
  334. package/labs/item/internal/item.js +78 -0
  335. package/labs/item/internal/item.js.map +1 -0
  336. package/labs/item/item.d.ts +70 -0
  337. package/labs/item/item.js +72 -0
  338. package/labs/item/item.js.map +1 -0
  339. package/labs/navigationbar/_navigation-bar.scss +6 -0
  340. package/labs/navigationbar/harness.d.ts +19 -0
  341. package/labs/navigationbar/harness.js +29 -0
  342. package/labs/navigationbar/harness.js.map +1 -0
  343. package/labs/navigationbar/internal/_navigation-bar.scss +70 -0
  344. package/labs/navigationbar/internal/constants.d.ts +17 -0
  345. package/labs/navigationbar/internal/constants.js.map +1 -0
  346. package/labs/navigationbar/internal/navigation-bar-styles.css.js +9 -0
  347. package/labs/navigationbar/internal/navigation-bar-styles.css.js.map +1 -0
  348. package/labs/navigationbar/internal/navigation-bar.d.ts +27 -0
  349. package/labs/navigationbar/internal/navigation-bar.js +138 -0
  350. package/labs/navigationbar/internal/navigation-bar.js.map +1 -0
  351. package/labs/navigationbar/internal/state.d.ts +23 -0
  352. package/labs/navigationbar/internal/state.js.map +1 -0
  353. package/labs/navigationbar/navigation-bar.d.ts +18 -0
  354. package/labs/navigationbar/navigation-bar.js +20 -0
  355. package/labs/navigationbar/navigation-bar.js.map +1 -0
  356. package/labs/navigationdrawer/_navigation-drawer-modal.scss +6 -0
  357. package/labs/navigationdrawer/_navigation-drawer.scss +6 -0
  358. package/labs/navigationdrawer/internal/_navigation-drawer-modal.scss +110 -0
  359. package/labs/navigationdrawer/internal/_navigation-drawer.scss +97 -0
  360. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.js +9 -0
  361. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.js.map +1 -0
  362. package/labs/navigationdrawer/internal/navigation-drawer-modal.js +81 -0
  363. package/labs/navigationdrawer/internal/navigation-drawer-modal.js.map +1 -0
  364. package/labs/navigationdrawer/internal/navigation-drawer-styles.css.js +9 -0
  365. package/labs/navigationdrawer/internal/navigation-drawer-styles.css.js.map +1 -0
  366. package/labs/navigationdrawer/internal/navigation-drawer.d.ts +17 -0
  367. package/labs/navigationdrawer/internal/navigation-drawer.js +64 -0
  368. package/labs/navigationdrawer/internal/navigation-drawer.js.map +1 -0
  369. package/labs/navigationdrawer/navigation-drawer-modal.d.ts +18 -0
  370. package/labs/navigationdrawer/navigation-drawer-modal.js +21 -0
  371. package/labs/navigationdrawer/navigation-drawer-modal.js.map +1 -0
  372. package/labs/navigationdrawer/navigation-drawer.d.ts +18 -0
  373. package/labs/navigationdrawer/navigation-drawer.js +21 -0
  374. package/labs/navigationdrawer/navigation-drawer.js.map +1 -0
  375. package/labs/navigationtab/_navigation-tab.scss +6 -0
  376. package/labs/navigationtab/harness.d.ts +13 -0
  377. package/labs/navigationtab/harness.js +16 -0
  378. package/labs/navigationtab/harness.js.map +1 -0
  379. package/labs/navigationtab/internal/_navigation-tab.scss +262 -0
  380. package/labs/navigationtab/internal/navigation-tab-styles.css.js +9 -0
  381. package/labs/navigationtab/internal/navigation-tab-styles.css.js.map +1 -0
  382. package/labs/navigationtab/internal/navigation-tab.d.ts +30 -0
  383. package/labs/navigationtab/internal/navigation-tab.js +117 -0
  384. package/labs/navigationtab/internal/navigation-tab.js.map +1 -0
  385. package/labs/navigationtab/navigation-tab.d.ts +18 -0
  386. package/labs/navigationtab/navigation-tab.js +20 -0
  387. package/labs/navigationtab/navigation-tab.js.map +1 -0
  388. package/labs/segmentedbutton/internal/_outlined-segmented-button.scss +42 -0
  389. package/labs/segmentedbutton/internal/_shared.scss +358 -0
  390. package/labs/segmentedbutton/internal/outlined-styles.css.js +9 -0
  391. package/labs/segmentedbutton/internal/outlined-styles.css.js.map +1 -0
  392. package/labs/segmentedbutton/internal/segmented-button.d.ts +44 -0
  393. package/labs/segmentedbutton/internal/segmented-button.js +157 -0
  394. package/labs/segmentedbutton/internal/segmented-button.js.map +1 -0
  395. package/labs/segmentedbutton/internal/shared-styles.css.js +9 -0
  396. package/labs/segmentedbutton/internal/shared-styles.css.js.map +1 -0
  397. package/labs/segmentedbutton/outlined-segmented-button.d.ts +20 -0
  398. package/labs/segmentedbutton/outlined-segmented-button.js +23 -0
  399. package/labs/segmentedbutton/outlined-segmented-button.js.map +1 -0
  400. package/labs/segmentedbuttonset/internal/_outlined-segmented-button-set.scss +53 -0
  401. package/labs/segmentedbuttonset/internal/outlined-styles.css.js +9 -0
  402. package/labs/segmentedbuttonset/internal/outlined-styles.css.js.map +1 -0
  403. package/labs/segmentedbuttonset/internal/segmented-button-set.d.ts +26 -0
  404. package/labs/segmentedbuttonset/internal/segmented-button-set.js +108 -0
  405. package/labs/segmentedbuttonset/internal/segmented-button-set.js.map +1 -0
  406. package/labs/segmentedbuttonset/outlined-segmented-button-set.d.ts +20 -0
  407. package/labs/segmentedbuttonset/outlined-segmented-button-set.js +23 -0
  408. package/labs/segmentedbuttonset/outlined-segmented-button-set.js.map +1 -0
  409. package/list/_list-item.scss +1 -1
  410. package/list/_list.scss +1 -1
  411. package/list/harness.d.ts +28 -4
  412. package/list/harness.js +27 -3
  413. package/list/harness.js.map +1 -1
  414. package/list/internal/_list.scss +46 -0
  415. package/list/internal/list-controller.d.ts +108 -0
  416. package/list/internal/list-controller.js +176 -0
  417. package/list/internal/list-controller.js.map +1 -0
  418. package/list/internal/list-navigation-helpers.d.ts +132 -0
  419. package/list/internal/list-navigation-helpers.js +218 -0
  420. package/list/internal/list-navigation-helpers.js.map +1 -0
  421. package/list/internal/list-styles.css.js +9 -0
  422. package/list/internal/list-styles.css.js.map +1 -0
  423. package/list/internal/list.d.ts +44 -0
  424. package/list/internal/list.js +73 -0
  425. package/list/internal/list.js.map +1 -0
  426. package/list/internal/listitem/_list-item.scss +146 -0
  427. package/list/internal/listitem/forced-colors-styles.css.js +9 -0
  428. package/list/internal/listitem/forced-colors-styles.css.js.map +1 -0
  429. package/list/internal/listitem/forced-colors-styles.scss +19 -0
  430. package/list/internal/listitem/harness.d.ts +27 -0
  431. package/list/internal/listitem/harness.js +25 -0
  432. package/list/internal/listitem/harness.js.map +1 -0
  433. package/list/internal/listitem/list-item-styles.css.js +9 -0
  434. package/list/internal/listitem/list-item-styles.css.js.map +1 -0
  435. package/list/internal/listitem/list-item.d.ts +77 -0
  436. package/list/internal/listitem/list-item.js +194 -0
  437. package/list/internal/listitem/list-item.js.map +1 -0
  438. package/list/list-item.d.ts +15 -8
  439. package/list/list-item.js +17 -12
  440. package/list/list-item.js.map +1 -1
  441. package/list/list.d.ts +1 -1
  442. package/list/list.js +3 -4
  443. package/list/list.js.map +1 -1
  444. package/menu/_menu-item.scss +1 -1
  445. package/menu/_menu.scss +1 -1
  446. package/menu/harness.d.ts +5 -5
  447. package/menu/harness.js +4 -6
  448. package/menu/harness.js.map +1 -1
  449. package/menu/internal/_menu.scss +124 -0
  450. package/menu/internal/controllers/menuItemController.d.ts +107 -0
  451. package/menu/internal/controllers/menuItemController.js +99 -0
  452. package/menu/internal/controllers/menuItemController.js.map +1 -0
  453. package/menu/internal/controllers/shared.d.ts +221 -0
  454. package/menu/internal/controllers/shared.js +137 -0
  455. package/menu/internal/controllers/shared.js.map +1 -0
  456. package/menu/internal/controllers/surfacePositionController.d.ts +152 -0
  457. package/menu/internal/controllers/surfacePositionController.js +316 -0
  458. package/menu/internal/controllers/surfacePositionController.js.map +1 -0
  459. package/menu/internal/controllers/typeaheadController.d.ts +157 -0
  460. package/menu/internal/controllers/typeaheadController.js +254 -0
  461. package/menu/internal/controllers/typeaheadController.js.map +1 -0
  462. package/menu/internal/menu-styles.css.js +9 -0
  463. package/menu/internal/menu-styles.css.js.map +1 -0
  464. package/menu/internal/menu.d.ts +259 -0
  465. package/menu/internal/menu.js +788 -0
  466. package/menu/internal/menu.js.map +1 -0
  467. package/menu/internal/menuitem/_menu-item.scss +180 -0
  468. package/menu/internal/menuitem/forced-colors-styles.css.js +9 -0
  469. package/menu/internal/menuitem/forced-colors-styles.css.js.map +1 -0
  470. package/menu/internal/menuitem/forced-colors-styles.scss +26 -0
  471. package/menu/internal/menuitem/harness.d.ts +11 -0
  472. package/menu/internal/menuitem/harness.js +12 -0
  473. package/menu/internal/menuitem/harness.js.map +1 -0
  474. package/menu/internal/menuitem/menu-item-styles.css.js +9 -0
  475. package/menu/internal/menuitem/menu-item-styles.css.js.map +1 -0
  476. package/menu/internal/menuitem/menu-item.d.ts +80 -0
  477. package/menu/internal/menuitem/menu-item.js +200 -0
  478. package/menu/internal/menuitem/menu-item.js.map +1 -0
  479. package/menu/internal/submenu/_sub-menu.scss +12 -0
  480. package/menu/internal/submenu/sub-menu-styles.css.js +9 -0
  481. package/menu/internal/submenu/sub-menu-styles.css.js.map +1 -0
  482. package/menu/internal/submenu/sub-menu-styles.scss +10 -0
  483. package/menu/internal/submenu/sub-menu.d.ts +101 -0
  484. package/menu/internal/submenu/sub-menu.js +351 -0
  485. package/menu/internal/submenu/sub-menu.js.map +1 -0
  486. package/menu/menu-item.d.ts +3 -3
  487. package/menu/menu-item.js +5 -9
  488. package/menu/menu-item.js.map +1 -1
  489. package/menu/menu.d.ts +21 -13
  490. package/menu/menu.js +22 -15
  491. package/menu/menu.js.map +1 -1
  492. package/menu/sub-menu.d.ts +62 -0
  493. package/menu/sub-menu.js +64 -0
  494. package/menu/sub-menu.js.map +1 -0
  495. package/package.json +85 -16
  496. package/progress/_circular-progress.scss +6 -0
  497. package/progress/_linear-progress.scss +6 -0
  498. package/progress/circular-progress.d.ts +24 -0
  499. package/progress/circular-progress.js +26 -0
  500. package/progress/circular-progress.js.map +1 -0
  501. package/progress/harness.d.ts +20 -0
  502. package/progress/harness.js +25 -0
  503. package/progress/harness.js.map +1 -0
  504. package/progress/internal/_circular-progress.scss +287 -0
  505. package/progress/internal/_linear-progress.scss +340 -0
  506. package/progress/internal/circular-progress-styles.css.js +9 -0
  507. package/progress/internal/circular-progress-styles.css.js.map +1 -0
  508. package/progress/internal/circular-progress.d.ts +14 -0
  509. package/progress/internal/circular-progress.js +49 -0
  510. package/progress/internal/circular-progress.js.map +1 -0
  511. package/progress/internal/linear-progress-styles.css.js +9 -0
  512. package/progress/internal/linear-progress-styles.css.js.map +1 -0
  513. package/progress/internal/linear-progress.d.ts +16 -0
  514. package/progress/internal/linear-progress.js +47 -0
  515. package/progress/internal/linear-progress.js.map +1 -0
  516. package/progress/internal/progress.d.ts +34 -0
  517. package/progress/internal/progress.js +70 -0
  518. package/progress/internal/progress.js.map +1 -0
  519. package/progress/linear-progress.d.ts +23 -0
  520. package/progress/linear-progress.js +25 -0
  521. package/progress/linear-progress.js.map +1 -0
  522. package/radio/_radio.scss +1 -1
  523. package/radio/harness.d.ts +2 -2
  524. package/radio/harness.js +1 -1
  525. package/radio/harness.js.map +1 -1
  526. package/radio/internal/_radio.scss +185 -0
  527. package/radio/internal/forced-colors-styles.css.js +9 -0
  528. package/radio/internal/forced-colors-styles.css.js.map +1 -0
  529. package/radio/internal/forced-colors-styles.scss +29 -0
  530. package/radio/internal/radio-styles.css.js +9 -0
  531. package/radio/internal/radio-styles.css.js.map +1 -0
  532. package/radio/internal/radio.d.ts +56 -0
  533. package/radio/internal/radio.js +165 -0
  534. package/radio/internal/radio.js.map +1 -0
  535. package/radio/internal/single-selection-controller.js +197 -0
  536. package/radio/internal/single-selection-controller.js.map +1 -0
  537. package/radio/radio.d.ts +1 -1
  538. package/radio/radio.js +4 -5
  539. package/radio/radio.js.map +1 -1
  540. package/ripple/_ripple.scss +1 -1
  541. package/ripple/internal/_ripple.scss +96 -0
  542. package/ripple/internal/ripple-styles.css.js +9 -0
  543. package/ripple/internal/ripple-styles.css.js.map +1 -0
  544. package/ripple/internal/ripple.d.ts +76 -0
  545. package/ripple/internal/ripple.js +408 -0
  546. package/ripple/internal/ripple.js.map +1 -0
  547. package/ripple/ripple.d.ts +1 -1
  548. package/ripple/ripple.js +3 -4
  549. package/ripple/ripple.js.map +1 -1
  550. package/select/_filled-select.scss +1 -1
  551. package/select/_outlined-select.scss +1 -1
  552. package/select/filled-select.d.ts +1 -1
  553. package/select/filled-select.js +5 -6
  554. package/select/filled-select.js.map +1 -1
  555. package/select/harness.d.ts +4 -4
  556. package/select/harness.js +3 -5
  557. package/select/harness.js.map +1 -1
  558. package/select/internal/_filled-select.scss +231 -0
  559. package/select/internal/_outlined-select.scss +189 -0
  560. package/select/internal/_shared.scss +84 -0
  561. package/select/internal/filled-select-styles.css.js +9 -0
  562. package/select/internal/filled-select-styles.css.js.map +1 -0
  563. package/select/internal/outlined-select-styles.css.js +9 -0
  564. package/select/internal/outlined-select-styles.css.js.map +1 -0
  565. package/select/internal/select.d.ts +313 -0
  566. package/select/internal/select.js +773 -0
  567. package/select/internal/select.js.map +1 -0
  568. package/select/internal/selectoption/harness.d.ts +11 -0
  569. package/select/internal/selectoption/harness.js +12 -0
  570. package/select/internal/selectoption/harness.js.map +1 -0
  571. package/select/internal/selectoption/select-option.d.ts +82 -0
  572. package/select/internal/selectoption/select-option.js +183 -0
  573. package/select/internal/selectoption/select-option.js.map +1 -0
  574. package/select/internal/selectoption/selectOptionController.d.ts +91 -0
  575. package/select/internal/selectoption/selectOptionController.js +118 -0
  576. package/select/internal/selectoption/selectOptionController.js.map +1 -0
  577. package/select/internal/shared-styles.css.js +9 -0
  578. package/select/internal/shared-styles.css.js.map +1 -0
  579. package/select/internal/shared.d.ts +18 -0
  580. package/select/internal/shared.js +23 -0
  581. package/select/internal/shared.js.map +1 -0
  582. package/select/outlined-select.d.ts +1 -1
  583. package/select/outlined-select.js +5 -6
  584. package/select/outlined-select.js.map +1 -1
  585. package/select/select-option.d.ts +1 -1
  586. package/select/select-option.js +5 -8
  587. package/select/select-option.js.map +1 -1
  588. package/slider/_slider.scss +1 -1
  589. package/slider/harness.d.ts +1 -1
  590. package/slider/harness.js +7 -5
  591. package/slider/harness.js.map +1 -1
  592. package/slider/internal/_slider.scss +508 -0
  593. package/slider/internal/forced-colors-styles.css.js +9 -0
  594. package/slider/internal/forced-colors-styles.css.js.map +1 -0
  595. package/slider/internal/forced-colors-styles.scss +88 -0
  596. package/slider/internal/slider-styles.css.js +9 -0
  597. package/slider/internal/slider-styles.css.js.map +1 -0
  598. package/slider/internal/slider.d.ts +187 -0
  599. package/slider/internal/slider.js +718 -0
  600. package/slider/internal/slider.js.map +1 -0
  601. package/slider/slider.d.ts +1 -1
  602. package/slider/slider.js +4 -5
  603. package/slider/slider.js.map +1 -1
  604. package/switch/_switch.scss +1 -1
  605. package/switch/harness.d.ts +2 -2
  606. package/switch/harness.js +1 -1
  607. package/switch/harness.js.map +1 -1
  608. package/switch/internal/README.md +55 -0
  609. package/switch/internal/_handle.scss +160 -0
  610. package/switch/internal/_icon.scss +92 -0
  611. package/switch/internal/_switch.scss +154 -0
  612. package/switch/internal/_track.scss +91 -0
  613. package/switch/internal/forced-colors-styles.css.js +9 -0
  614. package/switch/internal/forced-colors-styles.css.js.map +1 -0
  615. package/switch/internal/forced-colors-styles.scss +42 -0
  616. package/switch/internal/switch-styles.css.js +9 -0
  617. package/switch/internal/switch-styles.css.js.map +1 -0
  618. package/switch/internal/switch.d.ts +150 -0
  619. package/switch/internal/switch.js +326 -0
  620. package/switch/internal/switch.js.map +1 -0
  621. package/switch/switch.d.ts +1 -1
  622. package/switch/switch.js +5 -5
  623. package/switch/switch.js.map +1 -1
  624. package/tabs/_primary-tab.scss +6 -0
  625. package/tabs/_secondary-tab.scss +6 -0
  626. package/tabs/harness.d.ts +23 -0
  627. package/tabs/harness.js +51 -0
  628. package/tabs/harness.js.map +1 -0
  629. package/tabs/internal/_primary-tab.scss +70 -0
  630. package/tabs/internal/_secondary-tab.scss +61 -0
  631. package/tabs/internal/_tab.scss +205 -0
  632. package/tabs/internal/_tabs.scss +45 -0
  633. package/tabs/internal/primary-tab-styles.css.js +9 -0
  634. package/tabs/internal/primary-tab-styles.css.js.map +1 -0
  635. package/tabs/internal/primary-tab-styles.scss +10 -0
  636. package/tabs/internal/primary-tab.d.ts +20 -0
  637. package/tabs/internal/primary-tab.js +30 -0
  638. package/tabs/internal/primary-tab.js.map +1 -0
  639. package/tabs/internal/secondary-tab-styles.css.d.ts +1 -0
  640. package/tabs/internal/secondary-tab-styles.css.js +9 -0
  641. package/tabs/internal/secondary-tab-styles.css.js.map +1 -0
  642. package/tabs/internal/secondary-tab-styles.scss +10 -0
  643. package/tabs/internal/secondary-tab.d.ts +12 -0
  644. package/tabs/internal/secondary-tab.js +16 -0
  645. package/tabs/internal/secondary-tab.js.map +1 -0
  646. package/tabs/internal/tab-styles.css.d.ts +1 -0
  647. package/tabs/internal/tab-styles.css.js +9 -0
  648. package/tabs/internal/tab-styles.css.js.map +1 -0
  649. package/tabs/internal/tab-styles.scss +10 -0
  650. package/tabs/internal/tab.d.ts +61 -0
  651. package/tabs/internal/tab.js +188 -0
  652. package/tabs/internal/tab.js.map +1 -0
  653. package/tabs/internal/tabs-styles.css.d.ts +1 -0
  654. package/tabs/internal/tabs-styles.css.js +9 -0
  655. package/tabs/internal/tabs-styles.css.js.map +1 -0
  656. package/tabs/internal/tabs-styles.scss +10 -0
  657. package/tabs/internal/tabs.d.ts +74 -0
  658. package/tabs/internal/tabs.js +283 -0
  659. package/tabs/internal/tabs.js.map +1 -0
  660. package/tabs/primary-tab.d.ts +18 -0
  661. package/tabs/primary-tab.js +22 -0
  662. package/tabs/primary-tab.js.map +1 -0
  663. package/tabs/secondary-tab.d.ts +18 -0
  664. package/tabs/secondary-tab.js +22 -0
  665. package/tabs/secondary-tab.js.map +1 -0
  666. package/tabs/tabs.d.ts +18 -0
  667. package/tabs/tabs.js +21 -0
  668. package/tabs/tabs.js.map +1 -0
  669. package/textfield/_filled-text-field.scss +1 -1
  670. package/textfield/_outlined-text-field.scss +1 -1
  671. package/textfield/filled-text-field.d.ts +2 -2
  672. package/textfield/filled-text-field.js +5 -6
  673. package/textfield/filled-text-field.js.map +1 -1
  674. package/textfield/harness.d.ts +5 -5
  675. package/textfield/harness.js +5 -12
  676. package/textfield/harness.js.map +1 -1
  677. package/textfield/internal/_filled-text-field.scss +203 -0
  678. package/textfield/internal/_input.scss +79 -0
  679. package/textfield/internal/_outlined-text-field.scss +176 -0
  680. package/textfield/internal/_shared.scss +47 -0
  681. package/textfield/internal/filled-forced-colors-styles.css.d.ts +1 -0
  682. package/textfield/internal/filled-styles.css.d.ts +1 -0
  683. package/textfield/internal/filled-styles.css.js +9 -0
  684. package/textfield/internal/filled-styles.css.js.map +1 -0
  685. package/textfield/internal/outlined-forced-colors-styles.css.d.ts +1 -0
  686. package/textfield/internal/outlined-styles.css.d.ts +1 -0
  687. package/textfield/internal/outlined-styles.css.js +9 -0
  688. package/textfield/internal/outlined-styles.css.js.map +1 -0
  689. package/textfield/internal/shared-styles.css.d.ts +1 -0
  690. package/textfield/internal/shared-styles.css.js +9 -0
  691. package/textfield/internal/shared-styles.css.js.map +1 -0
  692. package/textfield/internal/text-field.d.ts +350 -0
  693. package/textfield/internal/text-field.js +754 -0
  694. package/textfield/internal/text-field.js.map +1 -0
  695. package/textfield/outlined-text-field.d.ts +2 -2
  696. package/textfield/outlined-text-field.js +5 -6
  697. package/textfield/outlined-text-field.js.map +1 -1
  698. package/tokens/_index.scss +9 -40
  699. package/tokens/_md-comp-assist-chip.scss +9 -17
  700. package/tokens/_md-comp-badge.scss +2 -15
  701. package/tokens/_md-comp-checkbox.scss +72 -46
  702. package/tokens/_md-comp-circular-progress.scss +65 -0
  703. package/tokens/_md-comp-dialog.scss +55 -19
  704. package/tokens/_md-comp-divider.scss +13 -2
  705. package/tokens/_md-comp-elevated-button.scss +39 -35
  706. package/tokens/_md-comp-elevation.scss +11 -2
  707. package/tokens/_md-comp-fab-branded.scss +20 -15
  708. package/tokens/_md-comp-fab.scss +27 -31
  709. package/tokens/_md-comp-filled-button.scss +39 -35
  710. package/tokens/_md-comp-filled-field.scss +46 -20
  711. package/tokens/_md-comp-filled-icon-button.scss +35 -13
  712. package/tokens/_md-comp-filled-select.scss +38 -17
  713. package/tokens/_md-comp-filled-text-field.scss +20 -21
  714. package/tokens/_md-comp-filled-tonal-button.scss +39 -35
  715. package/tokens/_md-comp-filled-tonal-icon-button.scss +35 -13
  716. package/tokens/_md-comp-filter-chip.scss +10 -18
  717. package/tokens/_md-comp-focus-ring.scss +4 -2
  718. package/tokens/_md-comp-full-screen-dialog.scss +1 -1
  719. package/tokens/_md-comp-icon-button.scss +35 -15
  720. package/tokens/_md-comp-icon.scss +32 -0
  721. package/tokens/_md-comp-input-chip.scss +15 -16
  722. package/tokens/_md-comp-item.scss +87 -0
  723. package/tokens/_md-comp-linear-progress.scss +50 -0
  724. package/tokens/_md-comp-list-item.scss +125 -139
  725. package/tokens/_md-comp-list.scss +11 -109
  726. package/tokens/_md-comp-menu-item.scss +15 -10
  727. package/tokens/_md-comp-menu-list-item.scss +162 -0
  728. package/tokens/_md-comp-menu.scss +15 -12
  729. package/tokens/_md-comp-navigation-bar.scss +1 -1
  730. package/tokens/_md-comp-navigation-drawer.scss +1 -1
  731. package/tokens/_md-comp-outlined-button.scss +41 -37
  732. package/tokens/_md-comp-outlined-field.scss +42 -16
  733. package/tokens/_md-comp-outlined-icon-button.scss +37 -16
  734. package/tokens/_md-comp-outlined-segmented-button.scss +22 -24
  735. package/tokens/_md-comp-outlined-select.scss +24 -16
  736. package/tokens/_md-comp-outlined-text-field.scss +19 -20
  737. package/tokens/_md-comp-primary-tab.scss +131 -0
  738. package/tokens/_md-comp-radio.scss +73 -0
  739. package/tokens/_md-comp-ripple.scss +40 -0
  740. package/tokens/_md-comp-secondary-tab.scss +131 -0
  741. package/tokens/_md-comp-slider.scss +71 -23
  742. package/tokens/_md-comp-suggestion-chip.scss +9 -16
  743. package/tokens/_md-comp-switch.scss +75 -35
  744. package/tokens/_md-comp-test-table.scss +14 -3
  745. package/tokens/_md-comp-text-button.scss +39 -35
  746. package/tokens/_md-ref-palette.scss +102 -2
  747. package/tokens/_md-ref-typeface.scss +24 -12
  748. package/tokens/_md-sys-color.scss +99 -5
  749. package/tokens/_md-sys-elevation.scss +1 -1
  750. package/tokens/_md-sys-motion.scss +1 -1
  751. package/tokens/_md-sys-shape.scss +1 -1
  752. package/tokens/_md-sys-state.scss +1 -1
  753. package/tokens/_md-sys-typescale.scss +115 -17
  754. package/tokens/_values.scss +1 -1
  755. package/tokens/v0_192/_md-comp-assist-chip.scss +111 -0
  756. package/tokens/v0_192/_md-comp-badge.scss +61 -0
  757. package/tokens/v0_192/_md-comp-banner.scss +76 -0
  758. package/tokens/v0_192/_md-comp-bottom-app-bar.scss +36 -0
  759. package/tokens/v0_192/_md-comp-carousel-item.scss +66 -0
  760. package/tokens/v0_192/_md-comp-checkbox.scss +129 -0
  761. package/tokens/v0_192/_md-comp-circular-progress-indicator.scss +41 -0
  762. package/tokens/v0_192/_md-comp-data-table.scss +99 -0
  763. package/tokens/v0_192/_md-comp-date-input-modal.scss +90 -0
  764. package/tokens/v0_192/_md-comp-date-picker-docked.scss +247 -0
  765. package/tokens/v0_192/_md-comp-date-picker-modal.scss +306 -0
  766. package/tokens/v0_192/_md-comp-dialog.scss +124 -0
  767. package/tokens/v0_192/_md-comp-divider.scss +28 -0
  768. package/tokens/v0_192/_md-comp-elevated-button.scss +92 -0
  769. package/tokens/v0_192/_md-comp-elevated-card.scss +60 -0
  770. package/tokens/v0_192/_md-comp-extended-fab-branded.scss +89 -0
  771. package/tokens/v0_192/_md-comp-extended-fab-primary.scss +97 -0
  772. package/tokens/v0_192/_md-comp-extended-fab-secondary.scss +98 -0
  773. package/tokens/v0_192/_md-comp-extended-fab-surface.scss +93 -0
  774. package/tokens/v0_192/_md-comp-extended-fab-tertiary.scss +98 -0
  775. package/tokens/v0_192/_md-comp-fab-branded-large.scss +63 -0
  776. package/tokens/v0_192/_md-comp-fab-branded.scss +63 -0
  777. package/tokens/v0_192/_md-comp-fab-primary-large.scss +68 -0
  778. package/tokens/v0_192/_md-comp-fab-primary-small.scss +68 -0
  779. package/tokens/v0_192/_md-comp-fab-primary.scss +68 -0
  780. package/tokens/v0_192/_md-comp-fab-secondary-large.scss +69 -0
  781. package/tokens/v0_192/_md-comp-fab-secondary-small.scss +69 -0
  782. package/tokens/v0_192/_md-comp-fab-secondary.scss +69 -0
  783. package/tokens/v0_192/_md-comp-fab-surface-large.scss +67 -0
  784. package/tokens/v0_192/_md-comp-fab-surface-small.scss +67 -0
  785. package/tokens/v0_192/_md-comp-fab-surface.scss +67 -0
  786. package/tokens/v0_192/_md-comp-fab-tertiary-large.scss +69 -0
  787. package/tokens/v0_192/_md-comp-fab-tertiary-small.scss +69 -0
  788. package/tokens/v0_192/_md-comp-fab-tertiary.scss +69 -0
  789. package/tokens/v0_192/_md-comp-filled-autocomplete.scss +239 -0
  790. package/tokens/v0_192/_md-comp-filled-button.scss +92 -0
  791. package/tokens/v0_192/_md-comp-filled-card.scss +62 -0
  792. package/tokens/v0_192/_md-comp-filled-icon-button.scss +83 -0
  793. package/tokens/v0_192/_md-comp-filled-menu-button.scss +101 -0
  794. package/tokens/v0_192/_md-comp-filled-select.scss +273 -0
  795. package/tokens/v0_192/_md-comp-filled-text-field.scss +193 -0
  796. package/tokens/v0_192/_md-comp-filled-tonal-button.scss +102 -0
  797. package/tokens/v0_192/_md-comp-filled-tonal-icon-button.scss +90 -0
  798. package/tokens/v0_192/_md-comp-filter-chip.scss +210 -0
  799. package/tokens/v0_192/_md-comp-full-screen-dialog.scss +114 -0
  800. package/tokens/v0_192/_md-comp-icon-button.scss +74 -0
  801. package/tokens/v0_192/_md-comp-input-chip.scss +187 -0
  802. package/tokens/v0_192/_md-comp-linear-progress-indicator.scss +43 -0
  803. package/tokens/v0_192/_md-comp-list.scss +255 -0
  804. package/tokens/v0_192/_md-comp-menu.scss +44 -0
  805. package/tokens/v0_192/_md-comp-navigation-bar.scss +115 -0
  806. package/tokens/v0_192/_md-comp-navigation-drawer.scss +165 -0
  807. package/tokens/v0_192/_md-comp-navigation-rail.scss +119 -0
  808. package/tokens/v0_192/_md-comp-outlined-autocomplete.scss +229 -0
  809. package/tokens/v0_192/_md-comp-outlined-button.scss +87 -0
  810. package/tokens/v0_192/_md-comp-outlined-card.scss +66 -0
  811. package/tokens/v0_192/_md-comp-outlined-icon-button.scss +83 -0
  812. package/tokens/v0_192/_md-comp-outlined-menu-button.scss +97 -0
  813. package/tokens/v0_192/_md-comp-outlined-segmented-button.scss +115 -0
  814. package/tokens/v0_192/_md-comp-outlined-select.scss +263 -0
  815. package/tokens/v0_192/_md-comp-outlined-text-field.scss +174 -0
  816. package/tokens/v0_192/_md-comp-plain-tooltip.scss +58 -0
  817. package/tokens/v0_192/_md-comp-primary-navigation-tab.scss +124 -0
  818. package/tokens/v0_192/_md-comp-radio-button.scss +71 -0
  819. package/tokens/v0_192/_md-comp-rich-tooltip.scss +122 -0
  820. package/tokens/v0_192/_md-comp-scrim.scss +28 -0
  821. package/tokens/v0_192/_md-comp-search-bar.scss +100 -0
  822. package/tokens/v0_192/_md-comp-search-view.scss +94 -0
  823. package/tokens/v0_192/_md-comp-secondary-navigation-tab.scss +87 -0
  824. package/tokens/v0_192/_md-comp-sheet-bottom.scss +46 -0
  825. package/tokens/v0_192/_md-comp-sheet-floating.scss +35 -0
  826. package/tokens/v0_192/_md-comp-sheet-side.scss +94 -0
  827. package/tokens/v0_192/_md-comp-slider.scss +118 -0
  828. package/tokens/v0_192/_md-comp-snackbar.scss +130 -0
  829. package/tokens/v0_192/_md-comp-standard-menu-button.scss +101 -0
  830. package/tokens/v0_192/_md-comp-suggestion-chip.scss +127 -0
  831. package/tokens/v0_192/_md-comp-switch.scss +141 -0
  832. package/tokens/v0_192/_md-comp-text-button.scss +80 -0
  833. package/tokens/v0_192/_md-comp-time-input.scss +220 -0
  834. package/tokens/v0_192/_md-comp-time-picker.scss +267 -0
  835. package/tokens/v0_192/_md-comp-top-app-bar-large.scss +64 -0
  836. package/tokens/v0_192/_md-comp-top-app-bar-medium.scss +64 -0
  837. package/tokens/v0_192/_md-comp-top-app-bar-small-centered.scss +71 -0
  838. package/tokens/v0_192/_md-comp-top-app-bar-small.scss +67 -0
  839. package/tokens/v0_192/_md-ref-palette.scss +109 -0
  840. package/tokens/v0_192/_md-ref-typeface.scss +23 -0
  841. package/tokens/v0_192/_md-sys-color.scss +135 -0
  842. package/tokens/v0_192/_md-sys-elevation.scss +24 -0
  843. package/tokens/v0_192/_md-sys-motion.scss +55 -0
  844. package/tokens/v0_192/_md-sys-shape.scss +33 -0
  845. package/tokens/v0_192/_md-sys-state.scss +22 -0
  846. package/tokens/v0_192/_md-sys-typescale.scss +286 -0
  847. package/tokens/v0_192/index.test.css.d.ts +1 -0
  848. package/tokens/v0_192/lib.test.css.d.ts +1 -0
  849. package/typography/_typeface.scss +49 -0
  850. package/typography/_typescale.scss +50 -0
  851. package/aria/aria.d.ts +0 -43
  852. package/aria/aria.js +0 -80
  853. package/aria/aria.js.map +0 -1
  854. package/aria/delegate.d.ts +0 -37
  855. package/aria/delegate.js +0 -53
  856. package/aria/delegate.js.map +0 -1
  857. package/badge/_badge.scss +0 -6
  858. package/badge/badge.d.ts +0 -18
  859. package/badge/badge.js +0 -21
  860. package/badge/badge.js.map +0 -1
  861. package/badge/lib/_badge.scss +0 -69
  862. package/badge/lib/badge-styles.css.js +0 -9
  863. package/badge/lib/badge-styles.css.js.map +0 -1
  864. package/button/_tonal-button.scss +0 -6
  865. package/button/lib/_elevated-button.scss +0 -62
  866. package/button/lib/_elevation.scss +0 -68
  867. package/button/lib/_filled-button.scss +0 -62
  868. package/button/lib/_icon.scss +0 -42
  869. package/button/lib/_outlined-button.scss +0 -103
  870. package/button/lib/_shared.scss +0 -159
  871. package/button/lib/_text-button.scss +0 -65
  872. package/button/lib/_tonal-button.scss +0 -61
  873. package/button/lib/_touch-target.scss +0 -18
  874. package/button/lib/button.d.ts +0 -69
  875. package/button/lib/button.js +0 -174
  876. package/button/lib/button.js.map +0 -1
  877. package/button/lib/elevated-button.d.ts +0 -18
  878. package/button/lib/elevated-button.js +0 -23
  879. package/button/lib/elevated-button.js.map +0 -1
  880. package/button/lib/elevated-styles.css.js +0 -9
  881. package/button/lib/elevated-styles.css.js.map +0 -1
  882. package/button/lib/filled-button.d.ts +0 -18
  883. package/button/lib/filled-button.js +0 -23
  884. package/button/lib/filled-button.js.map +0 -1
  885. package/button/lib/filled-styles.css.js +0 -9
  886. package/button/lib/filled-styles.css.js.map +0 -1
  887. package/button/lib/outlined-button.d.ts +0 -17
  888. package/button/lib/outlined-button.js +0 -22
  889. package/button/lib/outlined-button.js.map +0 -1
  890. package/button/lib/outlined-styles.css.js +0 -9
  891. package/button/lib/outlined-styles.css.js.map +0 -1
  892. package/button/lib/shared-elevation-styles.css.js +0 -9
  893. package/button/lib/shared-elevation-styles.css.js.map +0 -1
  894. package/button/lib/shared-styles.css.js +0 -9
  895. package/button/lib/shared-styles.css.js.map +0 -1
  896. package/button/lib/text-button.d.ts +0 -16
  897. package/button/lib/text-button.js +0 -18
  898. package/button/lib/text-button.js.map +0 -1
  899. package/button/lib/text-styles.css.js +0 -9
  900. package/button/lib/text-styles.css.js.map +0 -1
  901. package/button/lib/tonal-button.d.ts +0 -18
  902. package/button/lib/tonal-button.js +0 -23
  903. package/button/lib/tonal-button.js.map +0 -1
  904. package/button/lib/tonal-styles.css.js +0 -9
  905. package/button/lib/tonal-styles.css.js.map +0 -1
  906. package/button/lib/tonal-styles.scss +0 -10
  907. package/button/tonal-button.d.ts +0 -35
  908. package/button/tonal-button.js +0 -40
  909. package/button/tonal-button.js.map +0 -1
  910. package/checkbox/lib/_checkbox.scss +0 -457
  911. package/checkbox/lib/checkbox-styles.css.js +0 -9
  912. package/checkbox/lib/checkbox-styles.css.js.map +0 -1
  913. package/checkbox/lib/checkbox.d.ts +0 -64
  914. package/checkbox/lib/checkbox.js +0 -190
  915. package/checkbox/lib/checkbox.js.map +0 -1
  916. package/checkbox/lib/forced-colors-styles.css.js +0 -9
  917. package/checkbox/lib/forced-colors-styles.css.js.map +0 -1
  918. package/checkbox/lib/forced-colors-styles.scss +0 -49
  919. package/chips/lib/_assist-chip.scss +0 -61
  920. package/chips/lib/_elevated.scss +0 -60
  921. package/chips/lib/_filter-chip.scss +0 -175
  922. package/chips/lib/_shared.scss +0 -177
  923. package/chips/lib/_suggestion-chip.scss +0 -61
  924. package/chips/lib/assist-chip.d.ts +0 -23
  925. package/chips/lib/assist-chip.js +0 -76
  926. package/chips/lib/assist-chip.js.map +0 -1
  927. package/chips/lib/assist-styles.css.js +0 -9
  928. package/chips/lib/assist-styles.css.js.map +0 -1
  929. package/chips/lib/chip.d.ts +0 -37
  930. package/chips/lib/chip.js +0 -89
  931. package/chips/lib/chip.js.map +0 -1
  932. package/chips/lib/elevated-styles.css.js +0 -9
  933. package/chips/lib/elevated-styles.css.js.map +0 -1
  934. package/chips/lib/filter-chip.d.ts +0 -26
  935. package/chips/lib/filter-chip.js +0 -80
  936. package/chips/lib/filter-chip.js.map +0 -1
  937. package/chips/lib/filter-styles.css.js +0 -9
  938. package/chips/lib/filter-styles.css.js.map +0 -1
  939. package/chips/lib/shared-styles.css.js +0 -9
  940. package/chips/lib/shared-styles.css.js.map +0 -1
  941. package/chips/lib/suggestion-styles.css.js +0 -9
  942. package/chips/lib/suggestion-styles.css.js.map +0 -1
  943. package/circularprogress/_circular-progress.scss +0 -6
  944. package/circularprogress/circular-progress.d.ts +0 -24
  945. package/circularprogress/circular-progress.js +0 -27
  946. package/circularprogress/circular-progress.js.map +0 -1
  947. package/circularprogress/harness.d.ts +0 -13
  948. package/circularprogress/harness.js +0 -16
  949. package/circularprogress/harness.js.map +0 -1
  950. package/circularprogress/lib/_circular-progress.scss +0 -288
  951. package/circularprogress/lib/circular-progress-styles.css.js +0 -9
  952. package/circularprogress/lib/circular-progress-styles.css.js.map +0 -1
  953. package/circularprogress/lib/circular-progress.d.ts +0 -27
  954. package/circularprogress/lib/circular-progress.js +0 -94
  955. package/circularprogress/lib/circular-progress.js.map +0 -1
  956. package/controller/form-associated.d.ts +0 -14
  957. package/controller/form-associated.js +0 -12
  958. package/controller/form-associated.js.map +0 -1
  959. package/controller/form-controller.d.ts +0 -66
  960. package/controller/form-controller.js +0 -74
  961. package/controller/form-controller.js.map +0 -1
  962. package/controller/shim-label-activation.d.ts +0 -18
  963. package/controller/shim-label-activation.js +0 -72
  964. package/controller/shim-label-activation.js.map +0 -1
  965. package/dialog/lib/_dialog.scss +0 -378
  966. package/dialog/lib/_tokens.scss +0 -87
  967. package/dialog/lib/dialog-styles.css.js +0 -9
  968. package/dialog/lib/dialog-styles.css.js.map +0 -1
  969. package/dialog/lib/dialog.d.ts +0 -190
  970. package/dialog/lib/dialog.js +0 -545
  971. package/dialog/lib/dialog.js.map +0 -1
  972. package/divider/lib/_divider.scss +0 -56
  973. package/elevation/lib/_elevation.scss +0 -165
  974. package/elevation/lib/elevation-styles.css.js +0 -9
  975. package/elevation/lib/elevation-styles.css.js.map +0 -1
  976. package/elevation/lib/elevation.d.ts +0 -12
  977. package/elevation/lib/elevation.js +0 -15
  978. package/elevation/lib/elevation.js.map +0 -1
  979. package/fab/lib/_fab.scss +0 -245
  980. package/fab/lib/_shared.scss +0 -224
  981. package/fab/lib/fab-branded-styles.css.js +0 -9
  982. package/fab/lib/fab-branded-styles.css.js.map +0 -1
  983. package/fab/lib/fab-styles.css.js +0 -9
  984. package/fab/lib/fab-styles.css.js.map +0 -1
  985. package/fab/lib/fab.d.ts +0 -25
  986. package/fab/lib/fab.js.map +0 -1
  987. package/fab/lib/forced-colors-styles.css.js +0 -9
  988. package/fab/lib/forced-colors-styles.css.js.map +0 -1
  989. package/fab/lib/forced-colors-styles.scss +0 -26
  990. package/fab/lib/shared-styles.css.js +0 -9
  991. package/fab/lib/shared-styles.css.js.map +0 -1
  992. package/fab/lib/shared.d.ts +0 -49
  993. package/fab/lib/shared.js +0 -113
  994. package/fab/lib/shared.js.map +0 -1
  995. package/field/lib/_content.scss +0 -175
  996. package/field/lib/_filled-field.scss +0 -189
  997. package/field/lib/_label.scss +0 -74
  998. package/field/lib/_outlined-field.scss +0 -313
  999. package/field/lib/_shared.scss +0 -65
  1000. package/field/lib/_supporting-text.scss +0 -56
  1001. package/field/lib/field.d.ts +0 -41
  1002. package/field/lib/field.js +0 -236
  1003. package/field/lib/field.js.map +0 -1
  1004. package/field/lib/filled-styles.css.js +0 -9
  1005. package/field/lib/filled-styles.css.js.map +0 -1
  1006. package/field/lib/outlined-field.d.ts +0 -13
  1007. package/field/lib/outlined-field.js.map +0 -1
  1008. package/field/lib/outlined-styles.css.js +0 -9
  1009. package/field/lib/outlined-styles.css.js.map +0 -1
  1010. package/field/lib/shared-styles.css.js +0 -9
  1011. package/field/lib/shared-styles.css.js.map +0 -1
  1012. package/focus/focus-ring.d.ts +0 -20
  1013. package/focus/focus-ring.js +0 -23
  1014. package/focus/focus-ring.js.map +0 -1
  1015. package/focus/lib/_focus-ring.scss +0 -86
  1016. package/focus/lib/focus-ring-styles.css.js +0 -9
  1017. package/focus/lib/focus-ring-styles.css.js.map +0 -1
  1018. package/focus/lib/focus-ring.d.ts +0 -72
  1019. package/focus/lib/focus-ring.js +0 -139
  1020. package/focus/lib/focus-ring.js.map +0 -1
  1021. package/icon/lib/_icon.scss +0 -61
  1022. package/icon/lib/_md-comp-icon.scss +0 -18
  1023. package/icon/lib/icon-styles.css.js +0 -9
  1024. package/icon/lib/icon-styles.css.js.map +0 -1
  1025. package/icon/lib/icon.d.ts +0 -12
  1026. package/icon/lib/icon.js +0 -15
  1027. package/icon/lib/icon.js.map +0 -1
  1028. package/iconbutton/_standard-icon-button.scss +0 -6
  1029. package/iconbutton/lib/_filled-icon-button.scss +0 -157
  1030. package/iconbutton/lib/_filled-tonal-icon-button.scss +0 -159
  1031. package/iconbutton/lib/_outlined-icon-button.scss +0 -180
  1032. package/iconbutton/lib/_shared.scss +0 -163
  1033. package/iconbutton/lib/_standard-icon-button.scss +0 -115
  1034. package/iconbutton/lib/filled-styles.css.js +0 -9
  1035. package/iconbutton/lib/filled-styles.css.js.map +0 -1
  1036. package/iconbutton/lib/filled-tonal-styles.css.js +0 -9
  1037. package/iconbutton/lib/filled-tonal-styles.css.js.map +0 -1
  1038. package/iconbutton/lib/icon-button.d.ts +0 -63
  1039. package/iconbutton/lib/icon-button.js +0 -179
  1040. package/iconbutton/lib/icon-button.js.map +0 -1
  1041. package/iconbutton/lib/outlined-styles.css.js +0 -9
  1042. package/iconbutton/lib/outlined-styles.css.js.map +0 -1
  1043. package/iconbutton/lib/shared-styles.css.js +0 -9
  1044. package/iconbutton/lib/shared-styles.css.js.map +0 -1
  1045. package/iconbutton/lib/standard-styles.css.js +0 -9
  1046. package/iconbutton/lib/standard-styles.css.js.map +0 -1
  1047. package/iconbutton/lib/standard-styles.scss +0 -10
  1048. package/iconbutton/standard-icon-button.d.ts +0 -34
  1049. package/iconbutton/standard-icon-button.js +0 -39
  1050. package/iconbutton/standard-icon-button.js.map +0 -1
  1051. package/linearprogress/_linear-progress.scss +0 -6
  1052. package/linearprogress/harness.d.ts +0 -13
  1053. package/linearprogress/harness.js +0 -18
  1054. package/linearprogress/harness.js.map +0 -1
  1055. package/linearprogress/lib/_linear-progress.scss +0 -386
  1056. package/linearprogress/lib/linear-progress-styles.css.js +0 -9
  1057. package/linearprogress/lib/linear-progress-styles.css.js.map +0 -1
  1058. package/linearprogress/lib/linear-progress.d.ts +0 -35
  1059. package/linearprogress/lib/linear-progress.js +0 -127
  1060. package/linearprogress/lib/linear-progress.js.map +0 -1
  1061. package/linearprogress/linear-progress.d.ts +0 -23
  1062. package/linearprogress/linear-progress.js +0 -26
  1063. package/linearprogress/linear-progress.js.map +0 -1
  1064. package/list/lib/_list.scss +0 -55
  1065. package/list/lib/list-styles.css.js +0 -9
  1066. package/list/lib/list-styles.css.js.map +0 -1
  1067. package/list/lib/list.d.ts +0 -110
  1068. package/list/lib/list.js +0 -260
  1069. package/list/lib/list.js.map +0 -1
  1070. package/list/lib/listitem/_list-item.scss +0 -425
  1071. package/list/lib/listitem/forced-colors-styles.css.js +0 -9
  1072. package/list/lib/listitem/forced-colors-styles.css.js.map +0 -1
  1073. package/list/lib/listitem/forced-colors-styles.scss +0 -23
  1074. package/list/lib/listitem/harness.d.ts +0 -13
  1075. package/list/lib/listitem/harness.js +0 -17
  1076. package/list/lib/listitem/harness.js.map +0 -1
  1077. package/list/lib/listitem/list-item-styles.css.js +0 -9
  1078. package/list/lib/listitem/list-item-styles.css.js.map +0 -1
  1079. package/list/lib/listitem/list-item.d.ts +0 -129
  1080. package/list/lib/listitem/list-item.js +0 -236
  1081. package/list/lib/listitem/list-item.js.map +0 -1
  1082. package/list/lib/listitemlink/list-item-link.d.ts +0 -17
  1083. package/list/lib/listitemlink/list-item-link.js +0 -38
  1084. package/list/lib/listitemlink/list-item-link.js.map +0 -1
  1085. package/list/list-item-link.d.ts +0 -53
  1086. package/list/list-item-link.js +0 -57
  1087. package/list/list-item-link.js.map +0 -1
  1088. package/localization/localize.d.ts +0 -15
  1089. package/localization/localize.js +0 -18
  1090. package/localization/localize.js.map +0 -1
  1091. package/menu/lib/_menu.scss +0 -103
  1092. package/menu/lib/menu-styles.css.js +0 -9
  1093. package/menu/lib/menu-styles.css.js.map +0 -1
  1094. package/menu/lib/menu.d.ts +0 -211
  1095. package/menu/lib/menu.js +0 -650
  1096. package/menu/lib/menu.js.map +0 -1
  1097. package/menu/lib/menuitem/_menu-item.scss +0 -60
  1098. package/menu/lib/menuitem/forced-colors-styles.css.js +0 -9
  1099. package/menu/lib/menuitem/forced-colors-styles.css.js.map +0 -1
  1100. package/menu/lib/menuitem/forced-colors-styles.scss +0 -22
  1101. package/menu/lib/menuitem/harness.d.ts +0 -11
  1102. package/menu/lib/menuitem/harness.js +0 -12
  1103. package/menu/lib/menuitem/harness.js.map +0 -1
  1104. package/menu/lib/menuitem/menu-item-styles.css.js +0 -9
  1105. package/menu/lib/menuitem/menu-item-styles.css.js.map +0 -1
  1106. package/menu/lib/menuitem/menu-item.d.ts +0 -28
  1107. package/menu/lib/menuitem/menu-item.js +0 -51
  1108. package/menu/lib/menuitem/menu-item.js.map +0 -1
  1109. package/menu/lib/menuitemlink/menu-item-link.d.ts +0 -23
  1110. package/menu/lib/menuitemlink/menu-item-link.js +0 -49
  1111. package/menu/lib/menuitemlink/menu-item-link.js.map +0 -1
  1112. package/menu/lib/shared.d.ts +0 -178
  1113. package/menu/lib/shared.js +0 -142
  1114. package/menu/lib/shared.js.map +0 -1
  1115. package/menu/lib/submenuitem/harness.d.ts +0 -11
  1116. package/menu/lib/submenuitem/harness.js +0 -12
  1117. package/menu/lib/submenuitem/harness.js.map +0 -1
  1118. package/menu/lib/submenuitem/sub-menu-item.d.ts +0 -99
  1119. package/menu/lib/submenuitem/sub-menu-item.js +0 -293
  1120. package/menu/lib/submenuitem/sub-menu-item.js.map +0 -1
  1121. package/menu/lib/surfacePositionController.d.ts +0 -125
  1122. package/menu/lib/surfacePositionController.js +0 -200
  1123. package/menu/lib/surfacePositionController.js.map +0 -1
  1124. package/menu/lib/typeaheadController.d.ts +0 -157
  1125. package/menu/lib/typeaheadController.js +0 -252
  1126. package/menu/lib/typeaheadController.js.map +0 -1
  1127. package/menu/menu-item-link.d.ts +0 -33
  1128. package/menu/menu-item-link.js +0 -38
  1129. package/menu/menu-item-link.js.map +0 -1
  1130. package/menu/sub-menu-item.d.ts +0 -60
  1131. package/menu/sub-menu-item.js +0 -65
  1132. package/menu/sub-menu-item.js.map +0 -1
  1133. package/motion/animation.d.ts +0 -80
  1134. package/motion/animation.js +0 -101
  1135. package/motion/animation.js.map +0 -1
  1136. package/navigationbar/_navigation-bar.scss +0 -6
  1137. package/navigationbar/harness.d.ts +0 -19
  1138. package/navigationbar/harness.js +0 -29
  1139. package/navigationbar/harness.js.map +0 -1
  1140. package/navigationbar/lib/_navigation-bar.scss +0 -68
  1141. package/navigationbar/lib/constants.d.ts +0 -17
  1142. package/navigationbar/lib/constants.js.map +0 -1
  1143. package/navigationbar/lib/navigation-bar-styles.css.js +0 -9
  1144. package/navigationbar/lib/navigation-bar-styles.css.js.map +0 -1
  1145. package/navigationbar/lib/navigation-bar.d.ts +0 -27
  1146. package/navigationbar/lib/navigation-bar.js +0 -140
  1147. package/navigationbar/lib/navigation-bar.js.map +0 -1
  1148. package/navigationbar/lib/state.d.ts +0 -23
  1149. package/navigationbar/lib/state.js.map +0 -1
  1150. package/navigationbar/navigation-bar.d.ts +0 -18
  1151. package/navigationbar/navigation-bar.js +0 -21
  1152. package/navigationbar/navigation-bar.js.map +0 -1
  1153. package/navigationdrawer/_navigation-drawer-modal.scss +0 -6
  1154. package/navigationdrawer/_navigation-drawer.scss +0 -6
  1155. package/navigationdrawer/lib/_navigation-drawer-modal.scss +0 -107
  1156. package/navigationdrawer/lib/_navigation-drawer.scss +0 -94
  1157. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js +0 -9
  1158. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js.map +0 -1
  1159. package/navigationdrawer/lib/navigation-drawer-modal.js +0 -83
  1160. package/navigationdrawer/lib/navigation-drawer-modal.js.map +0 -1
  1161. package/navigationdrawer/lib/navigation-drawer-styles.css.js +0 -9
  1162. package/navigationdrawer/lib/navigation-drawer-styles.css.js.map +0 -1
  1163. package/navigationdrawer/lib/navigation-drawer.d.ts +0 -17
  1164. package/navigationdrawer/lib/navigation-drawer.js +0 -66
  1165. package/navigationdrawer/lib/navigation-drawer.js.map +0 -1
  1166. package/navigationdrawer/navigation-drawer-modal.d.ts +0 -18
  1167. package/navigationdrawer/navigation-drawer-modal.js +0 -22
  1168. package/navigationdrawer/navigation-drawer-modal.js.map +0 -1
  1169. package/navigationdrawer/navigation-drawer.d.ts +0 -18
  1170. package/navigationdrawer/navigation-drawer.js +0 -22
  1171. package/navigationdrawer/navigation-drawer.js.map +0 -1
  1172. package/navigationtab/_navigation-tab.scss +0 -6
  1173. package/navigationtab/harness.d.ts +0 -13
  1174. package/navigationtab/harness.js +0 -16
  1175. package/navigationtab/harness.js.map +0 -1
  1176. package/navigationtab/lib/_navigation-tab.scss +0 -261
  1177. package/navigationtab/lib/navigation-tab-styles.css.js +0 -9
  1178. package/navigationtab/lib/navigation-tab-styles.css.js.map +0 -1
  1179. package/navigationtab/lib/navigation-tab.d.ts +0 -35
  1180. package/navigationtab/lib/navigation-tab.js +0 -135
  1181. package/navigationtab/lib/navigation-tab.js.map +0 -1
  1182. package/navigationtab/navigation-tab.d.ts +0 -18
  1183. package/navigationtab/navigation-tab.js +0 -21
  1184. package/navigationtab/navigation-tab.js.map +0 -1
  1185. package/radio/lib/_radio.scss +0 -167
  1186. package/radio/lib/forced-colors-styles.css.js +0 -9
  1187. package/radio/lib/forced-colors-styles.css.js.map +0 -1
  1188. package/radio/lib/forced-colors-styles.scss +0 -29
  1189. package/radio/lib/radio-styles.css.js +0 -9
  1190. package/radio/lib/radio-styles.css.js.map +0 -1
  1191. package/radio/lib/radio.d.ts +0 -54
  1192. package/radio/lib/radio.js +0 -152
  1193. package/radio/lib/radio.js.map +0 -1
  1194. package/radio/lib/single-selection-controller.js +0 -193
  1195. package/radio/lib/single-selection-controller.js.map +0 -1
  1196. package/ripple/directive.d.ts +0 -31
  1197. package/ripple/directive.js +0 -79
  1198. package/ripple/directive.js.map +0 -1
  1199. package/ripple/lib/_md-comp-ripple.scss +0 -30
  1200. package/ripple/lib/_ripple.scss +0 -114
  1201. package/ripple/lib/ripple-styles.css.js +0 -9
  1202. package/ripple/lib/ripple-styles.css.js.map +0 -1
  1203. package/ripple/lib/ripple.d.ts +0 -64
  1204. package/ripple/lib/ripple.js +0 -354
  1205. package/ripple/lib/ripple.js.map +0 -1
  1206. package/sass/_assert.scss +0 -23
  1207. package/sass/_color-scheme.scss +0 -92
  1208. package/sass/_color.scss +0 -170
  1209. package/sass/_dom.scss +0 -52
  1210. package/sass/_feature-flags.scss +0 -119
  1211. package/sass/_map-ext.scss +0 -51
  1212. package/sass/_theme.scss +0 -249
  1213. package/sass/_touch-target.scss +0 -22
  1214. package/sass/_var.scss +0 -245
  1215. package/segmentedbutton/lib/_outlined-segmented-button.scss +0 -46
  1216. package/segmentedbutton/lib/_shared.scss +0 -382
  1217. package/segmentedbutton/lib/outlined-styles.css.js +0 -9
  1218. package/segmentedbutton/lib/outlined-styles.css.js.map +0 -1
  1219. package/segmentedbutton/lib/segmented-button.d.ts +0 -48
  1220. package/segmentedbutton/lib/segmented-button.js +0 -175
  1221. package/segmentedbutton/lib/segmented-button.js.map +0 -1
  1222. package/segmentedbutton/lib/shared-styles.css.js +0 -9
  1223. package/segmentedbutton/lib/shared-styles.css.js.map +0 -1
  1224. package/segmentedbutton/outlined-segmented-button.d.ts +0 -20
  1225. package/segmentedbutton/outlined-segmented-button.js +0 -24
  1226. package/segmentedbutton/outlined-segmented-button.js.map +0 -1
  1227. package/segmentedbuttonset/lib/_outlined-segmented-button-set.scss +0 -53
  1228. package/segmentedbuttonset/lib/outlined-styles.css.js +0 -9
  1229. package/segmentedbuttonset/lib/outlined-styles.css.js.map +0 -1
  1230. package/segmentedbuttonset/lib/segmented-button-set.d.ts +0 -26
  1231. package/segmentedbuttonset/lib/segmented-button-set.js +0 -110
  1232. package/segmentedbuttonset/lib/segmented-button-set.js.map +0 -1
  1233. package/segmentedbuttonset/outlined-segmented-button-set.d.ts +0 -20
  1234. package/segmentedbuttonset/outlined-segmented-button-set.js +0 -24
  1235. package/segmentedbuttonset/outlined-segmented-button-set.js.map +0 -1
  1236. package/select/lib/_filled-select.scss +0 -222
  1237. package/select/lib/_outlined-select.scss +0 -180
  1238. package/select/lib/_shared.scss +0 -48
  1239. package/select/lib/filled-select-styles.css.js +0 -9
  1240. package/select/lib/filled-select-styles.css.js.map +0 -1
  1241. package/select/lib/outlined-select-styles.css.js +0 -9
  1242. package/select/lib/outlined-select-styles.css.js.map +0 -1
  1243. package/select/lib/select.d.ts +0 -216
  1244. package/select/lib/select.js +0 -589
  1245. package/select/lib/select.js.map +0 -1
  1246. package/select/lib/selectoption/harness.d.ts +0 -11
  1247. package/select/lib/selectoption/harness.js +0 -12
  1248. package/select/lib/selectoption/harness.js.map +0 -1
  1249. package/select/lib/selectoption/select-option.d.ts +0 -30
  1250. package/select/lib/selectoption/select-option.js +0 -71
  1251. package/select/lib/selectoption/select-option.js.map +0 -1
  1252. package/select/lib/shared-styles.css.js +0 -9
  1253. package/select/lib/shared-styles.css.js.map +0 -1
  1254. package/select/lib/shared.d.ts +0 -52
  1255. package/select/lib/shared.js +0 -41
  1256. package/select/lib/shared.js.map +0 -1
  1257. package/slider/lib/_slider.scss +0 -476
  1258. package/slider/lib/forced-colors-styles.css.js +0 -9
  1259. package/slider/lib/forced-colors-styles.css.js.map +0 -1
  1260. package/slider/lib/forced-colors-styles.scss +0 -53
  1261. package/slider/lib/slider-styles.css.js +0 -9
  1262. package/slider/lib/slider-styles.css.js.map +0 -1
  1263. package/slider/lib/slider.d.ts +0 -124
  1264. package/slider/lib/slider.js +0 -485
  1265. package/slider/lib/slider.js.map +0 -1
  1266. package/switch/lib/README.md +0 -55
  1267. package/switch/lib/_handle.scss +0 -168
  1268. package/switch/lib/_icon.scss +0 -73
  1269. package/switch/lib/_switch.scss +0 -226
  1270. package/switch/lib/_track.scss +0 -98
  1271. package/switch/lib/switch-styles.css.js +0 -9
  1272. package/switch/lib/switch-styles.css.js.map +0 -1
  1273. package/switch/lib/switch.d.ts +0 -75
  1274. package/switch/lib/switch.js +0 -215
  1275. package/switch/lib/switch.js.map +0 -1
  1276. package/textfield/lib/_filled-text-field.scss +0 -205
  1277. package/textfield/lib/_input.scss +0 -61
  1278. package/textfield/lib/_outlined-text-field.scss +0 -161
  1279. package/textfield/lib/_shared.scss +0 -41
  1280. package/textfield/lib/filled-styles.css.js +0 -9
  1281. package/textfield/lib/filled-styles.css.js.map +0 -1
  1282. package/textfield/lib/outlined-styles.css.js +0 -9
  1283. package/textfield/lib/outlined-styles.css.js.map +0 -1
  1284. package/textfield/lib/shared-styles.css.js +0 -9
  1285. package/textfield/lib/shared-styles.css.js.map +0 -1
  1286. package/textfield/lib/text-field.d.ts +0 -338
  1287. package/textfield/lib/text-field.js +0 -720
  1288. package/textfield/lib/text-field.js.map +0 -1
  1289. package/tokens/_md-comp-banner.scss +0 -23
  1290. package/tokens/_md-comp-bottom-app-bar.scss +0 -21
  1291. package/tokens/_md-comp-carousel-item.scss +0 -23
  1292. package/tokens/_md-comp-circular-progress-indicator.scss +0 -63
  1293. package/tokens/_md-comp-data-table.scss +0 -23
  1294. package/tokens/_md-comp-date-input-modal.scss +0 -23
  1295. package/tokens/_md-comp-date-picker-docked.scss +0 -25
  1296. package/tokens/_md-comp-date-picker-modal.scss +0 -25
  1297. package/tokens/_md-comp-elevated-card.scss +0 -23
  1298. package/tokens/_md-comp-filled-autocomplete.scss +0 -25
  1299. package/tokens/_md-comp-filled-card.scss +0 -23
  1300. package/tokens/_md-comp-filled-menu-button.scss +0 -25
  1301. package/tokens/_md-comp-linear-progress-indicator.scss +0 -50
  1302. package/tokens/_md-comp-navigation-rail.scss +0 -25
  1303. package/tokens/_md-comp-outlined-autocomplete.scss +0 -28
  1304. package/tokens/_md-comp-outlined-card.scss +0 -23
  1305. package/tokens/_md-comp-outlined-menu-button.scss +0 -23
  1306. package/tokens/_md-comp-plain-tooltip.scss +0 -21
  1307. package/tokens/_md-comp-primary-navigation-tab.scss +0 -50
  1308. package/tokens/_md-comp-radio-button.scss +0 -19
  1309. package/tokens/_md-comp-rich-tooltip.scss +0 -25
  1310. package/tokens/_md-comp-scrim.scss +0 -17
  1311. package/tokens/_md-comp-search-bar.scss +0 -25
  1312. package/tokens/_md-comp-search-view.scss +0 -23
  1313. package/tokens/_md-comp-secondary-navigation-tab.scss +0 -49
  1314. package/tokens/_md-comp-sheet-bottom.scss +0 -21
  1315. package/tokens/_md-comp-sheet-floating.scss +0 -21
  1316. package/tokens/_md-comp-sheet-side.scss +0 -25
  1317. package/tokens/_md-comp-snackbar.scss +0 -25
  1318. package/tokens/_md-comp-standard-menu-button.scss +0 -23
  1319. package/tokens/_md-comp-time-input.scss +0 -25
  1320. package/tokens/_md-comp-time-picker.scss +0 -25
  1321. package/tokens/_md-comp-top-app-bar-large.scss +0 -23
  1322. package/tokens/_md-comp-top-app-bar-medium.scss +0 -23
  1323. package/tokens/_md-comp-top-app-bar-small-centered.scss +0 -26
  1324. package/tokens/_md-comp-top-app-bar-small.scss +0 -23
  1325. package/tokens/v0_172/_md-comp-assist-chip.scss +0 -108
  1326. package/tokens/v0_172/_md-comp-badge.scss +0 -58
  1327. package/tokens/v0_172/_md-comp-banner.scss +0 -73
  1328. package/tokens/v0_172/_md-comp-bottom-app-bar.scss +0 -33
  1329. package/tokens/v0_172/_md-comp-carousel-item.scss +0 -63
  1330. package/tokens/v0_172/_md-comp-checkbox.scss +0 -126
  1331. package/tokens/v0_172/_md-comp-circular-progress-indicator.scss +0 -39
  1332. package/tokens/v0_172/_md-comp-data-table.scss +0 -96
  1333. package/tokens/v0_172/_md-comp-date-input-modal.scss +0 -87
  1334. package/tokens/v0_172/_md-comp-date-picker-docked.scss +0 -244
  1335. package/tokens/v0_172/_md-comp-date-picker-modal.scss +0 -303
  1336. package/tokens/v0_172/_md-comp-dialog.scss +0 -121
  1337. package/tokens/v0_172/_md-comp-divider.scss +0 -25
  1338. package/tokens/v0_172/_md-comp-elevated-button.scss +0 -89
  1339. package/tokens/v0_172/_md-comp-elevated-card.scss +0 -57
  1340. package/tokens/v0_172/_md-comp-extended-fab-branded.scss +0 -86
  1341. package/tokens/v0_172/_md-comp-extended-fab-primary.scss +0 -94
  1342. package/tokens/v0_172/_md-comp-extended-fab-secondary.scss +0 -95
  1343. package/tokens/v0_172/_md-comp-extended-fab-surface.scss +0 -90
  1344. package/tokens/v0_172/_md-comp-extended-fab-tertiary.scss +0 -95
  1345. package/tokens/v0_172/_md-comp-fab-branded-large.scss +0 -60
  1346. package/tokens/v0_172/_md-comp-fab-branded.scss +0 -60
  1347. package/tokens/v0_172/_md-comp-fab-primary-large.scss +0 -65
  1348. package/tokens/v0_172/_md-comp-fab-primary-small.scss +0 -65
  1349. package/tokens/v0_172/_md-comp-fab-primary.scss +0 -65
  1350. package/tokens/v0_172/_md-comp-fab-secondary-large.scss +0 -66
  1351. package/tokens/v0_172/_md-comp-fab-secondary-small.scss +0 -66
  1352. package/tokens/v0_172/_md-comp-fab-secondary.scss +0 -66
  1353. package/tokens/v0_172/_md-comp-fab-surface-large.scss +0 -64
  1354. package/tokens/v0_172/_md-comp-fab-surface-small.scss +0 -64
  1355. package/tokens/v0_172/_md-comp-fab-surface.scss +0 -64
  1356. package/tokens/v0_172/_md-comp-fab-tertiary-large.scss +0 -66
  1357. package/tokens/v0_172/_md-comp-fab-tertiary-small.scss +0 -66
  1358. package/tokens/v0_172/_md-comp-fab-tertiary.scss +0 -66
  1359. package/tokens/v0_172/_md-comp-filled-autocomplete.scss +0 -265
  1360. package/tokens/v0_172/_md-comp-filled-button.scss +0 -89
  1361. package/tokens/v0_172/_md-comp-filled-card.scss +0 -59
  1362. package/tokens/v0_172/_md-comp-filled-icon-button.scss +0 -79
  1363. package/tokens/v0_172/_md-comp-filled-menu-button.scss +0 -98
  1364. package/tokens/v0_172/_md-comp-filled-select.scss +0 -270
  1365. package/tokens/v0_172/_md-comp-filled-text-field.scss +0 -190
  1366. package/tokens/v0_172/_md-comp-filled-tonal-button.scss +0 -99
  1367. package/tokens/v0_172/_md-comp-filled-tonal-icon-button.scss +0 -86
  1368. package/tokens/v0_172/_md-comp-filter-chip.scss +0 -207
  1369. package/tokens/v0_172/_md-comp-full-screen-dialog.scss +0 -111
  1370. package/tokens/v0_172/_md-comp-icon-button.scss +0 -70
  1371. package/tokens/v0_172/_md-comp-input-chip.scss +0 -184
  1372. package/tokens/v0_172/_md-comp-linear-progress-indicator.scss +0 -41
  1373. package/tokens/v0_172/_md-comp-list.scss +0 -248
  1374. package/tokens/v0_172/_md-comp-menu.scss +0 -35
  1375. package/tokens/v0_172/_md-comp-navigation-bar.scss +0 -112
  1376. package/tokens/v0_172/_md-comp-navigation-drawer.scss +0 -162
  1377. package/tokens/v0_172/_md-comp-navigation-rail.scss +0 -116
  1378. package/tokens/v0_172/_md-comp-outlined-autocomplete.scss +0 -255
  1379. package/tokens/v0_172/_md-comp-outlined-button.scss +0 -84
  1380. package/tokens/v0_172/_md-comp-outlined-card.scss +0 -63
  1381. package/tokens/v0_172/_md-comp-outlined-icon-button.scss +0 -79
  1382. package/tokens/v0_172/_md-comp-outlined-menu-button.scss +0 -94
  1383. package/tokens/v0_172/_md-comp-outlined-segmented-button.scss +0 -112
  1384. package/tokens/v0_172/_md-comp-outlined-select.scss +0 -260
  1385. package/tokens/v0_172/_md-comp-outlined-text-field.scss +0 -171
  1386. package/tokens/v0_172/_md-comp-plain-tooltip.scss +0 -55
  1387. package/tokens/v0_172/_md-comp-primary-navigation-tab.scss +0 -121
  1388. package/tokens/v0_172/_md-comp-radio-button.scss +0 -68
  1389. package/tokens/v0_172/_md-comp-rich-tooltip.scss +0 -119
  1390. package/tokens/v0_172/_md-comp-scrim.scss +0 -25
  1391. package/tokens/v0_172/_md-comp-search-bar.scss +0 -97
  1392. package/tokens/v0_172/_md-comp-search-view.scss +0 -91
  1393. package/tokens/v0_172/_md-comp-secondary-navigation-tab.scss +0 -84
  1394. package/tokens/v0_172/_md-comp-sheet-bottom.scss +0 -44
  1395. package/tokens/v0_172/_md-comp-sheet-floating.scss +0 -32
  1396. package/tokens/v0_172/_md-comp-sheet-side.scss +0 -91
  1397. package/tokens/v0_172/_md-comp-slider.scss +0 -115
  1398. package/tokens/v0_172/_md-comp-snackbar.scss +0 -127
  1399. package/tokens/v0_172/_md-comp-standard-menu-button.scss +0 -98
  1400. package/tokens/v0_172/_md-comp-suggestion-chip.scss +0 -124
  1401. package/tokens/v0_172/_md-comp-switch.scss +0 -138
  1402. package/tokens/v0_172/_md-comp-text-button.scss +0 -77
  1403. package/tokens/v0_172/_md-comp-time-input.scss +0 -217
  1404. package/tokens/v0_172/_md-comp-time-picker.scss +0 -264
  1405. package/tokens/v0_172/_md-comp-top-app-bar-large.scss +0 -61
  1406. package/tokens/v0_172/_md-comp-top-app-bar-medium.scss +0 -61
  1407. package/tokens/v0_172/_md-comp-top-app-bar-small-centered.scss +0 -68
  1408. package/tokens/v0_172/_md-comp-top-app-bar-small.scss +0 -64
  1409. package/tokens/v0_172/_md-ref-palette.scss +0 -107
  1410. package/tokens/v0_172/_md-ref-typeface.scss +0 -21
  1411. package/tokens/v0_172/_md-sys-color.scss +0 -904
  1412. package/tokens/v0_172/_md-sys-elevation.scss +0 -21
  1413. package/tokens/v0_172/_md-sys-motion.scss +0 -53
  1414. package/tokens/v0_172/_md-sys-shape.scss +0 -30
  1415. package/tokens/v0_172/_md-sys-state.scss +0 -19
  1416. package/tokens/v0_172/_md-sys-typescale.scss +0 -284
  1417. package/types/aria.d.ts +0 -106
  1418. package/types/keys.d.ts +0 -57
  1419. /package/button/{lib → internal}/elevated-styles.css.d.ts +0 -0
  1420. /package/button/{lib → internal}/elevated-styles.scss +0 -0
  1421. /package/button/{lib → internal}/filled-styles.css.d.ts +0 -0
  1422. /package/button/{lib → internal}/filled-styles.scss +0 -0
  1423. /package/{iconbutton/lib → button/internal}/filled-tonal-styles.css.d.ts +0 -0
  1424. /package/button/{lib → internal}/outlined-styles.css.d.ts +0 -0
  1425. /package/button/{lib → internal}/outlined-styles.scss +0 -0
  1426. /package/button/{lib → internal}/shared-elevation-styles.css.d.ts +0 -0
  1427. /package/button/{lib → internal}/shared-elevation-styles.scss +0 -0
  1428. /package/button/{lib → internal}/shared-styles.css.d.ts +0 -0
  1429. /package/button/{lib → internal}/shared-styles.scss +0 -0
  1430. /package/button/{lib → internal}/text-styles.css.d.ts +0 -0
  1431. /package/button/{lib → internal}/text-styles.scss +0 -0
  1432. /package/checkbox/{lib → internal}/checkbox-styles.css.d.ts +0 -0
  1433. /package/checkbox/{lib → internal}/checkbox-styles.scss +0 -0
  1434. /package/chips/{lib → internal}/assist-styles.css.d.ts +0 -0
  1435. /package/chips/{lib → internal}/assist-styles.scss +0 -0
  1436. /package/{badge/lib/badge-styles.css.d.ts → chips/internal/chip-set-styles.css.d.ts} +0 -0
  1437. /package/chips/{lib → internal}/elevated-styles.css.d.ts +0 -0
  1438. /package/chips/{lib → internal}/elevated-styles.scss +0 -0
  1439. /package/chips/{lib → internal}/filter-styles.css.d.ts +0 -0
  1440. /package/chips/{lib → internal}/filter-styles.scss +0 -0
  1441. /package/{button/lib/tonal-styles.css.d.ts → chips/internal/input-styles.css.d.ts} +0 -0
  1442. /package/{checkbox/lib/forced-colors-styles.css.d.ts → chips/internal/selectable-styles.css.d.ts} +0 -0
  1443. /package/chips/{lib → internal}/shared-styles.css.d.ts +0 -0
  1444. /package/chips/{lib → internal}/shared-styles.scss +0 -0
  1445. /package/chips/{lib → internal}/suggestion-chip.d.ts +0 -0
  1446. /package/chips/{lib → internal}/suggestion-chip.js +0 -0
  1447. /package/chips/{lib → internal}/suggestion-chip.js.map +0 -0
  1448. /package/chips/{lib → internal}/suggestion-styles.css.d.ts +0 -0
  1449. /package/chips/{lib → internal}/suggestion-styles.scss +0 -0
  1450. /package/{circularprogress/lib/circular-progress-styles.css.d.ts → chips/internal/trailing-icon-styles.css.d.ts} +0 -0
  1451. /package/dialog/{lib → internal}/dialog-styles.css.d.ts +0 -0
  1452. /package/dialog/{lib → internal}/dialog-styles.scss +0 -0
  1453. /package/divider/{lib → internal}/divider-styles.css.d.ts +0 -0
  1454. /package/divider/{lib → internal}/divider-styles.css.js +0 -0
  1455. /package/divider/{lib → internal}/divider-styles.css.js.map +0 -0
  1456. /package/divider/{lib → internal}/divider-styles.scss +0 -0
  1457. /package/divider/{lib → internal}/divider.d.ts +0 -0
  1458. /package/divider/{lib → internal}/divider.js +0 -0
  1459. /package/divider/{lib → internal}/divider.js.map +0 -0
  1460. /package/elevation/{lib → internal}/elevation-styles.css.d.ts +0 -0
  1461. /package/elevation/{lib → internal}/elevation-styles.scss +0 -0
  1462. /package/fab/{lib → internal}/_fab-branded.scss +0 -0
  1463. /package/fab/{lib → internal}/fab-branded-styles.css.d.ts +0 -0
  1464. /package/fab/{lib → internal}/fab-branded-styles.scss +0 -0
  1465. /package/fab/{lib → internal}/fab-styles.css.d.ts +0 -0
  1466. /package/fab/{lib → internal}/fab-styles.scss +0 -0
  1467. /package/fab/{lib → internal}/fab.js +0 -0
  1468. /package/fab/{lib → internal}/forced-colors-styles.css.d.ts +0 -0
  1469. /package/fab/{lib → internal}/shared-styles.css.d.ts +0 -0
  1470. /package/fab/{lib → internal}/shared-styles.scss +0 -0
  1471. /package/field/{lib → internal}/filled-field.d.ts +0 -0
  1472. /package/field/{lib → internal}/filled-field.js +0 -0
  1473. /package/field/{lib → internal}/filled-field.js.map +0 -0
  1474. /package/field/{lib → internal}/filled-styles.css.d.ts +0 -0
  1475. /package/field/{lib → internal}/filled-styles.scss +0 -0
  1476. /package/field/{lib → internal}/outlined-field.js +0 -0
  1477. /package/field/{lib → internal}/outlined-styles.css.d.ts +0 -0
  1478. /package/field/{lib → internal}/outlined-styles.scss +0 -0
  1479. /package/field/{lib → internal}/shared-styles.css.d.ts +0 -0
  1480. /package/field/{lib → internal}/shared-styles.scss +0 -0
  1481. /package/focus/{lib → internal}/focus-ring-styles.css.d.ts +0 -0
  1482. /package/focus/{lib → internal}/focus-ring-styles.scss +0 -0
  1483. /package/icon/{lib → internal}/icon-styles.css.d.ts +0 -0
  1484. /package/icon/{lib → internal}/icon-styles.scss +0 -0
  1485. /package/iconbutton/{lib → internal}/filled-styles.css.d.ts +0 -0
  1486. /package/iconbutton/{lib → internal}/filled-styles.scss +0 -0
  1487. /package/iconbutton/{lib/outlined-styles.css.d.ts → internal/filled-tonal-styles.css.d.ts} +0 -0
  1488. /package/iconbutton/{lib → internal}/filled-tonal-styles.scss +0 -0
  1489. /package/{segmentedbutton/lib → iconbutton/internal}/outlined-styles.css.d.ts +0 -0
  1490. /package/iconbutton/{lib → internal}/outlined-styles.scss +0 -0
  1491. /package/iconbutton/{lib → internal}/shared-styles.css.d.ts +0 -0
  1492. /package/iconbutton/{lib → internal}/shared-styles.scss +0 -0
  1493. /package/iconbutton/{lib → internal}/standard-styles.css.d.ts +0 -0
  1494. /package/{controller → internal/controller}/events.d.ts +0 -0
  1495. /package/{controller → internal/controller}/events.js +0 -0
  1496. /package/{controller → internal/controller}/events.js.map +0 -0
  1497. /package/{controller → internal/controller}/is-rtl.d.ts +0 -0
  1498. /package/{controller → internal/controller}/is-rtl.js +0 -0
  1499. /package/{controller → internal/controller}/is-rtl.js.map +0 -0
  1500. /package/{controller → internal/controller}/string-converter.d.ts +0 -0
  1501. /package/{controller → internal/controller}/string-converter.js +0 -0
  1502. /package/{controller → internal/controller}/string-converter.js.map +0 -0
  1503. /package/{motion → internal/motion}/_animation.scss +0 -0
  1504. /package/{sass → internal/sass}/_string-ext.scss +0 -0
  1505. /package/{linearprogress/lib/linear-progress-styles.css.d.ts → labs/badge/internal/badge-styles.css.d.ts} +0 -0
  1506. /package/{badge/lib → labs/badge/internal}/badge-styles.scss +0 -0
  1507. /package/{badge/lib → labs/badge/internal}/badge.d.ts +0 -0
  1508. /package/{badge/lib → labs/badge/internal}/badge.js +0 -0
  1509. /package/{badge/lib → labs/badge/internal}/badge.js.map +0 -0
  1510. /package/{list/lib/list-styles.css.d.ts → labs/item/internal/item-styles.css.d.ts} +0 -0
  1511. /package/{navigationbar/lib → labs/navigationbar/internal}/constants.js +0 -0
  1512. /package/{navigationbar/lib → labs/navigationbar/internal}/navigation-bar-styles.css.d.ts +0 -0
  1513. /package/{navigationbar/lib → labs/navigationbar/internal}/navigation-bar-styles.scss +0 -0
  1514. /package/{navigationbar/lib → labs/navigationbar/internal}/state.js +0 -0
  1515. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/_shared.scss +0 -0
  1516. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/navigation-drawer-modal-styles.css.d.ts +0 -0
  1517. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/navigation-drawer-modal-styles.scss +0 -0
  1518. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/navigation-drawer-modal.d.ts +0 -0
  1519. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/navigation-drawer-styles.css.d.ts +0 -0
  1520. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/navigation-drawer-styles.scss +0 -0
  1521. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/shared-styles.css.d.ts +0 -0
  1522. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/shared-styles.css.js +0 -0
  1523. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/shared-styles.css.js.map +0 -0
  1524. /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/shared-styles.scss +0 -0
  1525. /package/{navigationtab/lib → labs/navigationtab/internal}/navigation-tab-styles.css.d.ts +0 -0
  1526. /package/{navigationtab/lib → labs/navigationtab/internal}/navigation-tab-styles.scss +0 -0
  1527. /package/{navigationtab/lib → labs/navigationtab/internal}/state.d.ts +0 -0
  1528. /package/{navigationtab/lib → labs/navigationtab/internal}/state.js +0 -0
  1529. /package/{navigationtab/lib → labs/navigationtab/internal}/state.js.map +0 -0
  1530. /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/outlined-segmented-button.d.ts +0 -0
  1531. /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/outlined-segmented-button.js +0 -0
  1532. /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/outlined-segmented-button.js.map +0 -0
  1533. /package/{segmentedbuttonset/lib → labs/segmentedbutton/internal}/outlined-styles.css.d.ts +0 -0
  1534. /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/outlined-styles.scss +0 -0
  1535. /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/shared-styles.css.d.ts +0 -0
  1536. /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/shared-styles.scss +0 -0
  1537. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/_shared.scss +0 -0
  1538. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/outlined-segmented-button-set.d.ts +0 -0
  1539. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/outlined-segmented-button-set.js +0 -0
  1540. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/outlined-segmented-button-set.js.map +0 -0
  1541. /package/{textfield/lib → labs/segmentedbuttonset/internal}/outlined-styles.css.d.ts +0 -0
  1542. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/outlined-styles.scss +0 -0
  1543. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/shared-styles.css.d.ts +0 -0
  1544. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/shared-styles.css.js +0 -0
  1545. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/shared-styles.css.js.map +0 -0
  1546. /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/shared-styles.scss +0 -0
  1547. /package/list/{lib/listitem/forced-colors-styles.css.d.ts → internal/list-styles.css.d.ts} +0 -0
  1548. /package/list/{lib → internal}/list-styles.scss +0 -0
  1549. /package/{menu/lib → list/internal/listitem}/forced-colors-styles.css.d.ts +0 -0
  1550. /package/list/{lib → internal}/listitem/list-item-styles.css.d.ts +0 -0
  1551. /package/list/{lib → internal}/listitem/list-item-styles.scss +0 -0
  1552. /package/menu/{lib/menuitem → internal}/forced-colors-styles.css.d.ts +0 -0
  1553. /package/menu/{lib → internal}/forced-colors-styles.css.js +0 -0
  1554. /package/menu/{lib → internal}/forced-colors-styles.css.js.map +0 -0
  1555. /package/menu/{lib → internal}/forced-colors-styles.scss +0 -0
  1556. /package/menu/{lib → internal}/menu-styles.css.d.ts +0 -0
  1557. /package/menu/{lib → internal}/menu-styles.scss +0 -0
  1558. /package/{radio/lib → menu/internal/menuitem}/forced-colors-styles.css.d.ts +0 -0
  1559. /package/menu/{lib → internal}/menuitem/menu-item-styles.css.d.ts +0 -0
  1560. /package/menu/{lib → internal}/menuitem/menu-item-styles.scss +0 -0
  1561. /package/{radio/lib/radio-styles.css.d.ts → menu/internal/submenu/sub-menu-styles.css.d.ts} +0 -0
  1562. /package/menu/{lib → internal}/types.d.ts +0 -0
  1563. /package/menu/{lib → internal}/types.js +0 -0
  1564. /package/menu/{lib → internal}/types.js.map +0 -0
  1565. /package/{ripple/lib/ripple-styles.css.d.ts → progress/internal/circular-progress-styles.css.d.ts} +0 -0
  1566. /package/{circularprogress/lib → progress/internal}/circular-progress-styles.scss +0 -0
  1567. /package/{select/lib/filled-forced-colors-styles.css.d.ts → progress/internal/linear-progress-styles.css.d.ts} +0 -0
  1568. /package/{linearprogress/lib → progress/internal}/linear-progress-styles.scss +0 -0
  1569. /package/{slider/lib → radio/internal}/forced-colors-styles.css.d.ts +0 -0
  1570. /package/{select/lib/filled-select-styles.css.d.ts → radio/internal/radio-styles.css.d.ts} +0 -0
  1571. /package/radio/{lib → internal}/radio-styles.scss +0 -0
  1572. /package/radio/{lib → internal}/single-selection-controller.d.ts +0 -0
  1573. /package/{select/lib/outlined-forced-colors-styles.css.d.ts → ripple/internal/ripple-styles.css.d.ts} +0 -0
  1574. /package/ripple/{lib → internal}/ripple-styles.scss +0 -0
  1575. /package/{textfield/lib → select/internal}/filled-forced-colors-styles.css.d.ts +0 -0
  1576. /package/select/{lib → internal}/filled-forced-colors-styles.css.js +0 -0
  1577. /package/select/{lib → internal}/filled-forced-colors-styles.css.js.map +0 -0
  1578. /package/select/{lib → internal}/filled-forced-colors-styles.scss +0 -0
  1579. /package/select/{lib/outlined-select-styles.css.d.ts → internal/filled-select-styles.css.d.ts} +0 -0
  1580. /package/select/{lib → internal}/filled-select-styles.scss +0 -0
  1581. /package/select/{lib → internal}/filled-select.d.ts +0 -0
  1582. /package/select/{lib → internal}/filled-select.js +0 -0
  1583. /package/select/{lib → internal}/filled-select.js.map +0 -0
  1584. /package/{textfield/lib → select/internal}/outlined-forced-colors-styles.css.d.ts +0 -0
  1585. /package/select/{lib → internal}/outlined-forced-colors-styles.css.js +0 -0
  1586. /package/select/{lib → internal}/outlined-forced-colors-styles.css.js.map +0 -0
  1587. /package/select/{lib → internal}/outlined-forced-colors-styles.scss +0 -0
  1588. /package/select/{lib/shared-styles.css.d.ts → internal/outlined-select-styles.css.d.ts} +0 -0
  1589. /package/select/{lib → internal}/outlined-select-styles.scss +0 -0
  1590. /package/select/{lib → internal}/outlined-select.d.ts +0 -0
  1591. /package/select/{lib → internal}/outlined-select.js +0 -0
  1592. /package/select/{lib → internal}/outlined-select.js.map +0 -0
  1593. /package/{textfield/lib → select/internal}/shared-styles.css.d.ts +0 -0
  1594. /package/select/{lib → internal}/shared-styles.scss +0 -0
  1595. /package/slider/{lib/slider-styles.css.d.ts → internal/forced-colors-styles.css.d.ts} +0 -0
  1596. /package/{switch/lib/switch-styles.css.d.ts → slider/internal/slider-styles.css.d.ts} +0 -0
  1597. /package/slider/{lib → internal}/slider-styles.scss +0 -0
  1598. /package/{textfield/lib/filled-styles.css.d.ts → switch/internal/forced-colors-styles.css.d.ts} +0 -0
  1599. /package/{tokens/v0_172/index.test.css.d.ts → switch/internal/switch-styles.css.d.ts} +0 -0
  1600. /package/switch/{lib → internal}/switch-styles.scss +0 -0
  1601. /package/{tokens/v0_172/lib.test.css.d.ts → tabs/internal/primary-tab-styles.css.d.ts} +0 -0
  1602. /package/textfield/{lib → internal}/_icon.scss +0 -0
  1603. /package/textfield/{lib → internal}/filled-forced-colors-styles.css.js +0 -0
  1604. /package/textfield/{lib → internal}/filled-forced-colors-styles.css.js.map +0 -0
  1605. /package/textfield/{lib → internal}/filled-forced-colors-styles.scss +0 -0
  1606. /package/textfield/{lib → internal}/filled-styles.scss +0 -0
  1607. /package/textfield/{lib → internal}/filled-text-field.d.ts +0 -0
  1608. /package/textfield/{lib → internal}/filled-text-field.js +0 -0
  1609. /package/textfield/{lib → internal}/filled-text-field.js.map +0 -0
  1610. /package/textfield/{lib → internal}/outlined-forced-colors-styles.css.js +0 -0
  1611. /package/textfield/{lib → internal}/outlined-forced-colors-styles.css.js.map +0 -0
  1612. /package/textfield/{lib → internal}/outlined-forced-colors-styles.scss +0 -0
  1613. /package/textfield/{lib → internal}/outlined-styles.scss +0 -0
  1614. /package/textfield/{lib → internal}/outlined-text-field.d.ts +0 -0
  1615. /package/textfield/{lib → internal}/outlined-text-field.js +0 -0
  1616. /package/textfield/{lib → internal}/outlined-text-field.js.map +0 -0
  1617. /package/textfield/{lib → internal}/shared-styles.scss +0 -0
  1618. /package/tokens/{v0_172 → v0_192}/_index.scss +0 -0
  1619. /package/tokens/{v0_172 → v0_192}/index.test.css.js +0 -0
  1620. /package/tokens/{v0_172 → v0_192}/index.test.css.js.map +0 -0
  1621. /package/tokens/{v0_172 → v0_192}/index.test.scss +0 -0
  1622. /package/tokens/{v0_172 → v0_192}/lib.test.css.js +0 -0
  1623. /package/tokens/{v0_172 → v0_192}/lib.test.css.js.map +0 -0
  1624. /package/tokens/{v0_172 → v0_192}/lib.test.scss +0 -0
@@ -0,0 +1,316 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * An enum of supported Menu corners
8
+ */
9
+ // tslint:disable-next-line:enforce-name-casing We are mimicking enum style
10
+ export const Corner = {
11
+ END_START: 'end-start',
12
+ END_END: 'end-end',
13
+ START_START: 'start-start',
14
+ START_END: 'start-end',
15
+ };
16
+ /**
17
+ * Given a surface, an anchor, corners, and some options, this surface will
18
+ * calculate the position of a surface to align the two given corners and keep
19
+ * the surface inside the window viewport. It also provides a StyleInfo map that
20
+ * can be applied to the surface to handle visiblility and position.
21
+ */
22
+ export class SurfacePositionController {
23
+ /**
24
+ * @param host The host to connect the controller to.
25
+ * @param getProperties A function that returns the properties for the
26
+ * controller.
27
+ */
28
+ constructor(host, getProperties) {
29
+ this.host = host;
30
+ this.getProperties = getProperties;
31
+ // The current styles to apply to the surface.
32
+ this.surfaceStylesInternal = {
33
+ 'display': 'none',
34
+ };
35
+ // Previous values stored for change detection. Open change detection is
36
+ // calculated separately so initialize it here.
37
+ this.lastValues = { isOpen: false };
38
+ this.host.addController(this);
39
+ }
40
+ /**
41
+ * The StyleInfo map to apply to the surface via Lit's stylemap
42
+ */
43
+ get surfaceStyles() {
44
+ return this.surfaceStylesInternal;
45
+ }
46
+ /**
47
+ * Calculates the surface's new position required so that the surface's
48
+ * `surfaceCorner` aligns to the anchor's `anchorCorner` while keeping the
49
+ * surface inside the window viewport. This positioning also respects RTL by
50
+ * checking `getComputedStyle()` on the surface element.
51
+ */
52
+ async position() {
53
+ const { surfaceEl, anchorEl, anchorCorner: anchorCornerRaw, surfaceCorner: surfaceCornerRaw, positioning, xOffset, yOffset, repositionStrategy, } = this.getProperties();
54
+ const anchorCorner = anchorCornerRaw.toLowerCase().trim();
55
+ const surfaceCorner = surfaceCornerRaw.toLowerCase().trim();
56
+ if (!surfaceEl || !anchorEl) {
57
+ return;
58
+ }
59
+ // Paint the surface transparently so that we can get the position and the
60
+ // rect info of the surface.
61
+ this.surfaceStylesInternal = {
62
+ 'display': 'block',
63
+ 'opacity': '0',
64
+ };
65
+ // Wait for it to be visible.
66
+ this.host.requestUpdate();
67
+ await this.host.updateComplete;
68
+ const surfaceRect = surfaceEl.getSurfacePositionClientRect ?
69
+ surfaceEl.getSurfacePositionClientRect() :
70
+ surfaceEl.getBoundingClientRect();
71
+ const anchorRect = anchorEl.getSurfacePositionClientRect ?
72
+ anchorEl.getSurfacePositionClientRect() :
73
+ anchorEl.getBoundingClientRect();
74
+ const [surfaceBlock, surfaceInline] = surfaceCorner.split('-');
75
+ const [anchorBlock, anchorInline] = anchorCorner.split('-');
76
+ // LTR depends on the direction of the SURFACE not the anchor.
77
+ const isLTR = getComputedStyle(surfaceEl).direction === 'ltr';
78
+ /*
79
+ * A diagram that helps describe some of the variables used in the following
80
+ * calculations.
81
+ *
82
+ * ┌───── inline/blockTopLayerOffset
83
+ * │ │
84
+ * │ ┌─▼───┐ Window
85
+ * │ ┌┼─────┴────────────────────────┐
86
+ * │ ││ │
87
+ * └──► ││ ┌──inline/blockAnchorOffset │
88
+ * ││ │ │ │
89
+ * └┤ │ ┌──▼───┐ │
90
+ * │ │ ┌┼──────┤ │
91
+ * │ └─►│Anchor│ │
92
+ * │ └┴──────┘ │
93
+ * │ │
94
+ * │ ┌────────────────────────┼────┐
95
+ * │ │ Surface │ │
96
+ * │ │ │ │
97
+ * │ │ │ │
98
+ * │ │ │ │
99
+ * │ │ │ │
100
+ * │ │ │ │
101
+ * └─────┼────────────────────────┘ ├┐
102
+ * │ inline/blockOOBCorrection ││
103
+ * │ │ ││
104
+ * │ ├──►││
105
+ * │ │ ││
106
+ * └────────────────────────┐▼───┼┘
107
+ * └────┘
108
+ */
109
+ // Calculate the block positioning properties
110
+ let { blockInset, blockOutOfBoundsCorrection, surfaceBlockProperty } = this.calculateBlock({
111
+ surfaceRect,
112
+ anchorRect,
113
+ anchorBlock,
114
+ surfaceBlock,
115
+ yOffset,
116
+ positioning
117
+ });
118
+ // If the surface should be out of bounds in the block direction, flip the
119
+ // surface and anchor corner block values and recalculate
120
+ if (blockOutOfBoundsCorrection) {
121
+ const flippedSurfaceBlock = surfaceBlock === 'start' ? 'end' : 'start';
122
+ const flippedAnchorBlock = anchorBlock === 'start' ? 'end' : 'start';
123
+ const flippedBlock = this.calculateBlock({
124
+ surfaceRect,
125
+ anchorRect,
126
+ anchorBlock: flippedAnchorBlock,
127
+ surfaceBlock: flippedSurfaceBlock,
128
+ yOffset,
129
+ positioning
130
+ });
131
+ // In the case that the flipped verion would require less out of bounds
132
+ // correcting, use the flipped corner block values
133
+ if (blockOutOfBoundsCorrection >
134
+ flippedBlock.blockOutOfBoundsCorrection) {
135
+ blockInset = flippedBlock.blockInset;
136
+ blockOutOfBoundsCorrection = flippedBlock.blockOutOfBoundsCorrection;
137
+ surfaceBlockProperty = flippedBlock.surfaceBlockProperty;
138
+ }
139
+ }
140
+ // Calculate the inline positioning properties
141
+ let { inlineInset, inlineOutOfBoundsCorrection, surfaceInlineProperty } = this.calculateInline({
142
+ surfaceRect,
143
+ anchorRect,
144
+ anchorInline,
145
+ surfaceInline,
146
+ xOffset,
147
+ positioning,
148
+ isLTR,
149
+ });
150
+ // If the surface should be out of bounds in the inline direction, flip the
151
+ // surface and anchor corner inline values and recalculate
152
+ if (inlineOutOfBoundsCorrection) {
153
+ const flippedSurfaceInline = surfaceInline === 'start' ? 'end' : 'start';
154
+ const flippedAnchorInline = anchorInline === 'start' ? 'end' : 'start';
155
+ const flippedInline = this.calculateInline({
156
+ surfaceRect,
157
+ anchorRect,
158
+ anchorInline: flippedAnchorInline,
159
+ surfaceInline: flippedSurfaceInline,
160
+ xOffset,
161
+ positioning,
162
+ isLTR,
163
+ });
164
+ // In the case that the flipped verion would require less out of bounds
165
+ // correcting, use the flipped corner inline values
166
+ if (Math.abs(inlineOutOfBoundsCorrection) >
167
+ Math.abs(flippedInline.inlineOutOfBoundsCorrection)) {
168
+ inlineInset = flippedInline.inlineInset;
169
+ inlineOutOfBoundsCorrection = flippedInline.inlineOutOfBoundsCorrection;
170
+ surfaceInlineProperty = flippedInline.surfaceInlineProperty;
171
+ }
172
+ }
173
+ // If we are simply repositioning the surface back inside the viewport,
174
+ // subtract the out of bounds correction values from the positioning.
175
+ if (repositionStrategy === 'move') {
176
+ blockInset = blockInset - blockOutOfBoundsCorrection;
177
+ inlineInset = inlineInset - inlineOutOfBoundsCorrection;
178
+ }
179
+ this.surfaceStylesInternal = {
180
+ 'display': 'block',
181
+ 'opacity': '1',
182
+ [surfaceBlockProperty]: `${blockInset}px`,
183
+ [surfaceInlineProperty]: `${inlineInset}px`,
184
+ };
185
+ // In the case that we are resizing the surface to stay inside the viewport
186
+ // we need to set height and width on the surface.
187
+ if (repositionStrategy === 'resize') {
188
+ // Add a height property to the styles if there is block height correction
189
+ if (blockOutOfBoundsCorrection) {
190
+ this.surfaceStylesInternal['height'] =
191
+ `${surfaceRect.height - blockOutOfBoundsCorrection}px`;
192
+ }
193
+ // Add a width property to the styles if there is block height correction
194
+ if (inlineOutOfBoundsCorrection) {
195
+ this.surfaceStylesInternal['width'] =
196
+ `${surfaceRect.width - inlineOutOfBoundsCorrection}px`;
197
+ }
198
+ }
199
+ this.host.requestUpdate();
200
+ }
201
+ /**
202
+ * Calculates the css property, the inset, and the out of bounds correction
203
+ * for the surface in the block direction.
204
+ */
205
+ calculateBlock(config) {
206
+ const { surfaceRect, anchorRect, anchorBlock, surfaceBlock, yOffset, positioning, } = config;
207
+ // We use number booleans to multiply values rather than `if` / ternary
208
+ // statements because it _heavily_ cuts down on nesting and readability
209
+ const relativeToWindow = positioning === 'fixed' ? 1 : 0;
210
+ const isSurfaceBlockStart = surfaceBlock === 'start' ? 1 : 0;
211
+ const isSurfaceBlockEnd = surfaceBlock === 'end' ? 1 : 0;
212
+ const isOneBlockEnd = anchorBlock !== surfaceBlock ? 1 : 0;
213
+ // Whether or not to apply the height of the anchor
214
+ const blockAnchorOffset = isOneBlockEnd * anchorRect.height + yOffset;
215
+ // The absolute block position of the anchor relative to window
216
+ const blockTopLayerOffset = isSurfaceBlockStart * anchorRect.top +
217
+ isSurfaceBlockEnd * (window.innerHeight - anchorRect.bottom);
218
+ // If the surface's block would be out of bounds of the window, move it back
219
+ // in
220
+ const blockOutOfBoundsCorrection = Math.abs(Math.min(0, window.innerHeight - blockTopLayerOffset - blockAnchorOffset -
221
+ surfaceRect.height));
222
+ // The block logical value of the surface
223
+ const blockInset = relativeToWindow * blockTopLayerOffset + blockAnchorOffset;
224
+ const surfaceBlockProperty = surfaceBlock === 'start' ? 'inset-block-start' : 'inset-block-end';
225
+ return { blockInset, blockOutOfBoundsCorrection, surfaceBlockProperty };
226
+ }
227
+ /**
228
+ * Calculates the css property, the inset, and the out of bounds correction
229
+ * for the surface in the inline direction.
230
+ */
231
+ calculateInline(config) {
232
+ const { isLTR: isLTRBool, surfaceInline, anchorInline, anchorRect, surfaceRect, xOffset, positioning, } = config;
233
+ // We use number booleans to multiply values rather than `if` / ternary
234
+ // statements because it _heavily_ cuts down on nesting and readability
235
+ const relativeToWindow = positioning === 'fixed' ? 1 : 0;
236
+ const isLTR = isLTRBool ? 1 : 0;
237
+ const isRTL = isLTRBool ? 0 : 1;
238
+ const isSurfaceInlineStart = surfaceInline === 'start' ? 1 : 0;
239
+ const isSurfaceInlineEnd = surfaceInline === 'end' ? 1 : 0;
240
+ const isOneInlineEnd = anchorInline !== surfaceInline ? 1 : 0;
241
+ // Whether or not to apply the width of the anchor
242
+ const inlineAnchorOffset = isOneInlineEnd * anchorRect.width + xOffset;
243
+ // The inline position of the anchor relative to window in LTR
244
+ const inlineTopLayerOffsetLTR = isSurfaceInlineStart * anchorRect.left +
245
+ isSurfaceInlineEnd * (window.innerWidth - anchorRect.right);
246
+ // The inline position of the anchor relative to window in RTL
247
+ const inlineTopLayerOffsetRTL = isSurfaceInlineStart * (window.innerWidth - anchorRect.right) +
248
+ isSurfaceInlineEnd * anchorRect.left;
249
+ // The inline position of the anchor relative to window
250
+ const inlineTopLayerOffset = isLTR * inlineTopLayerOffsetLTR + isRTL * inlineTopLayerOffsetRTL;
251
+ // If the surface's inline would be out of bounds of the window, move it
252
+ // back in
253
+ const inlineOutOfBoundsCorrection = Math.abs(Math.min(0, window.innerWidth - inlineTopLayerOffset - inlineAnchorOffset -
254
+ surfaceRect.width));
255
+ // The inline logical value of the surface
256
+ const inlineInset = relativeToWindow * inlineTopLayerOffset + inlineAnchorOffset;
257
+ const surfaceInlineProperty = surfaceInline === 'start' ? 'inset-inline-start' : 'inset-inline-end';
258
+ return {
259
+ inlineInset,
260
+ inlineOutOfBoundsCorrection,
261
+ surfaceInlineProperty,
262
+ };
263
+ }
264
+ hostUpdate() {
265
+ this.onUpdate();
266
+ }
267
+ hostUpdated() {
268
+ this.onUpdate();
269
+ }
270
+ /**
271
+ * Checks whether the properties passed into the controller have changed since
272
+ * the last positioning. If so, it will reposition if the surface is open or
273
+ * close it if the surface should close.
274
+ */
275
+ async onUpdate() {
276
+ const props = this.getProperties();
277
+ let hasChanged = false;
278
+ for (const [key, value] of Object.entries(props)) {
279
+ // tslint:disable-next-line
280
+ hasChanged = hasChanged || (value !== this.lastValues[key]);
281
+ if (hasChanged)
282
+ break;
283
+ }
284
+ const openChanged = this.lastValues.isOpen !== props.isOpen;
285
+ const hasAnchor = !!props.anchorEl;
286
+ const hasSurface = !!props.surfaceEl;
287
+ if (hasChanged && hasAnchor && hasSurface) {
288
+ // Only update isOpen, because if it's closed, we do not want to waste
289
+ // time on a useless reposition calculation. So save the other "dirty"
290
+ // values until next time it opens.
291
+ this.lastValues.isOpen = props.isOpen;
292
+ if (props.isOpen) {
293
+ // We are going to do a reposition, so save the prop values for future
294
+ // dirty checking.
295
+ this.lastValues = props;
296
+ await this.position();
297
+ props.onOpen();
298
+ }
299
+ else if (openChanged) {
300
+ await props.beforeClose();
301
+ this.close();
302
+ props.onClose();
303
+ }
304
+ }
305
+ }
306
+ /**
307
+ * Hides the surface.
308
+ */
309
+ close() {
310
+ this.surfaceStylesInternal = {
311
+ 'display': 'none',
312
+ };
313
+ this.host.requestUpdate();
314
+ }
315
+ }
316
+ //# sourceMappingURL=surfacePositionController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surfacePositionController.js","sourceRoot":"","sources":["surfacePositionController.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {ReactiveController, ReactiveControllerHost} from 'lit';\nimport {StyleInfo} from 'lit/directives/style-map.js';\n\n/**\n * An enum of supported Menu corners\n */\n// tslint:disable-next-line:enforce-name-casing We are mimicking enum style\nexport const Corner = {\n END_START: 'end-start',\n END_END: 'end-end',\n START_START: 'start-start',\n START_END: 'start-end',\n} as const;\n\n/**\n * A corner of a box in the standard logical property style of <block>_<inline>\n */\nexport type Corner = typeof Corner[keyof typeof Corner];\n\n/**\n * An interface that provides a method to customize the rect from which to\n * calculate the anchor positioning. Useful for when you want a surface to\n * anchor to an element in your shadow DOM rather than the host element.\n */\nexport interface SurfacePositionTarget extends HTMLElement {\n getSurfacePositionClientRect?: () => DOMRect;\n}\n\n/**\n * The configurable options for the surface position controller.\n */\nexport interface SurfacePositionControllerProperties {\n /**\n * The corner of the anchor to align the surface's position.\n */\n anchorCorner: Corner;\n /**\n * The corner of the surface to align to the given anchor corner.\n */\n surfaceCorner: Corner;\n /**\n * The HTMLElement reference of the surface to be positioned.\n */\n surfaceEl: SurfacePositionTarget|null;\n /**\n * The HTMLElement reference of the anchor to align to.\n */\n anchorEl: SurfacePositionTarget|null;\n /**\n * Whether the positioning algorithim should calculate relative to the parent\n * of the anchor element (absolute) or relative to the window (fixed).\n *\n * Examples for `position = 'fixed'`:\n *\n * - If there is no `position:relative` in the given parent tree and the\n * surface is `position:absolute`\n * - If the surface is `position:fixed`\n * - If the surface is in the \"top layer\"\n * - The anchor and the surface do not share a common `position:relative`\n * ancestor\n */\n positioning: 'absolute'|'fixed';\n /**\n * Whether or not the surface should be \"open\" and visible\n */\n isOpen: boolean;\n /**\n * The number of pixels in which to offset from the inline axis relative to\n * logical property.\n *\n * Positive is right in LTR and left in RTL.\n */\n xOffset: number;\n /**\n * The number of pixes in which to offset the block axis.\n *\n * Positive is down and negative is up.\n */\n yOffset: number;\n /**\n * The strategy to follow when repositioning the menu to stay inside the\n * viewport. \"move\" will simply move the surface to stay in the viewport.\n * \"resize\" will attempt to resize the surface.\n *\n * Both strategies will still attempt to flip the anchor and surface corners.\n */\n repositionStrategy: 'move'|'resize';\n /**\n * A function to call after the surface has been positioned.\n */\n onOpen: () => void;\n /**\n * A function to call before the surface should be closed. (A good time to\n * perform animations while the surface is still visible)\n */\n beforeClose: () => Promise<void>;\n /**\n * A function to call after the surface has been closed.\n */\n onClose: () => void;\n}\n\n/**\n * Given a surface, an anchor, corners, and some options, this surface will\n * calculate the position of a surface to align the two given corners and keep\n * the surface inside the window viewport. It also provides a StyleInfo map that\n * can be applied to the surface to handle visiblility and position.\n */\nexport class SurfacePositionController implements ReactiveController {\n // The current styles to apply to the surface.\n private surfaceStylesInternal: StyleInfo = {\n 'display': 'none',\n };\n // Previous values stored for change detection. Open change detection is\n // calculated separately so initialize it here.\n private lastValues: SurfacePositionControllerProperties = {isOpen: false} as\n SurfacePositionControllerProperties;\n\n /**\n * @param host The host to connect the controller to.\n * @param getProperties A function that returns the properties for the\n * controller.\n */\n constructor(\n private readonly host: ReactiveControllerHost,\n private readonly getProperties: () => SurfacePositionControllerProperties,\n ) {\n this.host.addController(this);\n }\n\n /**\n * The StyleInfo map to apply to the surface via Lit's stylemap\n */\n get surfaceStyles() {\n return this.surfaceStylesInternal;\n }\n\n /**\n * Calculates the surface's new position required so that the surface's\n * `surfaceCorner` aligns to the anchor's `anchorCorner` while keeping the\n * surface inside the window viewport. This positioning also respects RTL by\n * checking `getComputedStyle()` on the surface element.\n */\n async position() {\n const {\n surfaceEl,\n anchorEl,\n anchorCorner: anchorCornerRaw,\n surfaceCorner: surfaceCornerRaw,\n positioning,\n xOffset,\n yOffset,\n repositionStrategy,\n } = this.getProperties();\n const anchorCorner = anchorCornerRaw.toLowerCase().trim();\n const surfaceCorner = surfaceCornerRaw.toLowerCase().trim();\n\n if (!surfaceEl || !anchorEl) {\n return;\n }\n\n // Paint the surface transparently so that we can get the position and the\n // rect info of the surface.\n this.surfaceStylesInternal = {\n 'display': 'block',\n 'opacity': '0',\n };\n\n // Wait for it to be visible.\n this.host.requestUpdate();\n await this.host.updateComplete;\n\n const surfaceRect = surfaceEl.getSurfacePositionClientRect ?\n surfaceEl.getSurfacePositionClientRect() :\n surfaceEl.getBoundingClientRect();\n const anchorRect = anchorEl.getSurfacePositionClientRect ?\n anchorEl.getSurfacePositionClientRect() :\n anchorEl.getBoundingClientRect();\n const [surfaceBlock, surfaceInline] =\n surfaceCorner.split('-') as Array<'start'|'end'>;\n const [anchorBlock, anchorInline] =\n anchorCorner.split('-') as Array<'start'|'end'>;\n\n // LTR depends on the direction of the SURFACE not the anchor.\n const isLTR =\n getComputedStyle(surfaceEl as HTMLElement).direction === 'ltr';\n\n /*\n * A diagram that helps describe some of the variables used in the following\n * calculations.\n *\n * ┌───── inline/blockTopLayerOffset\n * │ │\n * │ ┌─▼───┐ Window\n * │ ┌┼─────┴────────────────────────┐\n * │ ││ │\n * └──► ││ ┌──inline/blockAnchorOffset │\n * ││ │ │ │\n * └┤ │ ┌──▼───┐ │\n * │ │ ┌┼──────┤ │\n * │ └─►│Anchor│ │\n * │ └┴──────┘ │\n * │ │\n * │ ┌────────────────────────┼────┐\n * │ │ Surface │ │\n * │ │ │ │\n * │ │ │ │\n * │ │ │ │\n * │ │ │ │\n * │ │ │ │\n * └─────┼────────────────────────┘ ├┐\n * │ inline/blockOOBCorrection ││\n * │ │ ││\n * │ ├──►││\n * │ │ ││\n * └────────────────────────┐▼───┼┘\n * └────┘\n */\n\n // Calculate the block positioning properties\n let {blockInset, blockOutOfBoundsCorrection, surfaceBlockProperty} =\n this.calculateBlock({\n surfaceRect,\n anchorRect,\n anchorBlock,\n surfaceBlock,\n yOffset,\n positioning\n });\n\n // If the surface should be out of bounds in the block direction, flip the\n // surface and anchor corner block values and recalculate\n if (blockOutOfBoundsCorrection) {\n const flippedSurfaceBlock = surfaceBlock === 'start' ? 'end' : 'start';\n const flippedAnchorBlock = anchorBlock === 'start' ? 'end' : 'start';\n\n const flippedBlock = this.calculateBlock({\n surfaceRect,\n anchorRect,\n anchorBlock: flippedAnchorBlock,\n surfaceBlock: flippedSurfaceBlock,\n yOffset,\n positioning\n });\n\n // In the case that the flipped verion would require less out of bounds\n // correcting, use the flipped corner block values\n if (blockOutOfBoundsCorrection >\n flippedBlock.blockOutOfBoundsCorrection) {\n blockInset = flippedBlock.blockInset;\n blockOutOfBoundsCorrection = flippedBlock.blockOutOfBoundsCorrection;\n surfaceBlockProperty = flippedBlock.surfaceBlockProperty;\n }\n }\n\n // Calculate the inline positioning properties\n let {inlineInset, inlineOutOfBoundsCorrection, surfaceInlineProperty} =\n this.calculateInline({\n surfaceRect,\n anchorRect,\n anchorInline,\n surfaceInline,\n xOffset,\n positioning,\n isLTR,\n });\n\n // If the surface should be out of bounds in the inline direction, flip the\n // surface and anchor corner inline values and recalculate\n if (inlineOutOfBoundsCorrection) {\n const flippedSurfaceInline = surfaceInline === 'start' ? 'end' : 'start';\n const flippedAnchorInline = anchorInline === 'start' ? 'end' : 'start';\n\n const flippedInline = this.calculateInline({\n surfaceRect,\n anchorRect,\n anchorInline: flippedAnchorInline,\n surfaceInline: flippedSurfaceInline,\n xOffset,\n positioning,\n isLTR,\n });\n\n // In the case that the flipped verion would require less out of bounds\n // correcting, use the flipped corner inline values\n if (Math.abs(inlineOutOfBoundsCorrection) >\n Math.abs(flippedInline.inlineOutOfBoundsCorrection)) {\n inlineInset = flippedInline.inlineInset;\n inlineOutOfBoundsCorrection = flippedInline.inlineOutOfBoundsCorrection;\n surfaceInlineProperty = flippedInline.surfaceInlineProperty;\n }\n }\n\n // If we are simply repositioning the surface back inside the viewport,\n // subtract the out of bounds correction values from the positioning.\n if (repositionStrategy === 'move') {\n blockInset = blockInset - blockOutOfBoundsCorrection;\n inlineInset = inlineInset - inlineOutOfBoundsCorrection;\n }\n\n this.surfaceStylesInternal = {\n 'display': 'block',\n 'opacity': '1',\n [surfaceBlockProperty]: `${blockInset}px`,\n [surfaceInlineProperty]: `${inlineInset}px`,\n };\n\n // In the case that we are resizing the surface to stay inside the viewport\n // we need to set height and width on the surface.\n if (repositionStrategy === 'resize') {\n // Add a height property to the styles if there is block height correction\n if (blockOutOfBoundsCorrection) {\n this.surfaceStylesInternal['height'] =\n `${surfaceRect.height - blockOutOfBoundsCorrection}px`;\n }\n\n // Add a width property to the styles if there is block height correction\n if (inlineOutOfBoundsCorrection) {\n this.surfaceStylesInternal['width'] =\n `${surfaceRect.width - inlineOutOfBoundsCorrection}px`;\n }\n }\n\n this.host.requestUpdate();\n }\n\n /**\n * Calculates the css property, the inset, and the out of bounds correction\n * for the surface in the block direction.\n */\n private calculateBlock(config: {\n surfaceRect: DOMRect,\n anchorRect: DOMRect,\n anchorBlock: 'start'|'end',\n surfaceBlock: 'start'|'end',\n yOffset: number,\n positioning: 'absolute'|'fixed',\n }) {\n const {\n surfaceRect,\n anchorRect,\n anchorBlock,\n surfaceBlock,\n yOffset,\n positioning,\n } = config;\n // We use number booleans to multiply values rather than `if` / ternary\n // statements because it _heavily_ cuts down on nesting and readability\n const relativeToWindow = positioning === 'fixed' ? 1 : 0;\n const isSurfaceBlockStart = surfaceBlock === 'start' ? 1 : 0;\n const isSurfaceBlockEnd = surfaceBlock === 'end' ? 1 : 0;\n const isOneBlockEnd = anchorBlock !== surfaceBlock ? 1 : 0;\n\n // Whether or not to apply the height of the anchor\n const blockAnchorOffset = isOneBlockEnd * anchorRect.height + yOffset;\n // The absolute block position of the anchor relative to window\n const blockTopLayerOffset = isSurfaceBlockStart * anchorRect.top +\n isSurfaceBlockEnd * (window.innerHeight - anchorRect.bottom);\n // If the surface's block would be out of bounds of the window, move it back\n // in\n const blockOutOfBoundsCorrection = Math.abs(Math.min(\n 0,\n window.innerHeight - blockTopLayerOffset - blockAnchorOffset -\n surfaceRect.height));\n\n\n // The block logical value of the surface\n const blockInset =\n relativeToWindow * blockTopLayerOffset + blockAnchorOffset;\n\n const surfaceBlockProperty =\n surfaceBlock === 'start' ? 'inset-block-start' : 'inset-block-end';\n\n return {blockInset, blockOutOfBoundsCorrection, surfaceBlockProperty};\n }\n\n /**\n * Calculates the css property, the inset, and the out of bounds correction\n * for the surface in the inline direction.\n */\n private calculateInline(config: {\n isLTR: boolean,\n surfaceInline: 'start'|'end',\n anchorInline: 'start'|'end',\n anchorRect: DOMRect,\n surfaceRect: DOMRect,\n xOffset: number,\n positioning: 'absolute'|'fixed',\n }) {\n const {\n isLTR: isLTRBool,\n surfaceInline,\n anchorInline,\n anchorRect,\n surfaceRect,\n xOffset,\n positioning,\n } = config;\n // We use number booleans to multiply values rather than `if` / ternary\n // statements because it _heavily_ cuts down on nesting and readability\n const relativeToWindow = positioning === 'fixed' ? 1 : 0;\n const isLTR = isLTRBool ? 1 : 0;\n const isRTL = isLTRBool ? 0 : 1;\n const isSurfaceInlineStart = surfaceInline === 'start' ? 1 : 0;\n const isSurfaceInlineEnd = surfaceInline === 'end' ? 1 : 0;\n const isOneInlineEnd = anchorInline !== surfaceInline ? 1 : 0;\n\n // Whether or not to apply the width of the anchor\n const inlineAnchorOffset = isOneInlineEnd * anchorRect.width + xOffset;\n // The inline position of the anchor relative to window in LTR\n const inlineTopLayerOffsetLTR = isSurfaceInlineStart * anchorRect.left +\n isSurfaceInlineEnd * (window.innerWidth - anchorRect.right);\n // The inline position of the anchor relative to window in RTL\n const inlineTopLayerOffsetRTL =\n isSurfaceInlineStart * (window.innerWidth - anchorRect.right) +\n isSurfaceInlineEnd * anchorRect.left;\n // The inline position of the anchor relative to window\n const inlineTopLayerOffset =\n isLTR * inlineTopLayerOffsetLTR + isRTL * inlineTopLayerOffsetRTL;\n\n // If the surface's inline would be out of bounds of the window, move it\n // back in\n const inlineOutOfBoundsCorrection = Math.abs(Math.min(\n 0,\n window.innerWidth - inlineTopLayerOffset - inlineAnchorOffset -\n surfaceRect.width));\n\n\n // The inline logical value of the surface\n const inlineInset =\n relativeToWindow * inlineTopLayerOffset + inlineAnchorOffset;\n\n const surfaceInlineProperty =\n surfaceInline === 'start' ? 'inset-inline-start' : 'inset-inline-end';\n\n return {\n inlineInset,\n inlineOutOfBoundsCorrection,\n surfaceInlineProperty,\n };\n }\n\n hostUpdate() {\n this.onUpdate();\n }\n\n hostUpdated() {\n this.onUpdate();\n }\n\n /**\n * Checks whether the properties passed into the controller have changed since\n * the last positioning. If so, it will reposition if the surface is open or\n * close it if the surface should close.\n */\n private async onUpdate() {\n const props = this.getProperties();\n let hasChanged = false;\n for (const [key, value] of Object.entries(props)) {\n // tslint:disable-next-line\n hasChanged = hasChanged || (value !== (this.lastValues as any)[key]);\n if (hasChanged) break;\n }\n\n const openChanged = this.lastValues.isOpen !== props.isOpen;\n const hasAnchor = !!props.anchorEl;\n const hasSurface = !!props.surfaceEl;\n\n if (hasChanged && hasAnchor && hasSurface) {\n // Only update isOpen, because if it's closed, we do not want to waste\n // time on a useless reposition calculation. So save the other \"dirty\"\n // values until next time it opens.\n this.lastValues.isOpen = props.isOpen;\n\n if (props.isOpen) {\n // We are going to do a reposition, so save the prop values for future\n // dirty checking.\n this.lastValues = props;\n\n await this.position();\n props.onOpen();\n } else if (openChanged) {\n await props.beforeClose();\n this.close();\n props.onClose();\n }\n }\n }\n\n /**\n * Hides the surface.\n */\n private close() {\n this.surfaceStylesInternal = {\n 'display': 'none',\n };\n this.host.requestUpdate();\n }\n}\n"]}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { MenuItem } from './menuItemController.js';
7
+ /**
8
+ * The options that are passed to the typeahead controller.
9
+ */
10
+ export interface TypeaheadControllerProperties {
11
+ /**
12
+ * A function that returns an array of menu items to be searched.
13
+ * @return An array of menu items to be searched by typing.
14
+ */
15
+ getItems: () => MenuItem[];
16
+ /**
17
+ * The maximum time between each keystroke to keep the current type buffer
18
+ * alive.
19
+ */
20
+ typeaheadBufferTime: number;
21
+ /**
22
+ * Whether or not the typeahead should listen for keystrokes or not.
23
+ */
24
+ active: boolean;
25
+ }
26
+ /**
27
+ * Data structure tuple that helps with indexing.
28
+ *
29
+ * [index, item, normalized header text]
30
+ */
31
+ type TypeaheadRecord = [number, MenuItem, string];
32
+ /**
33
+ * Indicies to access the TypeaheadRecord tuple type.
34
+ */
35
+ export declare const TYPEAHEAD_RECORD: {
36
+ readonly INDEX: 0;
37
+ readonly ITEM: 1;
38
+ readonly TEXT: 2;
39
+ };
40
+ /**
41
+ * This controller listens to `keydown` events and searches the header text of
42
+ * an array of `MenuItem`s with the corresponding entered keys within the buffer
43
+ * time and activates the item.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const typeaheadController = new TypeaheadController(() => ({
48
+ * typeaheadBufferTime: 50,
49
+ * getItems: () => Array.from(document.querySelectorAll('md-menu-item'))
50
+ * }));
51
+ * html`
52
+ * <div
53
+ * @keydown=${typeaheadController.onKeydown}
54
+ * tabindex="0"
55
+ * class="activeItemText">
56
+ * <!-- focusable element that will receive keydown events -->
57
+ * Apple
58
+ * </div>
59
+ * <div>
60
+ * <md-menu-item active header="Apple"></md-menu-item>
61
+ * <md-menu-item header="Apricot"></md-menu-item>
62
+ * <md-menu-item header="Banana"></md-menu-item>
63
+ * <md-menu-item header="Olive"></md-menu-item>
64
+ * <md-menu-item header="Orange"></md-menu-item>
65
+ * </div>
66
+ * `;
67
+ * ```
68
+ */
69
+ export declare class TypeaheadController {
70
+ private readonly getProperties;
71
+ /**
72
+ * Array of tuples that helps with indexing.
73
+ */
74
+ private typeaheadRecords;
75
+ /**
76
+ * Currently-typed text since last buffer timeout
77
+ */
78
+ private typaheadBuffer;
79
+ /**
80
+ * The timeout id from the current buffer's setTimeout
81
+ */
82
+ private cancelTypeaheadTimeout;
83
+ /**
84
+ * If we are currently "typing"
85
+ */
86
+ isTypingAhead: boolean;
87
+ /**
88
+ * The record of the last active item.
89
+ */
90
+ lastActiveRecord: TypeaheadRecord | null;
91
+ /**
92
+ * @param getProperties A function that returns the options of the typeahead
93
+ * controller:
94
+ *
95
+ * {
96
+ * getItems: A function that returns an array of menu items to be searched.
97
+ * typeaheadBufferTime: The maximum time between each keystroke to keep the
98
+ * current type buffer alive.
99
+ * }
100
+ */
101
+ constructor(getProperties: () => TypeaheadControllerProperties);
102
+ private get items();
103
+ private get active();
104
+ /**
105
+ * Apply this listener to the element that will receive `keydown` events that
106
+ * should trigger this controller.
107
+ *
108
+ * @param event The native browser `KeyboardEvent` from the `keydown` event.
109
+ */
110
+ readonly onKeydown: (event: KeyboardEvent) => void;
111
+ /**
112
+ * Sets up typingahead
113
+ */
114
+ private beginTypeahead;
115
+ /**
116
+ * Performs the typeahead. Based on the normalized items and the current text
117
+ * buffer, finds the _next_ item with matching text and activates it.
118
+ *
119
+ * @example
120
+ *
121
+ * items: Apple, Banana, Olive, Orange, Cucumber
122
+ * buffer: ''
123
+ * user types: o
124
+ *
125
+ * activates Olive
126
+ *
127
+ * @example
128
+ *
129
+ * items: Apple, Banana, Olive (active), Orange, Cucumber
130
+ * buffer: 'o'
131
+ * user types: l
132
+ *
133
+ * activates Olive
134
+ *
135
+ * @example
136
+ *
137
+ * items: Apple, Banana, Olive (active), Orange, Cucumber
138
+ * buffer: ''
139
+ * user types: o
140
+ *
141
+ * activates Orange
142
+ *
143
+ * @example
144
+ *
145
+ * items: Apple, Banana, Olive, Orange (active), Cucumber
146
+ * buffer: ''
147
+ * user types: o
148
+ *
149
+ * activates Olive
150
+ */
151
+ private typeahead;
152
+ /**
153
+ * Ends the current typeahead and clears the buffer.
154
+ */
155
+ private readonly endTypeahead;
156
+ }
157
+ export {};