Files
NapCatQQ/.pnpm-store/v3/files/dc/ecf6903e875052e3fab4a803f31ac5bdd071c2176fa10006e970ace86a78b2e44936ee0520d1828f61070370117cb80f6c5faf70c49a67d3a775abd08345cd
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

29 lines
1.3 KiB
Plaintext

import { cssPropertyAlias, cssPropertyPrefixFlags, cssValuePrefixFlags } from 'style-vendorizer';
export function prefix(property, value) {
let cssText = '';
/* Resolve aliases, e.g. `gap` -> `grid-gap` */
const propertyAlias = cssPropertyAlias(property);
if (propertyAlias) cssText += `${propertyAlias}:${value};`;
/* Prefix properties, e.g. `backdrop-filter` -> `-webkit-backdrop-filter` */
const propertyFlags = cssPropertyPrefixFlags(property);
if (propertyFlags & 0b001) cssText += `-webkit-${property}:${value};`;
if (propertyFlags & 0b010) cssText += `-moz-${property}:${value};`;
if (propertyFlags & 0b100) cssText += `-ms-${property}:${value};`;
/* Prefix values, e.g. `position: "sticky"` -> `position: "-webkit-sticky"` */
/* Notice that flags don't overlap and property prefixing isn't needed here */
const valueFlags = cssValuePrefixFlags(property, value);
if (valueFlags & 0b001) cssText += `${property}:-webkit-${value};`;
else if (valueFlags & 0b010) cssText += `${property}:-moz-${value};`;
else if (valueFlags & 0b100) cssText += `${property}:-ms-${value};`;
/* Include the standardized declaration last */
/* https://css-tricks.com/ordering-css3-properties/ */
cssText += `${property}:${value};`;
return cssText;
}