@pandacss/config 0.34.3 → 0.36.0
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/{chunk-XG53JPBE.mjs → chunk-D3CL3VYD.mjs} +2 -1
- package/dist/{chunk-MT2A5AKG.mjs → chunk-IMFODN4N.mjs} +60 -58
- package/dist/diff-config.js +2 -1
- package/dist/diff-config.mjs +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +71 -63
- package/dist/index.mjs +9 -6
- package/dist/merge-config.d.mts +2 -2
- package/dist/merge-config.d.ts +2 -2
- package/dist/merge-config.js +64 -48
- package/dist/merge-config.mjs +1 -1
- package/package.json +15 -6
|
@@ -86,7 +86,8 @@ var artifactConfigDeps = {
|
|
|
86
86
|
"types-jsx": jsx,
|
|
87
87
|
"types-entry": [],
|
|
88
88
|
"types-gen": [],
|
|
89
|
-
"types-gen-system": []
|
|
89
|
+
"types-gen-system": [],
|
|
90
|
+
themes: ["themes"].concat(tokens)
|
|
90
91
|
};
|
|
91
92
|
var artifactMatchers = Object.entries(artifactConfigDeps).map(([key, paths]) => {
|
|
92
93
|
if (!paths.length)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// src/merge-config.ts
|
|
2
|
+
import { assign, isObject, mergeWith, traverse } from "@pandacss/shared";
|
|
2
3
|
import { mergeAndConcat } from "merge-anything";
|
|
3
4
|
|
|
4
5
|
// src/merge-hooks.ts
|
|
@@ -16,38 +17,65 @@ var mergeHooks = (plugins) => {
|
|
|
16
17
|
const mergedHooks = Object.fromEntries(
|
|
17
18
|
Object.entries(hooksFns).map(([key, entries]) => {
|
|
18
19
|
const fns = entries.map(([name, fn]) => tryCatch(name, fn));
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (key === "codegen:prepare") {
|
|
23
|
-
return [key, reducers["codegen:prepare"](fns)];
|
|
20
|
+
const reducer = key in reducers ? reducers[key] : void 0;
|
|
21
|
+
if (reducer) {
|
|
22
|
+
return [key, reducer(fns)];
|
|
24
23
|
}
|
|
25
24
|
return [key, syncHooks.includes(key) ? callAll(...fns) : callAllAsync(...fns)];
|
|
26
25
|
})
|
|
27
26
|
);
|
|
28
27
|
return mergedHooks;
|
|
29
28
|
};
|
|
29
|
+
var createReducer = (reducer) => reducer;
|
|
30
30
|
var reducers = {
|
|
31
|
-
"
|
|
31
|
+
"config:resolved": createReducer((fns) => async (_args) => {
|
|
32
|
+
const args = Object.assign({}, _args);
|
|
33
|
+
const original = _args.config;
|
|
34
|
+
let config = args.config;
|
|
35
|
+
for (const hookFn of fns) {
|
|
36
|
+
const result = await hookFn(Object.assign(args, { config, original }));
|
|
37
|
+
if (result !== void 0) {
|
|
38
|
+
config = result;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return config;
|
|
42
|
+
}),
|
|
43
|
+
"parser:before": createReducer((fns) => (_args) => {
|
|
44
|
+
const args = Object.assign({}, _args);
|
|
45
|
+
const original = _args.content;
|
|
46
|
+
let content = args.content;
|
|
47
|
+
for (const hookFn of fns) {
|
|
48
|
+
const result = hookFn(Object.assign(args, { content, original }));
|
|
49
|
+
if (result !== void 0) {
|
|
50
|
+
content = result;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return content;
|
|
54
|
+
}),
|
|
55
|
+
"cssgen:done": createReducer((fns) => (_args) => {
|
|
56
|
+
const args = Object.assign({}, _args);
|
|
57
|
+
const original = _args.content;
|
|
32
58
|
let content = args.content;
|
|
33
59
|
for (const hookFn of fns) {
|
|
34
|
-
const result = hookFn(
|
|
60
|
+
const result = hookFn(Object.assign(args, { content, original }));
|
|
35
61
|
if (result !== void 0) {
|
|
36
62
|
content = result;
|
|
37
63
|
}
|
|
38
64
|
}
|
|
39
65
|
return content;
|
|
40
|
-
},
|
|
41
|
-
"codegen:prepare": (fns) => (
|
|
66
|
+
}),
|
|
67
|
+
"codegen:prepare": createReducer((fns) => async (_args) => {
|
|
68
|
+
const args = Object.assign({}, _args);
|
|
69
|
+
const original = _args.artifacts;
|
|
42
70
|
let artifacts = args.artifacts;
|
|
43
71
|
for (const hookFn of fns) {
|
|
44
|
-
const result = hookFn(
|
|
72
|
+
const result = await hookFn(Object.assign(args, { artifacts, original }));
|
|
45
73
|
if (result) {
|
|
46
74
|
artifacts = result;
|
|
47
75
|
}
|
|
48
76
|
}
|
|
49
77
|
return artifacts;
|
|
50
|
-
}
|
|
78
|
+
})
|
|
51
79
|
};
|
|
52
80
|
var syncHooks = ["context:created", "parser:before", "parser:after", "cssgen:done"];
|
|
53
81
|
var callAllAsync = (...fns) => async (...a) => {
|
|
@@ -69,51 +97,6 @@ var tryCatch = (name, fn) => {
|
|
|
69
97
|
};
|
|
70
98
|
};
|
|
71
99
|
|
|
72
|
-
// src/utils.ts
|
|
73
|
-
import { traverse } from "@pandacss/shared";
|
|
74
|
-
var isObject = (v) => Object.prototype.toString.call(v) === "[object Object]";
|
|
75
|
-
function mergeWith(target, ...sources) {
|
|
76
|
-
const customizer = sources.pop();
|
|
77
|
-
for (const source of sources) {
|
|
78
|
-
for (const key in source) {
|
|
79
|
-
const merged = customizer(target[key], source[key]);
|
|
80
|
-
if (merged === void 0) {
|
|
81
|
-
if (isObject(target[key]) && isObject(source[key])) {
|
|
82
|
-
target[key] = mergeWith({}, target[key], source[key], customizer);
|
|
83
|
-
} else {
|
|
84
|
-
target[key] = source[key];
|
|
85
|
-
}
|
|
86
|
-
} else {
|
|
87
|
-
target[key] = merged;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
return target;
|
|
92
|
-
}
|
|
93
|
-
function assign(target, ...sources) {
|
|
94
|
-
for (const source of sources) {
|
|
95
|
-
for (const key in source) {
|
|
96
|
-
if (!target?.hasOwnProperty?.(key)) {
|
|
97
|
-
target[key] = source[key];
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return target;
|
|
102
|
-
}
|
|
103
|
-
var omit = (obj, paths) => {
|
|
104
|
-
const result = { ...obj };
|
|
105
|
-
traverse(obj, ({ path, parent, key }) => {
|
|
106
|
-
if (paths.includes(path)) {
|
|
107
|
-
delete parent[key];
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
return result;
|
|
111
|
-
};
|
|
112
|
-
var utils = {
|
|
113
|
-
omit,
|
|
114
|
-
traverse
|
|
115
|
-
};
|
|
116
|
-
|
|
117
100
|
// src/merge-config.ts
|
|
118
101
|
function getExtends(items) {
|
|
119
102
|
return items.reduce((merged, { extend }) => {
|
|
@@ -154,6 +137,7 @@ var compact = (obj) => {
|
|
|
154
137
|
return acc;
|
|
155
138
|
}, {});
|
|
156
139
|
};
|
|
140
|
+
var tokenKeys = ["description", "extensions", "type", "value"];
|
|
157
141
|
function mergeConfigs(configs) {
|
|
158
142
|
const [userConfig] = configs;
|
|
159
143
|
const pluginHooks = userConfig.plugins ?? [];
|
|
@@ -167,15 +151,33 @@ function mergeConfigs(configs) {
|
|
|
167
151
|
patterns: mergeExtensions(configs.map((config) => config.patterns ?? {})),
|
|
168
152
|
utilities: mergeExtensions(configs.map((config) => config.utilities ?? {})),
|
|
169
153
|
globalCss: mergeExtensions(configs.map((config) => config.globalCss ?? {})),
|
|
154
|
+
globalVars: mergeExtensions(configs.map((config) => config.globalVars ?? {})),
|
|
170
155
|
staticCss: mergeExtensions(configs.map((config) => config.staticCss ?? {})),
|
|
156
|
+
themes: mergeExtensions(configs.map((config) => config.themes ?? {})),
|
|
171
157
|
hooks: mergeHooks(pluginHooks)
|
|
172
158
|
},
|
|
173
159
|
...configs
|
|
174
160
|
);
|
|
175
|
-
|
|
161
|
+
const withoutEmpty = compact(mergedResult);
|
|
162
|
+
if (withoutEmpty.theme?.tokens) {
|
|
163
|
+
traverse(withoutEmpty.theme.tokens, (args) => args, {
|
|
164
|
+
stop(args) {
|
|
165
|
+
if (isObject(args.value) && "value" in args.value) {
|
|
166
|
+
const keys = Object.keys(args.value);
|
|
167
|
+
if (keys.filter((k) => !tokenKeys.includes(k)).length) {
|
|
168
|
+
const { type: _type, description: _description, extensions: _extensions, value, DEFAULT } = args.value;
|
|
169
|
+
args.value.DEFAULT = { value: DEFAULT?.value ?? value };
|
|
170
|
+
delete args.value.value;
|
|
171
|
+
}
|
|
172
|
+
return true;
|
|
173
|
+
}
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
return withoutEmpty;
|
|
176
179
|
}
|
|
177
180
|
|
|
178
181
|
export {
|
|
179
|
-
utils,
|
|
180
182
|
mergeConfigs
|
|
181
183
|
};
|
package/dist/diff-config.js
CHANGED
|
@@ -120,7 +120,8 @@ var artifactConfigDeps = {
|
|
|
120
120
|
"types-jsx": jsx,
|
|
121
121
|
"types-entry": [],
|
|
122
122
|
"types-gen": [],
|
|
123
|
-
"types-gen-system": []
|
|
123
|
+
"types-gen-system": [],
|
|
124
|
+
themes: ["themes"].concat(tokens)
|
|
124
125
|
};
|
|
125
126
|
var artifactMatchers = Object.entries(artifactConfigDeps).map(([key, paths]) => {
|
|
126
127
|
if (!paths.length)
|
package/dist/diff-config.mjs
CHANGED
package/dist/index.d.mts
CHANGED
|
@@ -42,7 +42,7 @@ type ExtendableConfig = Extendable<Config>;
|
|
|
42
42
|
/**
|
|
43
43
|
* Recursively merge all presets into a single config
|
|
44
44
|
*/
|
|
45
|
-
declare function getResolvedConfig(config: ExtendableConfig, cwd: string): Promise<
|
|
45
|
+
declare function getResolvedConfig(config: ExtendableConfig, cwd: string): Promise<_pandacss_types.UserConfig>;
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
48
|
* Find, load and resolve the final config (including presets)
|
package/dist/index.d.ts
CHANGED
|
@@ -42,7 +42,7 @@ type ExtendableConfig = Extendable<Config>;
|
|
|
42
42
|
/**
|
|
43
43
|
* Recursively merge all presets into a single config
|
|
44
44
|
*/
|
|
45
|
-
declare function getResolvedConfig(config: ExtendableConfig, cwd: string): Promise<
|
|
45
|
+
declare function getResolvedConfig(config: ExtendableConfig, cwd: string): Promise<_pandacss_types.UserConfig>;
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
48
|
* Find, load and resolve the final config (including presets)
|
package/dist/index.js
CHANGED
|
@@ -190,7 +190,8 @@ var artifactConfigDeps = {
|
|
|
190
190
|
"types-jsx": jsx,
|
|
191
191
|
"types-entry": [],
|
|
192
192
|
"types-gen": [],
|
|
193
|
-
"types-gen-system": []
|
|
193
|
+
"types-gen-system": [],
|
|
194
|
+
themes: ["themes"].concat(tokens)
|
|
194
195
|
};
|
|
195
196
|
var artifactMatchers = Object.entries(artifactConfigDeps).map(([key, paths]) => {
|
|
196
197
|
if (!paths.length)
|
|
@@ -381,6 +382,7 @@ function getConfigDependencies(filePath, tsOptions = { pathMappings: [] }, compi
|
|
|
381
382
|
}
|
|
382
383
|
|
|
383
384
|
// src/merge-config.ts
|
|
385
|
+
var import_shared4 = require("@pandacss/shared");
|
|
384
386
|
var import_merge_anything = require("merge-anything");
|
|
385
387
|
|
|
386
388
|
// src/merge-hooks.ts
|
|
@@ -398,38 +400,65 @@ var mergeHooks = (plugins) => {
|
|
|
398
400
|
const mergedHooks = Object.fromEntries(
|
|
399
401
|
Object.entries(hooksFns).map(([key, entries]) => {
|
|
400
402
|
const fns = entries.map(([name, fn]) => tryCatch(name, fn));
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
if (key === "codegen:prepare") {
|
|
405
|
-
return [key, reducers["codegen:prepare"](fns)];
|
|
403
|
+
const reducer = key in reducers ? reducers[key] : void 0;
|
|
404
|
+
if (reducer) {
|
|
405
|
+
return [key, reducer(fns)];
|
|
406
406
|
}
|
|
407
407
|
return [key, syncHooks.includes(key) ? callAll(...fns) : callAllAsync(...fns)];
|
|
408
408
|
})
|
|
409
409
|
);
|
|
410
410
|
return mergedHooks;
|
|
411
411
|
};
|
|
412
|
+
var createReducer = (reducer) => reducer;
|
|
412
413
|
var reducers = {
|
|
413
|
-
"
|
|
414
|
+
"config:resolved": createReducer((fns) => async (_args) => {
|
|
415
|
+
const args = Object.assign({}, _args);
|
|
416
|
+
const original = _args.config;
|
|
417
|
+
let config = args.config;
|
|
418
|
+
for (const hookFn of fns) {
|
|
419
|
+
const result = await hookFn(Object.assign(args, { config, original }));
|
|
420
|
+
if (result !== void 0) {
|
|
421
|
+
config = result;
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
return config;
|
|
425
|
+
}),
|
|
426
|
+
"parser:before": createReducer((fns) => (_args) => {
|
|
427
|
+
const args = Object.assign({}, _args);
|
|
428
|
+
const original = _args.content;
|
|
429
|
+
let content = args.content;
|
|
430
|
+
for (const hookFn of fns) {
|
|
431
|
+
const result = hookFn(Object.assign(args, { content, original }));
|
|
432
|
+
if (result !== void 0) {
|
|
433
|
+
content = result;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
return content;
|
|
437
|
+
}),
|
|
438
|
+
"cssgen:done": createReducer((fns) => (_args) => {
|
|
439
|
+
const args = Object.assign({}, _args);
|
|
440
|
+
const original = _args.content;
|
|
414
441
|
let content = args.content;
|
|
415
442
|
for (const hookFn of fns) {
|
|
416
|
-
const result = hookFn(
|
|
443
|
+
const result = hookFn(Object.assign(args, { content, original }));
|
|
417
444
|
if (result !== void 0) {
|
|
418
445
|
content = result;
|
|
419
446
|
}
|
|
420
447
|
}
|
|
421
448
|
return content;
|
|
422
|
-
},
|
|
423
|
-
"codegen:prepare": (fns) => (
|
|
449
|
+
}),
|
|
450
|
+
"codegen:prepare": createReducer((fns) => async (_args) => {
|
|
451
|
+
const args = Object.assign({}, _args);
|
|
452
|
+
const original = _args.artifacts;
|
|
424
453
|
let artifacts = args.artifacts;
|
|
425
454
|
for (const hookFn of fns) {
|
|
426
|
-
const result = hookFn(
|
|
455
|
+
const result = await hookFn(Object.assign(args, { artifacts, original }));
|
|
427
456
|
if (result) {
|
|
428
457
|
artifacts = result;
|
|
429
458
|
}
|
|
430
459
|
}
|
|
431
460
|
return artifacts;
|
|
432
|
-
}
|
|
461
|
+
})
|
|
433
462
|
};
|
|
434
463
|
var syncHooks = ["context:created", "parser:before", "parser:after", "cssgen:done"];
|
|
435
464
|
var callAllAsync = (...fns) => async (...a) => {
|
|
@@ -451,57 +480,12 @@ var tryCatch = (name, fn) => {
|
|
|
451
480
|
};
|
|
452
481
|
};
|
|
453
482
|
|
|
454
|
-
// src/utils.ts
|
|
455
|
-
var import_shared4 = require("@pandacss/shared");
|
|
456
|
-
var isObject = (v) => Object.prototype.toString.call(v) === "[object Object]";
|
|
457
|
-
function mergeWith(target, ...sources) {
|
|
458
|
-
const customizer = sources.pop();
|
|
459
|
-
for (const source of sources) {
|
|
460
|
-
for (const key in source) {
|
|
461
|
-
const merged = customizer(target[key], source[key]);
|
|
462
|
-
if (merged === void 0) {
|
|
463
|
-
if (isObject(target[key]) && isObject(source[key])) {
|
|
464
|
-
target[key] = mergeWith({}, target[key], source[key], customizer);
|
|
465
|
-
} else {
|
|
466
|
-
target[key] = source[key];
|
|
467
|
-
}
|
|
468
|
-
} else {
|
|
469
|
-
target[key] = merged;
|
|
470
|
-
}
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
return target;
|
|
474
|
-
}
|
|
475
|
-
function assign(target, ...sources) {
|
|
476
|
-
for (const source of sources) {
|
|
477
|
-
for (const key in source) {
|
|
478
|
-
if (!target?.hasOwnProperty?.(key)) {
|
|
479
|
-
target[key] = source[key];
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
return target;
|
|
484
|
-
}
|
|
485
|
-
var omit = (obj, paths) => {
|
|
486
|
-
const result = { ...obj };
|
|
487
|
-
(0, import_shared4.traverse)(obj, ({ path: path2, parent, key }) => {
|
|
488
|
-
if (paths.includes(path2)) {
|
|
489
|
-
delete parent[key];
|
|
490
|
-
}
|
|
491
|
-
});
|
|
492
|
-
return result;
|
|
493
|
-
};
|
|
494
|
-
var utils = {
|
|
495
|
-
omit,
|
|
496
|
-
traverse: import_shared4.traverse
|
|
497
|
-
};
|
|
498
|
-
|
|
499
483
|
// src/merge-config.ts
|
|
500
484
|
function getExtends(items) {
|
|
501
485
|
return items.reduce((merged, { extend }) => {
|
|
502
486
|
if (!extend)
|
|
503
487
|
return merged;
|
|
504
|
-
return mergeWith(merged, extend, (originalValue, newValue) => {
|
|
488
|
+
return (0, import_shared4.mergeWith)(merged, extend, (originalValue, newValue) => {
|
|
505
489
|
if (newValue === void 0) {
|
|
506
490
|
return originalValue ?? [];
|
|
507
491
|
}
|
|
@@ -517,13 +501,13 @@ function getExtends(items) {
|
|
|
517
501
|
}
|
|
518
502
|
function mergeRecords(records) {
|
|
519
503
|
return {
|
|
520
|
-
...records.reduce((acc, record) => assign(acc, record), {}),
|
|
504
|
+
...records.reduce((acc, record) => (0, import_shared4.assign)(acc, record), {}),
|
|
521
505
|
extend: getExtends(records)
|
|
522
506
|
};
|
|
523
507
|
}
|
|
524
508
|
function mergeExtensions(records) {
|
|
525
509
|
const { extend = [], ...restProps } = mergeRecords(records);
|
|
526
|
-
return mergeWith(restProps, extend, (obj, extensions) => {
|
|
510
|
+
return (0, import_shared4.mergeWith)(restProps, extend, (obj, extensions) => {
|
|
527
511
|
return (0, import_merge_anything.mergeAndConcat)({}, obj, ...extensions);
|
|
528
512
|
});
|
|
529
513
|
}
|
|
@@ -536,25 +520,45 @@ var compact = (obj) => {
|
|
|
536
520
|
return acc;
|
|
537
521
|
}, {});
|
|
538
522
|
};
|
|
523
|
+
var tokenKeys = ["description", "extensions", "type", "value"];
|
|
539
524
|
function mergeConfigs(configs2) {
|
|
540
525
|
const [userConfig] = configs2;
|
|
541
526
|
const pluginHooks = userConfig.plugins ?? [];
|
|
542
527
|
if (userConfig.hooks) {
|
|
543
528
|
pluginHooks.push({ name: "__panda.config__", hooks: userConfig.hooks });
|
|
544
529
|
}
|
|
545
|
-
const mergedResult = assign(
|
|
530
|
+
const mergedResult = (0, import_shared4.assign)(
|
|
546
531
|
{
|
|
547
532
|
conditions: mergeExtensions(configs2.map((config) => config.conditions ?? {})),
|
|
548
533
|
theme: mergeExtensions(configs2.map((config) => config.theme ?? {})),
|
|
549
534
|
patterns: mergeExtensions(configs2.map((config) => config.patterns ?? {})),
|
|
550
535
|
utilities: mergeExtensions(configs2.map((config) => config.utilities ?? {})),
|
|
551
536
|
globalCss: mergeExtensions(configs2.map((config) => config.globalCss ?? {})),
|
|
537
|
+
globalVars: mergeExtensions(configs2.map((config) => config.globalVars ?? {})),
|
|
552
538
|
staticCss: mergeExtensions(configs2.map((config) => config.staticCss ?? {})),
|
|
539
|
+
themes: mergeExtensions(configs2.map((config) => config.themes ?? {})),
|
|
553
540
|
hooks: mergeHooks(pluginHooks)
|
|
554
541
|
},
|
|
555
542
|
...configs2
|
|
556
543
|
);
|
|
557
|
-
|
|
544
|
+
const withoutEmpty = compact(mergedResult);
|
|
545
|
+
if (withoutEmpty.theme?.tokens) {
|
|
546
|
+
(0, import_shared4.traverse)(withoutEmpty.theme.tokens, (args) => args, {
|
|
547
|
+
stop(args) {
|
|
548
|
+
if ((0, import_shared4.isObject)(args.value) && "value" in args.value) {
|
|
549
|
+
const keys = Object.keys(args.value);
|
|
550
|
+
if (keys.filter((k) => !tokenKeys.includes(k)).length) {
|
|
551
|
+
const { type: _type, description: _description, extensions: _extensions, value, DEFAULT } = args.value;
|
|
552
|
+
args.value.DEFAULT = { value: DEFAULT?.value ?? value };
|
|
553
|
+
delete args.value.value;
|
|
554
|
+
}
|
|
555
|
+
return true;
|
|
556
|
+
}
|
|
557
|
+
return false;
|
|
558
|
+
}
|
|
559
|
+
});
|
|
560
|
+
}
|
|
561
|
+
return withoutEmpty;
|
|
558
562
|
}
|
|
559
563
|
|
|
560
564
|
// src/get-resolved-config.ts
|
|
@@ -862,6 +866,10 @@ ${Array.from(warnings).map((err) => "- " + err).join("\n")}
|
|
|
862
866
|
};
|
|
863
867
|
|
|
864
868
|
// src/resolve-config.ts
|
|
869
|
+
var hookUtils = {
|
|
870
|
+
omit: import_shared9.omit,
|
|
871
|
+
traverse: import_shared9.traverse
|
|
872
|
+
};
|
|
865
873
|
async function resolveConfig(result, cwd) {
|
|
866
874
|
const presets = /* @__PURE__ */ new Set();
|
|
867
875
|
if (!result.config.eject) {
|
|
@@ -890,7 +898,7 @@ async function resolveConfig(result, cwd) {
|
|
|
890
898
|
config: loadConfigResult.config,
|
|
891
899
|
path: loadConfigResult.path,
|
|
892
900
|
dependencies: loadConfigResult.dependencies,
|
|
893
|
-
utils
|
|
901
|
+
utils: hookUtils
|
|
894
902
|
});
|
|
895
903
|
if (result2) {
|
|
896
904
|
loadConfigResult.config = result2;
|
package/dist/index.mjs
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
|
-
mergeConfigs
|
|
3
|
-
|
|
4
|
-
} from "./chunk-MT2A5AKG.mjs";
|
|
2
|
+
mergeConfigs
|
|
3
|
+
} from "./chunk-IMFODN4N.mjs";
|
|
5
4
|
import {
|
|
6
5
|
diffConfigs
|
|
7
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-D3CL3VYD.mjs";
|
|
8
7
|
import {
|
|
9
8
|
resolveTsPathPattern
|
|
10
9
|
} from "./chunk-RPIVZP2I.mjs";
|
|
@@ -215,7 +214,7 @@ async function getResolvedConfig(config, cwd) {
|
|
|
215
214
|
|
|
216
215
|
// src/resolve-config.ts
|
|
217
216
|
import { logger as logger3 } from "@pandacss/logger";
|
|
218
|
-
import { parseJson, stringifyJson } from "@pandacss/shared";
|
|
217
|
+
import { omit, parseJson, stringifyJson, traverse } from "@pandacss/shared";
|
|
219
218
|
|
|
220
219
|
// src/bundled-preset.ts
|
|
221
220
|
import { preset as presetBase } from "@pandacss/preset-base";
|
|
@@ -499,6 +498,10 @@ ${Array.from(warnings).map((err) => "- " + err).join("\n")}
|
|
|
499
498
|
};
|
|
500
499
|
|
|
501
500
|
// src/resolve-config.ts
|
|
501
|
+
var hookUtils = {
|
|
502
|
+
omit,
|
|
503
|
+
traverse
|
|
504
|
+
};
|
|
502
505
|
async function resolveConfig(result, cwd) {
|
|
503
506
|
const presets = /* @__PURE__ */ new Set();
|
|
504
507
|
if (!result.config.eject) {
|
|
@@ -527,7 +530,7 @@ async function resolveConfig(result, cwd) {
|
|
|
527
530
|
config: loadConfigResult.config,
|
|
528
531
|
path: loadConfigResult.path,
|
|
529
532
|
dependencies: loadConfigResult.dependencies,
|
|
530
|
-
utils
|
|
533
|
+
utils: hookUtils
|
|
531
534
|
});
|
|
532
535
|
if (result2) {
|
|
533
536
|
loadConfigResult.config = result2;
|
package/dist/merge-config.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Config } from '@pandacss/types';
|
|
1
|
+
import { UserConfig, Config } from '@pandacss/types';
|
|
2
2
|
|
|
3
3
|
type Extendable<T> = T & {
|
|
4
4
|
extend?: T;
|
|
@@ -7,6 +7,6 @@ type ExtendableConfig = Extendable<Config>;
|
|
|
7
7
|
/**
|
|
8
8
|
* Merge all configs into a single config
|
|
9
9
|
*/
|
|
10
|
-
declare function mergeConfigs(configs: ExtendableConfig[]):
|
|
10
|
+
declare function mergeConfigs(configs: ExtendableConfig[]): UserConfig;
|
|
11
11
|
|
|
12
12
|
export { mergeConfigs };
|
package/dist/merge-config.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Config } from '@pandacss/types';
|
|
1
|
+
import { UserConfig, Config } from '@pandacss/types';
|
|
2
2
|
|
|
3
3
|
type Extendable<T> = T & {
|
|
4
4
|
extend?: T;
|
|
@@ -7,6 +7,6 @@ type ExtendableConfig = Extendable<Config>;
|
|
|
7
7
|
/**
|
|
8
8
|
* Merge all configs into a single config
|
|
9
9
|
*/
|
|
10
|
-
declare function mergeConfigs(configs: ExtendableConfig[]):
|
|
10
|
+
declare function mergeConfigs(configs: ExtendableConfig[]): UserConfig;
|
|
11
11
|
|
|
12
12
|
export { mergeConfigs };
|
package/dist/merge-config.js
CHANGED
|
@@ -23,6 +23,7 @@ __export(merge_config_exports, {
|
|
|
23
23
|
mergeConfigs: () => mergeConfigs
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(merge_config_exports);
|
|
26
|
+
var import_shared = require("@pandacss/shared");
|
|
26
27
|
var import_merge_anything = require("merge-anything");
|
|
27
28
|
|
|
28
29
|
// src/merge-hooks.ts
|
|
@@ -40,38 +41,65 @@ var mergeHooks = (plugins) => {
|
|
|
40
41
|
const mergedHooks = Object.fromEntries(
|
|
41
42
|
Object.entries(hooksFns).map(([key, entries]) => {
|
|
42
43
|
const fns = entries.map(([name, fn]) => tryCatch(name, fn));
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (key === "codegen:prepare") {
|
|
47
|
-
return [key, reducers["codegen:prepare"](fns)];
|
|
44
|
+
const reducer = key in reducers ? reducers[key] : void 0;
|
|
45
|
+
if (reducer) {
|
|
46
|
+
return [key, reducer(fns)];
|
|
48
47
|
}
|
|
49
48
|
return [key, syncHooks.includes(key) ? callAll(...fns) : callAllAsync(...fns)];
|
|
50
49
|
})
|
|
51
50
|
);
|
|
52
51
|
return mergedHooks;
|
|
53
52
|
};
|
|
53
|
+
var createReducer = (reducer) => reducer;
|
|
54
54
|
var reducers = {
|
|
55
|
-
"
|
|
55
|
+
"config:resolved": createReducer((fns) => async (_args) => {
|
|
56
|
+
const args = Object.assign({}, _args);
|
|
57
|
+
const original = _args.config;
|
|
58
|
+
let config = args.config;
|
|
59
|
+
for (const hookFn of fns) {
|
|
60
|
+
const result = await hookFn(Object.assign(args, { config, original }));
|
|
61
|
+
if (result !== void 0) {
|
|
62
|
+
config = result;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return config;
|
|
66
|
+
}),
|
|
67
|
+
"parser:before": createReducer((fns) => (_args) => {
|
|
68
|
+
const args = Object.assign({}, _args);
|
|
69
|
+
const original = _args.content;
|
|
56
70
|
let content = args.content;
|
|
57
71
|
for (const hookFn of fns) {
|
|
58
|
-
const result = hookFn(
|
|
72
|
+
const result = hookFn(Object.assign(args, { content, original }));
|
|
59
73
|
if (result !== void 0) {
|
|
60
74
|
content = result;
|
|
61
75
|
}
|
|
62
76
|
}
|
|
63
77
|
return content;
|
|
64
|
-
},
|
|
65
|
-
"
|
|
78
|
+
}),
|
|
79
|
+
"cssgen:done": createReducer((fns) => (_args) => {
|
|
80
|
+
const args = Object.assign({}, _args);
|
|
81
|
+
const original = _args.content;
|
|
82
|
+
let content = args.content;
|
|
83
|
+
for (const hookFn of fns) {
|
|
84
|
+
const result = hookFn(Object.assign(args, { content, original }));
|
|
85
|
+
if (result !== void 0) {
|
|
86
|
+
content = result;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return content;
|
|
90
|
+
}),
|
|
91
|
+
"codegen:prepare": createReducer((fns) => async (_args) => {
|
|
92
|
+
const args = Object.assign({}, _args);
|
|
93
|
+
const original = _args.artifacts;
|
|
66
94
|
let artifacts = args.artifacts;
|
|
67
95
|
for (const hookFn of fns) {
|
|
68
|
-
const result = hookFn(
|
|
96
|
+
const result = await hookFn(Object.assign(args, { artifacts, original }));
|
|
69
97
|
if (result) {
|
|
70
98
|
artifacts = result;
|
|
71
99
|
}
|
|
72
100
|
}
|
|
73
101
|
return artifacts;
|
|
74
|
-
}
|
|
102
|
+
})
|
|
75
103
|
};
|
|
76
104
|
var syncHooks = ["context:created", "parser:before", "parser:after", "cssgen:done"];
|
|
77
105
|
var callAllAsync = (...fns) => async (...a) => {
|
|
@@ -93,44 +121,12 @@ var tryCatch = (name, fn) => {
|
|
|
93
121
|
};
|
|
94
122
|
};
|
|
95
123
|
|
|
96
|
-
// src/utils.ts
|
|
97
|
-
var import_shared = require("@pandacss/shared");
|
|
98
|
-
var isObject = (v) => Object.prototype.toString.call(v) === "[object Object]";
|
|
99
|
-
function mergeWith(target, ...sources) {
|
|
100
|
-
const customizer = sources.pop();
|
|
101
|
-
for (const source of sources) {
|
|
102
|
-
for (const key in source) {
|
|
103
|
-
const merged = customizer(target[key], source[key]);
|
|
104
|
-
if (merged === void 0) {
|
|
105
|
-
if (isObject(target[key]) && isObject(source[key])) {
|
|
106
|
-
target[key] = mergeWith({}, target[key], source[key], customizer);
|
|
107
|
-
} else {
|
|
108
|
-
target[key] = source[key];
|
|
109
|
-
}
|
|
110
|
-
} else {
|
|
111
|
-
target[key] = merged;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
return target;
|
|
116
|
-
}
|
|
117
|
-
function assign(target, ...sources) {
|
|
118
|
-
for (const source of sources) {
|
|
119
|
-
for (const key in source) {
|
|
120
|
-
if (!target?.hasOwnProperty?.(key)) {
|
|
121
|
-
target[key] = source[key];
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
return target;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
124
|
// src/merge-config.ts
|
|
129
125
|
function getExtends(items) {
|
|
130
126
|
return items.reduce((merged, { extend }) => {
|
|
131
127
|
if (!extend)
|
|
132
128
|
return merged;
|
|
133
|
-
return mergeWith(merged, extend, (originalValue, newValue) => {
|
|
129
|
+
return (0, import_shared.mergeWith)(merged, extend, (originalValue, newValue) => {
|
|
134
130
|
if (newValue === void 0) {
|
|
135
131
|
return originalValue ?? [];
|
|
136
132
|
}
|
|
@@ -146,13 +142,13 @@ function getExtends(items) {
|
|
|
146
142
|
}
|
|
147
143
|
function mergeRecords(records) {
|
|
148
144
|
return {
|
|
149
|
-
...records.reduce((acc, record) => assign(acc, record), {}),
|
|
145
|
+
...records.reduce((acc, record) => (0, import_shared.assign)(acc, record), {}),
|
|
150
146
|
extend: getExtends(records)
|
|
151
147
|
};
|
|
152
148
|
}
|
|
153
149
|
function mergeExtensions(records) {
|
|
154
150
|
const { extend = [], ...restProps } = mergeRecords(records);
|
|
155
|
-
return mergeWith(restProps, extend, (obj, extensions) => {
|
|
151
|
+
return (0, import_shared.mergeWith)(restProps, extend, (obj, extensions) => {
|
|
156
152
|
return (0, import_merge_anything.mergeAndConcat)({}, obj, ...extensions);
|
|
157
153
|
});
|
|
158
154
|
}
|
|
@@ -165,25 +161,45 @@ var compact = (obj) => {
|
|
|
165
161
|
return acc;
|
|
166
162
|
}, {});
|
|
167
163
|
};
|
|
164
|
+
var tokenKeys = ["description", "extensions", "type", "value"];
|
|
168
165
|
function mergeConfigs(configs) {
|
|
169
166
|
const [userConfig] = configs;
|
|
170
167
|
const pluginHooks = userConfig.plugins ?? [];
|
|
171
168
|
if (userConfig.hooks) {
|
|
172
169
|
pluginHooks.push({ name: "__panda.config__", hooks: userConfig.hooks });
|
|
173
170
|
}
|
|
174
|
-
const mergedResult = assign(
|
|
171
|
+
const mergedResult = (0, import_shared.assign)(
|
|
175
172
|
{
|
|
176
173
|
conditions: mergeExtensions(configs.map((config) => config.conditions ?? {})),
|
|
177
174
|
theme: mergeExtensions(configs.map((config) => config.theme ?? {})),
|
|
178
175
|
patterns: mergeExtensions(configs.map((config) => config.patterns ?? {})),
|
|
179
176
|
utilities: mergeExtensions(configs.map((config) => config.utilities ?? {})),
|
|
180
177
|
globalCss: mergeExtensions(configs.map((config) => config.globalCss ?? {})),
|
|
178
|
+
globalVars: mergeExtensions(configs.map((config) => config.globalVars ?? {})),
|
|
181
179
|
staticCss: mergeExtensions(configs.map((config) => config.staticCss ?? {})),
|
|
180
|
+
themes: mergeExtensions(configs.map((config) => config.themes ?? {})),
|
|
182
181
|
hooks: mergeHooks(pluginHooks)
|
|
183
182
|
},
|
|
184
183
|
...configs
|
|
185
184
|
);
|
|
186
|
-
|
|
185
|
+
const withoutEmpty = compact(mergedResult);
|
|
186
|
+
if (withoutEmpty.theme?.tokens) {
|
|
187
|
+
(0, import_shared.traverse)(withoutEmpty.theme.tokens, (args) => args, {
|
|
188
|
+
stop(args) {
|
|
189
|
+
if ((0, import_shared.isObject)(args.value) && "value" in args.value) {
|
|
190
|
+
const keys = Object.keys(args.value);
|
|
191
|
+
if (keys.filter((k) => !tokenKeys.includes(k)).length) {
|
|
192
|
+
const { type: _type, description: _description, extensions: _extensions, value, DEFAULT } = args.value;
|
|
193
|
+
args.value.DEFAULT = { value: DEFAULT?.value ?? value };
|
|
194
|
+
delete args.value.value;
|
|
195
|
+
}
|
|
196
|
+
return true;
|
|
197
|
+
}
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
return withoutEmpty;
|
|
187
203
|
}
|
|
188
204
|
// Annotate the CommonJS export names for ESM import in node:
|
|
189
205
|
0 && (module.exports = {
|
package/dist/merge-config.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pandacss/config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.36.0",
|
|
4
4
|
"description": "Find and load panda config",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -53,6 +53,15 @@
|
|
|
53
53
|
"default": "./dist/resolve-ts-path-pattern.mjs"
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
|
+
"./utils": {
|
|
57
|
+
"source": "./src/utils.ts",
|
|
58
|
+
"types": "./dist/utils.d.ts",
|
|
59
|
+
"require": "./dist/utils.js",
|
|
60
|
+
"import": {
|
|
61
|
+
"types": "./dist/utils.d.mts",
|
|
62
|
+
"default": "./dist/utils.mjs"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
56
65
|
"./package.json": "./package.json"
|
|
57
66
|
},
|
|
58
67
|
"files": [
|
|
@@ -64,11 +73,11 @@
|
|
|
64
73
|
"merge-anything": "5.1.7",
|
|
65
74
|
"microdiff": "1.3.2",
|
|
66
75
|
"typescript": "5.3.3",
|
|
67
|
-
"@pandacss/logger": "0.
|
|
68
|
-
"@pandacss/preset-base": "0.
|
|
69
|
-
"@pandacss/preset-panda": "0.
|
|
70
|
-
"@pandacss/shared": "0.
|
|
71
|
-
"@pandacss/types": "0.
|
|
76
|
+
"@pandacss/logger": "0.36.0",
|
|
77
|
+
"@pandacss/preset-base": "0.36.0",
|
|
78
|
+
"@pandacss/preset-panda": "0.36.0",
|
|
79
|
+
"@pandacss/shared": "0.36.0",
|
|
80
|
+
"@pandacss/types": "0.36.0"
|
|
72
81
|
},
|
|
73
82
|
"devDependencies": {
|
|
74
83
|
"pkg-types": "1.0.3"
|