@material/web 0.1.0-alpha.2 → 1.0.0-pre.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 (229) hide show
  1. package/CHANGELOG.md +141 -0
  2. package/autocomplete/lib/_filled-autocomplete.scss +3 -4
  3. package/autocomplete/lib/_outlined-autocomplete.scss +3 -3
  4. package/autocomplete/lib/_shared.scss +2 -7
  5. package/autocomplete/lib/filled-styles.css.js +1 -1
  6. package/autocomplete/lib/filled-styles.css.js.map +1 -1
  7. package/autocomplete/lib/outlined-styles.css.js +1 -1
  8. package/autocomplete/lib/outlined-styles.css.js.map +1 -1
  9. package/button/lib/_elevated-button.scss +6 -0
  10. package/button/lib/_elevation.scss +30 -28
  11. package/button/lib/_filled-button.scss +6 -0
  12. package/button/lib/_outlined-button.scss +10 -1
  13. package/button/lib/_shared.scss +16 -6
  14. package/button/lib/_text-button.scss +6 -0
  15. package/button/lib/_tonal-button.scss +6 -0
  16. package/button/lib/elevated-styles.css.js +1 -1
  17. package/button/lib/elevated-styles.css.js.map +1 -1
  18. package/button/lib/filled-styles.css.js +1 -1
  19. package/button/lib/filled-styles.css.js.map +1 -1
  20. package/button/lib/outlined-styles.css.js +1 -1
  21. package/button/lib/outlined-styles.css.js.map +1 -1
  22. package/button/lib/shared-elevation-styles.css.js +1 -1
  23. package/button/lib/shared-elevation-styles.css.js.map +1 -1
  24. package/button/lib/shared-styles.css.js +1 -1
  25. package/button/lib/shared-styles.css.js.map +1 -1
  26. package/button/lib/text-styles.css.js +1 -1
  27. package/button/lib/text-styles.css.js.map +1 -1
  28. package/button/lib/tonal-styles.css.js +1 -1
  29. package/button/lib/tonal-styles.css.js.map +1 -1
  30. package/checkbox/lib/_checkbox.scss +4 -0
  31. package/checkbox/lib/checkbox-styles.css.js +1 -1
  32. package/checkbox/lib/checkbox-styles.css.js.map +1 -1
  33. package/chips/chip/lib/_chip-theme.scss +19 -23
  34. package/chips/chip/lib/_chip.scss +0 -2
  35. package/chips/chip/lib/_input-chip-theme.scss +16 -26
  36. package/chips/chip/lib/chip.d.ts +1 -0
  37. package/chips/chip/lib/chip.js +2 -1
  38. package/chips/chip/lib/chip.js.map +1 -1
  39. package/fab/fab-extended.js +1 -2
  40. package/fab/fab-extended.js.map +1 -1
  41. package/fab/fab.js +1 -2
  42. package/fab/fab.js.map +1 -1
  43. package/fab/lib/_shared.scss +11 -9
  44. package/fab/lib/fab-shared-styles.css.js +1 -1
  45. package/fab/lib/fab-shared-styles.css.js.map +1 -1
  46. package/field/lib/filled-styles.css.js +1 -1
  47. package/field/lib/filled-styles.css.js.map +1 -1
  48. package/iconbutton/lib/_filled-icon-button.scss +14 -0
  49. package/iconbutton/lib/_filled-tonal-icon-button.scss +14 -0
  50. package/iconbutton/lib/_outlined-icon-button.scss +14 -0
  51. package/iconbutton/lib/_shared.scss +20 -1
  52. package/iconbutton/lib/_standard-icon-button.scss +22 -0
  53. package/iconbutton/lib/filled-styles.css.js +1 -1
  54. package/iconbutton/lib/filled-styles.css.js.map +1 -1
  55. package/iconbutton/lib/filled-tonal-styles.css.js +1 -1
  56. package/iconbutton/lib/filled-tonal-styles.css.js.map +1 -1
  57. package/iconbutton/lib/icon-button-toggle.js +1 -1
  58. package/iconbutton/lib/icon-button-toggle.js.map +1 -1
  59. package/iconbutton/lib/icon-button.js +1 -1
  60. package/iconbutton/lib/icon-button.js.map +1 -1
  61. package/iconbutton/lib/outlined-styles.css.js +1 -1
  62. package/iconbutton/lib/outlined-styles.css.js.map +1 -1
  63. package/iconbutton/lib/shared-styles.css.js +1 -1
  64. package/iconbutton/lib/shared-styles.css.js.map +1 -1
  65. package/iconbutton/lib/standard-styles.css.js +1 -1
  66. package/iconbutton/lib/standard-styles.css.js.map +1 -1
  67. package/list/lib/_list.scss +20 -14
  68. package/list/lib/divider/list-divider.js +2 -0
  69. package/list/lib/divider/list-divider.js.map +1 -1
  70. package/list/lib/list-styles.css.js +1 -1
  71. package/list/lib/list-styles.css.js.map +1 -1
  72. package/list/lib/list.d.ts +1 -0
  73. package/list/lib/list.js +4 -1
  74. package/list/lib/list.js.map +1 -1
  75. package/list/lib/listitem/list-item.js +2 -0
  76. package/list/lib/listitem/list-item.js.map +1 -1
  77. package/menu/lib/_menu.scss +7 -10
  78. package/menu/lib/menu-styles.css.js +1 -1
  79. package/menu/lib/menu-styles.css.js.map +1 -1
  80. package/menusurface/lib/_md-comp-menu-surface.scss +6 -14
  81. package/menusurface/lib/_menu-surface.scss +8 -4
  82. package/menusurface/lib/menu-surface-styles.css.js +1 -1
  83. package/menusurface/lib/menu-surface-styles.css.js.map +1 -1
  84. package/menusurface/lib/menu-surface.d.ts +1 -0
  85. package/menusurface/lib/menu-surface.js +2 -0
  86. package/menusurface/lib/menu-surface.js.map +1 -1
  87. package/navigationdrawer/lib/_navigation-drawer-modal.scss +7 -22
  88. package/navigationdrawer/lib/_navigation-drawer.scss +15 -18
  89. package/navigationdrawer/lib/_shared.scss +2 -7
  90. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js +1 -1
  91. package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js.map +1 -1
  92. package/navigationdrawer/lib/navigation-drawer-styles.css.js +1 -1
  93. package/navigationdrawer/lib/navigation-drawer-styles.css.js.map +1 -1
  94. package/navigationdrawer/lib/navigation-drawer.d.ts +1 -0
  95. package/navigationdrawer/lib/navigation-drawer.js +3 -2
  96. package/navigationdrawer/lib/navigation-drawer.js.map +1 -1
  97. package/package.json +8 -1
  98. package/radio/_radio.scss +6 -1
  99. package/radio/lib/_radio.scss +128 -92
  100. package/radio/lib/forced-colors-styles.css.d.ts +1 -0
  101. package/radio/lib/forced-colors-styles.css.js +9 -0
  102. package/radio/lib/forced-colors-styles.css.js.map +1 -0
  103. package/radio/lib/forced-colors-styles.scss +27 -0
  104. package/radio/lib/radio-styles.css.js +1 -1
  105. package/radio/lib/radio-styles.css.js.map +1 -1
  106. package/radio/lib/radio-styles.scss +1 -7
  107. package/radio/lib/radio.d.ts +6 -44
  108. package/radio/lib/radio.js +42 -144
  109. package/radio/lib/radio.js.map +1 -1
  110. package/radio/lib/single-selection-controller.d.ts +51 -138
  111. package/radio/lib/single-selection-controller.js +153 -249
  112. package/radio/lib/single-selection-controller.js.map +1 -1
  113. package/radio/radio.js +2 -1
  114. package/radio/radio.js.map +1 -1
  115. package/textfield/lib/_shared.scss +1 -0
  116. package/textfield/lib/filled-styles.css.js +1 -1
  117. package/textfield/lib/filled-styles.css.js.map +1 -1
  118. package/textfield/lib/shared-styles.css.js +1 -1
  119. package/textfield/lib/shared-styles.css.js.map +1 -1
  120. package/textfield/lib/text-field.js +3 -0
  121. package/textfield/lib/text-field.js.map +1 -1
  122. package/tokens/_index.scss +1 -1
  123. package/tokens/{v0_144 → v0_150}/_index.scss +0 -0
  124. package/tokens/{v0_144 → v0_150}/_md-comp-assist-chip.scss +1 -1
  125. package/tokens/{v0_144 → v0_150}/_md-comp-badge.scss +1 -1
  126. package/tokens/{v0_144 → v0_150}/_md-comp-banner.scss +1 -1
  127. package/tokens/{v0_144 → v0_150}/_md-comp-bottom-app-bar.scss +1 -1
  128. package/tokens/{v0_144 → v0_150}/_md-comp-carousel-item.scss +1 -1
  129. package/tokens/{v0_144 → v0_150}/_md-comp-checkbox.scss +1 -1
  130. package/tokens/{v0_144 → v0_150}/_md-comp-circular-progress-indicator.scss +1 -1
  131. package/tokens/{v0_144 → v0_150}/_md-comp-data-table.scss +1 -1
  132. package/tokens/{v0_144 → v0_150}/_md-comp-date-input-modal.scss +1 -1
  133. package/tokens/{v0_144 → v0_150}/_md-comp-date-picker-docked.scss +1 -1
  134. package/tokens/{v0_144 → v0_150}/_md-comp-date-picker-modal.scss +1 -1
  135. package/tokens/{v0_144 → v0_150}/_md-comp-dialog.scss +1 -1
  136. package/tokens/{v0_144 → v0_150}/_md-comp-divider.scss +1 -1
  137. package/tokens/{v0_144 → v0_150}/_md-comp-elevated-button.scss +1 -1
  138. package/tokens/{v0_144 → v0_150}/_md-comp-elevated-card.scss +1 -1
  139. package/tokens/{v0_144 → v0_150}/_md-comp-extended-fab-branded.scss +1 -1
  140. package/tokens/{v0_144 → v0_150}/_md-comp-extended-fab-primary.scss +1 -1
  141. package/tokens/{v0_144 → v0_150}/_md-comp-extended-fab-secondary.scss +1 -1
  142. package/tokens/{v0_144 → v0_150}/_md-comp-extended-fab-surface.scss +1 -1
  143. package/tokens/{v0_144 → v0_150}/_md-comp-extended-fab-tertiary.scss +1 -1
  144. package/tokens/{v0_144 → v0_150}/_md-comp-fab-branded-large.scss +1 -1
  145. package/tokens/{v0_144 → v0_150}/_md-comp-fab-branded.scss +1 -1
  146. package/tokens/{v0_144 → v0_150}/_md-comp-fab-primary-large.scss +1 -1
  147. package/tokens/{v0_144 → v0_150}/_md-comp-fab-primary-small.scss +1 -1
  148. package/tokens/{v0_144 → v0_150}/_md-comp-fab-primary.scss +1 -1
  149. package/tokens/{v0_144 → v0_150}/_md-comp-fab-secondary-large.scss +1 -1
  150. package/tokens/{v0_144 → v0_150}/_md-comp-fab-secondary-small.scss +1 -1
  151. package/tokens/{v0_144 → v0_150}/_md-comp-fab-secondary.scss +1 -1
  152. package/tokens/{v0_144 → v0_150}/_md-comp-fab-surface-large.scss +1 -1
  153. package/tokens/{v0_144 → v0_150}/_md-comp-fab-surface-small.scss +1 -1
  154. package/tokens/{v0_144 → v0_150}/_md-comp-fab-surface.scss +1 -1
  155. package/tokens/{v0_144 → v0_150}/_md-comp-fab-tertiary-large.scss +1 -1
  156. package/tokens/{v0_144 → v0_150}/_md-comp-fab-tertiary-small.scss +1 -1
  157. package/tokens/{v0_144 → v0_150}/_md-comp-fab-tertiary.scss +1 -1
  158. package/tokens/{v0_144 → v0_150}/_md-comp-filled-autocomplete.scss +1 -1
  159. package/tokens/{v0_144 → v0_150}/_md-comp-filled-button.scss +1 -1
  160. package/tokens/{v0_144 → v0_150}/_md-comp-filled-card.scss +1 -1
  161. package/tokens/{v0_144 → v0_150}/_md-comp-filled-icon-button.scss +1 -1
  162. package/tokens/{v0_144 → v0_150}/_md-comp-filled-menu-button.scss +1 -1
  163. package/tokens/{v0_144 → v0_150}/_md-comp-filled-select.scss +1 -1
  164. package/tokens/{v0_144 → v0_150}/_md-comp-filled-text-field.scss +2 -2
  165. package/tokens/{v0_144 → v0_150}/_md-comp-filled-tonal-button.scss +1 -1
  166. package/tokens/{v0_144 → v0_150}/_md-comp-filled-tonal-icon-button.scss +1 -1
  167. package/tokens/{v0_144 → v0_150}/_md-comp-filter-chip.scss +2 -1
  168. package/tokens/{v0_144 → v0_150}/_md-comp-full-screen-dialog.scss +1 -1
  169. package/tokens/{v0_144 → v0_150}/_md-comp-icon-button.scss +1 -1
  170. package/tokens/{v0_144 → v0_150}/_md-comp-input-chip.scss +1 -1
  171. package/tokens/{v0_144 → v0_150}/_md-comp-linear-progress-indicator.scss +1 -1
  172. package/tokens/{v0_144 → v0_150}/_md-comp-list.scss +1 -1
  173. package/tokens/{v0_144 → v0_150}/_md-comp-menu.scss +1 -1
  174. package/tokens/{v0_144 → v0_150}/_md-comp-navigation-bar.scss +1 -1
  175. package/tokens/{v0_144 → v0_150}/_md-comp-navigation-drawer.scss +1 -1
  176. package/tokens/{v0_144 → v0_150}/_md-comp-navigation-rail.scss +1 -1
  177. package/tokens/{v0_144 → v0_150}/_md-comp-outlined-autocomplete.scss +1 -1
  178. package/tokens/{v0_144 → v0_150}/_md-comp-outlined-button.scss +1 -1
  179. package/tokens/{v0_144 → v0_150}/_md-comp-outlined-card.scss +5 -5
  180. package/tokens/{v0_144 → v0_150}/_md-comp-outlined-icon-button.scss +1 -1
  181. package/tokens/{v0_144 → v0_150}/_md-comp-outlined-menu-button.scss +1 -1
  182. package/tokens/{v0_144 → v0_150}/_md-comp-outlined-segmented-button.scss +1 -1
  183. package/tokens/{v0_144 → v0_150}/_md-comp-outlined-select.scss +1 -1
  184. package/tokens/{v0_144 → v0_150}/_md-comp-outlined-text-field.scss +1 -1
  185. package/tokens/{v0_144 → v0_150}/_md-comp-plain-tooltip.scss +2 -2
  186. package/tokens/{v0_144 → v0_150}/_md-comp-primary-navigation-tab.scss +1 -1
  187. package/tokens/{v0_144 → v0_150}/_md-comp-radio-button.scss +1 -1
  188. package/tokens/{v0_144 → v0_150}/_md-comp-rich-tooltip.scss +1 -1
  189. package/tokens/{v0_144 → v0_150}/_md-comp-scrim.scss +1 -1
  190. package/tokens/{v0_144 → v0_150}/_md-comp-search-bar.scss +1 -1
  191. package/tokens/{v0_144 → v0_150}/_md-comp-search-view.scss +1 -1
  192. package/tokens/{v0_144 → v0_150}/_md-comp-secondary-navigation-tab.scss +1 -1
  193. package/tokens/{v0_144 → v0_150}/_md-comp-sheet-bottom.scss +1 -1
  194. package/tokens/{v0_144 → v0_150}/_md-comp-sheet-floating.scss +1 -1
  195. package/tokens/{v0_144 → v0_150}/_md-comp-sheet-side.scss +1 -1
  196. package/tokens/{v0_144 → v0_150}/_md-comp-slider.scss +1 -1
  197. package/tokens/{v0_144 → v0_150}/_md-comp-snackbar.scss +25 -1
  198. package/tokens/{v0_144 → v0_150}/_md-comp-standard-menu-button.scss +1 -1
  199. package/tokens/{v0_144 → v0_150}/_md-comp-suggestion-chip.scss +6 -6
  200. package/tokens/{v0_144 → v0_150}/_md-comp-switch.scss +1 -1
  201. package/tokens/{v0_144 → v0_150}/_md-comp-text-button.scss +1 -1
  202. package/tokens/{v0_144 → v0_150}/_md-comp-time-input.scss +1 -1
  203. package/tokens/{v0_144 → v0_150}/_md-comp-time-picker.scss +2 -2
  204. package/tokens/{v0_144 → v0_150}/_md-comp-top-app-bar-large.scss +1 -1
  205. package/tokens/{v0_144 → v0_150}/_md-comp-top-app-bar-medium.scss +1 -1
  206. package/tokens/{v0_144 → v0_150}/_md-comp-top-app-bar-small-centered.scss +1 -1
  207. package/tokens/{v0_144 → v0_150}/_md-comp-top-app-bar-small.scss +1 -1
  208. package/tokens/{v0_144 → v0_150}/_md-ref-palette.scss +1 -1
  209. package/tokens/{v0_144 → v0_150}/_md-ref-typeface.scss +1 -1
  210. package/tokens/{v0_144 → v0_150}/_md-sys-color.scss +1 -1
  211. package/tokens/{v0_144 → v0_150}/_md-sys-elevation.scss +1 -1
  212. package/tokens/{v0_144 → v0_150}/_md-sys-motion.scss +1 -1
  213. package/tokens/{v0_144 → v0_150}/_md-sys-shape.scss +1 -1
  214. package/tokens/{v0_144 → v0_150}/_md-sys-state.scss +1 -1
  215. package/tokens/{v0_144 → v0_150}/_md-sys-typescale.scss +1 -1
  216. package/tokens/v0_150/index.test.css.d.ts +1 -0
  217. package/tokens/v0_150/index.test.css.js +9 -0
  218. package/tokens/v0_150/index.test.css.js.map +1 -0
  219. package/tokens/v0_150/index.test.scss +584 -0
  220. package/tokens/v0_150/lib.test.css.d.ts +1 -0
  221. package/tokens/v0_150/lib.test.css.js +9 -0
  222. package/tokens/v0_150/lib.test.css.js.map +1 -0
  223. package/tokens/v0_150/lib.test.scss +663 -0
  224. package/elevationold/lib/_elevation-overlay-theme.scss +0 -31
  225. package/elevationold/lib/_elevation-overlay.scss +0 -18
  226. package/elevationold/lib/_elevation-theme.scss +0 -74
  227. package/elevationold/lib/_surface.scss +0 -15
  228. package/elevationold/lib/elevation-overlay-styles.scss +0 -9
  229. package/radio/lib/_radio-theme.scss +0 -377
