@react-md/core 1.0.0-next.1 → 1.0.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +8 -0
  3. package/coverage/clover.xml +2 -2
  4. package/coverage/lcov-report/DefaultToastRenderer.tsx.html +166 -112
  5. package/coverage/lcov-report/Snackbar.tsx.html +360 -402
  6. package/coverage/lcov-report/Toast.tsx.html +868 -0
  7. package/coverage/lcov-report/ToastManager.tsx.html +1783 -0
  8. package/coverage/lcov-report/ToastManagerProvider.tsx.html +216 -216
  9. package/coverage/lcov-report/icon/FontIcon.tsx.html +28 -28
  10. package/coverage/lcov-report/icon/index.html +1 -1
  11. package/coverage/lcov-report/index.html +1 -1
  12. package/coverage/lcov-report/snackbar/Snackbar.tsx.html +55 -97
  13. package/coverage/lcov-report/snackbar/Toast.tsx.html +546 -501
  14. package/coverage/lcov-report/snackbar/ToastManager.tsx.html +269 -269
  15. package/coverage/lcov-report/snackbar/ToastManagerProvider.tsx.html +23 -23
  16. package/coverage/lcov-report/snackbar/index.html +59 -14
  17. package/coverage/lcov-report/snackbar/snackbarStyles.ts.html +12 -87
  18. package/coverage/lcov-report/snackbar/toastStyles.ts.html +206 -146
  19. package/coverage/lcov-report/snackbar/useCurrentToastActions.ts.html +226 -0
  20. package/coverage/lcov-report/snackbarStyles.ts.html +46 -121
  21. package/coverage/lcov-report/transition/config.ts.html +5 -5
  22. package/coverage/lcov-report/transition/index.html +1 -1
  23. package/coverage/lcov-report/typography/Typography.tsx.html +108 -402
  24. package/coverage/lcov-report/typography/index.html +10 -10
  25. package/dist/_core.scss +34 -1
  26. package/dist/_utils.scss +57 -0
  27. package/dist/app-bar/_app-bar.scss +15 -23
  28. package/dist/avatar/_avatar.scss +25 -34
  29. package/dist/badge/_badge.scss +71 -44
  30. package/dist/box/_box.scss +18 -29
  31. package/dist/button/_button.scss +50 -62
  32. package/dist/card/_card.scss +14 -23
  33. package/dist/chip/_chip.scss +33 -46
  34. package/dist/dialog/_dialog.scss +95 -93
  35. package/dist/divider/Divider.d.ts +0 -1
  36. package/dist/divider/Divider.js.map +1 -1
  37. package/dist/divider/_divider.scss +33 -43
  38. package/dist/form/Label.d.ts +5 -5
  39. package/dist/form/Label.js.map +1 -1
  40. package/dist/form/TextArea.js +1 -1
  41. package/dist/form/TextArea.js.map +1 -1
  42. package/dist/form/TextFieldContainerStyles.d.ts +7 -7
  43. package/dist/form/TextFieldContainerStyles.js.map +1 -1
  44. package/dist/form/_form.scss +200 -203
  45. package/dist/form/textAreaStyles.d.ts +2 -2
  46. package/dist/form/textAreaStyles.js.map +1 -1
  47. package/dist/form/types.d.ts +0 -2
  48. package/dist/form/types.js.map +1 -1
  49. package/dist/icon/_icon.scss +31 -47
  50. package/dist/interaction/_interaction.scss +47 -57
  51. package/dist/layout/_layout.scss +14 -19
  52. package/dist/link/_link.scss +15 -23
  53. package/dist/list/_list.scss +53 -63
  54. package/dist/menu/_menu.scss +16 -27
  55. package/dist/overlay/_overlay.scss +14 -19
  56. package/dist/progress/_progress.scss +25 -30
  57. package/dist/segmented-button/_segmented-button.scss +32 -43
  58. package/dist/sheet/_sheet.scss +24 -42
  59. package/dist/snackbar/DefaultToastRenderer.js +1 -1
  60. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  61. package/dist/snackbar/Snackbar.d.ts +1 -3
  62. package/dist/snackbar/Snackbar.js +2 -3
  63. package/dist/snackbar/Snackbar.js.map +1 -1
  64. package/dist/snackbar/Toast.d.ts +1 -1
  65. package/dist/snackbar/Toast.js +5 -1
  66. package/dist/snackbar/Toast.js.map +1 -1
  67. package/dist/snackbar/ToastManager.d.ts +2 -1
  68. package/dist/snackbar/ToastManager.js +1 -1
  69. package/dist/snackbar/ToastManager.js.map +1 -1
  70. package/dist/snackbar/_snackbar.scss +15 -23
  71. package/dist/table/_table.scss +55 -70
  72. package/dist/tabs/_tabs.scss +25 -30
  73. package/dist/theme/_theme.scss +31 -89
  74. package/dist/tooltip/_tooltip.scss +16 -25
  75. package/dist/transition/_transition.scss +38 -37
  76. package/dist/tree/_tree.scss +102 -109
  77. package/dist/typography/_typography.scss +17 -22
  78. package/dist/window-splitter/_window-splitter.scss +19 -45
  79. package/package.json +1 -1
  80. package/src/_core.scss +34 -1
  81. package/src/_utils.scss +57 -0
  82. package/src/app-bar/_app-bar.scss +15 -23
  83. package/src/avatar/_avatar.scss +25 -34
  84. package/src/badge/_badge.scss +71 -44
  85. package/src/box/_box.scss +18 -29
  86. package/src/button/_button.scss +50 -62
  87. package/src/card/_card.scss +14 -23
  88. package/src/chip/_chip.scss +33 -46
  89. package/src/dialog/_dialog.scss +95 -93
  90. package/src/divider/Divider.tsx +0 -1
  91. package/src/divider/_divider.scss +33 -43
  92. package/src/form/Label.tsx +5 -5
  93. package/src/form/TextArea.tsx +1 -1
  94. package/src/form/TextFieldContainerStyles.ts +7 -7
  95. package/src/form/_form.scss +200 -203
  96. package/src/form/textAreaStyles.ts +2 -2
  97. package/src/form/types.ts +0 -2
  98. package/src/icon/_icon.scss +31 -47
  99. package/src/interaction/_interaction.scss +47 -57
  100. package/src/layout/_layout.scss +14 -19
  101. package/src/link/_link.scss +15 -23
  102. package/src/list/_list.scss +53 -63
  103. package/src/menu/_menu.scss +16 -27
  104. package/src/overlay/_overlay.scss +14 -19
  105. package/src/progress/_progress.scss +25 -30
  106. package/src/segmented-button/_segmented-button.scss +32 -43
  107. package/src/sheet/_sheet.scss +24 -42
  108. package/src/snackbar/DefaultToastRenderer.tsx +1 -1
  109. package/src/snackbar/Snackbar.tsx +17 -25
  110. package/src/snackbar/Toast.tsx +7 -2
  111. package/src/snackbar/ToastManager.tsx +3 -2
  112. package/src/snackbar/__tests__/Snackbar.tsx +12 -11
  113. package/src/snackbar/__tests__/ToastManagerProvider.tsx +20 -42
  114. package/src/snackbar/__tests__/__snapshots__/Snackbar.tsx.snap +127 -27
  115. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +23 -8
  116. package/src/snackbar/_snackbar.scss +15 -23
  117. package/src/table/_table.scss +55 -70
  118. package/src/tabs/_tabs.scss +25 -30
  119. package/src/theme/_theme.scss +31 -89
  120. package/src/tooltip/_tooltip.scss +16 -25
  121. package/src/transition/_transition.scss +38 -37
  122. package/src/tree/_tree.scss +102 -109
  123. package/src/typography/_typography.scss +17 -22
  124. package/src/window-splitter/_window-splitter.scss +19 -45
  125. package/.turbo/turbo-lint.log +0 -12
  126. package/.turbo/turbo-test.log +0 -166
  127. package/.turbo/turbo-typecheck.log +0 -4
  128. package/dist/divider/VerticalDivider.d.ts +0 -32
  129. package/dist/divider/useVerticalDividerHeight.d.ts +0 -37
  130. package/dist/icon/MaterialIconsProvider.d.ts +0 -12
  131. package/dist/icon/MaterialIconsProvider.js +0 -17
  132. package/dist/icon/MaterialIconsProvider.js.map +0 -1
  133. package/dist/icon/MaterialSymbolsProvider.d.ts +0 -145
  134. package/dist/icon/MaterialSymbolsProvider.js +0 -60
  135. package/dist/icon/MaterialSymbolsProvider.js.map +0 -1
  136. package/dist/link/LinkProvider.d.ts +0 -29
  137. package/dist/menu/menuConfig.d.ts +0 -60
  138. package/dist/tooltip/useOverflowTooltip.d.ts +0 -61
