@react-md/core 1.0.0-next.5 → 1.0.0-next.7

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 (75) hide show
  1. package/.turbo/turbo-build.log +5 -5
  2. package/.turbo/turbo-lint.log +12 -0
  3. package/CHANGELOG.md +12 -0
  4. package/dist/_core.scss +157 -240
  5. package/dist/_utils.scss +10 -0
  6. package/dist/app-bar/_app-bar.scss +95 -93
  7. package/dist/avatar/_avatar.scss +49 -47
  8. package/dist/badge/_badge.scss +19 -17
  9. package/dist/box/_box.scss +57 -55
  10. package/dist/button/_button.scss +122 -120
  11. package/dist/card/_card.scss +72 -70
  12. package/dist/chip/_chip.scss +105 -103
  13. package/dist/dialog/_dialog.scss +128 -126
  14. package/dist/divider/_divider.scss +24 -22
  15. package/dist/draggable/_draggable.scss +16 -12
  16. package/dist/expansion-panel/_expansion-panel.scss +69 -52
  17. package/dist/form/Form.d.ts +1 -1
  18. package/dist/form/Form.js +2 -1
  19. package/dist/form/Form.js.map +1 -1
  20. package/dist/form/_form.scss +1175 -1128
  21. package/dist/icon/_icon.scss +64 -62
  22. package/dist/interaction/_interaction.scss +39 -35
  23. package/dist/layout/_layout.scss +68 -67
  24. package/dist/link/_link.scss +52 -50
  25. package/dist/list/_list.scss +124 -122
  26. package/dist/menu/_menu.scss +9 -7
  27. package/dist/overlay/_overlay.scss +25 -23
  28. package/dist/progress/_progress.scss +11 -6
  29. package/dist/responsive-item/_responsive-item.scss +91 -89
  30. package/dist/segmented-button/_segmented-button.scss +54 -49
  31. package/dist/sheet/_sheet.scss +84 -82
  32. package/dist/snackbar/_snackbar.scss +128 -123
  33. package/dist/table/_table.scss +159 -157
  34. package/dist/tabs/_tabs.scss +10 -8
  35. package/dist/tooltip/_tooltip.scss +60 -58
  36. package/dist/transition/_transition.scss +44 -39
  37. package/dist/tree/_tree.scss +83 -81
  38. package/dist/typography/_typography.scss +58 -49
  39. package/dist/window-splitter/_window-splitter.scss +72 -70
  40. package/package.json +1 -1
  41. package/src/_core.scss +157 -240
  42. package/src/_utils.scss +10 -0
  43. package/src/app-bar/_app-bar.scss +95 -93
  44. package/src/avatar/_avatar.scss +49 -47
  45. package/src/badge/_badge.scss +19 -17
  46. package/src/box/_box.scss +57 -55
  47. package/src/button/_button.scss +122 -120
  48. package/src/card/_card.scss +72 -70
  49. package/src/chip/_chip.scss +105 -103
  50. package/src/dialog/_dialog.scss +128 -126
  51. package/src/divider/_divider.scss +24 -22
  52. package/src/draggable/_draggable.scss +16 -12
  53. package/src/expansion-panel/_expansion-panel.scss +69 -52
  54. package/src/form/Form.tsx +2 -1
  55. package/src/form/_form.scss +1175 -1128
  56. package/src/icon/_icon.scss +64 -62
  57. package/src/interaction/_interaction.scss +39 -35
  58. package/src/layout/_layout.scss +68 -67
  59. package/src/link/_link.scss +52 -50
  60. package/src/list/_list.scss +124 -122
  61. package/src/menu/_menu.scss +9 -7
  62. package/src/overlay/_overlay.scss +25 -23
  63. package/src/progress/_progress.scss +11 -6
  64. package/src/responsive-item/_responsive-item.scss +91 -89
  65. package/src/segmented-button/_segmented-button.scss +54 -49
  66. package/src/sheet/_sheet.scss +84 -82
  67. package/src/snackbar/_snackbar.scss +128 -123
  68. package/src/table/_table.scss +159 -157
  69. package/src/tabs/_tabs.scss +10 -8
  70. package/src/tooltip/_tooltip.scss +60 -58
  71. package/src/transition/_transition.scss +44 -39
  72. package/src/tree/_tree.scss +83 -81
  73. package/src/typography/_typography.scss +58 -49
  74. package/src/window-splitter/_window-splitter.scss +72 -70
  75. package/tsconfig.json +2 -2
