@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
@@ -189,132 +189,134 @@ $variables: (
189
189
  }
190
190
  }
191
191
 
192
- @mixin styles {
192
+ @mixin styles($disable-layer: false) {
193
193
  @if not $disable-everything {
194
- @include theme.default-system-theme {
195
- @include use-dark-theme;
196
- }
197
-
198
- .rmd-chip {
199
- @if not $disable-icon {
200
- @include icon.set-var(size, $icon-size);
194
+ @include utils.optional-layer(chip, $disable-layer) {
195
+ @include theme.default-system-theme {
196
+ @include use-dark-theme;
201
197
  }
202
198
 
203
- @if not $disable-avatar {
204
- @include avatar.set-var(size, $avatar-size);
205
- }
199
+ .rmd-chip {
200
+ @if not $disable-icon {
201
+ @include icon.set-var(size, $icon-size);
202
+ }
206
203
 
207
- @if not $disable-progress {
208
- @include progress.set-var(circular-size, $progress-size);
209
- @include progress.set-var(circular-stroke-width, $progress-width);
210
- }
204
+ @if not $disable-avatar {
205
+ @include avatar.set-var(size, $avatar-size);
206
+ }
211
207
 
212
- @if not $disable-selected-icon-transition and $gap {
213
- @include transition.transition-set-var(max-width, icon.get-var(size));
214
- @include transition.transition-set-var(max-width-gap, $gap);
215
- }
216
- @include utils.map-to-styles($typography);
217
-
218
- align-items: center;
219
- border-radius: $border-radius;
220
- border-width: 0;
221
- display: inline-flex;
222
- flex-shrink: 0;
223
- gap: $gap;
224
- height: $height;
225
- justify-content: center;
226
- max-width: 100%;
227
- padding: $vertical-padding $horizontal-padding;
228
-
229
- @if not $disable-solid-theme {
230
- &--solid {
231
- @if not $disable-solid-raisable {
232
- @include box-shadows.elevation-transition(
233
- $start-z-value: 0,
234
- $end-z-value: $solid-raisable-box-shadow-z-value,
235
- $duration: $solid-raisable-transition-duration,
236
- $active-selectors: "&.rmd-chip--pressed",
237
- $pseudo-before: false,
238
- $position-relative: false
239
- );
208
+ @if not $disable-progress {
209
+ @include progress.set-var(circular-size, $progress-size);
210
+ @include progress.set-var(circular-stroke-width, $progress-width);
211
+ }
212
+
213
+ @if not $disable-selected-icon-transition and $gap {
214
+ @include transition.transition-set-var(max-width, icon.get-var(size));
215
+ @include transition.transition-set-var(max-width-gap, $gap);
216
+ }
217
+ @include utils.map-to-styles($typography);
218
+
219
+ align-items: center;
220
+ border-radius: $border-radius;
221
+ border-width: 0;
222
+ display: inline-flex;
223
+ flex-shrink: 0;
224
+ gap: $gap;
225
+ height: $height;
226
+ justify-content: center;
227
+ max-width: 100%;
228
+ padding: $vertical-padding $horizontal-padding;
229
+
230
+ @if not $disable-solid-theme {
231
+ &--solid {
232
+ @if not $disable-solid-raisable {
233
+ @include box-shadows.elevation-transition(
234
+ $start-z-value: 0,
235
+ $end-z-value: $solid-raisable-box-shadow-z-value,
236
+ $duration: $solid-raisable-transition-duration,
237
+ $active-selectors: "&.rmd-chip--pressed",
238
+ $pseudo-before: false,
239
+ $position-relative: false
240
+ );
241
+ }
242
+ @include use-var(background-color, solid-background-color);
243
+ @include use-var(color, solid-color);
240
244
  }
241
- @include use-var(background-color, solid-background-color);
242
- @include use-var(color, solid-color);
243
245
  }
244
- }
245
246
 
246
- @if not $disable-outline-theme {
247
- &--outline {
248
- @if not $disable-outline-raisable {
249
- $outline-box-shadow: inset
250
- 0
251
- 0
252
- 0
253
- #{get-var(outline-width)}
254
- #{get-var(outline-color)};
255
-
256
- @include box-shadows.box-shadow-transition(
257
- $start-shadow: $outline-box-shadow,
258
- $end-shadow:
259
- box-shadows.box-shadow($outline-raisable-box-shadow-z-value),
260
- $duration: $outline-raisable-transition-duration,
261
- $active-selectors: "&.rmd-chip--pressed",
262
- $pseudo-before: false,
263
- $position-relative: false
264
- );
247
+ @if not $disable-outline-theme {
248
+ &--outline {
249
+ @if not $disable-outline-raisable {
250
+ $outline-box-shadow: inset
251
+ 0
252
+ 0
253
+ 0
254
+ #{get-var(outline-width)}
255
+ #{get-var(outline-color)};
256
+
257
+ @include box-shadows.box-shadow-transition(
258
+ $start-shadow: $outline-box-shadow,
259
+ $end-shadow:
260
+ box-shadows.box-shadow($outline-raisable-box-shadow-z-value),
261
+ $duration: $outline-raisable-transition-duration,
262
+ $active-selectors: "&.rmd-chip--pressed",
263
+ $pseudo-before: false,
264
+ $position-relative: false
265
+ );
266
+ }
267
+ @include use-var(background-color, outline-background-color);
268
+ @include use-var(color, outline-text-color);
265
269
  }
266
- @include use-var(background-color, outline-background-color);
267
- @include use-var(color, outline-text-color);
268
270
  }
269
- }
270
271
 
271
- @if not $disable-selected-theme {
272
- &--themed {
273
- @include use-var(background-color, theme-background-color);
274
- @include use-var(color, theme-color);
275
- @if not $disable-icon {
276
- @include icon.set-var(color, currentcolor);
272
+ @if not $disable-selected-theme {
273
+ &--themed {
274
+ @include use-var(background-color, theme-background-color);
275
+ @include use-var(color, theme-color);
276
+ @if not $disable-icon {
277
+ @include icon.set-var(color, currentcolor);
278
+ }
277
279
  }
278
280
  }
279
- }
280
281
 
281
- &--disabled {
282
- @if not $disable-icon {
283
- @include icon.set-var(color, currentcolor);
282
+ &--disabled {
283
+ @if not $disable-icon {
284
+ @include icon.set-var(color, currentcolor);
285
+ }
284
286
  }
285
- }
286
287
 
287
- @if not $disable-solid-theme {
288
- &--solid-disabled {
289
- @include use-var(background-color, solid-disabled-background-color);
288
+ @if not $disable-solid-theme {
289
+ &--solid-disabled {
290
+ @include use-var(background-color, solid-disabled-background-color);
291
+ }
290
292
  }
291
- }
292
293
 
293
- @if not $disable-left-addon {
294
- &--left-addon {
295
- @include utils.auto-rtl(
296
- padding-left,
297
- $addon-left-padding,
298
- $horizontal-padding
299
- );
294
+ @if not $disable-left-addon {
295
+ &--left-addon {
296
+ @include utils.auto-rtl(
297
+ padding-left,
298
+ $addon-left-padding,
299
+ $horizontal-padding
300
+ );
301
+ }
300
302
  }
301
- }
302
303
 
303
- @if not $disable-right-addon {
304
- &--right-addon {
305
- @include utils.auto-rtl(
306
- padding-right,
307
- $addon-right-padding,
308
- $horizontal-padding
309
- );
304
+ @if not $disable-right-addon {
305
+ &--right-addon {
306
+ @include utils.auto-rtl(
307
+ padding-right,
308
+ $addon-right-padding,
309
+ $horizontal-padding
310
+ );
311
+ }
310
312
  }
311
- }
312
313
 
313
- @if not $disable-content {
314
- &__content {
315
- @include typography.text-overflow;
314
+ @if not $disable-content {
315
+ &__content {
316
+ @include typography.text-overflow;
316
317
 
317
- flex: 1 1 auto;
318
+ flex: 1 1 auto;
319
+ }
318
320
  }
319
321
  }
320
322
  }
@@ -100,168 +100,170 @@ $variables: (
100
100
  }
101
101
  }
102
102
 
103
- @mixin styles {
103
+ @mixin styles($disable-layer: false) {
104
104
  @if not $disable-everything {
105
- .rmd-dialog-container {
106
- @include use-var(z-index);
107
-
108
- align-items: center;
109
- display: flex;
110
- inset: 0;
111
- justify-content: center;
112
- margin: get-var(vertical-margin) get-var(horizontal-margin);
113
- margin-right: calc(
114
- #{get-var(horizontal-margin)} + #{utils.scrollbar-size()}
115
- );
116
- pointer-events: none;
117
- position: fixed;
118
- }
105
+ @include utils.optional-layer(dialog, $disable-layer) {
106
+ .rmd-dialog-container {
107
+ @include use-var(z-index);
119
108
 
120
- .rmd-dialog {
121
- @include box-shadows.box-shadow($elevation);
109
+ align-items: center;
110
+ display: flex;
111
+ inset: 0;
112
+ justify-content: center;
113
+ margin: get-var(vertical-margin) get-var(horizontal-margin);
114
+ margin-right: calc(
115
+ #{get-var(horizontal-margin)} + #{utils.scrollbar-size()}
116
+ );
117
+ pointer-events: none;
118
+ position: fixed;
119
+ }
122
120
 
123
- background-color: $background-color;
124
- color: $color;
125
- display: flex;
126
- flex-direction: column;
127
- max-height: 100%;
128
- max-width: 100%;
129
- outline: none;
121
+ .rmd-dialog {
122
+ @include box-shadows.box-shadow($elevation);
130
123
 
131
- &--centered {
132
- @include use-var(min-width);
124
+ background-color: $background-color;
125
+ color: $color;
126
+ display: flex;
127
+ flex-direction: column;
128
+ max-height: 100%;
129
+ max-width: 100%;
130
+ outline: none;
133
131
 
134
- pointer-events: auto;
135
- }
132
+ &--centered {
133
+ @include use-var(min-width);
136
134
 
137
- &--full-page {
138
- @include use-var(z-index);
135
+ pointer-events: auto;
136
+ }
139
137
 
140
- height: 100%;
141
- inset: 0;
142
- overflow: auto;
143
- position: fixed;
144
- width: 100%;
145
- }
138
+ &--full-page {
139
+ @include use-var(z-index);
146
140
 
147
- @if not $disable-focus-outline {
148
- // Note: Do not use the `interaction-outline` mixin +
149
- // `interaction.set-var(interaction.$focus-color)` like normal focus
150
- // elements since it'll make all focusable children update with the
151
- // outline color as well
152
- @if utils.$disable-focus-visible {
153
- @include utils.keyboard-only {
154
- &--outline:focus {
155
- outline: interaction.get-var(focus-color) solid
141
+ height: 100%;
142
+ inset: 0;
143
+ overflow: auto;
144
+ position: fixed;
145
+ width: 100%;
146
+ }
147
+
148
+ @if not $disable-focus-outline {
149
+ // Note: Do not use the `interaction-outline` mixin +
150
+ // `interaction.set-var(interaction.$focus-color)` like normal focus
151
+ // elements since it'll make all focusable children update with the
152
+ // outline color as well
153
+ @if utils.$disable-focus-visible {
154
+ @include utils.keyboard-only {
155
+ &--outline:focus {
156
+ outline: interaction.get-var(focus-color) solid
157
+ interaction.get-var(focus-width);
158
+ }
159
+ }
160
+ } @else {
161
+ &--outline:focus-visible {
162
+ outline: interaction.get-var(focus-color)
163
+ solid
156
164
  interaction.get-var(focus-width);
157
165
  }
158
166
  }
159
- } @else {
160
- &--outline:focus-visible {
161
- outline: interaction.get-var(focus-color)
162
- solid
163
- interaction.get-var(focus-width);
164
- }
165
167
  }
166
- }
167
-
168
- &--enter {
169
- transform: translateY($transition-distance);
170
- }
171
-
172
- &--enter-active {
173
- transform: translateY(0);
174
- transition: transform $enter-duration;
175
- transition-timing-function: $enter-timing-function;
176
- }
177
-
178
- &--exit {
179
- opacity: 1;
180
- transform: translateY(0);
181
- transition:
182
- transform $leave-duration,
183
- opacity $leave-duration;
184
- transition-timing-function: $leave-timing-function;
185
- }
186
168
 
187
- &--exit-active {
188
- opacity: 0;
189
- transform: translateY($transition-distance);
190
- }
169
+ &--enter {
170
+ transform: translateY($transition-distance);
171
+ }
191
172
 
192
- @if not $disable-fixed {
193
- &--fixed {
194
- @include use-var(z-index);
173
+ &--enter-active {
174
+ transform: translateY(0);
175
+ transition: transform $enter-duration;
176
+ transition-timing-function: $enter-timing-function;
195
177
  }
196
- }
197
178
 
198
- @if not $disable-header {
199
- &__header {
200
- @include use-var(padding, header-padding);
201
- @include use-var(padding-bottom, header-padding-bottom);
179
+ &--exit {
180
+ opacity: 1;
181
+ transform: translateY(0);
182
+ transition:
183
+ transform $leave-duration,
184
+ opacity $leave-duration;
185
+ transition-timing-function: $leave-timing-function;
186
+ }
202
187
 
203
- align-items: center;
204
- display: flex;
205
- flex: 0 0 auto;
188
+ &--exit-active {
189
+ opacity: 0;
190
+ transform: translateY($transition-distance);
206
191
  }
207
- }
208
192
 
209
- @if not $disable-title {
210
- &__title {
211
- // this makes it so it's easy to add a close button after the title
212
- flex: 1 1 auto;
193
+ @if not $disable-fixed {
194
+ &--fixed {
195
+ @include use-var(z-index);
196
+ }
213
197
  }
214
- }
215
198
 
216
- @if not $disable-content {
217
- &__content {
218
- flex: 1 1 auto;
219
- overflow: auto;
199
+ @if not $disable-header {
200
+ &__header {
201
+ @include use-var(padding, header-padding);
202
+ @include use-var(padding-bottom, header-padding-bottom);
220
203
 
221
- &--padded {
222
- @include use-var(padding, content-padding);
204
+ align-items: center;
205
+ display: flex;
206
+ flex: 0 0 auto;
223
207
  }
224
208
  }
225
- }
226
209
 
227
- @if not $disable-footer {
228
- &__footer {
229
- @include use-var(padding, footer-padding);
210
+ @if not $disable-title {
211
+ &__title {
212
+ // this makes it so it's easy to add a close button after the title
213
+ flex: 1 1 auto;
214
+ }
215
+ }
230
216
 
231
- flex: 0 0 auto;
217
+ @if not $disable-content {
218
+ &__content {
219
+ flex: 1 1 auto;
220
+ overflow: auto;
232
221
 
233
- @if not
234
- $disable-footer-flex-vertical or not
235
- $disable-footer-flex-start or not
236
- $disable-footer-space-between or not
237
- $disable-footer-flex-end
238
- {
239
- &--flex {
240
- display: flex;
222
+ &--padded {
223
+ @include use-var(padding, content-padding);
241
224
  }
242
225
  }
226
+ }
243
227
 
244
- @if not $disable-footer-flex-vertical {
245
- &--flex-v {
246
- flex-direction: column;
228
+ @if not $disable-footer {
229
+ &__footer {
230
+ @include use-var(padding, footer-padding);
231
+
232
+ flex: 0 0 auto;
233
+
234
+ @if not
235
+ $disable-footer-flex-vertical or not
236
+ $disable-footer-flex-start or not
237
+ $disable-footer-space-between or not
238
+ $disable-footer-flex-end
239
+ {
240
+ &--flex {
241
+ display: flex;
242
+ }
247
243
  }
248
- }
249
244
 
250
- @if not $disable-footer-flex-start {
251
- &--start {
252
- justify-content: flex-start;
245
+ @if not $disable-footer-flex-vertical {
246
+ &--flex-v {
247
+ flex-direction: column;
248
+ }
253
249
  }
254
- }
255
250
 
256
- @if not $disable-footer-space-between {
257
- &--between {
258
- justify-content: space-between;
251
+ @if not $disable-footer-flex-start {
252
+ &--start {
253
+ justify-content: flex-start;
254
+ }
255
+ }
256
+
257
+ @if not $disable-footer-space-between {
258
+ &--between {
259
+ justify-content: space-between;
260
+ }
259
261
  }
260
- }
261
262
 
262
- @if not $disable-footer-flex-end {
263
- &--end {
264
- justify-content: flex-end;
263
+ @if not $disable-footer-flex-end {
264
+ &--end {
265
+ justify-content: flex-end;
266
+ }
265
267
  }
266
268
  }
267
269
  }
@@ -85,36 +85,38 @@ $variables: (
85
85
  }
86
86
  }
87
87
 
88
- @mixin styles {
88
+ @mixin styles($disable-layer: false) {
89
89
  @if not $disable-everything {
90
- @include theme.default-system-theme {
91
- @include use-dark-theme;
92
- }
90
+ @include utils.optional-layer(divider, $disable-layer) {
91
+ @include theme.default-system-theme {
92
+ @include use-dark-theme;
93
+ }
93
94
 
94
- .rmd-divider {
95
- @include use-var(margin, spacing);
96
- @include use-var(width, max-size);
95
+ .rmd-divider {
96
+ @include use-var(margin, spacing);
97
+ @include use-var(width, max-size);
97
98
 
98
- border: get-var(size) solid get-var(color);
99
- display: block;
100
- flex-shrink: 0;
99
+ border: get-var(size) solid get-var(color);
100
+ display: block;
101
+ flex-shrink: 0;
101
102
 
102
- @if not $disable-inset {
103
- &--inset {
104
- @include utils.auto-rtl(margin-left, get-var(inset), auto);
103
+ @if not $disable-inset {
104
+ &--inset {
105
+ @include utils.auto-rtl(margin-left, get-var(inset), auto);
105
106
 
106
- width: calc(get-var(max-size) - get-var(inset));
107
+ width: calc(get-var(max-size) - get-var(inset));
108
+ }
107
109
  }
108
- }
109
110
 
110
- @if not $disable-vertical {
111
- &--vertical {
112
- @include border-style(left);
113
- @include use-var(height, max-size);
114
- @include use-var(width, size);
115
- @include use-var(margin, vertical-spacing);
111
+ @if not $disable-vertical {
112
+ &--vertical {
113
+ @include border-style(left);
114
+ @include use-var(height, max-size);
115
+ @include use-var(width, size);
116
+ @include use-var(margin, vertical-spacing);
116
117
 
117
- display: inline-block;
118
+ display: inline-block;
119
+ }
118
120
  }
119
121
  }
120
122
  }
@@ -1,23 +1,27 @@
1
+ @use "../utils";
2
+
1
3
  $disable-everything: false !default;
2
4
  $disable-horizontal: false !default;
3
5
  $disable-vertical: false !default;
4
6
 
5
- @mixin styles {
7
+ @mixin styles($disable-layer: false) {
6
8
  @if not $disable-everything {
7
- .rmd-dragging {
8
- * {
9
- pointer-events: none;
10
- }
9
+ @include utils.optional-layer(draggable, $disable-layer) {
10
+ .rmd-dragging {
11
+ * {
12
+ pointer-events: none;
13
+ }
11
14
 
12
- @if not $disable-horizontal {
13
- &--h {
14
- cursor: col-resize;
15
+ @if not $disable-horizontal {
16
+ &--h {
17
+ cursor: col-resize;
18
+ }
15
19
  }
16
- }
17
20
 
18
- @if not $disable-vertical {
19
- &--v {
20
- cursor: row-resize;
21
+ @if not $disable-vertical {
22
+ &--v {
23
+ cursor: row-resize;
24
+ }
21
25
  }
22
26
  }
23
27
  }