@material/web 1.0.0-pre.16 → 1.0.0-pre.17

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 (291) hide show
  1. package/README.md +5 -5
  2. package/all.d.ts +4 -2
  3. package/all.js +4 -2
  4. package/all.js.map +1 -1
  5. package/button/internal/_elevation.scss +4 -0
  6. package/button/internal/_shared.scss +5 -1
  7. package/button/internal/elevated-styles.css.js +1 -1
  8. package/button/internal/elevated-styles.css.js.map +1 -1
  9. package/button/internal/filled-styles.css.js +1 -1
  10. package/button/internal/filled-styles.css.js.map +1 -1
  11. package/button/internal/filled-tonal-styles.css.js +1 -1
  12. package/button/internal/filled-tonal-styles.css.js.map +1 -1
  13. package/button/internal/outlined-styles.css.js +1 -1
  14. package/button/internal/outlined-styles.css.js.map +1 -1
  15. package/button/internal/shared-elevation-styles.css.js +1 -1
  16. package/button/internal/shared-elevation-styles.css.js.map +1 -1
  17. package/button/internal/shared-styles.css.js +1 -1
  18. package/button/internal/shared-styles.css.js.map +1 -1
  19. package/button/internal/text-styles.css.js +1 -1
  20. package/button/internal/text-styles.css.js.map +1 -1
  21. package/checkbox/internal/_checkbox.scss +1 -1
  22. package/checkbox/internal/checkbox-styles.css.js +1 -1
  23. package/checkbox/internal/checkbox-styles.css.js.map +1 -1
  24. package/chips/internal/_elevated.scss +0 -4
  25. package/chips/internal/_shared.scss +10 -1
  26. package/chips/internal/assist-chip.d.ts +3 -1
  27. package/chips/internal/assist-chip.js +11 -8
  28. package/chips/internal/assist-chip.js.map +1 -1
  29. package/chips/internal/assist-styles.css.js +1 -1
  30. package/chips/internal/assist-styles.css.js.map +1 -1
  31. package/chips/internal/chip.d.ts +18 -10
  32. package/chips/internal/chip.js +38 -33
  33. package/chips/internal/chip.js.map +1 -1
  34. package/chips/internal/elevated-styles.css.js +1 -1
  35. package/chips/internal/elevated-styles.css.js.map +1 -1
  36. package/chips/internal/filter-chip.d.ts +6 -7
  37. package/chips/internal/filter-chip.js +13 -14
  38. package/chips/internal/filter-chip.js.map +1 -1
  39. package/chips/internal/filter-styles.css.js +1 -1
  40. package/chips/internal/filter-styles.css.js.map +1 -1
  41. package/chips/internal/input-chip.d.ts +4 -2
  42. package/chips/internal/input-chip.js +16 -12
  43. package/chips/internal/input-chip.js.map +1 -1
  44. package/chips/internal/input-styles.css.js +1 -1
  45. package/chips/internal/input-styles.css.js.map +1 -1
  46. package/chips/internal/multi-action-chip.d.ts +2 -3
  47. package/chips/internal/multi-action-chip.js +3 -3
  48. package/chips/internal/multi-action-chip.js.map +1 -1
  49. package/chips/internal/shared-styles.css.js +1 -1
  50. package/chips/internal/shared-styles.css.js.map +1 -1
  51. package/chips/internal/suggestion-styles.css.js +1 -1
  52. package/chips/internal/suggestion-styles.css.js.map +1 -1
  53. package/color/_color.scss +193 -0
  54. package/common.d.ts +2 -2
  55. package/common.js +2 -2
  56. package/common.js.map +1 -1
  57. package/dialog/internal/_dialog.scss +19 -4
  58. package/dialog/internal/dialog-styles.css.js +1 -1
  59. package/dialog/internal/dialog-styles.css.js.map +1 -1
  60. package/dialog/internal/dialog.d.ts +6 -0
  61. package/dialog/internal/dialog.js +36 -4
  62. package/dialog/internal/dialog.js.map +1 -1
  63. package/elevation/internal/elevation.d.ts +1 -0
  64. package/elevation/internal/elevation.js +6 -0
  65. package/elevation/internal/elevation.js.map +1 -1
  66. package/fab/internal/_shared.scss +4 -1
  67. package/fab/internal/fab-branded-styles.css.js +1 -1
  68. package/fab/internal/fab-branded-styles.css.js.map +1 -1
  69. package/fab/internal/fab-styles.css.js +1 -1
  70. package/fab/internal/fab-styles.css.js.map +1 -1
  71. package/fab/internal/shared-styles.css.js +1 -1
  72. package/fab/internal/shared-styles.css.js.map +1 -1
  73. package/field/internal/_content.scss +9 -1
  74. package/field/internal/_filled-field.scss +12 -0
  75. package/field/internal/_label.scss +4 -1
  76. package/field/internal/_outlined-field.scss +33 -0
  77. package/field/internal/_shared.scss +14 -6
  78. package/field/internal/_supporting-text.scss +4 -1
  79. package/field/internal/field.d.ts +2 -0
  80. package/field/internal/field.js +19 -0
  81. package/field/internal/field.js.map +1 -1
  82. package/field/internal/filled-styles.css.js +1 -1
  83. package/field/internal/filled-styles.css.js.map +1 -1
  84. package/field/internal/outlined-styles.css.js +1 -1
  85. package/field/internal/outlined-styles.css.js.map +1 -1
  86. package/field/internal/shared-styles.css.js +1 -1
  87. package/field/internal/shared-styles.css.js.map +1 -1
  88. package/focus/internal/focus-ring.d.ts +3 -1
  89. package/focus/internal/focus-ring.js +9 -0
  90. package/focus/internal/focus-ring.js.map +1 -1
  91. package/icon/internal/icon.js +4 -0
  92. package/icon/internal/icon.js.map +1 -1
  93. package/iconbutton/internal/_icon-button.scss +8 -0
  94. package/iconbutton/internal/icon-button.d.ts +3 -3
  95. package/iconbutton/internal/icon-button.js +4 -4
  96. package/iconbutton/internal/icon-button.js.map +1 -1
  97. package/iconbutton/internal/standard-styles.css.js +1 -1
  98. package/iconbutton/internal/standard-styles.css.js.map +1 -1
  99. package/internal/aria/aria.d.ts +52 -1
  100. package/internal/aria/aria.js +146 -0
  101. package/internal/aria/aria.js.map +1 -1
  102. package/internal/controller/attachable-controller.d.ts +5 -4
  103. package/internal/controller/attachable-controller.js +8 -0
  104. package/internal/controller/attachable-controller.js.map +1 -1
  105. package/labs/badge/internal/_badge.scss +5 -1
  106. package/labs/badge/internal/badge-styles.css.js +1 -1
  107. package/labs/badge/internal/badge-styles.css.js.map +1 -1
  108. package/labs/navigationbar/internal/navigation-bar-styles.css.js +1 -1
  109. package/labs/navigationbar/internal/navigation-bar-styles.css.js.map +1 -1
  110. package/labs/navigationtab/internal/_navigation-tab.scss +4 -1
  111. package/labs/navigationtab/internal/navigation-tab-styles.css.js +1 -1
  112. package/labs/navigationtab/internal/navigation-tab-styles.css.js.map +1 -1
  113. package/labs/segmentedbutton/internal/_shared.scss +4 -1
  114. package/labs/segmentedbutton/internal/outlined-styles.css.js +1 -1
  115. package/labs/segmentedbutton/internal/outlined-styles.css.js.map +1 -1
  116. package/labs/segmentedbutton/internal/shared-styles.css.js +1 -1
  117. package/labs/segmentedbutton/internal/shared-styles.css.js.map +1 -1
  118. package/labs/segmentedbuttonset/internal/outlined-styles.css.js +1 -1
  119. package/labs/segmentedbuttonset/internal/outlined-styles.css.js.map +1 -1
  120. package/list/harness.js +1 -1
  121. package/list/harness.js.map +1 -1
  122. package/list/internal/_list.scss +1 -4
  123. package/list/internal/list-styles.css.js +1 -1
  124. package/list/internal/list-styles.css.js.map +1 -1
  125. package/list/internal/list.d.ts +1 -2
  126. package/list/internal/list.js +4 -6
  127. package/list/internal/list.js.map +1 -1
  128. package/list/internal/listitem/_list-item.scss +17 -5
  129. package/list/internal/listitem/list-item-styles.css.js +1 -1
  130. package/list/internal/listitem/list-item-styles.css.js.map +1 -1
  131. package/menu/harness.d.ts +1 -1
  132. package/menu/harness.js +3 -4
  133. package/menu/harness.js.map +1 -1
  134. package/menu/internal/_menu.scss +32 -26
  135. package/menu/internal/menu-styles.css.js +1 -1
  136. package/menu/internal/menu-styles.css.js.map +1 -1
  137. package/menu/internal/menu.d.ts +15 -4
  138. package/menu/internal/menu.js +27 -4
  139. package/menu/internal/menu.js.map +1 -1
  140. package/menu/internal/menuitem/menu-item.js +1 -1
  141. package/menu/internal/menuitem/menu-item.js.map +1 -1
  142. package/menu/internal/submenuitem/sub-menu-item.d.ts +3 -0
  143. package/menu/internal/submenuitem/sub-menu-item.js +42 -12
  144. package/menu/internal/submenuitem/sub-menu-item.js.map +1 -1
  145. package/menu/internal/typeaheadController.js +2 -1
  146. package/menu/internal/typeaheadController.js.map +1 -1
  147. package/menu/menu.d.ts +12 -5
  148. package/menu/menu.js +12 -5
  149. package/menu/menu.js.map +1 -1
  150. package/menu/sub-menu-item.d.ts +3 -4
  151. package/menu/sub-menu-item.js +3 -4
  152. package/menu/sub-menu-item.js.map +1 -1
  153. package/package.json +10 -2
  154. package/progress/internal/_circular-progress.scss +4 -2
  155. package/progress/internal/_linear-progress.scss +2 -2
  156. package/progress/internal/circular-progress-styles.css.js +1 -1
  157. package/progress/internal/circular-progress-styles.css.js.map +1 -1
  158. package/radio/harness.d.ts +1 -1
  159. package/radio/harness.js +1 -1
  160. package/radio/harness.js.map +1 -1
  161. package/radio/internal/_radio.scss +4 -4
  162. package/radio/internal/radio-styles.css.js +1 -1
  163. package/radio/internal/radio-styles.css.js.map +1 -1
  164. package/radio/internal/radio.d.ts +3 -5
  165. package/radio/internal/radio.js +37 -32
  166. package/radio/internal/radio.js.map +1 -1
  167. package/radio/internal/single-selection-controller.js +4 -3
  168. package/radio/internal/single-selection-controller.js.map +1 -1
  169. package/ripple/internal/ripple.d.ts +3 -1
  170. package/ripple/internal/ripple.js +9 -0
  171. package/ripple/internal/ripple.js.map +1 -1
  172. package/select/harness.d.ts +1 -1
  173. package/select/harness.js +1 -3
  174. package/select/harness.js.map +1 -1
  175. package/select/internal/_filled-select.scss +13 -3
  176. package/select/internal/_outlined-select.scss +13 -3
  177. package/select/internal/filled-select-styles.css.js +1 -1
  178. package/select/internal/filled-select-styles.css.js.map +1 -1
  179. package/select/internal/outlined-select-styles.css.js +1 -1
  180. package/select/internal/outlined-select-styles.css.js.map +1 -1
  181. package/select/internal/select.d.ts +8 -2
  182. package/select/internal/select.js +21 -8
  183. package/select/internal/select.js.map +1 -1
  184. package/slider/internal/_slider.scss +9 -4
  185. package/slider/internal/forced-colors-styles.css.js +1 -1
  186. package/slider/internal/forced-colors-styles.css.js.map +1 -1
  187. package/slider/internal/forced-colors-styles.scss +31 -4
  188. package/slider/internal/slider-styles.css.js +1 -1
  189. package/slider/internal/slider-styles.css.js.map +1 -1
  190. package/switch/harness.d.ts +1 -1
  191. package/switch/harness.js +1 -1
  192. package/switch/harness.js.map +1 -1
  193. package/switch/internal/_handle.scss +22 -21
  194. package/switch/internal/_icon.scss +12 -12
  195. package/switch/internal/_switch.scss +11 -19
  196. package/switch/internal/_track.scss +12 -12
  197. package/switch/internal/forced-colors-styles.css.js +1 -1
  198. package/switch/internal/forced-colors-styles.css.js.map +1 -1
  199. package/switch/internal/forced-colors-styles.scss +1 -0
  200. package/switch/internal/switch-styles.css.js +1 -1
  201. package/switch/internal/switch-styles.css.js.map +1 -1
  202. package/switch/internal/switch.d.ts +72 -2
  203. package/switch/internal/switch.js +144 -30
  204. package/switch/internal/switch.js.map +1 -1
  205. package/tabs/{_tab.scss → _primary-tab.scss} +1 -1
  206. package/tabs/_secondary-tab.scss +6 -0
  207. package/tabs/harness.d.ts +2 -2
  208. package/tabs/harness.js +1 -2
  209. package/tabs/harness.js.map +1 -1
  210. package/tabs/internal/_primary-tab.scss +70 -0
  211. package/tabs/internal/_secondary-tab.scss +61 -0
  212. package/tabs/internal/_tab.scss +8 -157
  213. package/tabs/internal/_tabs.scss +9 -10
  214. package/tabs/internal/primary-tab-styles.css.d.ts +1 -0
  215. package/tabs/internal/primary-tab-styles.css.js +9 -0
  216. package/tabs/internal/primary-tab-styles.css.js.map +1 -0
  217. package/tabs/internal/primary-tab-styles.scss +10 -0
  218. package/tabs/internal/primary-tab.d.ts +20 -0
  219. package/tabs/internal/primary-tab.js +30 -0
  220. package/tabs/internal/primary-tab.js.map +1 -0
  221. package/tabs/internal/secondary-tab-styles.css.d.ts +1 -0
  222. package/tabs/internal/secondary-tab-styles.css.js +9 -0
  223. package/tabs/internal/secondary-tab-styles.css.js.map +1 -0
  224. package/tabs/internal/secondary-tab-styles.scss +10 -0
  225. package/tabs/internal/secondary-tab.d.ts +12 -0
  226. package/tabs/internal/secondary-tab.js +16 -0
  227. package/tabs/internal/secondary-tab.js.map +1 -0
  228. package/tabs/internal/tab-styles.css.js +1 -1
  229. package/tabs/internal/tab-styles.css.js.map +1 -1
  230. package/tabs/internal/tab.d.ts +16 -34
  231. package/tabs/internal/tab.js +81 -80
  232. package/tabs/internal/tab.js.map +1 -1
  233. package/tabs/internal/tabs-styles.css.js +1 -1
  234. package/tabs/internal/tabs-styles.css.js.map +1 -1
  235. package/tabs/internal/tabs.d.ts +6 -20
  236. package/tabs/internal/tabs.js +33 -66
  237. package/tabs/internal/tabs.js.map +1 -1
  238. package/tabs/{tab.d.ts → primary-tab.d.ts} +3 -4
  239. package/tabs/primary-tab.js +23 -0
  240. package/tabs/primary-tab.js.map +1 -0
  241. package/tabs/secondary-tab.d.ts +18 -0
  242. package/tabs/secondary-tab.js +23 -0
  243. package/tabs/secondary-tab.js.map +1 -0
  244. package/tabs/tabs.d.ts +0 -2
  245. package/tabs/tabs.js +0 -2
  246. package/tabs/tabs.js.map +1 -1
  247. package/textfield/internal/_filled-text-field.scss +12 -3
  248. package/textfield/internal/_outlined-text-field.scss +12 -3
  249. package/textfield/internal/filled-styles.css.js +1 -1
  250. package/textfield/internal/filled-styles.css.js.map +1 -1
  251. package/textfield/internal/outlined-styles.css.js +1 -1
  252. package/textfield/internal/outlined-styles.css.js.map +1 -1
  253. package/textfield/internal/text-field.d.ts +19 -0
  254. package/textfield/internal/text-field.js +20 -0
  255. package/textfield/internal/text-field.js.map +1 -1
  256. package/tokens/_index.scss +5 -6
  257. package/tokens/_md-comp-assist-chip.scss +6 -14
  258. package/tokens/_md-comp-badge.scss +1 -14
  259. package/tokens/{_md-comp-circular-progress-indicator.scss → _md-comp-circular-progress.scss} +3 -1
  260. package/tokens/_md-comp-dialog.scss +10 -17
  261. package/tokens/_md-comp-elevated-button.scss +5 -13
  262. package/tokens/_md-comp-fab-branded.scss +9 -10
  263. package/tokens/_md-comp-fab.scss +9 -10
  264. package/tokens/_md-comp-filled-button.scss +5 -13
  265. package/tokens/_md-comp-filled-field.scss +25 -6
  266. package/tokens/_md-comp-filled-select.scss +15 -15
  267. package/tokens/_md-comp-filled-text-field.scss +15 -19
  268. package/tokens/_md-comp-filled-tonal-button.scss +5 -13
  269. package/tokens/_md-comp-filter-chip.scss +5 -13
  270. package/tokens/_md-comp-input-chip.scss +5 -13
  271. package/tokens/_md-comp-list-item.scss +18 -37
  272. package/tokens/_md-comp-outlined-button.scss +5 -13
  273. package/tokens/_md-comp-outlined-field.scss +25 -6
  274. package/tokens/_md-comp-outlined-segmented-button.scss +5 -13
  275. package/tokens/_md-comp-outlined-select.scss +15 -15
  276. package/tokens/_md-comp-outlined-text-field.scss +15 -19
  277. package/tokens/_md-comp-primary-tab.scss +132 -0
  278. package/tokens/_md-comp-secondary-tab.scss +139 -0
  279. package/tokens/_md-comp-slider.scss +16 -16
  280. package/tokens/_md-comp-suggestion-chip.scss +5 -13
  281. package/tokens/_md-comp-test-table.scss +13 -2
  282. package/tokens/_md-comp-text-button.scss +5 -13
  283. package/tokens/_md-ref-palette.scss +101 -1
  284. package/tokens/_md-ref-typeface.scss +3 -0
  285. package/tokens/_md-sys-color.scss +57 -2
  286. package/tokens/_md-sys-typescale.scss +66 -5
  287. package/tabs/tab.js +0 -22
  288. package/tabs/tab.js.map +0 -1
  289. package/tokens/_md-comp-tab.scss +0 -285
  290. /package/tokens/{_md-comp-linear-progress-indicator.scss → _md-comp-linear-progress.scss} +0 -0
  291. /package/tokens/{_md-comp-radio-button.scss → _md-comp-radio.scss} +0 -0
