@dxtmisha/wiki 0.57.1 → 0.57.4

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.
Files changed (151) hide show
  1. package/dist/{defineProperty-3CuEayIP.js → defineProperty-Dcl1xgfx.js} +4 -4
  2. package/dist/library.js +2 -1
  3. package/dist/storybook.js +1 -1
  4. package/package.json +1 -1
  5. package/src/media/functional/figma/classes/FigmaPostAbstract/FigmaPostAbstract.en.mdx +46 -0
  6. package/src/media/functional/figma/classes/FigmaPostAbstract/FigmaPostAbstract.ru.mdx +46 -0
  7. package/src/media/functional/figma/classes/FigmaPostAbstract/FigmaPostAbstract.vi.mdx +46 -0
  8. package/src/media/functional/figma/classes/FigmaPostCode/FigmaPostCode.en.mdx +3 -23
  9. package/src/media/functional/figma/classes/FigmaPostCode/FigmaPostCode.ru.mdx +3 -23
  10. package/src/media/functional/figma/classes/FigmaPostCode/FigmaPostCode.vi.mdx +3 -23
  11. package/src/media/functional/figma/functions/fetchClientStorage/fetchClientStorage.en.mdx +46 -0
  12. package/src/media/functional/figma/functions/fetchClientStorage/fetchClientStorage.ru.mdx +46 -0
  13. package/src/media/functional/figma/functions/fetchClientStorage/fetchClientStorage.vi.mdx +46 -0
  14. package/src/media/functional/figma/functions/fetchFrameSelection/fetchFrameSelection.en.mdx +34 -0
  15. package/src/media/functional/figma/functions/fetchFrameSelection/fetchFrameSelection.ru.mdx +34 -0
  16. package/src/media/functional/figma/functions/fetchFrameSelection/fetchFrameSelection.vi.mdx +34 -0
  17. package/src/media/functional/figma/functions/fetchFrameStyles/fetchFrameStyles.en.mdx +49 -0
  18. package/src/media/functional/figma/functions/fetchFrameStyles/fetchFrameStyles.ru.mdx +49 -0
  19. package/src/media/functional/figma/functions/fetchFrameStyles/fetchFrameStyles.vi.mdx +49 -0
  20. package/src/media/functional/figma/functions/fetchFramesSelected/fetchFramesSelected.en.mdx +19 -8
  21. package/src/media/functional/figma/functions/fetchFramesSelected/fetchFramesSelected.ru.mdx +18 -7
  22. package/src/media/functional/figma/functions/fetchFramesSelected/fetchFramesSelected.vi.mdx +19 -8
  23. package/src/media/functional/figma/functions/fetchStorage/fetchStorage.en.mdx +42 -0
  24. package/src/media/functional/figma/functions/fetchStorage/fetchStorage.ru.mdx +42 -0
  25. package/src/media/functional/figma/functions/fetchStorage/fetchStorage.vi.mdx +42 -0
  26. package/src/media/functional/figma/functions/fetchTopLevelFrames/fetchTopLevelFrames.en.mdx +29 -7
  27. package/src/media/functional/figma/functions/fetchTopLevelFrames/fetchTopLevelFrames.ru.mdx +28 -6
  28. package/src/media/functional/figma/functions/fetchTopLevelFrames/fetchTopLevelFrames.vi.mdx +29 -7
  29. package/src/media/functional/figma/functions/sendClientStorage/sendClientStorage.en.mdx +29 -0
  30. package/src/media/functional/figma/functions/sendClientStorage/sendClientStorage.ru.mdx +29 -0
  31. package/src/media/functional/figma/functions/sendClientStorage/sendClientStorage.vi.mdx +29 -0
  32. package/src/media/functional/figma/functions/sendFrameSelection/sendFrameSelection.en.mdx +28 -0
  33. package/src/media/functional/figma/functions/sendFrameSelection/sendFrameSelection.ru.mdx +28 -0
  34. package/src/media/functional/figma/functions/sendFrameSelection/sendFrameSelection.vi.mdx +28 -0
  35. package/src/media/functional/figma/functions/sendFrameStyles/sendFrameStyles.en.mdx +40 -0
  36. package/src/media/functional/figma/functions/sendFrameStyles/sendFrameStyles.ru.mdx +40 -0
  37. package/src/media/functional/figma/functions/sendFrameStyles/sendFrameStyles.vi.mdx +40 -0
  38. package/src/media/functional/figma/functions/sendFramesSelected/sendFramesSelected.en.mdx +29 -0
  39. package/src/media/functional/figma/functions/sendFramesSelected/sendFramesSelected.ru.mdx +29 -0
  40. package/src/media/functional/figma/functions/sendFramesSelected/sendFramesSelected.vi.mdx +29 -0
  41. package/src/media/functional/figma/functions/sendStorage/sendStorage.en.mdx +30 -0
  42. package/src/media/functional/figma/functions/sendStorage/sendStorage.ru.mdx +30 -0
  43. package/src/media/functional/figma/functions/sendStorage/sendStorage.vi.mdx +30 -0
  44. package/src/media/functional/figma-code/classes/FigmaClientStorage/FigmaClientStorage.en.mdx +64 -0
  45. package/src/media/functional/figma-code/classes/FigmaClientStorage/FigmaClientStorage.ru.mdx +64 -0
  46. package/src/media/functional/figma-code/classes/FigmaClientStorage/FigmaClientStorage.vi.mdx +64 -0
  47. package/src/media/functional/figma-code/classes/FigmaFrame/FigmaFrame.en.mdx +168 -35
  48. package/src/media/functional/figma-code/classes/FigmaFrame/FigmaFrame.ru.mdx +168 -35
  49. package/src/media/functional/figma-code/classes/FigmaFrame/FigmaFrame.vi.mdx +168 -35
  50. package/src/media/functional/figma-code/classes/FigmaFramesSelected/FigmaFramesSelected.en.mdx +23 -69
  51. package/src/media/functional/figma-code/classes/FigmaFramesSelected/FigmaFramesSelected.ru.mdx +22 -68
  52. package/src/media/functional/figma-code/classes/FigmaFramesSelected/FigmaFramesSelected.vi.mdx +23 -69
  53. package/src/media/functional/figma-code/classes/FigmaItem/FigmaItem.en.mdx +79 -56
  54. package/src/media/functional/figma-code/classes/FigmaItem/FigmaItem.ru.mdx +79 -56
  55. package/src/media/functional/figma-code/classes/FigmaItem/FigmaItem.vi.mdx +79 -56
  56. package/src/media/functional/figma-code/classes/FigmaPluginMessenger/FigmaPluginMessenger.en.mdx +18 -48
  57. package/src/media/functional/figma-code/classes/FigmaPluginMessenger/FigmaPluginMessenger.ru.mdx +18 -48
  58. package/src/media/functional/figma-code/classes/FigmaPluginMessenger/FigmaPluginMessenger.vi.mdx +18 -48
  59. package/src/media/functional/figma-code/classes/FigmaStorage/FigmaStorage.en.mdx +22 -67
  60. package/src/media/functional/figma-code/classes/FigmaStorage/FigmaStorage.ru.mdx +22 -67
  61. package/src/media/functional/figma-code/classes/FigmaStorage/FigmaStorage.vi.mdx +22 -67
  62. package/src/media/functional/figma-code/classes/FigmaStorageData/FigmaStorageData.en.mdx +57 -0
  63. package/src/media/functional/figma-code/classes/FigmaStorageData/FigmaStorageData.ru.mdx +57 -0
  64. package/src/media/functional/figma-code/classes/FigmaStorageData/FigmaStorageData.vi.mdx +57 -0
  65. package/src/media/functional/figma-code/classes/FigmaTopLevelFrames/FigmaTopLevelFrames.en.mdx +24 -27
  66. package/src/media/functional/figma-code/classes/FigmaTopLevelFrames/FigmaTopLevelFrames.ru.mdx +23 -26
  67. package/src/media/functional/figma-code/classes/FigmaTopLevelFrames/FigmaTopLevelFrames.vi.mdx +24 -27
  68. package/src/media/functional/figma-code/functions/getFigmaFrameById/getFigmaFrameById.en.mdx +28 -0
  69. package/src/media/functional/figma-code/functions/getFigmaFrameById/getFigmaFrameById.ru.mdx +28 -0
  70. package/src/media/functional/figma-code/functions/getFigmaFrameById/getFigmaFrameById.vi.mdx +28 -0
  71. package/src/media/functional/figma-code/functions/getFigmaItemById/getFigmaItemById.en.mdx +43 -0
  72. package/src/media/functional/figma-code/functions/getFigmaItemById/getFigmaItemById.ru.mdx +43 -0
  73. package/src/media/functional/figma-code/functions/getFigmaItemById/getFigmaItemById.vi.mdx +43 -0
  74. package/src/media/functional/figma-code/functions/getFigmaItemByIdOrRoot/getFigmaItemByIdOrRoot.en.mdx +30 -0
  75. package/src/media/functional/figma-code/functions/getFigmaItemByIdOrRoot/getFigmaItemByIdOrRoot.ru.mdx +30 -0
  76. package/src/media/functional/figma-code/functions/getFigmaItemByIdOrRoot/getFigmaItemByIdOrRoot.vi.mdx +30 -0
  77. package/src/media/functional/figma-code/functions/makeFigmaFrameSelection/makeFigmaFrameSelection.en.mdx +21 -0
  78. package/src/media/functional/figma-code/functions/makeFigmaFrameSelection/makeFigmaFrameSelection.ru.mdx +21 -0
  79. package/src/media/functional/figma-code/functions/makeFigmaFrameSelection/makeFigmaFrameSelection.vi.mdx +21 -0
  80. package/src/media/functional/figma-code/functions/makeFigmaTexts/makeFigmaTexts.en.mdx +28 -0
  81. package/src/media/functional/figma-code/functions/makeFigmaTexts/makeFigmaTexts.ru.mdx +28 -0
  82. package/src/media/functional/figma-code/functions/makeFigmaTexts/makeFigmaTexts.vi.mdx +28 -0
  83. package/src/media/functional/figma-code/functions/setupClientStorage/setupClientStorage.en.mdx +28 -0
  84. package/src/media/functional/figma-code/functions/setupClientStorage/setupClientStorage.ru.mdx +28 -0
  85. package/src/media/functional/figma-code/functions/setupClientStorage/setupClientStorage.vi.mdx +28 -0
  86. package/src/media/functional/figma-code/functions/setupFrameSelection/setupFrameSelection.en.mdx +22 -0
  87. package/src/media/functional/figma-code/functions/setupFrameSelection/setupFrameSelection.ru.mdx +22 -0
  88. package/src/media/functional/figma-code/functions/setupFrameSelection/setupFrameSelection.vi.mdx +22 -0
  89. package/src/media/functional/figma-code/functions/setupFrameStyles/setupFrameStyles.en.mdx +19 -0
  90. package/src/media/functional/figma-code/functions/setupFrameStyles/setupFrameStyles.ru.mdx +19 -0
  91. package/src/media/functional/figma-code/functions/setupFrameStyles/setupFrameStyles.vi.mdx +19 -0
  92. package/src/media/functional/figma-code/functions/setupStorage/setupStorage.en.mdx +28 -0
  93. package/src/media/functional/figma-code/functions/setupStorage/setupStorage.ru.mdx +28 -0
  94. package/src/media/functional/figma-code/functions/setupStorage/setupStorage.vi.mdx +28 -0
  95. package/src/media/functional/figma-code/functions/toFrameSelection/toFrameSelection.en.mdx +27 -0
  96. package/src/media/functional/figma-code/functions/toFrameSelection/toFrameSelection.ru.mdx +27 -0
  97. package/src/media/functional/figma-code/functions/toFrameSelection/toFrameSelection.vi.mdx +27 -0
  98. package/src/media/functional/figma-ref/composables/useFigmaClientStorage/useFigmaClientStorage.en.mdx +26 -0
  99. package/src/media/functional/figma-ref/composables/useFigmaClientStorage/useFigmaClientStorage.ru.mdx +26 -0
  100. package/src/media/functional/figma-ref/composables/useFigmaClientStorage/useFigmaClientStorage.vi.mdx +26 -0
  101. package/src/media/functional/figma-ref/composables/useFigmaFrameSelection/useFigmaFrameSelection.en.mdx +35 -0
  102. package/src/media/functional/figma-ref/composables/useFigmaFrameSelection/useFigmaFrameSelection.ru.mdx +35 -0
  103. package/src/media/functional/figma-ref/composables/useFigmaFrameSelection/useFigmaFrameSelection.vi.mdx +35 -0
  104. package/src/media/functional/figma-ref/composables/useFigmaFrameStyles/useFigmaFrameStyles.en.mdx +33 -0
  105. package/src/media/functional/figma-ref/composables/useFigmaFrameStyles/useFigmaFrameStyles.ru.mdx +33 -0
  106. package/src/media/functional/figma-ref/composables/useFigmaFrameStyles/useFigmaFrameStyles.vi.mdx +33 -0
  107. package/src/media/functional/figma-ref/composables/useFigmaStorage/useFigmaStorage.en.mdx +28 -0
  108. package/src/media/functional/figma-ref/composables/useFigmaStorage/useFigmaStorage.ru.mdx +28 -0
  109. package/src/media/functional/figma-ref/composables/useFigmaStorage/useFigmaStorage.vi.mdx +28 -0
  110. package/src/media/functional/figma-ref/composables/useFigmaUiFrames/useFigmaUiFrames.en.mdx +7 -12
  111. package/src/media/functional/figma-ref/composables/useFigmaUiFrames/useFigmaUiFrames.ru.mdx +7 -12
  112. package/src/media/functional/figma-ref/composables/useFigmaUiFrames/useFigmaUiFrames.vi.mdx +8 -13
  113. package/src/media/functional/figma-ref/composables/useFigmaUiSelected/useFigmaUiSelected.en.mdx +12 -17
  114. package/src/media/functional/figma-ref/composables/useFigmaUiSelected/useFigmaUiSelected.ru.mdx +13 -18
  115. package/src/media/functional/figma-ref/composables/useFigmaUiSelected/useFigmaUiSelected.vi.mdx +14 -19
  116. package/src/media/functional/functional/composables/useApiAsyncRef/useApiAsyncRef.en.mdx +2 -3
  117. package/src/media/functional/functional/composables/useApiAsyncRef/useApiAsyncRef.ru.mdx +2 -3
  118. package/src/media/functional/functional/composables/useApiAsyncRef/useApiAsyncRef.vi.mdx +2 -3
  119. package/src/media/functional/functional/composables/useApiManagementRef/useApiManagementAsyncRef.en.mdx +41 -0
  120. package/src/media/functional/functional/composables/useApiManagementRef/useApiManagementAsyncRef.ru.mdx +41 -0
  121. package/src/media/functional/functional/composables/useApiManagementRef/useApiManagementAsyncRef.vi.mdx +41 -0
  122. package/src/media/functional/functional/composables/useApiManagementRef/useApiManagementRef.en.mdx +12 -0
  123. package/src/media/functional/functional/composables/useApiManagementRef/useApiManagementRef.ru.mdx +12 -0
  124. package/src/media/functional/functional/composables/useApiManagementRef/useApiManagementRef.vi.mdx +6 -0
  125. package/src/media/functional/functional/composables/useApiRef/useApiRef.en.mdx +12 -9
  126. package/src/media/functional/functional/composables/useApiRef/useApiRef.ru.mdx +12 -9
  127. package/src/media/functional/functional/composables/useApiRef/useApiRef.vi.mdx +11 -9
  128. package/src/media/functional/nitro-basic/functions/getInject.en.mdx +27 -0
  129. package/src/media/functional/nitro-basic/functions/getInject.ru.mdx +27 -0
  130. package/src/media/functional/nitro-basic/functions/getInject.vi.mdx +20 -0
  131. package/src/media/functional/ui-figma/about/about.en.mdx +52 -0
  132. package/src/media/functional/ui-figma/about/about.ru.mdx +52 -0
  133. package/src/media/functional/ui-figma/about/about.vi.mdx +52 -0
  134. package/src/media/functional/ui-figma/frames/frames.en.mdx +58 -0
  135. package/src/media/functional/ui-figma/frames/frames.ru.mdx +58 -0
  136. package/src/media/functional/ui-figma/frames/frames.vi.mdx +58 -0
  137. package/src/media/functional/ui-figma/messenger/messenger.en.mdx +67 -0
  138. package/src/media/functional/ui-figma/messenger/messenger.ru.mdx +67 -0
  139. package/src/media/functional/ui-figma/messenger/messenger.vi.mdx +67 -0
  140. package/src/media/functional/ui-figma/selection/selection.en.mdx +65 -0
  141. package/src/media/functional/ui-figma/selection/selection.ru.mdx +65 -0
  142. package/src/media/functional/ui-figma/selection/selection.vi.mdx +65 -0
  143. package/src/media/functional/ui-figma/storage/storage.en.mdx +53 -0
  144. package/src/media/functional/ui-figma/storage/storage.ru.mdx +53 -0
  145. package/src/media/functional/ui-figma/storage/storage.vi.mdx +53 -0
  146. package/src/media/functional/ui-figma/styles/styles.en.mdx +57 -0
  147. package/src/media/functional/ui-figma/styles/styles.ru.mdx +57 -0
  148. package/src/media/functional/ui-figma/styles/styles.vi.mdx +57 -0
  149. /package/src/media/functional/ui/{wiki-data.en.mdx → wiki/wiki-data.en.mdx} +0 -0
  150. /package/src/media/functional/ui/{wiki-data.ru.mdx → wiki/wiki-data.ru.mdx} +0 -0
  151. /package/src/media/functional/ui/{wiki-data.vi.mdx → wiki/wiki-data.vi.mdx} +0 -0
