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

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 (684) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +41 -41
  3. package/autocomplete/autocomplete-item.js.map +1 -1
  4. package/autocomplete/autocomplete-list.js.map +1 -1
  5. package/autocomplete/autocomplete-surface.js.map +1 -1
  6. package/autocomplete/filled-autocomplete.d.ts +0 -2
  7. package/autocomplete/filled-autocomplete.js +0 -7
  8. package/autocomplete/filled-autocomplete.js.map +1 -1
  9. package/autocomplete/lib/_filled-autocomplete.scss +22 -28
  10. package/autocomplete/lib/_outlined-autocomplete.scss +23 -29
  11. package/autocomplete/lib/_shared.scss +6 -10
  12. package/autocomplete/lib/autocomplete.d.ts +2 -2
  13. package/autocomplete/lib/autocomplete.js +4 -5
  14. package/autocomplete/lib/autocomplete.js.map +1 -1
  15. package/autocomplete/lib/autocompletelist/autocomplete-list-styles.scss +2 -0
  16. package/autocomplete/lib/autocompletesurface/autocomplete-surface-styles.scss +2 -0
  17. package/autocomplete/lib/filled-styles.css.js +1 -1
  18. package/autocomplete/lib/filled-styles.css.js.map +1 -1
  19. package/autocomplete/lib/filled-styles.scss +2 -0
  20. package/autocomplete/lib/outlined-styles.css.js +1 -1
  21. package/autocomplete/lib/outlined-styles.css.js.map +1 -1
  22. package/autocomplete/lib/outlined-styles.scss +2 -0
  23. package/autocomplete/lib/shared-styles.scss +2 -0
  24. package/autocomplete/outlined-autocomplete.d.ts +0 -2
  25. package/autocomplete/outlined-autocomplete.js +0 -7
  26. package/autocomplete/outlined-autocomplete.js.map +1 -1
  27. package/badge/badge.js.map +1 -1
  28. package/badge/lib/_badge.scss +10 -13
  29. package/badge/lib/badge-styles.css.js +1 -1
  30. package/badge/lib/badge-styles.css.js.map +1 -1
  31. package/badge/lib/badge-styles.scss +2 -0
  32. package/badge/lib/badge.js.map +1 -1
  33. package/button/elevated-button.js.map +1 -1
  34. package/button/elevated-link-button.js.map +1 -1
  35. package/button/filled-button.js.map +1 -1
  36. package/button/filled-link-button.js.map +1 -1
  37. package/button/lib/_elevated-button.scss +10 -15
  38. package/button/lib/_elevation.scss +4 -1
  39. package/button/lib/_filled-button.scss +12 -14
  40. package/button/lib/_icon.scss +1 -0
  41. package/button/lib/_outlined-button.scss +10 -15
  42. package/button/lib/_shared.scss +14 -19
  43. package/button/lib/_text-button.scss +12 -14
  44. package/button/lib/_tonal-button.scss +10 -15
  45. package/button/lib/button.js.map +1 -1
  46. package/button/lib/elevated-styles.css.js +1 -1
  47. package/button/lib/elevated-styles.css.js.map +1 -1
  48. package/button/lib/elevated-styles.scss +2 -0
  49. package/button/lib/filled-styles.css.js +1 -1
  50. package/button/lib/filled-styles.css.js.map +1 -1
  51. package/button/lib/filled-styles.scss +2 -0
  52. package/button/lib/link-button.js.map +1 -1
  53. package/button/lib/outlined-styles.css.js +1 -1
  54. package/button/lib/outlined-styles.css.js.map +1 -1
  55. package/button/lib/outlined-styles.scss +2 -0
  56. package/button/lib/shared-elevation-styles.scss +2 -0
  57. package/button/lib/shared-styles.css.js +1 -1
  58. package/button/lib/shared-styles.css.js.map +1 -1
  59. package/button/lib/shared-styles.scss +2 -0
  60. package/button/lib/text-styles.css.js +1 -1
  61. package/button/lib/text-styles.css.js.map +1 -1
  62. package/button/lib/text-styles.scss +2 -0
  63. package/button/lib/tonal-styles.css.js +1 -1
  64. package/button/lib/tonal-styles.css.js.map +1 -1
  65. package/button/lib/tonal-styles.scss +2 -0
  66. package/button/outlined-button.js.map +1 -1
  67. package/button/outlined-link-button.js.map +1 -1
  68. package/button/text-button.js.map +1 -1
  69. package/button/text-link-button.js.map +1 -1
  70. package/button/tonal-button.js.map +1 -1
  71. package/button/tonal-link-button.js.map +1 -1
  72. package/checkbox/checkbox.js.map +1 -1
  73. package/checkbox/lib/_checkbox.scss +26 -31
  74. package/checkbox/lib/checkbox-styles.css.js +1 -1
  75. package/checkbox/lib/checkbox-styles.css.js.map +1 -1
  76. package/checkbox/lib/checkbox-styles.scss +2 -0
  77. package/checkbox/lib/checkbox.js +6 -6
  78. package/checkbox/lib/checkbox.js.map +1 -1
  79. package/checkbox/lib/forced-colors-styles.scss +2 -0
  80. package/chips/action/delete-action.js.map +1 -1
  81. package/chips/action/lib/action.js +4 -4
  82. package/chips/action/lib/action.js.map +1 -1
  83. package/chips/action/lib/link-action.js +1 -1
  84. package/chips/action/lib/link-action.js.map +1 -1
  85. package/chips/action/lib/primary-action.js.map +1 -1
  86. package/chips/action/lib/selectable-action.js.map +1 -1
  87. package/chips/action/link-action.js.map +1 -1
  88. package/chips/action/presentational-action.js.map +1 -1
  89. package/chips/action/primary-action.js.map +1 -1
  90. package/chips/action/selectable-action.js.map +1 -1
  91. package/chips/chip/lib/_assist-chip-theme.scss +4 -0
  92. package/chips/chip/lib/_chip-theme.scss +29 -40
  93. package/chips/chip/lib/_chip.scss +2 -0
  94. package/chips/chip/lib/_filter-chip-theme.scss +4 -0
  95. package/chips/chip/lib/_input-chip-theme.scss +4 -0
  96. package/chips/chip/lib/_suggestion-chip-theme.scss +4 -0
  97. package/chips/chip/lib/chip.js.map +1 -1
  98. package/chips/chip/lib/foundation.js +4 -4
  99. package/chips/chip/lib/foundation.js.map +1 -1
  100. package/chips/chip/lib/link-chip.js.map +1 -1
  101. package/chips/chip/lib/selectable-chip.js.map +1 -1
  102. package/chips/chip/lib/types.d.ts +2 -2
  103. package/chips/chipset/lib/_chip-set-theme.scss +2 -0
  104. package/chips/chipset/lib/_chip-set.scss +2 -0
  105. package/chips/chipset/lib/foundation.js +3 -3
  106. package/chips/chipset/lib/foundation.js.map +1 -1
  107. package/chips/chipset/lib/types.d.ts +3 -3
  108. package/controller/events.js +4 -0
  109. package/controller/events.js.map +1 -1
  110. package/controller/form-controller.d.ts +1 -1
  111. package/controller/form-controller.js +21 -29
  112. package/controller/form-controller.js.map +1 -1
  113. package/dialog/dialog.js.map +1 -1
  114. package/dialog/harness.d.ts +2 -2
  115. package/dialog/harness.js +11 -8
  116. package/dialog/harness.js.map +1 -1
  117. package/dialog/lib/_dialog.scss +7 -11
  118. package/dialog/lib/_tokens.scss +9 -6
  119. package/dialog/lib/dialog-styles.css.js +1 -1
  120. package/dialog/lib/dialog-styles.css.js.map +1 -1
  121. package/dialog/lib/dialog-styles.scss +2 -0
  122. package/dialog/lib/dialog.js +9 -7
  123. package/dialog/lib/dialog.js.map +1 -1
  124. package/divider/divider.js.map +1 -1
  125. package/divider/lib/_divider.scss +2 -0
  126. package/divider/lib/divider-styles.scss +2 -0
  127. package/divider/lib/divider.js.map +1 -1
  128. package/elevation/elevation.js.map +1 -1
  129. package/elevation/lib/_elevation.scss +4 -0
  130. package/elevation/lib/_md-comp-elevation.scss +4 -0
  131. package/elevation/lib/elevation-styles.scss +2 -0
  132. package/elevation/lib/elevation.js.map +1 -1
  133. package/fab/fab-extended.js.map +1 -1
  134. package/fab/fab.js.map +1 -1
  135. package/fab/lib/_fab-extended.scss +18 -11
  136. package/fab/lib/_fab.scss +7 -2
  137. package/fab/lib/_shared.scss +16 -8
  138. package/fab/lib/fab-extended-styles.css.js +1 -1
  139. package/fab/lib/fab-extended-styles.css.js.map +1 -1
  140. package/fab/lib/fab-extended-styles.scss +2 -0
  141. package/fab/lib/fab-shared-styles.css.js +1 -1
  142. package/fab/lib/fab-shared-styles.css.js.map +1 -1
  143. package/fab/lib/fab-shared-styles.scss +2 -0
  144. package/fab/lib/fab-shared.d.ts +9 -15
  145. package/fab/lib/fab-shared.js +21 -33
  146. package/fab/lib/fab-shared.js.map +1 -1
  147. package/fab/lib/fab-styles.css.js +1 -1
  148. package/fab/lib/fab-styles.css.js.map +1 -1
  149. package/fab/lib/fab-styles.scss +2 -0
  150. package/field/filled-field.d.ts +1 -1
  151. package/field/filled-field.js +1 -1
  152. package/field/filled-field.js.map +1 -1
  153. package/field/harness.js +1 -1
  154. package/field/harness.js.map +1 -1
  155. package/field/lib/_content.scss +120 -57
  156. package/field/lib/_filled-field.scss +73 -130
  157. package/field/lib/_label.scss +27 -65
  158. package/field/lib/_md-comp-filled-field.scss +127 -56
  159. package/field/lib/_md-comp-outlined-field.scss +104 -52
  160. package/field/lib/_outlined-field.scss +108 -120
  161. package/field/lib/_shared.scss +27 -45
  162. package/field/lib/_supporting-text.scss +25 -52
  163. package/field/lib/field.d.ts +15 -31
  164. package/field/lib/field.js +130 -139
  165. package/field/lib/field.js.map +1 -1
  166. package/field/lib/filled-field.d.ts +5 -16
  167. package/field/lib/filled-field.js +8 -70
  168. package/field/lib/filled-field.js.map +1 -1
  169. package/field/lib/filled-styles.css.js +1 -1
  170. package/field/lib/filled-styles.css.js.map +1 -1
  171. package/field/lib/outlined-field.d.ts +4 -10
  172. package/field/lib/outlined-field.js +13 -33
  173. package/field/lib/outlined-field.js.map +1 -1
  174. package/field/lib/outlined-styles.css.js +1 -1
  175. package/field/lib/outlined-styles.css.js.map +1 -1
  176. package/field/lib/shared-styles.css.js +1 -1
  177. package/field/lib/shared-styles.css.js.map +1 -1
  178. package/field/outlined-field.d.ts +1 -1
  179. package/field/outlined-field.js +1 -1
  180. package/field/outlined-field.js.map +1 -1
  181. package/focus/focus-ring.js.map +1 -1
  182. package/focus/lib/_focus-ring.scss +7 -13
  183. package/focus/lib/_md-comp-focus-ring.scss +4 -0
  184. package/focus/lib/focus-ring-styles.css.js +1 -1
  185. package/focus/lib/focus-ring-styles.css.js.map +1 -1
  186. package/focus/lib/focus-ring-styles.scss +2 -0
  187. package/focus/lib/focus-ring.js.map +1 -1
  188. package/icon/icon.js.map +1 -1
  189. package/icon/lib/_icon.scss +3 -1
  190. package/icon/lib/_md-comp-icon.scss +1 -2
  191. package/icon/lib/icon-styles.css.js +1 -1
  192. package/icon/lib/icon-styles.css.js.map +1 -1
  193. package/icon/lib/icon-styles.scss +2 -0
  194. package/iconbutton/filled-icon-button-toggle.js.map +1 -1
  195. package/iconbutton/filled-icon-button.js.map +1 -1
  196. package/iconbutton/filled-link-icon-button.js.map +1 -1
  197. package/iconbutton/filled-tonal-icon-button-toggle.js.map +1 -1
  198. package/iconbutton/filled-tonal-icon-button.js.map +1 -1
  199. package/iconbutton/filled-tonal-link-icon-button.js.map +1 -1
  200. package/iconbutton/lib/_filled-icon-button.scss +19 -19
  201. package/iconbutton/lib/_filled-tonal-icon-button.scss +19 -19
  202. package/iconbutton/lib/_outlined-icon-button.scss +20 -16
  203. package/iconbutton/lib/_shared.scss +8 -8
  204. package/iconbutton/lib/_standard-icon-button.scss +21 -18
  205. package/iconbutton/lib/filled-styles.css.js +1 -1
  206. package/iconbutton/lib/filled-styles.css.js.map +1 -1
  207. package/iconbutton/lib/filled-styles.scss +2 -0
  208. package/iconbutton/lib/filled-tonal-styles.css.js +1 -1
  209. package/iconbutton/lib/filled-tonal-styles.css.js.map +1 -1
  210. package/iconbutton/lib/filled-tonal-styles.scss +2 -0
  211. package/iconbutton/lib/icon-button-toggle.js.map +1 -1
  212. package/iconbutton/lib/icon-button.js.map +1 -1
  213. package/iconbutton/lib/link-icon-button.js.map +1 -1
  214. package/iconbutton/lib/outlined-styles.css.js +1 -1
  215. package/iconbutton/lib/outlined-styles.css.js.map +1 -1
  216. package/iconbutton/lib/outlined-styles.scss +2 -0
  217. package/iconbutton/lib/shared-styles.scss +2 -0
  218. package/iconbutton/lib/standard-styles.css.js +1 -1
  219. package/iconbutton/lib/standard-styles.css.js.map +1 -1
  220. package/iconbutton/lib/standard-styles.scss +2 -0
  221. package/iconbutton/outlined-icon-button-toggle.js.map +1 -1
  222. package/iconbutton/outlined-icon-button.js.map +1 -1
  223. package/iconbutton/outlined-link-icon-button.js.map +1 -1
  224. package/iconbutton/standard-icon-button-toggle.js.map +1 -1
  225. package/iconbutton/standard-icon-button.js.map +1 -1
  226. package/iconbutton/standard-link-icon-button.js.map +1 -1
  227. package/list/lib/_list.scss +25 -11
  228. package/list/lib/list-styles.scss +2 -0
  229. package/list/lib/list.js +3 -1
  230. package/list/lib/list.js.map +1 -1
  231. package/list/lib/listitem/_list-item.scss +320 -128
  232. package/list/lib/listitem/list-item-styles.css.js +1 -1
  233. package/list/lib/listitem/list-item-styles.css.js.map +1 -1
  234. package/list/lib/listitem/list-item-styles.scss +2 -0
  235. package/list/lib/listitem/list-item.d.ts +8 -7
  236. package/list/lib/listitem/list-item.js +25 -27
  237. package/list/lib/listitem/list-item.js.map +1 -1
  238. package/list/lib/listitemlink/list-item-link.js.map +1 -1
  239. package/list/list-item-link.d.ts +18 -0
  240. package/list/list-item-link.js +19 -2
  241. package/list/list-item-link.js.map +1 -1
  242. package/list/list-item.d.ts +19 -0
  243. package/list/list-item.js +20 -2
  244. package/list/list-item.js.map +1 -1
  245. package/list/list.js.map +1 -1
  246. package/menu/lib/_menu.scss +32 -8
  247. package/menu/lib/menu-styles.css.js +1 -1
  248. package/menu/lib/menu-styles.css.js.map +1 -1
  249. package/menu/lib/menu-styles.scss +2 -0
  250. package/menu/lib/menu.d.ts +1 -1
  251. package/menu/lib/menu.js +8 -7
  252. package/menu/lib/menu.js.map +1 -1
  253. package/menu/lib/menuitem/_menu-item.scss +44 -76
  254. package/menu/lib/menuitem/menu-item-styles.css.js +1 -1
  255. package/menu/lib/menuitem/menu-item-styles.css.js.map +1 -1
  256. package/menu/lib/menuitem/menu-item-styles.scss +2 -0
  257. package/menu/lib/menuitem/menu-item.js.map +1 -1
  258. package/menu/lib/menuitemlink/menu-item-link.js.map +1 -1
  259. package/menu/lib/shared.d.ts +3 -3
  260. package/menu/lib/submenuitem/sub-menu-item.d.ts +0 -1
  261. package/menu/lib/submenuitem/sub-menu-item.js +0 -1
  262. package/menu/lib/submenuitem/sub-menu-item.js.map +1 -1
  263. package/menu/lib/surfacePositionController.d.ts +1 -1
  264. package/menu/lib/typeaheadController.d.ts +1 -1
  265. package/menu/menu-item-link.js +1 -2
  266. package/menu/menu-item-link.js.map +1 -1
  267. package/menu/menu-item.js +2 -3
  268. package/menu/menu-item.js.map +1 -1
  269. package/menu/menu.js.map +1 -1
  270. package/menu/sub-menu-item.js +1 -2
  271. package/menu/sub-menu-item.js.map +1 -1
  272. package/menusurface/lib/_md-comp-menu-surface.scss +5 -1
  273. package/menusurface/lib/_menu-surface.scss +4 -0
  274. package/menusurface/lib/foundation.js +31 -31
  275. package/menusurface/lib/foundation.js.map +1 -1
  276. package/menusurface/lib/menu-surface-styles.scss +2 -0
  277. package/menusurface/lib/menu-surface.d.ts +2 -2
  278. package/menusurface/lib/menu-surface.js.map +1 -1
  279. package/menusurface/menu-surface.js.map +1 -1
  280. package/navigationbar/lib/_navigation-bar.scss +2 -0
  281. package/navigationbar/lib/constants.d.ts +1 -1
  282. package/navigationbar/lib/navigation-bar-styles.scss +2 -0
  283. package/navigationbar/lib/navigation-bar.js.map +1 -1
  284. package/navigationbar/navigation-bar.js.map +1 -1
  285. package/navigationdrawer/lib/_navigation-drawer-modal.scss +11 -2
  286. package/navigationdrawer/lib/_navigation-drawer.scss +10 -5
  287. package/navigationdrawer/lib/_shared.scss +4 -8
  288. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js +1 -1
  289. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js.map +1 -1
  290. package/navigationdrawer/lib/navigation-drawer-modal-styles.scss +2 -0
  291. package/navigationdrawer/lib/navigation-drawer-modal.js.map +1 -1
  292. package/navigationdrawer/lib/navigation-drawer-styles.css.js +1 -1
  293. package/navigationdrawer/lib/navigation-drawer-styles.css.js.map +1 -1
  294. package/navigationdrawer/lib/navigation-drawer-styles.scss +2 -0
  295. package/navigationdrawer/lib/navigation-drawer.js.map +1 -1
  296. package/navigationdrawer/lib/shared-styles.scss +2 -0
  297. package/navigationdrawer/navigation-drawer-modal.js.map +1 -1
  298. package/navigationdrawer/navigation-drawer.js.map +1 -1
  299. package/navigationtab/lib/_navigation-tab.scss +26 -22
  300. package/navigationtab/lib/navigation-tab-styles.css.js +1 -1
  301. package/navigationtab/lib/navigation-tab-styles.css.js.map +1 -1
  302. package/navigationtab/lib/navigation-tab-styles.scss +2 -0
  303. package/navigationtab/lib/navigation-tab.js +4 -4
  304. package/navigationtab/lib/navigation-tab.js.map +1 -1
  305. package/navigationtab/navigation-tab.js.map +1 -1
  306. package/package.json +2 -2
  307. package/radio/lib/_radio.scss +16 -14
  308. package/radio/lib/forced-colors-styles.scss +2 -0
  309. package/radio/lib/radio-styles.css.js +1 -1
  310. package/radio/lib/radio-styles.css.js.map +1 -1
  311. package/radio/lib/radio-styles.scss +2 -0
  312. package/radio/lib/radio.js +21 -21
  313. package/radio/lib/radio.js.map +1 -1
  314. package/radio/radio.js.map +1 -1
  315. package/ripple/directive.d.ts +1 -33
  316. package/ripple/directive.js +7 -194
  317. package/ripple/directive.js.map +1 -1
  318. package/ripple/lib/_md-comp-ripple.scss +20 -19
  319. package/ripple/lib/_ripple.scss +20 -20
  320. package/ripple/lib/ripple-styles.css.js +1 -1
  321. package/ripple/lib/ripple-styles.css.js.map +1 -1
  322. package/ripple/lib/ripple-styles.scss +2 -0
  323. package/ripple/lib/ripple.d.ts +50 -48
  324. package/ripple/lib/ripple.js +214 -76
  325. package/ripple/lib/ripple.js.map +1 -1
  326. package/ripple/ripple.d.ts +9 -1
  327. package/ripple/ripple.js +9 -1
  328. package/ripple/ripple.js.map +1 -1
  329. package/sass/_assert.scss +2 -0
  330. package/sass/_color-scheme.scss +4 -0
  331. package/sass/_color.scss +4 -0
  332. package/sass/_elevation.scss +4 -0
  333. package/sass/_feature-flags.scss +2 -0
  334. package/sass/_map-ext.scss +2 -0
  335. package/sass/_resolvers.scss +4 -4
  336. package/sass/_shape.scss +75 -27
  337. package/sass/_string-ext.scss +44 -0
  338. package/sass/_theme.scss +4 -0
  339. package/sass/_typography.scss +18 -93
  340. package/sass/_var.scss +4 -0
  341. package/segmentedbutton/lib/_outlined-segmented-button.scss +4 -0
  342. package/segmentedbutton/lib/_shared.scss +18 -22
  343. package/segmentedbutton/lib/outlined-styles.css.js +1 -1
  344. package/segmentedbutton/lib/outlined-styles.css.js.map +1 -1
  345. package/segmentedbutton/lib/outlined-styles.scss +2 -0
  346. package/segmentedbutton/lib/segmented-button.js +4 -4
  347. package/segmentedbutton/lib/segmented-button.js.map +1 -1
  348. package/segmentedbutton/lib/shared-styles.css.js +1 -1
  349. package/segmentedbutton/lib/shared-styles.css.js.map +1 -1
  350. package/segmentedbutton/lib/shared-styles.scss +2 -0
  351. package/segmentedbutton/outlined-segmented-button.js.map +1 -1
  352. package/segmentedbuttonset/lib/_outlined-segmented-button-set.scss +9 -5
  353. package/segmentedbuttonset/lib/_shared.scss +0 -13
  354. package/segmentedbuttonset/lib/outlined-styles.css.js +1 -1
  355. package/segmentedbuttonset/lib/outlined-styles.css.js.map +1 -1
  356. package/segmentedbuttonset/lib/outlined-styles.scss +2 -0
  357. package/segmentedbuttonset/lib/segmented-button-set.js.map +1 -1
  358. package/segmentedbuttonset/lib/shared-styles.scss +2 -0
  359. package/segmentedbuttonset/outlined-segmented-button-set.js.map +1 -1
  360. package/{list/lib/listitem/list-item-private-styles.scss → slider/_slider.scss} +1 -3
  361. package/slider/harness.d.ts +20 -0
  362. package/slider/harness.js +63 -0
  363. package/slider/harness.js.map +1 -0
  364. package/slider/lib/_slider.scss +503 -0
  365. package/slider/lib/_tokens.scss +66 -0
  366. package/slider/lib/forced-colors-styles.css.js +9 -0
  367. package/slider/lib/forced-colors-styles.css.js.map +1 -0
  368. package/slider/lib/forced-colors-styles.scss +53 -0
  369. package/slider/lib/slider-styles.css.js +9 -0
  370. package/slider/lib/slider-styles.css.js.map +1 -0
  371. package/{menu/lib/menuitem/menu-item-private-styles.scss → slider/lib/slider-styles.scss} +2 -2
  372. package/slider/lib/slider.d.ts +158 -0
  373. package/slider/lib/slider.js +575 -0
  374. package/slider/lib/slider.js.map +1 -0
  375. package/slider/slider.d.ts +28 -0
  376. package/slider/slider.js +32 -0
  377. package/slider/slider.js.map +1 -0
  378. package/switch/lib/README.md +55 -0
  379. package/switch/lib/_handle.scss +17 -18
  380. package/switch/lib/_icon.scss +4 -0
  381. package/switch/lib/_switch.scss +11 -18
  382. package/switch/lib/_track.scss +2 -0
  383. package/switch/lib/switch-styles.css.js +1 -1
  384. package/switch/lib/switch-styles.css.js.map +1 -1
  385. package/switch/lib/switch-styles.scss +2 -0
  386. package/switch/lib/switch.js +9 -9
  387. package/switch/lib/switch.js.map +1 -1
  388. package/switch/switch.js.map +1 -1
  389. package/textfield/filled-text-field.d.ts +1 -1
  390. package/textfield/filled-text-field.js +1 -2
  391. package/textfield/filled-text-field.js.map +1 -1
  392. package/textfield/harness.js +1 -1
  393. package/textfield/harness.js.map +1 -1
  394. package/textfield/lib/_filled-text-field.scss +116 -110
  395. package/textfield/lib/_icon.scss +14 -73
  396. package/textfield/lib/_input.scss +15 -36
  397. package/textfield/lib/_outlined-text-field.scss +107 -103
  398. package/textfield/lib/_shared.scss +10 -29
  399. package/textfield/lib/filled-forced-colors-styles.scss +2 -0
  400. package/textfield/lib/filled-styles.css.js +1 -1
  401. package/textfield/lib/filled-styles.css.js.map +1 -1
  402. package/textfield/lib/filled-styles.scss +2 -0
  403. package/textfield/lib/filled-text-field.d.ts +6 -5
  404. package/textfield/lib/filled-text-field.js +8 -7
  405. package/textfield/lib/filled-text-field.js.map +1 -1
  406. package/textfield/lib/outlined-forced-colors-styles.scss +2 -0
  407. package/textfield/lib/outlined-styles.css.js +1 -1
  408. package/textfield/lib/outlined-styles.css.js.map +1 -1
  409. package/textfield/lib/outlined-styles.scss +2 -0
  410. package/textfield/lib/outlined-text-field.d.ts +6 -5
  411. package/textfield/lib/outlined-text-field.js +8 -7
  412. package/textfield/lib/outlined-text-field.js.map +1 -1
  413. package/textfield/lib/shared-styles.css.js +1 -1
  414. package/textfield/lib/shared-styles.css.js.map +1 -1
  415. package/textfield/lib/shared-styles.scss +2 -0
  416. package/textfield/lib/text-field.d.ts +40 -88
  417. package/textfield/lib/text-field.js +194 -270
  418. package/textfield/lib/text-field.js.map +1 -1
  419. package/textfield/outlined-text-field.d.ts +1 -1
  420. package/textfield/outlined-text-field.js +1 -2
  421. package/textfield/outlined-text-field.js.map +1 -1
  422. package/tokens/_index.scss +1 -1
  423. package/tokens/{v0_152 → v0_160}/_md-comp-assist-chip.scss +1 -1
  424. package/tokens/{v0_152 → v0_160}/_md-comp-badge.scss +1 -1
  425. package/tokens/{v0_152 → v0_160}/_md-comp-banner.scss +1 -1
  426. package/tokens/{v0_152 → v0_160}/_md-comp-bottom-app-bar.scss +1 -1
  427. package/tokens/{v0_152 → v0_160}/_md-comp-carousel-item.scss +1 -1
  428. package/tokens/{v0_152 → v0_160}/_md-comp-checkbox.scss +4 -15
  429. package/tokens/{v0_152 → v0_160}/_md-comp-circular-progress-indicator.scss +1 -1
  430. package/tokens/{v0_152 → v0_160}/_md-comp-data-table.scss +1 -3
  431. package/tokens/{v0_152 → v0_160}/_md-comp-date-input-modal.scss +10 -10
  432. package/tokens/{v0_152 → v0_160}/_md-comp-date-picker-docked.scss +23 -23
  433. package/tokens/{v0_152 → v0_160}/_md-comp-date-picker-modal.scss +34 -34
  434. package/tokens/{v0_152 → v0_160}/_md-comp-dialog.scss +1 -1
  435. package/tokens/{v0_152 → v0_160}/_md-comp-divider.scss +1 -1
  436. package/tokens/{v0_152 → v0_160}/_md-comp-elevated-button.scss +1 -1
  437. package/tokens/{v0_152 → v0_160}/_md-comp-elevated-card.scss +1 -1
  438. package/tokens/{v0_152 → v0_160}/_md-comp-extended-fab-branded.scss +1 -1
  439. package/tokens/{v0_152 → v0_160}/_md-comp-extended-fab-primary.scss +1 -1
  440. package/tokens/{v0_152 → v0_160}/_md-comp-extended-fab-secondary.scss +1 -1
  441. package/tokens/{v0_152 → v0_160}/_md-comp-extended-fab-surface.scss +1 -1
  442. package/tokens/{v0_152 → v0_160}/_md-comp-extended-fab-tertiary.scss +1 -1
  443. package/tokens/{v0_152 → v0_160}/_md-comp-fab-branded-large.scss +1 -1
  444. package/tokens/{v0_152 → v0_160}/_md-comp-fab-branded.scss +1 -1
  445. package/tokens/{v0_152 → v0_160}/_md-comp-fab-primary-large.scss +1 -1
  446. package/tokens/{v0_152 → v0_160}/_md-comp-fab-primary-small.scss +1 -1
  447. package/tokens/{v0_152 → v0_160}/_md-comp-fab-primary.scss +1 -1
  448. package/tokens/{v0_152 → v0_160}/_md-comp-fab-secondary-large.scss +1 -1
  449. package/tokens/{v0_152 → v0_160}/_md-comp-fab-secondary-small.scss +1 -1
  450. package/tokens/{v0_152 → v0_160}/_md-comp-fab-secondary.scss +1 -1
  451. package/tokens/{v0_152 → v0_160}/_md-comp-fab-surface-large.scss +1 -1
  452. package/tokens/{v0_152 → v0_160}/_md-comp-fab-surface-small.scss +1 -1
  453. package/tokens/{v0_152 → v0_160}/_md-comp-fab-surface.scss +1 -1
  454. package/tokens/{v0_152 → v0_160}/_md-comp-fab-tertiary-large.scss +1 -1
  455. package/tokens/{v0_152 → v0_160}/_md-comp-fab-tertiary-small.scss +1 -1
  456. package/tokens/{v0_152 → v0_160}/_md-comp-fab-tertiary.scss +1 -1
  457. package/tokens/{v0_152 → v0_160}/_md-comp-filled-autocomplete.scss +1 -1
  458. package/tokens/{v0_152 → v0_160}/_md-comp-filled-button.scss +1 -1
  459. package/tokens/{v0_152 → v0_160}/_md-comp-filled-card.scss +1 -1
  460. package/tokens/{v0_152 → v0_160}/_md-comp-filled-icon-button.scss +1 -1
  461. package/tokens/{v0_152 → v0_160}/_md-comp-filled-menu-button.scss +1 -1
  462. package/tokens/{v0_152 → v0_160}/_md-comp-filled-select.scss +1 -1
  463. package/tokens/{v0_152 → v0_160}/_md-comp-filled-text-field.scss +1 -1
  464. package/tokens/{v0_152 → v0_160}/_md-comp-filled-tonal-button.scss +1 -1
  465. package/tokens/{v0_152 → v0_160}/_md-comp-filled-tonal-icon-button.scss +1 -1
  466. package/tokens/{v0_152 → v0_160}/_md-comp-filter-chip.scss +1 -1
  467. package/tokens/{v0_152 → v0_160}/_md-comp-full-screen-dialog.scss +1 -1
  468. package/tokens/{v0_152 → v0_160}/_md-comp-icon-button.scss +1 -1
  469. package/tokens/{v0_152 → v0_160}/_md-comp-input-chip.scss +1 -1
  470. package/tokens/{v0_152 → v0_160}/_md-comp-linear-progress-indicator.scss +1 -1
  471. package/tokens/{v0_152 → v0_160}/_md-comp-list.scss +1 -1
  472. package/tokens/{v0_152 → v0_160}/_md-comp-menu.scss +1 -1
  473. package/tokens/{v0_152 → v0_160}/_md-comp-navigation-bar.scss +1 -1
  474. package/tokens/{v0_152 → v0_160}/_md-comp-navigation-drawer.scss +1 -1
  475. package/tokens/{v0_152 → v0_160}/_md-comp-navigation-rail.scss +1 -1
  476. package/tokens/{v0_152 → v0_160}/_md-comp-outlined-autocomplete.scss +1 -1
  477. package/tokens/{v0_152 → v0_160}/_md-comp-outlined-button.scss +1 -1
  478. package/tokens/{v0_152 → v0_160}/_md-comp-outlined-card.scss +1 -1
  479. package/tokens/{v0_152 → v0_160}/_md-comp-outlined-icon-button.scss +1 -1
  480. package/tokens/{v0_152 → v0_160}/_md-comp-outlined-menu-button.scss +1 -1
  481. package/tokens/{v0_152 → v0_160}/_md-comp-outlined-segmented-button.scss +1 -1
  482. package/tokens/{v0_152 → v0_160}/_md-comp-outlined-select.scss +1 -1
  483. package/tokens/{v0_152 → v0_160}/_md-comp-outlined-text-field.scss +1 -1
  484. package/tokens/{v0_152 → v0_160}/_md-comp-plain-tooltip.scss +1 -1
  485. package/tokens/{v0_152 → v0_160}/_md-comp-primary-navigation-tab.scss +1 -3
  486. package/tokens/{v0_152 → v0_160}/_md-comp-radio-button.scss +1 -1
  487. package/tokens/{v0_152 → v0_160}/_md-comp-rich-tooltip.scss +1 -1
  488. package/tokens/{v0_152 → v0_160}/_md-comp-scrim.scss +1 -1
  489. package/tokens/{v0_152 → v0_160}/_md-comp-search-bar.scss +1 -1
  490. package/tokens/{v0_152 → v0_160}/_md-comp-search-view.scss +1 -1
  491. package/tokens/{v0_152 → v0_160}/_md-comp-secondary-navigation-tab.scss +1 -3
  492. package/tokens/{v0_152 → v0_160}/_md-comp-sheet-bottom.scss +1 -1
  493. package/tokens/{v0_152 → v0_160}/_md-comp-sheet-floating.scss +1 -1
  494. package/tokens/{v0_152 → v0_160}/_md-comp-sheet-side.scss +10 -10
  495. package/tokens/{v0_152 → v0_160}/_md-comp-slider.scss +1 -1
  496. package/tokens/{v0_152 → v0_160}/_md-comp-snackbar.scss +1 -1
  497. package/tokens/{v0_152 → v0_160}/_md-comp-standard-menu-button.scss +1 -1
  498. package/tokens/{v0_152 → v0_160}/_md-comp-suggestion-chip.scss +1 -1
  499. package/tokens/{v0_152 → v0_160}/_md-comp-switch.scss +1 -1
  500. package/tokens/{v0_152 → v0_160}/_md-comp-text-button.scss +1 -1
  501. package/tokens/{v0_152 → v0_160}/_md-comp-time-input.scss +1 -1
  502. package/tokens/{v0_152 → v0_160}/_md-comp-time-picker.scss +1 -1
  503. package/tokens/{v0_152 → v0_160}/_md-comp-top-app-bar-large.scss +1 -1
  504. package/tokens/{v0_152 → v0_160}/_md-comp-top-app-bar-medium.scss +1 -1
  505. package/tokens/{v0_152 → v0_160}/_md-comp-top-app-bar-small-centered.scss +1 -1
  506. package/tokens/{v0_152 → v0_160}/_md-comp-top-app-bar-small.scss +1 -1
  507. package/tokens/{v0_152 → v0_160}/_md-ref-palette.scss +1 -1
  508. package/tokens/{v0_152 → v0_160}/_md-ref-typeface.scss +1 -1
  509. package/tokens/{v0_152 → v0_160}/_md-sys-color.scss +217 -1
  510. package/tokens/{v0_152 → v0_160}/_md-sys-elevation.scss +1 -1
  511. package/tokens/{v0_152 → v0_160}/_md-sys-motion.scss +1 -1
  512. package/tokens/{v0_152 → v0_160}/_md-sys-shape.scss +1 -1
  513. package/tokens/{v0_152 → v0_160}/_md-sys-state.scss +1 -1
  514. package/tokens/{v0_152 → v0_160}/_md-sys-typescale.scss +1 -1
  515. package/tokens/v0_161/_index.scss +107 -0
  516. package/tokens/v0_161/_md-comp-assist-chip.scss +109 -0
  517. package/tokens/v0_161/_md-comp-badge.scss +58 -0
  518. package/tokens/v0_161/_md-comp-banner.scss +75 -0
  519. package/tokens/v0_161/_md-comp-bottom-app-bar.scss +35 -0
  520. package/tokens/v0_161/_md-comp-carousel-item.scss +65 -0
  521. package/tokens/v0_161/_md-comp-checkbox.scss +126 -0
  522. package/tokens/v0_161/_md-comp-circular-progress-indicator.scss +39 -0
  523. package/tokens/v0_161/_md-comp-data-table.scss +96 -0
  524. package/tokens/v0_161/_md-comp-date-input-modal.scss +89 -0
  525. package/tokens/v0_161/_md-comp-date-picker-docked.scss +246 -0
  526. package/tokens/v0_161/_md-comp-date-picker-modal.scss +305 -0
  527. package/tokens/v0_161/_md-comp-dialog.scss +123 -0
  528. package/tokens/v0_161/_md-comp-divider.scss +25 -0
  529. package/tokens/v0_161/_md-comp-elevated-button.scss +91 -0
  530. package/tokens/v0_161/_md-comp-elevated-card.scss +59 -0
  531. package/tokens/v0_161/_md-comp-extended-fab-branded.scss +86 -0
  532. package/tokens/v0_161/_md-comp-extended-fab-primary.scss +94 -0
  533. package/tokens/v0_161/_md-comp-extended-fab-secondary.scss +95 -0
  534. package/tokens/v0_161/_md-comp-extended-fab-surface.scss +90 -0
  535. package/tokens/v0_161/_md-comp-extended-fab-tertiary.scss +95 -0
  536. package/tokens/v0_161/_md-comp-fab-branded-large.scss +60 -0
  537. package/tokens/v0_161/_md-comp-fab-branded.scss +60 -0
  538. package/tokens/v0_161/_md-comp-fab-primary-large.scss +65 -0
  539. package/tokens/v0_161/_md-comp-fab-primary-small.scss +65 -0
  540. package/tokens/v0_161/_md-comp-fab-primary.scss +65 -0
  541. package/tokens/v0_161/_md-comp-fab-secondary-large.scss +66 -0
  542. package/tokens/v0_161/_md-comp-fab-secondary-small.scss +66 -0
  543. package/tokens/v0_161/_md-comp-fab-secondary.scss +66 -0
  544. package/tokens/v0_161/_md-comp-fab-surface-large.scss +64 -0
  545. package/tokens/v0_161/_md-comp-fab-surface-small.scss +64 -0
  546. package/tokens/v0_161/_md-comp-fab-surface.scss +64 -0
  547. package/tokens/v0_161/_md-comp-fab-tertiary-large.scss +66 -0
  548. package/tokens/v0_161/_md-comp-fab-tertiary-small.scss +66 -0
  549. package/tokens/v0_161/_md-comp-fab-tertiary.scss +66 -0
  550. package/tokens/v0_161/_md-comp-filled-autocomplete.scss +267 -0
  551. package/tokens/v0_161/_md-comp-filled-button.scss +89 -0
  552. package/tokens/v0_161/_md-comp-filled-card.scss +58 -0
  553. package/tokens/v0_161/_md-comp-filled-icon-button.scss +79 -0
  554. package/tokens/v0_161/_md-comp-filled-menu-button.scss +98 -0
  555. package/tokens/v0_161/_md-comp-filled-select.scss +272 -0
  556. package/tokens/v0_161/_md-comp-filled-text-field.scss +189 -0
  557. package/tokens/v0_161/_md-comp-filled-tonal-button.scss +99 -0
  558. package/tokens/v0_161/_md-comp-filled-tonal-icon-button.scss +86 -0
  559. package/tokens/v0_161/_md-comp-filter-chip.scss +209 -0
  560. package/tokens/v0_161/_md-comp-full-screen-dialog.scss +111 -0
  561. package/tokens/v0_161/_md-comp-icon-button.scss +70 -0
  562. package/tokens/v0_161/_md-comp-input-chip.scss +184 -0
  563. package/tokens/v0_161/_md-comp-linear-progress-indicator.scss +41 -0
  564. package/tokens/v0_161/_md-comp-list.scss +248 -0
  565. package/tokens/v0_161/_md-comp-menu.scss +37 -0
  566. package/tokens/v0_161/_md-comp-navigation-bar.scss +114 -0
  567. package/tokens/v0_161/_md-comp-navigation-drawer.scss +162 -0
  568. package/tokens/v0_161/_md-comp-navigation-rail.scss +131 -0
  569. package/tokens/v0_161/_md-comp-outlined-autocomplete.scss +257 -0
  570. package/tokens/v0_161/_md-comp-outlined-button.scss +84 -0
  571. package/tokens/v0_161/_md-comp-outlined-card.scss +65 -0
  572. package/tokens/v0_161/_md-comp-outlined-icon-button.scss +79 -0
  573. package/tokens/v0_161/_md-comp-outlined-menu-button.scss +94 -0
  574. package/tokens/v0_161/_md-comp-outlined-segmented-button.scss +112 -0
  575. package/tokens/v0_161/_md-comp-outlined-select.scss +262 -0
  576. package/tokens/v0_161/_md-comp-outlined-text-field.scss +171 -0
  577. package/tokens/v0_161/_md-comp-plain-tooltip.scss +55 -0
  578. package/tokens/v0_161/_md-comp-primary-navigation-tab.scss +121 -0
  579. package/tokens/v0_161/_md-comp-radio-button.scss +68 -0
  580. package/tokens/v0_161/_md-comp-rich-tooltip.scss +121 -0
  581. package/tokens/v0_161/_md-comp-scrim.scss +25 -0
  582. package/tokens/v0_161/_md-comp-search-bar.scss +99 -0
  583. package/tokens/v0_161/_md-comp-search-view.scss +93 -0
  584. package/tokens/v0_161/_md-comp-secondary-navigation-tab.scss +84 -0
  585. package/tokens/v0_161/_md-comp-sheet-bottom.scss +45 -0
  586. package/tokens/v0_161/_md-comp-sheet-floating.scss +34 -0
  587. package/tokens/v0_161/_md-comp-sheet-side.scss +91 -0
  588. package/tokens/v0_161/_md-comp-slider.scss +114 -0
  589. package/tokens/v0_161/_md-comp-snackbar.scss +127 -0
  590. package/tokens/v0_161/_md-comp-standard-menu-button.scss +98 -0
  591. package/tokens/v0_161/_md-comp-suggestion-chip.scss +125 -0
  592. package/tokens/v0_161/_md-comp-switch.scss +136 -0
  593. package/tokens/v0_161/_md-comp-text-button.scss +77 -0
  594. package/tokens/v0_161/_md-comp-time-input.scss +218 -0
  595. package/tokens/v0_161/_md-comp-time-picker.scss +264 -0
  596. package/tokens/v0_161/_md-comp-top-app-bar-large.scss +63 -0
  597. package/tokens/v0_161/_md-comp-top-app-bar-medium.scss +63 -0
  598. package/tokens/v0_161/_md-comp-top-app-bar-small-centered.scss +66 -0
  599. package/tokens/v0_161/_md-comp-top-app-bar-small.scss +64 -0
  600. package/tokens/v0_161/_md-ref-palette.scss +107 -0
  601. package/tokens/v0_161/_md-ref-typeface.scss +21 -0
  602. package/tokens/v0_161/_md-sys-color.scss +904 -0
  603. package/tokens/v0_161/_md-sys-elevation.scss +21 -0
  604. package/tokens/v0_161/_md-sys-motion.scss +53 -0
  605. package/tokens/v0_161/_md-sys-shape.scss +30 -0
  606. package/tokens/v0_161/_md-sys-state.scss +19 -0
  607. package/tokens/v0_161/_md-sys-typescale.scss +284 -0
  608. package/tokens/v0_161/index.test.css.js +9 -0
  609. package/tokens/v0_161/index.test.css.js.map +1 -0
  610. package/tokens/v0_161/index.test.scss +584 -0
  611. package/tokens/v0_161/lib.test.css.js +9 -0
  612. package/tokens/v0_161/lib.test.css.js.map +1 -0
  613. package/tokens/v0_161/lib.test.scss +663 -0
  614. package/controller/foundation.d.ts +0 -24
  615. package/controller/foundation.js +0 -18
  616. package/controller/foundation.js.map +0 -1
  617. package/controller/observer-foundation.d.ts +0 -25
  618. package/controller/observer-foundation.js +0 -37
  619. package/controller/observer-foundation.js.map +0 -1
  620. package/controller/observer.d.ts +0 -52
  621. package/controller/observer.js +0 -149
  622. package/controller/observer.js.map +0 -1
  623. package/decorators/bound.d.ts +0 -40
  624. package/decorators/bound.js +0 -49
  625. package/decorators/bound.js.map +0 -1
  626. package/list/lib/avatar/_list-item-avatar.scss +0 -38
  627. package/list/lib/avatar/list-item-avatar-styles.css.js +0 -9
  628. package/list/lib/avatar/list-item-avatar-styles.css.js.map +0 -1
  629. package/list/lib/avatar/list-item-avatar-styles.scss +0 -8
  630. package/list/lib/avatar/list-item-avatar.d.ts +0 -21
  631. package/list/lib/avatar/list-item-avatar.js +0 -48
  632. package/list/lib/avatar/list-item-avatar.js.map +0 -1
  633. package/list/lib/icon/_list-item-icon.scss +0 -67
  634. package/list/lib/icon/list-item-icon-styles.css.js +0 -9
  635. package/list/lib/icon/list-item-icon-styles.css.js.map +0 -1
  636. package/list/lib/icon/list-item-icon-styles.scss +0 -8
  637. package/list/lib/icon/list-item-icon.d.ts +0 -9
  638. package/list/lib/icon/list-item-icon.js +0 -15
  639. package/list/lib/icon/list-item-icon.js.map +0 -1
  640. package/list/lib/image/_list-item-image.scss +0 -59
  641. package/list/lib/image/list-item-image-styles.css.js +0 -9
  642. package/list/lib/image/list-item-image-styles.css.js.map +0 -1
  643. package/list/lib/image/list-item-image-styles.scss +0 -8
  644. package/list/lib/image/list-item-image.d.ts +0 -21
  645. package/list/lib/image/list-item-image.js +0 -48
  646. package/list/lib/image/list-item-image.js.map +0 -1
  647. package/list/lib/listitem/list-item-private-styles.css.js +0 -9
  648. package/list/lib/listitem/list-item-private-styles.css.js.map +0 -1
  649. package/list/lib/video/_list-item-video.scss +0 -67
  650. package/list/lib/video/list-item-video-styles.css.d.ts +0 -1
  651. package/list/lib/video/list-item-video-styles.css.js +0 -9
  652. package/list/lib/video/list-item-video-styles.css.js.map +0 -1
  653. package/list/lib/video/list-item-video-styles.scss +0 -8
  654. package/list/lib/video/list-item-video.d.ts +0 -53
  655. package/list/lib/video/list-item-video.js +0 -115
  656. package/list/lib/video/list-item-video.js.map +0 -1
  657. package/list/list-item-avatar.d.ts +0 -20
  658. package/list/list-item-avatar.js +0 -23
  659. package/list/list-item-avatar.js.map +0 -1
  660. package/list/list-item-icon.d.ts +0 -20
  661. package/list/list-item-icon.js +0 -23
  662. package/list/list-item-icon.js.map +0 -1
  663. package/list/list-item-image.d.ts +0 -20
  664. package/list/list-item-image.js +0 -23
  665. package/list/list-item-image.js.map +0 -1
  666. package/list/list-item-video.d.ts +0 -20
  667. package/list/list-item-video.js +0 -23
  668. package/list/list-item-video.js.map +0 -1
  669. package/menu/lib/menuitem/menu-item-private-styles.css.d.ts +0 -1
  670. package/menu/lib/menuitem/menu-item-private-styles.css.js +0 -9
  671. package/menu/lib/menuitem/menu-item-private-styles.css.js.map +0 -1
  672. /package/{list/lib/avatar/list-item-avatar-styles.css.d.ts → slider/lib/forced-colors-styles.css.d.ts} +0 -0
  673. /package/{list/lib/icon/list-item-icon-styles.css.d.ts → slider/lib/slider-styles.css.d.ts} +0 -0
  674. /package/tokens/{v0_152 → v0_160}/_index.scss +0 -0
  675. /package/tokens/{v0_152 → v0_160}/index.test.css.d.ts +0 -0
  676. /package/tokens/{v0_152 → v0_160}/index.test.css.js +0 -0
  677. /package/tokens/{v0_152 → v0_160}/index.test.css.js.map +0 -0
  678. /package/tokens/{v0_152 → v0_160}/index.test.scss +0 -0
  679. /package/tokens/{v0_152 → v0_160}/lib.test.css.d.ts +0 -0
  680. /package/tokens/{v0_152 → v0_160}/lib.test.css.js +0 -0
  681. /package/tokens/{v0_152 → v0_160}/lib.test.css.js.map +0 -0
  682. /package/tokens/{v0_152 → v0_160}/lib.test.scss +0 -0
  683. /package/{list/lib/image/list-item-image-styles.css.d.ts → tokens/v0_161/index.test.css.d.ts} +0 -0
  684. /package/{list/lib/listitem/list-item-private-styles.css.d.ts → tokens/v0_161/lib.test.css.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ripple.js","sourceRoot":"","sources":["ripple.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 {html, LitElement, PropertyValues, TemplateResult} from 'lit';\nimport {property, query, state} from 'lit/decorators.js';\nimport {ClassInfo, classMap} from 'lit/directives/class-map.js';\n\nimport {createAnimationSignal, EASING} from '../../motion/animation.js';\n\nconst PRESS_GROW_MS = 450;\nconst MINIMUM_PRESS_MS = 225;\nconst INITIAL_ORIGIN_SCALE = 0.2;\nconst PADDING = 10;\nconst SOFT_EDGE_MINIMUM_SIZE = 75;\nconst SOFT_EDGE_CONTAINER_RATIO = 0.35;\nconst PRESS_PSEUDO = '::after';\nconst ANIMATION_FILL = 'forwards';\n\n/** @soyCompatible */\nexport class Ripple extends LitElement {\n @query('.md3-ripple-surface') mdRoot!: HTMLElement;\n\n // TODO(https://bugs.webkit.org/show_bug.cgi?id=247546)\n // Remove Safari workaround that requires reflecting `unbounded` so\n // it can be styled against.\n @property({type: Boolean, reflect: true}) unbounded = false;\n @property({type: Boolean, reflect: true}) disabled = false;\n\n @state() protected hovered = false;\n @state() protected focused = false;\n @state() protected pressed = false;\n\n protected rippleSize = '';\n protected rippleScale = '';\n protected initialSize = 0;\n protected pressAnimationSignal = createAnimationSignal();\n protected growAnimation: Animation|null = null;\n protected delayedEndPressHandle: number|null = null;\n\n /** @soyTemplate */\n protected override render(): TemplateResult {\n return html`<div class=\"md3-ripple-surface ${\n classMap(this.getRenderRippleClasses())}\"></div>`;\n }\n\n /** @soyTemplate */\n protected getRenderRippleClasses(): ClassInfo {\n return {\n 'md3-ripple--hovered': this.hovered,\n 'md3-ripple--focused': this.focused,\n 'md3-ripple--pressed': this.pressed,\n 'md3-ripple--unbounded': this.unbounded,\n };\n }\n\n protected override update(changedProps: PropertyValues<this>) {\n if (changedProps.has('disabled') && this.disabled) {\n this.endHover();\n this.endFocus();\n this.endPress();\n }\n super.update(changedProps);\n }\n\n protected getDimensions() {\n return (this.parentElement ?? this).getBoundingClientRect();\n }\n\n protected determineRippleSize() {\n const {height, width} = this.getDimensions();\n const maxDim = Math.max(height, width);\n const softEdgeSize =\n Math.max(SOFT_EDGE_CONTAINER_RATIO * maxDim, SOFT_EDGE_MINIMUM_SIZE);\n\n\n let maxRadius = maxDim;\n let initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE);\n\n const hypotenuse = Math.sqrt(width ** 2 + height ** 2);\n maxRadius = hypotenuse + PADDING;\n\n // ensure `initialSize` is even for unbounded\n if (this.unbounded) {\n initialSize = initialSize - (initialSize % 2);\n }\n\n this.initialSize = initialSize;\n this.rippleScale = `${(maxRadius + softEdgeSize) / initialSize}`;\n this.rippleSize = `${this.initialSize}px`;\n }\n\n protected getNormalizedPointerEventCoords(pointerEvent: PointerEvent):\n {x: number, y: number} {\n const {scrollX, scrollY} = window;\n const {left, top} = this.getDimensions();\n const documentX = scrollX + left;\n const documentY = scrollY + top;\n const {pageX, pageY} = pointerEvent;\n return {x: pageX - documentX, y: pageY - documentY};\n }\n\n protected getTranslationCoordinates(positionEvent?: Event|null) {\n const {height, width} = this.getDimensions();\n // end in the center\n const endPoint = {\n x: (width - this.initialSize) / 2,\n y: (height - this.initialSize) / 2,\n };\n\n let startPoint;\n if (positionEvent instanceof PointerEvent) {\n startPoint = this.getNormalizedPointerEventCoords(positionEvent);\n } else {\n startPoint = {\n x: width / 2,\n y: height / 2,\n };\n }\n\n // center around start point\n startPoint = {\n x: startPoint.x - (this.initialSize / 2),\n y: startPoint.y - (this.initialSize / 2),\n };\n\n return {startPoint, endPoint};\n }\n\n protected startPressAnimation(positionEvent?: Event|null) {\n this.determineRippleSize();\n const {startPoint, endPoint} =\n this.getTranslationCoordinates(positionEvent);\n const translateStart = `${startPoint.x}px, ${startPoint.y}px`;\n const translateEnd = `${endPoint.x}px, ${endPoint.y}px`;\n\n const signal = this.pressAnimationSignal.start();\n\n const growAnimation = this.mdRoot.animate(\n {\n top: [0, 0],\n left: [0, 0],\n height: [this.rippleSize, this.rippleSize],\n width: [this.rippleSize, this.rippleSize],\n transform: [\n `translate(${translateStart}) scale(1)`,\n `translate(${translateEnd}) scale(${this.rippleScale})`\n ],\n },\n {\n pseudoElement: PRESS_PSEUDO,\n duration: PRESS_GROW_MS,\n easing: EASING.STANDARD,\n fill: ANIMATION_FILL\n });\n\n growAnimation.addEventListener('finish', () => {\n this.pressAnimationSignal.finish();\n this.growAnimation = null;\n });\n\n signal.addEventListener('abort', () => {\n growAnimation.cancel();\n this.growAnimation = null;\n });\n\n this.growAnimation = growAnimation;\n }\n\n /**\n * @deprecated Use beginHover\n */\n startHover(hoverEvent?: Event) {\n this.beginHover(hoverEvent);\n }\n\n beginHover(hoverEvent?: Event) {\n if ((hoverEvent as PointerEvent)?.pointerType !== 'touch') {\n this.hovered = true;\n }\n }\n\n endHover() {\n this.hovered = false;\n }\n\n /**\n * @deprecated Use beginFocus\n */\n startFocus() {\n this.beginFocus();\n }\n\n beginFocus() {\n this.focused = true;\n }\n\n endFocus() {\n this.focused = false;\n }\n\n /**\n * @deprecated Use beginPress\n */\n startPress(positionEvent?: Event|null) {\n this.beginPress(positionEvent);\n }\n\n beginPress(positionEvent?: Event|null) {\n this.pressed = true;\n if (this.delayedEndPressHandle !== null) {\n clearTimeout(this.delayedEndPressHandle);\n this.delayedEndPressHandle = null;\n }\n this.startPressAnimation(positionEvent);\n }\n\n endPress() {\n const pressAnimationPlayState = this.growAnimation?.currentTime ?? Infinity;\n if (pressAnimationPlayState >= MINIMUM_PRESS_MS) {\n this.pressed = false;\n } else {\n this.delayedEndPressHandle = setTimeout(() => {\n this.pressed = false;\n this.delayedEndPressHandle = null;\n }, MINIMUM_PRESS_MS - pressAnimationPlayState);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"ripple.js","sourceRoot":"","sources":["ripple.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 {html, LitElement, PropertyValues} from 'lit';\nimport {property, query, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\n\nimport {EASING} from '../../motion/animation.js';\n\nconst PRESS_GROW_MS = 450;\nconst MINIMUM_PRESS_MS = 225;\nconst INITIAL_ORIGIN_SCALE = 0.2;\nconst PADDING = 10;\nconst SOFT_EDGE_MINIMUM_SIZE = 75;\nconst SOFT_EDGE_CONTAINER_RATIO = 0.35;\nconst PRESS_PSEUDO = '::after';\nconst ANIMATION_FILL = 'forwards';\n\n/**\n * Interaction states for the ripple.\n *\n * On Touch:\n * - `INACTIVE -> TOUCH_DELAY -> WAITING_FOR_CLICK -> INACTIVE`\n * - `INACTIVE -> TOUCH_DELAY -> HOLDING -> WAITING_FOR_CLICK -> INACTIVE`\n *\n * On Mouse or Pen:\n * - `INACTIVE -> WAITING_FOR_CLICK -> INACTIVE`\n */\nenum State {\n /**\n * Initial state of the control, no touch in progress.\n *\n * Transitions:\n * - on touch down: transition to `TOUCH_DELAY`.\n * - on mouse down: transition to `WAITING_FOR_CLICK`.\n */\n INACTIVE,\n /**\n * Touch down has been received, waiting to determine if it's a swipe or\n * scroll.\n *\n * Transitions:\n * - on touch up: begin press; transition to `WAITING_FOR_CLICK`.\n * - on cancel: transition to `INACTIVE`.\n * - after `TOUCH_DELAY_MS`: begin press; transition to `HOLDING`.\n */\n TOUCH_DELAY,\n /**\n * A touch has been deemed to be a press\n *\n * Transitions:\n * - on up: transition to `WAITING_FOR_CLICK`.\n */\n HOLDING,\n /**\n * The user touch has finished, transition into rest state.\n *\n * Transitions:\n * - on click end press; transition to `INACTIVE`.\n */\n WAITING_FOR_CLICK\n}\n\n/**\n * Delay reacting to touch so that we do not show the ripple for a swipe or\n * scroll interaction.\n */\nconst TOUCH_DELAY_MS = 150;\n\n/**\n * A ripple component.\n */\nexport class Ripple extends LitElement {\n // TODO(https://bugs.webkit.org/show_bug.cgi?id=247546)\n // Remove Safari workaround that requires reflecting `unbounded` so\n // it can be styled against.\n /**\n * Sets the ripple to be an unbounded circle.\n */\n @property({type: Boolean, reflect: true}) unbounded = false;\n\n /**\n * Disables the ripple.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n\n @state() private hovered = false;\n @state() private focused = false;\n @state() private pressed = false;\n\n @query('.surface') private readonly mdRoot!: HTMLElement;\n private rippleSize = '';\n private rippleScale = '';\n private initialSize = 0;\n private growAnimation?: Animation;\n private state = State.INACTIVE;\n private rippleStartEvent?: PointerEvent;\n private checkBoundsAfterContextMenu = false;\n\n handlePointerenter(event: PointerEvent) {\n if (!this.shouldReactToEvent(event)) {\n return;\n }\n\n this.hovered = true;\n }\n\n handlePointerleave(event: PointerEvent) {\n if (!this.shouldReactToEvent(event)) {\n return;\n }\n\n this.hovered = false;\n\n // release a held mouse or pen press that moves outside the element\n if (this.state !== State.INACTIVE) {\n this.endPressAnimation();\n }\n }\n\n handleFocusin() {\n this.focused = true;\n }\n\n handleFocusout() {\n this.focused = false;\n }\n\n handlePointerup(event: PointerEvent) {\n if (!this.shouldReactToEvent(event)) {\n return;\n }\n\n if (this.state === State.HOLDING) {\n this.state = State.WAITING_FOR_CLICK;\n return;\n }\n\n if (this.state === State.TOUCH_DELAY) {\n this.state = State.WAITING_FOR_CLICK;\n this.startPressAnimation(this.rippleStartEvent);\n return;\n }\n }\n\n async handlePointerdown(event: PointerEvent) {\n if (!this.shouldReactToEvent(event)) {\n return;\n }\n\n this.rippleStartEvent = event;\n if (!this.isTouch(event)) {\n this.state = State.WAITING_FOR_CLICK;\n this.startPressAnimation(event);\n return;\n }\n\n // after a longpress contextmenu event, an extra `pointerdown` can be\n // dispatched to the pressed element. Check that the down is within\n // bounds of the element in this case.\n if (this.checkBoundsAfterContextMenu && !this.inBounds(event)) {\n return;\n }\n\n this.checkBoundsAfterContextMenu = false;\n\n // Wait for a hold after touch delay\n this.state = State.TOUCH_DELAY;\n await new Promise(resolve => {\n setTimeout(resolve, TOUCH_DELAY_MS);\n });\n\n if (this.state !== State.TOUCH_DELAY) {\n return;\n }\n\n this.state = State.HOLDING;\n this.startPressAnimation(event);\n }\n\n handleClick() {\n // Click is a MouseEvent in Firefox and Safari, so we cannot use\n // `shouldReactToEvent`\n if (this.disabled) {\n return;\n }\n\n if (this.state === State.WAITING_FOR_CLICK) {\n this.endPressAnimation();\n return;\n }\n\n if (this.state === State.INACTIVE) {\n // keyboard synthesized click event\n this.startPressAnimation();\n this.endPressAnimation();\n }\n }\n\n handlePointercancel(event: PointerEvent) {\n if (!this.shouldReactToEvent(event)) {\n return;\n }\n\n this.endPressAnimation();\n }\n\n handleContextmenu() {\n if (this.disabled) {\n return;\n }\n\n this.checkBoundsAfterContextMenu = true;\n this.endPressAnimation();\n }\n\n protected override render() {\n const classes = {\n 'hovered': this.hovered,\n 'focused': this.focused,\n 'pressed': this.pressed,\n 'unbounded': this.unbounded,\n };\n\n return html`<div class=\"surface ${classMap(classes)}\"></div>`;\n }\n\n protected override update(changedProps: PropertyValues<this>) {\n if (changedProps.has('disabled') && this.disabled) {\n this.hovered = false;\n this.focused = false;\n this.pressed = false;\n }\n super.update(changedProps);\n }\n\n private getDimensions() {\n return (this.parentElement ?? this).getBoundingClientRect();\n }\n\n private determineRippleSize() {\n const {height, width} = this.getDimensions();\n const maxDim = Math.max(height, width);\n const softEdgeSize =\n Math.max(SOFT_EDGE_CONTAINER_RATIO * maxDim, SOFT_EDGE_MINIMUM_SIZE);\n\n\n let maxRadius = maxDim;\n let initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE);\n\n const hypotenuse = Math.sqrt(width ** 2 + height ** 2);\n maxRadius = hypotenuse + PADDING;\n\n // ensure `initialSize` is even for unbounded\n if (this.unbounded) {\n initialSize = initialSize - (initialSize % 2);\n }\n\n this.initialSize = initialSize;\n this.rippleScale = `${(maxRadius + softEdgeSize) / initialSize}`;\n this.rippleSize = `${this.initialSize}px`;\n }\n\n private getNormalizedPointerEventCoords(pointerEvent: PointerEvent):\n {x: number, y: number} {\n const {scrollX, scrollY} = window;\n const {left, top} = this.getDimensions();\n const documentX = scrollX + left;\n const documentY = scrollY + top;\n const {pageX, pageY} = pointerEvent;\n return {x: pageX - documentX, y: pageY - documentY};\n }\n\n private getTranslationCoordinates(positionEvent?: Event) {\n const {height, width} = this.getDimensions();\n // end in the center\n const endPoint = {\n x: (width - this.initialSize) / 2,\n y: (height - this.initialSize) / 2,\n };\n\n let startPoint;\n if (positionEvent instanceof PointerEvent) {\n startPoint = this.getNormalizedPointerEventCoords(positionEvent);\n } else {\n startPoint = {\n x: width / 2,\n y: height / 2,\n };\n }\n\n // center around start point\n startPoint = {\n x: startPoint.x - (this.initialSize / 2),\n y: startPoint.y - (this.initialSize / 2),\n };\n\n return {startPoint, endPoint};\n }\n\n private startPressAnimation(positionEvent?: Event) {\n this.pressed = true;\n this.growAnimation?.cancel();\n this.determineRippleSize();\n const {startPoint, endPoint} =\n this.getTranslationCoordinates(positionEvent);\n const translateStart = `${startPoint.x}px, ${startPoint.y}px`;\n const translateEnd = `${endPoint.x}px, ${endPoint.y}px`;\n\n this.growAnimation = this.mdRoot.animate(\n {\n top: [0, 0],\n left: [0, 0],\n height: [this.rippleSize, this.rippleSize],\n width: [this.rippleSize, this.rippleSize],\n transform: [\n `translate(${translateStart}) scale(1)`,\n `translate(${translateEnd}) scale(${this.rippleScale})`\n ],\n },\n {\n pseudoElement: PRESS_PSEUDO,\n duration: PRESS_GROW_MS,\n easing: EASING.STANDARD,\n fill: ANIMATION_FILL\n });\n }\n\n private async endPressAnimation() {\n const animation = this.growAnimation;\n const pressAnimationPlayState = animation?.currentTime ?? Infinity;\n if (pressAnimationPlayState >= MINIMUM_PRESS_MS) {\n this.pressed = false;\n return;\n }\n\n await new Promise(resolve => {\n setTimeout(resolve, MINIMUM_PRESS_MS - pressAnimationPlayState);\n });\n\n if (this.growAnimation !== animation) {\n // A new press animation was started. The old animation was canceled and\n // should not finish the pressed state.\n return;\n }\n\n this.pressed = false;\n }\n\n /**\n * Returns `true` if\n * - the ripple element is enabled\n * - the pointer is primary for the input type\n * - the pointer is the pointer that started the interaction, or will start\n * the interaction\n * - the pointer is a touch, or the pointer state has the primary button\n * held, or the pointer is hovering\n */\n private shouldReactToEvent(event: PointerEvent) {\n if (this.disabled || !event.isPrimary) {\n return false;\n }\n\n if (this.rippleStartEvent &&\n this.rippleStartEvent.pointerId !== event.pointerId) {\n return false;\n }\n\n if (event.type === 'pointerenter' || event.type === 'pointerleave') {\n return !this.isTouch(event);\n }\n\n const isPrimaryButton = event.buttons === 1;\n return this.isTouch(event) || isPrimaryButton;\n }\n\n /**\n * Check if the event is within the bounds of the element.\n *\n * This is only needed for the \"stuck\" contextmenu longpress on Chrome.\n */\n private inBounds({x, y}: PointerEvent) {\n const {top, left, bottom, right} = this.getBoundingClientRect();\n return x >= left && x <= right && y >= top && y <= bottom;\n }\n\n private isTouch({pointerType}: PointerEvent) {\n return pointerType === 'touch';\n }\n}\n"]}
@@ -10,7 +10,15 @@ declare global {
10
10
  }
11
11
  }
12
12
  /**
13
- * @soyCompatible
13
+ * @summary Ripples, also known as state layers, are visual indicators used to
14
+ * communicate the status of a component or interactive element.
15
+ *
16
+ * @description A state layer is a semi-transparent covering on an element that
17
+ * indicates its state. State layers provide a systematic approach to
18
+ * visualizing states by using opacity. A layer can be applied to an entire
19
+ * element or in a circular shape and only one state layer can be applied at a
20
+ * given time.
21
+ *
14
22
  * @final
15
23
  * @suppress {visibility}
16
24
  */
package/ripple/ripple.js CHANGED
@@ -8,7 +8,15 @@ import { customElement } from 'lit/decorators.js';
8
8
  import { Ripple } from './lib/ripple.js';
9
9
  import { styles } from './lib/ripple-styles.css.js';
10
10
  /**
11
- * @soyCompatible
11
+ * @summary Ripples, also known as state layers, are visual indicators used to
12
+ * communicate the status of a component or interactive element.
13
+ *
14
+ * @description A state layer is a semi-transparent covering on an element that
15
+ * indicates its state. State layers provide a systematic approach to
16
+ * visualizing states by using opacity. A layer can be applied to an entire
17
+ * element or in a circular shape and only one state layer can be applied at a
18
+ * given time.
19
+ *
12
20
  * @final
13
21
  * @suppress {visibility}
14
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ripple.js","sourceRoot":"","sources":["ripple.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,4BAA4B,CAAC;AAQlD;;;;GAIG;AAEH,IAAa,QAAQ,GAArB,MAAa,QAAS,SAAQ,MAAM;CAEnC,CAAA;AADiB,eAAM,GAAG,CAAC,MAAM,CAAE,CAAA;AADvB,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAEpB;SAFY,QAAQ","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {Ripple} from './lib/ripple.js';\nimport {styles} from './lib/ripple-styles.css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-ripple': MdRipple;\n }\n}\n\n/**\n * @soyCompatible\n * @final\n * @suppress {visibility}\n */\n@customElement('md-ripple')\nexport class MdRipple extends Ripple {\n static override styles = [styles];\n}"]}
1
+ {"version":3,"file":"ripple.js","sourceRoot":"","sources":["ripple.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,4BAA4B,CAAC;AAQlD;;;;;;;;;;;;GAYG;AAEI,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,MAAM;;AAClB,eAAM,GAAG,CAAC,MAAM,CAAC,CAAC;AADvB,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAEpB;SAFY,QAAQ","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 {Ripple} from './lib/ripple.js';\nimport {styles} from './lib/ripple-styles.css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-ripple': MdRipple;\n }\n}\n\n/**\n * @summary Ripples, also known as state layers, are visual indicators used to\n * communicate the status of a component or interactive element.\n *\n * @description A state layer is a semi-transparent covering on an element that\n * indicates its state. State layers provide a systematic approach to\n * visualizing states by using opacity. A layer can be applied to an entire\n * element or in a circular shape and only one state layer can be applied at a\n * given time.\n *\n * @final\n * @suppress {visibility}\n */\n@customElement('md-ripple')\nexport class MdRipple extends Ripple {\n static override styles = [styles];\n}\n"]}
package/sass/_assert.scss CHANGED
@@ -3,7 +3,9 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
 
6
+ // go/keep-sorted start
6
7
  @use 'sass:meta';
8
+ // go/keep-sorted end
7
9
 
8
10
  ///
9
11
  /// is-type returns the given value if it matches the given type. If not, it
@@ -3,11 +3,15 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
 
6
+ // go/keep-sorted start
6
7
  @use 'sass:map';
8
+ // go/keep-sorted end
9
+ // go/keep-sorted start
7
10
  @use '../tokens';
8
11
  @use './color';
9
12
  @use './theme';
10
13
  @use './var';
14
+ // go/keep-sorted end
11
15
 
12
16
  // TODO(b/213571555): Following Sass mixins will call color scheme APIs which
13
17
  // are generated using tokens compiler when ready.
package/sass/_color.scss CHANGED
@@ -3,13 +3,17 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
 
6
+ // go/keep-sorted start
6
7
  @use 'sass:list';
7
8
  @use 'sass:map';
8
9
  @use 'sass:meta';
9
10
  @use 'sass:string';
11
+ // go/keep-sorted end
12
+ // go/keep-sorted start
10
13
  @use './assert';
11
14
  @use './string-ext';
12
15
  @use './var';
16
+ // go/keep-sorted end
13
17
 
14
18
  $_hex: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 'a' 'b' 'c' 'd' 'e' 'f';
15
19
 
@@ -3,10 +3,14 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
 
6
+ // go/keep-sorted start
6
7
  @use 'sass:map';
7
8
  @use 'sass:meta';
9
+ // go/keep-sorted end
10
+ // go/keep-sorted start
8
11
  @use './color';
9
12
  @use './var';
13
+ // go/keep-sorted end
10
14
 
11
15
  /// Returns the appropriate elevation theme for the given args.
12
16
  ///
@@ -3,9 +3,11 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
 
6
+ // go/keep-sorted start
6
7
  @use 'sass:list';
7
8
  @use 'sass:map';
8
9
  @use 'sass:meta';
10
+ // go/keep-sorted end
9
11
 
10
12
  /// Valid configuration values for each config option.
11
13
  $_valid-values: (
@@ -3,7 +3,9 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
 
6
+ // go/keep-sorted start
6
7
  @use 'sass:map';
8
+ // go/keep-sorted end
7
9
 
8
10
  /// Picks only specified items in a map.
9
11
  ///
@@ -3,14 +3,14 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
 
6
+ // go/keep-sorted start
6
7
  @use 'sass:meta';
8
+ // go/keep-sorted end
9
+ // go/keep-sorted start
7
10
  @use './elevation';
8
- @use './shape';
9
- @use './typography';
11
+ // go/keep-sorted end
10
12
 
11
13
  /// Material Design resolvers.
12
14
  $material: (
13
15
  elevation: meta.get-function('resolver', $module: 'elevation'),
14
- shape: meta.get-function('resolver', $module: 'shape'),
15
- typography: meta.get-function('resolver', $module: 'typography'),
16
16
  );
package/sass/_shape.scss CHANGED
@@ -3,55 +3,103 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
 
6
+ // go/keep-sorted start
6
7
  @use 'sass:list';
7
8
  @use 'sass:map';
8
9
  @use 'sass:meta';
10
+ @use 'sass:string';
11
+ // go/keep-sorted end
12
+ // go/keep-sorted start
13
+ @use './string-ext';
9
14
  @use './var';
15
+ // go/keep-sorted end
10
16
 
11
17
  /// Resolves one or more shape tokens and expands them into 4 separate logical
12
18
  /// tokens for each corner.
13
19
  ///
20
+ /// Must be called after `theme.create-theme-vars()`
21
+ ///
14
22
  /// @example - scss
15
23
  /// $theme: (container-shape: (4px 4px 0 0));
16
- /// $theme: resolve-theme(
17
- /// $theme,
18
- /// map.get($resolvers, shape),
24
+ /// $tokens: theme.create-theme-vars($theme, component);
25
+ /// $tokens: shape.resolve-tokens(
26
+ /// $tokens,
19
27
  /// container-shape,
20
28
  /// );
29
+ ///
21
30
  /// // (
22
- /// // container-shape-start-start: 4px,
23
- /// // container-shape-start-end: 4px,
24
- /// // container-shape-end-end: 0,
25
- /// // container-shape-end-start: 0,
31
+ /// // container-shape-start-start: var(--md-component-container-shape-start-start, var(--md-component-container-shape, 4px)),
32
+ /// // container-shape-start-end: var(--md-component-container-shape-start-end, var(--md-component-container-shape, 4px)),
33
+ /// // container-shape-end-end: var(--md-component-container-shape-end-start, var(--md-component-container-shape, 0)),
34
+ /// // container-shape-end-start: var(--md-component-container-shape-end-end, var(--md-component-container-shape, 0)),
26
35
  /// // )
27
36
  ///
28
- /// @param {Map} $theme - The theme to resolve tokens for.
29
- /// @param {Function} $resolver - The shape resolver to use.
37
+ /// @param {Map} $tokens - The theme to resolve tokens for.
30
38
  /// @param {String...} $shape-tokens - The shape tokens to resolve.
31
39
  /// @return {Map} The theme with resolved shape tokens.
32
- @function resolve-theme($theme, $resolver, $shape-tokens...) {
33
- @if $resolver == null {
34
- @return $theme;
35
- }
36
-
40
+ @function resolve-tokens($tokens, $shape-tokens...) {
37
41
  @each $token in $shape-tokens {
38
- $shape-theme: meta.call($resolver, $shape: map.get($theme, $token));
42
+ $shape: map.get($tokens, $token);
43
+ @if $shape != null {
44
+ @if not var.is-var($shape) {
45
+ @error 'resolve-tokens() must be called after theme.create-theme-vars()';
46
+ }
47
+ $shape-name: var.name($shape);
48
+ // fallback may be a stringified list, split into sass list again
49
+ $shape: string-ext.split(var.fallback($shape));
50
+ $shape-theme: resolver(
51
+ $shape: $shape,
52
+ );
39
53
 
40
- // Add resolved values, but allow $theme to override the results if needed.
41
- $theme: map.merge(
42
- (
43
- '#{$token}-start-start': map.get($shape-theme, start-start),
44
- '#{$token}-start-end': map.get($shape-theme, start-end),
45
- '#{$token}-end-end': map.get($shape-theme, end-end),
46
- '#{$token}-end-start': map.get($shape-theme, end-start),
47
- ),
48
- $theme
49
- );
54
+ @each $key, $value in $shape-theme {
55
+ $corner-name: '#{$shape-name}-#{$key}';
56
+ $shape-theme: map.set(
57
+ $shape-theme,
58
+ $key,
59
+ var.create($corner-name, var.create($shape-name, $value))
60
+ );
61
+ }
62
+
63
+ // Add resolved values, but allow $theme to override the results if needed.
64
+ $tokens: map.merge(
65
+ (
66
+ '#{$token}-start-start': map.get($shape-theme, start-start),
67
+ '#{$token}-start-end': map.get($shape-theme, start-end),
68
+ '#{$token}-end-end': map.get($shape-theme, end-end),
69
+ '#{$token}-end-start': map.get($shape-theme, end-start),
70
+ ),
71
+ $tokens
72
+ );
50
73
 
51
- $theme: map.remove($theme, $token);
74
+ $tokens: map.remove($tokens, $token);
75
+ }
52
76
  }
53
77
 
54
- @return $theme;
78
+ @return $tokens;
79
+ }
80
+
81
+ /// Generate a shape token list from the expanded corners.
82
+ ///
83
+ /// @example - scss
84
+ /// $shape: shape.corners-to-shape-token(--md-component-container-shape);
85
+ /// // (
86
+ /// // var(--md-component-container-shape-start-start),
87
+ /// // var(--md-component-container-shape-start-end),
88
+ /// // var(--md-component-container-shape-end-end),
89
+ /// // var(--md-component-container-shape-end-start),
90
+ /// // )
91
+ /// foo.theme((shape: $shape))
92
+ ///
93
+ /// @param {String} $shape-token - The shape variable the corners are generated from
94
+ /// @return {List} A list that can be processed by `expand-corners`
95
+ @function corners-to-shape-token($shape-token) {
96
+ // NOTE: use a space separated list to avoid confusing `string-ext.split()`
97
+ @return (
98
+ var.create('#{$shape-token}-start-start')
99
+ var.create('#{$shape-token}-start-end')
100
+ var.create('#{$shape-token}-end-end')
101
+ var.create('#{$shape-token}-end-start')
102
+ );
55
103
  }
56
104
 
57
105
  /// Resolves a shape value by expanding it into logical values for each corner.
@@ -3,7 +3,10 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
 
6
+ // go/keep-sorted start
7
+ @use 'sass:list';
6
8
  @use 'sass:string';
9
+ // go/keep-sorted end
7
10
 
8
11
  /// Checks if a string starts with a given prefix.
9
12
  ///
@@ -149,3 +152,44 @@
149
152
 
150
153
  @return $before + $replacement + $after;
151
154
  }
155
+
156
+ /// Divides a string into an ordered list of substrings.
157
+ ///
158
+ /// @example - scss
159
+ /// @debug split("1px 2px 3px 4px"); // (1px 2px 3px 4px)
160
+ /// @debug split("1px, 2px, 3px, 4px"); // (1px 2px 3px 4px)
161
+ /// @debug split("1px/2px/3px/4px"); // (1px 2px 3px 4px)
162
+ ///
163
+ /// @param {String} $str - The string to split
164
+ /// @return {List} The list of substrings
165
+ @function split($str) {
166
+ $list: ();
167
+ $item: '';
168
+ // list separator precedence is comma, slash, space
169
+ $separator: ' ';
170
+ @if string.index($str, ',') {
171
+ $separator: ',';
172
+ } @else if string.index($str, '/') {
173
+ $separator: '/';
174
+ }
175
+ @for $i from 1 through string.length($str) {
176
+ $chr: string.slice($str, $i, $i);
177
+ @if $chr == $separator {
178
+ @if $item != '' {
179
+ // remove surrounding whitespace
180
+ $item: string.unquote(trim($item, ' '));
181
+ $list: list.append($list, $item);
182
+ }
183
+ $item: '';
184
+ } @else {
185
+ $item: $item + $chr;
186
+ }
187
+ }
188
+ // append final item
189
+ @if $item != '' {
190
+ // remove surrounding whitespace
191
+ $item: string.unquote(trim($item, ' '));
192
+ $list: list.append($list, $item);
193
+ }
194
+ @return $list;
195
+ }
package/sass/_theme.scss CHANGED
@@ -3,11 +3,15 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
 
6
+ // go/keep-sorted start
6
7
  @use 'sass:list';
7
8
  @use 'sass:map';
8
9
  @use 'sass:meta';
10
+ // go/keep-sorted end
11
+ // go/keep-sorted start
9
12
  @use './string-ext';
10
13
  @use './var';
14
+ // go/keep-sorted end
11
15
 
12
16
  /// Transform a user-provided `$theme` map's values into `var()` custom property
13
17
  /// values.
@@ -3,12 +3,11 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
 
6
+ // go/keep-sorted start
6
7
  @use 'sass:map';
7
- @use 'sass:math';
8
- @use 'sass:meta';
9
- @use './theme';
8
+ // go/keep-sorted end
10
9
 
11
- /// Resolves a theme's typography tokens for the given prefix.
10
+ /// Resolves a theme's typography tokens for the given prefixes
12
11
  ///
13
12
  /// @example - scss
14
13
  /// // $theme has the following tokens:
@@ -17,98 +16,24 @@
17
16
  /// // - label-text-size
18
17
  /// // - label-text-tracking
19
18
  /// // - label-text-weight
20
- /// $theme: resolve-theme($theme, map.get($resolvers, typography), label-text);
19
+ /// // - label-text-type
20
+ /// @debug resolve-tokens($theme, label-text); // (label-text-type: ...)
21
21
  ///
22
- /// @param {Map} $theme - The theme to resolve tokens for.
23
- /// @param {Function} $resolver - The typography resolver to use.
24
- /// @param {String...} $token-prefixes - The prefix(es) of a typography token
25
- /// set.
26
- /// @return {Map} The theme with resolved typography tokens.
27
- @function resolve-theme($theme, $resolver, $token-prefixes...) {
28
- @if $resolver == null {
29
- @return $theme;
30
- }
31
-
22
+ /// @param {Map} $tokens - Tokens to resolve
23
+ /// @param {String...} $token-prefixes - The prefixes of typography tokens to resolve.
24
+ /// @return {Map} The resolved tokens
25
+ @function resolve-tokens($tokens, $token-prefixes...) {
32
26
  @each $token-prefix in $token-prefixes {
33
- $typography-theme: meta.call(
34
- $resolver,
35
- $font: map.get($theme, '#{$token-prefix}-font'),
36
- $line-height: map.get($theme, '#{$token-prefix}-line-height'),
37
- $size: map.get($theme, '#{$token-prefix}-size'),
38
- $tracking: map.get($theme, '#{$token-prefix}-tracking'),
39
- $weight: map.get($theme, '#{$token-prefix}-weight')
27
+ // leave only `#{$token-prefix}-type`
28
+ $tokens: map.remove(
29
+ $tokens,
30
+ '#{$token-prefix}-font',
31
+ '#{$token-prefix}-line-height',
32
+ '#{$token-prefix}-size',
33
+ '#{$token-prefix}-tracking',
34
+ '#{$token-prefix}-weight'
40
35
  );
41
-
42
- $theme: map.merge(
43
- $theme,
44
- (
45
- '#{$token-prefix}-font': map.get($typography-theme, font),
46
- '#{$token-prefix}-line-height': map.get($typography-theme, line-height),
47
- '#{$token-prefix}-size': map.get($typography-theme, size),
48
- '#{$token-prefix}-tracking': map.get($typography-theme, tracking),
49
- '#{$token-prefix}-weight': map.get($typography-theme, weight),
50
- )
51
- );
52
- }
53
-
54
- @return $theme;
55
- }
56
-
57
- /// Resolves typography tokens, converting `px` to `rem` where appropriate.
58
- ///
59
- /// @param {String} $font - The font-family to resolve.
60
- /// @param {Number} $line-height - The line-height to resolve.
61
- /// @param {String} $size - The font-size to resolve.
62
- /// @param {String} $tracking - The letter-spacing to resolve.
63
- /// @param {String} $weight - The font-weight to resolve.
64
- /// @return {Map} The resolved typography theme with `font`, `line-height`,
65
- /// `size`, `tracking`, and `weight` tokens.
66
- @function resolver($args...) {
67
- $args: meta.keywords($args);
68
- @return (
69
- font: map.get($args, font),
70
- line-height: _px-to-rem(map.get($args, line-height)),
71
- size: _px-to-rem(map.get($args, size)),
72
- tracking: _px-to-rem(map.get($args, tracking)),
73
- weight: map.get($args, weight)
74
- );
75
- }
76
-
77
- @function _px-to-rem($px) {
78
- @if $px == null {
79
- @return null;
80
36
  }
81
37
 
82
- @if meta.type-of($px) != 'number' or $px == 0 or not math.compatible($px, 1px)
83
- {
84
- // Value is something other than px, use as-is.
85
- @return $px;
86
- }
87
-
88
- @return math.div($px, 16px) * 1rem;
89
- }
90
-
91
- $_reference-theme: (
92
- font: null,
93
- line-height: null,
94
- size: null,
95
- tracking: null,
96
- weight: null,
97
- );
98
-
99
- @mixin theme-styles($theme) {
100
- $theme: theme.validate-theme-styles(
101
- $_reference-theme,
102
- $theme,
103
- $require-all: false
104
- );
105
- @include _font($theme);
106
- }
107
-
108
- @mixin _font($font) {
109
- font-family: map.get($font, font);
110
- font-size: map.get($font, size);
111
- font-weight: map.get($font, weight);
112
- letter-spacing: map.get($font, tracking);
113
- line-height: map.get($font, line-height);
38
+ @return $tokens;
114
39
  }
package/sass/_var.scss CHANGED
@@ -3,11 +3,15 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
 
6
+ // go/keep-sorted start
6
7
  @use 'sass:map';
7
8
  @use 'sass:meta';
8
9
  @use 'sass:string';
10
+ // go/keep-sorted end
11
+ // go/keep-sorted start
9
12
  @use './feature-flags';
10
13
  @use './string-ext';
14
+ // go/keep-sorted end
11
15
 
12
16
  /// Creates a custom property `var()` string according to the configured
13
17
  /// `var-fallbacks` feature flag.
@@ -6,10 +6,14 @@
6
6
  // stylelint-disable selector-class-pattern --
7
7
  // Selector '.md3-*' should only be used in this project.
8
8
 
9
+ // go/keep-sorted start
9
10
  @use 'sass:map';
11
+ // go/keep-sorted end
12
+ // go/keep-sorted start
10
13
  @use '../../sass/theme';
11
14
  @use '../../tokens';
12
15
  @use './shared';
16
+ // go/keep-sorted end
13
17
 
14
18
  @mixin styles() {
15
19
  $tokens: tokens.md-comp-outlined-segmented-button-values();