11import { expect , test } from 'vitest'
22import { __unstable__loadDesignSystem } from '.'
3- import { buildDesignSystem } from './design-system'
43import plugin from './plugin'
5- import { Theme , ThemeOptions } from './theme'
4+ import { ThemeOptions } from './theme'
65
76const css = String . raw
87
98function loadDesignSystem ( ) {
10- let theme = new Theme ( )
11- theme . add ( '--spacing' , '0.25rem' )
12- theme . add ( '--colors-red-500' , 'red' )
13- theme . add ( '--colors-blue-500' , 'blue' )
14- theme . add ( '--breakpoint-sm' , '640px' )
15- theme . add ( '--aspect-video' , '16 / 9' )
16- theme . add ( '--font-sans' , 'sans-serif' )
17- theme . add ( '--font-weight-superbold' , '900' )
18- theme . add ( '--text-xs' , '0.75rem' )
19- theme . add ( '--text-xs--line-height' , '1rem' )
20- theme . add ( '--perspective-dramatic' , '100px' )
21- theme . add ( '--perspective-normal' , '500px' )
22- theme . add ( '--opacity-background' , '0.3' )
23- theme . add ( '--drop-shadow-sm' , '0 1px 1px rgb(0 0 0 / 0.05)' )
24- theme . add ( '--inset-shadow-sm' , 'inset 0 1px 1px rgb(0 0 0 / 0.05)' )
25- theme . add ( '--font-weight-bold' , '700' )
26- theme . add ( '--container-md' , '768px' )
27- theme . add ( '--container-lg' , '1024px' )
28- return buildDesignSystem ( theme )
9+ return __unstable__loadDesignSystem ( `
10+ @theme {
11+ --spacing: 0.25rem;
12+ --colors-red-500: red;
13+ --colors-blue-500: blue;
14+ --breakpoint-sm: 640px;
15+ --aspect-video: 16 / 9;
16+ --font-sans: sans-serif;
17+ --font-weight-superbold: 900;
18+ --text-xs: 0.75rem;
19+ --text-xs--line-height: 1rem;
20+ --perspective-dramatic: 100px;
21+ --perspective-normal: 500px;
22+ --opacity-background: 0.3;
23+ --drop-shadow-sm: 0 1px 1px rgb(0 0 0 / 0.05);
24+ --inset-shadow-sm: inset 0 1px 1px rgb(0 0 0 / 0.05);
25+ --font-weight-bold: 700;
26+ --container-md: 768px;
27+ --container-lg: 1024px;
28+ }
29+ ` )
2930}
3031
31- test ( 'getClassList' , ( ) => {
32- let design = loadDesignSystem ( )
32+ test ( 'getClassList' , async ( ) => {
33+ let design = await loadDesignSystem ( )
3334 let classList = design . getClassList ( )
3435 let classNames = classList . flatMap ( ( [ name , meta ] ) => [
3536 name ,
@@ -39,8 +40,8 @@ test('getClassList', () => {
3940 expect ( classNames ) . toMatchSnapshot ( )
4041} )
4142
42- test ( 'Spacing utilities do not suggest bare values when not using the multiplier-based spacing scale' , ( ) => {
43- let design = loadDesignSystem ( )
43+ test ( 'Spacing utilities do not suggest bare values when not using the multiplier-based spacing scale' , async ( ) => {
44+ let design = await loadDesignSystem ( )
4445
4546 // Remove spacing scale
4647 design . theme . clearNamespace ( '--spacing' , ThemeOptions . NONE )
@@ -58,22 +59,22 @@ test('Spacing utilities do not suggest bare values when not using the multiplier
5859 expect ( classNames ) . not . toContain ( 'p-4' )
5960} )
6061
61- test ( 'Theme values with underscores are converted back to decimal points' , ( ) => {
62- let design = loadDesignSystem ( )
62+ test ( 'Theme values with underscores are converted back to decimal points' , async ( ) => {
63+ let design = await loadDesignSystem ( )
6364 let classes = design . getClassList ( )
6465
6566 expect ( classes ) . toContainEqual ( [ 'inset-0.5' , { modifiers : [ ] } ] )
6667} )
6768
68- test ( 'getVariants' , ( ) => {
69- let design = loadDesignSystem ( )
69+ test ( 'getVariants' , async ( ) => {
70+ let design = await loadDesignSystem ( )
7071 let variants = design . getVariants ( )
7172
7273 expect ( variants ) . toMatchSnapshot ( )
7374} )
7475
75- test ( 'getVariants compound' , ( ) => {
76- let design = loadDesignSystem ( )
76+ test ( 'getVariants compound' , async ( ) => {
77+ let design = await loadDesignSystem ( )
7778 let variants = design . getVariants ( )
7879 let group = variants . find ( ( v ) => v . name === 'group' ) !
7980
@@ -130,16 +131,16 @@ test('variant selectors are in the correct order', async () => {
130131 ` )
131132} )
132133
133- test ( 'The variant `has-force` does not crash' , ( ) => {
134- let design = loadDesignSystem ( )
134+ test ( 'The variant `has-force` does not crash' , async ( ) => {
135+ let design = await loadDesignSystem ( )
135136 let variants = design . getVariants ( )
136137 let has = variants . find ( ( v ) => v . name === 'has' ) !
137138
138139 expect ( has . selectors ( { value : 'force' } ) ) . toMatchInlineSnapshot ( `[]` )
139140} )
140141
141- test ( 'Can produce CSS per candidate using `candidatesToCss`' , ( ) => {
142- let design = loadDesignSystem ( )
142+ test ( 'Can produce CSS per candidate using `candidatesToCss`' , async ( ) => {
143+ let design = await loadDesignSystem ( )
143144 design . invalidCandidates = new Set ( [ 'bg-[#fff]' ] )
144145
145146 expect ( design . candidatesToCss ( [ 'underline' , 'i-dont-exist' , 'bg-[#fff]' , 'bg-[#000]' , 'text-xs' ] ) )
0 commit comments