cssrxp
Version:
RegExp pattern library for simple CSS related string matching
459 lines (458 loc) • 24 kB
JavaScript
var A = Object.defineProperty, y = Object.defineProperties;
var Z = Object.getOwnPropertyDescriptors;
var i = Object.getOwnPropertySymbols;
var k = Object.prototype.hasOwnProperty, v = Object.prototype.propertyIsEnumerable;
var l = (a, s, t) => s in a ? A(a, s, { enumerable: !0, configurable: !0, writable: !0, value: t }) : a[s] = t, e = (a, s) => {
for (var t in s || (s = {}))
k.call(s, t) && l(a, t, s[t]);
if (i)
for (var t of i(s))
v.call(s, t) && l(a, t, s[t]);
return a;
}, c = (a, s) => y(a, Z(s));
const d = [
"%",
"cap",
"ch",
"cm",
"deg",
"dpcm",
"dpi",
"dppx",
"dvb",
"dvh",
"dvi",
"dvmax",
"dvmin",
"dvw",
"em",
"ex",
"grad",
"Hz",
"ic",
"in",
"kHz",
"lh",
"lvb",
"lvh",
"lvi",
"lvmax",
"lvmin",
"lvw",
"mm",
"ms",
"pc",
"pt",
"px",
"Q",
"rad",
"rcap",
"rch",
"rem",
"rex",
"ric",
"rlh",
"s",
"svb",
"svh",
"svi",
"svmax",
"svmin",
"svw",
"turn",
"vb",
"vh",
"vi",
"vmax",
"vmin",
"vw",
"x"
], x = /[-+]?(?:\d*\.\d+|\d+)/, _ = /[-+]?\d+/, F = /[-+]?(?:\d*\.\d+|\d+)\%/, q = /(?:[-+]?(?:\d*\.\d+|\d+)fr)/, X = /(?:\d+\s*\/\s*\d+)/, Y = /[-+]?(?:\d*\.\d+|\d+)[a-zA-Z%]+/, n = /-?(?:\d*\.)?\d+(?:ms|s)/, S = /-?(?:\d*\.)?\d+(?:deg|rad|grad|turn)/, C = /-?(?:\d*\.)?\d+(?:Hz|kHz)/, j = /-?(?:\d*\.)?\d+(?:dpi|dpcm|dppx|x)/, R = new RegExp(`-?(?:\\d*\\.)?\\d+(?:${d.join("|")})`), $ = /(?:(?:[-+]?(?:\d*\.\d+|\d+)(?:[a-zA-Z%]+|fr)?)\s*\/\s*(?:[-+]?(?:\d*\.\d+|\d+)(?:[a-zA-Z%]+|fr)?))/, G = new RegExp(`(?:${d.join("|")})`), P = /(?:inherit|initial|revert|revert-layer|unset)/, V = /[-+]?(?:\d*\.\d+|\d+)(?:[a-zA-Z%]+)?/;
function D(...a) {
const s = a.map((r) => r.source).join("|"), t = [
...new Set(
a.map((r) => r.flags).join("").split("")
)
].join("");
return new RegExp(`(${s})`, t);
}
const g = /#(?:[a-fA-F0-9]{3,4}|[a-fA-F0-9]{6}|[a-fA-F0-9]{8})/, p = /(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\(\s*[^)]*\s*\)/, m = /\b(?:aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen)\b/, E = D(g, p, m), U = {
// RGB color space
rgb: /rgba?\(\s*(?:\d+(?:\.\d+)?%?\s*,\s*){2}\d+(?:\.\d+)?%?(?:\s*,\s*(?:\d*\.)?\d+(?:%|\s*\/\s*(?:\d*\.)?\d+%?)?)?\s*\)/,
// HSL color space
hsl: /hsla?\(\s*\d+(?:\.\d+)?(?:deg|rad|grad|turn)?\s*,\s*\d+(?:\.\d+)?%\s*,\s*\d+(?:\.\d+)?%(?:\s*,\s*(?:\d+(?:\.\d+)?%?|\.\d+))?\s*\)/,
// HWB color space
hwb: /hwb\(\s*(?:\d+(?:\.\d+)?(?:deg|rad|grad|turn)?\s*,?\s*){1}(?:\d+(?:\.\d+)?%\s*,?\s*){2}(?:\d*\.)?\d+%?(?:\s*\/\s*(?:\d*\.)?\d+%?)?\s*\)/,
// LAB color space
lab: /lab\(\s*(?:\d+(?:\.\d+)?%?\s*,?\s*){1}(?:[-+]?\d+(?:\.\d+)?%?\s*,?\s*){2}(?:\d*\.)?\d+%?(?:\s*\/\s*(?:\d*\.)?\d+%?)?\s*\)/,
oklab: /oklab\(\s*(?:\d+(?:\.\d+)?%?\s*,?\s*){1}(?:[-+]?\d+(?:\.\d+)?%?\s*,?\s*){2}(?:\d*\.)?\d+%?(?:\s*\/\s*(?:\d*\.)?\d+%?)?\s*\)/,
// LCH color space
lch: /lch\(\s*(?:\d+(?:\.\d+)?%?\s*,?\s*){1}(?:\d+(?:\.\d+)?%?\s*,?\s*){1}(?:\d+(?:\.\d+)?(?:deg|rad|grad|turn)?\s*,?\s*){1}(?:\d*\.)?\d+%?(?:\s*\/\s*(?:\d*\.)?\d+%?)?\s*\)/,
oklch: /oklch\(\s*(?:\d+(?:\.\d+)?%?\s*,?\s*){1}(?:\d+(?:\.\d+)?%?\s*,?\s*){1}(?:\d+(?:\.\d+)?(?:deg|rad|grad|turn)?\s*,?\s*){1}(?:\d*\.)?\d+%?(?:\s*\/\s*(?:\d*\.)?\d+%?)?\s*\)/,
// Generic color function
color: /color\(\s*[a-zA-Z0-9-]+(?:\s+[\d.%]+){1,4}(?:\s*\/\s*(?:\d*\.)?\d+%?)?\s*\)/,
// Color manipulation functions
colorMix: /color-mix\(\s*in\s+[a-zA-Z0-9-]+(?:\s+[a-zA-Z0-9-]+)?\s*,\s*[^,)]+(?:\s+\d+(?:\.\d+)?%)?\s*,\s*[^)]+(?:\s+\d+(?:\.\d+)?%)?\s*\)/,
contrastColor: /contrast-color\(\s*[^)]*\s*\)/,
deviceCmyk: /device-cmyk\(\s*[^)]*\s*\)/,
lightDark: /light-dark\(\s*[^,)]+\s*,\s*[^)]+\s*\)/,
// Combined pattern for all color functions
all: /(?:rgba?|hsla?|hwb|lab|lch|oklab|oklch|color|color-mix|contrast-color|device-cmyk|light-dark)\(\s*[^)]*\s*\)/
}, H = /(?:inherit|initial|revert|revert-layer|unset|[-+]?(?:\d*\.\d+|\d+)(?:[a-zA-Z%]+|fr)?|#(?:[a-fA-F0-9]{3,4}|[a-fA-F0-9]{6}|[a-fA-F0-9]{8})|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\(\s*[^)]*\s*\)|[a-zA-Z][a-zA-Z0-9_-]*\(\s*[^)]*\s*\)|"[^"]*"|'[^']*'|[a-zA-Z_][a-zA-Z0-9_-]*)/, I = /[a-zA-Z_][a-zA-Z0-9_-]*/, L = n, T = /(?:linear|ease|ease-in|ease-out|ease-in-out|step-start|step-end|cubic-bezier\(\s*(?:[-+]?(?:\d*\.\d+|\d+)\s*,?\s*){4}\)|steps\(\s*[^)]*\s*\))/, W = n, M = /(?:infinite|[-+]?(?:\d*\.\d+|\d+))/, Q = /(?:normal|reverse|alternate|alternate-reverse)/, B = /(?:none|forwards|backwards|both)/, N = /(?:running|paused)/, O = /(?:[-+]?\d+|[a-zA-Z_][a-zA-Z0-9_-]*(?:\s+[-+]?\d+)?)/, K = /(?:(?:[-+]?\d+|[a-zA-Z_][a-zA-Z0-9_-]*(?:\s+[-+]?\d+)?)\s*\/?\s*){1,4}/, J = /(?:auto|min-content|max-content|[-+]?(?:\d*\.\d+|\d+)(?:[a-zA-Z%]+|fr)?|minmax\(\s*[^)]*\s*\)|fit-content\(\s*[^)]*\s*\))/, ss = /(?:none|subgrid|repeat\(\s*[^)]*\s*\)|(?:\[?[a-zA-Z_][a-zA-Z0-9_-]*(?:\s+[a-zA-Z_][a-zA-Z0-9_-]*)*\]?\s*)?(?:auto|min-content|max-content|[-+]?(?:\d*\.\d+|\d+)(?:[a-zA-Z%]+|fr)?|minmax\(\s*[^)]*\s*\)|fit-content\(\s*[^)]*\s*\))(?:\s+(?:\[?[a-zA-Z_][a-zA-Z0-9_-]*(?:\s+[a-zA-Z_][a-zA-Z0-9_-]*)*\]?\s*)?(?:auto|min-content|max-content|[-+]?(?:\d*\.\d+|\d+)(?:[a-zA-Z%]+|fr)?|minmax\(\s*[^)]*\s*\)|fit-content\(\s*[^)]*\s*\)))*)/, es = /[-+]?(?:\d*\.\d+|\d+)/, as = /[-+]?(?:\d*\.\d+|\d+)/, ts = /(?:auto|content|fill|max-content|min-content|fit-content|[-+]?(?:\d*\.\d+|\d+)(?:[a-zA-Z%]+)?)/, rs = /(?:row|row-reverse|column|column-reverse)/, ns = /(?:nowrap|wrap|wrap-reverse)/, os = /(?:flex-start|flex-end|center|space-between|space-around|space-evenly|start|end|left|right)/, is = /(?:stretch|flex-start|flex-end|center|baseline|start|end|self-start|self-end)/, ls = /(?:stretch|flex-start|flex-end|center|space-between|space-around|space-evenly|start|end)/, cs = /(?:none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset)/, ds = /(?:thin|medium|thick|[-+]?(?:\d*\.\d+|\d+)(?:[a-zA-Z%]+)?)/, gs = /(?:[-+]?(?:\d*\.\d+|\d+)(?:[a-zA-Z%]+)?(?:\s+[-+]?(?:\d*\.\d+|\d+)(?:[a-zA-Z%]+)?){0,3})/, ps = /(?:none|(?:inset\s+)?(?:[-+]?(?:\d*\.\d+|\d+)(?:[a-zA-Z%]+)?\s+){2,4}(?:#(?:[a-fA-F0-9]{3,4}|[a-fA-F0-9]{6}|[a-fA-F0-9]{8})|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\(\s*[^)]*\s*\)|[a-zA-Z_][a-zA-Z0-9_-]*)?(?:\s*,\s*(?:inset\s+)?(?:[-+]?(?:\d*\.\d+|\d+)(?:[a-zA-Z%]+)?\s+){2,4}(?:#(?:[a-fA-F0-9]{3,4}|[a-fA-F0-9]{6}|[a-fA-F0-9]{8})|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\(\s*[^)]*\s*\)|[a-zA-Z_][a-zA-Z0-9_-]*)?)*)/, ms = /(?:none|(?:[-+]?(?:\d*\.\d+|\d+)(?:[a-zA-Z%]+)?\s+){2,3}(?:#(?:[a-fA-F0-9]{3,4}|[a-fA-F0-9]{6}|[a-fA-F0-9]{8})|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\(\s*[^)]*\s*\)|[a-zA-Z_][a-zA-Z0-9_-]*)?(?:\s*,\s*(?:[-+]?(?:\d*\.\d+|\d+)(?:[a-zA-Z%]+)?\s+){2,3}(?:#(?:[a-fA-F0-9]{3,4}|[a-fA-F0-9]{6}|[a-fA-F0-9]{8})|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\(\s*[^)]*\s*\)|[a-zA-Z_][a-zA-Z0-9_-]*)?)*)/, us = /(?:100|200|300|400|500|600|700|800|900|normal|bold|bolder|lighter)/, hs = /(?:xx-small|x-small|small|medium|large|x-large|xx-large|xxx-large|larger|smaller|[-+]?(?:\d*\.\d+|\d+)(?:[a-zA-Z%]+)?)/, bs = /(?:normal|italic|oblique(?:\s+[-+]?(?:\d*\.\d+|\d+)deg)?)/, ws = /(?:normal|small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps)/, fs = /(?:normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|[-+]?(?:\d*\.\d+|\d+)%)/, zs = /(?:"[^"]*"|'[^']*'|[a-zA-Z_][a-zA-Z0-9_-]*(?:-[a-zA-Z0-9_-]+)*)(?:\s*,\s*(?:"[^"]*"|'[^']*'|[a-zA-Z_][a-zA-Z0-9_-]*(?:-[a-zA-Z0-9_-]+)*))*(?:\s*,\s*(?:serif|sans-serif|monospace|cursive|fantasy|system-ui|ui-serif|ui-sans-serif|ui-monospace|ui-rounded|emoji|math|fangsong))?/, As = /[a-zA-Z_][a-zA-Z0-9_-]*/, ys = /(?:-webkit-|-moz-|-ms-|-o-)?[a-zA-Z][a-zA-Z0-9-]*/, Zs = /(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/, ks = /(?:[.#][a-zA-Z0-9_-]+|[a-zA-Z_][a-zA-Z0-9_-]*|\*|\[(?:[a-zA-Z0-9_-]+(?:[~|^$*]?=(?:"[^"]*"|'[^']*'|[^\]]*))?)?\]|::?[a-zA-Z][a-zA-Z0-9_-]*(?:\([^\)]*\))?|>|\+|~|\s|,)+/, vs = /(?:width|height|aspect-ratio|orientation|resolution|color|color-index|monochrome|scan|grid|update|overflow-block|overflow-inline|color-gamut|dynamic-range|video-dynamic-range|inverted-colors|pointer|hover|any-pointer|any-hover|prefers-color-scheme|prefers-contrast|prefers-reduced-motion|prefers-reduced-transparency|forced-colors|scripting|device-width|device-height|device-aspect-ratio)/, xs = /(?:(?:only|not)?\s*)?(?:all|print|screen|speech|(?:[a-zA-Z_][a-zA-Z0-9_-]*))(?:\s+and\s+\([^)]+\))*(?:\s*,\s*(?:(?:only|not)?\s*)?(?:all|print|screen|speech|(?:[a-zA-Z_][a-zA-Z0-9_-]*))(?:\s+and\s+\([^)]+\))*)*/, _s = /(?:\(\s*(?:width|height|inline-size|block-size|aspect-ratio|orientation)\s*(?:[<>]=?|=)\s*[^)]+\s*\)(?:\s+and\s+\(\s*(?:width|height|inline-size|block-size|aspect-ratio|orientation)\s*(?:[<>]=?|=)\s*[^)]+\s*\))*)/, Fs = /data:([a-zA-Z][a-zA-Z0-9]*(?:\/[a-zA-Z][a-zA-Z0-9]*)?)?(?:;[a-zA-Z0-9-]+=[a-zA-Z0-9-]+)*(?:;base64,[a-zA-Z0-9+/]+=*|,[\s\S]*)/, qs = /https?:\/\/[^\s)]+/, u = /[a-zA-Z][a-zA-Z0-9_-]*\(\s*[^)]*\s*\)/, Xs = /--[a-zA-Z0-9_-]+/, o = /var\(\s*(--[a-zA-Z0-9_-]+)(?:\s*,\s*([^)]*))?\s*\)/, h = {
// Translation functions
translate: /translate\(\s*[^)]*\s*\)/,
translateX: /translateX\(\s*[^)]*\s*\)/,
translateY: /translateY\(\s*[^)]*\s*\)/,
translateZ: /translateZ\(\s*[^)]*\s*\)/,
translate3d: /translate3d\(\s*[^)]*\s*\)/,
// Rotation functions
rotate: /rotate\(\s*[^)]*\s*\)/,
rotateX: /rotateX\(\s*[^)]*\s*\)/,
rotateY: /rotateY\(\s*[^)]*\s*\)/,
rotateZ: /rotateZ\(\s*[^)]*\s*\)/,
rotate3d: /rotate3d\(\s*[^)]*\s*\)/,
// Scaling functions
scale: /scale\(\s*[^)]*\s*\)/,
scaleX: /scaleX\(\s*[^)]*\s*\)/,
scaleY: /scaleY\(\s*[^)]*\s*\)/,
scaleZ: /scaleZ\(\s*[^)]*\s*\)/,
scale3d: /scale3d\(\s*[^)]*\s*\)/,
// Skew functions
skew: /skew\(\s*[^)]*\s*\)/,
skewX: /skewX\(\s*[^)]*\s*\)/,
skewY: /skewY\(\s*[^)]*\s*\)/,
// Matrix functions
matrix: /matrix\(\s*(?:[-+]?(?:\d*\.\d+|\d+)\s*,?\s*){6}\)/,
matrix3d: /matrix3d\(\s*(?:[-+]?(?:\d*\.\d+|\d+)\s*,?\s*){16}\)/,
// Perspective functions
perspective: /perspective\(\s*[^)]*\s*\)/,
// Combined pattern for all transform functions
all: /(?:matrix(?:3d)?|translate(?:[XYZ]|3d)?|scale(?:[XYZ]|3d)?|rotate(?:[XYZ]|3d)?|skew[XY]?|perspective)\(\s*[^)]*\s*\)/
}, b = {
// Basic arithmetic
calc: /calc\(\s*[^)]*\s*\)/,
calcSize: /calc-size\(\s*[^)]*\s*\)/,
// Comparison functions
min: /min\(\s*[^)]*\s*\)/,
max: /max\(\s*[^)]*\s*\)/,
clamp: /clamp\(\s*[^)]*\s*\)/,
// Stepped value functions
round: /round\(\s*[^)]*\s*\)/,
mod: /mod\(\s*[^)]*\s*\)/,
rem: /rem\(\s*[^)]*\s*\)/,
// Trigonometric functions
sin: /sin\(\s*[^)]*\s*\)/,
cos: /cos\(\s*[^)]*\s*\)/,
tan: /tan\(\s*[^)]*\s*\)/,
asin: /asin\(\s*[^)]*\s*\)/,
acos: /acos\(\s*[^)]*\s*\)/,
atan: /atan\(\s*[^)]*\s*\)/,
atan2: /atan2\(\s*[^)]*\s*\)/,
// Exponential functions
pow: /pow\(\s*[^)]*\s*\)/,
sqrt: /sqrt\(\s*[^)]*\s*\)/,
hypot: /hypot\(\s*[^)]*\s*\)/,
log: /log\(\s*[^)]*\s*\)/,
exp: /exp\(\s*[^)]*\s*\)/,
// Sign-related functions
abs: /abs\(\s*[^)]*\s*\)/,
sign: /sign\(\s*[^)]*\s*\)/,
// Combined pattern for all math functions
all: /(?:calc|calc-size|clamp|min|max|abs|sign|mod|rem|sin|cos|tan|asin|acos|atan|atan2|pow|sqrt|hypot|log|exp|round)\(\s*[^)]*\s*\)/
}, w = {
blur: /blur\(\s*[^)]*\s*\)/,
brightness: /brightness\(\s*[^)]*\s*\)/,
contrast: /contrast\(\s*[^)]*\s*\)/,
dropShadow: /drop-shadow\(\s*[^)]*\s*\)/,
grayscale: /grayscale\(\s*[^)]*\s*\)/,
hueRotate: /hue-rotate\(\s*[^)]*\s*\)/,
invert: /invert\(\s*[^)]*\s*\)/,
opacity: /opacity\(\s*[^)]*\s*\)/,
saturate: /saturate\(\s*[^)]*\s*\)/,
sepia: /sepia\(\s*[^)]*\s*\)/,
// Combined pattern for all filter functions
all: /(?:blur|brightness|contrast|drop-shadow|grayscale|hue-rotate|invert|opacity|saturate|sepia)\(\s*[^)]*\s*\)/
}, Ys = {
// Basic image functions
url: /url\(\s*(?:"[^"]*"|'[^']*'|[^)]*)\s*\)/,
image: /image\(\s*[^)]*\s*\)/,
imageSet: /image-set\(\s*[^)]*\s*\)/,
crossFade: /cross-fade\(\s*[^)]*\s*\)/,
element: /element\(\s*[^)]*\s*\)/,
paint: /paint\(\s*[^)]*\s*\)/,
// Combined pattern for all image functions
all: /(?:url|image|image-set|cross-fade|element|paint)\(\s*[^)]*\s*\)/
}, Ss = {
linearGradient: /linear-gradient\(\s*[^)]*\s*\)/,
radialGradient: /radial-gradient\(\s*[^)]*\s*\)/,
conicGradient: /conic-gradient\(\s*[^)]*\s*\)/,
repeatingLinearGradient: /repeating-linear-gradient\(\s*[^)]*\s*\)/,
repeatingRadialGradient: /repeating-radial-gradient\(\s*[^)]*\s*\)/,
repeatingConicGradient: /repeating-conic-gradient\(\s*[^)]*\s*\)/,
// Combined pattern for all gradient functions
all: /(?:(?:repeating-)?(?:linear|radial|conic)-gradient)\(\s*[^)]*\s*\)/
}, Cs = {
counter: /counter\(\s*[a-zA-Z_][-\w]*(?:\s*,\s*(?:decimal|disc|circle|square|decimal-leading-zero|lower-roman|upper-roman|lower-greek|lower-latin|upper-latin|armenian|georgian|lower-alpha|upper-alpha|none|[a-zA-Z_][-\w]*))?\s*\)/,
counters: /counters\(\s*[a-zA-Z_][-\w]*\s*,\s*(?:"[^"]*"|'[^']*')\s*(?:,\s*(?:decimal|disc|circle|square|decimal-leading-zero|lower-roman|upper-roman|lower-greek|lower-latin|upper-latin|armenian|georgian|lower-alpha|upper-alpha|none|[a-zA-Z_][-\w]*))?\s*\)/,
symbols: /symbols\(\s*[^)]*\s*\)/,
// Combined pattern for all counter functions
all: /(?:counter|counters|symbols)\(\s*[^)]*\s*\)/
}, js = {
circle: /circle\(\s*[^)]*\s*\)/,
ellipse: /ellipse\(\s*[^)]*\s*\)/,
inset: /inset\(\s*[^)]*\s*\)/,
rect: /rect\(\s*[^)]*\s*\)/,
xywh: /xywh\(\s*[^)]*\s*\)/,
polygon: /polygon\(\s*[^)]*\s*\)/,
path: /path\(\s*[^)]*\s*\)/,
shape: /shape\(\s*[^)]*\s*\)/,
ray: /ray\(\s*[^)]*\s*\)/,
// Combined pattern for all shape functions
all: /(?:circle|ellipse|inset|rect|xywh|polygon|path|shape|ray)\(\s*[^)]*\s*\)/
}, Rs = {
attr: /attr\(\s*[a-zA-Z_][-\w]*(?:\s+(?:string|color|url|integer|number|length|angle|time|frequency|%))?\s*(?:,\s*[^)]*)?\s*\)/,
env: /env\(\s*[^)]*\s*\)/,
if: /if\(\s*[^)]*\s*\)/,
url: /url\(\s*(?:"[^"]*"|'[^']*'|[^)]*)\s*\)/,
var: o,
// Combined pattern for all reference functions
all: /(?:attr|env|if|url|var)\(\s*[^)]*\s*\)/
}, $s = {
fitContent: /fit-content\(\s*[^)]*\s*\)/,
minmax: /minmax\(\s*[^)]*\s*\)/,
repeat: /repeat\(\s*[^)]*\s*\)/,
// Combined pattern for all grid functions
all: /(?:fit-content|minmax|repeat)\(\s*[^)]*\s*\)/
}, Gs = {
stylistic: /stylistic\(\s*[^)]*\s*\)/,
styleset: /styleset\(\s*[^)]*\s*\)/,
characterVariant: /character-variant\(\s*[^)]*\s*\)/,
swash: /swash\(\s*[^)]*\s*\)/,
ornaments: /ornaments\(\s*[^)]*\s*\)/,
annotation: /annotation\(\s*[^)]*\s*\)/,
// Combined pattern for all font functions
all: /(?:stylistic|styleset|character-variant|swash|ornaments|annotation)\(\s*[^)]*\s*\)/
}, Ps = {
linear: /linear\(\s*[^)]*\s*\)/,
cubicBezier: /cubic-bezier\(\s*(?:[-+]?(?:\d*\.\d+|\d+)\s*,?\s*){4}\)/,
steps: /steps\(\s*[^)]*\s*\)/,
// Combined pattern for all easing functions
all: /(?:linear|cubic-bezier|steps)\(\s*[^)]*\s*\)/
}, Vs = {
scroll: /scroll\(\s*[^)]*\s*\)/,
view: /view\(\s*[^)]*\s*\)/,
// Combined pattern for all animation functions
all: /(?:scroll|view)\(\s*[^)]*\s*\)/
}, Ds = {
anchor: /anchor\(\s*[^)]*\s*\)/,
anchorSize: /anchor-size\(\s*[^)]*\s*\)/,
// Combined pattern for all anchor positioning functions
all: /(?:anchor|anchor-size)\(\s*[^)]*\s*\)/
}, Es = {
siblingIndex: /sibling-index\(\s*[^)]*\s*\)/,
siblingCount: /sibling-count\(\s*[^)]*\s*\)/,
// Combined pattern for all tree counting functions
all: /(?:sibling-index|sibling-count)\(\s*[^)]*\s*\)/
}, Bs = {
attr: /attr\(\s*[a-zA-Z_][-\w]*(?:\s+(?:string|color|url|integer|number|length|angle|time|frequency|%))?\s*(?:,\s*[^)]*)?\s*\)/,
counter: /counter\(\s*[a-zA-Z_][-\w]*(?:\s*,\s*(?:decimal|disc|circle|square|decimal-leading-zero|lower-roman|upper-roman|lower-greek|lower-latin|upper-latin|armenian|georgian|lower-alpha|upper-alpha|none|[a-zA-Z_][-\w]*))?\s*\)/,
counters: /counters\(\s*[a-zA-Z_][-\w]*\s*,\s*(?:"[^"]*"|'[^']*')\s*(?:,\s*(?:decimal|disc|circle|square|decimal-leading-zero|lower-roman|upper-roman|lower-greek|lower-latin|upper-latin|armenian|georgian|lower-alpha|upper-alpha|none|[a-zA-Z_][-\w]*))?\s*\)/,
string: /string\(\s*[a-zA-Z_][-\w]*(?:\s*,\s*(?:first|start|last|first-except))?\s*\)/,
content: /content\(\s*(?:text|before|after|first-letter|marker)\s*\)/,
leader: /leader\(\s*(?:"[^"]*"|'[^']*'|dotted|solid|space)\s*\)/,
targetCounter: /target-counter\(\s*(?:url\([^)]+\)|attr\([^)]+\))\s*,\s*[a-zA-Z_][-\w]*\s*(?:,\s*(?:decimal|disc|circle|square|decimal-leading-zero|lower-roman|upper-roman|lower-greek|lower-latin|upper-latin|armenian|georgian|lower-alpha|upper-alpha|none|[a-zA-Z_][-\w]*))?\s*\)/,
targetCounters: /target-counters\(\s*(?:url\([^)]+\)|attr\([^)]+\))\s*,\s*[a-zA-Z_][-\w]*\s*,\s*(?:"[^"]*"|'[^']*')\s*(?:,\s*(?:decimal|disc|circle|square|decimal-leading-zero|lower-roman|upper-roman|lower-greek|lower-latin|upper-latin|armenian|georgian|lower-alpha|upper-alpha|none|[a-zA-Z_][-\w]*))?\s*\)/,
targetText: /target-text\(\s*(?:url\([^)]+\)|attr\([^)]+\))\s*(?:,\s*(?:content|before|after|first-letter))?\s*\)/,
// Combined pattern for all content functions
all: /(?:attr|counter|counters|string|content|leader|target-counter|target-counters|target-text)\(\s*[^)]*\s*\)/
}, Us = {
calcMix: /calc-mix\(\s*[^)]*\s*\)/,
crossorigin: /crossorigin\(\s*[^)]*\s*\)/,
firstValid: /first-valid\(\s*[^)]*\s*\)/,
integrity: /integrity\(\s*[^)]*\s*\)/,
progress: /progress\(\s*[^)]*\s*\)/,
random: /random\(\s*[^)]*\s*\)/,
randomItem: /random-item\(\s*[^)]*\s*\)/,
referrerpolicy: /referrerpolicy\(\s*[^)]*\s*\)/,
src: /src\(\s*[^)]*\s*\)/,
type: /type\(\s*[^)]*\s*\)/,
toggle: /toggle\(\s*[^)]*\s*\)/,
// Combined pattern for all experimental functions
all: /(?:calc-mix|crossorigin|first-valid|integrity|progress|random|random-item|referrerpolicy|src|type|toggle)\(\s*[^)]*\s*\)/
}, Hs = /(?:matrix(?:3d)?\(\s*[^)]*\s*\)|translate(?:[XYZ]|3d)?\(\s*[^)]*\s*\)|scale(?:[XYZ]|3d)?\(\s*[^)]*\s*\)|rotate(?:[XYZ]|3d)?\(\s*[^)]*\s*\)|skew[XY]?\(\s*[^)]*\s*\)|perspective\(\s*[^)]*\s*\))(?:\s+(?:matrix(?:3d)?\(\s*[^)]*\s*\)|translate(?:[XYZ]|3d)?\(\s*[^)]*\s*\)|scale(?:[XYZ]|3d)?\(\s*[^)]*\s*\)|rotate(?:[XYZ]|3d)?\(\s*[^)]*\s*\)|skew[XY]?\(\s*[^)]*\s*\)|perspective\(\s*[^)]*\s*\)))*/, f = /(?:blur\(\s*[^)]*\s*\)|brightness\(\s*[^)]*\s*\)|contrast\(\s*[^)]*\s*\)|drop-shadow\(\s*[^)]*\s*\)|grayscale\(\s*[^)]*\s*\)|hue-rotate\(\s*[^)]*\s*\)|invert\(\s*[^)]*\s*\)|opacity\(\s*[^)]*\s*\)|saturate\(\s*[^)]*\s*\)|sepia\(\s*[^)]*\s*\))(?:\s+(?:blur\(\s*[^)]*\s*\)|brightness\(\s*[^)]*\s*\)|contrast\(\s*[^)]*\s*\)|drop-shadow\(\s*[^)]*\s*\)|grayscale\(\s*[^)]*\s*\)|hue-rotate\(\s*[^)]*\s*\)|invert\(\s*[^)]*\s*\)|opacity\(\s*[^)]*\s*\)|saturate\(\s*[^)]*\s*\)|sepia\(\s*[^)]*\s*\)))*/, Is = f, z = c(e(e(e(e(e(e(e(e(e(e(e(e(e(e(e(e({}, h), b), w), U), Ys), Ss), Cs), js), Rs), $s), Gs), Ps), Vs), Ds), Es), Us), {
var: o,
all: u
}), Ls = b.calc, Ns = h, Os = w, Ks = z, Ts = {
// basic
number: x,
integer: _,
percentage: F,
fraction: q,
ratio: X,
dimension: Y,
time: n,
angle: S,
frequency: C,
resolution: j,
length: R,
enhancedRatio: $,
unit: G,
globalKeywords: P,
numberWithUnit: V,
// color
hexColor: g,
colorFunction: p,
namedColor: m,
color: E,
// css functions
cssFunction: u,
cssCalcFunc: Ls,
cssVariable: Xs,
cssVariableUsage: o,
transformFunctions: Hs,
filterFunctions: f,
backdropFilterFunctions: Is,
// css value
cssValue: H,
animationName: I,
animationDuration: L,
animationTimingFunction: T,
animationDelay: W,
animationIterationCount: M,
animationDirection: Q,
animationFillMode: B,
animationPlayState: N,
gridLine: O,
gridArea: K,
gridTrackSize: J,
gridTemplate: ss,
flexGrow: es,
flexShrink: as,
flexBasis: ts,
flexDirection: rs,
flexWrap: ns,
justifyContent: os,
alignItems: is,
alignContent: ls,
borderStyle: cs,
borderWidth: ds,
borderRadius: gs,
boxShadow: ps,
textShadow: ms,
fontWeight: us,
fontSize: hs,
fontStyle: bs,
fontVariant: ws,
fontStretch: fs,
fontFamily: zs,
// identifiers
identifier: As,
propertyName: ys,
string: Zs,
selector: ks,
mediaFeature: vs,
mediaQuery: xs,
containerQuery: _s,
dataUrl: Fs,
httpUrl: qs
}, Ws = {};
for (const [a, s] of Object.entries(Ts))
Ws[a] = new RegExp(`^${s.source}$`, "i");
const Ms = {};
for (const [a, s] of Object.entries(z))
Ms[a] = new RegExp(`^${s.source}$`, "i");
export {
ls as alignContent,
is as alignItems,
z as allCSSFunctions,
Ds as anchorPositioningFunctions,
S as angle,
W as animationDelay,
Q as animationDirection,
L as animationDuration,
B as animationFillMode,
Vs as animationFunctions,
M as animationIterationCount,
I as animationName,
N as animationPlayState,
T as animationTimingFunction,
Is as backdropFilterFunctions,
Is as backdropFilterProperty,
gs as borderRadius,
cs as borderStyle,
ds as borderWidth,
ps as boxShadow,
E as color,
p as colorFunction,
U as colorFunctions,
_s as containerQuery,
Bs as contentFunctions,
Cs as counterFunctions,
Ls as cssCalcFunc,
u as cssFunction,
H as cssValue,
Xs as cssVariable,
o as cssVariableUsage,
Fs as dataUrl,
Y as dimension,
Ps as easingFunctions,
$ as enhancedRatio,
Us as experimentalFunctions,
w as filterFunctions,
Os as filterFunctionsList,
f as filterProperty,
ts as flexBasis,
rs as flexDirection,
es as flexGrow,
as as flexShrink,
ns as flexWrap,
zs as fontFamily,
Gs as fontFunctions,
hs as fontSize,
fs as fontStretch,
bs as fontStyle,
ws as fontVariant,
us as fontWeight,
q as fraction,
C as frequency,
P as globalKeywords,
Ss as gradientFunctions,
K as gridArea,
$s as gridFunctions,
O as gridLine,
ss as gridTemplate,
J as gridTrackSize,
Ts as has,
Ks as hasFunction,
g as hexColor,
qs as httpUrl,
As as identifier,
Ys as imageFunctions,
_ as integer,
Ws as is,
Ms as isFunction,
os as justifyContent,
R as length,
b as mathFunctions,
vs as mediaFeature,
xs as mediaQuery,
m as namedColor,
x as numberPattern,
V as numberWithUnit,
F as percentage,
ys as propertyName,
X as ratio,
Rs as referenceFunctions,
j as resolution,
ks as selector,
js as shapeFunctions,
Ks as specificFunctions,
Zs as string,
ms as textShadow,
n as time,
h as transformFunctions,
Ns as transformFunctionsList,
Hs as transformProperty,
Es as treeCountingFunctions,
G as unit
};