@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
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
File without changes
File without changes
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright 2022 Google LLC
2
+ // Copyright 2023 Google LLC
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
  //
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
File without changes
File without changes
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright 2022 Google LLC
2
+ // Copyright 2023 Google LLC
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
  //
@@ -1,80 +0,0 @@
1
- //
2
- // Copyright 2022 Google LLC
3
- // SPDX-License-Identifier: Apache-2.0
4
- //
5
-
6
- @use 'sass:string';
7
-
8
- // TODO(b/238627779): Replace with Sass tokens when list tokens are final.
9
- @function md-comp-list-values() {
10
- @return (
11
- list-item-one-line-container-height: 56px,
12
- list-item-two-line-container-height: 72px,
13
- list-item-three-line-container-height: 88px,
14
- list-item-container-color: #fff,
15
- list-item-label-text-font: string.unquote('Roboto, sans-serif'),
16
- list-item-label-text-size: 16px,
17
- list-item-label-text-tracking: 0.03125rem,
18
- list-item-label-text-weight: 400,
19
- list-item-label-text-color: #1f1f1f,
20
- list-item-supporting-text-font: string.unquote('Roboto, sans-serif'),
21
- list-item-supporting-text-size: 14px,
22
- list-item-supporting-text-tracking: 0.015625rem,
23
- list-item-supporting-text-weight: 300,
24
- list-item-supporting-text-color: #444746,
25
- list-item-trailing-supporting-text-font:
26
- string.unquote('Roboto, sans-serif'),
27
- list-item-trailing-supporting-text-size: 12px,
28
- list-item-trailing-supporting-text-tracking: 0.015625rem,
29
- list-item-trailing-supporting-text-weight: 300,
30
- list-item-trailing-supporting-text-color: #646766,
31
- list-item-leading-icon-color: #444746,
32
- list-item-container-shape: null,
33
- list-item-label-text-line-height: null,
34
- list-item-supporting-text-line-height: 20px,
35
- list-item-overline-color: null,
36
- list-item-overline-font: null,
37
- list-item-overline-line-height: null,
38
- list-item-overline-size: null,
39
- list-item-overline-tracking: null,
40
- list-item-overline-weight: null,
41
- list-item-leading-icon-size: 24px,
42
- list-item-leading-video-shape: 0px,
43
- list-item-leading-video-width: 114px,
44
- list-item-leading-video-height: 64px,
45
- list-item-leading-avatar-color: null,
46
- list-item-leading-avatar-shape: 9999px,
47
- list-item-leading-avatar-size: 40px,
48
- list-item-leading-avatar-label-color: null,
49
- list-item-leading-avatar-label-font: null,
50
- list-item-leading-avatar-label-line-height: null,
51
- list-item-leading-avatar-label-size: null,
52
- list-item-leading-avatar-label-tracking: null,
53
- list-item-leading-avatar-label-weight: null,
54
- list-item-leading-image-width: 56px,
55
- list-item-leading-image-height: 56px,
56
- list-item-leading-image-shape: 0,
57
- list-item-trailing-supporting-text-line-height: null,
58
- list-item-trailing-icon-color: #444746,
59
- list-item-trailing-icon-size: 24px,
60
- list-item-selected-trailing-icon-color: null,
61
- list-item-unselected-trailing-icon-color: null,
62
- list-item-disabled-label-text-color: #1c1b1f,
63
- list-item-disabled-label-text-opacity: 0.38,
64
- list-item-disabled-supporting-text-color: #1c1b1f,
65
- list-item-disabled-supporting-text-opacity: 0.38,
66
- list-item-disabled-state-layer-color: null,
67
- list-item-disabled-state-layer-opacity: null,
68
- list-item-disabled-leading-icon-color: #1c1b1f,
69
- list-item-disabled-leading-icon-opacity: 0.38,
70
- list-item-disabled-trailing-icon-color: #1c1b1f,
71
- list-item-disabled-trailing-icon-opacity: 0.38,
72
- list-item-hover-state-layer-color: null,
73
- list-item-hover-state-layer-opacity: null,
74
- list-item-hover-label-text-color: null,
75
- list-item-hover-leading-icon-color: #444746,
76
- list-item-hover-trailing-icon-color: #444746,
77
- list-divider-color: #c4c7c5,
78
- list-divider-height: 1px
79
- );
80
- }
@@ -1,46 +0,0 @@
1
- //
2
- // Copyright 2022 Google LLC
3
- // SPDX-License-Identifier: Apache-2.0
4
- //
5
-
6
- // stylelint-disable selector-class-pattern --
7
- // Selector '.md3-*' should only be used in this project.
8
-
9
- @use '../../../sass/map-ext';
10
- @use '../../../sass/theme';
11
- @use '../tokens';
12
-
13
- $_custom-property-prefix: 'list-divider';
14
-
15
- @mixin theme($tokens) {
16
- $reference: map-ext.pick(
17
- tokens.md-comp-list-values(),
18
- (list-divider-color, list-divider-height)
19
- );
20
- $tokens: theme.validate-theme($reference, $tokens);
21
- $tokens: theme.create-theme-vars($tokens, $_custom-property-prefix);
22
-
23
- @include theme.emit-theme-vars($tokens);
24
- }
25
-
26
- @mixin styles() {
27
- $tokens: map-ext.pick(
28
- tokens.md-comp-list-values(),
29
- (list-divider-color, list-divider-height)
30
- );
31
-
32
- $tokens: theme.create-theme-vars($tokens, $_custom-property-prefix);
33
-
34
- :host {
35
- @each $token, $value in $tokens {
36
- --_#{$token}: #{$value};
37
- }
38
- }
39
-
40
- .md3-list__divider {
41
- background-clip: content-box;
42
- background-color: var(--_list-divider-color);
43
- height: var(--_list-divider-height);
44
- padding: 0;
45
- }
46
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { css } from 'lit';
7
- export const styles = css `:host{--_list-divider-color: var(--md-list-divider-list-divider-color, #c4c7c5);--_list-divider-height: var(--md-list-divider-list-divider-height, 1px)}.md3-list__divider{background-clip:content-box;background-color:var(--_list-divider-color);height:var(--_list-divider-height);padding:0}/*# sourceMappingURL=list-divider-styles.css.map */
8
- `;
9
- //# sourceMappingURL=list-divider-styles.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-divider-styles.css.js","sourceRoot":"","sources":["list-divider-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-divider-color: var(--md-list-divider-list-divider-color, #c4c7c5);--_list-divider-height: var(--md-list-divider-list-divider-height, 1px)}.md3-list__divider{background-clip:content-box;background-color:var(--_list-divider-color);height:var(--_list-divider-height);padding:0}/*# sourceMappingURL=list-divider-styles.css.map */\n`;\n "]}
@@ -1,8 +0,0 @@
1
- //
2
- // Copyright 2022 Google LLC
3
- // SPDX-License-Identifier: Apache-2.0
4
- //
5
-
6
- @use './list-divider';
7
-
8
- @include list-divider.styles;
@@ -1,13 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { LitElement, TemplateResult } from 'lit';
7
- import { ARIARole } from '../../../types/aria.js';
8
- /** @soyCompatible */
9
- export declare class ListDivider extends LitElement {
10
- role: ARIARole;
11
- /** @soyTemplate */
12
- render(): TemplateResult;
13
- }
@@ -1,32 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { __decorate, __metadata } from "tslib";
7
- import { html, LitElement } from 'lit';
8
- import { property } from 'lit/decorators.js';
9
- import { ariaProperty } from '../../../decorators/aria-property.js';
10
- /** @soyCompatible */
11
- export class ListDivider extends LitElement {
12
- constructor() {
13
- super(...arguments);
14
- // @ts-ignore(b/264292293): Use `override` with TS 4.9+
15
- this.role = 'separator';
16
- }
17
- /** @soyTemplate */
18
- render() {
19
- return html `
20
- <li role="separator" class="md3-list__divider">
21
- </li>
22
- `;
23
- }
24
- }
25
- __decorate([
26
- ariaProperty // tslint:disable-line:no-new-decorators
27
- // tslint:disable-next-line:decorator-placement
28
- ,
29
- property({ type: String, attribute: 'data-role', noAccessor: true }),
30
- __metadata("design:type", String)
31
- ], ListDivider.prototype, "role", void 0);
32
- //# sourceMappingURL=list-divider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-divider.js","sourceRoot":"","sources":["list-divider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,IAAI,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AACrD,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,YAAY,EAAC,MAAM,sCAAsC,CAAC;AAGlE,qBAAqB;AACrB,MAAM,OAAO,WAAY,SAAQ,UAAU;IAA3C;;QAKE,AADA,uDAAuD;QACvD,SAAI,GAAa,WAAW,CAAC;IAS/B,CAAC;IAPC,mBAAmB;IACV,MAAM;QACb,OAAO,IAAI,CAAA;;;MAGT,CAAC;IACL,CAAC;CACF;AATC;IAJC,YAAY,CAAE,wCAAwC;IACvD,+CAA+C;;IAC9C,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAC,CAAC;;yCAEtC","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';\n\nimport {ariaProperty} from '../../../decorators/aria-property.js';\nimport {ARIARole} from '../../../types/aria.js';\n\n/** @soyCompatible */\nexport class ListDivider extends LitElement {\n @ariaProperty // tslint:disable-line:no-new-decorators\n // tslint:disable-next-line:decorator-placement\n @property({type: String, attribute: 'data-role', noAccessor: true})\n // @ts-ignore(b/264292293): Use `override` with TS 4.9+\n role: ARIARole = 'separator';\n\n /** @soyTemplate */\n override render(): TemplateResult {\n return html`\n <li role=\"separator\" class=\"md3-list__divider\">\n </li>\n `;\n }\n}\n"]}
@@ -1,19 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { ListDivider } from './lib/divider/list-divider.js';
7
- declare global {
8
- interface HTMLElementTagNameMap {
9
- 'md-list-divider': MdListDivider;
10
- }
11
- }
12
- /**
13
- * @soyCompatible
14
- * @final
15
- * @suppress {visibility}
16
- */
17
- export declare class MdListDivider extends ListDivider {
18
- static styles: import("lit").CSSResult[];
19
- }
@@ -1,22 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { __decorate } from "tslib";
7
- import { customElement } from 'lit/decorators.js';
8
- import { ListDivider } from './lib/divider/list-divider.js';
9
- import { styles } from './lib/divider/list-divider-styles.css.js';
10
- /**
11
- * @soyCompatible
12
- * @final
13
- * @suppress {visibility}
14
- */
15
- let MdListDivider = class MdListDivider extends ListDivider {
16
- };
17
- MdListDivider.styles = [styles];
18
- MdListDivider = __decorate([
19
- customElement('md-list-divider')
20
- ], MdListDivider);
21
- export { MdListDivider };
22
- //# sourceMappingURL=list-divider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-divider.js","sourceRoot":"","sources":["list-divider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAC,MAAM,EAAC,MAAM,0CAA0C,CAAC;AAQhE;;;;GAIG;AAEH,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,WAAW;CAE7C,CAAA;AADiB,oBAAM,GAAG,CAAC,MAAM,CAAE,CAAA;AADvB,aAAa;IADzB,aAAa,CAAC,iBAAiB,CAAC;GACpB,aAAa,CAEzB;SAFY,aAAa","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {ListDivider} from './lib/divider/list-divider.js';\nimport {styles} from './lib/divider/list-divider-styles.css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-list-divider': MdListDivider;\n }\n}\n\n/**\n * @soyCompatible\n * @final\n * @suppress {visibility}\n */\n@customElement('md-list-divider')\nexport class MdListDivider extends ListDivider {\n static override styles = [styles];\n}\n"]}
@@ -1,14 +0,0 @@
1
- //
2
- // Copyright 2022 Google LLC
3
- // SPDX-License-Identifier: Apache-2.0
4
- //
5
-
6
- // stylelint-disable selector-class-pattern --
7
- // Selector '.md3-*' should only be used in this project.
8
-
9
- @mixin styles() {
10
- .md3-menu-button {
11
- overflow: visible;
12
- position: relative;
13
- }
14
- }
@@ -1,66 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { MDCMenuItemEventDetail } from './types.js';
7
- /**
8
- * Implement this adapter for your framework of choice to delegate updates to
9
- * the component in your framework of choice. See architecture documentation
10
- * for more details.
11
- * https://github.com/material-components/material-components-web/blob/master/docs/code/architecture.md
12
- */
13
- export interface MDCMenuAdapter {
14
- /**
15
- * Adds a class to the element at the index provided.
16
- */
17
- addClassToElementAtIndex(index: number, className: string): void;
18
- /**
19
- * Removes a class from the element at the index provided
20
- */
21
- removeClassFromElementAtIndex(index: number, className: string): void;
22
- /**
23
- * Adds an attribute, with value, to the element at the index provided.
24
- */
25
- addAttributeToElementAtIndex(index: number, attr: string, value: string): void;
26
- /**
27
- * Removes an attribute from an element at the index provided.
28
- */
29
- removeAttributeFromElementAtIndex(index: number, attr: string): void;
30
- /**
31
- * @return the attribute string if present on an element at the index
32
- * provided, null otherwise.
33
- */
34
- getAttributeFromElementAtIndex(index: number, attr: string): string | null;
35
- /**
36
- * @return true if the element contains the className.
37
- */
38
- elementContainsClass(element: Element, className: string): boolean;
39
- /**
40
- * Closes the menu-surface.
41
- * @param skipRestoreFocus Whether to skip restoring focus to the previously
42
- * focused element after the surface has been closed.
43
- */
44
- closeSurface(skipRestoreFocus?: boolean): void;
45
- /**
46
- * @return Index of the element in the list or -1 if it is not in the list.
47
- */
48
- getElementIndex(element: Element): number;
49
- /**
50
- * Emit an event when a menu item is selected.
51
- */
52
- notifySelected(evtData: MDCMenuItemEventDetail): void;
53
- /** @return Returns the menu item count. */
54
- getMenuItemCount(): number;
55
- /**
56
- * @return Returns selected list item index within the same selection group which is
57
- * a sibling of item at given `index`.
58
- * @param index Index of the menu item with possible selected sibling.
59
- */
60
- getSelectedSiblingOfItemAtIndex(index: number): number;
61
- /**
62
- * @return Returns true if item at specified index is contained within an `.mdc-menu__selection-group` element.
63
- * @param index Index of the selectable menu item.
64
- */
65
- isSelectableItemAtIndex(index: number): boolean;
66
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export {};
7
- //# sourceMappingURL=adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {MDCMenuItemEventDetail} from './types.js';\n\n/**\n * Implement this adapter for your framework of choice to delegate updates to\n * the component in your framework of choice. See architecture documentation\n * for more details.\n * https://github.com/material-components/material-components-web/blob/master/docs/code/architecture.md\n */\nexport interface MDCMenuAdapter {\n /**\n * Adds a class to the element at the index provided.\n */\n addClassToElementAtIndex(index: number, className: string): void;\n\n /**\n * Removes a class from the element at the index provided\n */\n removeClassFromElementAtIndex(index: number, className: string): void;\n\n /**\n * Adds an attribute, with value, to the element at the index provided.\n */\n addAttributeToElementAtIndex(index: number, attr: string, value: string): void;\n\n /**\n * Removes an attribute from an element at the index provided.\n */\n removeAttributeFromElementAtIndex(index: number, attr: string): void;\n\n /**\n * @return the attribute string if present on an element at the index\n * provided, null otherwise.\n */\n getAttributeFromElementAtIndex(index: number, attr: string): string|null;\n\n /**\n * @return true if the element contains the className.\n */\n elementContainsClass(element: Element, className: string): boolean;\n\n /**\n * Closes the menu-surface.\n * @param skipRestoreFocus Whether to skip restoring focus to the previously\n * focused element after the surface has been closed.\n */\n closeSurface(skipRestoreFocus?: boolean): void;\n\n /**\n * @return Index of the element in the list or -1 if it is not in the list.\n */\n getElementIndex(element: Element): number;\n\n /**\n * Emit an event when a menu item is selected.\n */\n notifySelected(evtData: MDCMenuItemEventDetail): void;\n\n /** @return Returns the menu item count. */\n getMenuItemCount(): number;\n\n /**\n * @return Returns selected list item index within the same selection group which is\n * a sibling of item at given `index`.\n * @param index Index of the menu item with possible selected sibling.\n */\n getSelectedSiblingOfItemAtIndex(index: number): number;\n\n /**\n * @return Returns true if item at specified index is contained within an `.mdc-menu__selection-group` element.\n * @param index Index of the selectable menu item.\n */\n isSelectableItemAtIndex(index: number): boolean;\n}\n"]}
@@ -1,22 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- declare const cssClasses: {
7
- MENU_SELECTED_LIST_ITEM: string;
8
- MENU_SELECTION_GROUP: string;
9
- ROOT: string;
10
- };
11
- declare const strings: {
12
- ARIA_CHECKED_ATTR: string;
13
- ARIA_DISABLED_ATTR: string;
14
- CHECKBOX_SELECTOR: string;
15
- LIST_SELECTOR: string;
16
- SELECTED_EVENT: string;
17
- SKIP_RESTORE_FOCUS: string;
18
- };
19
- declare const numbers: {
20
- FOCUS_ROOT_INDEX: number;
21
- };
22
- export { cssClasses, strings, numbers };
@@ -1,23 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- const cssClasses = {
7
- MENU_SELECTED_LIST_ITEM: 'md3-menu-item--selected',
8
- MENU_SELECTION_GROUP: 'md3-menu__selection-group',
9
- ROOT: 'md3-menu',
10
- };
11
- const strings = {
12
- ARIA_CHECKED_ATTR: 'aria-checked',
13
- ARIA_DISABLED_ATTR: 'aria-disabled',
14
- CHECKBOX_SELECTOR: 'input[type="checkbox"]',
15
- LIST_SELECTOR: '.md3-list,.md3-deprecated-list',
16
- SELECTED_EVENT: 'MDCMenu:selected',
17
- SKIP_RESTORE_FOCUS: 'data-menu-item-skip-restore-focus',
18
- };
19
- const numbers = {
20
- FOCUS_ROOT_INDEX: -1,
21
- };
22
- export { cssClasses, strings, numbers };
23
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,UAAU,GAAG;IACjB,uBAAuB,EAAE,yBAAyB;IAClD,oBAAoB,EAAE,2BAA2B;IACjD,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF,MAAM,OAAO,GAAG;IACd,iBAAiB,EAAE,cAAc;IACjC,kBAAkB,EAAE,eAAe;IACnC,iBAAiB,EAAE,wBAAwB;IAC3C,aAAa,EAAE,gCAAgC;IAC/C,cAAc,EAAE,kBAAkB;IAClC,kBAAkB,EAAE,mCAAmC;CACxD,CAAC;AAEF,MAAM,OAAO,GAAG;IACd,gBAAgB,EAAE,CAAC,CAAC;CACrB,CAAC;AAEF,OAAO,EAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nconst cssClasses = {\n MENU_SELECTED_LIST_ITEM: 'md3-menu-item--selected',\n MENU_SELECTION_GROUP: 'md3-menu__selection-group',\n ROOT: 'md3-menu',\n};\n\nconst strings = {\n ARIA_CHECKED_ATTR: 'aria-checked',\n ARIA_DISABLED_ATTR: 'aria-disabled',\n CHECKBOX_SELECTOR: 'input[type=\"checkbox\"]',\n LIST_SELECTOR: '.md3-list,.md3-deprecated-list',\n SELECTED_EVENT: 'MDCMenu:selected',\n SKIP_RESTORE_FOCUS: 'data-menu-item-skip-restore-focus',\n};\n\nconst numbers = {\n FOCUS_ROOT_INDEX: -1,\n};\n\nexport {cssClasses, strings, numbers};\n"]}
@@ -1,49 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { MDCMenuAdapter } from './adapter.js';
7
- export declare class MDCMenuFoundation {
8
- static get cssClasses(): {
9
- MENU_SELECTED_LIST_ITEM: string;
10
- MENU_SELECTION_GROUP: string;
11
- ROOT: string;
12
- };
13
- static get strings(): {
14
- ARIA_CHECKED_ATTR: string;
15
- ARIA_DISABLED_ATTR: string;
16
- CHECKBOX_SELECTOR: string;
17
- LIST_SELECTOR: string;
18
- SELECTED_EVENT: string;
19
- SKIP_RESTORE_FOCUS: string;
20
- };
21
- static get numbers(): {
22
- FOCUS_ROOT_INDEX: number;
23
- };
24
- private readonly adapter;
25
- private closeAnimationEndTimerId;
26
- private selectedIndex;
27
- /**
28
- * @see {@link MDCMenuAdapter} for typing information on parameters and return types.
29
- */
30
- static get defaultAdapter(): MDCMenuAdapter;
31
- constructor(adapter: Partial<MDCMenuAdapter>);
32
- destroy(): void;
33
- handleKeydown(evt: KeyboardEvent): void;
34
- handleItemAction(listItem: Element): void;
35
- /** @return Index of the currently selected list item within the menu. */
36
- getSelectedIndex(): number;
37
- /**
38
- * Selects the list item at `index` within the menu.
39
- * @param index Index of list item within the menu.
40
- */
41
- setSelectedIndex(index: number): void;
42
- /**
43
- * Sets the enabled state to isEnabled for the menu item at the given index.
44
- * @param index Index of the menu item
45
- * @param isEnabled The desired enabled state of the menu item.
46
- */
47
- setEnabled(index: number, isEnabled: boolean): void;
48
- private validatedIndex;
49
- }
@@ -1,123 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { MDCMenuSurfaceFoundation } from '../../menusurface/lib/foundation.js';
7
- import { cssClasses, numbers, strings } from './constants.js';
8
- const LIST_ITEM_DISABLED_CLASS = 'md3-list-item--disabled';
9
- export class MDCMenuFoundation {
10
- constructor(adapter) {
11
- this.closeAnimationEndTimerId = 0;
12
- this.selectedIndex = -1;
13
- this.adapter = { ...MDCMenuFoundation.defaultAdapter, ...adapter };
14
- }
15
- static get cssClasses() {
16
- return cssClasses;
17
- }
18
- static get strings() {
19
- return strings;
20
- }
21
- static get numbers() {
22
- return numbers;
23
- }
24
- /**
25
- * @see {@link MDCMenuAdapter} for typing information on parameters and return types.
26
- */
27
- static get defaultAdapter() {
28
- // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.
29
- return {
30
- addClassToElementAtIndex: () => undefined,
31
- removeClassFromElementAtIndex: () => undefined,
32
- addAttributeToElementAtIndex: () => undefined,
33
- removeAttributeFromElementAtIndex: () => undefined,
34
- getAttributeFromElementAtIndex: () => null,
35
- elementContainsClass: () => false,
36
- closeSurface: () => undefined,
37
- getElementIndex: () => -1,
38
- notifySelected: () => undefined,
39
- getMenuItemCount: () => 0,
40
- getSelectedSiblingOfItemAtIndex: () => -1,
41
- isSelectableItemAtIndex: () => false,
42
- };
43
- // tslint:enable:object-literal-sort-keys
44
- }
45
- destroy() {
46
- if (this.closeAnimationEndTimerId) {
47
- clearTimeout(this.closeAnimationEndTimerId);
48
- }
49
- this.adapter.closeSurface();
50
- }
51
- handleKeydown(evt) {
52
- const { key, keyCode } = evt;
53
- const isTab = key === 'Tab' || keyCode === 9;
54
- if (isTab) {
55
- this.adapter.closeSurface(/** skipRestoreFocus */ true);
56
- }
57
- }
58
- handleItemAction(listItem) {
59
- const index = this.adapter.getElementIndex(listItem);
60
- if (index < 0) {
61
- return;
62
- }
63
- this.adapter.notifySelected({ index });
64
- const skipRestoreFocus = this.adapter.getAttributeFromElementAtIndex(index, strings.SKIP_RESTORE_FOCUS) === 'true';
65
- this.adapter.closeSurface(skipRestoreFocus);
66
- // Wait for the menu to close before adding/removing classes that affect
67
- // styles.
68
- this.closeAnimationEndTimerId = setTimeout(() => {
69
- // Recompute the index in case the menu contents have changed.
70
- const recomputedIndex = this.adapter.getElementIndex(listItem);
71
- if (recomputedIndex >= 0 &&
72
- this.adapter.isSelectableItemAtIndex(recomputedIndex)) {
73
- this.setSelectedIndex(recomputedIndex);
74
- }
75
- }, MDCMenuSurfaceFoundation.numbers.TRANSITION_CLOSE_DURATION);
76
- }
77
- /** @return Index of the currently selected list item within the menu. */
78
- getSelectedIndex() {
79
- return this.selectedIndex;
80
- }
81
- /**
82
- * Selects the list item at `index` within the menu.
83
- * @param index Index of list item within the menu.
84
- */
85
- setSelectedIndex(index) {
86
- this.validatedIndex(index);
87
- if (!this.adapter.isSelectableItemAtIndex(index)) {
88
- throw new Error('MDCMenuFoundation: No selection group at specified index.');
89
- }
90
- const prevSelectedIndex = this.adapter.getSelectedSiblingOfItemAtIndex(index);
91
- if (prevSelectedIndex >= 0) {
92
- this.adapter.removeAttributeFromElementAtIndex(prevSelectedIndex, strings.ARIA_CHECKED_ATTR);
93
- this.adapter.removeClassFromElementAtIndex(prevSelectedIndex, cssClasses.MENU_SELECTED_LIST_ITEM);
94
- }
95
- this.adapter.addClassToElementAtIndex(index, cssClasses.MENU_SELECTED_LIST_ITEM);
96
- this.adapter.addAttributeToElementAtIndex(index, strings.ARIA_CHECKED_ATTR, 'true');
97
- this.selectedIndex = index;
98
- }
99
- /**
100
- * Sets the enabled state to isEnabled for the menu item at the given index.
101
- * @param index Index of the menu item
102
- * @param isEnabled The desired enabled state of the menu item.
103
- */
104
- setEnabled(index, isEnabled) {
105
- this.validatedIndex(index);
106
- if (isEnabled) {
107
- this.adapter.removeClassFromElementAtIndex(index, LIST_ITEM_DISABLED_CLASS);
108
- this.adapter.addAttributeToElementAtIndex(index, strings.ARIA_DISABLED_ATTR, 'false');
109
- }
110
- else {
111
- this.adapter.addClassToElementAtIndex(index, LIST_ITEM_DISABLED_CLASS);
112
- this.adapter.addAttributeToElementAtIndex(index, strings.ARIA_DISABLED_ATTR, 'true');
113
- }
114
- }
115
- validatedIndex(index) {
116
- const menuSize = this.adapter.getMenuItemCount();
117
- const isIndexInRange = index >= 0 && index < menuSize;
118
- if (!isIndexInRange) {
119
- throw new Error('MDCMenuFoundation: No list item at specified index.');
120
- }
121
- }
122
- }
123
- //# sourceMappingURL=foundation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"foundation.js","sourceRoot":"","sources":["foundation.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {MDCMenuSurfaceFoundation} from '../../menusurface/lib/foundation.js';\n\nimport {MDCMenuAdapter} from './adapter.js';\nimport {cssClasses, numbers, strings} from './constants.js';\n\nconst LIST_ITEM_DISABLED_CLASS = 'md3-list-item--disabled';\n\nexport class MDCMenuFoundation {\n static get cssClasses() {\n return cssClasses;\n }\n\n static get strings() {\n return strings;\n }\n\n static get numbers() {\n return numbers;\n }\n\n private readonly adapter: MDCMenuAdapter;\n private closeAnimationEndTimerId = 0;\n private selectedIndex = -1;\n\n /**\n * @see {@link MDCMenuAdapter} for typing information on parameters and return types.\n */\n static get defaultAdapter(): MDCMenuAdapter {\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\n return {\n addClassToElementAtIndex: () => undefined,\n removeClassFromElementAtIndex: () => undefined,\n addAttributeToElementAtIndex: () => undefined,\n removeAttributeFromElementAtIndex: () => undefined,\n getAttributeFromElementAtIndex: () => null,\n elementContainsClass: () => false,\n closeSurface: () => undefined,\n getElementIndex: () => -1,\n notifySelected: () => undefined,\n getMenuItemCount: () => 0,\n getSelectedSiblingOfItemAtIndex: () => -1,\n isSelectableItemAtIndex: () => false,\n };\n // tslint:enable:object-literal-sort-keys\n }\n\n constructor(adapter: Partial<MDCMenuAdapter>) {\n this.adapter = {...MDCMenuFoundation.defaultAdapter, ...adapter};\n }\n\n destroy() {\n if (this.closeAnimationEndTimerId) {\n clearTimeout(this.closeAnimationEndTimerId);\n }\n\n this.adapter.closeSurface();\n }\n\n handleKeydown(evt: KeyboardEvent) {\n const {key, keyCode} = evt;\n const isTab = key === 'Tab' || keyCode === 9;\n\n if (isTab) {\n this.adapter.closeSurface(/** skipRestoreFocus */ true);\n }\n }\n\n handleItemAction(listItem: Element) {\n const index = this.adapter.getElementIndex(listItem);\n if (index < 0) {\n return;\n }\n\n this.adapter.notifySelected({index});\n const skipRestoreFocus = this.adapter.getAttributeFromElementAtIndex(\n index, strings.SKIP_RESTORE_FOCUS) === 'true';\n this.adapter.closeSurface(skipRestoreFocus);\n\n // Wait for the menu to close before adding/removing classes that affect\n // styles.\n this.closeAnimationEndTimerId = setTimeout(() => {\n // Recompute the index in case the menu contents have changed.\n const recomputedIndex = this.adapter.getElementIndex(listItem);\n if (recomputedIndex >= 0 &&\n this.adapter.isSelectableItemAtIndex(recomputedIndex)) {\n this.setSelectedIndex(recomputedIndex);\n }\n }, MDCMenuSurfaceFoundation.numbers.TRANSITION_CLOSE_DURATION);\n }\n\n /** @return Index of the currently selected list item within the menu. */\n getSelectedIndex() {\n return this.selectedIndex;\n }\n\n /**\n * Selects the list item at `index` within the menu.\n * @param index Index of list item within the menu.\n */\n setSelectedIndex(index: number) {\n this.validatedIndex(index);\n\n if (!this.adapter.isSelectableItemAtIndex(index)) {\n throw new Error(\n 'MDCMenuFoundation: No selection group at specified index.');\n }\n\n const prevSelectedIndex =\n this.adapter.getSelectedSiblingOfItemAtIndex(index);\n if (prevSelectedIndex >= 0) {\n this.adapter.removeAttributeFromElementAtIndex(\n prevSelectedIndex, strings.ARIA_CHECKED_ATTR);\n this.adapter.removeClassFromElementAtIndex(\n prevSelectedIndex, cssClasses.MENU_SELECTED_LIST_ITEM);\n }\n\n this.adapter.addClassToElementAtIndex(\n index, cssClasses.MENU_SELECTED_LIST_ITEM);\n this.adapter.addAttributeToElementAtIndex(\n index, strings.ARIA_CHECKED_ATTR, 'true');\n\n this.selectedIndex = index;\n }\n\n /**\n * Sets the enabled state to isEnabled for the menu item at the given index.\n * @param index Index of the menu item\n * @param isEnabled The desired enabled state of the menu item.\n */\n setEnabled(index: number, isEnabled: boolean): void {\n this.validatedIndex(index);\n\n if (isEnabled) {\n this.adapter.removeClassFromElementAtIndex(\n index, LIST_ITEM_DISABLED_CLASS);\n this.adapter.addAttributeToElementAtIndex(\n index, strings.ARIA_DISABLED_ATTR, 'false');\n } else {\n this.adapter.addClassToElementAtIndex(index, LIST_ITEM_DISABLED_CLASS);\n this.adapter.addAttributeToElementAtIndex(\n index, strings.ARIA_DISABLED_ATTR, 'true');\n }\n }\n\n private validatedIndex(index: number): void {\n const menuSize = this.adapter.getMenuItemCount();\n const isIndexInRange = index >= 0 && index < menuSize;\n\n if (!isIndexInRange) {\n throw new Error('MDCMenuFoundation: No list item at specified index.');\n }\n }\n}\n"]}
@@ -1,9 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { css } from 'lit';
7
- export const styles = css `.md3-menu-button{overflow:visible;position:relative}/*# sourceMappingURL=menu-button-styles.css.map */
8
- `;
9
- //# sourceMappingURL=menu-button-styles.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"menu-button-styles.css.js","sourceRoot":"","sources":["menu-button-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`.md3-menu-button{overflow:visible;position:relative}/*# sourceMappingURL=menu-button-styles.css.map */\n`;\n "]}