@redseed/redseed-ui-tailwindcss 7.30.1 → 7.31.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.
@@ -1,3 +1,14 @@
1
+ /* The picker uses a ButtonTertiary trigger on desktop and a ButtonSecondary
2
+ trigger on mobile so the affordance reads as tappable on touch devices
3
+ (where the tertiary's hover border never fires). */
4
+ .rsui-column-picker__trigger--desktop {
5
+ @apply hidden md:inline-flex;
6
+ }
7
+
8
+ .rsui-column-picker__trigger--mobile {
9
+ @apply inline-flex md:hidden;
10
+ }
11
+
1
12
  .rsui-column-picker__count {
2
13
  @apply inline-flex items-center px-1.5 ml-1 text-xs rounded-md bg-background-disabled text-text-secondary;
3
14
  }
@@ -7,25 +18,30 @@
7
18
  }
8
19
 
9
20
  .rsui-column-picker__item {
10
- @apply flex items-center gap-2.5 px-2 py-1.5 rounded-md cursor-pointer text-sm text-text-primary;
21
+ @apply flex items-center px-2 py-1.5 rounded-md cursor-pointer text-sm text-text-primary;
11
22
  @apply hover:bg-background-secondary;
12
23
  @apply focus-visible:bg-background-secondary focus-visible:outline-none;
13
24
  }
14
25
 
15
- .rsui-column-picker__check {
16
- @apply shrink-0 flex items-center justify-center;
17
- @apply w-4 h-4 rounded border border-border-primary bg-background-primary;
18
- @apply transition-colors;
26
+ .rsui-column-picker__item--disabled {
27
+ @apply cursor-default text-text-disabled;
28
+ @apply hover:bg-transparent;
19
29
  }
20
30
 
21
- .rsui-column-picker__check svg {
22
- @apply w-3 h-3 stroke-[3] text-text-primary;
31
+ /* The checkbox is presentational (the row is the control), so the wrapper
32
+ carries the row's pointer cursor across the whole item. */
33
+ .rsui-column-picker__checkbox {
34
+ @apply contents;
23
35
  }
24
36
 
25
- .rsui-column-picker__check--on {
26
- @apply border-text-primary;
37
+ /* Vertically centre the checkbox against its single-line label in the dense
38
+ menu row (the form-field default top-aligns for multi-line labels). */
39
+ .rsui-column-picker__item .rsui-form-field-checkbox__checkbox {
40
+ @apply items-center;
27
41
  }
28
42
 
29
- .rsui-column-picker__label {
30
- @apply leading-none;
43
+ /* Required columns pass `disabled` to the checkbox (native locked styling);
44
+ also grey the label so the whole row reads as locked. */
45
+ .rsui-column-picker__item--disabled .rsui-form-field-checkbox__label {
46
+ @apply text-text-disabled;
31
47
  }
@@ -20,5 +20,51 @@
20
20
  }
21
21
 
22
22
  .rsui-form-field-checkbox__check svg {
23
- @apply size-full relative z-1 pointer-events-none;
23
+ @apply size-full relative z-1 pointer-events-none stroke-[2.5] origin-center;
24
+ /* Short, cute draw-on: the tick strokes itself in with a tiny pop.
25
+ dasharray is set a touch above the check path length so the resting
26
+ state has no gap. Disabled under reduced-motion below. */
27
+ stroke-dasharray: 30;
28
+ animation: rsui-checkbox-tick 200ms ease-out;
29
+ }
30
+
31
+ @keyframes rsui-checkbox-tick {
32
+ 0% { stroke-dashoffset: 30; transform: scale(0.8); }
33
+ 60% { transform: scale(1.06); }
34
+ 100% { stroke-dashoffset: 0; transform: scale(1); }
35
+ }
36
+
37
+ @media (prefers-reduced-motion: reduce) {
38
+ .rsui-form-field-checkbox__check svg {
39
+ animation: none;
40
+ stroke-dasharray: none;
41
+ }
42
+ }
43
+
44
+ /* Smaller variants — for dense surfaces like the table column picker dropdown.
45
+ Sizes follow the system scale: sm = 16px, xs = 12px (default is 24px).
46
+ Declared after the base rules so they win on equal specificity; the radius
47
+ is also set on the input, since the input draws the visible bordered box. */
48
+ .rsui-form-field-checkbox__check--sm {
49
+ @apply size-4 rounded-md;
50
+ }
51
+
52
+ .rsui-form-field-checkbox__check--sm input[type="checkbox"] {
53
+ @apply rounded-md;
54
+ }
55
+
56
+ .rsui-form-field-checkbox__label--sm {
57
+ @apply leading-5 text-sm;
58
+ }
59
+
60
+ .rsui-form-field-checkbox__check--xs {
61
+ @apply size-3 rounded;
62
+ }
63
+
64
+ .rsui-form-field-checkbox__check--xs input[type="checkbox"] {
65
+ @apply rounded;
66
+ }
67
+
68
+ .rsui-form-field-checkbox__label--xs {
69
+ @apply leading-4 text-xs;
24
70
  }
package/components/td.css CHANGED
@@ -18,3 +18,29 @@
18
18
  .rsui-td--fixed {
19
19
  @apply whitespace-normal overflow-auto overscroll-auto;
20
20
  }
21
+
22
+ /* Pinned body cell — sticks to the left during horizontal scroll.
23
+ Background must be opaque so scrolled content doesn't show through;
24
+ matches the row hover bg when the row is clickable. */
25
+ .rsui-td--pinned {
26
+ position: sticky;
27
+ left: 0;
28
+ z-index: 1;
29
+ background-color: var(--color-background-primary);
30
+ }
31
+
32
+ .rsui-td--pinned::after {
33
+ content: '';
34
+ position: absolute;
35
+ top: 0;
36
+ right: 0;
37
+ bottom: 0;
38
+ width: 1px;
39
+ background-color: var(--color-border-primary);
40
+ pointer-events: none;
41
+ }
42
+
43
+ .rsui-tr--clickable:hover .rsui-td--pinned,
44
+ .rsui-tr--clickable:focus-visible .rsui-td--pinned {
45
+ background-color: var(--color-background-disabled);
46
+ }
package/components/th.css CHANGED
@@ -67,3 +67,24 @@
67
67
  .rsui-th__sort-icon--desc {
68
68
  @apply rotate-180;
69
69
  }
70
+
71
+ /* Pinned header cell — stays put during horizontal scroll.
72
+ Opaque header bg so scrolled-under cells don't show through.
73
+ Subtle right-edge separator marks the scroll boundary. */
74
+ .rsui-th--pinned {
75
+ position: sticky;
76
+ left: 0;
77
+ z-index: 1;
78
+ background-color: var(--color-background-disabled);
79
+ }
80
+
81
+ .rsui-th--pinned::after {
82
+ content: '';
83
+ position: absolute;
84
+ top: 0;
85
+ right: 0;
86
+ bottom: 0;
87
+ width: 1px;
88
+ background-color: var(--color-border-primary);
89
+ pointer-events: none;
90
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redseed/redseed-ui-tailwindcss",
3
- "version": "7.30.1",
3
+ "version": "7.31.0",
4
4
  "description": "RedSeed UI Tailwindcss",
5
5
  "main": "index.js",
6
6
  "style": "index.css",