@@ -3,129 +3,165 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
 
6
- // stylelint-disable selector-class-pattern --
7
- // Selector '.md3-*' should only be used in this project.
8
-
6
+ @use 'sass:map';
9
7
  @use '../../focus/focus-ring';
10
8
  @use '../../motion/animation';
9
+ @use '../../ripple/ripple';
10
+ @use '../../sass/theme';
11
+ @use '../../tokens';
12
+
13
+ $_md-sys-motion: tokens.md-sys-motion-values();
14
+
15
+ @mixin theme($tokens) {
16
+ $tokens: theme.validate-theme(tokens.md-comp-radio-button-values(), $tokens);
17
+ $tokens: theme.create-theme-vars($tokens, 'radio');
18
+
19
+ @include theme.emit-theme-vars($tokens);
20
+ }
21
+
22
+ @mixin styles() {
23
+ $tokens: tokens.md-comp-radio-button-values();
24
+ $tokens: theme.create-theme-vars($tokens, 'radio');
25
+
26
+ :host {
27
+ @each $token, $value in $tokens {
28
+ --_#{$token}: #{$value};
29
+ }
11
30
 
12
- @use './radio-theme';
31
+ @include ripple.theme(
32
+ (
33
+ focus-state-layer-color: var(--_unselected-focus-state-layer-color),
34
+ focus-state-layer-opacity: var(--_unselected-focus-state-layer-opacity),
35
+ hover-state-layer-color: var(--_unselected-hover-state-layer-color),
36
+ hover-state-layer-opacity: var(--_unselected-hover-state-layer-opacity),
37
+ pressed-state-layer-color: var(--_unselected-pressed-state-layer-color),
38
+ pressed-state-layer-opacity:
39
+ var(--_unselected-pressed-state-layer-opacity),
40
+ )
41
+ );
42
+
43
+ @include focus-ring.theme(
44
+ (
45
+ offset-vertical: -2px,
46
+ offset-horizontal: -2px,
47
+ )
48
+ );
13
49
 
14
- @mixin static-styles() {
15
- .md3-radio {
16
50
  display: inline-flex;
51
+ height: 48px;
17
52
  position: relative;
18
- cursor: pointer;
19
- will-change: opacity, transform, border-color, color;
20
- justify-content: center;
21
- align-items: center;
53
+ vertical-align: top; // Fix extra space when placed inside display: block
54
+ width: 48px;
55
+ // Remove highlight color for mobile Safari
56
+ -webkit-tap-highlight-color: transparent;
22
57
  }
23
58
 
24
- .md3-radio__background {
25
- display: inline-flex;
26
- position: relative;
27
- box-sizing: border-box;
28
- align-items: center;
29
- justify-content: center;
59
+ :host([checked]) {
60
+ @include ripple.theme(
61
+ (
62
+ focus-state-layer-color: var(--_selected-focus-state-layer-color),
63
+ focus-state-layer-opacity: var(--_selected-focus-state-layer-opacity),
64
+ hover-state-layer-color: var(--_selected-hover-state-layer-color),
65
+ hover-state-layer-opacity: var(--_selected-hover-state-layer-opacity),
66
+ pressed-state-layer-color: var(--_selected-pressed-state-layer-color),
67
+ pressed-state-layer-opacity:
68
+ var(--_selected-pressed-state-layer-opacity),
69
+ )
70
+ );
30
71
  }
31
72
 
32
- .md3-radio__outer-circle {
33
- position: absolute;
34
- inset-block-start: 0;
35
- inset-inline-start: 0;
36
- box-sizing: border-box;
37
- block-size: 100%;
38
- inline-size: 100%;
39
- border-width: 2px;
40
- border-style: solid;
41
- border-radius: 50%;
42
- transition: exit(border-color);
43
- }
44
-
45
- .md3-radio__inner-circle {
73
+ input,
74
+ md-ripple,
75
+ md-focus-ring,
76
+ .icon {
77
+ inset: 0;
78
+ margin: auto;
46
79
  position: absolute;
47
- box-sizing: border-box;
48
- block-size: 50%;
49
- inline-size: 50%;
50
- transform: scale(0);
51
- border-radius: 50%;
52
- transition: exit(transform), exit(border-color);
53
80
  }
54
81
 
55
- .md3-radio__ripple {
56
- position: absolute;
57
- display: inline-flex;
58
- z-index: -1;
82
+ input {
83
+ appearance: none;
84
+ outline: none;
59
85
  }
60
86
 
61
- .md3-radio__native-control {
62
- position: absolute;
63
- margin: 0;
64
- padding: 0;
87
+ md-ripple {
88
+ height: var(--_state-layer-size);
89
+ width: var(--_state-layer-size);
90
+ }
91
+
92
+ .icon {
93
+ fill: var(--_unselected-icon-color);
94
+ height: var(--_icon-size);
95
+ width: var(--_icon-size);
96
+ }
97
+
98
+ .inner-circle {
65
99
  opacity: 0;
66
- cursor: inherit;
67
- z-index: 1;
68
- block-size: 100%;
69
- inline-size: 100%;
70
- inset: 0;
100
+ transition-duration: 150ms, 50ms; // Exit duration for scale and opacity.
101
+ transition-property: transform, opacity;
102
+ // Exit easing function for scale, linear for opacity.
103
+ transition-timing-function: map.get(
104
+ $_md-sys-motion,
105
+ easing-emphasized-accelerate
106
+ ),
107
+ linear;
108
+ transform: scale(0.6);
109
+ transform-origin: center;
71
110
  }
72
111
 
73
- .md3-radio__native-control:checked,
74
- .md3-radio__native-control:disabled {
75
- + .md3-radio__background {
76
- transition: enter(opacity), enter(transform);
112
+ :host([checked]) .icon {
113
+ fill: var(--_selected-icon-color);
114
+ }
77
115
 
78
- .md3-radio__outer-circle {
79
- transition: enter(border-color);
80
- }
116
+ :host([checked]) .inner-circle {
117
+ opacity: 1;
118
+ // Enter duration for scale and opacity.
119
+ transition-duration: 350ms, 50ms;
120
+ // Enter easing function for scale, linear for opacity.
121
+ transition-timing-function: map.get(
122
+ $_md-sys-motion,
123
+ easing-emphasized-decelerate
124
+ ),
125
+ linear;
126
+ transform: scale(1);
127
+ }
81
128
 
82
- .md3-radio__inner-circle {
83
- transition: enter(transform), enter(border-color);
84
- }
85
- }
129
+ // Don't animate when disabled
130
+ :host([disabled]) .inner-circle {
131
+ transition-duration: 0s;
86
132
  }
87
133
 
88
- .md3-radio--disabled {
89
- cursor: default;
90
- pointer-events: none;
134
+ :host(:hover) .icon {
135
+ fill: var(--_unselected-hover-icon-color);
91
136
  }
92
137
 
93
- .md3-radio__native-control:checked {
94
- + .md3-radio__background {
95
- .md3-radio__inner-circle {
96
- transform: scale(1);
97
- transition: enter(transform), enter(border-color);
98
- }
99
- }
138
+ :host(:focus-within) .icon {
139
+ fill: var(--_unselected-focus-icon-color);
100
140
  }
101
141
 
102
- .md3-radio__native-control:disabled,
103
- [aria-disabled='true'] .md3-radio__native-control {
104
- + .md3-radio__background {
105
- cursor: default;
106
- }
142
+ :host(:active) .icon {
143
+ fill: var(--_unselected-pressed-icon-color);
107
144
  }
108
145
 
109
- @include focus-ring.theme(
110
- (
111
- offset-vertical: -2px,
112
- offset-horizontal: -2px,
113
- )
114
- );
146
+ :host([disabled]) .icon {
147
+ fill: var(--_disabled-unselected-icon-color);
148
+ opacity: var(--_disabled-unselected-icon-opacity);
149
+ }
115
150
 
116
- @media (forced-colors: active) {
117
- .md3-radio {
118
- @include radio-theme.high-contrast-styles();
119
- }
151
+ :host([checked]:hover) .icon {
152
+ fill: var(--_selected-hover-icon-color);
120
153
  }
121
- }
122
154
 
123
- $_transition-duration: 120ms;
155
+ :host([checked]:focus-within) .icon {
156
+ fill: var(--_selected-focus-icon-color);
157
+ }
124
158
 
125
- @function enter($name) {
126
- @return animation.deceleration($name, $_transition-duration);
127
- }
159
+ :host([checked]:active) .icon {
160
+ fill: var(--_selected-pressed-icon-color);
161
+ }
128
162
 
129
- @function exit($name) {
130
- @return animation.sharp($name, $_transition-duration);
163
+ :host([checked][disabled]) .icon {
164
+ fill: var(--_disabled-selected-icon-color);
165
+ opacity: var(--_disabled-selected-icon-opacity);
166
+ }
131
167
  }
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { css } from 'lit';
7
+ export const styles = css `@media(forced-colors: active){:host{--md-radio-disabled-selected-icon-color:GrayText;--md-radio-disabled-selected-icon-opacity:1;--md-radio-disabled-unselected-icon-color:GrayText;--md-radio-disabled-unselected-icon-opacity:1;--md-radio-selected-icon-color:CanvasText;--md-radio-selected-hover-icon-color:CanvasText;--md-radio-selected-focus-icon-color:CanvasText;--md-radio-selected-pressed-icon-color:CanvasText;--md-radio-unselected-icon-color:CanvasText;--md-radio-unselected-hover-icon-color:CanvasText;--md-radio-unselected-focus-icon-color:CanvasText;--md-radio-unselected-pressed-icon-color:CanvasText}}/*# sourceMappingURL=forced-colors-styles.css.map */
8
+ `;
9
+ //# sourceMappingURL=forced-colors-styles.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forced-colors-styles.css.js","sourceRoot":"","sources":["forced-colors-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`@media(forced-colors: active){:host{--md-radio-disabled-selected-icon-color:GrayText;--md-radio-disabled-selected-icon-opacity:1;--md-radio-disabled-unselected-icon-color:GrayText;--md-radio-disabled-unselected-icon-opacity:1;--md-radio-selected-icon-color:CanvasText;--md-radio-selected-hover-icon-color:CanvasText;--md-radio-selected-focus-icon-color:CanvasText;--md-radio-selected-pressed-icon-color:CanvasText;--md-radio-unselected-icon-color:CanvasText;--md-radio-unselected-hover-icon-color:CanvasText;--md-radio-unselected-focus-icon-color:CanvasText;--md-radio-unselected-pressed-icon-color:CanvasText}}/*# sourceMappingURL=forced-colors-styles.css.map */\n`;\n "]}
@@ -0,0 +1,27 @@
1
+ //
2
+ // Copyright 2023 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ @use './radio';
7
+
8
+ @media (forced-colors: active) {
9
+ :host {
10
+ @include radio.theme(
11
+ (
12
+ disabled-selected-icon-color: GrayText,
13
+ disabled-selected-icon-opacity: 1,
14
+ disabled-unselected-icon-color: GrayText,
15
+ disabled-unselected-icon-opacity: 1,
16
+ selected-icon-color: CanvasText,
17
+ selected-hover-icon-color: CanvasText,
18
+ selected-focus-icon-color: CanvasText,
19
+ selected-pressed-icon-color: CanvasText,
20
+ unselected-icon-color: CanvasText,
21
+ unselected-hover-icon-color: CanvasText,
22
+ unselected-focus-icon-color: CanvasText,
23
+ unselected-pressed-icon-color: CanvasText,
24
+ )
25
+ );
26
+ }
27
+ }
@@ -4,6 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { css } from 'lit';
7
- export const styles = css `:host{--md-ripple-hover-state-layer-color:var(--md-radio-unselected-hover-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--md-ripple-focus-state-layer-color:var(--md-radio-unselected-focus-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--md-ripple-pressed-state-layer-color:var(--md-radio-unselected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-hover-state-layer-opacity:var(--md-radio-unselected-hover-state-layer-opacity, 0.08);--md-ripple-focus-state-layer-opacity:var(--md-radio-unselected-focus-state-layer-opacity, 0.12);--md-ripple-pressed-state-layer-opacity:var(--md-radio-unselected-pressed-state-layer-opacity, 0.12);--md-focus-ring-offset-vertical:-2px;--md-focus-ring-offset-horizontal:-2px;display:inline-flex}:host .md3-radio{block-size:var(--md-radio-state-layer-size, 40px);inline-size:var(--md-radio-state-layer-size, 40px)}:host .md3-radio .md3-radio__native-control:disabled:checked+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-disabled-selected-icon-color, var(--md-sys-color-on-surface, #1c1b1f))}:host .md3-radio .md3-radio__native-control:disabled+.md3-radio__background .md3-radio__inner-circle{background-color:var(--md-radio-disabled-selected-icon-color, var(--md-sys-color-on-surface, #1c1b1f))}:host .md3-radio .md3-radio__native-control:disabled:checked+.md3-radio__background .md3-radio__outer-circle{opacity:var(--md-radio-disabled-selected-icon-opacity, 0.38)}:host .md3-radio .md3-radio__native-control:disabled+.md3-radio__background .md3-radio__inner-circle{opacity:var(--md-radio-disabled-selected-icon-opacity, 0.38)}:host .md3-radio .md3-radio__native-control:disabled:not(:checked)+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-disabled-unselected-icon-color, var(--md-sys-color-on-surface, #1c1b1f))}:host .md3-radio .md3-radio__native-control:disabled:not(:checked)+.md3-radio__background .md3-radio__outer-circle{opacity:var(--md-radio-disabled-unselected-icon-opacity, 0.38)}:host .md3-radio .md3-radio__background{height:var(--md-radio-icon-size, 20px);width:var(--md-radio-icon-size, 20px)}:host .md3-radio .md3-radio__native-control:enabled:checked:focus+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4))}:host .md3-radio .md3-radio__native-control:enabled:checked:focus+.md3-radio__background .md3-radio__inner-circle{background-color:var(--md-radio-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4))}:host .md3-radio .md3-radio__native-control:enabled:checked:hover+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4))}:host .md3-radio .md3-radio__native-control:enabled:checked:hover+.md3-radio__background .md3-radio__inner-circle{background-color:var(--md-radio-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4))}:host .md3-radio .md3-radio__native-control:enabled:checked+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-selected-icon-color, var(--md-sys-color-primary, #6750a4))}:host .md3-radio .md3-radio__native-control:enabled:checked+.md3-radio__background .md3-radio__inner-circle{background-color:var(--md-radio-selected-icon-color, var(--md-sys-color-primary, #6750a4))}:host .md3-radio .md3-radio__native-control:enabled:checked:active+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4))}:host .md3-radio .md3-radio__native-control:enabled:checked:active+.md3-radio__background .md3-radio__inner-circle{background-color:var(--md-radio-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4))}:host .md3-radio .md3-radio__ripple{block-size:var(--md-radio-state-layer-size, 40px);inline-size:var(--md-radio-state-layer-size, 40px)}:host .md3-radio .md3-radio__native-control:enabled:not(:checked):focus+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-unselected-focus-icon-color, var(--md-sys-color-on-surface, #1c1b1f))}:host .md3-radio .md3-radio__native-control:enabled:not(:checked):hover+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-unselected-hover-icon-color, var(--md-sys-color-on-surface, #1c1b1f))}:host .md3-radio .md3-radio__native-control:enabled:not(:checked)+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-unselected-icon-color, var(--md-sys-color-on-surface-variant, #49454f))}:host .md3-radio .md3-radio__native-control:enabled:not(:checked):active+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-unselected-pressed-icon-color, var(--md-sys-color-on-surface, #1c1b1f))}:host .md3-radio--touch{block-size:var(--md-radio-_touch-target-size, 48px);inline-size:var(--md-radio-_touch-target-size, 48px)}:host([checked]){--md-ripple-hover-state-layer-color:var(--md-radio-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-focus-state-layer-color:var(--md-radio-selected-focus-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-pressed-state-layer-color:var(--md-radio-selected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--md-ripple-hover-state-layer-opacity:var(--md-radio-selected-hover-state-layer-opacity, 0.08);--md-ripple-focus-state-layer-opacity:var(--md-radio-selected-focus-state-layer-opacity, 0.12);--md-ripple-pressed-state-layer-opacity:var(--md-radio-selected-pressed-state-layer-opacity, 0.12)}:host .md3-radio{display:inline-flex;position:relative;cursor:pointer;will-change:opacity,transform,border-color,color;justify-content:center;align-items:center}:host .md3-radio__background{display:inline-flex;position:relative;box-sizing:border-box;align-items:center;justify-content:center}:host .md3-radio__outer-circle{position:absolute;inset-block-start:0;inset-inline-start:0;box-sizing:border-box;block-size:100%;inline-size:100%;border-width:2px;border-style:solid;border-radius:50%;transition:border-color 120ms cubic-bezier(0.4, 0, 0.6, 1)}:host .md3-radio__inner-circle{position:absolute;box-sizing:border-box;block-size:50%;inline-size:50%;transform:scale(0);border-radius:50%;transition:transform 120ms cubic-bezier(0.4, 0, 0.6, 1),border-color 120ms cubic-bezier(0.4, 0, 0.6, 1)}:host .md3-radio__ripple{position:absolute;display:inline-flex;z-index:-1}:host .md3-radio__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit;z-index:1;block-size:100%;inline-size:100%;inset:0}:host .md3-radio__native-control:checked+.md3-radio__background,:host .md3-radio__native-control:disabled+.md3-radio__background{transition:opacity 120ms cubic-bezier(0, 0, 0.2, 1),transform 120ms cubic-bezier(0, 0, 0.2, 1)}:host .md3-radio__native-control:checked+.md3-radio__background .md3-radio__outer-circle,:host .md3-radio__native-control:disabled+.md3-radio__background .md3-radio__outer-circle{transition:border-color 120ms cubic-bezier(0, 0, 0.2, 1)}:host .md3-radio__native-control:checked+.md3-radio__background .md3-radio__inner-circle,:host .md3-radio__native-control:disabled+.md3-radio__background .md3-radio__inner-circle{transition:transform 120ms cubic-bezier(0, 0, 0.2, 1),border-color 120ms cubic-bezier(0, 0, 0.2, 1)}:host .md3-radio--disabled{cursor:default;pointer-events:none}:host .md3-radio__native-control:checked+.md3-radio__background .md3-radio__inner-circle{transform:scale(1);transition:transform 120ms cubic-bezier(0, 0, 0.2, 1),border-color 120ms cubic-bezier(0, 0, 0.2, 1)}:host .md3-radio__native-control:disabled+.md3-radio__background,:host [aria-disabled=true] .md3-radio__native-control+.md3-radio__background{cursor:default}@media(forced-colors: active){:host .md3-radio .md3-radio__native-control:disabled:checked+.md3-radio__background .md3-radio__outer-circle{border-color:GrayText}:host .md3-radio .md3-radio__native-control:disabled+.md3-radio__background .md3-radio__inner-circle{background-color:GrayText}:host .md3-radio .md3-radio__native-control:disabled:checked+.md3-radio__background .md3-radio__outer-circle{opacity:1}:host .md3-radio .md3-radio__native-control:disabled+.md3-radio__background .md3-radio__inner-circle{opacity:1}:host .md3-radio .md3-radio__native-control:disabled:not(:checked)+.md3-radio__background .md3-radio__outer-circle{border-color:GrayText}:host .md3-radio .md3-radio__native-control:disabled:not(:checked)+.md3-radio__background .md3-radio__outer-circle{opacity:1}:host .md3-radio .md3-radio__native-control:enabled:checked+.md3-radio__background .md3-radio__outer-circle{border-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:checked+.md3-radio__background .md3-radio__inner-circle{background-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:checked:hover+.md3-radio__background .md3-radio__outer-circle{border-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:checked:hover+.md3-radio__background .md3-radio__inner-circle{background-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:checked:focus+.md3-radio__background .md3-radio__outer-circle{border-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:checked:focus+.md3-radio__background .md3-radio__inner-circle{background-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:checked:active+.md3-radio__background .md3-radio__outer-circle{border-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:checked:active+.md3-radio__background .md3-radio__inner-circle{background-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:not(:checked)+.md3-radio__background .md3-radio__outer-circle{border-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:not(:checked):hover+.md3-radio__background .md3-radio__outer-circle{border-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:not(:checked):focus+.md3-radio__background .md3-radio__outer-circle{border-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:not(:checked):active+.md3-radio__background .md3-radio__outer-circle{border-color:CanvasText}}/*# sourceMappingURL=radio-styles.css.map */
7
+ export const styles = css `:host{--_disabled-selected-icon-color: var(--md-radio-disabled-selected-icon-color, var(--md-sys-color-on-surface, #1c1b1f));--_disabled-selected-icon-opacity: var(--md-radio-disabled-selected-icon-opacity, 0.38);--_disabled-unselected-icon-color: var(--md-radio-disabled-unselected-icon-color, var(--md-sys-color-on-surface, #1c1b1f));--_disabled-unselected-icon-opacity: var(--md-radio-disabled-unselected-icon-opacity, 0.38);--_icon-size: var(--md-radio-icon-size, 20px);--_selected-focus-icon-color: var(--md-radio-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-focus-state-layer-color: var(--md-radio-selected-focus-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-focus-state-layer-opacity: var(--md-radio-selected-focus-state-layer-opacity, 0.12);--_selected-hover-icon-color: var(--md-radio-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-color: var(--md-radio-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-opacity: var(--md-radio-selected-hover-state-layer-opacity, 0.08);--_selected-icon-color: var(--md-radio-selected-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-icon-color: var(--md-radio-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-state-layer-color: var(--md-radio-selected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_selected-pressed-state-layer-opacity: var(--md-radio-selected-pressed-state-layer-opacity, 0.12);--_state-layer-size: var(--md-radio-state-layer-size, 40px);--_unselected-focus-icon-color: var(--md-radio-unselected-focus-icon-color, var(--md-sys-color-on-surface, #1c1b1f));--_unselected-focus-state-layer-color: var(--md-radio-unselected-focus-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_unselected-focus-state-layer-opacity: var(--md-radio-unselected-focus-state-layer-opacity, 0.12);--_unselected-hover-icon-color: var(--md-radio-unselected-hover-icon-color, var(--md-sys-color-on-surface, #1c1b1f));--_unselected-hover-state-layer-color: var(--md-radio-unselected-hover-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_unselected-hover-state-layer-opacity: var(--md-radio-unselected-hover-state-layer-opacity, 0.08);--_unselected-icon-color: var(--md-radio-unselected-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_unselected-pressed-icon-color: var(--md-radio-unselected-pressed-icon-color, var(--md-sys-color-on-surface, #1c1b1f));--_unselected-pressed-state-layer-color: var(--md-radio-unselected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_unselected-pressed-state-layer-opacity: var(--md-radio-unselected-pressed-state-layer-opacity, 0.12);--md-ripple-focus-state-layer-color:var(--_unselected-focus-state-layer-color);--md-ripple-focus-state-layer-opacity:var(--_unselected-focus-state-layer-opacity);--md-ripple-hover-state-layer-color:var(--_unselected-hover-state-layer-color);--md-ripple-hover-state-layer-opacity:var(--_unselected-hover-state-layer-opacity);--md-ripple-pressed-state-layer-color:var(--_unselected-pressed-state-layer-color);--md-ripple-pressed-state-layer-opacity:var(--_unselected-pressed-state-layer-opacity);--md-focus-ring-offset-vertical:-2px;--md-focus-ring-offset-horizontal:-2px;display:inline-flex;height:48px;position:relative;vertical-align:top;width:48px;-webkit-tap-highlight-color:rgba(0,0,0,0)}:host([checked]){--md-ripple-focus-state-layer-color:var(--_selected-focus-state-layer-color);--md-ripple-focus-state-layer-opacity:var(--_selected-focus-state-layer-opacity);--md-ripple-hover-state-layer-color:var(--_selected-hover-state-layer-color);--md-ripple-hover-state-layer-opacity:var(--_selected-hover-state-layer-opacity);--md-ripple-pressed-state-layer-color:var(--_selected-pressed-state-layer-color);--md-ripple-pressed-state-layer-opacity:var(--_selected-pressed-state-layer-opacity)}input,md-ripple,md-focus-ring,.icon{inset:0;margin:auto;position:absolute}input{appearance:none;outline:none}md-ripple{height:var(--_state-layer-size);width:var(--_state-layer-size)}.icon{fill:var(--_unselected-icon-color);height:var(--_icon-size);width:var(--_icon-size)}.inner-circle{opacity:0;transition-duration:150ms,50ms;transition-property:transform,opacity;transition-timing-function:cubic-bezier(0.3, 0, 0.8, 0.15),linear;transform:scale(0.6);transform-origin:center}:host([checked]) .icon{fill:var(--_selected-icon-color)}:host([checked]) .inner-circle{opacity:1;transition-duration:350ms,50ms;transition-timing-function:cubic-bezier(0.05, 0.7, 0.1, 1),linear;transform:scale(1)}:host([disabled]) .inner-circle{transition-duration:0s}:host(:hover) .icon{fill:var(--_unselected-hover-icon-color)}:host(:focus-within) .icon{fill:var(--_unselected-focus-icon-color)}:host(:active) .icon{fill:var(--_unselected-pressed-icon-color)}:host([disabled]) .icon{fill:var(--_disabled-unselected-icon-color);opacity:var(--_disabled-unselected-icon-opacity)}:host([checked]:hover) .icon{fill:var(--_selected-hover-icon-color)}:host([checked]:focus-within) .icon{fill:var(--_selected-focus-icon-color)}:host([checked]:active) .icon{fill:var(--_selected-pressed-icon-color)}:host([checked][disabled]) .icon{fill:var(--_disabled-selected-icon-color);opacity:var(--_disabled-selected-icon-opacity)}/*# sourceMappingURL=radio-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=radio-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-styles.css.js","sourceRoot":"","sources":["radio-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--md-ripple-hover-state-layer-color:var(--md-radio-unselected-hover-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--md-ripple-focus-state-layer-color:var(--md-radio-unselected-focus-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--md-ripple-pressed-state-layer-color:var(--md-radio-unselected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-hover-state-layer-opacity:var(--md-radio-unselected-hover-state-layer-opacity, 0.08);--md-ripple-focus-state-layer-opacity:var(--md-radio-unselected-focus-state-layer-opacity, 0.12);--md-ripple-pressed-state-layer-opacity:var(--md-radio-unselected-pressed-state-layer-opacity, 0.12);--md-focus-ring-offset-vertical:-2px;--md-focus-ring-offset-horizontal:-2px;display:inline-flex}:host .md3-radio{block-size:var(--md-radio-state-layer-size, 40px);inline-size:var(--md-radio-state-layer-size, 40px)}:host .md3-radio .md3-radio__native-control:disabled:checked+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-disabled-selected-icon-color, var(--md-sys-color-on-surface, #1c1b1f))}:host .md3-radio .md3-radio__native-control:disabled+.md3-radio__background .md3-radio__inner-circle{background-color:var(--md-radio-disabled-selected-icon-color, var(--md-sys-color-on-surface, #1c1b1f))}:host .md3-radio .md3-radio__native-control:disabled:checked+.md3-radio__background .md3-radio__outer-circle{opacity:var(--md-radio-disabled-selected-icon-opacity, 0.38)}:host .md3-radio .md3-radio__native-control:disabled+.md3-radio__background .md3-radio__inner-circle{opacity:var(--md-radio-disabled-selected-icon-opacity, 0.38)}:host .md3-radio .md3-radio__native-control:disabled:not(:checked)+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-disabled-unselected-icon-color, var(--md-sys-color-on-surface, #1c1b1f))}:host .md3-radio .md3-radio__native-control:disabled:not(:checked)+.md3-radio__background .md3-radio__outer-circle{opacity:var(--md-radio-disabled-unselected-icon-opacity, 0.38)}:host .md3-radio .md3-radio__background{height:var(--md-radio-icon-size, 20px);width:var(--md-radio-icon-size, 20px)}:host .md3-radio .md3-radio__native-control:enabled:checked:focus+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4))}:host .md3-radio .md3-radio__native-control:enabled:checked:focus+.md3-radio__background .md3-radio__inner-circle{background-color:var(--md-radio-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4))}:host .md3-radio .md3-radio__native-control:enabled:checked:hover+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4))}:host .md3-radio .md3-radio__native-control:enabled:checked:hover+.md3-radio__background .md3-radio__inner-circle{background-color:var(--md-radio-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4))}:host .md3-radio .md3-radio__native-control:enabled:checked+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-selected-icon-color, var(--md-sys-color-primary, #6750a4))}:host .md3-radio .md3-radio__native-control:enabled:checked+.md3-radio__background .md3-radio__inner-circle{background-color:var(--md-radio-selected-icon-color, var(--md-sys-color-primary, #6750a4))}:host .md3-radio .md3-radio__native-control:enabled:checked:active+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4))}:host .md3-radio .md3-radio__native-control:enabled:checked:active+.md3-radio__background .md3-radio__inner-circle{background-color:var(--md-radio-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4))}:host .md3-radio .md3-radio__ripple{block-size:var(--md-radio-state-layer-size, 40px);inline-size:var(--md-radio-state-layer-size, 40px)}:host .md3-radio .md3-radio__native-control:enabled:not(:checked):focus+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-unselected-focus-icon-color, var(--md-sys-color-on-surface, #1c1b1f))}:host .md3-radio .md3-radio__native-control:enabled:not(:checked):hover+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-unselected-hover-icon-color, var(--md-sys-color-on-surface, #1c1b1f))}:host .md3-radio .md3-radio__native-control:enabled:not(:checked)+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-unselected-icon-color, var(--md-sys-color-on-surface-variant, #49454f))}:host .md3-radio .md3-radio__native-control:enabled:not(:checked):active+.md3-radio__background .md3-radio__outer-circle{border-color:var(--md-radio-unselected-pressed-icon-color, var(--md-sys-color-on-surface, #1c1b1f))}:host .md3-radio--touch{block-size:var(--md-radio-_touch-target-size, 48px);inline-size:var(--md-radio-_touch-target-size, 48px)}:host([checked]){--md-ripple-hover-state-layer-color:var(--md-radio-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-focus-state-layer-color:var(--md-radio-selected-focus-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-pressed-state-layer-color:var(--md-radio-selected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--md-ripple-hover-state-layer-opacity:var(--md-radio-selected-hover-state-layer-opacity, 0.08);--md-ripple-focus-state-layer-opacity:var(--md-radio-selected-focus-state-layer-opacity, 0.12);--md-ripple-pressed-state-layer-opacity:var(--md-radio-selected-pressed-state-layer-opacity, 0.12)}:host .md3-radio{display:inline-flex;position:relative;cursor:pointer;will-change:opacity,transform,border-color,color;justify-content:center;align-items:center}:host .md3-radio__background{display:inline-flex;position:relative;box-sizing:border-box;align-items:center;justify-content:center}:host .md3-radio__outer-circle{position:absolute;inset-block-start:0;inset-inline-start:0;box-sizing:border-box;block-size:100%;inline-size:100%;border-width:2px;border-style:solid;border-radius:50%;transition:border-color 120ms cubic-bezier(0.4, 0, 0.6, 1)}:host .md3-radio__inner-circle{position:absolute;box-sizing:border-box;block-size:50%;inline-size:50%;transform:scale(0);border-radius:50%;transition:transform 120ms cubic-bezier(0.4, 0, 0.6, 1),border-color 120ms cubic-bezier(0.4, 0, 0.6, 1)}:host .md3-radio__ripple{position:absolute;display:inline-flex;z-index:-1}:host .md3-radio__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit;z-index:1;block-size:100%;inline-size:100%;inset:0}:host .md3-radio__native-control:checked+.md3-radio__background,:host .md3-radio__native-control:disabled+.md3-radio__background{transition:opacity 120ms cubic-bezier(0, 0, 0.2, 1),transform 120ms cubic-bezier(0, 0, 0.2, 1)}:host .md3-radio__native-control:checked+.md3-radio__background .md3-radio__outer-circle,:host .md3-radio__native-control:disabled+.md3-radio__background .md3-radio__outer-circle{transition:border-color 120ms cubic-bezier(0, 0, 0.2, 1)}:host .md3-radio__native-control:checked+.md3-radio__background .md3-radio__inner-circle,:host .md3-radio__native-control:disabled+.md3-radio__background .md3-radio__inner-circle{transition:transform 120ms cubic-bezier(0, 0, 0.2, 1),border-color 120ms cubic-bezier(0, 0, 0.2, 1)}:host .md3-radio--disabled{cursor:default;pointer-events:none}:host .md3-radio__native-control:checked+.md3-radio__background .md3-radio__inner-circle{transform:scale(1);transition:transform 120ms cubic-bezier(0, 0, 0.2, 1),border-color 120ms cubic-bezier(0, 0, 0.2, 1)}:host .md3-radio__native-control:disabled+.md3-radio__background,:host [aria-disabled=true] .md3-radio__native-control+.md3-radio__background{cursor:default}@media(forced-colors: active){:host .md3-radio .md3-radio__native-control:disabled:checked+.md3-radio__background .md3-radio__outer-circle{border-color:GrayText}:host .md3-radio .md3-radio__native-control:disabled+.md3-radio__background .md3-radio__inner-circle{background-color:GrayText}:host .md3-radio .md3-radio__native-control:disabled:checked+.md3-radio__background .md3-radio__outer-circle{opacity:1}:host .md3-radio .md3-radio__native-control:disabled+.md3-radio__background .md3-radio__inner-circle{opacity:1}:host .md3-radio .md3-radio__native-control:disabled:not(:checked)+.md3-radio__background .md3-radio__outer-circle{border-color:GrayText}:host .md3-radio .md3-radio__native-control:disabled:not(:checked)+.md3-radio__background .md3-radio__outer-circle{opacity:1}:host .md3-radio .md3-radio__native-control:enabled:checked+.md3-radio__background .md3-radio__outer-circle{border-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:checked+.md3-radio__background .md3-radio__inner-circle{background-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:checked:hover+.md3-radio__background .md3-radio__outer-circle{border-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:checked:hover+.md3-radio__background .md3-radio__inner-circle{background-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:checked:focus+.md3-radio__background .md3-radio__outer-circle{border-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:checked:focus+.md3-radio__background .md3-radio__inner-circle{background-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:checked:active+.md3-radio__background .md3-radio__outer-circle{border-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:checked:active+.md3-radio__background .md3-radio__inner-circle{background-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:not(:checked)+.md3-radio__background .md3-radio__outer-circle{border-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:not(:checked):hover+.md3-radio__background .md3-radio__outer-circle{border-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:not(:checked):focus+.md3-radio__background .md3-radio__outer-circle{border-color:CanvasText}:host .md3-radio .md3-radio__native-control:enabled:not(:checked):active+.md3-radio__background .md3-radio__outer-circle{border-color:CanvasText}}/*# sourceMappingURL=radio-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"radio-styles.css.js","sourceRoot":"","sources":["radio-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_disabled-selected-icon-color: var(--md-radio-disabled-selected-icon-color, var(--md-sys-color-on-surface, #1c1b1f));--_disabled-selected-icon-opacity: var(--md-radio-disabled-selected-icon-opacity, 0.38);--_disabled-unselected-icon-color: var(--md-radio-disabled-unselected-icon-color, var(--md-sys-color-on-surface, #1c1b1f));--_disabled-unselected-icon-opacity: var(--md-radio-disabled-unselected-icon-opacity, 0.38);--_icon-size: var(--md-radio-icon-size, 20px);--_selected-focus-icon-color: var(--md-radio-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-focus-state-layer-color: var(--md-radio-selected-focus-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-focus-state-layer-opacity: var(--md-radio-selected-focus-state-layer-opacity, 0.12);--_selected-hover-icon-color: var(--md-radio-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-color: var(--md-radio-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-opacity: var(--md-radio-selected-hover-state-layer-opacity, 0.08);--_selected-icon-color: var(--md-radio-selected-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-icon-color: var(--md-radio-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-state-layer-color: var(--md-radio-selected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_selected-pressed-state-layer-opacity: var(--md-radio-selected-pressed-state-layer-opacity, 0.12);--_state-layer-size: var(--md-radio-state-layer-size, 40px);--_unselected-focus-icon-color: var(--md-radio-unselected-focus-icon-color, var(--md-sys-color-on-surface, #1c1b1f));--_unselected-focus-state-layer-color: var(--md-radio-unselected-focus-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_unselected-focus-state-layer-opacity: var(--md-radio-unselected-focus-state-layer-opacity, 0.12);--_unselected-hover-icon-color: var(--md-radio-unselected-hover-icon-color, var(--md-sys-color-on-surface, #1c1b1f));--_unselected-hover-state-layer-color: var(--md-radio-unselected-hover-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_unselected-hover-state-layer-opacity: var(--md-radio-unselected-hover-state-layer-opacity, 0.08);--_unselected-icon-color: var(--md-radio-unselected-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_unselected-pressed-icon-color: var(--md-radio-unselected-pressed-icon-color, var(--md-sys-color-on-surface, #1c1b1f));--_unselected-pressed-state-layer-color: var(--md-radio-unselected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_unselected-pressed-state-layer-opacity: var(--md-radio-unselected-pressed-state-layer-opacity, 0.12);--md-ripple-focus-state-layer-color:var(--_unselected-focus-state-layer-color);--md-ripple-focus-state-layer-opacity:var(--_unselected-focus-state-layer-opacity);--md-ripple-hover-state-layer-color:var(--_unselected-hover-state-layer-color);--md-ripple-hover-state-layer-opacity:var(--_unselected-hover-state-layer-opacity);--md-ripple-pressed-state-layer-color:var(--_unselected-pressed-state-layer-color);--md-ripple-pressed-state-layer-opacity:var(--_unselected-pressed-state-layer-opacity);--md-focus-ring-offset-vertical:-2px;--md-focus-ring-offset-horizontal:-2px;display:inline-flex;height:48px;position:relative;vertical-align:top;width:48px;-webkit-tap-highlight-color:rgba(0,0,0,0)}:host([checked]){--md-ripple-focus-state-layer-color:var(--_selected-focus-state-layer-color);--md-ripple-focus-state-layer-opacity:var(--_selected-focus-state-layer-opacity);--md-ripple-hover-state-layer-color:var(--_selected-hover-state-layer-color);--md-ripple-hover-state-layer-opacity:var(--_selected-hover-state-layer-opacity);--md-ripple-pressed-state-layer-color:var(--_selected-pressed-state-layer-color);--md-ripple-pressed-state-layer-opacity:var(--_selected-pressed-state-layer-opacity)}input,md-ripple,md-focus-ring,.icon{inset:0;margin:auto;position:absolute}input{appearance:none;outline:none}md-ripple{height:var(--_state-layer-size);width:var(--_state-layer-size)}.icon{fill:var(--_unselected-icon-color);height:var(--_icon-size);width:var(--_icon-size)}.inner-circle{opacity:0;transition-duration:150ms,50ms;transition-property:transform,opacity;transition-timing-function:cubic-bezier(0.3, 0, 0.8, 0.15),linear;transform:scale(0.6);transform-origin:center}:host([checked]) .icon{fill:var(--_selected-icon-color)}:host([checked]) .inner-circle{opacity:1;transition-duration:350ms,50ms;transition-timing-function:cubic-bezier(0.05, 0.7, 0.1, 1),linear;transform:scale(1)}:host([disabled]) .inner-circle{transition-duration:0s}:host(:hover) .icon{fill:var(--_unselected-hover-icon-color)}:host(:focus-within) .icon{fill:var(--_unselected-focus-icon-color)}:host(:active) .icon{fill:var(--_unselected-pressed-icon-color)}:host([disabled]) .icon{fill:var(--_disabled-unselected-icon-color);opacity:var(--_disabled-unselected-icon-opacity)}:host([checked]:hover) .icon{fill:var(--_selected-hover-icon-color)}:host([checked]:focus-within) .icon{fill:var(--_selected-focus-icon-color)}:host([checked]:active) .icon{fill:var(--_selected-pressed-icon-color)}:host([checked][disabled]) .icon{fill:var(--_disabled-selected-icon-color);opacity:var(--_disabled-selected-icon-opacity)}/*# sourceMappingURL=radio-styles.css.map */\n`;\n "]}
@@ -4,11 +4,5 @@
4
4
  //
5
5
 
6
6
  @use './radio';
7
- @use './radio-theme';
8
7
 
9
- :host {
10
- @include radio-theme.theme-styles(radio-theme.$light-theme);
11
- @include radio.static-styles();
12
-
13
- display: inline-flex;
14
- }
8
+ @include radio.styles;
@@ -5,37 +5,18 @@
5
5
  */
6
6
  import '../../focus/focus-ring.js';
7
7
  import '../../ripple/ripple.js';
8
- import { LitElement, PropertyValues, TemplateResult } from 'lit';
8
+ import { LitElement, TemplateResult } from 'lit';
9
9
  import { getFormValue } from '../../controller/form-controller.js';
10
+ declare const CHECKED: unique symbol;
10
11
  /**
11
12
  * @fires checked
12
- * @soyCompatible
13
13
  */
14
14
  export declare class Radio extends LitElement {
15
15
  static shadowRootOptions: ShadowRootInit;
16
16
  static formAssociated: boolean;
17
17
  get checked(): boolean;
18
- /**
19
- * We define our own getter/setter for `checked` because we need to track
20
- * changes to it synchronously.
21
- *
22
- * The order in which the `checked` property is set across radio buttons
23
- * within the same group is very important. However, we can't rely on
24
- * UpdatingElement's `updated` callback to observe these changes (which is
25
- * also what the `@observer` decorator uses), because it batches changes to
26
- * all properties.
27
- *
28
- * Consider:
29
- *
30
- * radio1.disabled = true;
31
- * radio2.checked = true;
32
- * radio1.checked = true;
33
- *
34
- * In this case we'd first see all changes for radio1, and then for radio2,
35
- * and we couldn't tell that radio1 was the most recently checked.
36
- */
37
- set checked(isChecked: boolean);
38
- private _checked;
18
+ set checked(checked: boolean);
19
+ [CHECKED]: boolean;
39
20
  disabled: boolean;
40
21
  /**
41
22
  * The element value to use in form submission when checked.
@@ -45,39 +26,19 @@ export declare class Radio extends LitElement {
45
26
  * The HTML name to use in form submission.
46
27
  */
47
28
  name: string;
48
- /**
49
- * Touch target extends beyond visual boundary of a component by default.
50
- * Set to `true` to remove touch target added to the component.
51
- * @see https://material.io/design/usability/accessibility.html
52
- */
53
- reducedTouchTarget: boolean;
54
- /**
55
- * input's tabindex is updated based on checked status.
56
- * Tab navigation will be removed from unchecked radios.
57
- */
58
- formElementTabIndex: number;
59
29
  ariaLabel: string;
60
30
  /**
61
31
  * The associated form element with which this element's value will submit.
62
32
  */
63
33
  get form(): HTMLFormElement;
64
- private focused;
65
34
  private readonly input;
66
35
  private readonly ripple;
67
- private selectionController?;
36
+ private readonly selectionController;
68
37
  private showFocusRing;
69
38
  private showRipple;
70
39
  constructor();
71
40
  [getFormValue](): string;
72
41
  focus(): void;
73
- connectedCallback(): void;
74
- disconnectedCallback(): void;
75
- updated(changedProperties: PropertyValues): void;
76
- /**
77
- * @soyTemplate
78
- * @soyAttributes radioAttributes: input
79
- * @soyClasses radioClasses: .md3-radio
80
- */
81
42
  protected render(): TemplateResult;
82
43
  private handleBlur;
83
44
  private handleFocus;
@@ -87,3 +48,4 @@ export declare class Radio extends LitElement {
87
48
  private readonly renderRipple;
88
49
  private renderFocusRing;
89
50
  }
51
+ export {};