@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
@@ -1,5 +1,4 @@
1
1
  @use "sass:color";
2
- @use "sass:map";
3
2
  @use "../theme/theme";
4
3
  @use "../transition/transition";
5
4
  @use "../utils";
@@ -47,61 +46,31 @@ $rotate-from: 0deg !default;
47
46
  $rotate-to: 180deg !default;
48
47
  $rotate-duration: transition.$linear-duration !default;
49
48
 
50
- $var-lookup: (
51
- color: (
52
- var: --rmd-icon-color,
53
- value: $color,
54
- ),
55
- size: (
56
- var: --rmd-icon-size,
57
- value: $size,
58
- ),
59
- spacing: (
60
- var: --rmd-icon-spacing,
61
- value: $spacing,
62
- ),
63
- rotate-from: (
64
- var: --rmd-icon-rotate-from,
65
- value: $rotate-from,
66
- ),
67
- rotate-to: (
68
- var: --rmd-icon-rotate-to,
69
- value: $rotate-to,
70
- ),
71
- symbol-fill: (
72
- var: --rmd-symbol-fill,
73
- value: $symbol-fill,
74
- ),
75
- symbol-grade: (
76
- var: --rmd-symbol-grad,
77
- value: $symbol-grade,
78
- ),
79
- symbol-weight: (
80
- var: --rmd-symbol-wght,
81
- value: $symbol-weight,
82
- ),
83
- symbol-optical-size: (
84
- var: --rmd-symbol-opsz,
85
- value: $symbol-optical-size,
86
- ),
49
+ $variables: (
50
+ color,
51
+ size,
52
+ spacing,
53
+ rotate-from,
54
+ rotate-to,
55
+ symbol-fill,
56
+ symbol-grade,
57
+ symbol-weight,
58
+ symbol-optical-size
87
59
  );
88
60
 
89
61
  @function get-var($name, $fallback: null) {
90
- $found: utils.validate($var-lookup, $name, "icon var");
91
- $var: map.get($found, var);
92
- $value: if($fallback, $fallback, map.get($found, value));
93
-
94
- @if $value {
95
- @return var(#{$var}, #{$value});
62
+ $var: utils.get-var-name($variables, $name, "icon");
63
+ @if $fallback {
64
+ @return var(#{$var}, #{$fallback});
96
65
  }
97
66
 
98
67
  @return var(#{$var});
99
68
  }
100
69
 
101
70
  @mixin set-var($name, $value) {
102
- $var: map.get(utils.validate($var-lookup, $name, "icon var"), var);
103
-
104
- #{$var}: #{$value};
71
+ @if $value {
72
+ #{utils.get-var-name($variables, $name, "icon")}: #{$value};
73
+ }
105
74
  }
106
75
 
107
76
  @mixin use-var($property, $name: $property, $fallback: null) {
@@ -126,6 +95,21 @@ $var-lookup: (
126
95
  }
127
96
  }
128
97
 
98
+ @mixin variables {
99
+ @if not $disable-font or not $disable-svg or not $disable-symbol {
100
+ @include set-var(color, $color);
101
+ @include set-var(size, $size);
102
+ @include set-var(spacing, $spacing);
103
+ }
104
+
105
+ @if not $disable-symbol {
106
+ @include set-var(symbol-fill, $symbol-fill);
107
+ @include set-var(symbol-grade, $symbol-grade);
108
+ @include set-var(symbol-weight, $symbol-weight);
109
+ @include set-var(symbol-optical-size, $symbol-optical-size);
110
+ }
111
+ }
112
+
129
113
  @mixin styles {
130
114
  // shouldn't really use react-md without icons though...
131
115
  @if not $disable-font or not $disable-svg and not $disable-symbol {
@@ -117,55 +117,19 @@ $selected-background-color: theme.get-default-color(
117
117
  $dark-surface-selected-background-color
118
118
  ) !default;
119
119
 
120
- $var-lookup: (
121
- ripple-background-color: (
122
- var: --rmd-ripple-background-color,
123
- value: $ripple-background-color,
124
- ),
125
- background-color: (
126
- var: --rmd-interaction-background-color,
127
- value: null,
128
- ),
129
- hover-background-color: (
130
- var: --rmd-hover-background-color,
131
- value: $hover-background-color,
132
- ),
133
- focus-background-color: (
134
- var: --rmd-focus-background-color,
135
- value: $focus-background-color,
136
- ),
137
- press-background-color: (
138
- var: --rmd-press-background-color,
139
- value: $press-background-color,
140
- ),
141
- selected-background-color: (
142
- var: --rmd-selected-background-color,
143
- value: $selected-background-color,
144
- ),
145
- focus-color: (
146
- var: --rmd-focus-color,
147
- value: $focus-color,
148
- ),
149
- focus-width: (
150
- var: --rmd-focus-width,
151
- value: $focus-width,
152
- ),
153
- ripple-inset: (
154
- var: --rmd-ripple-inset,
155
- value: 0,
156
- ),
157
- ripple-border-radius: (
158
- var: --rmd-ripple-border-radius,
159
- value: inherit,
160
- ),
161
- surface-inset: (
162
- var: --rmd-surface-inset,
163
- value: 0,
164
- ),
165
- surface-border-radius: (
166
- var: --rmd-surface-border-radius,
167
- value: inherit,
168
- ),
120
+ $variables: (
121
+ background-color,
122
+ hover-background-color,
123
+ focus-background-color,
124
+ press-background-color,
125
+ selected-background-color,
126
+ focus-color,
127
+ focus-width,
128
+ ripple-inset,
129
+ ripple-border-radius,
130
+ ripple-background-color,
131
+ surface-inset,
132
+ surface-border-radius
169
133
  );
170
134
 
171
135
  @function _is-var-disabled($name) {
@@ -189,27 +153,35 @@ $var-lookup: (
189
153
  }
190
154
 
191
155
  @function get-var($name, $fallback: null) {
192
- $found: utils.validate($var-lookup, $name, "interaction var");
193
- $var: map.get($found, var);
194
- $value: if($fallback, $fallback, map.get($found, value));
156
+ // cannot set a custom property to `inherit` for some reason. It will not be parsed.
157
+ @if not
158
+ $fallback and
159
+ ($name == ripple-border-radius or $name == surface-border-radius)
160
+ {
161
+ $fallback: inherit;
162
+ }
163
+
195
164
  @if _is-var-disabled($name) {
196
- @return $value;
165
+ @return $fallback;
197
166
  }
198
167
 
199
- @if $value {
200
- @return var(#{$var}, #{$value});
168
+ $var: utils.get-var-name($variables, $name, "interaction");
169
+
170
+ @if $fallback {
171
+ @return var(#{$var}, #{$fallback});
201
172
  }
202
173
 
203
174
  @return var(#{$var});
204
175
  }
205
176
 
206
177
  @mixin set-var($name, $value) {
207
- $var: map.get(utils.validate($var-lookup, $name, "interaction var"), var);
208
178
  @if _is-var-disabled($name) {
209
179
  @error '"#{$name}" is currently disabled and cannot be changed. Set "$disable-#{$name}-var" to `true` or remove it from the Sass module overrides.';
210
180
  }
211
181
 
212
- #{$var}: #{$value};
182
+ @if $value {
183
+ #{utils.get-var-name($variables, $name, "interaction")}: #{$value};
184
+ }
213
185
  }
214
186
 
215
187
  @mixin use-var($property, $name: $property, $fallback: null) {
@@ -382,6 +354,24 @@ $var-lookup: (
382
354
  }
383
355
  }
384
356
 
357
+ @mixin variables {
358
+ @include set-var(focus-color, $focus-color);
359
+ @include set-var(focus-width, $focus-width);
360
+ @include set-var(hover-background-color, $hover-background-color);
361
+ @include set-var(focus-background-color, $focus-background-color);
362
+ @include set-var(press-background-color, $press-background-color);
363
+ @include set-var(selected-background-color, $selected-background-color);
364
+
365
+ @if not $_disable-ripple {
366
+ @include set-var(ripple-background-color, $ripple-background-color);
367
+ @include set-var(ripple-inset, 0);
368
+ }
369
+
370
+ @if not $disable-surface-inset-var {
371
+ @include set-var(surface-inset, 0);
372
+ }
373
+ }
374
+
385
375
  @mixin styles {
386
376
  @if not $_disable-ripple {
387
377
  .rmd-ripple-container {
@@ -29,39 +29,34 @@ $enter-timing-function: sheet.$enter-timing-function !default;
29
29
  $leave-duration: sheet.$leave-duration !default;
30
30
  $leave-timing-function: sheet.$leave-timing-function !default;
31
31
 
32
- $var-lookup: (
33
- size: (
34
- var: --rmd-layout-size,
35
- value: $navigation-static-width,
36
- ),
37
- header-height: (
38
- var: --rmd-layout-header-height,
39
- value: $header-height,
40
- ),
41
- );
32
+ $variables: (size, header-height);
42
33
 
43
34
  @function get-var($name, $fallback: null) {
44
- $found: utils.validate($var-lookup, $name, "layout var");
45
- $var: map.get($found, var);
46
- $value: if($fallback, $fallback, map.get($found, value));
47
-
48
- @if $value {
49
- @return var(#{$var}, #{$value});
35
+ $var: utils.get-var-name($variables, $name, "layout");
36
+ @if $fallback {
37
+ @return var(#{$var}, #{$fallback});
50
38
  }
51
39
 
52
40
  @return var(#{$var});
53
41
  }
54
42
 
55
43
  @mixin set-var($name, $value) {
56
- $var: map.get(utils.validate($var-lookup, $name, "layout var"), var);
57
-
58
- #{$var}: #{$value};
44
+ @if $value {
45
+ #{utils.get-var-name($variables, $name, "layout")}: #{$value};
46
+ }
59
47
  }
60
48
 
61
49
  @mixin use-var($property, $name: $property, $fallback: null) {
62
50
  #{$property}: get-var($name, $fallback);
63
51
  }
64
52
 
53
+ @mixin variables {
54
+ @if not $disable-everything {
55
+ @include set-var(size, $navigation-static-width);
56
+ @include set-var(header-height, $header-height);
57
+ }
58
+ }
59
+
65
60
  @mixin styles {
66
61
  @if not $disable-everything {
67
62
  .rmd-layout-main {
@@ -29,37 +29,21 @@ $skip-to-main-active-styles: (
29
29
  outline: 0.25rem dashed #000,
30
30
  ) !default;
31
31
 
32
- $var-lookup: (
33
- color: (
34
- var: --rmd-link-color,
35
- value: $color,
36
- ),
37
- visited-color: (
38
- var: --rmd-link-visited-color,
39
- value: $visited-color,
40
- ),
41
- hover-color: (
42
- var: --rmd-link-hover-color,
43
- value: $hover-color,
44
- ),
45
- );
32
+ $variables: (color, visited-color, hover-color);
46
33
 
47
34
  @function get-var($name, $fallback: null) {
48
- $found: utils.validate($var-lookup, $name, "link var");
49
- $var: map.get($found, var);
50
- $value: if($fallback, $fallback, map.get($found, value));
51
-
52
- @if $value {
53
- @return var(#{$var}, #{$value});
35
+ $var: utils.get-var-name($variables, $name, "link");
36
+ @if $fallback {
37
+ @return var(#{$var}, #{$fallback});
54
38
  }
55
39
 
56
40
  @return var(#{$var});
57
41
  }
58
42
 
59
43
  @mixin set-var($name, $value) {
60
- $var: map.get(utils.validate($var-lookup, $name, "link var"), var);
61
-
62
- #{$var}: #{$value};
44
+ @if $value {
45
+ #{utils.get-var-name($variables, $name, "link")}: #{$value};
46
+ }
63
47
  }
64
48
 
65
49
  @mixin use-var($property, $name: $property, $fallback: null) {
@@ -80,6 +64,14 @@ $var-lookup: (
80
64
  #{$property}: get-var(size) inset get-var(color);
81
65
  }
82
66
 
67
+ @mixin variables {
68
+ @if not $disable-everything {
69
+ @include set-var(color, $color);
70
+ @include set-var(visited-color, $visited-color);
71
+ @include set-var(hover-color, $hover-color);
72
+ }
73
+ }
74
+
83
75
  @mixin styles {
84
76
  @if not $disable-everything {
85
77
  .rmd-link {
@@ -60,77 +60,35 @@ $item-media-large-size: 6.25rem !default;
60
60
 
61
61
  $item-keyline: 4.5rem !default;
62
62
 
63
- $var-lookup: (
64
- horizontal-padding: (
65
- var: --rmd-list-padding-h,
66
- value: $horizontal-padding,
67
- ),
68
- vertical-padding: (
69
- var: --rmd-list-padding-v,
70
- value: $vertical-padding,
71
- ),
72
- item-keyline: (
73
- var: --rmd-list-item-keyline,
74
- value: $item-keyline,
75
- ),
76
- item-horizontal-padding: (
77
- var: --rmd-list-item-padding-h,
78
- value: $item-horizontal-padding,
79
- ),
80
- item-vertical-padding: (
81
- var: --rmd-list-item-padding-v,
82
- value: $item-vertical-padding,
83
- ),
84
- item-height: (
85
- var: --rmd-list-item-height,
86
- value: $item-height,
87
- ),
88
- item-medium-height: (
89
- var: --rmd-list-item-medium-height,
90
- value: $item-medium-height,
91
- ),
92
- item-large-height: (
93
- var: --rmd-list-item-large-height,
94
- value: $item-large-height,
95
- ),
96
- item-extra-large-height: (
97
- var: --rmd-list-item-extra-large-height,
98
- value: $item-extra-large-height,
99
- ),
100
- item-three-line-height: (
101
- var: --rmd-list-item-three-line-height,
102
- value: $item-three-line-height,
103
- ),
104
- item-media-size: (
105
- var: --rmd-list-item-media-size,
106
- value: $item-media-size,
107
- ),
108
- item-media-spacing: (
109
- var: --rmd-list-item-media-spacing,
110
- value: $item-media-spacing,
111
- ),
112
- text-three-line-height: (
113
- var: --rmd-list-item-text-three-line-height,
114
- value: $item-secondary-text-three-line-max-height,
115
- ),
63
+ $variables: (
64
+ horizontal-padding,
65
+ vertical-padding,
66
+ item-keyline,
67
+ item-horizontal-padding,
68
+ item-vertical-padding,
69
+ item-height,
70
+ item-medium-height,
71
+ item-large-height,
72
+ item-extra-large-height,
73
+ item-three-line-height,
74
+ item-media-size,
75
+ item-media-spacing,
76
+ item-text-three-line-height
116
77
  );
117
78
 
118
79
  @function get-var($name, $fallback: null) {
119
- $found: utils.validate($var-lookup, $name, "list var");
120
- $var: map.get($found, var);
121
- $value: if($fallback, $fallback, map.get($found, value));
122
-
123
- @if $value {
124
- @return var(#{$var}, #{$value});
80
+ $var: utils.get-var-name($variables, $name, "list");
81
+ @if $fallback {
82
+ @return var(#{$var}, #{$fallback});
125
83
  }
126
84
 
127
85
  @return var(#{$var});
128
86
  }
129
87
 
130
88
  @mixin set-var($name, $value) {
131
- $var: map.get(utils.validate($var-lookup, $name, "list var"), var);
132
-
133
- #{$var}: #{$value};
89
+ @if $value {
90
+ #{utils.get-var-name($variables, $name, "list")}: #{$value};
91
+ }
134
92
  }
135
93
 
136
94
  @mixin use-var($property, $name: $property, $fallback: null) {
@@ -147,6 +105,38 @@ $var-lookup: (
147
105
  );
148
106
  }
149
107
 
108
+ @mixin variables {
109
+ @if not $disable-everything {
110
+ @include set-var(horizontal-padding, $horizontal-padding);
111
+ @include set-var(vertical-padding, $vertical-padding);
112
+ @include set-var(item-horizontal-padding, $item-horizontal-padding);
113
+ @include set-var(item-vertical-padding, $item-vertical-padding);
114
+
115
+ @include set-var(item-height, $item-height);
116
+ @if not $disable-medium-height {
117
+ @include set-var(item-medium-height, $item-medium-height);
118
+ }
119
+ @if not $disable-large-height {
120
+ @include set-var(item-large-height, $item-large-height);
121
+ }
122
+ @if not $disable-extra-large-height {
123
+ @include set-var(item-extra-large-height, $item-extra-large-height);
124
+ }
125
+ @if not $disable-three-line-height {
126
+ @include set-var(item-three-line-height, $item-three-line-height);
127
+ @include set-var(
128
+ item-text-three-line-height,
129
+ $item-secondary-text-three-line-max-height
130
+ );
131
+ }
132
+
133
+ @if not $disable-item-media {
134
+ @include set-var(item-media-size, $item-media-size);
135
+ @include set-var(item-media-spacing, $item-media-spacing);
136
+ }
137
+ }
138
+ }
139
+
150
140
  @mixin styles {
151
141
  @if not $disable-everything {
152
142
  .rmd-list {
@@ -243,7 +233,7 @@ $var-lookup: (
243
233
 
244
234
  &--clamped {
245
235
  @include typography.line-clamp;
246
- @include use-var(max-height, text-three-line-height);
236
+ @include use-var(max-height, item-text-three-line-height);
247
237
 
248
238
  line-height: $item-secondary-text-line-height;
249
239
  white-space: normal;
@@ -20,41 +20,21 @@ $min-width: 7rem !default;
20
20
 
21
21
  $spacing: 1rem !default;
22
22
 
23
- $var-lookup: (
24
- background-color: (
25
- var: --rmd-menu-background-color,
26
- value: $background-color,
27
- ),
28
- color: (
29
- var: --rmd-menu-color,
30
- value: $color,
31
- ),
32
- min-width: (
33
- var: --rmd-menu-min-width,
34
- value: $min-width,
35
- ),
36
- spacing: (
37
- var: --rmd-menu-spacing,
38
- value: $spacing,
39
- ),
40
- );
23
+ $variables: (background-color, color, min-width, spacing);
41
24
 
42
25
  @function get-var($name, $fallback: null) {
43
- $found: utils.validate($var-lookup, $name, "dialog var");
44
- $var: map.get($found, var);
45
- $value: if($fallback, $fallback, map.get($found, value));
46
-
47
- @if $value {
48
- @return var(#{$var}, #{$value});
26
+ $var: utils.get-var-name($variables, $name, "menu");
27
+ @if $fallback {
28
+ @return var(#{$var}, #{$fallback});
49
29
  }
50
30
 
51
31
  @return var(#{$var});
52
32
  }
53
33
 
54
34
  @mixin set-var($name, $value) {
55
- $var: map.get(utils.validate($var-lookup, $name, "dialog var"), var);
56
-
57
- #{$var}: #{$value};
35
+ @if $value {
36
+ #{utils.get-var-name($variables, $name, "menu")}: #{$value};
37
+ }
58
38
  }
59
39
 
60
40
  @mixin use-var($property, $name: $property, $fallback: null) {
@@ -122,6 +102,15 @@ $var-lookup: (
122
102
  }
123
103
  }
124
104
 
105
+ @mixin variables {
106
+ @if not $disable-everything {
107
+ @include set-var(background-color, $background-color);
108
+ @include set-var(color, $color);
109
+ @include set-var(min-width, $min-width);
110
+ @include set-var(spacing, $spacing);
111
+ }
112
+ }
113
+
125
114
  @mixin styles {
126
115
  @if not $disable-everything {
127
116
  @include menu-styles;
@@ -9,39 +9,34 @@ $z-index: utils.$temporary-element-z-index !default;
9
9
  $transition-duration: transition.$linear-duration !default;
10
10
  $transition-timing-function: transition.$linear-timing-function !default;
11
11
 
12
- $var-lookup: (
13
- background-color: (
14
- var: --rmd-overlay-background-color,
15
- value: $background-color,
16
- ),
17
- z-index: (
18
- var: --rmd-overlay-z-index,
19
- value: $z-index,
20
- ),
21
- );
12
+ $variables: (background-color, z-index);
22
13
 
23
14
  @function get-var($name, $fallback: null) {
24
- $found: utils.validate($var-lookup, $name, "overlay var");
25
- $var: map.get($found, var);
26
- $value: if($fallback, $fallback, map.get($found, value));
27
-
28
- @if $value {
29
- @return var(#{$var}, #{$value});
15
+ $var: utils.get-var-name($variables, $name, "overlay");
16
+ @if $fallback {
17
+ @return var(#{$var}, #{$fallback});
30
18
  }
31
19
 
32
20
  @return var(#{$var});
33
21
  }
34
22
 
35
23
  @mixin set-var($name, $value) {
36
- $var: map.get(utils.validate($var-lookup, $name, "overlay var"), var);
37
-
38
- #{$var}: #{$value};
24
+ @if $value {
25
+ #{utils.get-var-name($variables, $name, "overlay")}: #{$value};
26
+ }
39
27
  }
40
28
 
41
29
  @mixin use-var($property, $name: $property, $fallback: null) {
42
30
  #{$property}: get-var($name, $fallback);
43
31
  }
44
32
 
33
+ @mixin variables {
34
+ @if not $disable-everything {
35
+ @include set-var(background-color, $background-color);
36
+ @include set-var(z-index, $z-index);
37
+ }
38
+ }
39
+
45
40
  @mixin styles {
46
41
  @if not $disable-everything {
47
42
  .rmd-overlay {