@@ -0,0 +1,57 @@
1
+ import { Meta, Source } from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/vi/figma-code/Classes/FigmaStorageData - Container dữ liệu bộ nhớ'/>
4
+
5
+ # Lớp `FigmaStorageData`
6
+
7
+ Một container cấp thấp để quản lý các mục dữ liệu riêng lẻ bên trong các hệ thống lưu trữ của Figma (Bộ nhớ Client hoặc Dữ liệu Plugin). Nó theo dõi các giá trị cùng với thời gian cập nhật của chúng và xử lý logic hết hạn của bộ nhớ đệm (cache).
8
+
9
+ ## Các tính năng chính
10
+
11
+ - **Theo dõi Cache** — Tự động xác định xem dữ liệu còn hiệu lực hay không dựa trên Thời gian tồn tại (TTL) có thể cấu hình.
12
+ - **Giám sát cập nhật** — Lưu trữ mốc thời gian của lần cập nhật cuối cùng để tạo điều kiện kiểm tra độ tươi mới của dữ liệu.
13
+ - **Sẵn sàng tuần tự hóa** — Cung cấp các phương thức để chuyển đổi dữ liệu sang và từ định dạng lưu trữ tiêu chuẩn (`FigmaStorageDataValue`).
14
+
15
+ ## Khởi tạo
16
+
17
+ Khởi tạo bằng tên khóa và thời gian cache tùy chọn tính bằng giây.
18
+
19
+ ```typescript
20
+ import { FigmaStorageData } from '@dxtmisha/figma-code'
21
+
22
+ // Cache trong 1 giờ (3600 giây)
23
+ const dataContainer = new FigmaStorageData<string>('user-name', 3600)
24
+ ```
25
+
26
+ ## Các phương thức
27
+
28
+ ### Kiểm tra trạng thái
29
+
30
+ - `isNull(): boolean` — Kiểm tra xem giá trị hiện tại có phải là null hoặc undefined không.
31
+ - `isCache(): boolean` — Kiểm tra xem dữ liệu có nằm trong thời gian tồn tại cho phép của cache không.
32
+ - `isValue(): boolean` — Trả về true nếu giá trị được xác định và cache còn hiệu lực.
33
+
34
+ ### Truy cập dữ liệu (Accessors)
35
+
36
+ - `get(): T | undefined` — Trả về giá trị hiện tại.
37
+ - `getAge(): number | undefined` — Trả về mốc thời gian của lần cập nhật cuối cùng.
38
+ - `getName(): string` — Trả về tên khóa lưu trữ duy nhất (có tiền tố).
39
+ - `getCache(): number | undefined` — Trả về thời gian cache đã cấu hình.
40
+
41
+ ### Các phương thức sửa đổi (Modifiers)
42
+
43
+ - `set(value?: T, age?: number): this` — Thiết lập thủ công cả giá trị và thời gian.
44
+ - `setByObject(value?: FigmaStorageDataValue<T>): this` — Thiết lập dữ liệu từ một đối tượng lưu trữ.
45
+ - `update(value?: T): this` — Cập nhật giá trị và đặt thời gian thành mốc thời gian hiện tại.
46
+ - `remove(): this` — Xóa giá trị và thời gian.
47
+
48
+ ### Chuyển đổi (Conversion)
49
+
50
+ - `toValue(): FigmaStorageDataValue<T>` — Chuyển đổi trạng thái hiện tại thành một đối tượng tương thích với bộ nhớ.
51
+
52
+ ## Các kiểu dữ liệu
53
+
54
+ #### `FigmaStorageDataValue<T>`
55
+ Cấu trúc được sử dụng để lưu trữ bền vững.
56
+ - `value: T` — Dữ liệu thực tế.
57
+ - `age: number` — Mốc thời gian (ms) khi dữ liệu được lưu.
@@ -1,45 +1,42 @@
1
- import {Meta} from '@storybook/addon-docs/blocks'
1
+ import { Meta, Source } from '@storybook/addon-docs/blocks'
2
2
 
