mirror of
https://github.com/penpot/penpot-exporter-figma-plugin.git
synced 2025-01-10 17:10:06 -05:00
d3c144e5e9
* color library * fixes * wip * wip * wip * wip * working * improvements * changeset * changeset * changeset & cleaning * changeset & cleaning * improvements * fixes * rebase
48 lines
1 KiB
TypeScript
48 lines
1 KiB
TypeScript
import { sleep } from '@plugin/utils/sleep';
|
|
|
|
import { sendMessage } from '@ui/context';
|
|
import { PenpotFile } from '@ui/lib/types/penpotFile';
|
|
import { PenpotPage } from '@ui/lib/types/penpotPage';
|
|
import { idLibrary } from '@ui/parser';
|
|
import {
|
|
createColorsLibrary,
|
|
createComponentsLibrary,
|
|
createPage,
|
|
createTextLibrary
|
|
} from '@ui/parser/creators';
|
|
import { uiComponents } from '@ui/parser/libraries';
|
|
|
|
export const buildFile = async (file: PenpotFile, children: PenpotPage[]) => {
|
|
let pagesBuilt = 1;
|
|
|
|
uiComponents.init();
|
|
idLibrary.init();
|
|
|
|
sendMessage({
|
|
type: 'PROGRESS_TOTAL_ITEMS',
|
|
data: children.length
|
|
});
|
|
|
|
sendMessage({
|
|
type: 'PROGRESS_STEP',
|
|
data: 'building'
|
|
});
|
|
|
|
for (const page of children) {
|
|
await createPage(file, page);
|
|
|
|
sendMessage({
|
|
type: 'PROGRESS_PROCESSED_ITEMS',
|
|
data: pagesBuilt++
|
|
});
|
|
|
|
await sleep(0);
|
|
}
|
|
|
|
await createColorsLibrary(file);
|
|
await createTextLibrary(file);
|
|
|
|
await createComponentsLibrary(file);
|
|
|
|
return file;
|
|
};
|