@material/web 1.0.0-pre.1 → 1.0.0-pre.2

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 (417) hide show
  1. package/README.md +66 -19
  2. package/autocomplete/lib/_filled-autocomplete.scss +1 -34
  3. package/autocomplete/lib/_outlined-autocomplete.scss +1 -34
  4. package/autocomplete/lib/autocomplete.d.ts +0 -4
  5. package/autocomplete/lib/autocomplete.js +5 -12
  6. package/autocomplete/lib/autocomplete.js.map +1 -1
  7. package/autocomplete/lib/autocompleteitem/autocomplete-item.d.ts +2 -2
  8. package/autocomplete/lib/autocompleteitem/autocomplete-item.js +2 -2
  9. package/autocomplete/lib/autocompleteitem/autocomplete-item.js.map +1 -1
  10. package/autocomplete/lib/autocompletelist/autocomplete-list.d.ts +1 -1
  11. package/autocomplete/lib/autocompletelist/autocomplete-list.js +2 -2
  12. package/autocomplete/lib/autocompletelist/autocomplete-list.js.map +1 -1
  13. package/autocomplete/lib/filled-styles.css.js +1 -1
  14. package/autocomplete/lib/filled-styles.css.js.map +1 -1
  15. package/autocomplete/lib/outlined-styles.css.js +1 -1
  16. package/autocomplete/lib/outlined-styles.css.js.map +1 -1
  17. package/button/lib/_elevation.scss +1 -1
  18. package/button/lib/_icon.scss +14 -24
  19. package/button/lib/_shared.scss +1 -0
  20. package/button/lib/button.d.ts +0 -3
  21. package/button/lib/button.js +1 -12
  22. package/button/lib/button.js.map +1 -1
  23. package/button/lib/filled-styles.css.js +1 -1
  24. package/button/lib/filled-styles.css.js.map +1 -1
  25. package/button/lib/link-button.d.ts +0 -1
  26. package/button/lib/link-button.js +0 -5
  27. package/button/lib/link-button.js.map +1 -1
  28. package/button/lib/shared-elevation-styles.css.js +1 -1
  29. package/button/lib/shared-elevation-styles.css.js.map +1 -1
  30. package/button/lib/shared-styles.css.js +1 -1
  31. package/button/lib/shared-styles.css.js.map +1 -1
  32. package/checkbox/checkbox.d.ts +11 -2
  33. package/checkbox/checkbox.js +11 -2
  34. package/checkbox/checkbox.js.map +1 -1
  35. package/checkbox/lib/checkbox.d.ts +28 -0
  36. package/checkbox/lib/checkbox.js +30 -1
  37. package/checkbox/lib/checkbox.js.map +1 -1
  38. package/chips/chip/lib/_chip-theme.scss +1 -1
  39. package/dialog/_dialog.scss +6 -0
  40. package/dialog/dialog.d.ts +38 -0
  41. package/dialog/dialog.js +41 -0
  42. package/dialog/dialog.js.map +1 -0
  43. package/dialog/harness.d.ts +18 -0
  44. package/dialog/harness.js +55 -0
  45. package/dialog/harness.js.map +1 -0
  46. package/dialog/lib/_dialog.scss +386 -0
  47. package/dialog/lib/_tokens.scss +86 -0
  48. package/{list/lib/divider/list-divider-styles.css.d.ts → dialog/lib/dialog-styles.css.d.ts} +0 -0
  49. package/dialog/lib/dialog-styles.css.js +9 -0
  50. package/dialog/lib/dialog-styles.css.js.map +1 -0
  51. package/dialog/lib/dialog-styles.scss +8 -0
  52. package/dialog/lib/dialog.d.ts +190 -0
  53. package/dialog/lib/dialog.js +566 -0
  54. package/dialog/lib/dialog.js.map +1 -0
  55. package/divider/_divider.scss +6 -0
  56. package/divider/divider.d.ts +24 -0
  57. package/divider/divider.js +27 -0
  58. package/divider/divider.js.map +1 -0
  59. package/divider/lib/_divider.scss +54 -0
  60. package/{menu/lib/menu-button-styles.css.d.ts → divider/lib/divider-styles.css.d.ts} +0 -0
  61. package/divider/lib/divider-styles.css.js +9 -0
  62. package/divider/lib/divider-styles.css.js.map +1 -0
  63. package/divider/lib/divider-styles.scss +8 -0
  64. package/divider/lib/divider.d.ts +23 -0
  65. package/divider/lib/divider.js +41 -0
  66. package/divider/lib/divider.js.map +1 -0
  67. package/elevation/lib/_elevation.scss +1 -1
  68. package/elevation/lib/_md-comp-elevation.scss +1 -1
  69. package/elevation/lib/elevation-styles.css.js +1 -1
  70. package/elevation/lib/elevation-styles.css.js.map +1 -1
  71. package/fab/lib/_shared.scss +1 -1
  72. package/fab/lib/fab-shared-styles.css.js +1 -1
  73. package/fab/lib/fab-shared-styles.css.js.map +1 -1
  74. package/field/lib/_filled-field.scss +5 -2
  75. package/field/lib/_md-comp-filled-field.scss +3 -1
  76. package/field/lib/_md-comp-outlined-field.scss +1 -1
  77. package/field/lib/_shared.scss +2 -0
  78. package/field/lib/field.d.ts +0 -2
  79. package/field/lib/field.js +2 -4
  80. package/field/lib/field.js.map +1 -1
  81. package/field/lib/filled-styles.css.js +1 -1
  82. package/field/lib/filled-styles.css.js.map +1 -1
  83. package/field/lib/outlined-styles.css.js +1 -1
  84. package/field/lib/outlined-styles.css.js.map +1 -1
  85. package/field/lib/shared-styles.css.js +1 -1
  86. package/field/lib/shared-styles.css.js.map +1 -1
  87. package/focus/lib/_focus-ring.scss +3 -10
  88. package/focus/lib/focus-ring-styles.css.js +1 -1
  89. package/focus/lib/focus-ring-styles.css.js.map +1 -1
  90. package/focus/lib/focus-ring.d.ts +1 -4
  91. package/focus/lib/focus-ring.js +2 -11
  92. package/focus/lib/focus-ring.js.map +1 -1
  93. package/iconbutton/lib/_filled-icon-button.scss +1 -1
  94. package/iconbutton/lib/_filled-tonal-icon-button.scss +1 -1
  95. package/iconbutton/lib/_outlined-icon-button.scss +7 -5
  96. package/iconbutton/lib/_shared.scss +5 -25
  97. package/iconbutton/lib/_standard-icon-button.scss +4 -6
  98. package/iconbutton/lib/filled-styles.css.js +1 -1
  99. package/iconbutton/lib/filled-styles.css.js.map +1 -1
  100. package/iconbutton/lib/filled-tonal-styles.css.js +1 -1
  101. package/iconbutton/lib/filled-tonal-styles.css.js.map +1 -1
  102. package/iconbutton/lib/icon-button-toggle.d.ts +13 -42
  103. package/iconbutton/lib/icon-button-toggle.js +33 -103
  104. package/iconbutton/lib/icon-button-toggle.js.map +1 -1
  105. package/iconbutton/lib/icon-button.d.ts +2 -4
  106. package/iconbutton/lib/icon-button.js +3 -9
  107. package/iconbutton/lib/icon-button.js.map +1 -1
  108. package/iconbutton/lib/outlined-styles.css.js +1 -1
  109. package/iconbutton/lib/outlined-styles.css.js.map +1 -1
  110. package/iconbutton/lib/shared-styles.css.js +1 -1
  111. package/iconbutton/lib/shared-styles.css.js.map +1 -1
  112. package/iconbutton/lib/standard-styles.css.js +1 -1
  113. package/iconbutton/lib/standard-styles.css.js.map +1 -1
  114. package/list/lib/_list.scss +32 -40
  115. package/list/lib/avatar/_list-item-avatar.scss +1 -1
  116. package/list/lib/avatar/list-item-avatar-styles.css.js +1 -1
  117. package/list/lib/avatar/list-item-avatar-styles.css.js.map +1 -1
  118. package/list/lib/avatar/list-item-avatar.d.ts +9 -4
  119. package/list/lib/avatar/list-item-avatar.js +24 -11
  120. package/list/lib/avatar/list-item-avatar.js.map +1 -1
  121. package/list/lib/icon/_list-item-icon.scss +3 -1
  122. package/list/lib/icon/list-item-icon-styles.css.js +1 -1
  123. package/list/lib/icon/list-item-icon-styles.css.js.map +1 -1
  124. package/list/lib/icon/list-item-icon.d.ts +0 -3
  125. package/list/lib/icon/list-item-icon.js +1 -12
  126. package/list/lib/icon/list-item-icon.js.map +1 -1
  127. package/list/lib/image/_list-item-image.scss +1 -1
  128. package/list/lib/image/list-item-image-styles.css.js +1 -1
  129. package/list/lib/image/list-item-image-styles.css.js.map +1 -1
  130. package/list/lib/image/list-item-image.d.ts +11 -4
  131. package/list/lib/image/list-item-image.js +24 -13
  132. package/list/lib/image/list-item-image.js.map +1 -1
  133. package/list/lib/list-styles.css.js +1 -1
  134. package/list/lib/list-styles.css.js.map +1 -1
  135. package/list/lib/list.d.ts +99 -28
  136. package/list/lib/list.js +210 -111
  137. package/list/lib/list.js.map +1 -1
  138. package/list/lib/listitem/_list-item.scss +104 -39
  139. package/list/lib/listitem/harness.js +2 -1
  140. package/list/lib/listitem/harness.js.map +1 -1
  141. package/{tokens/v0_150/index.test.css.d.ts → list/lib/listitem/list-item-private-styles.css.d.ts} +0 -0
  142. package/list/lib/listitem/list-item-private-styles.css.js +9 -0
  143. package/list/lib/listitem/list-item-private-styles.css.js.map +1 -0
  144. package/list/lib/listitem/list-item-private-styles.scss +8 -0
  145. package/list/lib/listitem/list-item-styles.css.js +1 -1
  146. package/list/lib/listitem/list-item-styles.css.js.map +1 -1
  147. package/list/lib/listitem/list-item.d.ts +99 -43
  148. package/list/lib/listitem/list-item.js +201 -172
  149. package/list/lib/listitem/list-item.js.map +1 -1
  150. package/list/lib/listitemlink/list-item-link.d.ts +17 -0
  151. package/list/lib/listitemlink/list-item-link.js +42 -0
  152. package/list/lib/listitemlink/list-item-link.js.map +1 -0
  153. package/list/lib/video/_list-item-video.scss +10 -4
  154. package/list/lib/video/list-item-video-styles.css.js +1 -1
  155. package/list/lib/video/list-item-video-styles.css.js.map +1 -1
  156. package/list/lib/video/list-item-video.d.ts +43 -4
  157. package/list/lib/video/list-item-video.js +90 -12
  158. package/list/lib/video/list-item-video.js.map +1 -1
  159. package/list/list-item-avatar.d.ts +2 -1
  160. package/list/list-item-avatar.js +2 -1
  161. package/list/list-item-avatar.js.map +1 -1
  162. package/list/list-item-icon.d.ts +2 -1
  163. package/list/list-item-icon.js +2 -1
  164. package/list/list-item-icon.js.map +1 -1
  165. package/list/list-item-image.d.ts +2 -1
  166. package/list/list-item-image.js +2 -1
  167. package/list/list-item-image.js.map +1 -1
  168. package/list/list-item-link.d.ts +35 -0
  169. package/list/list-item-link.js +39 -0
  170. package/list/list-item-link.js.map +1 -0
  171. package/list/list-item-video.d.ts +2 -1
  172. package/list/list-item-video.js +2 -1
  173. package/list/list-item-video.js.map +1 -1
  174. package/list/list-item.d.ts +18 -2
  175. package/list/list-item.js +20 -3
  176. package/list/list-item.js.map +1 -1
  177. package/list/list.d.ts +15 -1
  178. package/list/list.js +15 -1
  179. package/list/list.js.map +1 -1
  180. package/menu/_menu-item.scss +6 -0
  181. package/menu/_menu.scss +6 -0
  182. package/menu/harness.d.ts +5 -0
  183. package/menu/harness.js +22 -0
  184. package/menu/harness.js.map +1 -1
  185. package/menu/lib/_menu.scss +61 -62
  186. package/menu/lib/menu-styles.css.js +1 -1
  187. package/menu/lib/menu-styles.css.js.map +1 -1
  188. package/menu/lib/menu.d.ts +176 -42
  189. package/menu/lib/menu.js +506 -246
  190. package/menu/lib/menu.js.map +1 -1
  191. package/menu/lib/menuitem/_menu-item.scss +115 -0
  192. package/{tokens/v0_150/lib.test.css.d.ts → menu/lib/menuitem/menu-item-private-styles.css.d.ts} +0 -0
  193. package/menu/lib/menuitem/menu-item-private-styles.css.js +9 -0
  194. package/menu/lib/menuitem/menu-item-private-styles.css.js.map +1 -0
  195. package/menu/lib/menuitem/menu-item-private-styles.scss +8 -0
  196. package/menu/lib/menuitem/menu-item-styles.css.d.ts +1 -0
  197. package/menu/lib/menuitem/menu-item-styles.css.js +9 -0
  198. package/menu/lib/menuitem/menu-item-styles.css.js.map +1 -0
  199. package/menu/lib/menuitem/menu-item-styles.scss +8 -0
  200. package/menu/lib/menuitem/menu-item.d.ts +20 -3
  201. package/menu/lib/menuitem/menu-item.js +42 -3
  202. package/menu/lib/menuitem/menu-item.js.map +1 -1
  203. package/menu/lib/menuitemlink/menu-item-link.d.ts +25 -0
  204. package/menu/lib/menuitemlink/menu-item-link.js +51 -0
  205. package/menu/lib/menuitemlink/menu-item-link.js.map +1 -0
  206. package/menu/lib/shared.d.ts +134 -0
  207. package/menu/lib/shared.js +85 -0
  208. package/menu/lib/shared.js.map +1 -0
  209. package/menu/lib/submenuitem/harness.d.ts +11 -0
  210. package/menu/lib/submenuitem/harness.js +12 -0
  211. package/menu/lib/submenuitem/harness.js.map +1 -0
  212. package/menu/lib/submenuitem/sub-menu-item.d.ts +89 -0
  213. package/menu/lib/submenuitem/sub-menu-item.js +266 -0
  214. package/menu/lib/submenuitem/sub-menu-item.js.map +1 -0
  215. package/menu/lib/surfacePositionController.d.ts +117 -0
  216. package/menu/lib/surfacePositionController.js +196 -0
  217. package/menu/lib/surfacePositionController.js.map +1 -0
  218. package/menu/lib/typeaheadController.d.ts +144 -0
  219. package/menu/lib/typeaheadController.js +242 -0
  220. package/menu/lib/typeaheadController.js.map +1 -0
  221. package/menu/menu-item-link.d.ts +33 -0
  222. package/menu/menu-item-link.js +37 -0
  223. package/menu/menu-item-link.js.map +1 -0
  224. package/menu/menu-item.d.ts +19 -2
  225. package/menu/menu-item.js +22 -4
  226. package/menu/menu-item.js.map +1 -1
  227. package/menu/menu.d.ts +45 -0
  228. package/menu/menu.js +43 -0
  229. package/menu/menu.js.map +1 -1
  230. package/menu/sub-menu-item.d.ts +60 -0
  231. package/menu/sub-menu-item.js +64 -0
  232. package/menu/sub-menu-item.js.map +1 -0
  233. package/menusurface/lib/_menu-surface.scss +1 -1
  234. package/menusurface/lib/menu-surface-styles.css.js +1 -1
  235. package/menusurface/lib/menu-surface-styles.css.js.map +1 -1
  236. package/motion/animation.d.ts +20 -3
  237. package/motion/animation.js +39 -4
  238. package/motion/animation.js.map +1 -1
  239. package/navigationbar/lib/_navigation-bar.scss +9 -9
  240. package/navigationbar/lib/navigation-bar-styles.css.js +1 -1
  241. package/navigationbar/lib/navigation-bar-styles.css.js.map +1 -1
  242. package/navigationdrawer/lib/_navigation-drawer.scss +1 -1
  243. package/navigationdrawer/lib/navigation-drawer-styles.css.js +1 -1
  244. package/navigationdrawer/lib/navigation-drawer-styles.css.js.map +1 -1
  245. package/navigationtab/lib/_navigation-tab.scss +8 -19
  246. package/navigationtab/lib/navigation-tab-styles.css.js +1 -1
  247. package/navigationtab/lib/navigation-tab-styles.css.js.map +1 -1
  248. package/package.json +1 -8
  249. package/radio/lib/_radio.scss +0 -1
  250. package/radio/lib/radio-styles.css.js +1 -1
  251. package/radio/lib/radio-styles.css.js.map +1 -1
  252. package/radio/lib/radio.d.ts +10 -1
  253. package/radio/lib/radio.js +10 -1
  254. package/radio/lib/radio.js.map +1 -1
  255. package/radio/radio.d.ts +16 -1
  256. package/radio/radio.js +16 -1
  257. package/radio/radio.js.map +1 -1
  258. package/ripple/lib/_ripple.scss +5 -21
  259. package/ripple/lib/ripple-styles.css.js +1 -1
  260. package/ripple/lib/ripple-styles.css.js.map +1 -1
  261. package/ripple/lib/ripple.js +2 -2
  262. package/ripple/lib/ripple.js.map +1 -1
  263. package/sass/_map-ext.scss +24 -0
  264. package/sass/_string-ext.scss +23 -0
  265. package/segmentedbuttonset/lib/segmented-button-set.d.ts +0 -2
  266. package/segmentedbuttonset/lib/segmented-button-set.js +0 -2
  267. package/segmentedbuttonset/lib/segmented-button-set.js.map +1 -1
  268. package/switch/lib/_handle.scss +56 -9
  269. package/switch/lib/_icon.scss +36 -0
  270. package/switch/lib/_switch.scss +1 -115
  271. package/switch/lib/_track.scss +39 -0
  272. package/switch/lib/switch-styles.css.js +1 -1
  273. package/switch/lib/switch-styles.css.js.map +1 -1
  274. package/switch/lib/switch.d.ts +3 -0
  275. package/switch/lib/switch.js +3 -0
  276. package/switch/lib/switch.js.map +1 -1
  277. package/textfield/lib/_filled-text-field.scss +4 -2
  278. package/textfield/lib/_outlined-text-field.scss +3 -2
  279. package/textfield/lib/filled-styles.css.js +1 -1
  280. package/textfield/lib/filled-styles.css.js.map +1 -1
  281. package/textfield/lib/outlined-styles.css.js +1 -1
  282. package/textfield/lib/outlined-styles.css.js.map +1 -1
  283. package/textfield/lib/text-field.d.ts +0 -2
  284. package/textfield/lib/text-field.js +0 -2
  285. package/textfield/lib/text-field.js.map +1 -1
  286. package/tokens/_index.scss +1 -1
  287. package/tokens/{v0_150 → v0_152}/_index.scss +1 -1
  288. package/tokens/{v0_150 → v0_152}/_md-comp-assist-chip.scss +2 -2
  289. package/tokens/{v0_150 → v0_152}/_md-comp-badge.scss +2 -2
  290. package/tokens/{v0_150 → v0_152}/_md-comp-banner.scss +2 -43
  291. package/tokens/{v0_150 → v0_152}/_md-comp-bottom-app-bar.scss +3 -4
  292. package/tokens/{v0_150 → v0_152}/_md-comp-carousel-item.scss +2 -2
  293. package/tokens/{v0_150 → v0_152}/_md-comp-checkbox.scss +2 -12
  294. package/tokens/{v0_150 → v0_152}/_md-comp-circular-progress-indicator.scss +2 -2
  295. package/tokens/{v0_150 → v0_152}/_md-comp-data-table.scss +2 -4
  296. package/tokens/{v0_150 → v0_152}/_md-comp-date-input-modal.scss +2 -2
  297. package/tokens/{v0_150 → v0_152}/_md-comp-date-picker-docked.scss +2 -2
  298. package/tokens/{v0_150 → v0_152}/_md-comp-date-picker-modal.scss +2 -2
  299. package/tokens/{v0_150 → v0_152}/_md-comp-dialog.scss +2 -25
  300. package/tokens/{v0_150 → v0_152}/_md-comp-divider.scss +2 -2
  301. package/tokens/{v0_150 → v0_152}/_md-comp-elevated-button.scss +2 -2
  302. package/tokens/{v0_150 → v0_152}/_md-comp-elevated-card.scss +2 -2
  303. package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-branded.scss +2 -2
  304. package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-primary.scss +2 -2
  305. package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-secondary.scss +2 -2
  306. package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-surface.scss +2 -2
  307. package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-tertiary.scss +2 -4
  308. package/tokens/{v0_150 → v0_152}/_md-comp-fab-branded-large.scss +2 -3
  309. package/tokens/{v0_150 → v0_152}/_md-comp-fab-branded.scss +2 -2
  310. package/tokens/{v0_150 → v0_152}/_md-comp-fab-primary-large.scss +2 -2
  311. package/tokens/{v0_150 → v0_152}/_md-comp-fab-primary-small.scss +2 -2
  312. package/tokens/{v0_150 → v0_152}/_md-comp-fab-primary.scss +2 -2
  313. package/tokens/{v0_150 → v0_152}/_md-comp-fab-secondary-large.scss +2 -2
  314. package/tokens/{v0_150 → v0_152}/_md-comp-fab-secondary-small.scss +2 -2
  315. package/tokens/{v0_150 → v0_152}/_md-comp-fab-secondary.scss +2 -2
  316. package/tokens/{v0_150 → v0_152}/_md-comp-fab-surface-large.scss +2 -2
  317. package/tokens/{v0_150 → v0_152}/_md-comp-fab-surface-small.scss +2 -2
  318. package/tokens/{v0_150 → v0_152}/_md-comp-fab-surface.scss +2 -2
  319. package/tokens/{v0_150 → v0_152}/_md-comp-fab-tertiary-large.scss +2 -2
  320. package/tokens/{v0_150 → v0_152}/_md-comp-fab-tertiary-small.scss +2 -2
  321. package/tokens/{v0_150 → v0_152}/_md-comp-fab-tertiary.scss +2 -2
  322. package/tokens/{v0_150 → v0_152}/_md-comp-filled-autocomplete.scss +2 -3
  323. package/tokens/{v0_150 → v0_152}/_md-comp-filled-button.scss +2 -8
  324. package/tokens/{v0_150 → v0_152}/_md-comp-filled-card.scss +2 -4
  325. package/tokens/{v0_150 → v0_152}/_md-comp-filled-icon-button.scss +2 -2
  326. package/tokens/{v0_150 → v0_152}/_md-comp-filled-menu-button.scss +2 -2
  327. package/tokens/{v0_150 → v0_152}/_md-comp-filled-select.scss +2 -6
  328. package/tokens/{v0_150 → v0_152}/_md-comp-filled-text-field.scss +2 -3
  329. package/tokens/{v0_150 → v0_152}/_md-comp-filled-tonal-button.scss +2 -2
  330. package/tokens/{v0_150 → v0_152}/_md-comp-filled-tonal-icon-button.scss +2 -2
  331. package/tokens/{v0_150 → v0_152}/_md-comp-filter-chip.scss +2 -30
  332. package/tokens/{v0_150 → v0_152}/_md-comp-full-screen-dialog.scss +3 -53
  333. package/tokens/{v0_150 → v0_152}/_md-comp-icon-button.scss +3 -3
  334. package/tokens/{v0_150 → v0_152}/_md-comp-input-chip.scss +2 -52
  335. package/tokens/{v0_150 → v0_152}/_md-comp-linear-progress-indicator.scss +2 -2
  336. package/tokens/{v0_150 → v0_152}/_md-comp-list.scss +3 -12
  337. package/tokens/{v0_150 → v0_152}/_md-comp-menu.scss +2 -4
  338. package/tokens/{v0_150 → v0_152}/_md-comp-navigation-bar.scss +2 -9
  339. package/tokens/{v0_150 → v0_152}/_md-comp-navigation-drawer.scss +2 -8
  340. package/tokens/{v0_150 → v0_152}/_md-comp-navigation-rail.scss +2 -39
  341. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-autocomplete.scss +2 -3
  342. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-button.scss +2 -6
  343. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-card.scss +2 -2
  344. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-icon-button.scss +2 -4
  345. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-menu-button.scss +2 -2
  346. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-segmented-button.scss +2 -2
  347. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-select.scss +2 -6
  348. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-text-field.scss +2 -3
  349. package/tokens/{v0_150 → v0_152}/_md-comp-plain-tooltip.scss +2 -2
  350. package/tokens/{v0_150 → v0_152}/_md-comp-primary-navigation-tab.scss +2 -2
  351. package/tokens/{v0_150 → v0_152}/_md-comp-radio-button.scss +2 -2
  352. package/tokens/{v0_150 → v0_152}/_md-comp-rich-tooltip.scss +2 -2
  353. package/tokens/{v0_150 → v0_152}/_md-comp-scrim.scss +2 -2
  354. package/tokens/{v0_150 → v0_152}/_md-comp-search-bar.scss +2 -2
  355. package/tokens/{v0_150 → v0_152}/_md-comp-search-view.scss +2 -2
  356. package/tokens/{v0_150 → v0_152}/_md-comp-secondary-navigation-tab.scss +2 -2
  357. package/tokens/{v0_150 → v0_152}/_md-comp-sheet-bottom.scss +2 -2
  358. package/tokens/{v0_150 → v0_152}/_md-comp-sheet-floating.scss +2 -2
  359. package/tokens/{v0_150 → v0_152}/_md-comp-sheet-side.scss +4 -2
  360. package/tokens/{v0_150 → v0_152}/_md-comp-slider.scss +2 -4
  361. package/tokens/{v0_150 → v0_152}/_md-comp-snackbar.scss +2 -2
  362. package/tokens/{v0_150 → v0_152}/_md-comp-standard-menu-button.scss +2 -2
  363. package/tokens/{v0_150 → v0_152}/_md-comp-suggestion-chip.scss +2 -2
  364. package/tokens/{v0_150 → v0_152}/_md-comp-switch.scss +2 -11
  365. package/tokens/{v0_150 → v0_152}/_md-comp-text-button.scss +2 -6
  366. package/tokens/{v0_150 → v0_152}/_md-comp-time-input.scss +2 -2
  367. package/tokens/{v0_150 → v0_152}/_md-comp-time-picker.scss +2 -5
  368. package/tokens/{v0_150 → v0_152}/_md-comp-top-app-bar-large.scss +2 -2
  369. package/tokens/{v0_150 → v0_152}/_md-comp-top-app-bar-medium.scss +2 -2
  370. package/tokens/{v0_150 → v0_152}/_md-comp-top-app-bar-small-centered.scss +2 -3
  371. package/tokens/{v0_150 → v0_152}/_md-comp-top-app-bar-small.scss +2 -3
  372. package/tokens/{v0_150 → v0_152}/_md-ref-palette.scss +2 -2
  373. package/tokens/{v0_150 → v0_152}/_md-ref-typeface.scss +2 -2
  374. package/tokens/{v0_150 → v0_152}/_md-sys-color.scss +2 -20
  375. package/tokens/{v0_150 → v0_152}/_md-sys-elevation.scss +4 -13
  376. package/tokens/{v0_150 → v0_152}/_md-sys-motion.scss +2 -2
  377. package/tokens/{v0_150 → v0_152}/_md-sys-shape.scss +2 -2
  378. package/tokens/{v0_150 → v0_152}/_md-sys-state.scss +2 -2
  379. package/tokens/{v0_150 → v0_152}/_md-sys-typescale.scss +2 -3
  380. package/tokens/v0_152/index.test.css.d.ts +1 -0
  381. package/tokens/{v0_150 → v0_152}/index.test.css.js +0 -0
  382. package/tokens/{v0_150 → v0_152}/index.test.css.js.map +0 -0
  383. package/tokens/{v0_150 → v0_152}/index.test.scss +1 -1
  384. package/tokens/v0_152/lib.test.css.d.ts +1 -0
  385. package/tokens/{v0_150 → v0_152}/lib.test.css.js +0 -0
  386. package/tokens/{v0_150 → v0_152}/lib.test.css.js.map +0 -0
  387. package/tokens/{v0_150 → v0_152}/lib.test.scss +1 -1
  388. package/list/lib/_tokens.scss +0 -80
  389. package/list/lib/divider/_list-divider.scss +0 -46
  390. package/list/lib/divider/list-divider-styles.css.js +0 -9
  391. package/list/lib/divider/list-divider-styles.css.js.map +0 -1
  392. package/list/lib/divider/list-divider-styles.scss +0 -8
  393. package/list/lib/divider/list-divider.d.ts +0 -13
  394. package/list/lib/divider/list-divider.js +0 -32
  395. package/list/lib/divider/list-divider.js.map +0 -1
  396. package/list/list-divider.d.ts +0 -19
  397. package/list/list-divider.js +0 -22
  398. package/list/list-divider.js.map +0 -1
  399. package/menu/lib/_menu-button.scss +0 -14
  400. package/menu/lib/adapter.d.ts +0 -66
  401. package/menu/lib/adapter.js +0 -7
  402. package/menu/lib/adapter.js.map +0 -1
  403. package/menu/lib/constants.d.ts +0 -22
  404. package/menu/lib/constants.js +0 -23
  405. package/menu/lib/constants.js.map +0 -1
  406. package/menu/lib/foundation.d.ts +0 -49
  407. package/menu/lib/foundation.js +0 -123
  408. package/menu/lib/foundation.js.map +0 -1
  409. package/menu/lib/menu-button-styles.css.js +0 -9
  410. package/menu/lib/menu-button-styles.css.js.map +0 -1
  411. package/menu/lib/menu-button-styles.scss +0 -8
  412. package/menu/lib/menu-button.d.ts +0 -27
  413. package/menu/lib/menu-button.js +0 -93
  414. package/menu/lib/menu-button.js.map +0 -1
  415. package/menu/menu-button.d.ts +0 -14
  416. package/menu/menu-button.js +0 -17
  417. package/menu/menu-button.js.map +0 -1
