@material/web 1.0.0-pre.0 → 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 (423) 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 +12 -29
  19. package/button/lib/_shared.scss +1 -0
  20. package/button/lib/button.d.ts +1 -14
  21. package/button/lib/button.js +6 -42
  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/{elevationold/lib/elevation-overlay-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/{list/lib/divider/list-divider-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/icon/lib/_icon.scss +8 -5
  94. package/icon/lib/icon-styles.css.js +1 -1
  95. package/icon/lib/icon-styles.css.js.map +1 -1
  96. package/iconbutton/lib/_filled-icon-button.scss +1 -1
  97. package/iconbutton/lib/_filled-tonal-icon-button.scss +1 -1
  98. package/iconbutton/lib/_outlined-icon-button.scss +9 -22
  99. package/iconbutton/lib/_shared.scss +14 -40
  100. package/iconbutton/lib/_standard-icon-button.scss +6 -14
  101. package/iconbutton/lib/filled-styles.css.js +1 -1
  102. package/iconbutton/lib/filled-styles.css.js.map +1 -1
  103. package/iconbutton/lib/filled-tonal-styles.css.js +1 -1
  104. package/iconbutton/lib/filled-tonal-styles.css.js.map +1 -1
  105. package/iconbutton/lib/icon-button-toggle.d.ts +13 -42
  106. package/iconbutton/lib/icon-button-toggle.js +33 -103
  107. package/iconbutton/lib/icon-button-toggle.js.map +1 -1
  108. package/iconbutton/lib/icon-button.d.ts +2 -4
  109. package/iconbutton/lib/icon-button.js +3 -9
  110. package/iconbutton/lib/icon-button.js.map +1 -1
  111. package/iconbutton/lib/outlined-styles.css.js +1 -1
  112. package/iconbutton/lib/outlined-styles.css.js.map +1 -1
  113. package/iconbutton/lib/shared-styles.css.js +1 -1
  114. package/iconbutton/lib/shared-styles.css.js.map +1 -1
  115. package/iconbutton/lib/standard-styles.css.js +1 -1
  116. package/iconbutton/lib/standard-styles.css.js.map +1 -1
  117. package/list/lib/_list.scss +32 -40
  118. package/list/lib/avatar/_list-item-avatar.scss +1 -1
  119. package/list/lib/avatar/list-item-avatar-styles.css.js +1 -1
  120. package/list/lib/avatar/list-item-avatar-styles.css.js.map +1 -1
  121. package/list/lib/avatar/list-item-avatar.d.ts +9 -4
  122. package/list/lib/avatar/list-item-avatar.js +24 -11
  123. package/list/lib/avatar/list-item-avatar.js.map +1 -1
  124. package/list/lib/icon/_list-item-icon.scss +3 -1
  125. package/list/lib/icon/list-item-icon-styles.css.js +1 -1
  126. package/list/lib/icon/list-item-icon-styles.css.js.map +1 -1
  127. package/list/lib/icon/list-item-icon.d.ts +0 -3
  128. package/list/lib/icon/list-item-icon.js +1 -12
  129. package/list/lib/icon/list-item-icon.js.map +1 -1
  130. package/list/lib/image/_list-item-image.scss +1 -1
  131. package/list/lib/image/list-item-image-styles.css.js +1 -1
  132. package/list/lib/image/list-item-image-styles.css.js.map +1 -1
  133. package/list/lib/image/list-item-image.d.ts +11 -4
  134. package/list/lib/image/list-item-image.js +24 -13
  135. package/list/lib/image/list-item-image.js.map +1 -1
  136. package/list/lib/list-styles.css.js +1 -1
  137. package/list/lib/list-styles.css.js.map +1 -1
  138. package/list/lib/list.d.ts +99 -28
  139. package/list/lib/list.js +210 -111
  140. package/list/lib/list.js.map +1 -1
  141. package/list/lib/listitem/_list-item.scss +104 -39
  142. package/list/lib/listitem/harness.js +2 -1
  143. package/list/lib/listitem/harness.js.map +1 -1
  144. package/{menu/lib/menu-button-styles.css.d.ts → list/lib/listitem/list-item-private-styles.css.d.ts} +0 -0
  145. package/list/lib/listitem/list-item-private-styles.css.js +9 -0
  146. package/list/lib/listitem/list-item-private-styles.css.js.map +1 -0
  147. package/list/lib/listitem/list-item-private-styles.scss +8 -0
  148. package/list/lib/listitem/list-item-styles.css.js +1 -1
  149. package/list/lib/listitem/list-item-styles.css.js.map +1 -1
  150. package/list/lib/listitem/list-item.d.ts +99 -43
  151. package/list/lib/listitem/list-item.js +201 -172
  152. package/list/lib/listitem/list-item.js.map +1 -1
  153. package/list/lib/listitemlink/list-item-link.d.ts +17 -0
  154. package/list/lib/listitemlink/list-item-link.js +42 -0
  155. package/list/lib/listitemlink/list-item-link.js.map +1 -0
  156. package/list/lib/video/_list-item-video.scss +10 -4
  157. package/list/lib/video/list-item-video-styles.css.js +1 -1
  158. package/list/lib/video/list-item-video-styles.css.js.map +1 -1
  159. package/list/lib/video/list-item-video.d.ts +43 -4
  160. package/list/lib/video/list-item-video.js +90 -12
  161. package/list/lib/video/list-item-video.js.map +1 -1
  162. package/list/list-item-avatar.d.ts +2 -1
  163. package/list/list-item-avatar.js +2 -1
  164. package/list/list-item-avatar.js.map +1 -1
  165. package/list/list-item-icon.d.ts +2 -1
  166. package/list/list-item-icon.js +2 -1
  167. package/list/list-item-icon.js.map +1 -1
  168. package/list/list-item-image.d.ts +2 -1
  169. package/list/list-item-image.js +2 -1
  170. package/list/list-item-image.js.map +1 -1
  171. package/list/list-item-link.d.ts +35 -0
  172. package/list/list-item-link.js +39 -0
  173. package/list/list-item-link.js.map +1 -0
  174. package/list/list-item-video.d.ts +2 -1
  175. package/list/list-item-video.js +2 -1
  176. package/list/list-item-video.js.map +1 -1
  177. package/list/list-item.d.ts +18 -2
  178. package/list/list-item.js +20 -3
  179. package/list/list-item.js.map +1 -1
  180. package/list/list.d.ts +15 -1
  181. package/list/list.js +15 -1
  182. package/list/list.js.map +1 -1
  183. package/menu/_menu-item.scss +6 -0
  184. package/menu/_menu.scss +6 -0
  185. package/menu/harness.d.ts +5 -0
  186. package/menu/harness.js +22 -0
  187. package/menu/harness.js.map +1 -1
  188. package/menu/lib/_menu.scss +61 -62
  189. package/menu/lib/menu-styles.css.js +1 -1
  190. package/menu/lib/menu-styles.css.js.map +1 -1
  191. package/menu/lib/menu.d.ts +176 -42
  192. package/menu/lib/menu.js +506 -246
  193. package/menu/lib/menu.js.map +1 -1
  194. package/menu/lib/menuitem/_menu-item.scss +115 -0
  195. package/{tokens/v0_150/index.test.css.d.ts → menu/lib/menuitem/menu-item-private-styles.css.d.ts} +0 -0
  196. package/menu/lib/menuitem/menu-item-private-styles.css.js +9 -0
  197. package/menu/lib/menuitem/menu-item-private-styles.css.js.map +1 -0
  198. package/menu/lib/menuitem/menu-item-private-styles.scss +8 -0
  199. package/{tokens/v0_150/lib.test.css.d.ts → menu/lib/menuitem/menu-item-styles.css.d.ts} +0 -0
  200. package/menu/lib/menuitem/menu-item-styles.css.js +9 -0
  201. package/menu/lib/menuitem/menu-item-styles.css.js.map +1 -0
  202. package/menu/lib/menuitem/menu-item-styles.scss +8 -0
  203. package/menu/lib/menuitem/menu-item.d.ts +20 -3
  204. package/menu/lib/menuitem/menu-item.js +42 -3
  205. package/menu/lib/menuitem/menu-item.js.map +1 -1
  206. package/menu/lib/menuitemlink/menu-item-link.d.ts +25 -0
  207. package/menu/lib/menuitemlink/menu-item-link.js +51 -0
  208. package/menu/lib/menuitemlink/menu-item-link.js.map +1 -0
  209. package/menu/lib/shared.d.ts +134 -0
  210. package/menu/lib/shared.js +85 -0
  211. package/menu/lib/shared.js.map +1 -0
  212. package/menu/lib/submenuitem/harness.d.ts +11 -0
  213. package/menu/lib/submenuitem/harness.js +12 -0
  214. package/menu/lib/submenuitem/harness.js.map +1 -0
  215. package/menu/lib/submenuitem/sub-menu-item.d.ts +89 -0
  216. package/menu/lib/submenuitem/sub-menu-item.js +266 -0
  217. package/menu/lib/submenuitem/sub-menu-item.js.map +1 -0
  218. package/menu/lib/surfacePositionController.d.ts +117 -0
  219. package/menu/lib/surfacePositionController.js +196 -0
  220. package/menu/lib/surfacePositionController.js.map +1 -0
  221. package/menu/lib/typeaheadController.d.ts +144 -0
  222. package/menu/lib/typeaheadController.js +242 -0
  223. package/menu/lib/typeaheadController.js.map +1 -0
  224. package/menu/menu-item-link.d.ts +33 -0
  225. package/menu/menu-item-link.js +37 -0
  226. package/menu/menu-item-link.js.map +1 -0
  227. package/menu/menu-item.d.ts +19 -2
  228. package/menu/menu-item.js +22 -4
  229. package/menu/menu-item.js.map +1 -1
  230. package/menu/menu.d.ts +45 -0
  231. package/menu/menu.js +43 -0
  232. package/menu/menu.js.map +1 -1
  233. package/menu/sub-menu-item.d.ts +60 -0
  234. package/menu/sub-menu-item.js +64 -0
  235. package/menu/sub-menu-item.js.map +1 -0
  236. package/menusurface/lib/_menu-surface.scss +1 -1
  237. package/menusurface/lib/menu-surface-styles.css.js +1 -1
  238. package/menusurface/lib/menu-surface-styles.css.js.map +1 -1
  239. package/motion/animation.d.ts +20 -3
  240. package/motion/animation.js +39 -4
  241. package/motion/animation.js.map +1 -1
  242. package/navigationbar/lib/_navigation-bar.scss +9 -9
  243. package/navigationbar/lib/navigation-bar-styles.css.js +1 -1
  244. package/navigationbar/lib/navigation-bar-styles.css.js.map +1 -1
  245. package/navigationdrawer/lib/_navigation-drawer.scss +1 -1
  246. package/navigationdrawer/lib/navigation-drawer-styles.css.js +1 -1
  247. package/navigationdrawer/lib/navigation-drawer-styles.css.js.map +1 -1
  248. package/navigationtab/lib/_navigation-tab.scss +8 -19
  249. package/navigationtab/lib/navigation-tab-styles.css.js +1 -1
  250. package/navigationtab/lib/navigation-tab-styles.css.js.map +1 -1
  251. package/package.json +1 -8
  252. package/radio/lib/_radio.scss +21 -22
  253. package/radio/lib/radio-styles.css.js +1 -1
  254. package/radio/lib/radio-styles.css.js.map +1 -1
  255. package/radio/lib/radio.d.ts +10 -1
  256. package/radio/lib/radio.js +12 -3
  257. package/radio/lib/radio.js.map +1 -1
  258. package/radio/radio.d.ts +16 -1
  259. package/radio/radio.js +16 -1
  260. package/radio/radio.js.map +1 -1
  261. package/ripple/lib/_ripple.scss +5 -21
  262. package/ripple/lib/ripple-styles.css.js +1 -1
  263. package/ripple/lib/ripple-styles.css.js.map +1 -1
  264. package/ripple/lib/ripple.js +2 -2
  265. package/ripple/lib/ripple.js.map +1 -1
  266. package/sass/_map-ext.scss +24 -0
  267. package/sass/_string-ext.scss +23 -0
  268. package/segmentedbuttonset/lib/segmented-button-set.d.ts +0 -2
  269. package/segmentedbuttonset/lib/segmented-button-set.js +0 -2
  270. package/segmentedbuttonset/lib/segmented-button-set.js.map +1 -1
  271. package/switch/lib/_handle.scss +56 -9
  272. package/switch/lib/_icon.scss +36 -0
  273. package/switch/lib/_switch.scss +1 -115
  274. package/switch/lib/_track.scss +39 -0
  275. package/switch/lib/switch-styles.css.js +1 -1
  276. package/switch/lib/switch-styles.css.js.map +1 -1
  277. package/switch/lib/switch.d.ts +3 -0
  278. package/switch/lib/switch.js +3 -0
  279. package/switch/lib/switch.js.map +1 -1
  280. package/textfield/lib/_filled-text-field.scss +4 -2
  281. package/textfield/lib/_outlined-text-field.scss +3 -2
  282. package/textfield/lib/filled-styles.css.js +1 -1
  283. package/textfield/lib/filled-styles.css.js.map +1 -1
  284. package/textfield/lib/outlined-styles.css.js +1 -1
  285. package/textfield/lib/outlined-styles.css.js.map +1 -1
  286. package/textfield/lib/text-field.d.ts +0 -2
  287. package/textfield/lib/text-field.js +0 -2
  288. package/textfield/lib/text-field.js.map +1 -1
  289. package/tokens/_index.scss +1 -1
  290. package/tokens/{v0_150 → v0_152}/_index.scss +1 -1
  291. package/tokens/{v0_150 → v0_152}/_md-comp-assist-chip.scss +2 -2
  292. package/tokens/{v0_150 → v0_152}/_md-comp-badge.scss +2 -2
  293. package/tokens/{v0_150 → v0_152}/_md-comp-banner.scss +2 -43
  294. package/tokens/{v0_150 → v0_152}/_md-comp-bottom-app-bar.scss +3 -4
  295. package/tokens/{v0_150 → v0_152}/_md-comp-carousel-item.scss +2 -2
  296. package/tokens/{v0_150 → v0_152}/_md-comp-checkbox.scss +2 -12
  297. package/tokens/{v0_150 → v0_152}/_md-comp-circular-progress-indicator.scss +2 -2
  298. package/tokens/{v0_150 → v0_152}/_md-comp-data-table.scss +2 -4
  299. package/tokens/{v0_150 → v0_152}/_md-comp-date-input-modal.scss +2 -2
  300. package/tokens/{v0_150 → v0_152}/_md-comp-date-picker-docked.scss +2 -2
  301. package/tokens/{v0_150 → v0_152}/_md-comp-date-picker-modal.scss +2 -2
  302. package/tokens/{v0_150 → v0_152}/_md-comp-dialog.scss +2 -25
  303. package/tokens/{v0_150 → v0_152}/_md-comp-divider.scss +2 -2
  304. package/tokens/{v0_150 → v0_152}/_md-comp-elevated-button.scss +2 -2
  305. package/tokens/{v0_150 → v0_152}/_md-comp-elevated-card.scss +2 -2
  306. package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-branded.scss +2 -2
  307. package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-primary.scss +2 -2
  308. package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-secondary.scss +2 -2
  309. package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-surface.scss +2 -2
  310. package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-tertiary.scss +2 -4
  311. package/tokens/{v0_150 → v0_152}/_md-comp-fab-branded-large.scss +2 -3
  312. package/tokens/{v0_150 → v0_152}/_md-comp-fab-branded.scss +2 -2
  313. package/tokens/{v0_150 → v0_152}/_md-comp-fab-primary-large.scss +2 -2
  314. package/tokens/{v0_150 → v0_152}/_md-comp-fab-primary-small.scss +2 -2
  315. package/tokens/{v0_150 → v0_152}/_md-comp-fab-primary.scss +2 -2
  316. package/tokens/{v0_150 → v0_152}/_md-comp-fab-secondary-large.scss +2 -2
  317. package/tokens/{v0_150 → v0_152}/_md-comp-fab-secondary-small.scss +2 -2
  318. package/tokens/{v0_150 → v0_152}/_md-comp-fab-secondary.scss +2 -2
  319. package/tokens/{v0_150 → v0_152}/_md-comp-fab-surface-large.scss +2 -2
  320. package/tokens/{v0_150 → v0_152}/_md-comp-fab-surface-small.scss +2 -2
  321. package/tokens/{v0_150 → v0_152}/_md-comp-fab-surface.scss +2 -2
  322. package/tokens/{v0_150 → v0_152}/_md-comp-fab-tertiary-large.scss +2 -2
  323. package/tokens/{v0_150 → v0_152}/_md-comp-fab-tertiary-small.scss +2 -2
  324. package/tokens/{v0_150 → v0_152}/_md-comp-fab-tertiary.scss +2 -2
  325. package/tokens/{v0_150 → v0_152}/_md-comp-filled-autocomplete.scss +2 -3
  326. package/tokens/{v0_150 → v0_152}/_md-comp-filled-button.scss +2 -8
  327. package/tokens/{v0_150 → v0_152}/_md-comp-filled-card.scss +2 -4
  328. package/tokens/{v0_150 → v0_152}/_md-comp-filled-icon-button.scss +2 -2
  329. package/tokens/{v0_150 → v0_152}/_md-comp-filled-menu-button.scss +2 -2
  330. package/tokens/{v0_150 → v0_152}/_md-comp-filled-select.scss +2 -6
  331. package/tokens/{v0_150 → v0_152}/_md-comp-filled-text-field.scss +2 -3
  332. package/tokens/{v0_150 → v0_152}/_md-comp-filled-tonal-button.scss +2 -2
  333. package/tokens/{v0_150 → v0_152}/_md-comp-filled-tonal-icon-button.scss +2 -2
  334. package/tokens/{v0_150 → v0_152}/_md-comp-filter-chip.scss +2 -30
  335. package/tokens/{v0_150 → v0_152}/_md-comp-full-screen-dialog.scss +3 -53
  336. package/tokens/{v0_150 → v0_152}/_md-comp-icon-button.scss +3 -3
  337. package/tokens/{v0_150 → v0_152}/_md-comp-input-chip.scss +2 -52
  338. package/tokens/{v0_150 → v0_152}/_md-comp-linear-progress-indicator.scss +2 -2
  339. package/tokens/{v0_150 → v0_152}/_md-comp-list.scss +3 -12
  340. package/tokens/{v0_150 → v0_152}/_md-comp-menu.scss +2 -4
  341. package/tokens/{v0_150 → v0_152}/_md-comp-navigation-bar.scss +2 -9
  342. package/tokens/{v0_150 → v0_152}/_md-comp-navigation-drawer.scss +2 -8
  343. package/tokens/{v0_150 → v0_152}/_md-comp-navigation-rail.scss +2 -39
  344. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-autocomplete.scss +2 -3
  345. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-button.scss +2 -6
  346. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-card.scss +2 -2
  347. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-icon-button.scss +2 -4
  348. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-menu-button.scss +2 -2
  349. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-segmented-button.scss +2 -2
  350. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-select.scss +2 -6
  351. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-text-field.scss +2 -3
  352. package/tokens/{v0_150 → v0_152}/_md-comp-plain-tooltip.scss +2 -2
  353. package/tokens/{v0_150 → v0_152}/_md-comp-primary-navigation-tab.scss +2 -2
  354. package/tokens/{v0_150 → v0_152}/_md-comp-radio-button.scss +2 -2
  355. package/tokens/{v0_150 → v0_152}/_md-comp-rich-tooltip.scss +2 -2
  356. package/tokens/{v0_150 → v0_152}/_md-comp-scrim.scss +2 -2
  357. package/tokens/{v0_150 → v0_152}/_md-comp-search-bar.scss +2 -2
  358. package/tokens/{v0_150 → v0_152}/_md-comp-search-view.scss +2 -2
  359. package/tokens/{v0_150 → v0_152}/_md-comp-secondary-navigation-tab.scss +2 -2
  360. package/tokens/{v0_150 → v0_152}/_md-comp-sheet-bottom.scss +2 -2
  361. package/tokens/{v0_150 → v0_152}/_md-comp-sheet-floating.scss +2 -2
  362. package/tokens/{v0_150 → v0_152}/_md-comp-sheet-side.scss +4 -2
  363. package/tokens/{v0_150 → v0_152}/_md-comp-slider.scss +2 -4
  364. package/tokens/{v0_150 → v0_152}/_md-comp-snackbar.scss +2 -2
  365. package/tokens/{v0_150 → v0_152}/_md-comp-standard-menu-button.scss +2 -2
  366. package/tokens/{v0_150 → v0_152}/_md-comp-suggestion-chip.scss +2 -2
  367. package/tokens/{v0_150 → v0_152}/_md-comp-switch.scss +2 -11
  368. package/tokens/{v0_150 → v0_152}/_md-comp-text-button.scss +2 -6
  369. package/tokens/{v0_150 → v0_152}/_md-comp-time-input.scss +2 -2
  370. package/tokens/{v0_150 → v0_152}/_md-comp-time-picker.scss +2 -5
  371. package/tokens/{v0_150 → v0_152}/_md-comp-top-app-bar-large.scss +2 -2
  372. package/tokens/{v0_150 → v0_152}/_md-comp-top-app-bar-medium.scss +2 -2
  373. package/tokens/{v0_150 → v0_152}/_md-comp-top-app-bar-small-centered.scss +2 -3
  374. package/tokens/{v0_150 → v0_152}/_md-comp-top-app-bar-small.scss +2 -3
  375. package/tokens/{v0_150 → v0_152}/_md-ref-palette.scss +2 -2
  376. package/tokens/{v0_150 → v0_152}/_md-ref-typeface.scss +2 -2
  377. package/tokens/{v0_150 → v0_152}/_md-sys-color.scss +2 -20
  378. package/tokens/{v0_150 → v0_152}/_md-sys-elevation.scss +4 -13
  379. package/tokens/{v0_150 → v0_152}/_md-sys-motion.scss +2 -2
  380. package/tokens/{v0_150 → v0_152}/_md-sys-shape.scss +2 -2
  381. package/tokens/{v0_150 → v0_152}/_md-sys-state.scss +2 -2
  382. package/tokens/{v0_150 → v0_152}/_md-sys-typescale.scss +2 -3
  383. package/tokens/v0_152/index.test.css.d.ts +1 -0
  384. package/tokens/{v0_150 → v0_152}/index.test.css.js +0 -0
  385. package/tokens/{v0_150 → v0_152}/index.test.css.js.map +0 -0
  386. package/tokens/{v0_150 → v0_152}/index.test.scss +1 -1
  387. package/tokens/v0_152/lib.test.css.d.ts +1 -0
  388. package/tokens/{v0_150 → v0_152}/lib.test.css.js +0 -0
  389. package/tokens/{v0_150 → v0_152}/lib.test.css.js.map +0 -0
  390. package/tokens/{v0_150 → v0_152}/lib.test.scss +1 -1
  391. package/CHANGELOG.md +0 -141
  392. package/elevationold/lib/elevation-overlay-styles.css.js +0 -9
  393. package/elevationold/lib/elevation-overlay-styles.css.js.map +0 -1
  394. package/list/lib/_tokens.scss +0 -80
  395. package/list/lib/divider/_list-divider.scss +0 -46
  396. package/list/lib/divider/list-divider-styles.css.js +0 -9
  397. package/list/lib/divider/list-divider-styles.css.js.map +0 -1
  398. package/list/lib/divider/list-divider-styles.scss +0 -8
  399. package/list/lib/divider/list-divider.d.ts +0 -13
  400. package/list/lib/divider/list-divider.js +0 -32
  401. package/list/lib/divider/list-divider.js.map +0 -1
  402. package/list/list-divider.d.ts +0 -19
  403. package/list/list-divider.js +0 -22
  404. package/list/list-divider.js.map +0 -1
  405. package/menu/lib/_menu-button.scss +0 -14
  406. package/menu/lib/adapter.d.ts +0 -66
  407. package/menu/lib/adapter.js +0 -7
  408. package/menu/lib/adapter.js.map +0 -1
  409. package/menu/lib/constants.d.ts +0 -22
  410. package/menu/lib/constants.js +0 -23
  411. package/menu/lib/constants.js.map +0 -1
  412. package/menu/lib/foundation.d.ts +0 -49
  413. package/menu/lib/foundation.js +0 -123
  414. package/menu/lib/foundation.js.map +0 -1
  415. package/menu/lib/menu-button-styles.css.js +0 -9
  416. package/menu/lib/menu-button-styles.css.js.map +0 -1
  417. package/menu/lib/menu-button-styles.scss +0 -8
  418. package/menu/lib/menu-button.d.ts +0 -27
  419. package/menu/lib/menu-button.js +0 -93
  420. package/menu/lib/menu-button.js.map +0 -1
  421. package/menu/menu-button.d.ts +0 -14
  422. package/menu/menu-button.js +0 -17
  423. package/menu/menu-button.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["button.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @requirecss {button.lib.shared_styles}\n *\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// This is required for @ariaProperty\n// tslint:disable:no-new-decorators\n\nimport '../../icon/icon.js';\nimport '../../focus/focus-ring.js';\nimport '../../ripple/ripple.js';\n\nimport {html, LitElement, TemplateResult} from 'lit';\nimport {property, query, queryAssignedElements, queryAsync, state} from 'lit/decorators.js';\nimport {ClassInfo, classMap} from 'lit/directives/class-map.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\nimport {when} from 'lit/directives/when.js';\nimport {html as staticHtml, literal} from 'lit/static-html.js';\n\nimport {dispatchActivationClick, isActivationClick} from '../../controller/events.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';\nimport {ARIAHasPopup} from '../../types/aria.js';\n\nimport {ButtonState} from './state.js';\n\n// tslint:disable-next-line:enforce-comments-on-exported-symbols\nexport abstract class Button extends LitElement implements ButtonState {\n static override shadowRootOptions:\n ShadowRootInit = {mode: 'open', delegatesFocus: true};\n\n protected readonly iconTag = literal`md-icon`;\n\n @property({type: String, attribute: 'data-aria-has-popup', noAccessor: true})\n @ariaProperty\n override ariaHasPopup!: ARIAHasPopup;\n\n @property({type: String, attribute: 'data-aria-label', noAccessor: true})\n @ariaProperty\n override ariaLabel!: string;\n\n /**\n * Whether or not the button is disabled.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n\n /**\n * Whether to render the icon at the inline end of the label rather than the\n * inline start.\n *\n * _Note:_ Link buttons cannot have trailing icons.\n */\n @property({type: Boolean, attribute: 'trailingicon'}) trailingIcon = false;\n\n /**\n * The label of the icon to render.\n *\n * See md-icon's documentation for usage.\n */\n @property({type: String}) icon = '';\n\n /**\n * The button's visible label.\n */\n @property({type: String}) label = '';\n\n /**\n * Whether to display the icon or not.\n */\n @property({type: Boolean}) hasIcon = false;\n\n /**\n * Whether `preventDefault()` should be called on the underlying button.\n * Useful for preventing certain native functionalities like preventing form\n * submissions.\n */\n @property({type: Boolean}) preventClickDefault = false;\n\n @query('.md3-button') protected buttonElement!: HTMLElement;\n\n @queryAsync('md-ripple') protected ripple!: Promise<MdRipple|null>;\n\n @state() protected showFocusRing = false;\n\n @state() protected showRipple = false;\n\n @queryAssignedElements({slot: 'icon', flatten: true})\n protected iconElement!: HTMLElement[]|null;\n\n constructor() {\n super();\n this.addEventListener('click', this.handleActivationClick);\n }\n\n private readonly handleActivationClick = (event: MouseEvent) => {\n if (!isActivationClick((event))) {\n return;\n }\n this.focus();\n dispatchActivationClick(this.buttonElement);\n };\n\n override focus() {\n this.buttonElement.focus();\n }\n\n override blur() {\n this.buttonElement.blur();\n }\n\n protected readonly getRipple = () => {\n this.showRipple = true;\n return this.ripple;\n };\n\n protected override render(): TemplateResult {\n // TODO(b/237283903): Replace ifDefined(... || undefined) with ifTruthy(...)\n return html`\n <button\n class=\"md3-button ${classMap(this.getRenderClasses())}\"\n ?disabled=\"${this.disabled}\"\n aria-label=\"${ifDefined(this.ariaLabel || undefined)}\"\n aria-haspopup=\"${ifDefined(this.ariaHasPopup || undefined)}\"\n @pointerdown=\"${this.handlePointerDown}\"\n @focus=\"${this.handleFocus}\"\n @blur=\"${this.handleBlur}\"\n @click=\"${this.handleClick}\"\n ${ripple(this.getRipple)}>\n ${this.renderFocusRing()}\n ${this.renderElevation()}\n ${when(this.showRipple, this.renderRipple)}\n ${this.renderOutline()}\n ${this.renderTouchTarget()}\n ${this.renderLeadingIcon()}\n ${this.renderLabel()}\n ${this.renderTrailingIcon()}\n </button>`;\n }\n\n protected getRenderClasses(): ClassInfo {\n return {\n 'md3-button--icon-leading': !this.trailingIcon && this.hasIcon,\n 'md3-button--icon-trailing': this.trailingIcon && this.hasIcon,\n };\n }\n\n protected getIconContainerClasses(): ClassInfo {\n return {\n 'md3-button__icon--leading': !this.trailingIcon,\n 'md3-button__icon--trailing': this.trailingIcon,\n };\n }\n\n protected renderTouchTarget(): TemplateResult {\n return html`\n <span class=\"md3-button__touch\"></span>\n `;\n }\n\n protected renderElevation(): TemplateResult {\n return html``;\n }\n\n protected renderRipple = () => {\n return html`<md-ripple class=\"md3-button__ripple\" ?disabled=\"${\n this.disabled}\"></md-ripple>`;\n };\n\n protected renderOutline(): TemplateResult {\n return html``;\n }\n\n protected renderFocusRing(): TemplateResult {\n return html`<md-focus-ring .visible=\"${\n this.showFocusRing}\"></md-focus-ring>`;\n }\n\n protected renderLabel(): TemplateResult {\n return html`<span class=\"md3-button__label\">${this.label}</span>`;\n }\n\n protected renderLeadingIcon(): TemplateResult|string {\n return this.trailingIcon ? '' : this.renderIcon();\n }\n\n protected renderTrailingIcon(): TemplateResult|string {\n return this.trailingIcon ? this.renderIcon() : '';\n }\n\n protected renderIcon(): TemplateResult {\n return html`<span class=\"md3-button__icon-slot-container ${\n classMap(this.getIconContainerClasses())}\">\n <slot name=\"icon\" @slotchange=\"${this.handleSlotChange}\">\n ${this.icon ? this.renderFontIcon() : ''}\n </slot>\n </span>`;\n }\n\n protected renderFontIcon(): TemplateResult {\n return staticHtml`\n <${this.iconTag} class=\"md3-button__icon\">\n ${this.icon}\n </${this.iconTag}>`;\n }\n\n override update(changedProperties: Map<string, string>) {\n super.update(changedProperties);\n this.hasIcon = !!this.iconElement && this.iconElement.length > 0;\n }\n\n protected handlePointerDown(e: PointerEvent) {\n pointerPress();\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n protected handleClick(e: MouseEvent) {\n if (this.preventClickDefault) {\n e.preventDefault();\n }\n }\n\n protected handleFocus() {\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n protected handleBlur() {\n this.showFocusRing = false;\n }\n\n protected handleSlotChange() {\n this.requestUpdate();\n }\n}\n"]}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["button.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// This is required for @ariaProperty\n// tslint:disable:no-new-decorators\n\nimport '../../focus/focus-ring.js';\nimport '../../ripple/ripple.js';\n\nimport {html, LitElement, nothing, TemplateResult} from 'lit';\nimport {property, query, queryAssignedElements, queryAsync, state} from 'lit/decorators.js';\nimport {ClassInfo, classMap} from 'lit/directives/class-map.js';\nimport {when} from 'lit/directives/when.js';\n\nimport {dispatchActivationClick, isActivationClick} from '../../controller/events.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';\nimport {ARIAHasPopup} from '../../types/aria.js';\n\nimport {ButtonState} from './state.js';\n\n// tslint:disable-next-line:enforce-comments-on-exported-symbols\nexport abstract class Button extends LitElement implements ButtonState {\n static override shadowRootOptions:\n ShadowRootInit = {mode: 'open', delegatesFocus: true};\n\n @property({type: String, attribute: 'data-aria-has-popup', noAccessor: true})\n @ariaProperty\n override ariaHasPopup!: ARIAHasPopup;\n\n @property({type: String, attribute: 'data-aria-label', noAccessor: true})\n @ariaProperty\n override ariaLabel!: string;\n\n /**\n * Whether or not the button is disabled.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n\n /**\n * Whether to render the icon at the inline end of the label rather than the\n * inline start.\n *\n * _Note:_ Link buttons cannot have trailing icons.\n */\n @property({type: Boolean, attribute: 'trailingicon'}) trailingIcon = false;\n\n /**\n * The button's visible label.\n */\n @property({type: String}) label = '';\n\n /**\n * Whether to display the icon or not.\n */\n @property({type: Boolean}) hasIcon = false;\n\n /**\n * Whether `preventDefault()` should be called on the underlying button.\n * Useful for preventing certain native functionalities like preventing form\n * submissions.\n */\n @property({type: Boolean}) preventClickDefault = false;\n\n @query('.md3-button') protected buttonElement!: HTMLElement;\n\n @queryAsync('md-ripple') protected ripple!: Promise<MdRipple|null>;\n\n @state() protected showFocusRing = false;\n\n @state() protected showRipple = false;\n\n @queryAssignedElements({slot: 'icon', flatten: true})\n protected assignedIcons!: HTMLElement[];\n\n constructor() {\n super();\n this.addEventListener('click', this.handleActivationClick);\n }\n\n private readonly handleActivationClick = (event: MouseEvent) => {\n if (!isActivationClick((event))) {\n return;\n }\n this.focus();\n dispatchActivationClick(this.buttonElement);\n };\n\n override focus() {\n this.buttonElement.focus();\n }\n\n override blur() {\n this.buttonElement.blur();\n }\n\n protected readonly getRipple = () => {\n this.showRipple = true;\n return this.ripple;\n };\n\n protected override render(): TemplateResult {\n // TODO(b/237283903): Replace ifDefined(... || undefined) with ifTruthy(...)\n return html`\n <button\n class=\"md3-button ${classMap(this.getRenderClasses())}\"\n ?disabled=\"${this.disabled}\"\n aria-label=\"${this.ariaLabel || nothing}\"\n aria-haspopup=\"${this.ariaHasPopup || nothing}\"\n @pointerdown=\"${this.handlePointerDown}\"\n @focus=\"${this.handleFocus}\"\n @blur=\"${this.handleBlur}\"\n @click=\"${this.handleClick}\"\n ${ripple(this.getRipple)}>\n ${this.renderFocusRing()}\n ${this.renderElevation()}\n ${when(this.showRipple, this.renderRipple)}\n ${this.renderOutline()}\n ${this.renderTouchTarget()}\n ${this.renderLeadingIcon()}\n ${this.renderLabel()}\n ${this.renderTrailingIcon()}\n </button>`;\n }\n\n protected getRenderClasses(): ClassInfo {\n return {\n 'md3-button--icon-leading': !this.trailingIcon && this.hasIcon,\n 'md3-button--icon-trailing': this.trailingIcon && this.hasIcon,\n };\n }\n\n protected renderTouchTarget(): TemplateResult {\n return html`\n <span class=\"md3-button__touch\"></span>\n `;\n }\n\n protected renderElevation(): TemplateResult {\n return html``;\n }\n\n protected renderRipple = () => {\n return html`<md-ripple class=\"md3-button__ripple\" ?disabled=\"${\n this.disabled}\"></md-ripple>`;\n };\n\n protected renderOutline(): TemplateResult {\n return html``;\n }\n\n protected renderFocusRing(): TemplateResult {\n return html`<md-focus-ring .visible=\"${\n this.showFocusRing}\"></md-focus-ring>`;\n }\n\n protected renderLabel(): TemplateResult {\n return html`<span class=\"md3-button__label\">${this.label}</span>`;\n }\n\n protected renderLeadingIcon(): TemplateResult|string {\n return this.trailingIcon ? '' : this.renderIcon();\n }\n\n protected renderTrailingIcon(): TemplateResult|string {\n return this.trailingIcon ? this.renderIcon() : '';\n }\n\n protected renderIcon(): TemplateResult {\n return html`<slot name=\"icon\" @slotchange=\"${\n this.handleSlotChange}\"></slot>`;\n }\n\n protected handlePointerDown(e: PointerEvent) {\n pointerPress();\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n protected handleClick(e: MouseEvent) {\n if (this.preventClickDefault) {\n e.preventDefault();\n }\n }\n\n protected handleFocus() {\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n protected handleBlur() {\n this.showFocusRing = false;\n }\n\n protected handleSlotChange() {\n this.hasIcon = this.assignedIcons.length > 0;\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{--_container-shape-start-start: var(--md-filled-button-container-shape-start-start, 9999px);--_container-shape-start-end: var(--md-filled-button-container-shape-start-end, 9999px);--_container-shape-end-end: var(--md-filled-button-container-shape-end-end, 9999px);--_container-shape-end-start: var(--md-filled-button-container-shape-end-start, 9999px);--_container-color: var(--md-filled-button-container-color, var(--md-sys-color-primary, #6750a4));--_container-elevation: var(--md-filled-button-container-elevation, 0);--_container-height: var(--md-filled-button-container-height, 40px);--_container-shadow-color: var(--md-filled-button-container-shadow-color, var(--md-sys-color-shadow, #000));--_disabled-container-color: var(--md-filled-button-disabled-container-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.12));--_disabled-container-elevation: var(--md-filled-button-disabled-container-elevation, 0);--_disabled-label-text-color: var(--md-filled-button-disabled-label-text-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--_dragged-container-elevation: var(--md-filled-button-dragged-container-elevation, 6);--_dragged-label-text-color: var(--md-filled-button-dragged-label-text-color, var(--md-sys-color-on-primary, #fff));--_dragged-state-layer-color: var(--md-filled-button-dragged-state-layer-color, var(--md-sys-color-on-primary, #fff));--_dragged-state-layer-opacity: var(--md-filled-button-dragged-state-layer-opacity, 0.16);--_focus-container-elevation: var(--md-filled-button-focus-container-elevation, 0);--_focus-label-text-color: var(--md-filled-button-focus-label-text-color, var(--md-sys-color-on-primary, #fff));--_focus-state-layer-color: var(--md-filled-button-focus-state-layer-color, var(--md-sys-color-on-primary, #fff));--_focus-state-layer-opacity: var(--md-filled-button-focus-state-layer-opacity, 0.12);--_hover-container-elevation: var(--md-filled-button-hover-container-elevation, 1);--_hover-label-text-color: var(--md-filled-button-hover-label-text-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-color: var(--md-filled-button-hover-state-layer-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-opacity: var(--md-filled-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-filled-button-label-text-color, var(--md-sys-color-on-primary, #fff));--_label-text-font: var(--md-filled-button-label-text-font, Roboto);--_label-text-line-height: var(--md-filled-button-label-text-line-height, 1.25rem);--_label-text-size: var(--md-filled-button-label-text-size, 0.875rem);--_label-text-tracking: var(--md-filled-button-label-text-tracking, 0.006rem);--_label-text-type: var(--md-filled-button-label-text-type, 500 0.875rem / 1.25rem Roboto);--_label-text-weight: var(--md-filled-button-label-text-weight, 500);--_pressed-container-elevation: var(--md-filled-button-pressed-container-elevation, 0);--_pressed-label-text-color: var(--md-filled-button-pressed-label-text-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-color: var(--md-filled-button-pressed-state-layer-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-opacity: var(--md-filled-button-pressed-state-layer-opacity, 0.12);--_with-icon-disabled-icon-color: var(--md-filled-button-with-icon-disabled-icon-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--_with-icon-dragged-icon-color: var(--md-filled-button-with-icon-dragged-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-focus-icon-color: var(--md-filled-button-with-icon-focus-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-hover-icon-color: var(--md-filled-button-with-icon-hover-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-icon-color: var(--md-filled-button-with-icon-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-icon-size: var(--md-filled-button-with-icon-icon-size, 18px);--_with-icon-pressed-icon-color: var(--md-filled-button-with-icon-pressed-icon-color, var(--md-sys-color-on-primary, #fff));--_spacing-leading: var(--md-filled-button-spacing-leading, 24px);--_spacing-trailing: var(--md-filled-button-spacing-trailing, 24px);--_with-icon-spacing-leading: var(--md-filled-button-with-icon-spacing-leading, 16px);--_with-icon-spacing-trailing: var(--md-filled-button-with-icon-spacing-trailing, 24px);--_with-trailing-icon-spacing-leading: var(--md-filled-button-with-trailing-icon-spacing-leading, 24px);--_with-trailing-icon-spacing-trailing: var(--md-filled-button-with-trailing-icon-spacing-trailing, 16px)}/*# sourceMappingURL=filled-styles.css.map */
7
+ export const styles = css `:host{--_container-shape-start-start: var(--md-filled-button-container-shape-start-start, 9999px);--_container-shape-start-end: var(--md-filled-button-container-shape-start-end, 9999px);--_container-shape-end-end: var(--md-filled-button-container-shape-end-end, 9999px);--_container-shape-end-start: var(--md-filled-button-container-shape-end-start, 9999px);--_container-color: var(--md-filled-button-container-color, var(--md-sys-color-primary, #6750a4));--_container-elevation: var(--md-filled-button-container-elevation, 0);--_container-height: var(--md-filled-button-container-height, 40px);--_container-shadow-color: var(--md-filled-button-container-shadow-color, var(--md-sys-color-shadow, #000));--_disabled-container-color: var(--md-filled-button-disabled-container-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.12));--_disabled-container-elevation: var(--md-filled-button-disabled-container-elevation, 0);--_disabled-label-text-color: var(--md-filled-button-disabled-label-text-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--_focus-container-elevation: var(--md-filled-button-focus-container-elevation, 0);--_focus-label-text-color: var(--md-filled-button-focus-label-text-color, var(--md-sys-color-on-primary, #fff));--_focus-state-layer-color: var(--md-filled-button-focus-state-layer-color, var(--md-sys-color-on-primary, #fff));--_focus-state-layer-opacity: var(--md-filled-button-focus-state-layer-opacity, 0.12);--_hover-container-elevation: var(--md-filled-button-hover-container-elevation, 1);--_hover-label-text-color: var(--md-filled-button-hover-label-text-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-color: var(--md-filled-button-hover-state-layer-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-opacity: var(--md-filled-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-filled-button-label-text-color, var(--md-sys-color-on-primary, #fff));--_label-text-font: var(--md-filled-button-label-text-font, Roboto);--_label-text-line-height: var(--md-filled-button-label-text-line-height, 1.25rem);--_label-text-size: var(--md-filled-button-label-text-size, 0.875rem);--_label-text-tracking: var(--md-filled-button-label-text-tracking, 0.006rem);--_label-text-type: var(--md-filled-button-label-text-type, 500 0.875rem / 1.25rem Roboto);--_label-text-weight: var(--md-filled-button-label-text-weight, 500);--_pressed-container-elevation: var(--md-filled-button-pressed-container-elevation, 0);--_pressed-label-text-color: var(--md-filled-button-pressed-label-text-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-color: var(--md-filled-button-pressed-state-layer-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-opacity: var(--md-filled-button-pressed-state-layer-opacity, 0.12);--_with-icon-disabled-icon-color: var(--md-filled-button-with-icon-disabled-icon-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--_with-icon-focus-icon-color: var(--md-filled-button-with-icon-focus-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-hover-icon-color: var(--md-filled-button-with-icon-hover-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-icon-color: var(--md-filled-button-with-icon-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-icon-size: var(--md-filled-button-with-icon-icon-size, 18px);--_with-icon-pressed-icon-color: var(--md-filled-button-with-icon-pressed-icon-color, var(--md-sys-color-on-primary, #fff));--_spacing-leading: var(--md-filled-button-spacing-leading, 24px);--_spacing-trailing: var(--md-filled-button-spacing-trailing, 24px);--_with-icon-spacing-leading: var(--md-filled-button-with-icon-spacing-leading, 16px);--_with-icon-spacing-trailing: var(--md-filled-button-with-icon-spacing-trailing, 24px);--_with-trailing-icon-spacing-leading: var(--md-filled-button-with-trailing-icon-spacing-leading, 24px);--_with-trailing-icon-spacing-trailing: var(--md-filled-button-with-trailing-icon-spacing-trailing, 16px)}/*# sourceMappingURL=filled-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=filled-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filled-styles.css.js","sourceRoot":"","sources":["filled-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{--_container-shape-start-start: var(--md-filled-button-container-shape-start-start, 9999px);--_container-shape-start-end: var(--md-filled-button-container-shape-start-end, 9999px);--_container-shape-end-end: var(--md-filled-button-container-shape-end-end, 9999px);--_container-shape-end-start: var(--md-filled-button-container-shape-end-start, 9999px);--_container-color: var(--md-filled-button-container-color, var(--md-sys-color-primary, #6750a4));--_container-elevation: var(--md-filled-button-container-elevation, 0);--_container-height: var(--md-filled-button-container-height, 40px);--_container-shadow-color: var(--md-filled-button-container-shadow-color, var(--md-sys-color-shadow, #000));--_disabled-container-color: var(--md-filled-button-disabled-container-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.12));--_disabled-container-elevation: var(--md-filled-button-disabled-container-elevation, 0);--_disabled-label-text-color: var(--md-filled-button-disabled-label-text-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--_dragged-container-elevation: var(--md-filled-button-dragged-container-elevation, 6);--_dragged-label-text-color: var(--md-filled-button-dragged-label-text-color, var(--md-sys-color-on-primary, #fff));--_dragged-state-layer-color: var(--md-filled-button-dragged-state-layer-color, var(--md-sys-color-on-primary, #fff));--_dragged-state-layer-opacity: var(--md-filled-button-dragged-state-layer-opacity, 0.16);--_focus-container-elevation: var(--md-filled-button-focus-container-elevation, 0);--_focus-label-text-color: var(--md-filled-button-focus-label-text-color, var(--md-sys-color-on-primary, #fff));--_focus-state-layer-color: var(--md-filled-button-focus-state-layer-color, var(--md-sys-color-on-primary, #fff));--_focus-state-layer-opacity: var(--md-filled-button-focus-state-layer-opacity, 0.12);--_hover-container-elevation: var(--md-filled-button-hover-container-elevation, 1);--_hover-label-text-color: var(--md-filled-button-hover-label-text-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-color: var(--md-filled-button-hover-state-layer-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-opacity: var(--md-filled-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-filled-button-label-text-color, var(--md-sys-color-on-primary, #fff));--_label-text-font: var(--md-filled-button-label-text-font, Roboto);--_label-text-line-height: var(--md-filled-button-label-text-line-height, 1.25rem);--_label-text-size: var(--md-filled-button-label-text-size, 0.875rem);--_label-text-tracking: var(--md-filled-button-label-text-tracking, 0.006rem);--_label-text-type: var(--md-filled-button-label-text-type, 500 0.875rem / 1.25rem Roboto);--_label-text-weight: var(--md-filled-button-label-text-weight, 500);--_pressed-container-elevation: var(--md-filled-button-pressed-container-elevation, 0);--_pressed-label-text-color: var(--md-filled-button-pressed-label-text-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-color: var(--md-filled-button-pressed-state-layer-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-opacity: var(--md-filled-button-pressed-state-layer-opacity, 0.12);--_with-icon-disabled-icon-color: var(--md-filled-button-with-icon-disabled-icon-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--_with-icon-dragged-icon-color: var(--md-filled-button-with-icon-dragged-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-focus-icon-color: var(--md-filled-button-with-icon-focus-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-hover-icon-color: var(--md-filled-button-with-icon-hover-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-icon-color: var(--md-filled-button-with-icon-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-icon-size: var(--md-filled-button-with-icon-icon-size, 18px);--_with-icon-pressed-icon-color: var(--md-filled-button-with-icon-pressed-icon-color, var(--md-sys-color-on-primary, #fff));--_spacing-leading: var(--md-filled-button-spacing-leading, 24px);--_spacing-trailing: var(--md-filled-button-spacing-trailing, 24px);--_with-icon-spacing-leading: var(--md-filled-button-with-icon-spacing-leading, 16px);--_with-icon-spacing-trailing: var(--md-filled-button-with-icon-spacing-trailing, 24px);--_with-trailing-icon-spacing-leading: var(--md-filled-button-with-trailing-icon-spacing-leading, 24px);--_with-trailing-icon-spacing-trailing: var(--md-filled-button-with-trailing-icon-spacing-trailing, 16px)}/*# sourceMappingURL=filled-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"filled-styles.css.js","sourceRoot":"","sources":["filled-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{--_container-shape-start-start: var(--md-filled-button-container-shape-start-start, 9999px);--_container-shape-start-end: var(--md-filled-button-container-shape-start-end, 9999px);--_container-shape-end-end: var(--md-filled-button-container-shape-end-end, 9999px);--_container-shape-end-start: var(--md-filled-button-container-shape-end-start, 9999px);--_container-color: var(--md-filled-button-container-color, var(--md-sys-color-primary, #6750a4));--_container-elevation: var(--md-filled-button-container-elevation, 0);--_container-height: var(--md-filled-button-container-height, 40px);--_container-shadow-color: var(--md-filled-button-container-shadow-color, var(--md-sys-color-shadow, #000));--_disabled-container-color: var(--md-filled-button-disabled-container-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.12));--_disabled-container-elevation: var(--md-filled-button-disabled-container-elevation, 0);--_disabled-label-text-color: var(--md-filled-button-disabled-label-text-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--_focus-container-elevation: var(--md-filled-button-focus-container-elevation, 0);--_focus-label-text-color: var(--md-filled-button-focus-label-text-color, var(--md-sys-color-on-primary, #fff));--_focus-state-layer-color: var(--md-filled-button-focus-state-layer-color, var(--md-sys-color-on-primary, #fff));--_focus-state-layer-opacity: var(--md-filled-button-focus-state-layer-opacity, 0.12);--_hover-container-elevation: var(--md-filled-button-hover-container-elevation, 1);--_hover-label-text-color: var(--md-filled-button-hover-label-text-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-color: var(--md-filled-button-hover-state-layer-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-opacity: var(--md-filled-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-filled-button-label-text-color, var(--md-sys-color-on-primary, #fff));--_label-text-font: var(--md-filled-button-label-text-font, Roboto);--_label-text-line-height: var(--md-filled-button-label-text-line-height, 1.25rem);--_label-text-size: var(--md-filled-button-label-text-size, 0.875rem);--_label-text-tracking: var(--md-filled-button-label-text-tracking, 0.006rem);--_label-text-type: var(--md-filled-button-label-text-type, 500 0.875rem / 1.25rem Roboto);--_label-text-weight: var(--md-filled-button-label-text-weight, 500);--_pressed-container-elevation: var(--md-filled-button-pressed-container-elevation, 0);--_pressed-label-text-color: var(--md-filled-button-pressed-label-text-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-color: var(--md-filled-button-pressed-state-layer-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-opacity: var(--md-filled-button-pressed-state-layer-opacity, 0.12);--_with-icon-disabled-icon-color: var(--md-filled-button-with-icon-disabled-icon-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--_with-icon-focus-icon-color: var(--md-filled-button-with-icon-focus-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-hover-icon-color: var(--md-filled-button-with-icon-hover-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-icon-color: var(--md-filled-button-with-icon-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-icon-size: var(--md-filled-button-with-icon-icon-size, 18px);--_with-icon-pressed-icon-color: var(--md-filled-button-with-icon-pressed-icon-color, var(--md-sys-color-on-primary, #fff));--_spacing-leading: var(--md-filled-button-spacing-leading, 24px);--_spacing-trailing: var(--md-filled-button-spacing-trailing, 24px);--_with-icon-spacing-leading: var(--md-filled-button-with-icon-spacing-leading, 16px);--_with-icon-spacing-trailing: var(--md-filled-button-with-icon-spacing-trailing, 24px);--_with-trailing-icon-spacing-leading: var(--md-filled-button-with-trailing-icon-spacing-leading, 24px);--_with-trailing-icon-spacing-trailing: var(--md-filled-button-with-trailing-icon-spacing-trailing, 16px)}/*# sourceMappingURL=filled-styles.css.map */\n`;\n "]}
@@ -20,6 +20,5 @@ export declare abstract class LinkButton extends Button {
20
20
  */
21
21
  disabled: boolean;
22
22
  protected getRenderClasses(): ClassInfo;
23
- protected getIconContainerClasses(): ClassInfo;
24
23
  protected render(): TemplateResult;
25
24
  }
@@ -26,11 +26,6 @@ export class LinkButton extends Button {
26
26
  'md3-button--icon-leading': this.hasIcon,
27
27
  };
28
28
  }
29
- getIconContainerClasses() {
30
- return {
31
- 'md3-button__icon--leading': true,
32
- };
33
- }
34
29
  render() {
35
30
  return html `
36
31
  <span class="md3-link-button-wrapper">
@@ -1 +1 @@
1
- {"version":3,"file":"link-button.js","sourceRoot":"","sources":["link-button.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAY,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAC,IAAI,EAAC,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AAEjD,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAUnC,gEAAgE;AAChE,MAAM,OAAgB,UAAW,SAAQ,MAAM;IAA/C;;QAWE;;WAEG;QACM,aAAQ,GAAG,KAAK,CAAC;IAoC5B,CAAC;IAlCC,iDAAiD;IAC9B,gBAAgB;QACjC,OAAO;YACL,0BAA0B,EAAE,IAAI,CAAC,OAAO;SACzC,CAAC;IACJ,CAAC;IAEkB,uBAAuB;QACxC,OAAO;YACL,2BAA2B,EAAE,IAAI;SAClC,CAAC;IACJ,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;+BAEgB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;kBAC9C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClB,SAAS,CAAC,IAAI,CAAC,MAAoB,CAAC;wBAChC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;oBAC7B,IAAI,CAAC,WAAW;mBACjB,IAAI,CAAC,UAAU;0BACR,IAAI,CAAC,iBAAiB;oBAC5B,IAAI,CAAC,WAAW;YACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;cACpB,IAAI,CAAC,eAAe,EAAE;cACtB,IAAI,CAAC,eAAe,EAAE;cACtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;cACxC,IAAI,CAAC,aAAa,EAAE;cACpB,IAAI,CAAC,iBAAiB,EAAE;cACxB,IAAI,CAAC,UAAU,EAAE;cACjB,IAAI,CAAC,WAAW,EAAE;cAClB,CAAC;IACb,CAAC;CACF;AA9C2B;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;;wCAAe;AAKd;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;;0CAAiB","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {ClassInfo, classMap} from 'lit/directives/class-map.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\nimport {when} from 'lit/directives/when.js';\n\nimport {ripple} from '../../ripple/directive.js';\n\nimport {Button} from './button.js';\n\n/**\n * Note that we cast `linkTarget` to this type, below. The Lit compiler\n * enforces the `target` attribute value to be of this type, but this is not\n * compatible with the generated Wit Soy/JS, which expects `linkTarget`\n * to be a string type.\n */\ntype LinkTarget = '_blank'|'_parent'|'_self'|'_top';\n\n// tslint:disable-next-line:enforce-comments-on-exported-symbols\nexport abstract class LinkButton extends Button {\n /**\n * Sets the underlying `HTMLAnchorElement`'s `href` resource attribute.\n */\n @property({type: String}) href!: string;\n\n /**\n * Sets the underlying `HTMLAnchorElement`'s `target` attribute.\n */\n @property({type: String}) target!: string;\n\n /**\n * Link buttons cannot be disabled.\n */\n override disabled = false;\n\n // Note: link buttons cannot have trailing icons.\n protected override getRenderClasses(): ClassInfo {\n return {\n 'md3-button--icon-leading': this.hasIcon,\n };\n }\n\n protected override getIconContainerClasses(): ClassInfo {\n return {\n 'md3-button__icon--leading': true,\n };\n }\n\n protected override render(): TemplateResult {\n return html`\n <span class=\"md3-link-button-wrapper\">\n <a class=\"md3-button ${classMap(this.getRenderClasses())}\"\n href=\"${ifDefined(this.href)}\"\n target=\"${ifDefined(this.target as LinkTarget)}\"\n aria-label=\"${ifDefined(this.ariaLabel)}\"\n @focus=\"${this.handleFocus}\"\n @blur=\"${this.handleBlur}\"\n @pointerdown=\"${this.handlePointerDown}\"\n @click=\"${this.handleClick}\"\n ${ripple(this.getRipple)}>\n ${this.renderFocusRing()}\n ${this.renderElevation()}\n ${when(this.showRipple, this.renderRipple)}\n ${this.renderOutline()}\n ${this.renderTouchTarget()}\n ${this.renderIcon()}\n ${this.renderLabel()}</a>\n </span>`;\n }\n}\n"]}
1
+ {"version":3,"file":"link-button.js","sourceRoot":"","sources":["link-button.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAY,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAC,IAAI,EAAC,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AAEjD,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAUnC,gEAAgE;AAChE,MAAM,OAAgB,UAAW,SAAQ,MAAM;IAA/C;;QAWE;;WAEG;QACM,aAAQ,GAAG,KAAK,CAAC;IA8B5B,CAAC;IA5BC,iDAAiD;IAC9B,gBAAgB;QACjC,OAAO;YACL,0BAA0B,EAAE,IAAI,CAAC,OAAO;SACzC,CAAC;IACJ,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;+BAEgB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;kBAC9C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClB,SAAS,CAAC,IAAI,CAAC,MAAoB,CAAC;wBAChC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;oBAC7B,IAAI,CAAC,WAAW;mBACjB,IAAI,CAAC,UAAU;0BACR,IAAI,CAAC,iBAAiB;oBAC5B,IAAI,CAAC,WAAW;YACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;cACpB,IAAI,CAAC,eAAe,EAAE;cACtB,IAAI,CAAC,eAAe,EAAE;cACtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;cACxC,IAAI,CAAC,aAAa,EAAE;cACpB,IAAI,CAAC,iBAAiB,EAAE;cACxB,IAAI,CAAC,UAAU,EAAE;cACjB,IAAI,CAAC,WAAW,EAAE;cAClB,CAAC;IACb,CAAC;CACF;AAxC2B;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;;wCAAe;AAKd;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;;0CAAiB","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {ClassInfo, classMap} from 'lit/directives/class-map.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\nimport {when} from 'lit/directives/when.js';\n\nimport {ripple} from '../../ripple/directive.js';\n\nimport {Button} from './button.js';\n\n/**\n * Note that we cast `linkTarget` to this type, below. The Lit compiler\n * enforces the `target` attribute value to be of this type, but this is not\n * compatible with the generated Wit Soy/JS, which expects `linkTarget`\n * to be a string type.\n */\ntype LinkTarget = '_blank'|'_parent'|'_self'|'_top';\n\n// tslint:disable-next-line:enforce-comments-on-exported-symbols\nexport abstract class LinkButton extends Button {\n /**\n * Sets the underlying `HTMLAnchorElement`'s `href` resource attribute.\n */\n @property({type: String}) href!: string;\n\n /**\n * Sets the underlying `HTMLAnchorElement`'s `target` attribute.\n */\n @property({type: String}) target!: string;\n\n /**\n * Link buttons cannot be disabled.\n */\n override disabled = false;\n\n // Note: link buttons cannot have trailing icons.\n protected override getRenderClasses(): ClassInfo {\n return {\n 'md3-button--icon-leading': this.hasIcon,\n };\n }\n\n protected override render(): TemplateResult {\n return html`\n <span class=\"md3-link-button-wrapper\">\n <a class=\"md3-button ${classMap(this.getRenderClasses())}\"\n href=\"${ifDefined(this.href)}\"\n target=\"${ifDefined(this.target as LinkTarget)}\"\n aria-label=\"${ifDefined(this.ariaLabel)}\"\n @focus=\"${this.handleFocus}\"\n @blur=\"${this.handleBlur}\"\n @pointerdown=\"${this.handlePointerDown}\"\n @click=\"${this.handleClick}\"\n ${ripple(this.getRipple)}>\n ${this.renderFocusRing()}\n ${this.renderElevation()}\n ${when(this.showRipple, this.renderRipple)}\n ${this.renderOutline()}\n ${this.renderTouchTarget()}\n ${this.renderIcon()}\n ${this.renderLabel()}</a>\n </span>`;\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 `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]),.md3-button__icon-slot-container .md3-button__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]),.md3-button:hover .md3-button__icon-slot-container .md3-button__icon{color:var(--_with-icon-hover-icon-color)}.md3-button:focus .md3-button__icon-slot-container ::slotted([slot=icon]),.md3-button:focus .md3-button__icon-slot-container .md3-button__icon{color:var(--_with-icon-focus-icon-color)}.md3-button:active .md3-button__icon-slot-container ::slotted([slot=icon]),.md3-button:active .md3-button__icon-slot-container .md3-button__icon{color:var(--_with-icon-pressed-icon-color)}.md3-button:disabled .md3-button__icon-slot-container ::slotted([slot=icon]),.md3-button:disabled .md3-button__icon-slot-container .md3-button__icon{color:var(--_with-icon-disabled-icon-color)}.md3-button__icon--leading ::slotted([slot=icon]),.md3-button__icon--leading .md3-button__icon{margin-inline-end:8px}.md3-button__icon--trailing ::slotted([slot=icon]),.md3-button__icon--trailing .md3-button__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]),.md3-button__icon-slot-container .md3-button__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]),.md3-button:hover .md3-button__icon-slot-container .md3-button__icon{color:var(--_with-icon-hover-icon-color)}.md3-button:focus .md3-button__icon-slot-container ::slotted([slot=icon]),.md3-button:focus .md3-button__icon-slot-container .md3-button__icon{color:var(--_with-icon-focus-icon-color)}.md3-button:active .md3-button__icon-slot-container ::slotted([slot=icon]),.md3-button:active .md3-button__icon-slot-container .md3-button__icon{color:var(--_with-icon-pressed-icon-color)}.md3-button:disabled .md3-button__icon-slot-container ::slotted([slot=icon]),.md3-button:disabled .md3-button__icon-slot-container .md3-button__icon{color:var(--_with-icon-disabled-icon-color)}.md3-button__icon--leading ::slotted([slot=icon]),.md3-button__icon--leading .md3-button__icon{margin-inline-end:8px}.md3-button__icon--trailing ::slotted([slot=icon]),.md3-button__icon--trailing .md3-button__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":"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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 {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