@material/web 1.0.0-pre.5 → 1.0.0-pre.7

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 (707) hide show
  1. package/README.md +7 -7
  2. package/aria/aria.d.ts +43 -0
  3. package/aria/aria.js +56 -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-styles.css.js +1 -1
  12. package/badge/lib/badge-styles.css.js.map +1 -1
  13. package/badge/lib/badge.d.ts +8 -7
  14. package/badge/lib/badge.js +5 -6
  15. package/badge/lib/badge.js.map +1 -1
  16. package/button/lib/_elevation.scss +15 -11
  17. package/button/lib/_outlined-button.scss +1 -1
  18. package/button/lib/_shared.scss +5 -0
  19. package/button/lib/_text-button.scss +1 -1
  20. package/button/lib/_tonal-button.scss +1 -1
  21. package/button/lib/button.d.ts +13 -11
  22. package/button/lib/button.js +51 -60
  23. package/button/lib/button.js.map +1 -1
  24. package/button/lib/elevated-button.d.ts +3 -0
  25. package/button/lib/elevated-button.js +4 -2
  26. package/button/lib/elevated-button.js.map +1 -1
  27. package/button/lib/elevated-styles.css.js +1 -1
  28. package/button/lib/elevated-styles.css.js.map +1 -1
  29. package/button/lib/filled-button.d.ts +3 -1
  30. package/button/lib/filled-button.js +4 -3
  31. package/button/lib/filled-button.js.map +1 -1
  32. package/button/lib/filled-styles.css.js +1 -1
  33. package/button/lib/filled-styles.css.js.map +1 -1
  34. package/button/lib/outlined-button.d.ts +3 -0
  35. package/button/lib/outlined-button.js +3 -1
  36. package/button/lib/outlined-button.js.map +1 -1
  37. package/button/lib/outlined-styles.css.js +1 -1
  38. package/button/lib/outlined-styles.css.js.map +1 -1
  39. package/button/lib/shared-elevation-styles.css.js +1 -1
  40. package/button/lib/shared-elevation-styles.css.js.map +1 -1
  41. package/button/lib/shared-styles.css.js +1 -1
  42. package/button/lib/shared-styles.css.js.map +1 -1
  43. package/button/lib/text-button.d.ts +3 -0
  44. package/button/lib/text-button.js +3 -1
  45. package/button/lib/text-button.js.map +1 -1
  46. package/button/lib/text-styles.css.js +1 -1
  47. package/button/lib/text-styles.css.js.map +1 -1
  48. package/button/lib/tonal-button.d.ts +3 -1
  49. package/button/lib/tonal-button.js +4 -3
  50. package/button/lib/tonal-button.js.map +1 -1
  51. package/button/lib/tonal-styles.css.js +1 -1
  52. package/button/lib/tonal-styles.css.js.map +1 -1
  53. package/checkbox/lib/checkbox-styles.css.js +1 -1
  54. package/checkbox/lib/checkbox-styles.css.js.map +1 -1
  55. package/checkbox/lib/checkbox.d.ts +0 -1
  56. package/checkbox/lib/checkbox.js +33 -43
  57. package/checkbox/lib/checkbox.js.map +1 -1
  58. package/chips/_filter-chip.scss +6 -0
  59. package/chips/filter-chip.d.ts +20 -0
  60. package/chips/filter-chip.js +24 -0
  61. package/chips/filter-chip.js.map +1 -0
  62. package/chips/lib/_filter-chip.scss +141 -0
  63. package/chips/lib/_shared.scss +71 -37
  64. package/chips/lib/assist-styles.css.js +1 -1
  65. package/chips/lib/assist-styles.css.js.map +1 -1
  66. package/chips/lib/chip.d.ts +8 -3
  67. package/chips/lib/chip.js +30 -31
  68. package/chips/lib/chip.js.map +1 -1
  69. package/chips/lib/filter-chip.d.ts +21 -0
  70. package/chips/lib/filter-chip.js +47 -0
  71. package/chips/lib/filter-chip.js.map +1 -0
  72. package/chips/lib/filter-styles.css.js +9 -0
  73. package/chips/lib/filter-styles.css.js.map +1 -0
  74. package/{fab/lib/fab-extended-styles.scss → chips/lib/filter-styles.scss} +3 -3
  75. package/chips/lib/shared-styles.css.js +1 -1
  76. package/chips/lib/shared-styles.css.js.map +1 -1
  77. package/chips/lib/suggestion-styles.css.js +1 -1
  78. package/chips/lib/suggestion-styles.css.js.map +1 -1
  79. package/circularprogress/_circular-progress.scss +6 -0
  80. package/circularprogress/circular-progress.d.ts +24 -0
  81. package/circularprogress/circular-progress.js +27 -0
  82. package/circularprogress/circular-progress.js.map +1 -0
  83. package/circularprogress/harness.d.ts +13 -0
  84. package/circularprogress/harness.js +16 -0
  85. package/circularprogress/harness.js.map +1 -0
  86. package/circularprogress/lib/_circular-progress.scss +282 -0
  87. package/circularprogress/lib/circular-progress-styles.css.js +9 -0
  88. package/circularprogress/lib/circular-progress-styles.css.js.map +1 -0
  89. package/circularprogress/lib/circular-progress-styles.scss +8 -0
  90. package/circularprogress/lib/circular-progress.d.ts +28 -0
  91. package/circularprogress/lib/circular-progress.js +95 -0
  92. package/circularprogress/lib/circular-progress.js.map +1 -0
  93. package/dialog/lib/_dialog.scss +9 -14
  94. package/dialog/lib/dialog-styles.css.js +1 -1
  95. package/dialog/lib/dialog-styles.css.js.map +1 -1
  96. package/dialog/lib/dialog.js +26 -50
  97. package/dialog/lib/dialog.js.map +1 -1
  98. package/divider/lib/divider.js +4 -7
  99. package/divider/lib/divider.js.map +1 -1
  100. package/elevation/lib/_elevation.scss +14 -51
  101. package/elevation/lib/elevation-styles.css.js +1 -1
  102. package/elevation/lib/elevation-styles.css.js.map +1 -1
  103. package/elevation/lib/elevation.d.ts +0 -8
  104. package/elevation/lib/elevation.js +1 -25
  105. package/elevation/lib/elevation.js.map +1 -1
  106. package/fab/_fab.scss +1 -0
  107. package/fab/branded-fab.d.ts +53 -0
  108. package/fab/branded-fab.js +56 -0
  109. package/fab/branded-fab.js.map +1 -0
  110. package/fab/fab.d.ts +25 -5
  111. package/fab/fab.js +27 -10
  112. package/fab/fab.js.map +1 -1
  113. package/fab/harness.d.ts +1 -2
  114. package/fab/harness.js +1 -1
  115. package/fab/harness.js.map +1 -1
  116. package/fab/lib/_fab-branded.scss +27 -0
  117. package/fab/lib/_fab.scss +144 -16
  118. package/fab/lib/_shared.scss +153 -131
  119. package/fab/lib/fab-branded-styles.css.js +9 -0
  120. package/fab/lib/fab-branded-styles.css.js.map +1 -0
  121. package/fab/lib/fab-branded-styles.scss +10 -0
  122. package/fab/lib/fab-styles.css.js +1 -1
  123. package/fab/lib/fab-styles.css.js.map +1 -1
  124. package/fab/lib/fab.d.ts +14 -10
  125. package/fab/lib/fab.js +19 -12
  126. package/fab/lib/fab.js.map +1 -1
  127. package/fab/lib/forced-colors-styles.css.js +9 -0
  128. package/fab/lib/forced-colors-styles.css.js.map +1 -0
  129. package/fab/lib/forced-colors-styles.scss +26 -0
  130. package/fab/lib/shared-styles.css.d.ts +1 -0
  131. package/fab/lib/shared-styles.css.js +9 -0
  132. package/fab/lib/shared-styles.css.js.map +1 -0
  133. package/fab/lib/{fab-shared-styles.scss → shared-styles.scss} +1 -1
  134. package/fab/lib/{fab-shared.d.ts → shared.d.ts} +24 -16
  135. package/fab/lib/shared.js +137 -0
  136. package/fab/lib/shared.js.map +1 -0
  137. package/field/lib/field.js +14 -27
  138. package/field/lib/field.js.map +1 -1
  139. package/field/lib/filled-styles.css.js +1 -1
  140. package/field/lib/filled-styles.css.js.map +1 -1
  141. package/field/lib/outlined-styles.css.js +1 -1
  142. package/field/lib/outlined-styles.css.js.map +1 -1
  143. package/focus/focus-ring.d.ts +0 -1
  144. package/focus/focus-ring.js +0 -1
  145. package/focus/focus-ring.js.map +1 -1
  146. package/focus/lib/_focus-ring.scss +30 -20
  147. package/focus/lib/focus-ring-styles.css.js +1 -1
  148. package/focus/lib/focus-ring-styles.css.js.map +1 -1
  149. package/focus/lib/focus-ring.js +2 -3
  150. package/focus/lib/focus-ring.js.map +1 -1
  151. package/focus/strong-focus.d.ts +11 -0
  152. package/focus/strong-focus.js +16 -1
  153. package/focus/strong-focus.js.map +1 -1
  154. package/icon/icon.d.ts +0 -1
  155. package/icon/icon.js +0 -1
  156. package/icon/icon.js.map +1 -1
  157. package/icon/lib/_icon.scss +2 -0
  158. package/icon/lib/icon-styles.css.js +1 -1
  159. package/icon/lib/icon-styles.css.js.map +1 -1
  160. package/icon/lib/icon.d.ts +5 -4
  161. package/icon/lib/icon.js +3 -2
  162. package/icon/lib/icon.js.map +1 -1
  163. package/iconbutton/filled-icon-button.js +1 -0
  164. package/iconbutton/filled-icon-button.js.map +1 -1
  165. package/iconbutton/filled-tonal-icon-button.js +1 -0
  166. package/iconbutton/filled-tonal-icon-button.js.map +1 -1
  167. package/iconbutton/harness.d.ts +1 -2
  168. package/iconbutton/harness.js.map +1 -1
  169. package/iconbutton/lib/filled-styles.css.js +1 -1
  170. package/iconbutton/lib/filled-styles.css.js.map +1 -1
  171. package/iconbutton/lib/filled-tonal-styles.css.js +1 -1
  172. package/iconbutton/lib/filled-tonal-styles.css.js.map +1 -1
  173. package/iconbutton/lib/icon-button.d.ts +31 -4
  174. package/iconbutton/lib/icon-button.js +105 -37
  175. package/iconbutton/lib/icon-button.js.map +1 -1
  176. package/iconbutton/lib/outlined-styles.css.js +1 -1
  177. package/iconbutton/lib/outlined-styles.css.js.map +1 -1
  178. package/iconbutton/lib/standard-styles.css.js +1 -1
  179. package/iconbutton/lib/standard-styles.css.js.map +1 -1
  180. package/linearprogress/_linear-progress.scss +6 -0
  181. package/linearprogress/harness.d.ts +13 -0
  182. package/linearprogress/harness.js +18 -0
  183. package/linearprogress/harness.js.map +1 -0
  184. package/linearprogress/lib/_linear-progress.scss +380 -0
  185. package/linearprogress/lib/linear-progress-styles.css.d.ts +1 -0
  186. package/linearprogress/lib/linear-progress-styles.css.js +9 -0
  187. package/linearprogress/lib/linear-progress-styles.css.js.map +1 -0
  188. package/linearprogress/lib/linear-progress-styles.scss +8 -0
  189. package/linearprogress/lib/linear-progress.d.ts +35 -0
  190. package/linearprogress/lib/linear-progress.js +127 -0
  191. package/linearprogress/lib/linear-progress.js.map +1 -0
  192. package/linearprogress/linear-progress.d.ts +23 -0
  193. package/linearprogress/linear-progress.js +26 -0
  194. package/linearprogress/linear-progress.js.map +1 -0
  195. package/list/harness.d.ts +1 -0
  196. package/list/harness.js +1 -0
  197. package/list/harness.js.map +1 -1
  198. package/list/lib/_list.scss +6 -50
  199. package/list/lib/list-styles.css.js +1 -1
  200. package/list/lib/list-styles.css.js.map +1 -1
  201. package/list/lib/list.d.ts +1 -3
  202. package/list/lib/list.js +20 -34
  203. package/list/lib/list.js.map +1 -1
  204. package/list/lib/listitem/_list-item.scss +19 -82
  205. package/list/lib/listitem/forced-colors-styles.css.d.ts +1 -0
  206. package/list/lib/listitem/forced-colors-styles.css.js +9 -0
  207. package/list/lib/listitem/forced-colors-styles.css.js.map +1 -0
  208. package/list/lib/listitem/forced-colors-styles.scss +23 -0
  209. package/list/lib/listitem/list-item-styles.css.js +1 -1
  210. package/list/lib/listitem/list-item-styles.css.js.map +1 -1
  211. package/list/lib/listitem/list-item.d.ts +5 -7
  212. package/list/lib/listitem/list-item.js +27 -56
  213. package/list/lib/listitem/list-item.js.map +1 -1
  214. package/list/lib/listitemlink/list-item-link.js +4 -6
  215. package/list/lib/listitemlink/list-item-link.js.map +1 -1
  216. package/list/list-item-link.js +2 -1
  217. package/list/list-item-link.js.map +1 -1
  218. package/list/list-item.js +2 -1
  219. package/list/list-item.js.map +1 -1
  220. package/menu/harness.d.ts +1 -0
  221. package/menu/harness.js +1 -0
  222. package/menu/harness.js.map +1 -1
  223. package/menu/lib/_menu.scss +10 -37
  224. package/menu/lib/forced-colors-styles.css.d.ts +1 -0
  225. package/menu/lib/forced-colors-styles.css.js +9 -0
  226. package/menu/lib/forced-colors-styles.css.js.map +1 -0
  227. package/menu/lib/forced-colors-styles.scss +12 -0
  228. package/menu/lib/menu-styles.css.js +1 -1
  229. package/menu/lib/menu-styles.css.js.map +1 -1
  230. package/menu/lib/menu.d.ts +13 -3
  231. package/menu/lib/menu.js +78 -65
  232. package/menu/lib/menu.js.map +1 -1
  233. package/menu/lib/menuitem/_menu-item.scss +18 -43
  234. package/menu/lib/menuitem/forced-colors-styles.css.d.ts +1 -0
  235. package/menu/lib/menuitem/forced-colors-styles.css.js +9 -0
  236. package/menu/lib/menuitem/forced-colors-styles.css.js.map +1 -0
  237. package/menu/lib/menuitem/forced-colors-styles.scss +22 -0
  238. package/menu/lib/menuitem/menu-item-styles.css.js +1 -1
  239. package/menu/lib/menuitem/menu-item-styles.css.js.map +1 -1
  240. package/menu/lib/menuitem/menu-item.d.ts +1 -1
  241. package/menu/lib/menuitem/menu-item.js +4 -6
  242. package/menu/lib/menuitem/menu-item.js.map +1 -1
  243. package/menu/lib/menuitemlink/menu-item-link.d.ts +0 -2
  244. package/menu/lib/menuitemlink/menu-item-link.js +3 -6
  245. package/menu/lib/menuitemlink/menu-item-link.js.map +1 -1
  246. package/menu/lib/shared.d.ts +16 -2
  247. package/menu/lib/shared.js +23 -0
  248. package/menu/lib/shared.js.map +1 -1
  249. package/menu/lib/submenuitem/sub-menu-item.d.ts +4 -2
  250. package/menu/lib/submenuitem/sub-menu-item.js +17 -13
  251. package/menu/lib/submenuitem/sub-menu-item.js.map +1 -1
  252. package/menu/lib/typeaheadController.d.ts +10 -2
  253. package/menu/lib/typeaheadController.js +20 -14
  254. package/menu/lib/typeaheadController.js.map +1 -1
  255. package/menu/menu-item-link.js +3 -1
  256. package/menu/menu-item-link.js.map +1 -1
  257. package/menu/menu-item.js +4 -2
  258. package/menu/menu-item.js.map +1 -1
  259. package/menu/menu.js +2 -1
  260. package/menu/menu.js.map +1 -1
  261. package/menu/sub-menu-item.js +3 -1
  262. package/menu/sub-menu-item.js.map +1 -1
  263. package/navigationbar/lib/_navigation-bar.scss +9 -6
  264. package/navigationbar/lib/navigation-bar-styles.css.js +1 -1
  265. package/navigationbar/lib/navigation-bar-styles.css.js.map +1 -1
  266. package/navigationbar/lib/navigation-bar.d.ts +5 -5
  267. package/navigationbar/lib/navigation-bar.js +19 -20
  268. package/navigationbar/lib/navigation-bar.js.map +1 -1
  269. package/navigationbar/navigation-bar.d.ts +0 -1
  270. package/navigationbar/navigation-bar.js +0 -1
  271. package/navigationbar/navigation-bar.js.map +1 -1
  272. package/navigationdrawer/lib/_navigation-drawer-modal.scss +10 -11
  273. package/navigationdrawer/lib/_navigation-drawer.scss +9 -14
  274. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js +1 -1
  275. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js.map +1 -1
  276. package/navigationdrawer/lib/navigation-drawer-modal.d.ts +5 -10
  277. package/navigationdrawer/lib/navigation-drawer-modal.js +19 -41
  278. package/navigationdrawer/lib/navigation-drawer-modal.js.map +1 -1
  279. package/navigationdrawer/lib/navigation-drawer-styles.css.js +1 -1
  280. package/navigationdrawer/lib/navigation-drawer-styles.css.js.map +1 -1
  281. package/navigationdrawer/lib/navigation-drawer.d.ts +5 -9
  282. package/navigationdrawer/lib/navigation-drawer.js +18 -39
  283. package/navigationdrawer/lib/navigation-drawer.js.map +1 -1
  284. package/navigationdrawer/navigation-drawer-modal.d.ts +0 -1
  285. package/navigationdrawer/navigation-drawer-modal.js +0 -1
  286. package/navigationdrawer/navigation-drawer-modal.js.map +1 -1
  287. package/navigationdrawer/navigation-drawer.d.ts +0 -1
  288. package/navigationdrawer/navigation-drawer.js +0 -1
  289. package/navigationdrawer/navigation-drawer.js.map +1 -1
  290. package/navigationtab/lib/navigation-tab-styles.css.js +1 -1
  291. package/navigationtab/lib/navigation-tab-styles.css.js.map +1 -1
  292. package/navigationtab/lib/navigation-tab.d.ts +19 -24
  293. package/navigationtab/lib/navigation-tab.js +48 -68
  294. package/navigationtab/lib/navigation-tab.js.map +1 -1
  295. package/navigationtab/navigation-tab.d.ts +0 -1
  296. package/navigationtab/navigation-tab.js +0 -1
  297. package/navigationtab/navigation-tab.js.map +1 -1
  298. package/package.json +2 -1
  299. package/radio/lib/radio-styles.css.js +1 -1
  300. package/radio/lib/radio-styles.css.js.map +1 -1
  301. package/radio/lib/radio.d.ts +0 -1
  302. package/radio/lib/radio.js +30 -37
  303. package/radio/lib/radio.js.map +1 -1
  304. package/ripple/lib/_md-comp-ripple.scss +3 -3
  305. package/ripple/lib/ripple-styles.css.js +1 -1
  306. package/ripple/lib/ripple-styles.css.js.map +1 -1
  307. package/ripple/lib/ripple.js +7 -13
  308. package/ripple/lib/ripple.js.map +1 -1
  309. package/segmentedbutton/lib/outlined-segmented-button.d.ts +16 -7
  310. package/segmentedbutton/lib/outlined-segmented-button.js +3 -3
  311. package/segmentedbutton/lib/outlined-segmented-button.js.map +1 -1
  312. package/segmentedbutton/lib/outlined-styles.css.js +1 -1
  313. package/segmentedbutton/lib/outlined-styles.css.js.map +1 -1
  314. package/segmentedbutton/lib/segmented-button.d.ts +27 -33
  315. package/segmentedbutton/lib/segmented-button.js +42 -75
  316. package/segmentedbutton/lib/segmented-button.js.map +1 -1
  317. package/segmentedbutton/outlined-segmented-button.d.ts +0 -1
  318. package/segmentedbutton/outlined-segmented-button.js +0 -1
  319. package/segmentedbutton/outlined-segmented-button.js.map +1 -1
  320. package/segmentedbuttonset/lib/outlined-segmented-button-set.d.ts +6 -4
  321. package/segmentedbuttonset/lib/outlined-segmented-button-set.js +3 -2
  322. package/segmentedbuttonset/lib/outlined-segmented-button-set.js.map +1 -1
  323. package/segmentedbuttonset/lib/outlined-styles.css.js +1 -1
  324. package/segmentedbuttonset/lib/outlined-styles.css.js.map +1 -1
  325. package/segmentedbuttonset/lib/segmented-button-set.d.ts +3 -9
  326. package/segmentedbuttonset/lib/segmented-button-set.js +14 -20
  327. package/segmentedbuttonset/lib/segmented-button-set.js.map +1 -1
  328. package/segmentedbuttonset/outlined-segmented-button-set.d.ts +0 -1
  329. package/segmentedbuttonset/outlined-segmented-button-set.js +0 -1
  330. package/segmentedbuttonset/outlined-segmented-button-set.js.map +1 -1
  331. package/select/_filled-select.scss +6 -0
  332. package/select/_outlined-select.scss +6 -0
  333. package/select/filled-select.d.ts +41 -0
  334. package/select/filled-select.js +46 -0
  335. package/select/filled-select.js.map +1 -0
  336. package/select/harness.d.ts +24 -0
  337. package/select/harness.js +53 -0
  338. package/select/harness.js.map +1 -0
  339. package/select/lib/_filled-select.scss +163 -0
  340. package/select/lib/_outlined-select.scss +146 -0
  341. package/select/lib/_shared.scss +48 -0
  342. package/select/lib/filled-forced-colors-styles.css.d.ts +1 -0
  343. package/select/lib/filled-forced-colors-styles.css.js +9 -0
  344. package/select/lib/filled-forced-colors-styles.css.js.map +1 -0
  345. package/select/lib/filled-forced-colors-styles.scss +29 -0
  346. package/select/lib/filled-select-styles.css.d.ts +1 -0
  347. package/select/lib/filled-select-styles.css.js +9 -0
  348. package/select/lib/filled-select-styles.css.js.map +1 -0
  349. package/select/lib/filled-select-styles.scss +10 -0
  350. package/select/lib/filled-select.d.ts +10 -0
  351. package/select/lib/filled-select.js +16 -0
  352. package/select/lib/filled-select.js.map +1 -0
  353. package/select/lib/outlined-forced-colors-styles.css.d.ts +1 -0
  354. package/select/lib/outlined-forced-colors-styles.css.js +9 -0
  355. package/select/lib/outlined-forced-colors-styles.css.js.map +1 -0
  356. package/select/lib/outlined-forced-colors-styles.scss +29 -0
  357. package/select/lib/outlined-select-styles.css.d.ts +1 -0
  358. package/select/lib/outlined-select-styles.css.js +9 -0
  359. package/select/lib/outlined-select-styles.css.js.map +1 -0
  360. package/select/lib/outlined-select-styles.scss +10 -0
  361. package/select/lib/outlined-select.d.ts +10 -0
  362. package/select/lib/outlined-select.js +16 -0
  363. package/select/lib/outlined-select.js.map +1 -0
  364. package/select/lib/select.d.ts +218 -0
  365. package/select/lib/select.js +587 -0
  366. package/select/lib/select.js.map +1 -0
  367. package/select/lib/selectoption/harness.d.ts +11 -0
  368. package/select/lib/selectoption/harness.js +12 -0
  369. package/select/lib/selectoption/harness.js.map +1 -0
  370. package/select/lib/selectoption/select-option.d.ts +30 -0
  371. package/select/lib/selectoption/select-option.js +71 -0
  372. package/select/lib/selectoption/select-option.js.map +1 -0
  373. package/select/lib/shared-styles.css.d.ts +1 -0
  374. package/select/lib/shared-styles.css.js +9 -0
  375. package/select/lib/shared-styles.css.js.map +1 -0
  376. package/select/lib/shared-styles.scss +10 -0
  377. package/select/lib/shared.d.ts +52 -0
  378. package/select/lib/shared.js +41 -0
  379. package/select/lib/shared.js.map +1 -0
  380. package/select/outlined-select.d.ts +41 -0
  381. package/select/outlined-select.js +46 -0
  382. package/select/outlined-select.js.map +1 -0
  383. package/select/select-option.d.ts +44 -0
  384. package/select/select-option.js +51 -0
  385. package/select/select-option.js.map +1 -0
  386. package/slider/harness.d.ts +1 -0
  387. package/slider/harness.js +5 -0
  388. package/slider/harness.js.map +1 -1
  389. package/slider/lib/_slider.scss +147 -171
  390. package/slider/lib/forced-colors-styles.css.js +1 -1
  391. package/slider/lib/forced-colors-styles.css.js.map +1 -1
  392. package/slider/lib/forced-colors-styles.scss +2 -2
  393. package/slider/lib/slider-styles.css.js +1 -1
  394. package/slider/lib/slider-styles.css.js.map +1 -1
  395. package/slider/lib/slider.d.ts +2 -7
  396. package/slider/lib/slider.js +65 -119
  397. package/slider/lib/slider.js.map +1 -1
  398. package/switch/lib/switch-styles.css.js +1 -1
  399. package/switch/lib/switch-styles.css.js.map +1 -1
  400. package/switch/lib/switch.d.ts +0 -2
  401. package/switch/lib/switch.js +32 -54
  402. package/switch/lib/switch.js.map +1 -1
  403. package/textfield/lib/filled-styles.css.js +1 -1
  404. package/textfield/lib/filled-styles.css.js.map +1 -1
  405. package/textfield/lib/outlined-styles.css.js +1 -1
  406. package/textfield/lib/outlined-styles.css.js.map +1 -1
  407. package/textfield/lib/text-field.d.ts +0 -10
  408. package/textfield/lib/text-field.js +45 -115
  409. package/textfield/lib/text-field.js.map +1 -1
  410. package/tokens/_index.scss +6 -0
  411. package/tokens/_md-comp-assist-chip.scss +81 -21
  412. package/tokens/_md-comp-badge.scss +8 -1
  413. package/tokens/_md-comp-banner.scss +1 -1
  414. package/tokens/_md-comp-bottom-app-bar.scss +1 -1
  415. package/tokens/_md-comp-carousel-item.scss +1 -1
  416. package/tokens/_md-comp-checkbox.scss +1 -1
  417. package/tokens/_md-comp-circular-progress-indicator.scss +17 -2
  418. package/tokens/_md-comp-data-table.scss +1 -1
  419. package/tokens/_md-comp-date-input-modal.scss +1 -1
  420. package/tokens/_md-comp-date-picker-docked.scss +1 -1
  421. package/tokens/_md-comp-date-picker-modal.scss +1 -1
  422. package/tokens/_md-comp-dialog.scss +10 -1
  423. package/tokens/_md-comp-divider.scss +1 -1
  424. package/tokens/_md-comp-elevated-button.scss +80 -20
  425. package/tokens/_md-comp-elevated-card.scss +1 -1
  426. package/tokens/_md-comp-elevation.scss +24 -0
  427. package/tokens/_md-comp-extended-fab-branded.scss +8 -1
  428. package/tokens/_md-comp-extended-fab-primary.scss +8 -1
  429. package/tokens/_md-comp-extended-fab-secondary.scss +8 -1
  430. package/tokens/_md-comp-extended-fab-surface.scss +8 -1
  431. package/tokens/_md-comp-extended-fab-tertiary.scss +8 -1
  432. package/tokens/_md-comp-fab-branded-large.scss +1 -1
  433. package/tokens/_md-comp-fab-branded.scss +110 -2
  434. package/tokens/_md-comp-fab-primary-large.scss +1 -1
  435. package/tokens/_md-comp-fab-primary-small.scss +1 -1
  436. package/tokens/_md-comp-fab-primary.scss +1 -1
  437. package/tokens/_md-comp-fab-secondary-large.scss +1 -1
  438. package/tokens/_md-comp-fab-secondary-small.scss +1 -1
  439. package/tokens/_md-comp-fab-secondary.scss +1 -1
  440. package/tokens/_md-comp-fab-surface-large.scss +1 -1
  441. package/tokens/_md-comp-fab-surface-small.scss +1 -1
  442. package/tokens/_md-comp-fab-surface.scss +1 -1
  443. package/tokens/_md-comp-fab-tertiary-large.scss +1 -1
  444. package/tokens/_md-comp-fab-tertiary-small.scss +1 -1
  445. package/tokens/_md-comp-fab-tertiary.scss +1 -1
  446. package/tokens/_md-comp-fab.scss +290 -0
  447. package/tokens/_md-comp-filled-autocomplete.scss +1 -1
  448. package/tokens/_md-comp-filled-button.scss +80 -20
  449. package/tokens/_md-comp-filled-card.scss +1 -1
  450. package/tokens/_md-comp-filled-icon-button.scss +1 -1
  451. package/tokens/_md-comp-filled-menu-button.scss +1 -1
  452. package/tokens/_md-comp-filled-select.scss +151 -2
  453. package/tokens/_md-comp-filled-text-field.scss +10 -1
  454. package/tokens/_md-comp-filled-tonal-button.scss +80 -20
  455. package/tokens/_md-comp-filled-tonal-icon-button.scss +1 -1
  456. package/tokens/_md-comp-filter-chip.scss +211 -11
  457. package/tokens/_md-comp-focus-ring.scss +46 -0
  458. package/tokens/_md-comp-full-screen-dialog.scss +1 -1
  459. package/tokens/_md-comp-icon-button.scss +1 -1
  460. package/tokens/_md-comp-input-chip.scss +186 -11
  461. package/tokens/_md-comp-linear-progress-indicator.scss +15 -2
  462. package/tokens/_md-comp-list-item.scss +201 -0
  463. package/tokens/_md-comp-list.scss +110 -12
  464. package/tokens/_md-comp-menu-item.scss +76 -0
  465. package/tokens/_md-comp-menu.scss +53 -3
  466. package/tokens/_md-comp-navigation-bar.scss +1 -1
  467. package/tokens/_md-comp-navigation-drawer.scss +1 -1
  468. package/tokens/_md-comp-navigation-rail.scss +1 -1
  469. package/tokens/_md-comp-outlined-autocomplete.scss +1 -1
  470. package/tokens/_md-comp-outlined-button.scss +77 -19
  471. package/tokens/_md-comp-outlined-card.scss +1 -1
  472. package/tokens/_md-comp-outlined-icon-button.scss +1 -1
  473. package/tokens/_md-comp-outlined-menu-button.scss +1 -1
  474. package/tokens/_md-comp-outlined-segmented-button.scss +10 -1
  475. package/tokens/_md-comp-outlined-select.scss +151 -2
  476. package/tokens/_md-comp-outlined-text-field.scss +10 -1
  477. package/tokens/_md-comp-plain-tooltip.scss +1 -1
  478. package/tokens/_md-comp-primary-navigation-tab.scss +10 -1
  479. package/tokens/_md-comp-radio-button.scss +1 -1
  480. package/tokens/_md-comp-rich-tooltip.scss +1 -1
  481. package/tokens/_md-comp-scrim.scss +1 -1
  482. package/tokens/_md-comp-search-bar.scss +1 -1
  483. package/tokens/_md-comp-search-view.scss +1 -1
  484. package/tokens/_md-comp-secondary-navigation-tab.scss +9 -1
  485. package/tokens/_md-comp-sheet-bottom.scss +1 -1
  486. package/tokens/_md-comp-sheet-floating.scss +1 -1
  487. package/tokens/_md-comp-sheet-side.scss +1 -1
  488. package/tokens/_md-comp-slider.scss +23 -2
  489. package/tokens/_md-comp-snackbar.scss +1 -1
  490. package/tokens/_md-comp-standard-menu-button.scss +1 -1
  491. package/tokens/_md-comp-suggestion-chip.scss +83 -24
  492. package/tokens/_md-comp-switch.scss +1 -1
  493. package/tokens/_md-comp-test-table.scss +31 -0
  494. package/tokens/_md-comp-text-button.scss +70 -19
  495. package/tokens/_md-comp-time-input.scss +1 -1
  496. package/tokens/_md-comp-time-picker.scss +1 -1
  497. package/tokens/_md-comp-top-app-bar-large.scss +1 -1
  498. package/tokens/_md-comp-top-app-bar-medium.scss +1 -1
  499. package/tokens/_md-comp-top-app-bar-small-centered.scss +1 -1
  500. package/tokens/_md-comp-top-app-bar-small.scss +1 -1
  501. package/tokens/_md-ref-palette.scss +1 -1
  502. package/tokens/_md-ref-typeface.scss +24 -2
  503. package/tokens/_md-sys-color.scss +1 -1
  504. package/tokens/_md-sys-elevation.scss +1 -1
  505. package/tokens/_md-sys-motion.scss +1 -1
  506. package/tokens/_md-sys-shape.scss +1 -1
  507. package/tokens/_md-sys-state.scss +1 -1
  508. package/tokens/_md-sys-typescale.scss +36 -2
  509. package/tokens/_values.scss +114 -0
  510. package/tokens/{v0_161 → v0_172}/_md-comp-assist-chip.scss +3 -4
  511. package/tokens/{v0_161 → v0_172}/_md-comp-badge.scss +1 -1
  512. package/tokens/{v0_161 → v0_172}/_md-comp-banner.scss +2 -4
  513. package/tokens/{v0_161 → v0_172}/_md-comp-bottom-app-bar.scss +3 -5
  514. package/tokens/{v0_161 → v0_172}/_md-comp-carousel-item.scss +1 -3
  515. package/tokens/{v0_161 → v0_172}/_md-comp-checkbox.scss +1 -1
  516. package/tokens/{v0_161 → v0_172}/_md-comp-circular-progress-indicator.scss +1 -1
  517. package/tokens/{v0_161 → v0_172}/_md-comp-data-table.scss +2 -2
  518. package/tokens/{v0_161 → v0_172}/_md-comp-date-input-modal.scss +2 -4
  519. package/tokens/{v0_161 → v0_172}/_md-comp-date-picker-docked.scss +2 -4
  520. package/tokens/{v0_161 → v0_172}/_md-comp-date-picker-modal.scss +2 -4
  521. package/tokens/{v0_161 → v0_172}/_md-comp-dialog.scss +2 -4
  522. package/tokens/{v0_161 → v0_172}/_md-comp-divider.scss +1 -1
  523. package/tokens/{v0_161 → v0_172}/_md-comp-elevated-button.scss +2 -4
  524. package/tokens/{v0_161 → v0_172}/_md-comp-elevated-card.scss +2 -4
  525. package/tokens/{v0_161 → v0_172}/_md-comp-extended-fab-branded.scss +4 -4
  526. package/tokens/{v0_161 → v0_172}/_md-comp-extended-fab-primary.scss +1 -1
  527. package/tokens/{v0_161 → v0_172}/_md-comp-extended-fab-secondary.scss +1 -1
  528. package/tokens/{v0_161 → v0_172}/_md-comp-extended-fab-surface.scss +4 -4
  529. package/tokens/{v0_161 → v0_172}/_md-comp-extended-fab-tertiary.scss +1 -1
  530. package/tokens/{v0_161 → v0_172}/_md-comp-fab-branded-large.scss +4 -4
  531. package/tokens/{v0_161 → v0_172}/_md-comp-fab-branded.scss +4 -4
  532. package/tokens/{v0_161 → v0_172}/_md-comp-fab-primary-large.scss +1 -1
  533. package/tokens/{v0_161 → v0_172}/_md-comp-fab-primary-small.scss +1 -1
  534. package/tokens/{v0_161 → v0_172}/_md-comp-fab-primary.scss +1 -1
  535. package/tokens/{v0_161 → v0_172}/_md-comp-fab-secondary-large.scss +1 -1
  536. package/tokens/{v0_161 → v0_172}/_md-comp-fab-secondary-small.scss +1 -1
  537. package/tokens/{v0_161 → v0_172}/_md-comp-fab-secondary.scss +1 -1
  538. package/tokens/{v0_161 → v0_172}/_md-comp-fab-surface-large.scss +4 -4
  539. package/tokens/{v0_161 → v0_172}/_md-comp-fab-surface-small.scss +4 -4
  540. package/tokens/{v0_161 → v0_172}/_md-comp-fab-surface.scss +4 -4
  541. package/tokens/{v0_161 → v0_172}/_md-comp-fab-tertiary-large.scss +1 -1
  542. package/tokens/{v0_161 → v0_172}/_md-comp-fab-tertiary-small.scss +1 -1
  543. package/tokens/{v0_161 → v0_172}/_md-comp-fab-tertiary.scss +1 -1
  544. package/tokens/{v0_161 → v0_172}/_md-comp-filled-autocomplete.scss +4 -6
  545. package/tokens/{v0_161 → v0_172}/_md-comp-filled-button.scss +1 -1
  546. package/tokens/{v0_161 → v0_172}/_md-comp-filled-card.scss +3 -2
  547. package/tokens/{v0_161 → v0_172}/_md-comp-filled-icon-button.scss +2 -2
  548. package/tokens/{v0_161 → v0_172}/_md-comp-filled-menu-button.scss +1 -1
  549. package/tokens/{v0_161 → v0_172}/_md-comp-filled-select.scss +4 -6
  550. package/tokens/{v0_161 → v0_172}/_md-comp-filled-text-field.scss +3 -2
  551. package/tokens/{v0_161 → v0_172}/_md-comp-filled-tonal-button.scss +1 -1
  552. package/tokens/{v0_161 → v0_172}/_md-comp-filled-tonal-icon-button.scss +2 -2
  553. package/tokens/{v0_161 → v0_172}/_md-comp-filter-chip.scss +2 -4
  554. package/tokens/{v0_161 → v0_172}/_md-comp-full-screen-dialog.scss +3 -3
  555. package/tokens/{v0_161 → v0_172}/_md-comp-icon-button.scss +1 -1
  556. package/tokens/{v0_161 → v0_172}/_md-comp-input-chip.scss +1 -1
  557. package/tokens/{v0_161 → v0_172}/_md-comp-linear-progress-indicator.scss +2 -2
  558. package/tokens/{v0_161 → v0_172}/_md-comp-list.scss +1 -1
  559. package/tokens/{v0_161 → v0_172}/_md-comp-menu.scss +3 -5
  560. package/tokens/{v0_161 → v0_172}/_md-comp-navigation-bar.scss +2 -4
  561. package/tokens/{v0_161 → v0_172}/_md-comp-navigation-drawer.scss +4 -4
  562. package/tokens/{v0_161 → v0_172}/_md-comp-navigation-rail.scss +1 -16
  563. package/tokens/{v0_161 → v0_172}/_md-comp-outlined-autocomplete.scss +4 -6
  564. package/tokens/{v0_161 → v0_172}/_md-comp-outlined-button.scss +1 -1
  565. package/tokens/{v0_161 → v0_172}/_md-comp-outlined-card.scss +1 -3
  566. package/tokens/{v0_161 → v0_172}/_md-comp-outlined-icon-button.scss +1 -1
  567. package/tokens/{v0_161 → v0_172}/_md-comp-outlined-menu-button.scss +1 -1
  568. package/tokens/{v0_161 → v0_172}/_md-comp-outlined-segmented-button.scss +1 -1
  569. package/tokens/{v0_161 → v0_172}/_md-comp-outlined-select.scss +4 -6
  570. package/tokens/{v0_161 → v0_172}/_md-comp-outlined-text-field.scss +1 -1
  571. package/tokens/{v0_161 → v0_172}/_md-comp-plain-tooltip.scss +1 -1
  572. package/tokens/{v0_161 → v0_172}/_md-comp-primary-navigation-tab.scss +1 -1
  573. package/tokens/{v0_161 → v0_172}/_md-comp-radio-button.scss +1 -1
  574. package/tokens/{v0_161 → v0_172}/_md-comp-rich-tooltip.scss +3 -5
  575. package/tokens/{v0_161 → v0_172}/_md-comp-scrim.scss +1 -1
  576. package/tokens/{v0_161 → v0_172}/_md-comp-search-bar.scss +2 -4
  577. package/tokens/{v0_161 → v0_172}/_md-comp-search-view.scss +2 -4
  578. package/tokens/{v0_161 → v0_172}/_md-comp-secondary-navigation-tab.scss +3 -3
  579. package/tokens/{v0_161 → v0_172}/_md-comp-sheet-bottom.scss +3 -4
  580. package/tokens/{v0_161 → v0_172}/_md-comp-sheet-floating.scss +3 -5
  581. package/tokens/{v0_161 → v0_172}/_md-comp-sheet-side.scss +4 -4
  582. package/tokens/{v0_161 → v0_172}/_md-comp-slider.scss +3 -2
  583. package/tokens/{v0_161 → v0_172}/_md-comp-snackbar.scss +1 -1
  584. package/tokens/{v0_161 → v0_172}/_md-comp-standard-menu-button.scss +1 -1
  585. package/tokens/{v0_161 → v0_172}/_md-comp-suggestion-chip.scss +3 -4
  586. package/tokens/{v0_161 → v0_172}/_md-comp-switch.scss +13 -11
  587. package/tokens/{v0_161 → v0_172}/_md-comp-text-button.scss +1 -1
  588. package/tokens/{v0_161 → v0_172}/_md-comp-time-input.scss +3 -4
  589. package/tokens/{v0_161 → v0_172}/_md-comp-time-picker.scss +5 -5
  590. package/tokens/{v0_161 → v0_172}/_md-comp-top-app-bar-large.scss +1 -3
  591. package/tokens/{v0_161 → v0_172}/_md-comp-top-app-bar-medium.scss +1 -3
  592. package/tokens/{v0_161 → v0_172}/_md-comp-top-app-bar-small-centered.scss +3 -1
  593. package/tokens/{v0_161 → v0_172}/_md-comp-top-app-bar-small.scss +3 -3
  594. package/tokens/{v0_161 → v0_172}/_md-ref-palette.scss +23 -23
  595. package/tokens/{v0_161 → v0_172}/_md-ref-typeface.scss +1 -1
  596. package/tokens/{v0_161 → v0_172}/_md-sys-color.scss +9 -9
  597. package/tokens/{v0_161 → v0_172}/_md-sys-elevation.scss +1 -1
  598. package/tokens/{v0_161 → v0_172}/_md-sys-motion.scss +1 -1
  599. package/tokens/{v0_161 → v0_172}/_md-sys-shape.scss +1 -1
  600. package/tokens/{v0_161 → v0_172}/_md-sys-state.scss +1 -1
  601. package/tokens/{v0_161 → v0_172}/_md-sys-typescale.scss +1 -1
  602. package/tokens/v0_172/index.test.css.d.ts +1 -0
  603. package/tokens/v0_172/lib.test.css.d.ts +1 -0
  604. package/types/aria.d.ts +61 -1
  605. package/actionelement/action-element.d.ts +0 -79
  606. package/actionelement/action-element.js +0 -97
  607. package/actionelement/action-element.js.map +0 -1
  608. package/button/elevated-link-button.d.ts +0 -36
  609. package/button/elevated-link-button.js +0 -41
  610. package/button/elevated-link-button.js.map +0 -1
  611. package/button/filled-link-button.d.ts +0 -34
  612. package/button/filled-link-button.js +0 -39
  613. package/button/filled-link-button.js.map +0 -1
  614. package/button/lib/elevated-link-button.d.ts +0 -13
  615. package/button/lib/elevated-link-button.js +0 -21
  616. package/button/lib/elevated-link-button.js.map +0 -1
  617. package/button/lib/filled-link-button.d.ts +0 -14
  618. package/button/lib/filled-link-button.js +0 -22
  619. package/button/lib/filled-link-button.js.map +0 -1
  620. package/button/lib/link-button.d.ts +0 -24
  621. package/button/lib/link-button.js +0 -59
  622. package/button/lib/link-button.js.map +0 -1
  623. package/button/lib/outlined-link-button.d.ts +0 -12
  624. package/button/lib/outlined-link-button.js +0 -20
  625. package/button/lib/outlined-link-button.js.map +0 -1
  626. package/button/lib/state.d.ts +0 -10
  627. package/button/lib/state.js +0 -7
  628. package/button/lib/state.js.map +0 -1
  629. package/button/lib/text-link-button.d.ts +0 -10
  630. package/button/lib/text-link-button.js +0 -16
  631. package/button/lib/text-link-button.js.map +0 -1
  632. package/button/lib/tonal-link-button.d.ts +0 -14
  633. package/button/lib/tonal-link-button.js +0 -22
  634. package/button/lib/tonal-link-button.js.map +0 -1
  635. package/button/outlined-link-button.d.ts +0 -36
  636. package/button/outlined-link-button.js +0 -40
  637. package/button/outlined-link-button.js.map +0 -1
  638. package/button/text-link-button.d.ts +0 -34
  639. package/button/text-link-button.js +0 -38
  640. package/button/text-link-button.js.map +0 -1
  641. package/button/tonal-link-button.d.ts +0 -35
  642. package/button/tonal-link-button.js +0 -40
  643. package/button/tonal-link-button.js.map +0 -1
  644. package/controller/action-controller.d.ts +0 -147
  645. package/controller/action-controller.js +0 -286
  646. package/controller/action-controller.js.map +0 -1
  647. package/decorators/aria-property.d.ts +0 -32
  648. package/decorators/aria-property.js +0 -99
  649. package/decorators/aria-property.js.map +0 -1
  650. package/elevation/lib/_md-comp-elevation.scss +0 -27
  651. package/fab/_fab-extended.scss +0 -6
  652. package/fab/fab-extended.d.ts +0 -23
  653. package/fab/fab-extended.js +0 -29
  654. package/fab/fab-extended.js.map +0 -1
  655. package/fab/lib/_fab-extended.scss +0 -73
  656. package/fab/lib/fab-extended-styles.css.js +0 -9
  657. package/fab/lib/fab-extended-styles.css.js.map +0 -1
  658. package/fab/lib/fab-extended.d.ts +0 -19
  659. package/fab/lib/fab-extended.js +0 -28
  660. package/fab/lib/fab-extended.js.map +0 -1
  661. package/fab/lib/fab-shared-styles.css.js +0 -9
  662. package/fab/lib/fab-shared-styles.css.js.map +0 -1
  663. package/fab/lib/fab-shared.js +0 -121
  664. package/fab/lib/fab-shared.js.map +0 -1
  665. package/focus/lib/_md-comp-focus-ring.scss +0 -30
  666. package/iconbutton/filled-icon-button-toggle.d.ts +0 -31
  667. package/iconbutton/filled-icon-button-toggle.js +0 -40
  668. package/iconbutton/filled-icon-button-toggle.js.map +0 -1
  669. package/iconbutton/filled-link-icon-button.d.ts +0 -31
  670. package/iconbutton/filled-link-icon-button.js +0 -39
  671. package/iconbutton/filled-link-icon-button.js.map +0 -1
  672. package/iconbutton/filled-tonal-icon-button-toggle.d.ts +0 -31
  673. package/iconbutton/filled-tonal-icon-button-toggle.js +0 -40
  674. package/iconbutton/filled-tonal-icon-button-toggle.js.map +0 -1
  675. package/iconbutton/filled-tonal-link-icon-button.d.ts +0 -31
  676. package/iconbutton/filled-tonal-link-icon-button.js +0 -39
  677. package/iconbutton/filled-tonal-link-icon-button.js.map +0 -1
  678. package/iconbutton/lib/icon-button-toggle.d.ts +0 -34
  679. package/iconbutton/lib/icon-button-toggle.js +0 -87
  680. package/iconbutton/lib/icon-button-toggle.js.map +0 -1
  681. package/iconbutton/lib/link-icon-button.d.ts +0 -23
  682. package/iconbutton/lib/link-icon-button.js +0 -58
  683. package/iconbutton/lib/link-icon-button.js.map +0 -1
  684. package/iconbutton/outlined-icon-button-toggle.d.ts +0 -31
  685. package/iconbutton/outlined-icon-button-toggle.js +0 -39
  686. package/iconbutton/outlined-icon-button-toggle.js.map +0 -1
  687. package/iconbutton/outlined-link-icon-button.d.ts +0 -31
  688. package/iconbutton/outlined-link-icon-button.js +0 -39
  689. package/iconbutton/outlined-link-icon-button.js.map +0 -1
  690. package/iconbutton/standard-icon-button-toggle.d.ts +0 -31
  691. package/iconbutton/standard-icon-button-toggle.js +0 -39
  692. package/iconbutton/standard-icon-button-toggle.js.map +0 -1
  693. package/iconbutton/standard-link-icon-button.d.ts +0 -31
  694. package/iconbutton/standard-link-icon-button.js +0 -39
  695. package/iconbutton/standard-link-icon-button.js.map +0 -1
  696. package/slider/lib/_tokens.scss +0 -60
  697. /package/{fab/lib/fab-extended-styles.css.d.ts → chips/lib/filter-styles.css.d.ts} +0 -0
  698. /package/{fab/lib/fab-shared-styles.css.d.ts → circularprogress/lib/circular-progress-styles.css.d.ts} +0 -0
  699. /package/{tokens/v0_161/index.test.css.d.ts → fab/lib/fab-branded-styles.css.d.ts} +0 -0
  700. /package/{tokens/v0_161/lib.test.css.d.ts → fab/lib/forced-colors-styles.css.d.ts} +0 -0
  701. /package/tokens/{v0_161 → v0_172}/_index.scss +0 -0
  702. /package/tokens/{v0_161 → v0_172}/index.test.css.js +0 -0
  703. /package/tokens/{v0_161 → v0_172}/index.test.css.js.map +0 -0
  704. /package/tokens/{v0_161 → v0_172}/index.test.scss +0 -0
  705. /package/tokens/{v0_161 → v0_172}/lib.test.css.js +0 -0
  706. /package/tokens/{v0_161 → v0_172}/lib.test.css.js.map +0 -0
  707. /package/tokens/{v0_161 → v0_172}/lib.test.scss +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"slider.js","sourceRoot":"","sources":["slider.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 '../../elevation/elevation.js';\nimport '../../focus/focus-ring.js';\nimport '../../ripple/ripple.js';\n\nimport {html, LitElement, nothing, PropertyValues} from 'lit';\nimport {property, query, queryAsync, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {styleMap} from 'lit/directives/style-map.js';\nimport {when} from 'lit/directives/when.js';\n\nimport {dispatchActivationClick, isActivationClick, redispatchEvent} from '../../controller/events.js';\nimport {FormController, getFormValue} from '../../controller/form-controller.js';\nimport {stringConverter} from '../../controller/string-converter.js';\nimport {ariaProperty} from '../../decorators/aria-property.js';\nimport {pointerPress, shouldShowStrongFocus} from '../../focus/strong-focus.js';\nimport {ripple} from '../../ripple/directive.js';\nimport {MdRipple} from '../../ripple/ripple.js';\n\n\n\n// This is required for decorators.\n// tslint:disable:no-new-decorators\n\n// Disable warning for classMap with destructuring\n// tslint:disable:quoted-properties-on-dictionary\n\nfunction inBounds({x, y}: PointerEvent, element?: HTMLElement|null) {\n if (!element) {\n return false;\n }\n const {top, left, bottom, right} = element.getBoundingClientRect();\n return x >= left && x <= right && y >= top && y <= bottom;\n}\n\n// parse values like: foo or foo,bar\nfunction tupleConverter(attr: string|null) {\n const [, v, e] =\n attr?.match(/\\s*\\[?\\s*([^,]+)(?:(?:\\s*$)|(?:\\s*,\\s*(.*)\\s*))/) ?? [];\n return e !== undefined ? [v, e] : v;\n}\n\nfunction toNumber(value: string) {\n return Number(value) || 0;\n}\n\nfunction tupleAsString(value: unknown|[unknown, unknown]) {\n return Array.isArray(value) ? value.join() : String(value ?? '');\n}\n\nfunction valueConverter(attr: string|null) {\n const value = tupleConverter(attr);\n return Array.isArray(value) ? value.map(i => toNumber(i)) : toNumber(value);\n}\n\nfunction clamp(value: number, min: number, max: number) {\n return Math.max(min, Math.min(max, value));\n}\n\nfunction isOverlapping(elA: Element, elB: Element) {\n if (!(elA && elB)) {\n return false;\n }\n const a = elA.getBoundingClientRect();\n const b = elB.getBoundingClientRect();\n return !(\n a.top > b.bottom || a.right < b.left || a.bottom < b.top ||\n a.left > b.right);\n}\n\n/**\n * Slider component.\n */\nexport class Slider extends LitElement {\n static override shadowRootOptions:\n ShadowRootInit = {...LitElement.shadowRootOptions, delegatesFocus: true};\n\n /**\n * @nocollapse\n */\n static formAssociated = true;\n\n @ariaProperty // tslint:disable-line:no-new-decorators\n @property({type: String, attribute: 'data-aria-label', noAccessor: true})\n override ariaLabel!: string;\n\n /**\n * Whether or not the slider is disabled.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n\n /**\n * The slider minimum value\n */\n @property({type: Number}) min = 0;\n\n /**\n * The slider maximum value\n */\n @property({type: Number}) max = 10;\n\n /**\n * The slider value, can be a single number, or an array tuple indicating\n * a start and end value.\n */\n @property({converter: valueConverter}) value: number|[number, number] = 0;\n\n /**\n * An optinoal label for the slider's value; if not set, the label is the\n * value itself. This can be a string or string tuple when start and end\n * values are used.\n */\n @property({type: String, converter: tupleConverter})\n valueLabel?: string|[string, string]|undefined;\n\n /**\n * The step between values.\n */\n @property({type: Number}) step = 1;\n\n /**\n * Whether or not to show tick marks.\n */\n @property({type: Boolean}) withTickMarks = false;\n\n /**\n * Whether or not to show a value label when activated.\n */\n @property({type: Boolean}) withLabel = false;\n\n /**\n * The HTML name to use in form submission.\n */\n @property({type: String, reflect: true, converter: stringConverter})\n name = '';\n\n /**\n * The associated form element with which this element's value will submit.\n */\n get form() {\n return this.closest('form');\n }\n\n\n /**\n * Read only computed value representing the fraction between 0 and 1\n * respresenting the value's position between min and max. This is a\n * single fraction or a tuple if the value specifies start and end values.\n */\n get valueAsFraction() {\n const {lowerFraction, upperFraction} = this.getMetrics();\n return this.allowRange ? [lowerFraction, upperFraction] : upperFraction;\n }\n\n protected getMetrics() {\n const step = Math.max(this.step, 1);\n const range = Math.max(this.max - this.min, step);\n const lower = Math.min(this.valueA, this.valueB);\n const upper = Math.max(this.valueA, this.valueB);\n const lowerFraction = (lower - this.min) / range;\n const upperFraction = (upper - this.min) / range;\n return {\n step,\n range,\n lower,\n upper,\n lowerFraction,\n upperFraction,\n };\n }\n\n @query('input.a') protected readonly inputA!: HTMLInputElement;\n @query('.handle.a') protected readonly handleA!: HTMLDivElement;\n @queryAsync('md-ripple.a')\n protected readonly rippleA!: Promise<MdRipple|null>;\n\n @query('input.b') protected readonly inputB!: HTMLInputElement;\n @query('.handle.b') protected readonly handleB!: HTMLDivElement;\n @queryAsync('md-ripple.b')\n protected readonly rippleB!: Promise<MdRipple|null>;\n\n @state() protected valueA = 0;\n @state() protected valueB = 0;\n\n @state() private focusRingAShowing = false;\n @state() private focusRingBShowing = false;\n // allows for lazy rendering of the focus ring by latchin to true when the\n // focus ring should be rendered.\n private focusRingARequested = false;\n private focusRingBRequested = false;\n\n @state() private rippleAShowing = false;\n @state() private rippleBShowing = false;\n\n // handle hover/pressed states are set manually since the handle\n // does not receive pointer events so that the native inputs are\n // interaction targets.\n @state() private handleAHover = false;\n @state() private handleBHover = false;\n @state() private handleAPressed = false;\n @state() private handleBPressed = false;\n\n @state() private onTopId = 'b';\n @state() private handlesOverlapping = false;\n\n @state() private isInteracting = false;\n\n constructor() {\n super();\n this.addController(new FormController(this));\n this.addEventListener('click', (event: MouseEvent) => {\n if (!isActivationClick(event)) {\n return;\n }\n this.focus();\n dispatchActivationClick(this.inputB);\n });\n }\n\n override focus() {\n this.inputB?.focus();\n }\n\n get valueAsString() {\n return tupleAsString(this.value);\n }\n\n // value coerced to a string\n [getFormValue]() {\n return this.valueAsString;\n }\n\n // If range should be allowed (detected via value format).\n private allowRange = false;\n\n // indicates input values are crossed over each other from initial rendering.\n private isFlipped() {\n return this.valueA > this.valueB;\n }\n\n protected override willUpdate(changed: PropertyValues) {\n if (changed.has('value') || changed.has('min') || changed.has('max') ||\n changed.has('step')) {\n this.allowRange = Array.isArray(this.value);\n const step = Math.max(this.step, 1);\n let lower =\n this.allowRange ? (this.value as [number, number])[0] : this.min;\n lower = clamp(lower - (lower % step), this.min, this.max);\n let upper = this.allowRange ? (this.value as [number, number])[1] :\n this.value as number;\n upper = clamp(upper - (upper % step), this.min, this.max);\n const isFlipped = this.isFlipped() && this.allowRange;\n this.valueA = isFlipped ? upper : lower;\n this.valueB = isFlipped ? lower : upper;\n }\n\n // manually handle ripple hover state since the handle is pointer events\n // none.\n if (changed.get('handleAHover') !== undefined) {\n this.rippleAShowing = true;\n this.toggleRippleHover(this.rippleA, this.handleAHover);\n } else if (changed.get('handleBHover') !== undefined) {\n this.rippleBShowing = true;\n this.toggleRippleHover(this.rippleB, this.handleBHover);\n }\n\n // facilitates lazy rendering of the focus ring.\n this.focusRingARequested ||= this.focusRingAShowing;\n this.focusRingBRequested ||= this.focusRingBShowing;\n }\n\n protected override async updated(changed: PropertyValues) {\n if (changed.has('value') || changed.has('valueA') ||\n changed.has('valueB')) {\n await this.updateComplete;\n this.handlesOverlapping = isOverlapping(this.handleA, this.handleB);\n }\n }\n\n protected override render() {\n const {step, range, lowerFraction, upperFraction} = this.getMetrics();\n const isFlipped = this.isFlipped();\n const containerStyles = {\n // for clipping inputs and active track.\n '--lowerFraction': String(lowerFraction),\n '--upperFraction': String(upperFraction),\n // for generating tick marks\n '--tickCount': String(range / step)\n };\n const containerClasses = {\n interacting: this.isInteracting,\n ranged: this.allowRange\n };\n\n // optional label values to show in place of the value.\n const labelA = String(this.valueLabel?.[isFlipped ? 1 : 0] ?? this.valueA);\n const labelB = String(\n (this.allowRange ? this.valueLabel?.[isFlipped ? 0 : 1] :\n this.valueLabel) ??\n this.valueB);\n\n const inputAProps = {\n id: 'a',\n lesser: !isFlipped,\n value: this.valueA,\n label: labelA,\n getRipple: this.getRippleA\n };\n\n const inputBProps = {\n id: 'b',\n lesser: isFlipped,\n value: this.valueB,\n label: labelB,\n getRipple: this.getRippleB\n };\n\n const handleAProps = {\n id: 'a',\n lesser: !isFlipped,\n showRipple: this.rippleAShowing,\n focusRequested: this.focusRingARequested,\n showFocus: this.focusRingAShowing,\n hover: this.handleAHover,\n pressed: this.handleAPressed,\n label: labelA\n };\n\n const handleBProps = {\n id: 'b',\n lesser: isFlipped,\n showRipple: this.rippleBShowing,\n focusRequested: this.focusRingBRequested,\n showFocus: this.focusRingBShowing,\n hover: this.handleBHover,\n pressed: this.handleBPressed,\n label: labelB\n };\n\n const handleContainerClasses = {\n hover: this.handleAHover || this.handleBHover\n };\n\n return html`\n <div\n class=\"container ${classMap(containerClasses)}\"\n style=${styleMap(containerStyles)}\n >\n ${when(this.allowRange, () => this.renderInput(inputAProps))}\n ${this.renderInput(inputBProps)}\n ${this.renderTrack()}\n <div class=\"handleContainerPadded\">\n <div class=\"handleContainerBlock\">\n <div class=\"handleContainer ${classMap(handleContainerClasses)}\">\n ${when(this.allowRange, () => this.renderHandle(handleAProps))}\n ${this.renderHandle(handleBProps)}\n </div>\n </div>\n </div>\n </div>`;\n }\n\n protected renderTrack() {\n const trackClasses = {'tickMarks': this.withTickMarks};\n return html`\n <slot name=\"track\">\n <div class=\"track ${classMap(trackClasses)}\"></div>\n </slot>`;\n }\n\n protected renderFocusRing(visible: boolean) {\n return html`<md-focus-ring .visible=${visible}></md-focus-ring>`;\n }\n\n protected renderLabel(value: string) {\n return html`<div class=\"label\">\n <span class=\"labelContent\" part=\"label\">${value}</span>\n </div>`;\n }\n\n protected renderHandle({\n id,\n lesser,\n showRipple,\n focusRequested,\n showFocus,\n hover,\n pressed,\n label\n }: {\n id: string,\n lesser: boolean,\n focusRequested: boolean,\n showRipple: boolean,\n showFocus: boolean,\n hover: boolean,\n pressed: boolean,\n label: string\n }) {\n const onTop = !this.disabled && id === this.onTopId;\n const isOverlapping = !this.disabled && this.handlesOverlapping;\n return html`<div class=\"handle ${classMap({\n [id]: true,\n lesser,\n hover,\n pressed,\n onTop,\n isOverlapping\n })}\">\n <slot name=\"handle${\n this.allowRange ? (lesser ? 'Lesser' : 'Greater') : ''}\">\n <div class=\"handleNub\"><md-elevation shadow></md-elevation></div>\n ${when(this.withLabel, () => this.renderLabel(label))}\n\n </slot>\n ${when(showRipple, () => this.renderRipple(id))}\n ${when(focusRequested, () => this.renderFocusRing(showFocus))}\n </div>`;\n }\n\n protected renderInput({id, lesser, value, label, getRipple}: {\n id: string,\n lesser: boolean,\n value: number,\n label: string,\n getRipple: () => Promise<MdRipple|null>| null\n }) {\n // when ranged, ensure announcement includes value info.\n const ariaLabelDescriptor =\n this.allowRange ? ` - ${lesser ? `start` : `end`} handle` : '';\n return html`<input type=\"range\"\n class=\"${classMap({\n lesser,\n [id]: true\n })}\"\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n @pointerdown=${this.handleDown}\n @pointerup=${this.handleUp}\n @pointerenter=${this.handleEnter}\n @pointermove=${this.handleMove}\n @pointerleave=${this.handleLeave}\n @input=${this.handleInput}\n @change=${this.handleChange}\n .disabled=${this.disabled}\n .min=${String(this.min)}\n .max=${String(this.max)}\n .step=${String(this.step)}\n .value=${String(value)}\n .tabIndex=${lesser ? 1 : 0}\n aria-label=${`${this.ariaLabel}${ariaLabelDescriptor}` || nothing}\n aria-valuetext=${label}\n ${ripple(getRipple)}>`;\n }\n\n protected renderRipple = (id: string) => html`<md-ripple class=${\n id} ?disabled=${this.disabled} unbounded></md-ripple>`;\n\n private readonly getRippleA = () => { // bind to this\n if (!this.handleAHover) {\n return null;\n }\n this.rippleAShowing = true;\n return this.rippleA;\n };\n\n\n private readonly getRippleB = () => { // bind to this\n if (!this.handleBHover) {\n return null;\n }\n this.rippleBShowing = true;\n return this.rippleB;\n };\n\n private async toggleRippleHover(\n ripple: Promise<MdRipple|null>, hovering: boolean) {\n const rippleEl = await ripple;\n if (!rippleEl) {\n return;\n }\n // TODO(b/269799771): improve slider ripple connection\n if (hovering) {\n rippleEl.handlePointerenter(\n new PointerEvent('pointerenter', {isPrimary: true, pointerId: 1}));\n } else {\n rippleEl.handlePointerleave(\n new PointerEvent('pointerleave', {isPrimary: true, pointerId: 1}));\n }\n }\n\n protected isEventOnA({target}: Event) {\n return target === this.inputA;\n }\n\n protected updateFocusVisible(e: Event) {\n const isA = this.isEventOnA(e);\n const showFocus = shouldShowStrongFocus();\n this.focusRingAShowing = showFocus && isA;\n this.focusRingBShowing = showFocus && !isA;\n }\n\n protected handleFocus(e: Event) {\n this.updateFocusVisible(e);\n this.updateOnTop(e);\n }\n\n protected handleBlur(e: Event) {\n this.focusRingAShowing = false;\n this.focusRingBShowing = false;\n }\n\n protected handleDown(e: PointerEvent) {\n pointerPress();\n this.isInteracting = true;\n const isA = this.isEventOnA(e);\n const isPrimaryButton = Boolean(e.buttons & 1);\n // Since handle moves to pointer on down and there may not be a move,\n // it needs to be considered hovered..\n this.handleAHover = !this.disabled && isA && Boolean(this.handleA);\n this.handleAPressed = isPrimaryButton && this.handleAHover;\n this.handleBHover = !this.disabled && !isA && Boolean(this.handleB);\n this.handleBPressed = isPrimaryButton && this.handleBHover;\n this.updateFocusVisible(e);\n }\n\n protected handleUp(e: PointerEvent) {\n this.handleAPressed = this.handleBPressed = false;\n // used to remove animations after interactions...\n this.renderRoot.addEventListener('transitionend', () => {\n this.isInteracting = false;\n }, {once: true});\n }\n\n /**\n * The move handler tracks handle hovering to facilitate proper ripple\n * behavior on the slider handle. This is needed because user interaction with\n * the native input is leveraged to position the handle. Because the separate\n * displayed handle element has pointer events disabled (to allow interaction\n * with the input) and the input's handle is a pseudo-element, neither can be\n * the ripple's interactive element. Therefore the input is the ripple's\n * interactive element and has a `ripple` directive; however the ripple\n * is gated on the handle being hovered. In addition, because the ripple\n * hover state is being specially handled, it must be triggered independent\n * of the directive. This is done based on the hover state when the\n * slider is updated.\n */\n protected handleMove(e: PointerEvent) {\n this.handleAHover = !this.disabled && inBounds(e, this.handleA);\n this.handleBHover = !this.disabled && inBounds(e, this.handleB);\n }\n\n protected handleEnter(e: PointerEvent) {\n this.handleMove(e);\n }\n\n protected handleLeave() {\n this.handleAHover = false;\n this.handleBHover = false;\n }\n\n\n private updateOnTop(e: Event) {\n this.onTopId = (e.target as Element).classList.contains('a') ? 'a' : 'b';\n }\n\n protected handleInput(e: InputEvent) {\n if (this.inputA) {\n this.valueA = this.inputA.valueAsNumber ?? 0;\n }\n this.valueB = this.inputB.valueAsNumber;\n this.updateOnTop(e);\n // update value only on interaction\n const lower = Math.min(this.valueA, this.valueB);\n const upper = Math.max(this.valueA, this.valueB);\n this.value = this.allowRange ? [lower, upper] : this.valueB;\n }\n\n protected handleChange(event: Event) {\n redispatchEvent(this, event);\n }\n}\n"]}
