@material/web 2.4.2-nightly.a589695.0 → 2.4.2-nightly.b4af72e.0

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 (605) hide show
  1. package/button/elevated-button.js +3 -3
  2. package/button/elevated-button.js.map +1 -1
  3. package/button/filled-button.js +3 -3
  4. package/button/filled-button.js.map +1 -1
  5. package/button/filled-tonal-button.js +3 -3
  6. package/button/filled-tonal-button.js.map +1 -1
  7. package/button/internal/_touch-target.scss +1 -1
  8. package/button/internal/button.d.ts +0 -4
  9. package/button/internal/button.js.map +1 -1
  10. package/button/internal/shared-styles.css +1 -1
  11. package/button/internal/shared-styles.css.map +1 -1
  12. package/button/internal/shared-styles.cssresult.js +1 -1
  13. package/button/internal/shared-styles.cssresult.js.map +1 -1
  14. package/button/outlined-button.js +2 -2
  15. package/button/outlined-button.js.map +1 -1
  16. package/button/text-button.js +2 -2
  17. package/button/text-button.js.map +1 -1
  18. package/checkbox/checkbox.js +1 -1
  19. package/checkbox/checkbox.js.map +1 -1
  20. package/checkbox/internal/checkbox.d.ts +2 -2
  21. package/checkbox/internal/checkbox.js.map +1 -1
  22. package/chips/assist-chip.js +8 -4
  23. package/chips/assist-chip.js.map +1 -1
  24. package/chips/chip-set.js +1 -1
  25. package/chips/chip-set.js.map +1 -1
  26. package/chips/filter-chip.js +5 -5
  27. package/chips/filter-chip.js.map +1 -1
  28. package/chips/input-chip.js +4 -4
  29. package/chips/input-chip.js.map +1 -1
  30. package/chips/internal/chip.d.ts +2 -0
  31. package/chips/suggestion-chip.js +8 -4
  32. package/chips/suggestion-chip.js.map +1 -1
  33. package/custom-elements.json +45050 -0
  34. package/dialog/dialog.js +1 -1
  35. package/dialog/dialog.js.map +1 -1
  36. package/divider/divider.js +1 -1
  37. package/divider/divider.js.map +1 -1
  38. package/elevation/elevation.js +1 -1
  39. package/elevation/elevation.js.map +1 -1
  40. package/fab/branded-fab.js +3 -3
  41. package/fab/branded-fab.js.map +1 -1
  42. package/fab/fab.js +8 -4
  43. package/fab/fab.js.map +1 -1
  44. package/field/filled-field.js +2 -2
  45. package/field/filled-field.js.map +1 -1
  46. package/field/outlined-field.js +2 -2
  47. package/field/outlined-field.js.map +1 -1
  48. package/focus/md-focus-ring.js +1 -1
  49. package/focus/md-focus-ring.js.map +1 -1
  50. package/icon/icon.js +1 -1
  51. package/icon/icon.js.map +1 -1
  52. package/icon/internal/icon.d.ts +1 -1
  53. package/icon/internal/icon.js +1 -1
  54. package/icon/internal/icon.js.map +1 -1
  55. package/iconbutton/filled-icon-button.js +2 -2
  56. package/iconbutton/filled-icon-button.js.map +1 -1
  57. package/iconbutton/filled-tonal-icon-button.js +2 -2
  58. package/iconbutton/filled-tonal-icon-button.js.map +1 -1
  59. package/iconbutton/icon-button.js +2 -2
  60. package/iconbutton/icon-button.js.map +1 -1
  61. package/iconbutton/internal/icon-button.d.ts +0 -4
  62. package/iconbutton/internal/icon-button.js.map +1 -1
  63. package/iconbutton/outlined-icon-button.js +2 -2
  64. package/iconbutton/outlined-icon-button.js.map +1 -1
  65. package/internal/aria/aria.d.ts +1 -1
  66. package/internal/events/dispatch-hooks.js +31 -35
  67. package/internal/events/dispatch-hooks.js.map +1 -1
  68. package/labs/badge/badge.js +1 -1
  69. package/labs/badge/badge.js.map +1 -1
  70. package/labs/behaviors/form-associated.d.ts +0 -22
  71. package/labs/behaviors/form-associated.js +0 -11
  72. package/labs/behaviors/form-associated.js.map +1 -1
  73. package/labs/card/elevated-card.js +2 -2
  74. package/labs/card/elevated-card.js.map +1 -1
  75. package/labs/card/filled-card.js +2 -2
  76. package/labs/card/filled-card.js.map +1 -1
  77. package/labs/card/outlined-card.js +2 -2
  78. package/labs/card/outlined-card.js.map +1 -1
  79. package/labs/gb/components/badge/_badge-tokens.scss +18 -0
  80. package/labs/gb/components/badge/badge.css +4 -0
  81. package/labs/gb/components/badge/badge.css.map +1 -0
  82. package/labs/gb/components/badge/badge.cssresult.js +14 -0
  83. package/labs/gb/components/badge/badge.cssresult.js.map +1 -0
  84. package/labs/gb/components/badge/badge.d.ts +32 -0
  85. package/labs/gb/components/badge/badge.js +35 -0
  86. package/labs/gb/components/badge/badge.js.map +1 -0
  87. package/labs/gb/components/badge/badge.scss +49 -0
  88. package/labs/gb/components/badge/md-badge.d.ts +21 -0
  89. package/labs/gb/components/badge/md-badge.js +53 -0
  90. package/labs/gb/components/badge/md-badge.js.map +1 -0
  91. package/labs/gb/components/button/_button-tokens.scss +194 -0
  92. package/labs/gb/components/button/button.css +4 -0
  93. package/labs/gb/components/button/button.css.map +1 -0
  94. package/labs/gb/components/button/button.cssresult.js +14 -0
  95. package/labs/gb/components/button/button.cssresult.js.map +1 -0
  96. package/labs/gb/components/button/button.d.ts +85 -0
  97. package/labs/gb/components/button/button.js +119 -0
  98. package/labs/gb/components/button/button.js.map +1 -0
  99. package/labs/gb/components/button/button.scss +132 -0
  100. package/labs/gb/components/button/md-button.d.ts +104 -0
  101. package/labs/gb/components/button/md-button.js +283 -0
  102. package/labs/gb/components/button/md-button.js.map +1 -0
  103. package/labs/gb/components/card/_card-tokens.scss +56 -0
  104. package/labs/gb/components/card/card.css +4 -0
  105. package/labs/gb/components/card/card.css.map +1 -0
  106. package/labs/gb/components/card/card.cssresult.js +14 -0
  107. package/labs/gb/components/card/card.cssresult.js.map +1 -0
  108. package/labs/gb/components/card/card.d.ts +57 -0
  109. package/labs/gb/components/card/card.js +58 -0
  110. package/labs/gb/components/card/card.js.map +1 -0
  111. package/labs/gb/components/card/card.scss +74 -0
  112. package/labs/gb/components/card/md-card.d.ts +49 -0
  113. package/labs/gb/components/card/md-card.js +173 -0
  114. package/labs/gb/components/card/md-card.js.map +1 -0
  115. package/labs/gb/components/checkbox/_checkbox-tokens.scss +66 -0
  116. package/labs/gb/components/checkbox/checkbox.css +4 -0
  117. package/labs/gb/components/checkbox/checkbox.css.map +1 -0
  118. package/labs/gb/components/checkbox/checkbox.cssresult.js +14 -0
  119. package/labs/gb/components/checkbox/checkbox.cssresult.js.map +1 -0
  120. package/labs/gb/components/checkbox/checkbox.d.ts +59 -0
  121. package/labs/gb/components/checkbox/checkbox.js +62 -0
  122. package/labs/gb/components/checkbox/checkbox.js.map +1 -0
  123. package/labs/gb/components/checkbox/checkbox.scss +105 -0
  124. package/labs/gb/components/checkbox/md-checkbox.d.ts +90 -0
  125. package/labs/gb/components/checkbox/md-checkbox.js +188 -0
  126. package/labs/gb/components/checkbox/md-checkbox.js.map +1 -0
  127. package/labs/gb/components/divider/_divider-tokens.scss +11 -0
  128. package/labs/gb/components/divider/divider.css +4 -0
  129. package/labs/gb/components/divider/divider.css.map +1 -0
  130. package/labs/gb/components/divider/divider.cssresult.js +14 -0
  131. package/labs/gb/components/divider/divider.cssresult.js.map +1 -0
  132. package/labs/gb/components/divider/divider.d.ts +44 -0
  133. package/labs/gb/components/divider/divider.js +47 -0
  134. package/labs/gb/components/divider/divider.js.map +1 -0
  135. package/labs/gb/components/divider/divider.scss +31 -0
  136. package/labs/gb/components/divider/md-divider.d.ts +27 -0
  137. package/labs/gb/components/divider/md-divider.js +55 -0
  138. package/labs/gb/components/divider/md-divider.js.map +1 -0
  139. package/labs/gb/components/fab/_fab-tokens.scss +86 -0
  140. package/labs/gb/components/fab/fab.css +4 -0
  141. package/labs/gb/components/fab/fab.css.map +1 -0
  142. package/labs/gb/components/fab/fab.cssresult.js +14 -0
  143. package/labs/gb/components/fab/fab.cssresult.js.map +1 -0
  144. package/labs/gb/components/fab/fab.d.ts +84 -0
  145. package/labs/gb/components/fab/fab.js +92 -0
  146. package/labs/gb/components/fab/fab.js.map +1 -0
  147. package/labs/gb/components/fab/fab.scss +77 -0
  148. package/labs/gb/components/fab/md-fab.d.ts +37 -0
  149. package/labs/gb/components/fab/md-fab.js +71 -0
  150. package/labs/gb/components/fab/md-fab.js.map +1 -0
  151. package/labs/gb/components/focus/focus-ring.css +4 -0
  152. package/labs/gb/components/focus/focus-ring.css.map +1 -0
  153. package/labs/gb/components/focus/focus-ring.cssresult.js +14 -0
  154. package/labs/gb/components/focus/focus-ring.cssresult.js.map +1 -0
  155. package/labs/gb/components/focus/focus-ring.d.ts +36 -0
  156. package/labs/gb/components/focus/focus-ring.js +34 -0
  157. package/labs/gb/components/focus/focus-ring.js.map +1 -0
  158. package/labs/gb/components/focus/focus-ring.scss +91 -0
  159. package/labs/gb/components/iconbutton/_icon-button-tokens.scss +204 -0
  160. package/labs/gb/components/iconbutton/icon-button.css +4 -0
  161. package/labs/gb/components/iconbutton/icon-button.css.map +1 -0
  162. package/labs/gb/components/iconbutton/icon-button.cssresult.js +14 -0
  163. package/labs/gb/components/iconbutton/icon-button.cssresult.js.map +1 -0
  164. package/labs/gb/components/iconbutton/icon-button.d.ts +97 -0
  165. package/labs/gb/components/iconbutton/icon-button.js +122 -0
  166. package/labs/gb/components/iconbutton/icon-button.js.map +1 -0
  167. package/labs/gb/components/iconbutton/icon-button.scss +153 -0
  168. package/labs/gb/components/iconbutton/md-icon-button.d.ts +87 -0
  169. package/labs/gb/components/iconbutton/md-icon-button.js +190 -0
  170. package/labs/gb/components/iconbutton/md-icon-button.js.map +1 -0
  171. package/labs/gb/components/list/_list-tokens.scss +106 -0
  172. package/labs/gb/components/list/list.css +4 -0
  173. package/labs/gb/components/list/list.css.map +1 -0
  174. package/labs/gb/components/list/list.cssresult.js +14 -0
  175. package/labs/gb/components/list/list.cssresult.js.map +1 -0
  176. package/labs/gb/components/list/list.d.ts +103 -0
  177. package/labs/gb/components/list/list.js +109 -0
  178. package/labs/gb/components/list/list.js.map +1 -0
  179. package/labs/gb/components/list/list.scss +212 -0
  180. package/labs/gb/components/list/md-list-item.d.ts +83 -0
  181. package/labs/gb/components/list/md-list-item.js +161 -0
  182. package/labs/gb/components/list/md-list-item.js.map +1 -0
  183. package/labs/gb/components/list/md-list.d.ts +31 -0
  184. package/labs/gb/components/list/md-list.js +56 -0
  185. package/labs/gb/components/list/md-list.js.map +1 -0
  186. package/labs/gb/components/menu/_menu-tokens.scss +132 -0
  187. package/labs/gb/components/menu/md-menu-group.d.ts +28 -0
  188. package/labs/gb/components/menu/md-menu-group.js +69 -0
  189. package/labs/gb/components/menu/md-menu-group.js.map +1 -0
  190. package/labs/gb/components/menu/md-menu-item.d.ts +61 -0
  191. package/labs/gb/components/menu/md-menu-item.js +197 -0
  192. package/labs/gb/components/menu/md-menu-item.js.map +1 -0
  193. package/labs/gb/components/menu/md-menu.d.ts +38 -0
  194. package/labs/gb/components/menu/md-menu.js +151 -0
  195. package/labs/gb/components/menu/md-menu.js.map +1 -0
  196. package/labs/gb/components/menu/menu.css +4 -0
  197. package/labs/gb/components/menu/menu.css.map +1 -0
  198. package/labs/gb/components/menu/menu.cssresult.js +14 -0
  199. package/labs/gb/components/menu/menu.cssresult.js.map +1 -0
  200. package/labs/gb/components/menu/menu.d.ts +117 -0
  201. package/labs/gb/components/menu/menu.js +107 -0
  202. package/labs/gb/components/menu/menu.js.map +1 -0
  203. package/labs/gb/components/menu/menu.scss +171 -0
  204. package/labs/gb/components/radio/_radio-tokens.scss +39 -0
  205. package/labs/gb/components/radio/md-radio.d.ts +71 -0
  206. package/labs/gb/components/radio/md-radio.js +195 -0
  207. package/labs/gb/components/radio/md-radio.js.map +1 -0
  208. package/labs/gb/components/radio/radio.css +4 -0
  209. package/labs/gb/components/radio/radio.css.map +1 -0
  210. package/labs/gb/components/radio/radio.cssresult.js +14 -0
  211. package/labs/gb/components/radio/radio.cssresult.js.map +1 -0
  212. package/labs/gb/components/radio/radio.d.ts +57 -0
  213. package/labs/gb/components/radio/radio.js +62 -0
  214. package/labs/gb/components/radio/radio.js.map +1 -0
  215. package/labs/gb/components/radio/radio.scss +74 -0
  216. package/labs/gb/components/ripple/ripple.css +4 -0
  217. package/labs/gb/components/ripple/ripple.css.map +1 -0
  218. package/labs/gb/components/ripple/ripple.cssresult.js +14 -0
  219. package/labs/gb/components/ripple/ripple.cssresult.js.map +1 -0
  220. package/labs/gb/components/ripple/ripple.d.ts +77 -0
  221. package/labs/gb/components/ripple/ripple.js +148 -0
  222. package/labs/gb/components/ripple/ripple.js.map +1 -0
  223. package/labs/gb/components/ripple/ripple.scss +103 -0
  224. package/labs/gb/components/shared/directives.d.ts +93 -0
  225. package/labs/gb/components/shared/directives.js +111 -0
  226. package/labs/gb/components/shared/directives.js.map +1 -0
  227. package/labs/gb/components/shared/has-slotted.d.ts +10 -0
  228. package/labs/gb/components/shared/has-slotted.js +19 -0
  229. package/labs/gb/components/shared/has-slotted.js.map +1 -0
  230. package/labs/gb/components/shared/pseudo-classes.d.ts +33 -0
  231. package/labs/gb/components/shared/pseudo-classes.js +36 -0
  232. package/labs/gb/components/shared/pseudo-classes.js.map +1 -0
  233. package/labs/gb/components/splitbutton/_split-button-tokens.scss +139 -0
  234. package/labs/gb/components/splitbutton/md-split-button.d.ts +39 -0
  235. package/labs/gb/components/splitbutton/md-split-button.js +132 -0
  236. package/labs/gb/components/splitbutton/md-split-button.js.map +1 -0
  237. package/labs/gb/components/splitbutton/split-button.css +4 -0
  238. package/labs/gb/components/splitbutton/split-button.css.map +1 -0
  239. package/labs/gb/components/splitbutton/split-button.cssresult.js +14 -0
  240. package/labs/gb/components/splitbutton/split-button.cssresult.js.map +1 -0
  241. package/labs/gb/components/splitbutton/split-button.d.ts +47 -0
  242. package/labs/gb/components/splitbutton/split-button.js +46 -0
  243. package/labs/gb/components/splitbutton/split-button.js.map +1 -0
  244. package/labs/gb/components/splitbutton/split-button.scss +164 -0
  245. package/labs/gb/components/switch/_switch-tokens.scss +58 -0
  246. package/labs/gb/components/switch/md-switch.d.ts +84 -0
  247. package/labs/gb/components/switch/md-switch.js +180 -0
  248. package/labs/gb/components/switch/md-switch.js.map +1 -0
  249. package/labs/gb/components/switch/switch.css +4 -0
  250. package/labs/gb/components/switch/switch.css.map +1 -0
  251. package/labs/gb/components/switch/switch.cssresult.js +14 -0
  252. package/labs/gb/components/switch/switch.cssresult.js.map +1 -0
  253. package/labs/gb/components/switch/switch.d.ts +54 -0
  254. package/labs/gb/components/switch/switch.js +85 -0
  255. package/labs/gb/components/switch/switch.js.map +1 -0
  256. package/labs/gb/components/switch/switch.scss +109 -0
  257. package/labs/gb/styles/adopt-styles.d.ts +41 -0
  258. package/labs/gb/styles/adopt-styles.js +62 -0
  259. package/labs/gb/styles/adopt-styles.js.map +1 -0
  260. package/labs/gb/styles/color/internal/_color-tokens.scss +95 -0
  261. package/labs/gb/styles/color/md-color-tokens-full.css +4 -0
  262. package/labs/gb/styles/color/md-color-tokens-full.css.map +1 -0
  263. package/labs/gb/styles/color/md-color-tokens-full.cssresult.js +14 -0
  264. package/labs/gb/styles/color/md-color-tokens-full.cssresult.js.map +1 -0
  265. package/labs/gb/styles/color/md-color-tokens-full.scss +17 -0
  266. package/labs/gb/styles/color/md-color-tokens.css +4 -0
  267. package/labs/gb/styles/color/md-color-tokens.css.map +1 -0
  268. package/labs/gb/styles/color/md-color-tokens.cssresult.js +14 -0
  269. package/labs/gb/styles/color/md-color-tokens.cssresult.js.map +1 -0
  270. package/labs/gb/styles/color/md-color-tokens.scss +15 -0
  271. package/labs/gb/styles/elevation/md-elevation-tokens.css +4 -0
  272. package/labs/gb/styles/elevation/md-elevation-tokens.css.map +1 -0
  273. package/labs/gb/styles/elevation/md-elevation-tokens.cssresult.js +14 -0
  274. package/labs/gb/styles/elevation/md-elevation-tokens.cssresult.js.map +1 -0
  275. package/labs/gb/styles/elevation/md-elevation-tokens.scss +25 -0
  276. package/labs/gb/styles/icon/md-icon.css +4 -0
  277. package/labs/gb/styles/icon/md-icon.css.map +1 -0
  278. package/labs/gb/styles/icon/md-icon.cssresult.js +14 -0
  279. package/labs/gb/styles/icon/md-icon.cssresult.js.map +1 -0
  280. package/labs/gb/styles/icon/md-icon.d.ts +20 -0
  281. package/labs/gb/styles/icon/md-icon.js +27 -0
  282. package/labs/gb/styles/icon/md-icon.js.map +1 -0
  283. package/labs/gb/styles/icon/md-icon.scss +63 -0
  284. package/labs/gb/styles/m3.css +25 -0
  285. package/labs/gb/styles/m3.css.map +1 -0
  286. package/labs/gb/styles/m3.cssresult.js +35 -0
  287. package/labs/gb/styles/m3.cssresult.js.map +1 -0
  288. package/labs/gb/styles/m3.scss +14 -0
  289. package/labs/gb/styles/motion/md-motion-tokens-easing.css +4 -0
  290. package/labs/gb/styles/motion/md-motion-tokens-easing.css.map +1 -0
  291. package/labs/gb/styles/motion/md-motion-tokens-easing.cssresult.js +14 -0
  292. package/labs/gb/styles/motion/md-motion-tokens-easing.cssresult.js.map +1 -0
  293. package/labs/gb/styles/motion/md-motion-tokens-easing.scss +35 -0
  294. package/labs/gb/styles/shape/md-shape-tokens.css +4 -0
  295. package/labs/gb/styles/shape/md-shape-tokens.css.map +1 -0
  296. package/labs/gb/styles/shape/md-shape-tokens.cssresult.js +14 -0
  297. package/labs/gb/styles/shape/md-shape-tokens.cssresult.js.map +1 -0
  298. package/labs/gb/styles/shape/md-shape-tokens.scss +23 -0
  299. package/labs/gb/styles/space/md-space-tokens.css +4 -0
  300. package/labs/gb/styles/space/md-space-tokens.css.map +1 -0
  301. package/labs/gb/styles/space/md-space-tokens.cssresult.js +14 -0
  302. package/labs/gb/styles/space/md-space-tokens.cssresult.js.map +1 -0
  303. package/labs/gb/styles/space/md-space-tokens.scss +28 -0
  304. package/labs/gb/styles/tailwind.css +4 -0
  305. package/labs/gb/styles/tailwind.css.map +1 -0
  306. package/labs/gb/styles/tailwind.cssresult.js +14 -0
  307. package/labs/gb/styles/tailwind.cssresult.js.map +1 -0
  308. package/labs/gb/styles/tailwind.scss +349 -0
  309. package/labs/gb/styles/typography/internal/_typography-tokens.scss +149 -0
  310. package/labs/gb/styles/typography/md-typography-tokens.css +4 -0
  311. package/labs/gb/styles/typography/md-typography-tokens.css.map +1 -0
  312. package/labs/gb/styles/typography/md-typography-tokens.cssresult.js +14 -0
  313. package/labs/gb/styles/typography/md-typography-tokens.cssresult.js.map +1 -0
  314. package/labs/gb/styles/typography/md-typography-tokens.scss +14 -0
  315. package/labs/item/item.js +1 -1
  316. package/labs/item/item.js.map +1 -1
  317. package/labs/navigationbar/navigation-bar.js +1 -1
  318. package/labs/navigationbar/navigation-bar.js.map +1 -1
  319. package/labs/navigationdrawer/navigation-drawer-modal.js +2 -2
  320. package/labs/navigationdrawer/navigation-drawer-modal.js.map +1 -1
  321. package/labs/navigationdrawer/navigation-drawer.js +2 -2
  322. package/labs/navigationdrawer/navigation-drawer.js.map +1 -1
  323. package/labs/navigationtab/navigation-tab.js +1 -1
  324. package/labs/navigationtab/navigation-tab.js.map +1 -1
  325. package/labs/segmentedbutton/outlined-segmented-button.js +2 -2
  326. package/labs/segmentedbutton/outlined-segmented-button.js.map +1 -1
  327. package/labs/segmentedbuttonset/outlined-segmented-button-set.js +2 -2
  328. package/labs/segmentedbuttonset/outlined-segmented-button-set.js.map +1 -1
  329. package/list/internal/listitem/list-item.d.ts +6 -1
  330. package/list/internal/listitem/list-item.js +4 -1
  331. package/list/internal/listitem/list-item.js.map +1 -1
  332. package/list/list-item.js +1 -1
  333. package/list/list-item.js.map +1 -1
  334. package/list/list.js +1 -1
  335. package/list/list.js.map +1 -1
  336. package/menu/internal/menuitem/menu-item.d.ts +2 -0
  337. package/menu/internal/submenu/sub-menu.d.ts +5 -1
  338. package/menu/internal/submenu/sub-menu.js +5 -1
  339. package/menu/internal/submenu/sub-menu.js.map +1 -1
  340. package/menu/menu-item.js +1 -1
  341. package/menu/menu-item.js.map +1 -1
  342. package/menu/menu.js +1 -1
  343. package/menu/menu.js.map +1 -1
  344. package/menu/sub-menu.js +1 -1
  345. package/menu/sub-menu.js.map +1 -1
  346. package/package.json +54 -27
  347. package/progress/circular-progress.js +1 -1
  348. package/progress/circular-progress.js.map +1 -1
  349. package/progress/linear-progress.js +1 -1
  350. package/progress/linear-progress.js.map +1 -1
  351. package/radio/internal/radio.d.ts +0 -2
  352. package/radio/internal/radio.js.map +1 -1
  353. package/radio/radio.js +1 -1
  354. package/radio/radio.js.map +1 -1
  355. package/ripple/ripple.js +1 -1
  356. package/ripple/ripple.js.map +1 -1
  357. package/select/filled-select.js +2 -2
  358. package/select/filled-select.js.map +1 -1
  359. package/select/internal/select.d.ts +2 -2
  360. package/select/internal/select.js.map +1 -1
  361. package/select/internal/selectoption/select-option.d.ts +2 -0
  362. package/select/outlined-select.js +2 -2
  363. package/select/outlined-select.js.map +1 -1
  364. package/select/select-option.js +1 -1
  365. package/select/select-option.js.map +1 -1
  366. package/slider/internal/slider.d.ts +0 -2
  367. package/slider/internal/slider.js.map +1 -1
  368. package/slider/slider.js +2 -2
  369. package/slider/slider.js.map +1 -1
  370. package/switch/internal/_switch.scss +1 -0
  371. package/switch/internal/switch-styles.css +1 -1
  372. package/switch/internal/switch-styles.css.map +1 -1
  373. package/switch/internal/switch-styles.cssresult.js +1 -1
  374. package/switch/internal/switch-styles.cssresult.js.map +1 -1
  375. package/switch/internal/switch.d.ts +0 -2
  376. package/switch/internal/switch.js.map +1 -1
  377. package/switch/switch.js +1 -1
  378. package/switch/switch.js.map +1 -1
  379. package/tabs/primary-tab.js +2 -2
  380. package/tabs/primary-tab.js.map +1 -1
  381. package/tabs/secondary-tab.js +2 -2
  382. package/tabs/secondary-tab.js.map +1 -1
  383. package/tabs/tabs.js +1 -1
  384. package/tabs/tabs.js.map +1 -1
  385. package/textfield/filled-text-field.js +2 -2
  386. package/textfield/filled-text-field.js.map +1 -1
  387. package/textfield/outlined-text-field.js +2 -2
  388. package/textfield/outlined-text-field.js.map +1 -1
  389. package/types/css-imports.d.ts +12 -0
  390. package/typography/md-typescale-styles.d.ts +6 -3
  391. package/typography/md-typescale-styles.js +1 -5
  392. package/typography/md-typescale-styles.js.map +1 -1
  393. package/button/internal/elevated-styles.js +0 -11
  394. package/button/internal/elevated-styles.js.map +0 -1
  395. package/button/internal/filled-styles.js +0 -11
  396. package/button/internal/filled-styles.js.map +0 -1
  397. package/button/internal/filled-tonal-styles.js +0 -11
  398. package/button/internal/filled-tonal-styles.js.map +0 -1
  399. package/button/internal/outlined-styles.js +0 -11
  400. package/button/internal/outlined-styles.js.map +0 -1
  401. package/button/internal/shared-elevation-styles.js +0 -11
  402. package/button/internal/shared-elevation-styles.js.map +0 -1
  403. package/button/internal/shared-styles.js +0 -11
  404. package/button/internal/shared-styles.js.map +0 -1
  405. package/button/internal/text-styles.js +0 -11
  406. package/button/internal/text-styles.js.map +0 -1
  407. package/checkbox/internal/checkbox-styles.js +0 -11
  408. package/checkbox/internal/checkbox-styles.js.map +0 -1
  409. package/chips/internal/assist-styles.js +0 -11
  410. package/chips/internal/assist-styles.js.map +0 -1
  411. package/chips/internal/chip-set-styles.js +0 -11
  412. package/chips/internal/chip-set-styles.js.map +0 -1
  413. package/chips/internal/elevated-styles.js +0 -11
  414. package/chips/internal/elevated-styles.js.map +0 -1
  415. package/chips/internal/filter-styles.js +0 -11
  416. package/chips/internal/filter-styles.js.map +0 -1
  417. package/chips/internal/input-styles.js +0 -11
  418. package/chips/internal/input-styles.js.map +0 -1
  419. package/chips/internal/selectable-styles.js +0 -11
  420. package/chips/internal/selectable-styles.js.map +0 -1
  421. package/chips/internal/shared-styles.js +0 -11
  422. package/chips/internal/shared-styles.js.map +0 -1
  423. package/chips/internal/suggestion-styles.js +0 -11
  424. package/chips/internal/suggestion-styles.js.map +0 -1
  425. package/chips/internal/trailing-icon-styles.js +0 -11
  426. package/chips/internal/trailing-icon-styles.js.map +0 -1
  427. package/dialog/internal/dialog-styles.js +0 -11
  428. package/dialog/internal/dialog-styles.js.map +0 -1
  429. package/divider/internal/divider-styles.js +0 -11
  430. package/divider/internal/divider-styles.js.map +0 -1
  431. package/elevation/internal/elevation-styles.js +0 -11
  432. package/elevation/internal/elevation-styles.js.map +0 -1
  433. package/fab/internal/fab-branded-styles.js +0 -11
  434. package/fab/internal/fab-branded-styles.js.map +0 -1
  435. package/fab/internal/fab-styles.js +0 -11
  436. package/fab/internal/fab-styles.js.map +0 -1
  437. package/fab/internal/forced-colors-styles.js +0 -11
  438. package/fab/internal/forced-colors-styles.js.map +0 -1
  439. package/fab/internal/shared-styles.js +0 -11
  440. package/fab/internal/shared-styles.js.map +0 -1
  441. package/field/internal/filled-styles.d.ts +0 -3
  442. package/field/internal/filled-styles.js +0 -11
  443. package/field/internal/filled-styles.js.map +0 -1
  444. package/field/internal/outlined-styles.d.ts +0 -3
  445. package/field/internal/outlined-styles.js +0 -11
  446. package/field/internal/outlined-styles.js.map +0 -1
  447. package/field/internal/shared-styles.d.ts +0 -3
  448. package/field/internal/shared-styles.js +0 -11
  449. package/field/internal/shared-styles.js.map +0 -1
  450. package/focus/internal/focus-ring-styles.d.ts +0 -3
  451. package/focus/internal/focus-ring-styles.js +0 -11
  452. package/focus/internal/focus-ring-styles.js.map +0 -1
  453. package/icon/internal/icon-styles.d.ts +0 -3
  454. package/icon/internal/icon-styles.js +0 -11
  455. package/icon/internal/icon-styles.js.map +0 -1
  456. package/iconbutton/internal/filled-styles.d.ts +0 -3
  457. package/iconbutton/internal/filled-styles.js +0 -11
  458. package/iconbutton/internal/filled-styles.js.map +0 -1
  459. package/iconbutton/internal/filled-tonal-styles.d.ts +0 -3
  460. package/iconbutton/internal/filled-tonal-styles.js +0 -11
  461. package/iconbutton/internal/filled-tonal-styles.js.map +0 -1
  462. package/iconbutton/internal/outlined-styles.d.ts +0 -3
  463. package/iconbutton/internal/outlined-styles.js +0 -11
  464. package/iconbutton/internal/outlined-styles.js.map +0 -1
  465. package/iconbutton/internal/shared-styles.d.ts +0 -3
  466. package/iconbutton/internal/shared-styles.js +0 -11
  467. package/iconbutton/internal/shared-styles.js.map +0 -1
  468. package/iconbutton/internal/standard-styles.d.ts +0 -3
  469. package/iconbutton/internal/standard-styles.js +0 -11
  470. package/iconbutton/internal/standard-styles.js.map +0 -1
  471. package/labs/badge/internal/badge-styles.d.ts +0 -3
  472. package/labs/badge/internal/badge-styles.js +0 -11
  473. package/labs/badge/internal/badge-styles.js.map +0 -1
  474. package/labs/card/internal/elevated-styles.d.ts +0 -3
  475. package/labs/card/internal/elevated-styles.js +0 -11
  476. package/labs/card/internal/elevated-styles.js.map +0 -1
  477. package/labs/card/internal/filled-styles.d.ts +0 -3
  478. package/labs/card/internal/filled-styles.js +0 -11
  479. package/labs/card/internal/filled-styles.js.map +0 -1
  480. package/labs/card/internal/outlined-styles.d.ts +0 -3
  481. package/labs/card/internal/outlined-styles.js +0 -11
  482. package/labs/card/internal/outlined-styles.js.map +0 -1
  483. package/labs/card/internal/shared-styles.d.ts +0 -3
  484. package/labs/card/internal/shared-styles.js +0 -11
  485. package/labs/card/internal/shared-styles.js.map +0 -1
  486. package/labs/item/internal/item-styles.d.ts +0 -3
  487. package/labs/item/internal/item-styles.js +0 -11
  488. package/labs/item/internal/item-styles.js.map +0 -1
  489. package/labs/navigationbar/internal/navigation-bar-styles.d.ts +0 -3
  490. package/labs/navigationbar/internal/navigation-bar-styles.js +0 -11
  491. package/labs/navigationbar/internal/navigation-bar-styles.js.map +0 -1
  492. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.d.ts +0 -3
  493. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.js +0 -11
  494. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.js.map +0 -1
  495. package/labs/navigationdrawer/internal/navigation-drawer-styles.d.ts +0 -3
  496. package/labs/navigationdrawer/internal/navigation-drawer-styles.js +0 -11
  497. package/labs/navigationdrawer/internal/navigation-drawer-styles.js.map +0 -1
  498. package/labs/navigationdrawer/internal/shared-styles.d.ts +0 -3
  499. package/labs/navigationdrawer/internal/shared-styles.js +0 -11
  500. package/labs/navigationdrawer/internal/shared-styles.js.map +0 -1
  501. package/labs/navigationtab/internal/navigation-tab-styles.d.ts +0 -3
  502. package/labs/navigationtab/internal/navigation-tab-styles.js +0 -11
  503. package/labs/navigationtab/internal/navigation-tab-styles.js.map +0 -1
  504. package/labs/segmentedbutton/internal/outlined-styles.d.ts +0 -3
  505. package/labs/segmentedbutton/internal/outlined-styles.js +0 -11
  506. package/labs/segmentedbutton/internal/outlined-styles.js.map +0 -1
  507. package/labs/segmentedbutton/internal/shared-styles.d.ts +0 -3
  508. package/labs/segmentedbutton/internal/shared-styles.js +0 -11
  509. package/labs/segmentedbutton/internal/shared-styles.js.map +0 -1
  510. package/labs/segmentedbuttonset/internal/outlined-styles.d.ts +0 -3
  511. package/labs/segmentedbuttonset/internal/outlined-styles.js +0 -11
  512. package/labs/segmentedbuttonset/internal/outlined-styles.js.map +0 -1
  513. package/labs/segmentedbuttonset/internal/shared-styles.d.ts +0 -3
  514. package/labs/segmentedbuttonset/internal/shared-styles.js +0 -11
  515. package/labs/segmentedbuttonset/internal/shared-styles.js.map +0 -1
  516. package/list/internal/list-styles.d.ts +0 -3
  517. package/list/internal/list-styles.js +0 -11
  518. package/list/internal/list-styles.js.map +0 -1
  519. package/list/internal/listitem/list-item-styles.d.ts +0 -3
  520. package/list/internal/listitem/list-item-styles.js +0 -11
  521. package/list/internal/listitem/list-item-styles.js.map +0 -1
  522. package/menu/internal/menu-styles.d.ts +0 -3
  523. package/menu/internal/menu-styles.js +0 -11
  524. package/menu/internal/menu-styles.js.map +0 -1
  525. package/menu/internal/menuitem/menu-item-styles.d.ts +0 -3
  526. package/menu/internal/menuitem/menu-item-styles.js +0 -11
  527. package/menu/internal/menuitem/menu-item-styles.js.map +0 -1
  528. package/menu/internal/submenu/sub-menu-styles.d.ts +0 -3
  529. package/menu/internal/submenu/sub-menu-styles.js +0 -11
  530. package/menu/internal/submenu/sub-menu-styles.js.map +0 -1
  531. package/progress/internal/circular-progress-styles.d.ts +0 -3
  532. package/progress/internal/circular-progress-styles.js +0 -11
  533. package/progress/internal/circular-progress-styles.js.map +0 -1
  534. package/progress/internal/linear-progress-styles.d.ts +0 -3
  535. package/progress/internal/linear-progress-styles.js +0 -11
  536. package/progress/internal/linear-progress-styles.js.map +0 -1
  537. package/radio/internal/radio-styles.d.ts +0 -3
  538. package/radio/internal/radio-styles.js +0 -11
  539. package/radio/internal/radio-styles.js.map +0 -1
  540. package/ripple/internal/ripple-styles.d.ts +0 -3
  541. package/ripple/internal/ripple-styles.js +0 -11
  542. package/ripple/internal/ripple-styles.js.map +0 -1
  543. package/select/internal/filled-select-styles.d.ts +0 -3
  544. package/select/internal/filled-select-styles.js +0 -11
  545. package/select/internal/filled-select-styles.js.map +0 -1
  546. package/select/internal/outlined-select-styles.d.ts +0 -3
  547. package/select/internal/outlined-select-styles.js +0 -11
  548. package/select/internal/outlined-select-styles.js.map +0 -1
  549. package/select/internal/shared-styles.d.ts +0 -3
  550. package/select/internal/shared-styles.js +0 -11
  551. package/select/internal/shared-styles.js.map +0 -1
  552. package/slider/internal/forced-colors-styles.d.ts +0 -3
  553. package/slider/internal/forced-colors-styles.js +0 -11
  554. package/slider/internal/forced-colors-styles.js.map +0 -1
  555. package/slider/internal/slider-styles.d.ts +0 -3
  556. package/slider/internal/slider-styles.js +0 -11
  557. package/slider/internal/slider-styles.js.map +0 -1
  558. package/switch/internal/switch-styles.d.ts +0 -3
  559. package/switch/internal/switch-styles.js +0 -11
  560. package/switch/internal/switch-styles.js.map +0 -1
  561. package/tabs/internal/primary-tab-styles.d.ts +0 -3
  562. package/tabs/internal/primary-tab-styles.js +0 -11
  563. package/tabs/internal/primary-tab-styles.js.map +0 -1
  564. package/tabs/internal/secondary-tab-styles.d.ts +0 -3
  565. package/tabs/internal/secondary-tab-styles.js +0 -11
  566. package/tabs/internal/secondary-tab-styles.js.map +0 -1
  567. package/tabs/internal/tab-styles.d.ts +0 -3
  568. package/tabs/internal/tab-styles.js +0 -11
  569. package/tabs/internal/tab-styles.js.map +0 -1
  570. package/tabs/internal/tabs-styles.d.ts +0 -3
  571. package/tabs/internal/tabs-styles.js +0 -11
  572. package/tabs/internal/tabs-styles.js.map +0 -1
  573. package/textfield/internal/filled-styles.d.ts +0 -3
  574. package/textfield/internal/filled-styles.js +0 -11
  575. package/textfield/internal/filled-styles.js.map +0 -1
  576. package/textfield/internal/outlined-styles.d.ts +0 -3
  577. package/textfield/internal/outlined-styles.js +0 -11
  578. package/textfield/internal/outlined-styles.js.map +0 -1
  579. package/textfield/internal/shared-styles.d.ts +0 -3
  580. package/textfield/internal/shared-styles.js +0 -11
  581. package/textfield/internal/shared-styles.js.map +0 -1
  582. /package/{button/internal/elevated-styles.d.ts → labs/gb/components/badge/badge.cssresult.d.ts} +0 -0
  583. /package/{button/internal/filled-styles.d.ts → labs/gb/components/button/button.cssresult.d.ts} +0 -0
  584. /package/{button/internal/filled-tonal-styles.d.ts → labs/gb/components/card/card.cssresult.d.ts} +0 -0
  585. /package/{button/internal/outlined-styles.d.ts → labs/gb/components/checkbox/checkbox.cssresult.d.ts} +0 -0
  586. /package/{button/internal/shared-elevation-styles.d.ts → labs/gb/components/divider/divider.cssresult.d.ts} +0 -0
  587. /package/{button/internal/shared-styles.d.ts → labs/gb/components/fab/fab.cssresult.d.ts} +0 -0
  588. /package/{button/internal/text-styles.d.ts → labs/gb/components/focus/focus-ring.cssresult.d.ts} +0 -0
  589. /package/{checkbox/internal/checkbox-styles.d.ts → labs/gb/components/iconbutton/icon-button.cssresult.d.ts} +0 -0
  590. /package/{chips/internal/assist-styles.d.ts → labs/gb/components/list/list.cssresult.d.ts} +0 -0
  591. /package/{chips/internal/chip-set-styles.d.ts → labs/gb/components/menu/menu.cssresult.d.ts} +0 -0
  592. /package/{chips/internal/elevated-styles.d.ts → labs/gb/components/radio/radio.cssresult.d.ts} +0 -0
  593. /package/{chips/internal/filter-styles.d.ts → labs/gb/components/ripple/ripple.cssresult.d.ts} +0 -0
  594. /package/{chips/internal/input-styles.d.ts → labs/gb/components/splitbutton/split-button.cssresult.d.ts} +0 -0
  595. /package/{chips/internal/selectable-styles.d.ts → labs/gb/components/switch/switch.cssresult.d.ts} +0 -0
  596. /package/{chips/internal/shared-styles.d.ts → labs/gb/styles/color/md-color-tokens-full.cssresult.d.ts} +0 -0
  597. /package/{chips/internal/suggestion-styles.d.ts → labs/gb/styles/color/md-color-tokens.cssresult.d.ts} +0 -0
  598. /package/{chips/internal/trailing-icon-styles.d.ts → labs/gb/styles/elevation/md-elevation-tokens.cssresult.d.ts} +0 -0
  599. /package/{dialog/internal/dialog-styles.d.ts → labs/gb/styles/icon/md-icon.cssresult.d.ts} +0 -0
  600. /package/{divider/internal/divider-styles.d.ts → labs/gb/styles/m3.cssresult.d.ts} +0 -0
  601. /package/{elevation/internal/elevation-styles.d.ts → labs/gb/styles/motion/md-motion-tokens-easing.cssresult.d.ts} +0 -0
  602. /package/{fab/internal/fab-branded-styles.d.ts → labs/gb/styles/shape/md-shape-tokens.cssresult.d.ts} +0 -0
  603. /package/{fab/internal/fab-styles.d.ts → labs/gb/styles/space/md-space-tokens.cssresult.d.ts} +0 -0
  604. /package/{fab/internal/forced-colors-styles.d.ts → labs/gb/styles/tailwind.cssresult.d.ts} +0 -0
  605. /package/{fab/internal/shared-styles.d.ts → labs/gb/styles/typography/md-typography-tokens.cssresult.d.ts} +0 -0
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { CSSResultOrNative, LitElement } from 'lit';
7
+ import type { IconButtonColor, IconButtonSize, IconButtonWidth } from './icon-button.js';
8
+ declare global {
9
+ interface HTMLElementTagNameMap {
10
+ /** A Material Design icon button component. */
11
+ 'md-gb-icon-button': IconButton;
12
+ }
13
+ }
14
+ declare const baseClass: import("@material/web/labs/behaviors/mixin.js").MixinReturn<import("@material/web/labs/behaviors/mixin.js").MixinReturn<import("@material/web/labs/behaviors/mixin.js").MixinReturn<(abstract new (...args: any[]) => import("../../../behaviors/element-internals.js").WithElementInternals) & typeof LitElement & import("../../../behaviors/form-associated.js").FormAssociatedConstructor, import("../../../behaviors/form-associated.js").FormAssociated>, import("../../../behaviors/form-submitter.js").FormSubmitter>>;
15
+ /**
16
+ * A Material Design icon button component.
17
+ *
18
+ * @slot - Used to display an icon.
19
+ * @fires {InputEvent} input - Fired when a toggle icon button is selected or unselected. --bubbles --composed
20
+ * @fires {Event} change - Fired when a toggle button is selected or unselected. --bubbles
21
+ * @csspart icon-btn - The icon button's root element.
22
+ * @cssprop --container-color
23
+ * @cssprop --container-height
24
+ * @cssprop --container-shape
25
+ * @cssprop --icon-color
26
+ * @cssprop --icon-size
27
+ * @cssprop --outline-color
28
+ * @cssprop --outline-width
29
+ * @cssprop --leading-space
30
+ * @cssprop --trailing-space
31
+ */
32
+ export declare class IconButton extends baseClass {
33
+ /** @nocollapse */
34
+ static shadowRootOptions: ShadowRootInit;
35
+ static styles: CSSResultOrNative[];
36
+ /**
37
+ * The color of the button.
38
+ */
39
+ color: IconButtonColor;
40
+ /**
41
+ * The size of the button.
42
+ */
43
+ size: IconButtonSize;
44
+ /**
45
+ * Changes the shape of the button to be square.
46
+ */
47
+ square: boolean;
48
+ /**
49
+ * Changes the width of the button.
50
+ */
51
+ width: IconButtonWidth;
52
+ /**
53
+ * A string indicating the behavior of the button.
54
+ *
55
+ * - "submit" (default): A button that submits its associated form.
56
+ * - "reset": A button that resets its associated form.
57
+ * - "button": A normal button.
58
+ * - "toggle": A toggle button using the `selected` property.
59
+ * - "link": An anchor link (`<a>`). Type is always "link" when `href` is set.
60
+ */
61
+ get type(): string;
62
+ set type(type: string);
63
+ /**
64
+ * Whether or not the button is "soft-disabled" (disabled but still
65
+ * focusable).
66
+ */
67
+ softDisabled: boolean;
68
+ /**
69
+ * Whether or not the button is selected, when `type="toggle"`.
70
+ */
71
+ selected: boolean;
72
+ /**
73
+ * The URL that the link button points to.
74
+ */
75
+ href: string;
76
+ /**
77
+ * The filename to use when downloading the linked resource.
78
+ */
79
+ download: string;
80
+ /**
81
+ * Where to display the linked `href` URL for a link button.
82
+ */
83
+ target: '_blank' | '_parent' | '_self' | '_top' | '';
84
+ protected render(): import("lit-html").TemplateResult<1>;
85
+ private handleChange;
86
+ }
87
+ export {};
@@ -0,0 +1,190 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { __decorate } from "tslib";
7
+ import { css, html, LitElement, nothing } from 'lit';
8
+ import { customElement, property } from 'lit/decorators.js';
9
+ import { mixinDelegatesAria } from '../../../../internal/aria/delegate.js';
10
+ import { redispatchEvent } from '../../../../internal/events/redispatch-event.js';
11
+ import { mixinElementInternals } from '../../../behaviors/element-internals.js';
12
+ import { mixinFormAssociated } from '../../../behaviors/form-associated.js';
13
+ import { mixinFormSubmitter } from '../../../behaviors/form-submitter.js';
14
+ import focusRingStyles from '../focus/focus-ring.cssresult.js';
15
+ import rippleStyles from '../ripple/ripple.cssresult.js';
16
+ import iconButtonStyles from './icon-button.cssresult.js';
17
+ import { iconButton } from './icon-button.js';
18
+ const baseClass = mixinDelegatesAria(mixinFormSubmitter(mixinFormAssociated(mixinElementInternals(LitElement))));
19
+ /**
20
+ * A Material Design icon button component.
21
+ *
22
+ * @slot - Used to display an icon.
23
+ * @fires {InputEvent} input - Fired when a toggle icon button is selected or unselected. --bubbles --composed
24
+ * @fires {Event} change - Fired when a toggle button is selected or unselected. --bubbles
25
+ * @csspart icon-btn - The icon button's root element.
26
+ * @cssprop --container-color
27
+ * @cssprop --container-height
28
+ * @cssprop --container-shape
29
+ * @cssprop --icon-color
30
+ * @cssprop --icon-size
31
+ * @cssprop --outline-color
32
+ * @cssprop --outline-width
33
+ * @cssprop --leading-space
34
+ * @cssprop --trailing-space
35
+ */
36
+ let IconButton = class IconButton extends baseClass {
37
+ constructor() {
38
+ super(...arguments);
39
+ /**
40
+ * The color of the button.
41
+ */
42
+ this.color = 'standard';
43
+ /**
44
+ * The size of the button.
45
+ */
46
+ this.size = 'sm';
47
+ /**
48
+ * Changes the shape of the button to be square.
49
+ */
50
+ this.square = false;
51
+ /**
52
+ * Changes the width of the button.
53
+ */
54
+ this.width = '';
55
+ /**
56
+ * Whether or not the button is "soft-disabled" (disabled but still
57
+ * focusable).
58
+ */
59
+ this.softDisabled = false;
60
+ /**
61
+ * Whether or not the button is selected, when `type="toggle"`.
62
+ */
63
+ this.selected = false;
64
+ /**
65
+ * The URL that the link button points to.
66
+ */
67
+ this.href = '';
68
+ /**
69
+ * The filename to use when downloading the linked resource.
70
+ */
71
+ this.download = '';
72
+ /**
73
+ * Where to display the linked `href` URL for a link button.
74
+ */
75
+ this.target = '';
76
+ }
77
+ /**
78
+ * A string indicating the behavior of the button.
79
+ *
80
+ * - "submit" (default): A button that submits its associated form.
81
+ * - "reset": A button that resets its associated form.
82
+ * - "button": A normal button.
83
+ * - "toggle": A toggle button using the `selected` property.
84
+ * - "link": An anchor link (`<a>`). Type is always "link" when `href` is set.
85
+ */
86
+ get type() {
87
+ return this.href ? 'link' : super.type;
88
+ }
89
+ set type(type) {
90
+ if (this.href && type !== 'link') {
91
+ return;
92
+ }
93
+ super.type = type;
94
+ }
95
+ render() {
96
+ const classes = iconButton({
97
+ color: this.color,
98
+ size: this.size,
99
+ width: this.width,
100
+ square: this.square,
101
+ disabled: this.softDisabled,
102
+ });
103
+ const { ariaLabel, ariaHasPopup, ariaExpanded } = this;
104
+ if (this.type === 'link') {
105
+ return html `<a
106
+ part="icon-btn"
107
+ class=${classes}
108
+ href=${this.href}
109
+ download=${this.download || nothing}
110
+ target=${this.target || nothing}
111
+ aria-label=${ariaLabel || nothing}
112
+ aria-haspopup=${ariaHasPopup || nothing}
113
+ aria-expanded=${ariaExpanded || nothing}
114
+ aria-disabled=${this.disabled || this.softDisabled || nothing}
115
+ tabindex=${this.disabled && !this.softDisabled ? -1 : nothing}>
116
+ <slot></slot>
117
+ </a>`;
118
+ }
119
+ return html `<button
120
+ part="icon-btn"
121
+ class=${classes}
122
+ type="button"
123
+ ?disabled=${this.disabled}
124
+ aria-disabled=${this.softDisabled || nothing}
125
+ aria-label=${ariaLabel || nothing}
126
+ aria-pressed=${this.type === 'toggle' ? this.selected : nothing}
127
+ aria-haspopup=${ariaHasPopup || nothing}
128
+ aria-expanded=${ariaExpanded || nothing}
129
+ @change=${this.handleChange}>
130
+ <slot></slot>
131
+ </button>`;
132
+ }
133
+ handleChange(event) {
134
+ this.selected = event.target.ariaPressed === 'true';
135
+ redispatchEvent(this, event);
136
+ }
137
+ };
138
+ /** @nocollapse */
139
+ IconButton.shadowRootOptions = {
140
+ mode: 'open',
141
+ delegatesFocus: true,
142
+ };
143
+ IconButton.styles = [
144
+ focusRingStyles,
145
+ rippleStyles,
146
+ iconButtonStyles,
147
+ css `
148
+ :host {
149
+ display: inline-flex;
150
+ }
151
+ .icon-btn {
152
+ flex: 1;
153
+ }
154
+ `,
155
+ ];
156
+ __decorate([
157
+ property()
158
+ ], IconButton.prototype, "color", void 0);
159
+ __decorate([
160
+ property()
161
+ ], IconButton.prototype, "size", void 0);
162
+ __decorate([
163
+ property({ type: Boolean })
164
+ ], IconButton.prototype, "square", void 0);
165
+ __decorate([
166
+ property()
167
+ ], IconButton.prototype, "width", void 0);
168
+ __decorate([
169
+ property({ noAccessor: true })
170
+ ], IconButton.prototype, "type", null);
171
+ __decorate([
172
+ property({ type: Boolean, attribute: 'soft-disabled', reflect: true })
173
+ ], IconButton.prototype, "softDisabled", void 0);
174
+ __decorate([
175
+ property({ type: Boolean })
176
+ ], IconButton.prototype, "selected", void 0);
177
+ __decorate([
178
+ property()
179
+ ], IconButton.prototype, "href", void 0);
180
+ __decorate([
181
+ property()
182
+ ], IconButton.prototype, "download", void 0);
183
+ __decorate([
184
+ property()
185
+ ], IconButton.prototype, "target", void 0);
186
+ IconButton = __decorate([
187
+ customElement('md-gb-icon-button')
188
+ ], IconButton);
189
+ export { IconButton };
190
+ //# sourceMappingURL=md-icon-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"md-icon-button.js","sourceRoot":"","sources":["md-icon-button.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,GAAG,EAAqB,IAAI,EAAE,UAAU,EAAE,OAAO,EAAC,MAAM,KAAK,CAAC;AACtE,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAC,eAAe,EAAC,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAC,qBAAqB,EAAC,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAC,mBAAmB,EAAC,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AAExE,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAC/D,OAAO,YAAY,MAAM,+BAA+B,CAAC;AACzD,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAO1D,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAS5C,MAAM,SAAS,GAAG,kBAAkB,CAClC,kBAAkB,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,CAC3E,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AAEI,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,SAAS;IAAlC;;QAqBL;;WAEG;QACS,UAAK,GAAoB,UAAU,CAAC;QAEhD;;WAEG;QACS,SAAI,GAAmB,IAAI,CAAC;QAExC;;WAEG;QACwB,WAAM,GAAG,KAAK,CAAC;QAE1C;;WAEG;QACS,UAAK,GAAoB,EAAE,CAAC;QAsBxC;;;WAGG;QAEH,iBAAY,GAAG,KAAK,CAAC;QAErB;;WAEG;QACwB,aAAQ,GAAG,KAAK,CAAC;QAE5C;;WAEG;QACS,SAAI,GAAG,EAAE,CAAC;QAEtB;;WAEG;QACS,aAAQ,GAAG,EAAE,CAAC;QAE1B;;WAEG;QACS,WAAM,GAAiD,EAAE,CAAC;IA+CxE,CAAC;IA5FC;;;;;;;;OAQG;IAEH,IAAa,IAAI;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACzC,CAAC;IACD,IAAa,IAAI,CAAC,IAAY;QAC5B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QACD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,CAAC;IA6BkB,MAAM;QACvB,MAAM,OAAO,GAAG,UAAU,CAAC;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,YAAY;SAC5B,CAAC,CAAC;QAEH,MAAM,EAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAC,GAAG,IAAuB,CAAC;QACxE,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,IAAI,CAAA;;gBAED,OAAO;eACR,IAAI,CAAC,IAAI;mBACL,IAAI,CAAC,QAAQ,IAAI,OAAO;iBAC1B,IAAI,CAAC,MAAM,IAAI,OAAO;qBAClB,SAAS,IAAI,OAAO;wBACjB,YAAY,IAAI,OAAO;wBACvB,YAAY,IAAI,OAAO;wBACvB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO;mBAClD,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;;WAE1D,CAAC;QACR,CAAC;QAED,OAAO,IAAI,CAAA;;cAED,OAAO;;kBAEH,IAAI,CAAC,QAAQ;sBACT,IAAI,CAAC,YAAY,IAAI,OAAO;mBAC/B,SAAS,IAAI,OAAO;qBAClB,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;sBAC/C,YAAY,IAAI,OAAO;sBACvB,YAAY,IAAI,OAAO;gBAC7B,IAAI,CAAC,YAAY;;cAEnB,CAAC;IACb,CAAC;IAEO,YAAY,CAAC,KAAY;QAC/B,IAAI,CAAC,QAAQ,GAAI,KAAK,CAAC,MAAsB,CAAC,WAAW,KAAK,MAAM,CAAC;QACrE,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;;AAnID,kBAAkB;AACF,4BAAiB,GAAmB;IAClD,IAAI,EAAE,MAAM;IACZ,cAAc,EAAE,IAAI;CACrB,AAHgC,CAG/B;AAEc,iBAAM,GAAwB;IAC5C,eAAe;IACf,YAAY;IACZ,gBAAgB;IAChB,GAAG,CAAA;;;;;;;KAOF;CACF,AAZqB,CAYpB;AAKU;IAAX,QAAQ,EAAE;yCAAqC;AAKpC;IAAX,QAAQ,EAAE;wCAA6B;AAKb;IAA1B,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;0CAAgB;AAK9B;IAAX,QAAQ,EAAE;yCAA6B;AAYxC;IADC,QAAQ,CAAC,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC;sCAG5B;AAaD;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;gDAChD;AAKM;IAA1B,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;4CAAkB;AAKhC;IAAX,QAAQ,EAAE;wCAAW;AAKV;IAAX,QAAQ,EAAE;4CAAe;AAKd;IAAX,QAAQ,EAAE;0CAA2D;AAtF3D,UAAU;IADtB,aAAa,CAAC,mBAAmB,CAAC;GACtB,UAAU,CAqItB","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {css, CSSResultOrNative, html, LitElement, nothing} from 'lit';\nimport {customElement, property} from 'lit/decorators.js';\nimport {ARIAMixinStrict} from '../../../../internal/aria/aria.js';\nimport {mixinDelegatesAria} from '../../../../internal/aria/delegate.js';\nimport {redispatchEvent} from '../../../../internal/events/redispatch-event.js';\nimport {mixinElementInternals} from '../../../behaviors/element-internals.js';\nimport {mixinFormAssociated} from '../../../behaviors/form-associated.js';\nimport {mixinFormSubmitter} from '../../../behaviors/form-submitter.js';\n\nimport focusRingStyles from '../focus/focus-ring.cssresult.js';\nimport rippleStyles from '../ripple/ripple.cssresult.js';\nimport iconButtonStyles from './icon-button.cssresult.js';\n\nimport type {\n IconButtonColor,\n IconButtonSize,\n IconButtonWidth,\n} from './icon-button.js';\nimport {iconButton} from './icon-button.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n /** A Material Design icon button component. */\n 'md-gb-icon-button': IconButton;\n }\n}\n\nconst baseClass = mixinDelegatesAria(\n mixinFormSubmitter(mixinFormAssociated(mixinElementInternals(LitElement))),\n);\n\n/**\n * A Material Design icon button component.\n *\n * @slot - Used to display an icon.\n * @fires {InputEvent} input - Fired when a toggle icon button is selected or unselected. --bubbles --composed\n * @fires {Event} change - Fired when a toggle button is selected or unselected. --bubbles\n * @csspart icon-btn - The icon button's root element.\n * @cssprop --container-color\n * @cssprop --container-height\n * @cssprop --container-shape\n * @cssprop --icon-color\n * @cssprop --icon-size\n * @cssprop --outline-color\n * @cssprop --outline-width\n * @cssprop --leading-space\n * @cssprop --trailing-space\n */\n@customElement('md-gb-icon-button')\nexport class IconButton extends baseClass {\n /** @nocollapse */\n static override shadowRootOptions: ShadowRootInit = {\n mode: 'open',\n delegatesFocus: true,\n };\n\n static override styles: CSSResultOrNative[] = [\n focusRingStyles,\n rippleStyles,\n iconButtonStyles,\n css`\n :host {\n display: inline-flex;\n }\n .icon-btn {\n flex: 1;\n }\n `,\n ];\n\n /**\n * The color of the button.\n */\n @property() color: IconButtonColor = 'standard';\n\n /**\n * The size of the button.\n */\n @property() size: IconButtonSize = 'sm';\n\n /**\n * Changes the shape of the button to be square.\n */\n @property({type: Boolean}) square = false;\n\n /**\n * Changes the width of the button.\n */\n @property() width: IconButtonWidth = '';\n\n /**\n * A string indicating the behavior of the button.\n *\n * - \"submit\" (default): A button that submits its associated form.\n * - \"reset\": A button that resets its associated form.\n * - \"button\": A normal button.\n * - \"toggle\": A toggle button using the `selected` property.\n * - \"link\": An anchor link (`<a>`). Type is always \"link\" when `href` is set.\n */\n @property({noAccessor: true})\n override get type(): string {\n return this.href ? 'link' : super.type;\n }\n override set type(type: string) {\n if (this.href && type !== 'link') {\n return;\n }\n super.type = type;\n }\n\n /**\n * Whether or not the button is \"soft-disabled\" (disabled but still\n * focusable).\n */\n @property({type: Boolean, attribute: 'soft-disabled', reflect: true})\n softDisabled = false;\n\n /**\n * Whether or not the button is selected, when `type=\"toggle\"`.\n */\n @property({type: Boolean}) selected = false;\n\n /**\n * The URL that the link button points to.\n */\n @property() href = '';\n\n /**\n * The filename to use when downloading the linked resource.\n */\n @property() download = '';\n\n /**\n * Where to display the linked `href` URL for a link button.\n */\n @property() target: '_blank' | '_parent' | '_self' | '_top' | '' = '';\n\n protected override render() {\n const classes = iconButton({\n color: this.color,\n size: this.size,\n width: this.width,\n square: this.square,\n disabled: this.softDisabled,\n });\n\n const {ariaLabel, ariaHasPopup, ariaExpanded} = this as ARIAMixinStrict;\n if (this.type === 'link') {\n return html`<a\n part=\"icon-btn\"\n class=${classes}\n href=${this.href}\n download=${this.download || nothing}\n target=${this.target || nothing}\n aria-label=${ariaLabel || nothing}\n aria-haspopup=${ariaHasPopup || nothing}\n aria-expanded=${ariaExpanded || nothing}\n aria-disabled=${this.disabled || this.softDisabled || nothing}\n tabindex=${this.disabled && !this.softDisabled ? -1 : nothing}>\n <slot></slot>\n </a>`;\n }\n\n return html`<button\n part=\"icon-btn\"\n class=${classes}\n type=\"button\"\n ?disabled=${this.disabled}\n aria-disabled=${this.softDisabled || nothing}\n aria-label=${ariaLabel || nothing}\n aria-pressed=${this.type === 'toggle' ? this.selected : nothing}\n aria-haspopup=${ariaHasPopup || nothing}\n aria-expanded=${ariaExpanded || nothing}\n @change=${this.handleChange}>\n <slot></slot>\n </button>`;\n }\n\n private handleChange(event: Event) {\n this.selected = (event.target as HTMLElement).ariaPressed === 'true';\n redispatchEvent(this, event);\n }\n}\n"]}
@@ -0,0 +1,106 @@
1
+ //
2
+ // Copyright 2026 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ @mixin root {
7
+ // LINT.IfChange
8
+ --container-shape: var(--md-sys-shape-corner-lg);
9
+ --gap: 0;
10
+ // LINT.ThenChange(md-list.ts) keep in sync with `@cssprop` jsdoc tags
11
+ }
12
+
13
+ @mixin segmented {
14
+ --gap: 2px;
15
+ }
16
+
17
+ @mixin item {
18
+ // LINT.IfChange
19
+ --container-height: 56px;
20
+ --container-color: transparent;
21
+ --container-shape: var(--md-sys-shape-corner-xs);
22
+ --label-text-color: var(--md-sys-color-on-surface);
23
+ --label-text: var(--md-sys-typescale-body-lg);
24
+ --label-text-tracking: var(--md-sys-typescale-body-lg-tracking);
25
+ --leading-space: 16px;
26
+ --trailing-space: 16px;
27
+ --between-space: 12px;
28
+ --top-space: 10px;
29
+ --bottom-space: 10px;
30
+ --avatar-size: 40px;
31
+ --avatar-shape: var(--md-sys-shape-corner-full);
32
+ --avatar-color: var(--md-sys-color-primary-container);
33
+ --avatar-label: var(--md-sys-typescale-title-md);
34
+ --avatar-label-tracking: var(--md-sys-typescale-title-md-tracking);
35
+ --avatar-label-color: var(--md-sys-color-on-primary-container);
36
+ --leading-icon-color: var(--md-sys-color-on-surface-variant);
37
+ --leading-icon-size: 20px;
38
+ --trailing-icon-color: var(--md-sys-color-on-surface-variant);
39
+ --trailing-icon-size: 20px;
40
+ --overline: var(--md-sys-typescale-label-sm);
41
+ --overline-tracking: var(--md-sys-typescale-label-sm-tracking);
42
+ --overline-color: var(--md-sys-color-on-surface-variant);
43
+ --supporting-text: var(--md-sys-typescale-body-md);
44
+ --supporting-text-tracking: var(--md-sys-typescale-body-md-tracking);
45
+ --supporting-text-color: var(--md-sys-color-on-surface-variant);
46
+ --trailing-supporting-text: var(--md-sys-typescale-label-sm);
47
+ --trailing-supporting-text-tracking: var(
48
+ --md-sys-typescale-label-sm-tracking
49
+ );
50
+ --trailing-supporting-text-color: var(--md-sys-color-on-surface-variant);
51
+ // LINT.ThenChange(md-list-item.ts) keep in sync with `@cssprop` jsdoc tags
52
+ }
53
+
54
+ @mixin item-segmented {
55
+ --container-color: var(--md-sys-color-surface);
56
+ }
57
+
58
+ @mixin item-hovered {
59
+ --container-shape: var(--md-sys-shape-corner-md);
60
+ --leading-icon-color: var(--md-sys-color-on-surface);
61
+ --trailing-icon-color: var(--md-sys-color-on-surface);
62
+ }
63
+
64
+ @mixin item-focused {
65
+ --container-shape: var(--md-sys-shape-corner-lg);
66
+ --leading-icon-color: var(--md-sys-color-on-surface);
67
+ --trailing-icon-color: var(--md-sys-color-on-surface);
68
+ }
69
+
70
+ @mixin item-pressed {
71
+ --container-shape: var(--md-sys-shape-corner-lg);
72
+ --leading-icon-color: var(--md-sys-color-on-surface);
73
+ --trailing-icon-color: var(--md-sys-color-on-surface);
74
+ }
75
+
76
+ @mixin item-selected {
77
+ --container-shape: var(--md-sys-shape-corner-lg);
78
+ --container-color: var(--md-sys-color-secondary-container);
79
+ --label-text-color: var(--md-sys-color-on-secondary-container);
80
+ --leading-icon-color: var(--md-sys-color-on-secondary-container);
81
+ --trailing-icon-color: var(--md-sys-color-on-secondary-container);
82
+ --overline-color: var(--md-sys-color-on-secondary-container);
83
+ --supporting-text-color: var(--md-sys-color-on-secondary-container);
84
+ --trailing-supporting-text-color: var(
85
+ --md-sys-color-on-secondary-container
86
+ );
87
+ }
88
+
89
+ @mixin item-disabled {
90
+ --container-shape: var(--md-sys-shape-corner-xs);
91
+ --container-color: hsl(from var(--md-sys-color-on-surface) h s l / 10%);
92
+ --label-text-color: hsl(from var(--md-sys-color-on-surface) h s l / 38%);
93
+ --leading-icon-color: hsl(
94
+ from var(--md-sys-color-on-surface) h s l / 38%
95
+ );
96
+ --trailing-icon-color: hsl(
97
+ from var(--md-sys-color-on-surface) h s l / 38%
98
+ );
99
+ --overline-color: hsl(from var(--md-sys-color-on-surface) h s l / 38%);
100
+ --supporting-text-color: hsl(
101
+ from var(--md-sys-color-on-surface) h s l / 38%
102
+ );
103
+ --trailing-supporting-text-color: hsl(
104
+ from var(--md-sys-color-on-surface) h s l / 38%
105
+ );
106
+ }
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * Copyright 2026 Google LLC
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */@layer md.sys, md.comp.ripple, md.comp.focus-ring, md.comp.checkbox, md.comp.radio;@layer md.comp.list{.list{--container-shape: var(--md-sys-shape-corner-lg);--gap: 0}.list.list-segmented{--gap: 2px;--list-segmented: true}.list{display:flex;flex-direction:column;margin:unset;padding:unset;list-style:none;gap:var(--gap);border-radius:var(--container-shape)}.list>:first-child:not(slot),.list ::slotted(:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;--first-child: true}.list>:last-child:not(slot),.list ::slotted(:last-child){border-end-start-radius:inherit;border-end-end-radius:inherit;--last-child: true}.list slot{border-radius:inherit}.list-select,.list-select::picker(select){appearance:base-select}.list-select{border:none;background:none;height:fit-content}.list-item{--container-height: 56px;--container-color: transparent;--container-shape: var(--md-sys-shape-corner-xs);--label-text-color: var(--md-sys-color-on-surface);--label-text: var(--md-sys-typescale-body-lg);--label-text-tracking: var(--md-sys-typescale-body-lg-tracking);--leading-space: 16px;--trailing-space: 16px;--between-space: 12px;--top-space: 10px;--bottom-space: 10px;--avatar-size: 40px;--avatar-shape: var(--md-sys-shape-corner-full);--avatar-color: var(--md-sys-color-primary-container);--avatar-label: var(--md-sys-typescale-title-md);--avatar-label-tracking: var(--md-sys-typescale-title-md-tracking);--avatar-label-color: var(--md-sys-color-on-primary-container);--leading-icon-color: var(--md-sys-color-on-surface-variant);--leading-icon-size: 20px;--trailing-icon-color: var(--md-sys-color-on-surface-variant);--trailing-icon-size: 20px;--overline: var(--md-sys-typescale-label-sm);--overline-tracking: var(--md-sys-typescale-label-sm-tracking);--overline-color: var(--md-sys-color-on-surface-variant);--supporting-text: var(--md-sys-typescale-body-md);--supporting-text-tracking: var(--md-sys-typescale-body-md-tracking);--supporting-text-color: var(--md-sys-color-on-surface-variant);--trailing-supporting-text: var(--md-sys-typescale-label-sm);--trailing-supporting-text-tracking: var( --md-sys-typescale-label-sm-tracking );--trailing-supporting-text-color: var(--md-sys-color-on-surface-variant)}@container style(--list-segmented: true){.list-item{--container-color: var(--md-sys-color-surface)}}.list-item:where(:not(.list-item-static)):is(:hover,.hover){--container-shape: var(--md-sys-shape-corner-md);--leading-icon-color: var(--md-sys-color-on-surface);--trailing-icon-color: var(--md-sys-color-on-surface)}.list-item:where(:not(.list-item-static)):is(:focus-within,.focus){--container-shape: var(--md-sys-shape-corner-lg);--leading-icon-color: var(--md-sys-color-on-surface);--trailing-icon-color: var(--md-sys-color-on-surface)}.list-item:where(:not(.list-item-static)):is(:active,.active){--container-shape: var(--md-sys-shape-corner-lg);--leading-icon-color: var(--md-sys-color-on-surface);--trailing-icon-color: var(--md-sys-color-on-surface)}.list-item:is(:checked,.checked){--container-shape: var(--md-sys-shape-corner-lg);--container-color: var(--md-sys-color-secondary-container);--label-text-color: var(--md-sys-color-on-secondary-container);--leading-icon-color: var(--md-sys-color-on-secondary-container);--trailing-icon-color: var(--md-sys-color-on-secondary-container);--overline-color: var(--md-sys-color-on-secondary-container);--supporting-text-color: var(--md-sys-color-on-secondary-container);--trailing-supporting-text-color: var( --md-sys-color-on-secondary-container )}.list-item:is(:disabled,.disabled){--container-shape: var(--md-sys-shape-corner-xs);--container-color: hsl(from var(--md-sys-color-on-surface) h s l / 10%);--label-text-color: hsl(from var(--md-sys-color-on-surface) h s l / 38%);--leading-icon-color: hsl( from var(--md-sys-color-on-surface) h s l / 38% );--trailing-icon-color: hsl( from var(--md-sys-color-on-surface) h s l / 38% );--overline-color: hsl(from var(--md-sys-color-on-surface) h s l / 38%);--supporting-text-color: hsl( from var(--md-sys-color-on-surface) h s l / 38% );--trailing-supporting-text-color: hsl( from var(--md-sys-color-on-surface) h s l / 38% )}.list-item{display:flex;align-items:center;gap:var(--between-space);box-sizing:border-box;min-height:var(--container-height);border-radius:var(--container-shape);background-color:var(--container-color);padding-inline:var(--leading-space) var(--trailing-space);padding-block:var(--top-space) var(--bottom-space);color:var(--label-text-color);font:var(--label-text);letter-spacing:var(--label-text-tracking);appearance:none;border:none;text-align:unset;text-decoration:unset;width:stretch}@container style(--first-child: true){.list-item{border-start-start-radius:inherit;border-start-end-radius:inherit}}@container style(--last-child: true){.list-item{border-end-start-radius:inherit;border-end-end-radius:inherit}}.list-item:not(:disabled,.disabled,.list-item-static){cursor:pointer}.list-item .list-item-content{display:flex;flex-direction:column;flex:1}.list-item .list-item-leading,.list-item .list-item-trailing{display:flex;align-items:center;gap:8px;min-height:28px}.list-item .list-item-leading{--md-icon-color: var(--leading-icon-color);--md-icon-size: var(--leading-icon-size)}.list-item .list-item-trailing{--md-icon-color: var(--trailing-icon-color);--md-icon-size: var(--trailing-icon-size)}.list-item .list-item-overline{font:var(--overline);letter-spacing:var(--overline-tracking);color:var(--overline-color)}.list-item .list-item-supporting-text{font:var(--supporting-text);letter-spacing:var(--supporting-text-tracking);color:var(--supporting-text-color)}.list-item .list-item-trailing-text{font:var(--trailing-supporting-text);letter-spacing:var(--trailing-supporting-text-tracking);color:var(--trailing-supporting-text-color)}.list-item .list-item-avatar{display:grid;place-items:center;background-color:var(--avatar-color);border-radius:var(--avatar-shape);aspect-ratio:1;width:var(--avatar-size);font:var(--avatar-label);letter-spacing:var(--avatar-label-tracking);color:var(--avatar-label-color)}.list-item::checkmark{font:var(--leading-icon-size) var(--md-icon-font);color:var(--leading-icon-color);content:"check"}.list-item:has(.list-item-radio,.list-item-checkbox)::checkmark{display:none}.list-item .list-item-radio,.list-item .list-item-checkbox{width:min-content;height:min-content;--ripple: none;--focus-ring-outline: none}.list-item:is(:checked,.checked) .list-item-radio{--icon-color: var(--md-sys-color-primary);--state-layer-color: var(--md-sys-color-primary);--icon: "radio_button_checked"}.list-item:is(:checked,.checked) .list-item-checkbox{--outline-width: 0;--container-color: var(--md-sys-color-primary);--icon-color: var(--md-sys-color-on-primary)}}/*# sourceMappingURL=list.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["list.scss","_list-tokens.scss","../radio/_radio-tokens.scss","../checkbox/_checkbox-tokens.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAWA,mFACA,oBAEI,MCPF,iDACA,SDUE,qBCLF,WDOI,uBAGF,MACE,aACA,sBACA,aACA,cACA,gBACA,eACA,qCAGF,2DAEE,kCACA,gCACA,oBAGF,yDAEE,gCACA,8BACA,mBAGF,WACE,sBAKF,0CAIE,uBALJ,aAQE,YACA,gBACA,mBAIA,WChDF,yBACA,+BACA,iDACA,mDACA,8CACA,gEACA,sBACA,uBACA,sBACA,kBACA,qBACA,oBACA,gDACA,sDACA,iDACA,mEACA,+DACA,6DACA,0BACA,8DACA,2BACA,6CACA,+DACA,yDACA,mDACA,qEACA,gEACA,6DACA,iFAGA,yEDoBI,yCAHF,WCZF,gDDqBI,4DCjBJ,iDACA,qDACA,sDDmBI,mECfJ,iDACA,qDACA,sDDiBI,8DCbJ,iDACA,qDACA,sDDgBE,iCCZF,iDACA,2DACA,+DACA,iEACA,kEACA,6DACA,oEACA,+EDSE,mCCHF,iDACA,wEACA,yEACA,6EAGA,8EAGA,uEACA,gFAGA,yFDNE,WACE,aACA,mBACA,yBACA,sBACA,mCACA,qCACA,wCACA,0DACA,mDACA,8BACA,uBACA,0CACA,gBACA,YACA,iBACA,sBACA,cAGF,sCAnDF,WAoDI,kCACA,iCAGF,qCAxDF,WAyDI,gCACA,+BAGF,sDACE,eAGF,8BACE,aACA,sBACA,OAGF,6DAEE,aACA,mBACA,QACA,gBAGF,8BACE,2CACA,yCAGF,+BACE,4CACA,0CAGF,+BACE,qBACA,wCACA,4BAGF,sCACE,4BACA,+CACA,mCAGF,oCACE,qCACA,wDACA,4CAGF,6BACE,aACA,mBACA,qCACA,kCACA,eACA,yBACA,yBACA,4CACA,gCAGF,sBACE,kDACA,gCACA,gBAGF,gEACE,aAGF,2DAEE,kBACA,mBACA,eACA,2BAGF,kDE9KF,0CACA,iDF+KI,+BAGF,qDG5KF,mBACA,+CACA","file":"list.css"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ // Generated stylesheet for ./labs/gb/components/list/list.css.
7
+ import { css } from 'lit';
8
+ export const styles = css `/*!
9
+ * Copyright 2026 Google LLC
10
+ * SPDX-License-Identifier: Apache-2.0
11
+ */@layer md.sys, md.comp.ripple, md.comp.focus-ring, md.comp.checkbox, md.comp.radio;@layer md.comp.list{.list{--container-shape: var(--md-sys-shape-corner-lg);--gap: 0}.list.list-segmented{--gap: 2px;--list-segmented: true}.list{display:flex;flex-direction:column;margin:unset;padding:unset;list-style:none;gap:var(--gap);border-radius:var(--container-shape)}.list>:first-child:not(slot),.list ::slotted(:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;--first-child: true}.list>:last-child:not(slot),.list ::slotted(:last-child){border-end-start-radius:inherit;border-end-end-radius:inherit;--last-child: true}.list slot{border-radius:inherit}.list-select,.list-select::picker(select){appearance:base-select}.list-select{border:none;background:none;height:fit-content}.list-item{--container-height: 56px;--container-color: transparent;--container-shape: var(--md-sys-shape-corner-xs);--label-text-color: var(--md-sys-color-on-surface);--label-text: var(--md-sys-typescale-body-lg);--label-text-tracking: var(--md-sys-typescale-body-lg-tracking);--leading-space: 16px;--trailing-space: 16px;--between-space: 12px;--top-space: 10px;--bottom-space: 10px;--avatar-size: 40px;--avatar-shape: var(--md-sys-shape-corner-full);--avatar-color: var(--md-sys-color-primary-container);--avatar-label: var(--md-sys-typescale-title-md);--avatar-label-tracking: var(--md-sys-typescale-title-md-tracking);--avatar-label-color: var(--md-sys-color-on-primary-container);--leading-icon-color: var(--md-sys-color-on-surface-variant);--leading-icon-size: 20px;--trailing-icon-color: var(--md-sys-color-on-surface-variant);--trailing-icon-size: 20px;--overline: var(--md-sys-typescale-label-sm);--overline-tracking: var(--md-sys-typescale-label-sm-tracking);--overline-color: var(--md-sys-color-on-surface-variant);--supporting-text: var(--md-sys-typescale-body-md);--supporting-text-tracking: var(--md-sys-typescale-body-md-tracking);--supporting-text-color: var(--md-sys-color-on-surface-variant);--trailing-supporting-text: var(--md-sys-typescale-label-sm);--trailing-supporting-text-tracking: var( --md-sys-typescale-label-sm-tracking );--trailing-supporting-text-color: var(--md-sys-color-on-surface-variant)}@container style(--list-segmented: true){.list-item{--container-color: var(--md-sys-color-surface)}}.list-item:where(:not(.list-item-static)):is(:hover,.hover){--container-shape: var(--md-sys-shape-corner-md);--leading-icon-color: var(--md-sys-color-on-surface);--trailing-icon-color: var(--md-sys-color-on-surface)}.list-item:where(:not(.list-item-static)):is(:focus-within,.focus){--container-shape: var(--md-sys-shape-corner-lg);--leading-icon-color: var(--md-sys-color-on-surface);--trailing-icon-color: var(--md-sys-color-on-surface)}.list-item:where(:not(.list-item-static)):is(:active,.active){--container-shape: var(--md-sys-shape-corner-lg);--leading-icon-color: var(--md-sys-color-on-surface);--trailing-icon-color: var(--md-sys-color-on-surface)}.list-item:is(:checked,.checked){--container-shape: var(--md-sys-shape-corner-lg);--container-color: var(--md-sys-color-secondary-container);--label-text-color: var(--md-sys-color-on-secondary-container);--leading-icon-color: var(--md-sys-color-on-secondary-container);--trailing-icon-color: var(--md-sys-color-on-secondary-container);--overline-color: var(--md-sys-color-on-secondary-container);--supporting-text-color: var(--md-sys-color-on-secondary-container);--trailing-supporting-text-color: var( --md-sys-color-on-secondary-container )}.list-item:is(:disabled,.disabled){--container-shape: var(--md-sys-shape-corner-xs);--container-color: hsl(from var(--md-sys-color-on-surface) h s l / 10%);--label-text-color: hsl(from var(--md-sys-color-on-surface) h s l / 38%);--leading-icon-color: hsl( from var(--md-sys-color-on-surface) h s l / 38% );--trailing-icon-color: hsl( from var(--md-sys-color-on-surface) h s l / 38% );--overline-color: hsl(from var(--md-sys-color-on-surface) h s l / 38%);--supporting-text-color: hsl( from var(--md-sys-color-on-surface) h s l / 38% );--trailing-supporting-text-color: hsl( from var(--md-sys-color-on-surface) h s l / 38% )}.list-item{display:flex;align-items:center;gap:var(--between-space);box-sizing:border-box;min-height:var(--container-height);border-radius:var(--container-shape);background-color:var(--container-color);padding-inline:var(--leading-space) var(--trailing-space);padding-block:var(--top-space) var(--bottom-space);color:var(--label-text-color);font:var(--label-text);letter-spacing:var(--label-text-tracking);appearance:none;border:none;text-align:unset;text-decoration:unset;width:stretch}@container style(--first-child: true){.list-item{border-start-start-radius:inherit;border-start-end-radius:inherit}}@container style(--last-child: true){.list-item{border-end-start-radius:inherit;border-end-end-radius:inherit}}.list-item:not(:disabled,.disabled,.list-item-static){cursor:pointer}.list-item .list-item-content{display:flex;flex-direction:column;flex:1}.list-item .list-item-leading,.list-item .list-item-trailing{display:flex;align-items:center;gap:8px;min-height:28px}.list-item .list-item-leading{--md-icon-color: var(--leading-icon-color);--md-icon-size: var(--leading-icon-size)}.list-item .list-item-trailing{--md-icon-color: var(--trailing-icon-color);--md-icon-size: var(--trailing-icon-size)}.list-item .list-item-overline{font:var(--overline);letter-spacing:var(--overline-tracking);color:var(--overline-color)}.list-item .list-item-supporting-text{font:var(--supporting-text);letter-spacing:var(--supporting-text-tracking);color:var(--supporting-text-color)}.list-item .list-item-trailing-text{font:var(--trailing-supporting-text);letter-spacing:var(--trailing-supporting-text-tracking);color:var(--trailing-supporting-text-color)}.list-item .list-item-avatar{display:grid;place-items:center;background-color:var(--avatar-color);border-radius:var(--avatar-shape);aspect-ratio:1;width:var(--avatar-size);font:var(--avatar-label);letter-spacing:var(--avatar-label-tracking);color:var(--avatar-label-color)}.list-item::checkmark{font:var(--leading-icon-size) var(--md-icon-font);color:var(--leading-icon-color);content:"check"}.list-item:has(.list-item-radio,.list-item-checkbox)::checkmark{display:none}.list-item .list-item-radio,.list-item .list-item-checkbox{width:min-content;height:min-content;--ripple: none;--focus-ring-outline: none}.list-item:is(:checked,.checked) .list-item-radio{--icon-color: var(--md-sys-color-primary);--state-layer-color: var(--md-sys-color-primary);--icon: "radio_button_checked"}.list-item:is(:checked,.checked) .list-item-checkbox{--outline-width: 0;--container-color: var(--md-sys-color-primary);--icon-color: var(--md-sys-color-on-primary)}}
12
+ `;
13
+ export default styles.styleSheet;
14
+ //# sourceMappingURL=list.cssresult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.cssresult.js","sourceRoot":"","sources":["list.cssresult.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,+DAA+D;AAC/D,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;CAIxB,CAAC;AACF,eAAe,MAAM,CAAC,UAAW,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./labs/gb/components/list/list.css.\nimport {css} from 'lit';\nexport const styles = css`/*!\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */@layer md.sys, md.comp.ripple, md.comp.focus-ring, md.comp.checkbox, md.comp.radio;@layer md.comp.list{.list{--container-shape: var(--md-sys-shape-corner-lg);--gap: 0}.list.list-segmented{--gap: 2px;--list-segmented: true}.list{display:flex;flex-direction:column;margin:unset;padding:unset;list-style:none;gap:var(--gap);border-radius:var(--container-shape)}.list>:first-child:not(slot),.list ::slotted(:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;--first-child: true}.list>:last-child:not(slot),.list ::slotted(:last-child){border-end-start-radius:inherit;border-end-end-radius:inherit;--last-child: true}.list slot{border-radius:inherit}.list-select,.list-select::picker(select){appearance:base-select}.list-select{border:none;background:none;height:fit-content}.list-item{--container-height: 56px;--container-color: transparent;--container-shape: var(--md-sys-shape-corner-xs);--label-text-color: var(--md-sys-color-on-surface);--label-text: var(--md-sys-typescale-body-lg);--label-text-tracking: var(--md-sys-typescale-body-lg-tracking);--leading-space: 16px;--trailing-space: 16px;--between-space: 12px;--top-space: 10px;--bottom-space: 10px;--avatar-size: 40px;--avatar-shape: var(--md-sys-shape-corner-full);--avatar-color: var(--md-sys-color-primary-container);--avatar-label: var(--md-sys-typescale-title-md);--avatar-label-tracking: var(--md-sys-typescale-title-md-tracking);--avatar-label-color: var(--md-sys-color-on-primary-container);--leading-icon-color: var(--md-sys-color-on-surface-variant);--leading-icon-size: 20px;--trailing-icon-color: var(--md-sys-color-on-surface-variant);--trailing-icon-size: 20px;--overline: var(--md-sys-typescale-label-sm);--overline-tracking: var(--md-sys-typescale-label-sm-tracking);--overline-color: var(--md-sys-color-on-surface-variant);--supporting-text: var(--md-sys-typescale-body-md);--supporting-text-tracking: var(--md-sys-typescale-body-md-tracking);--supporting-text-color: var(--md-sys-color-on-surface-variant);--trailing-supporting-text: var(--md-sys-typescale-label-sm);--trailing-supporting-text-tracking: var( --md-sys-typescale-label-sm-tracking );--trailing-supporting-text-color: var(--md-sys-color-on-surface-variant)}@container style(--list-segmented: true){.list-item{--container-color: var(--md-sys-color-surface)}}.list-item:where(:not(.list-item-static)):is(:hover,.hover){--container-shape: var(--md-sys-shape-corner-md);--leading-icon-color: var(--md-sys-color-on-surface);--trailing-icon-color: var(--md-sys-color-on-surface)}.list-item:where(:not(.list-item-static)):is(:focus-within,.focus){--container-shape: var(--md-sys-shape-corner-lg);--leading-icon-color: var(--md-sys-color-on-surface);--trailing-icon-color: var(--md-sys-color-on-surface)}.list-item:where(:not(.list-item-static)):is(:active,.active){--container-shape: var(--md-sys-shape-corner-lg);--leading-icon-color: var(--md-sys-color-on-surface);--trailing-icon-color: var(--md-sys-color-on-surface)}.list-item:is(:checked,.checked){--container-shape: var(--md-sys-shape-corner-lg);--container-color: var(--md-sys-color-secondary-container);--label-text-color: var(--md-sys-color-on-secondary-container);--leading-icon-color: var(--md-sys-color-on-secondary-container);--trailing-icon-color: var(--md-sys-color-on-secondary-container);--overline-color: var(--md-sys-color-on-secondary-container);--supporting-text-color: var(--md-sys-color-on-secondary-container);--trailing-supporting-text-color: var( --md-sys-color-on-secondary-container )}.list-item:is(:disabled,.disabled){--container-shape: var(--md-sys-shape-corner-xs);--container-color: hsl(from var(--md-sys-color-on-surface) h s l / 10%);--label-text-color: hsl(from var(--md-sys-color-on-surface) h s l / 38%);--leading-icon-color: hsl( from var(--md-sys-color-on-surface) h s l / 38% );--trailing-icon-color: hsl( from var(--md-sys-color-on-surface) h s l / 38% );--overline-color: hsl(from var(--md-sys-color-on-surface) h s l / 38%);--supporting-text-color: hsl( from var(--md-sys-color-on-surface) h s l / 38% );--trailing-supporting-text-color: hsl( from var(--md-sys-color-on-surface) h s l / 38% )}.list-item{display:flex;align-items:center;gap:var(--between-space);box-sizing:border-box;min-height:var(--container-height);border-radius:var(--container-shape);background-color:var(--container-color);padding-inline:var(--leading-space) var(--trailing-space);padding-block:var(--top-space) var(--bottom-space);color:var(--label-text-color);font:var(--label-text);letter-spacing:var(--label-text-tracking);appearance:none;border:none;text-align:unset;text-decoration:unset;width:stretch}@container style(--first-child: true){.list-item{border-start-start-radius:inherit;border-start-end-radius:inherit}}@container style(--last-child: true){.list-item{border-end-start-radius:inherit;border-end-end-radius:inherit}}.list-item:not(:disabled,.disabled,.list-item-static){cursor:pointer}.list-item .list-item-content{display:flex;flex-direction:column;flex:1}.list-item .list-item-leading,.list-item .list-item-trailing{display:flex;align-items:center;gap:8px;min-height:28px}.list-item .list-item-leading{--md-icon-color: var(--leading-icon-color);--md-icon-size: var(--leading-icon-size)}.list-item .list-item-trailing{--md-icon-color: var(--trailing-icon-color);--md-icon-size: var(--trailing-icon-size)}.list-item .list-item-overline{font:var(--overline);letter-spacing:var(--overline-tracking);color:var(--overline-color)}.list-item .list-item-supporting-text{font:var(--supporting-text);letter-spacing:var(--supporting-text-tracking);color:var(--supporting-text-color)}.list-item .list-item-trailing-text{font:var(--trailing-supporting-text);letter-spacing:var(--trailing-supporting-text-tracking);color:var(--trailing-supporting-text-color)}.list-item .list-item-avatar{display:grid;place-items:center;background-color:var(--avatar-color);border-radius:var(--avatar-shape);aspect-ratio:1;width:var(--avatar-size);font:var(--avatar-label);letter-spacing:var(--avatar-label-tracking);color:var(--avatar-label-color)}.list-item::checkmark{font:var(--leading-icon-size) var(--md-icon-font);color:var(--leading-icon-color);content:\"check\"}.list-item:has(.list-item-radio,.list-item-checkbox)::checkmark{display:none}.list-item .list-item-radio,.list-item .list-item-checkbox{width:min-content;height:min-content;--ripple: none;--focus-ring-outline: none}.list-item:is(:checked,.checked) .list-item-radio{--icon-color: var(--md-sys-color-primary);--state-layer-color: var(--md-sys-color-primary);--icon: \"radio_button_checked\"}.list-item:is(:checked,.checked) .list-item-checkbox{--outline-width: 0;--container-color: var(--md-sys-color-primary);--icon-color: var(--md-sys-color-on-primary)}}\n`;\nexport default styles.styleSheet!;\n"]}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { type ClassInfo } from 'lit/directives/class-map.js';
7
+ /** List classes. */
8
+ export declare const LIST_CLASSES: {
9
+ readonly list: "list";
10
+ readonly listSegmented: "list-segmented";
11
+ };
12
+ /** The state provided to the `listClasses()` function. */
13
+ export interface ListClassesState {
14
+ /** Whether to render the list with segmented items. */
15
+ segmented?: boolean;
16
+ }
17
+ /**
18
+ * Returns the list classes to apply to an element based on the given state.
19
+ *
20
+ * @param state The state of the list.
21
+ * @return An object of class names and truthy values if they apply.
22
+ */
23
+ export declare function listClasses({ segmented, }?: ListClassesState): ClassInfo;
24
+ /**
25
+ * A Lit directive that adds list styling and functionality to its element.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * html`
30
+ * <ul class="${list()}">
31
+ * <li><button class="${listItem()}">List item 1</button></li>
32
+ * <li><button class="${listItem()}">List item 2</button></li>
33
+ * <li><button class="${listItem()}">List item 3</button></li>
34
+ * </ul>
35
+ * `;
36
+ * ```
37
+ */
38
+ export declare const list: (state?: ListClassesState & import("../shared/directives.js").AdditionalClasses) => import("lit-html/directive.js").DirectiveResult;
39
+ /** List item classes. */
40
+ export declare const LIST_ITEM_CLASSES: {
41
+ readonly listItem: "list-item";
42
+ readonly listItemStatic: "list-item-static";
43
+ readonly listItemContent: "list-item-content";
44
+ readonly listItemLeading: "list-item-leading";
45
+ readonly listItemTrailing: "list-item-trailing";
46
+ readonly listItemOverline: "list-item-overline";
47
+ readonly listItemSupportingText: "list-item-supporting-text";
48
+ readonly listItemTrailingText: "list-item-trailing-text";
49
+ readonly listItemAvatar: "list-item-avatar";
50
+ readonly checked: string;
51
+ readonly hover: string;
52
+ readonly focus: string;
53
+ readonly active: string;
54
+ readonly disabled: string;
55
+ };
56
+ /** The state provided to the `listItemClasses()` function. */
57
+ export interface ListItemClassesState {
58
+ /** Whether the list item is non-interactive. */
59
+ static?: boolean;
60
+ /** Emulates `:checked`. */
61
+ checked?: boolean;
62
+ /** Emulates `:hover`. */
63
+ hover?: boolean;
64
+ /** Emulates `:focus`. */
65
+ focus?: boolean;
66
+ /** Emulates `:active`. */
67
+ active?: boolean;
68
+ /** Emulates `:disabled`. */
69
+ disabled?: boolean;
70
+ }
71
+ /**
72
+ * Returns the list item classes to apply to an element based on the given
73
+ * state.
74
+ *
75
+ * @param state The state of the list item.
76
+ * @return An object of class names and truthy values if they apply.
77
+ */
78
+ export declare function listItemClasses({ static: staticItem, checked, hover, focus, active, disabled, }?: ListItemClassesState): ClassInfo;
79
+ /**
80
+ * Sets up list item functionality for the given element.
81
+ *
82
+ * @param listItem The element on which to set up list item functionality.
83
+ * @param opts Setup options, supports a cleanup `signal`.
84
+ */
85
+ export declare function setupListItem(listItem: HTMLElement, opts?: {
86
+ signal?: AbortSignal;
87
+ }): void;
88
+ /**
89
+ * A Lit directive that adds list item styling and functionality to its element.
90
+ *
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * html`
95
+ * <ul class="${list()}">
96
+ * <li><button class="${listItem()}">List item 1</button></li>
97
+ * <li><button class="${listItem()}">List item 2</button></li>
98
+ * <li><button class="${listItem()}">List item 3</button></li>
99
+ * </ul>
100
+ * `;
101
+ * ```
102
+ */
103
+ export declare const listItem: (state?: ListItemClassesState & import("../shared/directives.js").AdditionalClasses) => import("lit-html/directive.js").DirectiveResult;