@material/web 1.0.0 → 1.0.2-nightly.6a1fb38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/all.d.ts +2 -0
  2. package/all.js +2 -0
  3. package/all.js.map +1 -1
  4. package/button/elevated-button.js +5 -1
  5. package/button/elevated-button.js.map +1 -1
  6. package/button/internal/_elevation.scss +32 -32
  7. package/button/internal/_icon.scss +22 -23
  8. package/button/internal/_outlined-button.scss +21 -19
  9. package/button/internal/_shared.scss +84 -77
  10. package/button/internal/_touch-target.scss +4 -0
  11. package/button/internal/button.d.ts +7 -11
  12. package/button/internal/button.js +52 -38
  13. package/button/internal/button.js.map +1 -1
  14. package/button/internal/elevated-button.d.ts +1 -1
  15. package/button/internal/elevated-button.js +1 -1
  16. package/button/internal/elevated-button.js.map +1 -1
  17. package/button/internal/filled-button.d.ts +1 -1
  18. package/button/internal/filled-button.js +1 -1
  19. package/button/internal/filled-button.js.map +1 -1
  20. package/button/internal/filled-tonal-button.d.ts +1 -1
  21. package/button/internal/filled-tonal-button.js +1 -1
  22. package/button/internal/filled-tonal-button.js.map +1 -1
  23. package/button/internal/outlined-button.d.ts +1 -1
  24. package/button/internal/outlined-button.js +2 -2
  25. package/button/internal/outlined-button.js.map +1 -1
  26. package/button/internal/outlined-styles.css.js +1 -1
  27. package/button/internal/outlined-styles.css.js.map +1 -1
  28. package/button/internal/shared-elevation-styles.css.js +1 -1
  29. package/button/internal/shared-elevation-styles.css.js.map +1 -1
  30. package/button/internal/shared-styles.css.js +1 -1
  31. package/button/internal/shared-styles.css.js.map +1 -1
  32. package/checkbox/internal/_checkbox.scss +6 -0
  33. package/checkbox/internal/checkbox-styles.css.js +1 -1
  34. package/checkbox/internal/checkbox-styles.css.js.map +1 -1
  35. package/checkbox/internal/checkbox.d.ts +16 -23
  36. package/checkbox/internal/checkbox.js +38 -52
  37. package/checkbox/internal/checkbox.js.map +1 -1
  38. package/chips/filter-chip.js +5 -1
  39. package/chips/filter-chip.js.map +1 -1
  40. package/chips/harness.js.map +1 -1
  41. package/chips/input-chip.js +6 -1
  42. package/chips/input-chip.js.map +1 -1
  43. package/chips/internal/assist-chip.js +8 -4
  44. package/chips/internal/assist-chip.js.map +1 -1
  45. package/chips/internal/chip-set.js +6 -4
  46. package/chips/internal/chip-set.js.map +1 -1
  47. package/chips/internal/chip.d.ts +3 -0
  48. package/chips/internal/chip.js +7 -5
  49. package/chips/internal/chip.js.map +1 -1
  50. package/chips/internal/filter-chip.d.ts +2 -0
  51. package/chips/internal/filter-chip.js +11 -5
  52. package/chips/internal/filter-chip.js.map +1 -1
  53. package/chips/internal/input-chip.d.ts +2 -0
  54. package/chips/internal/input-chip.js +10 -4
  55. package/chips/internal/input-chip.js.map +1 -1
  56. package/chips/internal/multi-action-chip.js.map +1 -1
  57. package/chips/internal/trailing-icons.d.ts +1 -1
  58. package/chips/internal/trailing-icons.js +6 -5
  59. package/chips/internal/trailing-icons.js.map +1 -1
  60. package/common.d.ts +2 -0
  61. package/common.js +2 -0
  62. package/common.js.map +1 -1
  63. package/dialog/harness.js +1 -2
  64. package/dialog/harness.js.map +1 -1
  65. package/dialog/internal/_dialog.scss +1 -1
  66. package/dialog/internal/animations.js +14 -12
  67. package/dialog/internal/animations.js.map +1 -1
  68. package/dialog/internal/dialog-styles.css.js +1 -1
  69. package/dialog/internal/dialog-styles.css.js.map +1 -1
  70. package/dialog/internal/dialog.d.ts +6 -6
  71. package/dialog/internal/dialog.js +24 -24
  72. package/dialog/internal/dialog.js.map +1 -1
  73. package/fab/harness.js.map +1 -1
  74. package/fab/internal/_fab.scss +4 -0
  75. package/fab/internal/fab-styles.css.js +1 -1
  76. package/fab/internal/fab-styles.css.js.map +1 -1
  77. package/fab/internal/fab.js.map +1 -1
  78. package/fab/internal/shared.js +10 -11
  79. package/fab/internal/shared.js.map +1 -1
  80. package/field/harness.js.map +1 -1
  81. package/field/internal/_content.scss +185 -174
  82. package/field/internal/_filled-field.scss +147 -135
  83. package/field/internal/_label.scss +83 -72
  84. package/field/internal/_outlined-field.scss +276 -261
  85. package/field/internal/_supporting-text.scss +53 -42
  86. package/field/internal/field.js +26 -22
  87. package/field/internal/field.js.map +1 -1
  88. package/field/internal/filled-styles.css.js +1 -1
  89. package/field/internal/filled-styles.css.js.map +1 -1
  90. package/field/internal/outlined-styles.css.js +1 -1
  91. package/field/internal/outlined-styles.css.js.map +1 -1
  92. package/field/internal/shared-styles.css.js +1 -1
  93. package/field/internal/shared-styles.css.js.map +1 -1
  94. package/focus/internal/focus-ring.d.ts +2 -0
  95. package/focus/internal/focus-ring.js +3 -3
  96. package/focus/internal/focus-ring.js.map +1 -1
  97. package/icon/internal/_icon.scss +7 -4
  98. package/icon/internal/icon-styles.css.js +1 -1
  99. package/icon/internal/icon-styles.css.js.map +1 -1
  100. package/iconbutton/internal/icon-button.d.ts +9 -4
  101. package/iconbutton/internal/icon-button.js +35 -22
  102. package/iconbutton/internal/icon-button.js.map +1 -1
  103. package/internal/aria/aria.d.ts +4 -26
  104. package/internal/aria/aria.js +10 -28
  105. package/internal/aria/aria.js.map +1 -1
  106. package/internal/aria/delegate.js +2 -2
  107. package/internal/aria/delegate.js.map +1 -1
  108. package/internal/controller/attachable-controller.js +3 -5
  109. package/internal/controller/attachable-controller.js.map +1 -1
  110. package/internal/controller/form-submitter.d.ts +3 -5
  111. package/internal/controller/form-submitter.js +5 -7
  112. package/internal/controller/form-submitter.js.map +1 -1
  113. package/internal/controller/is-rtl.js +2 -2
  114. package/internal/controller/is-rtl.js.map +1 -1
  115. package/internal/controller/string-converter.js +1 -1
  116. package/internal/controller/string-converter.js.map +1 -1
  117. package/internal/motion/animation.js.map +1 -1
  118. package/labs/behaviors/element-internals.d.ts +45 -0
  119. package/labs/behaviors/element-internals.js +50 -0
  120. package/labs/behaviors/element-internals.js.map +1 -0
  121. package/labs/behaviors/focusable.d.ts +39 -0
  122. package/labs/behaviors/focusable.js +82 -0
  123. package/labs/behaviors/focusable.js.map +1 -0
  124. package/labs/behaviors/form-associated.d.ts +199 -0
  125. package/labs/behaviors/form-associated.js +155 -0
  126. package/labs/behaviors/form-associated.js.map +1 -0
  127. package/labs/behaviors/mixin.d.ts +54 -0
  128. package/labs/behaviors/mixin.js +7 -0
  129. package/labs/behaviors/mixin.js.map +1 -0
  130. package/labs/card/_elevated-card.scss +6 -0
  131. package/labs/card/_filled-card.scss +6 -0
  132. package/labs/card/_outlined-card.scss +6 -0
  133. package/labs/card/elevated-card.d.ts +18 -0
  134. package/labs/card/elevated-card.js +21 -0
  135. package/labs/card/elevated-card.js.map +1 -0
  136. package/labs/card/filled-card.d.ts +18 -0
  137. package/labs/card/filled-card.js +21 -0
  138. package/labs/card/filled-card.js.map +1 -0
  139. package/labs/card/internal/_elevated-card.scss +35 -0
  140. package/labs/card/internal/_filled-card.scss +35 -0
  141. package/labs/card/internal/_outlined-card.scss +39 -0
  142. package/labs/card/internal/_shared.scss +40 -0
  143. package/labs/card/internal/card.d.ts +13 -0
  144. package/labs/card/internal/card.js +20 -0
  145. package/labs/card/internal/card.js.map +1 -0
  146. package/labs/card/internal/elevated-styles.css.js +9 -0
  147. package/labs/card/internal/elevated-styles.css.js.map +1 -0
  148. package/labs/card/internal/elevated-styles.scss +10 -0
  149. package/labs/card/internal/filled-styles.css.js +9 -0
  150. package/labs/card/internal/filled-styles.css.js.map +1 -0
  151. package/labs/card/internal/filled-styles.scss +10 -0
  152. package/labs/card/internal/outlined-styles.css.js +9 -0
  153. package/labs/card/internal/outlined-styles.css.js.map +1 -0
  154. package/labs/card/internal/outlined-styles.scss +10 -0
  155. package/labs/card/internal/shared-styles.css.js +9 -0
  156. package/labs/card/internal/shared-styles.css.js.map +1 -0
  157. package/labs/card/internal/shared-styles.scss +10 -0
  158. package/labs/card/outlined-card.d.ts +18 -0
  159. package/labs/card/outlined-card.js +21 -0
  160. package/labs/card/outlined-card.js.map +1 -0
  161. package/labs/item/internal/_item.scss +1 -1
  162. package/labs/item/internal/item-styles.css.js +1 -1
  163. package/labs/item/internal/item-styles.css.js.map +1 -1
  164. package/labs/item/internal/item.js +8 -8
  165. package/labs/item/internal/item.js.map +1 -1
  166. package/labs/navigationbar/internal/constants.js.map +1 -1
  167. package/labs/navigationbar/internal/navigation-bar.d.ts +3 -0
  168. package/labs/navigationbar/internal/navigation-bar.js +18 -11
  169. package/labs/navigationbar/internal/navigation-bar.js.map +1 -1
  170. package/labs/navigationdrawer/internal/navigation-drawer-modal.d.ts +3 -0
  171. package/labs/navigationdrawer/internal/navigation-drawer-modal.js +10 -3
  172. package/labs/navigationdrawer/internal/navigation-drawer-modal.js.map +1 -1
  173. package/labs/navigationdrawer/internal/navigation-drawer.d.ts +3 -0
  174. package/labs/navigationdrawer/internal/navigation-drawer.js +8 -1
  175. package/labs/navigationdrawer/internal/navigation-drawer.js.map +1 -1
  176. package/labs/navigationtab/harness.js.map +1 -1
  177. package/labs/navigationtab/internal/navigation-tab.d.ts +6 -0
  178. package/labs/navigationtab/internal/navigation-tab.js +43 -27
  179. package/labs/navigationtab/internal/navigation-tab.js.map +1 -1
  180. package/labs/navigationtab/internal/state.js.map +1 -1
  181. package/labs/segmentedbutton/internal/segmented-button.d.ts +3 -0
  182. package/labs/segmentedbutton/internal/segmented-button.js +26 -12
  183. package/labs/segmentedbutton/internal/segmented-button.js.map +1 -1
  184. package/labs/segmentedbuttonset/internal/segmented-button-set.d.ts +5 -0
  185. package/labs/segmentedbuttonset/internal/segmented-button-set.js +14 -9
  186. package/labs/segmentedbuttonset/internal/segmented-button-set.js.map +1 -1
  187. package/list/harness.d.ts +3 -2
  188. package/list/harness.js.map +1 -1
  189. package/list/internal/list-controller.d.ts +1 -1
  190. package/list/internal/list-controller.js +7 -3
  191. package/list/internal/list-controller.js.map +1 -1
  192. package/list/internal/list-navigation-helpers.js.map +1 -1
  193. package/list/internal/list.d.ts +2 -2
  194. package/list/internal/list.js +8 -6
  195. package/list/internal/list.js.map +1 -1
  196. package/list/internal/listitem/_list-item.scss +18 -0
  197. package/list/internal/listitem/harness.d.ts +3 -3
  198. package/list/internal/listitem/harness.js.map +1 -1
  199. package/list/internal/listitem/list-item-styles.css.js +1 -1
  200. package/list/internal/listitem/list-item-styles.css.js.map +1 -1
  201. package/list/internal/listitem/list-item.d.ts +3 -2
  202. package/list/internal/listitem/list-item.js +20 -21
  203. package/list/internal/listitem/list-item.js.map +1 -1
  204. package/list/list-item.d.ts +4 -12
  205. package/list/list-item.js +5 -14
  206. package/list/list-item.js.map +1 -1
  207. package/menu/harness.js.map +1 -1
  208. package/menu/internal/_menu.scss +20 -1
  209. package/menu/internal/controllers/menuItemController.d.ts +7 -0
  210. package/menu/internal/controllers/menuItemController.js +17 -4
  211. package/menu/internal/controllers/menuItemController.js.map +1 -1
  212. package/menu/internal/controllers/shared.d.ts +9 -1
  213. package/menu/internal/controllers/shared.js +4 -4
  214. package/menu/internal/controllers/shared.js.map +1 -1
  215. package/menu/internal/controllers/surfacePositionController.d.ts +15 -2
  216. package/menu/internal/controllers/surfacePositionController.js +134 -56
  217. package/menu/internal/controllers/surfacePositionController.js.map +1 -1
  218. package/menu/internal/controllers/typeaheadController.js +19 -14
  219. package/menu/internal/controllers/typeaheadController.js.map +1 -1
  220. package/menu/internal/menu-styles.css.js +1 -1
  221. package/menu/internal/menu-styles.css.js.map +1 -1
  222. package/menu/internal/menu.d.ts +55 -17
  223. package/menu/internal/menu.js +175 -88
  224. package/menu/internal/menu.js.map +1 -1
  225. package/menu/internal/menuitem/_menu-item.scss +24 -0
  226. package/menu/internal/menuitem/harness.d.ts +3 -1
  227. package/menu/internal/menuitem/harness.js.map +1 -1
  228. package/menu/internal/menuitem/menu-item-styles.css.js +1 -1
  229. package/menu/internal/menuitem/menu-item-styles.css.js.map +1 -1
  230. package/menu/internal/menuitem/menu-item.d.ts +3 -2
  231. package/menu/internal/menuitem/menu-item.js +20 -20
  232. package/menu/internal/menuitem/menu-item.js.map +1 -1
  233. package/menu/internal/submenu/sub-menu.d.ts +9 -8
  234. package/menu/internal/submenu/sub-menu.js +35 -22
  235. package/menu/internal/submenu/sub-menu.js.map +1 -1
  236. package/menu/internal/types.js.map +1 -1
  237. package/menu/menu-item.js +1 -2
  238. package/menu/menu-item.js.map +1 -1
  239. package/menu/menu.js +1 -2
  240. package/menu/menu.js.map +1 -1
  241. package/package.json +1 -1
  242. package/progress/internal/_circular-progress.scss +2 -2
  243. package/progress/internal/_linear-progress.scss +1 -1
  244. package/progress/internal/circular-progress-styles.css.js +1 -1
  245. package/progress/internal/circular-progress-styles.css.js.map +1 -1
  246. package/progress/internal/circular-progress.js +11 -10
  247. package/progress/internal/circular-progress.js.map +1 -1
  248. package/progress/internal/linear-progress-styles.css.js +1 -1
  249. package/progress/internal/linear-progress-styles.css.js.map +1 -1
  250. package/progress/internal/linear-progress.d.ts +1 -1
  251. package/progress/internal/linear-progress.js +3 -3
  252. package/progress/internal/linear-progress.js.map +1 -1
  253. package/progress/internal/progress.js +4 -2
  254. package/progress/internal/progress.js.map +1 -1
  255. package/radio/internal/_radio.scss +144 -123
  256. package/radio/internal/radio-styles.css.js +1 -1
  257. package/radio/internal/radio-styles.css.js.map +1 -1
  258. package/radio/internal/radio.d.ts +12 -23
  259. package/radio/internal/radio.js +31 -50
  260. package/radio/internal/radio.js.map +1 -1
  261. package/radio/internal/single-selection-controller.js +1 -1
  262. package/radio/internal/single-selection-controller.js.map +1 -1
  263. package/radio/radio.js +1 -2
  264. package/radio/radio.js.map +1 -1
  265. package/ripple/internal/ripple.js +21 -18
  266. package/ripple/internal/ripple.js.map +1 -1
  267. package/select/filled-select.js +1 -2
  268. package/select/filled-select.js.map +1 -1
  269. package/select/harness.js +1 -1
  270. package/select/harness.js.map +1 -1
  271. package/select/internal/_shared.scss +4 -0
  272. package/select/internal/select.d.ts +25 -34
  273. package/select/internal/select.js +101 -91
  274. package/select/internal/select.js.map +1 -1
  275. package/select/internal/selectoption/select-option.d.ts +8 -6
  276. package/select/internal/selectoption/select-option.js +25 -23
  277. package/select/internal/selectoption/select-option.js.map +1 -1
  278. package/select/internal/selectoption/selectOptionController.js +1 -1
  279. package/select/internal/selectoption/selectOptionController.js.map +1 -1
  280. package/select/internal/shared-styles.css.js +1 -1
  281. package/select/internal/shared-styles.css.js.map +1 -1
  282. package/select/outlined-select.js +1 -2
  283. package/select/outlined-select.js.map +1 -1
  284. package/select/select-option.js +1 -2
  285. package/select/select-option.js.map +1 -1
  286. package/slider/harness.js +5 -5
  287. package/slider/harness.js.map +1 -1
  288. package/slider/internal/_slider.scss +68 -30
  289. package/slider/internal/slider-styles.css.js +1 -1
  290. package/slider/internal/slider-styles.css.js.map +1 -1
  291. package/slider/internal/slider.d.ts +16 -25
  292. package/slider/internal/slider.js +111 -115
  293. package/slider/internal/slider.js.map +1 -1
  294. package/switch/internal/_handle.scss +159 -141
  295. package/switch/internal/_icon.scss +95 -72
  296. package/switch/internal/_switch.scss +90 -95
  297. package/switch/internal/_track.scss +110 -77
  298. package/switch/internal/switch-styles.css.js +1 -1
  299. package/switch/internal/switch-styles.css.js.map +1 -1
  300. package/switch/internal/switch.d.ts +9 -25
  301. package/switch/internal/switch.js +31 -57
  302. package/switch/internal/switch.js.map +1 -1
  303. package/switch/switch.js +1 -2
  304. package/switch/switch.js.map +1 -1
  305. package/tabs/harness.js +3 -3
  306. package/tabs/harness.js.map +1 -1
  307. package/tabs/internal/_tab.scss +27 -35
  308. package/tabs/internal/primary-tab.d.ts +0 -2
  309. package/tabs/internal/tab-styles.css.js +1 -1
  310. package/tabs/internal/tab-styles.css.js.map +1 -1
  311. package/tabs/internal/tab.d.ts +10 -5
  312. package/tabs/internal/tab.js +43 -22
  313. package/tabs/internal/tab.js.map +1 -1
  314. package/tabs/internal/tabs.d.ts +7 -4
  315. package/tabs/internal/tabs.js +23 -22
  316. package/tabs/internal/tabs.js.map +1 -1
  317. package/textfield/filled-text-field.js +1 -2
  318. package/textfield/filled-text-field.js.map +1 -1
  319. package/textfield/harness.js +3 -2
  320. package/textfield/harness.js.map +1 -1
  321. package/textfield/internal/text-field.d.ts +33 -18
  322. package/textfield/internal/text-field.js +96 -58
  323. package/textfield/internal/text-field.js.map +1 -1
  324. package/textfield/outlined-text-field.js +1 -2
  325. package/textfield/outlined-text-field.js.map +1 -1
  326. package/tokens/_index.scss +3 -0
  327. package/tokens/_md-comp-elevated-card.scss +63 -0
  328. package/tokens/_md-comp-filled-card.scss +63 -0
  329. package/tokens/_md-comp-icon.scss +2 -0
  330. package/tokens/_md-comp-outlined-card.scss +69 -0
  331. package/tokens/_md-comp-test-table.scss +1 -0
  332. package/internal/controller/element-internals.d.ts +0 -35
  333. package/internal/controller/element-internals.js +0 -24
  334. package/internal/controller/element-internals.js.map +0 -1
  335. package/list/internal/listitem/forced-colors-styles.css.js +0 -9
  336. package/list/internal/listitem/forced-colors-styles.css.js.map +0 -1
  337. package/list/internal/listitem/forced-colors-styles.scss +0 -19
  338. package/menu/internal/forced-colors-styles.css.js +0 -9
  339. package/menu/internal/forced-colors-styles.css.js.map +0 -1
  340. package/menu/internal/forced-colors-styles.scss +0 -12
  341. package/menu/internal/menuitem/forced-colors-styles.css.js +0 -9
  342. package/menu/internal/menuitem/forced-colors-styles.css.js.map +0 -1
  343. package/menu/internal/menuitem/forced-colors-styles.scss +0 -26
  344. package/radio/internal/forced-colors-styles.css.js +0 -9
  345. package/radio/internal/forced-colors-styles.css.js.map +0 -1
  346. package/radio/internal/forced-colors-styles.scss +0 -29
  347. package/select/internal/filled-forced-colors-styles.css.d.ts +0 -1
  348. package/select/internal/filled-forced-colors-styles.css.js +0 -9
  349. package/select/internal/filled-forced-colors-styles.css.js.map +0 -1
  350. package/select/internal/filled-forced-colors-styles.scss +0 -29
  351. package/select/internal/outlined-forced-colors-styles.css.d.ts +0 -1
  352. package/select/internal/outlined-forced-colors-styles.css.js +0 -9
  353. package/select/internal/outlined-forced-colors-styles.css.js.map +0 -1
  354. package/select/internal/outlined-forced-colors-styles.scss +0 -29
  355. package/switch/internal/forced-colors-styles.css.d.ts +0 -1
  356. package/switch/internal/forced-colors-styles.css.js +0 -9
  357. package/switch/internal/forced-colors-styles.css.js.map +0 -1
  358. package/switch/internal/forced-colors-styles.scss +0 -42
  359. package/textfield/internal/filled-forced-colors-styles.css.d.ts +0 -1
  360. package/textfield/internal/filled-forced-colors-styles.css.js +0 -9
  361. package/textfield/internal/filled-forced-colors-styles.css.js.map +0 -1
  362. package/textfield/internal/filled-forced-colors-styles.scss +0 -29
  363. package/textfield/internal/outlined-forced-colors-styles.css.d.ts +0 -1
  364. package/textfield/internal/outlined-forced-colors-styles.css.js +0 -9
  365. package/textfield/internal/outlined-forced-colors-styles.css.js.map +0 -1
  366. package/textfield/internal/outlined-forced-colors-styles.scss +0 -29
  367. /package/{list/internal/listitem/forced-colors-styles.css.d.ts → labs/card/internal/elevated-styles.css.d.ts} +0 -0
  368. /package/{menu/internal/forced-colors-styles.css.d.ts → labs/card/internal/filled-styles.css.d.ts} +0 -0
  369. /package/{menu/internal/menuitem/forced-colors-styles.css.d.ts → labs/card/internal/outlined-styles.css.d.ts} +0 -0
  370. /package/{radio/internal/forced-colors-styles.css.d.ts → labs/card/internal/shared-styles.css.d.ts} +0 -0
