@dashadmin/dash-styles 1.0.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.
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # INSTRUCTIONS
package/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ // Auto-generated permissive types for @dashadmin/dash-styles.
2
+ // Full typings can be regenerated with a tolerant tsc emit.
3
+ export {};
package/index.js ADDED
@@ -0,0 +1,927 @@
1
+ import { defaultTheme as u } from "react-admin";
2
+ import { deepmerge as g } from "@mui/utils";
3
+ import { theme as v } from "antd";
4
+ const h = (n) => {
5
+ const c = {};
6
+ for (let a = 0; a < document.styleSheets.length; a++)
7
+ try {
8
+ const e = document.styleSheets[a];
9
+ if (e.ownerNode?.id === "dash-theme-variables" || !e.cssRules) continue;
10
+ for (let o = 0; o < e.cssRules.length; o++) {
11
+ const l = e.cssRules[o];
12
+ if (l.selectorText === n) {
13
+ const r = l.style;
14
+ for (let i = 0; i < r.length; i++) {
15
+ const t = r[i];
16
+ t.startsWith("--") && (c[t] = r.getPropertyValue(t).trim());
17
+ }
18
+ }
19
+ }
20
+ } catch (e) {
21
+ console.warn("Could not access stylesheet:", e);
22
+ }
23
+ return c;
24
+ }, p = (n) => {
25
+ const { tenantSettings: c, colors: a, ...e } = n || {}, o = document.documentElement.getAttribute("data-theme") || "dark", l = h(":root"), r = (t, s, b = null) => {
26
+ if (a) {
27
+ const d = a[`${s}--${b || o}`];
28
+ return d ? { [t]: d } : {};
29
+ } else if (l[`--${s}--${b || o}`]) {
30
+ const d = l[`--${s}--${b || o}`];
31
+ return d ? { [t]: d } : {};
32
+ } else
33
+ return {};
34
+ }, i = (t = "light") => {
35
+ const s = {
36
+ mode: t,
37
+ background: {
38
+ ...r("default", "module-bg", t),
39
+ ...r("paper", "module-bg", t)
40
+ },
41
+ primary: {
42
+ //..._color('main', 'primary-color', mode),
43
+ //..._color('main', 'highlight-color', mode),
44
+ ...r("main", "btn-bg", t),
45
+ ...r("contrastText", "primary-contrast", t)
46
+ },
47
+ secondary: {
48
+ ...r("main", "secondary-color", t)
49
+ },
50
+ text: {
51
+ ...r("primary", "text-color", t),
52
+ ...r("secondary", "text-light", t),
53
+ ...r("disabled", "disabled-color", t)
54
+ },
55
+ action: {
56
+ ...r("active", "component-active-bg", t),
57
+ ...r("hover", "component-hover-bg", t),
58
+ ...r("disabled", "disabled-color", t),
59
+ ...r("disabledBackground", "disabled-bg", t)
60
+ },
61
+ //..._color('divider', 'component-border-split', mode),
62
+ ...r("border", "border-color", t),
63
+ error: {
64
+ ...r("main", "alert-error-bg", t),
65
+ ...r("contrastText", "alert-error-title", t)
66
+ },
67
+ warning: {
68
+ ...r("main", "alert-warning-bg", t),
69
+ ...r("contrastText", "alert-warning-title", t)
70
+ },
71
+ info: {
72
+ ...r("main", "alert-info-bg", t),
73
+ ...r("contrastText", "alert-info-title", t)
74
+ },
75
+ success: {
76
+ ...r("main", "alert-success-bg", t),
77
+ ...r("contrastText", "alert-success-title", t)
78
+ },
79
+ common: {
80
+ ...r("black", "text-color", t),
81
+ ...r("white", "text-contrast", t)
82
+ },
83
+ variant: {
84
+ ...r("containedBg", "btn-bg", t)
85
+ }
86
+ };
87
+ return Object.fromEntries(
88
+ Object.entries(s).filter(([b, d]) => typeof d == "object" && d !== null ? Object.keys(d).length > 0 : d !== void 0)
89
+ );
90
+ };
91
+ return {
92
+ cssVariables: {
93
+ cssVarPrefix: "dash",
94
+ // Your custom prefix
95
+ colorSchemeSelector: "data-theme",
96
+ // Tell MUI to use data attributes
97
+ colorSchemeStorageKey: "theme"
98
+ // Use same key as dashStorage for consistency
99
+ },
100
+ // Enable both light and dark color schemes - NO 'system' to force light/dark only
101
+ colorSchemes: {
102
+ light: {
103
+ palette: i("light")
104
+ },
105
+ dark: {
106
+ palette: i("dark")
107
+ }
108
+ },
109
+ defaultColorScheme: o || "dark",
110
+ palette: i(o),
111
+ // Don't put your custom CSS variables in the palette
112
+ // Instead, use them directly in component overrides
113
+ typography: {
114
+ allVariants: {
115
+ //color: 'var(--text-color)', // Keep using your CSS variables here
116
+ }
117
+ },
118
+ components: {
119
+ // Override ALL color usage in component overrides
120
+ MuiCssBaseline: {
121
+ styleOverrides: {
122
+ body: {
123
+ //background: 'linear-gradient(to bottom, var(--bodybg-primary), var(--bodybg-secondary))',
124
+ //color: 'var(--text-color)',
125
+ }
126
+ }
127
+ },
128
+ /* MuiIconButton: {
129
+ styleOverrides: {
130
+ root: {
131
+ backgroundColor: 'var(--btn-bg)',
132
+ color: 'var(--btn-color)',
133
+
134
+ '&.MuiIconButton-containedPrimary': {
135
+ backgroundColor: 'var(--primary-color)',
136
+ color: 'var(--btn-color)',
137
+ '&:hover': {
138
+ backgroundColor: 'var(--highlight-color)',
139
+ },
140
+ },
141
+ '&.MuiIconButton-containedSecondary': {
142
+ backgroundColor: 'var(--secondary-color)',
143
+ color: 'var(--btn-color)',
144
+ '&:hover': {
145
+ backgroundColor: 'var(--highlight-color)',
146
+ },
147
+ },
148
+ '&.MuiIconButton-outlinedPrimary': {
149
+ backgroundColor: 'inherit',
150
+ borderColor: 'var(--primary-color)',
151
+ color: 'var(--text-color)',
152
+ '&:hover': {
153
+ borderColor: 'var(--highlight-color)',
154
+ },
155
+ },
156
+ '&.MuiIconButton-outlinedSecondary': {
157
+ backgroundColor: 'inherit',
158
+ borderColor: 'var(--primary-color)',
159
+ color: 'var(--text-color)',
160
+ '&:hover': {
161
+ borderColor: 'var(--highlight-color)',
162
+ },
163
+ },
164
+ },
165
+ },
166
+ },*/
167
+ /*MuiToolbar: {
168
+ styleOverrides: {
169
+ root: {
170
+ backgroundColor: 'var(--table-header-bg)',
171
+ }
172
+ }
173
+ },*/
174
+ /*MuiButtonBase: {
175
+ styleOverrides: {
176
+ root: {
177
+ backgroundColor: 'var(--btn-bg)',
178
+ color: 'var(--btn-color)',
179
+
180
+ '&.MuiButton-containedPrimary': {
181
+ backgroundColor: 'var(--btn-primary-bg)',
182
+ color: 'var(--btn-primary-color)',
183
+ '&:hover': {
184
+ backgroundColor: 'var(--highlight-color)',
185
+ },
186
+ },
187
+ '&.MuiButton-containedSecondary': {
188
+ backgroundColor: 'var(--btn-secondary-bg)',
189
+ color: 'var(--btn-secondary-color)',
190
+ '&:hover': {
191
+ backgroundColor: 'var(--btn-secondary-color)',
192
+ },
193
+ },
194
+ '&.MuiButton-outlinedPrimary': {
195
+ backgroundColor: 'inherit',
196
+ borderColor: 'var(--btn-primary-bg)',
197
+ color: 'var(--text-color)',
198
+ '&:hover': {
199
+ borderColor: 'var(--highlight-color)',
200
+ color: 'var(--highlight-color-contrast)',
201
+ },
202
+ },
203
+ '&.MuiButton-outlinedSecondary': {
204
+ backgroundColor: 'inherit',
205
+ borderColor: 'var(--btn-primary-bg)',
206
+ color: 'var(--text-color)',
207
+ '&:hover': {
208
+ borderColor: 'var(--highlight-color)',
209
+ color: 'var(--highlight-color-contrast)',
210
+ },
211
+ },
212
+ '&.MuiButton-textPrimary': {
213
+ color: 'var(--link-color)',
214
+ background: 'none',
215
+ '&:hover': {
216
+ color: 'var(--highlight-color)',
217
+ textDecoration: 'underline',
218
+ background: 'none',
219
+ },
220
+ },
221
+ '&.MuiButton-textSecondary': {
222
+ color: 'var(--text-light)',
223
+ background: 'none',
224
+ '&:hover': {
225
+ color: 'var(--text-color)',
226
+ textDecoration: 'underline',
227
+ background: 'none',
228
+ },
229
+ },
230
+ },
231
+ },
232
+ },*/
233
+ MuiButton: {
234
+ styleOverrides: {
235
+ root: {
236
+ backgroundColor: "var(--btn-bg)",
237
+ color: "var(--btn-color)",
238
+ "&.MuiButton-containedPrimary": {
239
+ backgroundColor: "var(--btn-primary-bg)",
240
+ color: "var(--btn-primary-color)",
241
+ "&:hover": {
242
+ backgroundColor: "var(--highlight-color)"
243
+ }
244
+ },
245
+ "&.MuiButton-containedSecondary": {
246
+ backgroundColor: "var(--btn-secondary-bg)",
247
+ color: "var(--btn-secondary-color)",
248
+ "&:hover": {
249
+ backgroundColor: "var(--btn-secondary-color)"
250
+ }
251
+ },
252
+ "&.MuiButton-outlinedPrimary": {
253
+ backgroundColor: "inherit",
254
+ borderColor: "var(--btn-primary-bg)",
255
+ color: "var(--text-color)",
256
+ "&:hover": {
257
+ borderColor: "var(--highlight-color)",
258
+ color: "var(--highlight-color-contrast)"
259
+ }
260
+ },
261
+ "&.MuiButton-outlinedSecondary": {
262
+ backgroundColor: "inherit",
263
+ borderColor: "var(--btn-primary-bg)",
264
+ color: "var(--text-color)",
265
+ "&:hover": {
266
+ borderColor: "var(--highlight-color)",
267
+ color: "var(--highlight-color-contrast)"
268
+ }
269
+ },
270
+ "&.MuiButton-textPrimary": {
271
+ color: "var(--link-color)",
272
+ background: "none",
273
+ "&:hover": {
274
+ color: "var(--highlight-color)",
275
+ textDecoration: "underline",
276
+ background: "none"
277
+ }
278
+ },
279
+ "&.MuiButton-textSecondary": {
280
+ color: "var(--text-light)",
281
+ background: "none",
282
+ "&:hover": {
283
+ color: "var(--text-color)",
284
+ textDecoration: "underline",
285
+ background: "none"
286
+ }
287
+ }
288
+ }
289
+ }
290
+ },
291
+ MuiDialog: {
292
+ styleOverrides: {
293
+ root: {
294
+ zIndex: 100
295
+ }
296
+ }
297
+ },
298
+ MuiDialogTitle: {
299
+ styleOverrides: {
300
+ root: {
301
+ "& svg": {
302
+ color: "var(--text-color)"
303
+ }
304
+ }
305
+ }
306
+ },
307
+ MuiTooltip: {
308
+ styleOverrides: {
309
+ tooltip: {
310
+ backgroundColor: "var(--module-bg)",
311
+ color: "var(--text-color)",
312
+ border: "1px solid var(--border-color)",
313
+ fontSize: "0.75rem",
314
+ maxWidth: 300,
315
+ "& .MuiTooltip-arrow": {
316
+ color: "var(--module-bg)",
317
+ "&::before": {
318
+ border: "1px solid var(--border-color)"
319
+ }
320
+ }
321
+ },
322
+ popper: {
323
+ '&[data-popper-placement*="bottom"] .MuiTooltip-tooltip': {
324
+ marginTop: "8px"
325
+ },
326
+ '&[data-popper-placement*="top"] .MuiTooltip-tooltip': {
327
+ marginBottom: "8px"
328
+ },
329
+ '&[data-popper-placement*="right"] .MuiTooltip-tooltip': {
330
+ marginLeft: "8px"
331
+ },
332
+ '&[data-popper-placement*="left"] .MuiTooltip-tooltip': {
333
+ marginRight: "8px"
334
+ }
335
+ }
336
+ }
337
+ },
338
+ MuiTabs: {
339
+ styleOverrides: {
340
+ indicator: {
341
+ backgroundColor: "var(--highlight-color)"
342
+ }
343
+ }
344
+ },
345
+ MuiListItemIcon: {
346
+ styleOverrides: {
347
+ root: {
348
+ color: "var(--sidebar-icon)",
349
+ "& svg": {
350
+ color: "var(--sidebar-icon)"
351
+ }
352
+ }
353
+ }
354
+ },
355
+ RaReferenceField: {
356
+ styleOverrides: {
357
+ root: {
358
+ "& .RaReferenceField-link>*": {
359
+ color: "var(--text-color)"
360
+ }
361
+ }
362
+ }
363
+ },
364
+ RaSingleFieldList: {
365
+ styleOverrides: {
366
+ root: {
367
+ "& .RaSingleFieldList-link>*": {
368
+ color: "var(--text-color)"
369
+ }
370
+ }
371
+ }
372
+ },
373
+ /*MuiInputAdornment: {
374
+ styleOverrides: {
375
+ root: {
376
+ '& svg': {
377
+ color: 'var(--highlight-color)',
378
+ },
379
+ },
380
+ },
381
+ },*/
382
+ MuiTab: {
383
+ styleOverrides: {
384
+ root: {
385
+ "&.MuiButtonBase-root": {
386
+ "&.Mui-selected": {
387
+ color: "var(--highlight-color)",
388
+ backgroundColor: "var(--tab-selected-bg)"
389
+ },
390
+ "&.MuiTab-textColorPrimary": {
391
+ color: "var(--table-color)"
392
+ }
393
+ }
394
+ }
395
+ }
396
+ },
397
+ MuiAlert: {
398
+ styleOverrides: {
399
+ root: {
400
+ "&.MuiAlert-standardInfo": {
401
+ backgroundColor: "var(--module-bg)",
402
+ color: "var(--text-color)",
403
+ "& .MuiAlert-icon": {
404
+ color: "var(--highlight-color)"
405
+ },
406
+ "& .MuiAlertTitle-root": {
407
+ color: "var(--text-color)"
408
+ }
409
+ },
410
+ "&.MuiAlert-standardError": {
411
+ backgroundColor: "var(--dash-alert-error-bg)",
412
+ color: "var(--dash-alert-error-title)"
413
+ },
414
+ "&.MuiAlert-standardWarning": {
415
+ backgroundColor: "var(--dash-alert-warning-bg)",
416
+ color: "var(--dash-alert-warning-title)"
417
+ },
418
+ "&.MuiAlert-standardSuccess": {
419
+ backgroundColor: "var(--dash-alert-success-bg)",
420
+ color: "var(--dash-alert-success-title)"
421
+ }
422
+ }
423
+ }
424
+ },
425
+ MuiAccordion: {
426
+ styleOverrides: {
427
+ root: {
428
+ backgroundColor: "var(--module-bg)",
429
+ "&.MuiPaper-root": {
430
+ backgroundColor: "var(--module-bg)"
431
+ }
432
+ }
433
+ }
434
+ },
435
+ MuiAccordionSummary: {
436
+ styleOverrides: {
437
+ expandIconWrapper: {
438
+ color: "inherit",
439
+ "& .MuiSvgIcon-root": {
440
+ color: "inherit"
441
+ }
442
+ }
443
+ }
444
+ },
445
+ MuiBox: {
446
+ styleOverrides: {
447
+ root: {
448
+ display: "flex !important"
449
+ }
450
+ }
451
+ },
452
+ /* MuiCard: {
453
+ styleOverrides: {
454
+ root: {
455
+ backgroundColor: 'var(--module-bg)',
456
+ },
457
+ },
458
+ },
459
+ MuiPaper: {
460
+ styleOverrides: {
461
+ root: {
462
+ marginBottom: 8,
463
+ backgroundColor: 'var(--module-bg)', // Use the correct variable name
464
+ color: 'var(--text-color)',
465
+ },
466
+ },
467
+ },
468
+ */
469
+ MuiAppBar: {
470
+ styleOverrides: {
471
+ root: {
472
+ backgroundColor: "var(--primary-color)",
473
+ color: "var(--text-contrast-color)"
474
+ }
475
+ }
476
+ },
477
+ /*MuiChip: {
478
+ styleOverrides: {
479
+ root: {
480
+ '&.MuiChip-colorPrimary': {
481
+ backgroundColor: 'var(--primary-color)',
482
+ color: 'var(--text-light-color)',
483
+ },
484
+ '&.MuiChip-colorSecondary': {
485
+ backgroundColor: 'var(--secondary-color)',
486
+ color: 'var(--text-light-color)',
487
+ },
488
+ },
489
+ },
490
+ },*/
491
+ MuiInputBase: {
492
+ styleOverrides: {
493
+ input: {
494
+ "& .MuiOutlinedInput-root": {
495
+ border: 1
496
+ }
497
+ },
498
+ /*input: {
499
+ '&::placeholder': {
500
+ color: 'var(--highlight-color)',
501
+ opacity: 1,
502
+ },
503
+ // For WebKit browsers
504
+ '&::-webkit-input-placeholder': {
505
+ color: 'var(--highlight-color)',
506
+ opacity: 1,
507
+ },
508
+ },*/
509
+ colorPrimary: {
510
+ color: "var(--text-color)"
511
+ }
512
+ }
513
+ },
514
+ MuiOutlinedInput: {
515
+ styleOverrides: {
516
+ root: {
517
+ color: "var(--text-color)",
518
+ "& .MuiOutlinedInput-notchedOutline": {
519
+ borderColor: "var(--border-color)"
520
+ },
521
+ "&:hover .MuiOutlinedInput-notchedOutline": {
522
+ borderColor: "var(--primary-color)"
523
+ },
524
+ "&.Mui-focused .MuiOutlinedInput-notchedOutline": {
525
+ borderColor: "var(--primary-color)"
526
+ }
527
+ }
528
+ }
529
+ },
530
+ MuiInputLabel: {
531
+ styleOverrides: {
532
+ root: {
533
+ color: "var(--text-color)",
534
+ "&.Mui-focused": {
535
+ color: "var(--primary-color)"
536
+ }
537
+ }
538
+ }
539
+ },
540
+ MuiSelect: {
541
+ styleOverrides: {
542
+ select: {
543
+ color: "var(--text-color)"
544
+ },
545
+ icon: {
546
+ color: "var(--text-color)"
547
+ }
548
+ }
549
+ },
550
+ MuiTextField: {
551
+ styleOverrides: {
552
+ root: {
553
+ "& .MuiOutlinedInput-root": {
554
+ "& fieldset": {
555
+ borderColor: "var(--border-color)"
556
+ },
557
+ "&:hover fieldset": {
558
+ borderColor: "var(--primary-color)"
559
+ },
560
+ "&.Mui-focused fieldset": {
561
+ borderColor: "var(--primary-color)"
562
+ }
563
+ },
564
+ "& .MuiInputLabel-root": {
565
+ color: "var(--text-light-color)",
566
+ "&.Mui-focused": {
567
+ color: "var(--primary-color)"
568
+ }
569
+ }
570
+ /* '& .MuiInputBase-input': {
571
+ color: 'var(--text-color)',
572
+ // Add placeholder styling here
573
+ '&::placeholder': {
574
+ color: 'var(--highlight-color)',
575
+ opacity: 0.7,
576
+ },
577
+ '&::-webkit-input-placeholder': {
578
+ color: 'var(--highlight-color)',
579
+ opacity: 0.7,
580
+ },
581
+ '&::-moz-placeholder': {
582
+ color: 'var(--highlight-color)',
583
+ opacity: 0.7,
584
+ },
585
+ '&:-ms-input-placeholder': {
586
+ color: 'var(--highlight-color)',
587
+ opacity: 0.7,
588
+ },
589
+ '&:-moz-placeholder': {
590
+ color: 'var(--highlight-color)',
591
+ opacity: 0.7,
592
+ },
593
+ },*/
594
+ }
595
+ }
596
+ },
597
+ // Add more component overrides as needed for other elements that use primary/secondary colors
598
+ MuiIconButton: {
599
+ styleOverrides: {
600
+ root: {
601
+ height: 30,
602
+ width: 30,
603
+ color: "var(--text-color)",
604
+ backgroundColor: "var(--secondary-color)",
605
+ "&:hover": {
606
+ "& svg": {
607
+ color: "var(--highlight-color-contrast)",
608
+ fill: "var(--highlight-color-contrast)"
609
+ },
610
+ color: "var(--highlight-color-contrast)",
611
+ backgroundColor: "var(--highlight-color)"
612
+ }
613
+ }
614
+ }
615
+ },
616
+ MuiAvatar: {
617
+ styleOverrides: {
618
+ root: {
619
+ color: "var(--text-color)",
620
+ backgroundColor: "var(--secondary-color)",
621
+ "&:hover": {
622
+ "& svg": {
623
+ color: "var(--highlight-color-contrast)",
624
+ fill: "var(--highlight-color-contrast)"
625
+ },
626
+ color: "var(--highlight-color-contrast)",
627
+ backgroundColor: "var(--highlight-color)"
628
+ }
629
+ }
630
+ }
631
+ },
632
+ MuiTable: {
633
+ styleOverrides: {
634
+ root: {
635
+ backgroundColor: "var(--component-bg)",
636
+ color: "var(--text-color)"
637
+ }
638
+ }
639
+ },
640
+ MuiTableHead: {
641
+ styleOverrides: {
642
+ root: {
643
+ backgroundColor: "var(--table-header-bg) !important",
644
+ color: "var(--table-header-color) !important"
645
+ }
646
+ }
647
+ },
648
+ MuiTableRow: {
649
+ styleOverrides: {
650
+ root: {
651
+ "&:hover": {
652
+ backgroundColor: "var(--component-hover-bg)"
653
+ },
654
+ "&.MuiTableRow-head": {
655
+ backgroundColor: "var(--table-header-bg) !important",
656
+ color: "var(--table-header-color) !important"
657
+ }
658
+ }
659
+ }
660
+ },
661
+ MuiTableCell: {
662
+ styleOverrides: {
663
+ root: {
664
+ textWrapMode: "nowrap",
665
+ borderColor: "var(--border-color-split)",
666
+ color: "var(--text-color)",
667
+ //borderBottom: '1px solid var(--border-color)',
668
+ "& .MuiTableSortLabel-root, & .MuiTableSortLabel-icon": {
669
+ color: "var(--table-header-color) !important"
670
+ }
671
+ },
672
+ head: {
673
+ fontWeight: 600,
674
+ color: "var(--table-header-color) !important",
675
+ backgroundColor: "var(--table-header-bg) !important"
676
+ }
677
+ }
678
+ },
679
+ MuiDataGrid: {
680
+ styleOverrides: {
681
+ root: {
682
+ backgroundColor: "var(--component-bg)",
683
+ color: "var(--text-color)",
684
+ border: "1px solid var(--border-color)",
685
+ "& .MuiDataGrid-main": {
686
+ backgroundColor: "var(--component-bg)"
687
+ },
688
+ "& .MuiDataGrid-overlay": {
689
+ backgroundColor: "var(--component-bg)",
690
+ color: "var(--text-color)"
691
+ },
692
+ // Add this to target the header row specifically
693
+ "& .MuiDataGrid-columnHeaderRow": {
694
+ color: "var(--table-header-color) !important",
695
+ backgroundColor: "var(--table-header-bg) !important"
696
+ },
697
+ // Also target the container that holds the header
698
+ "& .MuiDataGrid-container--top [role=row]": {
699
+ color: "var(--table-header-color) !important",
700
+ backgroundColor: "var(--table-header-bg) !important"
701
+ }
702
+ },
703
+ columnHeader: {
704
+ color: "var(--table-header-color) !important",
705
+ backgroundColor: "var(--table-header-bg) !important",
706
+ "& .MuiSvgIcon-root": {
707
+ color: "var(--highlight-color) !important"
708
+ }
709
+ },
710
+ columnHeaders: {
711
+ backgroundColor: "var(--primary-contrast)",
712
+ color: "var(--btn-primary-color)",
713
+ borderBottom: "1px solid var(--border-color)",
714
+ "& .MuiDataGrid-columnHeaderTitle": {
715
+ color: "var(--btn-primary-color)",
716
+ fontWeight: 600
717
+ },
718
+ "& .MuiDataGrid-iconSeparator": {
719
+ color: "var(--btn-primary-color)"
720
+ },
721
+ "& .MuiDataGrid-sortIcon": {
722
+ color: "var(--btn-primary-color)"
723
+ },
724
+ "& .MuiDataGrid-menuIcon": {
725
+ color: "var(--btn-primary-color)"
726
+ }
727
+ },
728
+ // Add this new selector for the column header row
729
+ columnHeaderRow: {
730
+ color: "var(--table-header-color) !important",
731
+ backgroundColor: "var(--table-header-bg) !important"
732
+ },
733
+ cell: {
734
+ borderBottom: "1px solid var(--border-color)",
735
+ color: "var(--text-color)",
736
+ "&:focus": {
737
+ outline: "1px solid var(--primary-color)"
738
+ },
739
+ "&.MuiDataGrid-cell--editing": {
740
+ backgroundColor: "var(--component-active-bg)"
741
+ }
742
+ },
743
+ row: {
744
+ backgroundColor: "var(--component-bg)",
745
+ "&:hover": {
746
+ backgroundColor: "var(--component-hover-bg)"
747
+ },
748
+ "&.Mui-selected": {
749
+ backgroundColor: "var(--component-active-bg)",
750
+ "&:hover": {
751
+ backgroundColor: "var(--component-hover-bg)"
752
+ }
753
+ },
754
+ "&.MuiDataGrid-row": {
755
+ backgroundColor: "var(--bodybg-primary)"
756
+ },
757
+ "&.MuiDataGrid-row--odd": {
758
+ backgroundColor: "var(--bodybg-secondary)"
759
+ }
760
+ },
761
+ footerContainer: {
762
+ backgroundColor: "var(--component-bg)",
763
+ borderTop: "1px solid var(--border-color-split)",
764
+ color: "var(--text-color)"
765
+ },
766
+ toolbarContainer: {
767
+ backgroundColor: "var(--component-bg)",
768
+ borderBottom: "1px solid var(--border-color-split)",
769
+ color: "var(--text-color)",
770
+ "& .MuiButton-root": {
771
+ color: "var(--btn-color)",
772
+ "&:hover": {
773
+ backgroundColor: "var(--btn-hover-bg)"
774
+ }
775
+ }
776
+ },
777
+ filterForm: {
778
+ backgroundColor: "var(--component-bg)",
779
+ color: "var(--text-color)"
780
+ },
781
+ panel: {
782
+ backgroundColor: "var(--component-bg)",
783
+ color: "var(--text-color)",
784
+ border: "1px solid var(--border-color)"
785
+ },
786
+ panelHeader: {
787
+ backgroundColor: "var(--primary-contrast)",
788
+ borderBottom: "1px solid var(--border-color-split)"
789
+ },
790
+ panelContent: {
791
+ backgroundColor: "var(--component-bg)"
792
+ },
793
+ columnMenu: {
794
+ backgroundColor: "var(--component-bg)",
795
+ color: "var(--text-color)",
796
+ "& .MuiMenuItem-root": {
797
+ color: "var(--text-color)",
798
+ "&:hover": {
799
+ backgroundColor: "var(--component-hover-bg)"
800
+ }
801
+ }
802
+ }
803
+ }
804
+ }
805
+ }
806
+ };
807
+ }, x = (n) => {
808
+ const c = p(n || {}), { palette: a, colorSchemes: e, defaultColorScheme: o, cssVariables: l, ...r } = c;
809
+ return r;
810
+ }, M = (n, c) => {
811
+ const { tenantSettings: a, colors: e, ...o } = c || {}, l = {
812
+ cssVariables: !0,
813
+ ...p(c)
814
+ };
815
+ return n ? g(g(u, l), n) : g(u, l);
816
+ }, k = (n) => {
817
+ const { colors: c } = n || {}, a = document.documentElement.getAttribute("data-theme") || "dark", e = h(":root"), o = (r) => {
818
+ const i = `--${r}--${a}`;
819
+ if (c?.[`${r}--${a}`])
820
+ return c[`${r}--${a}`];
821
+ if (e[i])
822
+ return e[i];
823
+ if (e[`--${r}`])
824
+ return e[`--${r}`];
825
+ }, l = {
826
+ // Core
827
+ colorPrimary: o("btn-bg"),
828
+ colorSuccess: o("alert-success-bg"),
829
+ colorWarning: o("alert-warning-bg"),
830
+ colorError: o("alert-error-bg"),
831
+ colorInfo: o("alert-info-bg"),
832
+ // Text
833
+ colorText: o("text-color"),
834
+ colorTextSecondary: o("text-light-color"),
835
+ colorTextDisabled: o("disabled-color"),
836
+ // Background
837
+ colorBgBase: o("bodybg-primary"),
838
+ colorBgContainer: o("component-bg"),
839
+ colorBgElevated: o("module-bg"),
840
+ colorBgLayout: o("body-bg"),
841
+ // Borders
842
+ colorBorder: o("border-color"),
843
+ colorSplit: o("border-color-split"),
844
+ // Typography
845
+ fontSize: 14,
846
+ borderRadius: 6
847
+ };
848
+ return Object.keys(l).forEach((r) => {
849
+ l[r] === void 0 && delete l[r];
850
+ }), {
851
+ cssVar: !0,
852
+ hashed: !1,
853
+ algorithm: a === "dark" ? v.darkAlgorithm : v.defaultAlgorithm,
854
+ token: l,
855
+ components: {
856
+ Table: {
857
+ headerBg: o("table-header-bg"),
858
+ headerColor: o("table-header-color"),
859
+ rowHoverBg: o("component-hover-bg"),
860
+ rowSelectedBg: o("component-active-bg"),
861
+ borderColor: o("border-color"),
862
+ footerBg: o("component-bg")
863
+ },
864
+ Button: {
865
+ colorPrimary: o("btn-bg"),
866
+ colorPrimaryHover: o("highlight-color"),
867
+ colorPrimaryActive: o("btn-active-bg"),
868
+ defaultBg: o("secondary-color"),
869
+ defaultColor: o("text-color"),
870
+ defaultBorderColor: o("border-color")
871
+ },
872
+ Input: {
873
+ colorBgContainer: o("component-bg"),
874
+ colorBorder: o("border-color"),
875
+ colorText: o("text-color"),
876
+ activeBorderColor: o("primary-color"),
877
+ hoverBorderColor: o("primary-color")
878
+ },
879
+ Select: {
880
+ colorBgContainer: o("component-bg"),
881
+ colorBorder: o("border-color"),
882
+ colorText: o("text-color")
883
+ },
884
+ Dropdown: {
885
+ colorBgElevated: o("component-bg"),
886
+ colorText: o("text-color")
887
+ },
888
+ Modal: {
889
+ contentBg: o("component-bg"),
890
+ headerBg: o("component-bg"),
891
+ titleColor: o("text-color")
892
+ },
893
+ Layout: {
894
+ headerBg: o("primary-color"),
895
+ bodyBg: o("bodybg-primary"),
896
+ siderBg: o("sidebar-bg")
897
+ },
898
+ Menu: {
899
+ itemBg: "transparent",
900
+ itemColor: o("text-color"),
901
+ itemHoverBg: o("component-hover-bg"),
902
+ itemSelectedBg: o("component-active-bg"),
903
+ itemSelectedColor: o("highlight-color")
904
+ },
905
+ Card: {
906
+ colorBgContainer: o("component-bg"),
907
+ colorBorderSecondary: o("border-color")
908
+ },
909
+ Tooltip: {
910
+ colorBgSpotlight: o("module-bg"),
911
+ colorTextLightSolid: o("text-color")
912
+ },
913
+ Tabs: {
914
+ itemColor: o("text-color"),
915
+ itemSelectedColor: o("highlight-color"),
916
+ inkBarColor: o("highlight-color")
917
+ }
918
+ }
919
+ };
920
+ };
921
+ export {
922
+ M as appTheme,
923
+ M as default,
924
+ x as defaultComponentOverrides,
925
+ p as defaultOptions,
926
+ k as getAntTheme
927
+ };
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@dashadmin/dash-styles",
3
+ "version": "1.0.0",
4
+ "description": "dash-styles — DASH framework package",
5
+ "license": "MIT",
6
+ "author": "Francisco Aranda <farandal@gmail.com>",
7
+ "type": "module",
8
+ "main": "index.js",
9
+ "module": "index.js",
10
+ "types": "index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./index.d.ts",
14
+ "import": "./index.js"
15
+ }
16
+ },
17
+ "files": [
18
+ "**/*"
19
+ ],
20
+ "sideEffects": false,
21
+ "dependencies": {
22
+ "@mui/utils": "^7.3.10",
23
+ "react-admin": "5.14.6"
24
+ },
25
+ "peerDependencies": {
26
+ "antd": ">=5.0.0"
27
+ },
28
+ "publishConfig": {
29
+ "access": "public"
30
+ },
31
+ "engines": {
32
+ "node": ">=18"
33
+ }
34
+ }