@@ -15,68 +15,13 @@
15
15
  @use '../../tokens';
16
16
  // go/keep-sorted end
17
17
 
18
- @mixin theme($tokens) {
19
- $supported-tokens: list.join(
20
- tokens.$md-comp-tab-supported-tokens,
21
- (
22
- 'primary-tab-container-shape-start-start',
23
- 'primary-tab-container-shape-start-end',
24
- 'primary-tab-container-shape-end-end',
25
- 'primary-tab-container-shape-end-start',
26
- 'secondary-tab-container-shape-start-start',
27
- 'secondary-tab-container-shape-start-end',
28
- 'secondary-tab-container-shape-end-end',
29
- 'secondary-tab-container-shape-end-start'
30
- )
31
- );
32
-
33
- @each $token, $value in $tokens {
34
- @if list.index($supported-tokens, $token) == null {
35
- @error 'Token `#{$token}` is not a supported token.';
36
- }
37
-
38
- @if $value {
39
- --md-#{$token}: #{$value};
40
- }
41
- }
42
- }
43
-
44
18
  @mixin styles() {
45
- // contains tokens for all variants and applied where needed
46
- $tokens: tokens.md-comp-tab-values();
47
-
48
19
  :host {
49
- // apply primary-tokens by default
50
- $primary-prefix: 'primary-tab-';
51
- @each $token, $value in $tokens {
52
- @if string-ext.has-prefix($token, $primary-prefix) {
53
- $token: string-ext.trim-prefix(#{$token}, $primary-prefix);
54
- --_#{$token}: var(--md-#{$primary-prefix}#{$token}, #{$value});
55
- }
56
- }
57
-
58
- // Support logical shape properties
59
- --_container-shape-start-start: var(
60
- --md-primary-tab-container-shape-start-start,
61
- var(--_container-shape)
62
- );
63
- --_container-shape-start-end: var(
64
- --md-primary-tab-container-shape-start-end,
65
- var(--_container-shape)
66
- );
67
- --_container-shape-end-end: var(
68
- --md-primary-tab-container-shape-end-end,
69
- var(--_container-shape)
70
- );
71
- --_container-shape-end-start: var(
72
- --md-primary-tab-container-shape-end-start,
73
- var(--_container-shape)
74
- );
75
-
76
20
  display: inline-flex;
77
21
  outline: none;
78
22
  -webkit-tap-highlight-color: transparent;
79
23
  vertical-align: middle;
24
+ user-select: none;
80
25
 
81
26
  @include ripple.theme(
82
27
  (
@@ -101,30 +46,18 @@
101
46
  }
102
47
 
103
48
  .button {
49
+ box-sizing: border-box;
104
50
  display: inline-flex;
105
51
  align-items: center;
106
52
  justify-content: center;
107
- box-sizing: border-box;
108
- border: none;
109
- outline: none;
110
- user-select: none;
111
- -webkit-appearance: none;
112
53
  vertical-align: middle;
113
- background: none;
114
- text-decoration: none;
115
54
  width: 100%;
116
55
  position: relative;
117
- padding: 0;
56
+ padding: 0 16px;
118
57
  margin: 0;
119
58
  z-index: 0; // Ensure this is a stacking context so the indicator displays
120
59
  font: var(--_label-text-type);
121
- border-bottom: var(--_divider-thickness) solid var(--_divider-color);
122
60
  color: var(--_label-text-color);
123
-
124
- &::-moz-focus-inner {
125
- padding: 0;
126
- border: 0;
127
- }
128
61
  }
129
62
 
130
63
  .button::before {
@@ -147,21 +80,11 @@
147
80
  position: relative;
148
81
  box-sizing: border-box;
149
82
  display: inline-flex;
150
- flex-direction: column;
83
+ flex-direction: row;
151
84
  align-items: center;
152
85
  justify-content: center;
153
-
154
- $_content-padding: 8px;
155
- // tabs are naturally sized up to their max height.
156
- max-height: calc(var(--_container-height) + 2 * $_content-padding);
157
- // min-height of touch target
158
- min-height: 48px;
159
- padding: $_content-padding calc(2 * $_content-padding);
160
- gap: 4px;
161
- }
162
-
163
- .content.inline-icon {
164
- flex-direction: row;
86
+ height: var(--_container-height);
87
+ gap: 8px;
165
88
  }
166
89
 
167
90
  .indicator {
@@ -266,86 +189,14 @@
266
189
  color: var(--_active-pressed-icon-color);
267
190
  }
268
191
 
269
- // disabled state
270
- :host([disabled]) {
271
- cursor: default;
272
- pointer-events: none;
273
- opacity: 0.38;
274
- }
275
-
276
- // secondary
277
- :host([variant~='secondary']) {
278
- // apply secondary-tab tokens
279
- $secondary-prefix: 'secondary-tab-';
280
- @each $token, $value in $tokens {
281
- @if string-ext.has-prefix($token, $secondary-prefix) {
282
- $token: string-ext.trim-prefix(#{$token}, $secondary-prefix);
283
- --_#{$token}: var(--md-#{$secondary-prefix}#{$token}, #{$value});
284
- }
285
- }
286
-
287
- // Support logical shape properties
288
- --_container-shape-start-start: var(
289
- --md-secondary-tab-container-shape-start-start,
290
- var(--_container-shape)
291
- );
292
- --_container-shape-start-end: var(
293
- --md-secondary-tab-container-shape-start-end,
294
- var(--_container-shape)
295
- );
296
- --_container-shape-end-end: var(
297
- --md-secondary-tab-container-shape-end-end,
298
- var(--_container-shape)
299
- );
300
- --_container-shape-end-start: var(
301
- --md-secondary-tab-container-shape-end-start,
302
- var(--_container-shape)
303
- );
304
- }
305
-
306
- :host([variant~='secondary']) .content {
307
- width: 100%;
308
- }
309
-
310
- :host([variant~='secondary']) .indicator {
311
- min-width: 100%;
312
- }
313
-
314
- // TODO(b/293506179): remove vertical styles
315
- :host([variant~='vertical']) {
316
- flex: 0;
317
- }
318
-
319
- :host([variant~='vertical']) .button {
320
- width: 100%;
321
- flex-direction: row;
322
- border-bottom: none;
323
- border-right: var(--_divider-thickness) solid var(--_divider-color);
324
- }
325
-
326
- :host([variant~='vertical']) .content {
327
- width: 100%;
328
- }
329
-
330
- :host([variant~='vertical']) .indicator {
331
- height: 100%;
332
- min-width: var(--_active-indicator-height);
333
- inset: 0 0 0 auto;
334
- }
335
-
336
- :host([variant~='vertical'][variant~='primary']) {
337
- --_active-indicator-shape: 9999px 0 0 9999px;
338
- }
339
-
340
192
  :host,
341
193
  ::slotted(*) {
342
194
  white-space: nowrap;
343
195
  }
344
196
 
345
197
  @media (forced-colors: active) {
346
- :host,
347
- :host([variant]) {
348
- --_active-indicator-color: CanvasText;
198
+ .indicator {
199
+ background: CanvasText;
349
200
  }
350
201
  }
351
202
  }
@@ -9,8 +9,7 @@
9
9
  :host {
10
10
  box-sizing: border-box;
11
11
  display: flex;
12
- justify-content: space-between;
13
- align-items: end;
12
+ flex-direction: column;
14
13
  overflow: auto;
15
14
  scroll-behavior: smooth;
16
15
  scrollbar-width: none;
@@ -21,18 +20,18 @@
21
20
  display: none;
22
21
  }
23
22
 
24
- // TODO(b/293506179): remove vertical styles
25
- :host([variant~='vertical']:not([hidden])) {
26
- display: inline-flex;
27
- flex-direction: column;
28
- align-items: stretch;
29
- gap: 0px;
30
- }
31
-
32
23
  :host::-webkit-scrollbar {
33
24
  display: none;
34
25
  }
35
26
 
27
+ .tabs {
28
+ align-items: end;
29
+ display: flex;
30
+ height: 100%;
31
+ justify-content: space-between;
32
+ width: 100%;
33
+ }
34
+
36
35
  ::slotted(*) {
37
36
  flex: 1;
38
37
  }
@@ -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 `:host{--_active-indicator-color: var(--md-primary-tab-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-height: var(--md-primary-tab-active-indicator-height, 3px);--_active-indicator-shape: var(--md-primary-tab-active-indicator-shape, 3px 3px 0px 0px);--_active-hover-state-layer-color: var(--md-primary-tab-active-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_active-hover-state-layer-opacity: var(--md-primary-tab-active-hover-state-layer-opacity, 0.08);--_active-pressed-state-layer-color: var(--md-primary-tab-active-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_active-pressed-state-layer-opacity: var(--md-primary-tab-active-pressed-state-layer-opacity, 0.12);--_container-color: var(--md-primary-tab-container-color, var(--md-sys-color-surface, #fef7ff));--_container-elevation: var(--md-primary-tab-container-elevation, 0);--_container-height: var(--md-primary-tab-container-height, 48px);--_container-shape: var(--md-primary-tab-container-shape, 0px);--_with-icon-and-label-text-container-height: var(--md-primary-tab-with-icon-and-label-text-container-height, 64px);--_label-text-type: var(--md-primary-tab-label-text-type, var(--md-sys-typescale-title-small-weight, var(--md-ref-typeface-weight-medium, 500)) var(--md-sys-typescale-title-small-size, 0.875rem) / var(--md-sys-typescale-title-small-line-height, 1.25rem) var(--md-sys-typescale-title-small-font, var(--md-ref-typeface-plain, Roboto)));--_hover-state-layer-color: var(--md-primary-tab-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-state-layer-opacity: var(--md-primary-tab-hover-state-layer-opacity, 0.08);--_pressed-state-layer-color: var(--md-primary-tab-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-primary-tab-pressed-state-layer-opacity, 0.12);--_active-focus-icon-color: var(--md-primary-tab-active-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_active-hover-icon-color: var(--md-primary-tab-active-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_active-icon-color: var(--md-primary-tab-active-icon-color, var(--md-sys-color-primary, #6750a4));--_active-pressed-icon-color: var(--md-primary-tab-active-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-size: var(--md-primary-tab-icon-size, 24px);--_focus-icon-color: var(--md-primary-tab-focus-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-icon-color: var(--md-primary-tab-hover-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_icon-color: var(--md-primary-tab-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-icon-color: var(--md-primary-tab-pressed-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_active-focus-label-text-color: var(--md-primary-tab-active-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_active-hover-label-text-color: var(--md-primary-tab-active-hover-label-text-color, var(--md-sys-color-primary, #6750a4));--_active-label-text-color: var(--md-primary-tab-active-label-text-color, var(--md-sys-color-primary, #6750a4));--_active-pressed-label-text-color: var(--md-primary-tab-active-pressed-label-text-color, var(--md-sys-color-primary, #6750a4));--_focus-label-text-color: var(--md-primary-tab-focus-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-primary-tab-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_label-text-color: var(--md-primary-tab-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-label-text-color: var(--md-primary-tab-pressed-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_container-shape-start-start: var( --md-primary-tab-container-shape-start-start, var(--_container-shape) );--_container-shape-start-end: var( --md-primary-tab-container-shape-start-end, var(--_container-shape) );--_container-shape-end-end: var( --md-primary-tab-container-shape-end-end, var(--_container-shape) );--_container-shape-end-start: var( --md-primary-tab-container-shape-end-start, var(--_container-shape) )}.content.stacked{flex-direction:column;gap:2px}.content.stacked.has-icon.has-label{height:var(--_with-icon-and-label-text-container-height)}/*# sourceMappingURL=primary-tab-styles.css.map */
8
+ `;
9
+ //# sourceMappingURL=primary-tab-styles.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primary-tab-styles.css.js","sourceRoot":"","sources":["primary-tab-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{--_active-indicator-color: var(--md-primary-tab-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-height: var(--md-primary-tab-active-indicator-height, 3px);--_active-indicator-shape: var(--md-primary-tab-active-indicator-shape, 3px 3px 0px 0px);--_active-hover-state-layer-color: var(--md-primary-tab-active-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_active-hover-state-layer-opacity: var(--md-primary-tab-active-hover-state-layer-opacity, 0.08);--_active-pressed-state-layer-color: var(--md-primary-tab-active-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_active-pressed-state-layer-opacity: var(--md-primary-tab-active-pressed-state-layer-opacity, 0.12);--_container-color: var(--md-primary-tab-container-color, var(--md-sys-color-surface, #fef7ff));--_container-elevation: var(--md-primary-tab-container-elevation, 0);--_container-height: var(--md-primary-tab-container-height, 48px);--_container-shape: var(--md-primary-tab-container-shape, 0px);--_with-icon-and-label-text-container-height: var(--md-primary-tab-with-icon-and-label-text-container-height, 64px);--_label-text-type: var(--md-primary-tab-label-text-type, var(--md-sys-typescale-title-small-weight, var(--md-ref-typeface-weight-medium, 500)) var(--md-sys-typescale-title-small-size, 0.875rem) / var(--md-sys-typescale-title-small-line-height, 1.25rem) var(--md-sys-typescale-title-small-font, var(--md-ref-typeface-plain, Roboto)));--_hover-state-layer-color: var(--md-primary-tab-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-state-layer-opacity: var(--md-primary-tab-hover-state-layer-opacity, 0.08);--_pressed-state-layer-color: var(--md-primary-tab-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-primary-tab-pressed-state-layer-opacity, 0.12);--_active-focus-icon-color: var(--md-primary-tab-active-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_active-hover-icon-color: var(--md-primary-tab-active-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_active-icon-color: var(--md-primary-tab-active-icon-color, var(--md-sys-color-primary, #6750a4));--_active-pressed-icon-color: var(--md-primary-tab-active-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-size: var(--md-primary-tab-icon-size, 24px);--_focus-icon-color: var(--md-primary-tab-focus-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-icon-color: var(--md-primary-tab-hover-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_icon-color: var(--md-primary-tab-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-icon-color: var(--md-primary-tab-pressed-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_active-focus-label-text-color: var(--md-primary-tab-active-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_active-hover-label-text-color: var(--md-primary-tab-active-hover-label-text-color, var(--md-sys-color-primary, #6750a4));--_active-label-text-color: var(--md-primary-tab-active-label-text-color, var(--md-sys-color-primary, #6750a4));--_active-pressed-label-text-color: var(--md-primary-tab-active-pressed-label-text-color, var(--md-sys-color-primary, #6750a4));--_focus-label-text-color: var(--md-primary-tab-focus-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-primary-tab-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_label-text-color: var(--md-primary-tab-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-label-text-color: var(--md-primary-tab-pressed-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_container-shape-start-start: var( --md-primary-tab-container-shape-start-start, var(--_container-shape) );--_container-shape-start-end: var( --md-primary-tab-container-shape-start-end, var(--_container-shape) );--_container-shape-end-end: var( --md-primary-tab-container-shape-end-end, var(--_container-shape) );--_container-shape-end-start: var( --md-primary-tab-container-shape-end-start, var(--_container-shape) )}.content.stacked{flex-direction:column;gap:2px}.content.stacked.has-icon.has-label{height:var(--_with-icon-and-label-text-container-height)}/*# sourceMappingURL=primary-tab-styles.css.map */\n`;\n "]}
@@ -0,0 +1,10 @@
1
+ //
2
+ // Copyright 2023 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ // go/keep-sorted start
7
+ @use './primary-tab';
8
+ // go/keep-sorted end
9
+
10
+ @include primary-tab.styles;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Tab } from './tab.js';
7
+ /**
8
+ * A primary tab component.
9
+ */
10
+ export declare class PrimaryTab extends Tab {
11
+ /**
12
+ * Whether or not the icon renders inline with label or stacked vertically.
13
+ */
14
+ inlineIcon: boolean;
15
+ protected getContentClasses(): {
16
+ stacked: boolean;
17
+ 'has-icon': boolean;
18
+ 'has-label': boolean;
19
+ };
20
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { __decorate } from "tslib";
7
+ import { property } from 'lit/decorators.js';
8
+ import { Tab } from './tab.js';
9
+ /**
10
+ * A primary tab component.
11
+ */
12
+ export class PrimaryTab extends Tab {
13
+ constructor() {
14
+ super(...arguments);
15
+ /**
16
+ * Whether or not the icon renders inline with label or stacked vertically.
17
+ */
18
+ this.inlineIcon = false;
19
+ }
20
+ getContentClasses() {
21
+ return {
22
+ ...super.getContentClasses(),
23
+ 'stacked': !this.inlineIcon,
24
+ };
25
+ }
26
+ }
27
+ __decorate([
28
+ property({ type: Boolean, attribute: 'inline-icon' })
29
+ ], PrimaryTab.prototype, "inlineIcon", void 0);
30
+ //# sourceMappingURL=primary-tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primary-tab.js","sourceRoot":"","sources":["primary-tab.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,GAAG,EAAC,MAAM,UAAU,CAAC;AAE7B;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,GAAG;IAAnC;;QACE;;WAEG;QACkD,eAAU,GAAG,KAAK,CAAC;IAQ1E,CAAC;IANoB,iBAAiB;QAClC,OAAO;YACL,GAAG,KAAK,CAAC,iBAAiB,EAAE;YAC5B,SAAS,EAAE,CAAC,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;CACF;AARsD;IAApD,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAC,CAAC;8CAAoB","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {property} from 'lit/decorators.js';\n\nimport {Tab} from './tab.js';\n\n/**\n * A primary tab component.\n */\nexport class PrimaryTab extends Tab {\n /**\n * Whether or not the icon renders inline with label or stacked vertically.\n */\n @property({type: Boolean, attribute: 'inline-icon'}) inlineIcon = false;\n\n protected override getContentClasses() {\n return {\n ...super.getContentClasses(),\n 'stacked': !this.inlineIcon,\n };\n }\n}\n"]}
@@ -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 `:host{--_active-indicator-color: var(--md-secondary-tab-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-height: var(--md-secondary-tab-active-indicator-height, 2px);--_active-label-text-color: var(--md-secondary-tab-active-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_container-color: var(--md-secondary-tab-container-color, var(--md-sys-color-surface, #fef7ff));--_container-elevation: var(--md-secondary-tab-container-elevation, 0);--_container-height: var(--md-secondary-tab-container-height, 48px);--_container-shape: var(--md-secondary-tab-container-shape, 0px);--_focus-label-text-color: var(--md-secondary-tab-focus-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-secondary-tab-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-state-layer-color: var(--md-secondary-tab-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-state-layer-opacity: var(--md-secondary-tab-hover-state-layer-opacity, 0.08);--_label-text-type: var(--md-secondary-tab-label-text-type, var(--md-sys-typescale-title-small, var(--md-ref-typeface-weight-medium, 500) 0.875rem / 1.25rem var(--md-ref-typeface-plain, Roboto)));--_pressed-label-text-color: var(--md-secondary-tab-pressed-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_pressed-state-layer-color: var(--md-secondary-tab-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_pressed-state-layer-opacity: var(--md-secondary-tab-pressed-state-layer-opacity, 0.12);--_active-focus-icon-color: var(--md-secondary-tab-active-focus-icon-color, );--_active-focus-label-text-color: var(--md-secondary-tab-active-focus-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_active-hover-icon-color: var(--md-secondary-tab-active-hover-icon-color, );--_active-hover-label-text-color: var(--md-secondary-tab-active-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_active-hover-state-layer-color: var(--md-secondary-tab-active-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_active-hover-state-layer-opacity: var(--md-secondary-tab-active-hover-state-layer-opacity, 0.08);--_active-icon-color: var(--md-secondary-tab-active-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_active-indicator-shape: var(--md-secondary-tab-active-indicator-shape, 0);--_active-pressed-icon-color: var(--md-secondary-tab-active-pressed-icon-color, );--_active-pressed-label-text-color: var(--md-secondary-tab-active-pressed-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_active-pressed-state-layer-color: var(--md-secondary-tab-active-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_active-pressed-state-layer-opacity: var(--md-secondary-tab-active-pressed-state-layer-opacity, 0.12);--_label-text-color: var(--md-secondary-tab-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-icon-color: var(--md-secondary-tab-focus-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-icon-color: var(--md-secondary-tab-hover-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_icon-size: var(--md-secondary-tab-icon-size, 24px);--_icon-color: var(--md-secondary-tab-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-icon-color: var(--md-secondary-tab-pressed-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_container-shape-start-start: var( --md-secondary-tab-container-shape-start-start, var(--_container-shape) );--_container-shape-start-end: var( --md-secondary-tab-container-shape-start-end, var(--_container-shape) );--_container-shape-end-end: var( --md-secondary-tab-container-shape-end-end, var(--_container-shape) );--_container-shape-end-start: var( --md-secondary-tab-container-shape-end-start, var(--_container-shape) )}/*# sourceMappingURL=secondary-tab-styles.css.map */
8
+ `;
9
+ //# sourceMappingURL=secondary-tab-styles.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secondary-tab-styles.css.js","sourceRoot":"","sources":["secondary-tab-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{--_active-indicator-color: var(--md-secondary-tab-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-height: var(--md-secondary-tab-active-indicator-height, 2px);--_active-label-text-color: var(--md-secondary-tab-active-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_container-color: var(--md-secondary-tab-container-color, var(--md-sys-color-surface, #fef7ff));--_container-elevation: var(--md-secondary-tab-container-elevation, 0);--_container-height: var(--md-secondary-tab-container-height, 48px);--_container-shape: var(--md-secondary-tab-container-shape, 0px);--_focus-label-text-color: var(--md-secondary-tab-focus-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-secondary-tab-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-state-layer-color: var(--md-secondary-tab-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-state-layer-opacity: var(--md-secondary-tab-hover-state-layer-opacity, 0.08);--_label-text-type: var(--md-secondary-tab-label-text-type, var(--md-sys-typescale-title-small, var(--md-ref-typeface-weight-medium, 500) 0.875rem / 1.25rem var(--md-ref-typeface-plain, Roboto)));--_pressed-label-text-color: var(--md-secondary-tab-pressed-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_pressed-state-layer-color: var(--md-secondary-tab-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_pressed-state-layer-opacity: var(--md-secondary-tab-pressed-state-layer-opacity, 0.12);--_active-focus-icon-color: var(--md-secondary-tab-active-focus-icon-color, );--_active-focus-label-text-color: var(--md-secondary-tab-active-focus-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_active-hover-icon-color: var(--md-secondary-tab-active-hover-icon-color, );--_active-hover-label-text-color: var(--md-secondary-tab-active-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_active-hover-state-layer-color: var(--md-secondary-tab-active-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_active-hover-state-layer-opacity: var(--md-secondary-tab-active-hover-state-layer-opacity, 0.08);--_active-icon-color: var(--md-secondary-tab-active-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_active-indicator-shape: var(--md-secondary-tab-active-indicator-shape, 0);--_active-pressed-icon-color: var(--md-secondary-tab-active-pressed-icon-color, );--_active-pressed-label-text-color: var(--md-secondary-tab-active-pressed-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_active-pressed-state-layer-color: var(--md-secondary-tab-active-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_active-pressed-state-layer-opacity: var(--md-secondary-tab-active-pressed-state-layer-opacity, 0.12);--_label-text-color: var(--md-secondary-tab-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-icon-color: var(--md-secondary-tab-focus-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-icon-color: var(--md-secondary-tab-hover-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_icon-size: var(--md-secondary-tab-icon-size, 24px);--_icon-color: var(--md-secondary-tab-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-icon-color: var(--md-secondary-tab-pressed-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_container-shape-start-start: var( --md-secondary-tab-container-shape-start-start, var(--_container-shape) );--_container-shape-start-end: var( --md-secondary-tab-container-shape-start-end, var(--_container-shape) );--_container-shape-end-end: var( --md-secondary-tab-container-shape-end-end, var(--_container-shape) );--_container-shape-end-start: var( --md-secondary-tab-container-shape-end-start, var(--_container-shape) )}/*# sourceMappingURL=secondary-tab-styles.css.map */\n`;\n "]}
@@ -0,0 +1,10 @@
1
+ //
2
+ // Copyright 2023 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ // go/keep-sorted start
7
+ @use './secondary-tab';
8
+ // go/keep-sorted end
9
+
10
+ @include secondary-tab.styles;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Tab } from './tab.js';
7
+ /**
8
+ * A secondary tab component.
9
+ */
10
+ export declare class SecondaryTab extends Tab {
11
+ protected fullWidthIndicator: boolean;
12
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Tab } from './tab.js';
7
+ /**
8
+ * A secondary tab component.
9
+ */
10
+ export class SecondaryTab extends Tab {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.fullWidthIndicator = true;
14
+ }
15
+ }
16
+ //# sourceMappingURL=secondary-tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secondary-tab.js","sourceRoot":"","sources":["secondary-tab.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,UAAU,CAAC;AAE7B;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,GAAG;IAArC;;QACqB,uBAAkB,GAAG,IAAI,CAAC;IAC/C,CAAC;CAAA","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {Tab} from './tab.js';\n\n/**\n * A secondary tab component.\n */\nexport class SecondaryTab extends Tab {\n protected override fullWidthIndicator = true;\n}\n"]}
@@ -4,6 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { css } from 'lit';
7
- export const styles = css `:host{--_active-indicator-color: var(--md-primary-tab-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-height: var(--md-primary-tab-active-indicator-height, 3px);--_active-indicator-shape: var(--md-primary-tab-active-indicator-shape, 3px 3px 0px 0px);--_active-hover-state-layer-color: var(--md-primary-tab-active-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_active-hover-state-layer-opacity: var(--md-primary-tab-active-hover-state-layer-opacity, 0.08);--_active-pressed-state-layer-color: var(--md-primary-tab-active-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_active-pressed-state-layer-opacity: var(--md-primary-tab-active-pressed-state-layer-opacity, 0.12);--_container-color: var(--md-primary-tab-container-color, var(--md-sys-color-surface, #fef7ff));--_container-elevation: var(--md-primary-tab-container-elevation, 0);--_container-height: var(--md-primary-tab-container-height, 48px);--_container-shape: var(--md-primary-tab-container-shape, 0px);--_divider-color: var(--md-primary-tab-divider-color, var(--md-sys-color-outline-variant, #cac4d0));--_divider-thickness: var(--md-primary-tab-divider-thickness, 1px);--_label-text-type: var(--md-primary-tab-label-text-type, 500 0.875rem / 1.25rem var(--md-ref-typeface-plain, Roboto));--_hover-state-layer-color: var(--md-primary-tab-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-state-layer-opacity: var(--md-primary-tab-hover-state-layer-opacity, 0.08);--_pressed-state-layer-color: var(--md-primary-tab-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-primary-tab-pressed-state-layer-opacity, 0.12);--_active-focus-icon-color: var(--md-primary-tab-active-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_active-hover-icon-color: var(--md-primary-tab-active-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_active-icon-color: var(--md-primary-tab-active-icon-color, var(--md-sys-color-primary, #6750a4));--_active-pressed-icon-color: var(--md-primary-tab-active-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-size: var(--md-primary-tab-icon-size, 24px);--_focus-icon-color: var(--md-primary-tab-focus-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-icon-color: var(--md-primary-tab-hover-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_icon-color: var(--md-primary-tab-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-icon-color: var(--md-primary-tab-pressed-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_active-focus-label-text-color: var(--md-primary-tab-active-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_active-hover-label-text-color: var(--md-primary-tab-active-hover-label-text-color, var(--md-sys-color-primary, #6750a4));--_active-label-text-color: var(--md-primary-tab-active-label-text-color, var(--md-sys-color-primary, #6750a4));--_active-pressed-label-text-color: var(--md-primary-tab-active-pressed-label-text-color, var(--md-sys-color-primary, #6750a4));--_focus-label-text-color: var(--md-primary-tab-focus-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-primary-tab-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_label-text-color: var(--md-primary-tab-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-label-text-color: var(--md-primary-tab-pressed-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_container-shape-start-start: var( --md-primary-tab-container-shape-start-start, var(--_container-shape) );--_container-shape-start-end: var( --md-primary-tab-container-shape-start-end, var(--_container-shape) );--_container-shape-end-end: var( --md-primary-tab-container-shape-end-end, var(--_container-shape) );--_container-shape-end-start: var( --md-primary-tab-container-shape-end-start, var(--_container-shape) );display:inline-flex;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);vertical-align:middle;--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}md-focus-ring{--md-focus-ring-shape: 8px}:host([selected]) md-focus-ring{margin-bottom:calc(var(--_active-indicator-height) + 1px)}.button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:none;outline:none;user-select:none;-webkit-appearance:none;vertical-align:middle;background:none;text-decoration:none;width:100%;position:relative;padding:0;margin:0;z-index:0;font:var(--_label-text-type);border-bottom:var(--_divider-thickness) solid var(--_divider-color);color:var(--_label-text-color)}.button::-moz-focus-inner{padding:0;border:0}.button::before{background:var(--_container-color);content:"";inset:0;position:absolute;z-index:-1}.button::before,md-ripple{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-end-radius:var(--_container-shape-end-end);border-end-start-radius:var(--_container-shape-end-start)}.content{position:relative;box-sizing:border-box;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;max-height:calc(var(--_container-height) + 16px);min-height:48px;padding:8px 16px;gap:4px}.content.inline-icon{flex-direction:row}.indicator{position:absolute;box-sizing:border-box;z-index:-1;transform-origin:bottom left;background:var(--_active-indicator-color);border-radius:var(--_active-indicator-shape);height:var(--_active-indicator-height);inset:auto 0 0 0;opacity:0}.button ::slotted([slot=icon]){display:inline-flex;position:relative;writing-mode:horizontal-tb;fill:currentColor;color:var(--_icon-color);font-size:var(--_icon-size);width:var(--_icon-size);height:var(--_icon-size)}.button:hover{color:var(--_hover-label-text-color);cursor:pointer}.button:hover ::slotted([slot=icon]){color:var(--_hover-icon-color)}.button:focus{color:var(--_focus-label-text-color)}.button:focus ::slotted([slot=icon]){color:var(--_focus-icon-color)}.button:active{color:var(--_pressed-label-text-color);outline:none}.button:active ::slotted([slot=icon]){color:var(--_pressed-icon-color)}:host([selected]) .indicator{opacity:1}:host([selected]) .button{color:var(--_active-label-text-color);--md-elevation-level: var(--_container-elevation);--md-ripple-hover-color: var(--_active-hover-state-layer-color);--md-ripple-hover-opacity: var(--_active-hover-state-layer-opacity);--md-ripple-pressed-color: var(--_active-pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_active-pressed-state-layer-opacity)}:host([selected]) .button ::slotted([slot=icon]){color:var(--_active-icon-color)}:host([selected]) .button:hover{color:var(--_active-hover-label-text-color)}:host([selected]) .button:hover ::slotted([slot=icon]){color:var(--_active-hover-icon-color)}:host([selected]) .button:focus{color:var(--_active-focus-label-text-color)}:host([selected]) .button:focus ::slotted([slot=icon]){color:var(--_active-focus-icon-color)}:host([selected]) .button:active{color:var(--_active-pressed-label-text-color)}:host([selected]) .button:active ::slotted([slot=icon]){color:var(--_active-pressed-icon-color)}:host([disabled]){cursor:default;pointer-events:none;opacity:.38}:host([variant~=secondary]){--_active-indicator-color: var(--md-secondary-tab-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-height: var(--md-secondary-tab-active-indicator-height, 2px);--_active-label-text-color: var(--md-secondary-tab-active-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_container-color: var(--md-secondary-tab-container-color, var(--md-sys-color-surface, #fef7ff));--_container-elevation: var(--md-secondary-tab-container-elevation, 0);--_container-height: var(--md-secondary-tab-container-height, 48px);--_container-shape: var(--md-secondary-tab-container-shape, 0px);--_focus-label-text-color: var(--md-secondary-tab-focus-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-secondary-tab-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-state-layer-color: var(--md-secondary-tab-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-state-layer-opacity: var(--md-secondary-tab-hover-state-layer-opacity, 0.08);--_label-text-type: var(--md-secondary-tab-label-text-type, var(--md-sys-typescale-title-small, 500 0.875rem / 1.25rem var(--md-ref-typeface-plain, Roboto)));--_pressed-label-text-color: var(--md-secondary-tab-pressed-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_pressed-state-layer-color: var(--md-secondary-tab-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_pressed-state-layer-opacity: var(--md-secondary-tab-pressed-state-layer-opacity, 0.12);--_divider-color: var(--md-secondary-tab-divider-color, var(--md-sys-color-outline-variant, #cac4d0));--_divider-thickness: var(--md-secondary-tab-divider-thickness, 1px);--_active-focus-icon-color: var(--md-secondary-tab-active-focus-icon-color, );--_active-focus-label-text-color: var(--md-secondary-tab-active-focus-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_active-hover-icon-color: var(--md-secondary-tab-active-hover-icon-color, );--_active-hover-label-text-color: var(--md-secondary-tab-active-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_active-hover-state-layer-color: var(--md-secondary-tab-active-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_active-hover-state-layer-opacity: var(--md-secondary-tab-active-hover-state-layer-opacity, 0.08);--_active-icon-color: var(--md-secondary-tab-active-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_active-indicator-shape: var(--md-secondary-tab-active-indicator-shape, 0);--_active-pressed-icon-color: var(--md-secondary-tab-active-pressed-icon-color, );--_active-pressed-label-text-color: var(--md-secondary-tab-active-pressed-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_active-pressed-state-layer-color: var(--md-secondary-tab-active-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_active-pressed-state-layer-opacity: var(--md-secondary-tab-active-pressed-state-layer-opacity, 0.12);--_label-text-color: var(--md-secondary-tab-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-icon-color: var(--md-secondary-tab-focus-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-icon-color: var(--md-secondary-tab-hover-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_icon-size: var(--md-secondary-tab-icon-size, 24px);--_icon-color: var(--md-secondary-tab-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-icon-color: var(--md-secondary-tab-pressed-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_container-shape-start-start: var( --md-secondary-tab-container-shape-start-start, var(--_container-shape) );--_container-shape-start-end: var( --md-secondary-tab-container-shape-start-end, var(--_container-shape) );--_container-shape-end-end: var( --md-secondary-tab-container-shape-end-end, var(--_container-shape) );--_container-shape-end-start: var( --md-secondary-tab-container-shape-end-start, var(--_container-shape) )}:host([variant~=secondary]) .content{width:100%}:host([variant~=secondary]) .indicator{min-width:100%}:host([variant~=vertical]){flex:0}:host([variant~=vertical]) .button{width:100%;flex-direction:row;border-bottom:none;border-right:var(--_divider-thickness) solid var(--_divider-color)}:host([variant~=vertical]) .content{width:100%}:host([variant~=vertical]) .indicator{height:100%;min-width:var(--_active-indicator-height);inset:0 0 0 auto}:host([variant~=vertical][variant~=primary]){--_active-indicator-shape: 9999px 0 0 9999px}:host,::slotted(*){white-space:nowrap}@media(forced-colors: active){:host,:host([variant]){--_active-indicator-color: CanvasText}}/*# sourceMappingURL=tab-styles.css.map */
7
+ export const styles = css `:host{display:inline-flex;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);vertical-align:middle;user-select:none;--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}md-focus-ring{--md-focus-ring-shape: 8px}:host([selected]) md-focus-ring{margin-bottom:calc(var(--_active-indicator-height) + 1px)}.button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:100%;position:relative;padding:0 16px;margin:0;z-index:0;font:var(--_label-text-type);color:var(--_label-text-color)}.button::before{background:var(--_container-color);content:"";inset:0;position:absolute;z-index:-1}.button::before,md-ripple{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-end-radius:var(--_container-shape-end-end);border-end-start-radius:var(--_container-shape-end-start)}.content{position:relative;box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;height:var(--_container-height);gap:8px}.indicator{position:absolute;box-sizing:border-box;z-index:-1;transform-origin:bottom left;background:var(--_active-indicator-color);border-radius:var(--_active-indicator-shape);height:var(--_active-indicator-height);inset:auto 0 0 0;opacity:0}.button ::slotted([slot=icon]){display:inline-flex;position:relative;writing-mode:horizontal-tb;fill:currentColor;color:var(--_icon-color);font-size:var(--_icon-size);width:var(--_icon-size);height:var(--_icon-size)}.button:hover{color:var(--_hover-label-text-color);cursor:pointer}.button:hover ::slotted([slot=icon]){color:var(--_hover-icon-color)}.button:focus{color:var(--_focus-label-text-color)}.button:focus ::slotted([slot=icon]){color:var(--_focus-icon-color)}.button:active{color:var(--_pressed-label-text-color);outline:none}.button:active ::slotted([slot=icon]){color:var(--_pressed-icon-color)}:host([selected]) .indicator{opacity:1}:host([selected]) .button{color:var(--_active-label-text-color);--md-elevation-level: var(--_container-elevation);--md-ripple-hover-color: var(--_active-hover-state-layer-color);--md-ripple-hover-opacity: var(--_active-hover-state-layer-opacity);--md-ripple-pressed-color: var(--_active-pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_active-pressed-state-layer-opacity)}:host([selected]) .button ::slotted([slot=icon]){color:var(--_active-icon-color)}:host([selected]) .button:hover{color:var(--_active-hover-label-text-color)}:host([selected]) .button:hover ::slotted([slot=icon]){color:var(--_active-hover-icon-color)}:host([selected]) .button:focus{color:var(--_active-focus-label-text-color)}:host([selected]) .button:focus ::slotted([slot=icon]){color:var(--_active-focus-icon-color)}:host([selected]) .button:active{color:var(--_active-pressed-label-text-color)}:host([selected]) .button:active ::slotted([slot=icon]){color:var(--_active-pressed-icon-color)}:host,::slotted(*){white-space:nowrap}@media(forced-colors: active){.indicator{background:CanvasText}}/*# sourceMappingURL=tab-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=tab-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-styles.css.js","sourceRoot":"","sources":["tab-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{--_active-indicator-color: var(--md-primary-tab-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-height: var(--md-primary-tab-active-indicator-height, 3px);--_active-indicator-shape: var(--md-primary-tab-active-indicator-shape, 3px 3px 0px 0px);--_active-hover-state-layer-color: var(--md-primary-tab-active-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_active-hover-state-layer-opacity: var(--md-primary-tab-active-hover-state-layer-opacity, 0.08);--_active-pressed-state-layer-color: var(--md-primary-tab-active-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_active-pressed-state-layer-opacity: var(--md-primary-tab-active-pressed-state-layer-opacity, 0.12);--_container-color: var(--md-primary-tab-container-color, var(--md-sys-color-surface, #fef7ff));--_container-elevation: var(--md-primary-tab-container-elevation, 0);--_container-height: var(--md-primary-tab-container-height, 48px);--_container-shape: var(--md-primary-tab-container-shape, 0px);--_divider-color: var(--md-primary-tab-divider-color, var(--md-sys-color-outline-variant, #cac4d0));--_divider-thickness: var(--md-primary-tab-divider-thickness, 1px);--_label-text-type: var(--md-primary-tab-label-text-type, 500 0.875rem / 1.25rem var(--md-ref-typeface-plain, Roboto));--_hover-state-layer-color: var(--md-primary-tab-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-state-layer-opacity: var(--md-primary-tab-hover-state-layer-opacity, 0.08);--_pressed-state-layer-color: var(--md-primary-tab-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-primary-tab-pressed-state-layer-opacity, 0.12);--_active-focus-icon-color: var(--md-primary-tab-active-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_active-hover-icon-color: var(--md-primary-tab-active-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_active-icon-color: var(--md-primary-tab-active-icon-color, var(--md-sys-color-primary, #6750a4));--_active-pressed-icon-color: var(--md-primary-tab-active-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-size: var(--md-primary-tab-icon-size, 24px);--_focus-icon-color: var(--md-primary-tab-focus-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-icon-color: var(--md-primary-tab-hover-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_icon-color: var(--md-primary-tab-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-icon-color: var(--md-primary-tab-pressed-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_active-focus-label-text-color: var(--md-primary-tab-active-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_active-hover-label-text-color: var(--md-primary-tab-active-hover-label-text-color, var(--md-sys-color-primary, #6750a4));--_active-label-text-color: var(--md-primary-tab-active-label-text-color, var(--md-sys-color-primary, #6750a4));--_active-pressed-label-text-color: var(--md-primary-tab-active-pressed-label-text-color, var(--md-sys-color-primary, #6750a4));--_focus-label-text-color: var(--md-primary-tab-focus-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-primary-tab-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_label-text-color: var(--md-primary-tab-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-label-text-color: var(--md-primary-tab-pressed-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_container-shape-start-start: var( --md-primary-tab-container-shape-start-start, var(--_container-shape) );--_container-shape-start-end: var( --md-primary-tab-container-shape-start-end, var(--_container-shape) );--_container-shape-end-end: var( --md-primary-tab-container-shape-end-end, var(--_container-shape) );--_container-shape-end-start: var( --md-primary-tab-container-shape-end-start, var(--_container-shape) );display:inline-flex;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);vertical-align:middle;--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}md-focus-ring{--md-focus-ring-shape: 8px}:host([selected]) md-focus-ring{margin-bottom:calc(var(--_active-indicator-height) + 1px)}.button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:none;outline:none;user-select:none;-webkit-appearance:none;vertical-align:middle;background:none;text-decoration:none;width:100%;position:relative;padding:0;margin:0;z-index:0;font:var(--_label-text-type);border-bottom:var(--_divider-thickness) solid var(--_divider-color);color:var(--_label-text-color)}.button::-moz-focus-inner{padding:0;border:0}.button::before{background:var(--_container-color);content:\"\";inset:0;position:absolute;z-index:-1}.button::before,md-ripple{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-end-radius:var(--_container-shape-end-end);border-end-start-radius:var(--_container-shape-end-start)}.content{position:relative;box-sizing:border-box;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;max-height:calc(var(--_container-height) + 16px);min-height:48px;padding:8px 16px;gap:4px}.content.inline-icon{flex-direction:row}.indicator{position:absolute;box-sizing:border-box;z-index:-1;transform-origin:bottom left;background:var(--_active-indicator-color);border-radius:var(--_active-indicator-shape);height:var(--_active-indicator-height);inset:auto 0 0 0;opacity:0}.button ::slotted([slot=icon]){display:inline-flex;position:relative;writing-mode:horizontal-tb;fill:currentColor;color:var(--_icon-color);font-size:var(--_icon-size);width:var(--_icon-size);height:var(--_icon-size)}.button:hover{color:var(--_hover-label-text-color);cursor:pointer}.button:hover ::slotted([slot=icon]){color:var(--_hover-icon-color)}.button:focus{color:var(--_focus-label-text-color)}.button:focus ::slotted([slot=icon]){color:var(--_focus-icon-color)}.button:active{color:var(--_pressed-label-text-color);outline:none}.button:active ::slotted([slot=icon]){color:var(--_pressed-icon-color)}:host([selected]) .indicator{opacity:1}:host([selected]) .button{color:var(--_active-label-text-color);--md-elevation-level: var(--_container-elevation);--md-ripple-hover-color: var(--_active-hover-state-layer-color);--md-ripple-hover-opacity: var(--_active-hover-state-layer-opacity);--md-ripple-pressed-color: var(--_active-pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_active-pressed-state-layer-opacity)}:host([selected]) .button ::slotted([slot=icon]){color:var(--_active-icon-color)}:host([selected]) .button:hover{color:var(--_active-hover-label-text-color)}:host([selected]) .button:hover ::slotted([slot=icon]){color:var(--_active-hover-icon-color)}:host([selected]) .button:focus{color:var(--_active-focus-label-text-color)}:host([selected]) .button:focus ::slotted([slot=icon]){color:var(--_active-focus-icon-color)}:host([selected]) .button:active{color:var(--_active-pressed-label-text-color)}:host([selected]) .button:active ::slotted([slot=icon]){color:var(--_active-pressed-icon-color)}:host([disabled]){cursor:default;pointer-events:none;opacity:.38}:host([variant~=secondary]){--_active-indicator-color: var(--md-secondary-tab-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-height: var(--md-secondary-tab-active-indicator-height, 2px);--_active-label-text-color: var(--md-secondary-tab-active-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_container-color: var(--md-secondary-tab-container-color, var(--md-sys-color-surface, #fef7ff));--_container-elevation: var(--md-secondary-tab-container-elevation, 0);--_container-height: var(--md-secondary-tab-container-height, 48px);--_container-shape: var(--md-secondary-tab-container-shape, 0px);--_focus-label-text-color: var(--md-secondary-tab-focus-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-secondary-tab-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-state-layer-color: var(--md-secondary-tab-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-state-layer-opacity: var(--md-secondary-tab-hover-state-layer-opacity, 0.08);--_label-text-type: var(--md-secondary-tab-label-text-type, var(--md-sys-typescale-title-small, 500 0.875rem / 1.25rem var(--md-ref-typeface-plain, Roboto)));--_pressed-label-text-color: var(--md-secondary-tab-pressed-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_pressed-state-layer-color: var(--md-secondary-tab-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_pressed-state-layer-opacity: var(--md-secondary-tab-pressed-state-layer-opacity, 0.12);--_divider-color: var(--md-secondary-tab-divider-color, var(--md-sys-color-outline-variant, #cac4d0));--_divider-thickness: var(--md-secondary-tab-divider-thickness, 1px);--_active-focus-icon-color: var(--md-secondary-tab-active-focus-icon-color, );--_active-focus-label-text-color: var(--md-secondary-tab-active-focus-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_active-hover-icon-color: var(--md-secondary-tab-active-hover-icon-color, );--_active-hover-label-text-color: var(--md-secondary-tab-active-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_active-hover-state-layer-color: var(--md-secondary-tab-active-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_active-hover-state-layer-opacity: var(--md-secondary-tab-active-hover-state-layer-opacity, 0.08);--_active-icon-color: var(--md-secondary-tab-active-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_active-indicator-shape: var(--md-secondary-tab-active-indicator-shape, 0);--_active-pressed-icon-color: var(--md-secondary-tab-active-pressed-icon-color, );--_active-pressed-label-text-color: var(--md-secondary-tab-active-pressed-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_active-pressed-state-layer-color: var(--md-secondary-tab-active-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_active-pressed-state-layer-opacity: var(--md-secondary-tab-active-pressed-state-layer-opacity, 0.12);--_label-text-color: var(--md-secondary-tab-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-icon-color: var(--md-secondary-tab-focus-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-icon-color: var(--md-secondary-tab-hover-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_icon-size: var(--md-secondary-tab-icon-size, 24px);--_icon-color: var(--md-secondary-tab-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-icon-color: var(--md-secondary-tab-pressed-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_container-shape-start-start: var( --md-secondary-tab-container-shape-start-start, var(--_container-shape) );--_container-shape-start-end: var( --md-secondary-tab-container-shape-start-end, var(--_container-shape) );--_container-shape-end-end: var( --md-secondary-tab-container-shape-end-end, var(--_container-shape) );--_container-shape-end-start: var( --md-secondary-tab-container-shape-end-start, var(--_container-shape) )}:host([variant~=secondary]) .content{width:100%}:host([variant~=secondary]) .indicator{min-width:100%}:host([variant~=vertical]){flex:0}:host([variant~=vertical]) .button{width:100%;flex-direction:row;border-bottom:none;border-right:var(--_divider-thickness) solid var(--_divider-color)}:host([variant~=vertical]) .content{width:100%}:host([variant~=vertical]) .indicator{height:100%;min-width:var(--_active-indicator-height);inset:0 0 0 auto}:host([variant~=vertical][variant~=primary]){--_active-indicator-shape: 9999px 0 0 9999px}:host,::slotted(*){white-space:nowrap}@media(forced-colors: active){:host,:host([variant]){--_active-indicator-color: CanvasText}}/*# sourceMappingURL=tab-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"tab-styles.css.js","sourceRoot":"","sources":["tab-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{display:inline-flex;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);vertical-align:middle;user-select:none;--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}md-focus-ring{--md-focus-ring-shape: 8px}:host([selected]) md-focus-ring{margin-bottom:calc(var(--_active-indicator-height) + 1px)}.button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:100%;position:relative;padding:0 16px;margin:0;z-index:0;font:var(--_label-text-type);color:var(--_label-text-color)}.button::before{background:var(--_container-color);content:\"\";inset:0;position:absolute;z-index:-1}.button::before,md-ripple{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-end-radius:var(--_container-shape-end-end);border-end-start-radius:var(--_container-shape-end-start)}.content{position:relative;box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;height:var(--_container-height);gap:8px}.indicator{position:absolute;box-sizing:border-box;z-index:-1;transform-origin:bottom left;background:var(--_active-indicator-color);border-radius:var(--_active-indicator-shape);height:var(--_active-indicator-height);inset:auto 0 0 0;opacity:0}.button ::slotted([slot=icon]){display:inline-flex;position:relative;writing-mode:horizontal-tb;fill:currentColor;color:var(--_icon-color);font-size:var(--_icon-size);width:var(--_icon-size);height:var(--_icon-size)}.button:hover{color:var(--_hover-label-text-color);cursor:pointer}.button:hover ::slotted([slot=icon]){color:var(--_hover-icon-color)}.button:focus{color:var(--_focus-label-text-color)}.button:focus ::slotted([slot=icon]){color:var(--_focus-icon-color)}.button:active{color:var(--_pressed-label-text-color);outline:none}.button:active ::slotted([slot=icon]){color:var(--_pressed-icon-color)}:host([selected]) .indicator{opacity:1}:host([selected]) .button{color:var(--_active-label-text-color);--md-elevation-level: var(--_container-elevation);--md-ripple-hover-color: var(--_active-hover-state-layer-color);--md-ripple-hover-opacity: var(--_active-hover-state-layer-opacity);--md-ripple-pressed-color: var(--_active-pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_active-pressed-state-layer-opacity)}:host([selected]) .button ::slotted([slot=icon]){color:var(--_active-icon-color)}:host([selected]) .button:hover{color:var(--_active-hover-label-text-color)}:host([selected]) .button:hover ::slotted([slot=icon]){color:var(--_active-hover-icon-color)}:host([selected]) .button:focus{color:var(--_active-focus-label-text-color)}:host([selected]) .button:focus ::slotted([slot=icon]){color:var(--_active-focus-icon-color)}:host([selected]) .button:active{color:var(--_active-pressed-label-text-color)}:host([selected]) .button:active ::slotted([slot=icon]){color:var(--_active-pressed-icon-color)}:host,::slotted(*){white-space:nowrap}@media(forced-colors: active){.indicator{background:CanvasText}}/*# sourceMappingURL=tab-styles.css.map */\n`;\n "]}
@@ -7,56 +7,38 @@ import '../../elevation/elevation.js';
7
7
  import '../../focus/md-focus-ring.js';
8
8
  import '../../ripple/ripple.js';
9
9
  import { LitElement, PropertyValues } from 'lit';
10
- /**
11
- * An element that can select items.
12
- */
13
- export interface Tabs extends HTMLElement {
14
- selected?: number;
15
- selectedItem?: Tab;
16
- previousSelectedItem?: Tab;
17
- }
18
- /**
19
- * Tab variant can be `primary` or `secondary`.
20
- */
21
- export type TabVariant = 'primary' | 'secondary';
22
10
  /**
23
11
  * Tab component.
24
12
  */
25
13
  export declare class Tab extends LitElement {
26
- /** @nocollapse */
27
- static shadowRootOptions: ShadowRootInit;
28
- /**
29
- * Styling variant to display, 'primary' (default) or 'secondary'.
30
- */
31
- variant: TabVariant;
32
- /**
33
- * Whether or not the tab is `disabled`.
34
- */
35
- disabled: boolean;
36
14
  /**
37
15
  * Whether or not the tab is `selected`.
38
16
  **/
39
17
  selected: boolean;
40
18
  /**
41
- * Whether or not the tab is `focusable`.
42
- */
43
- focusable: boolean;
44
- /**
45
- * Whether or not the icon renders inline with label or stacked vertically.
19
+ * In SSR, set this to true when an icon is present.
46
20
  */
47
- inlineIcon: boolean;
48
- private readonly button;
21
+ hasIcon: boolean;
49
22
  /**
50
- * Selection indicator element.
23
+ * In SSR, set this to true when there is no label and only an icon.
51
24
  */
25
+ iconOnly: boolean;
26
+ /** @private */
52
27
  readonly indicator: HTMLElement;
28
+ protected fullWidthIndicator: boolean;
29
+ private readonly assignedDefaultNodes;
30
+ private readonly assignedIcons;
31
+ private readonly internals;
53
32
  constructor();
54
- focus(): void;
55
- blur(): void;
56
33
  protected render(): import("lit-html").TemplateResult<1>;
34
+ protected getContentClasses(): {
35
+ 'has-icon': boolean;
36
+ 'has-label': boolean;
37
+ };
57
38
  protected updated(changed: PropertyValues): void;
58
- private readonly handleActivationClick;
59
- private get tabs();
39
+ private handleKeydown;
60
40
  private animateSelected;
61
41
  private getKeyframes;
42
+ private handleSlotChange;
43
+ private handleIconSlotChange;
62
44
  }