@material/web 1.0.0-pre.6 → 1.0.0-pre.8

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 (504) hide show
  1. package/README.md +8 -8
  2. package/aria/aria.d.ts +43 -0
  3. package/aria/aria.js +80 -0
  4. package/aria/aria.js.map +1 -0
  5. package/aria/delegate.d.ts +37 -0
  6. package/aria/delegate.js +53 -0
  7. package/aria/delegate.js.map +1 -0
  8. package/badge/badge.d.ts +0 -1
  9. package/badge/badge.js +0 -1
  10. package/badge/badge.js.map +1 -1
  11. package/badge/lib/badge.d.ts +5 -7
  12. package/badge/lib/badge.js +9 -12
  13. package/badge/lib/badge.js.map +1 -1
  14. package/button/lib/_elevated-button.scss +35 -6
  15. package/button/lib/_elevation.scss +13 -3
  16. package/button/lib/_filled-button.scss +35 -3
  17. package/button/lib/_outlined-button.scss +35 -6
  18. package/button/lib/_shared.scss +4 -2
  19. package/button/lib/_text-button.scss +35 -6
  20. package/button/lib/_tonal-button.scss +34 -7
  21. package/button/lib/button.d.ts +24 -38
  22. package/button/lib/button.js +40 -89
  23. package/button/lib/button.js.map +1 -1
  24. package/button/lib/elevated-button.d.ts +6 -4
  25. package/button/lib/elevated-button.js.map +1 -1
  26. package/button/lib/elevated-styles.css.js +1 -1
  27. package/button/lib/elevated-styles.css.js.map +1 -1
  28. package/button/lib/filled-button.d.ts +6 -4
  29. package/button/lib/filled-button.js.map +1 -1
  30. package/button/lib/filled-styles.css.js +1 -1
  31. package/button/lib/filled-styles.css.js.map +1 -1
  32. package/button/lib/outlined-button.d.ts +6 -4
  33. package/button/lib/outlined-button.js.map +1 -1
  34. package/button/lib/outlined-styles.css.js +1 -1
  35. package/button/lib/outlined-styles.css.js.map +1 -1
  36. package/button/lib/shared-elevation-styles.css.js +1 -1
  37. package/button/lib/shared-elevation-styles.css.js.map +1 -1
  38. package/button/lib/shared-styles.css.js +1 -1
  39. package/button/lib/shared-styles.css.js.map +1 -1
  40. package/button/lib/text-button.d.ts +5 -2
  41. package/button/lib/text-button.js.map +1 -1
  42. package/button/lib/text-styles.css.js +1 -1
  43. package/button/lib/text-styles.css.js.map +1 -1
  44. package/button/lib/tonal-button.d.ts +6 -4
  45. package/button/lib/tonal-button.js.map +1 -1
  46. package/button/lib/tonal-styles.css.js +1 -1
  47. package/button/lib/tonal-styles.css.js.map +1 -1
  48. package/checkbox/lib/_checkbox.scss +48 -47
  49. package/checkbox/lib/checkbox-styles.css.js +1 -1
  50. package/checkbox/lib/checkbox-styles.css.js.map +1 -1
  51. package/checkbox/lib/checkbox.d.ts +2 -7
  52. package/checkbox/lib/checkbox.js +35 -62
  53. package/checkbox/lib/checkbox.js.map +1 -1
  54. package/checkbox/lib/forced-colors-styles.css.js +1 -1
  55. package/checkbox/lib/forced-colors-styles.css.js.map +1 -1
  56. package/chips/_filter-chip.scss +6 -0
  57. package/chips/assist-chip.js +2 -1
  58. package/chips/assist-chip.js.map +1 -1
  59. package/chips/filter-chip.d.ts +20 -0
  60. package/chips/filter-chip.js +25 -0
  61. package/chips/filter-chip.js.map +1 -0
  62. package/chips/lib/_assist-chip.scss +37 -3
  63. package/chips/lib/_elevated.scss +60 -0
  64. package/chips/lib/_filter-chip.scss +175 -0
  65. package/chips/lib/_shared.scss +48 -84
  66. package/chips/lib/_suggestion-chip.scss +36 -5
  67. package/chips/lib/assist-chip.d.ts +12 -0
  68. package/chips/lib/assist-chip.js +64 -0
  69. package/chips/lib/assist-chip.js.map +1 -1
  70. package/chips/lib/assist-styles.css.js +1 -1
  71. package/chips/lib/assist-styles.css.js.map +1 -1
  72. package/chips/lib/chip.d.ts +24 -16
  73. package/chips/lib/chip.js +53 -74
  74. package/chips/lib/chip.js.map +1 -1
  75. package/chips/lib/elevated-styles.css.js +9 -0
  76. package/chips/lib/elevated-styles.css.js.map +1 -0
  77. package/{fab/lib/fab-extended-styles.scss → chips/lib/elevated-styles.scss} +3 -3
  78. package/chips/lib/filter-chip.d.ts +26 -0
  79. package/chips/lib/filter-chip.js +80 -0
  80. package/chips/lib/filter-chip.js.map +1 -0
  81. package/chips/lib/filter-styles.css.js +9 -0
  82. package/chips/lib/filter-styles.css.js.map +1 -0
  83. package/chips/lib/filter-styles.scss +10 -0
  84. package/chips/lib/shared-styles.css.js +1 -1
  85. package/chips/lib/shared-styles.css.js.map +1 -1
  86. package/chips/lib/suggestion-chip.d.ts +2 -2
  87. package/chips/lib/suggestion-chip.js +4 -2
  88. package/chips/lib/suggestion-chip.js.map +1 -1
  89. package/chips/lib/suggestion-styles.css.js +1 -1
  90. package/chips/lib/suggestion-styles.css.js.map +1 -1
  91. package/chips/suggestion-chip.js +2 -1
  92. package/chips/suggestion-chip.js.map +1 -1
  93. package/circularprogress/harness.d.ts +1 -0
  94. package/circularprogress/harness.js +4 -0
  95. package/circularprogress/harness.js.map +1 -1
  96. package/circularprogress/lib/_circular-progress.scss +13 -7
  97. package/circularprogress/lib/circular-progress-styles.css.js +1 -1
  98. package/circularprogress/lib/circular-progress-styles.css.js.map +1 -1
  99. package/circularprogress/lib/circular-progress.d.ts +5 -7
  100. package/circularprogress/lib/circular-progress.js +17 -21
  101. package/circularprogress/lib/circular-progress.js.map +1 -1
  102. package/dialog/lib/_dialog.scss +8 -9
  103. package/dialog/lib/_tokens.scss +0 -1
  104. package/dialog/lib/dialog-styles.css.js +1 -1
  105. package/dialog/lib/dialog-styles.css.js.map +1 -1
  106. package/dialog/lib/dialog.d.ts +10 -10
  107. package/dialog/lib/dialog.js +33 -56
  108. package/dialog/lib/dialog.js.map +1 -1
  109. package/divider/lib/divider.js +4 -7
  110. package/divider/lib/divider.js.map +1 -1
  111. package/elevation/lib/_elevation.scss +5 -7
  112. package/elevation/lib/elevation-styles.css.js +1 -1
  113. package/elevation/lib/elevation-styles.css.js.map +1 -1
  114. package/elevation/lib/elevation.d.ts +1 -1
  115. package/elevation/lib/elevation.js.map +1 -1
  116. package/fab/_fab.scss +1 -0
  117. package/fab/branded-fab.d.ts +56 -0
  118. package/fab/branded-fab.js +56 -0
  119. package/fab/branded-fab.js.map +1 -0
  120. package/fab/fab.d.ts +25 -5
  121. package/fab/fab.js +27 -10
  122. package/fab/fab.js.map +1 -1
  123. package/fab/harness.d.ts +1 -2
  124. package/fab/harness.js +1 -1
  125. package/fab/harness.js.map +1 -1
  126. package/fab/lib/_fab-branded.scss +81 -0
  127. package/fab/lib/_fab.scss +221 -19
  128. package/fab/lib/_shared.scss +161 -131
  129. package/fab/lib/fab-branded-styles.css.d.ts +1 -0
  130. package/fab/lib/fab-branded-styles.css.js +9 -0
  131. package/fab/lib/fab-branded-styles.css.js.map +1 -0
  132. package/fab/lib/fab-branded-styles.scss +10 -0
  133. package/fab/lib/fab-styles.css.js +1 -1
  134. package/fab/lib/fab-styles.css.js.map +1 -1
  135. package/fab/lib/fab.d.ts +18 -10
  136. package/fab/lib/fab.js +19 -12
  137. package/fab/lib/fab.js.map +1 -1
  138. package/fab/lib/forced-colors-styles.css.d.ts +1 -0
  139. package/fab/lib/forced-colors-styles.css.js +9 -0
  140. package/fab/lib/forced-colors-styles.css.js.map +1 -0
  141. package/fab/lib/forced-colors-styles.scss +26 -0
  142. package/fab/lib/shared-styles.css.d.ts +1 -0
  143. package/fab/lib/shared-styles.css.js +9 -0
  144. package/fab/lib/shared-styles.css.js.map +1 -0
  145. package/fab/lib/{fab-shared-styles.scss → shared-styles.scss} +1 -1
  146. package/fab/lib/shared.d.ts +49 -0
  147. package/fab/lib/shared.js +113 -0
  148. package/fab/lib/shared.js.map +1 -0
  149. package/field/lib/_filled-field.scss +47 -12
  150. package/field/lib/_outlined-field.scss +39 -12
  151. package/field/lib/field.js +14 -27
  152. package/field/lib/field.js.map +1 -1
  153. package/field/lib/filled-styles.css.js +1 -1
  154. package/field/lib/filled-styles.css.js.map +1 -1
  155. package/field/lib/outlined-styles.css.js +1 -1
  156. package/field/lib/outlined-styles.css.js.map +1 -1
  157. package/focus/focus-ring.d.ts +2 -1
  158. package/focus/focus-ring.js +2 -1
  159. package/focus/focus-ring.js.map +1 -1
  160. package/focus/lib/_focus-ring.scss +49 -34
  161. package/focus/lib/focus-ring-styles.css.js +1 -1
  162. package/focus/lib/focus-ring-styles.css.js.map +1 -1
  163. package/focus/lib/focus-ring.d.ts +59 -12
  164. package/focus/lib/focus-ring.js +118 -14
  165. package/focus/lib/focus-ring.js.map +1 -1
  166. package/icon/icon.d.ts +0 -1
  167. package/icon/icon.js +0 -1
  168. package/icon/icon.js.map +1 -1
  169. package/icon/lib/_icon.scss +2 -0
  170. package/icon/lib/icon-styles.css.js +1 -1
  171. package/icon/lib/icon-styles.css.js.map +1 -1
  172. package/icon/lib/icon.d.ts +5 -4
  173. package/icon/lib/icon.js +3 -2
  174. package/icon/lib/icon.js.map +1 -1
  175. package/iconbutton/filled-icon-button.d.ts +6 -2
  176. package/iconbutton/filled-icon-button.js.map +1 -1
  177. package/iconbutton/filled-tonal-icon-button.d.ts +6 -2
  178. package/iconbutton/filled-tonal-icon-button.js.map +1 -1
  179. package/iconbutton/harness.d.ts +1 -1
  180. package/iconbutton/harness.js +4 -1
  181. package/iconbutton/harness.js.map +1 -1
  182. package/iconbutton/lib/_filled-icon-button.scss +38 -13
  183. package/iconbutton/lib/_filled-tonal-icon-button.scss +38 -11
  184. package/iconbutton/lib/_outlined-icon-button.scss +38 -13
  185. package/iconbutton/lib/_shared.scss +4 -6
  186. package/iconbutton/lib/_standard-icon-button.scss +14 -14
  187. package/iconbutton/lib/filled-styles.css.js +1 -1
  188. package/iconbutton/lib/filled-styles.css.js.map +1 -1
  189. package/iconbutton/lib/filled-tonal-styles.css.js +1 -1
  190. package/iconbutton/lib/filled-tonal-styles.css.js.map +1 -1
  191. package/iconbutton/lib/icon-button.d.ts +17 -25
  192. package/iconbutton/lib/icon-button.js +37 -73
  193. package/iconbutton/lib/icon-button.js.map +1 -1
  194. package/iconbutton/lib/outlined-styles.css.js +1 -1
  195. package/iconbutton/lib/outlined-styles.css.js.map +1 -1
  196. package/iconbutton/lib/shared-styles.css.js +1 -1
  197. package/iconbutton/lib/shared-styles.css.js.map +1 -1
  198. package/iconbutton/lib/standard-styles.css.js +1 -1
  199. package/iconbutton/lib/standard-styles.css.js.map +1 -1
  200. package/iconbutton/outlined-icon-button.d.ts +5 -2
  201. package/iconbutton/outlined-icon-button.js.map +1 -1
  202. package/iconbutton/standard-icon-button.d.ts +5 -2
  203. package/iconbutton/standard-icon-button.js.map +1 -1
  204. package/linearprogress/_linear-progress.scss +6 -0
  205. package/linearprogress/harness.d.ts +13 -0
  206. package/linearprogress/harness.js +18 -0
  207. package/linearprogress/harness.js.map +1 -0
  208. package/linearprogress/lib/_linear-progress.scss +386 -0
  209. package/linearprogress/lib/linear-progress-styles.css.d.ts +1 -0
  210. package/linearprogress/lib/linear-progress-styles.css.js +9 -0
  211. package/linearprogress/lib/linear-progress-styles.css.js.map +1 -0
  212. package/linearprogress/lib/linear-progress-styles.scss +8 -0
  213. package/linearprogress/lib/linear-progress.d.ts +35 -0
  214. package/linearprogress/lib/linear-progress.js +127 -0
  215. package/linearprogress/lib/linear-progress.js.map +1 -0
  216. package/linearprogress/linear-progress.d.ts +23 -0
  217. package/linearprogress/linear-progress.js +26 -0
  218. package/linearprogress/linear-progress.js.map +1 -0
  219. package/list/lib/_list.scss +9 -50
  220. package/list/lib/list-styles.css.js +1 -1
  221. package/list/lib/list-styles.css.js.map +1 -1
  222. package/list/lib/list.d.ts +8 -15
  223. package/list/lib/list.js +20 -45
  224. package/list/lib/list.js.map +1 -1
  225. package/list/lib/listitem/_list-item.scss +17 -72
  226. package/list/lib/listitem/forced-colors-styles.css.js +1 -1
  227. package/list/lib/listitem/forced-colors-styles.css.js.map +1 -1
  228. package/list/lib/listitem/list-item-styles.css.js +1 -1
  229. package/list/lib/listitem/list-item-styles.css.js.map +1 -1
  230. package/list/lib/listitem/list-item.d.ts +29 -31
  231. package/list/lib/listitem/list-item.js +26 -80
  232. package/list/lib/listitem/list-item.js.map +1 -1
  233. package/list/lib/listitemlink/list-item-link.js +5 -9
  234. package/list/lib/listitemlink/list-item-link.js.map +1 -1
  235. package/menu/lib/_menu.scss +9 -29
  236. package/menu/lib/menu-styles.css.js +1 -1
  237. package/menu/lib/menu-styles.css.js.map +1 -1
  238. package/menu/lib/menu.d.ts +32 -41
  239. package/menu/lib/menu.js +51 -82
  240. package/menu/lib/menu.js.map +1 -1
  241. package/menu/lib/menuitem/_menu-item.scss +16 -33
  242. package/menu/lib/menuitem/menu-item-styles.css.js +1 -1
  243. package/menu/lib/menuitem/menu-item-styles.css.js.map +1 -1
  244. package/menu/lib/menuitem/menu-item.d.ts +1 -1
  245. package/menu/lib/menuitem/menu-item.js +4 -6
  246. package/menu/lib/menuitem/menu-item.js.map +1 -1
  247. package/menu/lib/menuitemlink/menu-item-link.d.ts +0 -2
  248. package/menu/lib/menuitemlink/menu-item-link.js +3 -6
  249. package/menu/lib/menuitemlink/menu-item-link.js.map +1 -1
  250. package/menu/lib/shared.d.ts +20 -2
  251. package/menu/lib/shared.js +18 -0
  252. package/menu/lib/shared.js.map +1 -1
  253. package/menu/lib/submenuitem/sub-menu-item.d.ts +16 -13
  254. package/menu/lib/submenuitem/sub-menu-item.js +27 -18
  255. package/menu/lib/submenuitem/sub-menu-item.js.map +1 -1
  256. package/menu/lib/typeaheadController.d.ts +9 -9
  257. package/menu/lib/typeaheadController.js.map +1 -1
  258. package/navigationbar/lib/_navigation-bar.scss +7 -1
  259. package/navigationbar/lib/navigation-bar-styles.css.js +1 -1
  260. package/navigationbar/lib/navigation-bar-styles.css.js.map +1 -1
  261. package/navigationbar/lib/navigation-bar.d.ts +6 -6
  262. package/navigationbar/lib/navigation-bar.js +17 -18
  263. package/navigationbar/lib/navigation-bar.js.map +1 -1
  264. package/navigationbar/navigation-bar.d.ts +0 -1
  265. package/navigationbar/navigation-bar.js +0 -1
  266. package/navigationbar/navigation-bar.js.map +1 -1
  267. package/navigationdrawer/lib/_navigation-drawer-modal.scss +0 -3
  268. package/navigationdrawer/lib/_navigation-drawer.scss +0 -3
  269. package/navigationdrawer/lib/_shared.scss +1 -4
  270. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js +1 -1
  271. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js.map +1 -1
  272. package/navigationdrawer/lib/navigation-drawer-modal.d.ts +7 -12
  273. package/navigationdrawer/lib/navigation-drawer-modal.js +19 -41
  274. package/navigationdrawer/lib/navigation-drawer-modal.js.map +1 -1
  275. package/navigationdrawer/lib/navigation-drawer-styles.css.js +1 -1
  276. package/navigationdrawer/lib/navigation-drawer-styles.css.js.map +1 -1
  277. package/navigationdrawer/lib/navigation-drawer.d.ts +6 -10
  278. package/navigationdrawer/lib/navigation-drawer.js +17 -38
  279. package/navigationdrawer/lib/navigation-drawer.js.map +1 -1
  280. package/navigationdrawer/lib/shared-styles.css.js +1 -1
  281. package/navigationdrawer/lib/shared-styles.css.js.map +1 -1
  282. package/navigationdrawer/navigation-drawer-modal.d.ts +0 -1
  283. package/navigationdrawer/navigation-drawer-modal.js +0 -1
  284. package/navigationdrawer/navigation-drawer-modal.js.map +1 -1
  285. package/navigationdrawer/navigation-drawer.d.ts +0 -1
  286. package/navigationdrawer/navigation-drawer.js +0 -1
  287. package/navigationdrawer/navigation-drawer.js.map +1 -1
  288. package/navigationtab/lib/_navigation-tab.scss +2 -2
  289. package/navigationtab/lib/navigation-tab-styles.css.js +1 -1
  290. package/navigationtab/lib/navigation-tab-styles.css.js.map +1 -1
  291. package/navigationtab/lib/navigation-tab.d.ts +16 -29
  292. package/navigationtab/lib/navigation-tab.js +49 -88
  293. package/navigationtab/lib/navigation-tab.js.map +1 -1
  294. package/navigationtab/lib/state.d.ts +1 -1
  295. package/navigationtab/lib/state.js.map +1 -1
  296. package/navigationtab/navigation-tab.d.ts +0 -1
  297. package/navigationtab/navigation-tab.js +0 -1
  298. package/navigationtab/navigation-tab.js.map +1 -1
  299. package/package.json +1 -1
  300. package/radio/lib/_radio.scss +1 -1
  301. package/radio/lib/radio-styles.css.js +1 -1
  302. package/radio/lib/radio-styles.css.js.map +1 -1
  303. package/radio/lib/radio.d.ts +2 -8
  304. package/radio/lib/radio.js +31 -58
  305. package/radio/lib/radio.js.map +1 -1
  306. package/ripple/lib/ripple.js +11 -13
  307. package/ripple/lib/ripple.js.map +1 -1
  308. package/segmentedbutton/lib/outlined-segmented-button.d.ts +16 -7
  309. package/segmentedbutton/lib/outlined-segmented-button.js +3 -3
  310. package/segmentedbutton/lib/outlined-segmented-button.js.map +1 -1
  311. package/segmentedbutton/lib/segmented-button.d.ts +28 -40
  312. package/segmentedbutton/lib/segmented-button.js +42 -96
  313. package/segmentedbutton/lib/segmented-button.js.map +1 -1
  314. package/segmentedbutton/outlined-segmented-button.d.ts +0 -1
  315. package/segmentedbutton/outlined-segmented-button.js +0 -1
  316. package/segmentedbutton/outlined-segmented-button.js.map +1 -1
  317. package/segmentedbuttonset/lib/_outlined-segmented-button-set.scss +32 -13
  318. package/segmentedbuttonset/lib/outlined-segmented-button-set.d.ts +6 -4
  319. package/segmentedbuttonset/lib/outlined-segmented-button-set.js +3 -2
  320. package/segmentedbuttonset/lib/outlined-segmented-button-set.js.map +1 -1
  321. package/segmentedbuttonset/lib/outlined-styles.css.js +1 -1
  322. package/segmentedbuttonset/lib/outlined-styles.css.js.map +1 -1
  323. package/segmentedbuttonset/lib/segmented-button-set.d.ts +3 -9
  324. package/segmentedbuttonset/lib/segmented-button-set.js +14 -20
  325. package/segmentedbuttonset/lib/segmented-button-set.js.map +1 -1
  326. package/segmentedbuttonset/outlined-segmented-button-set.d.ts +0 -1
  327. package/segmentedbuttonset/outlined-segmented-button-set.js +0 -1
  328. package/segmentedbuttonset/outlined-segmented-button-set.js.map +1 -1
  329. package/select/_filled-select.scss +6 -0
  330. package/select/_outlined-select.scss +6 -0
  331. package/select/filled-select.d.ts +41 -0
  332. package/select/filled-select.js +46 -0
  333. package/select/filled-select.js.map +1 -0
  334. package/select/harness.d.ts +24 -0
  335. package/select/harness.js +53 -0
  336. package/select/harness.js.map +1 -0
  337. package/select/lib/_filled-select.scss +222 -0
  338. package/select/lib/_outlined-select.scss +180 -0
  339. package/select/lib/_shared.scss +48 -0
  340. package/select/lib/filled-forced-colors-styles.css.d.ts +1 -0
  341. package/select/lib/filled-forced-colors-styles.css.js +9 -0
  342. package/select/lib/filled-forced-colors-styles.css.js.map +1 -0
  343. package/select/lib/filled-forced-colors-styles.scss +29 -0
  344. package/select/lib/filled-select-styles.css.d.ts +1 -0
  345. package/select/lib/filled-select-styles.css.js +9 -0
  346. package/select/lib/filled-select-styles.css.js.map +1 -0
  347. package/select/lib/filled-select-styles.scss +10 -0
  348. package/select/lib/filled-select.d.ts +10 -0
  349. package/select/lib/filled-select.js +16 -0
  350. package/select/lib/filled-select.js.map +1 -0
  351. package/select/lib/outlined-forced-colors-styles.css.d.ts +1 -0
  352. package/select/lib/outlined-forced-colors-styles.css.js +9 -0
  353. package/select/lib/outlined-forced-colors-styles.css.js.map +1 -0
  354. package/select/lib/outlined-forced-colors-styles.scss +29 -0
  355. package/select/lib/outlined-select-styles.css.d.ts +1 -0
  356. package/select/lib/outlined-select-styles.css.js +9 -0
  357. package/select/lib/outlined-select-styles.css.js.map +1 -0
  358. package/select/lib/outlined-select-styles.scss +10 -0
  359. package/select/lib/outlined-select.d.ts +10 -0
  360. package/select/lib/outlined-select.js +16 -0
  361. package/select/lib/outlined-select.js.map +1 -0
  362. package/select/lib/select.d.ts +216 -0
  363. package/select/lib/select.js +589 -0
  364. package/select/lib/select.js.map +1 -0
  365. package/select/lib/selectoption/harness.d.ts +11 -0
  366. package/select/lib/selectoption/harness.js +12 -0
  367. package/select/lib/selectoption/harness.js.map +1 -0
  368. package/select/lib/selectoption/select-option.d.ts +30 -0
  369. package/select/lib/selectoption/select-option.js +71 -0
  370. package/select/lib/selectoption/select-option.js.map +1 -0
  371. package/select/lib/shared-styles.css.d.ts +1 -0
  372. package/select/lib/shared-styles.css.js +9 -0
  373. package/select/lib/shared-styles.css.js.map +1 -0
  374. package/select/lib/shared-styles.scss +10 -0
  375. package/select/lib/shared.d.ts +52 -0
  376. package/select/lib/shared.js +41 -0
  377. package/select/lib/shared.js.map +1 -0
  378. package/select/outlined-select.d.ts +41 -0
  379. package/select/outlined-select.js +46 -0
  380. package/select/outlined-select.js.map +1 -0
  381. package/select/select-option.d.ts +44 -0
  382. package/select/select-option.js +51 -0
  383. package/select/select-option.js.map +1 -0
  384. package/slider/harness.d.ts +2 -1
  385. package/slider/harness.js +14 -9
  386. package/slider/harness.js.map +1 -1
  387. package/slider/lib/_slider.scss +149 -167
  388. package/slider/lib/forced-colors-styles.css.js +1 -1
  389. package/slider/lib/forced-colors-styles.css.js.map +1 -1
  390. package/slider/lib/forced-colors-styles.scss +2 -2
  391. package/slider/lib/slider-styles.css.js +1 -1
  392. package/slider/lib/slider-styles.css.js.map +1 -1
  393. package/slider/lib/slider.d.ts +23 -57
  394. package/slider/lib/slider.js +77 -167
  395. package/slider/lib/slider.js.map +1 -1
  396. package/switch/lib/_switch.scss +63 -18
  397. package/switch/lib/switch-styles.css.js +1 -1
  398. package/switch/lib/switch-styles.css.js.map +1 -1
  399. package/switch/lib/switch.d.ts +0 -7
  400. package/switch/lib/switch.js +32 -79
  401. package/switch/lib/switch.js.map +1 -1
  402. package/textfield/harness.d.ts +1 -1
  403. package/textfield/harness.js.map +1 -1
  404. package/textfield/lib/_filled-text-field.scss +70 -14
  405. package/textfield/lib/_outlined-text-field.scss +60 -35
  406. package/textfield/lib/filled-forced-colors-styles.css.js +1 -1
  407. package/textfield/lib/filled-forced-colors-styles.css.js.map +1 -1
  408. package/textfield/lib/filled-styles.css.js +1 -1
  409. package/textfield/lib/filled-styles.css.js.map +1 -1
  410. package/textfield/lib/outlined-forced-colors-styles.css.js +1 -1
  411. package/textfield/lib/outlined-forced-colors-styles.css.js.map +1 -1
  412. package/textfield/lib/outlined-styles.css.js +1 -1
  413. package/textfield/lib/outlined-styles.css.js.map +1 -1
  414. package/textfield/lib/text-field.d.ts +1 -11
  415. package/textfield/lib/text-field.js +45 -115
  416. package/textfield/lib/text-field.js.map +1 -1
  417. package/tokens/_index.scss +5 -18
  418. package/tokens/_md-comp-assist-chip.scss +25 -29
  419. package/tokens/_md-comp-checkbox.scss +78 -1
  420. package/tokens/_md-comp-circular-progress-indicator.scss +39 -13
  421. package/tokens/_md-comp-elevated-button.scss +0 -10
  422. package/tokens/_md-comp-elevation.scss +0 -4
  423. package/tokens/_md-comp-fab-branded.scss +84 -1
  424. package/tokens/_md-comp-fab.scss +249 -0
  425. package/tokens/_md-comp-filled-button.scss +0 -10
  426. package/{field/lib → tokens}/_md-comp-filled-field.scss +91 -9
  427. package/tokens/_md-comp-filled-icon-button.scss +46 -1
  428. package/tokens/_md-comp-filled-select.scss +124 -1
  429. package/tokens/_md-comp-filled-text-field.scss +93 -9
  430. package/tokens/_md-comp-filled-tonal-button.scss +0 -11
  431. package/tokens/_md-comp-filled-tonal-icon-button.scss +45 -3
  432. package/tokens/_md-comp-filter-chip.scss +103 -103
  433. package/tokens/_md-comp-focus-ring.scss +23 -24
  434. package/tokens/_md-comp-icon-button.scss +37 -1
  435. package/tokens/_md-comp-input-chip.scss +77 -95
  436. package/tokens/_md-comp-linear-progress-indicator.scss +31 -3
  437. package/tokens/_md-comp-list-item.scss +174 -0
  438. package/tokens/_md-comp-list.scss +81 -26
  439. package/tokens/_md-comp-menu-item.scss +50 -0
  440. package/tokens/_md-comp-menu.scss +29 -2
  441. package/tokens/_md-comp-outlined-button.scss +0 -10
  442. package/{field/lib → tokens}/_md-comp-outlined-field.scss +85 -9
  443. package/tokens/_md-comp-outlined-icon-button.scss +41 -1
  444. package/tokens/_md-comp-outlined-segmented-button.scss +57 -11
  445. package/tokens/_md-comp-outlined-select.scss +123 -1
  446. package/tokens/_md-comp-outlined-text-field.scss +85 -8
  447. package/tokens/_md-comp-slider.scss +13 -1
  448. package/tokens/_md-comp-suggestion-chip.scss +29 -30
  449. package/tokens/_md-comp-switch.scss +81 -1
  450. package/tokens/_md-comp-text-button.scss +0 -10
  451. package/tokens/_values.scss +2 -4
  452. package/types/aria.d.ts +59 -1
  453. package/actionelement/action-element.d.ts +0 -79
  454. package/actionelement/action-element.js +0 -97
  455. package/actionelement/action-element.js.map +0 -1
  456. package/button/lib/state.d.ts +0 -10
  457. package/button/lib/state.js +0 -7
  458. package/button/lib/state.js.map +0 -1
  459. package/controller/action-controller.d.ts +0 -147
  460. package/controller/action-controller.js +0 -286
  461. package/controller/action-controller.js.map +0 -1
  462. package/decorators/aria-property.d.ts +0 -32
  463. package/decorators/aria-property.js +0 -99
  464. package/decorators/aria-property.js.map +0 -1
  465. package/fab/_fab-extended.scss +0 -6
  466. package/fab/fab-extended.d.ts +0 -23
  467. package/fab/fab-extended.js +0 -29
  468. package/fab/fab-extended.js.map +0 -1
  469. package/fab/lib/_fab-extended.scss +0 -73
  470. package/fab/lib/fab-extended-styles.css.js +0 -9
  471. package/fab/lib/fab-extended-styles.css.js.map +0 -1
  472. package/fab/lib/fab-extended.d.ts +0 -19
  473. package/fab/lib/fab-extended.js +0 -28
  474. package/fab/lib/fab-extended.js.map +0 -1
  475. package/fab/lib/fab-shared-styles.css.js +0 -9
  476. package/fab/lib/fab-shared-styles.css.js.map +0 -1
  477. package/fab/lib/fab-shared.d.ts +0 -44
  478. package/fab/lib/fab-shared.js +0 -121
  479. package/fab/lib/fab-shared.js.map +0 -1
  480. package/focus/strong-focus.d.ts +0 -56
  481. package/focus/strong-focus.js +0 -96
  482. package/focus/strong-focus.js.map +0 -1
  483. package/sass/_shape.scss +0 -154
  484. package/slider/lib/_tokens.scss +0 -65
  485. package/tokens/_md-comp-extended-fab-branded.scss +0 -45
  486. package/tokens/_md-comp-extended-fab-primary.scss +0 -45
  487. package/tokens/_md-comp-extended-fab-secondary.scss +0 -48
  488. package/tokens/_md-comp-extended-fab-surface.scss +0 -45
  489. package/tokens/_md-comp-extended-fab-tertiary.scss +0 -48
  490. package/tokens/_md-comp-fab-branded-large.scss +0 -23
  491. package/tokens/_md-comp-fab-primary-large.scss +0 -23
  492. package/tokens/_md-comp-fab-primary-small.scss +0 -23
  493. package/tokens/_md-comp-fab-primary.scss +0 -23
  494. package/tokens/_md-comp-fab-secondary-large.scss +0 -23
  495. package/tokens/_md-comp-fab-secondary-small.scss +0 -23
  496. package/tokens/_md-comp-fab-secondary.scss +0 -23
  497. package/tokens/_md-comp-fab-surface-large.scss +0 -23
  498. package/tokens/_md-comp-fab-surface-small.scss +0 -23
  499. package/tokens/_md-comp-fab-surface.scss +0 -23
  500. package/tokens/_md-comp-fab-tertiary-large.scss +0 -23
  501. package/tokens/_md-comp-fab-tertiary-small.scss +0 -23
  502. package/tokens/_md-comp-fab-tertiary.scss +0 -23
  503. /package/{fab/lib/fab-extended-styles.css.d.ts → chips/lib/elevated-styles.css.d.ts} +0 -0
  504. /package/{fab/lib/fab-shared-styles.css.d.ts → chips/lib/filter-styles.css.d.ts} +0 -0
