@@ -2,7 +2,8 @@ import type { Preset } from 'unocss'
22import type { Theme } from 'unocss/preset-mini'
33
44import { generateCSSVars , generateGlobalStyles } from './generate'
5- import { themes } from './themes'
5+ import type { themes as themesV3 } from './themes/v3'
6+ import { themes } from './themes/v4'
67import type { PresetShadcnControlOptions , PresetShadcnThemeOptions } from './types'
78
89export const builtinColors = themes . map ( theme => theme . name )
@@ -24,7 +25,7 @@ export function presetShadcn(
2425 @keyframes shadcn-collapsible-down { from{ height: 0 } to { height: var(--${ componentLibrary } -collapsible-content-height)} }
2526 @keyframes shadcn-collapsible-up { from{ height: var(--${ componentLibrary } -collapsible-content-height)} to { height: 0 } }
2627
27- ${ generateCSSVars ( themeOptions ) }
28+ ${ generateCSSVars ( themeOptions , themes as unknown as typeof themesV3 ) }
2829
2930 ${ globals ? generateGlobalStyles ( ) : '' }
3031 ` ,
@@ -58,58 +59,58 @@ export function presetShadcn(
5859 ] ,
5960 theme : {
6061 colors : {
61- border : 'hsl (var(--border))' ,
62- input : 'hsl (var(--input))' ,
63- ring : 'hsl (var(--ring))' ,
64- background : 'hsl (var(--background))' ,
65- foreground : 'hsl (var(--foreground))' ,
62+ border : 'oklch (var(--border))' ,
63+ input : 'oklch (var(--input))' ,
64+ ring : 'oklch (var(--ring))' ,
65+ background : 'oklch (var(--background))' ,
66+ foreground : 'oklch (var(--foreground))' ,
6667 primary : {
67- DEFAULT : 'hsl (var(--primary))' ,
68- foreground : 'hsl (var(--primary-foreground))' ,
68+ DEFAULT : 'oklch (var(--primary))' ,
69+ foreground : 'oklch (var(--primary-foreground))' ,
6970 } ,
7071 secondary : {
71- DEFAULT : 'hsl (var(--secondary))' ,
72- foreground : 'hsl (var(--secondary-foreground))' ,
72+ DEFAULT : 'oklch (var(--secondary))' ,
73+ foreground : 'oklch (var(--secondary-foreground))' ,
7374 } ,
7475 destructive : {
75- DEFAULT : 'hsl (var(--destructive))' ,
76- foreground : 'hsl (var(--destructive-foreground))' ,
76+ DEFAULT : 'oklch (var(--destructive))' ,
77+ foreground : 'oklch (var(--destructive-foreground))' ,
7778 } ,
7879 muted : {
79- DEFAULT : 'hsl (var(--muted))' ,
80- foreground : 'hsl (var(--muted-foreground))' ,
80+ DEFAULT : 'oklch (var(--muted))' ,
81+ foreground : 'oklch (var(--muted-foreground))' ,
8182 } ,
8283 accent : {
83- DEFAULT : 'hsl (var(--accent))' ,
84- foreground : 'hsl (var(--accent-foreground))' ,
84+ DEFAULT : 'oklch (var(--accent))' ,
85+ foreground : 'oklch (var(--accent-foreground))' ,
8586 } ,
8687 popover : {
87- DEFAULT : 'hsl (var(--popover))' ,
88- foreground : 'hsl (var(--popover-foreground))' ,
88+ DEFAULT : 'oklch (var(--popover))' ,
89+ foreground : 'oklch (var(--popover-foreground))' ,
8990 } ,
9091 card : {
91- DEFAULT : 'hsl (var(--card))' ,
92- foreground : 'hsl (var(--card-foreground))' ,
92+ DEFAULT : 'oklch (var(--card))' ,
93+ foreground : 'oklch (var(--card-foreground))' ,
9394 } ,
94- chart1 : 'hsl (var(--chart1))' ,
95- chart2 : 'hsl (var(--chart2))' ,
96- chart3 : 'hsl (var(--chart3))' ,
97- chart4 : 'hsl (var(--chart4))' ,
98- chart5 : 'hsl (var(--chart5))' ,
95+ chart1 : 'oklch (var(--chart1))' ,
96+ chart2 : 'oklch (var(--chart2))' ,
97+ chart3 : 'oklch (var(--chart3))' ,
98+ chart4 : 'oklch (var(--chart4))' ,
99+ chart5 : 'oklch (var(--chart5))' ,
99100 sidebar : {
100- DEFAULT : 'hsl (var(--sidebar-background))' ,
101- background : 'hsl (var(--sidebar-background))' ,
102- foreground : 'hsl (var(--sidebar-foreground))' ,
101+ DEFAULT : 'oklch (var(--sidebar-background))' ,
102+ background : 'oklch (var(--sidebar-background))' ,
103+ foreground : 'oklch (var(--sidebar-foreground))' ,
103104 primary : {
104- DEFAULT : 'hsl (var(--sidebar-primary))' ,
105- foreground : 'hsl (var(--sidebar-primary-foreground))' ,
105+ DEFAULT : 'oklch (var(--sidebar-primary))' ,
106+ foreground : 'oklch (var(--sidebar-primary-foreground))' ,
106107 } ,
107108 accent : {
108- DEFAULT : 'hsl (var(--sidebar-accent))' ,
109- foreground : 'hsl (var(--sidebar-accent-foreground))' ,
109+ DEFAULT : 'oklch (var(--sidebar-accent))' ,
110+ foreground : 'oklch (var(--sidebar-accent-foreground))' ,
110111 } ,
111- border : 'hsl (var(--sidebar-border))' ,
112- ring : 'hsl (var(--sidebar-ring))' ,
112+ border : 'oklch (var(--sidebar-border))' ,
113+ ring : 'oklch (var(--sidebar-ring))' ,
113114 } ,
114115 } ,
115116 borderRadius : {
0 commit comments