3
- <Meta title='@dxtmisha/en/figma-code/Classes/FigmaTopLevelFrames - Top-Level Frame Management'/>
3
+ <Meta title='@dxtmisha/en/figma-code/Classes/FigmaTopLevelFrames - Managing top-level frames'/>
4
4
 
5
- # FigmaTopLevelFrames Class
5
+ # Class `FigmaTopLevelFrames`
6
6
 
7
- A static utility class for managing, caching, and communicating the list of top-level frames within the Figma plugin environment. It bridges the gap between the Figma document structure and the plugin UI via a dedicated messenger.
7
+ A static utility class for managing and synchronizing the list of top-level frames and sections on the current Figma page. It formats the nodes into a simplified list for display in the plugin's UI.
8
8
 
9
9
  ## Key Features
10
10
 
11
- - **Automated Caching** — Efficiently manages a singleton-like cache of formatted frame data.
12
- - **Messenger Integration** — Simplifies bidirectional communication between the plugin and the UI regarding frame lists.
13
- - **Node Processing** — Leverages `FigmaFrame` to extract and format core node properties (ID, name, JPG export) for UI display.
11
+ - **Automated List Generation** — Automatically identifies frames and sections at the root of the current page.
12
+ - **Visual Data** — Exports JPG screenshots for each frame to provide a visual preview in the UI.
13
+ - **Message Integration** — The `send()` method sets up listeners to automatically respond to UI requests for the frame list.
14
14
 
