@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,88 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { LitElement, PropertyValues } from 'lit';
7
+ import { Tab, TabVariant } from './tab.js';
8
+ /**
9
+ * @fires change Fired when the selected tab changes. The target's selected or
10
+ * selectedItem and previousSelected or previousSelectedItem provide information
11
+ * about the selection change. The change event is fired when a user interaction
12
+ * like a space/enter key or click cause a selection change. The tab selection
13
+ * based on these actions can be cancelled by calling preventDefault on the
14
+ * triggering `keydown` or `click` event.
15
+ *
16
+ * @example
17
+ * // perform an action if a tab is clicked
18
+ * tabs.addEventListener('change', (event: Event) => {
19
+ * if (event.target.selected === 2)
20
+ * takeAction();
21
+ * }
22
+ * });
23
+ *
24
+ * // prevent a click from triggering tab selection under some condition
25
+ * tabs.addEventListener('click', (event: Event) => {
26
+ * if (notReady)
27
+ * event.preventDefault();
28
+ * }
29
+ * });
30
+ *
31
+ */
32
+ export declare class Tabs extends LitElement {
33
+ /** @nocollapse */
34
+ static readonly shadowRootOptions: {
35
+ delegatesFocus: boolean;
36
+ mode: ShadowRootMode;
37
+ slotAssignment?: SlotAssignmentMode;
38
+ };
39
+ /**
40
+ * Styling variant to display, 'primary' (default) or 'secondary'.
41
+ */
42
+ variant: TabVariant;
43
+ /**
44
+ * Whether or not the item is `disabled`.
45
+ */
46
+ disabled: boolean;
47
+ /**
48
+ * Index of the selected item.
49
+ */
50
+ selected: number;
51
+ /**
52
+ * Whether or not to select an item when focused.
53
+ */
54
+ selectOnFocus: boolean;
55
+ private previousSelected;
56
+ private readonly scrollMargin;
57
+ private readonly items;
58
+ private itemsDirty;
59
+ private readonly selectedAttribute;
60
+ /**
61
+ * The item currently selected.
62
+ */
63
+ get selectedItem(): Tab;
64
+ /**
65
+ * The item previously selected.
66
+ */
67
+ get previousSelectedItem(): Tab;
68
+ /**
69
+ * The item currently focused.
70
+ */
71
+ protected get focusedItem(): Tab;
72
+ constructor();
73
+ connectedCallback(): void;
74
+ private readonly handleKeydown;
75
+ private readonly handleKeyup;
76
+ private readonly handleFocusout;
77
+ private findFocusableItem;
78
+ private wasEventPrevented;
79
+ private dispatchInteraction;
80
+ protected willUpdate(changed: PropertyValues): void;
81
+ protected updated(changed: PropertyValues): Promise<void>;
82
+ private updateFocusableItem;
83
+ protected render(): import("lit-html").TemplateResult<1>;
84
+ private handleItemClick;
85
+ private handleSlotChange;
86
+ private itemsUpdateComplete;
87
+ private scrollItemIntoView;
88
+ }
@@ -0,0 +1,307 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { __decorate } from "tslib";
7
+ import { html, isServer, LitElement } from 'lit';
8
+ import { property, queryAssignedElements, state } from 'lit/decorators.js';
9
+ // TODO(b/293506179): remove vertical logic
10
+ const NAVIGATION_KEYS = new Map([
11
+ ['default', new Set(['Home', 'End'])],
12
+ ['horizontal', new Set(['ArrowLeft', 'ArrowRight'])],
13
+ ['vertical', new Set(['ArrowUp', 'ArrowDown'])]
14
+ ]);
15
+ /**
16
+ * @fires change Fired when the selected tab changes. The target's selected or
17
+ * selectedItem and previousSelected or previousSelectedItem provide information
18
+ * about the selection change. The change event is fired when a user interaction
19
+ * like a space/enter key or click cause a selection change. The tab selection
20
+ * based on these actions can be cancelled by calling preventDefault on the
21
+ * triggering `keydown` or `click` event.
22
+ *
23
+ * @example
24
+ * // perform an action if a tab is clicked
25
+ * tabs.addEventListener('change', (event: Event) => {
26
+ * if (event.target.selected === 2)
27
+ * takeAction();
28
+ * }
29
+ * });
30
+ *
31
+ * // prevent a click from triggering tab selection under some condition
32
+ * tabs.addEventListener('click', (event: Event) => {
33
+ * if (notReady)
34
+ * event.preventDefault();
35
+ * }
36
+ * });
37
+ *
38
+ */
39
+ export class Tabs extends LitElement {
40
+ /**
41
+ * The item currently selected.
42
+ */
43
+ get selectedItem() {
44
+ return this.items[this.selected];
45
+ }
46
+ /**
47
+ * The item previously selected.
48
+ */
49
+ get previousSelectedItem() {
50
+ return this.items[this.previousSelected];
51
+ }
52
+ /**
53
+ * The item currently focused.
54
+ */
55
+ get focusedItem() {
56
+ return this.items.find((el) => el.matches(':focus-within'));
57
+ }
58
+ constructor() {
59
+ super();
60
+ /**
61
+ * Styling variant to display, 'primary' (default) or 'secondary'.
62
+ */
63
+ this.variant = 'primary';
64
+ /**
65
+ * Whether or not the item is `disabled`.
66
+ */
67
+ this.disabled = false;
68
+ /**
69
+ * Index of the selected item.
70
+ */
71
+ this.selected = 0;
72
+ /**
73
+ * Whether or not to select an item when focused.
74
+ */
75
+ this.selectOnFocus = false;
76
+ this.previousSelected = -1;
77
+ this.scrollMargin = 48;
78
+ // this tracks if items have changed, which triggers rendering so they can
79
+ // be kept in sync
80
+ this.itemsDirty = false;
81
+ this.selectedAttribute = `selected`;
82
+ // focus item on keydown and optionally select it
83
+ this.handleKeydown = async (event) => {
84
+ const { key } = event;
85
+ const shouldHandleKey = NAVIGATION_KEYS.get('default').has(key) ||
86
+ NAVIGATION_KEYS.get('horizontal').has(key);
87
+ // await to after user may cancel event.
88
+ if (!shouldHandleKey || (await this.wasEventPrevented(event, true)) ||
89
+ this.disabled) {
90
+ return;
91
+ }
92
+ let indexToFocus = -1;
93
+ const focused = this.focusedItem ?? this.selectedItem;
94
+ const itemCount = this.items.length;
95
+ const isPrevKey = key === 'ArrowLeft' || key === 'ArrowUp';
96
+ if (key === 'Home') {
97
+ indexToFocus = 0;
98
+ }
99
+ else if (key === 'End') {
100
+ indexToFocus = itemCount - 1;
101
+ }
102
+ else {
103
+ const focusedIndex = this.items.indexOf(focused) || 0;
104
+ indexToFocus = focusedIndex + (isPrevKey ? -1 : 1);
105
+ indexToFocus =
106
+ indexToFocus < 0 ? itemCount - 1 : indexToFocus % itemCount;
107
+ }
108
+ const itemToFocus = this.findFocusableItem(indexToFocus, key === 'End' || isPrevKey);
109
+ indexToFocus = this.items.indexOf(itemToFocus);
110
+ if (itemToFocus !== null && itemToFocus !== focused) {
111
+ this.updateFocusableItem(itemToFocus);
112
+ itemToFocus.focus();
113
+ if (this.selectOnFocus) {
114
+ this.selected = indexToFocus;
115
+ await this.dispatchInteraction();
116
+ }
117
+ }
118
+ };
119
+ // scroll to item on keyup.
120
+ this.handleKeyup = () => {
121
+ this.scrollItemIntoView(this.focusedItem ?? this.selectedItem);
122
+ };
123
+ // restore focus to selected item when blurring.
124
+ this.handleFocusout = async () => {
125
+ await this.updateComplete;
126
+ const nowFocused = this.getRootNode().activeElement;
127
+ if (this.items.indexOf(nowFocused) === -1) {
128
+ this.updateFocusableItem(this.selectedItem);
129
+ }
130
+ };
131
+ if (!isServer) {
132
+ this.addEventListener('keydown', this.handleKeydown);
133
+ this.addEventListener('keyup', this.handleKeyup);
134
+ this.addEventListener('focusout', this.handleFocusout);
135
+ }
136
+ }
137
+ connectedCallback() {
138
+ super.connectedCallback();
139
+ this.setAttribute('role', 'tablist');
140
+ }
141
+ findFocusableItem(i = -1, prev = false, tries = 0) {
142
+ const itemCount = this.items.length - 1;
143
+ while (this.items[i]?.disabled && tries <= itemCount) {
144
+ tries++;
145
+ i = (i + (prev ? -1 : 1));
146
+ if (i > itemCount) {
147
+ return this.findFocusableItem(0, false, tries);
148
+ }
149
+ else if (i < 0) {
150
+ return this.findFocusableItem(itemCount, true, tries);
151
+ }
152
+ }
153
+ return this.items[i] ?? null;
154
+ }
155
+ // Note, this is async to allow the event to bubble to user code, which
156
+ // may call `preventDefault`. If it does, avoid performing the tabs action
157
+ // which is selecting a new tab. Sometimes, the native event must be
158
+ // prevented to avoid, for example, scrolling. In this case, the event is
159
+ // patched to be able to detect if the user calls prevent default.
160
+ // Alternatively, the event could be stopped and re-dispatched synchroously,
161
+ // but this would be complicated since the event should be re-dispatched from
162
+ // the initial element to potentially trigger a native action (e.g. a history
163
+ // navigation via a tab label), and this could result in some listener hearing
164
+ // 2x events.
165
+ async wasEventPrevented(event, preventNativeDefault = false) {
166
+ if (preventNativeDefault) {
167
+ // prevent native default to stop, e.g. scrolling.
168
+ event.preventDefault();
169
+ // reset prevention to see if user is cancelling this action.
170
+ Object.defineProperties(event, {
171
+ 'defaultPrevented': { value: false, writable: true, configurable: true },
172
+ 'preventDefault': {
173
+ // Type needed for closure conformance. Using the Event type results
174
+ // in a type error.
175
+ value() {
176
+ this.defaultPrevented = true;
177
+ },
178
+ writable: true,
179
+ configurable: true
180
+ }
181
+ });
182
+ }
183
+ // allow event to propagate to user code.
184
+ await new Promise(requestAnimationFrame);
185
+ return event.defaultPrevented;
186
+ }
187
+ async dispatchInteraction() {
188
+ // wait for items to render.
189
+ await new Promise(requestAnimationFrame);
190
+ const event = new Event('change', { bubbles: true });
191
+ this.dispatchEvent(event);
192
+ }
193
+ willUpdate(changed) {
194
+ if (changed.has('selected')) {
195
+ this.previousSelected = changed.get('selected') ?? -1;
196
+ }
197
+ if (this.itemsDirty) {
198
+ this.itemsDirty = false;
199
+ this.previousSelected = -1;
200
+ }
201
+ }
202
+ async updated(changed) {
203
+ const itemsOrVariantChanged = changed.has('itemsDirty') || changed.has('variant');
204
+ // sync state with items.
205
+ if (itemsOrVariantChanged || changed.has('disabled')) {
206
+ this.items.forEach((item, i) => {
207
+ item.selected = this.selected === i;
208
+ item.variant = this.variant;
209
+ item.disabled = this.disabled;
210
+ });
211
+ }
212
+ if (itemsOrVariantChanged || changed.has('selected')) {
213
+ if (this.previousSelectedItem !== this.selectedItem) {
214
+ this.previousSelectedItem?.removeAttribute(this.selectedAttribute);
215
+ this.selectedItem?.setAttribute(this.selectedAttribute, '');
216
+ }
217
+ if (this.selectedItem !== this.focusedItem) {
218
+ this.updateFocusableItem(this.selectedItem);
219
+ }
220
+ await this.scrollItemIntoView();
221
+ }
222
+ }
223
+ updateFocusableItem(focusableItem) {
224
+ for (const item of this.items) {
225
+ item.focusable = item === focusableItem;
226
+ }
227
+ }
228
+ render() {
229
+ return html `
230
+ <slot @slotchange=${this.handleSlotChange} @click=${this.handleItemClick}></slot>
231
+ `;
232
+ }
233
+ async handleItemClick(event) {
234
+ const { target } = event;
235
+ if (await this.wasEventPrevented(event)) {
236
+ return;
237
+ }
238
+ const item = target.closest(`${this.localName} > *`);
239
+ const i = this.items.indexOf(item);
240
+ if (i > -1 && this.selected !== i) {
241
+ this.selected = i;
242
+ this.updateFocusableItem(this.selectedItem);
243
+ // note, Safari will not focus the button here, but if focus is manually
244
+ // triggered, this can match focus-visible and show the focus-ring,
245
+ // so avoid the temptation to cal focus!
246
+ await this.dispatchInteraction();
247
+ }
248
+ }
249
+ handleSlotChange() {
250
+ this.itemsDirty = true;
251
+ }
252
+ async itemsUpdateComplete() {
253
+ for (const item of this.items) {
254
+ await item.updateComplete;
255
+ }
256
+ return true;
257
+ }
258
+ // ensures the given item is visible in view; defaults to the selected item
259
+ async scrollItemIntoView(item = this.selectedItem) {
260
+ if (!item) {
261
+ return;
262
+ }
263
+ // wait for items to render.
264
+ await this.itemsUpdateComplete();
265
+ // TODO(b/293506179): remove vertical logic
266
+ const isVertical = false;
267
+ const offset = isVertical ? item.offsetTop : item.offsetLeft;
268
+ const extent = isVertical ? item.offsetHeight : item.offsetWidth;
269
+ const scroll = isVertical ? this.scrollTop : this.scrollLeft;
270
+ const hostExtent = isVertical ? this.offsetHeight : this.offsetWidth;
271
+ const min = offset - this.scrollMargin;
272
+ const max = offset + extent - hostExtent + this.scrollMargin;
273
+ const to = Math.min(min, Math.max(max, scroll));
274
+ const behavior =
275
+ // type annotation because `instant` is valid but not included in type.
276
+ this.focusedItem !== undefined ? 'smooth' : 'instant';
277
+ this.scrollTo({
278
+ behavior,
279
+ [isVertical ? 'left' : 'top']: 0,
280
+ [isVertical ? 'top' : 'left']: to
281
+ });
282
+ }
283
+ }
284
+ /** @nocollapse */
285
+ Tabs.shadowRootOptions = {
286
+ ...LitElement.shadowRootOptions,
287
+ delegatesFocus: true
288
+ };
289
+ __decorate([
290
+ property({ reflect: true })
291
+ ], Tabs.prototype, "variant", void 0);
292
+ __decorate([
293
+ property({ type: Boolean })
294
+ ], Tabs.prototype, "disabled", void 0);
295
+ __decorate([
296
+ property({ type: Number })
297
+ ], Tabs.prototype, "selected", void 0);
298
+ __decorate([
299
+ property({ type: Boolean, attribute: 'select-on-focus' })
300
+ ], Tabs.prototype, "selectOnFocus", void 0);
301
+ __decorate([
302
+ queryAssignedElements({ selector: 'md-tab', flatten: true })
303
+ ], Tabs.prototype, "items", void 0);
304
+ __decorate([
305
+ state()
306
+ ], Tabs.prototype, "itemsDirty", void 0);
307
+ //# sourceMappingURL=tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["tabs.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, isServer, LitElement, PropertyValues} from 'lit';\nimport {property, queryAssignedElements, state} from 'lit/decorators.js';\n\nimport {Tab, TabVariant} from './tab.js';\n\n// TODO(b/293506179): remove vertical logic\nconst NAVIGATION_KEYS = new Map([\n ['default', new Set(['Home', 'End'])],\n ['horizontal', new Set(['ArrowLeft', 'ArrowRight'])],\n ['vertical', new Set(['ArrowUp', 'ArrowDown'])]\n]);\n\n/**\n * @fires change Fired when the selected tab changes. The target's selected or\n * selectedItem and previousSelected or previousSelectedItem provide information\n * about the selection change. The change event is fired when a user interaction\n * like a space/enter key or click cause a selection change. The tab selection\n * based on these actions can be cancelled by calling preventDefault on the\n * triggering `keydown` or `click` event.\n *\n * @example\n * // perform an action if a tab is clicked\n * tabs.addEventListener('change', (event: Event) => {\n * if (event.target.selected === 2)\n * takeAction();\n * }\n * });\n *\n * // prevent a click from triggering tab selection under some condition\n * tabs.addEventListener('click', (event: Event) => {\n * if (notReady)\n * event.preventDefault();\n * }\n * });\n *\n */\nexport class Tabs extends LitElement {\n /** @nocollapse */\n static override readonly shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true\n };\n\n /**\n * Styling variant to display, 'primary' (default) or 'secondary'.\n */\n @property({reflect: true}) variant: TabVariant = 'primary';\n\n /**\n * Whether or not the item is `disabled`.\n */\n @property({type: Boolean}) disabled = false;\n\n /**\n * Index of the selected item.\n */\n @property({type: Number}) selected = 0;\n\n /**\n * Whether or not to select an item when focused.\n */\n @property({type: Boolean, attribute: 'select-on-focus'})\n selectOnFocus = false;\n\n private previousSelected = -1;\n private readonly scrollMargin = 48;\n\n @queryAssignedElements({selector: 'md-tab', flatten: true})\n private readonly items!: Tab[];\n\n // this tracks if items have changed, which triggers rendering so they can\n // be kept in sync\n @state() private itemsDirty = false;\n\n private readonly selectedAttribute = `selected`;\n\n /**\n * The item currently selected.\n */\n get selectedItem() {\n return this.items[this.selected];\n }\n\n /**\n * The item previously selected.\n */\n get previousSelectedItem() {\n return this.items[this.previousSelected];\n }\n\n /**\n * The item currently focused.\n */\n protected get focusedItem() {\n return this.items.find((el: HTMLElement) => el.matches(':focus-within'));\n }\n\n constructor() {\n super();\n if (!isServer) {\n this.addEventListener('keydown', this.handleKeydown);\n this.addEventListener('keyup', this.handleKeyup);\n this.addEventListener('focusout', this.handleFocusout);\n }\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'tablist');\n }\n\n // focus item on keydown and optionally select it\n private readonly handleKeydown = async (event: KeyboardEvent) => {\n const {key} = event;\n const shouldHandleKey = NAVIGATION_KEYS.get('default')!.has(key) ||\n NAVIGATION_KEYS.get('horizontal')!.has(key);\n // await to after user may cancel event.\n if (!shouldHandleKey || (await this.wasEventPrevented(event, true)) ||\n this.disabled) {\n return;\n }\n let indexToFocus = -1;\n const focused = this.focusedItem ?? this.selectedItem;\n const itemCount = this.items.length;\n const isPrevKey = key === 'ArrowLeft' || key === 'ArrowUp';\n if (key === 'Home') {\n indexToFocus = 0;\n } else if (key === 'End') {\n indexToFocus = itemCount - 1;\n } else {\n const focusedIndex = this.items.indexOf(focused) || 0;\n indexToFocus = focusedIndex + (isPrevKey ? -1 : 1);\n indexToFocus =\n indexToFocus < 0 ? itemCount - 1 : indexToFocus % itemCount;\n }\n const itemToFocus =\n this.findFocusableItem(indexToFocus, key === 'End' || isPrevKey);\n indexToFocus = this.items.indexOf(itemToFocus!);\n if (itemToFocus !== null && itemToFocus !== focused) {\n this.updateFocusableItem(itemToFocus);\n itemToFocus.focus();\n if (this.selectOnFocus) {\n this.selected = indexToFocus;\n await this.dispatchInteraction();\n }\n }\n };\n\n // scroll to item on keyup.\n private readonly handleKeyup = () => {\n this.scrollItemIntoView(this.focusedItem ?? this.selectedItem);\n };\n\n // restore focus to selected item when blurring.\n private readonly handleFocusout = async () => {\n await this.updateComplete;\n const nowFocused =\n (this.getRootNode() as unknown as DocumentOrShadowRoot).activeElement as\n Tab;\n if (this.items.indexOf(nowFocused) === -1) {\n this.updateFocusableItem(this.selectedItem);\n }\n };\n\n private findFocusableItem(i = -1, prev = false, tries = 0): Tab|null {\n const itemCount = this.items.length - 1;\n while (this.items[i]?.disabled && tries <= itemCount) {\n tries++;\n i = (i + (prev ? -1 : 1));\n if (i > itemCount) {\n return this.findFocusableItem(0, false, tries);\n } else if (i < 0) {\n return this.findFocusableItem(itemCount, true, tries);\n }\n }\n return this.items[i] ?? null;\n }\n\n // Note, this is async to allow the event to bubble to user code, which\n // may call `preventDefault`. If it does, avoid performing the tabs action\n // which is selecting a new tab. Sometimes, the native event must be\n // prevented to avoid, for example, scrolling. In this case, the event is\n // patched to be able to detect if the user calls prevent default.\n // Alternatively, the event could be stopped and re-dispatched synchroously,\n // but this would be complicated since the event should be re-dispatched from\n // the initial element to potentially trigger a native action (e.g. a history\n // navigation via a tab label), and this could result in some listener hearing\n // 2x events.\n private async wasEventPrevented(event: Event, preventNativeDefault = false) {\n if (preventNativeDefault) {\n // prevent native default to stop, e.g. scrolling.\n event.preventDefault();\n // reset prevention to see if user is cancelling this action.\n Object.defineProperties(event, {\n 'defaultPrevented': {value: false, writable: true, configurable: true},\n 'preventDefault': {\n // Type needed for closure conformance. Using the Event type results\n // in a type error.\n value(this: {defaultPrevented: boolean}) {\n this.defaultPrevented = true;\n },\n writable: true,\n configurable: true\n }\n });\n }\n // allow event to propagate to user code.\n await new Promise(requestAnimationFrame);\n return event.defaultPrevented;\n }\n\n private async dispatchInteraction() {\n // wait for items to render.\n await new Promise(requestAnimationFrame);\n const event = new Event('change', {bubbles: true});\n this.dispatchEvent(event);\n }\n\n protected override willUpdate(changed: PropertyValues) {\n if (changed.has('selected')) {\n this.previousSelected = changed.get('selected') ?? -1;\n }\n if (this.itemsDirty) {\n this.itemsDirty = false;\n this.previousSelected = -1;\n }\n }\n\n protected override async updated(changed: PropertyValues) {\n const itemsOrVariantChanged =\n changed.has('itemsDirty') || changed.has('variant');\n // sync state with items.\n if (itemsOrVariantChanged || changed.has('disabled')) {\n this.items.forEach((item, i) => {\n item.selected = this.selected === i;\n item.variant = this.variant;\n item.disabled = this.disabled;\n });\n }\n if (itemsOrVariantChanged || changed.has('selected')) {\n if (this.previousSelectedItem !== this.selectedItem) {\n this.previousSelectedItem?.removeAttribute(this.selectedAttribute);\n this.selectedItem?.setAttribute(this.selectedAttribute, '');\n }\n if (this.selectedItem !== this.focusedItem) {\n this.updateFocusableItem(this.selectedItem);\n }\n await this.scrollItemIntoView();\n }\n }\n\n private updateFocusableItem(focusableItem: HTMLElement|null) {\n for (const item of this.items) {\n item.focusable = item === focusableItem;\n }\n }\n\n protected override render() {\n return html`\n <slot @slotchange=${this.handleSlotChange} @click=${\n this.handleItemClick}></slot>\n `;\n }\n\n private async handleItemClick(event: Event) {\n const {target} = event;\n if (await this.wasEventPrevented(event)) {\n return;\n }\n const item = (target as Element).closest(`${this.localName} > *`) as Tab;\n const i = this.items.indexOf(item);\n if (i > -1 && this.selected !== i) {\n this.selected = i;\n this.updateFocusableItem(this.selectedItem);\n // note, Safari will not focus the button here, but if focus is manually\n // triggered, this can match focus-visible and show the focus-ring,\n // so avoid the temptation to cal focus!\n await this.dispatchInteraction();\n }\n }\n\n private handleSlotChange() {\n this.itemsDirty = true;\n }\n\n private async itemsUpdateComplete() {\n for (const item of this.items) {\n await item.updateComplete;\n }\n return true;\n }\n\n // ensures the given item is visible in view; defaults to the selected item\n private async scrollItemIntoView(item = this.selectedItem) {\n if (!item) {\n return;\n }\n // wait for items to render.\n await this.itemsUpdateComplete();\n // TODO(b/293506179): remove vertical logic\n const isVertical = false;\n const offset = isVertical ? item.offsetTop : item.offsetLeft;\n const extent = isVertical ? item.offsetHeight : item.offsetWidth;\n const scroll = isVertical ? this.scrollTop : this.scrollLeft;\n const hostExtent = isVertical ? this.offsetHeight : this.offsetWidth;\n const min = offset - this.scrollMargin;\n const max = offset + extent - hostExtent + this.scrollMargin;\n const to = Math.min(min, Math.max(max, scroll));\n const behavior =\n // type annotation because `instant` is valid but not included in type.\n this.focusedItem !== undefined ? 'smooth' : 'instant' as ScrollBehavior;\n this.scrollTo({\n behavior,\n [isVertical ? 'left' : 'top']: 0,\n [isVertical ? 'top' : 'left']: to\n });\n }\n}\n"]}
package/tabs/tab.d.ts CHANGED
@@ -3,8 +3,8 @@
3
3
  * Copyright 2023 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Tab } from './lib/tab.js';