@@ -2,75 +2,175 @@
2
2
 
3
3
  exports[`Snackbar should apply the correct styling, HTML attributes, and allow a ref 1`] = `
4
4
  <div
5
- aria-label="Notifications"
6
5
  class="rmd-snackbar rmd-snackbar--bottom"
6
+ data-testid="snackbar"
7
7
  id="snackbar-:r0:"
8
- role="status"
9
- />
8
+ >
9
+ <div
10
+ class="rmd-toast"
11
+ id="toast-:r1:"
12
+ role="status"
13
+ >
14
+ <div
15
+ class="rmd-toast-content"
16
+ >
17
+ Toast
18
+ </div>
19
+ </div>
20
+ </div>
10
21
  `;
11
22
 
12
23
  exports[`Snackbar should apply the correct styling, HTML attributes, and allow a ref 2`] = `
13
24
  <div
14
- aria-label="Notifications"
15
25
  class="rmd-snackbar rmd-snackbar--bottom custom-class-name"
26
+ data-testid="snackbar"
16
27
  id="snackbar-:r0:"
17
- role="status"
18
28
  style="color: white;"
19
- />
29
+ >
30
+ <div
31
+ class="rmd-toast"
32
+ id="toast-:r1:"
33
+ role="status"
34
+ >
35
+ <div
36
+ class="rmd-toast-content"
37
+ >
38
+ Toast
39
+ </div>
40
+ </div>
41
+ </div>
20
42
  `;
