@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,550 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ var _a;
7
+ import { __decorate } from "tslib";
8
+ import '../../menu/menu.js';
9
+ import { html, LitElement } from 'lit';
10
+ import { property, query, queryAssignedElements, state } from 'lit/decorators.js';
11
+ import { classMap } from 'lit/directives/class-map.js';
12
+ import { html as staticHtml } from 'lit/static-html.js';
13
+ import { List } from '../../list/internal/list.js';
14
+ import { DEFAULT_TYPEAHEAD_BUFFER_TIME } from '../../menu/internal/menu.js';
15
+ import { isElementInSubtree, isSelectableKey } from '../../menu/internal/shared.js';
16
+ import { TYPEAHEAD_RECORD } from '../../menu/internal/typeaheadController.js';
17
+ import { getSelectedItems } from './shared.js';
18
+ const VALUE = Symbol('value');
19
+ /**
20
+ * @fires input Fired when a selection is made by the user via mouse or keyboard
21
+ * interaction.
22
+ * @fires change Fired when a selection is made by the user via mouse or
23
+ * keyboard interaction.
24
+ */
25
+ export class Select extends LitElement {
26
+ constructor() {
27
+ super(...arguments);
28
+ /**
29
+ * Opens the menu synchronously with no animation.
30
+ */
31
+ this.quick = false;
32
+ /**
33
+ * Whether or not the select is required.
34
+ */
35
+ this.required = false;
36
+ /**
37
+ * Disables the select.
38
+ */
39
+ this.disabled = false;
40
+ /**
41
+ * The error message that replaces supporting text when `error` is true. If
42
+ * `errorText` is an empty string, then the supporting text will continue to
43
+ * show.
44
+ *
45
+ * Calling `reportValidity()` will automatically update `errorText` to the
46
+ * native `validationMessage`.
47
+ */
48
+ this.errorText = '';
49
+ /**
50
+ * The floating label for the field.
51
+ */
52
+ this.label = '';
53
+ /**
54
+ * Conveys additional information below the text field, such as how it should
55
+ * be used.
56
+ */
57
+ this.supportingText = '';
58
+ /**
59
+ * Gets or sets whether or not the text field is in a visually invalid state.
60
+ *
61
+ * Calling `reportValidity()` will automatically update `error`.
62
+ */
63
+ this.error = false;
64
+ /**
65
+ * Whether or not the underlying md-menu should be position: fixed to display
66
+ * in a top-level manner.
67
+ */
68
+ this.menuFixed = false;
69
+ /**
70
+ * The max time between the keystrokes of the typeahead select / menu behavior
71
+ * before it clears the typeahead buffer.
72
+ */
73
+ this.typeaheadDelay = DEFAULT_TYPEAHEAD_BUFFER_TIME;
74
+ /**
75
+ * Whether or not the text field has a leading icon. Used for SSR.
76
+ */
77
+ this.hasLeadingIcon = false;
78
+ /**
79
+ * Text to display in the field. Only set for SSR.
80
+ */
81
+ this.displayText = '';
82
+ this.focused = false;
83
+ this.open = false;
84
+ this[_a] = '';
85
+ /**
86
+ * Used for initializing select when the user sets the `value` directly.
87
+ */
88
+ this.lastUserSetValue = null;
89
+ /**
90
+ * Used for initializing select when the user sets the `selectedIndex`
91
+ * directly.
92
+ */
93
+ this.lastUserSetSelectedIndex = null;
94
+ /**
95
+ * Used for `input` and `change` event change detection.
96
+ */
97
+ this.lastSelectedOption = null;
98
+ // tslint:disable-next-line:enforce-name-casing
99
+ this.lastSelectedOptionRecords = [];
100
+ }
101
+ /**
102
+ * The value of the currently selected option.
103
+ *
104
+ * Note: For SSR, set `[selected]` on the requested option and `displayText`
105
+ * rather than setting `value` setting `value` will incur a DOM query.
106
+ */
107
+ get value() {
108
+ return this[VALUE];
109
+ }
110
+ set value(value) {
111
+ this.lastUserSetValue = value;
112
+ this.select(value);
113
+ }
114
+ get options() {
115
+ // NOTE: this does a DOM query.
116
+ return (this.menu?.items ?? []);
117
+ }
118
+ /**
119
+ * The index of the currently selected option.
120
+ *
121
+ * Note: For SSR, set `[selected]` on the requested option and `displayText`
122
+ * rather than setting `selectedIndex` setting `selectedIndex` will incur a
123
+ * DOM query.
124
+ */
125
+ get selectedIndex() {
126
+ // tslint:disable-next-line:enforce-name-casing
127
+ const [_option, index] = (this.getSelectedOptions() ?? [])[0] ?? [];
128
+ return index ?? -1;
129
+ }
130
+ set selectedIndex(index) {
131
+ this.lastUserSetSelectedIndex = index;
132
+ this.selectIndex(index);
133
+ }
134
+ /**
135
+ * Returns an array of selected options.
136
+ *
137
+ * NOTE: md-select only suppoprts single selection.
138
+ */
139
+ get selectedOptions() {
140
+ return (this.getSelectedOptions() ?? []).map(([option]) => option);
141
+ }
142
+ render() {
143
+ return html `
144
+ <span
145
+ class="select ${classMap(this.getRenderClasses())}"
146
+ @focusout=${this.handleFocusout}>
147
+ ${this.renderField()}
148
+ ${this.renderMenu()}
149
+ </span>
150
+ `;
151
+ }
152
+ getRenderClasses() {
153
+ return {
154
+ 'disabled': this.disabled,
155
+ 'error': this.error,
156
+ 'open': this.open,
157
+ };
158
+ }
159
+ renderField() {
160
+ // TODO(b/290078041): add aria-label/describedby
161
+ return staticHtml `
162
+ <${this.fieldTag}
163
+ aria-haspopup="listbox"
164
+ role="combobox"
165
+ part="field"
166
+ tabindex=${this.disabled ? '-1' : '0'}
167
+ aria-expanded=${this.open ? 'true' : 'false'}
168
+ class="field"
169
+ label=${this.label}
170
+ .focused=${this.focused || this.open}
171
+ .populated=${!!this.displayText}
172
+ .disabled=${this.disabled}
173
+ .required=${this.required}
174
+ .error=${this.error}
175
+ ?has-start=${this.hasLeadingIcon}
176
+ has-end
177
+ supporting-text=${this.supportingText}
178
+ error-text=${this.errorText}
179
+ @keydown =${this.handleKeydown}
180
+ @click=${this.handleClick}
181
+ @focus=${this.handleFocus}
182
+ @blur=${this.handleBlur}>
183
+ ${this.renderFieldContent()}
184
+ </${this.fieldTag}>`;
185
+ }
186
+ renderFieldContent() {
187
+ return [
188
+ this.renderLeadingIcon(),
189
+ this.renderLabel(),
190
+ this.renderTrailingIcon(),
191
+ ];
192
+ }
193
+ renderLeadingIcon() {
194
+ return html `
195
+ <span class="icon leading" slot="start">
196
+ <slot name="leadingicon" @slotchange=${this.handleIconChange}></slot>
197
+ </span>
198
+ `;
199
+ }
200
+ renderTrailingIcon() {
201
+ return html `
202
+ <span class="icon trailing" slot="end">
203
+ <slot name="trailingicon" @slotchange=${this.handleIconChange}>
204
+ <svg height="5" viewBox="7 10 10 5" focusable="false">
205
+ <polygon class="down" stroke="none" fill-rule="evenodd" points="7 10 12 15 17 10"></polygon>
206
+ <polygon class="up" stroke="none" fill-rule="evenodd" points="7 15 12 10 17 15"></polygon>
207
+ </svg>
208
+ </slot>
209
+ </span>
210
+ `;
211
+ }
212
+ renderLabel() {
213
+ // need to render &nbsp; so that line-height can apply and give it a
214
+ // non-zero height
215
+ return html `<div id="label">${this.displayText || html `&nbsp;`}</div>`;
216
+ }
217
+ renderMenu() {
218
+ return html `
219
+ <md-menu
220
+ id="listbox"
221
+ default-focus="NONE"
222
+ listTabIndex="-1"
223
+ type="listbox"
224
+ stay-open-on-focusout
225
+ part="menu"
226
+ exportparts="focus-ring: menu-focus-ring"
227
+ .anchor=${this.field}
228
+ .open=${this.open}
229
+ .quick=${this.quick}
230
+ .fixed=${this.menuFixed}
231
+ .typeaheadDelay=${this.typeaheadDelay}
232
+ @opening=${this.handleOpening}
233
+ @closing=${this.handleClosing}
234
+ @close-menu=${this.handleCloseMenu}
235
+ @request-selection=${this.handleRequestSelection}
236
+ @request-deselection=${this.handleRequestDeselection}>
237
+ ${this.renderMenuContent()}
238
+ </md-menu>`;
239
+ }
240
+ renderMenuContent() {
241
+ return html `<slot></slot>`;
242
+ }
243
+ /**
244
+ * Handles opening the select on keydown and typahead selection when the menu
245
+ * is closed.
246
+ */
247
+ handleKeydown(event) {
248
+ if (this.open || this.disabled || !this.menu) {
249
+ return;
250
+ }
251
+ const typeaheadController = this.menu.typeaheadController;
252
+ const isOpenKey = event.code === 'Space' || event.code === 'ArrowDown' ||
253
+ event.code === 'Enter';
254
+ // Do not open if currently typing ahead because the user may be typing the
255
+ // spacebar to match a word with a space
256
+ if (!typeaheadController.isTypingAhead && isOpenKey) {
257
+ event.preventDefault();
258
+ this.open = true;
259
+ return;
260
+ }
261
+ const isPrintableKey = event.key.length === 1;
262
+ // Handles typing ahead when the menu is closed by delegating the event to
263
+ // the underlying menu's typeaheadController
264
+ if (isPrintableKey) {
265
+ typeaheadController.onKeydown(event);
266
+ event.preventDefault();
267
+ const { lastActiveRecord } = typeaheadController;
268
+ if (!lastActiveRecord) {
269
+ return;
270
+ }
271
+ const hasChanged = this.selectItem(lastActiveRecord[TYPEAHEAD_RECORD.ITEM]);
272
+ if (hasChanged) {
273
+ this.dispatchInteractionEvents();
274
+ }
275
+ }
276
+ }
277
+ handleClick() {
278
+ this.open = true;
279
+ }
280
+ handleFocus() {
281
+ this.focused = true;
282
+ }
283
+ handleBlur() {
284
+ this.focused = false;
285
+ }
286
+ /**
287
+ * Handles closing the menu when the focus leaves the select's subtree.
288
+ */
289
+ handleFocusout(event) {
290
+ // Don't close the menu if we are switching focus between menu,
291
+ // select-option, and field
292
+ if (event.relatedTarget && isElementInSubtree(event.relatedTarget, this)) {
293
+ return;
294
+ }
295
+ this.open = false;
296
+ }
297
+ /**
298
+ * Gets a list of all selected select options as a list item record array.
299
+ *
300
+ * @return An array of selected list option records.
301
+ */
302
+ getSelectedOptions() {
303
+ if (!this.menu) {
304
+ this.lastSelectedOptionRecords = [];
305
+ return null;
306
+ }
307
+ const items = this.menu.items;
308
+ this.lastSelectedOptionRecords = getSelectedItems(items);
309
+ return this.lastSelectedOptionRecords;
310
+ }
311
+ async getUpdateComplete() {
312
+ await this.menu?.updateComplete;
313
+ return super.getUpdateComplete();
314
+ }
315
+ /**
316
+ * Gets the selected options from the DOM, and updates the value and display
317
+ * text to the first selected option's value and headline respectively.
318
+ *
319
+ * @return Whether or not the selected option has changed since last update.
320
+ */
321
+ updateValueAndDisplayText() {
322
+ const selectedOptions = this.getSelectedOptions() ?? [];
323
+ // Used to determine whether or not we need to fire an input / change event
324
+ // which fire whenever the option element changes (value or selectedIndex)
325
+ // on user interaction.
326
+ let hasSelectedOptionChanged = false;
327
+ if (selectedOptions.length) {
328
+ const [firstSelectedOption] = selectedOptions[0];
329
+ hasSelectedOptionChanged =
330
+ this.lastSelectedOption !== firstSelectedOption;
331
+ this.lastSelectedOption = firstSelectedOption;
332
+ this[VALUE] = firstSelectedOption.value;
333
+ this.displayText = firstSelectedOption.headline;
334
+ }
335
+ else {
336
+ hasSelectedOptionChanged = this.lastSelectedOption !== null;
337
+ this.lastSelectedOption = null;
338
+ this[VALUE] = '';
339
+ this.displayText = '';
340
+ }
341
+ return hasSelectedOptionChanged;
342
+ }
343
+ update(changed) {
344
+ // In SSR the options will be ready to query, so try to figure out what
345
+ // the value and display text should be.
346
+ if (!this.hasUpdated) {
347
+ this.initUserSelection();
348
+ }
349
+ super.update(changed);
350
+ }
351
+ async firstUpdated(changed) {
352
+ await this.menu?.updateComplete;
353
+ // If this has been handled on update already due to SSR, try again.
354
+ if (!this.lastSelectedOptionRecords.length) {
355
+ this.initUserSelection();
356
+ }
357
+ super.firstUpdated(changed);
358
+ }
359
+ /**
360
+ * Focuses and activates the last selected item upon opening, and resets other
361
+ * active items.
362
+ */
363
+ async handleOpening() {
364
+ const items = this.menu.items;
365
+ const activeItem = List.getActiveItem(items)?.item;
366
+ const [selectedItem] = this.lastSelectedOptionRecords[0] ?? [null];
367
+ // This is true if the user keys through the list but clicks out of the menu
368
+ // thus no close-menu event is fired by an item and we can't clean up in
369
+ // handleCloseMenu.
370
+ if (activeItem && activeItem !== selectedItem) {
371
+ activeItem.active = false;
372
+ }
373
+ if (selectedItem) {
374
+ selectedItem.active = true;
375
+ selectedItem.focus();
376
+ }
377
+ }
378
+ handleClosing() {
379
+ this.open = false;
380
+ }
381
+ /**
382
+ * Determines the reason for closing, and updates the UI accordingly.
383
+ */
384
+ handleCloseMenu(event) {
385
+ const reason = event.detail.reason;
386
+ const item = event.detail.itemPath[0];
387
+ this.open = false;
388
+ let hasChanged = false;
389
+ if (reason.kind === 'CLICK_SELECTION') {
390
+ hasChanged = this.selectItem(item);
391
+ }
392
+ else if (reason.kind === 'KEYDOWN' && isSelectableKey(reason.key)) {
393
+ hasChanged = this.selectItem(item);
394
+ }
395
+ else {
396
+ // This can happen on ESC being pressed
397
+ item.active = false;
398
+ item.blur();
399
+ }
400
+ // Dispatch interaction events since selection has been made via keyboard
401
+ // or mouse.
402
+ if (hasChanged) {
403
+ this.dispatchInteractionEvents();
404
+ }
405
+ }
406
+ /**
407
+ * Selects a given option, deselects other options, and updates the UI.
408
+ *
409
+ * @return Whether the last selected option has changed.
410
+ */
411
+ selectItem(item) {
412
+ this.lastSelectedOptionRecords.forEach(([option]) => {
413
+ if (item !== option) {
414
+ option.selected = false;
415
+ }
416
+ });
417
+ item.selected = true;
418
+ return this.updateValueAndDisplayText();
419
+ }
420
+ /**
421
+ * Handles updating selection when an option element requests selection via
422
+ * property / attribute change.
423
+ */
424
+ handleRequestSelection(event) {
425
+ const requestingOptionEl = event.target;
426
+ // No-op if this item is already selected.
427
+ if (this.lastSelectedOptionRecords.some(([option]) => option === requestingOptionEl)) {
428
+ return;
429
+ }
430
+ this.selectItem(requestingOptionEl);
431
+ }
432
+ /**
433
+ * Handles updating selection when an option element requests deselection via
434
+ * property / attribute change.
435
+ */
436
+ handleRequestDeselection(event) {
437
+ const requestingOptionEl = event.target;
438
+ // No-op if this item is not even in the list of tracked selected items.
439
+ if (!this.lastSelectedOptionRecords.some(([option]) => option === requestingOptionEl)) {
440
+ return;
441
+ }
442
+ this.updateValueAndDisplayText();
443
+ }
444
+ /**
445
+ * Selects an option given the value of the option, and updates MdSelect's
446
+ * value.
447
+ */
448
+ select(value) {
449
+ const optionToSelect = this.options.find(option => option.value === value);
450
+ if (optionToSelect) {
451
+ this.selectItem(optionToSelect);
452
+ }
453
+ }
454
+ /**
455
+ * Selects an option given the index of the option, and updates MdSelect's
456
+ * value.
457
+ */
458
+ selectIndex(index) {
459
+ const optionToSelect = this.options[index];
460
+ if (optionToSelect) {
461
+ this.selectItem(optionToSelect);
462
+ }
463
+ }
464
+ /**
465
+ * Attempts to initialize the selected option from user-settable values like
466
+ * SSR, setting `value`, or `selectedIndex` at startup.
467
+ */
468
+ initUserSelection() {
469
+ // User has set `.value` directly, but internals have not yet booted up.
470
+ if (this.lastUserSetValue && !this.lastSelectedOptionRecords.length) {
471
+ this.select(this.lastUserSetValue);
472
+ // User has set `.selectedIndex` directly, but internals have not yet
473
+ // booted up.
474
+ }
475
+ else if (this.lastUserSetSelectedIndex !== null &&
476
+ !this.lastSelectedOptionRecords.length) {
477
+ this.selectIndex(this.lastUserSetSelectedIndex);
478
+ // Regular boot up!
479
+ }
480
+ else {
481
+ this.updateValueAndDisplayText();
482
+ }
483
+ }
484
+ handleIconChange() {
485
+ this.hasLeadingIcon = this.leadingIcons.length > 0;
486
+ }
487
+ /**
488
+ * Dispatches the `input` and `change` events.
489
+ */
490
+ dispatchInteractionEvents() {
491
+ this.dispatchEvent(new Event('input', { bubbles: true, composed: true }));
492
+ this.dispatchEvent(new Event('change', { bubbles: true }));
493
+ }
494
+ }
495
+ _a = VALUE;
496
+ __decorate([
497
+ property({ type: Boolean })
498
+ ], Select.prototype, "quick", void 0);
499
+ __decorate([
500
+ property({ type: Boolean })
501
+ ], Select.prototype, "required", void 0);
502
+ __decorate([
503
+ property({ type: Boolean, reflect: true })
504
+ ], Select.prototype, "disabled", void 0);
505
+ __decorate([
506
+ property({ type: String, attribute: 'error-text' })
507
+ ], Select.prototype, "errorText", void 0);
508
+ __decorate([
509
+ property()
510
+ ], Select.prototype, "label", void 0);
511
+ __decorate([
512
+ property({ type: String, attribute: 'supporting-text' })
513
+ ], Select.prototype, "supportingText", void 0);
514
+ __decorate([
515
+ property({ type: Boolean, reflect: true })
516
+ ], Select.prototype, "error", void 0);
517
+ __decorate([
518
+ property({ type: Boolean, attribute: 'menu-fixed' })
519
+ ], Select.prototype, "menuFixed", void 0);
520
+ __decorate([
521
+ property({ type: Number, attribute: 'typeahead-delay' })
522
+ ], Select.prototype, "typeaheadDelay", void 0);
523
+ __decorate([
524
+ property({ type: Boolean, attribute: 'has-leading-icon' })
525
+ ], Select.prototype, "hasLeadingIcon", void 0);
526
+ __decorate([
527
+ property({ attribute: 'display-text' })
528
+ ], Select.prototype, "displayText", void 0);
529
+ __decorate([
530
+ state()
531
+ ], Select.prototype, "focused", void 0);
532
+ __decorate([
533
+ state()
534
+ ], Select.prototype, "open", void 0);
535
+ __decorate([
536
+ query('.field')
537
+ ], Select.prototype, "field", void 0);
538
+ __decorate([
539
+ query('md-menu')
540
+ ], Select.prototype, "menu", void 0);
541
+ __decorate([
542
+ queryAssignedElements({ slot: 'leadingicon', flatten: true })
543
+ ], Select.prototype, "leadingIcons", void 0);
544
+ __decorate([
545
+ property()
546
+ ], Select.prototype, "value", null);
547
+ __decorate([
548
+ property({ type: Number, attribute: 'selected-index' })
549
+ ], Select.prototype, "selectedIndex", null);
550
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["select.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 '../../menu/menu.js';\n\nimport {html, LitElement, PropertyValues} from 'lit';\nimport {property, query, queryAssignedElements, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {html as staticHtml, StaticValue} from 'lit/static-html.js';\n\nimport {Field} from '../../field/internal/field.js';\nimport {List} from '../../list/internal/list.js';\nimport {DEFAULT_TYPEAHEAD_BUFFER_TIME, Menu} from '../../menu/internal/menu.js';\nimport {CloseMenuEvent, isElementInSubtree, isSelectableKey} from '../../menu/internal/shared.js';\nimport {TYPEAHEAD_RECORD} from '../../menu/internal/typeaheadController.js';\n\nimport {createRequestDeselectionEvent, createRequestSelectionEvent, getSelectedItems, SelectOption, SelectOptionRecord} from './shared.js';\n\nconst VALUE = Symbol('value');\n\n/**\n * @fires input Fired when a selection is made by the user via mouse or keyboard\n * interaction.\n * @fires change Fired when a selection is made by the user via mouse or\n * keyboard interaction.\n */\nexport abstract class Select extends LitElement {\n /**\n * Opens the menu synchronously with no animation.\n */\n @property({type: Boolean}) quick = false;\n /**\n * Whether or not the select is required.\n */\n @property({type: Boolean}) required = false;\n /**\n * Disables the select.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n /**\n * The error message that replaces supporting text when `error` is true. If\n * `errorText` is an empty string, then the supporting text will continue to\n * show.\n *\n * Calling `reportValidity()` will automatically update `errorText` to the\n * native `validationMessage`.\n */\n @property({type: String, attribute: 'error-text'}) errorText = '';\n /**\n * The floating label for the field.\n */\n @property() label = '';\n /**\n * Conveys additional information below the text field, such as how it should\n * be used.\n */\n @property({type: String, attribute: 'supporting-text'}) supportingText = '';\n /**\n * Gets or sets whether or not the text field is in a visually invalid state.\n *\n * Calling `reportValidity()` will automatically update `error`.\n */\n @property({type: Boolean, reflect: true}) error = false;\n /**\n * Whether or not the underlying md-menu should be position: fixed to display\n * in a top-level manner.\n */\n @property({type: Boolean, attribute: 'menu-fixed'}) menuFixed = false;\n /**\n * The max time between the keystrokes of the typeahead select / menu behavior\n * before it clears the typeahead buffer.\n */\n @property({type: Number, attribute: 'typeahead-delay'})\n typeaheadDelay = DEFAULT_TYPEAHEAD_BUFFER_TIME;\n /**\n * Whether or not the text field has a leading icon. Used for SSR.\n */\n @property({type: Boolean, attribute: 'has-leading-icon'})\n hasLeadingIcon = false;\n /**\n * Text to display in the field. Only set for SSR.\n */\n @property({attribute: 'display-text'}) displayText = '';\n\n @state() private focused = false;\n @state() private open = false;\n @query('.field') private readonly field!: Field|null;\n @query('md-menu') private readonly menu!: Menu|null;\n @queryAssignedElements({slot: 'leadingicon', flatten: true})\n private readonly leadingIcons!: Element[];\n\n /**\n * The value of the currently selected option.\n *\n * Note: For SSR, set `[selected]` on the requested option and `displayText`\n * rather than setting `value` setting `value` will incur a DOM query.\n */\n @property()\n get value(): string {\n return this[VALUE];\n }\n\n set value(value: string) {\n this.lastUserSetValue = value;\n this.select(value);\n }\n\n [VALUE] = '';\n\n get options() {\n // NOTE: this does a DOM query.\n return (this.menu?.items ?? []) as SelectOption[];\n }\n\n /**\n * The index of the currently selected option.\n *\n * Note: For SSR, set `[selected]` on the requested option and `displayText`\n * rather than setting `selectedIndex` setting `selectedIndex` will incur a\n * DOM query.\n */\n @property({type: Number, attribute: 'selected-index'})\n get selectedIndex(): number {\n // tslint:disable-next-line:enforce-name-casing\n const [_option, index] = (this.getSelectedOptions() ?? [])[0] ?? [];\n return index ?? -1;\n }\n\n set selectedIndex(index: number) {\n this.lastUserSetSelectedIndex = index;\n this.selectIndex(index);\n }\n\n /**\n * Returns an array of selected options.\n *\n * NOTE: md-select only suppoprts single selection.\n */\n get selectedOptions() {\n return (this.getSelectedOptions() ?? []).map(([option]) => option);\n }\n\n protected abstract readonly fieldTag: StaticValue;\n\n /**\n * Used for initializing select when the user sets the `value` directly.\n */\n private lastUserSetValue: string|null = null;\n\n /**\n * Used for initializing select when the user sets the `selectedIndex`\n * directly.\n */\n private lastUserSetSelectedIndex: number|null = null;\n\n /**\n * Used for `input` and `change` event change detection.\n */\n private lastSelectedOption: SelectOption|null = null;\n\n // tslint:disable-next-line:enforce-name-casing\n private lastSelectedOptionRecords: SelectOptionRecord[] = [];\n\n protected override render() {\n return html`\n <span\n class=\"select ${classMap(this.getRenderClasses())}\"\n @focusout=${this.handleFocusout}>\n ${this.renderField()}\n ${this.renderMenu()}\n </span>\n `;\n }\n\n private getRenderClasses() {\n return {\n 'disabled': this.disabled,\n 'error': this.error,\n 'open': this.open,\n };\n }\n\n private renderField() {\n // TODO(b/290078041): add aria-label/describedby\n return staticHtml`\n <${this.fieldTag}\n aria-haspopup=\"listbox\"\n role=\"combobox\"\n part=\"field\"\n tabindex=${this.disabled ? '-1' : '0'}\n aria-expanded=${this.open ? 'true' : 'false'}\n class=\"field\"\n label=${this.label}\n .focused=${this.focused || this.open}\n .populated=${!!this.displayText}\n .disabled=${this.disabled}\n .required=${this.required}\n .error=${this.error}\n ?has-start=${this.hasLeadingIcon}\n has-end\n supporting-text=${this.supportingText}\n error-text=${this.errorText}\n @keydown =${this.handleKeydown}\n @click=${this.handleClick}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}>\n ${this.renderFieldContent()}\n </${this.fieldTag}>`;\n }\n\n private renderFieldContent() {\n return [\n this.renderLeadingIcon(),\n this.renderLabel(),\n this.renderTrailingIcon(),\n ];\n }\n\n private renderLeadingIcon() {\n return html`\n <span class=\"icon leading\" slot=\"start\">\n <slot name=\"leadingicon\" @slotchange=${this.handleIconChange}></slot>\n </span>\n `;\n }\n\n private renderTrailingIcon() {\n return html`\n <span class=\"icon trailing\" slot=\"end\">\n <slot name=\"trailingicon\" @slotchange=${this.handleIconChange}>\n <svg height=\"5\" viewBox=\"7 10 10 5\" focusable=\"false\">\n <polygon class=\"down\" stroke=\"none\" fill-rule=\"evenodd\" points=\"7 10 12 15 17 10\"></polygon>\n <polygon class=\"up\" stroke=\"none\" fill-rule=\"evenodd\" points=\"7 15 12 10 17 15\"></polygon>\n </svg>\n </slot>\n </span>\n `;\n }\n\n private renderLabel() {\n // need to render &nbsp; so that line-height can apply and give it a\n // non-zero height\n return html`<div id=\"label\">${this.displayText || html`&nbsp;`}</div>`;\n }\n\n private renderMenu() {\n return html`\n <md-menu\n id=\"listbox\"\n default-focus=\"NONE\"\n listTabIndex=\"-1\"\n type=\"listbox\"\n stay-open-on-focusout\n part=\"menu\"\n exportparts=\"focus-ring: menu-focus-ring\"\n .anchor=${this.field}\n .open=${this.open}\n .quick=${this.quick}\n .fixed=${this.menuFixed}\n .typeaheadDelay=${this.typeaheadDelay}\n @opening=${this.handleOpening}\n @closing=${this.handleClosing}\n @close-menu=${this.handleCloseMenu}\n @request-selection=${this.handleRequestSelection}\n @request-deselection=${this.handleRequestDeselection}>\n ${this.renderMenuContent()}\n </md-menu>`;\n }\n\n private renderMenuContent() {\n return html`<slot></slot>`;\n }\n\n /**\n * Handles opening the select on keydown and typahead selection when the menu\n * is closed.\n */\n private handleKeydown(event: KeyboardEvent) {\n if (this.open || this.disabled || !this.menu) {\n return;\n }\n\n const typeaheadController = this.menu.typeaheadController;\n const isOpenKey = event.code === 'Space' || event.code === 'ArrowDown' ||\n event.code === 'Enter';\n\n // Do not open if currently typing ahead because the user may be typing the\n // spacebar to match a word with a space\n if (!typeaheadController.isTypingAhead && isOpenKey) {\n event.preventDefault();\n this.open = true;\n return;\n }\n\n const isPrintableKey = event.key.length === 1;\n\n // Handles typing ahead when the menu is closed by delegating the event to\n // the underlying menu's typeaheadController\n if (isPrintableKey) {\n typeaheadController.onKeydown(event);\n event.preventDefault();\n\n const {lastActiveRecord} = typeaheadController;\n\n if (!lastActiveRecord) {\n return;\n }\n\n const hasChanged = this.selectItem(\n lastActiveRecord[TYPEAHEAD_RECORD.ITEM] as SelectOption);\n\n if (hasChanged) {\n this.dispatchInteractionEvents();\n }\n }\n }\n\n private handleClick() {\n this.open = true;\n }\n\n private handleFocus() {\n this.focused = true;\n }\n\n private handleBlur() {\n this.focused = false;\n }\n\n /**\n * Handles closing the menu when the focus leaves the select's subtree.\n */\n private handleFocusout(event: FocusEvent) {\n // Don't close the menu if we are switching focus between menu,\n // select-option, and field\n if (event.relatedTarget && isElementInSubtree(event.relatedTarget, this)) {\n return;\n }\n\n this.open = false;\n }\n\n /**\n * Gets a list of all selected select options as a list item record array.\n *\n * @return An array of selected list option records.\n */\n private getSelectedOptions() {\n if (!this.menu) {\n this.lastSelectedOptionRecords = [];\n return null;\n }\n\n const items = this.menu.items as SelectOption[];\n this.lastSelectedOptionRecords = getSelectedItems(items);\n return this.lastSelectedOptionRecords;\n }\n\n override async getUpdateComplete() {\n await this.menu?.updateComplete;\n return super.getUpdateComplete();\n }\n\n /**\n * Gets the selected options from the DOM, and updates the value and display\n * text to the first selected option's value and headline respectively.\n *\n * @return Whether or not the selected option has changed since last update.\n */\n private updateValueAndDisplayText() {\n const selectedOptions = this.getSelectedOptions() ?? [];\n // Used to determine whether or not we need to fire an input / change event\n // which fire whenever the option element changes (value or selectedIndex)\n // on user interaction.\n let hasSelectedOptionChanged = false;\n\n if (selectedOptions.length) {\n const [firstSelectedOption] = selectedOptions[0];\n hasSelectedOptionChanged =\n this.lastSelectedOption !== firstSelectedOption;\n this.lastSelectedOption = firstSelectedOption;\n this[VALUE] = firstSelectedOption.value;\n this.displayText = firstSelectedOption.headline;\n\n } else {\n hasSelectedOptionChanged = this.lastSelectedOption !== null;\n this.lastSelectedOption = null;\n this[VALUE] = '';\n this.displayText = '';\n }\n\n return hasSelectedOptionChanged;\n }\n\n protected override update(changed: PropertyValues<this>) {\n // In SSR the options will be ready to query, so try to figure out what\n // the value and display text should be.\n if (!this.hasUpdated) {\n this.initUserSelection();\n }\n\n super.update(changed);\n }\n\n protected override async firstUpdated(changed: PropertyValues<this>) {\n await this.menu?.updateComplete;\n // If this has been handled on update already due to SSR, try again.\n if (!this.lastSelectedOptionRecords.length) {\n this.initUserSelection();\n }\n\n super.firstUpdated(changed);\n }\n\n /**\n * Focuses and activates the last selected item upon opening, and resets other\n * active items.\n */\n private async handleOpening() {\n const items = this.menu!.items;\n const activeItem = List.getActiveItem(items)?.item;\n const [selectedItem] = this.lastSelectedOptionRecords[0] ?? [null];\n\n // This is true if the user keys through the list but clicks out of the menu\n // thus no close-menu event is fired by an item and we can't clean up in\n // handleCloseMenu.\n if (activeItem && activeItem !== selectedItem) {\n activeItem.active = false;\n }\n\n if (selectedItem) {\n selectedItem.active = true;\n selectedItem.focus();\n }\n }\n\n private handleClosing() {\n this.open = false;\n }\n\n /**\n * Determines the reason for closing, and updates the UI accordingly.\n */\n private handleCloseMenu(event: CloseMenuEvent) {\n const reason = event.detail.reason;\n const item = event.detail.itemPath[0] as SelectOption;\n this.open = false;\n let hasChanged = false;\n\n if (reason.kind === 'CLICK_SELECTION') {\n hasChanged = this.selectItem(item);\n } else if (reason.kind === 'KEYDOWN' && isSelectableKey(reason.key)) {\n hasChanged = this.selectItem(item);\n } else {\n // This can happen on ESC being pressed\n item.active = false;\n item.blur();\n }\n\n // Dispatch interaction events since selection has been made via keyboard\n // or mouse.\n if (hasChanged) {\n this.dispatchInteractionEvents();\n }\n }\n\n /**\n * Selects a given option, deselects other options, and updates the UI.\n *\n * @return Whether the last selected option has changed.\n */\n private selectItem(item: SelectOption) {\n this.lastSelectedOptionRecords.forEach(([option]) => {\n if (item !== option) {\n option.selected = false;\n }\n });\n item.selected = true;\n\n return this.updateValueAndDisplayText();\n }\n\n /**\n * Handles updating selection when an option element requests selection via\n * property / attribute change.\n */\n private handleRequestSelection(\n event: ReturnType<typeof createRequestSelectionEvent>) {\n const requestingOptionEl = event.target as SelectOption & HTMLElement;\n\n // No-op if this item is already selected.\n if (this.lastSelectedOptionRecords.some(\n ([option]) => option === requestingOptionEl)) {\n return;\n }\n\n this.selectItem(requestingOptionEl);\n }\n\n /**\n * Handles updating selection when an option element requests deselection via\n * property / attribute change.\n */\n private handleRequestDeselection(\n event: ReturnType<typeof createRequestDeselectionEvent>) {\n const requestingOptionEl = event.target as SelectOption & HTMLElement;\n\n // No-op if this item is not even in the list of tracked selected items.\n if (!this.lastSelectedOptionRecords.some(\n ([option]) => option === requestingOptionEl)) {\n return;\n }\n\n this.updateValueAndDisplayText();\n }\n\n /**\n * Selects an option given the value of the option, and updates MdSelect's\n * value.\n */\n select(value: string) {\n const optionToSelect = this.options.find(option => option.value === value);\n if (optionToSelect) {\n this.selectItem(optionToSelect);\n }\n }\n\n /**\n * Selects an option given the index of the option, and updates MdSelect's\n * value.\n */\n selectIndex(index: number) {\n const optionToSelect = this.options[index];\n if (optionToSelect) {\n this.selectItem(optionToSelect);\n }\n }\n\n /**\n * Attempts to initialize the selected option from user-settable values like\n * SSR, setting `value`, or `selectedIndex` at startup.\n */\n private initUserSelection() {\n // User has set `.value` directly, but internals have not yet booted up.\n if (this.lastUserSetValue && !this.lastSelectedOptionRecords.length) {\n this.select(this.lastUserSetValue);\n\n // User has set `.selectedIndex` directly, but internals have not yet\n // booted up.\n } else if (\n this.lastUserSetSelectedIndex !== null &&\n !this.lastSelectedOptionRecords.length) {\n this.selectIndex(this.lastUserSetSelectedIndex);\n\n // Regular boot up!\n } else {\n this.updateValueAndDisplayText();\n }\n }\n\n private handleIconChange() {\n this.hasLeadingIcon = this.leadingIcons.length > 0;\n }\n\n /**\n * Dispatches the `input` and `change` events.\n */\n private dispatchInteractionEvents() {\n this.dispatchEvent(new Event('input', {bubbles: true, composed: true}));\n this.dispatchEvent(new Event('change', {bubbles: true}));\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ListItemHarness } from '../../../list/internal/listitem/harness.js';
7
+ /**
8
+ * Test harness for menu item.
9
+ */
10
+ export declare class SelectOptionHarness extends ListItemHarness {
11
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ListItemHarness } from '../../../list/internal/listitem/harness.js';
7
+ /**
8
+ * Test harness for menu item.
9
+ */
10
+ export class SelectOptionHarness 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,mBAAoB,SAAQ,eAAe;CAAG","sourcesContent":["/**\n * @license\n * Copyright 2022 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 SelectOptionHarness extends ListItemHarness {}\n"]}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { PropertyValues } from 'lit';
7
+ import { ListItemRole, MenuItemEl } from '../../../menu/internal/menuitem/menu-item.js';
8
+ import { SelectOption } from '../shared.js';
9
+ /**
10
+ * @fires close-menu Closes the encapsulating menu on
11
+ * @fires request-selection Requests the parent md-select to select this element
12
+ * (and deselect others if single-selection) when `selected` changed to `true`.
13
+ * @fires request-deselection Requests the parent md-select to deselect this
14
+ * element when `selected` changed to `false`.
15
+ */
16
+ export declare class SelectOptionEl extends MenuItemEl implements SelectOption {
17
+ /**
18
+ * Form value of the option.
19
+ */
20
+ value: string;
21
+ /**
22
+ * Whether or not this option is selected.
23
+ */
24
+ selected: boolean;
25
+ readonly type: ListItemRole;
26
+ willUpdate(changed: PropertyValues<this>): void;
27
+ updated(changed: PropertyValues<this>): void;
28
+ }