7
- export { Variant } from './lib/tab.js';
6
+ import { Tab } from './internal/tab.js';
7
+ export { TabVariant } from './internal/tab.js';
8
8
  declare global {
9
9
  interface HTMLElementTagNameMap {
10
10
  'md-tab': MdTab;
package/tabs/tab.js CHANGED
@@ -5,8 +5,8 @@
5
5
  */
6
6
  import { __decorate } from "tslib";
7
7
  import { customElement } from 'lit/decorators.js';
8
- import { Tab } from './lib/tab.js';
9
- import { styles } from './lib/tab-styles.css.js';
8
+ import { Tab } from './internal/tab.js';
9
+ import { styles } from './internal/tab-styles.css.js';
10
10
  // TODO(b/267336507): add docs
11
11
  /**
12
12
  * @summary Tab allow users to display a tab within a Tabs.
package/tabs/tab.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tab.js","sourceRoot":"","sources":["tab.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,GAAG,EAAC,MAAM,cAAc,CAAC;AACjC,OAAO,EAAC,MAAM,EAAC,MAAM,yBAAyB,CAAC;AAU/C,8BAA8B;AAC9B;;;GAGG;AAEI,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,GAAG;;AACZ,YAAM,GAAG,CAAC,MAAM,CAAC,CAAC;AADvB,KAAK;IADjB,aAAa,CAAC,QAAQ,CAAC;GACX,KAAK,CAEjB;SAFY,KAAK","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {Tab} from './lib/tab.js';\nimport {styles} from './lib/tab-styles.css.js';\n\nexport {Variant} from './lib/tab.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-tab': MdTab;\n }\n}\n\n// TODO(b/267336507): add docs\n/**\n * @summary Tab allow users to display a tab within a Tabs.\n *\n */\n@customElement('md-tab')\nexport class MdTab extends Tab {\n static override styles = [styles];\n}\n"]}
1
+ {"version":3,"file":"tab.js","sourceRoot":"","sources":["tab.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,GAAG,EAAC,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAC,MAAM,EAAC,MAAM,8BAA8B,CAAC;AAUpD,8BAA8B;AAC9B;;;GAGG;AAEI,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,GAAG;;AACZ,YAAM,GAAG,CAAC,MAAM,CAAC,CAAC;AADvB,KAAK;IADjB,aAAa,CAAC,QAAQ,CAAC;GACX,KAAK,CAEjB;SAFY,KAAK","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {Tab} from './internal/tab.js';\nimport {styles} from './internal/tab-styles.css.js';\n\nexport {TabVariant} from './internal/tab.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-tab': MdTab;\n }\n}\n\n// TODO(b/267336507): add docs\n/**\n * @summary Tab allow users to display a tab within a Tabs.\n *\n */\n@customElement('md-tab')\nexport class MdTab extends Tab {\n static override styles = [styles];\n}\n"]}
package/tabs/tabs.d.ts CHANGED
@@ -4,8 +4,8 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import './tab.js';
7
- import { Tabs } from './lib/tabs.js';
8
- export { Variant, MdTab } from './tab.js';
7
+ import { Tabs } from './internal/tabs.js';
8
+ export { MdTab, TabVariant } from './tab.js';
9
9
  declare global {
10
10
  interface HTMLElementTagNameMap {
11
11
  'md-tabs': MdTabs;
package/tabs/tabs.js CHANGED
@@ -6,8 +6,8 @@
6
6
  import { __decorate } from "tslib";
7
7
  import './tab.js';
8
8
  import { customElement } from 'lit/decorators.js';
9
- import { Tabs } from './lib/tabs.js';
10
- import { styles } from './lib/tabs-styles.css.js';
9
+ import { Tabs } from './internal/tabs.js';
10
+ import { styles } from './internal/tabs-styles.css.js';
11
11
  export { MdTab } from './tab.js';
12
12
  // TODO(b/267336507): add docs
13
13
  /**
package/tabs/tabs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sourceRoot":"","sources":["tabs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,UAAU,CAAC;AAElB,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAEhD,OAAO,EAAU,KAAK,EAAC,MAAM,UAAU,CAAC;AAQxC,8BAA8B;AAC9B;;;GAGG;AAEI,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,IAAI;;AACd,aAAM,GAAG,CAAC,MAAM,CAAC,CAAC;AADvB,MAAM;IADlB,aAAa,CAAC,SAAS,CAAC;GACZ,MAAM,CAElB;SAFY,MAAM","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport './tab.js';\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {Tabs} from './lib/tabs.js';\nimport {styles} from './lib/tabs-styles.css.js';\n\nexport {Variant, MdTab} from './tab.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-tabs': MdTabs;\n }\n}\n\n// TODO(b/267336507): add docs\n/**\n * @summary Tabs displays a list of selectable tabs.\n *\n */\n@customElement('md-tabs')\nexport class MdTabs extends Tabs {\n static override styles = [styles];\n}\n"]}
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["tabs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,UAAU,CAAC;AAElB,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAErD,OAAO,EAAC,KAAK,EAAa,MAAM,UAAU,CAAC;AAQ3C,8BAA8B;AAC9B;;;GAGG;AAEI,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,IAAI;;AACd,aAAM,GAAG,CAAC,MAAM,CAAC,CAAC;AADvB,MAAM;IADlB,aAAa,CAAC,SAAS,CAAC;GACZ,MAAM,CAElB;SAFY,MAAM","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport './tab.js';\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {Tabs} from './internal/tabs.js';\nimport {styles} from './internal/tabs-styles.css.js';\n\nexport {MdTab, TabVariant} from './tab.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-tabs': MdTabs;\n }\n}\n\n// TODO(b/267336507): add docs\n/**\n * @summary Tabs displays a list of selectable tabs.\n *\n */\n@customElement('md-tabs')\nexport class MdTabs extends Tabs {\n static override styles = [styles];\n}\n"]}
@@ -3,4 +3,4 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
 
6
- @forward './lib/filled-text-field' show theme;
6
+ @forward './internal/filled-text-field' show theme;
@@ -3,4 +3,4 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
 
6
- @forward './lib/outlined-text-field' show theme;
6
+ @forward './internal/outlined-text-field' show theme;
@@ -4,8 +4,8 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import '../field/filled-field.js';
7
- import { FilledTextField } from './lib/filled-text-field.js';
8
- export { TextFieldType } from './lib/text-field.js';
7
+ import { FilledTextField } from './internal/filled-text-field.js';
8
+ export { TextFieldType } from './internal/text-field.js';
9
9
  declare global {
10
10
  interface HTMLElementTagNameMap {
11
11
  'md-filled-text-field': MdFilledTextField;
@@ -7,10 +7,10 @@ import { __decorate } from "tslib";
7
7
  import '../field/filled-field.js';
8
8
  import { customElement } from 'lit/decorators.js';
9
9
  import { literal } from 'lit/static-html.js';
10
- import { styles as filledForcedColorsStyles } from './lib/filled-forced-colors-styles.css.js';
11
- import { styles as filledStyles } from './lib/filled-styles.css.js';
12
- import { FilledTextField } from './lib/filled-text-field.js';
13
- import { styles as sharedStyles } from './lib/shared-styles.css.js';
10
+ import { styles as filledForcedColorsStyles } from './internal/filled-forced-colors-styles.css.js';
11
+ import { styles as filledStyles } from './internal/filled-styles.css.js';
12
+ import { FilledTextField } from './internal/filled-text-field.js';
13
+ import { styles as sharedStyles } from './internal/shared-styles.css.js';
14
14
  /**
15
15
  * TODO(b/228525797): Add docs
16
16
  * @final
@@ -1 +1 @@
1
- {"version":3,"file":"filled-text-field.js","sourceRoot":"","sources":["filled-text-field.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,0BAA0B,CAAC;AAElC,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAC,MAAM,IAAI,wBAAwB,EAAC,MAAM,0CAA0C,CAAC;AAC5F,OAAO,EAAC,MAAM,IAAI,YAAY,EAAC,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAC,MAAM,IAAI,YAAY,EAAC,MAAM,4BAA4B,CAAC;AAUlE;;;;GAIG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,eAAe;IAA/C;;QAIuB,aAAQ,GAAG,OAAO,CAAA,iBAAiB,CAAC;IAClE,CAAC;;AAJiB,wBAAM,GAClB,CAAC,YAAY,EAAE,YAAY,EAAE,wBAAwB,CAAC,CAAC;AAFhD,iBAAiB;IAD7B,aAAa,CAAC,sBAAsB,CAAC;GACzB,iBAAiB,CAK7B;SALY,iBAAiB","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../field/filled-field.js';\n\nimport {customElement} from 'lit/decorators.js';\nimport {literal} from 'lit/static-html.js';\n\nimport {styles as filledForcedColorsStyles} from './lib/filled-forced-colors-styles.css.js';\nimport {styles as filledStyles} from './lib/filled-styles.css.js';\nimport {FilledTextField} from './lib/filled-text-field.js';\nimport {styles as sharedStyles} from './lib/shared-styles.css.js';\n\nexport {TextFieldType} from './lib/text-field.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-filled-text-field': MdFilledTextField;\n }\n}\n\n/**\n * TODO(b/228525797): Add docs\n * @final\n * @suppress {visibility}\n */\n@customElement('md-filled-text-field')\nexport class MdFilledTextField extends FilledTextField {\n static override styles =\n [sharedStyles, filledStyles, filledForcedColorsStyles];\n\n protected override readonly fieldTag = literal`md-filled-field`;\n}\n"]}
1
+ {"version":3,"file":"filled-text-field.js","sourceRoot":"","sources":["filled-text-field.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,0BAA0B,CAAC;AAElC,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAC,MAAM,IAAI,wBAAwB,EAAC,MAAM,+CAA+C,CAAC;AACjG,OAAO,EAAC,MAAM,IAAI,YAAY,EAAC,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAC,MAAM,IAAI,YAAY,EAAC,MAAM,iCAAiC,CAAC;AAUvE;;;;GAIG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,eAAe;IAA/C;;QAIuB,aAAQ,GAAG,OAAO,CAAA,iBAAiB,CAAC;IAClE,CAAC;;AAJiB,wBAAM,GAClB,CAAC,YAAY,EAAE,YAAY,EAAE,wBAAwB,CAAC,CAAC;AAFhD,iBAAiB;IAD7B,aAAa,CAAC,sBAAsB,CAAC;GACzB,iBAAiB,CAK7B;SALY,iBAAiB","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../field/filled-field.js';\n\nimport {customElement} from 'lit/decorators.js';\nimport {literal} from 'lit/static-html.js';\n\nimport {styles as filledForcedColorsStyles} from './internal/filled-forced-colors-styles.css.js';\nimport {styles as filledStyles} from './internal/filled-styles.css.js';\nimport {FilledTextField} from './internal/filled-text-field.js';\nimport {styles as sharedStyles} from './internal/shared-styles.css.js';\n\nexport {TextFieldType} from './internal/text-field.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-filled-text-field': MdFilledTextField;\n }\n}\n\n/**\n * TODO(b/228525797): Add docs\n * @final\n * @suppress {visibility}\n */\n@customElement('md-filled-text-field')\nexport class MdFilledTextField extends FilledTextField {\n static override styles =\n [sharedStyles, filledStyles, filledForcedColorsStyles];\n\n protected override readonly fieldTag = literal`md-filled-field`;\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Harness } from '../testing/harness.js';
7
- import { TextField } from './lib/text-field.js';
7
+ import { TextField } from './internal/text-field.js';
8
8
  /**
9
9
  * Test harness for text field elements.
10
10
  */
@@ -44,8 +44,8 @@ export declare class TextFieldHarness extends Harness<TextField> {
44
44
  reset(): Promise<void>;
45
45
  blur(): Promise<void>;
46
46
  protected simulatePointerFocus(input: HTMLElement): void;
47
- protected simulateInput(element: HTMLInputElement, charactersToAppend: string, init?: InputEventInit): void;
48
- protected simulateDeletion(element: HTMLInputElement, beginIndex?: number, endIndex?: number, init?: InputEventInit): void;
49
- protected simulateChangeIfNeeded(element: HTMLInputElement): void;
50
- protected getInteractiveElement(): Promise<HTMLInputElement>;
47
+ protected simulateInput(element: HTMLInputElement | HTMLTextAreaElement, charactersToAppend: string, init?: InputEventInit): void;
48
+ protected simulateDeletion(element: HTMLInputElement | HTMLTextAreaElement, beginIndex?: number, endIndex?: number, init?: InputEventInit): void;
49
+ protected simulateChangeIfNeeded(element: HTMLInputElement | HTMLTextAreaElement): void;
50
+ protected getInteractiveElement(): Promise<HTMLInputElement | HTMLTextAreaElement>;
51
51
  }
@@ -84,6 +84,8 @@ export class TextFieldHarness extends Harness {
84
84
  if (!init) {
85
85
  init = {
86
86
  inputType: 'insertText',
87
+ composed: true,
88
+ bubbles: true,
87
89
  isComposing: false,
88
90
  data: charactersToAppend,
89
91
  };
@@ -97,6 +99,8 @@ export class TextFieldHarness extends Harness {
97
99
  if (!init) {
98
100
  init = {
99
101
  inputType: 'deleteContentBackward',
102
+ composed: true,
103
+ bubbles: true,
100
104
  isComposing: false,
101
105
  data: deletedCharacters,
102
106
  };
@@ -112,7 +116,7 @@ export class TextFieldHarness extends Harness {
112
116
  }
113
117
  async getInteractiveElement() {
114
118
  await this.element.updateComplete;
115
- return this.element.renderRoot.querySelector('input');
119
+ return this.element.renderRoot.querySelector('.input');
116
120
  }
117
121
  }
118
122
  //# sourceMappingURL=harness.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"harness.js","sourceRoot":"","sources":["harness.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {Harness} from '../testing/harness.js';\n\nimport {TextField} from './lib/text-field.js';\n\n/**\n * Test harness for text field elements.\n */\nexport class TextFieldHarness extends Harness<TextField> {\n /** Used to track whether or not a change event should be dispatched. */\n private valueBeforeChange = '';\n\n /**\n * Simulates a user typing a value one character at a time. This will fire\n * multiple input events.\n *\n * Use focus/blur to ensure change events are fired.\n *\n * @example\n * await harness.focusWithKeyboard();\n * await harness.inputValue('value'); // input events\n * await harness.blur(); // change event\n *\n * @param value The value to simulating typing.\n */\n async inputValue(value: string) {\n for (const char of value) {\n this.simulateKeypress(await this.getInteractiveElement(), char);\n this.simulateInput(await this.getInteractiveElement(), char);\n }\n }\n\n /**\n * Simulates a user deleting part of a value with the backspace key.\n * By default, the entire value is deleted. This will fire a single input\n * event.\n *\n * Use focus/blur to ensure change events are fired.\n *\n * @example\n * await harness.focusWithKeyboard();\n * await harness.deleteValue(); // input event\n * await harness.blur(); // change event\n *\n * @param beginIndex The starting index of the value to delete.\n * @param endIndex The ending index of the value to delete.\n */\n async deleteValue(beginIndex?: number, endIndex?: number) {\n this.simulateKeypress(await this.getInteractiveElement(), 'Backspace');\n this.simulateDeletion(\n await this.getInteractiveElement(), beginIndex, endIndex);\n }\n\n override async reset() {\n this.element.reset();\n this.valueBeforeChange = this.element.value;\n await super.reset();\n }\n\n override async blur() {\n await super.blur();\n this.simulateChangeIfNeeded(await this.getInteractiveElement());\n }\n\n protected override simulatePointerFocus(input: HTMLElement) {\n const textField = this.element;\n if (textField.disabled) {\n return;\n }\n\n this.valueBeforeChange = textField.value;\n super.simulatePointerFocus(input);\n\n const prevFocus = input.focus;\n if (prevFocus === HTMLElement.prototype.focus) {\n // Swap to a no-op if nobody is spying on this method so that we don't\n // generate side-effects when we actually call focus().\n input.focus = () => {};\n }\n\n // Call focus() as a side-effect since delegatesFocus won't be triggered\n // with this simulation. Replace input.focus() with a no-op if needed to\n // avoid actually calling focus.\n textField.focus();\n input.focus = prevFocus;\n }\n\n protected simulateInput(\n element: HTMLInputElement, charactersToAppend: string,\n init?: InputEventInit) {\n element.value += charactersToAppend;\n if (!init) {\n init = {\n inputType: 'insertText',\n isComposing: false,\n data: charactersToAppend,\n };\n }\n\n element.dispatchEvent(new InputEvent('input', init));\n }\n\n protected simulateDeletion(\n element: HTMLInputElement, beginIndex?: number, endIndex?: number,\n init?: InputEventInit) {\n const deletedCharacters = element.value.slice(beginIndex, endIndex);\n element.value = element.value.substring(0, beginIndex ?? 0) +\n element.value.substring(endIndex ?? element.value.length);\n if (!init) {\n init = {\n inputType: 'deleteContentBackward',\n isComposing: false,\n data: deletedCharacters,\n };\n }\n\n element.dispatchEvent(new InputEvent('input', init));\n }\n\n protected simulateChangeIfNeeded(element: HTMLInputElement) {\n if (this.valueBeforeChange === element.value) {\n return;\n }\n\n this.valueBeforeChange = element.value;\n element.dispatchEvent(new Event('change'));\n }\n\n protected override async getInteractiveElement() {\n await this.element.updateComplete;\n return this.element.renderRoot.querySelector('input')!;\n }\n}\n"]}
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["harness.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {Harness} from '../testing/harness.js';\n\nimport {TextField} from './internal/text-field.js';\n\n/**\n * Test harness for text field elements.\n */\nexport class TextFieldHarness extends Harness<TextField> {\n /** Used to track whether or not a change event should be dispatched. */\n private valueBeforeChange = '';\n\n /**\n * Simulates a user typing a value one character at a time. This will fire\n * multiple input events.\n *\n * Use focus/blur to ensure change events are fired.\n *\n * @example\n * await harness.focusWithKeyboard();\n * await harness.inputValue('value'); // input events\n * await harness.blur(); // change event\n *\n * @param value The value to simulating typing.\n */\n async inputValue(value: string) {\n for (const char of value) {\n this.simulateKeypress(await this.getInteractiveElement(), char);\n this.simulateInput(await this.getInteractiveElement(), char);\n }\n }\n\n /**\n * Simulates a user deleting part of a value with the backspace key.\n * By default, the entire value is deleted. This will fire a single input\n * event.\n *\n * Use focus/blur to ensure change events are fired.\n *\n * @example\n * await harness.focusWithKeyboard();\n * await harness.deleteValue(); // input event\n * await harness.blur(); // change event\n *\n * @param beginIndex The starting index of the value to delete.\n * @param endIndex The ending index of the value to delete.\n */\n async deleteValue(beginIndex?: number, endIndex?: number) {\n this.simulateKeypress(await this.getInteractiveElement(), 'Backspace');\n this.simulateDeletion(\n await this.getInteractiveElement(), beginIndex, endIndex);\n }\n\n override async reset() {\n this.element.reset();\n this.valueBeforeChange = this.element.value;\n await super.reset();\n }\n\n override async blur() {\n await super.blur();\n this.simulateChangeIfNeeded(await this.getInteractiveElement());\n }\n\n protected override simulatePointerFocus(input: HTMLElement) {\n const textField = this.element;\n if (textField.disabled) {\n return;\n }\n\n this.valueBeforeChange = textField.value;\n super.simulatePointerFocus(input);\n\n const prevFocus = input.focus;\n if (prevFocus === HTMLElement.prototype.focus) {\n // Swap to a no-op if nobody is spying on this method so that we don't\n // generate side-effects when we actually call focus().\n input.focus = () => {};\n }\n\n // Call focus() as a side-effect since delegatesFocus won't be triggered\n // with this simulation. Replace input.focus() with a no-op if needed to\n // avoid actually calling focus.\n textField.focus();\n input.focus = prevFocus;\n }\n\n protected simulateInput(\n element: HTMLInputElement|HTMLTextAreaElement, charactersToAppend: string,\n init?: InputEventInit) {\n element.value += charactersToAppend;\n if (!init) {\n init = {\n inputType: 'insertText',\n composed: true,\n bubbles: true,\n isComposing: false,\n data: charactersToAppend,\n };\n }\n\n element.dispatchEvent(new InputEvent('input', init));\n }\n\n protected simulateDeletion(\n element: HTMLInputElement|HTMLTextAreaElement, beginIndex?: number,\n endIndex?: number, init?: InputEventInit) {\n const deletedCharacters = element.value.slice(beginIndex, endIndex);\n element.value = element.value.substring(0, beginIndex ?? 0) +\n element.value.substring(endIndex ?? element.value.length);\n if (!init) {\n init = {\n inputType: 'deleteContentBackward',\n composed: true,\n bubbles: true,\n isComposing: false,\n data: deletedCharacters,\n };\n }\n\n element.dispatchEvent(new InputEvent('input', init));\n }\n\n protected simulateChangeIfNeeded(element: HTMLInputElement|\n HTMLTextAreaElement) {\n if (this.valueBeforeChange === element.value) {\n return;\n }\n\n this.valueBeforeChange = element.value;\n element.dispatchEvent(new Event('change'));\n }\n\n protected override async getInteractiveElement() {\n await this.element.updateComplete;\n return this.element.renderRoot.querySelector('.input') as HTMLInputElement |\n HTMLTextAreaElement;\n }\n}\n"]}