15
- ## Static Methods
15
+ ## Initialization
16
16
 
17
- ### `getListData`
18
-
19
- Retrieves and caches the formatted list of top-level frames. It processes each main frame from the current page, extracting its ID, name, and exporting it to a JPG format.
20
-
21
- **Returns:** `Promise<UiFigmaFramesList>` — A promise that resolves to the array of formatted frame data.
17
+ Since this is a static class, no instantiation is required. Typically, you only need to call the communication setup in your main plugin file.
22
18
 
23
19
  ```typescript
24
- const frames = await FigmaTopLevelFrames.getListData()
20
+ import { FigmaTopLevelFrames } from '@dxtmisha/figma-code'
21
+
22
+ // Setup listener for UI requests
23
+ FigmaTopLevelFrames.send()
25
24
  ```
26
25
 
27
- ### `send`
26
+ ## Methods
28
27
 
29
- Sets up a listener for frame requests using the plugin messenger. When the `UI_FIGMA_FRAMES_POST_NAME` message is received from the UI, it automatically fetches the latest data and posts it back.
28
+ ### Data Retrieval
30
29
 
31
- **Returns:** `void`
30
+ - `static get(): Promise<UiFigmaFramesList>` — Retrieves, formats, and caches the list of top-level frames.
32
31
 
33
- ```typescript
34
- FigmaTopLevelFrames.send()
35
- ```
32
+ ### Communication
36
33
 
37
- ## Types
34
+ - `static send(): void` — Initializes `FigmaPluginMessenger` listeners to handle frame list requests from the UI.
38
35
 
39
- ### `UiFigmaFramesList`
36
+ ## Data Types
40
37
 