@@ -8,7 +8,6 @@ import '../../focus/focus-ring.js';
8
8
  import '../../ripple/ripple.js';
9
9
  import { LitElement, PropertyValues } from 'lit';
10
10
  import { getFormValue } from '../../controller/form-controller.js';
11
- import { MdRipple } from '../../ripple/ripple.js';
12
11
  /**
13
12
  * Slider component.
14
13
  */
@@ -18,7 +17,6 @@ export declare class Slider extends LitElement {
18
17
  * @nocollapse
19
18
  */
20
19
  static formAssociated: boolean;
21
- ariaLabel: string;
22
20
  /**
23
21
  * Whether or not the slider is disabled.
24
22
  */
@@ -68,35 +66,21 @@ export declare class Slider extends LitElement {
68
66
  * single fraction or a tuple if the value specifies start and end values.
69
67
  */
70
68
  get valueAsFraction(): number | number[];
71
- protected getMetrics(): {
72
- step: number;
73
- range: number;
74
- lower: number;
75
- upper: number;
76
- lowerFraction: number;
77
- upperFraction: number;
78
- };
79
- protected readonly inputA: HTMLInputElement;
80
- protected readonly handleA: HTMLDivElement;
81
- protected readonly rippleA: Promise<MdRipple | null>;
82
- protected readonly inputB: HTMLInputElement;
83
- protected readonly handleB: HTMLDivElement;
84
- protected readonly rippleB: Promise<MdRipple | null>;
85
- protected valueA: number;
86
- protected valueB: number;
87
- private focusRingAShowing;
88
- private focusRingBShowing;
89
- private focusRingARequested;
90
- private focusRingBRequested;
69
+ private getMetrics;
70
+ private readonly inputA;
71
+ private readonly handleA;
72
+ private readonly rippleA;
73
+ private readonly inputB;
74
+ private readonly handleB;
75
+ private readonly rippleB;
76
+ private valueA;
77
+ private valueB;
91
78
  private rippleAShowing;
92
79
  private rippleBShowing;
93
80
  private handleAHover;
94
81
  private handleBHover;
95
- private handleAPressed;
96
- private handleBPressed;
97
82
  private onTopId;
98
83
  private handlesOverlapping;
99
- private isInteracting;
100
84
  constructor();
101
85
  focus(): void;
102
86
  get valueAsString(): string;
@@ -106,36 +90,18 @@ export declare class Slider extends LitElement {
106
90
  protected willUpdate(changed: PropertyValues): void;
107
91
  protected updated(changed: PropertyValues): Promise<void>;
108
92
  protected render(): import("lit-html").TemplateResult<1>;
109
- protected renderTrack(): import("lit-html").TemplateResult<1>;
110
- protected renderFocusRing(visible: boolean): import("lit-html").TemplateResult<1>;
111
- protected renderLabel(value: string): import("lit-html").TemplateResult<1>;
112
- protected renderHandle({ id, lesser, showRipple, focusRequested, showFocus, hover, pressed, label }: {
113
- id: string;
114
- lesser: boolean;
115
- focusRequested: boolean;
116
- showRipple: boolean;
117
- showFocus: boolean;
118
- hover: boolean;
119
- pressed: boolean;
120
- label: string;
121
- }): import("lit-html").TemplateResult<1>;
122
- protected renderInput({ id, lesser, value, label, getRipple }: {
123
- id: string;
124
- lesser: boolean;
125
- value: number;
126
- label: string;
127
- getRipple: () => Promise<MdRipple | null> | null;
128
- }): import("lit-html").TemplateResult<1>;
129
- protected renderRipple: (id: string) => import("lit-html").TemplateResult<1>;
93
+ private renderTrack;
94
+ private renderLabel;
95
+ private renderHandle;
96
+ private renderInput;
97
+ private readonly renderRipple;
130
98
  private readonly getRippleA;
131
99
  private readonly getRippleB;
132
100
  private toggleRippleHover;
133
- protected isEventOnA({ target }: Event): boolean;
134
- protected updateFocusVisible(e: Event): void;
135
- protected handleFocus(e: Event): void;
136
- protected handleBlur(e: Event): void;
137
- protected handleDown(e: PointerEvent): void;
138
- protected handleUp(e: PointerEvent): void;
101
+ private isEventOnA;
102
+ private handleFocus;
103
+ private ripplePointerId;
104
+ private handleDown;
139
105
  /**
140
106
  * The move handler tracks handle hovering to facilitate proper ripple
141
107
  * behavior on the slider handle. This is needed because user interaction with
@@ -149,10 +115,10 @@ export declare class Slider extends LitElement {
149
115
  * of the directive. This is done based on the hover state when the
150
116
  * slider is updated.
151
117
  */
152
- protected handleMove(e: PointerEvent): void;
153
- protected handleEnter(e: PointerEvent): void;
154
- protected handleLeave(): void;
118
+ private handleMove;
119
+ private handleEnter;
120
+ private handleLeave;
155
121
  private updateOnTop;
156
- protected handleInput(e: InputEvent): void;
157
- protected handleChange(event: Event): void;
122
+ private handleInput;
123
+ private handleChange;
158
124
  }
@@ -3,23 +3,21 @@
3
3
  * Copyright 2023 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { __decorate, __metadata } from "tslib";
6
+ var _a;
7
+ import { __decorate } from "tslib";
7
8
  import '../../elevation/elevation.js';
8
9
  import '../../focus/focus-ring.js';
9
10
  import '../../ripple/ripple.js';
10
- import { html, LitElement, nothing } from 'lit';
11
+ import { html, isServer, LitElement, nothing } from 'lit';
11
12
  import { property, query, queryAsync, state } from 'lit/decorators.js';
12
13
  import { classMap } from 'lit/directives/class-map.js';
13
14
  import { styleMap } from 'lit/directives/style-map.js';
14
15
  import { when } from 'lit/directives/when.js';
16
+ import { requestUpdateOnAriaChange } from '../../aria/delegate.js';
15
17
  import { dispatchActivationClick, isActivationClick, redispatchEvent } from '../../controller/events.js';
16
18
  import { FormController, getFormValue } from '../../controller/form-controller.js';
17
19
  import { stringConverter } from '../../controller/string-converter.js';
18
- import { ariaProperty } from '../../decorators/aria-property.js';
19
- import { pointerPress, shouldShowStrongFocus } from '../../focus/strong-focus.js';
20
20
  import { ripple } from '../../ripple/directive.js';
21
- // This is required for decorators.
22
- // tslint:disable:no-new-decorators
23
21
  // Disable warning for classMap with destructuring
24
22
  // tslint:disable:quoted-properties-on-dictionary
25
23
  function inBounds({ x, y }, element) {
@@ -128,12 +126,6 @@ export class Slider extends LitElement {
128
126
  this.name = '';
129
127
  this.valueA = 0;
130
128
  this.valueB = 0;
131
- this.focusRingAShowing = false;
132
- this.focusRingBShowing = false;
133
- // allows for lazy rendering of the focus ring by latchin to true when the
134
- // focus ring should be rendered.
135
- this.focusRingARequested = false;
136
- this.focusRingBRequested = false;
137
129
  this.rippleAShowing = false;
138
130
  this.rippleBShowing = false;
139
131
  // handle hover/pressed states are set manually since the handle
@@ -141,11 +133,8 @@ export class Slider extends LitElement {
141
133
  // interaction targets.
142
134
  this.handleAHover = false;
143
135
  this.handleBHover = false;
144
- this.handleAPressed = false;
145
- this.handleBPressed = false;
146
136
  this.onTopId = 'b';
147
137
  this.handlesOverlapping = false;
148
- this.isInteracting = false;
149
138
  // If range should be allowed (detected via value format).
150
139
  this.allowRange = false;
151
140
  this.renderRipple = (id) => html `<md-ripple class=${id} ?disabled=${this.disabled} unbounded></md-ripple>`;
@@ -163,14 +152,18 @@ export class Slider extends LitElement {
163
152
  this.rippleBShowing = true;
164
153
  return this.rippleB;
165
154
  };
155
+ // used in synthetic events generated to control ripple hover state.
156
+ this.ripplePointerId = 1;
166
157
  this.addController(new FormController(this));
167
- this.addEventListener('click', (event) => {
168
- if (!isActivationClick(event)) {
169
- return;
170
- }
171
- this.focus();
172
- dispatchActivationClick(this.inputB);
173
- });
158
+ if (!isServer) {
159
+ this.addEventListener('click', (event) => {
160
+ if (!isActivationClick(event) || !this.inputB) {
161
+ return;
162
+ }
163
+ this.focus();
164
+ dispatchActivationClick(this.inputB);
165
+ });
166
+ }
174
167
  }
175
168
  focus() {
176
169
  this.inputB?.focus();
@@ -210,9 +203,6 @@ export class Slider extends LitElement {
210
203
  this.rippleBShowing = true;
211
204
  this.toggleRippleHover(this.rippleB, this.handleBHover);
212
205
  }
213
- // facilitates lazy rendering of the focus ring.
214
- this.focusRingARequested || (this.focusRingARequested = this.focusRingAShowing);
215
- this.focusRingBRequested || (this.focusRingBRequested = this.focusRingBShowing);
216
206
  }
217
207
  async updated(changed) {
218
208
  if (changed.has('value') || changed.has('valueA') ||
@@ -226,15 +216,12 @@ export class Slider extends LitElement {
226
216
  const isFlipped = this.isFlipped();
227
217
  const containerStyles = {
228
218
  // for clipping inputs and active track.
229
- '--lowerFraction': String(lowerFraction),
230
- '--upperFraction': String(upperFraction),
219
+ '--slider-lower-fraction': String(lowerFraction),
220
+ '--slider-upper-fraction': String(upperFraction),
231
221
  // for generating tick marks
232
- '--tickCount': String(range / step)
233
- };
234
- const containerClasses = {
235
- interacting: this.isInteracting,
236
- ranged: this.allowRange
222
+ '--slider-tick-count': String(range / step),
237
223
  };
224
+ const containerClasses = { ranged: this.allowRange };
238
225
  // optional label values to show in place of the value.
239
226
  const labelA = String(this.valueLabel?.[isFlipped ? 1 : 0] ?? this.valueA);
240
227
  const labelB = String((this.allowRange ? this.valueLabel?.[isFlipped ? 0 : 1] :
@@ -258,102 +245,87 @@ export class Slider extends LitElement {
258
245
  id: 'a',
259
246
  lesser: !isFlipped,
260
247
  showRipple: this.rippleAShowing,
261
- focusRequested: this.focusRingARequested,
262
- showFocus: this.focusRingAShowing,
263
248
  hover: this.handleAHover,
264
- pressed: this.handleAPressed,
265
249
  label: labelA
266
250
  };
267
251
  const handleBProps = {
268
252
  id: 'b',
269
253
  lesser: isFlipped,
270
254
  showRipple: this.rippleBShowing,
271
- focusRequested: this.focusRingBRequested,
272
- showFocus: this.focusRingBShowing,
273
255
  hover: this.handleBHover,
274
- pressed: this.handleBPressed,
275
256
  label: labelB
276
257
  };
277
258
  const handleContainerClasses = {
278
259
  hover: this.handleAHover || this.handleBHover
279
260
  };
280
261
  return html `
281
- <div
282
- class="container ${classMap(containerClasses)}"
283
- style=${styleMap(containerStyles)}
284
- >
285
- ${when(this.allowRange, () => this.renderInput(inputAProps))}
286
- ${this.renderInput(inputBProps)}
287
- ${this.renderTrack()}
288
- <div class="handleContainerPadded">
289
- <div class="handleContainerBlock">
290
- <div class="handleContainer ${classMap(handleContainerClasses)}">
291
- ${when(this.allowRange, () => this.renderHandle(handleAProps))}
292
- ${this.renderHandle(handleBProps)}
262
+ <div
263
+ class="container ${classMap(containerClasses)}"
264
+ style=${styleMap(containerStyles)}
265
+ >
266
+ ${when(this.allowRange, () => this.renderInput(inputAProps))}
267
+ ${this.renderInput(inputBProps)}
268
+ ${this.renderTrack()}
269
+ <div class="handleContainerPadded">
270
+ <div class="handleContainerBlock">
271
+ <div class="handleContainer ${classMap(handleContainerClasses)}">
272
+ ${when(this.allowRange, () => this.renderHandle(handleAProps))}
273
+ ${this.renderHandle(handleBProps)}
274
+ </div>
293
275
  </div>
294
276
  </div>
295
- </div>
296
- </div>`;
277
+ </div>`;
297
278
  }
298
279
  renderTrack() {
299
280
  const trackClasses = { 'tickMarks': this.withTickMarks };
300
- return html `
301
- <slot name="track">
302
- <div class="track ${classMap(trackClasses)}"></div>
303
- </slot>`;
304
- }
305
- renderFocusRing(visible) {
306
- return html `<md-focus-ring .visible=${visible}></md-focus-ring>`;
281
+ return html `<div class="track ${classMap(trackClasses)}"></div>`;
307
282
  }
308
283
  renderLabel(value) {
309
284
  return html `<div class="label">
310
285
  <span class="labelContent" part="label">${value}</span>
311
286
  </div>`;
312
287
  }
313
- renderHandle({ id, lesser, showRipple, focusRequested, showFocus, hover, pressed, label }) {
288
+ renderHandle({ id, lesser, showRipple, hover, label }) {
314
289
  const onTop = !this.disabled && id === this.onTopId;
315
290
  const isOverlapping = !this.disabled && this.handlesOverlapping;
316
291
  return html `<div class="handle ${classMap({
317
292
  [id]: true,
318
293
  lesser,
319
294
  hover,
320
- pressed,
321
295
  onTop,
322
296
  isOverlapping
323
297
  })}">
324
- <slot name="handle${this.allowRange ? (lesser ? 'Lesser' : 'Greater') : ''}">
325
298
  <div class="handleNub"><md-elevation></md-elevation></div>
326
299
  ${when(this.withLabel, () => this.renderLabel(label))}
327
-
328
- </slot>
329
300
  ${when(showRipple, () => this.renderRipple(id))}
330
- ${when(focusRequested, () => this.renderFocusRing(showFocus))}
301
+ <md-focus-ring for=${id}></md-focus-ring>
331
302
  </div>`;
332
303
  }
333
304
  renderInput({ id, lesser, value, label, getRipple }) {
334
305
  // when ranged, ensure announcement includes value info.
335
306
  const ariaLabelDescriptor = this.allowRange ? ` - ${lesser ? `start` : `end`} handle` : '';
307
+ // Needed for closure conformance
308
+ const { ariaLabel } = this;
336
309
  return html `<input type="range"
337
310
  class="${classMap({
338
311
  lesser,
339
312
  [id]: true
340
313
  })}"
341
314
  @focus=${this.handleFocus}
342
- @blur=${this.handleBlur}
343
315
  @pointerdown=${this.handleDown}
344
- @pointerup=${this.handleUp}
345
316
  @pointerenter=${this.handleEnter}
346
317
  @pointermove=${this.handleMove}
347
318
  @pointerleave=${this.handleLeave}
348
319
  @input=${this.handleInput}
349
320
  @change=${this.handleChange}
321
+ id=${id}
350
322
  .disabled=${this.disabled}
351
323
  .min=${String(this.min)}
352
324
  .max=${String(this.max)}
353
325
  .step=${String(this.step)}
354
326
  .value=${String(value)}
355
327
  .tabIndex=${lesser ? 1 : 0}
356
- aria-label=${`${this.ariaLabel}${ariaLabelDescriptor}` || nothing}
328
+ aria-label=${`${ariaLabel}${ariaLabelDescriptor}` || nothing}
357
329
  aria-valuetext=${label}
358
330
  ${ripple(getRipple)}>`;
359
331
  }
@@ -364,48 +336,31 @@ export class Slider extends LitElement {
364
336
  }
365
337
  // TODO(b/269799771): improve slider ripple connection
366
338
  if (hovering) {
367
- rippleEl.handlePointerenter(new PointerEvent('pointerenter', { isPrimary: true, pointerId: 1 }));
339
+ rippleEl.handlePointerenter(new PointerEvent('pointerenter', { isPrimary: true, pointerId: this.ripplePointerId }));
368
340
  }
369
341
  else {
370
- rippleEl.handlePointerleave(new PointerEvent('pointerleave', { isPrimary: true, pointerId: 1 }));
342
+ rippleEl.handlePointerleave(new PointerEvent('pointerleave', { isPrimary: true, pointerId: this.ripplePointerId }));
371
343
  }
372
344
  }
373
345
  isEventOnA({ target }) {
374
346
  return target === this.inputA;
375
347
  }
376
- updateFocusVisible(e) {
377
- const isA = this.isEventOnA(e);
378
- const showFocus = shouldShowStrongFocus();
379
- this.focusRingAShowing = showFocus && isA;
380
- this.focusRingBShowing = showFocus && !isA;
381
- }
382
348
  handleFocus(e) {
383
- this.updateFocusVisible(e);
384
349
  this.updateOnTop(e);
385
350
  }
386
- handleBlur(e) {
387
- this.focusRingAShowing = false;
388
- this.focusRingBShowing = false;
389
- }
390
351
  handleDown(e) {
391
- pointerPress();
392
- this.isInteracting = true;
352
+ this.ripplePointerId = e.pointerId;
393
353
  const isA = this.isEventOnA(e);
394
- const isPrimaryButton = Boolean(e.buttons & 1);
395
354
  // Since handle moves to pointer on down and there may not be a move,
396
355
  // it needs to be considered hovered..
397
356
  this.handleAHover = !this.disabled && isA && Boolean(this.handleA);
398
- this.handleAPressed = isPrimaryButton && this.handleAHover;
399
357
  this.handleBHover = !this.disabled && !isA && Boolean(this.handleB);
400
- this.handleBPressed = isPrimaryButton && this.handleBHover;
401
- this.updateFocusVisible(e);
402
- }
403
- handleUp(e) {
404
- this.handleAPressed = this.handleBPressed = false;
405
- // used to remove animations after interactions...
406
- this.renderRoot.addEventListener('transitionend', () => {
407
- this.isInteracting = false;
408
- }, { once: true });
358
+ // Force Safari to focus input so the label stays displayed; note,
359
+ // Macs don't normally focus non-text type inputs.
360
+ const target = e.target;
361
+ requestAnimationFrame(() => {
362
+ target.focus();
363
+ });
409
364
  }
410
365
  /**
411
366
  * The move handler tracks handle hovering to facilitate proper ripple
@@ -440,7 +395,7 @@ export class Slider extends LitElement {
440
395
  }
441
396
  this.valueB = this.inputB.valueAsNumber;
442
397
  this.updateOnTop(e);
443
- // update value only on interaction
398
+ // update value only on interaction
444
399
  const lower = Math.min(this.valueA, this.valueB);
445
400
  const upper = Math.max(this.valueA, this.valueB);
446
401
  this.value = this.allowRange ? [lower, upper] : this.valueB;
@@ -449,127 +404,82 @@ export class Slider extends LitElement {
449
404
  redispatchEvent(this, event);
450
405
  }
451
406
  }
407
+ _a = Slider;
408
+ (() => {
409
+ requestUpdateOnAriaChange(_a);
410
+ })();
452
411
  Slider.shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true };
453
412
  /**
454
413
  * @nocollapse
455
414
  */
456
415
  Slider.formAssociated = true;
457
416
  __decorate([
458
- ariaProperty // tslint:disable-line:no-new-decorators
459
- ,
460
- property({ type: String, attribute: 'data-aria-label', noAccessor: true }),
461
- __metadata("design:type", String)
462
- ], Slider.prototype, "ariaLabel", void 0);
463
- __decorate([
464
- property({ type: Boolean, reflect: true }),
465
- __metadata("design:type", Object)
417
+ property({ type: Boolean, reflect: true })
466
418
  ], Slider.prototype, "disabled", void 0);
467
419
  __decorate([
468
- property({ type: Number }),
469
- __metadata("design:type", Object)
420
+ property({ type: Number })
470
421
  ], Slider.prototype, "min", void 0);
471
422
  __decorate([
472
- property({ type: Number }),
473
- __metadata("design:type", Object)
423
+ property({ type: Number })
474
424
  ], Slider.prototype, "max", void 0);
475
425
  __decorate([
476
- property({ converter: valueConverter }),
477
- __metadata("design:type", Object)
426
+ property({ converter: valueConverter })
478
427
  ], Slider.prototype, "value", void 0);
479
428
  __decorate([
480
- property({ type: String, converter: tupleConverter }),
481
- __metadata("design:type", Object)
429
+ property({ converter: tupleConverter })
482
430
  ], Slider.prototype, "valueLabel", void 0);
483
431
  __decorate([
484
- property({ type: Number }),
485
- __metadata("design:type", Object)
432
+ property({ type: Number })
486
433
  ], Slider.prototype, "step", void 0);
487
434
  __decorate([
488
- property({ type: Boolean }),
489
- __metadata("design:type", Object)
435
+ property({ type: Boolean })
490
436
  ], Slider.prototype, "withTickMarks", void 0);
491
437
  __decorate([
492
- property({ type: Boolean }),
493
- __metadata("design:type", Object)
438
+ property({ type: Boolean })
494
439
  ], Slider.prototype, "withLabel", void 0);
495
440
  __decorate([
496
- property({ type: String, reflect: true, converter: stringConverter }),
497
- __metadata("design:type", Object)
441
+ property({ reflect: true, converter: stringConverter })
498
442
  ], Slider.prototype, "name", void 0);
499
443
  __decorate([
500
- query('input.a'),
501
- __metadata("design:type", HTMLInputElement)
444
+ query('input.a')
502
445
  ], Slider.prototype, "inputA", void 0);
503
446
  __decorate([
504
- query('.handle.a'),
505
- __metadata("design:type", HTMLDivElement)
447
+ query('.handle.a')
506
448
  ], Slider.prototype, "handleA", void 0);
507
449
  __decorate([
508
- queryAsync('md-ripple.a'),
509
- __metadata("design:type", Promise)
450
+ queryAsync('md-ripple.a')
510
451
  ], Slider.prototype, "rippleA", void 0);
511
452
  __decorate([
512
- query('input.b'),
513
- __metadata("design:type", HTMLInputElement)
453
+ query('input.b')
514
454
  ], Slider.prototype, "inputB", void 0);
515
455
  __decorate([
516
- query('.handle.b'),
517
- __metadata("design:type", HTMLDivElement)
456
+ query('.handle.b')
518
457
  ], Slider.prototype, "handleB", void 0);
519
458
  __decorate([
520
- queryAsync('md-ripple.b'),
521
- __metadata("design:type", Promise)
459
+ queryAsync('md-ripple.b')
522
460
  ], Slider.prototype, "rippleB", void 0);
523
461
  __decorate([
524
- state(),
525
- __metadata("design:type", Object)
462
+ state()
526
463
  ], Slider.prototype, "valueA", void 0);
527
464
  __decorate([
528
- state(),
529
- __metadata("design:type", Object)
465
+ state()
530
466
  ], Slider.prototype, "valueB", void 0);
531
467
  __decorate([
532
- state(),
533
- __metadata("design:type", Object)
534
- ], Slider.prototype, "focusRingAShowing", void 0);
535
- __decorate([
536
- state(),
537
- __metadata("design:type", Object)
538
- ], Slider.prototype, "focusRingBShowing", void 0);
539
- __decorate([
540
- state(),
541
- __metadata("design:type", Object)
468
+ state()
542
469
  ], Slider.prototype, "rippleAShowing", void 0);
543
470
  __decorate([
544
- state(),
545
- __metadata("design:type", Object)
471
+ state()
546
472
  ], Slider.prototype, "rippleBShowing", void 0);
547
473
  __decorate([
548
- state(),
549
- __metadata("design:type", Object)
474
+ state()
550
475
  ], Slider.prototype, "handleAHover", void 0);
551
476
  __decorate([
552
- state(),
553
- __metadata("design:type", Object)
477
+ state()
554
478
  ], Slider.prototype, "handleBHover", void 0);
555
479
  __decorate([
556
- state(),
557
- __metadata("design:type", Object)
558
- ], Slider.prototype, "handleAPressed", void 0);
559
- __decorate([
560
- state(),
561
- __metadata("design:type", Object)
562
- ], Slider.prototype, "handleBPressed", void 0);
563
- __decorate([
564
- state(),
565
- __metadata("design:type", Object)
480
+ state()
566
481
  ], Slider.prototype, "onTopId", void 0);
567
482
  __decorate([
568
- state(),
569
- __metadata("design:type", Object)
483
+ state()
570
484
  ], Slider.prototype, "handlesOverlapping", void 0);
571
- __decorate([
572
- state(),
573
- __metadata("design:type", Object)
574
- ], Slider.prototype, "isInteracting", void 0);
575
485
  //# sourceMappingURL=slider.js.map