21
43
 
22
44
  exports[`Snackbar should support different positions within the viewport 1`] = `
23
45
  <div
24
46
  class="rmd-snackbar rmd-snackbar--bottom"
25
- id="snackbar-:r1:"
26
- role="status"
27
- />
47
+ data-testid="snackbar"
48
+ id="snackbar-:r2:"
49
+ >
50
+ <div
51
+ class="rmd-toast"
52
+ id="toast-:r3:"
53
+ role="status"
54
+ >
55
+ <div
56
+ class="rmd-toast-content"
57
+ >
58
+ Toast
59
+ </div>
60
+ </div>
61
+ </div>
28
62
  `;
29
63
 
30
64
  exports[`Snackbar should support different positions within the viewport 2`] = `
31
65
  <div
32
66
  class="rmd-snackbar rmd-snackbar--bottom"
33
- id="snackbar-:r1:"
34
- role="status"
35
- />
67
+ id="snackbar-:r2:"
68
+ >
69
+ <div
70
+ class="rmd-toast"
71
+ id="toast-:r3:"
72
+ role="status"
73
+ >
74
+ <div
75
+ class="rmd-toast-content"
76
+ >
77
+ Toast
78
+ </div>
79
+ </div>
80
+ </div>
36
81
  `;
37
82
 
38
83
  exports[`Snackbar should support different positions within the viewport 3`] = `
39
84
  <div
40
85
  class="rmd-snackbar rmd-snackbar--bottom rmd-snackbar--start"
41
- id="snackbar-:r1:"
42
- role="status"
43
- />
86
+ id="snackbar-:r2:"
87
+ >
88
+ <div
89
+ class="rmd-toast"
90
+ id="toast-:r3:"
91
+ role="status"
92
+ >
93
+ <div
94
+ class="rmd-toast-content"
95
+ >
96
+ Toast
97
+ </div>
98
+ </div>
99
+ </div>
44
100
  `;
45
101
 
