0
Fork 0
mirror of https://github.com/penpot/penpot-exporter-figma-plugin.git synced 2024-12-22 13:43:03 -05:00
penpot-exporter-figma-plugin/plugin-src/transformers/transformComponentNode.ts
Jordi Sala Morales 32aafbcf9d
Implement components (#106)
* Implement components

* fix

* revert

* wip

* wip

* wip

* 🎉 Finish create component operation

* minor fixes

* not needed, refactor

* refactor not needed

* refactor not needed

* remove deps

* add changelog

* fixes

* fixes

* fixes

* fix lint

* refactor ui-src

* further refactor

* refactor

* refactor

* more refactor

* refactor

* refactor

* penpot lib update

---------

Co-authored-by: Alex Sánchez <sion333@gmail.com>
Co-authored-by: Andrés Moya <andres.moya@kaleidos.net>
2024-05-29 12:52:21 +02:00

34 lines
945 B
TypeScript

import {
transformBlend,
transformCornerRadius,
transformDimensionAndPosition,
transformEffects,
transformFills,
transformProportion,
transformSceneNode,
transformStrokes
} from '@plugin/transformers/partials';
import { transformChildren } from '@plugin/transformers/partials';
import { ComponentShape } from '@ui/lib/types/shapes/componentShape';
export const transformComponentNode = async (
node: ComponentNode,
baseX: number,
baseY: number
): Promise<ComponentShape> => {
return {
type: 'component',
name: node.name,
path: '',
...(await transformFills(node)),
...transformEffects(node),
...(await transformStrokes(node)),
...transformSceneNode(node),
...transformBlend(node),
...transformProportion(node),
...transformCornerRadius(node),
...(await transformChildren(node, baseX + node.x, baseY + node.y)),
...transformDimensionAndPosition(node, baseX, baseY)
};
};