@dxtmisha/figma-code 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/LICENSE +21 -0
- package/README.md +73 -0
- package/ai-description.txt +1 -0
- package/ai-doc.ru.txt +12 -0
- package/ai-doc.txt +12 -0
- package/ai-types.txt +288 -0
- package/dist/classes/FigmaAiText.d.ts +10 -0
- package/dist/classes/FigmaClientStorage.d.ts +61 -0
- package/dist/classes/FigmaFrame.d.ts +167 -0
- package/dist/classes/FigmaFramesSelected.d.ts +75 -0
- package/dist/classes/FigmaItem.d.ts +223 -0
- package/dist/classes/FigmaPluginMessenger.d.ts +29 -0
- package/dist/classes/FigmaStorage.d.ts +74 -0
- package/dist/classes/FigmaStorageData.d.ts +117 -0
- package/dist/classes/FigmaTopLevelFrames.d.ts +32 -0
- package/dist/config.d.ts +3 -0
- package/dist/functions/getFigmaFrameById.d.ts +10 -0
- package/dist/functions/getFigmaItemById.d.ts +9 -0
- package/dist/functions/getFigmaItemByIdOrRoot.d.ts +8 -0
- package/dist/functions/makeFigmaFrameSelection.d.ts +6 -0
- package/dist/functions/makeFigmaTexts.d.ts +6 -0
- package/dist/functions/setupClientStorage.d.ts +6 -0
- package/dist/functions/setupFrameSelection.d.ts +12 -0
- package/dist/functions/setupFrameStyles.d.ts +6 -0
- package/dist/functions/setupStorage.d.ts +6 -0
- package/dist/functions/toFrameSelection.d.ts +6 -0
- package/dist/library.d.ts +19 -0
- package/dist/library.js +546 -0
- package/dist/media/prompt/text.ru.d.ts +2 -0
- package/dist/types/figmaTypes.d.ts +33 -0
- package/package.json +62 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { UiFigmaFramesList, UiFigmaFrameStylesCssList, UiFigmaFrameStylesList } from '@dxtmisha/figma';
|
|
2
|
+
import { FigmaItem } from './FigmaItem';
|
|
3
|
+
import { UiFigmaItemText, UiFigmaNode } from '../types/figmaTypes';
|
|
4
|
+
/**
|
|
5
|
+
* Class for working with Figma frames and their elements.
|
|
6
|
+
*
|
|
7
|
+
* Класс для работы с фреймами Figma и их элементами.
|
|
8
|
+
*/
|
|
9
|
+
export declare class FigmaFrame {
|
|
10
|
+
protected readonly page: UiFigmaNode;
|
|
11
|
+
protected readonly selection: boolean;
|
|
12
|
+
/** List of main Figma items/ Список основных элементов Figma */
|
|
13
|
+
protected mainItem: FigmaItem[];
|
|
14
|
+
/**
|
|
15
|
+
* List of all Figma items.
|
|
16
|
+
*
|
|
17
|
+
* Список всех элементов Figma.
|
|
18
|
+
*/
|
|
19
|
+
protected items: FigmaItem[];
|
|
20
|
+
/**
|
|
21
|
+
* Constructor
|
|
22
|
+
* @param page Figma page or node / страница или узел Figma
|
|
23
|
+
* @param selection whether to use the current selection or the entire page / использовать текущее выделение или всю страницу
|
|
24
|
+
*/
|
|
25
|
+
constructor(page: UiFigmaNode, selection?: boolean);
|
|
26
|
+
/**
|
|
27
|
+
* Checks if the current context is a selection.
|
|
28
|
+
*
|
|
29
|
+
* Проверяет, является ли текущий контекст выделением.
|
|
30
|
+
* @returns true if the context is a selection / true, если контекст является выделением
|
|
31
|
+
*/
|
|
32
|
+
isSelection(): this is {
|
|
33
|
+
page: PageNode;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Returns all frame items.
|
|
37
|
+
*
|
|
38
|
+
* Возвращает все элементы-фреймы.
|
|
39
|
+
* @returns list of frame items / список элементов-фреймов
|
|
40
|
+
*/
|
|
41
|
+
getItemsFrame(): FigmaItem<FrameNode>[];
|
|
42
|
+
/**
|
|
43
|
+
* Returns all section items.
|
|
44
|
+
*
|
|
45
|
+
* Возвращает все элементы-секции.
|
|
46
|
+
* @returns list of section items / список элементов-секций
|
|
47
|
+
*/
|
|
48
|
+
getItemsSection(): FigmaItem<SectionNode>[];
|
|
49
|
+
/**
|
|
50
|
+
* Returns all text items.
|
|
51
|
+
*
|
|
52
|
+
* Возвращает все текстовые элементы.
|
|
53
|
+
* @returns list of text items / список текстовых элементов
|
|
54
|
+
*/
|
|
55
|
+
getItemsText(): FigmaItem<TextNode>[];
|
|
56
|
+
/**
|
|
57
|
+
* Returns a list of frames with their names, IDs, and screenshots.
|
|
58
|
+
*
|
|
59
|
+
* Возвращает список фреймов с их названиями, идентификаторами и скриншотами.
|
|
60
|
+
* @returns promise with frame information list / промис со списком информации о фреймах
|
|
61
|
+
*/
|
|
62
|
+
getItemsInfo(): Promise<UiFigmaFramesList>;
|
|
63
|
+
/**
|
|
64
|
+
* Returns CSS styles for all items.
|
|
65
|
+
*
|
|
66
|
+
* Возвращает CSS-стили для всех элементов.
|
|
67
|
+
* @returns promise with CSS styles list / промис со списком CSS-стилей
|
|
68
|
+
*/
|
|
69
|
+
getItemsCss(): Promise<UiFigmaFrameStylesCssList>;
|
|
70
|
+
/**
|
|
71
|
+
* Returns a list of frames with their styles.
|
|
72
|
+
*
|
|
73
|
+
* Возвращает список фреймов с их стилями.
|
|
74
|
+
* @returns promise with frame styles list / промис со списком стилей фреймов
|
|
75
|
+
*/
|
|
76
|
+
getItemsStyles(): Promise<UiFigmaFrameStylesList>;
|
|
77
|
+
/**
|
|
78
|
+
* Returns main frames from the root node.
|
|
79
|
+
*
|
|
80
|
+
* Возвращает основные фреймы из корневого узла.
|
|
81
|
+
* @returns list of main frame items / список основных элементов-фреймов
|
|
82
|
+
*/
|
|
83
|
+
getMainFrames(): FigmaItem[];
|
|
84
|
+
/**
|
|
85
|
+
* Returns a list of frames with their names, IDs, and screenshots.
|
|
86
|
+
*
|
|
87
|
+
* Возвращает список фреймов с их названиями, идентификаторами и скриншотами.
|
|
88
|
+
* @returns promise with frame information list / промис со списком информации о фреймах
|
|
89
|
+
*/
|
|
90
|
+
getMainItemsInfo(): Promise<UiFigmaFramesList>;
|
|
91
|
+
/**
|
|
92
|
+
* Returns a list of main frames with their styles.
|
|
93
|
+
*
|
|
94
|
+
* Возвращает список основных фреймов с их стилями.
|
|
95
|
+
* @returns promise with frame styles list / промис со списком стилей фреймов
|
|
96
|
+
*/
|
|
97
|
+
getMainItemsStyles(): Promise<UiFigmaFrameStylesList>;
|
|
98
|
+
/**
|
|
99
|
+
* Returns all text nodes with their IDs grouped by text content.
|
|
100
|
+
*
|
|
101
|
+
* Возвращает все текстовые узлы с их идентификаторами, сгруппированные по текстовому содержимому.
|
|
102
|
+
* @returns list of grouped text items / список сгруппированных текстовых элементов
|
|
103
|
+
*/
|
|
104
|
+
getTexts(): UiFigmaItemText[];
|
|
105
|
+
/**
|
|
106
|
+
* Takes screenshots of the main items.
|
|
107
|
+
*
|
|
108
|
+
* Делает скриншоты основных элементов.
|
|
109
|
+
* @returns promise with list of screenshots as Uint8Array / промис со списком скриншотов в формате Uint8Array
|
|
110
|
+
*/
|
|
111
|
+
screenshot(): Promise<Uint8Array<ArrayBufferLike>[]>;
|
|
112
|
+
/**
|
|
113
|
+
* Returns information about the specified items.
|
|
114
|
+
*
|
|
115
|
+
* Возвращает информацию об указанных элементах.
|
|
116
|
+
* @param items list of items / список элементов
|
|
117
|
+
* @returns promise with information list / промис со списком информации
|
|
118
|
+
*/
|
|
119
|
+
protected getInfoByItems(items: FigmaItem[]): Promise<UiFigmaFramesList>;
|
|
120
|
+
/**
|
|
121
|
+
* Returns styles for the specified items.
|
|
122
|
+
*
|
|
123
|
+
* Возвращает стили для указанных элементов.
|
|
124
|
+
* @param items list of items / список элементов
|
|
125
|
+
* @param subStyle whether to include child styles / нужно ли включать стили дочерних элементов
|
|
126
|
+
* @returns promise with styles list / промис со списком стилей
|
|
127
|
+
*/
|
|
128
|
+
protected getStylesByItems(items: FigmaItem[], subStyle?: boolean): Promise<UiFigmaFrameStylesList>;
|
|
129
|
+
/**
|
|
130
|
+
* Initializes main items based on selection or entire page.
|
|
131
|
+
*
|
|
132
|
+
* Инициализирует основные элементы на основе выделения или всей страницы.
|
|
133
|
+
* @returns list of main Figma items / список основных элементов Figma
|
|
134
|
+
*/
|
|
135
|
+
protected initMain(): FigmaItem<UiFigmaNode>[];
|
|
136
|
+
/**
|
|
137
|
+
* Recursively initializes all items from the page.
|
|
138
|
+
*
|
|
139
|
+
* Рекурсивно инициализирует все элементы со страницы.
|
|
140
|
+
* @param page Figma page or node / страница или узел Figma
|
|
141
|
+
* @returns list of initialized Figma items / список инициализированных элементов Figma
|
|
142
|
+
*/
|
|
143
|
+
protected initItems(page: UiFigmaNode): FigmaItem[];
|
|
144
|
+
/**
|
|
145
|
+
* Initializes items based on the current selection or entire page.
|
|
146
|
+
*
|
|
147
|
+
* Инициализирует элементы на основе текущего выделения или всей страницы.
|
|
148
|
+
* @returns list of initialized Figma items / список инициализированных элементов Figma
|
|
149
|
+
*/
|
|
150
|
+
protected initBySelection(): FigmaItem<UiFigmaNode>[];
|
|
151
|
+
/**
|
|
152
|
+
* Filters items by the specified condition.
|
|
153
|
+
*
|
|
154
|
+
* Фильтрует элементы по указанному условию.
|
|
155
|
+
* @param callback filter function/ функция фильтрации
|
|
156
|
+
* @returns filtered list of items / отфильтрованный список элементов
|
|
157
|
+
*/
|
|
158
|
+
protected filter<R extends UiFigmaNode>(callback: (item: FigmaItem) => boolean): FigmaItem<R>[];
|
|
159
|
+
/**
|
|
160
|
+
* Returns the main (root) item in the hierarchy.
|
|
161
|
+
*
|
|
162
|
+
* Возвращает главный (корневой) элемент в иерархии.
|
|
163
|
+
* @param item starting item / начальный элемент
|
|
164
|
+
* @returns root Figma item / корневой элемент Figma
|
|
165
|
+
*/
|
|
166
|
+
protected toMain(item?: FigmaItem): FigmaItem;
|
|
167
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { FigmaStorage } from './FigmaStorage';
|
|
2
|
+
/**
|
|
3
|
+
* Class for managing and synchronizing the list of selected frames in the Figma plugin.
|
|
4
|
+
*
|
|
5
|
+
* Класс для управления и синхронизации списка выбранных фреймов в плагине Figma.
|
|
6
|
+
*/
|
|
7
|
+
export declare class FigmaFramesSelected {
|
|
8
|
+
/** Storage for persistent selected frames / Хранилище для постоянного списка выбранных фреймов */
|
|
9
|
+
protected static storage: FigmaStorage<string[]>;
|
|
10
|
+
/** Cached list of selected frame IDs / Кэшированный список идентификаторов выбранных фреймов */
|
|
11
|
+
protected static selected: string[] | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Checks if a frame with the given ID is selected.
|
|
14
|
+
*
|
|
15
|
+
* Проверяет, выбран ли фрейм с указанным идентификатором.
|
|
16
|
+
* @param id Frame ID / Идентификатор фрейма
|
|
17
|
+
* @returns `true` if selected / `true`, если выбран
|
|
18
|
+
*/
|
|
19
|
+
static has(id: string): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Retrieves the current list of selected frame IDs, using cache if available.
|
|
22
|
+
*
|
|
23
|
+
* Получает текущий список идентификаторов выбранных фреймов, используя кэш при его наличии.
|
|
24
|
+
* @returns An array of selected frame IDs / Массив идентификаторов выбранных фреймов
|
|
25
|
+
*/
|
|
26
|
+
static get(): string[];
|
|
27
|
+
/**
|
|
28
|
+
* Adds a frame ID to the selection list.
|
|
29
|
+
*
|
|
30
|
+
* Добавляет идентификатор фрейма в список выбора.
|
|
31
|
+
* @param id Frame ID / Идентификатор фрейма
|
|
32
|
+
*/
|
|
33
|
+
static add(id: string): void;
|
|
34
|
+
/**
|
|
35
|
+
* Removes a frame ID from the selection list.
|
|
36
|
+
*
|
|
37
|
+
* Удаляет идентификатор фрейма из списка выбора.
|
|
38
|
+
* @param id Frame ID / Идентификатор фрейма
|
|
39
|
+
*/
|
|
40
|
+
static remove(id: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* Toggles the selection state of a frame.
|
|
43
|
+
*
|
|
44
|
+
* Переключает состояние выбора фрейма.
|
|
45
|
+
* @param id Frame ID / Идентификатор фрейма
|
|
46
|
+
* @param selected Whether to select or deselect / Выбрать или отменить выбор
|
|
47
|
+
*/
|
|
48
|
+
static toggle(id: string, selected: boolean): void;
|
|
49
|
+
/**
|
|
50
|
+
* Sets up communication via the plugin messenger to handle selection state.
|
|
51
|
+
*
|
|
52
|
+
* Настраивает связь через мессенджер плагина для управления состоянием выбора.
|
|
53
|
+
*/
|
|
54
|
+
static send(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Retrieves the raw selection list from storage.
|
|
57
|
+
*
|
|
58
|
+
* Получает необработанный список выбора из хранилища.
|
|
59
|
+
* @returns An array of frame IDs / Массив идентификаторов фреймов
|
|
60
|
+
*/
|
|
61
|
+
protected static getList(): string[];
|
|
62
|
+
/**
|
|
63
|
+
* Updates the selection list in cache and storage.
|
|
64
|
+
*
|
|
65
|
+
* Обновляет список выбора в кэше и хранилище.
|
|
66
|
+
* @param selected New selection list / Новый список выбора
|
|
67
|
+
*/
|
|
68
|
+
protected static set(selected: string[]): void;
|
|
69
|
+
/**
|
|
70
|
+
* Posts the current selection list to the Figma UI.
|
|
71
|
+
*
|
|
72
|
+
* Публикует текущий список выбора в интерфейс Figma.
|
|
73
|
+
*/
|
|
74
|
+
protected static post(): void;
|
|
75
|
+
}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { UiFigmaFramesItem, UiFigmaFrameStylesData, UiFigmaFrameStylesItem, UiFigmaFrameStylesJson } from '@dxtmisha/figma';
|
|
2
|
+
import { UiFigmaExportFormat, UiFigmaNode } from '../types/figmaTypes';
|
|
3
|
+
/**
|
|
4
|
+
* Class for working with Figma nodes.
|
|
5
|
+
*
|
|
6
|
+
* Класс для работы с узлами Figma.
|
|
7
|
+
* @template T type of Figma node/ тип узла Figma
|
|
8
|
+
*/
|
|
9
|
+
export declare class FigmaItem<T extends UiFigmaNode = UiFigmaNode> {
|
|
10
|
+
protected item: T;
|
|
11
|
+
/**
|
|
12
|
+
* Constructor
|
|
13
|
+
* @param item Figma node/ узел Figma
|
|
14
|
+
*/
|
|
15
|
+
constructor(item: T);
|
|
16
|
+
/**
|
|
17
|
+
* Checks if the node is a document.
|
|
18
|
+
*
|
|
19
|
+
* Проверяет, является ли узел документом.
|
|
20
|
+
* @returns true if the node is a document / true, если узел является документом
|
|
21
|
+
*/
|
|
22
|
+
isDocument(): this is {
|
|
23
|
+
item: DocumentNode;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Checks if the node is a frame.
|
|
27
|
+
*
|
|
28
|
+
* Проверяет, является ли узел фреймом.
|
|
29
|
+
* @returns true if the node is a frame / true, если узел является фреймом
|
|
30
|
+
*/
|
|
31
|
+
isFrame(): this is {
|
|
32
|
+
item: FrameNode;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Checks if the node is a section.
|
|
36
|
+
*
|
|
37
|
+
* Проверяет, является ли узел секцией.
|
|
38
|
+
* @returns true if the node is a section / true, если узел является секцией
|
|
39
|
+
*/
|
|
40
|
+
isSection(): this is {
|
|
41
|
+
item: SectionNode;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Checks if the node is a text node.
|
|
45
|
+
*
|
|
46
|
+
* Проверяет, является ли узел текстовым узлом.
|
|
47
|
+
* @returns true if the node is a text node / true, если узел является текстовым узлом
|
|
48
|
+
*/
|
|
49
|
+
isText(): this is {
|
|
50
|
+
item: TextNode;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Checks if the node is a text node with a meaningful value.
|
|
54
|
+
*
|
|
55
|
+
* Проверяет, является ли узел текстовым узлом с осмысленным значением.
|
|
56
|
+
* @returns true if it is a text node with a value / true, если это текстовый узел со значением
|
|
57
|
+
*/
|
|
58
|
+
isTextNoValue(): this is {
|
|
59
|
+
item: TextNode;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Checks if the node is in the current page.
|
|
63
|
+
*
|
|
64
|
+
* Проверяет, находится ли узел на текущей странице.
|
|
65
|
+
* @returns true if the node is in the current page / true, если узел находится на текущей странице
|
|
66
|
+
*/
|
|
67
|
+
inCurrentPage(): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Returns the Figma node.
|
|
70
|
+
*
|
|
71
|
+
* Возвращает узел Figma.
|
|
72
|
+
* @returns Figma node / узел Figma
|
|
73
|
+
*/
|
|
74
|
+
get(): T;
|
|
75
|
+
/**
|
|
76
|
+
* Returns the type of the node.
|
|
77
|
+
*
|
|
78
|
+
* Возвращает тип узла.
|
|
79
|
+
* @returns node type / тип узла
|
|
80
|
+
*/
|
|
81
|
+
getType(): "SLICE" | "FRAME" | "GROUP" | "COMPONENT_SET" | "COMPONENT" | "INSTANCE" | "BOOLEAN_OPERATION" | "VECTOR" | "STAR" | "LINE" | "ELLIPSE" | "POLYGON" | "RECTANGLE" | "TEXT" | "TEXT_PATH" | "TRANSFORM_GROUP" | "STICKY" | "CONNECTOR" | "SHAPE_WITH_TEXT" | "CODE_BLOCK" | "STAMP" | "WIDGET" | "EMBED" | "LINK_UNFURL" | "MEDIA" | "SECTION" | "HIGHLIGHT" | "WASHI_TAPE" | "TABLE" | "SLIDE" | "SLIDE_ROW" | "SLIDE_GRID" | "SLOT" | "INTERACTIVE_SLIDE_ELEMENT" | "DOCUMENT" | "PAGE" | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* Returns the parent node.
|
|
84
|
+
*
|
|
85
|
+
* Возвращает родительский узел.
|
|
86
|
+
* @returns parent node / родительский узел
|
|
87
|
+
*/
|
|
88
|
+
getParent(): (BaseNode & ChildrenMixin) | undefined;
|
|
89
|
+
/**
|
|
90
|
+
* Returns the parent node wrapped in FigmaItem.
|
|
91
|
+
*
|
|
92
|
+
* Возвращает родительский узел, обернутый в FigmaItem.
|
|
93
|
+
* @returns parent FigmaItem / родительский FigmaItem
|
|
94
|
+
*/
|
|
95
|
+
getParentItem(): FigmaItem | undefined;
|
|
96
|
+
/**
|
|
97
|
+
* Returns the parent page.
|
|
98
|
+
*
|
|
99
|
+
* Возвращает родительскую страницу.
|
|
100
|
+
* @returns parent page / родительская страница
|
|
101
|
+
*/
|
|
102
|
+
getParentPage(): PageNode | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* Returns the parent page wrapped in FigmaItem.
|
|
105
|
+
*
|
|
106
|
+
* Возвращает родительскую страницу, обернутую в FigmaItem.
|
|
107
|
+
* @returns parent page FigmaItem / родительская страница FigmaItem
|
|
108
|
+
*/
|
|
109
|
+
getParentPageItem(): FigmaItem | undefined;
|
|
110
|
+
/**
|
|
111
|
+
* Returns the child nodes.
|
|
112
|
+
*
|
|
113
|
+
* Возвращает дочерние узлы.
|
|
114
|
+
* @returns list of child nodes / список дочерних узлов
|
|
115
|
+
*/
|
|
116
|
+
getChildren(): UiFigmaNode[];
|
|
117
|
+
/**
|
|
118
|
+
* Returns the child nodes wrapped in FigmaItem.
|
|
119
|
+
*
|
|
120
|
+
* Возвращает дочерние узлы, обернутые в FigmaItem.
|
|
121
|
+
* @returns list of child FigmaItems / список дочерних FigmaItems
|
|
122
|
+
*/
|
|
123
|
+
getChildrenItems(): FigmaItem[];
|
|
124
|
+
/**
|
|
125
|
+
* Returns the node ID.
|
|
126
|
+
*
|
|
127
|
+
* Возвращает идентификатор узла.
|
|
128
|
+
* @returns node ID / идентификатор узла
|
|
129
|
+
*/
|
|
130
|
+
getId(): string;
|
|
131
|
+
/**
|
|
132
|
+
* Returns the node name.
|
|
133
|
+
*
|
|
134
|
+
* Возвращает имя узла.
|
|
135
|
+
* @returns node name / имя узла
|
|
136
|
+
*/
|
|
137
|
+
getName(): string;
|
|
138
|
+
/**
|
|
139
|
+
* Returns the text content of the node.
|
|
140
|
+
*
|
|
141
|
+
* Возвращает текстовое содержимое узла.
|
|
142
|
+
* @returns text content / текстовое содержимое
|
|
143
|
+
*/
|
|
144
|
+
getText(): string;
|
|
145
|
+
/**
|
|
146
|
+
* Returns the CSS styles of the node.
|
|
147
|
+
*
|
|
148
|
+
* Возвращает CSS-стили узла.
|
|
149
|
+
* @returns promise with CSS styles / промис с CSS-стилями
|
|
150
|
+
*/
|
|
151
|
+
getCss(): Promise<Record<string, string>>;
|
|
152
|
+
/**
|
|
153
|
+
* Returns information about the node.
|
|
154
|
+
*
|
|
155
|
+
* Возвращает информацию об узле.
|
|
156
|
+
* @returns promise with node information / промис с информацией об узле
|
|
157
|
+
*/
|
|
158
|
+
getInfo(): Promise<UiFigmaFramesItem>;
|
|
159
|
+
/**
|
|
160
|
+
* Returns the styles of the node.
|
|
161
|
+
*
|
|
162
|
+
* Возвращает стили узла.
|
|
163
|
+
* @returns promise with node styles / промис со стилями узла
|
|
164
|
+
*/
|
|
165
|
+
getStyles(): Promise<UiFigmaFrameStylesItem>;
|
|
166
|
+
/**
|
|
167
|
+
* Exports the node as JPG.
|
|
168
|
+
*
|
|
169
|
+
* Экспортирует узел в формате JPG.
|
|
170
|
+
* @returns promise with image data as Uint8Array / промис с данными изображения в формате Uint8Array
|
|
171
|
+
*/
|
|
172
|
+
exportJpg(): Promise<Uint8Array<ArrayBufferLike> | "">;
|
|
173
|
+
/**
|
|
174
|
+
* Exports the node as JSON.
|
|
175
|
+
*
|
|
176
|
+
* Экспортирует узел в формате JSON.
|
|
177
|
+
* @returns promise with node data in JSON format / промис с данными узла в формате JSON
|
|
178
|
+
*/
|
|
179
|
+
exportJson(): Promise<Uint8Array<ArrayBufferLike> | "">;
|
|
180
|
+
/**
|
|
181
|
+
* Exports the node as compact JSON.
|
|
182
|
+
*
|
|
183
|
+
* Экспортирует узел в формате компактного JSON.
|
|
184
|
+
* @returns promise with compact JSON data / промис с компактными данными JSON
|
|
185
|
+
*/
|
|
186
|
+
exportJsonCompact(): Promise<UiFigmaFrameStylesData | undefined>;
|
|
187
|
+
/**
|
|
188
|
+
* Selects the node.
|
|
189
|
+
*
|
|
190
|
+
* Выделяет узел.
|
|
191
|
+
*/
|
|
192
|
+
toSelection(): void;
|
|
193
|
+
/**
|
|
194
|
+
* Moves to the page containing the node and selects it.
|
|
195
|
+
*
|
|
196
|
+
* Перемещает на страницу, содержащую узел, и выделяет его.
|
|
197
|
+
*/
|
|
198
|
+
toPageAndSelection(): Promise<void>;
|
|
199
|
+
/**
|
|
200
|
+
* Converts format settings to ExportSettings.
|
|
201
|
+
*
|
|
202
|
+
* Преобразует настройки формата в ExportSettings.
|
|
203
|
+
* @param formatSettings format settings / настройки формата
|
|
204
|
+
* @returns export settings / настройки экспорта
|
|
205
|
+
*/
|
|
206
|
+
protected getExportSettings(formatSettings: UiFigmaExportFormat | ExportSettings): ExportSettings;
|
|
207
|
+
/**
|
|
208
|
+
* Exports the node in the specified format.
|
|
209
|
+
*
|
|
210
|
+
* Экспортирует узел в указанном формате.
|
|
211
|
+
* @param formatSettings format settings / настройки формата
|
|
212
|
+
* @returns promise with exported data / промис с экспортированными данными
|
|
213
|
+
*/
|
|
214
|
+
protected exportItem(formatSettings: UiFigmaExportFormat | ExportSettings): Promise<Uint8Array<ArrayBufferLike> | "">;
|
|
215
|
+
/**
|
|
216
|
+
* Converts node data to compact JSON format.
|
|
217
|
+
*
|
|
218
|
+
* Преобразует данные узла в компактный формат JSON.
|
|
219
|
+
* @param data node data / данные узла
|
|
220
|
+
* @returns compact JSON data / компактные данные JSON
|
|
221
|
+
*/
|
|
222
|
+
protected toJsonCompact(data: Record<string, any>): UiFigmaFrameStylesJson;
|
|
223
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { FigmaPostAbstract } from '@dxtmisha/figma';
|
|
2
|
+
/**
|
|
3
|
+
* Messenger for the Figma plugin side (backend).
|
|
4
|
+
*
|
|
5
|
+
* Мессенджер для стороны плагина Figma (backend).
|
|
6
|
+
*/
|
|
7
|
+
export declare class FigmaPluginMessenger extends FigmaPostAbstract {
|
|
8
|
+
/**
|
|
9
|
+
* Getting an instance of the class for working with Figma plugin messenger (backend).
|
|
10
|
+
*
|
|
11
|
+
* Получение экземпляра класса для работы с мессенджером плагина Figma (backend).
|
|
12
|
+
* @returns current instance/ текущий экземпляр
|
|
13
|
+
*/
|
|
14
|
+
static getInstance(): FigmaPluginMessenger;
|
|
15
|
+
/**
|
|
16
|
+
* Sends a message to the Figma UI.
|
|
17
|
+
*
|
|
18
|
+
* Отправляет сообщение в UI Figma.
|
|
19
|
+
* @param type The type of the message / Тип сообщения
|
|
20
|
+
* @param message The message data / Данные сообщения
|
|
21
|
+
*/
|
|
22
|
+
post<Message>(type: string, message?: Message): void;
|
|
23
|
+
/**
|
|
24
|
+
* Initializes the listener using the figma.ui.onmessage API.
|
|
25
|
+
*
|
|
26
|
+
* Инициализирует слушатель, используя API figma.ui.onmessage.
|
|
27
|
+
*/
|
|
28
|
+
protected prepare(): void;
|
|
29
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { FigmaStorageData, FigmaStorageDataValue } from './FigmaStorageData';
|
|
2
|
+
import { UiFigmaNode } from '../types/figmaTypes';
|
|
3
|
+
/**
|
|
4
|
+
* Class for working with Figma storage (PluginData).
|
|
5
|
+
*
|
|
6
|
+
* Класс для работы с хранилищем Figma (PluginData).
|
|
7
|
+
*/
|
|
8
|
+
export declare class FigmaStorage<T> {
|
|
9
|
+
protected readonly name: string;
|
|
10
|
+
protected readonly item: PluginDataMixin;
|
|
11
|
+
protected readonly cache?: number | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Getting an instance of the class for working with Figma storage (PluginData).
|
|
14
|
+
*
|
|
15
|
+
* Получение экземпляра класса для работы с хранилищем Figma (PluginData).
|
|
16
|
+
* @param name value name/ название значения
|
|
17
|
+
* @param item object for storing data/ объект для хранения данных
|
|
18
|
+
* @returns current instance/ текущий экземпляр
|
|
19
|
+
*/
|
|
20
|
+
static getInstance<T>(name: string, item?: UiFigmaNode): FigmaStorage<T>;
|
|
21
|
+
/**
|
|
22
|
+
* Getting an instance of the class for working with Figma storage (PluginData).
|
|
23
|
+
*
|
|
24
|
+
* Получение экземпляра класса для работы с хранилищем Figma (PluginData).
|
|
25
|
+
* @param name value name/ название значения
|
|
26
|
+
* @param id object id/ id объекта
|
|
27
|
+
* @returns current instance/ текущий экземпляр
|
|
28
|
+
*/
|
|
29
|
+
static getInstanceById<T>(name: string, id?: string): Promise<FigmaStorage<T>>;
|
|
30
|
+
protected data: FigmaStorageData<T>;
|
|
31
|
+
/**
|
|
32
|
+
* Constructor
|
|
33
|
+
* @param name value name/ название значения
|
|
34
|
+
* @param item object for storing data/ объект для хранения данных
|
|
35
|
+
* @param cache cache time/ время кэширования
|
|
36
|
+
*/
|
|
37
|
+
constructor(name: string, item?: PluginDataMixin, cache?: number | undefined);
|
|
38
|
+
/**
|
|
39
|
+
* Getting data from storage.
|
|
40
|
+
*
|
|
41
|
+
* Получение данных из хранилища.
|
|
42
|
+
* @param defaultValue default value/ значение по умолчанию
|
|
43
|
+
*/
|
|
44
|
+
get(defaultValue?: T | (() => T)): T | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Changing data in storage.
|
|
47
|
+
*
|
|
48
|
+
* Изменение данных в хранилище.
|
|
49
|
+
* @param value new values/ новые значения
|
|
50
|
+
* @returns current value/ текущее значение
|
|
51
|
+
*/
|
|
52
|
+
set(value?: T | (() => T)): T | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Removing data from storage.
|
|
55
|
+
*
|
|
56
|
+
* Удаление данных из хранилища.
|
|
57
|
+
* @returns current instance/ текущий экземпляр
|
|
58
|
+
*/
|
|
59
|
+
remove(): this;
|
|
60
|
+
/**
|
|
61
|
+
* Getting data from storage.
|
|
62
|
+
*
|
|
63
|
+
* Получение данных из хранилища.
|
|
64
|
+
* @returns data from storage/ данные из хранилища
|
|
65
|
+
*/
|
|
66
|
+
protected getValue(): FigmaStorageDataValue<T> | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Making an instance from storage data.
|
|
69
|
+
*
|
|
70
|
+
* Создание экземпляра из данных хранилища.
|
|
71
|
+
* @returns current instance/ текущий экземпляр
|
|
72
|
+
*/
|
|
73
|
+
protected make(): this;
|
|
74
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/** Type for storing data in Figma Storage/ Тип для хранения данных в Figma Storage */
|
|
2
|
+
export type FigmaStorageDataValue<T> = {
|
|
3
|
+
/** Value/ Значение */
|
|
4
|
+
value: T;
|
|
5
|
+
/** Age/ Возраст */
|
|
6
|
+
age: number;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Class for managing Figma storage data.
|
|
10
|
+
*
|
|
11
|
+
* Класс для управления данными хранилища Figma.
|
|
12
|
+
* @template T type of data/ тип данных
|
|
13
|
+
*/
|
|
14
|
+
export declare class FigmaStorageData<T> {
|
|
15
|
+
protected readonly name: string;
|
|
16
|
+
protected readonly cache?: number | undefined;
|
|
17
|
+
/** Current value in the instance/ Текущее значение в экземпляре */
|
|
18
|
+
protected value?: T;
|
|
19
|
+
/** Value update time/ Время обновления значения */
|
|
20
|
+
protected age?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Constructor
|
|
23
|
+
* @param name value name/ название значения
|
|
24
|
+
* @param cache cache time/ время кэширования
|
|
25
|
+
*/
|
|
26
|
+
constructor(name: string, cache?: number | undefined);
|
|
27
|
+
/**
|
|
28
|
+
* Checks if the value is null or undefined.
|
|
29
|
+
*
|
|
30
|
+
* Проверяет, является ли значение null или undefined.
|
|
31
|
+
*/
|
|
32
|
+
isNull(): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Checks for storage time limit.
|
|
35
|
+
*
|
|
36
|
+
* Проверяет на лимит времени хранения.
|
|
37
|
+
*/
|
|
38
|
+
isCache(): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Checks if the value is defined and within the cache limit.
|
|
41
|
+
*
|
|
42
|
+
* Проверяет, определено ли значение и находится ли оно в пределах лимита кэша.
|
|
43
|
+
*/
|
|
44
|
+
isValue(): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Returns the current value.
|
|
47
|
+
*
|
|
48
|
+
* Возвращает текущее значение.
|
|
49
|
+
*/
|
|
50
|
+
get(): T | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Returns the update time of the value.
|
|
53
|
+
*
|
|
54
|
+
* Возвращает время обновления значения.
|
|
55
|
+
*/
|
|
56
|
+
getAge(): number | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* Returns the storage key name.
|
|
59
|
+
*
|
|
60
|
+
* Возвращает имя ключа в хранилище.
|
|
61
|
+
*/
|
|
62
|
+
getName(): string;
|
|
63
|
+
/**
|
|
64
|
+
* Returns the cache time.
|
|
65
|
+
*
|
|
66
|
+
* Возвращает время кэширования.
|
|
67
|
+
*/
|
|
68
|
+
getCache(): number | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* Sets the value and age.
|
|
71
|
+
*
|
|
72
|
+
* Устанавливает значение и время.
|
|
73
|
+
* @param value new value/ новое значение
|
|
74
|
+
* @param age update time/ время обновления
|
|
75
|
+
*/
|
|
76
|
+
set(value?: T, age?: number): this;
|
|
77
|
+
/**
|
|
78
|
+
* Sets data from a FigmaStorageDataValue object.
|
|
79
|
+
*
|
|
80
|
+
* Устанавливает данные из объекта FigmaStorageDataValue.
|
|
81
|
+
* @param value data object/ объект данных
|
|
82
|
+
*/
|
|
83
|
+
setByObject(value?: FigmaStorageDataValue<T>): this;
|
|
84
|
+
/**
|
|
85
|
+
* Sets the value.
|
|
86
|
+
*
|
|
87
|
+
* Устанавливает значение.
|
|
88
|
+
* @param value new value/ новое значение
|
|
89
|
+
*/
|
|
90
|
+
setValue(value?: T): this;
|
|
91
|
+
/**
|
|
92
|
+
* Sets the update time.
|
|
93
|
+
*
|
|
94
|
+
* Устанавливает время обновления.
|
|
95
|
+
* @param age update time/ время обновления
|
|
96
|
+
*/
|
|
97
|
+
setAge(age?: number): this;
|
|
98
|
+
/**
|
|
99
|
+
* Updates the value and sets the current time as age.
|
|
100
|
+
*
|
|
101
|
+
* Обновляет значение и устанавливает текущее время.
|
|
102
|
+
* @param value new value/ новое значение
|
|
103
|
+
*/
|
|
104
|
+
update(value?: T): this;
|
|
105
|
+
/**
|
|
106
|
+
* Removes the data.
|
|
107
|
+
*
|
|
108
|
+
* Удаляет данные.
|
|
109
|
+
*/
|
|
110
|
+
remove(): this;
|
|
111
|
+
/**
|
|
112
|
+
* Converts data to a FigmaStorageDataValue object for storage.
|
|
113
|
+
*
|
|
114
|
+
* Преобразует данные в объект FigmaStorageDataValue для хранения.
|
|
115
|
+
*/
|
|
116
|
+
toValue(): FigmaStorageDataValue<T>;
|
|
117
|
+
}
|