maverick-wave 6.2.0 → 6.3.0

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.
@@ -516,9 +516,11 @@
516
516
  @include tappable;
517
517
  @include focus-ring-inset;
518
518
 
519
- // A pill by padding: an icon font's own display cannot push the glyph aside
519
+ // A pill by padding: an icon font's own display cannot push the glyph aside.
520
+ // `.mw-icon` for a wrapper around the SVG, such as a component's host.
520
521
  > i,
521
- > svg {
522
+ > svg,
523
+ > .mw-icon {
522
524
  padding: 0.35rem 1.1rem;
523
525
  border-radius: radius-sharp() radius('lg') radius-sharp() radius('lg');
524
526
  font-size: font-size('md');
@@ -556,7 +558,7 @@
556
558
  &[aria-current='page'] {
557
559
  color: var(--mw-primary-text-color);
558
560
 
559
- > :is(i, svg) {
561
+ > :is(i, svg, .mw-icon) {
560
562
  background: var(--mw-primary-background);
561
563
  }
562
564
  }
@@ -564,7 +566,7 @@
564
566
  @include active {
565
567
  color: var(--mw-primary-text-color);
566
568
 
567
- > :is(i, svg) {
569
+ > :is(i, svg, .mw-icon) {
568
570
  background: var(--mw-primary-background);
569
571
  }
570
572
  }
@@ -502,13 +502,12 @@ $_control-size: 40px;
502
502
  }
503
503
  }
504
504
 
505
- // Profile button - a round avatar until there is room for the signed-in name
506
- // beside it
507
- .mw-profile-btn {
505
+ // The profile button and the round icon control beside it share one silhouette
506
+ .mw-profile-btn,
507
+ .mw-header-btn {
508
508
  display: inline-flex;
509
509
  align-items: center;
510
510
  justify-content: center;
511
- gap: spacing('3');
512
511
  height: $_control-size;
513
512
  width: $_control-size;
514
513
  padding: spacing('0');
@@ -519,23 +518,12 @@ $_control-size: 40px;
519
518
  cursor: pointer;
520
519
  transition: var(--mw-transition);
521
520
  flex-shrink: 0;
522
- max-width: 220px;
523
521
 
524
522
  @include tappable;
525
- @include touch-floor;
526
523
 
527
- // The avatar brings spacing of its own that would break the pill shape
528
- .mw-avatar {
529
- margin: spacing('0');
530
- box-shadow: none;
531
- border-width: 0;
532
- }
533
-
534
- &-name {
535
- font-size: font-size('sm');
536
- font-weight: font-weight('medium');
537
- line-height: 1.2;
538
- @include truncate;
524
+ // Round at the grown height too, not an upright oval
525
+ @include touch-floor {
526
+ min-width: 2.75rem;
539
527
  }
540
528
 
541
529
  &:hover:not(:disabled) {
@@ -549,6 +537,36 @@ $_control-size: 40px;
549
537
  opacity: 0.6;
550
538
  cursor: not-allowed;
551
539
  }
540
+ }
541
+
542
+ .mw-header-btn {
543
+ font-size: font-size('md');
544
+
545
+ > svg {
546
+ width: 1em;
547
+ height: 1em;
548
+ }
549
+ }
550
+
551
+ // Profile button - a round avatar until there is room for the signed-in name
552
+ // beside it
553
+ .mw-profile-btn {
554
+ gap: spacing('3');
555
+ max-width: 220px;
556
+
557
+ // The avatar brings spacing of its own that would break the pill shape
558
+ .mw-avatar {
559
+ margin: spacing('0');
560
+ box-shadow: none;
561
+ border-width: 0;
562
+ }
563
+
564
+ &-name {
565
+ font-size: font-size('sm');
566
+ font-weight: font-weight('medium');
567
+ line-height: 1.2;
568
+ @include truncate;
569
+ }
552
570
 
553
571
  > i,
554
572
  > svg,
@@ -42,6 +42,80 @@
42
42
  }
43
43
  }
44
44
 
45
+ // Fields are built full width - here they share a row, under the title until there is room
46
+ &-filters {
47
+ display: flex;
48
+ flex-wrap: wrap;
49
+ align-items: center;
50
+ gap: spacing('3');
51
+ order: 1;
52
+ flex: 1 1 100%;
53
+
54
+ .mw-input {
55
+ flex: 1 1 7rem;
56
+ width: auto;
57
+ }
58
+
59
+ .mw-select {
60
+ flex: 0 1 auto;
61
+ width: auto;
62
+ }
63
+
64
+ .mw-segmented {
65
+ flex: 1 0 100%;
66
+ }
67
+
68
+ @include media-up('sm') {
69
+ .mw-segmented {
70
+ flex: 0 1 auto;
71
+ }
72
+ }
73
+
74
+ @include media-up('lg') {
75
+ order: 0;
76
+ flex: 0 1 auto;
77
+ margin-left: auto;
78
+
79
+ .mw-input {
80
+ flex: none;
81
+ width: 14rem;
82
+ }
83
+ }
84
+ }
85
+
86
+ // For an app screen, where every line of header costs list rows
87
+ &-compact {
88
+ margin-bottom: spacing('4');
89
+ padding-bottom: spacing('3');
90
+
91
+ h1,
92
+ h2,
93
+ h3 {
94
+ font-size: font-size('md');
95
+ }
96
+
97
+ @include media-up('sm') {
98
+ margin-bottom: spacing('6');
99
+ padding-bottom: spacing('4');
100
+
101
+ h1,
102
+ h2,
103
+ h3 {
104
+ font-size: font-size('lg');
105
+ }
106
+ }
107
+ }
108
+
109
+ // Opaque, or rows shine through; not on a phone, where it would take a third of the screen
110
+ &-sticky {
111
+ @include media-up('sm') {
112
+ position: sticky;
113
+ top: var(--mw-header-height);
114
+ z-index: z-index('card');
115
+ background: var(--mw-page-background);
116
+ }
117
+ }
118
+
45
119
  &-plain {
46
120
  padding-bottom: spacing('0');
47
121
  border-bottom: none;
@@ -91,6 +91,11 @@
91
91
  overflow: hidden;
92
92
  }
93
93
 
94
+ // A field sized by its content in a row of controls - fields fill their column
95
+ .mw-w-auto {
96
+ width: auto;
97
+ }
98
+
94
99
  // Snap a horizontal strip so it comes to rest on an item instead of halfway
95
100
  // between two - a row of cards swiped through on a phone
96
101
  .mw-snap-x {
@@ -52,6 +52,8 @@
52
52
  .mw-theme-toggle,
53
53
  .mw-skip-link,
54
54
  .mw-toast-stack,
55
+ .mw-page-header-filters,
56
+ .mw-page-header-actions,
55
57
  .mw-hide-print {
56
58
  display: none;
57
59
  }
@@ -130,6 +130,11 @@
130
130
  @include hit-area(5px);
131
131
  }
132
132
 
133
+ // Already positioned in its ribbon, which is all the hit area needs
134
+ .mw-announcement > .mw-announcement-close {
135
+ position: absolute;
136
+ }
137
+
133
138
  // Edit and delete on a ticket. The 32px box stays - a 44px one would push
134
139
  // the assignee off the card footer - and the row carries the gap the two
135
140
  // grown hit areas need, or they overlap and a tap meant for edit deletes.