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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/README.md +66 -19
  2. package/autocomplete/lib/_filled-autocomplete.scss +1 -34
  3. package/autocomplete/lib/_outlined-autocomplete.scss +1 -34
  4. package/autocomplete/lib/autocomplete.d.ts +0 -4
  5. package/autocomplete/lib/autocomplete.js +5 -12
  6. package/autocomplete/lib/autocomplete.js.map +1 -1
  7. package/autocomplete/lib/autocompleteitem/autocomplete-item.d.ts +2 -2
  8. package/autocomplete/lib/autocompleteitem/autocomplete-item.js +2 -2
  9. package/autocomplete/lib/autocompleteitem/autocomplete-item.js.map +1 -1
  10. package/autocomplete/lib/autocompletelist/autocomplete-list.d.ts +1 -1
  11. package/autocomplete/lib/autocompletelist/autocomplete-list.js +2 -2
  12. package/autocomplete/lib/autocompletelist/autocomplete-list.js.map +1 -1
  13. package/autocomplete/lib/filled-styles.css.js +1 -1
  14. package/autocomplete/lib/filled-styles.css.js.map +1 -1
  15. package/autocomplete/lib/outlined-styles.css.js +1 -1
  16. package/autocomplete/lib/outlined-styles.css.js.map +1 -1
  17. package/button/lib/_elevation.scss +1 -1
  18. package/button/lib/_icon.scss +14 -24
  19. package/button/lib/_shared.scss +1 -0
  20. package/button/lib/button.d.ts +0 -3
  21. package/button/lib/button.js +1 -12
  22. package/button/lib/button.js.map +1 -1
  23. package/button/lib/filled-styles.css.js +1 -1
  24. package/button/lib/filled-styles.css.js.map +1 -1
  25. package/button/lib/link-button.d.ts +0 -1
  26. package/button/lib/link-button.js +0 -5
  27. package/button/lib/link-button.js.map +1 -1
  28. package/button/lib/shared-elevation-styles.css.js +1 -1
  29. package/button/lib/shared-elevation-styles.css.js.map +1 -1
  30. package/button/lib/shared-styles.css.js +1 -1
  31. package/button/lib/shared-styles.css.js.map +1 -1
  32. package/checkbox/checkbox.d.ts +11 -2
  33. package/checkbox/checkbox.js +11 -2
  34. package/checkbox/checkbox.js.map +1 -1
  35. package/checkbox/lib/checkbox.d.ts +28 -0
  36. package/checkbox/lib/checkbox.js +30 -1
  37. package/checkbox/lib/checkbox.js.map +1 -1
  38. package/chips/chip/lib/_chip-theme.scss +1 -1
  39. package/dialog/_dialog.scss +6 -0
  40. package/dialog/dialog.d.ts +38 -0
  41. package/dialog/dialog.js +41 -0
  42. package/dialog/dialog.js.map +1 -0
  43. package/dialog/harness.d.ts +18 -0
  44. package/dialog/harness.js +55 -0
  45. package/dialog/harness.js.map +1 -0
  46. package/dialog/lib/_dialog.scss +386 -0
  47. package/dialog/lib/_tokens.scss +86 -0
  48. package/{list/lib/divider/list-divider-styles.css.d.ts → dialog/lib/dialog-styles.css.d.ts} +0 -0
  49. package/dialog/lib/dialog-styles.css.js +9 -0
  50. package/dialog/lib/dialog-styles.css.js.map +1 -0
  51. package/dialog/lib/dialog-styles.scss +8 -0
  52. package/dialog/lib/dialog.d.ts +190 -0
  53. package/dialog/lib/dialog.js +566 -0
  54. package/dialog/lib/dialog.js.map +1 -0
  55. package/divider/_divider.scss +6 -0
  56. package/divider/divider.d.ts +24 -0
  57. package/divider/divider.js +27 -0
  58. package/divider/divider.js.map +1 -0
  59. package/divider/lib/_divider.scss +54 -0
  60. package/{menu/lib/menu-button-styles.css.d.ts → divider/lib/divider-styles.css.d.ts} +0 -0
  61. package/divider/lib/divider-styles.css.js +9 -0
  62. package/divider/lib/divider-styles.css.js.map +1 -0
  63. package/divider/lib/divider-styles.scss +8 -0
  64. package/divider/lib/divider.d.ts +23 -0
  65. package/divider/lib/divider.js +41 -0
  66. package/divider/lib/divider.js.map +1 -0
  67. package/elevation/lib/_elevation.scss +1 -1
  68. package/elevation/lib/_md-comp-elevation.scss +1 -1
  69. package/elevation/lib/elevation-styles.css.js +1 -1
  70. package/elevation/lib/elevation-styles.css.js.map +1 -1
  71. package/fab/lib/_shared.scss +1 -1
  72. package/fab/lib/fab-shared-styles.css.js +1 -1
  73. package/fab/lib/fab-shared-styles.css.js.map +1 -1
  74. package/field/lib/_filled-field.scss +5 -2
  75. package/field/lib/_md-comp-filled-field.scss +3 -1
  76. package/field/lib/_md-comp-outlined-field.scss +1 -1
  77. package/field/lib/_shared.scss +2 -0
  78. package/field/lib/field.d.ts +0 -2
  79. package/field/lib/field.js +2 -4
  80. package/field/lib/field.js.map +1 -1
  81. package/field/lib/filled-styles.css.js +1 -1
  82. package/field/lib/filled-styles.css.js.map +1 -1
  83. package/field/lib/outlined-styles.css.js +1 -1
  84. package/field/lib/outlined-styles.css.js.map +1 -1
  85. package/field/lib/shared-styles.css.js +1 -1
  86. package/field/lib/shared-styles.css.js.map +1 -1
  87. package/focus/lib/_focus-ring.scss +3 -10
  88. package/focus/lib/focus-ring-styles.css.js +1 -1
  89. package/focus/lib/focus-ring-styles.css.js.map +1 -1
  90. package/focus/lib/focus-ring.d.ts +1 -4
  91. package/focus/lib/focus-ring.js +2 -11
  92. package/focus/lib/focus-ring.js.map +1 -1
  93. package/iconbutton/lib/_filled-icon-button.scss +1 -1
  94. package/iconbutton/lib/_filled-tonal-icon-button.scss +1 -1
  95. package/iconbutton/lib/_outlined-icon-button.scss +7 -5
  96. package/iconbutton/lib/_shared.scss +5 -25
  97. package/iconbutton/lib/_standard-icon-button.scss +4 -6
  98. package/iconbutton/lib/filled-styles.css.js +1 -1
  99. package/iconbutton/lib/filled-styles.css.js.map +1 -1
  100. package/iconbutton/lib/filled-tonal-styles.css.js +1 -1
  101. package/iconbutton/lib/filled-tonal-styles.css.js.map +1 -1
  102. package/iconbutton/lib/icon-button-toggle.d.ts +13 -42
  103. package/iconbutton/lib/icon-button-toggle.js +33 -103
  104. package/iconbutton/lib/icon-button-toggle.js.map +1 -1
  105. package/iconbutton/lib/icon-button.d.ts +2 -4
  106. package/iconbutton/lib/icon-button.js +3 -9
  107. package/iconbutton/lib/icon-button.js.map +1 -1
  108. package/iconbutton/lib/outlined-styles.css.js +1 -1
  109. package/iconbutton/lib/outlined-styles.css.js.map +1 -1
  110. package/iconbutton/lib/shared-styles.css.js +1 -1
  111. package/iconbutton/lib/shared-styles.css.js.map +1 -1
  112. package/iconbutton/lib/standard-styles.css.js +1 -1
  113. package/iconbutton/lib/standard-styles.css.js.map +1 -1
  114. package/list/lib/_list.scss +32 -40
  115. package/list/lib/avatar/_list-item-avatar.scss +1 -1
  116. package/list/lib/avatar/list-item-avatar-styles.css.js +1 -1
  117. package/list/lib/avatar/list-item-avatar-styles.css.js.map +1 -1
  118. package/list/lib/avatar/list-item-avatar.d.ts +9 -4
  119. package/list/lib/avatar/list-item-avatar.js +24 -11
  120. package/list/lib/avatar/list-item-avatar.js.map +1 -1
  121. package/list/lib/icon/_list-item-icon.scss +3 -1
  122. package/list/lib/icon/list-item-icon-styles.css.js +1 -1
  123. package/list/lib/icon/list-item-icon-styles.css.js.map +1 -1
  124. package/list/lib/icon/list-item-icon.d.ts +0 -3
  125. package/list/lib/icon/list-item-icon.js +1 -12
  126. package/list/lib/icon/list-item-icon.js.map +1 -1
  127. package/list/lib/image/_list-item-image.scss +1 -1
  128. package/list/lib/image/list-item-image-styles.css.js +1 -1
  129. package/list/lib/image/list-item-image-styles.css.js.map +1 -1
  130. package/list/lib/image/list-item-image.d.ts +11 -4
  131. package/list/lib/image/list-item-image.js +24 -13
  132. package/list/lib/image/list-item-image.js.map +1 -1
  133. package/list/lib/list-styles.css.js +1 -1
  134. package/list/lib/list-styles.css.js.map +1 -1
  135. package/list/lib/list.d.ts +99 -28
  136. package/list/lib/list.js +210 -111
  137. package/list/lib/list.js.map +1 -1
  138. package/list/lib/listitem/_list-item.scss +104 -39
  139. package/list/lib/listitem/harness.js +2 -1
  140. package/list/lib/listitem/harness.js.map +1 -1
  141. package/{tokens/v0_150/index.test.css.d.ts → list/lib/listitem/list-item-private-styles.css.d.ts} +0 -0
  142. package/list/lib/listitem/list-item-private-styles.css.js +9 -0
  143. package/list/lib/listitem/list-item-private-styles.css.js.map +1 -0
  144. package/list/lib/listitem/list-item-private-styles.scss +8 -0
  145. package/list/lib/listitem/list-item-styles.css.js +1 -1
  146. package/list/lib/listitem/list-item-styles.css.js.map +1 -1
  147. package/list/lib/listitem/list-item.d.ts +99 -43
  148. package/list/lib/listitem/list-item.js +201 -172
  149. package/list/lib/listitem/list-item.js.map +1 -1
  150. package/list/lib/listitemlink/list-item-link.d.ts +17 -0
  151. package/list/lib/listitemlink/list-item-link.js +42 -0
  152. package/list/lib/listitemlink/list-item-link.js.map +1 -0
  153. package/list/lib/video/_list-item-video.scss +10 -4
  154. package/list/lib/video/list-item-video-styles.css.js +1 -1
  155. package/list/lib/video/list-item-video-styles.css.js.map +1 -1
  156. package/list/lib/video/list-item-video.d.ts +43 -4
  157. package/list/lib/video/list-item-video.js +90 -12
  158. package/list/lib/video/list-item-video.js.map +1 -1
  159. package/list/list-item-avatar.d.ts +2 -1
  160. package/list/list-item-avatar.js +2 -1
  161. package/list/list-item-avatar.js.map +1 -1
  162. package/list/list-item-icon.d.ts +2 -1
  163. package/list/list-item-icon.js +2 -1
  164. package/list/list-item-icon.js.map +1 -1
  165. package/list/list-item-image.d.ts +2 -1
  166. package/list/list-item-image.js +2 -1
  167. package/list/list-item-image.js.map +1 -1
  168. package/list/list-item-link.d.ts +35 -0
  169. package/list/list-item-link.js +39 -0
  170. package/list/list-item-link.js.map +1 -0
  171. package/list/list-item-video.d.ts +2 -1
  172. package/list/list-item-video.js +2 -1
  173. package/list/list-item-video.js.map +1 -1
  174. package/list/list-item.d.ts +18 -2
  175. package/list/list-item.js +20 -3
  176. package/list/list-item.js.map +1 -1
  177. package/list/list.d.ts +15 -1
  178. package/list/list.js +15 -1
  179. package/list/list.js.map +1 -1
  180. package/menu/_menu-item.scss +6 -0
  181. package/menu/_menu.scss +6 -0
  182. package/menu/harness.d.ts +5 -0
  183. package/menu/harness.js +22 -0
  184. package/menu/harness.js.map +1 -1
  185. package/menu/lib/_menu.scss +61 -62
  186. package/menu/lib/menu-styles.css.js +1 -1
  187. package/menu/lib/menu-styles.css.js.map +1 -1
  188. package/menu/lib/menu.d.ts +176 -42
  189. package/menu/lib/menu.js +506 -246
  190. package/menu/lib/menu.js.map +1 -1
  191. package/menu/lib/menuitem/_menu-item.scss +115 -0
  192. package/{tokens/v0_150/lib.test.css.d.ts → menu/lib/menuitem/menu-item-private-styles.css.d.ts} +0 -0
  193. package/menu/lib/menuitem/menu-item-private-styles.css.js +9 -0
  194. package/menu/lib/menuitem/menu-item-private-styles.css.js.map +1 -0
  195. package/menu/lib/menuitem/menu-item-private-styles.scss +8 -0
  196. package/menu/lib/menuitem/menu-item-styles.css.d.ts +1 -0
  197. package/menu/lib/menuitem/menu-item-styles.css.js +9 -0
  198. package/menu/lib/menuitem/menu-item-styles.css.js.map +1 -0
  199. package/menu/lib/menuitem/menu-item-styles.scss +8 -0
  200. package/menu/lib/menuitem/menu-item.d.ts +20 -3
  201. package/menu/lib/menuitem/menu-item.js +42 -3
  202. package/menu/lib/menuitem/menu-item.js.map +1 -1
  203. package/menu/lib/menuitemlink/menu-item-link.d.ts +25 -0
  204. package/menu/lib/menuitemlink/menu-item-link.js +51 -0
  205. package/menu/lib/menuitemlink/menu-item-link.js.map +1 -0
  206. package/menu/lib/shared.d.ts +134 -0
  207. package/menu/lib/shared.js +85 -0
  208. package/menu/lib/shared.js.map +1 -0
  209. package/menu/lib/submenuitem/harness.d.ts +11 -0
  210. package/menu/lib/submenuitem/harness.js +12 -0
  211. package/menu/lib/submenuitem/harness.js.map +1 -0
  212. package/menu/lib/submenuitem/sub-menu-item.d.ts +89 -0
  213. package/menu/lib/submenuitem/sub-menu-item.js +266 -0
  214. package/menu/lib/submenuitem/sub-menu-item.js.map +1 -0
  215. package/menu/lib/surfacePositionController.d.ts +117 -0
  216. package/menu/lib/surfacePositionController.js +196 -0
  217. package/menu/lib/surfacePositionController.js.map +1 -0
  218. package/menu/lib/typeaheadController.d.ts +144 -0
  219. package/menu/lib/typeaheadController.js +242 -0
  220. package/menu/lib/typeaheadController.js.map +1 -0
  221. package/menu/menu-item-link.d.ts +33 -0
  222. package/menu/menu-item-link.js +37 -0
  223. package/menu/menu-item-link.js.map +1 -0
  224. package/menu/menu-item.d.ts +19 -2
  225. package/menu/menu-item.js +22 -4
  226. package/menu/menu-item.js.map +1 -1
  227. package/menu/menu.d.ts +45 -0
  228. package/menu/menu.js +43 -0
  229. package/menu/menu.js.map +1 -1
  230. package/menu/sub-menu-item.d.ts +60 -0
  231. package/menu/sub-menu-item.js +64 -0
  232. package/menu/sub-menu-item.js.map +1 -0
  233. package/menusurface/lib/_menu-surface.scss +1 -1
  234. package/menusurface/lib/menu-surface-styles.css.js +1 -1
  235. package/menusurface/lib/menu-surface-styles.css.js.map +1 -1
  236. package/motion/animation.d.ts +20 -3
  237. package/motion/animation.js +39 -4
  238. package/motion/animation.js.map +1 -1
  239. package/navigationbar/lib/_navigation-bar.scss +9 -9
  240. package/navigationbar/lib/navigation-bar-styles.css.js +1 -1
  241. package/navigationbar/lib/navigation-bar-styles.css.js.map +1 -1
  242. package/navigationdrawer/lib/_navigation-drawer.scss +1 -1
  243. package/navigationdrawer/lib/navigation-drawer-styles.css.js +1 -1
  244. package/navigationdrawer/lib/navigation-drawer-styles.css.js.map +1 -1
  245. package/navigationtab/lib/_navigation-tab.scss +8 -19
  246. package/navigationtab/lib/navigation-tab-styles.css.js +1 -1
  247. package/navigationtab/lib/navigation-tab-styles.css.js.map +1 -1
  248. package/package.json +1 -8
  249. package/radio/lib/_radio.scss +0 -1
  250. package/radio/lib/radio-styles.css.js +1 -1
  251. package/radio/lib/radio-styles.css.js.map +1 -1
  252. package/radio/lib/radio.d.ts +10 -1
  253. package/radio/lib/radio.js +10 -1
  254. package/radio/lib/radio.js.map +1 -1
  255. package/radio/radio.d.ts +16 -1
  256. package/radio/radio.js +16 -1
  257. package/radio/radio.js.map +1 -1
  258. package/ripple/lib/_ripple.scss +5 -21
  259. package/ripple/lib/ripple-styles.css.js +1 -1
  260. package/ripple/lib/ripple-styles.css.js.map +1 -1
  261. package/ripple/lib/ripple.js +2 -2
  262. package/ripple/lib/ripple.js.map +1 -1
  263. package/sass/_map-ext.scss +24 -0
  264. package/sass/_string-ext.scss +23 -0
  265. package/segmentedbuttonset/lib/segmented-button-set.d.ts +0 -2
  266. package/segmentedbuttonset/lib/segmented-button-set.js +0 -2
  267. package/segmentedbuttonset/lib/segmented-button-set.js.map +1 -1
  268. package/switch/lib/_handle.scss +56 -9
  269. package/switch/lib/_icon.scss +36 -0
  270. package/switch/lib/_switch.scss +1 -115
  271. package/switch/lib/_track.scss +39 -0
  272. package/switch/lib/switch-styles.css.js +1 -1
  273. package/switch/lib/switch-styles.css.js.map +1 -1
  274. package/switch/lib/switch.d.ts +3 -0
  275. package/switch/lib/switch.js +3 -0
  276. package/switch/lib/switch.js.map +1 -1
  277. package/textfield/lib/_filled-text-field.scss +4 -2
  278. package/textfield/lib/_outlined-text-field.scss +3 -2
  279. package/textfield/lib/filled-styles.css.js +1 -1
  280. package/textfield/lib/filled-styles.css.js.map +1 -1
  281. package/textfield/lib/outlined-styles.css.js +1 -1
  282. package/textfield/lib/outlined-styles.css.js.map +1 -1
  283. package/textfield/lib/text-field.d.ts +0 -2
  284. package/textfield/lib/text-field.js +0 -2
  285. package/textfield/lib/text-field.js.map +1 -1
  286. package/tokens/_index.scss +1 -1
  287. package/tokens/{v0_150 → v0_152}/_index.scss +1 -1
  288. package/tokens/{v0_150 → v0_152}/_md-comp-assist-chip.scss +2 -2
  289. package/tokens/{v0_150 → v0_152}/_md-comp-badge.scss +2 -2
  290. package/tokens/{v0_150 → v0_152}/_md-comp-banner.scss +2 -43
  291. package/tokens/{v0_150 → v0_152}/_md-comp-bottom-app-bar.scss +3 -4
  292. package/tokens/{v0_150 → v0_152}/_md-comp-carousel-item.scss +2 -2
  293. package/tokens/{v0_150 → v0_152}/_md-comp-checkbox.scss +2 -12
  294. package/tokens/{v0_150 → v0_152}/_md-comp-circular-progress-indicator.scss +2 -2
  295. package/tokens/{v0_150 → v0_152}/_md-comp-data-table.scss +2 -4
  296. package/tokens/{v0_150 → v0_152}/_md-comp-date-input-modal.scss +2 -2
  297. package/tokens/{v0_150 → v0_152}/_md-comp-date-picker-docked.scss +2 -2
  298. package/tokens/{v0_150 → v0_152}/_md-comp-date-picker-modal.scss +2 -2
  299. package/tokens/{v0_150 → v0_152}/_md-comp-dialog.scss +2 -25
  300. package/tokens/{v0_150 → v0_152}/_md-comp-divider.scss +2 -2
  301. package/tokens/{v0_150 → v0_152}/_md-comp-elevated-button.scss +2 -2
  302. package/tokens/{v0_150 → v0_152}/_md-comp-elevated-card.scss +2 -2
  303. package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-branded.scss +2 -2
  304. package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-primary.scss +2 -2
  305. package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-secondary.scss +2 -2
  306. package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-surface.scss +2 -2
  307. package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-tertiary.scss +2 -4
  308. package/tokens/{v0_150 → v0_152}/_md-comp-fab-branded-large.scss +2 -3
  309. package/tokens/{v0_150 → v0_152}/_md-comp-fab-branded.scss +2 -2
  310. package/tokens/{v0_150 → v0_152}/_md-comp-fab-primary-large.scss +2 -2
  311. package/tokens/{v0_150 → v0_152}/_md-comp-fab-primary-small.scss +2 -2
  312. package/tokens/{v0_150 → v0_152}/_md-comp-fab-primary.scss +2 -2
  313. package/tokens/{v0_150 → v0_152}/_md-comp-fab-secondary-large.scss +2 -2
  314. package/tokens/{v0_150 → v0_152}/_md-comp-fab-secondary-small.scss +2 -2
  315. package/tokens/{v0_150 → v0_152}/_md-comp-fab-secondary.scss +2 -2
  316. package/tokens/{v0_150 → v0_152}/_md-comp-fab-surface-large.scss +2 -2
  317. package/tokens/{v0_150 → v0_152}/_md-comp-fab-surface-small.scss +2 -2
  318. package/tokens/{v0_150 → v0_152}/_md-comp-fab-surface.scss +2 -2
  319. package/tokens/{v0_150 → v0_152}/_md-comp-fab-tertiary-large.scss +2 -2
  320. package/tokens/{v0_150 → v0_152}/_md-comp-fab-tertiary-small.scss +2 -2
  321. package/tokens/{v0_150 → v0_152}/_md-comp-fab-tertiary.scss +2 -2
  322. package/tokens/{v0_150 → v0_152}/_md-comp-filled-autocomplete.scss +2 -3
  323. package/tokens/{v0_150 → v0_152}/_md-comp-filled-button.scss +2 -8
  324. package/tokens/{v0_150 → v0_152}/_md-comp-filled-card.scss +2 -4
  325. package/tokens/{v0_150 → v0_152}/_md-comp-filled-icon-button.scss +2 -2
  326. package/tokens/{v0_150 → v0_152}/_md-comp-filled-menu-button.scss +2 -2
  327. package/tokens/{v0_150 → v0_152}/_md-comp-filled-select.scss +2 -6
  328. package/tokens/{v0_150 → v0_152}/_md-comp-filled-text-field.scss +2 -3
  329. package/tokens/{v0_150 → v0_152}/_md-comp-filled-tonal-button.scss +2 -2
  330. package/tokens/{v0_150 → v0_152}/_md-comp-filled-tonal-icon-button.scss +2 -2
  331. package/tokens/{v0_150 → v0_152}/_md-comp-filter-chip.scss +2 -30
  332. package/tokens/{v0_150 → v0_152}/_md-comp-full-screen-dialog.scss +3 -53
  333. package/tokens/{v0_150 → v0_152}/_md-comp-icon-button.scss +3 -3
  334. package/tokens/{v0_150 → v0_152}/_md-comp-input-chip.scss +2 -52
  335. package/tokens/{v0_150 → v0_152}/_md-comp-linear-progress-indicator.scss +2 -2
  336. package/tokens/{v0_150 → v0_152}/_md-comp-list.scss +3 -12
  337. package/tokens/{v0_150 → v0_152}/_md-comp-menu.scss +2 -4
  338. package/tokens/{v0_150 → v0_152}/_md-comp-navigation-bar.scss +2 -9
  339. package/tokens/{v0_150 → v0_152}/_md-comp-navigation-drawer.scss +2 -8
  340. package/tokens/{v0_150 → v0_152}/_md-comp-navigation-rail.scss +2 -39
  341. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-autocomplete.scss +2 -3
  342. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-button.scss +2 -6
  343. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-card.scss +2 -2
  344. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-icon-button.scss +2 -4
  345. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-menu-button.scss +2 -2
  346. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-segmented-button.scss +2 -2
  347. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-select.scss +2 -6
  348. package/tokens/{v0_150 → v0_152}/_md-comp-outlined-text-field.scss +2 -3
  349. package/tokens/{v0_150 → v0_152}/_md-comp-plain-tooltip.scss +2 -2
  350. package/tokens/{v0_150 → v0_152}/_md-comp-primary-navigation-tab.scss +2 -2
  351. package/tokens/{v0_150 → v0_152}/_md-comp-radio-button.scss +2 -2
  352. package/tokens/{v0_150 → v0_152}/_md-comp-rich-tooltip.scss +2 -2
  353. package/tokens/{v0_150 → v0_152}/_md-comp-scrim.scss +2 -2
  354. package/tokens/{v0_150 → v0_152}/_md-comp-search-bar.scss +2 -2
  355. package/tokens/{v0_150 → v0_152}/_md-comp-search-view.scss +2 -2
  356. package/tokens/{v0_150 → v0_152}/_md-comp-secondary-navigation-tab.scss +2 -2
  357. package/tokens/{v0_150 → v0_152}/_md-comp-sheet-bottom.scss +2 -2
  358. package/tokens/{v0_150 → v0_152}/_md-comp-sheet-floating.scss +2 -2
  359. package/tokens/{v0_150 → v0_152}/_md-comp-sheet-side.scss +4 -2
  360. package/tokens/{v0_150 → v0_152}/_md-comp-slider.scss +2 -4
  361. package/tokens/{v0_150 → v0_152}/_md-comp-snackbar.scss +2 -2
  362. package/tokens/{v0_150 → v0_152}/_md-comp-standard-menu-button.scss +2 -2
  363. package/tokens/{v0_150 → v0_152}/_md-comp-suggestion-chip.scss +2 -2
  364. package/tokens/{v0_150 → v0_152}/_md-comp-switch.scss +2 -11
  365. package/tokens/{v0_150 → v0_152}/_md-comp-text-button.scss +2 -6
  366. package/tokens/{v0_150 → v0_152}/_md-comp-time-input.scss +2 -2
  367. package/tokens/{v0_150 → v0_152}/_md-comp-time-picker.scss +2 -5
  368. package/tokens/{v0_150 → v0_152}/_md-comp-top-app-bar-large.scss +2 -2
  369. package/tokens/{v0_150 → v0_152}/_md-comp-top-app-bar-medium.scss +2 -2
  370. package/tokens/{v0_150 → v0_152}/_md-comp-top-app-bar-small-centered.scss +2 -3
  371. package/tokens/{v0_150 → v0_152}/_md-comp-top-app-bar-small.scss +2 -3
  372. package/tokens/{v0_150 → v0_152}/_md-ref-palette.scss +2 -2
  373. package/tokens/{v0_150 → v0_152}/_md-ref-typeface.scss +2 -2
  374. package/tokens/{v0_150 → v0_152}/_md-sys-color.scss +2 -20
  375. package/tokens/{v0_150 → v0_152}/_md-sys-elevation.scss +4 -13
  376. package/tokens/{v0_150 → v0_152}/_md-sys-motion.scss +2 -2
  377. package/tokens/{v0_150 → v0_152}/_md-sys-shape.scss +2 -2
  378. package/tokens/{v0_150 → v0_152}/_md-sys-state.scss +2 -2
  379. package/tokens/{v0_150 → v0_152}/_md-sys-typescale.scss +2 -3
  380. package/tokens/v0_152/index.test.css.d.ts +1 -0
  381. package/tokens/{v0_150 → v0_152}/index.test.css.js +0 -0
  382. package/tokens/{v0_150 → v0_152}/index.test.css.js.map +0 -0
  383. package/tokens/{v0_150 → v0_152}/index.test.scss +1 -1
  384. package/tokens/v0_152/lib.test.css.d.ts +1 -0
  385. package/tokens/{v0_150 → v0_152}/lib.test.css.js +0 -0
  386. package/tokens/{v0_150 → v0_152}/lib.test.css.js.map +0 -0
  387. package/tokens/{v0_150 → v0_152}/lib.test.scss +1 -1
  388. package/list/lib/_tokens.scss +0 -80
  389. package/list/lib/divider/_list-divider.scss +0 -46
  390. package/list/lib/divider/list-divider-styles.css.js +0 -9
  391. package/list/lib/divider/list-divider-styles.css.js.map +0 -1
  392. package/list/lib/divider/list-divider-styles.scss +0 -8
  393. package/list/lib/divider/list-divider.d.ts +0 -13
  394. package/list/lib/divider/list-divider.js +0 -32
  395. package/list/lib/divider/list-divider.js.map +0 -1
  396. package/list/list-divider.d.ts +0 -19
  397. package/list/list-divider.js +0 -22
  398. package/list/list-divider.js.map +0 -1
  399. package/menu/lib/_menu-button.scss +0 -14
  400. package/menu/lib/adapter.d.ts +0 -66
  401. package/menu/lib/adapter.js +0 -7
  402. package/menu/lib/adapter.js.map +0 -1
  403. package/menu/lib/constants.d.ts +0 -22
  404. package/menu/lib/constants.js +0 -23
  405. package/menu/lib/constants.js.map +0 -1
  406. package/menu/lib/foundation.d.ts +0 -49
  407. package/menu/lib/foundation.js +0 -123
  408. package/menu/lib/foundation.js.map +0 -1
  409. package/menu/lib/menu-button-styles.css.js +0 -9
  410. package/menu/lib/menu-button-styles.css.js.map +0 -1
  411. package/menu/lib/menu-button-styles.scss +0 -8
  412. package/menu/lib/menu-button.d.ts +0 -27
  413. package/menu/lib/menu-button.js +0 -93
  414. package/menu/lib/menu-button.js.map +0 -1
  415. package/menu/menu-button.d.ts +0 -14
  416. package/menu/menu-button.js +0 -17
  417. package/menu/menu-button.js.map +0 -1
