@auronui/styles 1.0.21 → 1.0.23

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.
@@ -53,17 +53,9 @@
53
53
  }
54
54
 
55
55
  .color-slider__track {
56
- @apply relative rounded-full;
56
+ @apply relative;
57
57
 
58
58
  grid-area: track;
59
- /* Edge cap pseudo-elements */
60
- &::before,
61
- &::after {
62
- content: "";
63
- position: absolute;
64
- z-index: 0;
65
- pointer-events: none;
66
- }
67
59
  }
68
60
 
69
61
  .color-slider__thumb {
@@ -118,44 +110,12 @@
118
110
  flex-direction: column;
119
111
 
120
112
  .color-slider__track {
121
- @apply h-5 justify-self-center rounded-none;
122
- width: calc(100% - 1.25rem);
113
+ @apply h-5 w-full;
123
114
 
124
115
  /* Default border for visibility against similar backgrounds */
125
116
  box-shadow:
126
117
  inset 0 1px 0 0 rgba(0, 0, 0, 0.1),
127
118
  inset 0 -1px 0 0 rgba(0, 0, 0, 0.1);
128
-
129
- /* Edge caps for horizontal orientation */
130
- &::before,
131
- &::after {
132
- @apply top-0 h-full;
133
- width: 0.625rem; /* Half thumb width + 2px gap */
134
- }
135
-
136
- &::before {
137
- left: -0.625rem;
138
- border-top-left-radius: 999px;
139
- border-bottom-left-radius: 999px;
140
- box-shadow:
141
- inset 1px 0 0 0 rgba(0, 0, 0, 0.1),
142
- inset 0 1px 0 0 rgba(0, 0, 0, 0.1),
143
- inset 0 -1px 0 0 rgba(0, 0, 0, 0.1);
144
- background:
145
- linear-gradient(var(--track-start-color, transparent)),
146
- repeating-conic-gradient(#efefef 0% 25%, #f7f7f7 0% 50%) 50% / 16px 16px;
147
- }
148
-
149
- &::after {
150
- right: -0.625rem;
151
- border-top-right-radius: 999px;
152
- border-bottom-right-radius: 999px;
153
- box-shadow:
154
- inset -1px 0 0 0 rgba(0, 0, 0, 0.1),
155
- inset 0 1px 0 0 rgba(0, 0, 0, 0.1),
156
- inset 0 -1px 0 0 rgba(0, 0, 0, 0.1);
157
- background-color: var(--track-end-color, transparent);
158
- }
159
119
  }
160
120
 
161
121
  .color-slider__thumb {
@@ -213,46 +173,12 @@
213
173
  }
214
174
 
215
175
  .color-slider__track {
216
- @apply w-5 justify-self-center rounded-none;
217
- height: calc(100% - 1.25rem);
176
+ @apply w-5 h-full justify-self-center;
218
177
 
219
178
  /* Left and right borders for vertical track */
220
179
  box-shadow:
221
180
  inset 1px 0 0 0 rgba(0, 0, 0, 0.1),
222
181
  inset -1px 0 0 0 rgba(0, 0, 0, 0.1);
223
-
224
- /* Edge caps for vertical orientation */
225
- &::before,
226
- &::after {
227
- @apply left-0 w-full;
228
- height: 0.625rem; /* Half thumb height + 2px gap */
229
- }
230
-
231
- &::before {
232
- bottom: -0.625rem;
233
- border-bottom-left-radius: 999px;
234
- border-bottom-right-radius: 999px;
235
- /* Left, right, and bottom borders for bottom cap */
236
- box-shadow:
237
- inset 1px 0 0 0 rgba(0, 0, 0, 0.1),
238
- inset -1px 0 0 0 rgba(0, 0, 0, 0.1),
239
- inset 0 -1px 0 0 rgba(0, 0, 0, 0.1);
240
- background:
241
- linear-gradient(var(--track-start-color, transparent)),
242
- repeating-conic-gradient(#efefef 0% 25%, #f7f7f7 0% 50%) 50% / 16px 16px;
243
- }
244
-
245
- &::after {
246
- top: -0.625rem;
247
- border-top-left-radius: 999px;
248
- border-top-right-radius: 999px;
249
- /* Left, right, and top borders for top cap */
250
- box-shadow:
251
- inset 1px 0 0 0 rgba(0, 0, 0, 0.1),
252
- inset -1px 0 0 0 rgba(0, 0, 0, 0.1),
253
- inset 0 1px 0 0 rgba(0, 0, 0, 0.1);
254
- background-color: var(--track-end-color, transparent);
255
- }
256
182
  }
257
183
 
258
184
  .color-slider__thumb {
@@ -53,7 +53,7 @@
53
53
  .date-time-picker__popover {
54
54
  z-index: var(--z-popover);
55
55
  @apply origin-(--trigger-anchor-point) overflow-hidden bg-overlay p-0;
56
- min-width: 17rem;
56
+ min-width: 24rem;
57
57
  box-shadow: var(--shadow-overlay);
58
58
  border-radius: calc(var(--radius) * 2.5);
59
59
 
@@ -88,107 +88,77 @@
88
88
  }
89
89
  }
90
90
 
91
- /* ─── Step header ─────────────────────────────────────────────────────────── */
91
+ /* ─── Side-by-side panel (calendar + time) ───────────────────────────────── */
92
92
 
93
- .date-time-picker__step-header {
94
- @apply flex items-center justify-between px-3 pt-3 pb-1;
93
+ .date-time-picker__panel {
94
+ @apply flex items-stretch;
95
95
  }
96
96
 
97
- .date-time-picker__step-title {
98
- @apply flex flex-1 items-center justify-center text-center text-xs font-medium select-none;
97
+ /* Pad the calendar to match the standalone DatePicker's popover padding (p-3),
98
+ so the calendar inside the side-by-side panel has the same breathing room. */
99
+ .date-time-picker__calendar-pane {
100
+ @apply p-3;
99
101
  }
100
102
 
101
- .date-time-picker__nav-button {
102
- @apply flex size-6 items-center justify-center rounded-full bg-transparent text-accent outline-none no-highlight;
103
- appearance: none;
104
- -webkit-appearance: none;
105
- border: none;
106
- padding: 0;
107
- cursor: var(--cursor-interactive);
108
- will-change: scale;
109
- transition:
110
- transform 300ms var(--ease-out),
111
- background-color 300ms var(--ease-out),
112
- box-shadow 300ms var(--ease-out),
113
- opacity 300ms var(--ease-out);
114
- @apply transform-gpu motion-reduce:transition-none;
115
-
116
- @media (hover: hover) {
117
- &:hover {
118
- @apply bg-default text-accent;
119
- }
120
- }
121
-
122
- &:active {
123
- transform: scale(0.95);
124
- }
125
-
126
- &:focus-visible {
127
- @apply status-focused;
128
- }
129
-
130
- &[data-hidden="true"] {
131
- @apply invisible pointer-events-none;
132
- }
103
+ /* Time column = wheels stacked above the Done button. The pane stretches to the
104
+ calendar height (panel items-stretch); mt-auto pins Done to the bottom so it
105
+ lines up with the calendar's bottom edge — no full-width footer row needed. */
106
+ .date-time-picker__time-pane {
107
+ @apply flex flex-col;
133
108
  }
134
109
 
135
- .date-time-picker__done-label {
136
- @apply text-xs font-medium px-1;
137
- color: var(--color-accent);
110
+ .date-time-picker__time-done {
111
+ @apply flex justify-end px-3 pb-3 pt-1 mt-auto;
138
112
  }
139
113
 
140
- /* ─── Panel wrap (clips sliding panels) ──────────────────────────────────── */
141
-
142
- .date-time-picker__panel-wrap {
143
- @apply relative overflow-hidden;
144
- min-height: 16rem;
114
+ .date-time-picker__divider {
115
+ @apply w-px self-stretch my-3;
116
+ background-color: var(--color-border);
145
117
  }
146
118
 
147
- /* ─── Time scroller ───────────────────────────────────────────────────────── */
119
+ /* ─── Time scroller (infinite circular wheels, tap to select) ─────────────── */
148
120
 
149
121
  .date-time-picker__scroller-wrap {
150
- @apply flex items-stretch justify-center gap-0 px-3 pb-4;
151
- position: relative;
152
-
153
- &::before {
154
- content: '';
155
- @apply absolute inset-x-3 rounded-lg bg-default pointer-events-none;
156
- height: 2.5rem;
157
- top: 50%;
158
- transform: translateY(-50%);
159
- z-index: 0;
160
- }
122
+ /* flex-none so it keeps its intrinsic column width and never collapses
123
+ when sitting next to the calendar in the side-by-side panel.
124
+ items-center vertically centers the fixed-height wheels against the
125
+ (usually taller) calendar. */
126
+ @apply flex flex-none items-center justify-center gap-1 px-3 py-3;
161
127
  }
162
128
 
163
129
  .date-time-picker__scroller-column {
164
- @apply flex-1 relative z-10;
165
- overflow-y: scroll;
130
+ /* Fixed width AND a definite height — the height bounds the scroll
131
+ viewport so the repeated items overflow-scroll instead of expanding
132
+ the whole popover. ~matches the calendar block height. */
133
+ @apply flex-none w-12;
134
+ height: 14rem;
135
+ overflow-y: auto;
166
136
  -webkit-overflow-scrolling: touch;
167
137
  touch-action: pan-y;
168
- scroll-snap-type: y mandatory;
169
138
  overscroll-behavior: contain;
170
- height: 10rem;
171
- padding-top: calc((10rem - 2.5rem) / 2);
172
- padding-bottom: calc((10rem - 2.5rem) / 2);
173
139
 
174
140
  scrollbar-width: none;
175
141
 
176
142
  &::-webkit-scrollbar {
177
143
  display: none;
178
144
  }
145
+
146
+ &:focus-visible {
147
+ @apply outline-none;
148
+ }
179
149
  }
180
150
 
181
151
  .date-time-picker__scroller-item {
182
- scroll-snap-align: center;
183
152
  height: 2.5rem;
184
- @apply flex items-center justify-center text-sm select-none cursor-pointer;
153
+ @apply flex items-center justify-center text-sm select-none cursor-pointer rounded-lg;
185
154
  color: var(--color-muted-foreground);
186
- transition: color 150ms var(--ease-smooth);
155
+ transition:
156
+ color 150ms var(--ease-smooth),
157
+ background-color 150ms var(--ease-smooth);
187
158
  @apply motion-reduce:transition-none;
188
159
 
189
160
  &[data-selected="true"] {
190
- @apply font-medium;
191
- color: var(--color-foreground);
161
+ @apply bg-accent text-accent-foreground font-medium;
192
162
  }
193
163
 
194
164
  &[data-disabled="true"] {
@@ -197,7 +167,7 @@
197
167
 
198
168
  @media (hover: hover) {
199
169
  &:hover:not([data-selected="true"]) {
200
- color: var(--color-foreground);
170
+ @apply bg-default text-foreground;
201
171
  }
202
172
  }
203
173
  }
@@ -35,8 +35,10 @@
35
35
  }
36
36
 
37
37
  .progress-bar__fill {
38
- @apply absolute top-0 left-0 h-full rounded-full w-full;
38
+ @apply absolute top-0 left-0 h-full rounded-full;
39
39
 
40
+ /* Width is driven by the CSS custom property set from JS */
41
+ width: var(--progress-bar-value, 0%);
40
42
  background-color: var(--progress-bar-fill);
41
43
 
42
44
  /**
@@ -47,9 +49,10 @@
47
49
  @apply motion-reduce:transition-none;
48
50
  }
49
51
 
50
- /* Indeterminate state - when no aria-valuenow is set */
51
- .progress-bar__fill[data-state="indeterminate"] {
52
- @apply w-2/5;
52
+ /* Indeterminate state — Reka sets data-state="indeterminate" when modelValue is null */
53
+ .progress-bar__fill[data-state="indeterminate"],
54
+ .progress-bar__fill--indeterminate {
55
+ width: 40%;
53
56
 
54
57
  animation: progress-bar-indeterminate 1.5s cubic-bezier(0.65, 0, 0.35, 1) infinite;
55
58
 
@@ -109,6 +112,14 @@
109
112
  --progress-bar-fill: var(--color-default-foreground);
110
113
  }
111
114
 
115
+ .progress-bar--primary {
116
+ --progress-bar-fill: var(--color-primary);
117
+ }
118
+
119
+ .progress-bar--secondary {
120
+ --progress-bar-fill: var(--color-secondary);
121
+ }
122
+
112
123
  .progress-bar--accent {
113
124
  --progress-bar-fill: var(--color-accent);
114
125
  }
@@ -27,7 +27,7 @@
27
27
  }
28
28
 
29
29
  .slider__fill {
30
- @apply pointer-events-none absolute rounded-full bg-accent;
30
+ @apply pointer-events-none absolute bg-accent;
31
31
  }
32
32
 
33
33
  .slider__thumb {
@@ -91,7 +91,8 @@
91
91
  flex-direction: column;
92
92
 
93
93
  .slider__track {
94
- @apply h-5 w-full overflow-visible;
94
+ /* overflow-hidden clips the fill to the rounded track shape; thumb is a sibling so it is unaffected */
95
+ @apply h-5 w-full overflow-hidden;
95
96
  }
96
97
 
97
98
  .slider__fill {
@@ -132,7 +133,7 @@
132
133
  }
133
134
 
134
135
  .slider__track {
135
- @apply h-full w-5 overflow-visible;
136
+ @apply h-full w-5 overflow-hidden;
136
137
  justify-self: center;
137
138
  }
138
139
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@auronui/styles",
3
- "version": "1.0.21",
3
+ "version": "1.0.23",
4
4
  "description": "Auron core styles — adapted for Reka UI",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -8,11 +8,11 @@ export const dateTimePickerVariants = tv({
8
8
  popover: "date-time-picker__popover",
9
9
  trigger: "date-time-picker__trigger",
10
10
  triggerIndicator: "date-time-picker__trigger-indicator",
11
- stepHeader: "date-time-picker__step-header",
12
- navButton: "date-time-picker__nav-button",
13
- stepTitle: "date-time-picker__step-title",
14
- doneLabel: "date-time-picker__done-label",
15
- panelWrap: "date-time-picker__panel-wrap",
11
+ panel: "date-time-picker__panel",
12
+ calendarPane: "date-time-picker__calendar-pane",
13
+ divider: "date-time-picker__divider",
14
+ timePane: "date-time-picker__time-pane",
15
+ timeDone: "date-time-picker__time-done",
16
16
  scrollerWrap: "date-time-picker__scroller-wrap",
17
17
  scrollerColumn: "date-time-picker__scroller-column",
18
18
  scrollerItem: "date-time-picker__scroller-item",
@@ -17,30 +17,30 @@ export const progressBarVariants = tv({
17
17
  label: "progress-bar__label text-sm font-medium text-foreground",
18
18
  value: "progress-bar__value text-sm font-medium text-foreground",
19
19
  track: "progress-bar__track",
20
- indicator: "progress-bar__indicator transition-transform duration-300 ease-out",
20
+ indicator: "progress-bar__fill",
21
21
  },
22
22
  variants: {
23
23
  color: {
24
24
  default: {
25
- indicator: "bg-default-400 progress-bar--default",
25
+ base: "progress-bar--default",
26
26
  },
27
27
  primary: {
28
- indicator: "bg-primary progress-bar--primary",
28
+ base: "progress-bar--primary",
29
29
  },
30
30
  secondary: {
31
- indicator: "bg-secondary progress-bar--secondary",
31
+ base: "progress-bar--secondary",
32
32
  },
33
33
  success: {
34
- indicator: "bg-success progress-bar--success",
34
+ base: "progress-bar--success",
35
35
  },
36
36
  warning: {
37
- indicator: "bg-warning progress-bar--warning",
37
+ base: "progress-bar--warning",
38
38
  },
39
39
  danger: {
40
- indicator: "bg-danger progress-bar--danger",
40
+ base: "progress-bar--danger",
41
41
  },
42
42
  accent: {
43
- indicator: "bg-primary progress-bar--accent",
43
+ base: "progress-bar--accent",
44
44
  },
45
45
  },
46
46
  size: {
@@ -78,12 +78,13 @@ export const progressBarVariants = tv({
78
78
  },
79
79
  isStriped: {
80
80
  true: {
81
- indicator: "progress-bar__indicator--striped",
81
+ indicator: "progress-bar__fill--striped",
82
82
  },
83
83
  },
84
84
  isIndeterminate: {
85
85
  true: {
86
- indicator: "progress-bar__indicator--indeterminate animate-indeterminate",
86
+ // data-state="indeterminate" (set by Reka) drives the CSS animation
87
+ indicator: "progress-bar__fill--indeterminate",
87
88
  },
88
89
  },
89
90
  isDisabled: {
@@ -61,6 +61,12 @@
61
61
  --default: oklch(94% 0.001 286.375);
62
62
  --default-foreground: var(--eclipse);
63
63
 
64
+ --primary: oklch(0.55 0.2 262);
65
+ --primary-foreground: var(--snow);
66
+
67
+ --secondary: oklch(0.55 0.22 305);
68
+ --secondary-foreground: var(--snow);
69
+
64
70
  --accent: oklch(0.6204 0.195 253.83);
65
71
  --accent-foreground: var(--snow);
66
72
 
@@ -17,6 +17,12 @@
17
17
 
18
18
  --color-muted: var(--muted);
19
19
 
20
+ --color-primary: var(--primary);
21
+ --color-primary-foreground: var(--primary-foreground);
22
+
23
+ --color-secondary: var(--secondary);
24
+ --color-secondary-foreground: var(--secondary-foreground);
25
+
20
26
  --color-accent: var(--accent);
21
27
  --color-accent-foreground: var(--accent-foreground);
22
28