@@ -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 `md-elevation{inset:0;position:absolute}.md3-button{--md-elevation-duration:280ms;--md-elevation-level:var(--_container-elevation);--md-elevation-shadow-color:var(--_container-shadow-color);--md-elevation-surface-tint-color:var(--_container-surface-tint-layer-color)}.md3-button:focus{--md-elevation-level:var(--_focus-container-elevation)}.md3-button:hover{--md-elevation-level:var(--_hover-container-elevation)}.md3-button:active{--md-elevation-level:var(--_pressed-container-elevation)}.md3-button:disabled{--md-elevation-level:var(--_disabled-container-elevation)}/*# sourceMappingURL=shared-elevation-styles.css.map */
7
+ export const styles = css `md-elevation{inset:0;position:absolute}.md3-button{--md-elevation-duration:280ms;--md-elevation-level:var(--_container-elevation);--md-elevation-shadow-color:var(--_container-shadow-color);--md-elevation-surface-tint:var(--_container-surface-tint-layer-color)}.md3-button:focus{--md-elevation-level:var(--_focus-container-elevation)}.md3-button:hover{--md-elevation-level:var(--_hover-container-elevation)}.md3-button:active{--md-elevation-level:var(--_pressed-container-elevation)}.md3-button:disabled{--md-elevation-level:var(--_disabled-container-elevation)}/*# sourceMappingURL=shared-elevation-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=shared-elevation-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared-elevation-styles.css.js","sourceRoot":"","sources":["shared-elevation-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`md-elevation{inset:0;position:absolute}.md3-button{--md-elevation-duration:280ms;--md-elevation-level:var(--_container-elevation);--md-elevation-shadow-color:var(--_container-shadow-color);--md-elevation-surface-tint-color:var(--_container-surface-tint-layer-color)}.md3-button:focus{--md-elevation-level:var(--_focus-container-elevation)}.md3-button:hover{--md-elevation-level:var(--_hover-container-elevation)}.md3-button:active{--md-elevation-level:var(--_pressed-container-elevation)}.md3-button:disabled{--md-elevation-level:var(--_disabled-container-elevation)}/*# sourceMappingURL=shared-elevation-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"shared-elevation-styles.css.js","sourceRoot":"","sources":["shared-elevation-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`md-elevation{inset:0;position:absolute}.md3-button{--md-elevation-duration:280ms;--md-elevation-level:var(--_container-elevation);--md-elevation-shadow-color:var(--_container-shadow-color);--md-elevation-surface-tint:var(--_container-surface-tint-layer-color)}.md3-button:focus{--md-elevation-level:var(--_focus-container-elevation)}.md3-button:hover{--md-elevation-level:var(--_hover-container-elevation)}.md3-button:active{--md-elevation-level:var(--_pressed-container-elevation)}.md3-button:disabled{--md-elevation-level:var(--_disabled-container-elevation)}/*# sourceMappingURL=shared-elevation-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{display:inline-flex;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);vertical-align:top;--md-ripple-hover-state-layer-color:var(--_hover-state-layer-color);--md-ripple-focus-state-layer-color:var(--_focus-state-layer-color);--md-ripple-pressed-state-layer-color:var(--_pressed-state-layer-color);--md-ripple-hover-state-layer-opacity:var(--_hover-state-layer-opacity);--md-ripple-focus-state-layer-opacity:var(--_focus-state-layer-opacity);--md-ripple-pressed-state-layer-opacity:var(--_pressed-state-layer-opacity);--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]){cursor:default;pointer-events:none}.md3-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-inline-size:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;vertical-align:middle;background:rgba(0,0,0,0);text-decoration:none;inline-size:100%;position:relative;z-index:0;block-size:var(--_container-height);font-family:var(--_label-text-font);font-size:var(--_label-text-size);letter-spacing:var(--_label-text-tracking);font-weight:var(--_label-text-weight);background-color:var(--_container-color);color:var(--_label-text-color);padding-inline-start:var(--_spacing-leading);padding-inline-end:var(--_spacing-trailing)}.md3-button::-moz-focus-inner{padding:0;border:0}.md3-button:hover{color:var(--_hover-label-text-color);cursor:pointer}.md3-button:focus{color:var(--_focus-label-text-color)}.md3-button:active{color:var(--_pressed-label-text-color);outline:none}.md3-button:disabled{background-color:var(--_disabled-container-color);color:var(--_disabled-label-text-color)}@media(forced-colors: active){.md3-button::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}}.md3-button,.md3-button__ripple{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)}md-elevation,.md3-button__ripple{z-index:-1}.md3-button--icon-leading{padding-inline-start:var(--_with-icon-spacing-leading);padding-inline-end:var(--_with-icon-spacing-trailing)}.md3-button--icon-trailing{padding-inline-start:var(--_with-trailing-icon-spacing-leading);padding-inline-end:var(--_with-trailing-icon-spacing-trailing)}.md3-link-button-wrapper{inline-size:100%}.md3-button__icon-slot-container{display:inline-flex}.md3-button__icon-slot-container ::slotted([slot=icon]){display:inline-flex;position:relative;writing-mode:horizontal-tb;color:var(--_with-icon-icon-color);font-size:var(--_with-icon-icon-size);inline-size:var(--_with-icon-icon-size);block-size:var(--_with-icon-icon-size)}.md3-button:hover .md3-button__icon-slot-container ::slotted([slot=icon]){color:var(--_with-icon-hover-icon-color)}.md3-button:focus .md3-button__icon-slot-container ::slotted([slot=icon]){color:var(--_with-icon-focus-icon-color)}.md3-button:active .md3-button__icon-slot-container ::slotted([slot=icon]){color:var(--_with-icon-pressed-icon-color)}.md3-button:disabled .md3-button__icon-slot-container ::slotted([slot=icon]){color:var(--_with-icon-disabled-icon-color)}.md3-button__icon--leading ::slotted([slot=icon]){margin-inline-end:8px}.md3-button__icon--trailing ::slotted([slot=icon]){margin-inline-start:8px}.md3-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-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);vertical-align:top;--md-ripple-hover-state-layer-color:var(--_hover-state-layer-color);--md-ripple-focus-state-layer-color:var(--_focus-state-layer-color);--md-ripple-pressed-state-layer-color:var(--_pressed-state-layer-color);--md-ripple-hover-state-layer-opacity:var(--_hover-state-layer-opacity);--md-ripple-focus-state-layer-opacity:var(--_focus-state-layer-opacity);--md-ripple-pressed-state-layer-opacity:var(--_pressed-state-layer-opacity);--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]){cursor:default;pointer-events:none}.md3-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-inline-size:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;vertical-align:middle;background:rgba(0,0,0,0);text-decoration:none;inline-size:100%;position:relative;z-index:0;block-size:var(--_container-height);font-family:var(--_label-text-font);font-size:var(--_label-text-size);letter-spacing:var(--_label-text-tracking);font-weight:var(--_label-text-weight);background-color:var(--_container-color);color:var(--_label-text-color);padding-inline-start:var(--_spacing-leading);padding-inline-end:var(--_spacing-trailing);gap:8px}.md3-button::-moz-focus-inner{padding:0;border:0}.md3-button:hover{color:var(--_hover-label-text-color);cursor:pointer}.md3-button:focus{color:var(--_focus-label-text-color)}.md3-button:active{color:var(--_pressed-label-text-color);outline:none}.md3-button:disabled{background-color:var(--_disabled-container-color);color:var(--_disabled-label-text-color)}@media(forced-colors: active){.md3-button::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}}.md3-button,.md3-button__ripple{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)}md-elevation,.md3-button__ripple{z-index:-1}.md3-button--icon-leading{padding-inline-start:var(--_with-icon-spacing-leading);padding-inline-end:var(--_with-icon-spacing-trailing)}.md3-button--icon-trailing{padding-inline-start:var(--_with-trailing-icon-spacing-leading);padding-inline-end:var(--_with-trailing-icon-spacing-trailing)}.md3-link-button-wrapper{inline-size:100%}.md3-button ::slotted([slot=icon]){display:inline-flex;position:relative;writing-mode:horizontal-tb;color:var(--_with-icon-icon-color);font-size:var(--_with-icon-icon-size);inline-size:var(--_with-icon-icon-size);block-size:var(--_with-icon-icon-size)}.md3-button:hover ::slotted([slot=icon]){color:var(--_with-icon-hover-icon-color)}.md3-button:focus ::slotted([slot=icon]){color:var(--_with-icon-focus-icon-color)}.md3-button:active ::slotted([slot=icon]){color:var(--_with-icon-pressed-icon-color)}.md3-button:disabled ::slotted([slot=icon]){color:var(--_with-icon-disabled-icon-color)}.md3-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}/*# 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);vertical-align:top;--md-ripple-hover-state-layer-color:var(--_hover-state-layer-color);--md-ripple-focus-state-layer-color:var(--_focus-state-layer-color);--md-ripple-pressed-state-layer-color:var(--_pressed-state-layer-color);--md-ripple-hover-state-layer-opacity:var(--_hover-state-layer-opacity);--md-ripple-focus-state-layer-opacity:var(--_focus-state-layer-opacity);--md-ripple-pressed-state-layer-opacity:var(--_pressed-state-layer-opacity);--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]){cursor:default;pointer-events:none}.md3-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-inline-size:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;vertical-align:middle;background:rgba(0,0,0,0);text-decoration:none;inline-size:100%;position:relative;z-index:0;block-size:var(--_container-height);font-family:var(--_label-text-font);font-size:var(--_label-text-size);letter-spacing:var(--_label-text-tracking);font-weight:var(--_label-text-weight);background-color:var(--_container-color);color:var(--_label-text-color);padding-inline-start:var(--_spacing-leading);padding-inline-end:var(--_spacing-trailing)}.md3-button::-moz-focus-inner{padding:0;border:0}.md3-button:hover{color:var(--_hover-label-text-color);cursor:pointer}.md3-button:focus{color:var(--_focus-label-text-color)}.md3-button:active{color:var(--_pressed-label-text-color);outline:none}.md3-button:disabled{background-color:var(--_disabled-container-color);color:var(--_disabled-label-text-color)}@media(forced-colors: active){.md3-button::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:\"\";pointer-events:none}}.md3-button,.md3-button__ripple{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)}md-elevation,.md3-button__ripple{z-index:-1}.md3-button--icon-leading{padding-inline-start:var(--_with-icon-spacing-leading);padding-inline-end:var(--_with-icon-spacing-trailing)}.md3-button--icon-trailing{padding-inline-start:var(--_with-trailing-icon-spacing-leading);padding-inline-end:var(--_with-trailing-icon-spacing-trailing)}.md3-link-button-wrapper{inline-size:100%}.md3-button__icon-slot-container{display:inline-flex}.md3-button__icon-slot-container ::slotted([slot=icon]){display:inline-flex;position:relative;writing-mode:horizontal-tb;color:var(--_with-icon-icon-color);font-size:var(--_with-icon-icon-size);inline-size:var(--_with-icon-icon-size);block-size:var(--_with-icon-icon-size)}.md3-button:hover .md3-button__icon-slot-container ::slotted([slot=icon]){color:var(--_with-icon-hover-icon-color)}.md3-button:focus .md3-button__icon-slot-container ::slotted([slot=icon]){color:var(--_with-icon-focus-icon-color)}.md3-button:active .md3-button__icon-slot-container ::slotted([slot=icon]){color:var(--_with-icon-pressed-icon-color)}.md3-button:disabled .md3-button__icon-slot-container ::slotted([slot=icon]){color:var(--_with-icon-disabled-icon-color)}.md3-button__icon--leading ::slotted([slot=icon]){margin-inline-end:8px}.md3-button__icon--trailing ::slotted([slot=icon]){margin-inline-start:8px}.md3-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-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);vertical-align:top;--md-ripple-hover-state-layer-color:var(--_hover-state-layer-color);--md-ripple-focus-state-layer-color:var(--_focus-state-layer-color);--md-ripple-pressed-state-layer-color:var(--_pressed-state-layer-color);--md-ripple-hover-state-layer-opacity:var(--_hover-state-layer-opacity);--md-ripple-focus-state-layer-opacity:var(--_focus-state-layer-opacity);--md-ripple-pressed-state-layer-opacity:var(--_pressed-state-layer-opacity);--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]){cursor:default;pointer-events:none}.md3-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-inline-size:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;vertical-align:middle;background:rgba(0,0,0,0);text-decoration:none;inline-size:100%;position:relative;z-index:0;block-size:var(--_container-height);font-family:var(--_label-text-font);font-size:var(--_label-text-size);letter-spacing:var(--_label-text-tracking);font-weight:var(--_label-text-weight);background-color:var(--_container-color);color:var(--_label-text-color);padding-inline-start:var(--_spacing-leading);padding-inline-end:var(--_spacing-trailing);gap:8px}.md3-button::-moz-focus-inner{padding:0;border:0}.md3-button:hover{color:var(--_hover-label-text-color);cursor:pointer}.md3-button:focus{color:var(--_focus-label-text-color)}.md3-button:active{color:var(--_pressed-label-text-color);outline:none}.md3-button:disabled{background-color:var(--_disabled-container-color);color:var(--_disabled-label-text-color)}@media(forced-colors: active){.md3-button::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:\"\";pointer-events:none}}.md3-button,.md3-button__ripple{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)}md-elevation,.md3-button__ripple{z-index:-1}.md3-button--icon-leading{padding-inline-start:var(--_with-icon-spacing-leading);padding-inline-end:var(--_with-icon-spacing-trailing)}.md3-button--icon-trailing{padding-inline-start:var(--_with-trailing-icon-spacing-leading);padding-inline-end:var(--_with-trailing-icon-spacing-trailing)}.md3-link-button-wrapper{inline-size:100%}.md3-button ::slotted([slot=icon]){display:inline-flex;position:relative;writing-mode:horizontal-tb;color:var(--_with-icon-icon-color);font-size:var(--_with-icon-icon-size);inline-size:var(--_with-icon-icon-size);block-size:var(--_with-icon-icon-size)}.md3-button:hover ::slotted([slot=icon]){color:var(--_with-icon-hover-icon-color)}.md3-button:focus ::slotted([slot=icon]){color:var(--_with-icon-focus-icon-color)}.md3-button:active ::slotted([slot=icon]){color:var(--_with-icon-pressed-icon-color)}.md3-button:disabled ::slotted([slot=icon]){color:var(--_with-icon-disabled-icon-color)}.md3-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}/*# sourceMappingURL=shared-styles.css.map */\n`;\n "]}
@@ -10,8 +10,17 @@ declare global {
10
10
  }
11
11
  }
12
12
  /**
13
- * Checkboxes allow users to select one or more items from a set. Checkboxes can
14
- * turn an option on or off.
13
+ * @summary Checkboxes allow users to select one or more items from a set.
14
+ * Checkboxes can turn an option on or off.
15
+ *
16
+ * @description
17
+ * Use checkboxes to:
18
+ * - Select one or more options from a list
19
+ * - Present a list containing sub-selections
20
+ * - Turn an item on or off in a desktop environment
21
+ *
22
+ * @final
23
+ * @suppress {visibility}
15
24
  */
16
25
  export declare class MdCheckbox extends Checkbox {
17
26
  static styles: import("lit").CSSResult[];
@@ -9,8 +9,17 @@ import { Checkbox } from './lib/checkbox.js';
9
9
  import { styles } from './lib/checkbox-styles.css.js';
10
10
  import { styles as forcedColorsStyles } from './lib/forced-colors-styles.css.js';
11
11
  /**
12
- * Checkboxes allow users to select one or more items from a set. Checkboxes can
13
- * turn an option on or off.
12
+ * @summary Checkboxes allow users to select one or more items from a set.
13
+ * Checkboxes can turn an option on or off.
14
+ *
15
+ * @description
16
+ * Use checkboxes to:
17
+ * - Select one or more options from a list
18
+ * - Present a list containing sub-selections
19
+ * - Turn an item on or off in a desktop environment
20
+ *
21
+ * @final
22
+ * @suppress {visibility}
14
23
  */
15
24
  let MdCheckbox = class MdCheckbox extends Checkbox {
16
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["checkbox.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAC,MAAM,IAAI,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AAQ/E;;;GAGG;AAEH,IAAa,UAAU,GAAvB,MAAa,UAAW,SAAQ,QAAQ;CAEvC,CAAA;AADiB,iBAAM,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAE,CAAA;AAD3C,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAEtB;SAFY,UAAU","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {Checkbox} from './lib/checkbox.js';\nimport {styles} from './lib/checkbox-styles.css.js';\nimport {styles as forcedColorsStyles} from './lib/forced-colors-styles.css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-checkbox': MdCheckbox;\n }\n}\n\n/**\n * Checkboxes allow users to select one or more items from a set. Checkboxes can\n * turn an option on or off.\n */\n@customElement('md-checkbox')\nexport class MdCheckbox extends Checkbox {\n static override styles = [styles, forcedColorsStyles];\n}\n"]}
1
+ {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["checkbox.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAC,MAAM,IAAI,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AAQ/E;;;;;;;;;;;;GAYG;AAEH,IAAa,UAAU,GAAvB,MAAa,UAAW,SAAQ,QAAQ;CAEvC,CAAA;AADiB,iBAAM,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAE,CAAA;AAD3C,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAEtB;SAFY,UAAU","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {Checkbox} from './lib/checkbox.js';\nimport {styles} from './lib/checkbox-styles.css.js';\nimport {styles as forcedColorsStyles} from './lib/forced-colors-styles.css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-checkbox': MdCheckbox;\n }\n}\n\n/**\n * @summary Checkboxes allow users to select one or more items from a set.\n * Checkboxes can turn an option on or off.\n *\n * @description\n * Use checkboxes to:\n * - Select one or more options from a list\n * - Present a list containing sub-selections\n * - Turn an item on or off in a desktop environment\n *\n * @final\n * @suppress {visibility}\n */\n@customElement('md-checkbox')\nexport class MdCheckbox extends Checkbox {\n static override styles = [styles, forcedColorsStyles];\n}\n"]}
@@ -11,13 +11,41 @@ import { getFormValue } from '../../controller/form-controller.js';
11
11
  * A checkbox component.
12
12
  */
13
13
  export declare class Checkbox extends LitElement {
14
+ /**
15
+ * @nocollapse
16
+ */
14
17
  static formAssociated: boolean;
18
+ /**
19
+ * Whether or not the checkbox is selected.
20
+ */
15
21
  checked: boolean;
22
+ /**
23
+ * Whether or not the checkbox is disabled.
24
+ */
16
25
  disabled: boolean;
26
+ /**
27
+ * Whether or not the checkbox is invalid.
28
+ */
17
29
  error: boolean;
30
+ /**
31
+ * Whether or not the checkbox is indeterminate.
32
+ *
33
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes
34
+ */
18
35
  indeterminate: boolean;
36
+ /**
37
+ * The value of the checkbox that is submitted with a form when selected.
38
+ *
39
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value
40
+ */
19
41
  value: string;
42
+ /**
43
+ * The HTML name to use in form submission.
44
+ */
20
45
  name: string;
46
+ /**
47
+ * The associated form element with which this element's value will submit.
48
+ */
21
49
  get form(): HTMLFormElement;
22
50
  ariaLabel: string;
23
51
  private prevChecked;
@@ -12,6 +12,7 @@ import { classMap } from 'lit/directives/class-map.js';
12
12
  import { when } from 'lit/directives/when.js';
13
13
  import { dispatchActivationClick, isActivationClick, redispatchEvent } from '../../controller/events.js';
14
14
  import { FormController, getFormValue } from '../../controller/form-controller.js';
15
+ import { stringConverter } from '../../controller/string-converter.js';
15
16
  import { ariaProperty } from '../../decorators/aria-property.js';
16
17
  import { pointerPress, shouldShowStrongFocus } from '../../focus/strong-focus.js';
17
18
  import { ripple } from '../../ripple/directive.js';
@@ -21,11 +22,33 @@ import { ripple } from '../../ripple/directive.js';
21
22
  export class Checkbox extends LitElement {
22
23
  constructor() {
23
24
  super();
25
+ /**
26
+ * Whether or not the checkbox is selected.
27
+ */
24
28
  this.checked = false;
29
+ /**
30
+ * Whether or not the checkbox is disabled.
31
+ */
25
32
  this.disabled = false;
33
+ /**
34
+ * Whether or not the checkbox is invalid.
35
+ */
26
36
  this.error = false;
37
+ /**
38
+ * Whether or not the checkbox is indeterminate.
39
+ *
40
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes
41
+ */
27
42
  this.indeterminate = false;
43
+ /**
44
+ * The value of the checkbox that is submitted with a form when selected.
45
+ *
46
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value
47
+ */
28
48
  this.value = 'on';
49
+ /**
50
+ * The HTML name to use in form submission.
51
+ */
29
52
  this.name = '';
30
53
  this.prevChecked = false;
31
54
  this.prevDisabled = false;
@@ -48,6 +71,9 @@ export class Checkbox extends LitElement {
48
71
  dispatchActivationClick(this.input);
49
72
  });
50
73
  }
74
+ /**
75
+ * The associated form element with which this element's value will submit.
76
+ */
51
77
  get form() {
52
78
  return this.closest('form');
53
79
  }
@@ -126,6 +152,9 @@ export class Checkbox extends LitElement {
126
152
  this.showFocusRing = shouldShowStrongFocus();
127
153
  }
128
154
  }
155
+ /**
156
+ * @nocollapse
157
+ */
129
158
  Checkbox.formAssociated = true;
130
159
  __decorate([
131
160
  property({ type: Boolean, reflect: true }),
@@ -148,7 +177,7 @@ __decorate([
148
177
  __metadata("design:type", Object)
149
178
  ], Checkbox.prototype, "value", void 0);
150
179
  __decorate([
151
- property(),
180
+ property({ type: String, reflect: true, converter: stringConverter }),
152
181
  __metadata("design:type", Object)
153
182
  ], Checkbox.prototype, "name", void 0);
154
183
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["checkbox.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../../focus/focus-ring.js';\nimport '../../ripple/ripple.js';\n\nimport {html, LitElement, nothing, PropertyValues, TemplateResult} from 'lit';\nimport {property, query, queryAsync, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {when} from 'lit/directives/when.js';\n\nimport {dispatchActivationClick, isActivationClick, redispatchEvent} from '../../controller/events.js';\nimport {FormController, getFormValue} from '../../controller/form-controller.js';\nimport {ariaProperty} from '../../decorators/aria-property.js';\nimport {pointerPress, shouldShowStrongFocus} from '../../focus/strong-focus.js';\nimport {ripple} from '../../ripple/directive.js';\nimport {MdRipple} from '../../ripple/ripple.js';\n\n/**\n * A checkbox component.\n */\nexport class Checkbox extends LitElement {\n static formAssociated = true;\n\n @property({type: Boolean, reflect: true}) checked = false;\n @property({type: Boolean, reflect: true}) disabled = false;\n @property({type: Boolean, reflect: true}) error = false;\n @property({type: Boolean, reflect: true}) indeterminate = false;\n @property() value = 'on';\n @property() name = '';\n\n get form() {\n return this.closest('form');\n }\n\n @ariaProperty // tslint:disable-line:no-new-decorators\n @property({type: String, attribute: 'data-aria-label', noAccessor: true})\n override ariaLabel!: string;\n\n @state() private prevChecked = false;\n @state() private prevDisabled = false;\n @state() private prevIndeterminate = false;\n @queryAsync('md-ripple') private readonly ripple!: Promise<MdRipple|null>;\n @query('input') private readonly input!: HTMLInputElement|null;\n @state() private showFocusRing = false;\n @state() private showRipple = false;\n\n constructor() {\n super();\n this.addController(new FormController(this));\n this.addEventListener('click', (event: MouseEvent) => {\n if (!isActivationClick(event)) {\n return;\n }\n this.focus();\n dispatchActivationClick(this.input!);\n });\n }\n\n override focus() {\n this.input?.focus();\n }\n\n [getFormValue]() {\n return this.checked ? this.value : null;\n }\n\n protected override update(changed: PropertyValues<Checkbox>) {\n if (changed.has('checked') || changed.has('disabled') ||\n changed.has('indeterminate')) {\n this.prevChecked = changed.get('checked') ?? this.checked;\n this.prevDisabled = changed.get('disabled') ?? this.disabled;\n this.prevIndeterminate =\n changed.get('indeterminate') ?? this.indeterminate;\n }\n\n super.update(changed);\n }\n\n protected override render(): TemplateResult {\n const prevNone = !this.prevChecked && !this.prevIndeterminate;\n const prevChecked = this.prevChecked && !this.prevIndeterminate;\n const prevIndeterminate = this.prevIndeterminate;\n const isChecked = this.checked && !this.indeterminate;\n const isIndeterminate = this.indeterminate;\n\n const containerClasses = classMap({\n 'selected': isChecked || isIndeterminate,\n 'unselected': !isChecked && !isIndeterminate,\n 'checked': isChecked,\n 'indeterminate': isIndeterminate,\n 'error': this.error && !this.disabled,\n 'prev-unselected': prevNone,\n 'prev-checked': prevChecked,\n 'prev-indeterminate': prevIndeterminate,\n 'prev-disabled': this.prevDisabled,\n });\n\n return html`\n <div class=\"container ${containerClasses}\">\n <div class=\"outline\"></div>\n <div class=\"background\"></div>\n <md-focus-ring .visible=${this.showFocusRing}></md-focus-ring>\n ${when(this.showRipple, this.renderRipple)}\n <svg class=\"icon\" viewBox=\"0 0 18 18\">\n <rect class=\"mark short\" />\n <rect class=\"mark long\" />\n </svg>\n </div>\n <input type=\"checkbox\"\n aria-checked=${isIndeterminate ? 'mixed' : nothing}\n aria-label=${this.ariaLabel || nothing}\n ?disabled=${this.disabled}\n .indeterminate=${this.indeterminate}\n .checked=${this.checked}\n @blur=${this.handleBlur}\n @change=${this.handleChange}\n @focus=${this.handleFocus}\n @pointerdown=${this.handlePointerDown}\n ${ripple(this.getRipple)}\n >\n `;\n }\n\n private handleBlur() {\n this.showFocusRing = false;\n }\n\n private handleChange(event: Event) {\n const target = event.target as HTMLInputElement;\n this.checked = target.checked;\n this.indeterminate = target.indeterminate;\n\n redispatchEvent(this, event);\n }\n\n private handleFocus() {\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n private handlePointerDown() {\n pointerPress();\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n private readonly getRipple = () => { // bind to this\n this.showRipple = true;\n return this.ripple;\n };\n\n private readonly renderRipple = () => { // bind to this\n return html`<md-ripple ?disabled=${this.disabled} unbounded></md-ripple>`;\n };\n}\n"]}
1
+ {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["checkbox.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,2BAA2B,CAAC;AACnC,OAAO,wBAAwB,CAAC;AAEhC,OAAO,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAiC,MAAM,KAAK,CAAC;AAC9E,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAC,IAAI,EAAC,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAC,uBAAuB,EAAE,iBAAiB,EAAE,eAAe,EAAC,MAAM,4BAA4B,CAAC;AACvG,OAAO,EAAC,cAAc,EAAE,YAAY,EAAC,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAC,eAAe,EAAC,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAC,YAAY,EAAC,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAC,YAAY,EAAE,qBAAqB,EAAC,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AAGjD;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,UAAU;IA4DtC;QACE,KAAK,EAAE,CAAC;QAvDV;;WAEG;QACuC,YAAO,GAAG,KAAK,CAAC;QAE1D;;WAEG;QACuC,aAAQ,GAAG,KAAK,CAAC;QAE3D;;WAEG;QACuC,UAAK,GAAG,KAAK,CAAC;QAExD;;;;WAIG;QACuC,kBAAa,GAAG,KAAK,CAAC;QAEhE;;;;WAIG;QACS,UAAK,GAAG,IAAI,CAAC;QAEzB;;WAEG;QAEH,SAAI,GAAG,EAAE,CAAC;QAaO,gBAAW,GAAG,KAAK,CAAC;QACpB,iBAAY,GAAG,KAAK,CAAC;QACrB,sBAAiB,GAAG,KAAK,CAAC;QAG1B,kBAAa,GAAG,KAAK,CAAC;QACtB,eAAU,GAAG,KAAK,CAAC;QAoGnB,cAAS,GAAG,GAAG,EAAE;YAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC,CAAC;QAEe,iBAAY,GAAG,GAAG,EAAE;YACnC,OAAO,IAAI,CAAA,wBAAwB,IAAI,CAAC,QAAQ,yBAAyB,CAAC;QAC5E,CAAC,CAAC;QAvGA,IAAI,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAiB,EAAE,EAAE;YACnD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;gBAC7B,OAAO;aACR;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,uBAAuB,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IA7BD;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IA0BQ,KAAK;QACZ,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,CAAC,YAAY,CAAC;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAEkB,MAAM,CAAC,OAAiC;QACzD,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YAChC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC;YAC1D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC;YAC7D,IAAI,CAAC,iBAAiB;gBAClB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC;SACxD;QAED,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAEkB,MAAM;QACvB,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAChE,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QACtD,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC;QAE3C,MAAM,gBAAgB,GAAG,QAAQ,CAAC;YAChC,UAAU,EAAE,SAAS,IAAI,eAAe;YACxC,YAAY,EAAE,CAAC,SAAS,IAAI,CAAC,eAAe;YAC5C,SAAS,EAAE,SAAS;YACpB,eAAe,EAAE,eAAe;YAChC,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ;YACrC,iBAAiB,EAAE,QAAQ;YAC3B,cAAc,EAAE,WAAW;YAC3B,oBAAoB,EAAE,iBAAiB;YACvC,eAAe,EAAE,IAAI,CAAC,YAAY;SACnC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAA;8BACe,gBAAgB;;;kCAGZ,IAAI,CAAC,aAAa;UAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;;;;;;;uBAO3B,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;qBACrC,IAAI,CAAC,SAAS,IAAI,OAAO;oBAC1B,IAAI,CAAC,QAAQ;yBACR,IAAI,CAAC,aAAa;mBACxB,IAAI,CAAC,OAAO;gBACf,IAAI,CAAC,UAAU;kBACb,IAAI,CAAC,YAAY;iBAClB,IAAI,CAAC,WAAW;uBACV,IAAI,CAAC,iBAAiB;UACnC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;;MAE1B,CAAC;IACL,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAEO,YAAY,CAAC,KAAY;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAE1C,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,aAAa,GAAG,qBAAqB,EAAE,CAAC;IAC/C,CAAC;IAEO,iBAAiB;QACvB,YAAY,EAAE,CAAC;QACf,IAAI,CAAC,aAAa,GAAG,qBAAqB,EAAE,CAAC;IAC/C,CAAC;;AA3JD;;GAEG;AACI,uBAAc,GAAG,IAAI,CAAC;AAKa;IAAzC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;;yCAAiB;AAKhB;IAAzC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;;0CAAkB;AAKjB;IAAzC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;;uCAAe;AAOd;IAAzC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;;+CAAuB;AAOpD;IAAX,QAAQ,EAAE;;uCAAc;AAMzB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAC,CAAC;;sCAC1D;AAWV;IAFC,YAAY,CAAE,wCAAwC;;IACtD,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,EAAC,CAAC;;2CAC7C;AAEnB;IAAR,KAAK,EAAE;;6CAA6B;AAC5B;IAAR,KAAK,EAAE;;8CAA8B;AAC7B;IAAR,KAAK,EAAE;;mDAAmC;AAClB;IAAxB,UAAU,CAAC,WAAW,CAAC;;wCAAkD;AAC1D;IAAf,KAAK,CAAC,OAAO,CAAC;8BAA0B,gBAAgB;uCAAM;AACtD;IAAR,KAAK,EAAE;;+CAA+B;AAC9B;IAAR,KAAK,EAAE;;4CAA4B","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../../focus/focus-ring.js';\nimport '../../ripple/ripple.js';\n\nimport {html, LitElement, nothing, PropertyValues, TemplateResult} from 'lit';\nimport {property, query, queryAsync, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {when} from 'lit/directives/when.js';\n\nimport {dispatchActivationClick, isActivationClick, redispatchEvent} from '../../controller/events.js';\nimport {FormController, getFormValue} from '../../controller/form-controller.js';\nimport {stringConverter} from '../../controller/string-converter.js';\nimport {ariaProperty} from '../../decorators/aria-property.js';\nimport {pointerPress, shouldShowStrongFocus} from '../../focus/strong-focus.js';\nimport {ripple} from '../../ripple/directive.js';\nimport {MdRipple} from '../../ripple/ripple.js';\n\n/**\n * A checkbox component.\n */\nexport class Checkbox extends LitElement {\n /**\n * @nocollapse\n */\n static formAssociated = true;\n\n /**\n * Whether or not the checkbox is selected.\n */\n @property({type: Boolean, reflect: true}) checked = false;\n\n /**\n * Whether or not the checkbox is disabled.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n\n /**\n * Whether or not the checkbox is invalid.\n */\n @property({type: Boolean, reflect: true}) error = false;\n\n /**\n * Whether or not the checkbox is indeterminate.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes\n */\n @property({type: Boolean, reflect: true}) indeterminate = false;\n\n /**\n * The value of the checkbox that is submitted with a form when selected.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value\n */\n @property() value = 'on';\n\n /**\n * The HTML name to use in form submission.\n */\n @property({type: String, reflect: true, converter: stringConverter})\n name = '';\n\n /**\n * The associated form element with which this element's value will submit.\n */\n get form() {\n return this.closest('form');\n }\n\n @ariaProperty // tslint:disable-line:no-new-decorators\n @property({type: String, attribute: 'data-aria-label', noAccessor: true})\n override ariaLabel!: string;\n\n @state() private prevChecked = false;\n @state() private prevDisabled = false;\n @state() private prevIndeterminate = false;\n @queryAsync('md-ripple') private readonly ripple!: Promise<MdRipple|null>;\n @query('input') private readonly input!: HTMLInputElement|null;\n @state() private showFocusRing = false;\n @state() private showRipple = false;\n\n constructor() {\n super();\n this.addController(new FormController(this));\n this.addEventListener('click', (event: MouseEvent) => {\n if (!isActivationClick(event)) {\n return;\n }\n this.focus();\n dispatchActivationClick(this.input!);\n });\n }\n\n override focus() {\n this.input?.focus();\n }\n\n [getFormValue]() {\n return this.checked ? this.value : null;\n }\n\n protected override update(changed: PropertyValues<Checkbox>) {\n if (changed.has('checked') || changed.has('disabled') ||\n changed.has('indeterminate')) {\n this.prevChecked = changed.get('checked') ?? this.checked;\n this.prevDisabled = changed.get('disabled') ?? this.disabled;\n this.prevIndeterminate =\n changed.get('indeterminate') ?? this.indeterminate;\n }\n\n super.update(changed);\n }\n\n protected override render(): TemplateResult {\n const prevNone = !this.prevChecked && !this.prevIndeterminate;\n const prevChecked = this.prevChecked && !this.prevIndeterminate;\n const prevIndeterminate = this.prevIndeterminate;\n const isChecked = this.checked && !this.indeterminate;\n const isIndeterminate = this.indeterminate;\n\n const containerClasses = classMap({\n 'selected': isChecked || isIndeterminate,\n 'unselected': !isChecked && !isIndeterminate,\n 'checked': isChecked,\n 'indeterminate': isIndeterminate,\n 'error': this.error && !this.disabled,\n 'prev-unselected': prevNone,\n 'prev-checked': prevChecked,\n 'prev-indeterminate': prevIndeterminate,\n 'prev-disabled': this.prevDisabled,\n });\n\n return html`\n <div class=\"container ${containerClasses}\">\n <div class=\"outline\"></div>\n <div class=\"background\"></div>\n <md-focus-ring .visible=${this.showFocusRing}></md-focus-ring>\n ${when(this.showRipple, this.renderRipple)}\n <svg class=\"icon\" viewBox=\"0 0 18 18\">\n <rect class=\"mark short\" />\n <rect class=\"mark long\" />\n </svg>\n </div>\n <input type=\"checkbox\"\n aria-checked=${isIndeterminate ? 'mixed' : nothing}\n aria-label=${this.ariaLabel || nothing}\n ?disabled=${this.disabled}\n .indeterminate=${this.indeterminate}\n .checked=${this.checked}\n @blur=${this.handleBlur}\n @change=${this.handleChange}\n @focus=${this.handleFocus}\n @pointerdown=${this.handlePointerDown}\n ${ripple(this.getRipple)}\n >\n `;\n }\n\n private handleBlur() {\n this.showFocusRing = false;\n }\n\n private handleChange(event: Event) {\n const target = event.target as HTMLInputElement;\n this.checked = target.checked;\n this.indeterminate = target.indeterminate;\n\n redispatchEvent(this, event);\n }\n\n private handleFocus() {\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n private handlePointerDown() {\n pointerPress();\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n private readonly getRipple = () => { // bind to this\n this.showRipple = true;\n return this.ripple;\n };\n\n private readonly renderRipple = () => { // bind to this\n return html`<md-ripple ?disabled=${this.disabled} unbounded></md-ripple>`;\n };\n}\n"]}
@@ -194,7 +194,7 @@ $_custom-property-prefix: 'chip';
194
194
  @include elevation.theme(
195
195
  (
196
196
  shadow-color: map.get($theme, elevated-container-shadow-color),
197
- surface-tint-color: map.get($theme, container-surface-tint-layer-color),
197
+ surface-tint: map.get($theme, container-surface-tint-layer-color),
198
198
  )
199
199
  );
