2024-05-29 05:52:21 -05:00
|
|
|
import { PenpotFile } from '@ui/lib/types/penpotFile';
|
|
|
|
import { PathShape } from '@ui/lib/types/shapes/pathShape';
|
2024-05-30 10:54:37 -05:00
|
|
|
import { parseFigmaId } from '@ui/parser';
|
2024-06-28 05:17:56 -05:00
|
|
|
import {
|
|
|
|
symbolFills,
|
|
|
|
symbolPathContent,
|
|
|
|
symbolStrokes,
|
|
|
|
symbolTouched
|
|
|
|
} from '@ui/parser/creators/symbols';
|
2024-05-29 05:52:21 -05:00
|
|
|
|
|
|
|
export const createPath = (
|
|
|
|
file: PenpotFile,
|
2024-06-18 04:20:51 -05:00
|
|
|
{ type, figmaId, figmaRelatedId, ...shape }: PathShape
|
2024-05-29 05:52:21 -05:00
|
|
|
) => {
|
2024-06-18 04:20:51 -05:00
|
|
|
shape.id = parseFigmaId(file, figmaId);
|
|
|
|
shape.shapeRef = parseFigmaId(file, figmaRelatedId, true);
|
2024-06-19 08:58:13 -05:00
|
|
|
shape.fills = symbolFills(shape.fillStyleId, shape.fills);
|
2024-06-18 04:20:51 -05:00
|
|
|
shape.strokes = symbolStrokes(shape.strokes);
|
|
|
|
shape.content = symbolPathContent(shape.content);
|
2024-06-28 05:17:56 -05:00
|
|
|
shape.touched = symbolTouched(
|
|
|
|
!shape.hidden,
|
|
|
|
undefined,
|
|
|
|
shape.touched,
|
|
|
|
shape.componentPropertyReferences
|
|
|
|
);
|
2024-06-18 04:20:51 -05:00
|
|
|
|
|
|
|
file.createPath(shape);
|
2024-05-29 05:52:21 -05:00
|
|
|
};
|