41
- An array of objects representing the processed frame data for the UI.
42
- - `id: string` Unique Figma node ID.
43
- - `name: string` — Display name of the frame.
44
- - `image: Uint8Array | string` — Exported JPG data.
45
- - `item: FigmaItem` — The wrapped `FigmaItem` instance for further operations.
38
+ #### `UiFigmaFramesList`
39
+ An array of objects representing top-level frames.
40
+ - `name: string` — The frame's name.
41
+ - `id: string` — The frame's unique ID.
42
+ - `image: Uint8Array | string` — The exported JPG screenshot of the frame.
@@ -1,45 +1,42 @@
1
- import {Meta} from '@storybook/addon-docs/blocks'
1
+ import { Meta, Source } from '@storybook/addon-docs/blocks'
2
2
 
3
3
  <Meta title='@dxtmisha/ru/figma-code/Classes/FigmaTopLevelFrames - Управление фреймами верхнего уровня'/>
4
4
 
5
- # Класс FigmaTopLevelFrames
5
+ # Класс `FigmaTopLevelFrames`
6
6
 
7
- Статический утилитарный класс для управления, кэширования и передачи списка фреймов верхнего уровня в среде плагина Figma. Он служит связующим звеном между структурой документа Figma и UI плагина через выделенный мессенджер.
7
+ Статический утилитарный класс для управления и синхронизации списка фреймов и секций верхнего уровня на текущей странице Figma. Он форматирует узлы в упрощенный список для отображения в интерфейсе плагина.
8
8
 
9
9
  ## Ключевые особенности
10
10
 
11
- - **Автоматическое кэширование**эффективно управляет кэшем отформатированных данных фреймов по принципу синглтона.
12
- - **Интеграция с мессенджером** упрощает двустороннюю связь между плагином и UI относительно списков фреймов.
13
- - **Обработка узлов**использует `FigmaFrame` для извлечения и форматирования основных свойств узлов (ID, имя, экспорт в JPG) для отображения в UI.
11
+ - **Автоматическая генерация списка** Автоматически определяет фреймы и секции, находящиеся в корне текущей страницы.
12
+ - **Визуальные данные**Экспортирует скриншоты в формате JPG для каждого фрейма, обеспечивая визуальный предпросмотр в UI.
13
+ - **Интеграция сообщений**Метод `send()` настраивает слушателей для автоматического ответа на запросы списка фреймов из UI.
14
14
 
15
- ## Статические методы
15
+ ## Инициализация
16
16
 
17
- ### `getListData`
18
-
19
- Получает и кэширует отформатированный список фреймов верхнего уровня. Он обрабатывает каждый основной фрейм с текущей страницы, извлекая его ID, имя и экспортируя его в формат JPG.
20
-
21
- **Возвращает:** `Promise<UiFigmaFramesList>` — Промис, который разрешается в массив отформатированных данных фреймов.
17
+ Поскольку это статический класс, создание экземпляра не требуется. Как правило, достаточно вызвать настройку связи в основном файле плагина.
22
18
 
23
19
  ```typescript
24
- const frames = await FigmaTopLevelFrames.getListData()
20
+ import { FigmaTopLevelFrames } from '@dxtmisha/figma-code'
21
+
22
+ // Настройка слушателя для запросов из UI
23
+ FigmaTopLevelFrames.send()
25
24
  ```
26
25
 
27
- ### `send`
26
+ ## Методы
28
27
 
29
- Настраивает прослушиватель запросов фреймов с помощью мессенджера плагина. При получении сообщения `UI_FIGMA_FRAMES_POST_NAME` из UI, он автоматически получает актуальные данные и отправляет их обратно.
28
+ ### Получение данных
30
29
 
31
- **Возвращает:** `void`
30
+ - `static get(): Promise<UiFigmaFramesList>` — Извлекает, форматирует и кэширует список фреймов верхнего уровня.
32
31
 
33
- ```typescript
34
- FigmaTopLevelFrames.send()
35
- ```
32
+ ### Связь
36
33
 
37
- ## Типы
34
+ - `static send(): void` — Инициализирует слушателей `FigmaPluginMessenger` для обработки запросов списка фреймов из UI.
38
35
 
39
- ### `UiFigmaFramesList`
36
+ ## Типы данных
40
37
 
41
- Массив объектов, представляющих обработанные данные фреймов для UI.
42
- - `id: string` уникальный ID узла Figma.
43
- - `name: string` — отображаемое имя фрейма.
44
- - `image: Uint8Array | string` — экспортированные данные JPG.
45
- - `item: FigmaItem` — экземпляр обертки `FigmaItem` для дальнейших операций.
38
+ #### `UiFigmaFramesList`
39
+ Массив объектов, представляющих фреймы верхнего уровня.
40
+ - `name: string` — Имя фрейма.
41
+ - `id: string` — Уникальный ID фрейма.
42
+ - `image: Uint8Array | string` — Экспортированный скриншот фрейма в формате JPG.
@@ -1,45 +1,42 @@
1
- import {Meta} from '@storybook/addon-docs/blocks'
1
+ import { Meta, Source } from '@storybook/addon-docs/blocks'
2
2
 
3
- <Meta title='@dxtmisha/vi/figma-code/Classes/FigmaTopLevelFrames - Quản lý frame cấp cao nhất'/>
3
+ <Meta title='@dxtmisha/vi/figma-code/Classes/FigmaTopLevelFrames - Quản lý các frame cấp cao nhất'/>
4
4
 
5
- # Lớp FigmaTopLevelFrames
5
+ # Lớp `FigmaTopLevelFrames`
6
6
 
7
- Một lớp tiện ích tĩnh (static utility class) dùng để quản lý, lưu trữ bộ nhớ đệm (cache) và truyền tải danh sách các frame cấp cao nhất trong môi trường plugin Figma. Nó đóng vai trò cầu nối giữa cấu trúc tài liệu Figma giao diện người dùng (UI) của plugin thông qua một messenger chuyên dụng.
7
+ Một lớp tiện ích tĩnh để quản đồng bộ hóa danh sách các frame và section cấp cao nhất trên trang Figma hiện tại. Nó định dạng các node thành một danh sách đơn giản hóa để hiển thị trong giao diện người dùng (UI) của plugin.
8
8
 
9
9
  ## Các tính năng chính
10
10
 