46
102
  exports[`Snackbar should support different positions within the viewport 4`] = `
47
103
  <div
48
104
  class="rmd-snackbar rmd-snackbar--bottom rmd-snackbar--end"
49
- id="snackbar-:r1:"
50
- role="status"
51
- />
105
+ id="snackbar-:r2:"
106
+ >
107
+ <div
108
+ class="rmd-toast"
109
+ id="toast-:r3:"
110
+ role="status"
111
+ >
112
+ <div
113
+ class="rmd-toast-content"
114
+ >
115
+ Toast
116
+ </div>
117
+ </div>
118
+ </div>
52
119
  `;
53
120
 
54
121
  exports[`Snackbar should support different positions within the viewport 5`] = `
55
122
  <div
56
123
  class="rmd-snackbar rmd-snackbar--top"
57
- id="snackbar-:r1:"
58
- role="status"
59
- />
124
+ id="snackbar-:r2:"
125
+ >
126
+ <div
127
+ class="rmd-toast"
128
+ id="toast-:r3:"
129
+ role="status"
130
+ >
131
+ <div
132
+ class="rmd-toast-content"
133
+ >
134
+ Toast
135
+ </div>
136
+ </div>
137
+ </div>
60
138
  `;
61
139
 
62
140
  exports[`Snackbar should support different positions within the viewport 6`] = `
63
141
  <div
64
142
  class="rmd-snackbar rmd-snackbar--top rmd-snackbar--start"
65
- id="snackbar-:r1:"
66
- role="status"
67
- />
143
+ id="snackbar-:r2:"
144
+ >
145
+ <div
146
+ class="rmd-toast"
147
+ id="toast-:r3:"
148
+ role="status"
149
+ >
150
+ <div
151
+ class="rmd-toast-content"
152
+ >
153
+ Toast
154
+ </div>
155
+ </div>
156
+ </div>
68
157
  `;
69
158
 
70
159
  exports[`Snackbar should support different positions within the viewport 7`] = `
71
160
  <div
72
161
  class="rmd-snackbar rmd-snackbar--top rmd-snackbar--end"
73
- id="snackbar-:r1:"
74
- role="status"
75
- />
162
+ id="snackbar-:r2:"
163
+ >
164
+ <div
165
+ class="rmd-toast"
166
+ id="toast-:r3:"
167
+ role="status"
168
+ >
169
+ <div
170
+ class="rmd-toast-content"
171
+ >
172
+ Toast
173
+ </div>
174
+ </div>
175
+ </div>
76
176
  `;
@@ -3,12 +3,13 @@
3
3
  exports[`ToastManagerProvider default toast manager should work without needing to setup a toast manager yourself 1`] = `
4
4
  <div
5
5
  class="rmd-snackbar rmd-snackbar--bottom"
6
+ data-testid="snackbar"
6
7
  id="snackbar-:r0:"
7
- role="status"
8
8
  >
9
9
  <div
10
10
  class="rmd-toast rmd-scale-transition--enter rmd-scale-transition--enter-active"
11
11
  id="toast-:r1:"
12
+ role="status"
12
13
  >
13
14
  <div
14
15
  class="rmd-toast-content"
@@ -22,12 +23,13 @@ exports[`ToastManagerProvider default toast manager should work without needing
22
23
  exports[`ToastManagerProvider default toast manager should work without needing to setup a toast manager yourself 2`] = `
23
24
  <div
24
25
  class="rmd-snackbar rmd-snackbar--bottom"
26
+ data-testid="snackbar"
25
27
  id="snackbar-:r0:"
26
- role="status"
27
28
  >
28
29
  <div
29
30
  class="rmd-toast"
30
31
  id="toast-:r1:"
32
+ role="status"
31
33
  >
32
34
  <div
33
35
  class="rmd-toast-content"
@@ -42,6 +44,7 @@ exports[`ToastManagerProvider toast queue should add a toast next in queue if a
42
44
  <div
43
45
  class="rmd-toast"
44
46
  id="toast-:ru:"
47
+ role="status"
45
48
  >
46
49
  <div
47
50
  class="rmd-toast-content"