@@ -144,174 +144,176 @@ $variables: (
144
144
  }
145
145
  }
146
146
 
147
- @mixin styles {
147
+ @mixin styles($disable-layer: false) {
148
148
  @if not $disable-everything {
149
- .rmd-list {
150
- @include utils.map-to-styles($typography-styles);
151
- @include divider.set-var(inset, get-var(item-keyline));
149
+ @include utils.optional-layer(list, $disable-layer) {
150
+ .rmd-list {
151
+ @include utils.map-to-styles($typography-styles);
152
+ @include divider.set-var(inset, get-var(item-keyline));
152
153
 
153
- list-style: none;
154
- margin: 0;
155
- padding: get-var(vertical-padding) get-var(horizontal-padding);
154
+ list-style: none;
155
+ margin: 0;
156
+ padding: get-var(vertical-padding) get-var(horizontal-padding);
156
157
 
157
- @if not $disable-horizontal {
158
- &--horizontal {
159
- display: flex;
160
- flex-wrap: nowrap;
161
- max-width: 100%;
162
- overflow: auto;
163
- padding: get-var(horizontal-padding) get-var(vertical-padding);
158
+ @if not $disable-horizontal {
159
+ &--horizontal {
160
+ display: flex;
161
+ flex-wrap: nowrap;
162
+ max-width: 100%;
163
+ overflow: auto;
164
+ padding: get-var(horizontal-padding) get-var(vertical-padding);
165
+ }
164
166
  }
165
167
  }
166
- }
167
168
 
168
- .rmd-list-item {
169
- @include use-var(min-height, item-height);
170
-
171
- align-items: center;
172
- display: flex;
173
- padding: get-var(item-vertical-padding) get-var(item-horizontal-padding);
174
-
175
- &--clickable {
176
- @include interaction.surface(
177
- $disabled-selector: '&[aria-disabled="true"]'
178
- );
179
- }
169
+ .rmd-list-item {
170
+ @include use-var(min-height, item-height);
180
171
 
181
- @if not $disable-item-link-styles {
182
- &--link {
183
- color: inherit;
184
- text-decoration: none;
185
- }
186
- }
172
+ align-items: center;
173
+ display: flex;
174
+ padding: get-var(item-vertical-padding) get-var(item-horizontal-padding);
187
175
 
188
- @if not $disable-item-disabled-color {
189
- &--disabled-color {
190
- @include theme.theme-set-var(
191
- text-secondary-color,
192
- theme.theme-get-var(text-disabled-color)
176
+ &--clickable {
177
+ @include interaction.surface(
178
+ $disabled-selector: '&[aria-disabled="true"]'
193
179
  );
194
- @include theme.theme-use-var(color, text-disabled-color);
195
180
  }
196
- }
197
181
 
198
- @if not $disable-item-disabled-opacity {
199
- &--disabled-opacity {
200
- opacity: $item-disabled-opacity;
182
+ @if not $disable-item-link-styles {
183
+ &--link {
184
+ color: inherit;
185
+ text-decoration: none;
186
+ }
201
187
  }
202
- }
203
188
 
204
- @if not $disable-medium-height {
205
- &--medium {
206
- @include set-var(item-height, get-var(item-medium-height));
189
+ @if not $disable-item-disabled-color {
190
+ &--disabled-color {
191
+ @include theme.theme-set-var(
192
+ text-secondary-color,
193
+ theme.theme-get-var(text-disabled-color)
194
+ );
195
+ @include theme.theme-use-var(color, text-disabled-color);
196
+ }
207
197
  }
208
- }
209
198
 
210
- @if not $disable-large-height {
211
- &--large {
212
- @include set-var(item-height, get-var(item-large-height));
199
+ @if not $disable-item-disabled-opacity {
200
+ &--disabled-opacity {
201
+ opacity: $item-disabled-opacity;
202
+ }
213
203
  }
214
- }
215
204
 
216
- @if not $disable-extra-large-height {
217
- &--extra-large {
218
- @include set-var(item-height, get-var(item-extra-large-height));
205
+ @if not $disable-medium-height {
206
+ &--medium {
207
+ @include set-var(item-height, get-var(item-medium-height));
208
+ }
219
209
  }
220
- }
221
210
 
222
- @if not $disable-multiline-height {
223
- &--multiline {
224
- @include set-var(item-height, get-var(item-multiline-height));
211
+ @if not $disable-large-height {
212
+ &--large {
213
+ @include set-var(item-height, get-var(item-large-height));
214
+ }
225
215
  }
226
- }
227
216
 
228
- &__text {
229
- @include typography.text-overflow;
230
- @include utils.rtl {
231
- margin-left: auto;
217
+ @if not $disable-extra-large-height {
218
+ &--extra-large {
219
+ @include set-var(item-height, get-var(item-extra-large-height));
220
+ }
232
221
  }
233
222
 
234
- display: block;
235
- flex-grow: 1;
236
-
237
- &--secondary {
238
- @include theme.theme-use-var(color, text-secondary-color);
223
+ @if not $disable-multiline-height {
224
+ &--multiline {
225
+ @include set-var(item-height, get-var(item-multiline-height));
226
+ }
239
227
  }
240
228
 
241
- @if not $disable-multiline-clamp {
242
- &--clamped {
243
- @include typography.line-clamp(get-var(item-multiline-clamp));
244
- @if not $disable-multiline-height {
245
- @include use-var(max-height, item-text-multiline-height);
246
- }
229
+ &__text {
230
+ @include typography.text-overflow;
231
+ @include utils.rtl {
232
+ margin-left: auto;
233
+ }
247
234
 
248
- line-height: $item-secondary-text-line-height;
249
- white-space: normal;
235
+ display: block;
236
+ flex-grow: 1;
237
+
238
+ &--secondary {
239
+ @include theme.theme-use-var(color, text-secondary-color);
250
240
  }
251
- }
252
- }
253
241
 
254
- &__addon {
255
- flex-shrink: 0;
242
+ @if not $disable-multiline-clamp {
243
+ &--clamped {
244
+ @include typography.line-clamp(get-var(item-multiline-clamp));
245
+ @if not $disable-multiline-height {
246
+ @include use-var(max-height, item-text-multiline-height);
247
+ }
256
248
 
257
- &--top {
258
- align-self: flex-start;
249
+ line-height: $item-secondary-text-line-height;
250
+ white-space: normal;
251
+ }
252
+ }
259
253
  }
260
254
 
261
- &--bottom {
262
- align-self: flex-end;
263
- }
255
+ &__addon {
256
+ flex-shrink: 0;
264
257
 
265
- &--before {
266
- @include _addon-spacing(icon.get-var(size));
267
- }
258
+ &--top {
259
+ align-self: flex-start;
260
+ }
268
261
 
269
- @if not $disable-item-avatar {
270
- &--avatar-before {
271
- @include _addon-spacing(avatar.get-var(size));
262
+ &--bottom {
263
+ align-self: flex-end;
272
264
  }
273
- }
274
265
 
275
- @if not $disable-item-media {
276
- &--media {
277
- @include icon.set-var(spacing, get-var(item-media-spacing));
278
- @include use-var(width, item-media-size);
266
+ &--before {
267
+ @include _addon-spacing(icon.get-var(size));
279
268
  }
280
269
 
281
- &--media-centered {
282
- align-items: center;
283
- display: flex;
284
- justify-content: center;
270
+ @if not $disable-item-avatar {
271
+ &--avatar-before {
272
+ @include _addon-spacing(avatar.get-var(size));
273
+ }
285
274
  }
286
275
 
287
- @if not $disable-item-media-large {
288
- &--media-large {
289
- @include set-var(item-media-size, $item-media-large-size);
276
+ @if not $disable-item-media {
277
+ &--media {
278
+ @include icon.set-var(spacing, get-var(item-media-spacing));
279
+ @include use-var(width, item-media-size);
280
+ }
281
+
282
+ &--media-centered {
283
+ align-items: center;
284
+ display: flex;
285
+ justify-content: center;
286
+ }
287
+
288
+ @if not $disable-item-media-large {
289
+ &--media-large {
290
+ @include set-var(item-media-size, $item-media-large-size);
291
+ }
290
292
  }
291
293
  }
292
294
  }
293
295
  }
294
- }
295
296
 
296
- @if not $disable-subheader {
297
- .rmd-list-subheader {
298
- @include utils.map-to-styles(typography.$subtitle-2-styles);
299
- @include theme.theme-use-var(color, text-secondary-color);
300
- @include use-var(height, item-height);
297
+ @if not $disable-subheader {
298
+ .rmd-list-subheader {
299
+ @include utils.map-to-styles(typography.$subtitle-2-styles);
300
+ @include theme.theme-use-var(color, text-secondary-color);
301
+ @include use-var(height, item-height);
302
+
303
+ align-items: center;
304
+ display: flex;
305
+ padding: get-var(item-vertical-padding)
306
+ get-var(item-horizontal-padding);
301
307
 
302
- align-items: center;
303
- display: flex;
304
- padding: get-var(item-vertical-padding)
305
- get-var(item-horizontal-padding);
306
-
307
- @if not $disable-subheader-inset {
308
- &--inset {
309
- @include utils.rtl {
310
- @include use-var(padding-left, item-horizontal-padding);
311
- @include use-var(padding-right, item-keyline);
312
- }
308
+ @if not $disable-subheader-inset {
309
+ &--inset {
310
+ @include utils.rtl {
311
+ @include use-var(padding-left, item-horizontal-padding);
312
+ @include use-var(padding-right, item-keyline);
313
+ }
313
314
 
314
- @include use-var(padding-left, item-keyline);
315
+ @include use-var(padding-left, item-keyline);
316
+ }
315
317
  }
316
318
  }
317
319
  }
@@ -98,16 +98,18 @@ $variables: (background-color, color, min-width, spacing);
98
98
  }
99
99
  }
100
100
 
101
- @mixin styles {
101
+ @mixin styles($disable-layer: false) {
102
102
  @if not $disable-everything {
103
- @include menu-styles;
103
+ @include utils.optional-layer(menu, $disable-layer) {
104
+ @include menu-styles;
104
105
 
105
- @if not $disable-menu-item {
106
- @include menu-item-styles;
107
- }
106
+ @if not $disable-menu-item {
107
+ @include menu-item-styles;
108
+ }
108
109
 
109
- @if not $disable-menu-item-group {
110
- @include menu-item-group-styles;
110
+ @if not $disable-menu-item-group {
111
+ @include menu-item-group-styles;
112
+ }
111
113
  }
112
114
  }
113
115
  }
@@ -37,35 +37,37 @@ $variables: (background-color, z-index);
37
37
  }
38
38
  }
39
39
 
40
- @mixin styles {
40
+ @mixin styles($disable-layer: false) {
41
41
  @if not $disable-everything {
42
- .rmd-overlay {
43
- @include use-var(background-color);
44
- @include use-var(z-index);
42
+ @include utils.optional-layer(overlay, $disable-layer) {
43
+ .rmd-overlay {
44
+ @include use-var(background-color);
45
+ @include use-var(z-index);
45
46
 
46
- border-radius: inherit;
47
- box-shadow: inherit;
48
- inset: 0;
49
- opacity: 0;
50
- pointer-events: none;
51
- position: fixed;
52
- transition: opacity $transition-duration $transition-timing-function;
47
+ border-radius: inherit;
48
+ box-shadow: inherit;
49
+ inset: 0;
50
+ opacity: 0;
51
+ pointer-events: none;
52
+ position: fixed;
53
+ transition: opacity $transition-duration $transition-timing-function;
53
54
 
54
- &--active {
55
- opacity: 1;
56
- }
55
+ &--active {
56
+ opacity: 1;
57
+ }
57
58
 
58
- &--clickable {
59
- cursor: pointer;
60
- }
59
+ &--clickable {
60
+ cursor: pointer;
61
+ }
61
62
 
62
- &--visible {
63
- overflow: hidden;
64
- pointer-events: auto;
65
- }
63
+ &--visible {
64
+ overflow: hidden;
65
+ pointer-events: auto;
66
+ }
66
67
 
67
- &--absolute {
68
- position: absolute;
68
+ &--absolute {
69
+ position: absolute;
70
+ }
69
71
  }
70
72
  }
71
73
  }
@@ -561,12 +561,17 @@ $variables: (
561
561
  }
562
562
  }
563
563
 
564
- @mixin styles {
565
- @if not $disable-circular {
566
- @include _circular-progress;
567
- }
564
+ @mixin styles($disable-layer: false) {
565
+ @include utils.optional-layer(
566
+ overlay,
567
+ $disable-layer or ($disable-circular and $disable-linear)
568
+ ) {
569
+ @if not $disable-circular {
570
+ @include _circular-progress;
571
+ }
568
572
 
569
- @if not $disable-linear {
570
- @include _linear-progress;
573
+ @if not $disable-linear {
574
+ @include _linear-progress;
575
+ }
571
576
  }
572
577
  }
@@ -58,134 +58,136 @@ $disable-aspect-ratios: not list.length(map.keys($aspect-ratios)) !default;
58
58
  padding-bottom: math.percentage(math.div($height, $width));
59
59
  }
60
60
 
61
- @mixin styles {
61
+ @mixin styles($disable-layer: false) {
62
62
  @if not $disable-everything {
63
- @if not $disable-item {
64
- .rmd-responsive-item {
65
- @include responsive-item;
66
-
67
- @if not $disable-scale-to-container {
68
- &--scale {
69
- @include scale-to-container;
63
+ @include utils.optional-layer(responsive-item, $disable-layer) {
64
+ @if not $disable-item {
65
+ .rmd-responsive-item {
66
+ @include responsive-item;
67
+
68
+ @if not $disable-scale-to-container {
69
+ &--scale {
70
+ @include scale-to-container;
71
+ }
70
72
  }
71
- }
72
73
 
73
- @if not $disable-aspect-ratios {
74
- &--aspect-ratio {
75
- @include forced-aspect-ratio;
74
+ @if not $disable-aspect-ratios {
75
+ &--aspect-ratio {
76
+ @include forced-aspect-ratio;
77
+ }
76
78
  }
77
79
  }
78
80
  }
79
- }
80
81
 
81
- .rmd-responsive-item-container {
82
- display: inline-block;
83
- position: relative;
82
+ .rmd-responsive-item-container {
83
+ display: inline-block;
84
+ position: relative;
84
85
 
85
- @if not $disable-auto {
86
- &--auto {
87
- @each $selector in $selectors {
88
- #{$selector} {
89
- @include responsive-item;
86
+ @if not $disable-auto {
87
+ &--auto {
88
+ @each $selector in $selectors {
89
+ #{$selector} {
90
+ @include responsive-item;
91
+ }
90
92
  }
91
93
  }
92
- }
93
94
 
94
- @if not $disable-auto-scale {
95
- &--auto-scale {
96
- @each $selector in $selectors {
97
- #{$selector} {
98
- @include scale-to-container;
95
+ @if not $disable-auto-scale {
96
+ &--auto-scale {
97
+ @each $selector in $selectors {
98
+ #{$selector} {
99
+ @include scale-to-container;
100
+ }
99
101
  }
100
102
  }
101
103
  }
102
104
  }
103
- }
104
105
 
105
- @if not $disable-full-width {
106
- &--full-width {
107
- display: block;
108
- width: 100%;
106
+ @if not $disable-full-width {
107
+ &--full-width {
108
+ display: block;
109
+ width: 100%;
110
+ }
109
111
  }
110
- }
111
112
 
112
- @if not $disable-aspect-ratios {
113
- &--aspect-ratio {
114
- display: block;
115
- height: 0;
116
- overflow: hidden;
117
- padding: 0;
113
+ @if not $disable-aspect-ratios {
114
+ &--aspect-ratio {
115
+ display: block;
116
+ height: 0;
117
+ overflow: hidden;
118
+ padding: 0;
118
119
 
119
- @each $selector in $selectors {
120
- #{$selector} {
121
- @include forced-aspect-ratio;
120
+ @each $selector in $selectors {
121
+ #{$selector} {
122
+ @include forced-aspect-ratio;
123
+ }
122
124
  }
123
125
  }
124
- }
125
126
 
126
- @each $suffix, $ratio-list in $aspect-ratios {
127
- &--#{$suffix} {
128
- @include aspect-ratio(nth($ratio-list, 1), nth($ratio-list, 2));
127
+ @each $suffix, $ratio-list in $aspect-ratios {
128
+ &--#{$suffix} {
129
+ @include aspect-ratio(nth($ratio-list, 1), nth($ratio-list, 2));
130
+ }
129
131
  }
130
132
  }
131
133
  }
132
- }
133
134
 
134
- @if not $disable-overlay {
135
- .rmd-responsive-item-overlay {
136
- background-color: $background-color;
137
- color: $color;
138
- padding: $overlay-padding;
139
- position: absolute;
140
- z-index: 0;
141
-
142
- @if not $disable-overlay-top {
143
- &--top {
144
- inset: 0 0 auto;
135
+ @if not $disable-overlay {
136
+ .rmd-responsive-item-overlay {
137
+ background-color: $background-color;
138
+ color: $color;
139
+ padding: $overlay-padding;
140
+ position: absolute;
141
+ z-index: 0;
142
+
143
+ @if not $disable-overlay-top {
144
+ &--top {
145
+ inset: 0 0 auto;
146
+ }
145
147
  }
146
- }
147
148
 
148
- @if not $disable-overlay-bottom {
149
- &--bottom {
150
- inset: auto 0 0;
149
+ @if not $disable-overlay-bottom {
150
+ &--bottom {
151
+ inset: auto 0 0;
152
+ }
151
153
  }
152
- }
153
154
 
154
- &--horizontal {
155
- inset: 0 auto;
156
- width: $overlay-horizontal-width;
157
- }
155
+ &--horizontal {
156
+ inset: 0 auto;
157
+ width: $overlay-horizontal-width;
158
+ }
158
159
 
159
- @if not $disable-overlay-left {
160
- &--left {
161
- @include utils.auto-rtl(left, 0);
160
+ @if not $disable-overlay-left {
161
+ &--left {
162
+ @include utils.auto-rtl(left, 0);
163
+ }
162
164
  }
163
- }
164
165
 
165
- @if not $disable-overlay-right {
166
- &--right {
167
- @include utils.auto-rtl(right, 0);
166
+ @if not $disable-overlay-right {
167
+ &--right {
168
+ @include utils.auto-rtl(right, 0);
169
+ }
168
170
  }
169
- }
170
171
 
171
- @if not $disable-overlay-middle {
172
- &--middle {
173
- inset: auto 0 50%;
174
- transform: translate3d(0, 50%, 0);
172
+ @if not $disable-overlay-middle {
173
+ &--middle {
174
+ inset: auto 0 50%;
175
+ transform: translate3d(0, 50%, 0);
176
+ }
175
177
  }
176
- }
177
178
 
178
- @if not $disable-overlay-center {
179
- &--center {
180
- inset: 0 50% 0 auto;
181
- transform: translate3d(50%, 0, 0);
179
+ @if not $disable-overlay-center {
180
+ &--center {
181
+ inset: 0 50% 0 auto;
182
+ transform: translate3d(50%, 0, 0);
183
+ }
182
184
  }
183
- }
184
185
 
185
- @if not $disable-overlay-absolute-center {
186
- &--absolute-center {
187
- inset: auto 50% 50% auto;
188
- transform: translate3d(50%, 50%, 0);
186
+ @if not $disable-overlay-absolute-center {
187
+ &--absolute-center {
188
+ inset: auto 50% 50% auto;
189
+ transform: translate3d(50%, 50%, 0);
190
+ }
189
191
  }
190
192
  }
191
193
  }