200
200
  @include _container-elevation(
@@ -0,0 +1,6 @@
1
+ //
2
+ // Copyright 2023 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ @forward './lib/dialog' show theme;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Dialog } from './lib/dialog.js';
7
+ declare global {
8
+ interface HTMLElementTagNameMap {
9
+ 'md-dialog': MdDialog;
10
+ }
11
+ }
12
+ /**
13
+ * @summary Dialogs can require an action, communicate information, or help
14
+ * users accomplish a task. There are two types of dialogs: basic and
15
+ * full-screen.
16
+ *
17
+ * @description
18
+ * A dialog is a modal window that appears in front of app content to provide
19
+ * critical information or ask for a decision. Dialogs disable all app
20
+ * functionality when they appear, and remain on screen until confirmed,
21
+ * dismissed, or a required action has been taken.
22
+ *
23
+ * Dialogs are purposefully interruptive, so they should be used sparingly.
24
+ * A less disruptive alternative is to use a menu, which provides options
25
+ * without interrupting a user’s experience.
26
+ *
27
+ * On mobile devices only, complex dialogs should be displayed fullscreen.
28
+ *
29
+ * __Example usages:__
30
+ * - Common use cases for basic dialogs include alerts, quick selection, and
31
+ * confirmation.
32
+ * - More complex dialogs may contain actions that require a series of tasks
33
+ * to complete. One example is creating a calendar entry with the event title,
34
+ * date, location, and time.
35
+ */
36
+ export declare class MdDialog extends Dialog {
37
+ static styles: import("lit").CSSResult[];
38
+ }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { __decorate } from "tslib";
7
+ import { customElement } from 'lit/decorators.js';
8
+ import { Dialog } from './lib/dialog.js';
9
+ import { styles } from './lib/dialog-styles.css.js';
10
+ /**
11
+ * @summary Dialogs can require an action, communicate information, or help
12
+ * users accomplish a task. There are two types of dialogs: basic and
13
+ * full-screen.
14
+ *
15
+ * @description
16
+ * A dialog is a modal window that appears in front of app content to provide
17
+ * critical information or ask for a decision. Dialogs disable all app
18
+ * functionality when they appear, and remain on screen until confirmed,
19
+ * dismissed, or a required action has been taken.
20
+ *
21
+ * Dialogs are purposefully interruptive, so they should be used sparingly.
22
+ * A less disruptive alternative is to use a menu, which provides options
23
+ * without interrupting a user’s experience.
24
+ *
25
+ * On mobile devices only, complex dialogs should be displayed fullscreen.
26
+ *
27
+ * __Example usages:__
28
+ * - Common use cases for basic dialogs include alerts, quick selection, and
29
+ * confirmation.
30
+ * - More complex dialogs may contain actions that require a series of tasks
31
+ * to complete. One example is creating a calendar entry with the event title,
32
+ * date, location, and time.
33
+ */
34
+ let MdDialog = class MdDialog extends Dialog {
35
+ };
36
+ MdDialog.styles = [styles];
37
+ MdDialog = __decorate([
38
+ customElement('md-dialog')
39
+ ], MdDialog);
40
+ export { MdDialog };
41
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,4BAA4B,CAAC;AAQlD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,IAAa,QAAQ,GAArB,MAAa,QAAS,SAAQ,MAAM;CAEnC,CAAA;AADiB,eAAM,GAAG,CAAC,MAAM,CAAE,CAAA;AADvB,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAEpB;SAFY,QAAQ","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {Dialog} from './lib/dialog.js';\nimport {styles} from './lib/dialog-styles.css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-dialog': MdDialog;\n }\n}\n\n/**\n * @summary Dialogs can require an action, communicate information, or help\n * users accomplish a task. There are two types of dialogs: basic and\n * full-screen.\n *\n * @description\n * A dialog is a modal window that appears in front of app content to provide\n * critical information or ask for a decision. Dialogs disable all app\n * functionality when they appear, and remain on screen until confirmed,\n * dismissed, or a required action has been taken.\n *\n * Dialogs are purposefully interruptive, so they should be used sparingly.\n * A less disruptive alternative is to use a menu, which provides options\n * without interrupting a user’s experience.\n *\n * On mobile devices only, complex dialogs should be displayed fullscreen.\n *\n * __Example usages:__\n * - Common use cases for basic dialogs include alerts, quick selection, and\n * confirmation.\n * - More complex dialogs may contain actions that require a series of tasks\n * to complete. One example is creating a calendar entry with the event title,\n * date, location, and time.\n */\n@customElement('md-dialog')\nexport class MdDialog extends Dialog {\n static override styles = [styles];\n}\n"]}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Harness } from '../testing/harness.js';
7
+ import { Dialog } from './lib/dialog.js';
8
+ /**
9
+ * Test harness for dialog.
10
+ */
11
+ export declare class DialogHarness extends Harness<Dialog> {
12
+ getInteractiveElement(): Promise<HTMLDialogElement>;
13
+ isOpening(): Promise<boolean>;
14
+ isClosing(): Promise<boolean>;
15
+ transitionComplete(): Promise<void>;
16
+ isDialogVisible(): Promise<boolean>;
17
+ isScrimVisible(): Promise<boolean>;
18
+ }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Harness } from '../testing/harness.js';
7
+ /**
8
+ * Test harness for dialog.
9
+ */
10
+ export class DialogHarness extends Harness {
11
+ async getInteractiveElement() {
12
+ await this.element.updateComplete;
13
+ return this.element.renderRoot.querySelector('.dialog');
14
+ }
15
+ async isOpening() {
16
+ await this.element.updateComplete;
17
+ return Boolean(this.element.open && this.element.hasAttribute('opening'));
18
+ }
19
+ async isClosing() {
20
+ await this.element.updateComplete;
21
+ return Boolean(!this.element.open && this.element.hasAttribute('closing'));
22
+ }
23
+ async transitionComplete() {
24
+ let resolve = () => { };
25
+ const doneTransitioning = new Promise(resolver => {
26
+ resolve = () => {
27
+ resolver();
28
+ };
29
+ });
30
+ if (await this.isOpening()) {
31
+ this.element.addEventListener('opened', resolve, { once: true });
32
+ }
33
+ else if (await this.isClosing()) {
34
+ this.element.addEventListener('closed', resolve, { once: true });
35
+ }
36
+ else {
37
+ resolve();
38
+ }
39
+ await doneTransitioning;
40
+ }
41
+ async isDialogVisible() {
42
+ await this.transitionComplete();
43
+ const dialogElement = await this.getInteractiveElement();
44
+ const { display } = getComputedStyle(dialogElement);
45
+ return display !== 'none';
46
+ }
47
+ async isScrimVisible() {
48
+ await this.transitionComplete();
49
+ const dialogElement = await this.getInteractiveElement();
50
+ const { backgroundColor, display } = getComputedStyle(dialogElement, '::before');
51
+ const hiddenBg = `rgba(0, 0, 0, 0)`;
52
+ return backgroundColor !== hiddenBg && display !== 'none';
53
+ }
54
+ }
55
+ //# sourceMappingURL=harness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["harness.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAK9C;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,OAAe;IACvC,KAAK,CAAC,qBAAqB;QAClC,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CACjC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QAClC,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QAClC,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,IAAI,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACvB,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAO,QAAQ,CAAC,EAAE;YACrD,OAAO,GAAG,GAAG,EAAE;gBACb,QAAQ,EAAE,CAAC;YACb,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;SAChE;aAAM,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE;YACjC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;SAChE;aAAM;YACL,OAAO,EAAE,CAAC;SACX;QACD,MAAM,iBAAiB,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzD,MAAM,EAAC,OAAO,EAAC,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAClD,OAAO,OAAO,KAAK,MAAM,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzD,MAAM,EAAC,eAAe,EAAE,OAAO,EAAC,GAC5B,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QACpC,OAAO,eAAe,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,CAAC;IAC5D,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {Harness} from '../testing/harness.js';\n\nimport {Dialog} from './lib/dialog.js';\n\n\n/**\n * Test harness for dialog.\n */\nexport class DialogHarness extends Harness<Dialog> {\n override async getInteractiveElement() {\n await this.element.updateComplete;\n return this.element.renderRoot.querySelector('.dialog') as\n HTMLDialogElement;\n }\n\n async isOpening() {\n await this.element.updateComplete;\n return Boolean(this.element.open && this.element.hasAttribute('opening'));\n }\n\n async isClosing() {\n await this.element.updateComplete;\n return Boolean(!this.element.open && this.element.hasAttribute('closing'));\n }\n\n async transitionComplete() {\n let resolve = () => {};\n const doneTransitioning = new Promise<void>(resolver => {\n resolve = () => {\n resolver();\n };\n });\n if (await this.isOpening()) {\n this.element.addEventListener('opened', resolve, {once: true});\n } else if (await this.isClosing()) {\n this.element.addEventListener('closed', resolve, {once: true});\n } else {\n resolve();\n }\n await doneTransitioning;\n }\n\n async isDialogVisible() {\n await this.transitionComplete();\n const dialogElement = await this.getInteractiveElement();\n const {display} = getComputedStyle(dialogElement);\n return display !== 'none';\n }\n\n async isScrimVisible() {\n await this.transitionComplete();\n const dialogElement = await this.getInteractiveElement();\n const {backgroundColor, display} =\n getComputedStyle(dialogElement, '::before');\n const hiddenBg = `rgba(0, 0, 0, 0)`;\n return backgroundColor !== hiddenBg && display !== 'none';\n }\n}\n"]}