@material/web 1.0.0-pre.13 → 1.0.0-pre.15

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 (1187) hide show
  1. package/README.md +9 -9
  2. package/all.d.ts +93 -0
  3. package/all.js +102 -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 +4 -4
  12. package/button/elevated-button.js.map +1 -1
  13. package/button/filled-button.d.ts +1 -1
  14. package/button/filled-button.js +4 -4
  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 +40 -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/_elevation.scss +65 -0
  23. package/button/internal/_filled-tonal-button.scss +61 -0
  24. package/button/internal/_icon.scss +39 -0
  25. package/button/internal/_outlined-button.scss +104 -0
  26. package/button/internal/_shared.scss +159 -0
  27. package/button/internal/_touch-target.scss +19 -0
  28. package/button/internal/button.d.ts +67 -0
  29. package/button/internal/button.js +157 -0
  30. package/button/internal/button.js.map +1 -0
  31. package/button/internal/elevated-button.d.ts +13 -0
  32. package/button/internal/elevated-button.js +17 -0
  33. package/button/internal/elevated-button.js.map +1 -0
  34. package/button/internal/elevated-styles.css.js +9 -0
  35. package/button/internal/elevated-styles.css.js.map +1 -0
  36. package/button/internal/filled-button.d.ts +13 -0
  37. package/button/internal/filled-button.js +17 -0
  38. package/button/internal/filled-button.js.map +1 -0
  39. package/button/internal/filled-styles.css.js +9 -0
  40. package/button/internal/filled-styles.css.js.map +1 -0
  41. package/button/internal/filled-tonal-button.d.ts +13 -0
  42. package/button/internal/filled-tonal-button.js +17 -0
  43. package/button/internal/filled-tonal-button.js.map +1 -0
  44. package/button/internal/filled-tonal-styles.css.js +9 -0
  45. package/button/internal/filled-tonal-styles.css.js.map +1 -0
  46. package/button/internal/filled-tonal-styles.scss +10 -0
  47. package/button/internal/outlined-button.d.ts +12 -0
  48. package/button/internal/outlined-button.js +16 -0
  49. package/button/internal/outlined-button.js.map +1 -0
  50. package/button/internal/outlined-styles.css.js +9 -0
  51. package/button/internal/outlined-styles.css.js.map +1 -0
  52. package/button/internal/shared-elevation-styles.css.js +9 -0
  53. package/button/internal/shared-elevation-styles.css.js.map +1 -0
  54. package/button/internal/shared-styles.css.js +9 -0
  55. package/button/internal/shared-styles.css.js.map +1 -0
  56. package/button/internal/text-button.d.ts +11 -0
  57. package/button/internal/text-button.js +12 -0
  58. package/button/internal/text-button.js.map +1 -0
  59. package/button/internal/text-styles.css.js +9 -0
  60. package/button/internal/text-styles.css.js.map +1 -0
  61. package/button/outlined-button.d.ts +1 -1
  62. package/button/outlined-button.js +3 -3
  63. package/button/outlined-button.js.map +1 -1
  64. package/button/text-button.d.ts +1 -1
  65. package/button/text-button.js +3 -3
  66. package/button/text-button.js.map +1 -1
  67. package/checkbox/_checkbox.scss +1 -1
  68. package/checkbox/checkbox.d.ts +1 -1
  69. package/checkbox/checkbox.js +3 -4
  70. package/checkbox/checkbox.js.map +1 -1
  71. package/checkbox/harness.d.ts +1 -1
  72. package/checkbox/harness.js.map +1 -1
  73. package/checkbox/internal/_checkbox.scss +415 -0
  74. package/checkbox/internal/checkbox-styles.css.js +9 -0
  75. package/checkbox/internal/checkbox-styles.css.js.map +1 -0
  76. package/checkbox/internal/checkbox.d.ts +137 -0
  77. package/checkbox/internal/checkbox.js +299 -0
  78. package/checkbox/internal/checkbox.js.map +1 -0
  79. package/chips/_assist-chip.scss +1 -1
  80. package/chips/_filter-chip.scss +1 -1
  81. package/chips/_input-chip.scss +1 -1
  82. package/chips/_suggestion-chip.scss +1 -1
  83. package/chips/assist-chip.d.ts +1 -1
  84. package/chips/assist-chip.js +5 -5
  85. package/chips/assist-chip.js.map +1 -1
  86. package/chips/chip-set.d.ts +1 -1
  87. package/chips/chip-set.js +2 -2
  88. package/chips/chip-set.js.map +1 -1
  89. package/chips/filter-chip.d.ts +1 -1
  90. package/chips/filter-chip.js +7 -7
  91. package/chips/filter-chip.js.map +1 -1
  92. package/chips/harness.d.ts +1 -1
  93. package/chips/harness.js.map +1 -1
  94. package/chips/input-chip.d.ts +1 -1
  95. package/chips/input-chip.js +6 -6
  96. package/chips/input-chip.js.map +1 -1
  97. package/chips/internal/_shared.scss +200 -0
  98. package/chips/internal/_trailing-icon.scss +80 -0
  99. package/chips/internal/chip-set.js +163 -0
  100. package/chips/internal/chip-set.js.map +1 -0
  101. package/chips/internal/chip.d.ts +45 -0
  102. package/chips/internal/chip.js +93 -0
  103. package/chips/internal/chip.js.map +1 -0
  104. package/chips/internal/filter-chip.d.ts +33 -0
  105. package/chips/internal/filter-chip.js +109 -0
  106. package/chips/internal/filter-chip.js.map +1 -0
  107. package/chips/internal/shared-styles.css.js +9 -0
  108. package/chips/internal/shared-styles.css.js.map +1 -0
  109. package/chips/internal/trailing-icon-styles.css.js +9 -0
  110. package/chips/internal/trailing-icon-styles.css.js.map +1 -0
  111. package/chips/internal/trailing-icons.d.ts +15 -0
  112. package/chips/internal/trailing-icons.js +38 -0
  113. package/chips/internal/trailing-icons.js.map +1 -0
  114. package/chips/suggestion-chip.d.ts +1 -1
  115. package/chips/suggestion-chip.js +5 -5
  116. package/chips/suggestion-chip.js.map +1 -1
  117. package/common.d.ts +57 -0
  118. package/common.js +66 -0
  119. package/common.js.map +1 -0
  120. package/dialog/_dialog.scss +1 -1
  121. package/dialog/dialog.d.ts +1 -1
  122. package/dialog/dialog.js +2 -2
  123. package/dialog/dialog.js.map +1 -1
  124. package/dialog/harness.d.ts +2 -7
  125. package/dialog/harness.js +2 -43
  126. package/dialog/harness.js.map +1 -1
  127. package/dialog/internal/_dialog.scss +260 -0
  128. package/dialog/internal/animations.d.ts +47 -0
  129. package/dialog/internal/animations.js +117 -0
  130. package/dialog/internal/animations.js.map +1 -0
  131. package/dialog/internal/dialog-styles.css.js +9 -0
  132. package/dialog/internal/dialog-styles.css.js.map +1 -0
  133. package/dialog/internal/dialog.d.ts +103 -0
  134. package/dialog/internal/dialog.js +338 -0
  135. package/dialog/internal/dialog.js.map +1 -0
  136. package/divider/_divider.scss +1 -1
  137. package/divider/divider.d.ts +1 -1
  138. package/divider/divider.js +2 -2
  139. package/divider/divider.js.map +1 -1
  140. package/elevation/_elevation.scss +1 -1
  141. package/elevation/elevation.d.ts +1 -1
  142. package/elevation/elevation.js +2 -2
  143. package/elevation/elevation.js.map +1 -1
  144. package/fab/_fab.scss +2 -2
  145. package/fab/branded-fab.d.ts +3 -3
  146. package/fab/branded-fab.js +4 -4
  147. package/fab/branded-fab.js.map +1 -1
  148. package/fab/fab.d.ts +3 -3
  149. package/fab/fab.js +4 -4
  150. package/fab/fab.js.map +1 -1
  151. package/fab/harness.d.ts +1 -1
  152. package/fab/harness.js.map +1 -1
  153. package/fab/internal/_fab.scss +260 -0
  154. package/fab/internal/_shared.scss +239 -0
  155. package/fab/internal/fab-styles.css.js +9 -0
  156. package/fab/internal/fab-styles.css.js.map +1 -0
  157. package/fab/internal/fab.d.ts +26 -0
  158. package/fab/internal/fab.js.map +1 -0
  159. package/fab/internal/forced-colors-styles.css.js +9 -0
  160. package/fab/internal/forced-colors-styles.css.js.map +1 -0
  161. package/fab/internal/forced-colors-styles.scss +29 -0
  162. package/fab/internal/shared-styles.css.js +9 -0
  163. package/fab/internal/shared-styles.css.js.map +1 -0
  164. package/fab/internal/shared.d.ts +51 -0
  165. package/fab/internal/shared.js +110 -0
  166. package/fab/internal/shared.js.map +1 -0
  167. package/field/_filled-field.scss +1 -1
  168. package/field/_outlined-field.scss +1 -1
  169. package/field/filled-field.d.ts +1 -1
  170. package/field/filled-field.js +3 -3
  171. package/field/filled-field.js.map +1 -1
  172. package/field/harness.d.ts +1 -1
  173. package/field/harness.js.map +1 -1
  174. package/field/internal/_content.scss +191 -0
  175. package/field/internal/_filled-field.scss +203 -0
  176. package/field/internal/_label.scss +91 -0
  177. package/field/internal/_outlined-field.scss +323 -0
  178. package/field/internal/_shared.scss +70 -0
  179. package/field/internal/_supporting-text.scss +47 -0
  180. package/field/internal/field.d.ts +64 -0
  181. package/field/internal/field.js +318 -0
  182. package/field/internal/field.js.map +1 -0
  183. package/field/internal/filled-styles.css.js +9 -0
  184. package/field/internal/filled-styles.css.js.map +1 -0
  185. package/field/internal/outlined-styles.css.js +9 -0
  186. package/field/internal/outlined-styles.css.js.map +1 -0
  187. package/field/internal/shared-styles.css.js +9 -0
  188. package/field/internal/shared-styles.css.js.map +1 -0
  189. package/field/outlined-field.d.ts +1 -1
  190. package/field/outlined-field.js +3 -3
  191. package/field/outlined-field.js.map +1 -1
  192. package/focus/_focus-ring.scss +1 -1
  193. package/focus/internal/_focus-ring.scss +139 -0
  194. package/focus/internal/focus-ring-styles.css.js +9 -0
  195. package/focus/internal/focus-ring-styles.css.js.map +1 -0
  196. package/focus/internal/focus-ring.d.ts +35 -0
  197. package/focus/internal/focus-ring.js +89 -0
  198. package/focus/internal/focus-ring.js.map +1 -0
  199. package/focus/md-focus-ring.d.ts +20 -0
  200. package/focus/md-focus-ring.js +23 -0
  201. package/focus/md-focus-ring.js.map +1 -0
  202. package/icon/_icon.scss +1 -1
  203. package/icon/icon.d.ts +1 -1
  204. package/icon/icon.js +2 -2
  205. package/icon/icon.js.map +1 -1
  206. package/icon/internal/_icon.scss +61 -0
  207. package/icon/internal/icon-styles.css.js +9 -0
  208. package/icon/internal/icon-styles.css.js.map +1 -0
  209. package/icon/internal/icon.d.ts +13 -0
  210. package/icon/internal/icon.js +24 -0
  211. package/icon/internal/icon.js.map +1 -0
  212. package/iconbutton/_filled-icon-button.scss +1 -1
  213. package/iconbutton/_filled-tonal-icon-button.scss +1 -1
  214. package/iconbutton/_icon-button.scss +6 -0
  215. package/iconbutton/_outlined-icon-button.scss +1 -1
  216. package/iconbutton/filled-icon-button.d.ts +1 -1
  217. package/iconbutton/filled-icon-button.js +3 -3
  218. package/iconbutton/filled-icon-button.js.map +1 -1
  219. package/iconbutton/filled-tonal-icon-button.d.ts +1 -1
  220. package/iconbutton/filled-tonal-icon-button.js +3 -3
  221. package/iconbutton/filled-tonal-icon-button.js.map +1 -1
  222. package/iconbutton/harness.d.ts +1 -1
  223. package/iconbutton/harness.js.map +1 -1
  224. package/iconbutton/icon-button.d.ts +34 -0
  225. package/iconbutton/icon-button.js +39 -0
  226. package/iconbutton/icon-button.js.map +1 -0
  227. package/iconbutton/internal/_filled-icon-button.scss +171 -0
  228. package/iconbutton/internal/_filled-tonal-icon-button.scss +173 -0
  229. package/iconbutton/internal/_icon-button.scss +117 -0
  230. package/iconbutton/internal/_outlined-icon-button.scss +178 -0
  231. package/iconbutton/internal/_shared.scss +103 -0
  232. package/iconbutton/internal/filled-styles.css.js +9 -0
  233. package/iconbutton/internal/filled-styles.css.js.map +1 -0
  234. package/iconbutton/internal/filled-tonal-styles.css.js +9 -0
  235. package/iconbutton/internal/filled-tonal-styles.css.js.map +1 -0
  236. package/iconbutton/internal/icon-button.d.ts +68 -0
  237. package/iconbutton/internal/icon-button.js +181 -0
  238. package/iconbutton/internal/icon-button.js.map +1 -0
  239. package/iconbutton/internal/outlined-styles.css.js +9 -0
  240. package/iconbutton/internal/outlined-styles.css.js.map +1 -0
  241. package/iconbutton/internal/shared-styles.css.js +9 -0
  242. package/iconbutton/internal/shared-styles.css.js.map +1 -0
  243. package/iconbutton/internal/standard-styles.css.js +9 -0
  244. package/iconbutton/internal/standard-styles.css.js.map +1 -0
  245. package/iconbutton/internal/standard-styles.scss +10 -0
  246. package/iconbutton/outlined-icon-button.d.ts +1 -1
  247. package/iconbutton/outlined-icon-button.js +3 -3
  248. package/iconbutton/outlined-icon-button.js.map +1 -1
  249. package/internal/aria/delegate.d.ts +1 -1
  250. package/internal/aria/delegate.js +1 -1
  251. package/internal/aria/delegate.js.map +1 -1
  252. package/internal/controller/element-internals.d.ts +35 -0
  253. package/internal/controller/element-internals.js +24 -0
  254. package/internal/controller/element-internals.js.map +1 -0
  255. package/internal/controller/form-submitter.d.ts +60 -0
  256. package/internal/controller/form-submitter.js +69 -0
  257. package/internal/controller/form-submitter.js.map +1 -0
  258. package/labs/badge/_badge.scss +1 -1
  259. package/labs/badge/badge.d.ts +1 -1
  260. package/labs/badge/badge.js +2 -2
  261. package/labs/badge/badge.js.map +1 -1
  262. package/labs/navigationbar/_navigation-bar.scss +1 -1
  263. package/labs/navigationbar/harness.d.ts +1 -1
  264. package/labs/navigationbar/harness.js.map +1 -1
  265. package/labs/navigationbar/internal/constants.d.ts +17 -0
  266. package/labs/navigationbar/internal/constants.js.map +1 -0
  267. package/labs/navigationbar/internal/navigation-bar.d.ts +27 -0
  268. package/labs/navigationbar/internal/navigation-bar.js +138 -0
  269. package/labs/navigationbar/internal/navigation-bar.js.map +1 -0
  270. package/labs/navigationbar/internal/state.d.ts +23 -0
  271. package/labs/navigationbar/internal/state.js.map +1 -0
  272. package/labs/navigationbar/navigation-bar.d.ts +1 -1
  273. package/labs/navigationbar/navigation-bar.js +2 -2
  274. package/labs/navigationbar/navigation-bar.js.map +1 -1
  275. package/labs/navigationdrawer/_navigation-drawer-modal.scss +1 -1
  276. package/labs/navigationdrawer/_navigation-drawer.scss +1 -1
  277. package/labs/navigationdrawer/internal/navigation-drawer-modal.js +81 -0
  278. package/labs/navigationdrawer/internal/navigation-drawer-modal.js.map +1 -0
  279. package/labs/navigationdrawer/internal/navigation-drawer.js +64 -0
  280. package/labs/navigationdrawer/internal/navigation-drawer.js.map +1 -0
  281. package/labs/navigationdrawer/navigation-drawer-modal.d.ts +1 -1
  282. package/labs/navigationdrawer/navigation-drawer-modal.js +3 -3
  283. package/labs/navigationdrawer/navigation-drawer-modal.js.map +1 -1
  284. package/labs/navigationdrawer/navigation-drawer.d.ts +1 -1
  285. package/labs/navigationdrawer/navigation-drawer.js +3 -3
  286. package/labs/navigationdrawer/navigation-drawer.js.map +1 -1
  287. package/labs/navigationtab/_navigation-tab.scss +1 -1
  288. package/labs/navigationtab/harness.d.ts +1 -1
  289. package/labs/navigationtab/harness.js.map +1 -1
  290. package/labs/navigationtab/internal/_navigation-tab.scss +259 -0
  291. package/labs/navigationtab/internal/navigation-tab-styles.css.js +9 -0
  292. package/labs/navigationtab/internal/navigation-tab-styles.css.js.map +1 -0
  293. package/labs/navigationtab/internal/navigation-tab.d.ts +30 -0
  294. package/labs/navigationtab/internal/navigation-tab.js +117 -0
  295. package/labs/navigationtab/internal/navigation-tab.js.map +1 -0
  296. package/labs/navigationtab/navigation-tab.d.ts +1 -1
  297. package/labs/navigationtab/navigation-tab.js +2 -2
  298. package/labs/navigationtab/navigation-tab.js.map +1 -1
  299. package/labs/segmentedbutton/internal/outlined-styles.css.js +9 -0
  300. package/labs/segmentedbutton/internal/outlined-styles.css.js.map +1 -0
  301. package/labs/segmentedbutton/internal/segmented-button.d.ts +44 -0
  302. package/labs/segmentedbutton/internal/segmented-button.js +157 -0
  303. package/labs/segmentedbutton/internal/segmented-button.js.map +1 -0
  304. package/labs/segmentedbutton/outlined-segmented-button.d.ts +1 -1
  305. package/labs/segmentedbutton/outlined-segmented-button.js +3 -3
  306. package/labs/segmentedbutton/outlined-segmented-button.js.map +1 -1
  307. package/labs/segmentedbuttonset/internal/outlined-styles.css.js +9 -0
  308. package/labs/segmentedbuttonset/internal/outlined-styles.css.js.map +1 -0
  309. package/labs/segmentedbuttonset/internal/segmented-button-set.d.ts +26 -0
  310. package/labs/segmentedbuttonset/internal/segmented-button-set.js +108 -0
  311. package/labs/segmentedbuttonset/internal/segmented-button-set.js.map +1 -0
  312. package/labs/segmentedbuttonset/outlined-segmented-button-set.d.ts +1 -1
  313. package/labs/segmentedbuttonset/outlined-segmented-button-set.js +3 -3
  314. package/labs/segmentedbuttonset/outlined-segmented-button-set.js.map +1 -1
  315. package/list/_list-item.scss +1 -1
  316. package/list/_list.scss +1 -1
  317. package/list/harness.d.ts +3 -3
  318. package/list/harness.js +2 -2
  319. package/list/harness.js.map +1 -1
  320. package/list/internal/list.d.ts +135 -0
  321. package/list/internal/list.js +303 -0
  322. package/list/internal/list.js.map +1 -0
  323. package/list/internal/listitem/_list-item.scss +394 -0
  324. package/list/internal/listitem/list-item-styles.css.js +9 -0
  325. package/list/internal/listitem/list-item-styles.css.js.map +1 -0
  326. package/list/internal/listitem/list-item.d.ts +145 -0
  327. package/list/internal/listitem/list-item.js +263 -0
  328. package/list/internal/listitem/list-item.js.map +1 -0
  329. package/list/list-item.d.ts +2 -2
  330. package/list/list-item.js +3 -3
  331. package/list/list-item.js.map +1 -1
  332. package/list/list.d.ts +1 -1
  333. package/list/list.js +2 -2
  334. package/list/list.js.map +1 -1
  335. package/menu/_menu-item.scss +1 -1
  336. package/menu/_menu.scss +1 -1
  337. package/menu/harness.d.ts +3 -3
  338. package/menu/harness.js +2 -2
  339. package/menu/harness.js.map +1 -1
  340. package/menu/internal/_menu.scss +105 -0
  341. package/menu/internal/menu-styles.css.js +9 -0
  342. package/menu/internal/menu-styles.css.js.map +1 -0
  343. package/menu/internal/menu.d.ts +225 -0
  344. package/menu/internal/menu.js +672 -0
  345. package/menu/internal/menu.js.map +1 -0
  346. package/menu/internal/menuitem/_menu-item.scss +60 -0
  347. package/menu/internal/menuitem/forced-colors-styles.css.js +9 -0
  348. package/menu/internal/menuitem/forced-colors-styles.css.js.map +1 -0
  349. package/menu/internal/menuitem/forced-colors-styles.scss +22 -0
  350. package/menu/internal/menuitem/harness.d.ts +11 -0
  351. package/menu/internal/menuitem/harness.js +12 -0
  352. package/menu/internal/menuitem/harness.js.map +1 -0
  353. package/menu/internal/menuitem/menu-item-styles.css.js +9 -0
  354. package/menu/internal/menuitem/menu-item-styles.css.js.map +1 -0
  355. package/menu/internal/menuitem/menu-item.d.ts +37 -0
  356. package/menu/internal/menuitem/menu-item.js +65 -0
  357. package/menu/internal/menuitem/menu-item.js.map +1 -0
  358. package/menu/internal/shared.d.ts +185 -0
  359. package/menu/internal/shared.js +131 -0
  360. package/menu/internal/shared.js.map +1 -0
  361. package/menu/internal/submenuitem/harness.d.ts +11 -0
  362. package/menu/internal/submenuitem/harness.js +12 -0
  363. package/menu/internal/submenuitem/harness.js.map +1 -0
  364. package/menu/internal/submenuitem/sub-menu-item.d.ts +109 -0
  365. package/menu/internal/submenuitem/sub-menu-item.js +308 -0
  366. package/menu/internal/submenuitem/sub-menu-item.js.map +1 -0
  367. package/menu/internal/typeaheadController.d.ts +157 -0
  368. package/menu/internal/typeaheadController.js +252 -0
  369. package/menu/internal/typeaheadController.js.map +1 -0
  370. package/menu/menu-item.d.ts +3 -3
  371. package/menu/menu-item.js +5 -6
  372. package/menu/menu-item.js.map +1 -1
  373. package/menu/menu.d.ts +4 -4
  374. package/menu/menu.js +3 -4
  375. package/menu/menu.js.map +1 -1
  376. package/menu/sub-menu-item.d.ts +3 -3
  377. package/menu/sub-menu-item.js +5 -6
  378. package/menu/sub-menu-item.js.map +1 -1
  379. package/package.json +3 -4
  380. package/progress/_circular-progress.scss +6 -0
  381. package/progress/_linear-progress.scss +6 -0
  382. package/progress/circular-progress.d.ts +24 -0
  383. package/progress/circular-progress.js +27 -0
  384. package/progress/circular-progress.js.map +1 -0
  385. package/progress/harness.d.ts +20 -0
  386. package/progress/harness.js +27 -0
  387. package/progress/harness.js.map +1 -0
  388. package/progress/internal/_circular-progress.scss +285 -0
  389. package/progress/internal/_linear-progress.scss +379 -0
  390. package/progress/internal/circular-progress-styles.css.js +9 -0
  391. package/progress/internal/circular-progress-styles.css.js.map +1 -0
  392. package/progress/internal/circular-progress.d.ts +14 -0
  393. package/progress/internal/circular-progress.js +49 -0
  394. package/progress/internal/circular-progress.js.map +1 -0
  395. package/progress/internal/linear-progress-styles.css.js +9 -0
  396. package/progress/internal/linear-progress-styles.css.js.map +1 -0
  397. package/progress/internal/linear-progress.d.ts +27 -0
  398. package/progress/internal/linear-progress.js +91 -0
  399. package/progress/internal/linear-progress.js.map +1 -0
  400. package/progress/internal/progress.d.ts +34 -0
  401. package/progress/internal/progress.js +70 -0
  402. package/progress/internal/progress.js.map +1 -0
  403. package/progress/linear-progress.d.ts +23 -0
  404. package/progress/linear-progress.js +26 -0
  405. package/progress/linear-progress.js.map +1 -0
  406. package/radio/_radio.scss +1 -1
  407. package/radio/harness.d.ts +1 -1
  408. package/radio/harness.js.map +1 -1
  409. package/radio/internal/_radio.scss +185 -0
  410. package/radio/internal/forced-colors-styles.css.js +9 -0
  411. package/radio/internal/forced-colors-styles.css.js.map +1 -0
  412. package/radio/internal/forced-colors-styles.scss +29 -0
  413. package/radio/internal/radio-styles.css.js +9 -0
  414. package/radio/internal/radio-styles.css.js.map +1 -0
  415. package/radio/internal/radio.d.ts +58 -0
  416. package/radio/internal/radio.js +159 -0
  417. package/radio/internal/radio.js.map +1 -0
  418. package/radio/internal/single-selection-controller.js +196 -0
  419. package/radio/internal/single-selection-controller.js.map +1 -0
  420. package/radio/radio.d.ts +1 -1
  421. package/radio/radio.js +3 -3
  422. package/radio/radio.js.map +1 -1
  423. package/ripple/_ripple.scss +1 -1
  424. package/ripple/internal/ripple.js +397 -0
  425. package/ripple/internal/ripple.js.map +1 -0
  426. package/ripple/ripple.d.ts +1 -1
  427. package/ripple/ripple.js +2 -2
  428. package/ripple/ripple.js.map +1 -1
  429. package/select/_filled-select.scss +1 -1
  430. package/select/_outlined-select.scss +1 -1
  431. package/select/filled-select.d.ts +1 -1
  432. package/select/filled-select.js +4 -4
  433. package/select/filled-select.js.map +1 -1
  434. package/select/harness.d.ts +3 -3
  435. package/select/harness.js +1 -1
  436. package/select/harness.js.map +1 -1
  437. package/select/internal/_filled-select.scss +222 -0
  438. package/select/internal/_outlined-select.scss +180 -0
  439. package/select/internal/_shared.scss +82 -0
  440. package/select/internal/filled-select-styles.css.js +9 -0
  441. package/select/internal/filled-select-styles.css.js.map +1 -0
  442. package/select/internal/outlined-select-styles.css.js +9 -0
  443. package/select/internal/outlined-select-styles.css.js.map +1 -0
  444. package/select/internal/select.d.ts +201 -0
  445. package/select/internal/select.js +550 -0
  446. package/select/internal/select.js.map +1 -0
  447. package/select/internal/selectoption/harness.d.ts +11 -0
  448. package/select/internal/selectoption/harness.js +12 -0
  449. package/select/internal/selectoption/harness.js.map +1 -0
  450. package/select/internal/selectoption/select-option.d.ts +28 -0
  451. package/select/internal/selectoption/select-option.js +70 -0
  452. package/select/internal/selectoption/select-option.js.map +1 -0
  453. package/select/internal/shared-styles.css.js +9 -0
  454. package/select/internal/shared-styles.css.js.map +1 -0
  455. package/select/internal/shared.d.ts +48 -0
  456. package/select/internal/shared.js +43 -0
  457. package/select/internal/shared.js.map +1 -0
  458. package/select/outlined-select.d.ts +1 -1
  459. package/select/outlined-select.js +4 -4
  460. package/select/outlined-select.js.map +1 -1
  461. package/select/select-option.d.ts +1 -1
  462. package/select/select-option.js +5 -5
  463. package/select/select-option.js.map +1 -1
  464. package/slider/_slider.scss +1 -1
  465. package/slider/harness.d.ts +1 -1
  466. package/slider/harness.js.map +1 -1
  467. package/slider/internal/_slider.scss +478 -0
  468. package/slider/internal/slider-styles.css.js +9 -0
  469. package/slider/internal/slider-styles.css.js.map +1 -0
  470. package/slider/internal/slider.d.ts +173 -0
  471. package/slider/internal/slider.js +621 -0
  472. package/slider/internal/slider.js.map +1 -0
  473. package/slider/slider.d.ts +1 -1
  474. package/slider/slider.js +3 -3
  475. package/slider/slider.js.map +1 -1
  476. package/switch/_switch.scss +1 -1
  477. package/switch/harness.d.ts +1 -1
  478. package/switch/harness.js.map +1 -1
  479. package/switch/internal/_handle.scss +159 -0
  480. package/switch/internal/_icon.scss +92 -0
  481. package/switch/internal/_switch.scss +154 -0
  482. package/switch/internal/_track.scss +91 -0
  483. package/switch/internal/forced-colors-styles.css.js +9 -0
  484. package/switch/internal/forced-colors-styles.css.js.map +1 -0
  485. package/switch/internal/forced-colors-styles.scss +41 -0
  486. package/switch/internal/switch-styles.css.js +9 -0
  487. package/switch/internal/switch-styles.css.js.map +1 -0
  488. package/switch/internal/switch.d.ts +79 -0
  489. package/switch/internal/switch.js +208 -0
  490. package/switch/internal/switch.js.map +1 -0
  491. package/switch/switch.d.ts +1 -1
  492. package/switch/switch.js +3 -3
  493. package/switch/switch.js.map +1 -1
  494. package/tabs/_tab.scss +1 -1
  495. package/tabs/harness.d.ts +2 -2
  496. package/tabs/harness.js.map +1 -1
  497. package/tabs/internal/_tab.scss +295 -0
  498. package/tabs/internal/_tabs.scss +45 -0
  499. package/tabs/internal/tab-styles.css.js +9 -0
  500. package/tabs/internal/tab-styles.css.js.map +1 -0
  501. package/tabs/internal/tab.d.ts +62 -0
  502. package/tabs/internal/tab.js +161 -0
  503. package/tabs/internal/tab.js.map +1 -0
  504. package/tabs/internal/tabs.d.ts +88 -0
  505. package/tabs/internal/tabs.js +307 -0
  506. package/tabs/internal/tabs.js.map +1 -0
  507. package/tabs/tab.d.ts +2 -2
  508. package/tabs/tab.js +2 -2
  509. package/tabs/tab.js.map +1 -1
  510. package/tabs/tabs.d.ts +2 -2
  511. package/tabs/tabs.js +2 -2
  512. package/tabs/tabs.js.map +1 -1
  513. package/textfield/_filled-text-field.scss +1 -1
  514. package/textfield/_outlined-text-field.scss +1 -1
  515. package/textfield/filled-text-field.d.ts +2 -2
  516. package/textfield/filled-text-field.js +4 -4
  517. package/textfield/filled-text-field.js.map +1 -1
  518. package/textfield/harness.d.ts +5 -5
  519. package/textfield/harness.js +5 -1
  520. package/textfield/harness.js.map +1 -1
  521. package/textfield/internal/_filled-text-field.scss +194 -0
  522. package/textfield/internal/_input.scss +72 -0
  523. package/textfield/internal/_outlined-text-field.scss +167 -0
  524. package/textfield/internal/_shared.scss +47 -0
  525. package/textfield/internal/filled-styles.css.js +9 -0
  526. package/textfield/internal/filled-styles.css.js.map +1 -0
  527. package/textfield/internal/outlined-styles.css.js +9 -0
  528. package/textfield/internal/outlined-styles.css.js.map +1 -0
  529. package/textfield/internal/shared-styles.css.js +9 -0
  530. package/textfield/internal/shared-styles.css.js.map +1 -0
  531. package/textfield/internal/text-field.d.ts +326 -0
  532. package/textfield/internal/text-field.js +702 -0
  533. package/textfield/internal/text-field.js.map +1 -0
  534. package/textfield/outlined-text-field.d.ts +2 -2
  535. package/textfield/outlined-text-field.js +4 -4
  536. package/textfield/outlined-text-field.js.map +1 -1
  537. package/tokens/_index.scss +1 -0
  538. package/tokens/_md-comp-checkbox.scss +58 -34
  539. package/tokens/_md-comp-dialog.scss +2 -1
  540. package/tokens/_md-comp-elevated-button.scss +14 -12
  541. package/tokens/_md-comp-filled-button.scss +14 -12
  542. package/tokens/_md-comp-filled-field.scss +18 -11
  543. package/tokens/_md-comp-filled-icon-button.scss +23 -8
  544. package/tokens/_md-comp-filled-select.scss +19 -1
  545. package/tokens/_md-comp-filled-text-field.scss +2 -1
  546. package/tokens/_md-comp-filled-tonal-button.scss +14 -12
  547. package/tokens/_md-comp-filled-tonal-icon-button.scss +23 -8
  548. package/tokens/_md-comp-icon-button.scss +24 -11
  549. package/tokens/_md-comp-icon.scss +32 -0
  550. package/tokens/_md-comp-list-item.scss +1 -1
  551. package/tokens/_md-comp-outlined-button.scss +14 -12
  552. package/tokens/_md-comp-outlined-field.scss +14 -8
  553. package/tokens/_md-comp-outlined-icon-button.scss +26 -12
  554. package/tokens/_md-comp-outlined-segmented-button.scss +2 -2
  555. package/tokens/_md-comp-outlined-text-field.scss +2 -1
  556. package/tokens/_md-comp-radio-button.scss +20 -9
  557. package/tokens/_md-comp-switch.scss +66 -32
  558. package/tokens/_md-comp-text-button.scss +14 -12
  559. package/button/_tonal-button.scss +0 -6
  560. package/button/lib/_elevation.scss +0 -68
  561. package/button/lib/_icon.scss +0 -42
  562. package/button/lib/_outlined-button.scss +0 -107
  563. package/button/lib/_shared.scss +0 -162
  564. package/button/lib/_tonal-button.scss +0 -61
  565. package/button/lib/_touch-target.scss +0 -18
  566. package/button/lib/button.d.ts +0 -71
  567. package/button/lib/button.js +0 -190
  568. package/button/lib/button.js.map +0 -1
  569. package/button/lib/elevated-button.d.ts +0 -18
  570. package/button/lib/elevated-button.js +0 -23
  571. package/button/lib/elevated-button.js.map +0 -1
  572. package/button/lib/elevated-styles.css.js +0 -9
  573. package/button/lib/elevated-styles.css.js.map +0 -1
  574. package/button/lib/filled-button.d.ts +0 -18
  575. package/button/lib/filled-button.js +0 -23
  576. package/button/lib/filled-button.js.map +0 -1
  577. package/button/lib/filled-styles.css.js +0 -9
  578. package/button/lib/filled-styles.css.js.map +0 -1
  579. package/button/lib/outlined-button.d.ts +0 -17
  580. package/button/lib/outlined-button.js +0 -22
  581. package/button/lib/outlined-button.js.map +0 -1
  582. package/button/lib/outlined-styles.css.js +0 -9
  583. package/button/lib/outlined-styles.css.js.map +0 -1
  584. package/button/lib/shared-elevation-styles.css.js +0 -9
  585. package/button/lib/shared-elevation-styles.css.js.map +0 -1
  586. package/button/lib/shared-styles.css.js +0 -9
  587. package/button/lib/shared-styles.css.js.map +0 -1
  588. package/button/lib/text-button.d.ts +0 -16
  589. package/button/lib/text-button.js +0 -18
  590. package/button/lib/text-button.js.map +0 -1
  591. package/button/lib/text-styles.css.js +0 -9
  592. package/button/lib/text-styles.css.js.map +0 -1
  593. package/button/lib/tonal-button.d.ts +0 -18
  594. package/button/lib/tonal-button.js +0 -23
  595. package/button/lib/tonal-button.js.map +0 -1
  596. package/button/lib/tonal-styles.css.js +0 -9
  597. package/button/lib/tonal-styles.css.js.map +0 -1
  598. package/button/lib/tonal-styles.scss +0 -10
  599. package/button/tonal-button.d.ts +0 -35
  600. package/button/tonal-button.js +0 -40
  601. package/button/tonal-button.js.map +0 -1
  602. package/checkbox/lib/_checkbox.scss +0 -451
  603. package/checkbox/lib/checkbox-styles.css.js +0 -9
  604. package/checkbox/lib/checkbox-styles.css.js.map +0 -1
  605. package/checkbox/lib/checkbox.d.ts +0 -66
  606. package/checkbox/lib/checkbox.js +0 -187
  607. package/checkbox/lib/checkbox.js.map +0 -1
  608. package/checkbox/lib/forced-colors-styles.css.js +0 -9
  609. package/checkbox/lib/forced-colors-styles.css.js.map +0 -1
  610. package/checkbox/lib/forced-colors-styles.scss +0 -49
  611. package/chips/lib/_shared.scss +0 -190
  612. package/chips/lib/_trailing-icon.scss +0 -78
  613. package/chips/lib/chip-set.js +0 -165
  614. package/chips/lib/chip-set.js.map +0 -1
  615. package/chips/lib/chip.d.ts +0 -45
  616. package/chips/lib/chip.js +0 -95
  617. package/chips/lib/chip.js.map +0 -1
  618. package/chips/lib/filter-chip.d.ts +0 -32
  619. package/chips/lib/filter-chip.js +0 -103
  620. package/chips/lib/filter-chip.js.map +0 -1
  621. package/chips/lib/shared-styles.css.js +0 -9
  622. package/chips/lib/shared-styles.css.js.map +0 -1
  623. package/chips/lib/trailing-icon-styles.css.js +0 -9
  624. package/chips/lib/trailing-icon-styles.css.js.map +0 -1
  625. package/chips/lib/trailing-icons.d.ts +0 -15
  626. package/chips/lib/trailing-icons.js +0 -38
  627. package/chips/lib/trailing-icons.js.map +0 -1
  628. package/circularprogress/_circular-progress.scss +0 -6
  629. package/circularprogress/circular-progress.d.ts +0 -24
  630. package/circularprogress/circular-progress.js +0 -27
  631. package/circularprogress/circular-progress.js.map +0 -1
  632. package/circularprogress/harness.d.ts +0 -13
  633. package/circularprogress/harness.js +0 -16
  634. package/circularprogress/harness.js.map +0 -1
  635. package/circularprogress/lib/_circular-progress.scss +0 -288
  636. package/circularprogress/lib/circular-progress-styles.css.js +0 -9
  637. package/circularprogress/lib/circular-progress-styles.css.js.map +0 -1
  638. package/circularprogress/lib/circular-progress.d.ts +0 -27
  639. package/circularprogress/lib/circular-progress.js +0 -94
  640. package/circularprogress/lib/circular-progress.js.map +0 -1
  641. package/dialog/lib/_dialog.scss +0 -376
  642. package/dialog/lib/_tokens.scss +0 -68
  643. package/dialog/lib/dialog-styles.css.js +0 -9
  644. package/dialog/lib/dialog-styles.css.js.map +0 -1
  645. package/dialog/lib/dialog.d.ts +0 -196
  646. package/dialog/lib/dialog.js +0 -561
  647. package/dialog/lib/dialog.js.map +0 -1
  648. package/fab/lib/_fab.scss +0 -253
  649. package/fab/lib/_shared.scss +0 -222
  650. package/fab/lib/fab-styles.css.js +0 -9
  651. package/fab/lib/fab-styles.css.js.map +0 -1
  652. package/fab/lib/fab.d.ts +0 -26
  653. package/fab/lib/fab.js.map +0 -1
  654. package/fab/lib/forced-colors-styles.css.js +0 -9
  655. package/fab/lib/forced-colors-styles.css.js.map +0 -1
  656. package/fab/lib/forced-colors-styles.scss +0 -26
  657. package/fab/lib/shared-styles.css.js +0 -9
  658. package/fab/lib/shared-styles.css.js.map +0 -1
  659. package/fab/lib/shared.d.ts +0 -55
  660. package/fab/lib/shared.js +0 -120
  661. package/fab/lib/shared.js.map +0 -1
  662. package/field/lib/_content.scss +0 -175
  663. package/field/lib/_filled-field.scss +0 -189
  664. package/field/lib/_label.scss +0 -74
  665. package/field/lib/_outlined-field.scss +0 -313
  666. package/field/lib/_shared.scss +0 -65
  667. package/field/lib/_supporting-text.scss +0 -46
  668. package/field/lib/field.d.ts +0 -65
  669. package/field/lib/field.js +0 -321
  670. package/field/lib/field.js.map +0 -1
  671. package/field/lib/filled-styles.css.js +0 -9
  672. package/field/lib/filled-styles.css.js.map +0 -1
  673. package/field/lib/outlined-styles.css.js +0 -9
  674. package/field/lib/outlined-styles.css.js.map +0 -1
  675. package/field/lib/shared-styles.css.js +0 -9
  676. package/field/lib/shared-styles.css.js.map +0 -1
  677. package/focus/focus-ring.d.ts +0 -20
  678. package/focus/focus-ring.js +0 -23
  679. package/focus/focus-ring.js.map +0 -1
  680. package/focus/lib/_focus-ring.scss +0 -129
  681. package/focus/lib/focus-ring-styles.css.js +0 -9
  682. package/focus/lib/focus-ring-styles.css.js.map +0 -1
  683. package/focus/lib/focus-ring.d.ts +0 -34
  684. package/focus/lib/focus-ring.js +0 -79
  685. package/focus/lib/focus-ring.js.map +0 -1
  686. package/icon/lib/_icon.scss +0 -61
  687. package/icon/lib/_md-comp-icon.scss +0 -18
  688. package/icon/lib/icon-styles.css.js +0 -9
  689. package/icon/lib/icon-styles.css.js.map +0 -1
  690. package/icon/lib/icon.d.ts +0 -12
  691. package/icon/lib/icon.js +0 -15
  692. package/icon/lib/icon.js.map +0 -1
  693. package/iconbutton/_standard-icon-button.scss +0 -6
  694. package/iconbutton/lib/_filled-icon-button.scss +0 -169
  695. package/iconbutton/lib/_filled-tonal-icon-button.scss +0 -171
  696. package/iconbutton/lib/_outlined-icon-button.scss +0 -178
  697. package/iconbutton/lib/_shared.scss +0 -104
  698. package/iconbutton/lib/_standard-icon-button.scss +0 -112
  699. package/iconbutton/lib/filled-styles.css.js +0 -9
  700. package/iconbutton/lib/filled-styles.css.js.map +0 -1
  701. package/iconbutton/lib/filled-tonal-styles.css.js +0 -9
  702. package/iconbutton/lib/filled-tonal-styles.css.js.map +0 -1
  703. package/iconbutton/lib/icon-button.d.ts +0 -59
  704. package/iconbutton/lib/icon-button.js +0 -166
  705. package/iconbutton/lib/icon-button.js.map +0 -1
  706. package/iconbutton/lib/outlined-styles.css.js +0 -9
  707. package/iconbutton/lib/outlined-styles.css.js.map +0 -1
  708. package/iconbutton/lib/shared-styles.css.js +0 -9
  709. package/iconbutton/lib/shared-styles.css.js.map +0 -1
  710. package/iconbutton/lib/standard-styles.css.js +0 -9
  711. package/iconbutton/lib/standard-styles.css.js.map +0 -1
  712. package/iconbutton/lib/standard-styles.scss +0 -10
  713. package/iconbutton/standard-icon-button.d.ts +0 -34
  714. package/iconbutton/standard-icon-button.js +0 -39
  715. package/iconbutton/standard-icon-button.js.map +0 -1
  716. package/labs/navigationbar/lib/constants.d.ts +0 -17
  717. package/labs/navigationbar/lib/constants.js.map +0 -1
  718. package/labs/navigationbar/lib/navigation-bar.d.ts +0 -27
  719. package/labs/navigationbar/lib/navigation-bar.js +0 -140
  720. package/labs/navigationbar/lib/navigation-bar.js.map +0 -1
  721. package/labs/navigationbar/lib/state.d.ts +0 -23
  722. package/labs/navigationbar/lib/state.js.map +0 -1
  723. package/labs/navigationdrawer/lib/navigation-drawer-modal.js +0 -83
  724. package/labs/navigationdrawer/lib/navigation-drawer-modal.js.map +0 -1
  725. package/labs/navigationdrawer/lib/navigation-drawer.js +0 -66
  726. package/labs/navigationdrawer/lib/navigation-drawer.js.map +0 -1
  727. package/labs/navigationtab/lib/_navigation-tab.scss +0 -257
  728. package/labs/navigationtab/lib/navigation-tab-styles.css.js +0 -9
  729. package/labs/navigationtab/lib/navigation-tab-styles.css.js.map +0 -1
  730. package/labs/navigationtab/lib/navigation-tab.d.ts +0 -30
  731. package/labs/navigationtab/lib/navigation-tab.js +0 -119
  732. package/labs/navigationtab/lib/navigation-tab.js.map +0 -1
  733. package/labs/segmentedbutton/lib/outlined-styles.css.js +0 -9
  734. package/labs/segmentedbutton/lib/outlined-styles.css.js.map +0 -1
  735. package/labs/segmentedbutton/lib/segmented-button.d.ts +0 -44
  736. package/labs/segmentedbutton/lib/segmented-button.js +0 -159
  737. package/labs/segmentedbutton/lib/segmented-button.js.map +0 -1
  738. package/labs/segmentedbuttonset/lib/outlined-styles.css.js +0 -9
  739. package/labs/segmentedbuttonset/lib/outlined-styles.css.js.map +0 -1
  740. package/labs/segmentedbuttonset/lib/segmented-button-set.d.ts +0 -26
  741. package/labs/segmentedbuttonset/lib/segmented-button-set.js +0 -110
  742. package/labs/segmentedbuttonset/lib/segmented-button-set.js.map +0 -1
  743. package/linearprogress/_linear-progress.scss +0 -6
  744. package/linearprogress/harness.d.ts +0 -13
  745. package/linearprogress/harness.js +0 -18
  746. package/linearprogress/harness.js.map +0 -1
  747. package/linearprogress/lib/_linear-progress.scss +0 -386
  748. package/linearprogress/lib/linear-progress-styles.css.js +0 -9
  749. package/linearprogress/lib/linear-progress-styles.css.js.map +0 -1
  750. package/linearprogress/lib/linear-progress.d.ts +0 -35
  751. package/linearprogress/lib/linear-progress.js +0 -127
  752. package/linearprogress/lib/linear-progress.js.map +0 -1
  753. package/linearprogress/linear-progress.d.ts +0 -23
  754. package/linearprogress/linear-progress.js +0 -26
  755. package/linearprogress/linear-progress.js.map +0 -1
  756. package/list/lib/list.d.ts +0 -135
  757. package/list/lib/list.js +0 -305
  758. package/list/lib/list.js.map +0 -1
  759. package/list/lib/listitem/_list-item.scss +0 -424
  760. package/list/lib/listitem/list-item-styles.css.js +0 -9
  761. package/list/lib/listitem/list-item-styles.css.js.map +0 -1
  762. package/list/lib/listitem/list-item.d.ts +0 -133
  763. package/list/lib/listitem/list-item.js +0 -230
  764. package/list/lib/listitem/list-item.js.map +0 -1
  765. package/list/lib/listitemlink/list-item-link-only.d.ts +0 -23
  766. package/list/lib/listitemlink/list-item-link-only.js +0 -36
  767. package/list/lib/listitemlink/list-item-link-only.js.map +0 -1
  768. package/list/lib/listitemlink/list-item-link.d.ts +0 -18
  769. package/list/lib/listitemlink/list-item-link.js +0 -42
  770. package/list/lib/listitemlink/list-item-link.js.map +0 -1
  771. package/list/list-item-link.d.ts +0 -53
  772. package/list/list-item-link.js +0 -57
  773. package/list/list-item-link.js.map +0 -1
  774. package/menu/lib/_menu.scss +0 -103
  775. package/menu/lib/menu-styles.css.js +0 -9
  776. package/menu/lib/menu-styles.css.js.map +0 -1
  777. package/menu/lib/menu.d.ts +0 -225
  778. package/menu/lib/menu.js +0 -673
  779. package/menu/lib/menu.js.map +0 -1
  780. package/menu/lib/menuitem/_menu-item.scss +0 -60
  781. package/menu/lib/menuitem/forced-colors-styles.css.js +0 -9
  782. package/menu/lib/menuitem/forced-colors-styles.css.js.map +0 -1
  783. package/menu/lib/menuitem/forced-colors-styles.scss +0 -22
  784. package/menu/lib/menuitem/harness.d.ts +0 -11
  785. package/menu/lib/menuitem/harness.js +0 -12
  786. package/menu/lib/menuitem/harness.js.map +0 -1
  787. package/menu/lib/menuitem/menu-item-styles.css.js +0 -9
  788. package/menu/lib/menuitem/menu-item-styles.css.js.map +0 -1
  789. package/menu/lib/menuitem/menu-item.d.ts +0 -28
  790. package/menu/lib/menuitem/menu-item.js +0 -51
  791. package/menu/lib/menuitem/menu-item.js.map +0 -1
  792. package/menu/lib/menuitemlink/menu-item-link.d.ts +0 -23
  793. package/menu/lib/menuitemlink/menu-item-link.js +0 -49
  794. package/menu/lib/menuitemlink/menu-item-link.js.map +0 -1
  795. package/menu/lib/shared.d.ts +0 -178
  796. package/menu/lib/shared.js +0 -142
  797. package/menu/lib/shared.js.map +0 -1
  798. package/menu/lib/submenuitem/harness.d.ts +0 -11
  799. package/menu/lib/submenuitem/harness.js +0 -12
  800. package/menu/lib/submenuitem/harness.js.map +0 -1
  801. package/menu/lib/submenuitem/sub-menu-item.d.ts +0 -99
  802. package/menu/lib/submenuitem/sub-menu-item.js +0 -293
  803. package/menu/lib/submenuitem/sub-menu-item.js.map +0 -1
  804. package/menu/lib/typeaheadController.d.ts +0 -157
  805. package/menu/lib/typeaheadController.js +0 -252
  806. package/menu/lib/typeaheadController.js.map +0 -1
  807. package/menu/menu-item-link.d.ts +0 -33
  808. package/menu/menu-item-link.js +0 -38
  809. package/menu/menu-item-link.js.map +0 -1
  810. package/radio/lib/_radio.scss +0 -169
  811. package/radio/lib/forced-colors-styles.css.js +0 -9
  812. package/radio/lib/forced-colors-styles.css.js.map +0 -1
  813. package/radio/lib/forced-colors-styles.scss +0 -29
  814. package/radio/lib/radio-styles.css.js +0 -9
  815. package/radio/lib/radio-styles.css.js.map +0 -1
  816. package/radio/lib/radio.d.ts +0 -57
  817. package/radio/lib/radio.js +0 -154
  818. package/radio/lib/radio.js.map +0 -1
  819. package/radio/lib/single-selection-controller.js +0 -192
  820. package/radio/lib/single-selection-controller.js.map +0 -1
  821. package/ripple/lib/ripple.js +0 -389
  822. package/ripple/lib/ripple.js.map +0 -1
  823. package/select/lib/_filled-select.scss +0 -222
  824. package/select/lib/_outlined-select.scss +0 -180
  825. package/select/lib/_shared.scss +0 -56
  826. package/select/lib/filled-select-styles.css.js +0 -9
  827. package/select/lib/filled-select-styles.css.js.map +0 -1
  828. package/select/lib/outlined-select-styles.css.js +0 -9
  829. package/select/lib/outlined-select-styles.css.js.map +0 -1
  830. package/select/lib/select.d.ts +0 -206
  831. package/select/lib/select.js +0 -553
  832. package/select/lib/select.js.map +0 -1
  833. package/select/lib/selectoption/harness.d.ts +0 -11
  834. package/select/lib/selectoption/harness.js +0 -12
  835. package/select/lib/selectoption/harness.js.map +0 -1
  836. package/select/lib/selectoption/select-option.d.ts +0 -29
  837. package/select/lib/selectoption/select-option.js +0 -71
  838. package/select/lib/selectoption/select-option.js.map +0 -1
  839. package/select/lib/shared-styles.css.js +0 -9
  840. package/select/lib/shared-styles.css.js.map +0 -1
  841. package/select/lib/shared.d.ts +0 -52
  842. package/select/lib/shared.js +0 -41
  843. package/select/lib/shared.js.map +0 -1
  844. package/slider/lib/_slider.scss +0 -476
  845. package/slider/lib/slider-styles.css.js +0 -9
  846. package/slider/lib/slider-styles.css.js.map +0 -1
  847. package/slider/lib/slider.d.ts +0 -173
  848. package/slider/lib/slider.js +0 -623
  849. package/slider/lib/slider.js.map +0 -1
  850. package/switch/lib/_handle.scss +0 -159
  851. package/switch/lib/_icon.scss +0 -92
  852. package/switch/lib/_switch.scss +0 -152
  853. package/switch/lib/_track.scss +0 -91
  854. package/switch/lib/forced-colors-styles.css.d.ts +0 -1
  855. package/switch/lib/forced-colors-styles.css.js +0 -9
  856. package/switch/lib/forced-colors-styles.css.js.map +0 -1
  857. package/switch/lib/forced-colors-styles.scss +0 -41
  858. package/switch/lib/switch-styles.css.js +0 -9
  859. package/switch/lib/switch-styles.css.js.map +0 -1
  860. package/switch/lib/switch.d.ts +0 -79
  861. package/switch/lib/switch.js +0 -210
  862. package/switch/lib/switch.js.map +0 -1
  863. package/tabs/lib/_tab.scss +0 -293
  864. package/tabs/lib/_tabs.scss +0 -44
  865. package/tabs/lib/tab-styles.css.js +0 -9
  866. package/tabs/lib/tab-styles.css.js.map +0 -1
  867. package/tabs/lib/tab.d.ts +0 -68
  868. package/tabs/lib/tab.js +0 -164
  869. package/tabs/lib/tab.js.map +0 -1
  870. package/tabs/lib/tabs.d.ts +0 -91
  871. package/tabs/lib/tabs.js +0 -312
  872. package/tabs/lib/tabs.js.map +0 -1
  873. package/textfield/lib/_filled-text-field.scss +0 -205
  874. package/textfield/lib/_input.scss +0 -61
  875. package/textfield/lib/_outlined-text-field.scss +0 -161
  876. package/textfield/lib/_shared.scss +0 -37
  877. package/textfield/lib/filled-styles.css.js +0 -9
  878. package/textfield/lib/filled-styles.css.js.map +0 -1
  879. package/textfield/lib/outlined-styles.css.js +0 -9
  880. package/textfield/lib/outlined-styles.css.js.map +0 -1
  881. package/textfield/lib/shared-styles.css.js +0 -9
  882. package/textfield/lib/shared-styles.css.js.map +0 -1
  883. package/textfield/lib/text-field.d.ts +0 -320
  884. package/textfield/lib/text-field.js +0 -641
  885. package/textfield/lib/text-field.js.map +0 -1
  886. /package/button/{lib → internal}/_elevated-button.scss +0 -0
  887. /package/button/{lib → internal}/_filled-button.scss +0 -0
  888. /package/button/{lib → internal}/_text-button.scss +0 -0
  889. /package/button/{lib → internal}/elevated-styles.css.d.ts +0 -0
  890. /package/button/{lib → internal}/elevated-styles.scss +0 -0
  891. /package/button/{lib → internal}/filled-styles.css.d.ts +0 -0
  892. /package/button/{lib → internal}/filled-styles.scss +0 -0
  893. /package/{iconbutton/lib → button/internal}/filled-tonal-styles.css.d.ts +0 -0
  894. /package/button/{lib → internal}/outlined-styles.css.d.ts +0 -0
  895. /package/button/{lib → internal}/outlined-styles.scss +0 -0
  896. /package/button/{lib → internal}/shared-elevation-styles.css.d.ts +0 -0
  897. /package/button/{lib → internal}/shared-elevation-styles.scss +0 -0
  898. /package/button/{lib → internal}/shared-styles.css.d.ts +0 -0
  899. /package/button/{lib → internal}/shared-styles.scss +0 -0
  900. /package/button/{lib → internal}/text-styles.css.d.ts +0 -0
  901. /package/button/{lib → internal}/text-styles.scss +0 -0
  902. /package/checkbox/{lib → internal}/checkbox-styles.css.d.ts +0 -0
  903. /package/checkbox/{lib → internal}/checkbox-styles.scss +0 -0
  904. /package/chips/{lib → internal}/_assist-chip.scss +0 -0
  905. /package/chips/{lib → internal}/_chip-set.scss +0 -0
  906. /package/chips/{lib → internal}/_elevated.scss +0 -0
  907. /package/chips/{lib → internal}/_filter-chip.scss +0 -0
  908. /package/chips/{lib → internal}/_input-chip.scss +0 -0
  909. /package/chips/{lib → internal}/_selectable.scss +0 -0
  910. /package/chips/{lib → internal}/_suggestion-chip.scss +0 -0
  911. /package/chips/{lib → internal}/assist-chip.d.ts +0 -0
  912. /package/chips/{lib → internal}/assist-chip.js +0 -0
  913. /package/chips/{lib → internal}/assist-chip.js.map +0 -0
  914. /package/chips/{lib → internal}/assist-forced-colors-styles.css.d.ts +0 -0
  915. /package/chips/{lib → internal}/assist-forced-colors-styles.css.js +0 -0
  916. /package/chips/{lib → internal}/assist-forced-colors-styles.css.js.map +0 -0
  917. /package/chips/{lib → internal}/assist-forced-colors-styles.scss +0 -0
  918. /package/chips/{lib → internal}/assist-styles.css.d.ts +0 -0
  919. /package/chips/{lib → internal}/assist-styles.css.js +0 -0
  920. /package/chips/{lib → internal}/assist-styles.css.js.map +0 -0
  921. /package/chips/{lib → internal}/assist-styles.scss +0 -0
  922. /package/chips/{lib → internal}/chip-set-styles.css.d.ts +0 -0
  923. /package/chips/{lib → internal}/chip-set-styles.css.js +0 -0
  924. /package/chips/{lib → internal}/chip-set-styles.css.js.map +0 -0
  925. /package/chips/{lib → internal}/chip-set-styles.scss +0 -0
  926. /package/chips/{lib → internal}/chip-set.d.ts +0 -0
  927. /package/chips/{lib → internal}/elevated-styles.css.d.ts +0 -0
  928. /package/chips/{lib → internal}/elevated-styles.css.js +0 -0
  929. /package/chips/{lib → internal}/elevated-styles.css.js.map +0 -0
  930. /package/chips/{lib → internal}/elevated-styles.scss +0 -0
  931. /package/chips/{lib → internal}/filter-forced-colors-styles.css.d.ts +0 -0
  932. /package/chips/{lib → internal}/filter-forced-colors-styles.css.js +0 -0
  933. /package/chips/{lib → internal}/filter-forced-colors-styles.css.js.map +0 -0
  934. /package/chips/{lib → internal}/filter-forced-colors-styles.scss +0 -0
  935. /package/chips/{lib → internal}/filter-styles.css.d.ts +0 -0
  936. /package/chips/{lib → internal}/filter-styles.css.js +0 -0
  937. /package/chips/{lib → internal}/filter-styles.css.js.map +0 -0
  938. /package/chips/{lib → internal}/filter-styles.scss +0 -0
  939. /package/chips/{lib → internal}/input-chip.d.ts +0 -0
  940. /package/chips/{lib → internal}/input-chip.js +0 -0
  941. /package/chips/{lib → internal}/input-chip.js.map +0 -0
  942. /package/chips/{lib → internal}/input-forced-colors-styles.css.d.ts +0 -0
  943. /package/chips/{lib → internal}/input-forced-colors-styles.css.js +0 -0
  944. /package/chips/{lib → internal}/input-forced-colors-styles.css.js.map +0 -0
  945. /package/chips/{lib → internal}/input-forced-colors-styles.scss +0 -0
  946. /package/chips/{lib → internal}/input-styles.css.d.ts +0 -0
  947. /package/chips/{lib → internal}/input-styles.css.js +0 -0
  948. /package/chips/{lib → internal}/input-styles.css.js.map +0 -0
  949. /package/chips/{lib → internal}/input-styles.scss +0 -0
  950. /package/chips/{lib → internal}/multi-action-chip.d.ts +0 -0
  951. /package/chips/{lib → internal}/multi-action-chip.js +0 -0
  952. /package/chips/{lib → internal}/multi-action-chip.js.map +0 -0
  953. /package/chips/{lib → internal}/selectable-styles.css.d.ts +0 -0
  954. /package/chips/{lib → internal}/selectable-styles.css.js +0 -0
  955. /package/chips/{lib → internal}/selectable-styles.css.js.map +0 -0
  956. /package/chips/{lib → internal}/selectable-styles.scss +0 -0
  957. /package/chips/{lib → internal}/shared-styles.css.d.ts +0 -0
  958. /package/chips/{lib → internal}/shared-styles.scss +0 -0
  959. /package/chips/{lib → internal}/suggestion-chip.d.ts +0 -0
  960. /package/chips/{lib → internal}/suggestion-chip.js +0 -0
  961. /package/chips/{lib → internal}/suggestion-chip.js.map +0 -0
  962. /package/chips/{lib → internal}/suggestion-forced-colors-styles.css.d.ts +0 -0
  963. /package/chips/{lib → internal}/suggestion-forced-colors-styles.css.js +0 -0
  964. /package/chips/{lib → internal}/suggestion-forced-colors-styles.css.js.map +0 -0
  965. /package/chips/{lib → internal}/suggestion-forced-colors-styles.scss +0 -0
  966. /package/chips/{lib → internal}/suggestion-styles.css.d.ts +0 -0
  967. /package/chips/{lib → internal}/suggestion-styles.css.js +0 -0
  968. /package/chips/{lib → internal}/suggestion-styles.css.js.map +0 -0
  969. /package/chips/{lib → internal}/suggestion-styles.scss +0 -0
  970. /package/chips/{lib → internal}/trailing-icon-styles.css.d.ts +0 -0
  971. /package/chips/{lib → internal}/trailing-icon-styles.scss +0 -0
  972. /package/dialog/{lib → internal}/dialog-styles.css.d.ts +0 -0
  973. /package/dialog/{lib → internal}/dialog-styles.scss +0 -0
  974. /package/divider/{lib → internal}/_divider.scss +0 -0
  975. /package/divider/{lib → internal}/divider-styles.css.d.ts +0 -0
  976. /package/divider/{lib → internal}/divider-styles.css.js +0 -0
  977. /package/divider/{lib → internal}/divider-styles.css.js.map +0 -0
  978. /package/divider/{lib → internal}/divider-styles.scss +0 -0
  979. /package/divider/{lib → internal}/divider.d.ts +0 -0
  980. /package/divider/{lib → internal}/divider.js +0 -0
  981. /package/divider/{lib → internal}/divider.js.map +0 -0
  982. /package/elevation/{lib → internal}/_elevation.scss +0 -0
  983. /package/elevation/{lib → internal}/elevation-styles.css.d.ts +0 -0
  984. /package/elevation/{lib → internal}/elevation-styles.css.js +0 -0
  985. /package/elevation/{lib → internal}/elevation-styles.css.js.map +0 -0
  986. /package/elevation/{lib → internal}/elevation-styles.scss +0 -0
  987. /package/elevation/{lib → internal}/elevation.d.ts +0 -0
  988. /package/elevation/{lib → internal}/elevation.js +0 -0
  989. /package/elevation/{lib → internal}/elevation.js.map +0 -0
  990. /package/fab/{lib → internal}/_fab-branded.scss +0 -0
  991. /package/fab/{lib → internal}/fab-branded-styles.css.d.ts +0 -0
  992. /package/fab/{lib → internal}/fab-branded-styles.css.js +0 -0
  993. /package/fab/{lib → internal}/fab-branded-styles.css.js.map +0 -0
  994. /package/fab/{lib → internal}/fab-branded-styles.scss +0 -0
  995. /package/fab/{lib → internal}/fab-styles.css.d.ts +0 -0
  996. /package/fab/{lib → internal}/fab-styles.scss +0 -0
  997. /package/fab/{lib → internal}/fab.js +0 -0
  998. /package/{checkbox/lib → fab/internal}/forced-colors-styles.css.d.ts +0 -0
  999. /package/fab/{lib → internal}/shared-styles.css.d.ts +0 -0
  1000. /package/fab/{lib → internal}/shared-styles.scss +0 -0
  1001. /package/field/{lib → internal}/filled-field.d.ts +0 -0
  1002. /package/field/{lib → internal}/filled-field.js +0 -0
  1003. /package/field/{lib → internal}/filled-field.js.map +0 -0
  1004. /package/field/{lib → internal}/filled-styles.css.d.ts +0 -0
  1005. /package/field/{lib → internal}/filled-styles.scss +0 -0
  1006. /package/field/{lib → internal}/outlined-field.d.ts +0 -0
  1007. /package/field/{lib → internal}/outlined-field.js +0 -0
  1008. /package/field/{lib → internal}/outlined-field.js.map +0 -0
  1009. /package/field/{lib → internal}/outlined-styles.css.d.ts +0 -0
  1010. /package/field/{lib → internal}/outlined-styles.scss +0 -0
  1011. /package/field/{lib → internal}/shared-styles.css.d.ts +0 -0
  1012. /package/field/{lib → internal}/shared-styles.scss +0 -0
  1013. /package/focus/{lib → internal}/focus-ring-styles.css.d.ts +0 -0
  1014. /package/focus/{lib → internal}/focus-ring-styles.scss +0 -0
  1015. /package/icon/{lib → internal}/icon-styles.css.d.ts +0 -0
  1016. /package/icon/{lib → internal}/icon-styles.scss +0 -0
  1017. /package/iconbutton/{lib → internal}/filled-styles.css.d.ts +0 -0
  1018. /package/iconbutton/{lib → internal}/filled-styles.scss +0 -0
  1019. /package/{button/lib/tonal-styles.css.d.ts → iconbutton/internal/filled-tonal-styles.css.d.ts} +0 -0
  1020. /package/iconbutton/{lib → internal}/filled-tonal-styles.scss +0 -0
  1021. /package/iconbutton/{lib → internal}/outlined-styles.css.d.ts +0 -0
  1022. /package/iconbutton/{lib → internal}/outlined-styles.scss +0 -0
  1023. /package/iconbutton/{lib → internal}/shared-styles.css.d.ts +0 -0
  1024. /package/iconbutton/{lib → internal}/shared-styles.scss +0 -0
  1025. /package/iconbutton/{lib → internal}/standard-styles.css.d.ts +0 -0
  1026. /package/labs/badge/{lib → internal}/_badge.scss +0 -0
  1027. /package/labs/badge/{lib → internal}/badge-styles.css.d.ts +0 -0
  1028. /package/labs/badge/{lib → internal}/badge-styles.css.js +0 -0
  1029. /package/labs/badge/{lib → internal}/badge-styles.css.js.map +0 -0
  1030. /package/labs/badge/{lib → internal}/badge-styles.scss +0 -0
  1031. /package/labs/badge/{lib → internal}/badge.d.ts +0 -0
  1032. /package/labs/badge/{lib → internal}/badge.js +0 -0
  1033. /package/labs/badge/{lib → internal}/badge.js.map +0 -0
  1034. /package/labs/navigationbar/{lib → internal}/_navigation-bar.scss +0 -0
  1035. /package/labs/navigationbar/{lib → internal}/constants.js +0 -0
  1036. /package/labs/navigationbar/{lib → internal}/navigation-bar-styles.css.d.ts +0 -0
  1037. /package/labs/navigationbar/{lib → internal}/navigation-bar-styles.css.js +0 -0
  1038. /package/labs/navigationbar/{lib → internal}/navigation-bar-styles.css.js.map +0 -0
  1039. /package/labs/navigationbar/{lib → internal}/navigation-bar-styles.scss +0 -0
  1040. /package/labs/navigationbar/{lib → internal}/state.js +0 -0
  1041. /package/labs/navigationdrawer/{lib → internal}/_navigation-drawer-modal.scss +0 -0
  1042. /package/labs/navigationdrawer/{lib → internal}/_navigation-drawer.scss +0 -0
  1043. /package/labs/navigationdrawer/{lib → internal}/_shared.scss +0 -0
  1044. /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-modal-styles.css.d.ts +0 -0
  1045. /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-modal-styles.css.js +0 -0
  1046. /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-modal-styles.css.js.map +0 -0
  1047. /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-modal-styles.scss +0 -0
  1048. /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-modal.d.ts +0 -0
  1049. /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-styles.css.d.ts +0 -0
  1050. /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-styles.css.js +0 -0
  1051. /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-styles.css.js.map +0 -0
  1052. /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-styles.scss +0 -0
  1053. /package/labs/navigationdrawer/{lib → internal}/navigation-drawer.d.ts +0 -0
  1054. /package/labs/navigationdrawer/{lib → internal}/shared-styles.css.d.ts +0 -0
  1055. /package/labs/navigationdrawer/{lib → internal}/shared-styles.css.js +0 -0
  1056. /package/labs/navigationdrawer/{lib → internal}/shared-styles.css.js.map +0 -0
  1057. /package/labs/navigationdrawer/{lib → internal}/shared-styles.scss +0 -0
  1058. /package/labs/navigationtab/{lib → internal}/navigation-tab-styles.css.d.ts +0 -0
  1059. /package/labs/navigationtab/{lib → internal}/navigation-tab-styles.scss +0 -0
  1060. /package/labs/navigationtab/{lib → internal}/state.d.ts +0 -0
  1061. /package/labs/navigationtab/{lib → internal}/state.js +0 -0
  1062. /package/labs/navigationtab/{lib → internal}/state.js.map +0 -0
  1063. /package/labs/segmentedbutton/{lib → internal}/_outlined-segmented-button.scss +0 -0
  1064. /package/labs/segmentedbutton/{lib → internal}/_shared.scss +0 -0
  1065. /package/labs/segmentedbutton/{lib → internal}/outlined-segmented-button.d.ts +0 -0
  1066. /package/labs/segmentedbutton/{lib → internal}/outlined-segmented-button.js +0 -0
  1067. /package/labs/segmentedbutton/{lib → internal}/outlined-segmented-button.js.map +0 -0
  1068. /package/labs/segmentedbutton/{lib → internal}/outlined-styles.css.d.ts +0 -0
  1069. /package/labs/segmentedbutton/{lib → internal}/outlined-styles.scss +0 -0
  1070. /package/labs/segmentedbutton/{lib → internal}/shared-styles.css.d.ts +0 -0
  1071. /package/labs/segmentedbutton/{lib → internal}/shared-styles.css.js +0 -0
  1072. /package/labs/segmentedbutton/{lib → internal}/shared-styles.css.js.map +0 -0
  1073. /package/labs/segmentedbutton/{lib → internal}/shared-styles.scss +0 -0
  1074. /package/labs/segmentedbuttonset/{lib → internal}/_outlined-segmented-button-set.scss +0 -0
  1075. /package/labs/segmentedbuttonset/{lib → internal}/_shared.scss +0 -0
  1076. /package/labs/segmentedbuttonset/{lib → internal}/outlined-segmented-button-set.d.ts +0 -0
  1077. /package/labs/segmentedbuttonset/{lib → internal}/outlined-segmented-button-set.js +0 -0
  1078. /package/labs/segmentedbuttonset/{lib → internal}/outlined-segmented-button-set.js.map +0 -0
  1079. /package/labs/segmentedbuttonset/{lib → internal}/outlined-styles.css.d.ts +0 -0
  1080. /package/labs/segmentedbuttonset/{lib → internal}/outlined-styles.scss +0 -0
  1081. /package/labs/segmentedbuttonset/{lib → internal}/shared-styles.css.d.ts +0 -0
  1082. /package/labs/segmentedbuttonset/{lib → internal}/shared-styles.css.js +0 -0
  1083. /package/labs/segmentedbuttonset/{lib → internal}/shared-styles.css.js.map +0 -0
  1084. /package/labs/segmentedbuttonset/{lib → internal}/shared-styles.scss +0 -0
  1085. /package/list/{lib → internal}/_list.scss +0 -0
  1086. /package/list/{lib → internal}/list-styles.css.d.ts +0 -0
  1087. /package/list/{lib → internal}/list-styles.css.js +0 -0
  1088. /package/list/{lib → internal}/list-styles.css.js.map +0 -0
  1089. /package/list/{lib → internal}/list-styles.scss +0 -0
  1090. /package/{fab/lib → list/internal/listitem}/forced-colors-styles.css.d.ts +0 -0
  1091. /package/list/{lib → internal}/listitem/forced-colors-styles.css.js +0 -0
  1092. /package/list/{lib → internal}/listitem/forced-colors-styles.css.js.map +0 -0
  1093. /package/list/{lib → internal}/listitem/forced-colors-styles.scss +0 -0
  1094. /package/list/{lib → internal}/listitem/harness.d.ts +0 -0
  1095. /package/list/{lib → internal}/listitem/harness.js +0 -0
  1096. /package/list/{lib → internal}/listitem/harness.js.map +0 -0
  1097. /package/list/{lib → internal}/listitem/list-item-only.d.ts +0 -0
  1098. /package/list/{lib → internal}/listitem/list-item-only.js +0 -0
  1099. /package/list/{lib → internal}/listitem/list-item-only.js.map +0 -0
  1100. /package/list/{lib → internal}/listitem/list-item-styles.css.d.ts +0 -0
  1101. /package/list/{lib → internal}/listitem/list-item-styles.scss +0 -0
  1102. /package/{list/lib/listitem → menu/internal}/forced-colors-styles.css.d.ts +0 -0
  1103. /package/menu/{lib → internal}/forced-colors-styles.css.js +0 -0
  1104. /package/menu/{lib → internal}/forced-colors-styles.css.js.map +0 -0
  1105. /package/menu/{lib → internal}/forced-colors-styles.scss +0 -0
  1106. /package/menu/{lib → internal}/menu-styles.css.d.ts +0 -0
  1107. /package/menu/{lib → internal}/menu-styles.scss +0 -0
  1108. /package/menu/{lib → internal/menuitem}/forced-colors-styles.css.d.ts +0 -0
  1109. /package/menu/{lib → internal}/menuitem/menu-item-styles.css.d.ts +0 -0
  1110. /package/menu/{lib → internal}/menuitem/menu-item-styles.scss +0 -0
  1111. /package/menu/{lib → internal}/surfacePositionController.d.ts +0 -0
  1112. /package/menu/{lib → internal}/surfacePositionController.js +0 -0
  1113. /package/menu/{lib → internal}/surfacePositionController.js.map +0 -0
  1114. /package/menu/{lib → internal}/types.d.ts +0 -0
  1115. /package/menu/{lib → internal}/types.js +0 -0
  1116. /package/menu/{lib → internal}/types.js.map +0 -0
  1117. /package/{circularprogress/lib → progress/internal}/circular-progress-styles.css.d.ts +0 -0
  1118. /package/{circularprogress/lib → progress/internal}/circular-progress-styles.scss +0 -0
  1119. /package/{linearprogress/lib → progress/internal}/linear-progress-styles.css.d.ts +0 -0
  1120. /package/{linearprogress/lib → progress/internal}/linear-progress-styles.scss +0 -0
  1121. /package/{menu/lib/menuitem → radio/internal}/forced-colors-styles.css.d.ts +0 -0
  1122. /package/radio/{lib → internal}/radio-styles.css.d.ts +0 -0
  1123. /package/radio/{lib → internal}/radio-styles.scss +0 -0
  1124. /package/radio/{lib → internal}/single-selection-controller.d.ts +0 -0
  1125. /package/ripple/{lib → internal}/_ripple.scss +0 -0
  1126. /package/ripple/{lib → internal}/ripple-styles.css.d.ts +0 -0
  1127. /package/ripple/{lib → internal}/ripple-styles.css.js +0 -0
  1128. /package/ripple/{lib → internal}/ripple-styles.css.js.map +0 -0
  1129. /package/ripple/{lib → internal}/ripple-styles.scss +0 -0
  1130. /package/ripple/{lib → internal}/ripple.d.ts +0 -0
  1131. /package/select/{lib → internal}/filled-forced-colors-styles.css.d.ts +0 -0
  1132. /package/select/{lib → internal}/filled-forced-colors-styles.css.js +0 -0
  1133. /package/select/{lib → internal}/filled-forced-colors-styles.css.js.map +0 -0
  1134. /package/select/{lib → internal}/filled-forced-colors-styles.scss +0 -0
  1135. /package/select/{lib → internal}/filled-select-styles.css.d.ts +0 -0
  1136. /package/select/{lib → internal}/filled-select-styles.scss +0 -0
  1137. /package/select/{lib → internal}/filled-select.d.ts +0 -0
  1138. /package/select/{lib → internal}/filled-select.js +0 -0
  1139. /package/select/{lib → internal}/filled-select.js.map +0 -0
  1140. /package/select/{lib → internal}/outlined-forced-colors-styles.css.d.ts +0 -0
  1141. /package/select/{lib → internal}/outlined-forced-colors-styles.css.js +0 -0
  1142. /package/select/{lib → internal}/outlined-forced-colors-styles.css.js.map +0 -0
  1143. /package/select/{lib → internal}/outlined-forced-colors-styles.scss +0 -0
  1144. /package/select/{lib → internal}/outlined-select-styles.css.d.ts +0 -0
  1145. /package/select/{lib → internal}/outlined-select-styles.scss +0 -0
  1146. /package/select/{lib → internal}/outlined-select.d.ts +0 -0
  1147. /package/select/{lib → internal}/outlined-select.js +0 -0
  1148. /package/select/{lib → internal}/outlined-select.js.map +0 -0
  1149. /package/select/{lib → internal}/shared-styles.css.d.ts +0 -0
  1150. /package/select/{lib → internal}/shared-styles.scss +0 -0
  1151. /package/{radio/lib → slider/internal}/forced-colors-styles.css.d.ts +0 -0
  1152. /package/slider/{lib → internal}/forced-colors-styles.css.js +0 -0
  1153. /package/slider/{lib → internal}/forced-colors-styles.css.js.map +0 -0
  1154. /package/slider/{lib → internal}/forced-colors-styles.scss +0 -0
  1155. /package/slider/{lib → internal}/slider-styles.css.d.ts +0 -0
  1156. /package/slider/{lib → internal}/slider-styles.scss +0 -0
  1157. /package/switch/{lib → internal}/README.md +0 -0
  1158. /package/{slider/lib → switch/internal}/forced-colors-styles.css.d.ts +0 -0
  1159. /package/switch/{lib → internal}/switch-styles.css.d.ts +0 -0
  1160. /package/switch/{lib → internal}/switch-styles.scss +0 -0
  1161. /package/tabs/{lib → internal}/tab-styles.css.d.ts +0 -0
  1162. /package/tabs/{lib → internal}/tab-styles.scss +0 -0
  1163. /package/tabs/{lib → internal}/tabs-styles.css.d.ts +0 -0
  1164. /package/tabs/{lib → internal}/tabs-styles.css.js +0 -0
  1165. /package/tabs/{lib → internal}/tabs-styles.css.js.map +0 -0
  1166. /package/tabs/{lib → internal}/tabs-styles.scss +0 -0
  1167. /package/textfield/{lib → internal}/_icon.scss +0 -0
  1168. /package/textfield/{lib → internal}/filled-forced-colors-styles.css.d.ts +0 -0
  1169. /package/textfield/{lib → internal}/filled-forced-colors-styles.css.js +0 -0
  1170. /package/textfield/{lib → internal}/filled-forced-colors-styles.css.js.map +0 -0
  1171. /package/textfield/{lib → internal}/filled-forced-colors-styles.scss +0 -0
  1172. /package/textfield/{lib → internal}/filled-styles.css.d.ts +0 -0
  1173. /package/textfield/{lib → internal}/filled-styles.scss +0 -0
  1174. /package/textfield/{lib → internal}/filled-text-field.d.ts +0 -0
  1175. /package/textfield/{lib → internal}/filled-text-field.js +0 -0
  1176. /package/textfield/{lib → internal}/filled-text-field.js.map +0 -0
  1177. /package/textfield/{lib → internal}/outlined-forced-colors-styles.css.d.ts +0 -0
  1178. /package/textfield/{lib → internal}/outlined-forced-colors-styles.css.js +0 -0
  1179. /package/textfield/{lib → internal}/outlined-forced-colors-styles.css.js.map +0 -0
  1180. /package/textfield/{lib → internal}/outlined-forced-colors-styles.scss +0 -0
  1181. /package/textfield/{lib → internal}/outlined-styles.css.d.ts +0 -0
  1182. /package/textfield/{lib → internal}/outlined-styles.scss +0 -0
  1183. /package/textfield/{lib → internal}/outlined-text-field.d.ts +0 -0
  1184. /package/textfield/{lib → internal}/outlined-text-field.js +0 -0
  1185. /package/textfield/{lib → internal}/outlined-text-field.js.map +0 -0
  1186. /package/textfield/{lib → internal}/shared-styles.css.d.ts +0 -0
  1187. /package/textfield/{lib → internal}/shared-styles.scss +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["shared.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 {ListItem} from '../../list/internal/listitem/list-item.js';\n\n/**\n * Interface specific to menu item and not list item.\n */\ninterface MenuItemSelf {\n /**\n * The visible headline text of the item.\n */\n headline: string;\n /**\n * Whether or not the item is the currently active item of interest (focuses\n * upon activation).\n */\n active: boolean;\n /**\n * Whether or not the item is in the selected visual state.\n */\n selected?: boolean;\n /**\n * If it is a sub-menu-item, a method that can close the submenu.\n */\n close?: () => void;\n /**\n * Focuses the item.\n */\n focus: () => void;\n}\n\n/**\n * The interface of every menu item interactive with a menu. All menu items\n * should implement this interface to be compatible with md-menu. Additionally\n * they should have both the `md-menu-item` and `md-list-item` attributes set.\n */\nexport type MenuItem = MenuItemSelf&ListItem;\n\n/**\n * The reason the `close-menu` event was dispatched.\n */\nexport interface Reason {\n kind: string;\n}\n\n/**\n * The click selection reason for the `close-menu` event. The menu was closed\n * because an item was selected via user click.\n */\nexport interface ClickReason extends Reason {\n kind: typeof CLOSE_REASON.CLICK_SELECTION;\n}\n\n/**\n * The keydown reason for the `close-menu` event. The menu was closed\n * because a specific key was pressed. The default closing keys for\n * `md-menu-item` are, Space, Enter or Escape.\n */\nexport interface KeydownReason extends Reason {\n kind: typeof CLOSE_REASON.KEYDOWN;\n key: string;\n}\n\n/**\n * The default menu closing reasons for the material md-menu package.\n */\nexport type DefaultReasons = ClickReason|KeydownReason;\n\n/**\n * Creates an event that closes any parent menus.\n */\nexport function createCloseMenuEvent<T extends Reason = DefaultReasons>(\n initiator: MenuItem, reason: T) {\n return new CustomEvent<\n {initiator: MenuItem, itemPath: MenuItem[], reason: T}>('close-menu', {\n bubbles: true,\n composed: true,\n detail: {initiator, reason, itemPath: [initiator]}\n });\n}\n\n/**\n * Creates an event that signals to the menu that it should stay open on the\n * focusout event.\n */\nexport function createStayOpenOnFocusoutEvent() {\n return new Event('stay-open-on-focusout', {bubbles: true, composed: true});\n}\n\n/**\n * Creates an event that signals to the menu that it should close open on the\n * focusout event.\n */\nexport function createCloseOnFocusoutEvent() {\n return new Event('close-on-focusout', {bubbles: true, composed: true});\n}\n\n/**\n * Creates a default close menu event used by md-menu.\n */\nexport const createDefaultCloseMenuEvent = createCloseMenuEvent<DefaultReasons>;\n\n/**\n * The type of the default close menu event used by md-menu.\n */\n// tslint:disable-next-line\nexport type CloseMenuEvent<T extends Reason = DefaultReasons> =\n ReturnType<typeof createCloseMenuEvent<T>>;\n\n/**\n * Creates an event that requests the parent md-menu to deactivate all other\n * items.\n */\nexport function createDeactivateItemsEvent() {\n return new Event('deactivate-items', {bubbles: true, composed: true});\n}\n\n/**\n * The type of the event that requests the parent md-menu to deactivate all\n * other items.\n */\nexport type DeactivateItemsEvent =\n ReturnType<typeof createDeactivateItemsEvent>;\n\n\n/**\n * Creates an event that requests the typeahead functionality of containing menu\n * be deactivated.\n */\nexport function createDeactivateTypeaheadEvent() {\n return new Event('deactivate-typeahead', {bubbles: true, composed: true});\n}\n\n/**\n * The type of the event that requests the typeahead functionality of containing\n * menu be deactivated.\n */\nexport type DeactivateTypeaheadEvent =\n ReturnType<typeof createDeactivateTypeaheadEvent>;\n\n/**\n * Creates an event that requests the typeahead functionality of containing menu\n * be activated.\n */\nexport function createActivateTypeaheadEvent() {\n return new Event('activate-typeahead', {bubbles: true, composed: true});\n}\n\n/**\n * The type of the event that requests the typeahead functionality of containing\n * menu be activated.\n */\nexport type ActivateTypeaheadEvent =\n ReturnType<typeof createActivateTypeaheadEvent>;\n\n/**\n * Keys that are used to navigate menus.\n */\nexport const NAVIGABLE_KEY = {\n UP: 'ArrowUp',\n DOWN: 'ArrowDown',\n RIGHT: 'ArrowRight',\n LEFT: 'ArrowLeft',\n} as const;\n\n/**\n * Keys that are used for selection in menus.\n */\nexport const SELECTION_KEY = {\n SPACE: 'Space',\n ENTER: 'Enter',\n} as const;\n\n/**\n * Default close `Reason` kind values.\n */\nexport const CLOSE_REASON = {\n CLICK_SELECTION: 'CLICK_SELECTION',\n KEYDOWN: 'KEYDOWN',\n} as const;\n\n/**\n * Keys that can close menus.\n */\nexport const KEYDOWN_CLOSE_KEYS = {\n ESCAPE: 'Escape',\n SPACE: SELECTION_KEY.SPACE,\n ENTER: SELECTION_KEY.ENTER,\n} as const;\n\ntype Values<T> = T[keyof T];\n\n/**\n * Determines whether the given key code is a key code that should close the\n * menu.\n *\n * @param code The KeyboardEvent code to check.\n * @return Whether or not the key code is in the predetermined list to close the\n * menu.\n */\nexport function isClosableKey(code: string):\n code is Values<typeof KEYDOWN_CLOSE_KEYS> {\n return Object.values(KEYDOWN_CLOSE_KEYS).some(value => (value === code));\n}\n\n/**\n * Determines whether the given key code is a key code that should select a menu\n * item.\n *\n * @param code They KeyboardEvent code to check.\n * @return Whether or not the key code is in the predetermined list to select a\n * menu item.\n */\nexport function isSelectableKey(code: string):\n code is Values<typeof SELECTION_KEY> {\n return Object.values(SELECTION_KEY).some(value => (value === code));\n}\n\n/**\n * Determines whether a target element is contained inside another element's\n * composed tree.\n *\n * @param target The potential contained element.\n * @param container The potential containing element of the target.\n * @returns Whether the target element is contained inside the container's\n * composed subtree\n */\nexport function isElementInSubtree(\n target: EventTarget, container: EventTarget) {\n // Dispatch a composed, bubbling event to check its path to see if the\n // newly-focused element is contained in container's subtree\n const focusEv = new Event('md-contains', {bubbles: true, composed: true});\n let composedPath: EventTarget[] = [];\n const listener = (ev: Event) => {\n composedPath = ev.composedPath();\n };\n\n container.addEventListener('md-contains', listener);\n target.dispatchEvent(focusEv);\n container.removeEventListener('md-contains', listener);\n\n const isContained = composedPath.length > 0;\n return isContained;\n}\n"]}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ListItemHarness } from '../../../list/internal/listitem/harness.js';