1
+ {"version":3,"file":"slider.js","sourceRoot":"","sources":["slider.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 '../../elevation/elevation.js';\nimport '../../focus/focus-ring.js';\nimport '../../ripple/ripple.js';\n\nimport {html, isServer, LitElement, nothing, PropertyValues} from 'lit';\nimport {property, query, queryAsync, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {styleMap} from 'lit/directives/style-map.js';\nimport {when} from 'lit/directives/when.js';\n\nimport {requestUpdateOnAriaChange} from '../../aria/delegate.js';\nimport {dispatchActivationClick, isActivationClick, redispatchEvent} from '../../controller/events.js';\nimport {FormController, getFormValue} from '../../controller/form-controller.js';\nimport {stringConverter} from '../../controller/string-converter.js';\nimport {pointerPress, shouldShowStrongFocus} from '../../focus/strong-focus.js';\nimport {ripple} from '../../ripple/directive.js';\nimport {MdRipple} from '../../ripple/ripple.js';\nimport {ARIAMixinStrict} from '../../types/aria.js';\n\n\n// Disable warning for classMap with destructuring\n// tslint:disable:quoted-properties-on-dictionary\n\nfunction inBounds({x, y}: PointerEvent, element?: HTMLElement|null) {\n if (!element) {\n return false;\n }\n const {top, left, bottom, right} = element.getBoundingClientRect();\n return x >= left && x <= right && y >= top && y <= bottom;\n}\n\n// parse values like: foo or foo,bar\nfunction tupleConverter(attr: string|null) {\n const [, v, e] =\n attr?.match(/\\s*\\[?\\s*([^,]+)(?:(?:\\s*$)|(?:\\s*,\\s*(.*)\\s*))/) ?? [];\n return e !== undefined ? [v, e] : v;\n}\n\nfunction toNumber(value: string) {\n return Number(value) || 0;\n}\n\nfunction tupleAsString(value: unknown|[unknown, unknown]) {\n return Array.isArray(value) ? value.join() : String(value ?? '');\n}\n\nfunction valueConverter(attr: string|null) {\n const value = tupleConverter(attr);\n return Array.isArray(value) ? value.map(i => toNumber(i)) : toNumber(value);\n}\n\nfunction clamp(value: number, min: number, max: number) {\n return Math.max(min, Math.min(max, value));\n}\n\nfunction isOverlapping(elA: Element, elB: Element) {\n if (!(elA && elB)) {\n return false;\n }\n const a = elA.getBoundingClientRect();\n const b = elB.getBoundingClientRect();\n return !(\n a.top > b.bottom || a.right < b.left || a.bottom < b.top ||\n a.left > b.right);\n}\n\n/**\n * Slider component.\n */\nexport class Slider extends LitElement {\n static {\n requestUpdateOnAriaChange(this);\n }\n\n static override shadowRootOptions:\n ShadowRootInit = {...LitElement.shadowRootOptions, delegatesFocus: true};\n\n /**\n * @nocollapse\n */\n static formAssociated = true;\n\n /**\n * Whether or not the slider is disabled.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n\n /**\n * The slider minimum value\n */\n @property({type: Number}) min = 0;\n\n /**\n * The slider maximum value\n */\n @property({type: Number}) max = 10;\n\n /**\n * The slider value, can be a single number, or an array tuple indicating\n * a start and end value.\n */\n @property({converter: valueConverter}) value: number|[number, number] = 0;\n\n /**\n * An optinoal label for the slider's value; if not set, the label is the\n * value itself. This can be a string or string tuple when start and end\n * values are used.\n */\n @property({converter: tupleConverter})\n valueLabel?: string|[string, string]|undefined;\n\n /**\n * The step between values.\n */\n @property({type: Number}) step = 1;\n\n /**\n * Whether or not to show tick marks.\n */\n @property({type: Boolean}) withTickMarks = false;\n\n /**\n * Whether or not to show a value label when activated.\n */\n @property({type: Boolean}) withLabel = false;\n\n /**\n * The HTML name to use in form submission.\n */\n @property({reflect: true, converter: stringConverter}) name = '';\n\n /**\n * The associated form element with which this element's value will submit.\n */\n get form() {\n return this.closest('form');\n }\n\n\n /**\n * Read only computed value representing the fraction between 0 and 1\n * respresenting the value's position between min and max. This is a\n * single fraction or a tuple if the value specifies start and end values.\n */\n get valueAsFraction() {\n const {lowerFraction, upperFraction} = this.getMetrics();\n return this.allowRange ? [lowerFraction, upperFraction] : upperFraction;\n }\n\n protected getMetrics() {\n const step = Math.max(this.step, 1);\n const range = Math.max(this.max - this.min, step);\n const lower = Math.min(this.valueA, this.valueB);\n const upper = Math.max(this.valueA, this.valueB);\n const lowerFraction = (lower - this.min) / range;\n const upperFraction = (upper - this.min) / range;\n return {\n step,\n range,\n lower,\n upper,\n lowerFraction,\n upperFraction,\n };\n }\n\n @query('input.a') protected readonly inputA!: HTMLInputElement;\n @query('.handle.a') protected readonly handleA!: HTMLDivElement;\n @queryAsync('md-ripple.a')\n protected readonly rippleA!: Promise<MdRipple|null>;\n\n @query('input.b') protected readonly inputB!: HTMLInputElement;\n @query('.handle.b') protected readonly handleB!: HTMLDivElement;\n @queryAsync('md-ripple.b')\n protected readonly rippleB!: Promise<MdRipple|null>;\n\n @state() protected valueA = 0;\n @state() protected valueB = 0;\n\n @state() private focusRingAShowing = false;\n @state() private focusRingBShowing = false;\n // allows for lazy rendering of the focus ring by latching to true when the\n // focus ring should be rendered.\n private focusRingARequested = false;\n private focusRingBRequested = false;\n\n @state() private rippleAShowing = false;\n @state() private rippleBShowing = false;\n\n // handle hover/pressed states are set manually since the handle\n // does not receive pointer events so that the native inputs are\n // interaction targets.\n @state() private handleAHover = false;\n @state() private handleBHover = false;\n\n @state() private onTopId = 'b';\n @state() private handlesOverlapping = false;\n\n constructor() {\n super();\n this.addController(new FormController(this));\n if (!isServer) {\n this.addEventListener('click', (event: MouseEvent) => {\n if (!isActivationClick(event)) {\n return;\n }\n this.focus();\n dispatchActivationClick(this.inputB);\n });\n }\n }\n\n override focus() {\n this.inputB?.focus();\n }\n\n get valueAsString() {\n return tupleAsString(this.value);\n }\n\n // value coerced to a string\n [getFormValue]() {\n return this.valueAsString;\n }\n\n // If range should be allowed (detected via value format).\n private allowRange = false;\n\n // indicates input values are crossed over each other from initial rendering.\n private isFlipped() {\n return this.valueA > this.valueB;\n }\n\n protected override willUpdate(changed: PropertyValues) {\n if (changed.has('value') || changed.has('min') || changed.has('max') ||\n changed.has('step')) {\n this.allowRange = Array.isArray(this.value);\n const step = Math.max(this.step, 1);\n let lower =\n this.allowRange ? (this.value as [number, number])[0] : this.min;\n lower = clamp(lower - (lower % step), this.min, this.max);\n let upper = this.allowRange ? (this.value as [number, number])[1] :\n this.value as number;\n upper = clamp(upper - (upper % step), this.min, this.max);\n const isFlipped = this.isFlipped() && this.allowRange;\n this.valueA = isFlipped ? upper : lower;\n this.valueB = isFlipped ? lower : upper;\n }\n\n // manually handle ripple hover state since the handle is pointer events\n // none.\n if (changed.get('handleAHover') !== undefined) {\n this.rippleAShowing = true;\n this.toggleRippleHover(this.rippleA, this.handleAHover);\n } else if (changed.get('handleBHover') !== undefined) {\n this.rippleBShowing = true;\n this.toggleRippleHover(this.rippleB, this.handleBHover);\n }\n\n // facilitates lazy rendering of the focus ring.\n this.focusRingARequested ||= this.focusRingAShowing;\n this.focusRingBRequested ||= this.focusRingBShowing;\n }\n\n protected override async updated(changed: PropertyValues) {\n if (changed.has('value') || changed.has('valueA') ||\n changed.has('valueB')) {\n await this.updateComplete;\n this.handlesOverlapping = isOverlapping(this.handleA, this.handleB);\n }\n }\n\n protected override render() {\n const {step, range, lowerFraction, upperFraction} = this.getMetrics();\n const isFlipped = this.isFlipped();\n const containerStyles = {\n // for clipping inputs and active track.\n '--slider-lower-fraction': String(lowerFraction),\n '--slider-upper-fraction': String(upperFraction),\n // for generating tick marks\n '--slider-tick-count': String(range / step),\n };\n const containerClasses = {ranged: this.allowRange};\n\n // optional label values to show in place of the value.\n const labelA = String(this.valueLabel?.[isFlipped ? 1 : 0] ?? this.valueA);\n const labelB = String(\n (this.allowRange ? this.valueLabel?.[isFlipped ? 0 : 1] :\n this.valueLabel) ??\n this.valueB);\n\n const inputAProps = {\n id: 'a',\n lesser: !isFlipped,\n value: this.valueA,\n label: labelA,\n getRipple: this.getRippleA\n };\n\n const inputBProps = {\n id: 'b',\n lesser: isFlipped,\n value: this.valueB,\n label: labelB,\n getRipple: this.getRippleB\n };\n\n const handleAProps = {\n id: 'a',\n lesser: !isFlipped,\n showRipple: this.rippleAShowing,\n focusRequested: this.focusRingARequested,\n showFocus: this.focusRingAShowing,\n hover: this.handleAHover,\n label: labelA\n };\n\n const handleBProps = {\n id: 'b',\n lesser: isFlipped,\n showRipple: this.rippleBShowing,\n focusRequested: this.focusRingBRequested,\n showFocus: this.focusRingBShowing,\n hover: this.handleBHover,\n label: labelB\n };\n\n const handleContainerClasses = {\n hover: this.handleAHover || this.handleBHover\n };\n\n return html`\n <div\n class=\"container ${classMap(containerClasses)}\"\n style=${styleMap(containerStyles)}\n >\n ${when(this.allowRange, () => this.renderInput(inputAProps))}\n ${this.renderInput(inputBProps)}\n ${this.renderTrack()}\n <div class=\"handleContainerPadded\">\n <div class=\"handleContainerBlock\">\n <div class=\"handleContainer ${classMap(handleContainerClasses)}\">\n ${when(this.allowRange, () => this.renderHandle(handleAProps))}\n ${this.renderHandle(handleBProps)}\n </div>\n </div>\n </div>\n </div>`;\n }\n\n protected renderTrack() {\n const trackClasses = {'tickMarks': this.withTickMarks};\n return html`<div class=\"track ${classMap(trackClasses)}\"></div>`;\n }\n\n protected renderFocusRing(visible: boolean) {\n return html`<md-focus-ring .visible=${visible}></md-focus-ring>`;\n }\n\n protected renderLabel(value: string) {\n return html`<div class=\"label\">\n <span class=\"labelContent\" part=\"label\">${value}</span>\n </div>`;\n }\n\n protected renderHandle(\n {id, lesser, showRipple, focusRequested, showFocus, hover, label}: {\n id: string,\n lesser: boolean,\n focusRequested: boolean,\n showRipple: boolean,\n showFocus: boolean,\n hover: boolean,\n label: string\n }) {\n const onTop = !this.disabled && id === this.onTopId;\n const isOverlapping = !this.disabled && this.handlesOverlapping;\n return html`<div class=\"handle ${classMap({\n [id]: true,\n lesser,\n hover,\n onTop,\n isOverlapping\n })}\">\n <div class=\"handleNub\"><md-elevation></md-elevation></div>\n ${when(this.withLabel, () => this.renderLabel(label))}\n ${when(showRipple, () => this.renderRipple(id))}\n ${when(focusRequested, () => this.renderFocusRing(showFocus))}\n </div>`;\n }\n\n protected renderInput({id, lesser, value, label, getRipple}: {\n id: string,\n lesser: boolean,\n value: number,\n label: string,\n getRipple: () => Promise<MdRipple|null>| null\n }) {\n // when ranged, ensure announcement includes value info.\n const ariaLabelDescriptor =\n this.allowRange ? ` - ${lesser ? `start` : `end`} handle` : '';\n // Needed for closure conformance\n const {ariaLabel} = this as ARIAMixinStrict;\n return html`<input type=\"range\"\n class=\"${classMap({\n lesser,\n [id]: true\n })}\"\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n @pointerdown=${this.handleDown}\n @pointerenter=${this.handleEnter}\n @pointermove=${this.handleMove}\n @pointerleave=${this.handleLeave}\n @input=${this.handleInput}\n @change=${this.handleChange}\n .disabled=${this.disabled}\n .min=${String(this.min)}\n .max=${String(this.max)}\n .step=${String(this.step)}\n .value=${String(value)}\n .tabIndex=${lesser ? 1 : 0}\n aria-label=${`${ariaLabel}${ariaLabelDescriptor}` || nothing}\n aria-valuetext=${label}\n ${ripple(getRipple)}>`;\n }\n\n protected renderRipple = (id: string) => html`<md-ripple class=${\n id} ?disabled=${this.disabled} unbounded></md-ripple>`;\n\n private readonly getRippleA = () => { // bind to this\n if (!this.handleAHover) {\n return null;\n }\n this.rippleAShowing = true;\n return this.rippleA;\n };\n\n private readonly getRippleB = () => { // bind to this\n if (!this.handleBHover) {\n return null;\n }\n this.rippleBShowing = true;\n return this.rippleB;\n };\n\n private async toggleRippleHover(\n ripple: Promise<MdRipple|null>, hovering: boolean) {\n const rippleEl = await ripple;\n if (!rippleEl) {\n return;\n }\n // TODO(b/269799771): improve slider ripple connection\n if (hovering) {\n rippleEl.handlePointerenter(new PointerEvent(\n 'pointerenter', {isPrimary: true, pointerId: this.ripplePointerId}));\n } else {\n rippleEl.handlePointerleave(new PointerEvent(\n 'pointerleave', {isPrimary: true, pointerId: this.ripplePointerId}));\n }\n }\n\n protected isEventOnA({target}: Event) {\n return target === this.inputA;\n }\n\n protected updateFocusVisible(e: Event) {\n const isA = this.isEventOnA(e);\n const showFocus = shouldShowStrongFocus();\n this.focusRingAShowing = showFocus && isA;\n this.focusRingBShowing = showFocus && !isA;\n }\n\n protected handleFocus(e: Event) {\n this.updateFocusVisible(e);\n this.updateOnTop(e);\n }\n\n protected handleBlur(e: Event) {\n this.focusRingAShowing = false;\n this.focusRingBShowing = false;\n }\n\n // used in synthetic events generated to control ripple hover state.\n private ripplePointerId = 1;\n\n protected handleDown(e: PointerEvent) {\n pointerPress();\n this.ripplePointerId = e.pointerId;\n const isA = this.isEventOnA(e);\n // Since handle moves to pointer on down and there may not be a move,\n // it needs to be considered hovered..\n this.handleAHover = !this.disabled && isA && Boolean(this.handleA);\n this.handleBHover = !this.disabled && !isA && Boolean(this.handleB);\n this.updateFocusVisible(e);\n // Force Safari to focus input so the label stays displayed; note,\n // Macs don't normally focus non-text type inputs.\n const target = (e.target as HTMLElement);\n requestAnimationFrame(() => {\n target.focus();\n });\n }\n\n /**\n * The move handler tracks handle hovering to facilitate proper ripple\n * behavior on the slider handle. This is needed because user interaction with\n * the native input is leveraged to position the handle. Because the separate\n * displayed handle element has pointer events disabled (to allow interaction\n * with the input) and the input's handle is a pseudo-element, neither can be\n * the ripple's interactive element. Therefore the input is the ripple's\n * interactive element and has a `ripple` directive; however the ripple\n * is gated on the handle being hovered. In addition, because the ripple\n * hover state is being specially handled, it must be triggered independent\n * of the directive. This is done based on the hover state when the\n * slider is updated.\n */\n protected handleMove(e: PointerEvent) {\n this.handleAHover = !this.disabled && inBounds(e, this.handleA);\n this.handleBHover = !this.disabled && inBounds(e, this.handleB);\n }\n\n protected handleEnter(e: PointerEvent) {\n this.handleMove(e);\n }\n\n protected handleLeave() {\n this.handleAHover = false;\n this.handleBHover = false;\n }\n\n private updateOnTop(e: Event) {\n this.onTopId = (e.target as Element).classList.contains('a') ? 'a' : 'b';\n }\n\n protected handleInput(e: InputEvent) {\n if (this.inputA) {\n this.valueA = this.inputA.valueAsNumber ?? 0;\n }\n this.valueB = this.inputB.valueAsNumber;\n this.updateOnTop(e);\n // update value only on interaction\n const lower = Math.min(this.valueA, this.valueB);\n const upper = Math.max(this.valueA, this.valueB);\n this.value = this.allowRange ? [lower, upper] : this.valueB;\n }\n\n protected handleChange(event: Event) {\n redispatchEvent(this, event);\n }\n}\n"]}
@@ -4,6 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { css } from 'lit';
7
- export const styles = css `:host{--_handle-shape-start-start: var(--md-switch-handle-shape-start-start, var(--md-switch-handle-shape, 9999px));--_handle-shape-start-end: var(--md-switch-handle-shape-start-end, var(--md-switch-handle-shape, 9999px));--_handle-shape-end-end: var(--md-switch-handle-shape-end-end, var(--md-switch-handle-shape, 9999px));--_handle-shape-end-start: var(--md-switch-handle-shape-end-start, var(--md-switch-handle-shape, 9999px));--_track-shape-start-start: var(--md-switch-track-shape-start-start, var(--md-switch-track-shape, 9999px));--_track-shape-start-end: var(--md-switch-track-shape-start-end, var(--md-switch-track-shape, 9999px));--_track-shape-end-end: var(--md-switch-track-shape-end-end, var(--md-switch-track-shape, 9999px));--_track-shape-end-start: var(--md-switch-track-shape-end-start, var(--md-switch-track-shape, 9999px));--_disabled-selected-handle-color: var(--md-switch-disabled-selected-handle-color, rgb(var(--md-sys-color-surface-rgb, 255, 251, 254), 1));--_disabled-selected-icon-color: var(--md-switch-disabled-selected-icon-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--_disabled-selected-track-color: var(--md-switch-disabled-selected-track-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.12));--_disabled-unselected-handle-color: var(--md-switch-disabled-unselected-handle-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--_disabled-unselected-icon-color: var(--md-switch-disabled-unselected-icon-color, rgb(var(--md-sys-color-surface-variant-rgb, 231, 224, 236), 0.38));--_disabled-unselected-track-color: var(--md-switch-disabled-unselected-track-color, rgb(var(--md-sys-color-surface-variant-rgb, 231, 224, 236), 0.12));--_disabled-unselected-track-outline-color: var(--md-switch-disabled-unselected-track-outline-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.12));--_pressed-handle-height: var(--md-switch-pressed-handle-height, 28px);--_pressed-handle-width: var(--md-switch-pressed-handle-width, 28px);--_selected-focus-handle-color: var(--md-switch-selected-focus-handle-color, var(--md-sys-color-primary-container, #eaddff));--_selected-focus-icon-color: var(--md-switch-selected-focus-icon-color, var(--md-sys-color-on-primary-container, #21005d));--_selected-focus-state-layer-color: var(--md-switch-selected-focus-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-focus-state-layer-opacity: var(--md-switch-selected-focus-state-layer-opacity, 0.12);--_selected-focus-track-color: var(--md-switch-selected-focus-track-color, var(--md-sys-color-primary, #6750a4));--_selected-handle-color: var(--md-switch-selected-handle-color, var(--md-sys-color-on-primary, #fff));--_selected-handle-height: var(--md-switch-selected-handle-height, 24px);--_selected-handle-width: var(--md-switch-selected-handle-width, 24px);--_selected-hover-handle-color: var(--md-switch-selected-hover-handle-color, var(--md-sys-color-primary-container, #eaddff));--_selected-hover-icon-color: var(--md-switch-selected-hover-icon-color, var(--md-sys-color-on-primary-container, #21005d));--_selected-hover-state-layer-color: var(--md-switch-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-opacity: var(--md-switch-selected-hover-state-layer-opacity, 0.08);--_selected-hover-track-color: var(--md-switch-selected-hover-track-color, var(--md-sys-color-primary, #6750a4));--_selected-icon-color: var(--md-switch-selected-icon-color, var(--md-sys-color-on-primary-container, #21005d));--_selected-icon-size: var(--md-switch-selected-icon-size, 16px);--_selected-pressed-handle-color: var(--md-switch-selected-pressed-handle-color, var(--md-sys-color-primary-container, #eaddff));--_selected-pressed-icon-color: var(--md-switch-selected-pressed-icon-color, var(--md-sys-color-on-primary-container, #21005d));--_selected-pressed-state-layer-color: var(--md-switch-selected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-state-layer-opacity: var(--md-switch-selected-pressed-state-layer-opacity, 0.12);--_selected-pressed-track-color: var(--md-switch-selected-pressed-track-color, var(--md-sys-color-primary, #6750a4));--_selected-track-color: var(--md-switch-selected-track-color, var(--md-sys-color-primary, #6750a4));--_state-layer-shape: var(--md-switch-state-layer-shape, 9999px);--_state-layer-size: var(--md-switch-state-layer-size, 40px);--_track-height: var(--md-switch-track-height, 32px);--_track-outline-width: var(--md-switch-track-outline-width, 2px);--_track-width: var(--md-switch-track-width, 52px);--_unselected-focus-handle-color: var(--md-switch-unselected-focus-handle-color, var(--md-sys-color-on-surface-variant, #49454f));--_unselected-focus-icon-color: var(--md-switch-unselected-focus-icon-color, var(--md-sys-color-surface-variant, #e7e0ec));--_unselected-focus-state-layer-color: var(--md-switch-unselected-focus-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_unselected-focus-state-layer-opacity: var(--md-switch-unselected-focus-state-layer-opacity, 0.12);--_unselected-focus-track-color: var(--md-switch-unselected-focus-track-color, var(--md-sys-color-surface-variant, #e7e0ec));--_unselected-focus-track-outline-color: var(--md-switch-unselected-focus-track-outline-color, var(--md-sys-color-outline, #79747e));--_unselected-handle-color: var(--md-switch-unselected-handle-color, var(--md-sys-color-outline, #79747e));--_unselected-handle-height: var(--md-switch-unselected-handle-height, 16px);--_unselected-handle-width: var(--md-switch-unselected-handle-width, 16px);--_unselected-hover-handle-color: var(--md-switch-unselected-hover-handle-color, var(--md-sys-color-on-surface-variant, #49454f));--_unselected-hover-icon-color: var(--md-switch-unselected-hover-icon-color, var(--md-sys-color-surface-variant, #e7e0ec));--_unselected-hover-state-layer-color: var(--md-switch-unselected-hover-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_unselected-hover-state-layer-opacity: var(--md-switch-unselected-hover-state-layer-opacity, 0.08);--_unselected-hover-track-color: var(--md-switch-unselected-hover-track-color, var(--md-sys-color-surface-variant, #e7e0ec));--_unselected-hover-track-outline-color: var(--md-switch-unselected-hover-track-outline-color, var(--md-sys-color-outline, #79747e));--_unselected-icon-color: var(--md-switch-unselected-icon-color, var(--md-sys-color-surface-variant, #e7e0ec));--_unselected-icon-size: var(--md-switch-unselected-icon-size, 16px);--_unselected-pressed-handle-color: var(--md-switch-unselected-pressed-handle-color, var(--md-sys-color-on-surface-variant, #49454f));--_unselected-pressed-icon-color: var(--md-switch-unselected-pressed-icon-color, var(--md-sys-color-surface-variant, #e7e0ec));--_unselected-pressed-state-layer-color: var(--md-switch-unselected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_unselected-pressed-state-layer-opacity: var(--md-switch-unselected-pressed-state-layer-opacity, 0.12);--_unselected-pressed-track-color: var(--md-switch-unselected-pressed-track-color, var(--md-sys-color-surface-variant, #e7e0ec));--_unselected-pressed-track-outline-color: var(--md-switch-unselected-pressed-track-outline-color, var(--md-sys-color-outline, #79747e));--_unselected-track-color: var(--md-switch-unselected-track-color, var(--md-sys-color-surface-variant, #e7e0ec));--_unselected-track-outline-color: var(--md-switch-unselected-track-outline-color, var(--md-sys-color-outline, #79747e));--_with-icon-handle-height: var(--md-switch-with-icon-handle-height, 24px);--_with-icon-handle-width: var(--md-switch-with-icon-handle-width, 24px);display:inline-flex;outline:none;vertical-align:top;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media screen and (forced-colors: active){:host{--md-switch-disabled-selected-icon-color:GrayText;--md-switch-disabled-selected-track-color:GrayText;--md-switch-disabled-unselected-handle-color:GrayText;--md-switch-disabled-unselected-icon-color:Canvas;--md-switch-selected-focus-track-color:ButtonText;--md-switch-selected-hover-track-color:ButtonText;--md-switch-selected-icon-color:ButtonText;--md-switch-selected-pressed-track-color:ButtonText;--md-switch-selected-track-color:ButtonText;--md-switch-unselected-focus-handle-color:ButtonText;--md-switch-unselected-handle-color:ButtonText;--md-switch-unselected-hover-handle-color:ButtonText;--md-switch-unselected-icon-color:Canvas;--md-switch-unselected-pressed-handle-color:ButtonText}}md-focus-ring{--md-focus-ring-shape-start-start:var(--md-focus-ring-shape, var(--_track-shape-start-start));--md-focus-ring-shape-start-end:var(--md-focus-ring-shape, var(--_track-shape-start-end));--md-focus-ring-shape-end-end:var(--md-focus-ring-shape, var(--_track-shape-end-start));--md-focus-ring-shape-end-start:var(--md-focus-ring-shape, var(--_track-shape-end-end)))))}.md3-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;padding:0;position:relative;width:var(--_track-width);height:var(--_track-height);border-start-start-radius:var(--_track-shape-start-start);border-start-end-radius:var(--_track-shape-start-end);border-end-end-radius:var(--_track-shape-end-end);border-end-start-radius:var(--_track-shape-end-start)}.md3-switch__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.md3-switch:disabled{cursor:default;pointer-events:none}.md3-switch:disabled .md3-switch__track{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.md3-switch:disabled .md3-switch__track::before{background-clip:content-box}.md3-switch--selected:disabled .md3-switch__track{background-clip:border-box}.md3-switch__track{position:absolute;width:100%;height:100%;box-sizing:border-box;border-radius:inherit;display:flex;justify-content:center;align-items:center;transition:background-color 67ms linear;background-color:var(--_selected-track-color)}.md3-switch:disabled .md3-switch__track{transition:none}.md3-switch--selected:hover .md3-switch__track{background-color:var(--_selected-hover-track-color)}.md3-switch--selected:focus-visible .md3-switch__track{background-color:var(--_selected-focus-track-color)}.md3-switch--selected:active .md3-switch__track{background-color:var(--_selected-pressed-track-color)}.md3-switch--selected:disabled .md3-switch__track{background-color:var(--_disabled-selected-track-color)}.md3-switch__track::before{content:"";display:flex;position:absolute;height:100%;width:100%;border-radius:inherit;box-sizing:border-box;border-style:solid;transition-property:opacity,background-color;transition-timing-function:linear;transition-duration:67ms;border-width:var(--_track-outline-width);background-color:var(--_unselected-track-color);border-color:var(--_unselected-track-outline-color)}.md3-switch:disabled .md3-switch__track::before{transition:none}.md3-switch--selected .md3-switch__track::before{opacity:0}.md3-switch--unselected:hover .md3-switch__track::before{background-color:var(--_unselected-hover-track-color);border-color:var(--_unselected-hover-track-outline-color)}.md3-switch--unselected:focus-visible .md3-switch__track::before{background-color:var(--_unselected-focus-track-color);border-color:var(--_unselected-focus-track-outline-color)}.md3-switch--unselected:active .md3-switch__track::before{background-color:var(--_unselected-pressed-track-color);border-color:var(--_unselected-pressed-track-outline-color)}.md3-switch--unselected:disabled .md3-switch__track::before{background-color:var(--_disabled-unselected-track-color);border-color:var(--_disabled-unselected-track-outline-color)}.md3-switch__handle-container{position:relative;transition:margin 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275);display:flex}.md3-switch--selected .md3-switch__handle-container{margin-inline-start:calc(var(--_track-width) - var(--_track-height))}.md3-switch--unselected .md3-switch__handle-container{margin-inline-end:calc(var(--_track-width) - var(--_track-height))}.md3-switch:disabled .md3-switch__handle-container{transition:none}.md3-switch__handle{border-start-start-radius:var(--_handle-shape-start-start);border-start-end-radius:var(--_handle-shape-start-end);border-end-end-radius:var(--_handle-shape-end-end);border-end-start-radius:var(--_handle-shape-end-start);height:var(--_unselected-handle-height);width:var(--_unselected-handle-width);background-color:var(--_selected-handle-color);transform-origin:center;transition-property:height,width,background-color;transition-duration:250ms,250ms,67ms;transition-timing-function:cubic-bezier(0.2, 0, 0, 1),cubic-bezier(0.2, 0, 0, 1),linear;z-index:0}.md3-switch__handle::before{content:"";display:flex;position:absolute;height:100%;width:100%;border-radius:inherit;box-sizing:border-box;transition:opacity 67ms linear}.md3-switch--selected .md3-switch__handle::before{opacity:0}.md3-switch:disabled .md3-switch__handle::before{transition:none}.md3-switch:disabled .md3-switch__handle{transition:none}.md3-switch--selected .md3-switch__handle,.md3-switch--unselected .md3-switch__handle.md3-switch__handle--big{height:var(--_selected-handle-height);width:var(--_selected-handle-width)}.md3-switch--selected:enabled:active .md3-switch__handle,.md3-switch--unselected:enabled:active .md3-switch__handle{height:var(--_pressed-handle-height);width:var(--_pressed-handle-width);transition-timing-function:linear;transition-duration:100ms}.md3-switch--selected:hover .md3-switch__handle{background-color:var(--_selected-hover-handle-color)}.md3-switch--selected:focus-visible .md3-switch__handle{background-color:var(--_selected-focus-handle-color)}.md3-switch--selected:active .md3-switch__handle{background-color:var(--_selected-pressed-handle-color)}.md3-switch--selected:disabled .md3-switch__handle{background-color:var(--_disabled-selected-handle-color)}.md3-switch__handle::before{background-color:var(--_unselected-handle-color)}.md3-switch--unselected:hover .md3-switch__handle::before{background-color:var(--_unselected-hover-handle-color)}.md3-switch--unselected:focus-visible .md3-switch__handle::before{background-color:var(--_unselected-focus-handle-color)}.md3-switch--unselected:active .md3-switch__handle::before{background-color:var(--_unselected-pressed-handle-color)}.md3-switch--unselected:disabled .md3-switch__handle::before{background-color:var(--_disabled-unselected-handle-color)}.md3-switch__ripple{position:absolute;display:inline-flex;top:50%;left:50%;transform:translate(-50%, -50%);height:var(--_state-layer-size);width:var(--_state-layer-size)}.md3-switch--selected .md3-switch__ripple{--md-ripple-hover-color:var(--_selected-hover-state-layer-color);--md-ripple-focus-color:var(--_selected-focus-state-layer-color);--md-ripple-pressed-color:var(--_selected-pressed-state-layer-color);--md-ripple-hover-opacity:var(--_selected-hover-state-layer-opacity);--md-ripple-focus-opacity:var(--_selected-focus-state-layer-opacity);--md-ripple-pressed-opacity:var(--_selected-pressed-state-layer-opacity)}.md3-switch--unselected .md3-switch__ripple{--md-ripple-hover-color:var(--_unselected-hover-state-layer-color);--md-ripple-focus-color:var(--_unselected-focus-state-layer-color);--md-ripple-pressed-color:var(--_unselected-pressed-state-layer-color);--md-ripple-hover-opacity:var(--_unselected-hover-state-layer-opacity);--md-ripple-focus-opacity:var(--_unselected-focus-state-layer-opacity);--md-ripple-pressed-opacity:var(--_unselected-pressed-state-layer-opacity)}.md3-switch__icons{position:relative;height:100%;width:100%}.md3-switch__icon{position:absolute;inset:0;margin:auto;transition:fill 67ms linear,opacity 33ms linear,transform 167ms cubic-bezier(0.2, 0, 0, 1);opacity:0}.md3-switch:disabled .md3-switch__icon{transition:none}.md3-switch--selected .md3-switch__icon--on,.md3-switch--unselected .md3-switch__icon--off{opacity:1}.md3-switch--unselected .md3-switch__handle:not(.md3-switch__handle--big) .md3-switch__icon--on{transform:rotate(-45deg)}.md3-switch--selected .md3-switch__icon{width:var(--_selected-icon-size);height:var(--_selected-icon-size);fill:var(--_selected-icon-color)}.md3-switch--unselected .md3-switch__icon{width:var(--_unselected-icon-size);height:var(--_unselected-icon-size);fill:var(--_unselected-icon-color)}.md3-switch--selected:disabled .md3-switch__icon{fill:var(--_disabled-selected-icon-color)}.md3-switch--unselected:disabled .md3-switch__icon{fill:var(--_disabled-unselected-icon-color)}/*# sourceMappingURL=switch-styles.css.map */
7
+ export const styles = css `:host{--_handle-shape-start-start: var(--md-switch-handle-shape-start-start, var(--md-switch-handle-shape, 9999px));--_handle-shape-start-end: var(--md-switch-handle-shape-start-end, var(--md-switch-handle-shape, 9999px));--_handle-shape-end-end: var(--md-switch-handle-shape-end-end, var(--md-switch-handle-shape, 9999px));--_handle-shape-end-start: var(--md-switch-handle-shape-end-start, var(--md-switch-handle-shape, 9999px));--_track-shape-start-start: var(--md-switch-track-shape-start-start, var(--md-switch-track-shape, 9999px));--_track-shape-start-end: var(--md-switch-track-shape-start-end, var(--md-switch-track-shape, 9999px));--_track-shape-end-end: var(--md-switch-track-shape-end-end, var(--md-switch-track-shape, 9999px));--_track-shape-end-start: var(--md-switch-track-shape-end-start, var(--md-switch-track-shape, 9999px));--_disabled-selected-handle-color: var(--md-switch-disabled-selected-handle-color, rgb(var(--md-sys-color-surface-rgb, 254, 247, 255), 1));--_disabled-selected-icon-color: var(--md-switch-disabled-selected-icon-color, rgb(var(--md-sys-color-on-surface-rgb, 29, 27, 32), 0.38));--_disabled-selected-track-color: var(--md-switch-disabled-selected-track-color, rgb(var(--md-sys-color-on-surface-rgb, 29, 27, 32), 0.12));--_disabled-unselected-handle-color: var(--md-switch-disabled-unselected-handle-color, rgb(var(--md-sys-color-on-surface-rgb, 29, 27, 32), 0.38));--_disabled-unselected-icon-color: var(--md-switch-disabled-unselected-icon-color, rgb(var(--md-sys-color-surface-container-highest-rgb, 230, 224, 233), 0.38));--_disabled-unselected-track-color: var(--md-switch-disabled-unselected-track-color, rgb(var(--md-sys-color-surface-container-highest-rgb, 230, 224, 233), 0.12));--_disabled-unselected-track-outline-color: var(--md-switch-disabled-unselected-track-outline-color, rgb(var(--md-sys-color-on-surface-rgb, 29, 27, 32), 0.12));--_pressed-handle-height: var(--md-switch-pressed-handle-height, 28px);--_pressed-handle-width: var(--md-switch-pressed-handle-width, 28px);--_selected-focus-handle-color: var(--md-switch-selected-focus-handle-color, var(--md-sys-color-primary-container, #eaddff));--_selected-focus-icon-color: var(--md-switch-selected-focus-icon-color, var(--md-sys-color-on-primary-container, #21005d));--_selected-focus-state-layer-color: var(--md-switch-selected-focus-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-focus-state-layer-opacity: var(--md-switch-selected-focus-state-layer-opacity, 0.12);--_selected-focus-track-color: var(--md-switch-selected-focus-track-color, var(--md-sys-color-primary, #6750a4));--_selected-handle-color: var(--md-switch-selected-handle-color, var(--md-sys-color-on-primary, #fff));--_selected-handle-height: var(--md-switch-selected-handle-height, 24px);--_selected-handle-width: var(--md-switch-selected-handle-width, 24px);--_selected-hover-handle-color: var(--md-switch-selected-hover-handle-color, var(--md-sys-color-primary-container, #eaddff));--_selected-hover-icon-color: var(--md-switch-selected-hover-icon-color, var(--md-sys-color-on-primary-container, #21005d));--_selected-hover-state-layer-color: var(--md-switch-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-opacity: var(--md-switch-selected-hover-state-layer-opacity, 0.08);--_selected-hover-track-color: var(--md-switch-selected-hover-track-color, var(--md-sys-color-primary, #6750a4));--_selected-icon-color: var(--md-switch-selected-icon-color, var(--md-sys-color-on-primary-container, #21005d));--_selected-icon-size: var(--md-switch-selected-icon-size, 16px);--_selected-pressed-handle-color: var(--md-switch-selected-pressed-handle-color, var(--md-sys-color-primary-container, #eaddff));--_selected-pressed-icon-color: var(--md-switch-selected-pressed-icon-color, var(--md-sys-color-on-primary-container, #21005d));--_selected-pressed-state-layer-color: var(--md-switch-selected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-state-layer-opacity: var(--md-switch-selected-pressed-state-layer-opacity, 0.12);--_selected-pressed-track-color: var(--md-switch-selected-pressed-track-color, var(--md-sys-color-primary, #6750a4));--_selected-track-color: var(--md-switch-selected-track-color, var(--md-sys-color-primary, #6750a4));--_state-layer-shape: var(--md-switch-state-layer-shape, 9999px);--_state-layer-size: var(--md-switch-state-layer-size, 40px);--_track-height: var(--md-switch-track-height, 32px);--_track-outline-width: var(--md-switch-track-outline-width, 2px);--_track-width: var(--md-switch-track-width, 52px);--_unselected-focus-handle-color: var(--md-switch-unselected-focus-handle-color, var(--md-sys-color-on-surface-variant, #49454f));--_unselected-focus-icon-color: var(--md-switch-unselected-focus-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_unselected-focus-state-layer-color: var(--md-switch-unselected-focus-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_unselected-focus-state-layer-opacity: var(--md-switch-unselected-focus-state-layer-opacity, 0.12);--_unselected-focus-track-color: var(--md-switch-unselected-focus-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_unselected-focus-track-outline-color: var(--md-switch-unselected-focus-track-outline-color, var(--md-sys-color-outline, #79747e));--_unselected-handle-color: var(--md-switch-unselected-handle-color, var(--md-sys-color-outline, #79747e));--_unselected-handle-height: var(--md-switch-unselected-handle-height, 16px);--_unselected-handle-width: var(--md-switch-unselected-handle-width, 16px);--_unselected-hover-handle-color: var(--md-switch-unselected-hover-handle-color, var(--md-sys-color-on-surface-variant, #49454f));--_unselected-hover-icon-color: var(--md-switch-unselected-hover-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_unselected-hover-state-layer-color: var(--md-switch-unselected-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_unselected-hover-state-layer-opacity: var(--md-switch-unselected-hover-state-layer-opacity, 0.08);--_unselected-hover-track-color: var(--md-switch-unselected-hover-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_unselected-hover-track-outline-color: var(--md-switch-unselected-hover-track-outline-color, var(--md-sys-color-outline, #79747e));--_unselected-icon-color: var(--md-switch-unselected-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_unselected-icon-size: var(--md-switch-unselected-icon-size, 16px);--_unselected-pressed-handle-color: var(--md-switch-unselected-pressed-handle-color, var(--md-sys-color-on-surface-variant, #49454f));--_unselected-pressed-icon-color: var(--md-switch-unselected-pressed-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_unselected-pressed-state-layer-color: var(--md-switch-unselected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_unselected-pressed-state-layer-opacity: var(--md-switch-unselected-pressed-state-layer-opacity, 0.12);--_unselected-pressed-track-color: var(--md-switch-unselected-pressed-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_unselected-pressed-track-outline-color: var(--md-switch-unselected-pressed-track-outline-color, var(--md-sys-color-outline, #79747e));--_unselected-track-color: var(--md-switch-unselected-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_unselected-track-outline-color: var(--md-switch-unselected-track-outline-color, var(--md-sys-color-outline, #79747e));--_with-icon-handle-height: var(--md-switch-with-icon-handle-height, 24px);--_with-icon-handle-width: var(--md-switch-with-icon-handle-width, 24px);display:inline-flex;outline:none;vertical-align:top;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media screen and (forced-colors: active){:host{--md-switch-disabled-selected-icon-color:GrayText;--md-switch-disabled-selected-track-color:GrayText;--md-switch-disabled-unselected-handle-color:GrayText;--md-switch-disabled-unselected-icon-color:Canvas;--md-switch-selected-focus-track-color:ButtonText;--md-switch-selected-hover-track-color:ButtonText;--md-switch-selected-icon-color:ButtonText;--md-switch-selected-pressed-track-color:ButtonText;--md-switch-selected-track-color:ButtonText;--md-switch-unselected-focus-handle-color:ButtonText;--md-switch-unselected-handle-color:ButtonText;--md-switch-unselected-hover-handle-color:ButtonText;--md-switch-unselected-icon-color:Canvas;--md-switch-unselected-pressed-handle-color:ButtonText}}md-focus-ring{--md-focus-ring-shape-start-start:var(--md-focus-ring-shape, var(--_track-shape-start-start));--md-focus-ring-shape-start-end:var(--md-focus-ring-shape, var(--_track-shape-start-end));--md-focus-ring-shape-end-end:var(--md-focus-ring-shape, var(--_track-shape-end-start));--md-focus-ring-shape-end-start:var(--md-focus-ring-shape, var(--_track-shape-end-end)))))}.md3-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;padding:0;position:relative;width:var(--_track-width);height:var(--_track-height);border-start-start-radius:var(--_track-shape-start-start);border-start-end-radius:var(--_track-shape-start-end);border-end-end-radius:var(--_track-shape-end-end);border-end-start-radius:var(--_track-shape-end-start)}.md3-switch__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.md3-switch:disabled{cursor:default;pointer-events:none}.md3-switch:disabled .md3-switch__track{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.md3-switch:disabled .md3-switch__track::before{background-clip:content-box}.md3-switch--selected:disabled .md3-switch__track{background-clip:border-box}.md3-switch__track{position:absolute;width:100%;height:100%;box-sizing:border-box;border-radius:inherit;display:flex;justify-content:center;align-items:center;transition:background-color 67ms linear;background-color:var(--_selected-track-color)}.md3-switch:disabled .md3-switch__track{transition:none}.md3-switch--selected:hover .md3-switch__track{background-color:var(--_selected-hover-track-color)}.md3-switch--selected:focus-visible .md3-switch__track{background-color:var(--_selected-focus-track-color)}.md3-switch--selected:active .md3-switch__track{background-color:var(--_selected-pressed-track-color)}.md3-switch--selected:disabled .md3-switch__track{background-color:var(--_disabled-selected-track-color)}.md3-switch__track::before{content:"";display:flex;position:absolute;height:100%;width:100%;border-radius:inherit;box-sizing:border-box;border-style:solid;transition-property:opacity,background-color;transition-timing-function:linear;transition-duration:67ms;border-width:var(--_track-outline-width);background-color:var(--_unselected-track-color);border-color:var(--_unselected-track-outline-color)}.md3-switch:disabled .md3-switch__track::before{transition:none}.md3-switch--selected .md3-switch__track::before{opacity:0}.md3-switch--unselected:hover .md3-switch__track::before{background-color:var(--_unselected-hover-track-color);border-color:var(--_unselected-hover-track-outline-color)}.md3-switch--unselected:focus-visible .md3-switch__track::before{background-color:var(--_unselected-focus-track-color);border-color:var(--_unselected-focus-track-outline-color)}.md3-switch--unselected:active .md3-switch__track::before{background-color:var(--_unselected-pressed-track-color);border-color:var(--_unselected-pressed-track-outline-color)}.md3-switch--unselected:disabled .md3-switch__track::before{background-color:var(--_disabled-unselected-track-color);border-color:var(--_disabled-unselected-track-outline-color)}.md3-switch__handle-container{position:relative;transition:margin 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275);display:flex}.md3-switch--selected .md3-switch__handle-container{margin-inline-start:calc(var(--_track-width) - var(--_track-height))}.md3-switch--unselected .md3-switch__handle-container{margin-inline-end:calc(var(--_track-width) - var(--_track-height))}.md3-switch:disabled .md3-switch__handle-container{transition:none}.md3-switch__handle{border-start-start-radius:var(--_handle-shape-start-start);border-start-end-radius:var(--_handle-shape-start-end);border-end-end-radius:var(--_handle-shape-end-end);border-end-start-radius:var(--_handle-shape-end-start);height:var(--_unselected-handle-height);width:var(--_unselected-handle-width);background-color:var(--_selected-handle-color);transform-origin:center;transition-property:height,width,background-color;transition-duration:250ms,250ms,67ms;transition-timing-function:cubic-bezier(0.2, 0, 0, 1),cubic-bezier(0.2, 0, 0, 1),linear;z-index:0}.md3-switch__handle::before{content:"";display:flex;position:absolute;height:100%;width:100%;border-radius:inherit;box-sizing:border-box;transition:opacity 67ms linear}.md3-switch--selected .md3-switch__handle::before{opacity:0}.md3-switch:disabled .md3-switch__handle::before{transition:none}.md3-switch:disabled .md3-switch__handle{transition:none}.md3-switch--selected .md3-switch__handle,.md3-switch--unselected .md3-switch__handle.md3-switch__handle--big{height:var(--_selected-handle-height);width:var(--_selected-handle-width)}.md3-switch--selected:enabled:active .md3-switch__handle,.md3-switch--unselected:enabled:active .md3-switch__handle{height:var(--_pressed-handle-height);width:var(--_pressed-handle-width);transition-timing-function:linear;transition-duration:100ms}.md3-switch--selected:hover .md3-switch__handle{background-color:var(--_selected-hover-handle-color)}.md3-switch--selected:focus-visible .md3-switch__handle{background-color:var(--_selected-focus-handle-color)}.md3-switch--selected:active .md3-switch__handle{background-color:var(--_selected-pressed-handle-color)}.md3-switch--selected:disabled .md3-switch__handle{background-color:var(--_disabled-selected-handle-color)}.md3-switch__handle::before{background-color:var(--_unselected-handle-color)}.md3-switch--unselected:hover .md3-switch__handle::before{background-color:var(--_unselected-hover-handle-color)}.md3-switch--unselected:focus-visible .md3-switch__handle::before{background-color:var(--_unselected-focus-handle-color)}.md3-switch--unselected:active .md3-switch__handle::before{background-color:var(--_unselected-pressed-handle-color)}.md3-switch--unselected:disabled .md3-switch__handle::before{background-color:var(--_disabled-unselected-handle-color)}.md3-switch__ripple{position:absolute;display:inline-flex;top:50%;left:50%;transform:translate(-50%, -50%);height:var(--_state-layer-size);width:var(--_state-layer-size)}.md3-switch--selected .md3-switch__ripple{--md-ripple-hover-color:var(--_selected-hover-state-layer-color);--md-ripple-focus-color:var(--_selected-focus-state-layer-color);--md-ripple-pressed-color:var(--_selected-pressed-state-layer-color);--md-ripple-hover-opacity:var(--_selected-hover-state-layer-opacity);--md-ripple-focus-opacity:var(--_selected-focus-state-layer-opacity);--md-ripple-pressed-opacity:var(--_selected-pressed-state-layer-opacity)}.md3-switch--unselected .md3-switch__ripple{--md-ripple-hover-color:var(--_unselected-hover-state-layer-color);--md-ripple-focus-color:var(--_unselected-focus-state-layer-color);--md-ripple-pressed-color:var(--_unselected-pressed-state-layer-color);--md-ripple-hover-opacity:var(--_unselected-hover-state-layer-opacity);--md-ripple-focus-opacity:var(--_unselected-focus-state-layer-opacity);--md-ripple-pressed-opacity:var(--_unselected-pressed-state-layer-opacity)}.md3-switch__icons{position:relative;height:100%;width:100%}.md3-switch__icon{position:absolute;inset:0;margin:auto;transition:fill 67ms linear,opacity 33ms linear,transform 167ms cubic-bezier(0.2, 0, 0, 1);opacity:0}.md3-switch:disabled .md3-switch__icon{transition:none}.md3-switch--selected .md3-switch__icon--on,.md3-switch--unselected .md3-switch__icon--off{opacity:1}.md3-switch--unselected .md3-switch__handle:not(.md3-switch__handle--big) .md3-switch__icon--on{transform:rotate(-45deg)}.md3-switch--selected .md3-switch__icon{width:var(--_selected-icon-size);height:var(--_selected-icon-size);fill:var(--_selected-icon-color)}.md3-switch--unselected .md3-switch__icon{width:var(--_unselected-icon-size);height:var(--_unselected-icon-size);fill:var(--_unselected-icon-color)}.md3-switch--selected:disabled .md3-switch__icon{fill:var(--_disabled-selected-icon-color)}.md3-switch--unselected:disabled .md3-switch__icon{fill:var(--_disabled-unselected-icon-color)}/*# sourceMappingURL=switch-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=switch-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"switch-styles.css.js","sourceRoot":"","sources":["switch-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_handle-shape-start-start: var(--md-switch-handle-shape-start-start, var(--md-switch-handle-shape, 9999px));--_handle-shape-start-end: var(--md-switch-handle-shape-start-end, var(--md-switch-handle-shape, 9999px));--_handle-shape-end-end: var(--md-switch-handle-shape-end-end, var(--md-switch-handle-shape, 9999px));--_handle-shape-end-start: var(--md-switch-handle-shape-end-start, var(--md-switch-handle-shape, 9999px));--_track-shape-start-start: var(--md-switch-track-shape-start-start, var(--md-switch-track-shape, 9999px));--_track-shape-start-end: var(--md-switch-track-shape-start-end, var(--md-switch-track-shape, 9999px));--_track-shape-end-end: var(--md-switch-track-shape-end-end, var(--md-switch-track-shape, 9999px));--_track-shape-end-start: var(--md-switch-track-shape-end-start, var(--md-switch-track-shape, 9999px));--_disabled-selected-handle-color: var(--md-switch-disabled-selected-handle-color, rgb(var(--md-sys-color-surface-rgb, 255, 251, 254), 1));--_disabled-selected-icon-color: var(--md-switch-disabled-selected-icon-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--_disabled-selected-track-color: var(--md-switch-disabled-selected-track-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.12));--_disabled-unselected-handle-color: var(--md-switch-disabled-unselected-handle-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--_disabled-unselected-icon-color: var(--md-switch-disabled-unselected-icon-color, rgb(var(--md-sys-color-surface-variant-rgb, 231, 224, 236), 0.38));--_disabled-unselected-track-color: var(--md-switch-disabled-unselected-track-color, rgb(var(--md-sys-color-surface-variant-rgb, 231, 224, 236), 0.12));--_disabled-unselected-track-outline-color: var(--md-switch-disabled-unselected-track-outline-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.12));--_pressed-handle-height: var(--md-switch-pressed-handle-height, 28px);--_pressed-handle-width: var(--md-switch-pressed-handle-width, 28px);--_selected-focus-handle-color: var(--md-switch-selected-focus-handle-color, var(--md-sys-color-primary-container, #eaddff));--_selected-focus-icon-color: var(--md-switch-selected-focus-icon-color, var(--md-sys-color-on-primary-container, #21005d));--_selected-focus-state-layer-color: var(--md-switch-selected-focus-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-focus-state-layer-opacity: var(--md-switch-selected-focus-state-layer-opacity, 0.12);--_selected-focus-track-color: var(--md-switch-selected-focus-track-color, var(--md-sys-color-primary, #6750a4));--_selected-handle-color: var(--md-switch-selected-handle-color, var(--md-sys-color-on-primary, #fff));--_selected-handle-height: var(--md-switch-selected-handle-height, 24px);--_selected-handle-width: var(--md-switch-selected-handle-width, 24px);--_selected-hover-handle-color: var(--md-switch-selected-hover-handle-color, var(--md-sys-color-primary-container, #eaddff));--_selected-hover-icon-color: var(--md-switch-selected-hover-icon-color, var(--md-sys-color-on-primary-container, #21005d));--_selected-hover-state-layer-color: var(--md-switch-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-opacity: var(--md-switch-selected-hover-state-layer-opacity, 0.08);--_selected-hover-track-color: var(--md-switch-selected-hover-track-color, var(--md-sys-color-primary, #6750a4));--_selected-icon-color: var(--md-switch-selected-icon-color, var(--md-sys-color-on-primary-container, #21005d));--_selected-icon-size: var(--md-switch-selected-icon-size, 16px);--_selected-pressed-handle-color: var(--md-switch-selected-pressed-handle-color, var(--md-sys-color-primary-container, #eaddff));--_selected-pressed-icon-color: var(--md-switch-selected-pressed-icon-color, var(--md-sys-color-on-primary-container, #21005d));--_selected-pressed-state-layer-color: var(--md-switch-selected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-state-layer-opacity: var(--md-switch-selected-pressed-state-layer-opacity, 0.12);--_selected-pressed-track-color: var(--md-switch-selected-pressed-track-color, var(--md-sys-color-primary, #6750a4));--_selected-track-color: var(--md-switch-selected-track-color, var(--md-sys-color-primary, #6750a4));--_state-layer-shape: var(--md-switch-state-layer-shape, 9999px);--_state-layer-size: var(--md-switch-state-layer-size, 40px);--_track-height: var(--md-switch-track-height, 32px);--_track-outline-width: var(--md-switch-track-outline-width, 2px);--_track-width: var(--md-switch-track-width, 52px);--_unselected-focus-handle-color: var(--md-switch-unselected-focus-handle-color, var(--md-sys-color-on-surface-variant, #49454f));--_unselected-focus-icon-color: var(--md-switch-unselected-focus-icon-color, var(--md-sys-color-surface-variant, #e7e0ec));--_unselected-focus-state-layer-color: var(--md-switch-unselected-focus-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_unselected-focus-state-layer-opacity: var(--md-switch-unselected-focus-state-layer-opacity, 0.12);--_unselected-focus-track-color: var(--md-switch-unselected-focus-track-color, var(--md-sys-color-surface-variant, #e7e0ec));--_unselected-focus-track-outline-color: var(--md-switch-unselected-focus-track-outline-color, var(--md-sys-color-outline, #79747e));--_unselected-handle-color: var(--md-switch-unselected-handle-color, var(--md-sys-color-outline, #79747e));--_unselected-handle-height: var(--md-switch-unselected-handle-height, 16px);--_unselected-handle-width: var(--md-switch-unselected-handle-width, 16px);--_unselected-hover-handle-color: var(--md-switch-unselected-hover-handle-color, var(--md-sys-color-on-surface-variant, #49454f));--_unselected-hover-icon-color: var(--md-switch-unselected-hover-icon-color, var(--md-sys-color-surface-variant, #e7e0ec));--_unselected-hover-state-layer-color: var(--md-switch-unselected-hover-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_unselected-hover-state-layer-opacity: var(--md-switch-unselected-hover-state-layer-opacity, 0.08);--_unselected-hover-track-color: var(--md-switch-unselected-hover-track-color, var(--md-sys-color-surface-variant, #e7e0ec));--_unselected-hover-track-outline-color: var(--md-switch-unselected-hover-track-outline-color, var(--md-sys-color-outline, #79747e));--_unselected-icon-color: var(--md-switch-unselected-icon-color, var(--md-sys-color-surface-variant, #e7e0ec));--_unselected-icon-size: var(--md-switch-unselected-icon-size, 16px);--_unselected-pressed-handle-color: var(--md-switch-unselected-pressed-handle-color, var(--md-sys-color-on-surface-variant, #49454f));--_unselected-pressed-icon-color: var(--md-switch-unselected-pressed-icon-color, var(--md-sys-color-surface-variant, #e7e0ec));--_unselected-pressed-state-layer-color: var(--md-switch-unselected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_unselected-pressed-state-layer-opacity: var(--md-switch-unselected-pressed-state-layer-opacity, 0.12);--_unselected-pressed-track-color: var(--md-switch-unselected-pressed-track-color, var(--md-sys-color-surface-variant, #e7e0ec));--_unselected-pressed-track-outline-color: var(--md-switch-unselected-pressed-track-outline-color, var(--md-sys-color-outline, #79747e));--_unselected-track-color: var(--md-switch-unselected-track-color, var(--md-sys-color-surface-variant, #e7e0ec));--_unselected-track-outline-color: var(--md-switch-unselected-track-outline-color, var(--md-sys-color-outline, #79747e));--_with-icon-handle-height: var(--md-switch-with-icon-handle-height, 24px);--_with-icon-handle-width: var(--md-switch-with-icon-handle-width, 24px);display:inline-flex;outline:none;vertical-align:top;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media screen and (forced-colors: active){:host{--md-switch-disabled-selected-icon-color:GrayText;--md-switch-disabled-selected-track-color:GrayText;--md-switch-disabled-unselected-handle-color:GrayText;--md-switch-disabled-unselected-icon-color:Canvas;--md-switch-selected-focus-track-color:ButtonText;--md-switch-selected-hover-track-color:ButtonText;--md-switch-selected-icon-color:ButtonText;--md-switch-selected-pressed-track-color:ButtonText;--md-switch-selected-track-color:ButtonText;--md-switch-unselected-focus-handle-color:ButtonText;--md-switch-unselected-handle-color:ButtonText;--md-switch-unselected-hover-handle-color:ButtonText;--md-switch-unselected-icon-color:Canvas;--md-switch-unselected-pressed-handle-color:ButtonText}}md-focus-ring{--md-focus-ring-shape-start-start:var(--md-focus-ring-shape, var(--_track-shape-start-start));--md-focus-ring-shape-start-end:var(--md-focus-ring-shape, var(--_track-shape-start-end));--md-focus-ring-shape-end-end:var(--md-focus-ring-shape, var(--_track-shape-end-start));--md-focus-ring-shape-end-start:var(--md-focus-ring-shape, var(--_track-shape-end-end)))))}.md3-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;padding:0;position:relative;width:var(--_track-width);height:var(--_track-height);border-start-start-radius:var(--_track-shape-start-start);border-start-end-radius:var(--_track-shape-start-end);border-end-end-radius:var(--_track-shape-end-end);border-end-start-radius:var(--_track-shape-end-start)}.md3-switch__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.md3-switch:disabled{cursor:default;pointer-events:none}.md3-switch:disabled .md3-switch__track{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.md3-switch:disabled .md3-switch__track::before{background-clip:content-box}.md3-switch--selected:disabled .md3-switch__track{background-clip:border-box}.md3-switch__track{position:absolute;width:100%;height:100%;box-sizing:border-box;border-radius:inherit;display:flex;justify-content:center;align-items:center;transition:background-color 67ms linear;background-color:var(--_selected-track-color)}.md3-switch:disabled .md3-switch__track{transition:none}.md3-switch--selected:hover .md3-switch__track{background-color:var(--_selected-hover-track-color)}.md3-switch--selected:focus-visible .md3-switch__track{background-color:var(--_selected-focus-track-color)}.md3-switch--selected:active .md3-switch__track{background-color:var(--_selected-pressed-track-color)}.md3-switch--selected:disabled .md3-switch__track{background-color:var(--_disabled-selected-track-color)}.md3-switch__track::before{content:\"\";display:flex;position:absolute;height:100%;width:100%;border-radius:inherit;box-sizing:border-box;border-style:solid;transition-property:opacity,background-color;transition-timing-function:linear;transition-duration:67ms;border-width:var(--_track-outline-width);background-color:var(--_unselected-track-color);border-color:var(--_unselected-track-outline-color)}.md3-switch:disabled .md3-switch__track::before{transition:none}.md3-switch--selected .md3-switch__track::before{opacity:0}.md3-switch--unselected:hover .md3-switch__track::before{background-color:var(--_unselected-hover-track-color);border-color:var(--_unselected-hover-track-outline-color)}.md3-switch--unselected:focus-visible .md3-switch__track::before{background-color:var(--_unselected-focus-track-color);border-color:var(--_unselected-focus-track-outline-color)}.md3-switch--unselected:active .md3-switch__track::before{background-color:var(--_unselected-pressed-track-color);border-color:var(--_unselected-pressed-track-outline-color)}.md3-switch--unselected:disabled .md3-switch__track::before{background-color:var(--_disabled-unselected-track-color);border-color:var(--_disabled-unselected-track-outline-color)}.md3-switch__handle-container{position:relative;transition:margin 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275);display:flex}.md3-switch--selected .md3-switch__handle-container{margin-inline-start:calc(var(--_track-width) - var(--_track-height))}.md3-switch--unselected .md3-switch__handle-container{margin-inline-end:calc(var(--_track-width) - var(--_track-height))}.md3-switch:disabled .md3-switch__handle-container{transition:none}.md3-switch__handle{border-start-start-radius:var(--_handle-shape-start-start);border-start-end-radius:var(--_handle-shape-start-end);border-end-end-radius:var(--_handle-shape-end-end);border-end-start-radius:var(--_handle-shape-end-start);height:var(--_unselected-handle-height);width:var(--_unselected-handle-width);background-color:var(--_selected-handle-color);transform-origin:center;transition-property:height,width,background-color;transition-duration:250ms,250ms,67ms;transition-timing-function:cubic-bezier(0.2, 0, 0, 1),cubic-bezier(0.2, 0, 0, 1),linear;z-index:0}.md3-switch__handle::before{content:\"\";display:flex;position:absolute;height:100%;width:100%;border-radius:inherit;box-sizing:border-box;transition:opacity 67ms linear}.md3-switch--selected .md3-switch__handle::before{opacity:0}.md3-switch:disabled .md3-switch__handle::before{transition:none}.md3-switch:disabled .md3-switch__handle{transition:none}.md3-switch--selected .md3-switch__handle,.md3-switch--unselected .md3-switch__handle.md3-switch__handle--big{height:var(--_selected-handle-height);width:var(--_selected-handle-width)}.md3-switch--selected:enabled:active .md3-switch__handle,.md3-switch--unselected:enabled:active .md3-switch__handle{height:var(--_pressed-handle-height);width:var(--_pressed-handle-width);transition-timing-function:linear;transition-duration:100ms}.md3-switch--selected:hover .md3-switch__handle{background-color:var(--_selected-hover-handle-color)}.md3-switch--selected:focus-visible .md3-switch__handle{background-color:var(--_selected-focus-handle-color)}.md3-switch--selected:active .md3-switch__handle{background-color:var(--_selected-pressed-handle-color)}.md3-switch--selected:disabled .md3-switch__handle{background-color:var(--_disabled-selected-handle-color)}.md3-switch__handle::before{background-color:var(--_unselected-handle-color)}.md3-switch--unselected:hover .md3-switch__handle::before{background-color:var(--_unselected-hover-handle-color)}.md3-switch--unselected:focus-visible .md3-switch__handle::before{background-color:var(--_unselected-focus-handle-color)}.md3-switch--unselected:active .md3-switch__handle::before{background-color:var(--_unselected-pressed-handle-color)}.md3-switch--unselected:disabled .md3-switch__handle::before{background-color:var(--_disabled-unselected-handle-color)}.md3-switch__ripple{position:absolute;display:inline-flex;top:50%;left:50%;transform:translate(-50%, -50%);height:var(--_state-layer-size);width:var(--_state-layer-size)}.md3-switch--selected .md3-switch__ripple{--md-ripple-hover-color:var(--_selected-hover-state-layer-color);--md-ripple-focus-color:var(--_selected-focus-state-layer-color);--md-ripple-pressed-color:var(--_selected-pressed-state-layer-color);--md-ripple-hover-opacity:var(--_selected-hover-state-layer-opacity);--md-ripple-focus-opacity:var(--_selected-focus-state-layer-opacity);--md-ripple-pressed-opacity:var(--_selected-pressed-state-layer-opacity)}.md3-switch--unselected .md3-switch__ripple{--md-ripple-hover-color:var(--_unselected-hover-state-layer-color);--md-ripple-focus-color:var(--_unselected-focus-state-layer-color);--md-ripple-pressed-color:var(--_unselected-pressed-state-layer-color);--md-ripple-hover-opacity:var(--_unselected-hover-state-layer-opacity);--md-ripple-focus-opacity:var(--_unselected-focus-state-layer-opacity);--md-ripple-pressed-opacity:var(--_unselected-pressed-state-layer-opacity)}.md3-switch__icons{position:relative;height:100%;width:100%}.md3-switch__icon{position:absolute;inset:0;margin:auto;transition:fill 67ms linear,opacity 33ms linear,transform 167ms cubic-bezier(0.2, 0, 0, 1);opacity:0}.md3-switch:disabled .md3-switch__icon{transition:none}.md3-switch--selected .md3-switch__icon--on,.md3-switch--unselected .md3-switch__icon--off{opacity:1}.md3-switch--unselected .md3-switch__handle:not(.md3-switch__handle--big) .md3-switch__icon--on{transform:rotate(-45deg)}.md3-switch--selected .md3-switch__icon{width:var(--_selected-icon-size);height:var(--_selected-icon-size);fill:var(--_selected-icon-color)}.md3-switch--unselected .md3-switch__icon{width:var(--_unselected-icon-size);height:var(--_unselected-icon-size);fill:var(--_unselected-icon-color)}.md3-switch--selected:disabled .md3-switch__icon{fill:var(--_disabled-selected-icon-color)}.md3-switch--unselected:disabled .md3-switch__icon{fill:var(--_disabled-unselected-icon-color)}/*# sourceMappingURL=switch-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"switch-styles.css.js","sourceRoot":"","sources":["switch-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_handle-shape-start-start: var(--md-switch-handle-shape-start-start, var(--md-switch-handle-shape, 9999px));--_handle-shape-start-end: var(--md-switch-handle-shape-start-end, var(--md-switch-handle-shape, 9999px));--_handle-shape-end-end: var(--md-switch-handle-shape-end-end, var(--md-switch-handle-shape, 9999px));--_handle-shape-end-start: var(--md-switch-handle-shape-end-start, var(--md-switch-handle-shape, 9999px));--_track-shape-start-start: var(--md-switch-track-shape-start-start, var(--md-switch-track-shape, 9999px));--_track-shape-start-end: var(--md-switch-track-shape-start-end, var(--md-switch-track-shape, 9999px));--_track-shape-end-end: var(--md-switch-track-shape-end-end, var(--md-switch-track-shape, 9999px));--_track-shape-end-start: var(--md-switch-track-shape-end-start, var(--md-switch-track-shape, 9999px));--_disabled-selected-handle-color: var(--md-switch-disabled-selected-handle-color, rgb(var(--md-sys-color-surface-rgb, 254, 247, 255), 1));--_disabled-selected-icon-color: var(--md-switch-disabled-selected-icon-color, rgb(var(--md-sys-color-on-surface-rgb, 29, 27, 32), 0.38));--_disabled-selected-track-color: var(--md-switch-disabled-selected-track-color, rgb(var(--md-sys-color-on-surface-rgb, 29, 27, 32), 0.12));--_disabled-unselected-handle-color: var(--md-switch-disabled-unselected-handle-color, rgb(var(--md-sys-color-on-surface-rgb, 29, 27, 32), 0.38));--_disabled-unselected-icon-color: var(--md-switch-disabled-unselected-icon-color, rgb(var(--md-sys-color-surface-container-highest-rgb, 230, 224, 233), 0.38));--_disabled-unselected-track-color: var(--md-switch-disabled-unselected-track-color, rgb(var(--md-sys-color-surface-container-highest-rgb, 230, 224, 233), 0.12));--_disabled-unselected-track-outline-color: var(--md-switch-disabled-unselected-track-outline-color, rgb(var(--md-sys-color-on-surface-rgb, 29, 27, 32), 0.12));--_pressed-handle-height: var(--md-switch-pressed-handle-height, 28px);--_pressed-handle-width: var(--md-switch-pressed-handle-width, 28px);--_selected-focus-handle-color: var(--md-switch-selected-focus-handle-color, var(--md-sys-color-primary-container, #eaddff));--_selected-focus-icon-color: var(--md-switch-selected-focus-icon-color, var(--md-sys-color-on-primary-container, #21005d));--_selected-focus-state-layer-color: var(--md-switch-selected-focus-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-focus-state-layer-opacity: var(--md-switch-selected-focus-state-layer-opacity, 0.12);--_selected-focus-track-color: var(--md-switch-selected-focus-track-color, var(--md-sys-color-primary, #6750a4));--_selected-handle-color: var(--md-switch-selected-handle-color, var(--md-sys-color-on-primary, #fff));--_selected-handle-height: var(--md-switch-selected-handle-height, 24px);--_selected-handle-width: var(--md-switch-selected-handle-width, 24px);--_selected-hover-handle-color: var(--md-switch-selected-hover-handle-color, var(--md-sys-color-primary-container, #eaddff));--_selected-hover-icon-color: var(--md-switch-selected-hover-icon-color, var(--md-sys-color-on-primary-container, #21005d));--_selected-hover-state-layer-color: var(--md-switch-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-opacity: var(--md-switch-selected-hover-state-layer-opacity, 0.08);--_selected-hover-track-color: var(--md-switch-selected-hover-track-color, var(--md-sys-color-primary, #6750a4));--_selected-icon-color: var(--md-switch-selected-icon-color, var(--md-sys-color-on-primary-container, #21005d));--_selected-icon-size: var(--md-switch-selected-icon-size, 16px);--_selected-pressed-handle-color: var(--md-switch-selected-pressed-handle-color, var(--md-sys-color-primary-container, #eaddff));--_selected-pressed-icon-color: var(--md-switch-selected-pressed-icon-color, var(--md-sys-color-on-primary-container, #21005d));--_selected-pressed-state-layer-color: var(--md-switch-selected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-state-layer-opacity: var(--md-switch-selected-pressed-state-layer-opacity, 0.12);--_selected-pressed-track-color: var(--md-switch-selected-pressed-track-color, var(--md-sys-color-primary, #6750a4));--_selected-track-color: var(--md-switch-selected-track-color, var(--md-sys-color-primary, #6750a4));--_state-layer-shape: var(--md-switch-state-layer-shape, 9999px);--_state-layer-size: var(--md-switch-state-layer-size, 40px);--_track-height: var(--md-switch-track-height, 32px);--_track-outline-width: var(--md-switch-track-outline-width, 2px);--_track-width: var(--md-switch-track-width, 52px);--_unselected-focus-handle-color: var(--md-switch-unselected-focus-handle-color, var(--md-sys-color-on-surface-variant, #49454f));--_unselected-focus-icon-color: var(--md-switch-unselected-focus-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_unselected-focus-state-layer-color: var(--md-switch-unselected-focus-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_unselected-focus-state-layer-opacity: var(--md-switch-unselected-focus-state-layer-opacity, 0.12);--_unselected-focus-track-color: var(--md-switch-unselected-focus-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_unselected-focus-track-outline-color: var(--md-switch-unselected-focus-track-outline-color, var(--md-sys-color-outline, #79747e));--_unselected-handle-color: var(--md-switch-unselected-handle-color, var(--md-sys-color-outline, #79747e));--_unselected-handle-height: var(--md-switch-unselected-handle-height, 16px);--_unselected-handle-width: var(--md-switch-unselected-handle-width, 16px);--_unselected-hover-handle-color: var(--md-switch-unselected-hover-handle-color, var(--md-sys-color-on-surface-variant, #49454f));--_unselected-hover-icon-color: var(--md-switch-unselected-hover-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_unselected-hover-state-layer-color: var(--md-switch-unselected-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_unselected-hover-state-layer-opacity: var(--md-switch-unselected-hover-state-layer-opacity, 0.08);--_unselected-hover-track-color: var(--md-switch-unselected-hover-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_unselected-hover-track-outline-color: var(--md-switch-unselected-hover-track-outline-color, var(--md-sys-color-outline, #79747e));--_unselected-icon-color: var(--md-switch-unselected-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_unselected-icon-size: var(--md-switch-unselected-icon-size, 16px);--_unselected-pressed-handle-color: var(--md-switch-unselected-pressed-handle-color, var(--md-sys-color-on-surface-variant, #49454f));--_unselected-pressed-icon-color: var(--md-switch-unselected-pressed-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_unselected-pressed-state-layer-color: var(--md-switch-unselected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_unselected-pressed-state-layer-opacity: var(--md-switch-unselected-pressed-state-layer-opacity, 0.12);--_unselected-pressed-track-color: var(--md-switch-unselected-pressed-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_unselected-pressed-track-outline-color: var(--md-switch-unselected-pressed-track-outline-color, var(--md-sys-color-outline, #79747e));--_unselected-track-color: var(--md-switch-unselected-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_unselected-track-outline-color: var(--md-switch-unselected-track-outline-color, var(--md-sys-color-outline, #79747e));--_with-icon-handle-height: var(--md-switch-with-icon-handle-height, 24px);--_with-icon-handle-width: var(--md-switch-with-icon-handle-width, 24px);display:inline-flex;outline:none;vertical-align:top;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media screen and (forced-colors: active){:host{--md-switch-disabled-selected-icon-color:GrayText;--md-switch-disabled-selected-track-color:GrayText;--md-switch-disabled-unselected-handle-color:GrayText;--md-switch-disabled-unselected-icon-color:Canvas;--md-switch-selected-focus-track-color:ButtonText;--md-switch-selected-hover-track-color:ButtonText;--md-switch-selected-icon-color:ButtonText;--md-switch-selected-pressed-track-color:ButtonText;--md-switch-selected-track-color:ButtonText;--md-switch-unselected-focus-handle-color:ButtonText;--md-switch-unselected-handle-color:ButtonText;--md-switch-unselected-hover-handle-color:ButtonText;--md-switch-unselected-icon-color:Canvas;--md-switch-unselected-pressed-handle-color:ButtonText}}md-focus-ring{--md-focus-ring-shape-start-start:var(--md-focus-ring-shape, var(--_track-shape-start-start));--md-focus-ring-shape-start-end:var(--md-focus-ring-shape, var(--_track-shape-start-end));--md-focus-ring-shape-end-end:var(--md-focus-ring-shape, var(--_track-shape-end-start));--md-focus-ring-shape-end-start:var(--md-focus-ring-shape, var(--_track-shape-end-end)))))}.md3-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;padding:0;position:relative;width:var(--_track-width);height:var(--_track-height);border-start-start-radius:var(--_track-shape-start-start);border-start-end-radius:var(--_track-shape-start-end);border-end-end-radius:var(--_track-shape-end-end);border-end-start-radius:var(--_track-shape-end-start)}.md3-switch__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.md3-switch:disabled{cursor:default;pointer-events:none}.md3-switch:disabled .md3-switch__track{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.md3-switch:disabled .md3-switch__track::before{background-clip:content-box}.md3-switch--selected:disabled .md3-switch__track{background-clip:border-box}.md3-switch__track{position:absolute;width:100%;height:100%;box-sizing:border-box;border-radius:inherit;display:flex;justify-content:center;align-items:center;transition:background-color 67ms linear;background-color:var(--_selected-track-color)}.md3-switch:disabled .md3-switch__track{transition:none}.md3-switch--selected:hover .md3-switch__track{background-color:var(--_selected-hover-track-color)}.md3-switch--selected:focus-visible .md3-switch__track{background-color:var(--_selected-focus-track-color)}.md3-switch--selected:active .md3-switch__track{background-color:var(--_selected-pressed-track-color)}.md3-switch--selected:disabled .md3-switch__track{background-color:var(--_disabled-selected-track-color)}.md3-switch__track::before{content:\"\";display:flex;position:absolute;height:100%;width:100%;border-radius:inherit;box-sizing:border-box;border-style:solid;transition-property:opacity,background-color;transition-timing-function:linear;transition-duration:67ms;border-width:var(--_track-outline-width);background-color:var(--_unselected-track-color);border-color:var(--_unselected-track-outline-color)}.md3-switch:disabled .md3-switch__track::before{transition:none}.md3-switch--selected .md3-switch__track::before{opacity:0}.md3-switch--unselected:hover .md3-switch__track::before{background-color:var(--_unselected-hover-track-color);border-color:var(--_unselected-hover-track-outline-color)}.md3-switch--unselected:focus-visible .md3-switch__track::before{background-color:var(--_unselected-focus-track-color);border-color:var(--_unselected-focus-track-outline-color)}.md3-switch--unselected:active .md3-switch__track::before{background-color:var(--_unselected-pressed-track-color);border-color:var(--_unselected-pressed-track-outline-color)}.md3-switch--unselected:disabled .md3-switch__track::before{background-color:var(--_disabled-unselected-track-color);border-color:var(--_disabled-unselected-track-outline-color)}.md3-switch__handle-container{position:relative;transition:margin 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275);display:flex}.md3-switch--selected .md3-switch__handle-container{margin-inline-start:calc(var(--_track-width) - var(--_track-height))}.md3-switch--unselected .md3-switch__handle-container{margin-inline-end:calc(var(--_track-width) - var(--_track-height))}.md3-switch:disabled .md3-switch__handle-container{transition:none}.md3-switch__handle{border-start-start-radius:var(--_handle-shape-start-start);border-start-end-radius:var(--_handle-shape-start-end);border-end-end-radius:var(--_handle-shape-end-end);border-end-start-radius:var(--_handle-shape-end-start);height:var(--_unselected-handle-height);width:var(--_unselected-handle-width);background-color:var(--_selected-handle-color);transform-origin:center;transition-property:height,width,background-color;transition-duration:250ms,250ms,67ms;transition-timing-function:cubic-bezier(0.2, 0, 0, 1),cubic-bezier(0.2, 0, 0, 1),linear;z-index:0}.md3-switch__handle::before{content:\"\";display:flex;position:absolute;height:100%;width:100%;border-radius:inherit;box-sizing:border-box;transition:opacity 67ms linear}.md3-switch--selected .md3-switch__handle::before{opacity:0}.md3-switch:disabled .md3-switch__handle::before{transition:none}.md3-switch:disabled .md3-switch__handle{transition:none}.md3-switch--selected .md3-switch__handle,.md3-switch--unselected .md3-switch__handle.md3-switch__handle--big{height:var(--_selected-handle-height);width:var(--_selected-handle-width)}.md3-switch--selected:enabled:active .md3-switch__handle,.md3-switch--unselected:enabled:active .md3-switch__handle{height:var(--_pressed-handle-height);width:var(--_pressed-handle-width);transition-timing-function:linear;transition-duration:100ms}.md3-switch--selected:hover .md3-switch__handle{background-color:var(--_selected-hover-handle-color)}.md3-switch--selected:focus-visible .md3-switch__handle{background-color:var(--_selected-focus-handle-color)}.md3-switch--selected:active .md3-switch__handle{background-color:var(--_selected-pressed-handle-color)}.md3-switch--selected:disabled .md3-switch__handle{background-color:var(--_disabled-selected-handle-color)}.md3-switch__handle::before{background-color:var(--_unselected-handle-color)}.md3-switch--unselected:hover .md3-switch__handle::before{background-color:var(--_unselected-hover-handle-color)}.md3-switch--unselected:focus-visible .md3-switch__handle::before{background-color:var(--_unselected-focus-handle-color)}.md3-switch--unselected:active .md3-switch__handle::before{background-color:var(--_unselected-pressed-handle-color)}.md3-switch--unselected:disabled .md3-switch__handle::before{background-color:var(--_disabled-unselected-handle-color)}.md3-switch__ripple{position:absolute;display:inline-flex;top:50%;left:50%;transform:translate(-50%, -50%);height:var(--_state-layer-size);width:var(--_state-layer-size)}.md3-switch--selected .md3-switch__ripple{--md-ripple-hover-color:var(--_selected-hover-state-layer-color);--md-ripple-focus-color:var(--_selected-focus-state-layer-color);--md-ripple-pressed-color:var(--_selected-pressed-state-layer-color);--md-ripple-hover-opacity:var(--_selected-hover-state-layer-opacity);--md-ripple-focus-opacity:var(--_selected-focus-state-layer-opacity);--md-ripple-pressed-opacity:var(--_selected-pressed-state-layer-opacity)}.md3-switch--unselected .md3-switch__ripple{--md-ripple-hover-color:var(--_unselected-hover-state-layer-color);--md-ripple-focus-color:var(--_unselected-focus-state-layer-color);--md-ripple-pressed-color:var(--_unselected-pressed-state-layer-color);--md-ripple-hover-opacity:var(--_unselected-hover-state-layer-opacity);--md-ripple-focus-opacity:var(--_unselected-focus-state-layer-opacity);--md-ripple-pressed-opacity:var(--_unselected-pressed-state-layer-opacity)}.md3-switch__icons{position:relative;height:100%;width:100%}.md3-switch__icon{position:absolute;inset:0;margin:auto;transition:fill 67ms linear,opacity 33ms linear,transform 167ms cubic-bezier(0.2, 0, 0, 1);opacity:0}.md3-switch:disabled .md3-switch__icon{transition:none}.md3-switch--selected .md3-switch__icon--on,.md3-switch--unselected .md3-switch__icon--off{opacity:1}.md3-switch--unselected .md3-switch__handle:not(.md3-switch__handle--big) .md3-switch__icon--on{transform:rotate(-45deg)}.md3-switch--selected .md3-switch__icon{width:var(--_selected-icon-size);height:var(--_selected-icon-size);fill:var(--_selected-icon-color)}.md3-switch--unselected .md3-switch__icon{width:var(--_unselected-icon-size);height:var(--_unselected-icon-size);fill:var(--_unselected-icon-color)}.md3-switch--selected:disabled .md3-switch__icon{fill:var(--_disabled-selected-icon-color)}.md3-switch--unselected:disabled .md3-switch__icon{fill:var(--_disabled-unselected-icon-color)}/*# sourceMappingURL=switch-styles.css.map */\n`;\n "]}
@@ -37,8 +37,6 @@ export declare class Switch extends LitElement {
37
37
  * overrides the behavior of the `icons` property.
38
38
  */
39
39
  showOnlySelectedIcon: boolean;
40
- ariaLabel: string;
41
- ariaLabelledBy: string;
42
40
  private showFocusRing;
43
41
  private showRipple;
44
42
  private readonly ripple;
@@ -3,18 +3,17 @@
3
3
  * Copyright 2021 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { __decorate, __metadata } from "tslib";
7
- // tslint:disable:no-new-decorators
6
+ var _a;
7
+ import { __decorate } from "tslib";
8
8
  import '../../focus/focus-ring.js';
9
9
  import '../../ripple/ripple.js';
10
- import { html, LitElement } from 'lit';
10
+ import { html, isServer, LitElement, nothing } from 'lit';
11
11
  import { eventOptions, property, query, queryAsync, state } from 'lit/decorators.js';
12
12
  import { classMap } from 'lit/directives/class-map.js';
13
- import { ifDefined } from 'lit/directives/if-defined.js';
14
13
  import { when } from 'lit/directives/when.js';
14
+ import { requestUpdateOnAriaChange } from '../../aria/delegate.js';
15
15
  import { dispatchActivationClick, isActivationClick } from '../../controller/events.js';
16
16
  import { FormController, getFormValue } from '../../controller/form-controller.js';
17
- import { ariaProperty } from '../../decorators/aria-property.js';
18
17
  import { pointerPress as focusRingPointerPress, shouldShowStrongFocus } from '../../focus/strong-focus.js';
19
18
  import { ripple } from '../../ripple/directive.js';
20
19
  /**
@@ -53,7 +52,6 @@ export class Switch extends LitElement {
53
52
  * overrides the behavior of the `icons` property.
54
53
  */
55
54
  this.showOnlySelectedIcon = false;
56
- this.ariaLabelledBy = '';
57
55
  this.showFocusRing = false;
58
56
  this.showRipple = false;
59
57
  /**
@@ -83,20 +81,20 @@ export class Switch extends LitElement {
83
81
  return html `<md-focus-ring visible></md-focus-ring>`;
84
82
  };
85
83
  this.addController(new FormController(this));
86
- this.addEventListener('click', (event) => {
87
- if (!isActivationClick(event)) {
88
- return;
89
- }
90
- this.button?.focus();
91
- if (this.button != null) {
92
- // this triggers the click behavior, and the ripple
93
- dispatchActivationClick(this.button);
94
- }
95
- });
84
+ if (!isServer) {
85
+ this.addEventListener('click', (event) => {
86
+ if (!isActivationClick(event)) {
87
+ return;
88
+ }
89
+ this.button?.focus();
90
+ if (this.button != null) {
91
+ // this triggers the click behavior, and the ripple
92
+ dispatchActivationClick(this.button);
93
+ }
94
+ });
95
+ }
96
96
  }
97
97
  render() {
98
- const ariaLabelValue = this.ariaLabel ? this.ariaLabel : undefined;
99
- const ariaLabelledByValue = this.ariaLabelledBy ? this.ariaLabelledBy : undefined;
100
98
  // NOTE: buttons must use only [phrasing
101
99
  // content](https://html.spec.whatwg.org/multipage/dom.html#phrasing-content)
102
100
  // children, which includes custom elements, but not `div`s
@@ -106,8 +104,7 @@ export class Switch extends LitElement {
106
104
  class="md3-switch ${classMap(this.getRenderClasses())}"
107
105
  role="switch"
108
106
  aria-checked="${this.selected}"
109
- aria-label="${ifDefined(ariaLabelValue)}"
110
- aria-labelledby="${ifDefined(ariaLabelledByValue)}"
107
+ aria-label=${this.ariaLabel || nothing}
111
108
  ?disabled=${this.disabled}
112
109
  @click=${this.handleClick}
113
110
  @focus="${this.handleFocus}"
@@ -198,65 +195,46 @@ export class Switch extends LitElement {
198
195
  this.showFocusRing = false;
199
196
  }
200
197
  }
198
+ _a = Switch;
199
+ (() => {
200
+ requestUpdateOnAriaChange(_a);
201
+ })();
201
202
  Switch.shadowRootOptions = { mode: 'open', delegatesFocus: true };
202
203
  /**
203
204
  * @nocollapse
204
205
  */
205
206
  Switch.formAssociated = true;
206
207
  __decorate([
207
- property({ type: Boolean, reflect: true }),
208
- __metadata("design:type", Object)
208
+ property({ type: Boolean, reflect: true })
209
209
  ], Switch.prototype, "disabled", void 0);
210
210
  __decorate([
211
- property({ type: Boolean }),
212
- __metadata("design:type", Object)
211
+ property({ type: Boolean })
213
212
  ], Switch.prototype, "selected", void 0);
214
213
  __decorate([
215
- property({ type: Boolean }),
216
- __metadata("design:type", Object)
214
+ property({ type: Boolean })
217
215
  ], Switch.prototype, "icons", void 0);
218
216
  __decorate([
219
- property({ type: Boolean }),
220
- __metadata("design:type", Object)
217
+ property({ type: Boolean })
221
218
  ], Switch.prototype, "showOnlySelectedIcon", void 0);
222
219
  __decorate([
223
- ariaProperty,
224
- property({ type: String, attribute: 'data-aria-label', noAccessor: true }),
225
- __metadata("design:type", String)
226
- ], Switch.prototype, "ariaLabel", void 0);
227
- __decorate([
228
- ariaProperty,
229
- property({ type: String, attribute: 'data-aria-labelledby', noAccessor: true }),
230
- __metadata("design:type", Object)
231
- ], Switch.prototype, "ariaLabelledBy", void 0);
232
- __decorate([
233
- state(),
234
- __metadata("design:type", Object)
220
+ state()
235
221
  ], Switch.prototype, "showFocusRing", void 0);
236
222
  __decorate([
237
- state(),
238
- __metadata("design:type", Object)
223
+ state()
239
224
  ], Switch.prototype, "showRipple", void 0);
240
225
  __decorate([
241
- queryAsync('md-ripple'),
242
- __metadata("design:type", Promise)
226
+ queryAsync('md-ripple')
243
227
  ], Switch.prototype, "ripple", void 0);
244
228
  __decorate([
245
- query('button'),
246
- __metadata("design:type", HTMLButtonElement)
229
+ query('button')
247
230
  ], Switch.prototype, "button", void 0);
248
231
  __decorate([
249
- property({ type: String, reflect: true }),
250
- __metadata("design:type", Object)
232
+ property({ reflect: true })
251
233
  ], Switch.prototype, "name", void 0);
252
234
  __decorate([
253
- property({ type: String }),
254
- __metadata("design:type", Object)
235
+ property()
255
236
  ], Switch.prototype, "value", void 0);
256
237
  __decorate([
257
- eventOptions({ passive: true }),
258
- __metadata("design:type", Function),
259
- __metadata("design:paramtypes", []),
260
- __metadata("design:returntype", void 0)
238
+ eventOptions({ passive: true })
261
239
  ], Switch.prototype, "handlePointerDown", null);
262
240
  //# sourceMappingURL=switch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"switch.js","sourceRoot":"","sources":["switch.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// tslint:disable:no-new-decorators\n\nimport '../../focus/focus-ring.js';\nimport '../../ripple/ripple.js';\n\nimport {html, LitElement, TemplateResult} from 'lit';\nimport {eventOptions, property, query, queryAsync, state} from 'lit/decorators.js';\nimport {ClassInfo, classMap} from 'lit/directives/class-map.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\nimport {when} from 'lit/directives/when.js';\n\nimport {dispatchActivationClick, isActivationClick} from '../../controller/events.js';\nimport {FormController, getFormValue} from '../../controller/form-controller.js';\nimport {ariaProperty} from '../../decorators/aria-property.js';\nimport {pointerPress as focusRingPointerPress, shouldShowStrongFocus} from '../../focus/strong-focus.js';\nimport {ripple} from '../../ripple/directive.js';\nimport {MdRipple} from '../../ripple/ripple.js';\n\n/**\n * @fires input {InputEvent} Fired whenever `selected` changes due to user\n * interaction (bubbles and composed).\n * @fires change {Event} Fired whenever `selected` changes due to user\n * interaction (bubbles).\n */\nexport class Switch extends LitElement {\n static override shadowRootOptions:\n ShadowRootInit = {mode: 'open', delegatesFocus: true};\n\n /**\n * @nocollapse\n */\n static formAssociated = true;\n\n /**\n * Disables the switch and makes it non-interactive.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n\n /**\n * Puts the switch in the selected state and sets the form submission value to\n * the `value` property.\n */\n @property({type: Boolean}) selected = false;\n\n /**\n * Shows both the selected and deselected icons.\n */\n @property({type: Boolean}) icons = false;\n\n /**\n * Shows only the selected icon, and not the deselected icon. If `true`,\n * overrides the behavior of the `icons` property.\n */\n @property({type: Boolean}) showOnlySelectedIcon = false;\n\n @ariaProperty\n @property({type: String, attribute: 'data-aria-label', noAccessor: true})\n override ariaLabel!: string;\n\n @ariaProperty\n @property({type: String, attribute: 'data-aria-labelledby', noAccessor: true})\n ariaLabelledBy = '';\n\n @state() private showFocusRing = false;\n @state() private showRipple = false;\n\n // Ripple\n @queryAsync('md-ripple') private readonly ripple!: Promise<MdRipple|null>;\n\n // Button\n @query('button') private readonly button!: HTMLButtonElement|null;\n\n /**\n * The associated form element with which this element's value will submit.\n */\n get form() {\n return this.closest('form');\n }\n\n /**\n * The HTML name to use in form submission.\n */\n @property({type: String, reflect: true}) name = '';\n\n /**\n * The value associated with this switch on form submission. `null` is\n * submitted when `selected` is `false`.\n */\n @property({type: String}) value = 'on';\n\n [getFormValue]() {\n return this.selected ? this.value : null;\n }\n\n constructor() {\n super();\n this.addController(new FormController(this));\n this.addEventListener('click', (event: MouseEvent) => {\n if (!isActivationClick(event)) {\n return;\n }\n this.button?.focus();\n if (this.button != null) {\n // this triggers the click behavior, and the ripple\n dispatchActivationClick(this.button);\n }\n });\n }\n\n protected override render(): TemplateResult {\n const ariaLabelValue = this.ariaLabel ? this.ariaLabel : undefined;\n const ariaLabelledByValue =\n this.ariaLabelledBy ? this.ariaLabelledBy : undefined;\n // NOTE: buttons must use only [phrasing\n // content](https://html.spec.whatwg.org/multipage/dom.html#phrasing-content)\n // children, which includes custom elements, but not `div`s\n return html`\n <button\n type=\"button\"\n class=\"md3-switch ${classMap(this.getRenderClasses())}\"\n role=\"switch\"\n aria-checked=\"${this.selected}\"\n aria-label=\"${ifDefined(ariaLabelValue)}\"\n aria-labelledby=\"${ifDefined(ariaLabelledByValue)}\"\n ?disabled=${this.disabled}\n @click=${this.handleClick}\n @focus=\"${this.handleFocus}\"\n @blur=\"${this.handleBlur}\"\n @pointerdown=${this.handlePointerDown}\n ${ripple(this.getRipple)}\n >\n ${when(this.showFocusRing, this.renderFocusRing)}\n <span class=\"md3-switch__track\">\n ${this.renderHandle()}\n </span>\n </button>\n `;\n }\n\n private getRenderClasses(): ClassInfo {\n return {\n 'md3-switch--selected': this.selected,\n 'md3-switch--unselected': !this.selected,\n };\n }\n\n private readonly renderRipple = () => {\n return html`\n <span class=\"md3-switch__ripple\">\n <md-ripple\n ?disabled=\"${this.disabled}\"\n unbounded>\n </md-ripple>\n </span>\n `;\n };\n\n private readonly getRipple = () => {\n this.showRipple = true;\n return this.ripple;\n };\n\n private readonly renderFocusRing = () => {\n return html`<md-focus-ring visible></md-focus-ring>`;\n };\n\n private renderHandle(): TemplateResult {\n /** @classMap */\n const classes = {\n 'md3-switch__handle--big': this.icons && !this.showOnlySelectedIcon,\n };\n return html`\n <span class=\"md3-switch__handle-container\">\n ${when(this.showRipple, this.renderRipple)}\n <span class=\"md3-switch__handle ${classMap(classes)}\">\n ${this.shouldShowIcons() ? this.renderIcons() : html``}\n </span>\n ${this.renderTouchTarget()}\n </span>\n `;\n }\n\n private renderIcons(): TemplateResult {\n return html`\n <div class=\"md3-switch__icons\">\n ${this.renderOnIcon()}\n ${this.showOnlySelectedIcon ? html`` : this.renderOffIcon()}\n </div>\n `;\n }\n\n /**\n * https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck%3AFILL%400%3Bwght%40500%3BGRAD%400%3Bopsz%4024\n */\n private renderOnIcon(): TemplateResult {\n return html`\n <svg class=\"md3-switch__icon md3-switch__icon--on\" viewBox=\"0 0 24 24\">\n <path d=\"M9.55 18.2 3.65 12.3 5.275 10.675 9.55 14.95 18.725 5.775 20.35 7.4Z\"/>\n </svg>\n `;\n }\n\n /**\n * https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Aclose%3AFILL%400%3Bwght%40500%3BGRAD%400%3Bopsz%4024\n */\n private renderOffIcon(): TemplateResult {\n return html`\n <svg class=\"md3-switch__icon md3-switch__icon--off\" viewBox=\"0 0 24 24\">\n <path d=\"M6.4 19.2 4.8 17.6 10.4 12 4.8 6.4 6.4 4.8 12 10.4 17.6 4.8 19.2 6.4 13.6 12 19.2 17.6 17.6 19.2 12 13.6Z\"/>\n </svg>\n `;\n }\n\n private renderTouchTarget(): TemplateResult {\n return html`<span class=\"md3-switch__touch\"></span>`;\n }\n\n private shouldShowIcons(): boolean {\n return this.icons || this.showOnlySelectedIcon;\n }\n\n private handleClick() {\n if (this.disabled) {\n return;\n }\n\n this.selected = !this.selected;\n this.dispatchEvent(\n new InputEvent('input', {bubbles: true, composed: true}));\n // Bubbles but does not compose to mimic native browser <input> & <select>\n // Additionally, native change event is not an InputEvent.\n this.dispatchEvent(new Event('change', {bubbles: true}));\n }\n\n private handleFocus() {\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n private handleBlur() {\n this.showFocusRing = false;\n }\n\n @eventOptions({passive: true})\n private handlePointerDown() {\n focusRingPointerPress();\n this.showFocusRing = false;\n }\n}\n"]}
1
+ {"version":3,"file":"switch.js","sourceRoot":"","sources":["switch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;;AAEH,OAAO,2BAA2B,CAAC;AACnC,OAAO,wBAAwB,CAAC;AAEhC,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAiB,MAAM,KAAK,CAAC;AACxE,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAY,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,IAAI,EAAC,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAC,yBAAyB,EAAC,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAC,uBAAuB,EAAE,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAC,cAAc,EAAE,YAAY,EAAC,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAC,YAAY,IAAI,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,6BAA6B,CAAC;AACzG,OAAO,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AAGjD;;;;;GAKG;AACH,MAAM,OAAO,MAAO,SAAQ,UAAU;IA4CpC;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAaD,CAAC,YAAY,CAAC;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QAtDV;;WAEG;QACuC,aAAQ,GAAG,KAAK,CAAC;QAE3D;;;WAGG;QACwB,aAAQ,GAAG,KAAK,CAAC;QAE5C;;WAEG;QACwB,UAAK,GAAG,KAAK,CAAC;QAEzC;;;WAGG;QACwB,yBAAoB,GAAG,KAAK,CAAC;QAEvC,kBAAa,GAAG,KAAK,CAAC;QACtB,eAAU,GAAG,KAAK,CAAC;QAepC;;WAEG;QACwB,SAAI,GAAG,EAAE,CAAC;QAErC;;;WAGG;QACS,UAAK,GAAG,IAAI,CAAC;QAwDR,iBAAY,GAAG,GAAG,EAAE;YACnC,OAAO,IAAI,CAAA;;;uBAGQ,IAAI,CAAC,QAAQ;;;;KAI/B,CAAC;QACJ,CAAC,CAAC;QAEe,cAAS,GAAG,GAAG,EAAE;YAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC,CAAC;QAEe,oBAAe,GAAG,GAAG,EAAE;YACtC,OAAO,IAAI,CAAA,yCAAyC,CAAC;QACvD,CAAC,CAAC;QAlEA,IAAI,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE;YACb,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAiB,EAAE,EAAE;gBACnD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;oBAC7B,OAAO;iBACR;gBACD,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;gBACrB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;oBACvB,mDAAmD;oBACnD,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACtC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAEkB,MAAM;QACvB,wCAAwC;QACxC,6EAA6E;QAC7E,2DAA2D;QAC3D,OAAO,IAAI,CAAA;;;4BAGa,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;;wBAErC,IAAI,CAAC,QAAQ;qBACf,IAAkB,CAAC,SAAS,IAAI,OAAO;oBACzC,IAAI,CAAC,QAAQ;iBAChB,IAAI,CAAC,WAAW;kBACf,IAAI,CAAC,WAAW;iBACjB,IAAI,CAAC,UAAU;uBACT,IAAI,CAAC,iBAAiB;UACnC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;;UAEtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;;YAE5C,IAAI,CAAC,YAAY,EAAE;;;KAG1B,CAAC;IACJ,CAAC;IAEO,gBAAgB;QACtB,OAAO;YACL,sBAAsB,EAAE,IAAI,CAAC,QAAQ;YACrC,wBAAwB,EAAE,CAAC,IAAI,CAAC,QAAQ;SACzC,CAAC;IACJ,CAAC;IAsBO,YAAY;QAClB,gBAAgB;QAChB,MAAM,OAAO,GAAG;YACd,yBAAyB,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,oBAAoB;SACpE,CAAC;QACF,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;0CACR,QAAQ,CAAC,OAAO,CAAC;YAC/C,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA,EAAE;;UAEtD,IAAI,CAAC,iBAAiB,EAAE;;KAE7B,CAAC;IACJ,CAAC;IAEO,WAAW;QACjB,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,YAAY,EAAE;UACnB,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAA,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE;;KAE9D,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;IAEO,iBAAiB;QACvB,OAAO,IAAI,CAAA,yCAAyC,CAAC;IACvD,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,oBAAoB,CAAC;IACjD,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,aAAa,CACd,IAAI,UAAU,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QAC9D,0EAA0E;QAC1E,0DAA0D;QAC1D,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,aAAa,GAAG,qBAAqB,EAAE,CAAC;IAC/C,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAGO,iBAAiB;QACvB,qBAAqB,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;;;AAvND;IACE,yBAAyB,CAAC,EAAI,CAAC,CAAC;AAClC,CAAC,GAAA,CAAA;AAEe,wBAAiB,GACZ,EAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAC,CAAC;AAE1D;;GAEG;AACI,qBAAc,GAAG,IAAI,CAAC;AAKa;IAAzC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;wCAAkB;AAMhC;IAA1B,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;wCAAkB;AAKjB;IAA1B,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;qCAAe;AAMd;IAA1B,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;oDAA8B;AAE/C;IAAR,KAAK,EAAE;6CAA+B;AAC9B;IAAR,KAAK,EAAE;0CAA4B;AAGX;IAAxB,UAAU,CAAC,WAAW,CAAC;sCAAkD;AAGzD;IAAhB,KAAK,CAAC,QAAQ,CAAC;sCAAkD;AAYvC;IAA1B,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;oCAAW;AAMzB;IAAX,QAAQ,EAAE;qCAAc;AAyJzB;IADC,YAAY,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;+CAI7B","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../../focus/focus-ring.js';\nimport '../../ripple/ripple.js';\n\nimport {html, isServer, LitElement, nothing, TemplateResult} from 'lit';\nimport {eventOptions, property, query, queryAsync, state} from 'lit/decorators.js';\nimport {ClassInfo, classMap} from 'lit/directives/class-map.js';\nimport {when} from 'lit/directives/when.js';\n\nimport {requestUpdateOnAriaChange} from '../../aria/delegate.js';\nimport {dispatchActivationClick, isActivationClick} from '../../controller/events.js';\nimport {FormController, getFormValue} from '../../controller/form-controller.js';\nimport {pointerPress as focusRingPointerPress, shouldShowStrongFocus} from '../../focus/strong-focus.js';\nimport {ripple} from '../../ripple/directive.js';\nimport {MdRipple} from '../../ripple/ripple.js';\n\n/**\n * @fires input {InputEvent} Fired whenever `selected` changes due to user\n * interaction (bubbles and composed).\n * @fires change {Event} Fired whenever `selected` changes due to user\n * interaction (bubbles).\n */\nexport class Switch extends LitElement {\n static {\n requestUpdateOnAriaChange(this);\n }\n\n static override shadowRootOptions:\n ShadowRootInit = {mode: 'open', delegatesFocus: true};\n\n /**\n * @nocollapse\n */\n static formAssociated = true;\n\n /**\n * Disables the switch and makes it non-interactive.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n\n /**\n * Puts the switch in the selected state and sets the form submission value to\n * the `value` property.\n */\n @property({type: Boolean}) selected = false;\n\n /**\n * Shows both the selected and deselected icons.\n */\n @property({type: Boolean}) icons = false;\n\n /**\n * Shows only the selected icon, and not the deselected icon. If `true`,\n * overrides the behavior of the `icons` property.\n */\n @property({type: Boolean}) showOnlySelectedIcon = false;\n\n @state() private showFocusRing = false;\n @state() private showRipple = false;\n\n // Ripple\n @queryAsync('md-ripple') private readonly ripple!: Promise<MdRipple|null>;\n\n // Button\n @query('button') private readonly button!: HTMLButtonElement|null;\n\n /**\n * The associated form element with which this element's value will submit.\n */\n get form() {\n return this.closest('form');\n }\n\n /**\n * The HTML name to use in form submission.\n */\n @property({reflect: true}) name = '';\n\n /**\n * The value associated with this switch on form submission. `null` is\n * submitted when `selected` is `false`.\n */\n @property() value = 'on';\n\n [getFormValue]() {\n return this.selected ? this.value : null;\n }\n\n constructor() {\n super();\n this.addController(new FormController(this));\n if (!isServer) {\n this.addEventListener('click', (event: MouseEvent) => {\n if (!isActivationClick(event)) {\n return;\n }\n this.button?.focus();\n if (this.button != null) {\n // this triggers the click behavior, and the ripple\n dispatchActivationClick(this.button);\n }\n });\n }\n }\n\n protected override render(): TemplateResult {\n // NOTE: buttons must use only [phrasing\n // content](https://html.spec.whatwg.org/multipage/dom.html#phrasing-content)\n // children, which includes custom elements, but not `div`s\n return html`\n <button\n type=\"button\"\n class=\"md3-switch ${classMap(this.getRenderClasses())}\"\n role=\"switch\"\n aria-checked=\"${this.selected}\"\n aria-label=${(this as ARIAMixin).ariaLabel || nothing}\n ?disabled=${this.disabled}\n @click=${this.handleClick}\n @focus=\"${this.handleFocus}\"\n @blur=\"${this.handleBlur}\"\n @pointerdown=${this.handlePointerDown}\n ${ripple(this.getRipple)}\n >\n ${when(this.showFocusRing, this.renderFocusRing)}\n <span class=\"md3-switch__track\">\n ${this.renderHandle()}\n </span>\n </button>\n `;\n }\n\n private getRenderClasses(): ClassInfo {\n return {\n 'md3-switch--selected': this.selected,\n 'md3-switch--unselected': !this.selected,\n };\n }\n\n private readonly renderRipple = () => {\n return html`\n <span class=\"md3-switch__ripple\">\n <md-ripple\n ?disabled=\"${this.disabled}\"\n unbounded>\n </md-ripple>\n </span>\n `;\n };\n\n private readonly getRipple = () => {\n this.showRipple = true;\n return this.ripple;\n };\n\n private readonly renderFocusRing = () => {\n return html`<md-focus-ring visible></md-focus-ring>`;\n };\n\n private renderHandle(): TemplateResult {\n /** @classMap */\n const classes = {\n 'md3-switch__handle--big': this.icons && !this.showOnlySelectedIcon,\n };\n return html`\n <span class=\"md3-switch__handle-container\">\n ${when(this.showRipple, this.renderRipple)}\n <span class=\"md3-switch__handle ${classMap(classes)}\">\n ${this.shouldShowIcons() ? this.renderIcons() : html``}\n </span>\n ${this.renderTouchTarget()}\n </span>\n `;\n }\n\n private renderIcons(): TemplateResult {\n return html`\n <div class=\"md3-switch__icons\">\n ${this.renderOnIcon()}\n ${this.showOnlySelectedIcon ? html`` : this.renderOffIcon()}\n </div>\n `;\n }\n\n /**\n * https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck%3AFILL%400%3Bwght%40500%3BGRAD%400%3Bopsz%4024\n */\n private renderOnIcon(): TemplateResult {\n return html`\n <svg class=\"md3-switch__icon md3-switch__icon--on\" viewBox=\"0 0 24 24\">\n <path d=\"M9.55 18.2 3.65 12.3 5.275 10.675 9.55 14.95 18.725 5.775 20.35 7.4Z\"/>\n </svg>\n `;\n }\n\n /**\n * https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Aclose%3AFILL%400%3Bwght%40500%3BGRAD%400%3Bopsz%4024\n */\n private renderOffIcon(): TemplateResult {\n return html`\n <svg class=\"md3-switch__icon md3-switch__icon--off\" viewBox=\"0 0 24 24\">\n <path d=\"M6.4 19.2 4.8 17.6 10.4 12 4.8 6.4 6.4 4.8 12 10.4 17.6 4.8 19.2 6.4 13.6 12 19.2 17.6 17.6 19.2 12 13.6Z\"/>\n </svg>\n `;\n }\n\n private renderTouchTarget(): TemplateResult {\n return html`<span class=\"md3-switch__touch\"></span>`;\n }\n\n private shouldShowIcons(): boolean {\n return this.icons || this.showOnlySelectedIcon;\n }\n\n private handleClick() {\n if (this.disabled) {\n return;\n }\n\n this.selected = !this.selected;\n this.dispatchEvent(\n new InputEvent('input', {bubbles: true, composed: true}));\n // Bubbles but does not compose to mimic native browser <input> & <select>\n // Additionally, native change event is not an InputEvent.\n this.dispatchEvent(new Event('change', {bubbles: true}));\n }\n\n private handleFocus() {\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n private handleBlur() {\n this.showFocusRing = false;\n }\n\n @eventOptions({passive: true})\n private handlePointerDown() {\n focusRingPointerPress();\n this.showFocusRing = false;\n }\n}\n"]}