@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.
- package/dist/{defineProperty-3CuEayIP.js → defineProperty-Dcl1xgfx.js} +4 -4
- package/dist/library.js +2 -1
- package/dist/storybook.js +1 -1
- package/package.json +1 -1
- package/src/media/functional/figma/classes/FigmaPostAbstract/FigmaPostAbstract.en.mdx +46 -0
- package/src/media/functional/figma/classes/FigmaPostAbstract/FigmaPostAbstract.ru.mdx +46 -0
- package/src/media/functional/figma/classes/FigmaPostAbstract/FigmaPostAbstract.vi.mdx +46 -0
- package/src/media/functional/figma/classes/FigmaPostCode/FigmaPostCode.en.mdx +3 -23
- package/src/media/functional/figma/classes/FigmaPostCode/FigmaPostCode.ru.mdx +3 -23
- package/src/media/functional/figma/classes/FigmaPostCode/FigmaPostCode.vi.mdx +3 -23
- package/src/media/functional/figma/functions/fetchClientStorage/fetchClientStorage.en.mdx +46 -0
- package/src/media/functional/figma/functions/fetchClientStorage/fetchClientStorage.ru.mdx +46 -0
- package/src/media/functional/figma/functions/fetchClientStorage/fetchClientStorage.vi.mdx +46 -0
- package/src/media/functional/figma/functions/fetchFrameSelection/fetchFrameSelection.en.mdx +34 -0
- package/src/media/functional/figma/functions/fetchFrameSelection/fetchFrameSelection.ru.mdx +34 -0
- package/src/media/functional/figma/functions/fetchFrameSelection/fetchFrameSelection.vi.mdx +34 -0
- package/src/media/functional/figma/functions/fetchFrameStyles/fetchFrameStyles.en.mdx +49 -0
- package/src/media/functional/figma/functions/fetchFrameStyles/fetchFrameStyles.ru.mdx +49 -0
- package/src/media/functional/figma/functions/fetchFrameStyles/fetchFrameStyles.vi.mdx +49 -0
- package/src/media/functional/figma/functions/fetchFramesSelected/fetchFramesSelected.en.mdx +19 -8
- package/src/media/functional/figma/functions/fetchFramesSelected/fetchFramesSelected.ru.mdx +18 -7
- package/src/media/functional/figma/functions/fetchFramesSelected/fetchFramesSelected.vi.mdx +19 -8
- package/src/media/functional/figma/functions/fetchStorage/fetchStorage.en.mdx +42 -0
- package/src/media/functional/figma/functions/fetchStorage/fetchStorage.ru.mdx +42 -0
- package/src/media/functional/figma/functions/fetchStorage/fetchStorage.vi.mdx +42 -0
- package/src/media/functional/figma/functions/fetchTopLevelFrames/fetchTopLevelFrames.en.mdx +29 -7
- package/src/media/functional/figma/functions/fetchTopLevelFrames/fetchTopLevelFrames.ru.mdx +28 -6
- package/src/media/functional/figma/functions/fetchTopLevelFrames/fetchTopLevelFrames.vi.mdx +29 -7
- package/src/media/functional/figma/functions/sendClientStorage/sendClientStorage.en.mdx +29 -0
- package/src/media/functional/figma/functions/sendClientStorage/sendClientStorage.ru.mdx +29 -0
- package/src/media/functional/figma/functions/sendClientStorage/sendClientStorage.vi.mdx +29 -0
- package/src/media/functional/figma/functions/sendFrameSelection/sendFrameSelection.en.mdx +28 -0
- package/src/media/functional/figma/functions/sendFrameSelection/sendFrameSelection.ru.mdx +28 -0
- package/src/media/functional/figma/functions/sendFrameSelection/sendFrameSelection.vi.mdx +28 -0
- package/src/media/functional/figma/functions/sendFrameStyles/sendFrameStyles.en.mdx +40 -0
- package/src/media/functional/figma/functions/sendFrameStyles/sendFrameStyles.ru.mdx +40 -0
- package/src/media/functional/figma/functions/sendFrameStyles/sendFrameStyles.vi.mdx +40 -0
- package/src/media/functional/figma/functions/sendFramesSelected/sendFramesSelected.en.mdx +29 -0
- package/src/media/functional/figma/functions/sendFramesSelected/sendFramesSelected.ru.mdx +29 -0
- package/src/media/functional/figma/functions/sendFramesSelected/sendFramesSelected.vi.mdx +29 -0
- package/src/media/functional/figma/functions/sendStorage/sendStorage.en.mdx +30 -0
- package/src/media/functional/figma/functions/sendStorage/sendStorage.ru.mdx +30 -0
- package/src/media/functional/figma/functions/sendStorage/sendStorage.vi.mdx +30 -0
- package/src/media/functional/figma-code/classes/FigmaClientStorage/FigmaClientStorage.en.mdx +64 -0
- package/src/media/functional/figma-code/classes/FigmaClientStorage/FigmaClientStorage.ru.mdx +64 -0
- package/src/media/functional/figma-code/classes/FigmaClientStorage/FigmaClientStorage.vi.mdx +64 -0
- package/src/media/functional/figma-code/classes/FigmaFrame/FigmaFrame.en.mdx +168 -35
- package/src/media/functional/figma-code/classes/FigmaFrame/FigmaFrame.ru.mdx +168 -35
- package/src/media/functional/figma-code/classes/FigmaFrame/FigmaFrame.vi.mdx +168 -35
- package/src/media/functional/figma-code/classes/FigmaFramesSelected/FigmaFramesSelected.en.mdx +23 -69
- package/src/media/functional/figma-code/classes/FigmaFramesSelected/FigmaFramesSelected.ru.mdx +22 -68
- package/src/media/functional/figma-code/classes/FigmaFramesSelected/FigmaFramesSelected.vi.mdx +23 -69
- package/src/media/functional/figma-code/classes/FigmaItem/FigmaItem.en.mdx +79 -56
- package/src/media/functional/figma-code/classes/FigmaItem/FigmaItem.ru.mdx +79 -56
- package/src/media/functional/figma-code/classes/FigmaItem/FigmaItem.vi.mdx +79 -56
- package/src/media/functional/figma-code/classes/FigmaPluginMessenger/FigmaPluginMessenger.en.mdx +18 -48
- package/src/media/functional/figma-code/classes/FigmaPluginMessenger/FigmaPluginMessenger.ru.mdx +18 -48
- package/src/media/functional/figma-code/classes/FigmaPluginMessenger/FigmaPluginMessenger.vi.mdx +18 -48
- package/src/media/functional/figma-code/classes/FigmaStorage/FigmaStorage.en.mdx +22 -67
- package/src/media/functional/figma-code/classes/FigmaStorage/FigmaStorage.ru.mdx +22 -67
- package/src/media/functional/figma-code/classes/FigmaStorage/FigmaStorage.vi.mdx +22 -67
- package/src/media/functional/figma-code/classes/FigmaStorageData/FigmaStorageData.en.mdx +57 -0
- package/src/media/functional/figma-code/classes/FigmaStorageData/FigmaStorageData.ru.mdx +57 -0
- package/src/media/functional/figma-code/classes/FigmaStorageData/FigmaStorageData.vi.mdx +57 -0
- package/src/media/functional/figma-code/classes/FigmaTopLevelFrames/FigmaTopLevelFrames.en.mdx +24 -27
- package/src/media/functional/figma-code/classes/FigmaTopLevelFrames/FigmaTopLevelFrames.ru.mdx +23 -26
- package/src/media/functional/figma-code/classes/FigmaTopLevelFrames/FigmaTopLevelFrames.vi.mdx +24 -27
- package/src/media/functional/figma-code/functions/getFigmaFrameById/getFigmaFrameById.en.mdx +28 -0
- package/src/media/functional/figma-code/functions/getFigmaFrameById/getFigmaFrameById.ru.mdx +28 -0
- package/src/media/functional/figma-code/functions/getFigmaFrameById/getFigmaFrameById.vi.mdx +28 -0
- package/src/media/functional/figma-code/functions/getFigmaItemById/getFigmaItemById.en.mdx +43 -0
- package/src/media/functional/figma-code/functions/getFigmaItemById/getFigmaItemById.ru.mdx +43 -0
- package/src/media/functional/figma-code/functions/getFigmaItemById/getFigmaItemById.vi.mdx +43 -0
- package/src/media/functional/figma-code/functions/getFigmaItemByIdOrRoot/getFigmaItemByIdOrRoot.en.mdx +30 -0
- package/src/media/functional/figma-code/functions/getFigmaItemByIdOrRoot/getFigmaItemByIdOrRoot.ru.mdx +30 -0
- package/src/media/functional/figma-code/functions/getFigmaItemByIdOrRoot/getFigmaItemByIdOrRoot.vi.mdx +30 -0
- package/src/media/functional/figma-code/functions/makeFigmaFrameSelection/makeFigmaFrameSelection.en.mdx +21 -0
- package/src/media/functional/figma-code/functions/makeFigmaFrameSelection/makeFigmaFrameSelection.ru.mdx +21 -0
- package/src/media/functional/figma-code/functions/makeFigmaFrameSelection/makeFigmaFrameSelection.vi.mdx +21 -0
- package/src/media/functional/figma-code/functions/makeFigmaTexts/makeFigmaTexts.en.mdx +28 -0
- package/src/media/functional/figma-code/functions/makeFigmaTexts/makeFigmaTexts.ru.mdx +28 -0
- package/src/media/functional/figma-code/functions/makeFigmaTexts/makeFigmaTexts.vi.mdx +28 -0
- package/src/media/functional/figma-code/functions/setupClientStorage/setupClientStorage.en.mdx +28 -0
- package/src/media/functional/figma-code/functions/setupClientStorage/setupClientStorage.ru.mdx +28 -0
- package/src/media/functional/figma-code/functions/setupClientStorage/setupClientStorage.vi.mdx +28 -0
- package/src/media/functional/figma-code/functions/setupFrameSelection/setupFrameSelection.en.mdx +22 -0
- package/src/media/functional/figma-code/functions/setupFrameSelection/setupFrameSelection.ru.mdx +22 -0
- package/src/media/functional/figma-code/functions/setupFrameSelection/setupFrameSelection.vi.mdx +22 -0
- package/src/media/functional/figma-code/functions/setupFrameStyles/setupFrameStyles.en.mdx +19 -0
- package/src/media/functional/figma-code/functions/setupFrameStyles/setupFrameStyles.ru.mdx +19 -0
- package/src/media/functional/figma-code/functions/setupFrameStyles/setupFrameStyles.vi.mdx +19 -0
- package/src/media/functional/figma-code/functions/setupStorage/setupStorage.en.mdx +28 -0
- package/src/media/functional/figma-code/functions/setupStorage/setupStorage.ru.mdx +28 -0
- package/src/media/functional/figma-code/functions/setupStorage/setupStorage.vi.mdx +28 -0
- package/src/media/functional/figma-code/functions/toFrameSelection/toFrameSelection.en.mdx +27 -0
- package/src/media/functional/figma-code/functions/toFrameSelection/toFrameSelection.ru.mdx +27 -0
- package/src/media/functional/figma-code/functions/toFrameSelection/toFrameSelection.vi.mdx +27 -0
- package/src/media/functional/figma-ref/composables/useFigmaClientStorage/useFigmaClientStorage.en.mdx +26 -0
- package/src/media/functional/figma-ref/composables/useFigmaClientStorage/useFigmaClientStorage.ru.mdx +26 -0
- package/src/media/functional/figma-ref/composables/useFigmaClientStorage/useFigmaClientStorage.vi.mdx +26 -0
- package/src/media/functional/figma-ref/composables/useFigmaFrameSelection/useFigmaFrameSelection.en.mdx +35 -0
- package/src/media/functional/figma-ref/composables/useFigmaFrameSelection/useFigmaFrameSelection.ru.mdx +35 -0
- package/src/media/functional/figma-ref/composables/useFigmaFrameSelection/useFigmaFrameSelection.vi.mdx +35 -0
- package/src/media/functional/figma-ref/composables/useFigmaFrameStyles/useFigmaFrameStyles.en.mdx +33 -0
- package/src/media/functional/figma-ref/composables/useFigmaFrameStyles/useFigmaFrameStyles.ru.mdx +33 -0
- package/src/media/functional/figma-ref/composables/useFigmaFrameStyles/useFigmaFrameStyles.vi.mdx +33 -0
- package/src/media/functional/figma-ref/composables/useFigmaStorage/useFigmaStorage.en.mdx +28 -0
- package/src/media/functional/figma-ref/composables/useFigmaStorage/useFigmaStorage.ru.mdx +28 -0
- package/src/media/functional/figma-ref/composables/useFigmaStorage/useFigmaStorage.vi.mdx +28 -0
- package/src/media/functional/figma-ref/composables/useFigmaUiFrames/useFigmaUiFrames.en.mdx +7 -12
- package/src/media/functional/figma-ref/composables/useFigmaUiFrames/useFigmaUiFrames.ru.mdx +7 -12
- package/src/media/functional/figma-ref/composables/useFigmaUiFrames/useFigmaUiFrames.vi.mdx +8 -13
- package/src/media/functional/figma-ref/composables/useFigmaUiSelected/useFigmaUiSelected.en.mdx +12 -17
- package/src/media/functional/figma-ref/composables/useFigmaUiSelected/useFigmaUiSelected.ru.mdx +13 -18
- package/src/media/functional/figma-ref/composables/useFigmaUiSelected/useFigmaUiSelected.vi.mdx +14 -19
- package/src/media/functional/functional/composables/useApiAsyncRef/useApiAsyncRef.en.mdx +2 -3
- package/src/media/functional/functional/composables/useApiAsyncRef/useApiAsyncRef.ru.mdx +2 -3
- package/src/media/functional/functional/composables/useApiAsyncRef/useApiAsyncRef.vi.mdx +2 -3
- package/src/media/functional/functional/composables/useApiManagementRef/useApiManagementAsyncRef.en.mdx +41 -0
- package/src/media/functional/functional/composables/useApiManagementRef/useApiManagementAsyncRef.ru.mdx +41 -0
- package/src/media/functional/functional/composables/useApiManagementRef/useApiManagementAsyncRef.vi.mdx +41 -0
- package/src/media/functional/functional/composables/useApiManagementRef/useApiManagementRef.en.mdx +12 -0
- package/src/media/functional/functional/composables/useApiManagementRef/useApiManagementRef.ru.mdx +12 -0
- package/src/media/functional/functional/composables/useApiManagementRef/useApiManagementRef.vi.mdx +6 -0
- package/src/media/functional/functional/composables/useApiRef/useApiRef.en.mdx +12 -9
- package/src/media/functional/functional/composables/useApiRef/useApiRef.ru.mdx +12 -9
- package/src/media/functional/functional/composables/useApiRef/useApiRef.vi.mdx +11 -9
- package/src/media/functional/nitro-basic/functions/getInject.en.mdx +27 -0
- package/src/media/functional/nitro-basic/functions/getInject.ru.mdx +27 -0
- package/src/media/functional/nitro-basic/functions/getInject.vi.mdx +20 -0
- package/src/media/functional/ui-figma/about/about.en.mdx +52 -0
- package/src/media/functional/ui-figma/about/about.ru.mdx +52 -0
- package/src/media/functional/ui-figma/about/about.vi.mdx +52 -0
- package/src/media/functional/ui-figma/frames/frames.en.mdx +58 -0
- package/src/media/functional/ui-figma/frames/frames.ru.mdx +58 -0
- package/src/media/functional/ui-figma/frames/frames.vi.mdx +58 -0
- package/src/media/functional/ui-figma/messenger/messenger.en.mdx +67 -0
- package/src/media/functional/ui-figma/messenger/messenger.ru.mdx +67 -0
- package/src/media/functional/ui-figma/messenger/messenger.vi.mdx +67 -0
- package/src/media/functional/ui-figma/selection/selection.en.mdx +65 -0
- package/src/media/functional/ui-figma/selection/selection.ru.mdx +65 -0
- package/src/media/functional/ui-figma/selection/selection.vi.mdx +65 -0
- package/src/media/functional/ui-figma/storage/storage.en.mdx +53 -0
- package/src/media/functional/ui-figma/storage/storage.ru.mdx +53 -0
- package/src/media/functional/ui-figma/storage/storage.vi.mdx +53 -0
- package/src/media/functional/ui-figma/styles/styles.en.mdx +57 -0
- package/src/media/functional/ui-figma/styles/styles.ru.mdx +57 -0
- package/src/media/functional/ui-figma/styles/styles.vi.mdx +57 -0
- /package/src/media/functional/ui/{wiki-data.en.mdx → wiki/wiki-data.en.mdx} +0 -0
- /package/src/media/functional/ui/{wiki-data.ru.mdx → wiki/wiki-data.ru.mdx} +0 -0
- /package/src/media/functional/ui/{wiki-data.vi.mdx → wiki/wiki-data.vi.mdx} +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/vi/figma-code/Functions/makeFigmaFrameSelection - Theo dõi vùng chọn'/>
|
|
4
|
+
|
|
5
|
+
# `makeFigmaFrameSelection`
|
|
6
|
+
|
|
7
|
+
Kích hoạt một trình lắng nghe toàn cục cho sự kiện `selectionchange` trong Figma. Được sử dụng để đồng bộ hóa trạng thái của các phần tử được chọn giữa sandbox Figma (Backend) và giao diện của plugin (Frontend).
|
|
8
|
+
|
|
9
|
+
Hàm này được thiết kế để sử dụng trong mã code (Backend) của plugin Figma. Nó tự động đăng ký các thay đổi về vùng chọn của người dùng. Mỗi khi vùng chọn thay đổi, dữ liệu về các phần tử được chọn (bao gồm tên, ID và ảnh chụp màn hình JPG) sẽ được thu thập và gửi đến Giao diện Người dùng (UI) thông qua `FigmaPluginMessenger`. Điều này giúp loại bỏ việc phải thiết lập các trình lắng nghe sự kiện thủ công và xử lý xuất hình ảnh cho từng đối tượng được chọn.
|
|
10
|
+
|
|
11
|
+
**Trả về:**
|
|
12
|
+
`void`
|
|
13
|
+
|
|
14
|
+
## Ví dụ
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
import { makeFigmaFrameSelection } from '@dxtmisha/figma-code'
|
|
18
|
+
|
|
19
|
+
// Khởi tạo trong mã plugin (Backend)
|
|
20
|
+
makeFigmaFrameSelection()
|
|
21
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/en/figma-code/Functions/makeFigmaTexts - Track text elements'/>
|
|
4
|
+
|
|
5
|
+
# `makeFigmaTexts`
|
|
6
|
+
|
|
7
|
+
A utility for automating the tracking of selection changes in Figma. It sets up a global `selectionchange` event listener that collects text element data and screenshots of the current page, sending this information to the plugin's UI.
|
|
8
|
+
|
|
9
|
+
**Parameters:**
|
|
10
|
+
None.
|
|
11
|
+
|
|
12
|
+
**Returns:**
|
|
13
|
+
`void`
|
|
14
|
+
|
|
15
|
+
## Examples
|
|
16
|
+
|
|
17
|
+
<Source
|
|
18
|
+
language='typescript'
|
|
19
|
+
code={`
|
|
20
|
+
import { makeFigmaTexts } from '@dxtmisha/figma-code'
|
|
21
|
+
|
|
22
|
+
// Initialization in the main part of the plugin (typically code.ts)
|
|
23
|
+
makeFigmaTexts()
|
|
24
|
+
|
|
25
|
+
// Now, every time the user changes the selection,
|
|
26
|
+
// the UI will receive updated text data and screenshots.
|
|
27
|
+
`}
|
|
28
|
+
/>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/ru/figma-code/Functions/makeFigmaTexts - Отслеживание текстовых элементов'/>
|
|
4
|
+
|
|
5
|
+
# `makeFigmaTexts`
|
|
6
|
+
|
|
7
|
+
Утилита для автоматизации процесса отслеживания изменений выделения в Figma. Она настраивает глобальный слушатель события `selectionchange`, который при каждом срабатывании собирает данные о текстовых элементах и скриншоты текущей страницы, отправляя их в интерфейс (UI) плагина.
|
|
8
|
+
|
|
9
|
+
**Параметры:**
|
|
10
|
+
Отсутствуют.
|
|
11
|
+
|
|
12
|
+
**Возвращает:**
|
|
13
|
+
`void`
|
|
14
|
+
|
|
15
|
+
## Примеры
|
|
16
|
+
|
|
17
|
+
<Source
|
|
18
|
+
language='typescript'
|
|
19
|
+
code={`
|
|
20
|
+
import { makeFigmaTexts } from '@dxtmisha/figma-code'
|
|
21
|
+
|
|
22
|
+
// Инициализация в основной части плагина (обычно в code.ts)
|
|
23
|
+
makeFigmaTexts()
|
|
24
|
+
|
|
25
|
+
// Теперь при каждом изменении выделения пользователем,
|
|
26
|
+
// UI будет получать обновленные данные о текстах и скриншоты.
|
|
27
|
+
`}
|
|
28
|
+
/>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/vi/figma-code/Functions/makeFigmaTexts - Theo dõi các phần tử văn bản'/>
|
|
4
|
+
|
|
5
|
+
# `makeFigmaTexts`
|
|
6
|
+
|
|
7
|
+
Một tiện ích để tự động hóa quá trình theo dõi các thay đổi lựa chọn trong Figma. Nó thiết lập một trình lắng nghe sự kiện `selectionchange` toàn cục, mỗi khi được kích hoạt sẽ thu thập dữ liệu về các phần tử văn bản và ảnh chụp màn hình của trang hiện tại, sau đó gửi thông tin này đến giao diện người dùng (UI) của plugin.
|
|
8
|
+
|
|
9
|
+
**Tham số:**
|
|
10
|
+
Không có.
|
|
11
|
+
|
|
12
|
+
**Trả về:**
|
|
13
|
+
`void`
|
|
14
|
+
|
|
15
|
+
## Ví dụ
|
|
16
|
+
|
|
17
|
+
<Source
|
|
18
|
+
language='typescript'
|
|
19
|
+
code={`
|
|
20
|
+
import { makeFigmaTexts } from '@dxtmisha/figma-code'
|
|
21
|
+
|
|
22
|
+
// Khởi tạo trong phần chính của plugin (thường là code.ts)
|
|
23
|
+
makeFigmaTexts()
|
|
24
|
+
|
|
25
|
+
// Giờ đây, mỗi khi người dùng thay đổi lựa chọn,
|
|
26
|
+
// UI sẽ nhận được dữ liệu văn bản và ảnh chụp màn hình cập nhật.
|
|
27
|
+
`}
|
|
28
|
+
/>
|
package/src/media/functional/figma-code/functions/setupClientStorage/setupClientStorage.en.mdx
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/en/figma-code/Functions/setupClientStorage - Setup client storage handlers'/>
|
|
4
|
+
|
|
5
|
+
# `setupClientStorage`
|
|
6
|
+
|
|
7
|
+
A utility for setting up request handlers for Figma's client storage. it connects UI requests (GET/SET) with the actual read and write operations on the plugin side.
|
|
8
|
+
|
|
9
|
+
**Parameters:**
|
|
10
|
+
None.
|
|
11
|
+
|
|
12
|
+
**Returns:**
|
|
13
|
+
`void`
|
|
14
|
+
|
|
15
|
+
## Examples
|
|
16
|
+
|
|
17
|
+
<Source
|
|
18
|
+
language='typescript'
|
|
19
|
+
code={`
|
|
20
|
+
import { setupClientStorage } from '@dxtmisha/figma-code'
|
|
21
|
+
|
|
22
|
+
// Initialization in the main part of the plugin (typically code.ts)
|
|
23
|
+
setupClientStorage()
|
|
24
|
+
|
|
25
|
+
// Now the UI can use fetchClientStorage and sendClientStorage
|
|
26
|
+
// to interact with Figma's clientStorage.
|
|
27
|
+
`}
|
|
28
|
+
/>
|
package/src/media/functional/figma-code/functions/setupClientStorage/setupClientStorage.ru.mdx
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/ru/figma-code/Functions/setupClientStorage - Настройка обработчиков клиентского хранилища'/>
|
|
4
|
+
|
|
5
|
+
# `setupClientStorage`
|
|
6
|
+
|
|
7
|
+
Утилита для настройки обработчиков запросов к клиентскому хранилищу Figma (`clientStorage`). Она связывает запросы из интерфейса (UI) на чтение и запись данных с фактическими операциями в основной части плагина.
|
|
8
|
+
|
|
9
|
+
**Параметры:**
|
|
10
|
+
Отсутствуют.
|
|
11
|
+
|
|
12
|
+
**Возвращает:**
|
|
13
|
+
`void`
|
|
14
|
+
|
|
15
|
+
## Примеры
|
|
16
|
+
|
|
17
|
+
<Source
|
|
18
|
+
language='typescript'
|
|
19
|
+
code={`
|
|
20
|
+
import { setupClientStorage } from '@dxtmisha/figma-code'
|
|
21
|
+
|
|
22
|
+
// Инициализация в основной части плагина (обычно в code.ts)
|
|
23
|
+
setupClientStorage()
|
|
24
|
+
|
|
25
|
+
// Теперь UI может использовать fetchClientStorage и sendClientStorage
|
|
26
|
+
// для взаимодействия с хранилищем Figma.
|
|
27
|
+
`}
|
|
28
|
+
/>
|
package/src/media/functional/figma-code/functions/setupClientStorage/setupClientStorage.vi.mdx
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/vi/figma-code/Functions/setupClientStorage - Thiết lập các trình xử lý bộ nhớ client'/>
|
|
4
|
+
|
|
5
|
+
# `setupClientStorage`
|
|
6
|
+
|
|
7
|
+
Một tiện ích để thiết lập các trình xử lý yêu cầu cho bộ nhớ client (`clientStorage`) của Figma. Nó kết nối các yêu cầu từ giao diện người dùng (GET/SET) với các hoạt động đọc và ghi thực tế ở phía plugin.
|
|
8
|
+
|
|
9
|
+
**Tham số:**
|
|
10
|
+
Không có.
|
|
11
|
+
|
|
12
|
+
**Trả về:**
|
|
13
|
+
`void`
|
|
14
|
+
|
|
15
|
+
## Ví dụ
|
|
16
|
+
|
|
17
|
+
<Source
|
|
18
|
+
language='typescript'
|
|
19
|
+
code={`
|
|
20
|
+
import { setupClientStorage } from '@dxtmisha/figma-code'
|
|
21
|
+
|
|
22
|
+
// Khởi tạo trong phần chính của plugin (thường là code.ts)
|
|
23
|
+
setupClientStorage()
|
|
24
|
+
|
|
25
|
+
// Bây giờ UI có thể sử dụng fetchClientStorage và sendClientStorage
|
|
26
|
+
// để tương tác với clientStorage của Figma.
|
|
27
|
+
`}
|
|
28
|
+
/>
|
package/src/media/functional/figma-code/functions/setupFrameSelection/setupFrameSelection.en.mdx
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/en/figma-code/Functions/setupFrameSelection - Setup bidirectional selection'/>
|
|
4
|
+
|
|
5
|
+
# `setupFrameSelection`
|
|
6
|
+
|
|
7
|
+
Sets up bidirectional frame selection management between the Figma backend and the plugin UI. This single function handles both automatic tracking of what the user is currently looking at and programmatic selection from the interface.
|
|
8
|
+
|
|
9
|
+
1. **Selection Tracking** — Automatically calls `makeFigmaFrameSelection()`, which starts observing user selection changes in Figma and sends detailed data (names, IDs, screenshots) to the UI.
|
|
10
|
+
2. **Remote Control** — Registers a listener for the `UI_FIGMA_FRAME_SET_SELECTION` message. When the UI sends this message with an ID, the backend finds the object, selects it, and zooms the viewport to focus on it.
|
|
11
|
+
|
|
12
|
+
**Returns:**
|
|
13
|
+
`void`
|
|
14
|
+
|
|
15
|
+
## Examples
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { setupFrameSelection } from '@dxtmisha/figma-code'
|
|
19
|
+
|
|
20
|
+
// Call this during plugin backend initialization
|
|
21
|
+
setupFrameSelection()
|
|
22
|
+
```
|
package/src/media/functional/figma-code/functions/setupFrameSelection/setupFrameSelection.ru.mdx
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/ru/figma-code/Functions/setupFrameSelection - Настройка двустороннего выделения'/>
|
|
4
|
+
|
|
5
|
+
# `setupFrameSelection`
|
|
6
|
+
|
|
7
|
+
Настраивает двустороннее управление выделением фреймов между бэкендом Figma и интерфейсом плагина. Эта одна функция отвечает как за автоматическое отслеживание текущего выделения пользователя, так и за программное выделение объектов из интерфейса.
|
|
8
|
+
|
|
9
|
+
1. **Отслеживание выделения** — Автоматически вызывает `makeFigmaFrameSelection()`, которая начинает наблюдать за изменениями выделения в Figma и отправляет подробные данные (имена, ID, скриншоты) в UI.
|
|
10
|
+
2. **Дистанционное управление** — Регистрирует слушатель сообщения `UI_FIGMA_FRAME_SET_SELECTION`. Когда UI отправляет это сообщение с ID объекта, бэкенд находит его, выделяет и фокусирует камеру на нем.
|
|
11
|
+
|
|
12
|
+
**Возвращает:**
|
|
13
|
+
`void`
|
|
14
|
+
|
|
15
|
+
## Примеры
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { setupFrameSelection } from '@dxtmisha/figma-code'
|
|
19
|
+
|
|
20
|
+
// Вызовите это при инициализации бэкенда плагина
|
|
21
|
+
setupFrameSelection()
|
|
22
|
+
```
|
package/src/media/functional/figma-code/functions/setupFrameSelection/setupFrameSelection.vi.mdx
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/vi/figma-code/Functions/setupFrameSelection - Thiết lập vùng chọn hai chiều'/>
|
|
4
|
+
|
|
5
|
+
# `setupFrameSelection`
|
|
6
|
+
|
|
7
|
+
Thiết lập quản lý vùng chọn frame hai chiều giữa backend Figma và UI của plugin. Hàm duy nhất này xử lý cả việc tự động theo dõi những gì người dùng hiện đang xem và chọn các phần tử theo chương trình từ giao diện.
|
|
8
|
+
|
|
9
|
+
1. **Theo dõi vùng chọn** — Tự động gọi `makeFigmaFrameSelection()`, bắt đầu quan sát các thay đổi vùng chọn của người dùng trong Figma và gửi dữ liệu chi tiết (tên, ID, ảnh chụp màn hình) đến UI.
|
|
10
|
+
2. **Điều khiển từ xa** — Đăng ký trình lắng nghe cho tin nhắn `UI_FIGMA_FRAME_SET_SELECTION`. Khi UI gửi tin nhắn này kèm theo ID, backend sẽ tìm đối tượng, chọn nó và thu phóng viewport để tập trung vào nó.
|
|
11
|
+
|
|
12
|
+
**Trả về:**
|
|
13
|
+
`void`
|
|
14
|
+
|
|
15
|
+
## Ví dụ
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { setupFrameSelection } from '@dxtmisha/figma-code'
|
|
19
|
+
|
|
20
|
+
// Gọi hàm này trong quá trình khởi tạo backend của plugin
|
|
21
|
+
setupFrameSelection()
|
|
22
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/en/figma-code/Functions/setupFrameStyles - Handling style requests'/>
|
|
4
|
+
|
|
5
|
+
# `setupFrameStyles`
|
|
6
|
+
|
|
7
|
+
Initializes a handler for retrieving extended data about frame styles.
|
|
8
|
+
|
|
9
|
+
**Returns:**
|
|
10
|
+
`void`
|
|
11
|
+
|
|
12
|
+
## Examples
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { setupFrameStyles } from '@dxtmisha/figma-code'
|
|
16
|
+
|
|
17
|
+
// Initialization in the plugin's Backend code
|
|
18
|
+
setupFrameStyles()
|
|
19
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/ru/figma-code/Functions/setupFrameStyles - Обработка запросов стилей'/>
|
|
4
|
+
|
|
5
|
+
# `setupFrameStyles`
|
|
6
|
+
|
|
7
|
+
Инициализирует обработчик для получения расширенных данных о стилях фреймов.
|
|
8
|
+
|
|
9
|
+
**Возвращает:**
|
|
10
|
+
`void`
|
|
11
|
+
|
|
12
|
+
## Примеры
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { setupFrameStyles } from '@dxtmisha/figma-code'
|
|
16
|
+
|
|
17
|
+
// Инициализация в Backend коде плагина
|
|
18
|
+
setupFrameStyles()
|
|
19
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/vi/figma-code/Functions/setupFrameStyles - Xử lý yêu cầu style'/>
|
|
4
|
+
|
|
5
|
+
# `setupFrameStyles`
|
|
6
|
+
|
|
7
|
+
Khởi tạo trình xử lý để truy xuất dữ liệu mở rộng về style của frame.
|
|
8
|
+
|
|
9
|
+
**Trả về:**
|
|
10
|
+
`void`
|
|
11
|
+
|
|
12
|
+
## Ví dụ
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { setupFrameStyles } from '@dxtmisha/figma-code'
|
|
16
|
+
|
|
17
|
+
// Khởi tạo trong mã Backend của plugin
|
|
18
|
+
setupFrameStyles()
|
|
19
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/en/figma-code/Functions/setupStorage - Setup shared storage handlers'/>
|
|
4
|
+
|
|
5
|
+
# `setupStorage`
|
|
6
|
+
|
|
7
|
+
A utility for setting up request handlers for Figma's shared storage. It connects UI requests (GET/SET) with the actual read and write operations in the plugin, supporting optional object identifiers (e.g., node IDs).
|
|
8
|
+
|
|
9
|
+
**Parameters:**
|
|
10
|
+
None.
|
|
11
|
+
|
|
12
|
+
**Returns:**
|
|
13
|
+
`void`
|
|
14
|
+
|
|
15
|
+
## Examples
|
|
16
|
+
|
|
17
|
+
<Source
|
|
18
|
+
language='typescript'
|
|
19
|
+
code={`
|
|
20
|
+
import { setupStorage } from '@dxtmisha/figma-code'
|
|
21
|
+
|
|
22
|
+
// Initialization in the main part of the plugin (typically code.ts)
|
|
23
|
+
setupStorage()
|
|
24
|
+
|
|
25
|
+
// Now the UI can use fetchStorage and sendStorage
|
|
26
|
+
// to interact with Figma's shared storage.
|
|
27
|
+
`}
|
|
28
|
+
/>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/ru/figma-code/Functions/setupStorage - Настройка обработчиков общего хранилища'/>
|
|
4
|
+
|
|
5
|
+
# `setupStorage`
|
|
6
|
+
|
|
7
|
+
Утилита для настройки обработчиков запросов к общему хранилищу Figma. Она связывает запросы из интерфейса (UI) на чтение и запись данных с фактическими операциями в плагине, поддерживая привязку к конкретным идентификаторам объектов (например, ID нод).
|
|
8
|
+
|
|
9
|
+
**Параметры:**
|
|
10
|
+
Отсутствуют.
|
|
11
|
+
|
|
12
|
+
**Возвращает:**
|
|
13
|
+
`void`
|
|
14
|
+
|
|
15
|
+
## Примеры
|
|
16
|
+
|
|
17
|
+
<Source
|
|
18
|
+
language='typescript'
|
|
19
|
+
code={`
|
|
20
|
+
import { setupStorage } from '@dxtmisha/figma-code'
|
|
21
|
+
|
|
22
|
+
// Инициализация в основной части плагина (обычно в code.ts)
|
|
23
|
+
setupStorage()
|
|
24
|
+
|
|
25
|
+
// Теперь UI может использовать fetchStorage и sendStorage
|
|
26
|
+
// для взаимодействия с общим хранилищем Figma.
|
|
27
|
+
`}
|
|
28
|
+
/>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/vi/figma-code/Functions/setupStorage - Thiết lập các trình xử lý bộ nhớ chung'/>
|
|
4
|
+
|
|
5
|
+
# `setupStorage`
|
|
6
|
+
|
|
7
|
+
Một tiện ích để thiết lập các trình xử lý yêu cầu cho bộ nhớ chung của Figma. Nó kết nối các yêu cầu từ giao diện người dùng (GET/SET) với các hoạt động đọc và ghi thực tế trong plugin, hỗ trợ các định danh đối tượng tùy chọn (ví dụ: ID của node).
|
|
8
|
+
|
|
9
|
+
**Tham số:**
|
|
10
|
+
Không có.
|
|
11
|
+
|
|
12
|
+
**Trả về:**
|
|
13
|
+
`void`
|
|
14
|
+
|
|
15
|
+
## Ví dụ
|
|
16
|
+
|
|
17
|
+
<Source
|
|
18
|
+
language='typescript'
|
|
19
|
+
code={`
|
|
20
|
+
import { setupStorage } from '@dxtmisha/figma-code'
|
|
21
|
+
|
|
22
|
+
// Khởi tạo trong phần chính của plugin (thường là code.ts)
|
|
23
|
+
setupStorage()
|
|
24
|
+
|
|
25
|
+
// Bây giờ UI có thể sử dụng fetchStorage và sendStorage
|
|
26
|
+
// để tương tác với bộ nhớ chung của Figma.
|
|
27
|
+
`}
|
|
28
|
+
/>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/en/figma-code/Functions/toFrameSelection - Select and focus frame'/>
|
|
4
|
+
|
|
5
|
+
# `toFrameSelection`
|
|
6
|
+
|
|
7
|
+
An asynchronous utility that finds a Figma node by its ID, moves the viewport to it, and selects it. If the node is on a different page, it automatically switches to that page.
|
|
8
|
+
|
|
9
|
+
**Parameters:**
|
|
10
|
+
- `id?: string` — (Optional) The identifier (ID) of the node to select.
|
|
11
|
+
|
|
12
|
+
**Returns:**
|
|
13
|
+
`Promise<void>`
|
|
14
|
+
|
|
15
|
+
## Examples
|
|
16
|
+
|
|
17
|
+
<Source
|
|
18
|
+
language='typescript'
|
|
19
|
+
code={`
|
|
20
|
+
import { toFrameSelection } from '@dxtmisha/figma-code'
|
|
21
|
+
|
|
22
|
+
async function jumpToElement(nodeId: string) {
|
|
23
|
+
await toFrameSelection(nodeId)
|
|
24
|
+
console.log('Viewport moved and node selected')
|
|
25
|
+
}
|
|
26
|
+
`}
|
|
27
|
+
/>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/ru/figma-code/Functions/toFrameSelection - Выделение и фокус на фрейме'/>
|
|
4
|
+
|
|
5
|
+
# `toFrameSelection`
|
|
6
|
+
|
|
7
|
+
Асинхронная утилита, которая находит узел Figma по его ID, перемещает к нему вьюпорт и выделяет его. Если узел находится на другой странице, функция автоматически переключит текущую страницу.
|
|
8
|
+
|
|
9
|
+
**Параметры:**
|
|
10
|
+
- `id?: string` — (Опционально) Идентификатор (ID) узла для выделения.
|
|
11
|
+
|
|
12
|
+
**Возвращает:**
|
|
13
|
+
`Promise<void>`
|
|
14
|
+
|
|
15
|
+
## Примеры
|
|
16
|
+
|
|
17
|
+
<Source
|
|
18
|
+
language='typescript'
|
|
19
|
+
code={`
|
|
20
|
+
import { toFrameSelection } from '@dxtmisha/figma-code'
|
|
21
|
+
|
|
22
|
+
async function jumpToElement(nodeId: string) {
|
|
23
|
+
await toFrameSelection(nodeId)
|
|
24
|
+
console.log('Вид перемещен и узел выделен')
|
|
25
|
+
}
|
|
26
|
+
`}
|
|
27
|
+
/>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Meta, Source } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/vi/figma-code/Functions/toFrameSelection - Chọn và tập trung vào frame'/>
|
|
4
|
+
|
|
5
|
+
# `toFrameSelection`
|
|
6
|
+
|
|
7
|
+
Một tiện ích bất đồng bộ giúp tìm một node Figma bằng ID của nó, di chuyển khung nhìn (viewport) đến đó và chọn nó. Nếu node nằm ở một trang khác, nó sẽ tự động chuyển sang trang đó.
|
|
8
|
+
|
|
9
|
+
**Tham số:**
|
|
10
|
+
- `id?: string` — (Tùy chọn) Định danh (ID) của node cần chọn.
|
|
11
|
+
|
|
12
|
+
**Trả về:**
|
|
13
|
+
`Promise<void>`
|
|
14
|
+
|
|
15
|
+
## Ví dụ
|
|
16
|
+
|
|
17
|
+
<Source
|
|
18
|
+
language='typescript'
|
|
19
|
+
code={`
|
|
20
|
+
import { toFrameSelection } from '@dxtmisha/figma-code'
|
|
21
|
+
|
|
22
|
+
async function jumpToElement(nodeId: string) {
|
|
23
|
+
await toFrameSelection(nodeId)
|
|
24
|
+
console.log('Đã di chuyển khung nhìn và chọn node')
|
|
25
|
+
}
|
|
26
|
+
`}
|
|
27
|
+
/>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/en/figma-ref/Composables/useFigmaClientStorage - Client storage management'/>
|
|
4
|
+
|
|
5
|
+
# `useFigmaClientStorage`
|
|
6
|
+
|
|
7
|
+
A reactive wrapper for Figma's client storage. It synchronizes a Vue `shallowRef` with the plugin's `clientStorage`, allowing for persistent data storage on the user's machine with automatic updates.
|
|
8
|
+
|
|
9
|
+
**Parameters:**
|
|
10
|
+
- `name: string` — The key name in the client storage.
|
|
11
|
+
- `defaultValue?: T` — The default value if no data is found in storage.
|
|
12
|
+
|
|
13
|
+
**Returns:**
|
|
14
|
+
- `item: Ref<T | undefined>` — A reactive reference to the stored value.
|
|
15
|
+
- `loading: Ref<boolean>` — A reactive boolean indicating if the initial fetch is in progress.
|
|
16
|
+
|
|
17
|
+
## Usage Example
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { useFigmaClientStorage } from '@dxtmisha/figma-ref'
|
|
21
|
+
|
|
22
|
+
const { item: theme, loading } = useFigmaClientStorage('app-theme', 'light')
|
|
23
|
+
|
|
24
|
+
// Updates to theme.value are automatically saved to Figma's clientStorage
|
|
25
|
+
theme.value = 'dark'
|
|
26
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/ru/figma-ref/Composables/useFigmaClientStorage - Управление клиентским хранилищем'/>
|
|
4
|
+
|
|
5
|
+
# `useFigmaClientStorage`
|
|
6
|
+
|
|
7
|
+
Реактивная обертка для клиентского хранилища Figma. Она синхронизирует Vue `shallowRef` с `clientStorage` плагина, обеспечивая постоянное хранение данных на машине пользователя с автоматическим обновлением.
|
|
8
|
+
|
|
9
|
+
**Параметры:**
|
|
10
|
+
- `name: string` — название ключа в клиентском хранилище.
|
|
11
|
+
- `defaultValue?: T` — значение по умолчанию, если в хранилище ничего не найдено.
|
|
12
|
+
|
|
13
|
+
**Возвращает:**
|
|
14
|
+
- `item: Ref<T | undefined>` — реактивная ссылка на сохраненное значение.
|
|
15
|
+
- `loading: Ref<boolean>` — реактивный флаг, указывающий на процесс первичного получения данных.
|
|
16
|
+
|
|
17
|
+
## Пример использования
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { useFigmaClientStorage } from '@dxtmisha/figma-ref'
|
|
21
|
+
|
|
22
|
+
const { item: theme, loading } = useFigmaClientStorage('app-theme', 'light')
|
|
23
|
+
|
|
24
|
+
// Изменения theme.value автоматически сохраняются в clientStorage Figma
|
|
25
|
+
theme.value = 'dark'
|
|
26
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/vi/figma-ref/Composables/useFigmaClientStorage - Quản lý bộ nhớ client'/>
|
|
4
|
+
|
|
5
|
+
# `useFigmaClientStorage`
|
|
6
|
+
|
|
7
|
+
Một lớp bọc phản hồi cho bộ nhớ client của Figma. Nó đồng bộ hóa một Vue `shallowRef` với `clientStorage` của plugin, cho phép lưu trữ dữ liệu bền vững trên máy tính của người dùng với các cập nhật tự động.
|
|
8
|
+
|
|
9
|
+
**Tham số:**
|
|
10
|
+
- `name: string` — Tên khóa trong bộ nhớ client.
|
|
11
|
+
- `defaultValue?: T` — Giá trị mặc định nếu không tìm thấy dữ liệu trong bộ nhớ.
|
|
12
|
+
|
|
13
|
+
**Trả về:**
|
|
14
|
+
- `item: Ref<T | undefined>` — Một tham chiếu phản hồi đến giá trị được lưu trữ.
|
|
15
|
+
- `loading: Ref<boolean>` — Một giá trị logic phản hồi cho biết liệu quá trình lấy dữ liệu ban đầu có đang diễn ra hay không.
|
|
16
|
+
|
|
17
|
+
## Ví dụ sử dụng
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { useFigmaClientStorage } from '@dxtmisha/figma-ref'
|
|
21
|
+
|
|
22
|
+
const { item: theme, loading } = useFigmaClientStorage('app-theme', 'light')
|
|
23
|
+
|
|
24
|
+
// Các cập nhật cho theme.value sẽ tự động được lưu vào clientStorage của Figma
|
|
25
|
+
theme.value = 'dark'
|
|
26
|
+
```
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/en/figma-ref/Composables/useFigmaFrameSelection - Observing frame selection (full info)'/>
|
|
4
|
+
|
|
5
|
+
# `useFigmaFrameSelection`
|
|
6
|
+
|
|
7
|
+
A composable for retrieving and observing the detailed list of frames currently selected in Figma. Unlike `useFigmaUiSelected` (which only manages IDs in the UI), this composable provides full information about the selection, including names and screenshots, by listening to Figma's `selectionchange` events.
|
|
8
|
+
|
|
9
|
+
**Returns:**
|
|
10
|
+
- `selection: ComputedRef<UiFigmaFramesList>` — A computed reference to the list of selected frames (names, IDs, and screenshots).
|
|
11
|
+
- `setSelection(id: string): void` — A method to programmatically change the selection in Figma to a specific element.
|
|
12
|
+
- `loading: ComputedRef<boolean>` — A reactive flag indicating if the selection data is being fetched.
|
|
13
|
+
|
|
14
|
+
## Usage Example
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
import { useFigmaFrameSelection } from '@dxtmisha/figma-ref'
|
|
18
|
+
|
|
19
|
+
const { selection, setSelection, loading } = useFigmaFrameSelection()
|
|
20
|
+
|
|
21
|
+
// 'selection' updates whenever the user changes their selection in Figma
|
|
22
|
+
// 'setSelection' can be used to programmatically change the selection:
|
|
23
|
+
setSelection('12:34')
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Data Types
|
|
27
|
+
|
|
28
|
+
#### `UiFigmaFramesItem`
|
|
29
|
+
Represents a simplified frame element for the UI.
|
|
30
|
+
- `name: string` — The name of the frame.
|
|
31
|
+
- `id: string` — The unique identifier of the element.
|
|
32
|
+
- `image: Uint8Array | string` — The image of the frame (optional).
|
|
33
|
+
|
|
34
|
+
#### `UiFigmaFramesList`
|
|
35
|
+
A list of `UiFigmaFramesItem` objects.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/ru/figma-ref/Composables/useFigmaFrameSelection - Наблюдение за выделением фреймов (полная инфо)'/>
|
|
4
|
+
|
|
5
|
+
# `useFigmaFrameSelection`
|
|
6
|
+
|
|
7
|
+
Composable для получения и наблюдения за подробным списком фреймов, выделенных в данный момент в Figma. В отличие от `useFigmaUiSelected` (который управляет только ID в интерфейсе), этот composable предоставляет полную информацию о выделении, включая имена и скриншоты, подписываясь на события `selectionchange` в Figma.
|
|
8
|
+
|
|
9
|
+
**Возвращает:**
|
|
10
|
+
- `selection: ComputedRef<UiFigmaFramesList>` — вычисляемая ссылка на список выделенных фреймов (имена, ID и скриншоты).
|
|
11
|
+
- `setSelection(id: string): void` — метод для программной смены выделения в Figma на конкретный элемент.
|
|
12
|
+
- `loading: ComputedRef<boolean>` — реактивный флаг, указывающий на процесс получения данных о выделении.
|
|
13
|
+
|
|
14
|
+
## Пример использования
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
import { useFigmaFrameSelection } from '@dxtmisha/figma-ref'
|
|
18
|
+
|
|
19
|
+
const { selection, setSelection, loading } = useFigmaFrameSelection()
|
|
20
|
+
|
|
21
|
+
// 'selection' обновляется каждый раз, когда пользователь меняет выделение в Figma
|
|
22
|
+
// 'setSelection' можно использовать для программного изменения выделения:
|
|
23
|
+
setSelection('12:34')
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Типы данных
|
|
27
|
+
|
|
28
|
+
#### `UiFigmaFramesItem`
|
|
29
|
+
Представляет упрощенный элемент фрейма для пользовательского интерфейса.
|
|
30
|
+
- `name: string` — Название фрейма.
|
|
31
|
+
- `id: string` — Уникальный идентификатор элемента.
|
|
32
|
+
- `image: Uint8Array | string` — Изображение фрейма (опционально).
|
|
33
|
+
|
|
34
|
+
#### `UiFigmaFramesList`
|
|
35
|
+
Список объектов типа `UiFigmaFramesItem`.
|