@@ -55,6 +58,7 @@ exports[`ToastManagerProvider toast queue should allow a toast to replace the cu
55
58
  <div
56
59
  class="rmd-toast"
57
60
  id="toast-:ri:"
61
+ role="status"
58
62
  >
59
63
  <div
60
64
  class="rmd-toast-content"
@@ -67,8 +71,8 @@ exports[`ToastManagerProvider toast queue should allow a toast to replace the cu
67
71
  exports[`ToastManagerProvider toast queue should not trigger a timeout if the visibleTime is null and set the toast to have an alert role 1`] = `
68
72
  <div
69
73
  class="rmd-snackbar rmd-snackbar--bottom"
74
+ data-testid="snackbar"
70
75
  id="snackbar-:r1b:"
71
- role="status"
72
76
  >
73
77
  <div
74
78
  class="rmd-toast rmd-toast--x rmd-scale-transition--enter rmd-scale-transition--enter-active"
@@ -99,8 +103,8 @@ exports[`ToastManagerProvider toast queue should not trigger a timeout if the vi
99
103
  exports[`ToastManagerProvider toast queue should not trigger a timeout if the visibleTime is null and set the toast to have an alert role 2`] = `
100
104
  <div
101
105
  class="rmd-snackbar rmd-snackbar--bottom"
106
+ data-testid="snackbar"
102
107
  id="snackbar-:r1b:"
103
- role="status"
104
108
  >
105
109
  <div
106
110
  class="rmd-toast rmd-toast--x rmd-scale-transition--exit rmd-scale-transition--exit-active"
@@ -131,12 +135,13 @@ exports[`ToastManagerProvider toast queue should not trigger a timeout if the vi
131
135
  exports[`ToastManagerProvider toast queue should support rendering multiple toasts as once using the limit prop 1`] = `
132
136
  <div
133
137
  class="rmd-snackbar rmd-snackbar--bottom"
138
+ data-testid="snackbar"
134
139
  id="snackbar-:r1d:"
135
- role="status"
136
140
  >
137
141
  <div
138
142
  class="rmd-toast"
139
143
  id="toast-:r1e:"
144
+ role="status"
140
145
  >
141
146
  <div
142
147
  class="rmd-toast-content"
@@ -147,6 +152,7 @@ exports[`ToastManagerProvider toast queue should support rendering multiple toas
147
152
  <div
148
153
  class="rmd-toast rmd-scale-transition--enter rmd-scale-transition--enter-active"
149
154
  id="toast-:r1f:"
155
+ role="status"
150
156
  >
151
157
  <div
152
158
  class="rmd-toast-content"
@@ -157,6 +163,7 @@ exports[`ToastManagerProvider toast queue should support rendering multiple toas
157
163
  <div
158
164
  class="rmd-toast rmd-scale-transition--enter rmd-scale-transition--enter-active"
159
165
  id="toast-:r1g:"
166
+ role="status"
160
167
  >
161
168
  <div
162
169
  class="rmd-toast-content"
@@ -170,12 +177,13 @@ exports[`ToastManagerProvider toast queue should support rendering multiple toas
170
177
  exports[`ToastManagerProvider toast queue should support rendering multiple toasts as once using the limit prop 2`] = `
171
178
  <div
172
179
  class="rmd-snackbar rmd-snackbar--bottom"
180
+ data-testid="snackbar"
173
181
  id="snackbar-:r1d:"
174
- role="status"
175
182
  >
176
183
  <div
177
184
  class="rmd-toast"
178
185
  id="toast-:r1f:"
186
+ role="status"
179
187
  >
180
188
  <div
181
189
  class="rmd-toast-content"
@@ -186,6 +194,7 @@ exports[`ToastManagerProvider toast queue should support rendering multiple toas
186
194
  <div
187
195
  class="rmd-toast"
188
196
  id="toast-:r1g:"
197
+ role="status"
189
198
  >
190
199
  <div
191
200
  class="rmd-toast-content"
@@ -196,6 +205,7 @@ exports[`ToastManagerProvider toast queue should support rendering multiple toas
196
205
  <div
197
206
  class="rmd-toast rmd-scale-transition--enter rmd-scale-transition--enter-active"
198
207
  id="toast-:r1h:"
208
+ role="status"
199
209
  >
200
210
  <div
201
211
  class="rmd-toast-content"
@@ -209,12 +219,13 @@ exports[`ToastManagerProvider toast queue should support rendering multiple toas
209
219
  exports[`ToastManagerProvider toast queue should support rendering multiple toasts as once using the limit prop 3`] = `
210
220
  <div
211
221
  class="rmd-snackbar rmd-snackbar--bottom"
222
+ data-testid="snackbar"
212
223
  id="snackbar-:r1d:"
213
- role="status"
214
224
  >
215
225
  <div
216
226
  class="rmd-toast rmd-scale-transition--exit rmd-scale-transition--exit-active"
217
227
  id="toast-:r1f:"
228
+ role="status"
218
229
  >
219
230
  <div
220
231
  class="rmd-toast-content"
@@ -225,6 +236,7 @@ exports[`ToastManagerProvider toast queue should support rendering multiple toas
225
236
  <div
226
237
  class="rmd-toast rmd-scale-transition--exit rmd-scale-transition--exit-active"
227
238
  id="toast-:r1g:"
239
+ role="status"
228
240
  >
229
241
  <div
230
242
  class="rmd-toast-content"
@@ -235,6 +247,7 @@ exports[`ToastManagerProvider toast queue should support rendering multiple toas
235
247
  <div
236
248
  class="rmd-toast"
237
249
  id="toast-:r1h:"
250
+ role="status"
238
251
  >
239
252
  <div
240
253
  class="rmd-toast-content"
@@ -248,12 +261,13 @@ exports[`ToastManagerProvider toast queue should support rendering multiple toas
248
261
  exports[`ToastManagerProvider toast queue should support rendering multiple toasts as once using the limit prop 4`] = `
249
262
  <div
250
263
  class="rmd-snackbar rmd-snackbar--bottom"
264
+ data-testid="snackbar"
251
265
  id="snackbar-:r1d:"
252
- role="status"
253
266
  >
254
267
  <div
255
268
  class="rmd-toast rmd-scale-transition--exit rmd-scale-transition--exit-active"
256
269
  id="toast-:r1h:"
270
+ role="status"
257
271
  >
258
272
  <div
259
273
  class="rmd-toast-content"
@@ -264,6 +278,7 @@ exports[`ToastManagerProvider toast queue should support rendering multiple toas
264
278
  <div
265
279
  class="rmd-toast rmd-scale-transition--enter rmd-scale-transition--enter-active"
266
280
  id="toast-:r1i:"
281
+ role="status"
267
282
  >
268
283
  <div
269
284
  class="rmd-toast-content"
@@ -60,43 +60,35 @@ $background-color: theme.get-default-color(
60
60
  ) !default;
61
61
  $color: theme.get-default-color($light-theme-color, $dark-theme-color) !default;
62
62
 
63
- $var-lookup: (
64
- color: (
65
- var: --rmd-toast-color,
66
- value: $color,
67
- ),
68
- background-color: (
69
- var: --rmd-toast-background-color,
70
- value: $background-color,
71
- ),
72
- offset: (
73
- var: --rmd-snackbar-offset,
74
- value: 0,
75
- ),
76
- );
63
+ $variables: (background-color, color, offset);
77
64
 
78
65
  @function get-var($name, $fallback: null) {
79
- $found: utils.validate($var-lookup, $name, "alert var");
80
- $var: map.get($found, var);
81
- $value: if($fallback, $fallback, map.get($found, value));
82
-
83
- @if $value {
84
- @return var(#{$var}, #{$value});
66
+ $var: utils.get-var-name($variables, $name, "snackbar");
67
+ @if $fallback {
68
+ @return var(#{$var}, #{$fallback});
85
69
  }
86
70
 
87
71
  @return var(#{$var});
88
72
  }
89
73
 
90
74
  @mixin set-var($name, $value) {
91
- $var: map.get(utils.validate($var-lookup, $name, "alert var"), var);
92
-
93
- #{$var}: #{$value};
75
+ @if $value {
76
+ #{utils.get-var-name($variables, $name, "snackbar")}: #{$value};
77
+ }
94
78
  }
95
79
 
96
80
  @mixin use-var($property, $name: $property, $fallback: null) {
97
81
  #{$property}: get-var($name, $fallback);
98
82
  }
99
83
 
84
+ @mixin variables {
85
+ @if not $disable-everything {
86
+ @include set-var(background-color, $background-color);
87
+ @include set-var(color, $color);
88
+ @include set-var(offset, 0);
89
+ }
90
+ }
91
+
100
92
  @mixin styles {
101
93
  @if not $disable-everything {
102
94
  .rmd-snackbar {
@@ -108,85 +108,37 @@ $sticky-footer-active-styles: $sticky-header-active-styles !default;
108
108
  $row-hover-color: interaction.get-var(hover-background-color) !default;
109
109
  $row-selected-color: interaction.get-var(selected-background-color) !default;
110
110
 
111
- $var-lookup: (
112
- background-color: (
113
- var: --rmd-table-background-color,
114
- value: $background-color,
115
- ),
116
- border-size: (
117
- var: --rmd-table-border-size,
118
- value: $border-size,
119
- ),
120
- border-color: (
121
- var: --rmd-table-border-color,
122
- value: $border-color,
123
- ),
124
- header-background-color: (
125
- var: --rmd-table-header-background-color,
126
- value: $header-background-color,
127
- ),
128
- cell-color: (
129
- var: --rmd-table-cell-color,
130
- value: $cell-color,
131
- ),
132
- cell-height: (
133
- var: --rmd-table-cell-height,
134
- value: $cell-height,
135
- ),
136
- cell-horizontal-padding: (
137
- var: --rmd-table-cell-horizontal-padding,
138
- value: $cell-horizontal-padding,
139
- ),
140
- cell-vertical-padding: (
141
- var: --rmd-table-cell-vertical-padding,
142
- value: $cell-vertical-padding,
143
- ),
144
- header-cell-height: (
145
- var: --rmd-table-header-cell-height,
146
- value: $cell-header-height,
147
- ),
148
- hover-color: (
149
- var: --rmd-table-hover-color,
150
- value: $row-hover-color,
151
- ),
152
- selected-color: (
153
- var: --rmd-table-selected-color,
154
- value: $row-selected-color,
155
- ),
156
- sticky-cell: (
157
- var: --rmd-table-sticky-cell,
158
- value: $sticky-cell-position,
159
- ),
160
- sticky-header: (
161
- var: --rmd-table-sticky-header,
162
- value: $sticky-header-position,
163
- ),
164
- sticky-footer: (
165
- var: --rmd-table-sticky-footer,
166
- value: $sticky-footer-position,
167
- ),
168
- sticky-background-color: (
169
- var: --rmd-table-sticky-background-color,
170
- value: $sticky-background-color,
171
- ),
111
+ $variables: (
112
+ background-color,
113
+ border-size,
114
+ border-color,
115
+ header-background-color,
116
+ cell-color,
117
+ cell-height,
118
+ cell-horizontal-padding,
119
+ cell-vertical-padding,
120
+ header-cell-height,
121
+ hover-color,
122
+ selected-color,
123
+ sticky-cell,
124
+ sticky-header,
125
+ sticky-footer,
126
+ sticky-background-color
172
127
  );
173
128
 
174
129
  @function get-var($name, $fallback: null) {
175
- $found: utils.validate($var-lookup, $name, "table var");
176
- $var: map.get($found, var);
177
- $value: if($fallback, $fallback, map.get($found, value));
178
-
179
- @if $value {
180
- @return var(#{$var}, #{$value});
130
+ $var: utils.get-var-name($variables, $name, "table");
131
+ @if $fallback {
132
+ @return var(#{$var}, #{$fallback});
181
133
  }
182
134
 
183
135
  @return var(#{$var});
184
136
  }
185
137
 
186
138
  @mixin set-var($name, $value) {
187
- $var: map.get(utils.validate($var-lookup, $name, "table var"), var);
188
-
189
- #{$var}: #{$value};
139
+ @if $value {
140
+ #{utils.get-var-name($variables, $name, "table")}: #{$value};
141
+ }
190
142
  }
191
143
 
192
144
  @mixin use-var($property, $name: $property, $fallback: null) {
@@ -227,6 +179,39 @@ $row-selected-styles: (
227
179
  }
228
180
  }
229
181
 
182
+ @mixin variables {
183
+ @if not $disable-everything {
184
+ @include set-var(background-color, $background-color);
185
+ @include set-var(header-background-color, $header-background-color);
186
+ @include set-var(cell-color, $cell-color);
187
+ @include set-var(cell-height, $cell-height);
188
+ @include set-var(cell-horizontal-padding, $cell-horizontal-padding);
189
+ @include set-var(cell-vertical-padding, $cell-vertical-padding);
190
+ @include set-var(header-cell-height, $cell-header-height);
191
+ @include set-var(selected-color, $row-selected-color);
192
+
193
+ @if not $disable-bordered {
194
+ @include set-var(border-size, $border-size);
195
+ @include set-var(border-color, $border-color);
196
+ }
197
+ @if not $disable-hoverable {
198
+ @include set-var(hover-color, $row-hover-color);
199
+ }
200
+ @if not $disable-sticky-cell {
201
+ @include set-var(sticky-cell, $sticky-cell-position);
202
+ }
203
+ @if not $disable-sticky-header {
204
+ @include set-var(sticky-header, $sticky-header-position);
205
+ }
206
+ @if not $disable-sticky-footer {
207
+ @include set-var(sticky-footer, $sticky-footer-position);
208
+ }
209
+ @if not $disable-sticky-header or not $disable-sticky-footer {
210
+ @include set-var(sticky-background-color, $sticky-background-color);
211
+ }
212
+ }
213
+ }
214
+
230
215
  @mixin styles {
231
216
  @if not $disable-everything {
232
217
  @if not $disable-container {
@@ -42,45 +42,27 @@ $tablist-scroller-background-color: theme.theme-get-var(
42
42
  inherit
43
43
  ) !default;
44
44
 
45
- $var-lookup: (
46
- color: (
47
- var: --rmd-tab-color,
48
- value: $inactive-color,
49
- ),
50
- active-color: (
51
- var: --rmd-tab-active-color,
52
- value: $active-color,
53
- ),
54
- inactive-color: (
55
- var: --rmd-tab-inactive-color,
56
- value: $inactive-color,
57
- ),
58
- disabled-color: (
59
- var: --rmd-tab-disabled-color,
60
- value: $disabled-color,
61
- ),
62
- indicator-background: (
63
- var: --rmd-tab-indicator-background,
64
- value: $indicator-background,
65
- ),
45
+ $variables: (
46
+ color,
47
+ active-color,
48
+ inactive-color,
49
+ disabled-color,
50
+ indicator-background
66
51
  );
67
52
 
68
53
  @function get-var($name, $fallback: null) {
69
- $found: utils.validate($var-lookup, $name, "tabs var");
70
- $var: map.get($found, var);
71
- $value: if($fallback, $fallback, map.get($found, value));
72
-
73
- @if $value {
74
- @return var(#{$var}, #{$value});
54
+ $var: utils.get-var-name($variables, $name, "tab");
55
+ @if $fallback {
56
+ @return var(#{$var}, #{$fallback});
75
57
  }
76
58
 
77
59
  @return var(#{$var});
78
60
  }
79
61
 
80
62
  @mixin set-var($name, $value) {
81
- $var: map.get(utils.validate($var-lookup, $name, "tabs var"), var);
82
-
83
- #{$var}: #{$value};
63
+ @if $value {
64
+ #{utils.get-var-name($variables, $name, "tab")}: #{$value};
65
+ }
84
66
  }
85
67
 
86
68
  @mixin use-var($property, $name: $property, $fallback: null) {
@@ -248,6 +230,19 @@ $var-lookup: (
248
230
  }
249
231
  }
250
232
 
233
+ @mixin variables {
234
+ @if not $disable-everything {
235
+ @include set-var(color, $inactive-color);
236
+ @include set-var(active-color, $active-color);
237
+ @include set-var(inactive-color, $inactive-color);
238
+ @include set-var(disabled-color, $disabled-color);
239
+
240
+ @if not $disable-indicator {
241
+ @include set-var(indicator-background, $indicator-background);
242
+ }
243
+ }
244
+ }
245
+
251
246
  @mixin styles {
252
247
  @if not $disable-everything {
253
248
  @include tablist-styles;