@machinemetrics/mm-react-components 0.2.3-3 → 0.2.3-5
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.
- package/README.md +6 -25
- package/dist/README.md +6 -25
- package/dist/components/ui/progress.d.ts +1 -0
- package/dist/components/ui/progress.d.ts.map +1 -1
- package/dist/docs/GETTING_STARTED.md +3 -5
- package/dist/main.d.ts +1 -2
- package/dist/main.d.ts.map +1 -1
- package/dist/mm-react-components.es.js.map +1 -1
- package/dist/mm-react-components.umd.js.map +1 -1
- package/dist/style.css +1 -0
- package/package.json +17 -7
- package/scripts/README.md +112 -112
- package/scripts/init.cjs +159 -0
- package/src/index.css +99 -489
- package/src/themes/carbide.css +379 -32
- package/dist/index.css +0 -527
- package/dist/themes/base.css +0 -536
- package/dist/themes/carbide.css +0 -1257
- package/dist/themes/complete.css +0 -8
- package/scripts/chakra-to-shadcn-migrator/README.md +0 -107
- package/src/themes/base.css +0 -536
- package/src/themes/complete.css +0 -8
package/src/index.css
CHANGED
|
@@ -1,527 +1,137 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
@import 'tw-animate-css';
|
|
1
|
+
/* =============================
|
|
2
|
+
PREVIEW-ONLY STYLES
|
|
3
|
+
============================= */
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
/* Import the consolidated Carbide theme */
|
|
6
|
+
@import './themes/carbide.css';
|
|
7
|
+
|
|
8
|
+
/* =============================
|
|
9
|
+
PREVIEW-SPECIFIC STYLES
|
|
10
|
+
============================= */
|
|
11
|
+
|
|
12
|
+
/* These styles are only for the preview application and should not be included in the library distribution */
|
|
13
|
+
|
|
14
|
+
/* Preview app specific overrides */
|
|
15
|
+
.preview-app {
|
|
16
|
+
/* Any preview-specific styles can go here */
|
|
8
17
|
}
|
|
9
18
|
|
|
10
|
-
|
|
11
|
-
|
|
19
|
+
/* Development-only styles */
|
|
20
|
+
.dev-only {
|
|
21
|
+
/* Development-specific styles */
|
|
12
22
|
}
|
|
13
23
|
|
|
14
|
-
|
|
15
|
-
|
|
24
|
+
/* =============================
|
|
25
|
+
PREVIEW-ONLY COMPONENT STYLES
|
|
26
|
+
============================= */
|
|
27
|
+
|
|
28
|
+
/* These styles are only used in the preview app and should not be in the library distribution */
|
|
29
|
+
|
|
30
|
+
/* Centralized overlay class to keep overlays consistent */
|
|
31
|
+
.mmc-overlay {
|
|
32
|
+
background-color: var(--overlay-bg);
|
|
33
|
+
-webkit-backdrop-filter: blur(4px);
|
|
34
|
+
backdrop-filter: blur(4px);
|
|
16
35
|
}
|
|
17
36
|
|
|
18
|
-
/*
|
|
19
|
-
@keyframes mm-
|
|
37
|
+
/* Animated ellipsis for in-progress labels */
|
|
38
|
+
@keyframes mm-ellipsis {
|
|
20
39
|
0% {
|
|
21
|
-
|
|
22
|
-
opacity: 0;
|
|
40
|
+
content: '';
|
|
23
41
|
}
|
|
24
|
-
|
|
25
|
-
|
|
42
|
+
33% {
|
|
43
|
+
content: '.';
|
|
26
44
|
}
|
|
27
|
-
|
|
28
|
-
|
|
45
|
+
66% {
|
|
46
|
+
content: '..';
|
|
29
47
|
}
|
|
30
48
|
100% {
|
|
31
|
-
|
|
32
|
-
opacity: 0;
|
|
49
|
+
content: '...';
|
|
33
50
|
}
|
|
34
51
|
}
|
|
35
|
-
|
|
36
|
-
|
|
52
|
+
.mmc-animated-ellipsis::after {
|
|
53
|
+
display: inline-block;
|
|
54
|
+
width: 16px;
|
|
55
|
+
text-align: left;
|
|
37
56
|
content: '';
|
|
38
|
-
|
|
39
|
-
inset: 0;
|
|
40
|
-
background: linear-gradient(
|
|
41
|
-
90deg,
|
|
42
|
-
transparent 0%,
|
|
43
|
-
rgba(255, 255, 255, 0.15) 50%,
|
|
44
|
-
transparent 100%
|
|
45
|
-
);
|
|
46
|
-
transform: translateX(-100%);
|
|
47
|
-
pointer-events: none;
|
|
48
|
-
animation: mm-progress-shimmer 2.4s ease-in-out infinite;
|
|
57
|
+
animation: mm-ellipsis 1.5s steps(3, end) infinite;
|
|
49
58
|
}
|
|
50
59
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
--radius-sm: calc(var(--radius) - 4px);
|
|
55
|
-
--radius-md: calc(var(--radius) - 2px);
|
|
56
|
-
--radius-lg: var(--radius);
|
|
57
|
-
--radius-xl: calc(var(--radius) + 4px);
|
|
58
|
-
--color-background: var(--background);
|
|
59
|
-
--color-foreground: var(--foreground);
|
|
60
|
-
--color-card: var(--card);
|
|
61
|
-
--color-card-foreground: var(--card-foreground);
|
|
62
|
-
--color-popover: var(--popover);
|
|
63
|
-
--color-popover-foreground: var(--popover-foreground);
|
|
64
|
-
--color-primary: var(--primary);
|
|
65
|
-
--color-primary-foreground: var(--primary-foreground);
|
|
66
|
-
--color-secondary: var(--secondary);
|
|
67
|
-
--color-secondary-foreground: var(--secondary-foreground);
|
|
68
|
-
--color-muted: var(--muted);
|
|
69
|
-
--color-muted-foreground: var(--muted-foreground);
|
|
70
|
-
--color-accent: var(--accent);
|
|
71
|
-
--color-accent-foreground: var(--accent-foreground);
|
|
72
|
-
--color-destructive: var(--destructive);
|
|
73
|
-
--color-border: var(--border);
|
|
74
|
-
--color-input: var(--input);
|
|
75
|
-
--color-ring: var(--ring);
|
|
76
|
-
--color-chart-1: var(--chart-1);
|
|
77
|
-
--color-chart-2: var(--chart-2);
|
|
78
|
-
--color-chart-3: var(--chart-3);
|
|
79
|
-
--color-chart-4: var(--chart-4);
|
|
80
|
-
--color-chart-5: var(--chart-5);
|
|
81
|
-
--color-sidebar: var(--sidebar);
|
|
82
|
-
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
83
|
-
--color-sidebar-primary: var(--sidebar-primary);
|
|
84
|
-
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
85
|
-
--color-sidebar-accent: var(--sidebar-accent);
|
|
86
|
-
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
87
|
-
--color-sidebar-border: var(--sidebar-border);
|
|
88
|
-
--color-sidebar-ring: var(--sidebar-ring);
|
|
60
|
+
/* In-progress status colors */
|
|
61
|
+
.mmc-khub-status--in-progress .mmc-khub-status__label {
|
|
62
|
+
color: var(--foreground);
|
|
89
63
|
}
|
|
90
|
-
|
|
91
|
-
:
|
|
92
|
-
--radius: 0.5rem;
|
|
93
|
-
--radius-sm: 4px;
|
|
94
|
-
--radius-md: calc(var(--radius) - 2px);
|
|
95
|
-
--radius-lg: var(--radius);
|
|
96
|
-
--radius-xl: calc(var(--radius) + 4px);
|
|
97
|
-
--background: oklch(1 0 0);
|
|
98
|
-
--foreground: oklch(0.145 0 0);
|
|
99
|
-
--card: oklch(1 0 0);
|
|
100
|
-
--card-foreground: oklch(0.145 0 0);
|
|
101
|
-
--popover: oklch(1 0 0);
|
|
102
|
-
--popover-foreground: oklch(0.145 0 0);
|
|
103
|
-
--primary: oklch(0.205 0 0);
|
|
104
|
-
--primary-foreground: oklch(0.985 0 0);
|
|
105
|
-
--secondary: oklch(0.97 0 0);
|
|
106
|
-
--secondary-foreground: oklch(0.205 0 0);
|
|
107
|
-
--muted: oklch(0.97 0 0);
|
|
108
|
-
--muted-foreground: oklch(0.556 0 0);
|
|
109
|
-
--accent: oklch(0.97 0 0);
|
|
110
|
-
--accent-foreground: oklch(0.205 0 0);
|
|
111
|
-
--destructive: oklch(0.577 0.245 27.325);
|
|
112
|
-
--border: oklch(0.922 0 0);
|
|
113
|
-
--input: oklch(0.922 0 0);
|
|
114
|
-
--ring: oklch(0.708 0 0);
|
|
115
|
-
--chart-1: #5a67d8;
|
|
116
|
-
--chart-2: #319795;
|
|
117
|
-
--chart-3: #38a169;
|
|
118
|
-
--chart-4: #dd6b20;
|
|
119
|
-
--chart-5: #805ad5;
|
|
120
|
-
--sidebar: oklch(0.985 0 0);
|
|
121
|
-
--sidebar-foreground: oklch(0.145 0 0);
|
|
122
|
-
--sidebar-primary: oklch(0.205 0 0);
|
|
123
|
-
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
124
|
-
--sidebar-accent: oklch(0.97 0 0);
|
|
125
|
-
--sidebar-accent-foreground: oklch(0.205 0 0);
|
|
126
|
-
--sidebar-border: oklch(0.922 0 0);
|
|
127
|
-
--sidebar-ring: oklch(0.708 0 0);
|
|
128
|
-
|
|
129
|
-
/* Overlay token (base) */
|
|
130
|
-
--overlay-bg: rgba(0, 0, 0, 0.8);
|
|
131
|
-
|
|
132
|
-
/* --- Typography tokens (shadcn/ui reference) --- */
|
|
133
|
-
--font-sans:
|
|
134
|
-
ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI',
|
|
135
|
-
Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,
|
|
136
|
-
'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
|
|
137
|
-
--font-mono:
|
|
138
|
-
ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
|
|
139
|
-
'Courier New', monospace;
|
|
140
|
-
--font-heading: var(--font-sans);
|
|
141
|
-
--font-body: var(--font-sans);
|
|
142
|
-
|
|
143
|
-
--text-base-size: 1rem; /* 16px */
|
|
144
|
-
--text-sm-size: 0.875rem; /* 14px */
|
|
145
|
-
--text-lg-size: 1.125rem; /* 18px */
|
|
146
|
-
|
|
147
|
-
--font-weight-normal: 400;
|
|
148
|
-
--font-weight-medium: 500;
|
|
149
|
-
--font-weight-bold: 700;
|
|
150
|
-
|
|
151
|
-
--leading-tight: 1.25;
|
|
152
|
-
--leading-normal: 1.5;
|
|
153
|
-
|
|
154
|
-
--tracking-tight: -0.015em;
|
|
155
|
-
--tracking-normal: 0;
|
|
64
|
+
.carbide.dark .mmc-khub-status--in-progress .mmc-khub-status__label {
|
|
65
|
+
color: var(--foreground);
|
|
156
66
|
}
|
|
157
67
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
--
|
|
161
|
-
--
|
|
162
|
-
--card-foreground: oklch(0.985 0 0);
|
|
163
|
-
--popover: oklch(0.205 0 0);
|
|
164
|
-
--popover-foreground: oklch(0.985 0 0);
|
|
165
|
-
--primary: oklch(0.922 0 0);
|
|
166
|
-
--primary-foreground: oklch(0.205 0 0);
|
|
167
|
-
--secondary: oklch(0.269 0 0);
|
|
168
|
-
--secondary-foreground: oklch(0.985 0 0);
|
|
169
|
-
--muted: oklch(0.269 0 0);
|
|
170
|
-
--muted-foreground: oklch(0.708 0 0);
|
|
171
|
-
--accent: oklch(0.269 0 0);
|
|
172
|
-
--accent-foreground: oklch(0.985 0 0);
|
|
173
|
-
--destructive: oklch(0.704 0.191 22.216);
|
|
174
|
-
--border: oklch(1 0 0 / 10%);
|
|
175
|
-
--input: oklch(1 0 0 / 15%);
|
|
176
|
-
--ring: oklch(0.556 0 0);
|
|
177
|
-
--chart-1: #667eea;
|
|
178
|
-
--chart-2: #4fd1c5;
|
|
179
|
-
--chart-3: #48bb78;
|
|
180
|
-
--chart-4: #ed8936;
|
|
181
|
-
--chart-5: #9f7aea;
|
|
182
|
-
--sidebar: oklch(0.205 0 0);
|
|
183
|
-
--sidebar-foreground: oklch(0.985 0 0);
|
|
184
|
-
--sidebar-primary: oklch(0.488 0.243 264.376);
|
|
185
|
-
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
186
|
-
--sidebar-accent: oklch(0.269 0 0);
|
|
187
|
-
--sidebar-accent-foreground: oklch(0.985 0 0);
|
|
188
|
-
--sidebar-border: oklch(1 0 0 / 10%);
|
|
189
|
-
--sidebar-ring: oklch(0.556 0 0);
|
|
68
|
+
/* Consistent KHUB status layout */
|
|
69
|
+
.mmc-khub {
|
|
70
|
+
--khub-progress-width: 80px;
|
|
71
|
+
--khub-status-gutter: 88px;
|
|
190
72
|
}
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
* {
|
|
194
|
-
@apply border-border outline-ring/50;
|
|
195
|
-
}
|
|
196
|
-
body {
|
|
197
|
-
@apply bg-background text-foreground;
|
|
198
|
-
}
|
|
199
|
-
.lead {
|
|
200
|
-
@apply text-xl text-muted-foreground;
|
|
201
|
-
}
|
|
202
|
-
.large {
|
|
203
|
-
@apply text-lg font-semibold;
|
|
204
|
-
}
|
|
205
|
-
.small {
|
|
206
|
-
@apply text-sm font-medium leading-none;
|
|
207
|
-
}
|
|
208
|
-
.muted {
|
|
209
|
-
@apply text-sm text-muted-foreground;
|
|
210
|
-
}
|
|
211
|
-
:root {
|
|
212
|
-
--chart-1: var(--indigo-600);
|
|
213
|
-
--chart-2: var(--teal-600);
|
|
214
|
-
--chart-3: var(--green-600);
|
|
215
|
-
--chart-4: var(--orange-600);
|
|
216
|
-
--chart-5: var(--purple-600);
|
|
217
|
-
--sidebar-background: 0 0% 98%;
|
|
218
|
-
--sidebar-foreground: 240 5.3% 26.1%;
|
|
219
|
-
--sidebar-primary: 240 5.9% 10%;
|
|
220
|
-
--sidebar-primary-foreground: 0 0% 98%;
|
|
221
|
-
--sidebar-accent: 240 4.8% 95.9%;
|
|
222
|
-
--sidebar-accent-foreground: 240 5.9% 10%;
|
|
223
|
-
--sidebar-border: 220 13% 91%;
|
|
224
|
-
--sidebar-ring: 217.2 91.2% 59.8%;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
.dark {
|
|
228
|
-
--chart-1: var(--indigo-500);
|
|
229
|
-
--chart-2: var(--teal-400);
|
|
230
|
-
--chart-3: var(--green-500);
|
|
231
|
-
--chart-4: var(--orange-500);
|
|
232
|
-
--chart-5: var(--purple-500);
|
|
233
|
-
--sidebar-background: 240 5.9% 10%;
|
|
234
|
-
--sidebar-foreground: 240 4.8% 95.9%;
|
|
235
|
-
--sidebar-primary: 224.3 76.3% 48%;
|
|
236
|
-
--sidebar-primary-foreground: 0 0% 100%;
|
|
237
|
-
--sidebar-accent: 240 3.7% 15.9%;
|
|
238
|
-
--sidebar-accent-foreground: 240 4.8% 95.9%;
|
|
239
|
-
--sidebar-border: 240 3.7% 15.9%;
|
|
240
|
-
--sidebar-ring: 217.2 91.2% 59.8%;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
/* Centralized overlay class to keep overlays consistent */
|
|
244
|
-
.mmc-overlay {
|
|
245
|
-
background-color: var(--overlay-bg);
|
|
246
|
-
-webkit-backdrop-filter: blur(4px);
|
|
247
|
-
backdrop-filter: blur(4px);
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
/* Universal Carbide hover for input-like controls */
|
|
251
|
-
.carbide
|
|
252
|
-
:is(
|
|
253
|
-
input:not([type]),
|
|
254
|
-
input[type='text'],
|
|
255
|
-
input[type='email'],
|
|
256
|
-
input[type='password'],
|
|
257
|
-
input[type='search'],
|
|
258
|
-
input[type='number'],
|
|
259
|
-
input[type='url'],
|
|
260
|
-
input[type='tel'],
|
|
261
|
-
textarea,
|
|
262
|
-
[data-slot='checkbox'],
|
|
263
|
-
[data-slot='radio-group-item'],
|
|
264
|
-
[data-slot='toggle'],
|
|
265
|
-
[data-slot='filter-section-trigger']
|
|
266
|
-
) {
|
|
267
|
-
@apply transition-[background-color,box-shadow];
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
.carbide
|
|
271
|
-
:is(
|
|
272
|
-
input:not([type]),
|
|
273
|
-
input[type='text'],
|
|
274
|
-
input[type='email'],
|
|
275
|
-
input[type='password'],
|
|
276
|
-
input[type='search'],
|
|
277
|
-
input[type='number'],
|
|
278
|
-
input[type='url'],
|
|
279
|
-
input[type='tel'],
|
|
280
|
-
textarea,
|
|
281
|
-
[data-slot='checkbox'],
|
|
282
|
-
[data-slot='radio-group-item'],
|
|
283
|
-
[data-slot='toggle'],
|
|
284
|
-
[data-slot='filter-section-trigger']
|
|
285
|
-
):where(:not(:disabled)):hover {
|
|
286
|
-
background-color: var(--input-surface-hover-bg);
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
/* Ensure elements styled via the bg-input utility also receive hover */
|
|
290
|
-
.carbide .bg-input:where(:not(:disabled)):hover {
|
|
291
|
-
background-color: var(--accent);
|
|
292
|
-
}
|
|
293
|
-
.carbide.dark .bg-input:where(:not(:disabled)):hover {
|
|
294
|
-
background-color: var(--input-surface-hover-bg);
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
/* Table row hover vs action trigger hover contrast (base declaration) */
|
|
298
|
-
.mmc-data-table-preview
|
|
299
|
-
.mmc-table-action-trigger:where(:not(:disabled)):hover {
|
|
300
|
-
background-color: color-mix(in oklab, var(--accent) 92%, black 8%);
|
|
301
|
-
}
|
|
302
|
-
.carbide.dark
|
|
303
|
-
.mmc-data-table-preview
|
|
304
|
-
.mmc-table-action-trigger:where(:not(:disabled)):hover {
|
|
305
|
-
background-color: color-mix(
|
|
306
|
-
in oklab,
|
|
307
|
-
var(--input-surface-hover-bg) 90%,
|
|
308
|
-
white 10%
|
|
309
|
-
);
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
/* Put higher-precedence overrides in utilities layer to beat Tailwind utilities */
|
|
313
|
-
@layer utilities {
|
|
314
|
-
/* Animated ellipsis for in-progress labels */
|
|
315
|
-
@keyframes mm-ellipsis {
|
|
316
|
-
0% {
|
|
317
|
-
content: '';
|
|
318
|
-
}
|
|
319
|
-
33% {
|
|
320
|
-
content: '.';
|
|
321
|
-
}
|
|
322
|
-
66% {
|
|
323
|
-
content: '..';
|
|
324
|
-
}
|
|
325
|
-
100% {
|
|
326
|
-
content: '...';
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
.mmc-animated-ellipsis::after {
|
|
330
|
-
display: inline-block;
|
|
331
|
-
width: 16px;
|
|
332
|
-
text-align: left;
|
|
333
|
-
content: '';
|
|
334
|
-
animation: mm-ellipsis 1.5s steps(3, end) infinite;
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
/* In-progress status colors */
|
|
338
|
-
.mmc-khub-status--in-progress .mmc-khub-status__label {
|
|
339
|
-
color: var(--foreground);
|
|
340
|
-
}
|
|
341
|
-
.carbide.dark .mmc-khub-status--in-progress .mmc-khub-status__label {
|
|
342
|
-
color: var(--foreground);
|
|
343
|
-
}
|
|
344
|
-
/* Consistent KHUB status layout */
|
|
345
|
-
.mmc-khub {
|
|
346
|
-
--khub-progress-width: 80px;
|
|
347
|
-
--khub-status-gutter: 88px;
|
|
348
|
-
}
|
|
349
|
-
.mmc-khub-status {
|
|
350
|
-
min-width: 0;
|
|
351
|
-
}
|
|
352
|
-
.mmc-khub-status__gutter {
|
|
353
|
-
width: var(--khub-status-gutter);
|
|
354
|
-
flex: 0 0 var(--khub-status-gutter);
|
|
355
|
-
display: inline-flex;
|
|
356
|
-
align-items: center;
|
|
357
|
-
}
|
|
358
|
-
.mmc-khub-status__label {
|
|
359
|
-
display: inline-block;
|
|
360
|
-
max-width: 100%;
|
|
361
|
-
}
|
|
362
|
-
.mmc-khub-status__progress {
|
|
363
|
-
width: var(--khub-progress-width);
|
|
364
|
-
flex: 0 0 var(--khub-progress-width);
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
/* Match in-progress text styling to badges */
|
|
368
|
-
.mmc-khub-status--in-progress .mmc-khub-status__label {
|
|
369
|
-
font-size: 0.75rem;
|
|
370
|
-
line-height: 1rem;
|
|
371
|
-
font-weight: 400;
|
|
372
|
-
color: var(--grey-700) !important;
|
|
373
|
-
}
|
|
374
|
-
.carbide.dark .mmc-khub-status--in-progress .mmc-khub-status__label {
|
|
375
|
-
color: var(--grey-200) !important;
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
/* Remove fade overflow mask for KHUB status cells */
|
|
379
|
-
.mmc-table-cell__content:has(> .mmc-khub-status) {
|
|
380
|
-
-webkit-mask-image: none !important;
|
|
381
|
-
mask-image: none !important;
|
|
382
|
-
}
|
|
383
|
-
/* Elevate action trigger hover contrast above Tailwind utilities */
|
|
384
|
-
.mmc-data-table-preview .mmc-table-action-trigger:hover {
|
|
385
|
-
background-color: var(--table-action-hover-bg) !important;
|
|
386
|
-
}
|
|
387
|
-
.carbide.dark .mmc-data-table-preview .mmc-table-action-trigger:hover {
|
|
388
|
-
background-color: var(--table-action-hover-bg) !important;
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
/* Universal single-line overflow wrapper for table cell contents */
|
|
393
|
-
.mmc-table-cell__content {
|
|
394
|
-
display: block;
|
|
395
|
-
width: 100%;
|
|
396
|
-
white-space: nowrap;
|
|
397
|
-
overflow: hidden;
|
|
398
|
-
--fade-edge: 16px;
|
|
399
|
-
}
|
|
400
|
-
/* Apply masks ONLY when overflow is detected via JS-added modifier classes */
|
|
401
|
-
.mmc-table-cell__content--fade-right {
|
|
402
|
-
-webkit-mask-image: linear-gradient(
|
|
403
|
-
to right,
|
|
404
|
-
rgba(0, 0, 0, 1) calc(100% - var(--fade-edge)),
|
|
405
|
-
rgba(0, 0, 0, 0) 100%
|
|
406
|
-
);
|
|
407
|
-
mask-image: linear-gradient(
|
|
408
|
-
to right,
|
|
409
|
-
rgba(0, 0, 0, 1) calc(100% - var(--fade-edge)),
|
|
410
|
-
rgba(0, 0, 0, 0) 100%
|
|
411
|
-
);
|
|
412
|
-
}
|
|
413
|
-
.mmc-table-cell__content--fade-left {
|
|
414
|
-
-webkit-mask-image: linear-gradient(
|
|
415
|
-
to left,
|
|
416
|
-
rgba(0, 0, 0, 1) calc(100% - var(--fade-edge)),
|
|
417
|
-
rgba(0, 0, 0, 0) 100%
|
|
418
|
-
);
|
|
419
|
-
mask-image: linear-gradient(
|
|
420
|
-
to left,
|
|
421
|
-
rgba(0, 0, 0, 1) calc(100% - var(--fade-edge)),
|
|
422
|
-
rgba(0, 0, 0, 0) 100%
|
|
423
|
-
);
|
|
424
|
-
}
|
|
425
|
-
.mmc-table-cell__content--fade-both {
|
|
426
|
-
-webkit-mask-image: linear-gradient(
|
|
427
|
-
to right,
|
|
428
|
-
transparent 0,
|
|
429
|
-
rgba(0, 0, 0, 1) var(--fade-edge),
|
|
430
|
-
rgba(0, 0, 0, 1) calc(100% - var(--fade-edge)),
|
|
431
|
-
transparent 100%
|
|
432
|
-
);
|
|
433
|
-
mask-image: linear-gradient(
|
|
434
|
-
to right,
|
|
435
|
-
transparent 0,
|
|
436
|
-
rgba(0, 0, 0, 1) var(--fade-edge),
|
|
437
|
-
rgba(0, 0, 0, 1) calc(100% - var(--fade-edge)),
|
|
438
|
-
transparent 100%
|
|
439
|
-
);
|
|
440
|
-
}
|
|
73
|
+
.mmc-khub-status {
|
|
74
|
+
min-width: 0;
|
|
441
75
|
}
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
opacity: 0;
|
|
448
|
-
}
|
|
449
|
-
to {
|
|
450
|
-
height: var(--radix-collapsible-content-height);
|
|
451
|
-
opacity: 1;
|
|
452
|
-
}
|
|
76
|
+
.mmc-khub-status__gutter {
|
|
77
|
+
width: var(--khub-status-gutter);
|
|
78
|
+
flex: 0 0 var(--khub-status-gutter);
|
|
79
|
+
display: inline-flex;
|
|
80
|
+
align-items: center;
|
|
453
81
|
}
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
height: 0;
|
|
462
|
-
opacity: 0;
|
|
463
|
-
}
|
|
82
|
+
.mmc-khub-status__label {
|
|
83
|
+
display: inline-block;
|
|
84
|
+
max-width: 100%;
|
|
85
|
+
}
|
|
86
|
+
.mmc-khub-status__progress {
|
|
87
|
+
width: var(--khub-progress-width);
|
|
88
|
+
flex: 0 0 var(--khub-progress-width);
|
|
464
89
|
}
|
|
465
90
|
|
|
466
|
-
/*
|
|
467
|
-
|
|
468
|
-
|
|
91
|
+
/* Match in-progress text styling to badges */
|
|
92
|
+
.mmc-khub-status--in-progress .mmc-khub-status__label {
|
|
93
|
+
font-size: 0.75rem;
|
|
94
|
+
line-height: 1rem;
|
|
95
|
+
font-weight: 400;
|
|
96
|
+
color: var(--grey-700) !important;
|
|
469
97
|
}
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
display: block !important;
|
|
98
|
+
.carbide.dark .mmc-khub-status--in-progress .mmc-khub-status__label {
|
|
99
|
+
color: var(--grey-200) !important;
|
|
473
100
|
}
|
|
474
|
-
/* JS controls height now; avoid conflicting state heights */
|
|
475
101
|
|
|
476
|
-
/*
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
transform: translateX(0);
|
|
481
|
-
}
|
|
482
|
-
30% {
|
|
483
|
-
opacity: 0.6;
|
|
484
|
-
}
|
|
485
|
-
100% {
|
|
486
|
-
opacity: 0;
|
|
487
|
-
transform: translateX(8px);
|
|
488
|
-
}
|
|
102
|
+
/* Remove fade overflow mask for KHUB status cells */
|
|
103
|
+
.mmc-table-cell__content:has(> .mmc-khub-status) {
|
|
104
|
+
-webkit-mask-image: none !important;
|
|
105
|
+
mask-image: none !important;
|
|
489
106
|
}
|
|
490
107
|
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
50% {
|
|
498
|
-
filter: brightness(1.35);
|
|
499
|
-
opacity: 0.8;
|
|
500
|
-
}
|
|
108
|
+
/* Table action trigger hover contrast */
|
|
109
|
+
.mmc-data-table-preview .mmc-table-action-trigger:hover {
|
|
110
|
+
background-color: var(--table-action-hover-bg) !important;
|
|
111
|
+
}
|
|
112
|
+
.carbide.dark .mmc-data-table-preview .mmc-table-action-trigger:hover {
|
|
113
|
+
background-color: var(--table-action-hover-bg) !important;
|
|
501
114
|
}
|
|
502
115
|
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
rgba(255, 255, 255, 0.6),
|
|
515
|
-
transparent 70%
|
|
116
|
+
/* Table row hover vs action trigger hover contrast */
|
|
117
|
+
.mmc-data-table-preview .mmc-table-action-trigger:where(:not(:disabled)):hover {
|
|
118
|
+
background-color: color-mix(in oklab, var(--accent) 92%, black 8%);
|
|
119
|
+
}
|
|
120
|
+
.carbide.dark
|
|
121
|
+
.mmc-data-table-preview
|
|
122
|
+
.mmc-table-action-trigger:where(:not(:disabled)):hover {
|
|
123
|
+
background-color: color-mix(
|
|
124
|
+
in oklab,
|
|
125
|
+
var(--input-surface-hover-bg) 90%,
|
|
126
|
+
white 10%
|
|
516
127
|
);
|
|
517
|
-
opacity: 0;
|
|
518
128
|
}
|
|
519
129
|
|
|
520
|
-
|
|
521
|
-
|
|
130
|
+
/* Progress component demo styles (preview only) */
|
|
131
|
+
.mmc-progress[data-unknown='true'] {
|
|
132
|
+
opacity: 0.6;
|
|
522
133
|
}
|
|
523
134
|
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
animation: mm-progress-breathe 1.65s ease-in-out infinite;
|
|
135
|
+
.mmc-progress[data-unknown='true'] [data-slot='progress-indicator'] {
|
|
136
|
+
filter: grayscale(0.2) brightness(0.9);
|
|
527
137
|
}
|