11
- - **Tự động lưu bộ nhớ đệm** — Quản hiệu quả bộ nhớ đệm của dữ liệu frame đã được định dạng theo hình singleton.
12
- - **Tích hợp Messenger** — Đơn giản hóa việc giao tiếp hai chiều giữa plugin giao diện người dùng về danh sách các frame.
13
- - **Xử các Node** — Sử dụng `FigmaFrame` để trích xuất định dạng các thuộc tính cốt lõi của node (ID, tên, xuất JPG) để hiển thị trên UI.
11
+ - **Tạo danh sách tự động** — Tự động xác định các frame section tại gốc của trang hiện tại.
12
+ - **Dữ liệu hình ảnh** — Xuất ảnh chụp màn hình JPG cho mỗi frame để cung cấp bản xem trước trực quan trong UI.
13
+ - **Tích hợp tin nhắn** — Phương thức `send()` thiết lập các trình lắng nghe để tự động phản hồi các yêu cầu từ UI về danh sách frame.
14
14
 
15
- ## Các phương thức tĩnh (Static Methods)
15
+ ## Khởi tạo
16
16
 
17
- ### `getListData`
18
-
19
- Lấy và lưu vào bộ nhớ đệm danh sách các frame cấp cao nhất đã được định dạng. Nó xử lý từng frame chính từ trang hiện tại, trích xuất ID, tên và xuất nó sang định dạng JPG.
20
-
21
- **Trả về:** `Promise<UiFigmaFramesList>` — Một promise sẽ trả về mảng dữ liệu frame đã được định dạng.
17
+ đây là một lớp tĩnh, không cần khởi tạo thực thể. Thông thường, bạn chỉ cần gọi thiết lập giao tiếp trong tệp plugin chính của mình.
22
18
 
23
19
  ```typescript
24
- const frames = await FigmaTopLevelFrames.getListData()
20
+ import { FigmaTopLevelFrames } from '@dxtmisha/figma-code'
21
+
22
+ // Thiết lập trình lắng nghe cho các yêu cầu từ UI
23
+ FigmaTopLevelFrames.send()
25
24
  ```
26
25
 
27
- ### `send`
26
+ ## Các phương thức
28
27
 
29
- Thiết lập một listener cho các yêu cầu frame bằng cách sử dụng messenger của plugin. Khi nhận được thông báo `UI_FIGMA_FRAMES_POST_NAME` từ giao diện người dùng (UI), nó sẽ tự động lấy dữ liệu mới nhất và gửi ngược lại cho UI.
28
+ ### Truy xuất dữ liệu
30
29
 
31
- **Trả về:** `void`
30
+ - `static get(): Promise<UiFigmaFramesList>` — Truy xuất, định dạng và lưu tạm danh sách các frame cấp cao nhất.
32
31
 
33
- ```typescript
34
- FigmaTopLevelFrames.send()
35
- ```
32
+ ### Giao tiếp (Communication)
36
33
 
37
- ## Các kiểu dữ liệu (Types)
34
+ - `static send(): void` Khởi tạo các trình lắng nghe `FigmaPluginMessenger` để xử lý các yêu cầu danh sách frame từ UI.
38
35
 
39
- ### `UiFigmaFramesList`
36
+ ## Các kiểu dữ liệu
40
37
 