@@ -21,179 +21,190 @@ $_visible-duration: math.round(math.div($_label-duration * 5, 9));
21
21
  $_enter-delay: $_label-duration - $_visible-duration;
22
22
 
23
23
  @mixin styles() {
24
- .start,
25
- .middle,
26
- .end {
27
- display: flex;
28
- box-sizing: border-box;
29
- height: 100%;
30
- // Relative position for absolutely positioned labels (to avoid interfering
31
- // with baseline alignment).
32
- position: relative;
33
- }
34
-
35
- .start {
36
- color: var(--_leading-content-color);
37
- }
38
-
39
- .end {
40
- color: var(--_trailing-content-color);
41
- }
42
-
43
- .start,
44
- .end {
45
- align-items: center;
46
- justify-content: center;
47
- }
48
-
49
- // TODO(b/239188049): remove when layout tokens are ready
50
- .with-start .start,
51
- .with-end .end {
52
- min-width: 48px;
53
- }
54
-
55
- .with-start .start {
56
- margin-inline-end: 4px;
57
- }
58
-
59
- .with-end .end {
60
- margin-inline-start: 4px;
61
- }
62
-
63
- .middle {
64
- align-items: stretch;
65
- // The container of the field aligns sections by "center". Only the middle
66
- // section opts in to baseline alignment.
67
- //
68
- // Labels are absolutely positioned, which leaves only the content as the
69
- // evaluated baseline for the field.
70
- //
71
- // See https://www.w3.org/TR/css-flexbox-1/#baseline-participation
72
- align-self: baseline;
73
- flex: 1;
74
- }
75
-
76
- .content {
77
- color: var(--_content-color);
78
- display: flex;
79
- flex: 1;
80
- opacity: 0;
81
- transition: opacity $_visible-duration
82
- map.get($_md-sys-motion, 'easing-emphasized');
83
- }
84
-
85
- .no-label .content,
86
- .focused .content,
87
- .populated .content {
88
- opacity: 1;
89
- transition-delay: $_enter-delay;
90
- }
91
-
92
- :is(.disabled, .disable-transitions) .content {
93
- transition: none;
94
- }
95
-
96
- .content ::slotted(*) {
97
- all: unset;
98
- // Use `currentColor` to inherit the various state colors that are set
99
- // below.
100
- color: currentColor;
101
- font-family: var(--_content-font);
102
- font-size: var(--_content-size);
103
- line-height: var(--_content-line-height);
104
- font-weight: var(--_content-weight);
105
- width: 100%;
106
- white-space: pre-wrap; // Needed for Firefox textarea with "all: unset"
107
- }
108
-
109
- .content ::slotted(:not(textarea)) {
110
- padding-top: var(--_top-space);
111
- padding-bottom: var(--_bottom-space);
112
- }
113
-
114
- .content ::slotted(textarea) {
115
- // Use margin for textareas since they will scroll over the label if not.
116
- margin-top: var(--_top-space);
117
- margin-bottom: var(--_bottom-space);
118
- }
119
-
120
- :hover .content {
121
- color: var(--_hover-content-color);
122
- }
123
-
124
- :hover .start {
125
- color: var(--_hover-leading-content-color);
126
- }
127
-
128
- :hover .end {
129
- color: var(--_hover-trailing-content-color);
130
- }
131
-
132
- .focused .content {
133
- color: var(--_focus-content-color);
134
- }
135
-
136
- .focused .start {
137
- color: var(--_focus-leading-content-color);
138
- }
139
-
140
- .focused .end {
141
- color: var(--_focus-trailing-content-color);
142
- }
143
-
144
- .disabled .content {
145
- color: var(--_disabled-content-color);
146
- }
147
-
148
- .disabled.no-label .content,
149
- .disabled.focused .content,
150
- .disabled.populated .content {
151
- opacity: var(--_disabled-content-opacity);
152
- }
153
-
154
- .disabled .start {
155
- color: var(--_disabled-leading-content-color);
156
- opacity: var(--_disabled-leading-content-opacity);
157
- }
158
-
159
- .disabled .end {
160
- color: var(--_disabled-trailing-content-color);
161
- opacity: var(--_disabled-trailing-content-opacity);
162
- }
163
-
164
- .error .content {
165
- color: var(--_error-content-color);
166
- }
167
-
168
- .error .start {
169
- color: var(--_error-leading-content-color);
170
- }
171
-
172
- .error .end {
173
- color: var(--_error-trailing-content-color);
174
- }
175
-
176
- .error:hover .content {
177
- color: var(--_error-hover-content-color);
178
- }
179
-
180
- .error:hover .start {
181
- color: var(--_error-hover-leading-content-color);
182
- }
183
-
184
- .error:hover .end {
185
- color: var(--_error-hover-trailing-content-color);
186
- }
187
-
188
- .error.focused .content {
189
- color: var(--_error-focus-content-color);
190
- }
191
-
192
- .error.focused .start {
193
- color: var(--_error-focus-leading-content-color);
194
- }
195
-
196
- .error.focused .end {
197
- color: var(--_error-focus-trailing-content-color);
24
+ @layer styles {
25
+ .start,
26
+ .middle,
27
+ .end {
28
+ display: flex;
29
+ box-sizing: border-box;
30
+ height: 100%;
31
+ // Relative position for absolutely positioned labels (to avoid interfering
32
+ // with baseline alignment).
33
+ position: relative;
34
+ }
35
+
36
+ .start {
37
+ color: var(--_leading-content-color);
38
+ }
39
+
40
+ .end {
41
+ color: var(--_trailing-content-color);
42
+ }
43
+
44
+ .start,
45
+ .end {
46
+ align-items: center;
47
+ justify-content: center;
48
+ }
49
+
50
+ // TODO(b/239188049): remove when layout tokens are ready
51
+ .with-start .start,
52
+ .with-end .end {
53
+ min-width: 48px;
54
+ }
55
+
56
+ .with-start .start {
57
+ margin-inline-end: 4px;
58
+ }
59
+
60
+ .with-end .end {
61
+ margin-inline-start: 4px;
62
+ }
63
+
64
+ .middle {
65
+ align-items: stretch;
66
+ // The container of the field aligns sections by "center". Only the middle
67
+ // section opts in to baseline alignment.
68
+ //
69
+ // Labels are absolutely positioned, which leaves only the content as the
70
+ // evaluated baseline for the field.
71
+ //
72
+ // See https://www.w3.org/TR/css-flexbox-1/#baseline-participation
73
+ align-self: baseline;
74
+ flex: 1;
75
+ }
76
+
77
+ .content {
78
+ color: var(--_content-color);
79
+ display: flex;
80
+ flex: 1;
81
+ opacity: 0;
82
+ transition: opacity $_visible-duration
83
+ map.get($_md-sys-motion, 'easing-emphasized');
84
+ }
85
+
86
+ .no-label .content,
87
+ .focused .content,
88
+ .populated .content {
89
+ opacity: 1;
90
+ transition-delay: $_enter-delay;
91
+ }
92
+
93
+ :is(.disabled, .disable-transitions) .content {
94
+ transition: none;
95
+ }
96
+
97
+ .content ::slotted(*) {
98
+ all: unset;
99
+ // Use `currentColor` to inherit the various state colors that are set
100
+ // below.
101
+ color: currentColor;
102
+ font-family: var(--_content-font);
103
+ font-size: var(--_content-size);
104
+ line-height: var(--_content-line-height);
105
+ font-weight: var(--_content-weight);
106
+ width: 100%;
107
+ white-space: pre-wrap; // Needed for Firefox textarea with "all: unset"
108
+ }
109
+
110
+ .content ::slotted(:not(textarea)) {
111
+ padding-top: var(--_top-space);
112
+ padding-bottom: var(--_bottom-space);
113
+ }
114
+
115
+ .content ::slotted(textarea) {
116
+ // Use margin for textareas since they will scroll over the label if not.
117
+ margin-top: var(--_top-space);
118
+ margin-bottom: var(--_bottom-space);
119
+ }
120
+
121
+ :hover .content {
122
+ color: var(--_hover-content-color);
123
+ }
124
+
125
+ :hover .start {
126
+ color: var(--_hover-leading-content-color);
127
+ }
128
+
129
+ :hover .end {
130
+ color: var(--_hover-trailing-content-color);
131
+ }
132
+
133
+ .focused .content {
134
+ color: var(--_focus-content-color);
135
+ }
136
+
137
+ .focused .start {
138
+ color: var(--_focus-leading-content-color);
139
+ }
140
+
141
+ .focused .end {
142
+ color: var(--_focus-trailing-content-color);
143
+ }
144
+
145
+ .disabled .content {
146
+ color: var(--_disabled-content-color);
147
+ }
148
+
149
+ .disabled.no-label .content,
150
+ .disabled.focused .content,
151
+ .disabled.populated .content {
152
+ opacity: var(--_disabled-content-opacity);
153
+ }
154
+
155
+ .disabled .start {
156
+ color: var(--_disabled-leading-content-color);
157
+ opacity: var(--_disabled-leading-content-opacity);
158
+ }
159
+
160
+ .disabled .end {
161
+ color: var(--_disabled-trailing-content-color);
162
+ opacity: var(--_disabled-trailing-content-opacity);
163
+ }
164
+
165
+ .error .content {
166
+ color: var(--_error-content-color);
167
+ }
168
+
169
+ .error .start {
170
+ color: var(--_error-leading-content-color);
171
+ }
172
+
173
+ .error .end {
174
+ color: var(--_error-trailing-content-color);
175
+ }
176
+
177
+ .error:hover .content {
178
+ color: var(--_error-hover-content-color);
179
+ }
180
+
181
+ .error:hover .start {
182
+ color: var(--_error-hover-leading-content-color);
183
+ }
184
+
185
+ .error:hover .end {
186
+ color: var(--_error-hover-trailing-content-color);
187
+ }
188
+
189
+ .error.focused .content {
190
+ color: var(--_error-focus-content-color);
191
+ }
192
+
193
+ .error.focused .start {
194
+ color: var(--_error-focus-leading-content-color);
195
+ }
196
+
197
+ .error.focused .end {
198
+ color: var(--_error-focus-trailing-content-color);
199
+ }
200
+ }
201
+
202
+ @layer hcm {
203
+ @media (forced-colors: active) {
204
+ .disabled :is(.start, .content, .end) {
205
+ color: GrayText;
206
+ opacity: 1;
207
+ }
208
+ }
198
209
  }
199
210
  }