@fakhrirafiki/theme-engine 0.2.2 → 0.2.6
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/dist/index.d.mts +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +231 -65
- package/dist/index.mjs +231 -65
- package/package.json +5 -2
package/dist/index.js
CHANGED
|
@@ -125,11 +125,56 @@ var ALL_CSS_PROPERTIES = [
|
|
|
125
125
|
];
|
|
126
126
|
|
|
127
127
|
// src/data/tweakcn-presets.ts
|
|
128
|
+
var DEFAULT_ACCENT_COLORS = {
|
|
129
|
+
DARK: {
|
|
130
|
+
"accent-info": "#38BDF8",
|
|
131
|
+
// bright sky blue
|
|
132
|
+
"accent-info-foreground": "#0F172A",
|
|
133
|
+
"accent-success": "#4ADE80",
|
|
134
|
+
// fresh green
|
|
135
|
+
"accent-success-foreground": "#0F172A",
|
|
136
|
+
"accent-warning": "#FBBF24",
|
|
137
|
+
// amber gold
|
|
138
|
+
"accent-warning-foreground": "#0F172A",
|
|
139
|
+
"accent-danger": "#F87171",
|
|
140
|
+
// vivid red
|
|
141
|
+
"accent-danger-foreground": "#0F172A",
|
|
142
|
+
"accent-brand": "#FB923C",
|
|
143
|
+
// warm orange coral (brand)
|
|
144
|
+
"accent-brand-foreground": "#0F172A",
|
|
145
|
+
"accent-feature": "#F472B6",
|
|
146
|
+
// playful pink for feature highlight
|
|
147
|
+
"accent-feature-foreground": "#0F172A",
|
|
148
|
+
"accent-highlight": "#A78BFA",
|
|
149
|
+
// lavender for accents
|
|
150
|
+
"accent-highlight-foreground": "#0F172A"
|
|
151
|
+
},
|
|
152
|
+
LIGHT: {
|
|
153
|
+
"accent-info": "#3B82F6",
|
|
154
|
+
"accent-info-foreground": "#FFFFFF",
|
|
155
|
+
"accent-success": "#22C55E",
|
|
156
|
+
"accent-success-foreground": "#FFFFFF",
|
|
157
|
+
"accent-warning": "#F59E0B",
|
|
158
|
+
"accent-warning-foreground": "#FFFFFF",
|
|
159
|
+
"accent-danger": "#EF4444",
|
|
160
|
+
"accent-danger-foreground": "#FFFFFF",
|
|
161
|
+
"accent-brand": "#F97316",
|
|
162
|
+
// Coral orange
|
|
163
|
+
"accent-brand-foreground": "#FFFFFF",
|
|
164
|
+
"accent-feature": "#FB923C",
|
|
165
|
+
// Lighter orange
|
|
166
|
+
"accent-feature-foreground": "#0F172A",
|
|
167
|
+
"accent-highlight": "#E879F9",
|
|
168
|
+
// fun pink-violet accent
|
|
169
|
+
"accent-highlight-foreground": "#0F172A"
|
|
170
|
+
}
|
|
171
|
+
};
|
|
128
172
|
var tweakcnPresets = {
|
|
129
173
|
"modern-minimal": {
|
|
130
174
|
label: "Modern Minimal",
|
|
131
175
|
styles: {
|
|
132
176
|
light: {
|
|
177
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
133
178
|
background: "#ffffff",
|
|
134
179
|
foreground: "#333333",
|
|
135
180
|
card: "#ffffff",
|
|
@@ -168,6 +213,7 @@ var tweakcnPresets = {
|
|
|
168
213
|
"font-mono": "JetBrains Mono, monospace"
|
|
169
214
|
},
|
|
170
215
|
dark: {
|
|
216
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
171
217
|
background: "#171717",
|
|
172
218
|
foreground: "#e5e5e5",
|
|
173
219
|
card: "#262626",
|
|
@@ -209,6 +255,7 @@ var tweakcnPresets = {
|
|
|
209
255
|
createdAt: "2025-06-26",
|
|
210
256
|
styles: {
|
|
211
257
|
light: {
|
|
258
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
212
259
|
background: "#fdfdfd",
|
|
213
260
|
foreground: "#000000",
|
|
214
261
|
card: "#fdfdfd",
|
|
@@ -255,6 +302,7 @@ var tweakcnPresets = {
|
|
|
255
302
|
spacing: "0.27rem"
|
|
256
303
|
},
|
|
257
304
|
dark: {
|
|
305
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
258
306
|
background: "#1a1b1e",
|
|
259
307
|
foreground: "#f0f0f0",
|
|
260
308
|
card: "#222327",
|
|
@@ -307,6 +355,7 @@ var tweakcnPresets = {
|
|
|
307
355
|
createdAt: "2025-04-19",
|
|
308
356
|
styles: {
|
|
309
357
|
light: {
|
|
358
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
310
359
|
background: "#faf5fa",
|
|
311
360
|
foreground: "#501854",
|
|
312
361
|
card: "#faf5fa",
|
|
@@ -342,6 +391,7 @@ var tweakcnPresets = {
|
|
|
342
391
|
radius: "0.5rem"
|
|
343
392
|
},
|
|
344
393
|
dark: {
|
|
394
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
345
395
|
background: "#221d27",
|
|
346
396
|
foreground: "#d2c4de",
|
|
347
397
|
card: "#2c2632",
|
|
@@ -382,6 +432,7 @@ var tweakcnPresets = {
|
|
|
382
432
|
createdAt: "2025-04-24",
|
|
383
433
|
styles: {
|
|
384
434
|
light: {
|
|
435
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
385
436
|
background: "#ffffff",
|
|
386
437
|
foreground: "#0f1419",
|
|
387
438
|
card: "#f7f8f8",
|
|
@@ -426,6 +477,7 @@ var tweakcnPresets = {
|
|
|
426
477
|
"shadow-offset-y": "2px"
|
|
427
478
|
},
|
|
428
479
|
dark: {
|
|
480
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
429
481
|
background: "#000000",
|
|
430
482
|
foreground: "#e7e9ea",
|
|
431
483
|
card: "#17181c",
|
|
@@ -467,6 +519,7 @@ var tweakcnPresets = {
|
|
|
467
519
|
createdAt: "2025-04-24",
|
|
468
520
|
styles: {
|
|
469
521
|
light: {
|
|
522
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
470
523
|
background: "#F1F0E5",
|
|
471
524
|
foreground: "#56453F",
|
|
472
525
|
card: "#F1F0E5",
|
|
@@ -511,6 +564,7 @@ var tweakcnPresets = {
|
|
|
511
564
|
"shadow-offset-y": "2px"
|
|
512
565
|
},
|
|
513
566
|
dark: {
|
|
567
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
514
568
|
background: "#2d2521",
|
|
515
569
|
foreground: "#F1F0E5",
|
|
516
570
|
card: "#3c332e",
|
|
@@ -552,6 +606,7 @@ var tweakcnPresets = {
|
|
|
552
606
|
createdAt: "2025-04-18",
|
|
553
607
|
styles: {
|
|
554
608
|
light: {
|
|
609
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
555
610
|
background: "#f6e6ee",
|
|
556
611
|
foreground: "#5b5b5b",
|
|
557
612
|
card: "#fdedc9",
|
|
@@ -596,6 +651,7 @@ var tweakcnPresets = {
|
|
|
596
651
|
"shadow-offset-y": "3px"
|
|
597
652
|
},
|
|
598
653
|
dark: {
|
|
654
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
599
655
|
background: "#12242e",
|
|
600
656
|
foreground: "#f3e3ea",
|
|
601
657
|
card: "#1c2e38",
|
|
@@ -640,6 +696,7 @@ var tweakcnPresets = {
|
|
|
640
696
|
createdAt: "2025-05-08",
|
|
641
697
|
styles: {
|
|
642
698
|
light: {
|
|
699
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
643
700
|
background: "#f8f7fa",
|
|
644
701
|
foreground: "#3d3c4f",
|
|
645
702
|
card: "#ffffff",
|
|
@@ -686,6 +743,7 @@ var tweakcnPresets = {
|
|
|
686
743
|
spacing: "0.25rem"
|
|
687
744
|
},
|
|
688
745
|
dark: {
|
|
746
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
689
747
|
background: "#1a1823",
|
|
690
748
|
foreground: "#e0ddef",
|
|
691
749
|
card: "#232030",
|
|
@@ -726,6 +784,7 @@ var tweakcnPresets = {
|
|
|
726
784
|
createdAt: "2025-05-10",
|
|
727
785
|
styles: {
|
|
728
786
|
light: {
|
|
787
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
729
788
|
background: "#f9f9f9",
|
|
730
789
|
foreground: "#3a3a3a",
|
|
731
790
|
card: "#ffffff",
|
|
@@ -772,6 +831,7 @@ var tweakcnPresets = {
|
|
|
772
831
|
spacing: "0.25rem"
|
|
773
832
|
},
|
|
774
833
|
dark: {
|
|
834
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
775
835
|
background: "#2b2b2b",
|
|
776
836
|
foreground: "#dcdcdc",
|
|
777
837
|
card: "#333333",
|
|
@@ -824,6 +884,7 @@ var tweakcnPresets = {
|
|
|
824
884
|
createdAt: "2025-04-28",
|
|
825
885
|
styles: {
|
|
826
886
|
light: {
|
|
887
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
827
888
|
background: "#cccccc",
|
|
828
889
|
foreground: "#1f1f1f",
|
|
829
890
|
card: "#b0b0b0",
|
|
@@ -870,6 +931,7 @@ var tweakcnPresets = {
|
|
|
870
931
|
spacing: "0.25rem"
|
|
871
932
|
},
|
|
872
933
|
dark: {
|
|
934
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
873
935
|
background: "#1a1a1a",
|
|
874
936
|
foreground: "#e0e0e0",
|
|
875
937
|
card: "#2a2a2a",
|
|
@@ -922,6 +984,7 @@ var tweakcnPresets = {
|
|
|
922
984
|
createdAt: "2025-04-18",
|
|
923
985
|
styles: {
|
|
924
986
|
light: {
|
|
987
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
925
988
|
background: "#eff1f5",
|
|
926
989
|
foreground: "#4c4f69",
|
|
927
990
|
card: "#ffffff",
|
|
@@ -966,6 +1029,7 @@ var tweakcnPresets = {
|
|
|
966
1029
|
"shadow-offset-y": "4px"
|
|
967
1030
|
},
|
|
968
1031
|
dark: {
|
|
1032
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
969
1033
|
background: "#181825",
|
|
970
1034
|
foreground: "#cdd6f4",
|
|
971
1035
|
card: "#1e1e2e",
|
|
@@ -1006,6 +1070,7 @@ var tweakcnPresets = {
|
|
|
1006
1070
|
createdAt: "2025-04-17",
|
|
1007
1071
|
styles: {
|
|
1008
1072
|
light: {
|
|
1073
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
1009
1074
|
background: "#f0f0f0",
|
|
1010
1075
|
foreground: "#333333",
|
|
1011
1076
|
card: "#f5f5f5",
|
|
@@ -1050,6 +1115,7 @@ var tweakcnPresets = {
|
|
|
1050
1115
|
"shadow-offset-y": "2px"
|
|
1051
1116
|
},
|
|
1052
1117
|
dark: {
|
|
1118
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
1053
1119
|
background: "#1a1a1a",
|
|
1054
1120
|
foreground: "#d9d9d9",
|
|
1055
1121
|
card: "#202020",
|
|
@@ -1093,6 +1159,7 @@ var tweakcnPresets = {
|
|
|
1093
1159
|
createdAt: "2025-04-01",
|
|
1094
1160
|
styles: {
|
|
1095
1161
|
light: {
|
|
1162
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
1096
1163
|
background: "#e8f0f0",
|
|
1097
1164
|
foreground: "#0a4a55",
|
|
1098
1165
|
card: "#f2f7f7",
|
|
@@ -1137,6 +1204,7 @@ var tweakcnPresets = {
|
|
|
1137
1204
|
"shadow-offset-y": "1px"
|
|
1138
1205
|
},
|
|
1139
1206
|
dark: {
|
|
1207
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
1140
1208
|
background: "#0a1a20",
|
|
1141
1209
|
foreground: "#4de8e8",
|
|
1142
1210
|
card: "#0c2025",
|
|
@@ -1186,6 +1254,7 @@ var tweakcnPresets = {
|
|
|
1186
1254
|
label: "Kodama Grove",
|
|
1187
1255
|
styles: {
|
|
1188
1256
|
light: {
|
|
1257
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
1189
1258
|
background: "#e4d7b0",
|
|
1190
1259
|
foreground: "#5c4b3e",
|
|
1191
1260
|
card: "#e7dbbf",
|
|
@@ -1230,6 +1299,7 @@ var tweakcnPresets = {
|
|
|
1230
1299
|
"shadow-offset-y": "3px"
|
|
1231
1300
|
},
|
|
1232
1301
|
dark: {
|
|
1302
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
1233
1303
|
background: "#3a3529",
|
|
1234
1304
|
foreground: "#ede4d4",
|
|
1235
1305
|
card: "#413c33",
|
|
@@ -1270,6 +1340,7 @@ var tweakcnPresets = {
|
|
|
1270
1340
|
createdAt: "2025-04-04",
|
|
1271
1341
|
styles: {
|
|
1272
1342
|
light: {
|
|
1343
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
1273
1344
|
background: "#f5f5ff",
|
|
1274
1345
|
foreground: "#2a2a4a",
|
|
1275
1346
|
card: "#ffffff",
|
|
@@ -1314,6 +1385,7 @@ var tweakcnPresets = {
|
|
|
1314
1385
|
"shadow-offset-y": "4px"
|
|
1315
1386
|
},
|
|
1316
1387
|
dark: {
|
|
1388
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
1317
1389
|
background: "#0f0f1a",
|
|
1318
1390
|
foreground: "#e2e2f5",
|
|
1319
1391
|
card: "#1a1a2e",
|
|
@@ -1355,6 +1427,7 @@ var tweakcnPresets = {
|
|
|
1355
1427
|
createdAt: "2025-04-09",
|
|
1356
1428
|
styles: {
|
|
1357
1429
|
light: {
|
|
1430
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
1358
1431
|
background: "#e8ebed",
|
|
1359
1432
|
foreground: "#333333",
|
|
1360
1433
|
card: "#ffffff",
|
|
@@ -1399,6 +1472,7 @@ var tweakcnPresets = {
|
|
|
1399
1472
|
"shadow-offset-y": "1px"
|
|
1400
1473
|
},
|
|
1401
1474
|
dark: {
|
|
1475
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
1402
1476
|
background: "#1c2433",
|
|
1403
1477
|
foreground: "#e5e5e5",
|
|
1404
1478
|
card: "#2a3040",
|
|
@@ -1439,6 +1513,7 @@ var tweakcnPresets = {
|
|
|
1439
1513
|
createdAt: "2025-04-03",
|
|
1440
1514
|
styles: {
|
|
1441
1515
|
light: {
|
|
1516
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
1442
1517
|
background: "#fff0f8",
|
|
1443
1518
|
foreground: "#91185c",
|
|
1444
1519
|
card: "#fff7fc",
|
|
@@ -1483,6 +1558,7 @@ var tweakcnPresets = {
|
|
|
1483
1558
|
"shadow-offset-y": "3px"
|
|
1484
1559
|
},
|
|
1485
1560
|
dark: {
|
|
1561
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
1486
1562
|
background: "#1a0922",
|
|
1487
1563
|
foreground: "#ffb3ff",
|
|
1488
1564
|
card: "#2a1435",
|
|
@@ -1526,6 +1602,7 @@ var tweakcnPresets = {
|
|
|
1526
1602
|
label: "Nature",
|
|
1527
1603
|
styles: {
|
|
1528
1604
|
light: {
|
|
1605
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
1529
1606
|
background: "#f8f5f0",
|
|
1530
1607
|
foreground: "#3e2723",
|
|
1531
1608
|
card: "#f8f5f0",
|
|
@@ -1564,6 +1641,7 @@ var tweakcnPresets = {
|
|
|
1564
1641
|
"font-mono": "Source Code Pro, monospace"
|
|
1565
1642
|
},
|
|
1566
1643
|
dark: {
|
|
1644
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
1567
1645
|
background: "#1c2a1f",
|
|
1568
1646
|
foreground: "#f0ebe5",
|
|
1569
1647
|
card: "#2d3a2e",
|
|
@@ -1604,6 +1682,7 @@ var tweakcnPresets = {
|
|
|
1604
1682
|
label: "Bold Tech",
|
|
1605
1683
|
styles: {
|
|
1606
1684
|
light: {
|
|
1685
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
1607
1686
|
background: "#ffffff",
|
|
1608
1687
|
foreground: "#312e81",
|
|
1609
1688
|
card: "#ffffff",
|
|
@@ -1648,6 +1727,7 @@ var tweakcnPresets = {
|
|
|
1648
1727
|
"shadow-offset-y": "2px"
|
|
1649
1728
|
},
|
|
1650
1729
|
dark: {
|
|
1730
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
1651
1731
|
background: "#0f172a",
|
|
1652
1732
|
foreground: "#e0e7ff",
|
|
1653
1733
|
card: "#1e1b4b",
|
|
@@ -1688,6 +1768,7 @@ var tweakcnPresets = {
|
|
|
1688
1768
|
label: "Elegant Luxury",
|
|
1689
1769
|
styles: {
|
|
1690
1770
|
light: {
|
|
1771
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
1691
1772
|
background: "#faf7f5",
|
|
1692
1773
|
foreground: "#1a1a1a",
|
|
1693
1774
|
card: "#faf7f5",
|
|
@@ -1732,6 +1813,7 @@ var tweakcnPresets = {
|
|
|
1732
1813
|
"shadow-offset-y": "1px"
|
|
1733
1814
|
},
|
|
1734
1815
|
dark: {
|
|
1816
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
1735
1817
|
background: "#1c1917",
|
|
1736
1818
|
foreground: "#f5f5f4",
|
|
1737
1819
|
card: "#292524",
|
|
@@ -1773,6 +1855,7 @@ var tweakcnPresets = {
|
|
|
1773
1855
|
createdAt: "2025-04-27",
|
|
1774
1856
|
styles: {
|
|
1775
1857
|
light: {
|
|
1858
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
1776
1859
|
background: "#ffffff",
|
|
1777
1860
|
foreground: "#262626",
|
|
1778
1861
|
card: "#ffffff",
|
|
@@ -1819,6 +1902,7 @@ var tweakcnPresets = {
|
|
|
1819
1902
|
spacing: "0.25rem"
|
|
1820
1903
|
},
|
|
1821
1904
|
dark: {
|
|
1905
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
1822
1906
|
background: "#171717",
|
|
1823
1907
|
foreground: "#e5e5e5",
|
|
1824
1908
|
card: "#262626",
|
|
@@ -1859,6 +1943,7 @@ var tweakcnPresets = {
|
|
|
1859
1943
|
createdAt: "2025-04-27",
|
|
1860
1944
|
styles: {
|
|
1861
1945
|
light: {
|
|
1946
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
1862
1947
|
background: "#fcfcfc",
|
|
1863
1948
|
foreground: "#171717",
|
|
1864
1949
|
card: "#fcfcfc",
|
|
@@ -1904,6 +1989,7 @@ var tweakcnPresets = {
|
|
|
1904
1989
|
"letter-spacing": "0.025em"
|
|
1905
1990
|
},
|
|
1906
1991
|
dark: {
|
|
1992
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
1907
1993
|
background: "#121212",
|
|
1908
1994
|
foreground: "#e2e8f0",
|
|
1909
1995
|
card: "#171717",
|
|
@@ -1943,6 +2029,7 @@ var tweakcnPresets = {
|
|
|
1943
2029
|
label: "Neo Brutalism",
|
|
1944
2030
|
styles: {
|
|
1945
2031
|
light: {
|
|
2032
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
1946
2033
|
background: "#ffffff",
|
|
1947
2034
|
foreground: "#000000",
|
|
1948
2035
|
card: "#ffffff",
|
|
@@ -1986,6 +2073,7 @@ var tweakcnPresets = {
|
|
|
1986
2073
|
"shadow-offset-y": "4px"
|
|
1987
2074
|
},
|
|
1988
2075
|
dark: {
|
|
2076
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
1989
2077
|
background: "#000000",
|
|
1990
2078
|
foreground: "#ffffff",
|
|
1991
2079
|
card: "#333333",
|
|
@@ -2027,6 +2115,7 @@ var tweakcnPresets = {
|
|
|
2027
2115
|
createdAt: "2025-04-12",
|
|
2028
2116
|
styles: {
|
|
2029
2117
|
light: {
|
|
2118
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
2030
2119
|
background: "#FDFBF7",
|
|
2031
2120
|
foreground: "#4A3B33",
|
|
2032
2121
|
card: "#F8F4EE",
|
|
@@ -2071,6 +2160,7 @@ var tweakcnPresets = {
|
|
|
2071
2160
|
"shadow-offset-y": "2px"
|
|
2072
2161
|
},
|
|
2073
2162
|
dark: {
|
|
2163
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
2074
2164
|
background: "#1C1917",
|
|
2075
2165
|
foreground: "#F5F5F4",
|
|
2076
2166
|
card: "#292524",
|
|
@@ -2112,6 +2202,7 @@ var tweakcnPresets = {
|
|
|
2112
2202
|
label: "Claymorphism",
|
|
2113
2203
|
styles: {
|
|
2114
2204
|
light: {
|
|
2205
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
2115
2206
|
background: "#e7e5e4",
|
|
2116
2207
|
foreground: "#1e293b",
|
|
2117
2208
|
card: "#f5f5f4",
|
|
@@ -2156,6 +2247,7 @@ var tweakcnPresets = {
|
|
|
2156
2247
|
"shadow-offset-y": "2px"
|
|
2157
2248
|
},
|
|
2158
2249
|
dark: {
|
|
2250
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
2159
2251
|
background: "#1e1b18",
|
|
2160
2252
|
foreground: "#e2e8f0",
|
|
2161
2253
|
card: "#2c2825",
|
|
@@ -2197,6 +2289,7 @@ var tweakcnPresets = {
|
|
|
2197
2289
|
label: "Cyberpunk",
|
|
2198
2290
|
styles: {
|
|
2199
2291
|
light: {
|
|
2292
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
2200
2293
|
background: "#f8f9fa",
|
|
2201
2294
|
foreground: "#0c0c1d",
|
|
2202
2295
|
card: "#ffffff",
|
|
@@ -2280,6 +2373,7 @@ var tweakcnPresets = {
|
|
|
2280
2373
|
label: "Pastel Dreams",
|
|
2281
2374
|
styles: {
|
|
2282
2375
|
light: {
|
|
2376
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
2283
2377
|
background: "#f7f3f9",
|
|
2284
2378
|
foreground: "#374151",
|
|
2285
2379
|
card: "#ffffff",
|
|
@@ -2364,6 +2458,7 @@ var tweakcnPresets = {
|
|
|
2364
2458
|
label: "Clean Slate",
|
|
2365
2459
|
styles: {
|
|
2366
2460
|
light: {
|
|
2461
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
2367
2462
|
background: "#f8fafc",
|
|
2368
2463
|
foreground: "#1e293b",
|
|
2369
2464
|
card: "#ffffff",
|
|
@@ -2408,6 +2503,7 @@ var tweakcnPresets = {
|
|
|
2408
2503
|
"shadow-offset-y": "4px"
|
|
2409
2504
|
},
|
|
2410
2505
|
dark: {
|
|
2506
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
2411
2507
|
background: "#0f172a",
|
|
2412
2508
|
foreground: "#e2e8f0",
|
|
2413
2509
|
card: "#1e293b",
|
|
@@ -2448,6 +2544,7 @@ var tweakcnPresets = {
|
|
|
2448
2544
|
label: "Caffeine",
|
|
2449
2545
|
styles: {
|
|
2450
2546
|
light: {
|
|
2547
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
2451
2548
|
background: "#f9f9f9",
|
|
2452
2549
|
foreground: "#202020",
|
|
2453
2550
|
card: "#fcfcfc",
|
|
@@ -2483,6 +2580,7 @@ var tweakcnPresets = {
|
|
|
2483
2580
|
radius: "0.5rem"
|
|
2484
2581
|
},
|
|
2485
2582
|
dark: {
|
|
2583
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
2486
2584
|
background: "#111111",
|
|
2487
2585
|
foreground: "#eeeeee",
|
|
2488
2586
|
card: "#191919",
|
|
@@ -2523,6 +2621,7 @@ var tweakcnPresets = {
|
|
|
2523
2621
|
label: "Ocean Breeze",
|
|
2524
2622
|
styles: {
|
|
2525
2623
|
light: {
|
|
2624
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
2526
2625
|
background: "#f0f8ff",
|
|
2527
2626
|
foreground: "#374151",
|
|
2528
2627
|
card: "#ffffff",
|
|
@@ -2567,6 +2666,7 @@ var tweakcnPresets = {
|
|
|
2567
2666
|
"shadow-offset-y": "4px"
|
|
2568
2667
|
},
|
|
2569
2668
|
dark: {
|
|
2669
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
2570
2670
|
background: "#0f172a",
|
|
2571
2671
|
foreground: "#d1d5db",
|
|
2572
2672
|
card: "#1e293b",
|
|
@@ -2607,6 +2707,7 @@ var tweakcnPresets = {
|
|
|
2607
2707
|
label: "Retro Arcade",
|
|
2608
2708
|
styles: {
|
|
2609
2709
|
light: {
|
|
2710
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
2610
2711
|
background: "#fdf6e3",
|
|
2611
2712
|
foreground: "#073642",
|
|
2612
2713
|
card: "#eee8d5",
|
|
@@ -2650,6 +2751,7 @@ var tweakcnPresets = {
|
|
|
2650
2751
|
"shadow-offset-y": "2px"
|
|
2651
2752
|
},
|
|
2652
2753
|
dark: {
|
|
2754
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
2653
2755
|
background: "#002b36",
|
|
2654
2756
|
foreground: "#93a1a1",
|
|
2655
2757
|
card: "#073642",
|
|
@@ -2690,6 +2792,7 @@ var tweakcnPresets = {
|
|
|
2690
2792
|
label: "Midnight Bloom",
|
|
2691
2793
|
styles: {
|
|
2692
2794
|
light: {
|
|
2795
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
2693
2796
|
background: "#f9f9f9",
|
|
2694
2797
|
foreground: "#333333",
|
|
2695
2798
|
card: "#ffffff",
|
|
@@ -2734,6 +2837,7 @@ var tweakcnPresets = {
|
|
|
2734
2837
|
"shadow-offset-y": "5px"
|
|
2735
2838
|
},
|
|
2736
2839
|
dark: {
|
|
2840
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
2737
2841
|
background: "#1a1d23",
|
|
2738
2842
|
foreground: "#e5e5e5",
|
|
2739
2843
|
card: "#2f3436",
|
|
@@ -2774,6 +2878,7 @@ var tweakcnPresets = {
|
|
|
2774
2878
|
label: "Candyland",
|
|
2775
2879
|
styles: {
|
|
2776
2880
|
light: {
|
|
2881
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
2777
2882
|
background: "#f7f9fa",
|
|
2778
2883
|
foreground: "#333333",
|
|
2779
2884
|
card: "#ffffff",
|
|
@@ -2811,6 +2916,7 @@ var tweakcnPresets = {
|
|
|
2811
2916
|
"font-mono": "Roboto Mono, monospace"
|
|
2812
2917
|
},
|
|
2813
2918
|
dark: {
|
|
2919
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
2814
2920
|
background: "#1a1d23",
|
|
2815
2921
|
foreground: "#e5e5e5",
|
|
2816
2922
|
card: "#2f3436",
|
|
@@ -2851,6 +2957,7 @@ var tweakcnPresets = {
|
|
|
2851
2957
|
label: "Northern Lights",
|
|
2852
2958
|
styles: {
|
|
2853
2959
|
light: {
|
|
2960
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
2854
2961
|
background: "#f9f9fa",
|
|
2855
2962
|
foreground: "#333333",
|
|
2856
2963
|
card: "#ffffff",
|
|
@@ -2889,6 +2996,7 @@ var tweakcnPresets = {
|
|
|
2889
2996
|
"font-mono": "JetBrains Mono, monospace"
|
|
2890
2997
|
},
|
|
2891
2998
|
dark: {
|
|
2999
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
2892
3000
|
background: "#1a1d23",
|
|
2893
3001
|
foreground: "#e5e5e5",
|
|
2894
3002
|
card: "#2f3436",
|
|
@@ -2929,6 +3037,7 @@ var tweakcnPresets = {
|
|
|
2929
3037
|
label: "Vintage Paper",
|
|
2930
3038
|
styles: {
|
|
2931
3039
|
light: {
|
|
3040
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
2932
3041
|
background: "#f5f1e6",
|
|
2933
3042
|
foreground: "#4a3f35",
|
|
2934
3043
|
card: "#fffcf5",
|
|
@@ -2973,6 +3082,7 @@ var tweakcnPresets = {
|
|
|
2973
3082
|
"shadow-offset-y": "3px"
|
|
2974
3083
|
},
|
|
2975
3084
|
dark: {
|
|
3085
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
2976
3086
|
background: "#2d2621",
|
|
2977
3087
|
foreground: "#ece5d8",
|
|
2978
3088
|
card: "#3a322c",
|
|
@@ -3013,6 +3123,7 @@ var tweakcnPresets = {
|
|
|
3013
3123
|
label: "Sunset Horizon",
|
|
3014
3124
|
styles: {
|
|
3015
3125
|
light: {
|
|
3126
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
3016
3127
|
background: "#fff9f5",
|
|
3017
3128
|
foreground: "#3d3436",
|
|
3018
3129
|
card: "#ffffff",
|
|
@@ -3057,6 +3168,7 @@ var tweakcnPresets = {
|
|
|
3057
3168
|
"shadow-offset-y": "6px"
|
|
3058
3169
|
},
|
|
3059
3170
|
dark: {
|
|
3171
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
3060
3172
|
background: "#2a2024",
|
|
3061
3173
|
foreground: "#f2e9e4",
|
|
3062
3174
|
card: "#392f35",
|
|
@@ -3098,6 +3210,7 @@ var tweakcnPresets = {
|
|
|
3098
3210
|
createdAt: "2025-04-16",
|
|
3099
3211
|
styles: {
|
|
3100
3212
|
light: {
|
|
3213
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
3101
3214
|
background: "#f5f7fa",
|
|
3102
3215
|
foreground: "#1a2238",
|
|
3103
3216
|
card: "#e3eaf2",
|
|
@@ -3134,6 +3247,7 @@ var tweakcnPresets = {
|
|
|
3134
3247
|
radius: "0.5rem"
|
|
3135
3248
|
},
|
|
3136
3249
|
dark: {
|
|
3250
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
3137
3251
|
background: "#181a24",
|
|
3138
3252
|
foreground: "#e6eaf3",
|
|
3139
3253
|
card: "#23243a",
|
|
@@ -3174,6 +3288,7 @@ var tweakcnPresets = {
|
|
|
3174
3288
|
label: "Claude",
|
|
3175
3289
|
styles: {
|
|
3176
3290
|
light: {
|
|
3291
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
3177
3292
|
background: "#faf9f5",
|
|
3178
3293
|
foreground: "#3d3929",
|
|
3179
3294
|
card: "#faf9f5",
|
|
@@ -3209,6 +3324,7 @@ var tweakcnPresets = {
|
|
|
3209
3324
|
radius: "0.5rem"
|
|
3210
3325
|
},
|
|
3211
3326
|
dark: {
|
|
3327
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
3212
3328
|
background: "#262624",
|
|
3213
3329
|
foreground: "#c3c0b6",
|
|
3214
3330
|
card: "#262624",
|
|
@@ -3249,6 +3365,7 @@ var tweakcnPresets = {
|
|
|
3249
3365
|
createdAt: "2025-04-13",
|
|
3250
3366
|
styles: {
|
|
3251
3367
|
light: {
|
|
3368
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
3252
3369
|
background: "oklch(0.99 0 0)",
|
|
3253
3370
|
foreground: "oklch(0 0 0)",
|
|
3254
3371
|
card: "oklch(1.00 0 0)",
|
|
@@ -3293,6 +3410,7 @@ var tweakcnPresets = {
|
|
|
3293
3410
|
"shadow-offset-y": "1px"
|
|
3294
3411
|
},
|
|
3295
3412
|
dark: {
|
|
3413
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
3296
3414
|
background: "oklch(0 0 0)",
|
|
3297
3415
|
foreground: "oklch(1.00 0 0)",
|
|
3298
3416
|
card: "oklch(0.14 0 0)",
|
|
@@ -3336,6 +3454,7 @@ var tweakcnPresets = {
|
|
|
3336
3454
|
createdAt: "2025-04-20",
|
|
3337
3455
|
styles: {
|
|
3338
3456
|
light: {
|
|
3457
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
3339
3458
|
background: "#ffffff",
|
|
3340
3459
|
foreground: "#0a0a0a",
|
|
3341
3460
|
card: "#ffffff",
|
|
@@ -3380,6 +3499,7 @@ var tweakcnPresets = {
|
|
|
3380
3499
|
"shadow-offset-y": "1px"
|
|
3381
3500
|
},
|
|
3382
3501
|
dark: {
|
|
3502
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
3383
3503
|
background: "#0a0a0a",
|
|
3384
3504
|
foreground: "#fafafa",
|
|
3385
3505
|
card: "#191919",
|
|
@@ -3420,6 +3540,7 @@ var tweakcnPresets = {
|
|
|
3420
3540
|
createdAt: "2025-07-08",
|
|
3421
3541
|
styles: {
|
|
3422
3542
|
light: {
|
|
3543
|
+
...DEFAULT_ACCENT_COLORS.LIGHT,
|
|
3423
3544
|
background: "#f7f9f3",
|
|
3424
3545
|
foreground: "#000000",
|
|
3425
3546
|
card: "#ffffff",
|
|
@@ -3466,6 +3587,7 @@ var tweakcnPresets = {
|
|
|
3466
3587
|
spacing: "0.25rem"
|
|
3467
3588
|
},
|
|
3468
3589
|
dark: {
|
|
3590
|
+
...DEFAULT_ACCENT_COLORS.DARK,
|
|
3469
3591
|
background: "#000000",
|
|
3470
3592
|
foreground: "#ffffff",
|
|
3471
3593
|
card: "#1a212b",
|
|
@@ -3525,9 +3647,7 @@ function getPresetLabels() {
|
|
|
3525
3647
|
}
|
|
3526
3648
|
function searchPresets(query) {
|
|
3527
3649
|
const lowerQuery = query.toLowerCase();
|
|
3528
|
-
return Object.entries(tweakcnPresets).filter(
|
|
3529
|
-
([id, preset]) => preset.label.toLowerCase().includes(lowerQuery) || id.toLowerCase().includes(lowerQuery)
|
|
3530
|
-
).map(([id, preset]) => ({ id, preset }));
|
|
3650
|
+
return Object.entries(tweakcnPresets).filter(([id, preset]) => preset.label.toLowerCase().includes(lowerQuery) || id.toLowerCase().includes(lowerQuery)).map(([id, preset]) => ({ id, preset }));
|
|
3531
3651
|
}
|
|
3532
3652
|
function getPresetsCount() {
|
|
3533
3653
|
return Object.keys(tweakcnPresets).length;
|
|
@@ -3748,9 +3868,12 @@ function ThemeProvider({
|
|
|
3748
3868
|
}, [includeBuiltInPresets, customPresets]);
|
|
3749
3869
|
const builtInPresets = (0, import_react.useMemo)(() => includeBuiltInPresets ? tweakcnPresets : {}, [includeBuiltInPresets]);
|
|
3750
3870
|
const normalizedCustomPresets = (0, import_react.useMemo)(() => customPresets || {}, [customPresets]);
|
|
3751
|
-
const getAvailablePresetById = (0, import_react.useCallback)(
|
|
3752
|
-
|
|
3753
|
-
|
|
3871
|
+
const getAvailablePresetById = (0, import_react.useCallback)(
|
|
3872
|
+
(id) => {
|
|
3873
|
+
return availablePresets[id] || null;
|
|
3874
|
+
},
|
|
3875
|
+
[availablePresets]
|
|
3876
|
+
);
|
|
3754
3877
|
const [currentPreset, setCurrentPreset] = (0, import_react.useState)(null);
|
|
3755
3878
|
const [isReady, setIsReady] = (0, import_react.useState)(false);
|
|
3756
3879
|
(0, import_react.useEffect)(() => {
|
|
@@ -3760,10 +3883,9 @@ function ThemeProvider({
|
|
|
3760
3883
|
}
|
|
3761
3884
|
try {
|
|
3762
3885
|
const stored = localStorage.getItem(presetStorageKey);
|
|
3763
|
-
|
|
3764
|
-
|
|
3765
|
-
|
|
3766
|
-
} else if (defaultPreset) {
|
|
3886
|
+
const isDevelopment = typeof window !== "undefined" && window.location?.hostname === "localhost";
|
|
3887
|
+
const applyDefaultPreset = () => {
|
|
3888
|
+
if (!defaultPreset) return;
|
|
3767
3889
|
const preset = getAvailablePresetById(defaultPreset);
|
|
3768
3890
|
if (preset) {
|
|
3769
3891
|
const presetData = {
|
|
@@ -3779,13 +3901,42 @@ function ThemeProvider({
|
|
|
3779
3901
|
} else {
|
|
3780
3902
|
console.warn("\u{1F3A8} UnifiedTheme: Default preset not found:", defaultPreset);
|
|
3781
3903
|
}
|
|
3904
|
+
};
|
|
3905
|
+
if (stored) {
|
|
3906
|
+
try {
|
|
3907
|
+
const parsed = JSON.parse(stored);
|
|
3908
|
+
const isValidObject = parsed && typeof parsed === "object";
|
|
3909
|
+
const hasColors = isValidObject && "colors" in parsed && parsed.colors && typeof parsed.colors === "object" && parsed.colors.light && parsed.colors.dark;
|
|
3910
|
+
if (hasColors) {
|
|
3911
|
+
setCurrentPreset(parsed);
|
|
3912
|
+
if (isDevelopment) {
|
|
3913
|
+
}
|
|
3914
|
+
} else {
|
|
3915
|
+
if (isDevelopment) {
|
|
3916
|
+
console.warn("\u{1F3A8} UnifiedTheme: Invalid persisted preset shape. Clearing and falling back.");
|
|
3917
|
+
}
|
|
3918
|
+
localStorage.removeItem(presetStorageKey);
|
|
3919
|
+
applyDefaultPreset();
|
|
3920
|
+
}
|
|
3921
|
+
} catch (error) {
|
|
3922
|
+
if (isDevelopment) {
|
|
3923
|
+
console.warn("\u{1F3A8} UnifiedTheme: Failed to parse persisted preset. Clearing key.", error);
|
|
3924
|
+
}
|
|
3925
|
+
localStorage.removeItem(presetStorageKey);
|
|
3926
|
+
applyDefaultPreset();
|
|
3927
|
+
}
|
|
3928
|
+
} else {
|
|
3929
|
+
applyDefaultPreset();
|
|
3782
3930
|
}
|
|
3783
3931
|
} catch (error) {
|
|
3784
|
-
|
|
3932
|
+
const isDevelopment = typeof window !== "undefined" && window.location?.hostname === "localhost";
|
|
3933
|
+
if (isDevelopment) {
|
|
3934
|
+
console.warn("\u{1F3A8} UnifiedTheme: Failed to load preset from storage:", error);
|
|
3935
|
+
}
|
|
3785
3936
|
} finally {
|
|
3786
3937
|
setIsReady(true);
|
|
3787
3938
|
}
|
|
3788
|
-
}, [presetStorageKey, enablePresets, defaultPreset]);
|
|
3939
|
+
}, [presetStorageKey, enablePresets, defaultPreset, getAvailablePresetById]);
|
|
3789
3940
|
(0, import_react.useEffect)(() => {
|
|
3790
3941
|
if (mode === "system") {
|
|
3791
3942
|
const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
|
|
@@ -3806,11 +3957,12 @@ function ThemeProvider({
|
|
|
3806
3957
|
root.style.colorScheme = resolvedMode;
|
|
3807
3958
|
}, [resolvedMode]);
|
|
3808
3959
|
const applyPresetColors = (0, import_react.useCallback)((preset, mode2) => {
|
|
3960
|
+
if (!preset) return;
|
|
3809
3961
|
const root = document.documentElement;
|
|
3810
3962
|
const colors = preset[mode2];
|
|
3811
3963
|
if (!colors) return;
|
|
3812
3964
|
const defaultValues = {
|
|
3813
|
-
|
|
3965
|
+
spacing: "0.25rem",
|
|
3814
3966
|
"letter-spacing": "normal"
|
|
3815
3967
|
};
|
|
3816
3968
|
const allCategories = [
|
|
@@ -3849,67 +4001,79 @@ function ThemeProvider({
|
|
|
3849
4001
|
}
|
|
3850
4002
|
});
|
|
3851
4003
|
}, []);
|
|
3852
|
-
const handleModeChange = (0, import_react.useCallback)(
|
|
3853
|
-
|
|
3854
|
-
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3860
|
-
|
|
3861
|
-
|
|
3862
|
-
|
|
3863
|
-
|
|
3864
|
-
|
|
3865
|
-
|
|
4004
|
+
const handleModeChange = (0, import_react.useCallback)(
|
|
4005
|
+
(newMode) => {
|
|
4006
|
+
setMode(newMode);
|
|
4007
|
+
setStoredMode(newMode, modeStorageKey);
|
|
4008
|
+
},
|
|
4009
|
+
[modeStorageKey]
|
|
4010
|
+
);
|
|
4011
|
+
const handleModeToggle = (0, import_react.useCallback)(
|
|
4012
|
+
(coordinates) => {
|
|
4013
|
+
const newMode = resolvedMode === "light" ? "dark" : "light";
|
|
4014
|
+
const prefersReducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
4015
|
+
if (enableTransitions && !prefersReducedMotion && typeof document !== "undefined" && "startViewTransition" in document) {
|
|
4016
|
+
const root = document.documentElement;
|
|
4017
|
+
if (coordinates) {
|
|
4018
|
+
root.style.setProperty("--x", `${coordinates.x}px`);
|
|
4019
|
+
root.style.setProperty("--y", `${coordinates.y}px`);
|
|
4020
|
+
}
|
|
4021
|
+
document.startViewTransition(() => {
|
|
4022
|
+
handleModeChange(newMode);
|
|
4023
|
+
});
|
|
4024
|
+
} else {
|
|
3866
4025
|
handleModeChange(newMode);
|
|
3867
|
-
}
|
|
3868
|
-
}
|
|
3869
|
-
|
|
3870
|
-
|
|
3871
|
-
}, [resolvedMode, enableTransitions, handleModeChange]);
|
|
4026
|
+
}
|
|
4027
|
+
},
|
|
4028
|
+
[resolvedMode, enableTransitions, handleModeChange]
|
|
4029
|
+
);
|
|
3872
4030
|
(0, import_react.useEffect)(() => {
|
|
3873
4031
|
if (!currentPreset || typeof window === "undefined") return;
|
|
3874
4032
|
applyPresetColors(currentPreset.colors, resolvedMode);
|
|
3875
4033
|
}, [currentPreset, resolvedMode, applyPresetColors]);
|
|
3876
|
-
const applyPreset = (0, import_react.useCallback)(
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
|
|
3885
|
-
|
|
3886
|
-
|
|
3887
|
-
|
|
3888
|
-
|
|
4034
|
+
const applyPreset = (0, import_react.useCallback)(
|
|
4035
|
+
(preset) => {
|
|
4036
|
+
const presetData = {
|
|
4037
|
+
presetId: preset.id,
|
|
4038
|
+
presetName: preset.name,
|
|
4039
|
+
colors: preset.colors,
|
|
4040
|
+
appliedAt: Date.now()
|
|
4041
|
+
};
|
|
4042
|
+
setCurrentPreset(presetData);
|
|
4043
|
+
if (enablePresets && typeof window !== "undefined") {
|
|
4044
|
+
try {
|
|
4045
|
+
localStorage.setItem(presetStorageKey, JSON.stringify(presetData));
|
|
4046
|
+
} catch (error) {
|
|
4047
|
+
console.error("\u{1F3A8} UnifiedTheme: Failed to save preset:", error);
|
|
4048
|
+
}
|
|
3889
4049
|
}
|
|
3890
|
-
}
|
|
3891
|
-
if (typeof window !== "undefined") {
|
|
3892
|
-
applyPresetColors(preset.colors, resolvedMode);
|
|
3893
|
-
}
|
|
3894
|
-
}, [presetStorageKey, enablePresets, applyPresetColors, resolvedMode]);
|
|
3895
|
-
const setThemePresetById = (0, import_react.useCallback)((presetId) => {
|
|
3896
|
-
const preset = getAvailablePresetById(presetId);
|
|
3897
|
-
if (!preset) {
|
|
3898
4050
|
if (typeof window !== "undefined") {
|
|
3899
|
-
|
|
4051
|
+
applyPresetColors(preset.colors, resolvedMode);
|
|
3900
4052
|
}
|
|
3901
|
-
|
|
3902
|
-
|
|
3903
|
-
|
|
3904
|
-
|
|
3905
|
-
|
|
3906
|
-
|
|
3907
|
-
|
|
3908
|
-
|
|
4053
|
+
},
|
|
4054
|
+
[presetStorageKey, enablePresets, applyPresetColors, resolvedMode]
|
|
4055
|
+
);
|
|
4056
|
+
const setThemePresetById = (0, import_react.useCallback)(
|
|
4057
|
+
(presetId) => {
|
|
4058
|
+
const preset = getAvailablePresetById(presetId);
|
|
4059
|
+
if (!preset) {
|
|
4060
|
+
if (typeof window !== "undefined") {
|
|
4061
|
+
console.warn("\u{1F3A8} UnifiedTheme: Preset not found for id:", presetId);
|
|
4062
|
+
}
|
|
4063
|
+
return;
|
|
3909
4064
|
}
|
|
3910
|
-
|
|
3911
|
-
|
|
3912
|
-
|
|
4065
|
+
const presetData = {
|
|
4066
|
+
id: presetId,
|
|
4067
|
+
name: preset.label,
|
|
4068
|
+
colors: {
|
|
4069
|
+
light: preset.styles.light,
|
|
4070
|
+
dark: preset.styles.dark
|
|
4071
|
+
}
|
|
4072
|
+
};
|
|
4073
|
+
applyPreset(presetData);
|
|
4074
|
+
},
|
|
4075
|
+
[getAvailablePresetById, applyPreset]
|
|
4076
|
+
);
|
|
3913
4077
|
const clearPreset = (0, import_react.useCallback)(() => {
|
|
3914
4078
|
if (enablePresets && typeof window !== "undefined") {
|
|
3915
4079
|
try {
|
|
@@ -3957,6 +4121,7 @@ function ThemeProvider({
|
|
|
3957
4121
|
if (!isReady) {
|
|
3958
4122
|
return null;
|
|
3959
4123
|
}
|
|
4124
|
+
const isUsingDefaultPreset = !!defaultPreset && currentPreset?.presetId === defaultPreset;
|
|
3960
4125
|
const contextValue = {
|
|
3961
4126
|
mode,
|
|
3962
4127
|
resolvedMode,
|
|
@@ -3966,6 +4131,7 @@ function ThemeProvider({
|
|
|
3966
4131
|
applyPreset,
|
|
3967
4132
|
setThemePresetById,
|
|
3968
4133
|
clearPreset,
|
|
4134
|
+
isUsingDefaultPreset,
|
|
3969
4135
|
availablePresets,
|
|
3970
4136
|
builtInPresets,
|
|
3971
4137
|
customPresets: normalizedCustomPresets
|