41
- Một mảng các đối tượng đại diện cho dữ liệu frame đã được xử lý cho UI.
42
- - `id: string` ID duy nhất của node Figma.
43
- - `name: string` — Tên hiển thị của frame.
44
- - `image: Uint8Array | string` — Dữ liệu JPG đã được xuất.
45
- - `item: FigmaItem` — Instance của `FigmaItem` để thực hiện các thao tác tiếp theo.
38
+ #### `UiFigmaFramesList`
39
+ Một mảng các đối tượng đại diện cho các frame cấp cao nhất.
40
+ - `name: string` — Tên của frame.
41
+ - `id: string` — ID duy nhất của frame.
42
+ - `image: Uint8Array | string` — Ảnh chụp màn hình JPG đã xuất của frame.
@@ -0,0 +1,28 @@
1
+ import { Meta, Source } from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/en/figma-code/Functions/getFigmaFrameById - Get FigmaFrame by ID'/>
4
+
5
+ # `getFigmaFrameById`
6
+
7
+ Returns a `FigmaFrame` object by its identifier.
8
+
9
+ **Parameters:**
10
+ - `id: string` — The identifier (ID) of the Figma node.
11
+
12
+ **Returns:**
13
+ `Promise<FigmaFrame | undefined>` — A `FigmaFrame` object or `undefined` if the node was not found.
14
+
15
+ ## Examples
16
+
17
+ ```typescript
18
+ import { getFigmaFrameById } from '@dxtmisha/figma-code'
19
+
20
+ async function analyzeFrame(frameId: string) {
21
+ const frame = await getFigmaFrameById(frameId)
22
+
23
+ if (frame) {
24
+ const info = await frame.getMainItemsInfo()
25
+ console.log('Main items in frame:', info)
26
+ }
27
+ }
28
+ ```
@@ -0,0 +1,28 @@
1
+ import { Meta, Source } from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/ru/figma-code/Functions/getFigmaFrameById - Получение FigmaFrame по ID'/>
4
+
5
+ # `getFigmaFrameById`
6
+
7
+ Возвращает объект `FigmaFrame` по его идентификатору.
8
+
9
+ **Параметры:**
10
+ - `id: string` — Идентификатор (ID) узла Figma.
11
+
12
+ **Возвращает:**
13
+ `Promise<FigmaFrame | undefined>` — Объект `FigmaFrame` или `undefined`, если узел не найден.
14
+
15
+ ## Примеры
16
+
17
+ ```typescript
18
+ import { getFigmaFrameById } from '@dxtmisha/figma-code'
19
+
20
+ async function analyzeFrame(frameId: string) {
21
+ const frame = await getFigmaFrameById(frameId)
22
+
23
+ if (frame) {
24
+ const info = await frame.getMainItemsInfo()
25
+ console.log('Основные элементы во фрейме:', info)
26
+ }
27
+ }
28
+ ```
@@ -0,0 +1,28 @@
1
+ import { Meta, Source } from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/vi/figma-code/Functions/getFigmaFrameById - Lấy FigmaFrame bằng ID'/>
4
+
5
+ # `getFigmaFrameById`
6
+
7
+ Trả về một đối tượng `FigmaFrame` theo mã định danh của nó.
8
+
9
+ **Tham số:**
10
+ - `id: string` — Mã định danh (ID) của node Figma.
11
+
12
+ **Trả về:**
13
+ `Promise<FigmaFrame | undefined>` — Một đối tượng `FigmaFrame` hoặc `undefined` nếu không tìm thấy node.
14
+
15
+ ## Ví dụ
16
+
17
+ ```typescript
18
+ import { getFigmaFrameById } from '@dxtmisha/figma-code'
19
+
20
+ async function analyzeFrame(frameId: string) {
21
+ const frame = await getFigmaFrameById(frameId)
22
+
23
+ if (frame) {
24
+ const info = await frame.getMainItemsInfo()
25
+ console.log('Các mục chính trong frame:', info)
26
+ }
27
+ }
28
+ ```
@@ -0,0 +1,43 @@
1
+ import { Meta, Source } from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/en/figma-code/Functions/getFigmaItemById - Get Figma item by ID'/>
4
+
5
+ # `getFigmaItemById`
6
+
7
+ An asynchronous utility for retrieving a Figma node by its ID and wrapping it in a `FigmaItem` class instance. This simplifies further interactions with the node, such as type checking, selection, or exporting.
8
+
9
+ **Parameters:**
10
+ - `id: string` — The identifier (ID) of the Figma node.
11
+
12
+ **Returns:**
13
+ `Promise<FigmaItem | undefined>` — A `FigmaItem` instance wrapping the node, or `undefined` if the node was not found.
14
+
15
+ ## Types
16
+
17
+ ### FigmaItem
18
+
19
+ A wrapper class for Figma nodes that provides high-level methods for:
20
+ - Checking node types (`isFrame()`, `isText()`, etc.).
21
+ - Accessing parents and children.
22
+ - Exporting to various formats.
23
+ - Managing selection and viewport focus.
24
+
25
+ ## Examples
26
+
27
+ <Source
28
+ language='typescript'
29
+ code={`
30
+ import { getFigmaItemById } from '@dxtmisha/figma-code'
31
+
32
+ async function highlightFrame(frameId: string) {
33
+ const item = await getFigmaItemById(frameId)
34
+
35
+ if (item && item.isFrame()) {
36
+ item.toSelection()
37
+ console.log('Selected frame:', item.getName())
38
+ } else {
39
+ console.log('Frame not found or is not a frame node')
40
+ }
41
+ }
42
+ `}
43
+ />
@@ -0,0 +1,43 @@
1
+ import { Meta, Source } from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/ru/figma-code/Functions/getFigmaItemById - Получение элемента Figma по ID'/>
4
+
5
+ # `getFigmaItemById`
6
+
7
+ Асинхронная утилита для получения узла Figma по его идентификатору и оборачивания его в экземпляр класса `FigmaItem`. Это упрощает дальнейшую работу с узлом, такую как проверка типов, управление выделением или экспорт.
8
+
9
+ **Параметры:**
10
+ - `id: string` — Идентификатор (ID) узла Figma.
11
+
12
+ **Возвращает:**
13
+ `Promise<FigmaItem | undefined>` — Экземпляр `FigmaItem`, оборачивающий узел, или `undefined`, если узел не найден.
14
+
15
+ ## Типы
16
+
17
+ ### FigmaItem
18
+
19
+ Класс-обертка для узлов Figma, предоставляющий высокоуровневые методы для:
20
+ - Проверки типов узлов (`isFrame()`, `isText()` и т.д.).
21
+ - Доступа к родительским и дочерним элементам.
22
+ - Экспорта в различные форматы.
23
+ - Управления выделением и фокусом вьюпорта.
24
+
25
+ ## Примеры
26
+
27
+ <Source
28
+ language='typescript'
29
+ code={`
30
+ import { getFigmaItemById } from '@dxtmisha/figma-code'
31
+
32
+ async function highlightFrame(frameId: string) {
33
+ const item = await getFigmaItemById(frameId)
34
+
35
+ if (item && item.isFrame()) {
36
+ item.toSelection()
37
+ console.log('Выбран фрейм:', item.getName())
38
+ } else {
39
+ console.log('Фрейм не найден или не является узлом типа FRAME')
40
+ }
41
+ }
42
+ `}
43
+ />
@@ -0,0 +1,43 @@
1
+ import { Meta, Source } from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/vi/figma-code/Functions/getFigmaItemById - Lấy phần tử Figma bằng ID'/>
4
+
5
+ # `getFigmaItemById`
6
+
7
+ Một tiện ích bất đồng bộ để lấy một node Figma bằng ID của nó và bọc nó trong một thực thể lớp `FigmaItem`. Điều này giúp đơn giản hóa các tương tác tiếp theo với node, chẳng hạn như kiểm tra kiểu, quản lý lựa chọn hoặc xuất dữ liệu.
8
+
9
+ **Tham số:**
10
+ - `id: string` — Định danh (ID) của node Figma.
11
+
12
+ **Trả về:**
13
+ `Promise<FigmaItem | undefined>` — Một thực thể `FigmaItem` bọc node, hoặc `undefined` nếu không tìm thấy node.
14
+
15
+ ## Các kiểu dữ liệu
16
+
17
+ ### FigmaItem
18
+
19
+ Một lớp bọc cho các node Figma cung cấp các phương thức cấp cao để:
20
+ - Kiểm tra kiểu node (`isFrame()`, `isText()`, v.v.).
21
+ - Truy cập các node cha và con.
22
+ - Xuất dữ liệu sang nhiều định dạng khác nhau.
23
+ - Quản lý lựa chọn và tiêu điểm khung nhìn (viewport).
24
+
25
+ ## Ví dụ
26
+
27
+ <Source
28
+ language='typescript'
29
+ code={`
30
+ import { getFigmaItemById } from '@dxtmisha/figma-code'
31
+
32
+ async function highlightFrame(frameId: string) {
33
+ const item = await getFigmaItemById(frameId)
34
+
35
+ if (item && item.isFrame()) {
36
+ item.toSelection()
37
+ console.log('Đã chọn frame:', item.getName())
38
+ } else {
39
+ console.log('Không tìm thấy frame hoặc node không phải là frame')
40
+ }
41
+ }
42
+ `}
43
+ />
@@ -0,0 +1,30 @@
1
+ import { Meta, Source } from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/en/figma-code/Functions/getFigmaItemByIdOrRoot - Get Figma node or document root'/>
4
+
5
+ # `getFigmaItemByIdOrRoot`
6
+
7
+ An asynchronous utility that retrieves a Figma node by its ID. If the ID is not provided or the node is not found, it falls back to the document root (`figma.root`). This is useful for operations that can target either a specific element or the entire document.
8
+
9
+ **Parameters:**
10
+ - `id?: string` — (Optional) The identifier (ID) of the Figma node.
11
+
12
+ **Returns:**
13
+ `Promise<T>` — The retrieved Figma node or `figma.root`.
14
+
15
+ ## Examples
16
+
17
+ <Source
18
+ language='typescript'
19
+ code={`
20
+ import { getFigmaItemByIdOrRoot } from '@dxtmisha/figma-code'
21
+
22
+ async function getStorageNode(id?: string) {
23
+ // If id is provided, tries to get that node.
24
+ // Otherwise, returns figma.root.
25
+ const node = await getFigmaItemByIdOrRoot(id)
26
+
27
+ console.log('Target node name:', node.name)
28
+ }
29
+ `}
30
+ />
@@ -0,0 +1,30 @@
1
+ import { Meta, Source } from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/ru/figma-code/Functions/getFigmaItemByIdOrRoot - Получение узла Figma или корня документа'/>
4
+
5
+ # `getFigmaItemByIdOrRoot`
6
+
7
+ Асинхронная утилита, которая получает узел Figma по его ID. Если ID не указан или узел не найден, функция возвращает корень документа (`figma.root`). Это удобно для операций, которые могут быть направлены как на конкретный элемент, так и на весь документ в целом.
8
+
9
+ **Параметры:**
10
+ - `id?: string` — (Опционально) Идентификатор (ID) узла Figma.
11
+
12
+ **Возвращает:**
13
+ `Promise<T>` — Полученный узел Figma или `figma.root`.
14
+
15
+ ## Примеры
16
+
17
+ <Source
18
+ language='typescript'
19
+ code={`
20
+ import { getFigmaItemByIdOrRoot } from '@dxtmisha/figma-code'
21
+
22
+ async function getStorageNode(id?: string) {
23
+ // Если id указан, пытается получить этот узел.
24
+ // В противном случае возвращает figma.root.
25
+ const node = await getFigmaItemByIdOrRoot(id)
26
+
27
+ console.log('Имя целевого узла:', node.name)
28
+ }
29
+ `}
30
+ />
@@ -0,0 +1,30 @@
1
+ import { Meta, Source } from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/vi/figma-code/Functions/getFigmaItemByIdOrRoot - Lấy node Figma hoặc gốc tài liệu'/>
4
+
5
+ # `getFigmaItemByIdOrRoot`
6
+
7
+ Một tiện ích bất đồng bộ lấy một node Figma bằng ID của nó. Nếu ID không được cung cấp hoặc không tìm thấy node, nó sẽ trả về gốc của tài liệu (`figma.root`). Điều này hữu ích cho các hoạt động có thể nhắm vào một phần tử cụ thể hoặc toàn bộ tài liệu.
8
+
9
+ **Tham số:**
10
+ - `id?: string` — (Tùy chọn) Định danh (ID) của node Figma.
11
+
12
+ **Trả về:**
13
+ `Promise<T>` — Node Figma được truy xuất hoặc `figma.root`.
14
+
15
+ ## Ví dụ
16
+
17
+ <Source
18
+ language='typescript'
19
+ code={`
20
+ import { getFigmaItemByIdOrRoot } from '@dxtmisha/figma-code'
21
+
22
+ async function getStorageNode(id?: string) {
23
+ // Nếu id được cung cấp, cố gắng lấy node đó.
24
+ // Ngược lại, trả về figma.root.
25
+ const node = await getFigmaItemByIdOrRoot(id)
26
+
27
+ console.log('Tên node đích:', node.name)
28
+ }
29
+ `}
30
+ />
@@ -0,0 +1,21 @@
1
+ import { Meta, Source } from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/en/figma-code/Functions/makeFigmaFrameSelection - Tracking selection'/>
4
+
5
+ # `makeFigmaFrameSelection`
6
+
7
+ Activates a global listener for the `selectionchange` event in Figma. It is used to synchronize the state of selected elements between the Figma sandbox (Backend) and the plugin's UI (Frontend).
8
+
9
+ This function is designed to be used in the Figma plugin's code (Backend). It automatically subscribes to user selection changes. Each time the selection changes, data about the selected elements (including names, IDs, and JPG screenshots) are collected and sent to the User Interface (UI) via the `FigmaPluginMessenger`. This eliminates the need to manually set up event listeners and handle image exports for each selected object.
10
+
11
+ **Returns:**
12
+ `void`
13
+
14
+ ## Examples
15
+
16
+ ```typescript
17
+ import { makeFigmaFrameSelection } from '@dxtmisha/figma-code'
18
+
19
+ // Initialization in the plugin code (Backend)
20
+ makeFigmaFrameSelection()
21
+ ```
@@ -0,0 +1,21 @@
1
+ import { Meta, Source } from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/ru/figma-code/Functions/makeFigmaFrameSelection - Отслеживание выделения'/>
4
+
5
+ # `makeFigmaFrameSelection`
6
+
7
+ Активирует глобальный слушатель события `selectionchange` в Figma. Используется для синхронизации состояния выбранных элементов между песочницей Figma (Backend) и интерфейсом плагина (Frontend).
8
+
9
+ Функция предназначена для использования на стороне кода (Backend) плагина Figma. Она автоматически подписывается на изменения выделения пользователя. При каждом изменении данные о выбранных элементах (включая имена, идентификаторы и скриншоты в формате JPG) собираются и отправляются в пользовательский интерфейс (UI) через `FigmaPluginMessenger`. Это избавляет от необходимости вручную настраивать слушатели событий и обрабатывать экспорт изображений для каждого выбранного объекта.
10
+
11
+ **Возвращает:**
12
+ `void`
13
+
14
+ ## Примеры
15
+
16
+ ```typescript
17
+ import { makeFigmaFrameSelection } from '@dxtmisha/figma-code'
18
+
19
+ // Инициализация в коде плагина (Backend)
20
+ makeFigmaFrameSelection()
21
+ ```