Added new_site as a raw tailwind+html site; initialized npm modules; demo template
This commit is contained in:
9712
new_site/node_modules/lightningcss/node/ast.d.ts
generated
vendored
Normal file
9712
new_site/node_modules/lightningcss/node/ast.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
10342
new_site/node_modules/lightningcss/node/ast.js.flow
generated
vendored
Normal file
10342
new_site/node_modules/lightningcss/node/ast.js.flow
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
48
new_site/node_modules/lightningcss/node/browserslistToTargets.js
generated
vendored
Normal file
48
new_site/node_modules/lightningcss/node/browserslistToTargets.js
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
const BROWSER_MAPPING = {
|
||||
and_chr: 'chrome',
|
||||
and_ff: 'firefox',
|
||||
ie_mob: 'ie',
|
||||
op_mob: 'opera',
|
||||
and_qq: null,
|
||||
and_uc: null,
|
||||
baidu: null,
|
||||
bb: null,
|
||||
kaios: null,
|
||||
op_mini: null,
|
||||
};
|
||||
|
||||
function browserslistToTargets(browserslist) {
|
||||
let targets = {};
|
||||
for (let browser of browserslist) {
|
||||
let [name, v] = browser.split(' ');
|
||||
if (BROWSER_MAPPING[name] === null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
let version = parseVersion(v);
|
||||
if (version == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (targets[name] == null || version < targets[name]) {
|
||||
targets[name] = version;
|
||||
}
|
||||
}
|
||||
|
||||
return targets;
|
||||
}
|
||||
|
||||
function parseVersion(version) {
|
||||
let [major, minor = 0, patch = 0] = version
|
||||
.split('-')[0]
|
||||
.split('.')
|
||||
.map(v => parseInt(v, 10));
|
||||
|
||||
if (isNaN(major) || isNaN(minor) || isNaN(patch)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (major << 16) | (minor << 8) | patch;
|
||||
}
|
||||
|
||||
module.exports = browserslistToTargets;
|
442
new_site/node_modules/lightningcss/node/composeVisitors.js
generated
vendored
Normal file
442
new_site/node_modules/lightningcss/node/composeVisitors.js
generated
vendored
Normal file
@@ -0,0 +1,442 @@
|
||||
// @ts-check
|
||||
/** @typedef {import('./index').Visitor} Visitor */
|
||||
|
||||
/**
|
||||
* Composes multiple visitor objects into a single one.
|
||||
* @param {Visitor[]} visitors
|
||||
* @return {Visitor}
|
||||
*/
|
||||
function composeVisitors(visitors) {
|
||||
if (visitors.length === 1) {
|
||||
return visitors[0];
|
||||
}
|
||||
|
||||
/** @type Visitor */
|
||||
let res = {};
|
||||
composeSimpleVisitors(res, visitors, 'StyleSheet');
|
||||
composeSimpleVisitors(res, visitors, 'StyleSheetExit');
|
||||
composeObjectVisitors(res, visitors, 'Rule', ruleVisitor, wrapCustomAndUnknownAtRule);
|
||||
composeObjectVisitors(res, visitors, 'RuleExit', ruleVisitor, wrapCustomAndUnknownAtRule);
|
||||
composeObjectVisitors(res, visitors, 'Declaration', declarationVisitor, wrapCustomProperty);
|
||||
composeObjectVisitors(res, visitors, 'DeclarationExit', declarationVisitor, wrapCustomProperty);
|
||||
composeSimpleVisitors(res, visitors, 'Url');
|
||||
composeSimpleVisitors(res, visitors, 'Color');
|
||||
composeSimpleVisitors(res, visitors, 'Image');
|
||||
composeSimpleVisitors(res, visitors, 'ImageExit');
|
||||
composeSimpleVisitors(res, visitors, 'Length');
|
||||
composeSimpleVisitors(res, visitors, 'Angle');
|
||||
composeSimpleVisitors(res, visitors, 'Ratio');
|
||||
composeSimpleVisitors(res, visitors, 'Resolution');
|
||||
composeSimpleVisitors(res, visitors, 'Time');
|
||||
composeSimpleVisitors(res, visitors, 'CustomIdent');
|
||||
composeSimpleVisitors(res, visitors, 'DashedIdent');
|
||||
composeArrayFunctions(res, visitors, 'MediaQuery');
|
||||
composeArrayFunctions(res, visitors, 'MediaQueryExit');
|
||||
composeSimpleVisitors(res, visitors, 'SupportsCondition');
|
||||
composeSimpleVisitors(res, visitors, 'SupportsConditionExit');
|
||||
composeArrayFunctions(res, visitors, 'Selector');
|
||||
composeTokenVisitors(res, visitors, 'Token', 'token', false);
|
||||
composeTokenVisitors(res, visitors, 'Function', 'function', false);
|
||||
composeTokenVisitors(res, visitors, 'FunctionExit', 'function', true);
|
||||
composeTokenVisitors(res, visitors, 'Variable', 'var', false);
|
||||
composeTokenVisitors(res, visitors, 'VariableExit', 'var', true);
|
||||
composeTokenVisitors(res, visitors, 'EnvironmentVariable', 'env', false);
|
||||
composeTokenVisitors(res, visitors, 'EnvironmentVariableExit', 'env', true);
|
||||
return res;
|
||||
}
|
||||
|
||||
module.exports = composeVisitors;
|
||||
|
||||
function wrapCustomAndUnknownAtRule(k, f) {
|
||||
if (k === 'unknown') {
|
||||
return (value => f({ type: 'unknown', value }));
|
||||
}
|
||||
if (k === 'custom') {
|
||||
return (value => f({ type: 'custom', value }));
|
||||
}
|
||||
return f;
|
||||
}
|
||||
|
||||
function wrapCustomProperty(k, f) {
|
||||
return k === 'custom' ? (value => f({ property: 'custom', value })) : f;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {import('./index').Visitor['Rule']} f
|
||||
* @param {import('./ast').Rule} item
|
||||
*/
|
||||
function ruleVisitor(f, item) {
|
||||
if (typeof f === 'object') {
|
||||
if (item.type === 'unknown') {
|
||||
let v = f.unknown;
|
||||
if (typeof v === 'object') {
|
||||
v = v[item.value.name];
|
||||
}
|
||||
return v?.(item.value);
|
||||
}
|
||||
if (item.type === 'custom') {
|
||||
let v = f.custom;
|
||||
if (typeof v === 'object') {
|
||||
v = v[item.value.name];
|
||||
}
|
||||
return v?.(item.value);
|
||||
}
|
||||
return f[item.type]?.(item);
|
||||
}
|
||||
return f?.(item);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {import('./index').Visitor['Declaration']} f
|
||||
* @param {import('./ast').Declaration} item
|
||||
*/
|
||||
function declarationVisitor(f, item) {
|
||||
if (typeof f === 'object') {
|
||||
/** @type {string} */
|
||||
let name = item.property;
|
||||
if (item.property === 'unparsed') {
|
||||
name = item.value.propertyId.property;
|
||||
} else if (item.property === 'custom') {
|
||||
let v = f.custom;
|
||||
if (typeof v === 'object') {
|
||||
v = v[item.value.name];
|
||||
}
|
||||
return v?.(item.value);
|
||||
}
|
||||
return f[name]?.(item);
|
||||
}
|
||||
return f?.(item);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {Visitor[]} visitors
|
||||
* @param {string} key
|
||||
* @returns {[any[], boolean, Set<string>]}
|
||||
*/
|
||||
function extractObjectsOrFunctions(visitors, key) {
|
||||
let values = [];
|
||||
let hasFunction = false;
|
||||
let allKeys = new Set();
|
||||
for (let visitor of visitors) {
|
||||
let v = visitor[key];
|
||||
if (v) {
|
||||
if (typeof v === 'function') {
|
||||
hasFunction = true;
|
||||
} else {
|
||||
for (let key in v) {
|
||||
allKeys.add(key);
|
||||
}
|
||||
}
|
||||
values.push(v);
|
||||
}
|
||||
}
|
||||
return [values, hasFunction, allKeys];
|
||||
}
|
||||
|
||||
/**
|
||||
* @template {keyof Visitor} K
|
||||
* @param {Visitor} res
|
||||
* @param {Visitor[]} visitors
|
||||
* @param {K} key
|
||||
* @param {(visitor: Visitor[K], item: any) => any | any[] | void} apply
|
||||
* @param {(k: string, f: any) => any} wrapKey
|
||||
*/
|
||||
function composeObjectVisitors(res, visitors, key, apply, wrapKey) {
|
||||
let [values, hasFunction, allKeys] = extractObjectsOrFunctions(visitors, key);
|
||||
if (values.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (values.length === 1) {
|
||||
res[key] = values[0];
|
||||
return;
|
||||
}
|
||||
|
||||
let f = createArrayVisitor(visitors, (visitor, item) => apply(visitor[key], item));
|
||||
if (hasFunction) {
|
||||
res[key] = f;
|
||||
} else {
|
||||
/** @type {any} */
|
||||
let v = {};
|
||||
for (let k of allKeys) {
|
||||
v[k] = wrapKey(k, f);
|
||||
}
|
||||
res[key] = v;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Visitor} res
|
||||
* @param {Visitor[]} visitors
|
||||
* @param {string} key
|
||||
* @param {import('./ast').TokenOrValue['type']} type
|
||||
* @param {boolean} isExit
|
||||
*/
|
||||
function composeTokenVisitors(res, visitors, key, type, isExit) {
|
||||
let [values, hasFunction, allKeys] = extractObjectsOrFunctions(visitors, key);
|
||||
if (values.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (values.length === 1) {
|
||||
res[key] = values[0];
|
||||
return;
|
||||
}
|
||||
|
||||
let f = createTokenVisitor(visitors, type, isExit);
|
||||
if (hasFunction) {
|
||||
res[key] = f;
|
||||
} else {
|
||||
let v = {};
|
||||
for (let key of allKeys) {
|
||||
v[key] = f;
|
||||
}
|
||||
res[key] = v;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Visitor[]} visitors
|
||||
* @param {import('./ast').TokenOrValue['type']} type
|
||||
*/
|
||||
function createTokenVisitor(visitors, type, isExit) {
|
||||
let v = createArrayVisitor(visitors, (visitor, /** @type {import('./ast').TokenOrValue} */ item) => {
|
||||
let f;
|
||||
switch (item.type) {
|
||||
case 'token':
|
||||
f = visitor.Token;
|
||||
if (typeof f === 'object') {
|
||||
f = f[item.value.type];
|
||||
}
|
||||
break;
|
||||
case 'function':
|
||||
f = isExit ? visitor.FunctionExit : visitor.Function;
|
||||
if (typeof f === 'object') {
|
||||
f = f[item.value.name];
|
||||
}
|
||||
break;
|
||||
case 'var':
|
||||
f = isExit ? visitor.VariableExit : visitor.Variable;
|
||||
break;
|
||||
case 'env':
|
||||
f = isExit ? visitor.EnvironmentVariableExit : visitor.EnvironmentVariable;
|
||||
if (typeof f === 'object') {
|
||||
let name;
|
||||
switch (item.value.name.type) {
|
||||
case 'ua':
|
||||
case 'unknown':
|
||||
name = item.value.name.value;
|
||||
break;
|
||||
case 'custom':
|
||||
name = item.value.name.ident;
|
||||
break;
|
||||
}
|
||||
f = f[name];
|
||||
}
|
||||
break;
|
||||
case 'color':
|
||||
f = visitor.Color;
|
||||
break;
|
||||
case 'url':
|
||||
f = visitor.Url;
|
||||
break;
|
||||
case 'length':
|
||||
f = visitor.Length;
|
||||
break;
|
||||
case 'angle':
|
||||
f = visitor.Angle;
|
||||
break;
|
||||
case 'time':
|
||||
f = visitor.Time;
|
||||
break;
|
||||
case 'resolution':
|
||||
f = visitor.Resolution;
|
||||
break;
|
||||
case 'dashed-ident':
|
||||
f = visitor.DashedIdent;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!f) {
|
||||
return;
|
||||
}
|
||||
|
||||
let res = f(item.value);
|
||||
switch (item.type) {
|
||||
case 'color':
|
||||
case 'url':
|
||||
case 'length':
|
||||
case 'angle':
|
||||
case 'time':
|
||||
case 'resolution':
|
||||
case 'dashed-ident':
|
||||
if (Array.isArray(res)) {
|
||||
res = res.map(value => ({ type: item.type, value }))
|
||||
} else if (res) {
|
||||
res = { type: item.type, value: res };
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return res;
|
||||
});
|
||||
|
||||
return value => v({ type, value });
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Visitor[]} visitors
|
||||
* @param {string} key
|
||||
*/
|
||||
function extractFunctions(visitors, key) {
|
||||
let functions = [];
|
||||
for (let visitor of visitors) {
|
||||
let f = visitor[key];
|
||||
if (f) {
|
||||
functions.push(f);
|
||||
}
|
||||
}
|
||||
return functions;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Visitor} res
|
||||
* @param {Visitor[]} visitors
|
||||
* @param {string} key
|
||||
*/
|
||||
function composeSimpleVisitors(res, visitors, key) {
|
||||
let functions = extractFunctions(visitors, key);
|
||||
if (functions.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (functions.length === 1) {
|
||||
res[key] = functions[0];
|
||||
return;
|
||||
}
|
||||
|
||||
res[key] = arg => {
|
||||
let mutated = false;
|
||||
for (let f of functions) {
|
||||
let res = f(arg);
|
||||
if (res) {
|
||||
arg = res;
|
||||
mutated = true;
|
||||
}
|
||||
}
|
||||
|
||||
return mutated ? arg : undefined;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Visitor} res
|
||||
* @param {Visitor[]} visitors
|
||||
* @param {string} key
|
||||
*/
|
||||
function composeArrayFunctions(res, visitors, key) {
|
||||
let functions = extractFunctions(visitors, key);
|
||||
if (functions.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (functions.length === 1) {
|
||||
res[key] = functions[0];
|
||||
return;
|
||||
}
|
||||
|
||||
res[key] = createArrayVisitor(functions, (f, item) => f(item));
|
||||
}
|
||||
|
||||
/**
|
||||
* @template T
|
||||
* @template V
|
||||
* @param {T[]} visitors
|
||||
* @param {(visitor: T, item: V) => V | V[] | void} apply
|
||||
* @returns {(item: V) => V | V[] | void}
|
||||
*/
|
||||
function createArrayVisitor(visitors, apply) {
|
||||
let seen = new Bitset(visitors.length);
|
||||
return arg => {
|
||||
let arr = [arg];
|
||||
let mutated = false;
|
||||
seen.clear();
|
||||
for (let i = 0; i < arr.length; i++) {
|
||||
// For each value, call all visitors. If a visitor returns a new value,
|
||||
// we start over, but skip the visitor that generated the value or saw
|
||||
// it before (to avoid cycles). This way, visitors can be composed in any order.
|
||||
for (let v = 0; v < visitors.length;) {
|
||||
if (seen.get(v)) {
|
||||
v++;
|
||||
continue;
|
||||
}
|
||||
|
||||
let item = arr[i];
|
||||
let visitor = visitors[v];
|
||||
let res = apply(visitor, item);
|
||||
if (Array.isArray(res)) {
|
||||
if (res.length === 0) {
|
||||
arr.splice(i, 1);
|
||||
} else if (res.length === 1) {
|
||||
arr[i] = res[0];
|
||||
} else {
|
||||
arr.splice(i, 1, ...res);
|
||||
}
|
||||
mutated = true;
|
||||
seen.set(v);
|
||||
v = 0;
|
||||
} else if (res) {
|
||||
arr[i] = res;
|
||||
mutated = true;
|
||||
seen.set(v);
|
||||
v = 0;
|
||||
} else {
|
||||
v++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!mutated) {
|
||||
return;
|
||||
}
|
||||
|
||||
return arr.length === 1 ? arr[0] : arr;
|
||||
};
|
||||
}
|
||||
|
||||
class Bitset {
|
||||
constructor(maxBits = 32) {
|
||||
this.bits = 0;
|
||||
this.more = maxBits > 32 ? new Uint32Array(Math.ceil((maxBits - 32) / 32)) : null;
|
||||
}
|
||||
|
||||
/** @param {number} bit */
|
||||
get(bit) {
|
||||
if (bit >= 32 && this.more) {
|
||||
let i = Math.floor((bit - 32) / 32);
|
||||
let b = bit % 32;
|
||||
return Boolean(this.more[i] & (1 << b));
|
||||
} else {
|
||||
return Boolean(this.bits & (1 << bit));
|
||||
}
|
||||
}
|
||||
|
||||
/** @param {number} bit */
|
||||
set(bit) {
|
||||
if (bit >= 32 && this.more) {
|
||||
let i = Math.floor((bit - 32) / 32);
|
||||
let b = bit % 32;
|
||||
this.more[i] |= 1 << b;
|
||||
} else {
|
||||
this.bits |= 1 << bit;
|
||||
}
|
||||
}
|
||||
|
||||
clear() {
|
||||
this.bits = 0;
|
||||
if (this.more) {
|
||||
this.more.fill(0);
|
||||
}
|
||||
}
|
||||
}
|
28
new_site/node_modules/lightningcss/node/flags.js
generated
vendored
Normal file
28
new_site/node_modules/lightningcss/node/flags.js
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
// This file is autogenerated by build-prefixes.js. DO NOT EDIT!
|
||||
|
||||
exports.Features = {
|
||||
Nesting: 1,
|
||||
NotSelectorList: 2,
|
||||
DirSelector: 4,
|
||||
LangSelectorList: 8,
|
||||
IsSelector: 16,
|
||||
TextDecorationThicknessPercent: 32,
|
||||
MediaIntervalSyntax: 64,
|
||||
MediaRangeSyntax: 128,
|
||||
CustomMediaQueries: 256,
|
||||
ClampFunction: 512,
|
||||
ColorFunction: 1024,
|
||||
OklabColors: 2048,
|
||||
LabColors: 4096,
|
||||
P3Colors: 8192,
|
||||
HexAlphaColors: 16384,
|
||||
SpaceSeparatedColorNotation: 32768,
|
||||
FontFamilySystemUi: 65536,
|
||||
DoublePositionGradients: 131072,
|
||||
VendorPrefixes: 262144,
|
||||
LogicalProperties: 524288,
|
||||
LightDark: 1048576,
|
||||
Selectors: 31,
|
||||
MediaQueries: 448,
|
||||
Colors: 1113088,
|
||||
};
|
477
new_site/node_modules/lightningcss/node/index.d.ts
generated
vendored
Normal file
477
new_site/node_modules/lightningcss/node/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,477 @@
|
||||
import type { Angle, CssColor, Rule, CustomProperty, EnvironmentVariable, Function, Image, LengthValue, MediaQuery, Declaration, Ratio, Resolution, Selector, SupportsCondition, Time, Token, TokenOrValue, UnknownAtRule, Url, Variable, StyleRule, DeclarationBlock, ParsedComponent, Multiplier, StyleSheet, Location2 } from './ast';
|
||||
import { Targets, Features } from './targets';
|
||||
|
||||
export * from './ast';
|
||||
|
||||
export { Targets, Features };
|
||||
|
||||
export interface TransformOptions<C extends CustomAtRules> {
|
||||
/** The filename being transformed. Used for error messages and source maps. */
|
||||
filename: string,
|
||||
/** The source code to transform. */
|
||||
code: Uint8Array,
|
||||
/** Whether to enable minification. */
|
||||
minify?: boolean,
|
||||
/** Whether to output a source map. */
|
||||
sourceMap?: boolean,
|
||||
/** An input source map to extend. */
|
||||
inputSourceMap?: string,
|
||||
/**
|
||||
* An optional project root path, used as the source root in the output source map.
|
||||
* Also used to generate relative paths for sources used in CSS module hashes.
|
||||
*/
|
||||
projectRoot?: string,
|
||||
/** The browser targets for the generated code. */
|
||||
targets?: Targets,
|
||||
/** Features that should always be compiled, even when supported by targets. */
|
||||
include?: number,
|
||||
/** Features that should never be compiled, even when unsupported by targets. */
|
||||
exclude?: number,
|
||||
/** Whether to enable parsing various draft syntax. */
|
||||
drafts?: Drafts,
|
||||
/** Whether to enable various non-standard syntax. */
|
||||
nonStandard?: NonStandard,
|
||||
/** Whether to compile this file as a CSS module. */
|
||||
cssModules?: boolean | CSSModulesConfig,
|
||||
/**
|
||||
* Whether to analyze dependencies (e.g. `@import` and `url()`).
|
||||
* When enabled, `@import` rules are removed, and `url()` dependencies
|
||||
* are replaced with hashed placeholders that can be replaced with the final
|
||||
* urls later (after bundling). Dependencies are returned as part of the result.
|
||||
*/
|
||||
analyzeDependencies?: boolean | DependencyOptions,
|
||||
/**
|
||||
* Replaces user action pseudo classes with class names that can be applied from JavaScript.
|
||||
* This is useful for polyfills, for example.
|
||||
*/
|
||||
pseudoClasses?: PseudoClasses,
|
||||
/**
|
||||
* A list of class names, ids, and custom identifiers (e.g. @keyframes) that are known
|
||||
* to be unused. These will be removed during minification. Note that these are not
|
||||
* selectors but individual names (without any . or # prefixes).
|
||||
*/
|
||||
unusedSymbols?: string[],
|
||||
/**
|
||||
* Whether to ignore invalid rules and declarations rather than erroring.
|
||||
* When enabled, warnings are returned, and the invalid rule or declaration is
|
||||
* omitted from the output code.
|
||||
*/
|
||||
errorRecovery?: boolean,
|
||||
/**
|
||||
* An AST visitor object. This allows custom transforms or analysis to be implemented in JavaScript.
|
||||
* Multiple visitors can be composed into one using the `composeVisitors` function.
|
||||
* For optimal performance, visitors should be as specific as possible about what types of values
|
||||
* they care about so that JavaScript has to be called as little as possible.
|
||||
*/
|
||||
visitor?: Visitor<C>,
|
||||
/**
|
||||
* Defines how to parse custom CSS at-rules. Each at-rule can have a prelude, defined using a CSS
|
||||
* [syntax string](https://drafts.css-houdini.org/css-properties-values-api/#syntax-strings), and
|
||||
* a block body. The body can be a declaration list, rule list, or style block as defined in the
|
||||
* [css spec](https://drafts.csswg.org/css-syntax/#declaration-rule-list).
|
||||
*/
|
||||
customAtRules?: C
|
||||
}
|
||||
|
||||
// This is a hack to make TS still provide autocomplete for `property` vs. just making it `string`.
|
||||
type PropertyStart = '-' | '_' | 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z';
|
||||
export type ReturnedDeclaration = Declaration | {
|
||||
/** The property name. */
|
||||
property: `${PropertyStart}${string}`,
|
||||
/** The raw string value for the declaration. */
|
||||
raw: string
|
||||
};
|
||||
|
||||
export type ReturnedMediaQuery = MediaQuery | {
|
||||
/** The raw string value for the media query. */
|
||||
raw: string
|
||||
};
|
||||
|
||||
type FindByType<Union, Name> = Union extends { type: Name } ? Union : never;
|
||||
export type ReturnedRule = Rule<ReturnedDeclaration, ReturnedMediaQuery>;
|
||||
type RequiredValue<Rule> = Rule extends { value: object }
|
||||
? Rule['value'] extends StyleRule
|
||||
? Rule & { value: Required<StyleRule> & { declarations: Required<DeclarationBlock> } }
|
||||
: Rule & { value: Required<Rule['value']> }
|
||||
: Rule;
|
||||
type RuleVisitor<R = RequiredValue<Rule>> = ((rule: R) => ReturnedRule | ReturnedRule[] | void);
|
||||
type MappedRuleVisitors = {
|
||||
[Name in Exclude<Rule['type'], 'unknown' | 'custom'>]?: RuleVisitor<RequiredValue<FindByType<Rule, Name>>>;
|
||||
}
|
||||
|
||||
type UnknownVisitors<T> = {
|
||||
[name: string]: RuleVisitor<T>
|
||||
}
|
||||
|
||||
type CustomVisitors<T extends CustomAtRules> = {
|
||||
[Name in keyof T]?: RuleVisitor<CustomAtRule<Name, T[Name]>>
|
||||
};
|
||||
|
||||
type AnyCustomAtRule<C extends CustomAtRules> = {
|
||||
[Key in keyof C]: CustomAtRule<Key, C[Key]>
|
||||
}[keyof C];
|
||||
|
||||
type RuleVisitors<C extends CustomAtRules> = MappedRuleVisitors & {
|
||||
unknown?: UnknownVisitors<UnknownAtRule> | Omit<RuleVisitor<UnknownAtRule>, keyof CallableFunction>,
|
||||
custom?: CustomVisitors<C> | Omit<RuleVisitor<AnyCustomAtRule<C>>, keyof CallableFunction>
|
||||
};
|
||||
|
||||
type PreludeTypes = Exclude<ParsedComponent['type'], 'literal' | 'repeated' | 'token'>;
|
||||
type SyntaxString = `<${PreludeTypes}>` | `<${PreludeTypes}>+` | `<${PreludeTypes}>#` | (string & {});
|
||||
type ComponentTypes = {
|
||||
[Key in PreludeTypes as `<${Key}>`]: FindByType<ParsedComponent, Key>
|
||||
};
|
||||
|
||||
type Repetitions = {
|
||||
[Key in PreludeTypes as `<${Key}>+` | `<${Key}>#`]: {
|
||||
type: "repeated",
|
||||
value: {
|
||||
components: FindByType<ParsedComponent, Key>[],
|
||||
multiplier: Multiplier
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
type MappedPrelude = ComponentTypes & Repetitions;
|
||||
type MappedBody<P extends CustomAtRuleDefinition['body']> = P extends 'style-block' ? 'rule-list' : P;
|
||||
interface CustomAtRule<N, R extends CustomAtRuleDefinition> {
|
||||
name: N,
|
||||
prelude: R['prelude'] extends keyof MappedPrelude ? MappedPrelude[R['prelude']] : ParsedComponent,
|
||||
body: FindByType<CustomAtRuleBody, MappedBody<R['body']>>,
|
||||
loc: Location2
|
||||
}
|
||||
|
||||
type CustomAtRuleBody = {
|
||||
type: 'declaration-list',
|
||||
value: Required<DeclarationBlock>
|
||||
} | {
|
||||
type: 'rule-list',
|
||||
value: RequiredValue<Rule>[]
|
||||
};
|
||||
|
||||
type FindProperty<Union, Name> = Union extends { property: Name } ? Union : never;
|
||||
type DeclarationVisitor<P = Declaration> = ((property: P) => ReturnedDeclaration | ReturnedDeclaration[] | void);
|
||||
type MappedDeclarationVisitors = {
|
||||
[Name in Exclude<Declaration['property'], 'unparsed' | 'custom'>]?: DeclarationVisitor<FindProperty<Declaration, Name> | FindProperty<Declaration, 'unparsed'>>;
|
||||
}
|
||||
|
||||
type CustomPropertyVisitors = {
|
||||
[name: string]: DeclarationVisitor<CustomProperty>
|
||||
}
|
||||
|
||||
type DeclarationVisitors = MappedDeclarationVisitors & {
|
||||
custom?: CustomPropertyVisitors | DeclarationVisitor<CustomProperty>
|
||||
}
|
||||
|
||||
interface RawValue {
|
||||
/** A raw string value which will be parsed like CSS. */
|
||||
raw: string
|
||||
}
|
||||
|
||||
type TokenReturnValue = TokenOrValue | TokenOrValue[] | RawValue | void;
|
||||
type TokenVisitor = (token: Token) => TokenReturnValue;
|
||||
type VisitableTokenTypes = 'ident' | 'at-keyword' | 'hash' | 'id-hash' | 'string' | 'number' | 'percentage' | 'dimension';
|
||||
type TokenVisitors = {
|
||||
[Name in VisitableTokenTypes]?: (token: FindByType<Token, Name>) => TokenReturnValue;
|
||||
}
|
||||
|
||||
type FunctionVisitor = (fn: Function) => TokenReturnValue;
|
||||
type EnvironmentVariableVisitor = (env: EnvironmentVariable) => TokenReturnValue;
|
||||
type EnvironmentVariableVisitors = {
|
||||
[name: string]: EnvironmentVariableVisitor
|
||||
};
|
||||
|
||||
export interface Visitor<C extends CustomAtRules> {
|
||||
StyleSheet?(stylesheet: StyleSheet): StyleSheet<ReturnedDeclaration, ReturnedMediaQuery> | void;
|
||||
StyleSheetExit?(stylesheet: StyleSheet): StyleSheet<ReturnedDeclaration, ReturnedMediaQuery> | void;
|
||||
Rule?: RuleVisitor | RuleVisitors<C>;
|
||||
RuleExit?: RuleVisitor | RuleVisitors<C>;
|
||||
Declaration?: DeclarationVisitor | DeclarationVisitors;
|
||||
DeclarationExit?: DeclarationVisitor | DeclarationVisitors;
|
||||
Url?(url: Url): Url | void;
|
||||
Color?(color: CssColor): CssColor | void;
|
||||
Image?(image: Image): Image | void;
|
||||
ImageExit?(image: Image): Image | void;
|
||||
Length?(length: LengthValue): LengthValue | void;
|
||||
Angle?(angle: Angle): Angle | void;
|
||||
Ratio?(ratio: Ratio): Ratio | void;
|
||||
Resolution?(resolution: Resolution): Resolution | void;
|
||||
Time?(time: Time): Time | void;
|
||||
CustomIdent?(ident: string): string | void;
|
||||
DashedIdent?(ident: string): string | void;
|
||||
MediaQuery?(query: MediaQuery): ReturnedMediaQuery | ReturnedMediaQuery[] | void;
|
||||
MediaQueryExit?(query: MediaQuery): ReturnedMediaQuery | ReturnedMediaQuery[] | void;
|
||||
SupportsCondition?(condition: SupportsCondition): SupportsCondition;
|
||||
SupportsConditionExit?(condition: SupportsCondition): SupportsCondition;
|
||||
Selector?(selector: Selector): Selector | Selector[] | void;
|
||||
Token?: TokenVisitor | TokenVisitors;
|
||||
Function?: FunctionVisitor | { [name: string]: FunctionVisitor };
|
||||
FunctionExit?: FunctionVisitor | { [name: string]: FunctionVisitor };
|
||||
Variable?(variable: Variable): TokenReturnValue;
|
||||
VariableExit?(variable: Variable): TokenReturnValue;
|
||||
EnvironmentVariable?: EnvironmentVariableVisitor | EnvironmentVariableVisitors;
|
||||
EnvironmentVariableExit?: EnvironmentVariableVisitor | EnvironmentVariableVisitors;
|
||||
}
|
||||
|
||||
export interface CustomAtRules {
|
||||
[name: string]: CustomAtRuleDefinition
|
||||
}
|
||||
|
||||
export interface CustomAtRuleDefinition {
|
||||
/**
|
||||
* Defines the syntax for a custom at-rule prelude. The value should be a
|
||||
* CSS [syntax string](https://drafts.css-houdini.org/css-properties-values-api/#syntax-strings)
|
||||
* representing the types of values that are accepted. This property may be omitted or
|
||||
* set to null to indicate that no prelude is accepted.
|
||||
*/
|
||||
prelude?: SyntaxString | null,
|
||||
/**
|
||||
* Defines the type of body contained within the at-rule block.
|
||||
* - declaration-list: A CSS declaration list, as in a style rule.
|
||||
* - rule-list: A list of CSS rules, as supported within a non-nested
|
||||
* at-rule such as `@media` or `@supports`.
|
||||
* - style-block: Both a declaration list and rule list, as accepted within
|
||||
* a nested at-rule within a style rule (e.g. `@media` inside a style rule
|
||||
* with directly nested declarations).
|
||||
*/
|
||||
body?: 'declaration-list' | 'rule-list' | 'style-block' | null
|
||||
}
|
||||
|
||||
export interface DependencyOptions {
|
||||
/** Whether to preserve `@import` rules rather than removing them. */
|
||||
preserveImports?: boolean
|
||||
}
|
||||
|
||||
export type BundleOptions<C extends CustomAtRules> = Omit<TransformOptions<C>, 'code'>;
|
||||
|
||||
export interface BundleAsyncOptions<C extends CustomAtRules> extends BundleOptions<C> {
|
||||
resolver?: Resolver;
|
||||
}
|
||||
|
||||
/** Custom resolver to use when loading CSS files. */
|
||||
export interface Resolver {
|
||||
/** Read the given file and return its contents as a string. */
|
||||
read?: (file: string) => string | Promise<string>;
|
||||
|
||||
/**
|
||||
* Resolve the given CSS import specifier from the provided originating file to a
|
||||
* path which gets passed to `read()`.
|
||||
*/
|
||||
resolve?: (specifier: string, originatingFile: string) => string | Promise<string>;
|
||||
}
|
||||
|
||||
export interface Drafts {
|
||||
/** Whether to enable @custom-media rules. */
|
||||
customMedia?: boolean
|
||||
}
|
||||
|
||||
export interface NonStandard {
|
||||
/** Whether to enable the non-standard >>> and /deep/ selector combinators used by Angular and Vue. */
|
||||
deepSelectorCombinator?: boolean
|
||||
}
|
||||
|
||||
export interface PseudoClasses {
|
||||
hover?: string,
|
||||
active?: string,
|
||||
focus?: string,
|
||||
focusVisible?: string,
|
||||
focusWithin?: string
|
||||
}
|
||||
|
||||
export interface TransformResult {
|
||||
/** The transformed code. */
|
||||
code: Uint8Array,
|
||||
/** The generated source map, if enabled. */
|
||||
map: Uint8Array | void,
|
||||
/** CSS module exports, if enabled. */
|
||||
exports: CSSModuleExports | void,
|
||||
/** CSS module references, if `dashedIdents` is enabled. */
|
||||
references: CSSModuleReferences,
|
||||
/** `@import` and `url()` dependencies, if enabled. */
|
||||
dependencies: Dependency[] | void,
|
||||
/** Warnings that occurred during compilation. */
|
||||
warnings: Warning[]
|
||||
}
|
||||
|
||||
export interface Warning {
|
||||
message: string,
|
||||
type: string,
|
||||
value?: any,
|
||||
loc: ErrorLocation
|
||||
}
|
||||
|
||||
export interface CSSModulesConfig {
|
||||
/** The pattern to use when renaming class names and other identifiers. Default is `[hash]_[local]`. */
|
||||
pattern?: string,
|
||||
/** Whether to rename dashed identifiers, e.g. custom properties. */
|
||||
dashedIdents?: boolean,
|
||||
/** Whether to enable hashing for `@keyframes`. */
|
||||
animation?: boolean,
|
||||
/** Whether to enable hashing for CSS grid identifiers. */
|
||||
grid?: boolean,
|
||||
/** Whether to enable hashing for `@container` names. */
|
||||
container?: boolean,
|
||||
/** Whether to enable hashing for custom identifiers. */
|
||||
customIdents?: boolean,
|
||||
/** Whether to require at least one class or id selector in each rule. */
|
||||
pure?: boolean
|
||||
}
|
||||
|
||||
export type CSSModuleExports = {
|
||||
/** Maps exported (i.e. original) names to local names. */
|
||||
[name: string]: CSSModuleExport
|
||||
};
|
||||
|
||||
export interface CSSModuleExport {
|
||||
/** The local (compiled) name for this export. */
|
||||
name: string,
|
||||
/** Whether the export is referenced in this file. */
|
||||
isReferenced: boolean,
|
||||
/** Other names that are composed by this export. */
|
||||
composes: CSSModuleReference[]
|
||||
}
|
||||
|
||||
export type CSSModuleReferences = {
|
||||
/** Maps placeholder names to references. */
|
||||
[name: string]: DependencyCSSModuleReference,
|
||||
};
|
||||
|
||||
export type CSSModuleReference = LocalCSSModuleReference | GlobalCSSModuleReference | DependencyCSSModuleReference;
|
||||
|
||||
export interface LocalCSSModuleReference {
|
||||
type: 'local',
|
||||
/** The local (compiled) name for the reference. */
|
||||
name: string,
|
||||
}
|
||||
|
||||
export interface GlobalCSSModuleReference {
|
||||
type: 'global',
|
||||
/** The referenced global name. */
|
||||
name: string,
|
||||
}
|
||||
|
||||
export interface DependencyCSSModuleReference {
|
||||
type: 'dependency',
|
||||
/** The name to reference within the dependency. */
|
||||
name: string,
|
||||
/** The dependency specifier for the referenced file. */
|
||||
specifier: string
|
||||
}
|
||||
|
||||
export type Dependency = ImportDependency | UrlDependency;
|
||||
|
||||
export interface ImportDependency {
|
||||
type: 'import',
|
||||
/** The url of the `@import` dependency. */
|
||||
url: string,
|
||||
/** The media query for the `@import` rule. */
|
||||
media: string | null,
|
||||
/** The `supports()` query for the `@import` rule. */
|
||||
supports: string | null,
|
||||
/** The source location where the `@import` rule was found. */
|
||||
loc: SourceLocation,
|
||||
/** The placeholder that the import was replaced with. */
|
||||
placeholder: string
|
||||
}
|
||||
|
||||
export interface UrlDependency {
|
||||
type: 'url',
|
||||
/** The url of the dependency. */
|
||||
url: string,
|
||||
/** The source location where the `url()` was found. */
|
||||
loc: SourceLocation,
|
||||
/** The placeholder that the url was replaced with. */
|
||||
placeholder: string
|
||||
}
|
||||
|
||||
export interface SourceLocation {
|
||||
/** The file path in which the dependency exists. */
|
||||
filePath: string,
|
||||
/** The start location of the dependency. */
|
||||
start: Location,
|
||||
/** The end location (inclusive) of the dependency. */
|
||||
end: Location
|
||||
}
|
||||
|
||||
export interface Location {
|
||||
/** The line number (1-based). */
|
||||
line: number,
|
||||
/** The column number (0-based). */
|
||||
column: number
|
||||
}
|
||||
|
||||
export interface ErrorLocation extends Location {
|
||||
filename: string
|
||||
}
|
||||
|
||||
/**
|
||||
* Compiles a CSS file, including optionally minifying and lowering syntax to the given
|
||||
* targets. A source map may also be generated, but this is not enabled by default.
|
||||
*/
|
||||
export declare function transform<C extends CustomAtRules>(options: TransformOptions<C>): TransformResult;
|
||||
|
||||
export interface TransformAttributeOptions {
|
||||
/** The filename in which the style attribute appeared. Used for error messages and dependencies. */
|
||||
filename?: string,
|
||||
/** The source code to transform. */
|
||||
code: Uint8Array,
|
||||
/** Whether to enable minification. */
|
||||
minify?: boolean,
|
||||
/** The browser targets for the generated code. */
|
||||
targets?: Targets,
|
||||
/**
|
||||
* Whether to analyze `url()` dependencies.
|
||||
* When enabled, `url()` dependencies are replaced with hashed placeholders
|
||||
* that can be replaced with the final urls later (after bundling).
|
||||
* Dependencies are returned as part of the result.
|
||||
*/
|
||||
analyzeDependencies?: boolean,
|
||||
/**
|
||||
* Whether to ignore invalid rules and declarations rather than erroring.
|
||||
* When enabled, warnings are returned, and the invalid rule or declaration is
|
||||
* omitted from the output code.
|
||||
*/
|
||||
errorRecovery?: boolean,
|
||||
/**
|
||||
* An AST visitor object. This allows custom transforms or analysis to be implemented in JavaScript.
|
||||
* Multiple visitors can be composed into one using the `composeVisitors` function.
|
||||
* For optimal performance, visitors should be as specific as possible about what types of values
|
||||
* they care about so that JavaScript has to be called as little as possible.
|
||||
*/
|
||||
visitor?: Visitor<never>
|
||||
}
|
||||
|
||||
export interface TransformAttributeResult {
|
||||
/** The transformed code. */
|
||||
code: Uint8Array,
|
||||
/** `@import` and `url()` dependencies, if enabled. */
|
||||
dependencies: Dependency[] | void,
|
||||
/** Warnings that occurred during compilation. */
|
||||
warnings: Warning[]
|
||||
}
|
||||
|
||||
/**
|
||||
* Compiles a single CSS declaration list, such as an inline style attribute in HTML.
|
||||
*/
|
||||
export declare function transformStyleAttribute(options: TransformAttributeOptions): TransformAttributeResult;
|
||||
|
||||
/**
|
||||
* Converts a browserslist result into targets that can be passed to lightningcss.
|
||||
* @param browserslist the result of calling `browserslist`
|
||||
*/
|
||||
export declare function browserslistToTargets(browserslist: string[]): Targets;
|
||||
|
||||
/**
|
||||
* Bundles a CSS file and its dependencies, inlining @import rules.
|
||||
*/
|
||||
export declare function bundle<C extends CustomAtRules>(options: BundleOptions<C>): TransformResult;
|
||||
|
||||
/**
|
||||
* Bundles a CSS file and its dependencies asynchronously, inlining @import rules.
|
||||
*/
|
||||
export declare function bundleAsync<C extends CustomAtRules>(options: BundleAsyncOptions<C>): Promise<TransformResult>;
|
||||
|
||||
/**
|
||||
* Composes multiple visitor objects into a single one.
|
||||
*/
|
||||
export declare function composeVisitors<C extends CustomAtRules>(visitors: Visitor<C>[]): Visitor<C>;
|
27
new_site/node_modules/lightningcss/node/index.js
generated
vendored
Normal file
27
new_site/node_modules/lightningcss/node/index.js
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
let parts = [process.platform, process.arch];
|
||||
if (process.platform === 'linux') {
|
||||
const { MUSL, family } = require('detect-libc');
|
||||
if (family === MUSL) {
|
||||
parts.push('musl');
|
||||
} else if (process.arch === 'arm') {
|
||||
parts.push('gnueabihf');
|
||||
} else {
|
||||
parts.push('gnu');
|
||||
}
|
||||
} else if (process.platform === 'win32') {
|
||||
parts.push('msvc');
|
||||
}
|
||||
|
||||
if (process.env.CSS_TRANSFORMER_WASM) {
|
||||
module.exports = require(`../pkg`);
|
||||
} else {
|
||||
try {
|
||||
module.exports = require(`lightningcss-${parts.join('-')}`);
|
||||
} catch (err) {
|
||||
module.exports = require(`../lightningcss.${parts.join('-')}.node`);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports.browserslistToTargets = require('./browserslistToTargets');
|
||||
module.exports.composeVisitors = require('./composeVisitors');
|
||||
module.exports.Features = require('./flags').Features;
|
824
new_site/node_modules/lightningcss/node/index.js.flow
generated
vendored
Normal file
824
new_site/node_modules/lightningcss/node/index.js.flow
generated
vendored
Normal file
@@ -0,0 +1,824 @@
|
||||
// @flow
|
||||
|
||||
type Exclude<A, B> = A;
|
||||
// see https://gist.github.com/thecotne/6e5969f4aaf8f253985ed36b30ac9fe0
|
||||
type $FlowGen$If<X: boolean, Then, Else = empty> = $Call<
|
||||
((true, Then, Else) => Then) & ((false, Then, Else) => Else),
|
||||
X,
|
||||
Then,
|
||||
Else
|
||||
>;
|
||||
|
||||
type $FlowGen$Assignable<A, B> = $Call<
|
||||
((...r: [B]) => true) & ((...r: [A]) => false),
|
||||
A
|
||||
>;
|
||||
|
||||
import type {
|
||||
Angle,
|
||||
CssColor,
|
||||
Rule,
|
||||
CustomProperty,
|
||||
EnvironmentVariable,
|
||||
Function,
|
||||
Image,
|
||||
LengthValue,
|
||||
MediaQuery,
|
||||
Declaration,
|
||||
Ratio,
|
||||
Resolution,
|
||||
Selector,
|
||||
SupportsCondition,
|
||||
Time,
|
||||
Token,
|
||||
TokenOrValue,
|
||||
UnknownAtRule,
|
||||
Url,
|
||||
Variable,
|
||||
StyleRule,
|
||||
DeclarationBlock,
|
||||
ParsedComponent,
|
||||
Multiplier,
|
||||
StyleSheet,
|
||||
Location2,
|
||||
} from "./ast.js.flow";
|
||||
import { Targets, Features } from "./targets.js.flow";
|
||||
declare export * from "./ast.js.flow";
|
||||
declare export { Targets, Features };
|
||||
export type TransformOptions<C: CustomAtRules> = {|
|
||||
/**
|
||||
* The filename being transformed. Used for error messages and source maps.
|
||||
*/
|
||||
filename: string,
|
||||
|
||||
/**
|
||||
* The source code to transform.
|
||||
*/
|
||||
code: Uint8Array,
|
||||
|
||||
/**
|
||||
* Whether to enable minification.
|
||||
*/
|
||||
minify?: boolean,
|
||||
|
||||
/**
|
||||
* Whether to output a source map.
|
||||
*/
|
||||
sourceMap?: boolean,
|
||||
|
||||
/**
|
||||
* An input source map to extend.
|
||||
*/
|
||||
inputSourceMap?: string,
|
||||
|
||||
/**
|
||||
* An optional project root path, used as the source root in the output source map.
|
||||
* Also used to generate relative paths for sources used in CSS module hashes.
|
||||
*/
|
||||
projectRoot?: string,
|
||||
|
||||
/**
|
||||
* The browser targets for the generated code.
|
||||
*/
|
||||
targets?: Targets,
|
||||
|
||||
/**
|
||||
* Features that should always be compiled, even when supported by targets.
|
||||
*/
|
||||
include?: number,
|
||||
|
||||
/**
|
||||
* Features that should never be compiled, even when unsupported by targets.
|
||||
*/
|
||||
exclude?: number,
|
||||
|
||||
/**
|
||||
* Whether to enable parsing various draft syntax.
|
||||
*/
|
||||
drafts?: Drafts,
|
||||
|
||||
/**
|
||||
* Whether to enable various non-standard syntax.
|
||||
*/
|
||||
nonStandard?: NonStandard,
|
||||
|
||||
/**
|
||||
* Whether to compile this file as a CSS module.
|
||||
*/
|
||||
cssModules?: boolean | CSSModulesConfig,
|
||||
|
||||
/**
|
||||
* Whether to analyze dependencies (e.g. string).
|
||||
* When enabled, string dependencies
|
||||
* are replaced with hashed placeholders that can be replaced with the final
|
||||
* urls later (after bundling). Dependencies are returned as part of the result.
|
||||
*/
|
||||
analyzeDependencies?: boolean | DependencyOptions,
|
||||
|
||||
/**
|
||||
* Replaces user action pseudo classes with class names that can be applied from JavaScript.
|
||||
* This is useful for polyfills, for example.
|
||||
*/
|
||||
pseudoClasses?: PseudoClasses,
|
||||
|
||||
/**
|
||||
* A list of class names, ids, and custom identifiers (e.g. @keyframes) that are known
|
||||
* to be unused. These will be removed during minification. Note that these are not
|
||||
* selectors but individual names (without any . or # prefixes).
|
||||
*/
|
||||
unusedSymbols?: string[],
|
||||
|
||||
/**
|
||||
* Whether to ignore invalid rules and declarations rather than erroring.
|
||||
* When enabled, warnings are returned, and the invalid rule or declaration is
|
||||
* omitted from the output code.
|
||||
*/
|
||||
errorRecovery?: boolean,
|
||||
|
||||
/**
|
||||
* An AST visitor object. This allows custom transforms or analysis to be implemented in JavaScript.
|
||||
* Multiple visitors can be composed into one using the string function.
|
||||
* For optimal performance, visitors should be as specific as possible about what types of values
|
||||
* they care about so that JavaScript has to be called as little as possible.
|
||||
*/
|
||||
visitor?: Visitor<C>,
|
||||
|
||||
/**
|
||||
* Defines how to parse custom CSS at-rules. Each at-rule can have a prelude, defined using a CSS
|
||||
* [syntax string](https://drafts.css-houdini.org/css-properties-values-api/#syntax-strings), and
|
||||
* a block body. The body can be a declaration list, rule list, or style block as defined in the
|
||||
* [css spec](https://drafts.csswg.org/css-syntax/#declaration-rule-list).
|
||||
*/
|
||||
customAtRules?: C,
|
||||
|};
|
||||
declare type PropertyStart =
|
||||
| "-"
|
||||
| "_"
|
||||
| "a"
|
||||
| "b"
|
||||
| "c"
|
||||
| "d"
|
||||
| "e"
|
||||
| "f"
|
||||
| "g"
|
||||
| "h"
|
||||
| "i"
|
||||
| "j"
|
||||
| "k"
|
||||
| "l"
|
||||
| "m"
|
||||
| "n"
|
||||
| "o"
|
||||
| "p"
|
||||
| "q"
|
||||
| "r"
|
||||
| "s"
|
||||
| "t"
|
||||
| "u"
|
||||
| "v"
|
||||
| "w"
|
||||
| "x"
|
||||
| "y"
|
||||
| "z";
|
||||
export type ReturnedDeclaration =
|
||||
| Declaration
|
||||
| {|
|
||||
/**
|
||||
* The property name.
|
||||
*/
|
||||
property: string,
|
||||
|
||||
/**
|
||||
* The raw string value for the declaration.
|
||||
*/
|
||||
raw: string,
|
||||
|};
|
||||
export type ReturnedMediaQuery =
|
||||
| MediaQuery
|
||||
| {|
|
||||
/**
|
||||
* The raw string value for the media query.
|
||||
*/
|
||||
raw: string,
|
||||
|};
|
||||
declare type FindByType<Union, Name> = $FlowGen$If<
|
||||
$FlowGen$Assignable<
|
||||
Union,
|
||||
{|
|
||||
type: Name,
|
||||
|}
|
||||
>,
|
||||
Union,
|
||||
empty
|
||||
>;
|
||||
export type ReturnedRule = Rule<ReturnedDeclaration, ReturnedMediaQuery>;
|
||||
declare type RequiredValue<Rule> = $FlowGen$If<
|
||||
$FlowGen$Assignable<
|
||||
Rule,
|
||||
{|
|
||||
value: { [key: string]: any },
|
||||
|}
|
||||
>,
|
||||
$FlowGen$If<
|
||||
$FlowGen$Assignable<$PropertyType<Rule, "value">, StyleRule>,
|
||||
{|
|
||||
...Rule,
|
||||
...{|
|
||||
value: {|
|
||||
...Required<StyleRule>,
|
||||
...{|
|
||||
declarations: Required<DeclarationBlock>,
|
||||
|},
|
||||
|},
|
||||
|},
|
||||
|},
|
||||
{|
|
||||
...Rule,
|
||||
...{|
|
||||
value: Required<$PropertyType<Rule, "value">>,
|
||||
|},
|
||||
|}
|
||||
>,
|
||||
Rule
|
||||
>;
|
||||
declare type RuleVisitor<R = RequiredValue<Rule>> = (
|
||||
rule: R
|
||||
) => ReturnedRule | ReturnedRule[] | void;
|
||||
declare type MappedRuleVisitors = $ObjMapi<
|
||||
{ [k: Exclude<$PropertyType<Rule, "type">, "unknown" | "custom">]: any },
|
||||
<Name>(Name) => RuleVisitor<RequiredValue<FindByType<Rule, Name>>>
|
||||
>;
|
||||
declare type UnknownVisitors<T> = {
|
||||
[name: string]: RuleVisitor<T>,
|
||||
};
|
||||
declare type CustomVisitors<T: CustomAtRules> = $ObjMapi<
|
||||
T,
|
||||
<Name>(Name) => RuleVisitor<CustomAtRule<Name, $ElementType<T, Name>>>
|
||||
>;
|
||||
declare type AnyCustomAtRule<C: CustomAtRules> = $ElementType<
|
||||
$ObjMapi<C, <Key>(Key) => CustomAtRule<Key, $ElementType<C, Key>>>,
|
||||
$Keys<C>
|
||||
>;
|
||||
declare type RuleVisitors<C: CustomAtRules> = {|
|
||||
...MappedRuleVisitors,
|
||||
...{|
|
||||
unknown?:
|
||||
| UnknownVisitors<UnknownAtRule>
|
||||
| $Diff<
|
||||
RuleVisitor<UnknownAtRule>,
|
||||
{ [key: $Keys<CallableFunction>]: any }
|
||||
>,
|
||||
custom?:
|
||||
| CustomVisitors<C>
|
||||
| $Diff<
|
||||
RuleVisitor<AnyCustomAtRule<C>>,
|
||||
{ [key: $Keys<CallableFunction>]: any }
|
||||
>,
|
||||
|},
|
||||
|};
|
||||
declare type PreludeTypes = Exclude<
|
||||
$PropertyType<ParsedComponent, "type">,
|
||||
"literal" | "repeated" | "token"
|
||||
>;
|
||||
declare type SyntaxString = string | string;
|
||||
declare type ComponentTypes = $ObjMapi<
|
||||
{ [k: PreludeTypes]: any },
|
||||
<Key>(Key) => FindByType<ParsedComponent, Key>
|
||||
>;
|
||||
declare type Repetitions = $ObjMapi<
|
||||
{ [k: PreludeTypes]: any },
|
||||
<Key>(Key) => {|
|
||||
type: "repeated",
|
||||
value: {|
|
||||
components: FindByType<ParsedComponent, Key>[],
|
||||
multiplier: Multiplier,
|
||||
|},
|
||||
|}
|
||||
>;
|
||||
declare type MappedPrelude = {| ...ComponentTypes, ...Repetitions |};
|
||||
declare type MappedBody<P: $PropertyType<CustomAtRuleDefinition, "body">> =
|
||||
$FlowGen$If<$FlowGen$Assignable<P, "style-block">, "rule-list", P>;
|
||||
declare type CustomAtRule<N, R: CustomAtRuleDefinition> = {|
|
||||
name: N,
|
||||
prelude: $FlowGen$If<
|
||||
$FlowGen$Assignable<$PropertyType<R, "prelude">, $Keys<MappedPrelude>>,
|
||||
$ElementType<MappedPrelude, $PropertyType<R, "prelude">>,
|
||||
ParsedComponent
|
||||
>,
|
||||
body: FindByType<CustomAtRuleBody, MappedBody<$PropertyType<R, "body">>>,
|
||||
loc: Location2,
|
||||
|};
|
||||
declare type CustomAtRuleBody =
|
||||
| {|
|
||||
type: "declaration-list",
|
||||
value: Required<DeclarationBlock>,
|
||||
|}
|
||||
| {|
|
||||
type: "rule-list",
|
||||
value: RequiredValue<Rule>[],
|
||||
|};
|
||||
declare type FindProperty<Union, Name> = $FlowGen$If<
|
||||
$FlowGen$Assignable<
|
||||
Union,
|
||||
{|
|
||||
property: Name,
|
||||
|}
|
||||
>,
|
||||
Union,
|
||||
empty
|
||||
>;
|
||||
declare type DeclarationVisitor<P = Declaration> = (
|
||||
property: P
|
||||
) => ReturnedDeclaration | ReturnedDeclaration[] | void;
|
||||
declare type MappedDeclarationVisitors = $ObjMapi<
|
||||
{
|
||||
[k: Exclude<
|
||||
$PropertyType<Declaration, "property">,
|
||||
"unparsed" | "custom"
|
||||
>]: any,
|
||||
},
|
||||
<Name>(
|
||||
Name
|
||||
) => DeclarationVisitor<
|
||||
FindProperty<Declaration, Name> | FindProperty<Declaration, "unparsed">
|
||||
>
|
||||
>;
|
||||
declare type CustomPropertyVisitors = {
|
||||
[name: string]: DeclarationVisitor<CustomProperty>,
|
||||
};
|
||||
declare type DeclarationVisitors = {|
|
||||
...MappedDeclarationVisitors,
|
||||
...{|
|
||||
custom?: CustomPropertyVisitors | DeclarationVisitor<CustomProperty>,
|
||||
|},
|
||||
|};
|
||||
declare type RawValue = {|
|
||||
/**
|
||||
* A raw string value which will be parsed like CSS.
|
||||
*/
|
||||
raw: string,
|
||||
|};
|
||||
declare type TokenReturnValue = TokenOrValue | TokenOrValue[] | RawValue | void;
|
||||
declare type TokenVisitor = (token: Token) => TokenReturnValue;
|
||||
declare type VisitableTokenTypes =
|
||||
| "ident"
|
||||
| "at-keyword"
|
||||
| "hash"
|
||||
| "id-hash"
|
||||
| "string"
|
||||
| "number"
|
||||
| "percentage"
|
||||
| "dimension";
|
||||
declare type TokenVisitors = $ObjMapi<
|
||||
{ [k: VisitableTokenTypes]: any },
|
||||
<Name>(Name) => (token: FindByType<Token, Name>) => TokenReturnValue
|
||||
>;
|
||||
declare type FunctionVisitor = (fn: Function) => TokenReturnValue;
|
||||
declare type EnvironmentVariableVisitor = (
|
||||
env: EnvironmentVariable
|
||||
) => TokenReturnValue;
|
||||
declare type EnvironmentVariableVisitors = {
|
||||
[name: string]: EnvironmentVariableVisitor,
|
||||
};
|
||||
export type Visitor<C: CustomAtRules> = {|
|
||||
StyleSheet?: (
|
||||
stylesheet: StyleSheet
|
||||
) => StyleSheet<ReturnedDeclaration, ReturnedMediaQuery> | void,
|
||||
StyleSheetExit?: (
|
||||
stylesheet: StyleSheet
|
||||
) => StyleSheet<ReturnedDeclaration, ReturnedMediaQuery> | void,
|
||||
Rule?: RuleVisitor<> | RuleVisitors<C>,
|
||||
RuleExit?: RuleVisitor<> | RuleVisitors<C>,
|
||||
Declaration?: DeclarationVisitor<> | DeclarationVisitors,
|
||||
DeclarationExit?: DeclarationVisitor<> | DeclarationVisitors,
|
||||
Url?: (url: Url) => Url | void,
|
||||
Color?: (color: CssColor) => CssColor | void,
|
||||
Image?: (image: Image) => Image | void,
|
||||
ImageExit?: (image: Image) => Image | void,
|
||||
Length?: (length: LengthValue) => LengthValue | void,
|
||||
Angle?: (angle: Angle) => Angle | void,
|
||||
Ratio?: (ratio: Ratio) => Ratio | void,
|
||||
Resolution?: (resolution: Resolution) => Resolution | void,
|
||||
Time?: (time: Time) => Time | void,
|
||||
CustomIdent?: (ident: string) => string | void,
|
||||
DashedIdent?: (ident: string) => string | void,
|
||||
MediaQuery?: (
|
||||
query: MediaQuery
|
||||
) => ReturnedMediaQuery | ReturnedMediaQuery[] | void,
|
||||
MediaQueryExit?: (
|
||||
query: MediaQuery
|
||||
) => ReturnedMediaQuery | ReturnedMediaQuery[] | void,
|
||||
SupportsCondition?: (condition: SupportsCondition) => SupportsCondition,
|
||||
SupportsConditionExit?: (condition: SupportsCondition) => SupportsCondition,
|
||||
Selector?: (selector: Selector) => Selector | Selector[] | void,
|
||||
Token?: TokenVisitor | TokenVisitors,
|
||||
Function?:
|
||||
| FunctionVisitor
|
||||
| {
|
||||
[name: string]: FunctionVisitor,
|
||||
},
|
||||
FunctionExit?:
|
||||
| FunctionVisitor
|
||||
| {
|
||||
[name: string]: FunctionVisitor,
|
||||
},
|
||||
Variable?: (variable: Variable) => TokenReturnValue,
|
||||
VariableExit?: (variable: Variable) => TokenReturnValue,
|
||||
EnvironmentVariable?:
|
||||
| EnvironmentVariableVisitor
|
||||
| EnvironmentVariableVisitors,
|
||||
EnvironmentVariableExit?:
|
||||
| EnvironmentVariableVisitor
|
||||
| EnvironmentVariableVisitors,
|
||||
|};
|
||||
export type CustomAtRules = {|
|
||||
[name: string]: CustomAtRuleDefinition,
|
||||
|};
|
||||
export type CustomAtRuleDefinition = {|
|
||||
/**
|
||||
* Defines the syntax for a custom at-rule prelude. The value should be a
|
||||
* CSS [syntax string](https://drafts.css-houdini.org/css-properties-values-api/#syntax-strings)
|
||||
* representing the types of values that are accepted. This property may be omitted or
|
||||
* set to null to indicate that no prelude is accepted.
|
||||
*/
|
||||
prelude?: SyntaxString | null,
|
||||
|
||||
/**
|
||||
* Defines the type of body contained within the at-rule block.
|
||||
* - declaration-list: A CSS declaration list, as in a style rule.
|
||||
* - rule-list: A list of CSS rules, as supported within a non-nested
|
||||
* at-rule such as string.
|
||||
* - style-block: Both a declaration list and rule list, as accepted within
|
||||
* a nested at-rule within a style rule (e.g. string inside a style rule
|
||||
* with directly nested declarations).
|
||||
*/
|
||||
body?: "declaration-list" | "rule-list" | "style-block" | null,
|
||||
|};
|
||||
export type DependencyOptions = {|
|
||||
/**
|
||||
* Whether to preserve string rules rather than removing them.
|
||||
*/
|
||||
preserveImports?: boolean,
|
||||
|};
|
||||
export type BundleOptions<C: CustomAtRules> = $Diff<
|
||||
TransformOptions<C>,
|
||||
{| code: any |}
|
||||
>;
|
||||
export type BundleAsyncOptions<C: CustomAtRules> = {|
|
||||
...$Exact<BundleOptions<C>>,
|
||||
|
||||
resolver?: Resolver,
|
||||
|};
|
||||
|
||||
/**
|
||||
* Custom resolver to use when loading CSS files.
|
||||
*/
|
||||
export type Resolver = {|
|
||||
/**
|
||||
* Read the given file and return its contents as a string.
|
||||
*/
|
||||
read?: (file: string) => string | Promise<string>,
|
||||
|
||||
/**
|
||||
* Resolve the given CSS import specifier from the provided originating file to a
|
||||
* path which gets passed to string.
|
||||
*/
|
||||
resolve?: (
|
||||
specifier: string,
|
||||
originatingFile: string
|
||||
) => string | Promise<string>,
|
||||
|};
|
||||
export type Drafts = {|
|
||||
/**
|
||||
* Whether to enable @custom-media rules.
|
||||
*/
|
||||
customMedia?: boolean,
|
||||
|};
|
||||
export type NonStandard = {|
|
||||
/**
|
||||
* Whether to enable the non-standard >>> and /deep/ selector combinators used by Angular and Vue.
|
||||
*/
|
||||
deepSelectorCombinator?: boolean,
|
||||
|};
|
||||
export type PseudoClasses = {|
|
||||
hover?: string,
|
||||
active?: string,
|
||||
focus?: string,
|
||||
focusVisible?: string,
|
||||
focusWithin?: string,
|
||||
|};
|
||||
export type TransformResult = {|
|
||||
/**
|
||||
* The transformed code.
|
||||
*/
|
||||
code: Uint8Array,
|
||||
|
||||
/**
|
||||
* The generated source map, if enabled.
|
||||
*/
|
||||
map: Uint8Array | void,
|
||||
|
||||
/**
|
||||
* CSS module exports, if enabled.
|
||||
*/
|
||||
exports: CSSModuleExports | void,
|
||||
|
||||
/**
|
||||
* CSS module references, if string is enabled.
|
||||
*/
|
||||
references: CSSModuleReferences,
|
||||
|
||||
/**
|
||||
* string dependencies, if enabled.
|
||||
*/
|
||||
dependencies: Dependency[] | void,
|
||||
|
||||
/**
|
||||
* Warnings that occurred during compilation.
|
||||
*/
|
||||
warnings: Warning[],
|
||||
|};
|
||||
export type Warning = {|
|
||||
message: string,
|
||||
type: string,
|
||||
value?: any,
|
||||
loc: ErrorLocation,
|
||||
|};
|
||||
export type CSSModulesConfig = {|
|
||||
/**
|
||||
* The pattern to use when renaming class names and other identifiers. Default is string.
|
||||
*/
|
||||
pattern?: string,
|
||||
|
||||
/**
|
||||
* Whether to rename dashed identifiers, e.g. custom properties.
|
||||
*/
|
||||
dashedIdents?: boolean,
|
||||
|
||||
/**
|
||||
* Whether to enable hashing for string.
|
||||
*/
|
||||
animation?: boolean,
|
||||
|
||||
/**
|
||||
* Whether to enable hashing for CSS grid identifiers.
|
||||
*/
|
||||
grid?: boolean,
|
||||
|
||||
/**
|
||||
* Whether to enable hashing for string names.
|
||||
*/
|
||||
container?: boolean,
|
||||
|
||||
/**
|
||||
* Whether to enable hashing for custom identifiers.
|
||||
*/
|
||||
customIdents?: boolean,
|
||||
|
||||
/**
|
||||
* Whether to require at least one class or id selector in each rule.
|
||||
*/
|
||||
pure?: boolean,
|
||||
|};
|
||||
export type CSSModuleExports = {
|
||||
/**
|
||||
* Maps exported (i.e. original) names to local names.
|
||||
*/
|
||||
[name: string]: CSSModuleExport,
|
||||
};
|
||||
export type CSSModuleExport = {|
|
||||
/**
|
||||
* The local (compiled) name for this export.
|
||||
*/
|
||||
name: string,
|
||||
|
||||
/**
|
||||
* Whether the export is referenced in this file.
|
||||
*/
|
||||
isReferenced: boolean,
|
||||
|
||||
/**
|
||||
* Other names that are composed by this export.
|
||||
*/
|
||||
composes: CSSModuleReference[],
|
||||
|};
|
||||
export type CSSModuleReferences = {
|
||||
/**
|
||||
* Maps placeholder names to references.
|
||||
*/
|
||||
[name: string]: DependencyCSSModuleReference,
|
||||
};
|
||||
export type CSSModuleReference =
|
||||
| LocalCSSModuleReference
|
||||
| GlobalCSSModuleReference
|
||||
| DependencyCSSModuleReference;
|
||||
export type LocalCSSModuleReference = {|
|
||||
type: "local",
|
||||
|
||||
/**
|
||||
* The local (compiled) name for the reference.
|
||||
*/
|
||||
name: string,
|
||||
|};
|
||||
export type GlobalCSSModuleReference = {|
|
||||
type: "global",
|
||||
|
||||
/**
|
||||
* The referenced global name.
|
||||
*/
|
||||
name: string,
|
||||
|};
|
||||
export type DependencyCSSModuleReference = {|
|
||||
type: "dependency",
|
||||
|
||||
/**
|
||||
* The name to reference within the dependency.
|
||||
*/
|
||||
name: string,
|
||||
|
||||
/**
|
||||
* The dependency specifier for the referenced file.
|
||||
*/
|
||||
specifier: string,
|
||||
|};
|
||||
export type Dependency = ImportDependency | UrlDependency;
|
||||
export type ImportDependency = {|
|
||||
type: "import",
|
||||
|
||||
/**
|
||||
* The url of the string dependency.
|
||||
*/
|
||||
url: string,
|
||||
|
||||
/**
|
||||
* The media query for the string rule.
|
||||
*/
|
||||
media: string | null,
|
||||
|
||||
/**
|
||||
* The string rule.
|
||||
*/
|
||||
supports: string | null,
|
||||
|
||||
/**
|
||||
* The source location where the string rule was found.
|
||||
*/
|
||||
loc: SourceLocation,
|
||||
|
||||
/**
|
||||
* The placeholder that the import was replaced with.
|
||||
*/
|
||||
placeholder: string,
|
||||
|};
|
||||
export type UrlDependency = {|
|
||||
type: "url",
|
||||
|
||||
/**
|
||||
* The url of the dependency.
|
||||
*/
|
||||
url: string,
|
||||
|
||||
/**
|
||||
* The source location where the string was found.
|
||||
*/
|
||||
loc: SourceLocation,
|
||||
|
||||
/**
|
||||
* The placeholder that the url was replaced with.
|
||||
*/
|
||||
placeholder: string,
|
||||
|};
|
||||
export type SourceLocation = {|
|
||||
/**
|
||||
* The file path in which the dependency exists.
|
||||
*/
|
||||
filePath: string,
|
||||
|
||||
/**
|
||||
* The start location of the dependency.
|
||||
*/
|
||||
start: Location,
|
||||
|
||||
/**
|
||||
* The end location (inclusive) of the dependency.
|
||||
*/
|
||||
end: Location,
|
||||
|};
|
||||
export type Location = {|
|
||||
/**
|
||||
* The line number (1-based).
|
||||
*/
|
||||
line: number,
|
||||
|
||||
/**
|
||||
* The column number (0-based).
|
||||
*/
|
||||
column: number,
|
||||
|};
|
||||
export type ErrorLocation = {|
|
||||
...$Exact<Location>,
|
||||
|
||||
filename: string,
|
||||
|};
|
||||
|
||||
/**
|
||||
* Compiles a CSS file, including optionally minifying and lowering syntax to the given
|
||||
* targets. A source map may also be generated, but this is not enabled by default.
|
||||
*/
|
||||
declare export function transform<C: CustomAtRules>(
|
||||
options: TransformOptions<C>
|
||||
): TransformResult;
|
||||
export type TransformAttributeOptions = {|
|
||||
/**
|
||||
* The filename in which the style attribute appeared. Used for error messages and dependencies.
|
||||
*/
|
||||
filename?: string,
|
||||
|
||||
/**
|
||||
* The source code to transform.
|
||||
*/
|
||||
code: Uint8Array,
|
||||
|
||||
/**
|
||||
* Whether to enable minification.
|
||||
*/
|
||||
minify?: boolean,
|
||||
|
||||
/**
|
||||
* The browser targets for the generated code.
|
||||
*/
|
||||
targets?: Targets,
|
||||
|
||||
/**
|
||||
* Whether to analyze string dependencies.
|
||||
* When enabled, string dependencies are replaced with hashed placeholders
|
||||
* that can be replaced with the final urls later (after bundling).
|
||||
* Dependencies are returned as part of the result.
|
||||
*/
|
||||
analyzeDependencies?: boolean,
|
||||
|
||||
/**
|
||||
* Whether to ignore invalid rules and declarations rather than erroring.
|
||||
* When enabled, warnings are returned, and the invalid rule or declaration is
|
||||
* omitted from the output code.
|
||||
*/
|
||||
errorRecovery?: boolean,
|
||||
|
||||
/**
|
||||
* An AST visitor object. This allows custom transforms or analysis to be implemented in JavaScript.
|
||||
* Multiple visitors can be composed into one using the string function.
|
||||
* For optimal performance, visitors should be as specific as possible about what types of values
|
||||
* they care about so that JavaScript has to be called as little as possible.
|
||||
*/
|
||||
visitor?: Visitor<empty>,
|
||||
|};
|
||||
export type TransformAttributeResult = {|
|
||||
/**
|
||||
* The transformed code.
|
||||
*/
|
||||
code: Uint8Array,
|
||||
|
||||
/**
|
||||
* string dependencies, if enabled.
|
||||
*/
|
||||
dependencies: Dependency[] | void,
|
||||
|
||||
/**
|
||||
* Warnings that occurred during compilation.
|
||||
*/
|
||||
warnings: Warning[],
|
||||
|};
|
||||
|
||||
/**
|
||||
* Compiles a single CSS declaration list, such as an inline style attribute in HTML.
|
||||
*/
|
||||
declare export function transformStyleAttribute(
|
||||
options: TransformAttributeOptions
|
||||
): TransformAttributeResult;
|
||||
|
||||
/**
|
||||
* Converts a browserslist result into targets that can be passed to lightningcss.
|
||||
* @param browserslist the result of calling string
|
||||
*/
|
||||
declare export function browserslistToTargets(browserslist: string[]): Targets;
|
||||
|
||||
/**
|
||||
* Bundles a CSS file and its dependencies, inlining @import rules.
|
||||
*/
|
||||
declare export function bundle<C: CustomAtRules>(
|
||||
options: BundleOptions<C>
|
||||
): TransformResult;
|
||||
|
||||
/**
|
||||
* Bundles a CSS file and its dependencies asynchronously, inlining @import rules.
|
||||
*/
|
||||
declare export function bundleAsync<C: CustomAtRules>(
|
||||
options: BundleAsyncOptions<C>
|
||||
): Promise<TransformResult>;
|
||||
|
||||
/**
|
||||
* Composes multiple visitor objects into a single one.
|
||||
*/
|
||||
declare export function composeVisitors<C: CustomAtRules>(
|
||||
visitors: Visitor<C>[]
|
||||
): Visitor<C>;
|
4
new_site/node_modules/lightningcss/node/index.mjs
generated
vendored
Normal file
4
new_site/node_modules/lightningcss/node/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
import index from './index.js';
|
||||
|
||||
const { transform, transformStyleAttribute, bundle, bundleAsync, browserslistToTargets, composeVisitors, Features } = index;
|
||||
export { transform, transformStyleAttribute, bundle, bundleAsync, browserslistToTargets, composeVisitors, Features };
|
40
new_site/node_modules/lightningcss/node/targets.d.ts
generated
vendored
Normal file
40
new_site/node_modules/lightningcss/node/targets.d.ts
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
// This file is autogenerated by build-prefixes.js. DO NOT EDIT!
|
||||
|
||||
export interface Targets {
|
||||
android?: number,
|
||||
chrome?: number,
|
||||
edge?: number,
|
||||
firefox?: number,
|
||||
ie?: number,
|
||||
ios_saf?: number,
|
||||
opera?: number,
|
||||
safari?: number,
|
||||
samsung?: number
|
||||
}
|
||||
|
||||
export const Features: {
|
||||
Nesting: 1,
|
||||
NotSelectorList: 2,
|
||||
DirSelector: 4,
|
||||
LangSelectorList: 8,
|
||||
IsSelector: 16,
|
||||
TextDecorationThicknessPercent: 32,
|
||||
MediaIntervalSyntax: 64,
|
||||
MediaRangeSyntax: 128,
|
||||
CustomMediaQueries: 256,
|
||||
ClampFunction: 512,
|
||||
ColorFunction: 1024,
|
||||
OklabColors: 2048,
|
||||
LabColors: 4096,
|
||||
P3Colors: 8192,
|
||||
HexAlphaColors: 16384,
|
||||
SpaceSeparatedColorNotation: 32768,
|
||||
FontFamilySystemUi: 65536,
|
||||
DoublePositionGradients: 131072,
|
||||
VendorPrefixes: 262144,
|
||||
LogicalProperties: 524288,
|
||||
LightDark: 1048576,
|
||||
Selectors: 31,
|
||||
MediaQueries: 448,
|
||||
Colors: 1113088,
|
||||
};
|
39
new_site/node_modules/lightningcss/node/targets.js.flow
generated
vendored
Normal file
39
new_site/node_modules/lightningcss/node/targets.js.flow
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
// @flow
|
||||
|
||||
export interface Targets {
|
||||
android?: number;
|
||||
chrome?: number;
|
||||
edge?: number;
|
||||
firefox?: number;
|
||||
ie?: number;
|
||||
ios_saf?: number;
|
||||
opera?: number;
|
||||
safari?: number;
|
||||
samsung?: number;
|
||||
}
|
||||
declare export var Features: {|
|
||||
Nesting: 1,
|
||||
NotSelectorList: 2,
|
||||
DirSelector: 4,
|
||||
LangSelectorList: 8,
|
||||
IsSelector: 16,
|
||||
TextDecorationThicknessPercent: 32,
|
||||
MediaIntervalSyntax: 64,
|
||||
MediaRangeSyntax: 128,
|
||||
CustomMediaQueries: 256,
|
||||
ClampFunction: 512,
|
||||
ColorFunction: 1024,
|
||||
OklabColors: 2048,
|
||||
LabColors: 4096,
|
||||
P3Colors: 8192,
|
||||
HexAlphaColors: 16384,
|
||||
SpaceSeparatedColorNotation: 32768,
|
||||
FontFamilySystemUi: 65536,
|
||||
DoublePositionGradients: 131072,
|
||||
VendorPrefixes: 262144,
|
||||
LogicalProperties: 524288,
|
||||
LightDark: 1048576,
|
||||
Selectors: 31,
|
||||
MediaQueries: 448,
|
||||
Colors: 1113088,
|
||||
|};
|
Reference in New Issue
Block a user