@@ -7,34 +7,23 @@
7
7
  // Selector '.md3-*' should only be used in this project.
8
8
 
9
9
  @use 'sass:map';
10
- @use '../../elevation/lib/elevation';
10
+ @use 'sass:string';
11
+ @use './listitem/list-item';
11
12
  @use '../../sass/theme';
12
- @use '../../tokens' as m3-tokens;
13
- @use './tokens';
14
- @use './divider/list-divider';
15
-
16
- $_reference: (
17
- container-color:
18
- map.get(tokens.md-comp-list-values(), 'list-item-container-color'),
19
- list-divider-color:
20
- map.get(tokens.md-comp-list-values(), 'list-divider-color'),
21
- list-divider-height:
22
- map.get(tokens.md-comp-list-values(), 'list-divider-height'),
23
- container-surface-tint-layer-color:
24
- map.get(m3-tokens.md-sys-color-values-light(), 'surface-tint'),
25
- container-elevation: 0,
26
- );
13
+ @use '../../tokens';
14
+ @use '../../elevation/lib/elevation';
27
15
 
28
16
  @mixin theme($tokens) {
29
- $tokens: theme.validate-theme($_reference, $tokens);
30
- $tokens: _resolve-tokens($tokens);
17
+ $reference: resolve-tokens(tokens.md-comp-list-values());
18
+ $tokens: resolve-tokens($tokens);
19
+ $tokens: theme.validate-theme($reference, $tokens);
31
20
  $tokens: theme.create-theme-vars($tokens, list);
32
21
 
33
22
  @include theme.emit-theme-vars($tokens);
34
23
  }