7
+ /**
8
+ * Test harness for menu item.
9
+ */
10
+ export declare class MenuItemHarness extends ListItemHarness {
11
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ListItemHarness } from '../../../list/internal/listitem/harness.js';
7
+ /**
8
+ * Test harness for menu item.
9
+ */
10
+ export class MenuItemHarness extends ListItemHarness {
11
+ }
12
+ //# sourceMappingURL=harness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["harness.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,eAAe,EAAC,MAAM,4CAA4C,CAAC;AAE3E;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,eAAe;CAAG","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {ListItemHarness} from '../../../list/internal/listitem/harness.js';\n\n/**\n * Test harness for menu item.\n */\nexport class MenuItemHarness extends ListItemHarness {}\n"]}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Corner } from '../menu.js';
7
+ import { MenuItemEl } from '../menuitem/menu-item.js';
8
+ /**
9
+ * @fires deactivate-items Requests the parent menu to deselect other items when
10
+ * a submenu opens
11
+ * @fires deactivate-typeahead Requests the parent menu to deactivate the
12
+ * typeahead functionality when a submenu opens
13
+ * @fires activate-typeahead Requests the parent menu to activate the typeahead
14
+ * functionality when a submenu closes
15
+ * @fires stay-open-on-focusout Requests the parent menu to stay open when
16
+ * focusout event is fired or has a `null` `relatedTarget` when submenu is
17
+ * opened.
18
+ * @fires close-on-focusout Requests the parent menu to close when focusout
19
+ * event is fired or has a `null` `relatedTarget` When submenu is closed.
20
+ */
21
+ export declare class SubMenuItem extends MenuItemEl {
22
+ /**
23
+ * The anchorCorner to set on the submenu.
24
+ */
25
+ anchorCorner: Corner;
26
+ /**
27
+ * The menuCorner to set on the submenu.
28
+ */
29
+ menuCorner: Corner;
30
+ /**
31
+ * The delay between pointerenter and submenu opening.
32
+ */
33
+ hoverOpenDelay: number;
34
+ /**
35
+ * The delay between ponterleave and the submenu closing.
36
+ */
37
+ hoverCloseDelay: number;
38
+ /**
39
+ * Sets the item in the selected visual state when a submenu is opened.
40
+ */
41
+ selected: boolean;
42
+ protected submenuHover: boolean;
43
+ private readonly menus;
44
+ protected keepOpenOnClick: boolean;
45
+ private previousOpenTimeout;
46
+ private previousCloseTimeout;
47
+ private get submenuEl();
48
+ /**
49
+ * Starts the default 400ms countdown to open the submenu.
50
+ */
51
+ protected onPointerenter: () => void;
52
+ /**
53
+ * Starts the default 400ms countdown to close the submenu.
54
+ */
55
+ protected onPointerleave: () => void;
56
+ protected onClick(): void;
57
+ protected getRenderClasses(): {
58
+ 'submenu-hover': boolean;
59
+ 'has-focus-ring': boolean;
60
+ 'with-one-line': boolean;
61
+ 'with-two-line': boolean;
62
+ 'with-three-line': boolean;
63
+ disabled: boolean;
64
+ };
65
+ /**
66
+ * On item keydown handles opening the submenu.
67
+ */
68
+ protected onKeydown(event: KeyboardEvent): void;
69
+ /**
70
+ * Render the submenu at the end
71
+ */
72
+ protected renderEnd(): import("lit-html").TemplateResult<1>;
73
+ /**
74
+ * Renders the slot for the submenu.
75
+ */
76
+ private renderSubMenu;
77
+ private onCloseSubmenu;
78
+ private onSubMenuKeydown;
79
+ /**
80
+ * Shows the submenu.
81
+ *
82
+ * @param onOpened A function to call after the menu is opened.
83
+ */
84
+ show(onOpened?: () => void): void;
85
+ /**
86
+ * Closes the submenu.
87
+ *
88
+ * @param onClosed A function to call after the menu is closed.
89
+ */
90
+ close(onClosed?: () => void): void;
91
+ /**
92
+ * Determines whether the given KeyboardEvent code is one that should open
93
+ * the submenu. This is RTL-aware. By default, left, right, space, or enter.
94
+ *
95
+ * @param code The native KeyboardEvent code.
96
+ * @return Whether or not the key code should open the submenu.
97
+ */
98
+ private isSubmenuOpenKey;
99
+ /**
100
+ * Determines whether the given KeyboardEvent code is one that should close
101
+ * the submenu. This is RTL-aware. By default right, left, or escape.
102
+ *
103
+ * @param code The native KeyboardEvent code.
104
+ * @return Whether or not the key code should close the submenu.
105
+ */
106
+ private isSubmenuCloseKey;
107
+ private onSubmenuPointerEnter;
108
+ private onSubmenuPointerLeave;
109
+ }
@@ -0,0 +1,308 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { __decorate } from "tslib";
7
+ import { html } from 'lit';
8
+ import { property, queryAssignedElements, state } from 'lit/decorators.js';
9
+ import { List } from '../../../list/internal/list.js';
10
+ import { MenuItemEl } from '../menuitem/menu-item.js';
11
+ import { CLOSE_REASON, createActivateTypeaheadEvent, createCloseOnFocusoutEvent, createDeactivateItemsEvent, createDeactivateTypeaheadEvent, createStayOpenOnFocusoutEvent, KEYDOWN_CLOSE_KEYS, NAVIGABLE_KEY, SELECTION_KEY } from '../shared.js';
12
+ function stopPropagation(event) {
13
+ event.stopPropagation();
14
+ }
15
+ /**
16
+ * @fires deactivate-items Requests the parent menu to deselect other items when
17
+ * a submenu opens
18
+ * @fires deactivate-typeahead Requests the parent menu to deactivate the
19
+ * typeahead functionality when a submenu opens
20
+ * @fires activate-typeahead Requests the parent menu to activate the typeahead
21
+ * functionality when a submenu closes
22
+ * @fires stay-open-on-focusout Requests the parent menu to stay open when
23
+ * focusout event is fired or has a `null` `relatedTarget` when submenu is
24
+ * opened.
25
+ * @fires close-on-focusout Requests the parent menu to close when focusout
26
+ * event is fired or has a `null` `relatedTarget` When submenu is closed.
27
+ */
28
+ export class SubMenuItem extends MenuItemEl {
29
+ constructor() {
30
+ super(...arguments);
31
+ /**
32
+ * The anchorCorner to set on the submenu.
33
+ */
34
+ this.anchorCorner = 'START_END';
35
+ /**
36
+ * The menuCorner to set on the submenu.
37
+ */
38
+ this.menuCorner = 'START_START';
39
+ /**
40
+ * The delay between pointerenter and submenu opening.
41
+ */
42
+ this.hoverOpenDelay = 400;
43
+ /**
44
+ * The delay between ponterleave and the submenu closing.
45
+ */
46
+ this.hoverCloseDelay = 400;
47
+ /**
48
+ * Sets the item in the selected visual state when a submenu is opened.
49
+ */
50
+ this.selected = false;
51
+ this.submenuHover = false;
52
+ this.keepOpenOnClick = true;
53
+ this.previousOpenTimeout = 0;
54
+ this.previousCloseTimeout = 0;
55
+ /**
56
+ * Starts the default 400ms countdown to open the submenu.
57
+ */
58
+ this.onPointerenter = () => {
59
+ clearTimeout(this.previousOpenTimeout);
60
+ clearTimeout(this.previousCloseTimeout);
61
+ if (this.submenuEl?.open)
62
+ return;
63
+ // Open synchronously if delay is 0. (screenshot tests infra
64
+ // would never resolve otherwise)
65
+ if (!this.hoverOpenDelay) {
66
+ this.show();
67
+ }
68
+ else {
69
+ this.previousOpenTimeout = setTimeout(() => {
70
+ this.show();
71
+ }, this.hoverOpenDelay);
72
+ }
73
+ };
74
+ /**
75
+ * Starts the default 400ms countdown to close the submenu.
76
+ */
77
+ this.onPointerleave = () => {
78
+ clearTimeout(this.previousCloseTimeout);
79
+ clearTimeout(this.previousOpenTimeout);
80
+ // Close synchronously if delay is 0. (screenshot tests infra
81
+ // would never resolve otherwise)
82
+ if (!this.hoverCloseDelay) {
83
+ this.close();
84
+ }
85
+ else {
86
+ this.previousCloseTimeout = setTimeout(() => {
87
+ this.close();
88
+ }, this.hoverCloseDelay);
89
+ }
90
+ };
91
+ }
92
+ get submenuEl() {
93
+ return this.menus[0];
94
+ }
95
+ onClick() {
96
+ this.show();
97
+ }
98
+ getRenderClasses() {
99
+ return { ...super.getRenderClasses(), 'submenu-hover': this.submenuHover };
100
+ }
101
+ /**
102
+ * On item keydown handles opening the submenu.
103
+ */
104
+ onKeydown(event) {
105
+ const shouldOpenSubmenu = this.isSubmenuOpenKey(event.code);
106
+ if (event.code === SELECTION_KEY.SPACE) {
107
+ // prevent space from scrolling. Only open the submenu.
108
+ event.preventDefault();
109
+ }
110
+ if (!shouldOpenSubmenu) {
111
+ super.onKeydown(event);
112
+ return;
113
+ }
114
+ const submenu = this.submenuEl;
115
+ if (!submenu)
116
+ return;
117
+ const submenuItems = submenu.items;
118
+ const firstActivatableItem = List.getFirstActivatableItem(submenuItems);
119
+ if (firstActivatableItem) {
120
+ this.show(() => {
121
+ firstActivatableItem.active = true;
122
+ });
123
+ return;
124
+ }
125
+ }
126
+ /**
127
+ * Render the submenu at the end
128
+ */
129
+ renderEnd() {
130
+ return html `${super.renderEnd()}${this.renderSubMenu()}`;
131
+ }
132
+ /**
133
+ * Renders the slot for the submenu.
134
+ */
135
+ renderSubMenu() {
136
+ return html `<span class="submenu"><slot
137
+ name="submenu"
138
+ @pointerenter=${this.onSubmenuPointerEnter}
139
+ @pointerleave=${this.onSubmenuPointerLeave}
140
+ @pointerdown=${stopPropagation}
141
+ @click=${stopPropagation}
142
+ @keydown=${this.onSubMenuKeydown}
143
+ @close-menu=${this.onCloseSubmenu}
144
+ ></slot></span>`;
145
+ }
146
+ onCloseSubmenu(event) {
147
+ const { itemPath, reason } = event.detail;
148
+ itemPath.push(this);
149
+ // Restore focusout behavior
150
+ this.dispatchEvent(createCloseOnFocusoutEvent());
151
+ this.dispatchEvent(createActivateTypeaheadEvent());
152
+ // Escape should only close one menu not all of the menus unlike space or
153
+ // click selection which should close all menus.
154
+ if (reason.kind === CLOSE_REASON.KEYDOWN &&
155
+ reason.key === KEYDOWN_CLOSE_KEYS.ESCAPE) {
156
+ event.stopPropagation();
157
+ this.active = true;
158
+ this.selected = false;
159
+ // It might already be active so manually focus
160
+ this.listItemRoot?.focus();
161
+ return;
162
+ }
163
+ this.active = false;
164
+ this.selected = false;
165
+ }
166
+ async onSubMenuKeydown(event) {
167
+ // Stop propagation so that we don't accidentally close every parent menu.
168
+ // Additionally, we want to isolate things like the typeahead keydowns
169
+ // from bubbling up to the parent menu and confounding things.
170
+ event.stopPropagation();
171
+ const shouldClose = this.isSubmenuCloseKey(event.code);
172
+ if (!shouldClose)
173
+ return;
174
+ this.close(() => {
175
+ List.deactivateActiveItem(this.submenuEl.items);
176
+ this.listItemRoot?.focus();
177
+ this.active = true;
178
+ });
179
+ }
180
+ /**
181
+ * Shows the submenu.
182
+ *
183
+ * @param onOpened A function to call after the menu is opened.
184
+ */
185
+ show(onOpened = () => { }) {
186
+ const menu = this.submenuEl;
187
+ if (!menu)
188
+ return;
189
+ menu.quick = true;
190
+ // Submenus are in overflow when not fixed. Can remove once we have native
191
+ // popup support
192
+ menu.hasOverflow = true;
193
+ menu.anchorCorner = this.anchorCorner;
194
+ menu.menuCorner = this.menuCorner;
195
+ menu.anchor = this;
196
+ // We manually set focus with `active` on keyboard navigation. And we
197
+ // want to focus the root on hover, so the user can pick up navigation with
198
+ // keyboard after hover.
199
+ menu.defaultFocus = 'LIST_ROOT';
200
+ menu.skipRestoreFocus = true;
201
+ menu.stayOpenOnOutsideClick = true;
202
+ menu.stayOpenOnFocusout = true;
203
+ // Menu could already be opened because of mouse interaction
204
+ const menuAlreadyOpen = menu.open;
205
+ // We want the parent to stay open in the case such that a middle submenu
206
+ // has a submenuitem hovered which opens a third submenut. Then if you hover
207
+ // on yet another middle menu-item (not submenuitem) then focusout Event's
208
+ // relatedTarget will be `null` thus, causing all the menus to close
209
+ this.dispatchEvent(createStayOpenOnFocusoutEvent());
210
+ menu.show();
211
+ // Deactivate other items. This can be the case if the user has tabbed
212
+ // around the menu and then mouses over an md-sub-menu.
213
+ this.dispatchEvent(createDeactivateItemsEvent());
214
+ this.dispatchEvent(createDeactivateTypeaheadEvent());
215
+ this.selected = true;
216
+ // This is the case of mouse hovering when already opened via keyboard or
217
+ // vice versa
218
+ if (menuAlreadyOpen) {
219
+ onOpened();
220
+ }
221
+ else {
222
+ menu.addEventListener('opened', onOpened, { once: true });
223
+ }
224
+ }
225
+ /**
226
+ * Closes the submenu.
227
+ *
228
+ * @param onClosed A function to call after the menu is closed.
229
+ */
230
+ close(onClosed = () => { }) {
231
+ const menu = this.submenuEl;
232
+ if (!menu || !menu.open)
233
+ return;
234
+ this.dispatchEvent(createActivateTypeaheadEvent());
235
+ menu.quick = true;
236
+ menu.close();
237
+ // Restore focusout behavior.
238
+ this.dispatchEvent(createCloseOnFocusoutEvent());
239
+ this.active = false;
240
+ this.selected = false;
241
+ menu.addEventListener('closed', onClosed, { once: true });
242
+ }
243
+ /**
244
+ * Determines whether the given KeyboardEvent code is one that should open
245
+ * the submenu. This is RTL-aware. By default, left, right, space, or enter.
246
+ *
247
+ * @param code The native KeyboardEvent code.
248
+ * @return Whether or not the key code should open the submenu.
249
+ */
250
+ isSubmenuOpenKey(code) {
251
+ const isRtl = getComputedStyle(this).direction === 'rtl';
252
+ const arrowEnterKey = isRtl ? NAVIGABLE_KEY.LEFT : NAVIGABLE_KEY.RIGHT;
253
+ switch (code) {
254
+ case arrowEnterKey:
255
+ case SELECTION_KEY.SPACE:
256
+ case SELECTION_KEY.ENTER:
257
+ return true;
258
+ default:
259
+ return false;
260
+ }
261
+ }
262
+ /**
263
+ * Determines whether the given KeyboardEvent code is one that should close
264
+ * the submenu. This is RTL-aware. By default right, left, or escape.
265
+ *
266
+ * @param code The native KeyboardEvent code.
267
+ * @return Whether or not the key code should close the submenu.
268
+ */
269
+ isSubmenuCloseKey(code) {
270
+ const isRtl = getComputedStyle(this).direction === 'rtl';
271
+ const arrowEnterKey = isRtl ? NAVIGABLE_KEY.RIGHT : NAVIGABLE_KEY.LEFT;
272
+ switch (code) {
273
+ case arrowEnterKey:
274
+ case KEYDOWN_CLOSE_KEYS.ESCAPE:
275
+ return true;
276
+ default:
277
+ return false;
278
+ }
279
+ }
280
+ onSubmenuPointerEnter() {
281
+ this.submenuHover = true;
282
+ }
283
+ onSubmenuPointerLeave() {
284
+ this.submenuHover = false;
285
+ }
286
+ }
287
+ __decorate([
288
+ property({ attribute: 'anchor-corner' })
289
+ ], SubMenuItem.prototype, "anchorCorner", void 0);
290
+ __decorate([
291
+ property({ attribute: 'menu-corner' })
292
+ ], SubMenuItem.prototype, "menuCorner", void 0);
293
+ __decorate([
294
+ property({ type: Number, attribute: 'hover-open-delay' })
295
+ ], SubMenuItem.prototype, "hoverOpenDelay", void 0);
296
+ __decorate([
297
+ property({ type: Number, attribute: 'hover-close-delay' })
298
+ ], SubMenuItem.prototype, "hoverCloseDelay", void 0);
299
+ __decorate([
300
+ property({ type: Boolean, reflect: true })
301
+ ], SubMenuItem.prototype, "selected", void 0);
302
+ __decorate([
303
+ state()
304
+ ], SubMenuItem.prototype, "submenuHover", void 0);
305
+ __decorate([
306
+ queryAssignedElements({ slot: 'submenu', flatten: true })
307
+ ], SubMenuItem.prototype, "menus", void 0);
308
+ //# sourceMappingURL=sub-menu-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sub-menu-item.js","sourceRoot":"","sources":["sub-menu-item.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 {html} from 'lit';\nimport {property, queryAssignedElements, state} from 'lit/decorators.js';\n\nimport {List} from '../../../list/internal/list.js';\nimport {Corner, Menu} from '../menu.js';\nimport {MenuItemEl} from '../menuitem/menu-item.js';\nimport {CLOSE_REASON, CloseMenuEvent, createActivateTypeaheadEvent, createCloseOnFocusoutEvent, createDeactivateItemsEvent, createDeactivateTypeaheadEvent, createStayOpenOnFocusoutEvent, KEYDOWN_CLOSE_KEYS, NAVIGABLE_KEY, SELECTION_KEY} from '../shared.js';\n\nfunction stopPropagation(event: Event) {\n event.stopPropagation();\n}\n\n/**\n * @fires deactivate-items Requests the parent menu to deselect other items when\n * a submenu opens\n * @fires deactivate-typeahead Requests the parent menu to deactivate the\n * typeahead functionality when a submenu opens\n * @fires activate-typeahead Requests the parent menu to activate the typeahead\n * functionality when a submenu closes\n * @fires stay-open-on-focusout Requests the parent menu to stay open when\n * focusout event is fired or has a `null` `relatedTarget` when submenu is\n * opened.\n * @fires close-on-focusout Requests the parent menu to close when focusout\n * event is fired or has a `null` `relatedTarget` When submenu is closed.\n */\nexport class SubMenuItem extends MenuItemEl {\n /**\n * The anchorCorner to set on the submenu.\n */\n @property({attribute: 'anchor-corner'}) anchorCorner: Corner = 'START_END';\n /**\n * The menuCorner to set on the submenu.\n */\n @property({attribute: 'menu-corner'}) menuCorner: Corner = 'START_START';\n /**\n * The delay between pointerenter and submenu opening.\n */\n @property({type: Number, attribute: 'hover-open-delay'}) hoverOpenDelay = 400;\n /**\n * The delay between ponterleave and the submenu closing.\n */\n @property({type: Number, attribute: 'hover-close-delay'})\n hoverCloseDelay = 400;\n /**\n * Sets the item in the selected visual state when a submenu is opened.\n */\n @property({type: Boolean, reflect: true}) selected = false;\n\n @state() protected submenuHover = false;\n\n @queryAssignedElements({slot: 'submenu', flatten: true})\n private readonly menus!: Menu[];\n\n protected override keepOpenOnClick = true;\n private previousOpenTimeout = 0;\n private previousCloseTimeout = 0;\n\n private get submenuEl(): Menu|undefined {\n return this.menus[0];\n }\n\n /**\n * Starts the default 400ms countdown to open the submenu.\n */\n protected override onPointerenter = () => {\n clearTimeout(this.previousOpenTimeout);\n clearTimeout(this.previousCloseTimeout);\n if (this.submenuEl?.open) return;\n\n // Open synchronously if delay is 0. (screenshot tests infra\n // would never resolve otherwise)\n if (!this.hoverOpenDelay) {\n this.show();\n } else {\n this.previousOpenTimeout = setTimeout(() => {\n this.show();\n }, this.hoverOpenDelay);\n }\n };\n\n /**\n * Starts the default 400ms countdown to close the submenu.\n */\n protected override onPointerleave = () => {\n clearTimeout(this.previousCloseTimeout);\n clearTimeout(this.previousOpenTimeout);\n\n // Close synchronously if delay is 0. (screenshot tests infra\n // would never resolve otherwise)\n if (!this.hoverCloseDelay) {\n this.close();\n } else {\n this.previousCloseTimeout = setTimeout(() => {\n this.close();\n }, this.hoverCloseDelay);\n }\n };\n\n protected override onClick() {\n this.show();\n }\n\n protected override getRenderClasses() {\n return {...super.getRenderClasses(), 'submenu-hover': this.submenuHover};\n }\n\n /**\n * On item keydown handles opening the submenu.\n */\n protected override onKeydown(event: KeyboardEvent) {\n const shouldOpenSubmenu = this.isSubmenuOpenKey(event.code);\n\n if (event.code === SELECTION_KEY.SPACE) {\n // prevent space from scrolling. Only open the submenu.\n event.preventDefault();\n }\n\n if (!shouldOpenSubmenu) {\n super.onKeydown(event);\n return;\n }\n\n const submenu = this.submenuEl;\n if (!submenu) return;\n\n const submenuItems = submenu.items;\n const firstActivatableItem = List.getFirstActivatableItem(submenuItems);\n\n if (firstActivatableItem) {\n this.show(() => {\n firstActivatableItem.active = true;\n });\n\n return;\n }\n }\n\n /**\n * Render the submenu at the end\n */\n protected override renderEnd() {\n return html`${super.renderEnd()}${this.renderSubMenu()}`;\n }\n\n /**\n * Renders the slot for the submenu.\n */\n private renderSubMenu() {\n return html`<span class=\"submenu\"><slot\n name=\"submenu\"\n @pointerenter=${this.onSubmenuPointerEnter}\n @pointerleave=${this.onSubmenuPointerLeave}\n @pointerdown=${stopPropagation}\n @click=${stopPropagation}\n @keydown=${this.onSubMenuKeydown}\n @close-menu=${this.onCloseSubmenu}\n ></slot></span>`;\n }\n\n private onCloseSubmenu(event: CloseMenuEvent) {\n const {itemPath, reason} = event.detail;\n itemPath.push(this);\n // Restore focusout behavior\n this.dispatchEvent(createCloseOnFocusoutEvent());\n this.dispatchEvent(createActivateTypeaheadEvent());\n // Escape should only close one menu not all of the menus unlike space or\n // click selection which should close all menus.\n if (reason.kind === CLOSE_REASON.KEYDOWN &&\n reason.key === KEYDOWN_CLOSE_KEYS.ESCAPE) {\n event.stopPropagation();\n this.active = true;\n this.selected = false;\n // It might already be active so manually focus\n this.listItemRoot?.focus();\n return;\n }\n\n this.active = false;\n this.selected = false;\n }\n\n private async onSubMenuKeydown(event: KeyboardEvent) {\n // Stop propagation so that we don't accidentally close every parent menu.\n // Additionally, we want to isolate things like the typeahead keydowns\n // from bubbling up to the parent menu and confounding things.\n event.stopPropagation();\n const shouldClose = this.isSubmenuCloseKey(event.code);\n\n if (!shouldClose) return;\n\n this.close(() => {\n List.deactivateActiveItem(this.submenuEl!.items);\n this.listItemRoot?.focus();\n this.active = true;\n });\n }\n\n /**\n * Shows the submenu.\n *\n * @param onOpened A function to call after the menu is opened.\n */\n show(onOpened = () => {}) {\n const menu = this.submenuEl;\n if (!menu) return;\n\n menu.quick = true;\n // Submenus are in overflow when not fixed. Can remove once we have native\n // popup support\n menu.hasOverflow = true;\n menu.anchorCorner = this.anchorCorner;\n menu.menuCorner = this.menuCorner;\n menu.anchor = this;\n // We manually set focus with `active` on keyboard navigation. And we\n // want to focus the root on hover, so the user can pick up navigation with\n // keyboard after hover.\n menu.defaultFocus = 'LIST_ROOT';\n menu.skipRestoreFocus = true;\n menu.stayOpenOnOutsideClick = true;\n menu.stayOpenOnFocusout = true;\n\n // Menu could already be opened because of mouse interaction\n const menuAlreadyOpen = menu.open;\n // We want the parent to stay open in the case such that a middle submenu\n // has a submenuitem hovered which opens a third submenut. Then if you hover\n // on yet another middle menu-item (not submenuitem) then focusout Event's\n // relatedTarget will be `null` thus, causing all the menus to close\n this.dispatchEvent(createStayOpenOnFocusoutEvent());\n menu.show();\n\n // Deactivate other items. This can be the case if the user has tabbed\n // around the menu and then mouses over an md-sub-menu.\n this.dispatchEvent(createDeactivateItemsEvent());\n this.dispatchEvent(createDeactivateTypeaheadEvent());\n this.selected = true;\n\n // This is the case of mouse hovering when already opened via keyboard or\n // vice versa\n if (menuAlreadyOpen) {\n onOpened();\n } else {\n menu.addEventListener('opened', onOpened, {once: true});\n }\n }\n\n /**\n * Closes the submenu.\n *\n * @param onClosed A function to call after the menu is closed.\n */\n close(onClosed = () => {}) {\n const menu = this.submenuEl;\n if (!menu || !menu.open) return;\n\n this.dispatchEvent(createActivateTypeaheadEvent());\n menu.quick = true;\n menu.close();\n // Restore focusout behavior.\n this.dispatchEvent(createCloseOnFocusoutEvent());\n this.active = false;\n this.selected = false;\n menu.addEventListener('closed', onClosed, {once: true});\n }\n\n /**\n * Determines whether the given KeyboardEvent code is one that should open\n * the submenu. This is RTL-aware. By default, left, right, space, or enter.\n *\n * @param code The native KeyboardEvent code.\n * @return Whether or not the key code should open the submenu.\n */\n private isSubmenuOpenKey(code: string) {\n const isRtl = getComputedStyle(this).direction === 'rtl';\n const arrowEnterKey = isRtl ? NAVIGABLE_KEY.LEFT : NAVIGABLE_KEY.RIGHT;\n switch (code) {\n case arrowEnterKey:\n case SELECTION_KEY.SPACE:\n case SELECTION_KEY.ENTER:\n return true;\n default:\n return false;\n }\n }\n\n /**\n * Determines whether the given KeyboardEvent code is one that should close\n * the submenu. This is RTL-aware. By default right, left, or escape.\n *\n * @param code The native KeyboardEvent code.\n * @return Whether or not the key code should close the submenu.\n */\n private isSubmenuCloseKey(code: string) {\n const isRtl = getComputedStyle(this).direction === 'rtl';\n const arrowEnterKey = isRtl ? NAVIGABLE_KEY.RIGHT : NAVIGABLE_KEY.LEFT;\n switch (code) {\n case arrowEnterKey:\n case KEYDOWN_CLOSE_KEYS.ESCAPE:\n return true;\n default:\n return false;\n }\n }\n\n private onSubmenuPointerEnter() {\n this.submenuHover = true;\n }\n\n private onSubmenuPointerLeave() {\n this.submenuHover = false;\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 './shared.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 {};