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

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 (381) hide show
  1. package/README.md +26 -21
  2. package/all.d.ts +4 -2
  3. package/all.js +4 -2
  4. package/all.js.map +1 -1
  5. package/button/internal/_elevation.scss +4 -0
  6. package/button/internal/_filled-button.scss +0 -1
  7. package/button/internal/_outlined-button.scss +6 -0
  8. package/button/internal/_shared.scss +12 -2
  9. package/button/internal/button.d.ts +15 -14
  10. package/button/internal/button.js +41 -39
  11. package/button/internal/button.js.map +1 -1
  12. package/button/internal/elevated-styles.css.js +1 -1
  13. package/button/internal/elevated-styles.css.js.map +1 -1
  14. package/button/internal/filled-styles.css.js +1 -1
  15. package/button/internal/filled-styles.css.js.map +1 -1
  16. package/button/internal/filled-tonal-styles.css.js +1 -1
  17. package/button/internal/filled-tonal-styles.css.js.map +1 -1
  18. package/button/internal/outlined-styles.css.js +1 -1
  19. package/button/internal/outlined-styles.css.js.map +1 -1
  20. package/button/internal/shared-elevation-styles.css.js +1 -1
  21. package/button/internal/shared-elevation-styles.css.js.map +1 -1
  22. package/button/internal/shared-styles.css.js +1 -1
  23. package/button/internal/shared-styles.css.js.map +1 -1
  24. package/button/internal/text-styles.css.js +1 -1
  25. package/button/internal/text-styles.css.js.map +1 -1
  26. package/checkbox/internal/_checkbox.scss +2 -1
  27. package/checkbox/internal/checkbox-styles.css.js +1 -1
  28. package/checkbox/internal/checkbox-styles.css.js.map +1 -1
  29. package/checkbox/internal/checkbox.d.ts +2 -2
  30. package/checkbox/internal/checkbox.js +18 -14
  31. package/checkbox/internal/checkbox.js.map +1 -1
  32. package/chips/assist-chip.js +1 -2
  33. package/chips/assist-chip.js.map +1 -1
  34. package/chips/filter-chip.js +1 -3
  35. package/chips/filter-chip.js.map +1 -1
  36. package/chips/input-chip.js +1 -5
  37. package/chips/input-chip.js.map +1 -1
  38. package/chips/internal/_assist-chip.scss +6 -0
  39. package/chips/internal/_elevated.scss +1 -5
  40. package/chips/internal/_filter-chip.scss +6 -0
  41. package/chips/internal/_input-chip.scss +32 -0
  42. package/chips/internal/_selectable.scss +17 -13
  43. package/chips/internal/_shared.scss +27 -11
  44. package/chips/internal/_suggestion-chip.scss +6 -0
  45. package/chips/internal/_trailing-icon.scss +24 -24
  46. package/chips/internal/assist-chip.d.ts +3 -1
  47. package/chips/internal/assist-chip.js +11 -8
  48. package/chips/internal/assist-chip.js.map +1 -1
  49. package/chips/internal/assist-styles.css.js +1 -1
  50. package/chips/internal/assist-styles.css.js.map +1 -1
  51. package/chips/internal/chip.d.ts +18 -10
  52. package/chips/internal/chip.js +38 -33
  53. package/chips/internal/chip.js.map +1 -1
  54. package/chips/internal/elevated-styles.css.js +1 -1
  55. package/chips/internal/elevated-styles.css.js.map +1 -1
  56. package/chips/internal/filter-chip.d.ts +6 -7
  57. package/chips/internal/filter-chip.js +13 -14
  58. package/chips/internal/filter-chip.js.map +1 -1
  59. package/chips/internal/filter-styles.css.js +1 -1
  60. package/chips/internal/filter-styles.css.js.map +1 -1
  61. package/chips/internal/input-chip.d.ts +4 -2
  62. package/chips/internal/input-chip.js +16 -12
  63. package/chips/internal/input-chip.js.map +1 -1
  64. package/chips/internal/input-styles.css.js +1 -1
  65. package/chips/internal/input-styles.css.js.map +1 -1
  66. package/chips/internal/multi-action-chip.d.ts +2 -3
  67. package/chips/internal/multi-action-chip.js +3 -3
  68. package/chips/internal/multi-action-chip.js.map +1 -1
  69. package/chips/internal/selectable-styles.css.js +1 -1
  70. package/chips/internal/selectable-styles.css.js.map +1 -1
  71. package/chips/internal/shared-styles.css.js +1 -1
  72. package/chips/internal/shared-styles.css.js.map +1 -1
  73. package/chips/internal/suggestion-styles.css.js +1 -1
  74. package/chips/internal/suggestion-styles.css.js.map +1 -1
  75. package/chips/internal/trailing-icon-styles.css.js +1 -1
  76. package/chips/internal/trailing-icon-styles.css.js.map +1 -1
  77. package/chips/suggestion-chip.js +1 -2
  78. package/chips/suggestion-chip.js.map +1 -1
  79. package/color/_color.scss +193 -0
  80. package/common.d.ts +2 -2
  81. package/common.js +2 -2
  82. package/common.js.map +1 -1
  83. package/dialog/internal/_dialog.scss +19 -4
  84. package/dialog/internal/dialog-styles.css.js +1 -1
  85. package/dialog/internal/dialog-styles.css.js.map +1 -1
  86. package/dialog/internal/dialog.d.ts +6 -0
  87. package/dialog/internal/dialog.js +36 -4
  88. package/dialog/internal/dialog.js.map +1 -1
  89. package/elevation/internal/_elevation.scss +14 -7
  90. package/elevation/internal/elevation-styles.css.js +1 -1
  91. package/elevation/internal/elevation-styles.css.js.map +1 -1
  92. package/elevation/internal/elevation.d.ts +1 -0
  93. package/elevation/internal/elevation.js +6 -0
  94. package/elevation/internal/elevation.js.map +1 -1
  95. package/fab/branded-fab.d.ts +0 -1
  96. package/fab/internal/_fab.scss +11 -10
  97. package/fab/internal/_shared.scss +8 -2
  98. package/fab/internal/fab-branded-styles.css.js +1 -1
  99. package/fab/internal/fab-branded-styles.css.js.map +1 -1
  100. package/fab/internal/fab-styles.css.js +1 -1
  101. package/fab/internal/fab-styles.css.js.map +1 -1
  102. package/fab/internal/fab.d.ts +0 -1
  103. package/fab/internal/shared-styles.css.js +1 -1
  104. package/fab/internal/shared-styles.css.js.map +1 -1
  105. package/fab/internal/shared.d.ts +0 -9
  106. package/fab/internal/shared.js +2 -18
  107. package/fab/internal/shared.js.map +1 -1
  108. package/field/internal/_content.scss +9 -1
  109. package/field/internal/_filled-field.scss +12 -0
  110. package/field/internal/_label.scss +4 -1
  111. package/field/internal/_outlined-field.scss +33 -0
  112. package/field/internal/_shared.scss +14 -6
  113. package/field/internal/_supporting-text.scss +4 -1
  114. package/field/internal/field.d.ts +2 -0
  115. package/field/internal/field.js +19 -0
  116. package/field/internal/field.js.map +1 -1
  117. package/field/internal/filled-styles.css.js +1 -1
  118. package/field/internal/filled-styles.css.js.map +1 -1
  119. package/field/internal/outlined-styles.css.js +1 -1
  120. package/field/internal/outlined-styles.css.js.map +1 -1
  121. package/field/internal/shared-styles.css.js +1 -1
  122. package/field/internal/shared-styles.css.js.map +1 -1
  123. package/focus/internal/focus-ring.d.ts +3 -1
  124. package/focus/internal/focus-ring.js +9 -0
  125. package/focus/internal/focus-ring.js.map +1 -1
  126. package/icon/internal/_icon.scss +10 -5
  127. package/icon/internal/icon-styles.css.js +1 -1
  128. package/icon/internal/icon-styles.css.js.map +1 -1
  129. package/icon/internal/icon.js +4 -0
  130. package/icon/internal/icon.js.map +1 -1
  131. package/iconbutton/internal/_icon-button.scss +12 -0
  132. package/iconbutton/internal/_shared.scss +9 -0
  133. package/iconbutton/internal/icon-button.d.ts +19 -6
  134. package/iconbutton/internal/icon-button.js +35 -11
  135. package/iconbutton/internal/icon-button.js.map +1 -1
  136. package/iconbutton/internal/shared-styles.css.js +1 -1
  137. package/iconbutton/internal/shared-styles.css.js.map +1 -1
  138. package/iconbutton/internal/standard-styles.css.js +1 -1
  139. package/iconbutton/internal/standard-styles.css.js.map +1 -1
  140. package/internal/aria/aria.d.ts +52 -1
  141. package/internal/aria/aria.js +146 -0
  142. package/internal/aria/aria.js.map +1 -1
  143. package/internal/controller/attachable-controller.d.ts +5 -4
  144. package/internal/controller/attachable-controller.js +8 -0
  145. package/internal/controller/attachable-controller.js.map +1 -1
  146. package/internal/controller/form-submitter.d.ts +12 -0
  147. package/internal/controller/form-submitter.js +3 -1
  148. package/internal/controller/form-submitter.js.map +1 -1
  149. package/labs/badge/internal/_badge.scss +16 -9
  150. package/labs/badge/internal/badge-styles.css.js +1 -1
  151. package/labs/badge/internal/badge-styles.css.js.map +1 -1
  152. package/labs/navigationbar/internal/_navigation-bar.scss +11 -9
  153. package/labs/navigationbar/internal/navigation-bar-styles.css.js +1 -1
  154. package/labs/navigationbar/internal/navigation-bar-styles.css.js.map +1 -1
  155. package/labs/navigationdrawer/internal/_navigation-drawer-modal.scss +11 -8
  156. package/labs/navigationdrawer/internal/_navigation-drawer.scss +11 -8
  157. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.js +1 -1
  158. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.js.map +1 -1
  159. package/labs/navigationdrawer/internal/navigation-drawer-styles.css.js +1 -1
  160. package/labs/navigationdrawer/internal/navigation-drawer-styles.css.js.map +1 -1
  161. package/labs/navigationtab/internal/_navigation-tab.scss +14 -11
  162. package/labs/navigationtab/internal/navigation-tab-styles.css.js +1 -1
  163. package/labs/navigationtab/internal/navigation-tab-styles.css.js.map +1 -1
  164. package/labs/segmentedbutton/internal/_outlined-segmented-button.scss +1 -3
  165. package/labs/segmentedbutton/internal/_shared.scss +4 -1
  166. package/labs/segmentedbutton/internal/outlined-styles.css.js +1 -1
  167. package/labs/segmentedbutton/internal/outlined-styles.css.js.map +1 -1
  168. package/labs/segmentedbutton/internal/shared-styles.css.js +1 -1
  169. package/labs/segmentedbutton/internal/shared-styles.css.js.map +1 -1
  170. package/labs/segmentedbuttonset/internal/outlined-styles.css.js +1 -1
  171. package/labs/segmentedbuttonset/internal/outlined-styles.css.js.map +1 -1
  172. package/list/harness.js +1 -1
  173. package/list/harness.js.map +1 -1
  174. package/list/internal/_list.scss +7 -6
  175. package/list/internal/list-styles.css.js +1 -1
  176. package/list/internal/list-styles.css.js.map +1 -1
  177. package/list/internal/list.d.ts +1 -2
  178. package/list/internal/list.js +4 -6
  179. package/list/internal/list.js.map +1 -1
  180. package/list/internal/listitem/_list-item.scss +96 -94
  181. package/list/internal/listitem/forced-colors-styles.css.js +1 -1
  182. package/list/internal/listitem/forced-colors-styles.css.js.map +1 -1
  183. package/list/internal/listitem/forced-colors-styles.scss +6 -6
  184. package/list/internal/listitem/list-item-styles.css.js +1 -1
  185. package/list/internal/listitem/list-item-styles.css.js.map +1 -1
  186. package/menu/harness.d.ts +1 -1
  187. package/menu/harness.js +3 -4
  188. package/menu/harness.js.map +1 -1
  189. package/menu/internal/_menu.scss +37 -28
  190. package/menu/internal/menu-styles.css.js +1 -1
  191. package/menu/internal/menu-styles.css.js.map +1 -1
  192. package/menu/internal/menu.d.ts +15 -4
  193. package/menu/internal/menu.js +33 -10
  194. package/menu/internal/menu.js.map +1 -1
  195. package/menu/internal/menuitem/_menu-item.scss +7 -4
  196. package/menu/internal/menuitem/menu-item-styles.css.js +1 -1
  197. package/menu/internal/menuitem/menu-item-styles.css.js.map +1 -1
  198. package/menu/internal/menuitem/menu-item.js +1 -1
  199. package/menu/internal/menuitem/menu-item.js.map +1 -1
  200. package/menu/internal/submenuitem/sub-menu-item.d.ts +3 -0
  201. package/menu/internal/submenuitem/sub-menu-item.js +42 -12
  202. package/menu/internal/submenuitem/sub-menu-item.js.map +1 -1
  203. package/menu/internal/typeaheadController.js +2 -1
  204. package/menu/internal/typeaheadController.js.map +1 -1
  205. package/menu/menu.d.ts +12 -5
  206. package/menu/menu.js +12 -5
  207. package/menu/menu.js.map +1 -1
  208. package/menu/sub-menu-item.d.ts +3 -4
  209. package/menu/sub-menu-item.js +3 -4
  210. package/menu/sub-menu-item.js.map +1 -1
  211. package/package.json +10 -2
  212. package/progress/harness.js +2 -4
  213. package/progress/harness.js.map +1 -1
  214. package/progress/internal/_circular-progress.scss +8 -6
  215. package/progress/internal/_linear-progress.scss +95 -134
  216. package/progress/internal/circular-progress-styles.css.js +1 -1
  217. package/progress/internal/circular-progress-styles.css.js.map +1 -1
  218. package/progress/internal/circular-progress.js +1 -1
  219. package/progress/internal/circular-progress.js.map +1 -1
  220. package/progress/internal/linear-progress-styles.css.js +1 -1
  221. package/progress/internal/linear-progress-styles.css.js.map +1 -1
  222. package/progress/internal/linear-progress.d.ts +0 -11
  223. package/progress/internal/linear-progress.js +4 -48
  224. package/progress/internal/linear-progress.js.map +1 -1
  225. package/radio/harness.d.ts +1 -1
  226. package/radio/harness.js +1 -1
  227. package/radio/harness.js.map +1 -1
  228. package/radio/internal/_radio.scss +4 -4
  229. package/radio/internal/radio-styles.css.js +1 -1
  230. package/radio/internal/radio-styles.css.js.map +1 -1
  231. package/radio/internal/radio.d.ts +4 -6
  232. package/radio/internal/radio.js +37 -32
  233. package/radio/internal/radio.js.map +1 -1
  234. package/radio/internal/single-selection-controller.js +4 -3
  235. package/radio/internal/single-selection-controller.js.map +1 -1
  236. package/ripple/internal/_ripple.scss +1 -1
  237. package/ripple/internal/ripple-styles.css.js +1 -1
  238. package/ripple/internal/ripple-styles.css.js.map +1 -1
  239. package/ripple/internal/ripple.d.ts +3 -1
  240. package/ripple/internal/ripple.js +9 -0
  241. package/ripple/internal/ripple.js.map +1 -1
  242. package/select/harness.d.ts +1 -1
  243. package/select/harness.js +1 -3
  244. package/select/harness.js.map +1 -1
  245. package/select/internal/_filled-select.scss +13 -4
  246. package/select/internal/_outlined-select.scss +13 -4
  247. package/select/internal/_shared.scss +0 -1
  248. package/select/internal/filled-select-styles.css.js +1 -1
  249. package/select/internal/filled-select-styles.css.js.map +1 -1
  250. package/select/internal/outlined-select-styles.css.js +1 -1
  251. package/select/internal/outlined-select-styles.css.js.map +1 -1
  252. package/select/internal/select.d.ts +8 -2
  253. package/select/internal/select.js +21 -8
  254. package/select/internal/select.js.map +1 -1
  255. package/slider/internal/_slider.scss +42 -32
  256. package/slider/internal/forced-colors-styles.css.js +1 -1
  257. package/slider/internal/forced-colors-styles.css.js.map +1 -1
  258. package/slider/internal/forced-colors-styles.scss +31 -4
  259. package/slider/internal/slider-styles.css.js +1 -1
  260. package/slider/internal/slider-styles.css.js.map +1 -1
  261. package/slider/internal/slider.d.ts +22 -8
  262. package/slider/internal/slider.js +113 -22
  263. package/slider/internal/slider.js.map +1 -1
  264. package/switch/harness.d.ts +1 -1
  265. package/switch/harness.js +1 -1
  266. package/switch/harness.js.map +1 -1
  267. package/switch/internal/_handle.scss +22 -21
  268. package/switch/internal/_icon.scss +12 -12
  269. package/switch/internal/_switch.scss +17 -17
  270. package/switch/internal/_track.scss +12 -12
  271. package/switch/internal/forced-colors-styles.css.js +1 -1
  272. package/switch/internal/forced-colors-styles.css.js.map +1 -1
  273. package/switch/internal/forced-colors-styles.scss +1 -0
  274. package/switch/internal/switch-styles.css.js +1 -1
  275. package/switch/internal/switch-styles.css.js.map +1 -1
  276. package/switch/internal/switch.d.ts +73 -3
  277. package/switch/internal/switch.js +146 -32
  278. package/switch/internal/switch.js.map +1 -1
  279. package/tabs/{_tab.scss → _primary-tab.scss} +1 -1
  280. package/tabs/_secondary-tab.scss +6 -0
  281. package/tabs/harness.d.ts +2 -2
  282. package/tabs/harness.js +1 -2
  283. package/tabs/harness.js.map +1 -1
  284. package/tabs/internal/_primary-tab.scss +70 -0
  285. package/tabs/internal/_secondary-tab.scss +61 -0
  286. package/tabs/internal/_tab.scss +21 -114
  287. package/tabs/internal/_tabs.scss +9 -10
  288. package/tabs/internal/primary-tab-styles.css.js +9 -0
  289. package/tabs/internal/primary-tab-styles.css.js.map +1 -0
  290. package/tabs/internal/primary-tab-styles.scss +10 -0
  291. package/tabs/internal/primary-tab.d.ts +20 -0
  292. package/tabs/internal/primary-tab.js +30 -0
  293. package/tabs/internal/primary-tab.js.map +1 -0
  294. package/tabs/internal/secondary-tab-styles.css.js +9 -0
  295. package/tabs/internal/secondary-tab-styles.css.js.map +1 -0
  296. package/tabs/internal/secondary-tab-styles.scss +10 -0
  297. package/tabs/internal/secondary-tab.d.ts +12 -0
  298. package/tabs/internal/secondary-tab.js +16 -0
  299. package/tabs/internal/secondary-tab.js.map +1 -0
  300. package/tabs/internal/tab-styles.css.js +1 -1
  301. package/tabs/internal/tab-styles.css.js.map +1 -1
  302. package/tabs/internal/tab.d.ts +16 -34
  303. package/tabs/internal/tab.js +81 -81
  304. package/tabs/internal/tab.js.map +1 -1
  305. package/tabs/internal/tabs-styles.css.js +1 -1
  306. package/tabs/internal/tabs-styles.css.js.map +1 -1
  307. package/tabs/internal/tabs.d.ts +6 -20
  308. package/tabs/internal/tabs.js +33 -66
  309. package/tabs/internal/tabs.js.map +1 -1
  310. package/tabs/{tab.d.ts → primary-tab.d.ts} +3 -4
  311. package/tabs/primary-tab.js +23 -0
  312. package/tabs/primary-tab.js.map +1 -0
  313. package/tabs/secondary-tab.d.ts +18 -0
  314. package/tabs/secondary-tab.js +23 -0
  315. package/tabs/secondary-tab.js.map +1 -0
  316. package/tabs/tabs.d.ts +0 -2
  317. package/tabs/tabs.js +0 -2
  318. package/tabs/tabs.js.map +1 -1
  319. package/textfield/internal/_filled-text-field.scss +12 -3
  320. package/textfield/internal/_outlined-text-field.scss +12 -3
  321. package/textfield/internal/filled-styles.css.js +1 -1
  322. package/textfield/internal/filled-styles.css.js.map +1 -1
  323. package/textfield/internal/outlined-styles.css.js +1 -1
  324. package/textfield/internal/outlined-styles.css.js.map +1 -1
  325. package/textfield/internal/text-field.d.ts +30 -10
  326. package/textfield/internal/text-field.js +80 -32
  327. package/textfield/internal/text-field.js.map +1 -1
  328. package/tokens/_index.scss +5 -6
  329. package/tokens/_md-comp-assist-chip.scss +6 -14
  330. package/tokens/_md-comp-badge.scss +1 -14
  331. package/tokens/{_md-comp-circular-progress-indicator.scss → _md-comp-circular-progress.scss} +3 -1
  332. package/tokens/_md-comp-dialog.scss +10 -17
  333. package/tokens/_md-comp-elevated-button.scss +5 -13
  334. package/tokens/_md-comp-fab-branded.scss +9 -10
  335. package/tokens/_md-comp-fab.scss +9 -10
  336. package/tokens/_md-comp-filled-button.scss +5 -13
  337. package/tokens/_md-comp-filled-field.scss +27 -8
  338. package/tokens/_md-comp-filled-select.scss +18 -15
  339. package/tokens/_md-comp-filled-text-field.scss +17 -19
  340. package/tokens/_md-comp-filled-tonal-button.scss +5 -13
  341. package/tokens/_md-comp-filter-chip.scss +5 -13
  342. package/tokens/_md-comp-input-chip.scss +5 -13
  343. package/tokens/_md-comp-list-item.scss +117 -122
  344. package/tokens/_md-comp-menu-item.scss +3 -3
  345. package/tokens/_md-comp-outlined-button.scss +5 -13
  346. package/tokens/_md-comp-outlined-field.scss +27 -7
  347. package/tokens/_md-comp-outlined-segmented-button.scss +5 -13
  348. package/tokens/_md-comp-outlined-select.scss +23 -15
  349. package/tokens/_md-comp-outlined-text-field.scss +17 -19
  350. package/tokens/_md-comp-primary-tab.scss +132 -0
  351. package/tokens/_md-comp-secondary-tab.scss +139 -0
  352. package/tokens/_md-comp-slider.scss +16 -16
  353. package/tokens/_md-comp-suggestion-chip.scss +5 -13
  354. package/tokens/_md-comp-test-table.scss +13 -2
  355. package/tokens/_md-comp-text-button.scss +5 -13
  356. package/tokens/_md-ref-palette.scss +101 -1
  357. package/tokens/_md-ref-typeface.scss +3 -0
  358. package/tokens/_md-sys-color.scss +57 -2
  359. package/tokens/_md-sys-typescale.scss +66 -5
  360. package/chips/internal/assist-forced-colors-styles.css.js +0 -9
  361. package/chips/internal/assist-forced-colors-styles.css.js.map +0 -1
  362. package/chips/internal/assist-forced-colors-styles.scss +0 -27
  363. package/chips/internal/filter-forced-colors-styles.css.js +0 -9
  364. package/chips/internal/filter-forced-colors-styles.css.js.map +0 -1
  365. package/chips/internal/filter-forced-colors-styles.scss +0 -34
  366. package/chips/internal/input-forced-colors-styles.css.d.ts +0 -1
  367. package/chips/internal/input-forced-colors-styles.css.js +0 -9
  368. package/chips/internal/input-forced-colors-styles.css.js.map +0 -1
  369. package/chips/internal/input-forced-colors-styles.scss +0 -39
  370. package/chips/internal/suggestion-forced-colors-styles.css.d.ts +0 -1
  371. package/chips/internal/suggestion-forced-colors-styles.css.js +0 -9
  372. package/chips/internal/suggestion-forced-colors-styles.css.js.map +0 -1
  373. package/chips/internal/suggestion-forced-colors-styles.scss +0 -27
  374. package/internal/sass/_theme.scss +0 -249
  375. package/tabs/tab.js +0 -22
  376. package/tabs/tab.js.map +0 -1
  377. package/tokens/_md-comp-tab.scss +0 -285
  378. /package/{chips/internal/assist-forced-colors-styles.css.d.ts → tabs/internal/primary-tab-styles.css.d.ts} +0 -0
  379. /package/{chips/internal/filter-forced-colors-styles.css.d.ts → tabs/internal/secondary-tab-styles.css.d.ts} +0 -0
  380. /package/tokens/{_md-comp-linear-progress-indicator.scss → _md-comp-linear-progress.scss} +0 -0
  381. /package/tokens/{_md-comp-radio-button.scss → _md-comp-radio.scss} +0 -0
