2024-05-13 03:12:58 -05:00
|
|
|
import { PenpotFile } from '@ui/lib/types/penpotFile';
|
2024-05-06 01:06:14 -05:00
|
|
|
import { GroupShape } from '@ui/lib/types/shapes/groupShape';
|
2024-05-30 10:54:37 -05:00
|
|
|
import { parseFigmaId } from '@ui/parser';
|
2024-05-29 05:52:21 -05:00
|
|
|
import { symbolBlendMode } from '@ui/parser/creators/symbols';
|
2024-04-12 09:52:36 -05:00
|
|
|
|
2024-05-29 05:52:21 -05:00
|
|
|
import { createItems } from '.';
|
2024-04-08 10:50:01 -05:00
|
|
|
|
2024-05-29 05:52:21 -05:00
|
|
|
export const createGroup = (
|
2024-04-12 06:55:42 -05:00
|
|
|
file: PenpotFile,
|
2024-05-30 10:54:37 -05:00
|
|
|
{ type, blendMode, children = [], figmaId, figmaRelatedId, ...rest }: GroupShape
|
2024-04-08 10:50:01 -05:00
|
|
|
) => {
|
2024-04-12 06:55:42 -05:00
|
|
|
file.addGroup({
|
2024-05-30 10:54:37 -05:00
|
|
|
id: parseFigmaId(file, figmaId),
|
|
|
|
shapeRef: parseFigmaId(file, figmaRelatedId, true),
|
2024-05-29 05:52:21 -05:00
|
|
|
blendMode: symbolBlendMode(blendMode),
|
2024-04-12 06:55:42 -05:00
|
|
|
...rest
|
2024-04-10 06:14:12 -05:00
|
|
|
});
|
|
|
|
|
2024-05-29 05:52:21 -05:00
|
|
|
createItems(file, children);
|
2024-04-10 06:14:12 -05:00
|
|
|
|
2024-04-12 06:55:42 -05:00
|
|
|
file.closeGroup();
|
2024-04-08 10:50:01 -05:00
|
|
|
};
|