Skip to content

Commit aef7893

Browse files
committed
fix: important modifier as prefix
1 parent 569e3fc commit aef7893

File tree

2 files changed

+378
-10
lines changed

2 files changed

+378
-10
lines changed

src/parser.test.ts

Lines changed: 356 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,23 @@ const test = suite('Parser')
162162
[
163163
{
164164
raw: '-mx-5!',
165-
value: '-mx-5!',
165+
value: '!-mx-5',
166+
name: '-mx-5',
167+
prefix: '',
168+
important: true,
169+
negated: true,
170+
loc: { start: 0, end: 6 },
171+
spans: [{ start: 0, end: 6 }],
172+
variants: [],
173+
},
174+
],
175+
],
176+
[
177+
'!-mx-5',
178+
[
179+
{
180+
raw: '!-mx-5',
181+
value: '!-mx-5',
166182
name: '-mx-5',
167183
prefix: '',
168184
important: true,
@@ -192,7 +208,7 @@ const test = suite('Parser')
192208
},
193209
{
194210
raw: '2!',
195-
value: 'sm:-mx-2!',
211+
value: 'sm:!-mx-2',
196212
name: '-mx-2',
197213
prefix: '-mx',
198214
important: true,
@@ -234,6 +250,344 @@ const test = suite('Parser')
234250
},
235251
],
236252
],
253+
[
254+
'!(text-center font-bold)',
255+
[
256+
{
257+
raw: 'text-center',
258+
value: '!text-center',
259+
name: 'text-center',
260+
prefix: '',
261+
important: true,
262+
negated: false,
263+
loc: {
264+
start: 2,
265+
end: 13,
266+
},
267+
spans: [
268+
{
269+
start: 0,
270+
end: 1,
271+
},
272+
{
273+
start: 2,
274+
end: 13,
275+
},
276+
],
277+
variants: [],
278+
},
279+
{
280+
raw: 'font-bold',
281+
value: '!font-bold',
282+
name: 'font-bold',
283+
prefix: '',
284+
important: true,
285+
negated: false,
286+
loc: {
287+
start: 14,
288+
end: 23,
289+
},
290+
spans: [
291+
{
292+
start: 0,
293+
end: 1,
294+
},
295+
{
296+
start: 14,
297+
end: 23,
298+
},
299+
],
300+
variants: [],
301+
},
302+
],
303+
],
304+
[
305+
'!hover:(text-center focus:font-bold)',
306+
[
307+
{
308+
raw: 'text-center',
309+
value: 'hover:!text-center',
310+
name: 'text-center',
311+
prefix: '',
312+
important: true,
313+
negated: false,
314+
loc: {
315+
start: 8,
316+
end: 19,
317+
},
318+
spans: [
319+
{
320+
start: 0,
321+
end: 7,
322+
},
323+
{
324+
start: 8,
325+
end: 19,
326+
},
327+
],
328+
variants: [
329+
{
330+
raw: 'hover:',
331+
value: 'hover:',
332+
name: 'hover',
333+
loc: {
334+
start: 1,
335+
end: 7,
336+
},
337+
},
338+
],
339+
},
340+
{
341+
raw: 'font-bold',
342+
value: 'hover:focus:!font-bold',
343+
name: 'font-bold',
344+
prefix: '',
345+
important: true,
346+
negated: false,
347+
loc: {
348+
start: 26,
349+
end: 35,
350+
},
351+
spans: [
352+
{
353+
start: 0,
354+
end: 7,
355+
},
356+
{
357+
start: 20,
358+
end: 35,
359+
},
360+
],
361+
variants: [
362+
{
363+
raw: 'hover:',
364+
value: 'hover:',
365+
name: 'hover',
366+
loc: {
367+
start: 1,
368+
end: 7,
369+
},
370+
},
371+
{
372+
raw: 'focus:',
373+
value: 'focus:',
374+
name: 'focus',
375+
loc: {
376+
start: 20,
377+
end: 26,
378+
},
379+
},
380+
],
381+
},
382+
],
383+
],
384+
[
385+
'hover:!(text-center font-bold)',
386+
387+
[
388+
{
389+
raw: 'text-center',
390+
value: 'hover:!text-center',
391+
name: 'text-center',
392+
prefix: '',
393+
important: true,
394+
negated: false,
395+
loc: {
396+
start: 8,
397+
end: 19,
398+
},
399+
spans: [
400+
{
401+
start: 0,
402+
end: 7,
403+
},
404+
{
405+
start: 8,
406+
end: 19,
407+
},
408+
],
409+
variants: [
410+
{
411+
raw: 'hover:',
412+
value: 'hover:',
413+
name: 'hover',
414+
loc: {
415+
start: 0,
416+
end: 6,
417+
},
418+
},
419+
],
420+
},
421+
{
422+
raw: 'font-bold',
423+
value: 'hover:!font-bold',
424+
name: 'font-bold',
425+
prefix: '',
426+
important: true,
427+
negated: false,
428+
loc: {
429+
start: 20,
430+
end: 29,
431+
},
432+
spans: [
433+
{
434+
start: 0,
435+
end: 7,
436+
},
437+
{
438+
start: 20,
439+
end: 29,
440+
},
441+
],
442+
variants: [
443+
{
444+
raw: 'hover:',
445+
value: 'hover:',
446+
name: 'hover',
447+
loc: {
448+
start: 0,
449+
end: 6,
450+
},
451+
},
452+
],
453+
},
454+
],
455+
],
456+
[
457+
'text!(xl underline)',
458+
[
459+
{
460+
raw: 'xl',
461+
value: '!text-xl',
462+
name: 'text-xl',
463+
prefix: 'text',
464+
important: true,
465+
negated: false,
466+
loc: {
467+
start: 6,
468+
end: 8,
469+
},
470+
spans: [
471+
{
472+
start: 0,
473+
end: 5,
474+
},
475+
{
476+
start: 6,
477+
end: 8,
478+
},
479+
],
480+
variants: [],
481+
},
482+
{
483+
raw: 'underline',
484+
value: '!text-underline',
485+
name: 'text-underline',
486+
prefix: 'text',
487+
important: true,
488+
negated: false,
489+
loc: {
490+
start: 9,
491+
end: 18,
492+
},
493+
spans: [
494+
{
495+
start: 0,
496+
end: 5,
497+
},
498+
{
499+
start: 9,
500+
end: 18,
501+
},
502+
],
503+
variants: [],
504+
},
505+
],
506+
],
507+
[
508+
'!text(xl underline) md:!m(-8)',
509+
[
510+
{
511+
raw: 'xl',
512+
value: '!text-xl',
513+
name: 'text-xl',
514+
prefix: 'text',
515+
important: true,
516+
negated: false,
517+
loc: {
518+
start: 6,
519+
end: 8,
520+
},
521+
spans: [
522+
{
523+
start: 0,
524+
end: 5,
525+
},
526+
{
527+
start: 6,
528+
end: 8,
529+
},
530+
],
531+
variants: [],
532+
},
533+
{
534+
raw: 'underline',
535+
value: '!text-underline',
536+
name: 'text-underline',
537+
prefix: 'text',
538+
important: true,
539+
negated: false,
540+
loc: {
541+
start: 9,
542+
end: 18,
543+
},
544+
spans: [
545+
{
546+
start: 0,
547+
end: 5,
548+
},
549+
{
550+
start: 9,
551+
end: 18,
552+
},
553+
],
554+
variants: [],
555+
},
556+
{
557+
raw: '-8',
558+
value: 'md:!-m-8',
559+
name: '-m-8',
560+
prefix: '-m',
561+
important: true,
562+
negated: true,
563+
loc: {
564+
start: 26,
565+
end: 28,
566+
},
567+
spans: [
568+
{
569+
start: 20,
570+
end: 25,
571+
},
572+
{
573+
start: 26,
574+
end: 28,
575+
},
576+
],
577+
variants: [
578+
{
579+
raw: 'md:',
580+
value: 'md:',
581+
name: 'md',
582+
loc: {
583+
start: 20,
584+
end: 23,
585+
},
586+
},
587+
],
588+
},
589+
],
590+
],
237591
[
238592
'ring(focus:& offset(& width)',
239593
[

0 commit comments

Comments
 (0)