/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e634e55 | Cube Dev Team */
//#region src/tasty/parser/types.ts
let Bucket = /* @__PURE__ */ function(Bucket) {
	Bucket[Bucket["Color"] = 0] = "Color";
	Bucket[Bucket["Value"] = 1] = "Value";
	Bucket[Bucket["Mod"] = 2] = "Mod";
	return Bucket;
}({});
const makeEmptyPart = () => ({
	mods: [],
	values: [],
	colors: [],
	all: [],
	output: ""
});
const makeEmptyDetails = () => ({
	input: "",
	output: "",
	mods: [],
	values: [],
	colors: [],
	all: [],
	parts: []
});
const finalizePart = (p) => {
	p.output = p.all.join(" ");
	return p;
};
/**
* Aggregate parts into a StyleDetails group.
* Combines all parts' arrays into group-level arrays for backward compatibility.
*/
const finalizeGroup = (d, parts) => {
	d.parts = parts;
	for (const part of parts) {
		d.mods.push(...part.mods);
		d.values.push(...part.values);
		d.colors.push(...part.colors);
		d.all.push(...part.all);
	}
	d.output = parts.map((p) => p.output).join(" / ");
	return d;
};

//#endregion
export { Bucket, finalizeGroup, finalizePart, makeEmptyDetails, makeEmptyPart };
//# sourceMappingURL=types.js.map