@redseed/redseed-ui-tailwindcss 7.31.0 → 7.33.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.
@@ -100,6 +100,13 @@
100
100
  @apply focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-border-primary outline-hidden;
101
101
  }
102
102
 
103
+ /* Persistent selection ring for the pressed/current state. The ring (a shape
104
+ boundary, present vs absent) conveys the active state without relying on
105
+ colour alone (WCAG 1.4.1). */
106
+ .rsui-card__action-layer--active {
107
+ @apply ring-2 ring-offset-2 ring-brand-500;
108
+ }
109
+
103
110
  .rsui-card__action-layer-label {
104
111
  @apply sr-only;
105
112
  }
@@ -17,3 +17,7 @@
17
17
  .rsui-loader--white path {
18
18
  @apply fill-background-primary;
19
19
  }
20
+
21
+ .rsui-loader__label {
22
+ @apply sr-only;
23
+ }
@@ -36,4 +36,8 @@
36
36
 
37
37
  .rsui-message-box__close-icon {
38
38
  @apply size-10 cursor-pointer rounded-lg flex items-center justify-center hover:bg-border-secondary transition duration-200;
39
+ /* Reset native <button> chrome so it matches the prior inline affordance ... */
40
+ @apply bg-transparent border-0 p-0;
41
+ /* ... while keeping a visible keyboard focus ring (lib convention). */
42
+ @apply outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-border-primary;
39
43
  }
@@ -16,6 +16,10 @@
16
16
 
17
17
  .rsui-meta-info__help {
18
18
  @apply flex items-center justify-center text-text-secondary size-4 cursor-pointer;
19
+ /* Reset native <button> chrome so it matches the prior inline affordance ... */
20
+ @apply bg-transparent border-0 p-0 rounded outline-hidden;
21
+ /* ... while keeping a visible keyboard focus ring (lib convention). */
22
+ @apply focus-visible:ring-offset-2 focus-visible:ring-2 focus-visible:ring-border-primary;
19
23
  }
20
24
 
21
25
  .rsui-meta-info__value {
@@ -31,4 +31,10 @@
31
31
 
32
32
  .rsui-metric-card__label {
33
33
  @apply text-text-tertiary text-base font-semibold;
34
+ }
35
+
36
+ /* Active/selected toggle state. The Card action layer supplies the non-colour
37
+ selection ring (WCAG 1.4.1); the brand number is colour reinforcement only. */
38
+ .rsui-metric-card--active .rsui-metric-card__number {
39
+ @apply text-text-brand;
34
40
  }
@@ -24,10 +24,15 @@
24
24
  }
25
25
 
26
26
  .rsui-section-header__title {
27
- @apply text-2xl font-bold line-clamp-2 md:line-clamp-1 text-text-primary;
28
27
  @apply flex items-center gap-space-xs;
29
28
  }
30
29
 
30
+ .rsui-section-header__title-text {
31
+ @apply text-2xl font-bold line-clamp-2 md:line-clamp-1 text-text-primary;
32
+ /* Reset heading UA margins so an <h1>-<h6> title matches the previous <div> */
33
+ @apply m-0 min-w-0;
34
+ }
35
+
31
36
  .rsui-section-header__badge {
32
37
  @apply ml-space-xs flex items-center;
33
38
  }
@@ -10,7 +10,7 @@
10
10
  @apply bg-brand-600;
11
11
  }
12
12
 
13
- .rsui-section-slider--featured .rsui-section-header__title {
13
+ .rsui-section-slider--featured .rsui-section-header__title-text {
14
14
  @apply text-white;
15
15
  }
16
16
 
@@ -2,6 +2,10 @@
2
2
  @apply w-full;
3
3
  }
4
4
 
5
+ .rsui-skeleton__label {
6
+ @apply sr-only;
7
+ }
8
+
5
9
  .rsui-skeleton--full {
6
10
  @apply w-full;
7
11
  }
package/components/th.css CHANGED
@@ -48,14 +48,44 @@
48
48
  }
49
49
 
50
50
  .rsui-th--sortable {
51
- @apply cursor-pointer;
52
- @apply focus-visible:outline-2 focus-visible:outline-border-primary;
51
+ /* Strip cell-level padding so the inner button can own the full click area.
52
+ Without this, pointer events on the th padding area don't reach the button,
53
+ breaking the advertised cursor-pointer target. Button gets matching padding. */
54
+ @apply cursor-pointer p-0;
53
55
  }
54
56
 
55
57
  .rsui-th__content {
56
58
  @apply inline-flex gap-1 items-center;
57
59
  }
58
60
 
61
+ /* Sortable header trigger — a real <button> reset to match the header text,
62
+ so it reads as activatable to AT while looking identical to a plain header.
63
+ flex + w-full + py-3/px-5 make the button fill the entire cell (including the
64
+ padding area that .rsui-th strips above), so every pixel of the cell is a
65
+ valid click target. Focus ring lives here (the th itself is no longer focusable).
66
+ Default justify-start matches the base left-aligned header. */
67
+ .rsui-th__button {
68
+ @apply flex w-full gap-1 items-center justify-start;
69
+ @apply py-3 px-5 cursor-pointer m-0;
70
+ @apply focus-visible:outline-2 focus-visible:outline-border-primary;
71
+ font: inherit;
72
+ color: inherit;
73
+ background: none;
74
+ border: 0;
75
+ text-align: inherit;
76
+ }
77
+
78
+ /* Honor column alignment inside sortable-header buttons.
79
+ The full-width button keeps the click area; justify-* repositions
80
+ the label+icon group within that area to match the column alignment. */
81
+ .rsui-th--center .rsui-th__button {
82
+ @apply justify-center;
83
+ }
84
+
85
+ .rsui-th--right .rsui-th__button {
86
+ @apply justify-end;
87
+ }
88
+
59
89
  .rsui-th__sort {
60
90
  @apply shrink-0 flex items-center justify-center;
61
91
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redseed/redseed-ui-tailwindcss",
3
- "version": "7.31.0",
3
+ "version": "7.33.0",
4
4
  "description": "RedSeed UI Tailwindcss",
5
5
  "main": "index.js",
6
6
  "style": "index.css",
@@ -12,7 +12,7 @@
12
12
  "author": "",
13
13
  "license": "ISC",
14
14
  "dependencies": {
15
- "@tailwindcss/vite": "4.2.2",
16
- "tailwindcss": "4.2.2"
15
+ "@tailwindcss/vite": "4.3.0",
16
+ "tailwindcss": "4.3.0"
17
17
  }
18
18
  }