@@ -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{display:inline-flex}.field{display:flex;flex:1;flex-direction:column;writing-mode:horizontal-tb;max-width:100%}.container-overflow{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-end-radius:var(--_container-shape-end-end);border-end-start-radius:var(--_container-shape-end-start);display:flex;height:100%;position:relative}.container{align-items:center;border-radius:inherit;display:flex;flex:1;max-height:100%;min-height:100%;min-width:min-content;overflow:hidden;position:relative}.field,.container-overflow,.field:not(.disabled) .container{resize:inherit}.disabled{pointer-events:none}.start,.middle,.end{display:flex;box-sizing:border-box;height:100%;position:relative}.start{color:var(--_leading-content-color)}.end{color:var(--_trailing-content-color)}.start,.end{align-items:center;justify-content:center}.with-start .start,.with-end .end{min-width:48px}.with-start .start{margin-inline-end:4px}.with-end .end{margin-inline-start:4px}.middle{align-items:stretch;align-self:baseline;flex:1}.content{color:var(--_content-color);display:flex;flex:1;opacity:0;transition:opacity 83ms cubic-bezier(0.2, 0, 0, 1)}.no-label .content,.focused .content,.populated .content{opacity:1;transition-delay:67ms}.content ::slotted(*){all:unset;color:currentColor;font:var(--_content-type);width:100%}.content ::slotted(:not(textarea)){padding-top:var(--_top-space);padding-bottom:var(--_bottom-space)}.content ::slotted(textarea){margin-top:var(--_top-space);margin-bottom:var(--_bottom-space)}:hover .content{color:var(--_hover-content-color)}:hover .start{color:var(--_hover-leading-content-color)}:hover .end{color:var(--_hover-trailing-content-color)}.focused .content{color:var(--_focus-content-color)}.focused .start{color:var(--_focus-leading-content-color)}.focused .end{color:var(--_focus-trailing-content-color)}.disabled .content{color:var(--_disabled-content-color)}.disabled.no-label .content,.disabled.focused .content,.disabled.populated .content{opacity:var(--_disabled-content-opacity)}.disabled .start{color:var(--_disabled-leading-content-color);opacity:var(--_disabled-leading-content-opacity)}.disabled .end{color:var(--_disabled-trailing-content-color);opacity:var(--_disabled-trailing-content-opacity)}.error .content{color:var(--_error-content-color)}.error .start{color:var(--_error-leading-content-color)}.error .end{color:var(--_error-trailing-content-color)}.error:hover .content{color:var(--_error-hover-content-color)}.error:hover .start{color:var(--_error-hover-leading-content-color)}.error:hover .end{color:var(--_error-hover-trailing-content-color)}.error.focused .content{color:var(--_error-focus-content-color)}.error.focused .start{color:var(--_error-focus-leading-content-color)}.error.focused .end{color:var(--_error-focus-trailing-content-color)}.label{box-sizing:border-box;color:var(--_label-text-color);overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap;z-index:1;font:var(--_label-text-type);width:min-content}.label-wrapper{inset:0;pointer-events:none;position:absolute}.label.resting{position:absolute;top:var(--_top-space)}.label.floating{font-size:var(--_label-text-populated-size);line-height:var(--_label-text-populated-line-height);transform-origin:top left}.label.hidden{opacity:0}.no-label .label{display:none}.label-wrapper{inset:0;position:absolute;text-align:initial}:hover .label{color:var(--_hover-label-text-color)}.focused .label{color:var(--_focus-label-text-color)}.disabled .label{color:var(--_disabled-label-text-color)}.disabled .label:not(.hidden){opacity:var(--_disabled-label-text-opacity)}.error .label{color:var(--_error-label-text-color)}.error:hover .label{color:var(--_error-hover-label-text-color)}.error.focused .label{color:var(--_error-focus-label-text-color)}.supporting-text{color:var(--_supporting-text-color);display:flex;font:var(--_supporting-text-type);gap:16px;justify-content:space-between;padding-inline-start:var(--_supporting-text-leading-space);padding-inline-end:var(--_supporting-text-trailing-space);padding-top:var(--_supporting-text-top-space)}.supporting-text :nth-child(2){flex-shrink:0}:hover .supporting-text{color:var(--_hover-supporting-text-color)}.focus .supporting-text{color:var(--_focus-supporting-text-color)}.disabled .supporting-text{color:var(--_disabled-supporting-text-color);opacity:var(--_disabled-supporting-text-opacity)}.error .supporting-text{color:var(--_error-supporting-text-color)}.error:hover .supporting-text{color:var(--_error-hover-supporting-text-color)}.error.focus .supporting-text{color:var(--_error-focus-supporting-text-color)}/*# sourceMappingURL=shared-styles.css.map */
7
+ export const styles = css `:host{display:inline-flex;resize:both}.field{display:flex;flex:1;flex-direction:column;writing-mode:horizontal-tb;max-width:100%}.container-overflow{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-end-radius:var(--_container-shape-end-end);border-end-start-radius:var(--_container-shape-end-start);display:flex;height:100%;position:relative}.container{align-items:center;border-radius:inherit;display:flex;flex:1;max-height:100%;min-height:100%;min-width:min-content;position:relative}.field,.container-overflow{resize:inherit}.resizable:not(.disabled) .container{resize:inherit;overflow:hidden}.disabled{pointer-events:none}.start,.middle,.end{display:flex;box-sizing:border-box;height:100%;position:relative}.start{color:var(--_leading-content-color)}.end{color:var(--_trailing-content-color)}.start,.end{align-items:center;justify-content:center}.with-start .start,.with-end .end{min-width:48px}.with-start .start{margin-inline-end:4px}.with-end .end{margin-inline-start:4px}.middle{align-items:stretch;align-self:baseline;flex:1}.content{color:var(--_content-color);display:flex;flex:1;opacity:0;transition:opacity 83ms cubic-bezier(0.2, 0, 0, 1)}.no-label .content,.focused .content,.populated .content{opacity:1;transition-delay:67ms}:is(.disabled,.disable-transitions) .content{transition:none}.content ::slotted(*){all:unset;color:currentColor;font-family:var(--_content-font);font-size:var(--_content-size);line-height:var(--_content-line-height);font-weight:var(--_content-weight);width:100%;white-space:pre-wrap}.content ::slotted(:not(textarea)){padding-top:var(--_top-space);padding-bottom:var(--_bottom-space)}.content ::slotted(textarea){margin-top:var(--_top-space);margin-bottom:var(--_bottom-space)}:hover .content{color:var(--_hover-content-color)}:hover .start{color:var(--_hover-leading-content-color)}:hover .end{color:var(--_hover-trailing-content-color)}.focused .content{color:var(--_focus-content-color)}.focused .start{color:var(--_focus-leading-content-color)}.focused .end{color:var(--_focus-trailing-content-color)}.disabled .content{color:var(--_disabled-content-color)}.disabled.no-label .content,.disabled.focused .content,.disabled.populated .content{opacity:var(--_disabled-content-opacity)}.disabled .start{color:var(--_disabled-leading-content-color);opacity:var(--_disabled-leading-content-opacity)}.disabled .end{color:var(--_disabled-trailing-content-color);opacity:var(--_disabled-trailing-content-opacity)}.error .content{color:var(--_error-content-color)}.error .start{color:var(--_error-leading-content-color)}.error .end{color:var(--_error-trailing-content-color)}.error:hover .content{color:var(--_error-hover-content-color)}.error:hover .start{color:var(--_error-hover-leading-content-color)}.error:hover .end{color:var(--_error-hover-trailing-content-color)}.error.focused .content{color:var(--_error-focus-content-color)}.error.focused .start{color:var(--_error-focus-leading-content-color)}.error.focused .end{color:var(--_error-focus-trailing-content-color)}.label{box-sizing:border-box;color:var(--_label-text-color);overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap;z-index:1;font-family:var(--_label-text-font);font-size:var(--_label-text-size);line-height:var(--_label-text-line-height);font-weight:var(--_label-text-weight);width:min-content}.label-wrapper{inset:0;pointer-events:none;position:absolute}.label.resting{position:absolute;top:var(--_top-space)}.label.floating{font-size:var(--_label-text-populated-size);line-height:var(--_label-text-populated-line-height);transform-origin:top left}.label.hidden{opacity:0}.no-label .label{display:none}.label-wrapper{inset:0;position:absolute;text-align:initial}:hover .label{color:var(--_hover-label-text-color)}.focused .label{color:var(--_focus-label-text-color)}.disabled .label{color:var(--_disabled-label-text-color)}.disabled .label:not(.hidden){opacity:var(--_disabled-label-text-opacity)}.error .label{color:var(--_error-label-text-color)}.error:hover .label{color:var(--_error-hover-label-text-color)}.error.focused .label{color:var(--_error-focus-label-text-color)}.supporting-text{color:var(--_supporting-text-color);display:flex;font-family:var(--_supporting-text-font);font-size:var(--_supporting-text-size);line-height:var(--_supporting-text-line-height);font-weight:var(--_supporting-text-weight);gap:16px;justify-content:space-between;padding-inline-start:var(--_supporting-text-leading-space);padding-inline-end:var(--_supporting-text-trailing-space);padding-top:var(--_supporting-text-top-space)}.supporting-text :nth-child(2){flex-shrink:0}:hover .supporting-text{color:var(--_hover-supporting-text-color)}.focus .supporting-text{color:var(--_focus-supporting-text-color)}.disabled .supporting-text{color:var(--_disabled-supporting-text-color);opacity:var(--_disabled-supporting-text-opacity)}.error .supporting-text{color:var(--_error-supporting-text-color)}.error:hover .supporting-text{color:var(--_error-hover-supporting-text-color)}.error.focus .supporting-text{color:var(--_error-focus-supporting-text-color)}/*# sourceMappingURL=shared-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=shared-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared-styles.css.js","sourceRoot":"","sources":["shared-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{display:inline-flex}.field{display:flex;flex:1;flex-direction:column;writing-mode:horizontal-tb;max-width:100%}.container-overflow{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-end-radius:var(--_container-shape-end-end);border-end-start-radius:var(--_container-shape-end-start);display:flex;height:100%;position:relative}.container{align-items:center;border-radius:inherit;display:flex;flex:1;max-height:100%;min-height:100%;min-width:min-content;overflow:hidden;position:relative}.field,.container-overflow,.field:not(.disabled) .container{resize:inherit}.disabled{pointer-events:none}.start,.middle,.end{display:flex;box-sizing:border-box;height:100%;position:relative}.start{color:var(--_leading-content-color)}.end{color:var(--_trailing-content-color)}.start,.end{align-items:center;justify-content:center}.with-start .start,.with-end .end{min-width:48px}.with-start .start{margin-inline-end:4px}.with-end .end{margin-inline-start:4px}.middle{align-items:stretch;align-self:baseline;flex:1}.content{color:var(--_content-color);display:flex;flex:1;opacity:0;transition:opacity 83ms cubic-bezier(0.2, 0, 0, 1)}.no-label .content,.focused .content,.populated .content{opacity:1;transition-delay:67ms}.content ::slotted(*){all:unset;color:currentColor;font:var(--_content-type);width:100%}.content ::slotted(:not(textarea)){padding-top:var(--_top-space);padding-bottom:var(--_bottom-space)}.content ::slotted(textarea){margin-top:var(--_top-space);margin-bottom:var(--_bottom-space)}:hover .content{color:var(--_hover-content-color)}:hover .start{color:var(--_hover-leading-content-color)}:hover .end{color:var(--_hover-trailing-content-color)}.focused .content{color:var(--_focus-content-color)}.focused .start{color:var(--_focus-leading-content-color)}.focused .end{color:var(--_focus-trailing-content-color)}.disabled .content{color:var(--_disabled-content-color)}.disabled.no-label .content,.disabled.focused .content,.disabled.populated .content{opacity:var(--_disabled-content-opacity)}.disabled .start{color:var(--_disabled-leading-content-color);opacity:var(--_disabled-leading-content-opacity)}.disabled .end{color:var(--_disabled-trailing-content-color);opacity:var(--_disabled-trailing-content-opacity)}.error .content{color:var(--_error-content-color)}.error .start{color:var(--_error-leading-content-color)}.error .end{color:var(--_error-trailing-content-color)}.error:hover .content{color:var(--_error-hover-content-color)}.error:hover .start{color:var(--_error-hover-leading-content-color)}.error:hover .end{color:var(--_error-hover-trailing-content-color)}.error.focused .content{color:var(--_error-focus-content-color)}.error.focused .start{color:var(--_error-focus-leading-content-color)}.error.focused .end{color:var(--_error-focus-trailing-content-color)}.label{box-sizing:border-box;color:var(--_label-text-color);overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap;z-index:1;font:var(--_label-text-type);width:min-content}.label-wrapper{inset:0;pointer-events:none;position:absolute}.label.resting{position:absolute;top:var(--_top-space)}.label.floating{font-size:var(--_label-text-populated-size);line-height:var(--_label-text-populated-line-height);transform-origin:top left}.label.hidden{opacity:0}.no-label .label{display:none}.label-wrapper{inset:0;position:absolute;text-align:initial}:hover .label{color:var(--_hover-label-text-color)}.focused .label{color:var(--_focus-label-text-color)}.disabled .label{color:var(--_disabled-label-text-color)}.disabled .label:not(.hidden){opacity:var(--_disabled-label-text-opacity)}.error .label{color:var(--_error-label-text-color)}.error:hover .label{color:var(--_error-hover-label-text-color)}.error.focused .label{color:var(--_error-focus-label-text-color)}.supporting-text{color:var(--_supporting-text-color);display:flex;font:var(--_supporting-text-type);gap:16px;justify-content:space-between;padding-inline-start:var(--_supporting-text-leading-space);padding-inline-end:var(--_supporting-text-trailing-space);padding-top:var(--_supporting-text-top-space)}.supporting-text :nth-child(2){flex-shrink:0}:hover .supporting-text{color:var(--_hover-supporting-text-color)}.focus .supporting-text{color:var(--_focus-supporting-text-color)}.disabled .supporting-text{color:var(--_disabled-supporting-text-color);opacity:var(--_disabled-supporting-text-opacity)}.error .supporting-text{color:var(--_error-supporting-text-color)}.error:hover .supporting-text{color:var(--_error-hover-supporting-text-color)}.error.focus .supporting-text{color:var(--_error-focus-supporting-text-color)}/*# sourceMappingURL=shared-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"shared-styles.css.js","sourceRoot":"","sources":["shared-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{display:inline-flex;resize:both}.field{display:flex;flex:1;flex-direction:column;writing-mode:horizontal-tb;max-width:100%}.container-overflow{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-end-radius:var(--_container-shape-end-end);border-end-start-radius:var(--_container-shape-end-start);display:flex;height:100%;position:relative}.container{align-items:center;border-radius:inherit;display:flex;flex:1;max-height:100%;min-height:100%;min-width:min-content;position:relative}.field,.container-overflow{resize:inherit}.resizable:not(.disabled) .container{resize:inherit;overflow:hidden}.disabled{pointer-events:none}.start,.middle,.end{display:flex;box-sizing:border-box;height:100%;position:relative}.start{color:var(--_leading-content-color)}.end{color:var(--_trailing-content-color)}.start,.end{align-items:center;justify-content:center}.with-start .start,.with-end .end{min-width:48px}.with-start .start{margin-inline-end:4px}.with-end .end{margin-inline-start:4px}.middle{align-items:stretch;align-self:baseline;flex:1}.content{color:var(--_content-color);display:flex;flex:1;opacity:0;transition:opacity 83ms cubic-bezier(0.2, 0, 0, 1)}.no-label .content,.focused .content,.populated .content{opacity:1;transition-delay:67ms}:is(.disabled,.disable-transitions) .content{transition:none}.content ::slotted(*){all:unset;color:currentColor;font-family:var(--_content-font);font-size:var(--_content-size);line-height:var(--_content-line-height);font-weight:var(--_content-weight);width:100%;white-space:pre-wrap}.content ::slotted(:not(textarea)){padding-top:var(--_top-space);padding-bottom:var(--_bottom-space)}.content ::slotted(textarea){margin-top:var(--_top-space);margin-bottom:var(--_bottom-space)}:hover .content{color:var(--_hover-content-color)}:hover .start{color:var(--_hover-leading-content-color)}:hover .end{color:var(--_hover-trailing-content-color)}.focused .content{color:var(--_focus-content-color)}.focused .start{color:var(--_focus-leading-content-color)}.focused .end{color:var(--_focus-trailing-content-color)}.disabled .content{color:var(--_disabled-content-color)}.disabled.no-label .content,.disabled.focused .content,.disabled.populated .content{opacity:var(--_disabled-content-opacity)}.disabled .start{color:var(--_disabled-leading-content-color);opacity:var(--_disabled-leading-content-opacity)}.disabled .end{color:var(--_disabled-trailing-content-color);opacity:var(--_disabled-trailing-content-opacity)}.error .content{color:var(--_error-content-color)}.error .start{color:var(--_error-leading-content-color)}.error .end{color:var(--_error-trailing-content-color)}.error:hover .content{color:var(--_error-hover-content-color)}.error:hover .start{color:var(--_error-hover-leading-content-color)}.error:hover .end{color:var(--_error-hover-trailing-content-color)}.error.focused .content{color:var(--_error-focus-content-color)}.error.focused .start{color:var(--_error-focus-leading-content-color)}.error.focused .end{color:var(--_error-focus-trailing-content-color)}.label{box-sizing:border-box;color:var(--_label-text-color);overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap;z-index:1;font-family:var(--_label-text-font);font-size:var(--_label-text-size);line-height:var(--_label-text-line-height);font-weight:var(--_label-text-weight);width:min-content}.label-wrapper{inset:0;pointer-events:none;position:absolute}.label.resting{position:absolute;top:var(--_top-space)}.label.floating{font-size:var(--_label-text-populated-size);line-height:var(--_label-text-populated-line-height);transform-origin:top left}.label.hidden{opacity:0}.no-label .label{display:none}.label-wrapper{inset:0;position:absolute;text-align:initial}:hover .label{color:var(--_hover-label-text-color)}.focused .label{color:var(--_focus-label-text-color)}.disabled .label{color:var(--_disabled-label-text-color)}.disabled .label:not(.hidden){opacity:var(--_disabled-label-text-opacity)}.error .label{color:var(--_error-label-text-color)}.error:hover .label{color:var(--_error-hover-label-text-color)}.error.focused .label{color:var(--_error-focus-label-text-color)}.supporting-text{color:var(--_supporting-text-color);display:flex;font-family:var(--_supporting-text-font);font-size:var(--_supporting-text-size);line-height:var(--_supporting-text-line-height);font-weight:var(--_supporting-text-weight);gap:16px;justify-content:space-between;padding-inline-start:var(--_supporting-text-leading-space);padding-inline-end:var(--_supporting-text-trailing-space);padding-top:var(--_supporting-text-top-space)}.supporting-text :nth-child(2){flex-shrink:0}:hover .supporting-text{color:var(--_hover-supporting-text-color)}.focus .supporting-text{color:var(--_focus-supporting-text-color)}.disabled .supporting-text{color:var(--_disabled-supporting-text-color);opacity:var(--_disabled-supporting-text-opacity)}.error .supporting-text{color:var(--_error-supporting-text-color)}.error:hover .supporting-text{color:var(--_error-hover-supporting-text-color)}.error.focus .supporting-text{color:var(--_error-focus-supporting-text-color)}/*# sourceMappingURL=shared-styles.css.map */\n`;\n "]}
@@ -19,10 +19,12 @@ export declare class FocusRing extends LitElement implements Attachable {
19
19
  inward: boolean;
20
20
  get htmlFor(): string | null;
21
21
  set htmlFor(htmlFor: string | null);
22
- get control(): HTMLElement;
22
+ get control(): HTMLElement | null;
23
+ set control(control: HTMLElement | null);
23
24
  private readonly attachableController;
24
25
  attach(control: HTMLElement): void;
25
26
  detach(): void;
27
+ connectedCallback(): void;
26
28
  /** @private */
27
29
  handleEvent(event: FocusRingEvent): void;
28
30
  private onControlChange;
@@ -38,12 +38,21 @@ export class FocusRing extends LitElement {
38
38
  get control() {
39
39
  return this.attachableController.control;
40
40
  }
41
+ set control(control) {
42
+ this.attachableController.control = control;
43
+ }
41
44
  attach(control) {
42
45
  this.attachableController.attach(control);
43
46
  }
44
47
  detach() {
45
48
  this.attachableController.detach();
46
49
  }
50
+ connectedCallback() {
51
+ super.connectedCallback();
52
+ // Needed for VoiceOver, which will create a "group" if the element is a
53
+ // sibling to other content.
54
+ this.setAttribute('aria-hidden', 'true');
55
+ }
47
56
  /** @private */
48
57
  handleEvent(event) {
49
58
  if (event[HANDLED_BY_FOCUS_RING]) {
@@ -1 +1 @@
1
- {"version":3,"file":"focus-ring.js","sourceRoot":"","sources":["focus-ring.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,UAAU,EAAiB,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAa,oBAAoB,EAAC,MAAM,oDAAoD,CAAC;AAEpG;;;;GAIG;AACH,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,UAAU;IAAzC;;QACE;;WAEG;QACuC,YAAO,GAAG,KAAK,CAAC;QAE1D;;WAEG;QACuC,WAAM,GAAG,KAAK,CAAC;QAcxC,yBAAoB,GACjC,IAAI,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAgDtE,CAAC;IA7DC,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,CAAC,OAAoB;QAC9B,IAAI,CAAC,oBAAoB,CAAC,OAAO,GAAG,OAAO,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;IAC3C,CAAC;IAKD,MAAM,CAAC,OAAoB;QACzB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;IAED,eAAe;IACf,WAAW,CAAC,KAAqB;QAC/B,IAAI,KAAK,CAAC,qBAAqB,CAAC,EAAE;YAChC,0EAA0E;YAC1E,sCAAsC;YACtC,OAAO;SACR;QAED,QAAQ,KAAK,CAAC,IAAI,EAAE;YAClB;gBACE,OAAO;YACT,KAAK,SAAS;gBACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC;gBAChE,MAAM;YACR,KAAK,UAAU,CAAC;YAChB,KAAK,aAAa;gBAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,MAAM;SACT;QAED,KAAK,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC;IACtC,CAAC;IAEO,eAAe,CAAC,IAAsB,EAAE,IAAsB;QACpE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,IAAI,EAAE,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACvC,IAAI,EAAE,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SACrC;IACH,CAAC;IAEQ,MAAM,CAAC,OAA6B;QAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC1B,yEAAyE;YACzE,iEAAiE;YACjE,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;SACrD;QACD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;CACF;AApE2C;IAAzC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;0CAAiB;AAKhB;IAAzC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;yCAAgB;AAiE3D,MAAM,qBAAqB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {LitElement, PropertyValues} from 'lit';\nimport {property} from 'lit/decorators.js';\n\nimport {Attachable, AttachableController} from '../../internal/controller/attachable-controller.js';\n\n/**\n * Events that the focus ring listens to.\n *\n * @fires visibility-changed Fired whenever `visible` changes.\n */\nconst EVENTS = ['focusin', 'focusout', 'pointerdown'];\n\n/**\n * A focus ring component.\n */\nexport class FocusRing extends LitElement implements Attachable {\n /**\n * Makes the focus ring visible.\n */\n @property({type: Boolean, reflect: true}) visible = false;\n\n /**\n * Makes the focus ring animate inwards instead of outwards.\n */\n @property({type: Boolean, reflect: true}) inward = false;\n\n get htmlFor() {\n return this.attachableController.htmlFor;\n }\n\n set htmlFor(htmlFor: string|null) {\n this.attachableController.htmlFor = htmlFor;\n }\n\n get control() {\n return this.attachableController.control;\n }\n\n private readonly attachableController =\n new AttachableController(this, this.onControlChange.bind(this));\n\n attach(control: HTMLElement) {\n this.attachableController.attach(control);\n }\n\n detach() {\n this.attachableController.detach();\n }\n\n /** @private */\n handleEvent(event: FocusRingEvent) {\n if (event[HANDLED_BY_FOCUS_RING]) {\n // This ensures the focus ring does not activate when multiple focus rings\n // are used within a single component.\n return;\n }\n\n switch (event.type) {\n default:\n return;\n case 'focusin':\n this.visible = this.control?.matches(':focus-visible') ?? false;\n break;\n case 'focusout':\n case 'pointerdown':\n this.visible = false;\n break;\n }\n\n event[HANDLED_BY_FOCUS_RING] = true;\n }\n\n private onControlChange(prev: HTMLElement|null, next: HTMLElement|null) {\n for (const event of EVENTS) {\n prev?.removeEventListener(event, this);\n next?.addEventListener(event, this);\n }\n }\n\n override update(changed: PropertyValues<this>) {\n if (changed.has('visible')) {\n // This logic can be removed once the `:has` selector has been introduced\n // to Firefox. This is necessary to allow correct submenu styles.\n this.dispatchEvent(new Event('visibility-changed'));\n }\n super.update(changed);\n }\n}\n\nconst HANDLED_BY_FOCUS_RING = Symbol('handledByFocusRing');\n\ninterface FocusRingEvent extends Event {\n [HANDLED_BY_FOCUS_RING]: true;\n}\n"]}
1
+ {"version":3,"file":"focus-ring.js","sourceRoot":"","sources":["focus-ring.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {LitElement, PropertyValues} from 'lit';\nimport {property} from 'lit/decorators.js';\n\nimport {Attachable, AttachableController} from '../../internal/controller/attachable-controller.js';\n\n/**\n * Events that the focus ring listens to.\n *\n * @fires visibility-changed Fired whenever `visible` changes.\n */\nconst EVENTS = ['focusin', 'focusout', 'pointerdown'];\n\n/**\n * A focus ring component.\n */\nexport class FocusRing extends LitElement implements Attachable {\n /**\n * Makes the focus ring visible.\n */\n @property({type: Boolean, reflect: true}) visible = false;\n\n /**\n * Makes the focus ring animate inwards instead of outwards.\n */\n @property({type: Boolean, reflect: true}) inward = false;\n\n get htmlFor() {\n return this.attachableController.htmlFor;\n }\n\n set htmlFor(htmlFor: string|null) {\n this.attachableController.htmlFor = htmlFor;\n }\n\n get control() {\n return this.attachableController.control;\n }\n set control(control: HTMLElement|null) {\n this.attachableController.control = control;\n }\n\n private readonly attachableController =\n new AttachableController(this, this.onControlChange.bind(this));\n\n attach(control: HTMLElement) {\n this.attachableController.attach(control);\n }\n\n detach() {\n this.attachableController.detach();\n }\n\n override connectedCallback() {\n super.connectedCallback();\n // Needed for VoiceOver, which will create a \"group\" if the element is a\n // sibling to other content.\n this.setAttribute('aria-hidden', 'true');\n }\n\n /** @private */\n handleEvent(event: FocusRingEvent) {\n if (event[HANDLED_BY_FOCUS_RING]) {\n // This ensures the focus ring does not activate when multiple focus rings\n // are used within a single component.\n return;\n }\n\n switch (event.type) {\n default:\n return;\n case 'focusin':\n this.visible = this.control?.matches(':focus-visible') ?? false;\n break;\n case 'focusout':\n case 'pointerdown':\n this.visible = false;\n break;\n }\n\n event[HANDLED_BY_FOCUS_RING] = true;\n }\n\n private onControlChange(prev: HTMLElement|null, next: HTMLElement|null) {\n for (const event of EVENTS) {\n prev?.removeEventListener(event, this);\n next?.addEventListener(event, this);\n }\n }\n\n override update(changed: PropertyValues<this>) {\n if (changed.has('visible')) {\n // This logic can be removed once the `:has` selector has been introduced\n // to Firefox. This is necessary to allow correct submenu styles.\n this.dispatchEvent(new Event('visibility-changed'));\n }\n super.update(changed);\n }\n}\n\nconst HANDLED_BY_FOCUS_RING = Symbol('handledByFocusRing');\n\ninterface FocusRingEvent extends Event {\n [HANDLED_BY_FOCUS_RING]: true;\n}\n"]}
@@ -4,17 +4,21 @@
4
4
  //
5
5
 
6
6
  // go/keep-sorted start
7
- @use '../../internal/sass/theme';
8
- @use '../../tokens';
7
+ @use 'sass:list';
9
8
  @use 'sass:map';
10
9
  // go/keep-sorted end
11
-
12
- $_custom-property-prefix: 'icon';
10
+ // go/keep-sorted start
11
+ @use '../../tokens';
12
+ // go/keep-sorted end
13
13
 
14
14
  @mixin theme($tokens) {
15
- $tokens: theme.validate-theme(tokens.md-comp-icon-values(), $tokens);
15
+ $supported-tokens: tokens.$md-comp-icon-supported-tokens;
16
16
 
17
17
  @each $token, $value in $tokens {
18
+ @if list.index($supported-tokens, $token) == null {
19
+ @error 'Token `#{$token}` is not a supported token.';
20
+ }
21
+
18
22
  @if $value {
19
23
  --md-icon-#{$token}: #{$value};
20
24
  }
@@ -39,6 +43,7 @@ $_custom-property-prefix: 'icon';
39
43
  overflow: hidden;
40
44
  letter-spacing: normal;
41
45
  text-transform: none;
46
+ user-select: none;
42
47
  white-space: nowrap;
43
48
  word-wrap: normal;
44
49
 
@@ -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{font-size:24px;width:24px;height:24px;color:inherit;font-variation-settings:inherit;font-weight:400;font-family:var(--md-icon-font, Material Symbols Outlined);display:inline-flex;font-style:normal;line-height:1;overflow:hidden;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}::slotted(svg){fill:currentColor}::slotted(*){height:100%;width:100%}/*# sourceMappingURL=icon-styles.css.map */
7
+ export const styles = css `:host{font-size:24px;width:24px;height:24px;color:inherit;font-variation-settings:inherit;font-weight:400;font-family:var(--md-icon-font, Material Symbols Outlined);display:inline-flex;font-style:normal;line-height:1;overflow:hidden;letter-spacing:normal;text-transform:none;user-select:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}::slotted(svg){fill:currentColor}::slotted(*){height:100%;width:100%}/*# sourceMappingURL=icon-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=icon-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon-styles.css.js","sourceRoot":"","sources":["icon-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{font-size:24px;width:24px;height:24px;color:inherit;font-variation-settings:inherit;font-weight:400;font-family:var(--md-icon-font, Material Symbols Outlined);display:inline-flex;font-style:normal;line-height:1;overflow:hidden;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}::slotted(svg){fill:currentColor}::slotted(*){height:100%;width:100%}/*# sourceMappingURL=icon-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"icon-styles.css.js","sourceRoot":"","sources":["icon-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{font-size:24px;width:24px;height:24px;color:inherit;font-variation-settings:inherit;font-weight:400;font-family:var(--md-icon-font, Material Symbols Outlined);display:inline-flex;font-style:normal;line-height:1;overflow:hidden;letter-spacing:normal;text-transform:none;user-select:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}::slotted(svg){fill:currentColor}::slotted(*){height:100%;width:100%}/*# sourceMappingURL=icon-styles.css.map */\n`;\n "]}
@@ -15,9 +15,13 @@ export class Icon extends LitElement {
15
15
  super.connectedCallback();
16
16
  const ariaHidden = this.getAttribute('aria-hidden');
17
17
  if (ariaHidden === 'false') {
18
+ // Allow the user to set `aria-hidden="false"` to create an icon that is
19
+ // announced by screenreaders.
18
20
  this.removeAttribute('aria-hidden');
19
21
  return;
20
22
  }
23
+ // Needed for VoiceOver, which will create a "group" if the element is a
24
+ // sibling to other content.
21
25
  this.setAttribute('aria-hidden', 'true');
22
26
  }
23
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sourceRoot":"","sources":["icon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,IAAI,EAAE,UAAU,EAAC,MAAM,KAAK,CAAC;AAErC;;GAEG;AACH,MAAM,OAAO,IAAK,SAAQ,UAAU;IACf,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;IAEQ,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,UAAU,KAAK,OAAO,EAAE;YAC1B,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YACpC,OAAO;SACR;QAED,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, LitElement} from 'lit';\n\n/**\n * TODO(b/265336902): add docs\n */\nexport class Icon extends LitElement {\n protected override render() {\n return html`<slot></slot>`;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n const ariaHidden = this.getAttribute('aria-hidden');\n if (ariaHidden === 'false') {\n this.removeAttribute('aria-hidden');\n return;\n }\n\n this.setAttribute('aria-hidden', 'true');\n }\n}\n"]}
1
+ {"version":3,"file":"icon.js","sourceRoot":"","sources":["icon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,IAAI,EAAE,UAAU,EAAC,MAAM,KAAK,CAAC;AAErC;;GAEG;AACH,MAAM,OAAO,IAAK,SAAQ,UAAU;IACf,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;IAEQ,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,UAAU,KAAK,OAAO,EAAE;YAC1B,wEAAwE;YACxE,8BAA8B;YAC9B,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YACpC,OAAO;SACR;QAED,wEAAwE;QACxE,4BAA4B;QAC5B,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, LitElement} from 'lit';\n\n/**\n * TODO(b/265336902): add docs\n */\nexport class Icon extends LitElement {\n protected override render() {\n return html`<slot></slot>`;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n const ariaHidden = this.getAttribute('aria-hidden');\n if (ariaHidden === 'false') {\n // Allow the user to set `aria-hidden=\"false\"` to create an icon that is\n // announced by screenreaders.\n this.removeAttribute('aria-hidden');\n return;\n }\n\n // Needed for VoiceOver, which will create a \"group\" if the element is a\n // sibling to other content.\n this.setAttribute('aria-hidden', 'true');\n }\n}\n"]}
@@ -35,10 +35,22 @@
35
35
  --_#{$token}: var(--md-icon-button-#{$token}, #{$value});
36
36
  }
37
37
 
38
+ // These custom properties are not used, so set defaults so token tests pass
39
+ // for <md-icon-button>.
40
+ --_container-shape-start-start: 0;
41
+ --_container-shape-start-end: 0;
42
+ --_container-shape-end-end: 0;
43
+ --_container-shape-end-start: 0;
44
+ --_container-size: 0;
45
+
38
46
  height: var(--_state-layer-size);
39
47
  width: var(--_state-layer-size);
40
48
  }
41
49
 
50
+ :host([touch-target='wrapper']) {
51
+ margin: max(0px, (48px - var(--_state-layer-size)) / 2);
52
+ }
53
+
42
54
  md-focus-ring {
43
55
  @include focus-ring.theme(
44
56
  (
@@ -25,6 +25,10 @@
25
25
  justify-content: center;
26
26
  }
27
27
 
28
+ :host([touch-target='wrapper']) {
29
+ margin: max(0px, (48px - var(--_container-size)) / 2);
30
+ }
31
+
28
32
  md-focus-ring {
29
33
  @include focus-ring.theme(
30
34
  (
@@ -49,6 +53,7 @@
49
53
  display: flex;
50
54
  justify-content: center;
51
55
  outline: none;
56
+ padding: 0;
52
57
  position: relative;
53
58
  text-decoration: none;
54
59
  user-select: none;
@@ -100,4 +105,8 @@
100
105
  width: 48px;
101
106
  transform: translate(-50%, -50%);
102
107
  }
108
+
109
+ :host([touch-target='none']) .touch {
110
+ display: none;
111
+ }
103
112
  }
@@ -8,9 +8,10 @@ import '../../ripple/ripple.js';
8
8
  import { LitElement } from 'lit';
9
9
  import { internals } from '../../internal/controller/element-internals.js';
10
10
  import { FormSubmitter, FormSubmitterType } from '../../internal/controller/form-submitter.js';
11
+ type LinkTarget = '_blank' | '_parent' | '_self' | '_top';
11
12
  export declare class IconButton extends LitElement implements FormSubmitter {
12
13
  /** @nocollapse */
13
- static get formAssociated(): boolean;
14
+ static readonly formAssociated = true;
14
15
  /** @nocollapse */
15
16
  static shadowRootOptions: ShadowRootInit;
16
17
  /**
@@ -28,11 +29,11 @@ export declare class IconButton extends LitElement implements FormSubmitter {
28
29
  /**
29
30
  * Sets the underlying `HTMLAnchorElement`'s `target` attribute.
30
31
  */
31
- target: string;
32
+ target: LinkTarget | '';
32
33
  /**
33
34
  * The `aria-label` of the button when the button is toggleable and selected.
34
35
  */
35
- selectedAriaLabel: string;
36
+ ariaLabelSelected: string;
36
37
  /**
37
38
  * When true, the button will toggle between selected and unselected
38
39
  * states
@@ -40,18 +41,29 @@ export declare class IconButton extends LitElement implements FormSubmitter {
40
41
  toggle: boolean;
41
42
  /**
42
43
  * Sets the selected state. When false, displays the default icon. When true,
43
- * displays the `selectedIcon`, or the default icon If no `selectedIcon` is
44
- * provided.
44
+ * displays the selected icon, or the default icon If no `slot="selected"`
45
+ * icon is provided.
45
46
  */
46
47
  selected: boolean;
47
48
  type: FormSubmitterType;
49
+ value: string;
50
+ get name(): string;
51
+ set name(name: string);
52
+ /**
53
+ * The associated form element with which this element's value will submit.
54
+ */
55
+ get form(): HTMLFormElement;
56
+ /**
57
+ * The labels this element is associated with.
58
+ */
59
+ get labels(): NodeList;
48
60
  private flipIcon;
49
61
  /** @private */
50
62
  [internals]: ElementInternals;
51
63
  /**
52
64
  * Link buttons cannot be disabled.
53
65
  */
54
- willUpdate(): void;
66
+ protected willUpdate(): void;
55
67
  protected render(): import("lit-html").TemplateResult<2 | 1>;
56
68
  private renderLink;
57
69
  protected getRenderClasses(): {
@@ -66,3 +78,4 @@ export declare class IconButton extends LitElement implements FormSubmitter {
66
78
  connectedCallback(): void;
67
79
  private handleClick;
68
80
  }
81
+ export {};
@@ -35,6 +35,10 @@ export class IconButton extends LitElement {
35
35
  * Sets the underlying `HTMLAnchorElement`'s `target` attribute.
36
36
  */
37
37
  this.target = '';
38
+ /**
39
+ * The `aria-label` of the button when the button is toggleable and selected.
40
+ */
41
+ this.ariaLabelSelected = '';
38
42
  /**
39
43
  * When true, the button will toggle between selected and unselected
40
44
  * states
@@ -42,18 +46,33 @@ export class IconButton extends LitElement {
42
46
  this.toggle = false;
43
47
  /**
44
48
  * Sets the selected state. When false, displays the default icon. When true,
45
- * displays the `selectedIcon`, or the default icon If no `selectedIcon` is
46
- * provided.
49
+ * displays the selected icon, or the default icon If no `slot="selected"`
50
+ * icon is provided.
47
51
  */
48
52
  this.selected = false;
49
53
  this.type = 'submit';
54
+ this.value = '';
50
55
  this.flipIcon = isRtl(this, this.flipIconInRtl);
51
56
  /** @private */
52
57
  this[_a] = this /* needed for closure */.attachInternals();
53
58
  }
54
- /** @nocollapse */
55
- static get formAssociated() {
56
- return true;
59
+ get name() {
60
+ return this.getAttribute('name') ?? '';
61
+ }
62
+ set name(name) {
63
+ this.setAttribute('name', name);
64
+ }
65
+ /**
66
+ * The associated form element with which this element's value will submit.
67
+ */
68
+ get form() {
69
+ return this[internals].form;
70
+ }
71
+ /**
72
+ * The labels this element is associated with.
73
+ */
74
+ get labels() {
75
+ return this[internals].labels;
57
76
  }
58
77
  /**
59
78
  * Link buttons cannot be disabled.
@@ -67,12 +86,12 @@ export class IconButton extends LitElement {
67
86
  const tag = this.href ? literal `div` : literal `button`;
68
87
  // Needed for closure conformance
69
88
  const { ariaLabel, ariaHasPopup, ariaExpanded } = this;
70
- const hasToggledAriaLabel = ariaLabel && this.selectedAriaLabel;
71
- const ariaPressedValue = hasToggledAriaLabel ? nothing : this.selected;
89
+ const hasToggledAriaLabel = ariaLabel && this.ariaLabelSelected;
90
+ const ariaPressedValue = !this.toggle ? nothing : this.selected;
72
91
  let ariaLabelValue = nothing;
73
92
  if (!this.href) {
74
93
  ariaLabelValue = (hasToggledAriaLabel && this.selected) ?
75
- this.selectedAriaLabel :
94
+ this.ariaLabelSelected :
76
95
  ariaLabel;
77
96
  }
78
97
  return staticHtml `<${tag}
@@ -115,7 +134,7 @@ export class IconButton extends LitElement {
115
134
  }
116
135
  renderSelectedIcon() {
117
136
  // Use default slot as fallback to not require specifying multiple icons
118
- return html `<span class="icon icon--selected"><slot name="selectedIcon"><slot></slot></slot></span>`;
137
+ return html `<span class="icon icon--selected"><slot name="selected"><slot></slot></slot></span>`;
119
138
  }
120
139
  renderTouchTarget() {
121
140
  return html `<span class="touch"></span>`;
@@ -150,6 +169,8 @@ _a = internals;
150
169
  setupFormSubmitter(IconButton);
151
170
  })();
152
171
  /** @nocollapse */
172
+ IconButton.formAssociated = true;
173
+ /** @nocollapse */
153
174
  IconButton.shadowRootOptions = { mode: 'open', delegatesFocus: true };
154
175
  __decorate([
155
176
  property({ type: Boolean, reflect: true })
@@ -164,8 +185,8 @@ __decorate([
164
185
  property()
165
186
  ], IconButton.prototype, "target", void 0);
166
187
  __decorate([
167
- property({ attribute: 'selected-aria-label', reflect: true })
168
- ], IconButton.prototype, "selectedAriaLabel", void 0);
188
+ property({ attribute: 'aria-label-selected' })
189
+ ], IconButton.prototype, "ariaLabelSelected", void 0);
169
190
  __decorate([
170
191
  property({ type: Boolean })
171
192
  ], IconButton.prototype, "toggle", void 0);
@@ -175,6 +196,9 @@ __decorate([
175
196
  __decorate([
176
197
  property()
177
198
  ], IconButton.prototype, "type", void 0);
199
+ __decorate([
200
+ property()
201
+ ], IconButton.prototype, "value", void 0);
178
202
  __decorate([
179
203
  state()
180
204
  ], IconButton.prototype, "flipIcon", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["icon-button.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../../focus/md-focus-ring.js';\nimport '../../ripple/ripple.js';\n\nimport {html, LitElement, nothing} from 'lit';\nimport {property, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {html as staticHtml, literal} from 'lit/static-html.js';\n\nimport {ARIAMixinStrict} from '../../internal/aria/aria.js';\nimport {requestUpdateOnAriaChange} from '../../internal/aria/delegate.js';\nimport {internals} from '../../internal/controller/element-internals.js';\nimport {FormSubmitter, FormSubmitterType, setupFormSubmitter} from '../../internal/controller/form-submitter.js';\nimport {isRtl} from '../../internal/controller/is-rtl.js';\n\ntype LinkTarget = '_blank'|'_parent'|'_self'|'_top';\n\n// tslint:disable-next-line:enforce-comments-on-exported-symbols\nexport class IconButton extends LitElement implements FormSubmitter {\n static {\n requestUpdateOnAriaChange(IconButton);\n setupFormSubmitter(IconButton);\n }\n\n /** @nocollapse */\n static get formAssociated() {\n return true;\n }\n\n /** @nocollapse */\n static override shadowRootOptions:\n ShadowRootInit = {mode: 'open', delegatesFocus: true};\n\n /**\n * Disables the icon button and makes it non-interactive.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n\n /**\n * Flips the icon if it is in an RTL context at startup.\n */\n @property({type: Boolean, attribute: 'flip-icon-in-rtl'})\n flipIconInRtl = false;\n\n /**\n * Sets the underlying `HTMLAnchorElement`'s `href` resource attribute.\n */\n @property() href = '';\n\n /**\n * Sets the underlying `HTMLAnchorElement`'s `target` attribute.\n */\n @property() target = '';\n\n /**\n * The `aria-label` of the button when the button is toggleable and selected.\n */\n @property({attribute: 'selected-aria-label', reflect: true})\n selectedAriaLabel!: string;\n\n /**\n * When true, the button will toggle between selected and unselected\n * states\n */\n @property({type: Boolean}) toggle = false;\n\n /**\n * Sets the selected state. When false, displays the default icon. When true,\n * displays the `selectedIcon`, or the default icon If no `selectedIcon` is\n * provided.\n */\n @property({type: Boolean, reflect: true}) selected = false;\n\n @property() type: FormSubmitterType = 'submit';\n\n @state() private flipIcon = isRtl(this, this.flipIconInRtl);\n\n /** @private */\n [internals] =\n (this as HTMLElement /* needed for closure */).attachInternals();\n\n /**\n * Link buttons cannot be disabled.\n */\n override willUpdate() {\n if (this.href) {\n this.disabled = false;\n }\n }\n\n protected override render() {\n const tag = this.href ? literal`div` : literal`button`;\n // Needed for closure conformance\n const {ariaLabel, ariaHasPopup, ariaExpanded} = this as ARIAMixinStrict;\n const hasToggledAriaLabel = ariaLabel && this.selectedAriaLabel;\n const ariaPressedValue = hasToggledAriaLabel ? nothing : this.selected;\n let ariaLabelValue: string|null|typeof nothing = nothing;\n if (!this.href) {\n ariaLabelValue = (hasToggledAriaLabel && this.selected) ?\n this.selectedAriaLabel :\n ariaLabel;\n }\n return staticHtml`<${tag}\n class=\"icon-button ${classMap(this.getRenderClasses())}\"\n id=\"button\"\n aria-label=\"${ariaLabelValue || nothing}\"\n aria-haspopup=\"${!this.href && ariaHasPopup || nothing}\"\n aria-expanded=\"${!this.href && ariaExpanded || nothing}\"\n aria-pressed=\"${ariaPressedValue}\"\n ?disabled=\"${!this.href && this.disabled}\"\n @click=\"${this.handleClick}\">\n ${this.renderFocusRing()}\n ${this.renderRipple()}\n ${!this.selected ? this.renderIcon() : nothing}\n ${this.selected ? this.renderSelectedIcon() : nothing}\n ${this.renderTouchTarget()}\n ${this.href && this.renderLink()}\n </${tag}>`;\n }\n\n private renderLink() {\n // Needed for closure conformance\n const {ariaLabel} = this as ARIAMixinStrict;\n return html`\n <a class=\"link\"\n id=\"link\"\n href=\"${this.href}\"\n target=\"${this.target as LinkTarget || nothing}\"\n aria-label=\"${ariaLabel || nothing}\"\n ></a>\n `;\n }\n\n protected getRenderClasses() {\n return {\n 'flip-icon': this.flipIcon,\n 'selected': this.toggle && this.selected,\n };\n }\n\n private renderIcon() {\n return html`<span class=\"icon\"><slot></slot></span>`;\n }\n\n private renderSelectedIcon() {\n // Use default slot as fallback to not require specifying multiple icons\n return html`<span class=\"icon icon--selected\"><slot name=\"selectedIcon\"><slot></slot></slot></span>`;\n }\n\n private renderTouchTarget() {\n return html`<span class=\"touch\"></span>`;\n }\n\n private renderFocusRing() {\n return html`<md-focus-ring part=\"focus-ring\" for=${\n this.href ? 'link' : 'button'}></md-focus-ring>`;\n }\n\n private renderRipple() {\n return html`<md-ripple\n for=${this.href ? 'link' : nothing}\n ?disabled=\"${!this.href && this.disabled}\"\n ></md-ripple>`;\n }\n\n override connectedCallback() {\n this.flipIcon = isRtl(this, this.flipIconInRtl);\n super.connectedCallback();\n }\n\n private handleClick() {\n if (!this.toggle || 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"]}
1
+ {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["icon-button.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../../focus/md-focus-ring.js';\nimport '../../ripple/ripple.js';\n\nimport {html, LitElement, nothing} from 'lit';\nimport {property, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {html as staticHtml, literal} from 'lit/static-html.js';\n\nimport {ARIAMixinStrict} from '../../internal/aria/aria.js';\nimport {requestUpdateOnAriaChange} from '../../internal/aria/delegate.js';\nimport {internals} from '../../internal/controller/element-internals.js';\nimport {FormSubmitter, FormSubmitterType, setupFormSubmitter} from '../../internal/controller/form-submitter.js';\nimport {isRtl} from '../../internal/controller/is-rtl.js';\n\ntype LinkTarget = '_blank'|'_parent'|'_self'|'_top';\n\n// tslint:disable-next-line:enforce-comments-on-exported-symbols\nexport class IconButton extends LitElement implements FormSubmitter {\n static {\n requestUpdateOnAriaChange(IconButton);\n setupFormSubmitter(IconButton);\n }\n\n /** @nocollapse */\n static readonly formAssociated = true;\n\n /** @nocollapse */\n static override shadowRootOptions:\n ShadowRootInit = {mode: 'open', delegatesFocus: true};\n\n /**\n * Disables the icon button and makes it non-interactive.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n\n /**\n * Flips the icon if it is in an RTL context at startup.\n */\n @property({type: Boolean, attribute: 'flip-icon-in-rtl'})\n flipIconInRtl = false;\n\n /**\n * Sets the underlying `HTMLAnchorElement`'s `href` resource attribute.\n */\n @property() href = '';\n\n /**\n * Sets the underlying `HTMLAnchorElement`'s `target` attribute.\n */\n @property() target: LinkTarget|'' = '';\n\n /**\n * The `aria-label` of the button when the button is toggleable and selected.\n */\n @property({attribute: 'aria-label-selected'}) ariaLabelSelected = '';\n\n /**\n * When true, the button will toggle between selected and unselected\n * states\n */\n @property({type: Boolean}) toggle = false;\n\n /**\n * Sets the selected state. When false, displays the default icon. When true,\n * displays the selected icon, or the default icon If no `slot=\"selected\"`\n * icon is provided.\n */\n @property({type: Boolean, reflect: true}) selected = false;\n\n @property() type: FormSubmitterType = 'submit';\n\n @property() value = '';\n\n get name() {\n return this.getAttribute('name') ?? '';\n }\n set name(name: string) {\n this.setAttribute('name', name);\n }\n\n /**\n * The associated form element with which this element's value will submit.\n */\n get form() {\n return this[internals].form;\n }\n\n /**\n * The labels this element is associated with.\n */\n get labels() {\n return this[internals].labels;\n }\n\n @state() private flipIcon = isRtl(this, this.flipIconInRtl);\n\n /** @private */\n [internals] =\n (this as HTMLElement /* needed for closure */).attachInternals();\n\n /**\n * Link buttons cannot be disabled.\n */\n protected override willUpdate() {\n if (this.href) {\n this.disabled = false;\n }\n }\n\n protected override render() {\n const tag = this.href ? literal`div` : literal`button`;\n // Needed for closure conformance\n const {ariaLabel, ariaHasPopup, ariaExpanded} = this as ARIAMixinStrict;\n const hasToggledAriaLabel = ariaLabel && this.ariaLabelSelected;\n const ariaPressedValue = !this.toggle ? nothing : this.selected;\n let ariaLabelValue: string|null|typeof nothing = nothing;\n if (!this.href) {\n ariaLabelValue = (hasToggledAriaLabel && this.selected) ?\n this.ariaLabelSelected :\n ariaLabel;\n }\n return staticHtml`<${tag}\n class=\"icon-button ${classMap(this.getRenderClasses())}\"\n id=\"button\"\n aria-label=\"${ariaLabelValue || nothing}\"\n aria-haspopup=\"${!this.href && ariaHasPopup || nothing}\"\n aria-expanded=\"${!this.href && ariaExpanded || nothing}\"\n aria-pressed=\"${ariaPressedValue}\"\n ?disabled=\"${!this.href && this.disabled}\"\n @click=\"${this.handleClick}\">\n ${this.renderFocusRing()}\n ${this.renderRipple()}\n ${!this.selected ? this.renderIcon() : nothing}\n ${this.selected ? this.renderSelectedIcon() : nothing}\n ${this.renderTouchTarget()}\n ${this.href && this.renderLink()}\n </${tag}>`;\n }\n\n private renderLink() {\n // Needed for closure conformance\n const {ariaLabel} = this as ARIAMixinStrict;\n return html`\n <a class=\"link\"\n id=\"link\"\n href=\"${this.href}\"\n target=\"${this.target || nothing}\"\n aria-label=\"${ariaLabel || nothing}\"\n ></a>\n `;\n }\n\n protected getRenderClasses() {\n return {\n 'flip-icon': this.flipIcon,\n 'selected': this.toggle && this.selected,\n };\n }\n\n private renderIcon() {\n return html`<span class=\"icon\"><slot></slot></span>`;\n }\n\n private renderSelectedIcon() {\n // Use default slot as fallback to not require specifying multiple icons\n return html`<span class=\"icon icon--selected\"><slot name=\"selected\"><slot></slot></slot></span>`;\n }\n\n private renderTouchTarget() {\n return html`<span class=\"touch\"></span>`;\n }\n\n private renderFocusRing() {\n return html`<md-focus-ring part=\"focus-ring\" for=${\n this.href ? 'link' : 'button'}></md-focus-ring>`;\n }\n\n private renderRipple() {\n return html`<md-ripple\n for=${this.href ? 'link' : nothing}\n ?disabled=\"${!this.href && this.disabled}\"\n ></md-ripple>`;\n }\n\n override connectedCallback() {\n this.flipIcon = isRtl(this, this.flipIconInRtl);\n super.connectedCallback();\n }\n\n private handleClick() {\n if (!this.toggle || 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"]}
@@ -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{display:inline-flex;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);height:var(--_container-size);width:var(--_container-size);justify-content:center}md-focus-ring{--md-focus-ring-shape-start-start: var(--_container-shape-start-start);--md-focus-ring-shape-start-end: var(--_container-shape-start-end);--md-focus-ring-shape-end-end: var(--_container-shape-end-end);--md-focus-ring-shape-end-start: var(--_container-shape-end-start)}:host([disabled]){pointer-events:none}.icon-button{align-items:center;background:none;border:none;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;outline:none;position:relative;text-decoration:none;user-select:none;z-index:0;flex:1;border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end)}.icon ::slotted(*){font-size:var(--_icon-size);height:var(--_icon-size);width:var(--_icon-size);font-weight:inherit}md-ripple{z-index:-1;border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end)}.flip-icon .icon{transform:scaleX(-1)}.icon{display:inline-flex}.link{height:100%;outline:none;position:absolute;width:100%}.touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}/*# sourceMappingURL=shared-styles.css.map */
7
+ export const styles = css `:host{display:inline-flex;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);height:var(--_container-size);width:var(--_container-size);justify-content:center}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--_container-size))/2)}md-focus-ring{--md-focus-ring-shape-start-start: var(--_container-shape-start-start);--md-focus-ring-shape-start-end: var(--_container-shape-start-end);--md-focus-ring-shape-end-end: var(--_container-shape-end-end);--md-focus-ring-shape-end-start: var(--_container-shape-end-start)}:host([disabled]){pointer-events:none}.icon-button{align-items:center;background:none;border:none;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;outline:none;padding:0;position:relative;text-decoration:none;user-select:none;z-index:0;flex:1;border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end)}.icon ::slotted(*){font-size:var(--_icon-size);height:var(--_icon-size);width:var(--_icon-size);font-weight:inherit}md-ripple{z-index:-1;border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end)}.flip-icon .icon{transform:scaleX(-1)}.icon{display:inline-flex}.link{height:100%;outline:none;position:absolute;width:100%}.touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}:host([touch-target=none]) .touch{display:none}/*# sourceMappingURL=shared-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=shared-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared-styles.css.js","sourceRoot":"","sources":["shared-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{display:inline-flex;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);height:var(--_container-size);width:var(--_container-size);justify-content:center}md-focus-ring{--md-focus-ring-shape-start-start: var(--_container-shape-start-start);--md-focus-ring-shape-start-end: var(--_container-shape-start-end);--md-focus-ring-shape-end-end: var(--_container-shape-end-end);--md-focus-ring-shape-end-start: var(--_container-shape-end-start)}:host([disabled]){pointer-events:none}.icon-button{align-items:center;background:none;border:none;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;outline:none;position:relative;text-decoration:none;user-select:none;z-index:0;flex:1;border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end)}.icon ::slotted(*){font-size:var(--_icon-size);height:var(--_icon-size);width:var(--_icon-size);font-weight:inherit}md-ripple{z-index:-1;border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end)}.flip-icon .icon{transform:scaleX(-1)}.icon{display:inline-flex}.link{height:100%;outline:none;position:absolute;width:100%}.touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}/*# sourceMappingURL=shared-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"shared-styles.css.js","sourceRoot":"","sources":["shared-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{display:inline-flex;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);height:var(--_container-size);width:var(--_container-size);justify-content:center}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--_container-size))/2)}md-focus-ring{--md-focus-ring-shape-start-start: var(--_container-shape-start-start);--md-focus-ring-shape-start-end: var(--_container-shape-start-end);--md-focus-ring-shape-end-end: var(--_container-shape-end-end);--md-focus-ring-shape-end-start: var(--_container-shape-end-start)}:host([disabled]){pointer-events:none}.icon-button{align-items:center;background:none;border:none;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;outline:none;padding:0;position:relative;text-decoration:none;user-select:none;z-index:0;flex:1;border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end)}.icon ::slotted(*){font-size:var(--_icon-size);height:var(--_icon-size);width:var(--_icon-size);font-weight:inherit}md-ripple{z-index:-1;border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end)}.flip-icon .icon{transform:scaleX(-1)}.icon{display:inline-flex}.link{height:100%;outline:none;position:absolute;width:100%}.touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}:host([touch-target=none]) .touch{display:none}/*# sourceMappingURL=shared-styles.css.map */\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{--_disabled-icon-color: var(--md-icon-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-icon-button-disabled-icon-opacity, 0.38);--_icon-size: var(--md-icon-button-icon-size, 24px);--_selected-focus-icon-color: var(--md-icon-button-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-icon-color: var(--md-icon-button-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-color: var(--md-icon-button-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-opacity: var(--md-icon-button-selected-hover-state-layer-opacity, 0.08);--_selected-icon-color: var(--md-icon-button-selected-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-icon-color: var(--md-icon-button-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-state-layer-color: var(--md-icon-button-selected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-state-layer-opacity: var(--md-icon-button-selected-pressed-state-layer-opacity, 0.12);--_state-layer-shape: var(--md-icon-button-state-layer-shape, 9999px);--_state-layer-size: var(--md-icon-button-state-layer-size, 40px);--_focus-icon-color: var(--md-icon-button-focus-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-icon-color: var(--md-icon-button-hover-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-color: var(--md-icon-button-hover-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-opacity: var(--md-icon-button-hover-state-layer-opacity, 0.08);--_icon-color: var(--md-icon-button-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-icon-color: var(--md-icon-button-pressed-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-state-layer-color: var(--md-icon-button-pressed-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-state-layer-opacity: var(--md-icon-button-pressed-state-layer-opacity, 0.12);height:var(--_state-layer-size);width:var(--_state-layer-size)}md-focus-ring{--md-focus-ring-shape-start-start: var(--_state-layer-shape);--md-focus-ring-shape-start-end: var(--_state-layer-shape);--md-focus-ring-shape-end-end: var(--_state-layer-shape);--md-focus-ring-shape-end-start: var(--_state-layer-shape)}.standard{background-color:rgba(0,0,0,0);color:var(--_icon-color);--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}.standard:hover{color:var(--_hover-icon-color)}.standard:focus{color:var(--_focus-icon-color)}.standard:active{color:var(--_pressed-icon-color)}.standard:disabled{color:var(--_disabled-icon-color)}md-ripple{border-radius:var(--_state-layer-shape)}.standard:disabled .icon{opacity:var(--_disabled-icon-opacity)}.selected{--md-ripple-hover-color: var(--_selected-hover-state-layer-color);--md-ripple-hover-opacity: var(--_selected-hover-state-layer-opacity);--md-ripple-pressed-color: var(--_selected-pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_selected-pressed-state-layer-opacity)}.selected:not(:disabled){color:var(--_selected-icon-color)}.selected:not(:disabled):hover{color:var(--_selected-hover-icon-color)}.selected:not(:disabled):focus{color:var(--_selected-focus-icon-color)}.selected:not(:disabled):active{color:var(--_selected-pressed-icon-color)}/*# sourceMappingURL=standard-styles.css.map */
7
+ export const styles = css `:host{--_disabled-icon-color: var(--md-icon-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-icon-button-disabled-icon-opacity, 0.38);--_icon-size: var(--md-icon-button-icon-size, 24px);--_selected-focus-icon-color: var(--md-icon-button-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-icon-color: var(--md-icon-button-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-color: var(--md-icon-button-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-opacity: var(--md-icon-button-selected-hover-state-layer-opacity, 0.08);--_selected-icon-color: var(--md-icon-button-selected-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-icon-color: var(--md-icon-button-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-state-layer-color: var(--md-icon-button-selected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-state-layer-opacity: var(--md-icon-button-selected-pressed-state-layer-opacity, 0.12);--_state-layer-shape: var(--md-icon-button-state-layer-shape, 9999px);--_state-layer-size: var(--md-icon-button-state-layer-size, 40px);--_focus-icon-color: var(--md-icon-button-focus-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-icon-color: var(--md-icon-button-hover-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-color: var(--md-icon-button-hover-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-opacity: var(--md-icon-button-hover-state-layer-opacity, 0.08);--_icon-color: var(--md-icon-button-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-icon-color: var(--md-icon-button-pressed-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-state-layer-color: var(--md-icon-button-pressed-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-state-layer-opacity: var(--md-icon-button-pressed-state-layer-opacity, 0.12);--_container-shape-start-start: 0;--_container-shape-start-end: 0;--_container-shape-end-end: 0;--_container-shape-end-start: 0;--_container-size: 0;height:var(--_state-layer-size);width:var(--_state-layer-size)}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--_state-layer-size))/2)}md-focus-ring{--md-focus-ring-shape-start-start: var(--_state-layer-shape);--md-focus-ring-shape-start-end: var(--_state-layer-shape);--md-focus-ring-shape-end-end: var(--_state-layer-shape);--md-focus-ring-shape-end-start: var(--_state-layer-shape)}.standard{background-color:rgba(0,0,0,0);color:var(--_icon-color);--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}.standard:hover{color:var(--_hover-icon-color)}.standard:focus{color:var(--_focus-icon-color)}.standard:active{color:var(--_pressed-icon-color)}.standard:disabled{color:var(--_disabled-icon-color)}md-ripple{border-radius:var(--_state-layer-shape)}.standard:disabled .icon{opacity:var(--_disabled-icon-opacity)}.selected{--md-ripple-hover-color: var(--_selected-hover-state-layer-color);--md-ripple-hover-opacity: var(--_selected-hover-state-layer-opacity);--md-ripple-pressed-color: var(--_selected-pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_selected-pressed-state-layer-opacity)}.selected:not(:disabled){color:var(--_selected-icon-color)}.selected:not(:disabled):hover{color:var(--_selected-hover-icon-color)}.selected:not(:disabled):focus{color:var(--_selected-focus-icon-color)}.selected:not(:disabled):active{color:var(--_selected-pressed-icon-color)}/*# sourceMappingURL=standard-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=standard-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standard-styles.css.js","sourceRoot":"","sources":["standard-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{--_disabled-icon-color: var(--md-icon-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-icon-button-disabled-icon-opacity, 0.38);--_icon-size: var(--md-icon-button-icon-size, 24px);--_selected-focus-icon-color: var(--md-icon-button-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-icon-color: var(--md-icon-button-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-color: var(--md-icon-button-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-opacity: var(--md-icon-button-selected-hover-state-layer-opacity, 0.08);--_selected-icon-color: var(--md-icon-button-selected-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-icon-color: var(--md-icon-button-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-state-layer-color: var(--md-icon-button-selected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-state-layer-opacity: var(--md-icon-button-selected-pressed-state-layer-opacity, 0.12);--_state-layer-shape: var(--md-icon-button-state-layer-shape, 9999px);--_state-layer-size: var(--md-icon-button-state-layer-size, 40px);--_focus-icon-color: var(--md-icon-button-focus-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-icon-color: var(--md-icon-button-hover-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-color: var(--md-icon-button-hover-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-opacity: var(--md-icon-button-hover-state-layer-opacity, 0.08);--_icon-color: var(--md-icon-button-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-icon-color: var(--md-icon-button-pressed-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-state-layer-color: var(--md-icon-button-pressed-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-state-layer-opacity: var(--md-icon-button-pressed-state-layer-opacity, 0.12);height:var(--_state-layer-size);width:var(--_state-layer-size)}md-focus-ring{--md-focus-ring-shape-start-start: var(--_state-layer-shape);--md-focus-ring-shape-start-end: var(--_state-layer-shape);--md-focus-ring-shape-end-end: var(--_state-layer-shape);--md-focus-ring-shape-end-start: var(--_state-layer-shape)}.standard{background-color:rgba(0,0,0,0);color:var(--_icon-color);--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}.standard:hover{color:var(--_hover-icon-color)}.standard:focus{color:var(--_focus-icon-color)}.standard:active{color:var(--_pressed-icon-color)}.standard:disabled{color:var(--_disabled-icon-color)}md-ripple{border-radius:var(--_state-layer-shape)}.standard:disabled .icon{opacity:var(--_disabled-icon-opacity)}.selected{--md-ripple-hover-color: var(--_selected-hover-state-layer-color);--md-ripple-hover-opacity: var(--_selected-hover-state-layer-opacity);--md-ripple-pressed-color: var(--_selected-pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_selected-pressed-state-layer-opacity)}.selected:not(:disabled){color:var(--_selected-icon-color)}.selected:not(:disabled):hover{color:var(--_selected-hover-icon-color)}.selected:not(:disabled):focus{color:var(--_selected-focus-icon-color)}.selected:not(:disabled):active{color:var(--_selected-pressed-icon-color)}/*# sourceMappingURL=standard-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"standard-styles.css.js","sourceRoot":"","sources":["standard-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{--_disabled-icon-color: var(--md-icon-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-icon-button-disabled-icon-opacity, 0.38);--_icon-size: var(--md-icon-button-icon-size, 24px);--_selected-focus-icon-color: var(--md-icon-button-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-icon-color: var(--md-icon-button-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-color: var(--md-icon-button-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-opacity: var(--md-icon-button-selected-hover-state-layer-opacity, 0.08);--_selected-icon-color: var(--md-icon-button-selected-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-icon-color: var(--md-icon-button-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-state-layer-color: var(--md-icon-button-selected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-state-layer-opacity: var(--md-icon-button-selected-pressed-state-layer-opacity, 0.12);--_state-layer-shape: var(--md-icon-button-state-layer-shape, 9999px);--_state-layer-size: var(--md-icon-button-state-layer-size, 40px);--_focus-icon-color: var(--md-icon-button-focus-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-icon-color: var(--md-icon-button-hover-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-color: var(--md-icon-button-hover-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-opacity: var(--md-icon-button-hover-state-layer-opacity, 0.08);--_icon-color: var(--md-icon-button-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-icon-color: var(--md-icon-button-pressed-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-state-layer-color: var(--md-icon-button-pressed-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-state-layer-opacity: var(--md-icon-button-pressed-state-layer-opacity, 0.12);--_container-shape-start-start: 0;--_container-shape-start-end: 0;--_container-shape-end-end: 0;--_container-shape-end-start: 0;--_container-size: 0;height:var(--_state-layer-size);width:var(--_state-layer-size)}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--_state-layer-size))/2)}md-focus-ring{--md-focus-ring-shape-start-start: var(--_state-layer-shape);--md-focus-ring-shape-start-end: var(--_state-layer-shape);--md-focus-ring-shape-end-end: var(--_state-layer-shape);--md-focus-ring-shape-end-start: var(--_state-layer-shape)}.standard{background-color:rgba(0,0,0,0);color:var(--_icon-color);--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}.standard:hover{color:var(--_hover-icon-color)}.standard:focus{color:var(--_focus-icon-color)}.standard:active{color:var(--_pressed-icon-color)}.standard:disabled{color:var(--_disabled-icon-color)}md-ripple{border-radius:var(--_state-layer-shape)}.standard:disabled .icon{opacity:var(--_disabled-icon-opacity)}.selected{--md-ripple-hover-color: var(--_selected-hover-state-layer-color);--md-ripple-hover-opacity: var(--_selected-hover-state-layer-opacity);--md-ripple-pressed-color: var(--_selected-pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_selected-pressed-state-layer-opacity)}.selected:not(:disabled){color:var(--_selected-icon-color)}.selected:not(:disabled):hover{color:var(--_selected-hover-icon-color)}.selected:not(:disabled):focus{color:var(--_selected-focus-icon-color)}.selected:not(:disabled):active{color:var(--_selected-pressed-icon-color)}/*# sourceMappingURL=standard-styles.css.map */\n`;\n "]}