UNPKG

tw-merge

Version:

Merge CSS utility classes without style conflicts - small and zero config

1 lines 9.56 kB
{"version":3,"file":"tailwind.mjs","sources":["../src/tailwind.ts"],"sourcesContent":["import {\n RuleSet,\n uniqueRule,\n simpleRule,\n cardinalRules,\n cardinalRule,\n arbitraryRule,\n conflictRule,\n} from \"./rules\";\n\nconst DISPLAY =\n \"block|inline-block|inline-flex|inline-table|inline-grid|inline|flex|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|flow-root|grid|contents|list-item|hidden\";\n\nconst ISOLATION = \"isolate|isolation-auto\";\n\nconst OBJECT_FIT = \"contain|cover|fill|none|scale-down\";\nconst BG_AND_OBJECT_POSITION =\n \"bottom|center|left|left-bottom|left-top|right|right-bottom|right-top|top\";\n\nconst POSITION = \"static|fixed|absolute|relative|sticky\";\n\nconst VISIBILITY = \"visible|invisible|collapse\";\n\nconst FLEX_DIRECTION = \"row|row-reverse|col|col-reverse\";\nconst FLEX_WRAP = \"wrap|wrap-reverse|nowrap\";\n\nconst ALIGN_CONTENT =\n \"normal|center|start|end|between|around|evenly|baseline|stretch\";\n\nconst FONT_AND_SHADOW_SIZE = \"xs|sm|base|md|lg|xl|[\\\\d.]+xl|inner|none\";\nconst FONT_SMOOTHING = \"antialiased|subpixel-antialiased\";\nconst FONT_STYLE = \"italic|not-italic\";\nconst FONT_WEIGHT =\n \"thin|extralight|light|normal|medium|semibold|bold|extrabold|black\";\n\nconst LIST_STYLE_POSITION = \"inside|outside\";\n\nconst TEXT_ALIGN = \"left|center|right|justify|start|end\";\nconst TEXT_DECORATION = \"underline|overline|line-through|no-underline\";\nconst TEXT_DECORATION_STYLE = \"solid|double|dotted|dashed|wavy\";\nconst TEXT_TRANSFORM = \"uppercase|lowercase|capitalize|normal-case\";\nconst TEXT_OVERFLOW = \"truncate|text-ellipsis|text-clip\";\n\nconst BG_ATTACHMENT = \"fixed|local|scroll\";\nconst BG_REPEAT =\n \"repeat|no-repeat|repeat-x|repeat-y|repeat-round|repeat-space\";\nconst BG_SIZE = \"auto|cover|contain\";\n\nconst BORDER_AND_OUTLINE_STYLE = \"solid|dashed|dotted|double|hidden|none\";\n\nconst FVN_FIGURE = \"lining-nums|oldstyle-nums\";\nconst FVN_SPACING = \"proportional-nums|tabular-nums\";\nconst FVN_FRACTION = \"diagonal-fractions|stacked-fractions\";\n\nconst SCROLL_BEHAVIOR = \"auto|smooth\";\nconst SCROLL_SNAP_ALIGN = \"start|end|center|none\";\nconst SCROLL_SNAP_STOP = \"normal|always\";\nconst SCROLL_SNAP_TYPE = \"none|x|y|both|mandatory|proximity\";\n\n// TODO: text-<something>/20 should override line-height (leading)\n// TODO: ^ same with opacities and other trailing slash values\n// TODO: text-decoration-thickness (conflicts with text-decoration-color and there are custom values: auto and from-font)\nexport function tailwind(): RuleSet {\n return [\n // these rules are at the top because they need to run before others\n conflictRule({\n \"inset-x\": \"left|right\",\n \"inset-y\": \"top|bottom\",\n inset: \"inset-x|inset-y|start|end|left|right|top|bottom\",\n \"sr-only\": \"not-sr-only\",\n \"not-sr-only\": \"sr-only\",\n \"normal-nums\":\n \"ordinal|slashed-zero|lining-nums|oldstyle-nums|proportional-nums|tabular-nums|diagonal-fractions|stacked-fractons\",\n ordinal: \"normal-nums\",\n \"slashed-zero\": \"normal-nums\",\n \"lining-nums\": \"normal-nums\",\n \"oldstyle-nums\": \"normal-nums\",\n \"proportional-nums\": \"normal-nums\",\n \"tabular-nums\": \"normal-nums\",\n \"diagonal-fractions\": \"normal-nums\",\n \"stacked-fractons\": \"normal-nums\",\n \"bg-gradient\": \"bg-none\",\n \"bg-none\": \"bg-gradient\",\n }),\n uniqueRule([\n DISPLAY,\n ISOLATION,\n POSITION,\n VISIBILITY,\n FONT_SMOOTHING,\n FONT_STYLE,\n FVN_FIGURE,\n FVN_SPACING,\n FVN_FRACTION,\n TEXT_DECORATION,\n TEXT_TRANSFORM,\n TEXT_OVERFLOW,\n ]),\n uniqueRule([\n [\"content\", ALIGN_CONTENT],\n [\"list\", LIST_STYLE_POSITION],\n [\"decoration\", TEXT_DECORATION_STYLE],\n [\"border\", BORDER_AND_OUTLINE_STYLE],\n [\"divide\", BORDER_AND_OUTLINE_STYLE],\n [\"outline|outline\", BORDER_AND_OUTLINE_STYLE],\n [\"shadow\", FONT_AND_SHADOW_SIZE],\n [\"font\", FONT_WEIGHT],\n [\"object\", OBJECT_FIT, BG_AND_OBJECT_POSITION],\n ]),\n uniqueRule([\n [\n \"scroll\",\n SCROLL_BEHAVIOR,\n SCROLL_SNAP_ALIGN,\n SCROLL_SNAP_STOP,\n SCROLL_SNAP_TYPE,\n ],\n [\"bg\", BG_ATTACHMENT, BG_AND_OBJECT_POSITION, BG_REPEAT, BG_SIZE],\n [\"text\", TEXT_ALIGN, FONT_AND_SHADOW_SIZE],\n [\"flex\", FLEX_DIRECTION, FLEX_WRAP],\n ]),\n conflictRule({ flex: \"basis|grow|shrink\" }),\n // -----------------------------------------------------------------\n simpleRule(\n \"accent|align|animate|aspect|auto-cols|auto-rows|backdrop-blur|backdrop-brightness|backdrop-contrast|backdrop-grayscale|backdrop-hue-rotate|backdrop-invert|backdrop-opacity|backdrop-saturate|backdrop-sepia|basis|bg-blend|bg-clip|bg-origin|bg-none|bg-gradient|bg|blur|border-collapse|border-spacing|bottom|box-decoration|box|break-after|break-before|break-inside|break|brightness|caption|caret|clear|col-end|col-start|columns|col|content|contrast|cursor|decoration|delay|divide-x-reverse|divide-x|divide-y-reverse|divide-y|divide|drop-shadow|duration|ease|end|fill|flex|float|grayscale|grid-cols|grid-flow|grid-rows|grow|hue-rotate|hyphens|h|indent|invert|items|justify-items|justify-self|justify|leading|left|line-clamp|list-image|list|max-h|max-w|min-h|min-w|mix-blend|opacity|order|origin|outline-offset|place-content|place-items|place-self|pointer-events|resize|right|ring-inset|rotate|row-end|row-start|row|saturate|select|self|sepia|shadow|shrink|skew-x|skew-y|space-x-reverse|space-x|space-y-reverse|space-y|start|table|top|touch|tracking|transition|translate-x|translate-y|underline-offset|whitespace|will-change|w|z\"\n ),\n simpleRule(\"text|outline|ring-offset|ring|from|via|to|stroke|font\", {\n byType: true,\n }),\n cardinalRule(\"border\", { byType: true }),\n ...cardinalRules(\"rounded|gap|inset|scale|overflow|overscroll\"),\n ...cardinalRules(\"p|m|scroll-m|scroll-p\", { dash: false }),\n arbitraryRule(),\n ];\n}\n"],"names":["DISPLAY","ISOLATION","OBJECT_FIT","BG_AND_OBJECT_POSITION","POSITION","VISIBILITY","FLEX_DIRECTION","FLEX_WRAP","ALIGN_CONTENT","FONT_AND_SHADOW_SIZE","FONT_SMOOTHING","FONT_STYLE","FONT_WEIGHT","LIST_STYLE_POSITION","TEXT_ALIGN","TEXT_DECORATION","TEXT_DECORATION_STYLE","TEXT_TRANSFORM","TEXT_OVERFLOW","BG_ATTACHMENT","BG_REPEAT","BG_SIZE","BORDER_AND_OUTLINE_STYLE","FVN_FIGURE","FVN_SPACING","FVN_FRACTION","SCROLL_BEHAVIOR","SCROLL_SNAP_ALIGN","SCROLL_SNAP_STOP","SCROLL_SNAP_TYPE","tailwind","conflictRule","inset","ordinal","uniqueRule","flex","simpleRule","byType","cardinalRule","cardinalRules","dash","arbitraryRule"],"mappings":"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"}