35
24
 
36
25
  @mixin styles() {
37
- $tokens: _resolve-tokens($_reference);
26
+ $tokens: resolve-tokens(tokens.md-comp-list-values());
38
27
  $tokens: theme.create-theme-vars($tokens, list);
39
28
 
40
29
  :host {
@@ -42,13 +31,6 @@ $_reference: (
42
31
  --_#{$token}: #{$value};
43
32
  }
44
33
 
45
- @include elevation.theme(
46
- (
47
- level: var(--_container-elevation),
48
- surface-tint-color: var(--_container-surface-tint-layer-color),
49
- )
50
- );
51
-
52
34
  color: unset;
53
35
  }
54
36
 
@@ -63,22 +45,32 @@ $_reference: (
63
45
  // Add position so the elevation overlay (which is absolutely positioned)
64
46
  // can be positioned relative to the list root.
65
47
  position: relative;
66
-
67
- @include list-divider.theme(
68
- (
69
- list-divider-color: var(--_list-divider-color),
70
- list-divider-height: var(--_list-divider-height),
71
- )
72
- );
73
48
  }
49
+ }
50
+
51
+ /// Resolves the tokens that are specific to list.
52
+ ///
53
+ /// The tokenset for list include list plus all of list item. We do not want to
54
+ /// duplicate tokens and custom properties across md-list and md-list-item.
55
+ /// So here we resolve list-items tokens, and resolve the difference between
56
+ /// the full set of tokens and the ones specific to list-item.
57
+ @function resolve-tokens($tokens) {
58
+ // We need container color so rename so that we don't lose it
59
+ $tokens: map.set(
60
+ $tokens,
61
+ container-color,
62
+ map.get($tokens, list-item-container-color)
63
+ );
64
+ $list-item-tokens: list-item.resolve-tokens($tokens);
65
+ $list-tokens: ();
66
+
67
+ @each $token, $value in $tokens {
68
+ $is-unique: not map.has-key($list-item-tokens, $token);
74
69
 
75
- md-elevation {
76
- inset: 0;
77
- position: absolute;
78
- z-index: 0;
70
+ @if $is-unique {
71
+ $list-tokens: map.set($list-tokens, $token, $value);
72
+ }
79
73
  }
80
- }
81
74
 
82
- @function _resolve-tokens($tokens) {
83
- @return elevation.resolve-tokens($tokens, 'container-elevation');
75
+ @return $list-tokens;
84
76
  }
@@ -8,7 +8,7 @@
8
8
 
9
9
  @use '../../../sass/map-ext';
10
10
  @use '../../../sass/theme';
11
- @use '../tokens';
11
+ @use '../../../tokens';
12
12
 
13
13
  @mixin styles() {
14
14
  $tokens: map-ext.pick(
@@ -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{--_list-item-leading-avatar-color: ;--_list-item-leading-avatar-shape: var(--md-list-list-item-leading-avatar-shape, 9999px);--_list-item-leading-avatar-size: var(--md-list-list-item-leading-avatar-size, 40px)}.md3-list-item__avatar{border-radius:var(--_list-item-leading-avatar-shape);display:inline-flex;height:var(--_list-item-leading-avatar-size);margin-inline-start:16px;width:var(--_list-item-leading-avatar-size)}/*# sourceMappingURL=list-item-avatar-styles.css.map */
7
+ export const styles = css `:host{--_list-item-leading-avatar-color: var(--md-list-list-item-leading-avatar-color, var(--md-sys-color-primary-container, #eaddff));--_list-item-leading-avatar-shape: var(--md-list-list-item-leading-avatar-shape, 9999px);--_list-item-leading-avatar-size: var(--md-list-list-item-leading-avatar-size, 40px)}.md3-list-item__avatar{border-radius:var(--_list-item-leading-avatar-shape);display:inline-flex;height:var(--_list-item-leading-avatar-size);margin-inline-start:16px;width:var(--_list-item-leading-avatar-size)}/*# sourceMappingURL=list-item-avatar-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=list-item-avatar-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-item-avatar-styles.css.js","sourceRoot":"","sources":["list-item-avatar-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{--_list-item-leading-avatar-color: ;--_list-item-leading-avatar-shape: var(--md-list-list-item-leading-avatar-shape, 9999px);--_list-item-leading-avatar-size: var(--md-list-list-item-leading-avatar-size, 40px)}.md3-list-item__avatar{border-radius:var(--_list-item-leading-avatar-shape);display:inline-flex;height:var(--_list-item-leading-avatar-size);margin-inline-start:16px;width:var(--_list-item-leading-avatar-size)}/*# sourceMappingURL=list-item-avatar-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"list-item-avatar-styles.css.js","sourceRoot":"","sources":["list-item-avatar-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{--_list-item-leading-avatar-color: var(--md-list-list-item-leading-avatar-color, var(--md-sys-color-primary-container, #eaddff));--_list-item-leading-avatar-shape: var(--md-list-list-item-leading-avatar-shape, 9999px);--_list-item-leading-avatar-size: var(--md-list-list-item-leading-avatar-size, 40px)}.md3-list-item__avatar{border-radius:var(--_list-item-leading-avatar-shape);display:inline-flex;height:var(--_list-item-leading-avatar-size);margin-inline-start:16px;width:var(--_list-item-leading-avatar-size)}/*# sourceMappingURL=list-item-avatar-styles.css.map */\n`;\n "]}
@@ -4,13 +4,18 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { LitElement, TemplateResult } from 'lit';
7
- /** @soyCompatible */
8
7
  export declare class ListItemAvatar extends LitElement {
8
+ /**
9
+ * The image `src` for the avatar
10
+ */
9
11
  avatar: string;
10
- altText?: string;
11
12
  /**
12
- * @soyTemplate
13
- * @soyClasses imageClasses: .md3-list-item__avatar
13
+ * The image `alt`.
14
+ */
15
+ altText: string;
16
+ /**
17
+ * The image `loading` attribute.
14
18
  */
19
+ loading: 'eager' | 'lazy';
15
20
  render(): TemplateResult;
16
21
  }
@@ -4,32 +4,45 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { __decorate, __metadata } from "tslib";
7
- import { html, LitElement } from 'lit';
7
+ import { html, LitElement, nothing } from 'lit';
8
8
  import { property } from 'lit/decorators.js';
9
- import { ifDefined } from 'lit/directives/if-defined.js';
10
- /** @soyCompatible */
9
+ // tslint:disable-next-line:enforce-comments-on-exported-symbols
11
10
  export class ListItemAvatar extends LitElement {
12
11
  constructor() {
13
12
  super(...arguments);
13
+ /**
14
+ * The image `src` for the avatar
15
+ */
14
16
  this.avatar = '';
17
+ /**
18
+ * The image `alt`.
19
+ */
20
+ this.altText = '';
21
+ /**
22
+ * The image `loading` attribute.
23
+ */
24
+ this.loading = 'eager';
15
25
  }
16
- /**
17
- * @soyTemplate
18
- * @soyClasses imageClasses: .md3-list-item__avatar
19
- */
20
26
  render() {
21
27
  return html `
22
- <img src="${this.avatar}" alt="${ifDefined(this.altText)}"
28
+ <img
29
+ src="${this.avatar}"
30
+ alt="${this.altText || nothing}"
31
+ loading="${this.loading}"
23
32
  class="md3-list-item__avatar" />
24
33
  `;
25
34
  }
26
35
  }
27
36
  __decorate([
28
- property({ type: String, reflect: true }),
37
+ property(),
29
38
  __metadata("design:type", Object)
30
39
  ], ListItemAvatar.prototype, "avatar", void 0);
31
40
  __decorate([
32
- property({ type: String, reflect: true }),
33
- __metadata("design:type", String)
41
+ property(),
42
+ __metadata("design:type", Object)
34
43
  ], ListItemAvatar.prototype, "altText", void 0);
44
+ __decorate([
45
+ property(),
46
+ __metadata("design:type", String)
47
+ ], ListItemAvatar.prototype, "loading", void 0);
35
48
  //# sourceMappingURL=list-item-avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-item-avatar.js","sourceRoot":"","sources":["list-item-avatar.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,IAAI,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AACrD,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AAEvD,qBAAqB;AACrB,MAAM,OAAO,cAAe,SAAQ,UAAU;IAA9C;;QAC2C,WAAM,GAAG,EAAE,CAAC;IAavD,CAAC;IAVC;;;OAGG;IACM,MAAM;QACb,OAAO,IAAI,CAAA;mBACI,IAAI,CAAC,MAAM,UAAU,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;;MAEzD,CAAC;IACL,CAAC;CACF;AAb0C;IAAxC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;;8CAAa;AACZ;IAAxC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;;+CAAkB","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, LitElement, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\n\n/** @soyCompatible */\nexport class ListItemAvatar extends LitElement {\n @property({type: String, reflect: true}) avatar = '';\n @property({type: String, reflect: true}) altText?: string;\n\n /**\n * @soyTemplate\n * @soyClasses imageClasses: .md3-list-item__avatar\n */\n override render(): TemplateResult {\n return html`\n <img src=\"${this.avatar}\" alt=\"${ifDefined(this.altText)}\"\n class=\"md3-list-item__avatar\" />\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"list-item-avatar.js","sourceRoot":"","sources":["list-item-avatar.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAiB,MAAM,KAAK,CAAC;AAC9D,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,gEAAgE;AAChE,MAAM,OAAO,cAAe,SAAQ,UAAU;IAA9C;;QACE;;WAEG;QACS,WAAM,GAAG,EAAE,CAAC;QAExB;;WAEG;QACS,YAAO,GAAG,EAAE,CAAC;QAEzB;;WAEG;QACS,YAAO,GAAmB,OAAO,CAAC;IAWhD,CAAC;IATU,MAAM;QACb,OAAO,IAAI,CAAA;;iBAEE,IAAI,CAAC,MAAM;iBACX,IAAI,CAAC,OAAO,IAAI,OAAO;qBACnB,IAAI,CAAC,OAAO;;MAE3B,CAAC;IACL,CAAC;CACF;AArBa;IAAX,QAAQ,EAAE;;8CAAa;AAKZ;IAAX,QAAQ,EAAE;;+CAAc;AAKb;IAAX,QAAQ,EAAE;;+CAAmC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, LitElement, nothing, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\n\n// tslint:disable-next-line:enforce-comments-on-exported-symbols\nexport class ListItemAvatar extends LitElement {\n /**\n * The image `src` for the avatar\n */\n @property() avatar = '';\n\n /**\n * The image `alt`.\n */\n @property() altText = '';\n\n /**\n * The image `loading` attribute.\n */\n @property() loading: 'eager'|'lazy' = 'eager';\n\n override render(): TemplateResult {\n return html`\n <img\n src=\"${this.avatar}\"\n alt=\"${this.altText || nothing}\"\n loading=\"${this.loading}\"\n class=\"md3-list-item__avatar\" />\n `;\n }\n}\n"]}
@@ -33,6 +33,8 @@ $_reference: (
33
33
  @each $token, $value in $tokens {
34
34
  --_#{$token}: #{$value};
35
35
  }
36
+
37
+ display: inline-flex;
36
38
  }
37
39
 
38
40
  .md3-list-item__icon {
@@ -45,7 +47,7 @@ $_reference: (
45
47
  line-height: 1;
46
48
  letter-spacing: normal;
47
49
  text-transform: none;
48
- display: inline-block;
50
+ display: inline-flex;
49
51
  white-space: nowrap;
50
52
  word-wrap: normal;
51
53
  direction: ltr;
@@ -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{--_list-item-icon-color: var(--md-list-item-icon-list-item-icon-color, #000);--_list-item-icon-size: var(--md-list-item-icon-list-item-icon-size, 0);--_list-item-icon-opacity: var(--md-list-item-icon-list-item-icon-opacity, 1)}.md3-list-item__icon{color:var(--_list-item-icon-color);opacity:var(--_list-item-icon-opacity);font-family:"Material Icons";font-weight:normal;font-style:normal;font-size:var(--_list-item-icon-size);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;height:100%;width:100%;padding-inline-start:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}/*# sourceMappingURL=list-item-icon-styles.css.map */
7
+ export const styles = css `:host{--_list-item-icon-color: var(--md-list-item-icon-list-item-icon-color, #000);--_list-item-icon-size: var(--md-list-item-icon-list-item-icon-size, 0);--_list-item-icon-opacity: var(--md-list-item-icon-list-item-icon-opacity, 1);display:inline-flex}.md3-list-item__icon{color:var(--_list-item-icon-color);opacity:var(--_list-item-icon-opacity);font-family:"Material Icons";font-weight:normal;font-style:normal;font-size:var(--_list-item-icon-size);line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex;white-space:nowrap;word-wrap:normal;direction:ltr;height:100%;width:100%;padding-inline-start:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}/*# sourceMappingURL=list-item-icon-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=list-item-icon-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-item-icon-styles.css.js","sourceRoot":"","sources":["list-item-icon-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_list-item-icon-color: var(--md-list-item-icon-list-item-icon-color, #000);--_list-item-icon-size: var(--md-list-item-icon-list-item-icon-size, 0);--_list-item-icon-opacity: var(--md-list-item-icon-list-item-icon-opacity, 1)}.md3-list-item__icon{color:var(--_list-item-icon-color);opacity:var(--_list-item-icon-opacity);font-family:\"Material Icons\";font-weight:normal;font-style:normal;font-size:var(--_list-item-icon-size);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;height:100%;width:100%;padding-inline-start:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}/*# sourceMappingURL=list-item-icon-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"list-item-icon-styles.css.js","sourceRoot":"","sources":["list-item-icon-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_list-item-icon-color: var(--md-list-item-icon-list-item-icon-color, #000);--_list-item-icon-size: var(--md-list-item-icon-list-item-icon-size, 0);--_list-item-icon-opacity: var(--md-list-item-icon-list-item-icon-opacity, 1);display:inline-flex}.md3-list-item__icon{color:var(--_list-item-icon-color);opacity:var(--_list-item-icon-opacity);font-family:\"Material Icons\";font-weight:normal;font-style:normal;font-size:var(--_list-item-icon-size);line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex;white-space:nowrap;word-wrap:normal;direction:ltr;height:100%;width:100%;padding-inline-start:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}/*# sourceMappingURL=list-item-icon-styles.css.map */\n`;\n "]}
@@ -4,9 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { LitElement, TemplateResult } from 'lit';
7
- /** @soyCompatible */
8
7
  export declare class ListItemIcon extends LitElement {
9
- media: string;
10
- /** @soyTemplate */
11
8
  render(): TemplateResult;
12
9
  }
@@ -3,24 +3,13 @@
3
3
  * Copyright 2021 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { __decorate, __metadata } from "tslib";
7
6
  import { html, LitElement } from 'lit';
8
- import { property } from 'lit/decorators.js';
9
- /** @soyCompatible */
7
+ // tslint:disable-next-line:enforce-comments-on-exported-symbols
10
8
  export class ListItemIcon extends LitElement {
11
- constructor() {
12
- super(...arguments);
13
- this.media = 'icon';
14
- }
15
- /** @soyTemplate */
16
9
  render() {
17
10
  return html `
18
11
  <span class="md3-list-item__icon"><slot></slot></span>
19
12
  `;
20
13
  }
21
14
  }
22
- __decorate([
23
- property({ type: String, reflect: true }),
24
- __metadata("design:type", Object)
25
- ], ListItemIcon.prototype, "media", void 0);
26
15
  //# sourceMappingURL=list-item-icon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-item-icon.js","sourceRoot":"","sources":["list-item-icon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,IAAI,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AACrD,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,qBAAqB;AACrB,MAAM,OAAO,YAAa,SAAQ,UAAU;IAA5C;;QAC2C,UAAK,GAAG,MAAM,CAAC;IAQ1D,CAAC;IANC,mBAAmB;IACV,MAAM;QACb,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;CACF;AAR0C;IAAxC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;;2CAAgB","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, LitElement, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\n\n/** @soyCompatible */\nexport class ListItemIcon extends LitElement {\n @property({type: String, reflect: true}) media = 'icon';\n\n /** @soyTemplate */\n override render(): TemplateResult {\n return html`\n <span class=\"md3-list-item__icon\"><slot></slot></span>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"list-item-icon.js","sourceRoot":"","sources":["list-item-icon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,IAAI,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AAErD,gEAAgE;AAChE,MAAM,OAAO,YAAa,SAAQ,UAAU;IACjC,MAAM;QACb,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, LitElement, TemplateResult} from 'lit';\n\n// tslint:disable-next-line:enforce-comments-on-exported-symbols\nexport class ListItemIcon extends LitElement {\n override render(): TemplateResult {\n return html`\n <span class=\"md3-list-item__icon\"><slot></slot></span>\n `;\n }\n}\n"]}
@@ -9,7 +9,7 @@
9
9
  @use 'sass:map';
10
10
  @use '../../../sass/theme';
11
11
  @use '../../../sass/map-ext';
12
- @use '../tokens';
12
+ @use '../../../tokens';
13
13
 
14
14
  $_custom-property-prefix: 'list-item-image';
15
15
 
@@ -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{--_list-item-leading-image-height: var(--md-list-item-image-list-item-leading-image-height, 56px);--_list-item-leading-image-width: var(--md-list-item-image-list-item-leading-image-width, 56px);--_list-item-leading-image-shape: var(--md-list-item-image-list-item-leading-image-shape, 0)}.md3-list-item__image{display:inline-flex;margin-block-end:8px;margin-block-start:8px;margin-inline-start:16px;height:var(--_list-item-leading-image-height);width:var(--_list-item-leading-image-width);border-radius:var(--_list-item-leading-image-shape)}/*# sourceMappingURL=list-item-image-styles.css.map */
7
+ export const styles = css `:host{--_list-item-leading-image-height: var(--md-list-item-image-list-item-leading-image-height, 56px);--_list-item-leading-image-width: var(--md-list-item-image-list-item-leading-image-width, 56px);--_list-item-leading-image-shape: var(--md-list-item-image-list-item-leading-image-shape, 0px)}.md3-list-item__image{display:inline-flex;margin-block-end:8px;margin-block-start:8px;margin-inline-start:16px;height:var(--_list-item-leading-image-height);width:var(--_list-item-leading-image-width);border-radius:var(--_list-item-leading-image-shape)}/*# sourceMappingURL=list-item-image-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=list-item-image-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-item-image-styles.css.js","sourceRoot":"","sources":["list-item-image-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{--_list-item-leading-image-height: var(--md-list-item-image-list-item-leading-image-height, 56px);--_list-item-leading-image-width: var(--md-list-item-image-list-item-leading-image-width, 56px);--_list-item-leading-image-shape: var(--md-list-item-image-list-item-leading-image-shape, 0)}.md3-list-item__image{display:inline-flex;margin-block-end:8px;margin-block-start:8px;margin-inline-start:16px;height:var(--_list-item-leading-image-height);width:var(--_list-item-leading-image-width);border-radius:var(--_list-item-leading-image-shape)}/*# sourceMappingURL=list-item-image-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"list-item-image-styles.css.js","sourceRoot":"","sources":["list-item-image-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{--_list-item-leading-image-height: var(--md-list-item-image-list-item-leading-image-height, 56px);--_list-item-leading-image-width: var(--md-list-item-image-list-item-leading-image-width, 56px);--_list-item-leading-image-shape: var(--md-list-item-image-list-item-leading-image-shape, 0px)}.md3-list-item__image{display:inline-flex;margin-block-end:8px;margin-block-start:8px;margin-inline-start:16px;height:var(--_list-item-leading-image-height);width:var(--_list-item-leading-image-width);border-radius:var(--_list-item-leading-image-shape)}/*# sourceMappingURL=list-item-image-styles.css.map */\n`;\n "]}
@@ -4,11 +4,18 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { LitElement, TemplateResult } from 'lit';
7
- /** @soyCompatible */
8
7
  export declare class ListItemImage extends LitElement {
9
- media: string;
8
+ /**
9
+ * The image `src`.
10
+ */
10
11
  image: string;
11
- altText?: string;
12
- /** @soyTemplate */
12
+ /**
13
+ * The image `alt`.
14
+ */
15
+ altText: string;
16
+ /**
17
+ * The image `loading` attribute.
18
+ */
19
+ loading: 'eager' | 'lazy';
13
20
  render(): TemplateResult;
14
21
  }
@@ -4,34 +4,45 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { __decorate, __metadata } from "tslib";
7
- import { html, LitElement } from 'lit';
7
+ import { html, LitElement, nothing } from 'lit';
8
8
  import { property } from 'lit/decorators.js';
9
- import { ifDefined } from 'lit/directives/if-defined.js';
10
- /** @soyCompatible */
9
+ // tslint:disable-next-line:enforce-comments-on-exported-symbols
11
10
  export class ListItemImage extends LitElement {
12
11
  constructor() {
13
12
  super(...arguments);
14
- this.media = 'image';
13
+ /**
14
+ * The image `src`.
15
+ */
15
16
  this.image = '';
17
+ /**
18
+ * The image `alt`.
19
+ */
20
+ this.altText = '';
21
+ /**
22
+ * The image `loading` attribute.
23
+ */
24
+ this.loading = 'eager';
16
25
  }
17
- /** @soyTemplate */
18
26
  render() {
19
27
  return html `
20
- <img src="${this.image}" alt="${ifDefined(this.altText)}"
21
- class="md3-list-item__image" />
28
+ <img
29
+ src="${this.image}"
30
+ alt="${this.altText || nothing}"
31
+ loading=${this.loading}
32
+ class="md3-list-item__image" />
22
33
  `;
23
34
  }
24
35
  }
25
36
  __decorate([
26
- property({ type: String, reflect: true }),
37
+ property(),
27
38
  __metadata("design:type", Object)
28
- ], ListItemImage.prototype, "media", void 0);
39
+ ], ListItemImage.prototype, "image", void 0);
29
40
  __decorate([
30
- property({ type: String, reflect: true }),
41
+ property(),
31
42
  __metadata("design:type", Object)
32
- ], ListItemImage.prototype, "image", void 0);
43
+ ], ListItemImage.prototype, "altText", void 0);
33
44
  __decorate([
34
- property({ type: String, reflect: true }),
45
+ property(),
35
46
  __metadata("design:type", String)
36
- ], ListItemImage.prototype, "altText", void 0);
47
+ ], ListItemImage.prototype, "loading", void 0);
37
48
  //# sourceMappingURL=list-item-image.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-item-image.js","sourceRoot":"","sources":["list-item-image.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,IAAI,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AACrD,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AAEvD,qBAAqB;AACrB,MAAM,OAAO,aAAc,SAAQ,UAAU;IAA7C;;QAC2C,UAAK,GAAG,OAAO,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;IAUtD,CAAC;IAPC,mBAAmB;IACV,MAAM;QACb,OAAO,IAAI,CAAA;oBACK,IAAI,CAAC,KAAK,UAAU,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;;OAExD,CAAC;IACN,CAAC;CACF;AAX0C;IAAxC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;;4CAAiB;AAChB;IAAxC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;;4CAAY;AACX;IAAxC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;;8CAAkB","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, LitElement, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\n\n/** @soyCompatible */\nexport class ListItemImage extends LitElement {\n @property({type: String, reflect: true}) media = 'image';\n @property({type: String, reflect: true}) image = '';\n @property({type: String, reflect: true}) altText?: string;\n\n /** @soyTemplate */\n override render(): TemplateResult {\n return html`\n <img src=\"${this.image}\" alt=\"${ifDefined(this.altText)}\"\n class=\"md3-list-item__image\" />\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"list-item-image.js","sourceRoot":"","sources":["list-item-image.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAiB,MAAM,KAAK,CAAC;AAC9D,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,gEAAgE;AAChE,MAAM,OAAO,aAAc,SAAQ,UAAU;IAA7C;;QACE;;WAEG;QACS,UAAK,GAAG,EAAE,CAAC;QAEvB;;WAEG;QACS,YAAO,GAAG,EAAE,CAAC;QAEzB;;WAEG;QACS,YAAO,GAAmB,OAAO,CAAC;IAWhD,CAAC;IATU,MAAM;QACb,OAAO,IAAI,CAAA;;iBAEE,IAAI,CAAC,KAAK;iBACV,IAAI,CAAC,OAAO,IAAI,OAAO;oBACpB,IAAI,CAAC,OAAO;;OAEzB,CAAC;IACN,CAAC;CACF;AArBa;IAAX,QAAQ,EAAE;;4CAAY;AAKX;IAAX,QAAQ,EAAE;;8CAAc;AAKb;IAAX,QAAQ,EAAE;;8CAAmC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, LitElement, nothing, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\n\n// tslint:disable-next-line:enforce-comments-on-exported-symbols\nexport class ListItemImage extends LitElement {\n /**\n * The image `src`.\n */\n @property() image = '';\n\n /**\n * The image `alt`.\n */\n @property() altText = '';\n\n /**\n * The image `loading` attribute.\n */\n @property() loading: 'eager'|'lazy' = 'eager';\n\n override render(): TemplateResult {\n return html`\n <img\n src=\"${this.image}\"\n alt=\"${this.altText || nothing}\"\n loading=${this.loading}\n class=\"md3-list-item__image\" />\n `;\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-color: var(--md-list-container-color, #fff);--_list-divider-color: var(--md-list-list-divider-color, #c4c7c5);--_list-divider-height: var(--md-list-list-divider-height, 1px);--_container-surface-tint-layer-color: var(--md-list-container-surface-tint-layer-color, var(--md-sys-color-primary, #6750a4));--_container-elevation: var(--md-list-container-elevation, 0);--md-elevation-level:var(--_container-elevation);--md-elevation-surface-tint-color:var(--_container-surface-tint-layer-color);color:unset}.md3-list{background-color:var(--_container-color);display:block;list-style-type:none;margin:0;min-width:300px;outline:none;padding:8px 0;position:relative;--md-list-divider-list-divider-color:var(--_list-divider-color);--md-list-divider-list-divider-height:var(--_list-divider-height)}md-elevation{inset:0;position:absolute;z-index:0}/*# sourceMappingURL=list-styles.css.map */
7
+ export const styles = css `:host{--_container-color: var(--md-list-container-color, var(--md-sys-color-surface, #fffbfe));color:unset}.md3-list{background-color:var(--_container-color);display:block;list-style-type:none;margin:0;min-width:300px;outline:none;padding:8px 0;position:relative}/*# sourceMappingURL=list-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=list-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-styles.css.js","sourceRoot":"","sources":["list-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-color: var(--md-list-container-color, #fff);--_list-divider-color: var(--md-list-list-divider-color, #c4c7c5);--_list-divider-height: var(--md-list-list-divider-height, 1px);--_container-surface-tint-layer-color: var(--md-list-container-surface-tint-layer-color, var(--md-sys-color-primary, #6750a4));--_container-elevation: var(--md-list-container-elevation, 0);--md-elevation-level:var(--_container-elevation);--md-elevation-surface-tint-color:var(--_container-surface-tint-layer-color);color:unset}.md3-list{background-color:var(--_container-color);display:block;list-style-type:none;margin:0;min-width:300px;outline:none;padding:8px 0;position:relative;--md-list-divider-list-divider-color:var(--_list-divider-color);--md-list-divider-list-divider-height:var(--_list-divider-height)}md-elevation{inset:0;position:absolute;z-index:0}/*# sourceMappingURL=list-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"list-styles.css.js","sourceRoot":"","sources":["list-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-color: var(--md-list-container-color, var(--md-sys-color-surface, #fffbfe));color:unset}.md3-list{background-color:var(--_container-color);display:block;list-style-type:none;margin:0;min-width:300px;outline:none;padding:8px 0;position:relative}/*# sourceMappingURL=list-styles.css.map */\n`;\n "]}
@@ -3,44 +3,115 @@
3
3
  * Copyright 2021 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import '../../elevation/elevation.js';
7
- import { LitElement, PropertyValues, TemplateResult } from 'lit';
6
+ import { LitElement, TemplateResult } from 'lit';
8
7
  import { ClassInfo } from 'lit/directives/class-map.js';
9
8
  import { ARIARole } from '../../types/aria.js';
10
9
  import { ListItem } from './listitem/list-item.js';
11
- /** @soyCompatible */
12
10
  export declare class List extends LitElement {
13
11
  static shadowRootOptions: ShadowRootInit;
14
12
  ariaLabel: string;
15
13
  ariaActivedescendant: string;
16
14
  role: ARIARole;
17
- listId: string;
15
+ /**
16
+ * The tabindex of the underlying list.
17
+ */
18
18
  listTabIndex: number;
19
- items: ListItem[];
20
- activeListItem: ListItem | null;
21
19
  listRoot: HTMLElement;
22
- listItemTagName: string;
23
- protected assignedElements: HTMLElement[] | null;
24
- firstUpdated(changedProperties: PropertyValues): void;
25
- /** @soyTemplate */
20
+ /**
21
+ * An array of activatable and disableable list items. Queries every assigned
22
+ * element that has the `md-list-item` attribute.
23
+ *
24
+ * _NOTE:_ This is a shallow, flattened query via
25
+ * `HTMLSlotElement.queryAssignedElements` and thus will _only_ include direct
26
+ * children / directly slotted elements.
27
+ */
28
+ items: ListItem[];
26
29
  render(): TemplateResult;
27
- /** @soyTemplate */
28
- protected getRenderClasses(): ClassInfo;
30
+ /**
31
+ * Renders the main list element.
32
+ */
33
+ protected renderList(): TemplateResult<1>;
34
+ /**
35
+ * The classes to be applied to the underlying list.
36
+ */
37
+ protected getListClasses(): ClassInfo;
38
+ /**
39
+ * The content to be slotted into the list.
40
+ */
41
+ protected renderContent(): TemplateResult<1>;
42
+ /**
43
+ * Handles keyboard navigation in the list.
44
+ *
45
+ * @param event {KeyboardEvent} The keyboard event that triggers this handler.
46
+ */
29
47
  handleKeydown(event: KeyboardEvent): void;
30
- protected activateListItem(item: ListItem): void;
31
- protected deactivateListItem(item: ListItem): void;
32
- protected isListItemActive(item: ListItem): boolean;
33
- protected handleAction(event: CustomEvent): void;
34
- activateFirstItem(): void;
35
- activateLastItem(): void;
36
- resetActiveListItem(): void;
37
- focusListRoot(): void;
38
- /** Updates `this.items` based on slot elements in the DOM. */
39
- protected updateItems(): void;
40
- /** @return Whether the given element is a list item element. */
41
- private isListItem;
42
- private getFirstItem;
43
- private getLastItem;
44
- private getPrevItem;
45
- private getNextItem;
48
+ /**
49
+ * Activates the first non-disabled item of a given array of items.
50
+ *
51
+ * @param items {Array<ListItem>} The items from which to activate the
52
+ * first item.
53
+ */
54
+ static activateFirstItem<T extends ListItem>(items: T[]): void;
55
+ /**
56
+ * Activates the last non-disabled item of a given array of items.
57
+ *
58
+ * @param items {Array<ListItem>} The items from which to activate the
59
+ * last item.
60
+ */
61
+ static activateLastItem<T extends ListItem>(items: T[]): void;
62
+ /**
63
+ * Deactivates the currently active item of a given array of items.
64
+ *
65
+ * @param items {Array<ListItem>} The items from which to deactivate the
66
+ * active item.
67
+ * @returns A record of the deleselcted activated item including the item and
68
+ * the index of the item or `null` if none are deactivated.
69
+ */
70
+ static deactivateActiveItem<T extends ListItem>(items: T[]): {
71
+ item: T;
72
+ index: number;
73
+ };
74
+ focus(): void;
75
+ /**
76
+ * Retrieves the the first activated item of a given array of items.
77
+ *
78
+ * @param items {Array<ListItem>} The items to search.
79
+ * @returns A record of the first activated item including the item and the
80
+ * index of the item or `null` if none are activated.
81
+ */
82
+ static getActiveItem<T extends ListItem>(items: T[]): {
83
+ item: T;
84
+ index: number;
85
+ };
86
+ /**
87
+ * Retrieves the the first non-disabled item of a given array of items. This
88
+ * the first item that is not disabled.
89
+ *
90
+ * @param items {Array<ListItem>} The items to search.
91
+ * @returns The first activatable item or `null` if none are activatable.
92
+ */
93
+ static getFirstActivatableItem<T extends ListItem>(items: T[]): T;
94
+ /**
95
+ * Retrieves the the last non-disabled item of a given array of items.
96
+ *
97
+ * @param items {Array<ListItem>} The items to search.
98
+ * @returns The last activatable item or `null` if none are activatable.
99
+ */
100
+ static getLastActivatableItem<T extends ListItem>(items: T[]): T;
101
+ /**
102
+ * Retrieves the the next non-disabled item of a given array of items.
103
+ *
104
+ * @param items {Array<ListItem>} The items to search.
105
+ * @param index {{index: number}} The index to search from.
106
+ * @returns The next activatable item or `null` if none are activatable.
107
+ */
108
+ protected static getNextItem<T extends ListItem>(items: T[], index: number): T;
109
+ /**
110
+ * Retrieves the the previous non-disabled item of a given array of items.
111
+ *
112
+ * @param items {Array<ListItem>} The items to search.
113
+ * @param index {{index: number}} The index to search from.
114
+ * @returns The previous activatable item or `null` if none are activatable.
115
+ */
116
+ protected static getPrevItem<T extends ListItem>(items: T[], index: number): T;
46
117
  }