@fastkit/plugboy-vanilla-extract-plugin 4.0.0-next.6 → 4.0.0-next.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/css.mjs
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { createThemeContract, globalLayer, globalStyle, layer, style } from "@vanilla-extract/css";
|
|
2
|
-
|
|
3
2
|
//#region src/css/utils.ts
|
|
4
3
|
function get(obj, path) {
|
|
5
4
|
let result = obj;
|
|
@@ -27,7 +26,6 @@ function assignVars(varContract, tokens) {
|
|
|
27
26
|
});
|
|
28
27
|
return varSetters;
|
|
29
28
|
}
|
|
30
|
-
|
|
31
29
|
//#endregion
|
|
32
30
|
//#region src/css/theme.ts
|
|
33
31
|
function createGlobalTheme$1(layerName, selector, arg2, arg3) {
|
|
@@ -37,7 +35,6 @@ function createGlobalTheme$1(layerName, selector, arg2, arg3) {
|
|
|
37
35
|
globalStyle(selector, { "@layer": { [layerName]: { vars: assignVars(themeVars, tokens) } } });
|
|
38
36
|
if (shouldCreateVars) return themeVars;
|
|
39
37
|
}
|
|
40
|
-
|
|
41
38
|
//#endregion
|
|
42
39
|
//#region src/css/layer.ts
|
|
43
40
|
function isGlobalOptions(options) {
|
|
@@ -102,7 +99,7 @@ function defineLayerStyle(globalNameOrOptions) {
|
|
|
102
99
|
};
|
|
103
100
|
return layerStyle;
|
|
104
101
|
}
|
|
105
|
-
|
|
106
102
|
//#endregion
|
|
107
103
|
export { defineLayerStyle };
|
|
104
|
+
|
|
108
105
|
//# sourceMappingURL=css.mjs.map
|
package/dist/css.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.mjs","names":["createGlobalTheme","createGlobalTheme"],"sources":["../src/css/utils.ts","../src/css/theme.ts","../src/css/layer.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport { Contract, MapLeafNodes, CSSVarFunction } from './types';\n\ntype Primitive = string | number | null | undefined;\n\ntype Walkable = {\n [Key in string | number]: Primitive | Walkable;\n};\n\nexport function get(obj: any, path: Array<string>) {\n let result = obj;\n\n for (const key of path) {\n if (!(key in result)) {\n throw new Error(`Path ${path.join(' -> ')} does not exist in object`);\n }\n result = result[key];\n }\n\n return result;\n}\nexport function walkObject<T extends Walkable, MapTo>(\n obj: T,\n fn: (value: Primitive, path: Array<string>) => MapTo,\n path: Array<string> = [],\n): MapLeafNodes<T, MapTo> {\n const clone = obj.constructor();\n\n for (const key in obj) {\n const value = obj[key];\n const currentPath = [...path, key];\n\n if (\n typeof value === 'string' ||\n typeof value === 'number' ||\n value == null\n ) {\n clone[key] = fn(value as Primitive, currentPath);\n } else if (typeof value === 'object' && !Array.isArray(value)) {\n clone[key] = walkObject(value as Walkable, fn, currentPath);\n } else {\n console.warn(\n `Skipping invalid key \"${currentPath.join(\n '.',\n )}\". Should be a string, number, null or object. Received: \"${\n Array.isArray(value) ? 'Array' : typeof value\n }\"`,\n );\n }\n }\n\n return clone;\n}\n\nexport function assignVars<VarContract extends Contract>(\n varContract: VarContract,\n tokens: MapLeafNodes<VarContract, string>,\n): Record<CSSVarFunction, string> {\n const varSetters: { [cssVarName: string]: string } = {};\n // const { valid, diffString } = validateContract(varContract, tokens);\n\n // if (!valid) {\n // throw new Error(`Tokens don't match contract.\\n${diffString}`);\n // }\n\n walkObject(tokens, (value, path) => {\n varSetters[get(varContract, path)] = String(value);\n });\n\n return varSetters;\n}\n","import { createThemeContract, globalStyle } from '@vanilla-extract/css';\nimport { Tokens, ThemeVars, Contract, MapLeafNodes } from './types';\nimport { assignVars } from './utils';\n\nexport function createGlobalTheme<ThemeTokens extends Tokens>(\n layerName: string,\n selector: string,\n tokens: ThemeTokens,\n): ThemeVars<ThemeTokens>;\nexport function createGlobalTheme<ThemeContract extends Contract>(\n layerName: string,\n selector: string,\n themeContract: ThemeContract,\n tokens: MapLeafNodes<ThemeContract, string>,\n): void;\nexport function createGlobalTheme(\n layerName: string,\n selector: string,\n arg2: any,\n arg3?: any,\n): any {\n const shouldCreateVars = Boolean(!arg3);\n\n const themeVars = shouldCreateVars\n ? createThemeContract(arg2)\n : (arg2 as ThemeVars<any>);\n\n const tokens = shouldCreateVars ? arg2 : arg3;\n\n globalStyle(selector, {\n '@layer': {\n [layerName]: {\n vars: assignVars(themeVars, tokens),\n },\n },\n });\n\n // appendCss(\n // {\n // type: 'global',\n // selector: selector,\n // rule: { vars: assignVars(themeVars, tokens) },\n // },\n // getFileScope(),\n // );\n\n if (shouldCreateVars) {\n return themeVars;\n }\n}\n","import {\n style,\n layer,\n globalLayer,\n StyleRule,\n globalStyle,\n GlobalStyleRule,\n createGlobalTheme as _createGlobalTheme,\n} from '@vanilla-extract/css';\nimport { createGlobalTheme } from './theme';\n\ntype CustomStyleRules = Record<string, any>;\n\ntype _LayerStyleRules = NonNullable<StyleRule['@layer']>[string];\n\ntype LayerStyleRules<CustomRules extends CustomStyleRules | null = null> =\n CustomRules extends null ? _LayerStyleRules : _LayerStyleRules & CustomRules;\n\ntype ClassNames = string | ClassNames[];\n\ntype ComplexLayerStyleRule<CustomRules extends CustomStyleRules | null = null> =\n LayerStyleRules<CustomRules> | (LayerStyleRules<CustomRules> | ClassNames)[];\n\ntype _LayerGlobalStyleRules = NonNullable<GlobalStyleRule['@layer']>[string];\n\ntype LayerGlobalStyleRules<CustomRules extends CustomStyleRules | null = null> =\n CustomRules extends null\n ? _LayerGlobalStyleRules\n : _LayerGlobalStyleRules & CustomRules;\n\ntype AnyStyleRule<CustomRules extends CustomStyleRules | null = null> =\n | LayerStyleRules<CustomRules>\n | LayerGlobalStyleRules<CustomRules>;\n\ntype LayerStyleHooks<CustomRules extends CustomStyleRules | null = null> = {\n style?: (rule: ComplexLayerStyleRule<CustomRules>, debugId?: string) => void;\n global?: (selector: string, rule: LayerGlobalStyleRules<CustomRules>) => void;\n anyStyle?: (style: AnyStyleRule<CustomRules>) => void;\n};\n\nexport interface LayerStyle<\n CustomRules extends CustomStyleRules | null = null,\n> {\n layerName: string;\n parentLayerName: string | null;\n /**\n * @see {@link style}\n */\n (rule: ComplexLayerStyleRule<CustomRules>, debugId?: string): string;\n\n /**\n * @see {@link style}\n */\n style(rule: ComplexLayerStyleRule<CustomRules>, debugId?: string): string;\n\n /**\n * @see {@link globalStyle}\n */\n global(selector: string, rule: LayerGlobalStyleRules<CustomRules>): void;\n\n /**\n * @see {@link _createGlobalTheme}\n */\n globalTheme: typeof _createGlobalTheme;\n\n defineNestedLayer(\n globalNameOrNestedOptions?: string | DefineLayerOptions<CustomRules>,\n ): LayerStyle<CustomRules>;\n\n /**\n * Add global CSS variable with layer\n *\n * @remarks The vanilla-extract API is buggy when handling layered css variables.\n *\n * @param selector - selector\n * @param vars - variables\n */\n pushGlobalVars(selector: string, vars: Record<string, string>): void;\n\n /**\n * Output variables accumulated by `pushGlobalVars`.\n *\n * @remarks The vanilla-extract API is buggy when handling layered css variables.\n */\n dumpGlobalVars(): void;\n hooks: LayerStyleHooks<CustomRules>;\n}\n\nexport interface DefineLayerParentOptions {\n parent?: string;\n}\n\nexport interface DefineLayerBaseOptions<\n CustomRules extends CustomStyleRules | null = null,\n> {\n hooks?: LayerStyleHooks<CustomRules>;\n}\n\nexport interface DefineLayerScopedOptions<\n CustomRules extends CustomStyleRules | null = null,\n> extends DefineLayerBaseOptions<CustomRules> {\n /** Debug ID */\n debugId?: string;\n globalName?: never;\n}\n\nexport interface DefineLayerGlobalOptions<\n CustomRules extends CustomStyleRules | null = null,\n> extends DefineLayerBaseOptions<CustomRules> {\n debugId?: never;\n /** Parent layer name */\n globalName: string;\n}\n\nexport type DefineLayerOptions<\n CustomRules extends CustomStyleRules | null = null,\n> =\n | DefineLayerScopedOptions<CustomRules>\n | DefineLayerGlobalOptions<CustomRules>;\n\nexport type DefineNestableLayerOptions<\n CustomRules extends CustomStyleRules | null = null,\n> = DefineLayerOptions<CustomRules> & DefineLayerParentOptions;\n\nfunction isGlobalOptions(\n options: DefineLayerOptions<any>,\n): options is DefineLayerGlobalOptions {\n return 'globalName' in options;\n}\n\nfunction normalizeToObject<T extends DefineLayerOptions<any>>(\n source?: string | T,\n): T {\n if (!source) return {} as T;\n if (typeof source === 'string') return { globalName: source } as unknown as T;\n return source;\n}\n\nexport function defineLayerStyle<\n CustomRules extends CustomStyleRules | null = null,\n>(\n globalNameOrOptions?: string | DefineNestableLayerOptions<CustomRules>,\n): LayerStyle<CustomRules> {\n const options = normalizeToObject(globalNameOrOptions);\n const { parent, hooks = {} } = options;\n\n const layerName = isGlobalOptions(options)\n ? globalLayer({ parent }, options.globalName)\n : layer({ parent }, options.debugId);\n\n const layerStyle = function layerStyle(rule, debugId) {\n const rules = Array.isArray(rule) ? rule : [rule];\n const layerAppliedRules = rules.map((_rule) => {\n if (typeof _rule === 'string' || Array.isArray(_rule)) return _rule;\n return {\n '@layer': {\n [layerName]: _rule,\n },\n };\n });\n if (hooks.anyStyle) {\n for (const _rule of rules) {\n if (typeof _rule === 'string' || Array.isArray(_rule)) continue;\n hooks.anyStyle(_rule);\n }\n }\n hooks.style && hooks.style(rule, debugId);\n return style(layerAppliedRules, debugId);\n } as LayerStyle<CustomRules>;\n\n layerStyle.layerName = layerName;\n layerStyle.parentLayerName = parent || null;\n layerStyle.style = layerStyle;\n layerStyle.hooks = hooks;\n\n layerStyle.global = function layerGlobalStyle(\n selector: string,\n rule: LayerGlobalStyleRules<CustomRules>,\n ) {\n hooks.anyStyle && hooks.anyStyle(rule);\n hooks.global && hooks.global(selector, rule);\n\n return globalStyle(selector, {\n '@layer': {\n [layerName]: rule,\n },\n });\n };\n\n layerStyle.globalTheme = (...args: any) =>\n (createGlobalTheme as any)(layerName, ...args);\n\n let _varQueues: [string, Record<string, string>][] = [];\n\n layerStyle.pushGlobalVars = function pushGlobalVars(\n selector: string,\n vars: Record<string, string>,\n ) {\n let queue = _varQueues.find((q) => q[0] === selector);\n if (!queue) {\n queue = [selector, {}];\n _varQueues.push(queue);\n }\n Object.assign(queue[1], vars);\n };\n\n layerStyle.dumpGlobalVars = function dumpGlobalVars() {\n for (const [selector, vars] of _varQueues) {\n layerStyle.global(selector, {\n vars,\n } as any);\n }\n _varQueues = [];\n };\n\n layerStyle.defineNestedLayer = function defineNestedLayer(\n globalNameOrNestedOptions?: string | DefineLayerOptions<CustomRules>,\n ) {\n const _options = normalizeToObject(globalNameOrNestedOptions);\n const nestedHooks = _options.hooks;\n\n return defineLayerStyle({\n ..._options,\n hooks: {\n ...hooks,\n ...nestedHooks,\n },\n parent: layerName,\n });\n };\n\n return layerStyle;\n}\n"],"mappings":";;;AASA,SAAgB,IAAI,KAAU,MAAqB;CACjD,IAAI,SAAS;AAEb,MAAK,MAAM,OAAO,MAAM;AACtB,MAAI,EAAE,OAAO,QACX,OAAM,IAAI,MAAM,QAAQ,KAAK,KAAK,OAAO,CAAC,2BAA2B;AAEvE,WAAS,OAAO;;AAGlB,QAAO;;AAET,SAAgB,WACd,KACA,IACA,OAAsB,EAAE,EACA;CACxB,MAAM,QAAQ,IAAI,aAAa;AAE/B,MAAK,MAAM,OAAO,KAAK;EACrB,MAAM,QAAQ,IAAI;EAClB,MAAM,cAAc,CAAC,GAAG,MAAM,IAAI;AAElC,MACE,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,SAAS,KAET,OAAM,OAAO,GAAG,OAAoB,YAAY;WACvC,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,MAAM,CAC3D,OAAM,OAAO,WAAW,OAAmB,IAAI,YAAY;MAE3D,SAAQ,KACN,yBAAyB,YAAY,KACnC,IACD,CAAC,4DACA,MAAM,QAAQ,MAAM,GAAG,UAAU,OAAO,MACzC,GACF;;AAIL,QAAO;;AAGT,SAAgB,WACd,aACA,QACgC;CAChC,MAAM,aAA+C,EAAE;AAOvD,YAAW,SAAS,OAAO,SAAS;AAClC,aAAW,IAAI,aAAa,KAAK,IAAI,OAAO,MAAM;GAClD;AAEF,QAAO;;;;;ACtDT,SAAgBA,oBACd,WACA,UACA,MACA,MACK;CACL,MAAM,mBAAmB,QAAQ,CAAC,KAAK;CAEvC,MAAM,YAAY,mBACd,oBAAoB,KAAK,GACxB;CAEL,MAAM,SAAS,mBAAmB,OAAO;AAEzC,aAAY,UAAU,EACpB,UAAU,GACP,YAAY,EACX,MAAM,WAAW,WAAW,OAAO,EACpC,EACF,EACF,CAAC;AAWF,KAAI,iBACF,QAAO;;;;;AC6EX,SAAS,gBACP,SACqC;AACrC,QAAO,gBAAgB;;AAGzB,SAAS,kBACP,QACG;AACH,KAAI,CAAC,OAAQ,QAAO,EAAE;AACtB,KAAI,OAAO,WAAW,SAAU,QAAO,EAAE,YAAY,QAAQ;AAC7D,QAAO;;AAGT,SAAgB,iBAGd,qBACyB;CACzB,MAAM,UAAU,kBAAkB,oBAAoB;CACtD,MAAM,EAAE,QAAQ,QAAQ,EAAE,KAAK;CAE/B,MAAM,YAAY,gBAAgB,QAAQ,GACtC,YAAY,EAAE,QAAQ,EAAE,QAAQ,WAAW,GAC3C,MAAM,EAAE,QAAQ,EAAE,QAAQ,QAAQ;CAEtC,MAAM,aAAa,SAAS,WAAW,MAAM,SAAS;EACpD,MAAM,QAAQ,MAAM,QAAQ,KAAK,GAAG,OAAO,CAAC,KAAK;EACjD,MAAM,oBAAoB,MAAM,KAAK,UAAU;AAC7C,OAAI,OAAO,UAAU,YAAY,MAAM,QAAQ,MAAM,CAAE,QAAO;AAC9D,UAAO,EACL,UAAU,GACP,YAAY,OACd,EACF;IACD;AACF,MAAI,MAAM,SACR,MAAK,MAAM,SAAS,OAAO;AACzB,OAAI,OAAO,UAAU,YAAY,MAAM,QAAQ,MAAM,CAAE;AACvD,SAAM,SAAS,MAAM;;AAGzB,QAAM,SAAS,MAAM,MAAM,MAAM,QAAQ;AACzC,SAAO,MAAM,mBAAmB,QAAQ;;AAG1C,YAAW,YAAY;AACvB,YAAW,kBAAkB,UAAU;AACvC,YAAW,QAAQ;AACnB,YAAW,QAAQ;AAEnB,YAAW,SAAS,SAAS,iBAC3B,UACA,MACA;AACA,QAAM,YAAY,MAAM,SAAS,KAAK;AACtC,QAAM,UAAU,MAAM,OAAO,UAAU,KAAK;AAE5C,SAAO,YAAY,UAAU,EAC3B,UAAU,GACP,YAAY,MACd,EACF,CAAC;;AAGJ,YAAW,eAAe,GAAG,SAC1BC,oBAA0B,WAAW,GAAG,KAAK;CAEhD,IAAI,aAAiD,EAAE;AAEvD,YAAW,iBAAiB,SAAS,eACnC,UACA,MACA;EACA,IAAI,QAAQ,WAAW,MAAM,MAAM,EAAE,OAAO,SAAS;AACrD,MAAI,CAAC,OAAO;AACV,WAAQ,CAAC,UAAU,EAAE,CAAC;AACtB,cAAW,KAAK,MAAM;;AAExB,SAAO,OAAO,MAAM,IAAI,KAAK;;AAG/B,YAAW,iBAAiB,SAAS,iBAAiB;AACpD,OAAK,MAAM,CAAC,UAAU,SAAS,WAC7B,YAAW,OAAO,UAAU,EAC1B,MACD,CAAQ;AAEX,eAAa,EAAE;;AAGjB,YAAW,oBAAoB,SAAS,kBACtC,2BACA;EACA,MAAM,WAAW,kBAAkB,0BAA0B;EAC7D,MAAM,cAAc,SAAS;AAE7B,SAAO,iBAAiB;GACtB,GAAG;GACH,OAAO;IACL,GAAG;IACH,GAAG;IACJ;GACD,QAAQ;GACT,CAAC;;AAGJ,QAAO"}
|
|
1
|
+
{"version":3,"file":"css.mjs","names":["createGlobalTheme","createGlobalTheme"],"sources":["../src/css/utils.ts","../src/css/theme.ts","../src/css/layer.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport { Contract, MapLeafNodes, CSSVarFunction } from './types';\n\ntype Primitive = string | number | null | undefined;\n\ntype Walkable = {\n [Key in string | number]: Primitive | Walkable;\n};\n\nexport function get(obj: any, path: Array<string>) {\n let result = obj;\n\n for (const key of path) {\n if (!(key in result)) {\n throw new Error(`Path ${path.join(' -> ')} does not exist in object`);\n }\n result = result[key];\n }\n\n return result;\n}\nexport function walkObject<T extends Walkable, MapTo>(\n obj: T,\n fn: (value: Primitive, path: Array<string>) => MapTo,\n path: Array<string> = [],\n): MapLeafNodes<T, MapTo> {\n const clone = obj.constructor();\n\n for (const key in obj) {\n const value = obj[key];\n const currentPath = [...path, key];\n\n if (\n typeof value === 'string' ||\n typeof value === 'number' ||\n value == null\n ) {\n clone[key] = fn(value as Primitive, currentPath);\n } else if (typeof value === 'object' && !Array.isArray(value)) {\n clone[key] = walkObject(value as Walkable, fn, currentPath);\n } else {\n console.warn(\n `Skipping invalid key \"${currentPath.join(\n '.',\n )}\". Should be a string, number, null or object. Received: \"${\n Array.isArray(value) ? 'Array' : typeof value\n }\"`,\n );\n }\n }\n\n return clone;\n}\n\nexport function assignVars<VarContract extends Contract>(\n varContract: VarContract,\n tokens: MapLeafNodes<VarContract, string>,\n): Record<CSSVarFunction, string> {\n const varSetters: { [cssVarName: string]: string } = {};\n // const { valid, diffString } = validateContract(varContract, tokens);\n\n // if (!valid) {\n // throw new Error(`Tokens don't match contract.\\n${diffString}`);\n // }\n\n walkObject(tokens, (value, path) => {\n varSetters[get(varContract, path)] = String(value);\n });\n\n return varSetters;\n}\n","import { createThemeContract, globalStyle } from '@vanilla-extract/css';\nimport { Tokens, ThemeVars, Contract, MapLeafNodes } from './types';\nimport { assignVars } from './utils';\n\nexport function createGlobalTheme<ThemeTokens extends Tokens>(\n layerName: string,\n selector: string,\n tokens: ThemeTokens,\n): ThemeVars<ThemeTokens>;\nexport function createGlobalTheme<ThemeContract extends Contract>(\n layerName: string,\n selector: string,\n themeContract: ThemeContract,\n tokens: MapLeafNodes<ThemeContract, string>,\n): void;\nexport function createGlobalTheme(\n layerName: string,\n selector: string,\n arg2: any,\n arg3?: any,\n): any {\n const shouldCreateVars = Boolean(!arg3);\n\n const themeVars = shouldCreateVars\n ? createThemeContract(arg2)\n : (arg2 as ThemeVars<any>);\n\n const tokens = shouldCreateVars ? arg2 : arg3;\n\n globalStyle(selector, {\n '@layer': {\n [layerName]: {\n vars: assignVars(themeVars, tokens),\n },\n },\n });\n\n // appendCss(\n // {\n // type: 'global',\n // selector: selector,\n // rule: { vars: assignVars(themeVars, tokens) },\n // },\n // getFileScope(),\n // );\n\n if (shouldCreateVars) {\n return themeVars;\n }\n}\n","import {\n style,\n layer,\n globalLayer,\n StyleRule,\n globalStyle,\n GlobalStyleRule,\n createGlobalTheme as _createGlobalTheme,\n} from '@vanilla-extract/css';\nimport { createGlobalTheme } from './theme';\n\ntype CustomStyleRules = Record<string, any>;\n\ntype _LayerStyleRules = NonNullable<StyleRule['@layer']>[string];\n\ntype LayerStyleRules<CustomRules extends CustomStyleRules | null = null> =\n CustomRules extends null ? _LayerStyleRules : _LayerStyleRules & CustomRules;\n\ntype ClassNames = string | ClassNames[];\n\ntype ComplexLayerStyleRule<CustomRules extends CustomStyleRules | null = null> =\n | LayerStyleRules<CustomRules>\n | (LayerStyleRules<CustomRules> | ClassNames)[];\n\ntype _LayerGlobalStyleRules = NonNullable<GlobalStyleRule['@layer']>[string];\n\ntype LayerGlobalStyleRules<CustomRules extends CustomStyleRules | null = null> =\n CustomRules extends null\n ? _LayerGlobalStyleRules\n : _LayerGlobalStyleRules & CustomRules;\n\ntype AnyStyleRule<CustomRules extends CustomStyleRules | null = null> =\n | LayerStyleRules<CustomRules>\n | LayerGlobalStyleRules<CustomRules>;\n\ntype LayerStyleHooks<CustomRules extends CustomStyleRules | null = null> = {\n style?: (rule: ComplexLayerStyleRule<CustomRules>, debugId?: string) => void;\n global?: (selector: string, rule: LayerGlobalStyleRules<CustomRules>) => void;\n anyStyle?: (style: AnyStyleRule<CustomRules>) => void;\n};\n\nexport interface LayerStyle<\n CustomRules extends CustomStyleRules | null = null,\n> {\n layerName: string;\n parentLayerName: string | null;\n /**\n * @see {@link style}\n */\n (rule: ComplexLayerStyleRule<CustomRules>, debugId?: string): string;\n\n /**\n * @see {@link style}\n */\n style(rule: ComplexLayerStyleRule<CustomRules>, debugId?: string): string;\n\n /**\n * @see {@link globalStyle}\n */\n global(selector: string, rule: LayerGlobalStyleRules<CustomRules>): void;\n\n /**\n * @see {@link _createGlobalTheme}\n */\n globalTheme: typeof _createGlobalTheme;\n\n defineNestedLayer(\n globalNameOrNestedOptions?: string | DefineLayerOptions<CustomRules>,\n ): LayerStyle<CustomRules>;\n\n /**\n * Add global CSS variable with layer\n *\n * @remarks The vanilla-extract API is buggy when handling layered css variables.\n *\n * @param selector - selector\n * @param vars - variables\n */\n pushGlobalVars(selector: string, vars: Record<string, string>): void;\n\n /**\n * Output variables accumulated by `pushGlobalVars`.\n *\n * @remarks The vanilla-extract API is buggy when handling layered css variables.\n */\n dumpGlobalVars(): void;\n hooks: LayerStyleHooks<CustomRules>;\n}\n\nexport interface DefineLayerParentOptions {\n parent?: string;\n}\n\nexport interface DefineLayerBaseOptions<\n CustomRules extends CustomStyleRules | null = null,\n> {\n hooks?: LayerStyleHooks<CustomRules>;\n}\n\nexport interface DefineLayerScopedOptions<\n CustomRules extends CustomStyleRules | null = null,\n> extends DefineLayerBaseOptions<CustomRules> {\n /** Debug ID */\n debugId?: string;\n globalName?: never;\n}\n\nexport interface DefineLayerGlobalOptions<\n CustomRules extends CustomStyleRules | null = null,\n> extends DefineLayerBaseOptions<CustomRules> {\n debugId?: never;\n /** Parent layer name */\n globalName: string;\n}\n\nexport type DefineLayerOptions<\n CustomRules extends CustomStyleRules | null = null,\n> =\n | DefineLayerScopedOptions<CustomRules>\n | DefineLayerGlobalOptions<CustomRules>;\n\nexport type DefineNestableLayerOptions<\n CustomRules extends CustomStyleRules | null = null,\n> = DefineLayerOptions<CustomRules> & DefineLayerParentOptions;\n\nfunction isGlobalOptions(\n options: DefineLayerOptions<any>,\n): options is DefineLayerGlobalOptions {\n return 'globalName' in options;\n}\n\nfunction normalizeToObject<T extends DefineLayerOptions<any>>(\n source?: string | T,\n): T {\n if (!source) return {} as T;\n if (typeof source === 'string') return { globalName: source } as unknown as T;\n return source;\n}\n\nexport function defineLayerStyle<\n CustomRules extends CustomStyleRules | null = null,\n>(\n globalNameOrOptions?: string | DefineNestableLayerOptions<CustomRules>,\n): LayerStyle<CustomRules> {\n const options = normalizeToObject(globalNameOrOptions);\n const { parent, hooks = {} } = options;\n\n const layerName = isGlobalOptions(options)\n ? globalLayer({ parent }, options.globalName)\n : layer({ parent }, options.debugId);\n\n const layerStyle = function layerStyle(rule, debugId) {\n const rules = Array.isArray(rule) ? rule : [rule];\n const layerAppliedRules = rules.map((_rule) => {\n if (typeof _rule === 'string' || Array.isArray(_rule)) return _rule;\n return {\n '@layer': {\n [layerName]: _rule,\n },\n };\n });\n if (hooks.anyStyle) {\n for (const _rule of rules) {\n if (typeof _rule === 'string' || Array.isArray(_rule)) continue;\n hooks.anyStyle(_rule);\n }\n }\n hooks.style && hooks.style(rule, debugId);\n return style(layerAppliedRules, debugId);\n } as LayerStyle<CustomRules>;\n\n layerStyle.layerName = layerName;\n layerStyle.parentLayerName = parent || null;\n layerStyle.style = layerStyle;\n layerStyle.hooks = hooks;\n\n layerStyle.global = function layerGlobalStyle(\n selector: string,\n rule: LayerGlobalStyleRules<CustomRules>,\n ) {\n hooks.anyStyle && hooks.anyStyle(rule);\n hooks.global && hooks.global(selector, rule);\n\n return globalStyle(selector, {\n '@layer': {\n [layerName]: rule,\n },\n });\n };\n\n layerStyle.globalTheme = (...args: any) =>\n (createGlobalTheme as any)(layerName, ...args);\n\n let _varQueues: [string, Record<string, string>][] = [];\n\n layerStyle.pushGlobalVars = function pushGlobalVars(\n selector: string,\n vars: Record<string, string>,\n ) {\n let queue = _varQueues.find((q) => q[0] === selector);\n if (!queue) {\n queue = [selector, {}];\n _varQueues.push(queue);\n }\n Object.assign(queue[1], vars);\n };\n\n layerStyle.dumpGlobalVars = function dumpGlobalVars() {\n for (const [selector, vars] of _varQueues) {\n layerStyle.global(selector, {\n vars,\n } as any);\n }\n _varQueues = [];\n };\n\n layerStyle.defineNestedLayer = function defineNestedLayer(\n globalNameOrNestedOptions?: string | DefineLayerOptions<CustomRules>,\n ) {\n const _options = normalizeToObject(globalNameOrNestedOptions);\n const nestedHooks = _options.hooks;\n\n return defineLayerStyle({\n ..._options,\n hooks: {\n ...hooks,\n ...nestedHooks,\n },\n parent: layerName,\n });\n };\n\n return layerStyle;\n}\n"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Plugin } from "@fastkit/plugboy";
|
|
2
|
-
import { vanillaExtractPlugin } from "@vanilla-extract/
|
|
3
|
-
import { vanillaExtractPlugin as vanillaExtractPlugin$1 } from "@vanilla-extract/
|
|
2
|
+
import { vanillaExtractPlugin } from "@vanilla-extract/rollup-plugin";
|
|
3
|
+
import { vanillaExtractPlugin as vanillaExtractPlugin$1 } from "@vanilla-extract/vite-plugin";
|
|
4
4
|
import { Plugin as Plugin$1 } from "vite";
|
|
5
5
|
|
|
6
6
|
//#region src/types.d.ts
|
|
7
|
-
type VanillaExtractPluginOptions = Omit<NonNullable<Parameters<typeof vanillaExtractPlugin
|
|
7
|
+
type VanillaExtractPluginOptions = Omit<NonNullable<Parameters<typeof vanillaExtractPlugin>[0]>, 'extract'>;
|
|
8
8
|
type PrependFnResultValue = string | void;
|
|
9
9
|
type PrependFn = (ctx: {
|
|
10
10
|
cssFileName: string;
|
|
@@ -31,7 +31,7 @@ declare module '@fastkit/plugboy' {
|
|
|
31
31
|
declare function createVanillaExtractPlugin(options?: PluginOptions): Promise<VanillaExtractPlugin>;
|
|
32
32
|
//#endregion
|
|
33
33
|
//#region src/vite.d.ts
|
|
34
|
-
type VanillaExtractVitePluginOptions = NonNullable<Parameters<typeof vanillaExtractPlugin>[0]>;
|
|
34
|
+
type VanillaExtractVitePluginOptions = NonNullable<Parameters<typeof vanillaExtractPlugin$1>[0]>;
|
|
35
35
|
interface ViteVanillaExtractPluginOptions extends VanillaExtractVitePluginOptions {}
|
|
36
36
|
declare function ViteVanillaExtractPlugin(options?: ViteVanillaExtractPluginOptions): Promise<Plugin$1[]>;
|
|
37
37
|
//#endregion
|