@dxtmisha/wiki 0.65.0 → 0.67.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.
Files changed (49) hide show
  1. package/dist/media.js +270 -162
  2. package/dist/src/media/descriptions/wikiDescriptionsMenuButton.d.ts +7 -0
  3. package/dist/src/media/descriptions/wikiDescriptionsMenuChip.d.ts +7 -0
  4. package/dist/src/media/mdx/MenuButton/wikiMdxMenuButton.d.ts +7 -0
  5. package/dist/src/media/mdx/MenuChip/wikiMdxMenuChip.d.ts +7 -0
  6. package/dist/src/media/props/wikiMenuButton.d.ts +7 -0
  7. package/dist/src/media/props/wikiMenuChip.d.ts +7 -0
  8. package/dist/storybook.js +1089 -813
  9. package/dist/{wikiDescriptions-CRalqVE2.js → wikiDescriptions-BxZP798_.js} +129 -0
  10. package/package.json +1 -1
  11. package/src/media/functional/functional-basic/functions/isTab/isTab.en.mdx +30 -0
  12. package/src/media/functional/functional-basic/functions/isTab/isTab.ru.mdx +30 -0
  13. package/src/media/functional/functional-basic/functions/isTab/isTab.vi.mdx +30 -0
  14. package/src/media/functional/scripts/bin/dxt-build-packages/build-packages.en.mdx +45 -0
  15. package/src/media/functional/scripts/bin/dxt-build-packages/build-packages.ru.mdx +45 -0
  16. package/src/media/functional/scripts/bin/dxt-build-packages/build-packages.vi.mdx +45 -0
  17. package/src/media/functional/scripts/bin/dxt-build-publish-packages/build-publish-packages.en.mdx +51 -0
  18. package/src/media/functional/scripts/bin/dxt-build-publish-packages/build-publish-packages.ru.mdx +51 -0
  19. package/src/media/functional/scripts/bin/dxt-build-publish-packages/build-publish-packages.vi.mdx +51 -0
  20. package/src/media/functional/scripts/bin/dxt-constructor/design-constructor.en.mdx +48 -0
  21. package/src/media/functional/scripts/bin/dxt-constructor/design-constructor.ru.mdx +48 -0
  22. package/src/media/functional/scripts/bin/dxt-constructor/design-constructor.vi.mdx +48 -0
  23. package/src/media/functional/scripts/bin/dxt-figma-layout/design-figma.en.mdx +45 -0
  24. package/src/media/functional/scripts/bin/dxt-figma-layout/design-figma.ru.mdx +45 -0
  25. package/src/media/functional/scripts/bin/dxt-figma-layout/design-figma.vi.mdx +45 -0
  26. package/src/media/functional/scripts/bin/dxt-flags/design-flags.en.mdx +41 -0
  27. package/src/media/functional/scripts/bin/dxt-flags/design-flags.ru.mdx +41 -0
  28. package/src/media/functional/scripts/bin/dxt-flags/design-flags.vi.mdx +41 -0
  29. package/src/media/functional/scripts/bin/dxt-library/design-library.en.mdx +40 -0
  30. package/src/media/functional/scripts/bin/dxt-library/design-library.ru.mdx +40 -0
  31. package/src/media/functional/scripts/bin/dxt-library/design-library.vi.mdx +40 -0
  32. package/src/media/functional/scripts/bin/dxt-package/design-package.en.mdx +48 -0
  33. package/src/media/functional/scripts/bin/dxt-package/design-package.ru.mdx +48 -0
  34. package/src/media/functional/scripts/bin/dxt-package/design-package.vi.mdx +48 -0
  35. package/src/media/functional/scripts/classes/BuildPackages/BuildPackages.en.mdx +34 -0
  36. package/src/media/functional/scripts/classes/BuildPackages/BuildPackages.ru.mdx +34 -0
  37. package/src/media/functional/scripts/classes/BuildPackages/BuildPackages.vi.mdx +34 -0
  38. package/src/media/functional/scripts/classes/BuildPublishPackages/BuildPublishPackages.en.mdx +33 -0
  39. package/src/media/functional/scripts/classes/BuildPublishPackages/BuildPublishPackages.ru.mdx +33 -0
  40. package/src/media/functional/scripts/classes/BuildPublishPackages/BuildPublishPackages.vi.mdx +33 -0
  41. package/src/media/functional/scripts/classes/DesignFigma/DesignFigma.en.mdx +54 -0
  42. package/src/media/functional/scripts/classes/DesignFigma/DesignFigma.ru.mdx +54 -0
  43. package/src/media/functional/scripts/classes/DesignFigma/DesignFigma.vi.mdx +54 -0
  44. package/src/media/functional/scripts/classes/DesignFlags/DesignFlags.en.mdx +2 -0
  45. package/src/media/functional/scripts/classes/DesignFlags/DesignFlags.ru.mdx +2 -0
  46. package/src/media/functional/scripts/classes/DesignFlags/DesignFlags.vi.mdx +2 -0
  47. package/src/media/functional/scripts/classes/LibraryExport/LibraryExport.en.mdx +33 -17
  48. package/src/media/functional/scripts/classes/LibraryExport/LibraryExport.ru.mdx +33 -17
  49. package/src/media/functional/scripts/classes/LibraryExport/LibraryExport.vi.mdx +33 -17
@@ -0,0 +1,48 @@
1
+ import {Meta} from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/vi/scripts/bin/dxt-package - Khởi tạo Cấu trúc Package'/>
4
+
5
+ # dxt-package
6
+
7
+ Lệnh `dxt-package` tự động hóa việc khởi tạo cấu trúc package mới và môi trường phát triển dựa trên các mẫu được xác định trước. Dưới mui xe, nó sử dụng các lớp `PackageInit` và `PackageInitItem` để xử lý các thư mục package trống và tạo bộ khung nền tảng cho chúng.
8
+
9
+ ## Các tính năng chính
10
+
11
+ - **Tự động Quét Thư mục**: Tự động quét thư mục cơ sở được định cấu hình (mặc định là `packages/`) và xác định các thư mục package trống cần được khởi tạo.
12
+ - **Tạo khung dựa trên mẫu**: Hỗ trợ áp dụng các mẫu cụ thể để tùy chỉnh quá trình tạo, điều chỉnh cấu trúc khung dựa trên `type` của package được cung cấp.
13
+ - **Cấu hình Linh hoạt**: Cho phép ghi đè loại package mặc định, các mẫu và thư mục cơ sở đích thông qua các đối số dòng lệnh.
14
+
15
+ ## Cách thức hoạt động?
16
+
17
+ Quy trình khởi tạo package giúp đơn giản hóa việc tạo các package mới:
18
+
19
+ 1. Script đọc các đối số được cung cấp để xác định `type` của package (mặc định là `library`), các `templates` và thư mục đích `dir`.
20
+ 2. Nó quét thư mục đích để tìm bất kỳ thư mục trống nào (các thư mục không chứa phần tử con).
21
+ 3. Đối với mỗi thư mục trống được tìm thấy, nó khởi tạo một phiên bản `PackageInitItem`, truyền vào đường dẫn package, loại và các mẫu.
22
+ 4. Sau đó, hệ thống xử lý các cấu hình này để tạo ra các tệp bắt buộc và cấu trúc môi trường cho package, giúp nó sẵn sàng để phát triển.
23
+
24
+ ## Cấu hình và khởi chạy
25
+
26
+ Để khởi tạo các thư mục package trống mới được tạo với loại `library` mặc định, hãy chạy:
27
+ ```bash
28
+ npx dxt-package
29
+ ```
30
+
31
+ Để chỉ định một loại package tùy chỉnh (ví dụ: `vue`), hãy chạy:
32
+ ```bash
33
+ npx dxt-package vue
34
+ ```
35
+
36
+ Để chỉ định loại tùy chỉnh và áp dụng các mẫu cụ thể, hãy truyền chúng dưới dạng đối số:
37
+ ```bash
38
+ npx dxt-package vue "template1,template2"
39
+ ```
40
+
41
+ Bạn cũng có thể chỉ định một thư mục cơ sở tùy chỉnh làm đối số thứ ba:
42
+ ```bash
43
+ npx dxt-package vue "template1" "packages/custom-dir"
44
+ ```
45
+
46
+ ## Cấu trúc được tạo
47
+
48
+ Khi lệnh xử lý một thư mục trống, nó sẽ tạo ra các tệp cơ sở cần thiết cho loại package và các mẫu đã cho. Điều này thường bao gồm các tệp cấu trúc, cấu hình cơ bản và điểm truy cập, biến một thư mục trống thành một môi trường package đầy đủ chức năng trong không gian làm việc.
@@ -0,0 +1,34 @@
1
+ import {Meta} from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/en/scripts/Classes/BuildPackages - Library Builder for Monorepo' />
4
+
5
+ # BuildPackages Class
6
+
7
+ The `BuildPackages` class is a utility responsible for rebuilding changed npm packages across the monorepo workspace. It scans the `packages` directory, determines version changes compared to a local log cache, and incrementally builds only packages with updated versions.
8
+
9
+ ## Key Features
10
+
11
+ - **Automated Directory Scanning** — Scans the packages folder (`packages/`) for directories containing a valid `package.json`.
12
+ - **Incremental Version-Based Caching** — Compares the package version with `./logs/ui-build.log.json` to prevent rebuilding unchanged code.
13
+ - **Intelligent Script Resolution** — Runs `build-recovery` if defined in `package.json` scripts, otherwise falls back to `build`.
14
+ - **Test Package Filtering** — Ignores packages marked with `"ui-test": true`.
15
+
16
+ ## Initialization
17
+
18
+ You can create an instance of `BuildPackages` by optionally passing a custom packages directory path.
19
+
20
+ ```typescript
21
+ import { BuildPackages } from './BuildPackages'
22
+
23
+ const builder = new BuildPackages()
24
+ await builder.make()
25
+ ```
26
+
27
+ ## Methods
28
+
29
+ - `make(): Promise<void>` — Initiates scanning and triggers the incremental build process for each detected package.
30
+ - `build(packageFile: PackageFile): Promise<boolean>` — Executes the actual build command (`npm run build-recovery` or `npm run build`) for the package.
31
+ - `isUpdate(packageFile: PackageFile): boolean` — Checks whether the package's version in `package.json` is different from the version stored in the log file.
32
+ - `getVersionLog(name: string): string` — Retrieves the cached version of the package from the build log.
33
+ - `updateLog(packageFile: PackageFile): void` — Updates the in-memory build log with the current package version.
34
+ - `saveLog(): void` — Saves the in-memory build log to the `./logs/ui-build.log.json` file.
@@ -0,0 +1,34 @@
1
+ import {Meta} from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/ru/scripts/Classes/BuildPackages - Сборщик пакетов монорепозитория' />
4
+
5
+ # Класс BuildPackages
6
+
7
+ Класс `BuildPackages` — это утилита, отвечающая за сборку измененных npm-пакетов в рабочем пространстве монорепозитория. Он сканирует директорию `packages`, определяет изменения версий по сравнению с локальным кэшем логов и выполняет инкрементальную сборку только тех пакетов, чьи версии обновились.
8
+
9
+ ## Ключевые особенности
10
+
11
+ - **Автоматическое сканирование директорий** — сканирует папку пакетов (`packages/`) на наличие директорий с корректным файлом `package.json`.
12
+ - **Инкрементальное кэширование по версиям** — сравнивает версию пакета с данными в `./logs/ui-build.log.json` для предотвращения повторной сборки неизмененного кода.
13
+ - **Интеллектуальный выбор скрипта** — запускает `build-recovery`, если он объявлен в скриптах `package.json`, иначе переходит к стандартной сборке `build`.
14
+ - **Фильтрация тестовых пакетов** — игнорирует пакеты, отмеченные свойством `"ui-test": true`.
15
+
16
+ ## Инициализация
17
+
18
+ Вы можете создать экземпляр `BuildPackages`, опционально передав кастомный путь к директории пакетов.
19
+
20
+ ```typescript
21
+ import { BuildPackages } from './BuildPackages'
22
+
23
+ const builder = new BuildPackages()
24
+ await builder.make()
25
+ ```
26
+
27
+ ## Методы
28
+
29
+ - `make(): Promise<void>` — инициализирует сканирование и запускает инкрементальный процесс сборки для каждого обнаруженного пакета.
30
+ - `build(packageFile: PackageFile): Promise<boolean>` — выполняет команду сборки (`npm run build-recovery` или `npm run build`) для указанного пакета.
31
+ - `isUpdate(packageFile: PackageFile): boolean` — проверяет, отличается ли текущая версия пакета в `package.json` от версии, сохраненной в файле лога.
32
+ - `getVersionLog(name: string): string` — возвращает кэшированную версию пакета из лога сборки.
33
+ - `updateLog(packageFile: PackageFile): void` — обновляет оперативную копию лога сборки текущей версией пакета.
34
+ - `saveLog(): void` — сохраняет лог сборки из оперативной памяти в файл `./logs/ui-build.log.json`.
@@ -0,0 +1,34 @@
1
+ import {Meta} from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/vi/scripts/Classes/BuildPackages - Bộ xây dựng gói Monorepo' />
4
+
5
+ # Lớp BuildPackages
6
+
7
+ Lớp `BuildPackages` là một tiện ích chịu trách nhiệm xây dựng lại các gói npm đã thay đổi trong không gian làm việc monorepo. Nó quét thư mục `packages`, xác định các thay đổi phiên bản so với bộ nhớ đệm nhật ký cục bộ và thực hiện biên dịch tăng dần chỉ cho các gói có phiên bản được cập nhật.
8
+
9
+ ## Các tính năng chính
10
+
11
+ - **Tự động quét thư mục** — Quét thư mục gói (`packages/`) để tìm các thư mục chứa tệp `package.json` hợp lệ.
12
+ - **Bộ nhớ đệm tăng dần theo phiên bản** — So sánh phiên bản gói với dữ liệu trong `./logs/ui-build.log.json` để ngăn việc xây dựng lại mã chưa thay đổi.
13
+ - **Giải quyết tập lệnh thông minh** — Chạy `build-recovery` nếu được định nghĩa trong tập lệnh `package.json`, ngược lại sẽ chuyển sang xây dựng mặc định `build`.
14
+ - **Lọc gói thử nghiệm** — Bỏ qua các gói được đánh dấu bằng thuộc tính `"ui-test": true`.
15
+
16
+ ## Khởi tạo
17
+
18
+ Bạn có thể tạo một phiên bản của `BuildPackages` bằng cách truyền tùy chọn đường dẫn thư mục gói tùy chỉnh.
19
+
20
+ ```typescript
21
+ import { BuildPackages } from './BuildPackages'
22
+
23
+ const builder = new BuildPackages()
24
+ await builder.make()
25
+ ```
26
+
27
+ ## Các phương thức
28
+
29
+ - `make(): Promise<void>` — Khởi tạo quá trình quét và kích hoạt quy trình xây dựng tăng dần cho từng gói được phát hiện.
30
+ - `build(packageFile: PackageFile): Promise<boolean>` — Thực thi lệnh xây dựng thực tế (`npm run build-recovery` hoặc `npm run build`) cho gói được chỉ định.
31
+ - `isUpdate(packageFile: PackageFile): boolean` — Kiểm tra xem phiên bản hiện tại của gói trong `package.json` có khác với phiên bản được lưu trữ trong tệp nhật ký hay không.
32
+ - `getVersionLog(name: string): string` — Lấy phiên bản được lưu trong bộ nhớ đệm của gói từ nhật ký xây dựng.
33
+ - `updateLog(packageFile: PackageFile): void` — Cập nhật bản ghi nhật ký xây dựng trong bộ nhớ với phiên bản gói hiện tại.
34
+ - `saveLog(): void` — Lưu nhật ký xây dựng từ bộ nhớ tạm vào tệp `./logs/ui-build.log.json`.
@@ -0,0 +1,33 @@
1
+ import {Meta} from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/en/scripts/Classes/BuildPublishPackages - Monorepo Package Publisher' />
4
+
5
+ # BuildPublishPackages Class
6
+
7
+ The `BuildPublishPackages` class is a utility responsible for automated publishing of npm packages across the monorepo workspace. It scans the `packages` directory, determines version changes compared to a local log cache, and publishes updated packages to npm.
8
+
9
+ ## Key Features
10
+
11
+ - **Automated Directory Scanning** — Scans the packages folder (`packages/`) for directories containing a valid `package.json`.
12
+ - **Incremental Version-Based Caching** — Compares the package version with `./logs/ui-publish.log.json` to prevent republishing unchanged code.
13
+ - **Intelligent Script Resolution** — Runs `publish-to-npm` if defined in `package.json` scripts, otherwise falls back to standard `npm publish --access public`.
14
+ - **Publish Exclusion** — Skips packages marked as private (`"private": true`) or with `"ui-no-publish": true`.
15
+
16
+ ## Initialization
17
+
18
+ You can create an instance of `BuildPublishPackages` by optionally passing a custom packages directory path.
19
+
20
+ ```typescript
21
+ import { BuildPublishPackages } from './BuildPublishPackages'
22
+
23
+ const publisher = new BuildPublishPackages()
24
+ await publisher.make()
25
+ ```
26
+
27
+ ## Methods
28
+
29
+ - `make(): Promise<void>` — Initiates scanning and triggers the publication process for each detected package.
30
+ - `isUpdate(packageFile: PackageFile): boolean` — Checks whether the package's version in `package.json` is different from the version stored in the log file.
31
+ - `getVersionLog(name: string): string` — Retrieves the cached version of the package from the publish log.
32
+ - `updateLog(packageFile: PackageFile): void` — Updates the in-memory publish log with the current package version.
33
+ - `saveLog(): void` — Saves the in-memory publish log to the `./logs/ui-publish.log.json` file.
@@ -0,0 +1,33 @@
1
+ import {Meta} from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/ru/scripts/Classes/BuildPublishPackages - Публикатор пакетов монорепозитория' />
4
+
5
+ # Класс BuildPublishPackages
6
+
7
+ Класс `BuildPublishPackages` — это утилита, отвечающая за автоматическую публикацию npm-пакетов в рабочем пространстве монорепозитория. Он сканирует директорию `packages`, определяет изменения версий по сравнению с локальным кэшем логов и публикует обновленные пакеты в npm.
8
+
9
+ ## Ключевые возможности
10
+
11
+ - **Автоматическое сканирование директорий** — сканирует папку пакетов (`packages/`) на наличие директорий с корректным файлом `package.json`.
12
+ - **Инкрементальное кэширование по версиям** — сравнивает версию пакета с данными в `./logs/ui-publish.log.json` для предотвращения повторной публикации неизмененного кода.
13
+ - **Интеллектуальный выбор скрипта** — запускает `publish-to-npm`, если он объявлен в скриптах `package.json`, иначе переходит к стандартной публикации `npm publish --access public`.
14
+ - **Исключение из публикации** — игнорирует пакеты, отмеченные свойством `"private": true` или `"ui-no-publish": true`.
15
+
16
+ ## Инициализация
17
+
18
+ Вы можете создать экземпляр `BuildPublishPackages`, опционально передав кастомный путь к директории пакетов.
19
+
20
+ ```typescript
21
+ import { BuildPublishPackages } from './BuildPublishPackages'
22
+
23
+ const publisher = new BuildPublishPackages()
24
+ await publisher.make()
25
+ ```
26
+
27
+ ## Методы
28
+
29
+ - `make(): Promise<void>` — инициализирует сканирование и запускает процесс публикации для каждого обнаруженного пакета.
30
+ - `isUpdate(packageFile: PackageFile): boolean` — проверяет, отличается ли текущая версия пакета в `package.json` от версии, сохраненной в файле лога.
31
+ - `getVersionLog(name: string): string` — возвращает кэшированную версию пакета из лога публикации.
32
+ - `updateLog(packageFile: PackageFile): void` — обновляет оперативную копию лога публикации текущей версией пакета.
33
+ - `saveLog(): void` — сохраняет лог публикации из оперативной памяти в файл `./logs/ui-publish.log.json`.
@@ -0,0 +1,33 @@
1
+ import {Meta} from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/vi/scripts/Classes/BuildPublishPackages - Bộ công bố gói Monorepo' />
4
+
5
+ # Lớp BuildPublishPackages
6
+
7
+ Lớp `BuildPublishPackages` là một tiện ích chịu trách nhiệm công bố tự động các gói npm trong không gian làm việc monorepo. Nó quét thư mục `packages`, xác định các thay đổi phiên bản so với bộ nhớ đệm nhật ký cục bộ và công bố các gói đã cập nhật lên npm.
8
+
9
+ ## Các tính năng chính
10
+
11
+ - **Tự động quét thư mục** — Quét thư mục gói (`packages/`) để tìm các thư mục chứa tệp `package.json` hợp lệ.
12
+ - **Bộ nhớ đệm tăng dần theo phiên bản** — So sánh phiên bản gói với dữ liệu trong `./logs/ui-publish.log.json` để ngăn việc công bố lại mã chưa thay đổi.
13
+ - **Giải quyết tập lệnh thông minh** — Chạy `publish-to-npm` nếu được định nghĩa trong tập lệnh `package.json`, ngược lại sẽ chuyển sang công bố mặc định `npm publish --access public`.
14
+ - **Loại trừ công bố** — Bỏ qua các gói được đánh dấu bằng thuộc tính `"private": true` hoặc `"ui-no-publish": true`.
15
+
16
+ ## Khởi tạo
17
+
18
+ Bạn có thể tạo một phiên bản của `BuildPublishPackages` bằng cách truyền tùy chọn đường dẫn thư mục gói tùy chỉnh.
19
+
20
+ ```typescript
21
+ import { BuildPublishPackages } from './BuildPublishPackages'
22
+
23
+ const publisher = new BuildPublishPackages()
24
+ await publisher.make()
25
+ ```
26
+
27
+ ## Các phương thức
28
+
29
+ - `make(): Promise<void>` — Khởi tạo quá trình quét và kích hoạt quy trình công bố cho từng gói được phát hiện.
30
+ - `isUpdate(packageFile: PackageFile): boolean` — Kiểm tra xem phiên bản hiện tại của gói trong `package.json` có khác với phiên bản được lưu trữ trong tệp nhật ký hay không.
31
+ - `getVersionLog(name: string): string` — Lấy phiên bản được lưu trong bộ nhớ đệm của gói từ nhật ký công bố.
32
+ - `updateLog(packageFile: PackageFile): void` — Cập nhật bản ghi nhật ký công bố trong bộ nhớ với phiên bản gói hiện tại.
33
+ - `saveLog(): void` — Lưu nhật ký công bố từ bộ nhớ tạm vào tệp `./logs/ui-publish.log.json`.
@@ -0,0 +1,54 @@
1
+ import {Meta} from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/en/scripts/Classes/DesignFigma - Figma Layout Integrator Class'/>
4
+
5
+ # DesignFigma Class
6
+
7
+ The `DesignFigma` class provides the core controller behavior for connecting to Figma's REST API and extracting layout coordinates and vector image structures. It abstracts token authorization and simplifies batch node image requests into clean, async workflows.
8
+
9
+ > **Warning**: A corporate Figma subscription (Figma Enterprise or Organization) is strictly required to utilize this class and communicate with the Figma target endpoints.
10
+
11
+ ## Key Features
12
+
13
+ - **Decoupled API Authorizer** — automatically falls back to system properties to retrieve active Figma tokens.
14
+ - **SVG Generation Options** — requests nodes with preserved ID tags and outline text parameters.
15
+ - **Safe Network Execution** — handles network errors and API limitations gracefully, returning clean, undefined fallbacks.
16
+
17
+ ## Initialization
18
+
19
+ Initialize a new `DesignFigma` instance with the required Figma file credentials.
20
+
21
+ **Parameters:**
22
+ - `fileKey: string` — The unique ID of the target Figma file.
23
+ - `nodeId?: string` — The specific node ID inside the file to target.
24
+ - `token?: string` — Optional Figma API token. Defaults to `PropertiesConfig.getFigmaToken()`.
25
+
26
+ ```typescript
27
+ import { DesignFigma } from '@dxtmisha/scripts'
28
+
29
+ const integrator = new DesignFigma('abc123xyz456', '1-24')
30
+ await integrator.make()
31
+ ```
32
+
33
+ ## Methods
34
+
35
+ ### `make`
36
+
37
+ The main orchestrator method that triggers vector asset retrieval and logs the output mapping to the console.
38
+
39
+ **Returns:** `Promise<void>`
40
+
41
+ ```typescript
42
+ await integrator.make()
43
+ ```
44
+
45
+ ### `initImage`
46
+
47
+ Requests vector layout image URLs from the Figma API for the specified node IDs in SVG format.
48
+
49
+ **Returns:** `Promise<Record<string, string> | undefined>` — A promise that resolves to an object mapping node IDs to their respective SVG URLs, or `undefined` on error.
50
+
51
+ ```typescript
52
+ const images = await integrator.initImage()
53
+ console.log(images) // { "1-24": "https://..." }
54
+ ```
@@ -0,0 +1,54 @@
1
+ import {Meta} from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/ru/scripts/Classes/DesignFigma - Класс интеграции макетов Figma'/>
4
+
5
+ # Класс DesignFigma
6
+
7
+ Класс `DesignFigma` обеспечивает базовое поведение контроллера для подключения к Figma REST API и извлечения координат макетов и структур векторных изображений. Он абстрагирует авторизацию токенов и упрощает пакетные запросы изображений узлов в чистые асинхронные рабочие процессы.
8
+
9
+ > **Внимание**: Для использования этого класса и взаимодействия с целевыми эндпоинтами Figma строго требуется наличие корпоративной подписки Figma (Figma Enterprise или Organization).
10
+
11
+ ## Ключевые возможности
12
+
13
+ - **Развязанная авторизация API** — автоматически использует системные свойства для получения активного токена Figma.
14
+ - **Опции генерации SVG** — запрашивает узлы с сохранением тегов исходных идентификаторов и параметров обводки текста.
15
+ - **Безопасное сетевое выполнение** — корректно обрабатывает сетевые ошибки и ограничения API, возвращая безопасные значения `undefined` в качестве альтернативы.
16
+
17
+ ## Инициализация
18
+
19
+ Инициализируйте новый экземпляр `DesignFigma` с необходимыми учетными данными целевого файла Figma.
20
+
21
+ **Параметры:**
22
+ - `fileKey: string` — Уникальный идентификатор целевого файла Figma.
23
+ - `nodeId?: string` — Конкретный идентификатор узла внутри файла для нацеливания.
24
+ - `token?: string` — Необязательный токен Figma API. По умолчанию используется значение `PropertiesConfig.getFigmaToken()`.
25
+
26
+ ```typescript
27
+ import { DesignFigma } from '@dxtmisha/scripts'
28
+
29
+ const integrator = new DesignFigma('abc123xyz456', '1-24')
30
+ await integrator.make()
31
+ ```
32
+
33
+ ## Методы
34
+
35
+ ### `make`
36
+
37
+ Основной оркестрирующий метод, который запускает получение векторных ресурсов и выводит результирующее сопоставление в консоль.
38
+
39
+ **Возвращает:** `Promise<void>`
40
+
41
+ ```typescript
42
+ await integrator.make()
43
+ ```
44
+
45
+ ### `initImage`
46
+
47
+ Запрашивает URL-адреса изображений векторных макетов из Figma API для указанных идентификаторов узлов в формате SVG.
48
+
49
+ **Возвращает:** `Promise<Record<string, string> | undefined>` — Промис, разрешающийся в объект, сопоставляющий идентификаторы узлов с соответствующими URL-адресами SVG, или `undefined` в случае ошибки.
50
+
51
+ ```typescript
52
+ const images = await integrator.initImage()
53
+ console.log(images) // { "1-24": "https://..." }
54
+ ```
@@ -0,0 +1,54 @@
1
+ import {Meta} from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/vi/scripts/Classes/DesignFigma - Lớp tích hợp Layout Figma'/>
4
+
5
+ # Lớp DesignFigma
6
+
7
+ Lớp `DesignFigma` cung cấp hành vi bộ điều khiển cốt lõi để kết nối với REST API của Figma và trích xuất các tọa độ layout cũng như cấu trúc hình ảnh vector. Nó trừu tượng hóa việc ủy quyền mã thông báo và đơn giản hóa các yêu cầu hình ảnh nút hàng loạt thành các quy trình bất đồng bộ sạch sẽ.
8
+
9
+ > **Lưu ý**: Yêu cầu bắt buộc phải có gói đăng ký Figma doanh nghiệp (Figma Enterprise hoặc Organization) để sử dụng lớp này và giao tiếp với các điểm cuối Figma mục tiêu.
10
+
11
+ ## Các tính năng chính
12
+
13
+ - **Ủy quyền API Tách biệt** — Tự động tìm lại các thuộc tính hệ thống để truy xuất mã thông báo Figma đang hoạt động.
14
+ - **Tùy chọn Tạo sinh SVG** — Yêu cầu các nút với thẻ ID được bảo toàn và tham số viền chữ.
15
+ - **Thực thi Mạng An toàn** — Xử lý các lỗi mạng và giới hạn API một cách mượt mờ, trả về các giá trị dự phòng `undefined` an toàn.
16
+
17
+ ## Khởi tạo
18
+
19
+ Khởi tạo một phiên bản `DesignFigma` mới với thông tin xác thực tệp Figma được yêu cầu.
20
+
21
+ **Tham số:**
22
+ - `fileKey: string` — ID duy nhất của tệp Figma mục tiêu.
23
+ - `nodeId?: string` — ID nút cụ thể bên trong tệp cần nhắm mục tiêu.
24
+ - `token?: string` — Mã thông báo Figma API tùy chọn. Mặc định là `PropertiesConfig.getFigmaToken()`.
25
+
26
+ ```typescript
27
+ import { DesignFigma } from '@dxtmisha/scripts'
28
+
29
+ const integrator = new DesignFigma('abc123xyz456', '1-24')
30
+ await integrator.make()
31
+ ```
32
+
33
+ ## Các phương thức
34
+
35
+ ### `make`
36
+
37
+ Phương thức điều phối chính kích hoạt quá trình truy xuất tài nguyên vector và in bản đồ kết quả ra console.
38
+
39
+ **Trả về:** `Promise<void>`
40
+
41
+ ```typescript
42
+ await integrator.make()
43
+ ```
44
+
45
+ ### `initImage`
46
+
47
+ Yêu cầu các URL hình ảnh layout vector từ Figma API cho các ID nút được chỉ định dưới định dạng SVG.
48
+
49
+ **Trả về:** `Promise<Record<string, string> | undefined>` — Một hứa hẹn (promise) phân giải thành một đối tượng ánh xạ các ID nút tới các URL SVG tương ứng của chúng, hoặc `undefined` khi xảy ra lỗi.
50
+
51
+ ```typescript
52
+ const images = await integrator.initImage()
53
+ console.log(images) // { "1-24": "https://..." }
54
+ ```
@@ -6,6 +6,8 @@ import {Meta} from '@storybook/addon-docs/blocks'
6
6
 
7
7
  The `DesignFlags` class provides an automated solution for generating optimized image sprites from a collection of SVG flag icons. It handles the canvas-based rendering, grid layout calculation, and the generation of CSS mapping files for efficient icon display using background positioning.
8
8
 
9
+ > **Note**: This class is intended exclusively for internal use within the `dxt-ui` project repository.
10
+
9
11
  ## Key Features
10
12
 
11
13
  - **Automated Sprite Assembly** — Combines multiple individual SVG files into a single optimized `.webp` sprite.
@@ -6,6 +6,8 @@ import {Meta} from '@storybook/addon-docs/blocks'
6
6
 
7
7
  Класс `DesignFlags` предоставляет автоматизированное решение для генерации оптимизированных спрайтов изображений из коллекции SVG-иконок флагов. Он управляет рендерингом на основе холста, расчетом сетки и созданием файлов CSS-маппинга для эффективного отображения иконок с использованием позиционирования фона.
8
8
 
9
+ > **Примечание**: Этот класс предназначен исключительно для внутреннего использования в репозитории проекта `dxt-ui`.
10
+
9
11
  ## Ключевые особенности
10
12
 
11
13
  - **Автоматическая сборка спрайта** — объединяет множество отдельных SVG-файлов в один оптимизированный спрайт формата `.webp`.
@@ -6,6 +6,8 @@ import {Meta} from '@storybook/addon-docs/blocks'
6
6
 
7
7
  Lớp `DesignFlags` cung cấp một giải pháp tự động để tạo các sprite hình ảnh được tối ưu hóa từ một bộ sưu tập các biểu tượng cờ SVG. Nó xử lý việc hiển thị dựa trên canvas, tính toán bố cục lưới và tạo các tệp ánh xạ CSS để hiển thị biểu tượng hiệu quả bằng cách sử dụng định vị nền (background positioning).
8
8
 
9
+ > **Lưu ý**: Lớp này chỉ dành riêng cho việc sử dụng nội bộ bên trong kho lưu trữ dự án `dxt-ui`.
10
+
9
11
  ## Các tính năng chính
10
12
 
11
13
  - **Tự động đóng gói Sprite** — Kết hợp nhiều tệp SVG riêng lẻ thành một sprite `.webp` duy nhất được tối ưu hóa.
@@ -4,18 +4,18 @@ import {Meta} from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # LibraryExport Class
6
6
 
7
- The `LibraryExport` class is responsible for aggregating and generating a unified export file for the library. It scans designated directories for TypeScript and Vue files, creating a single entry point that simplifies library imports.
7
+ The `LibraryExport` class is responsible for aggregating and generating a unified export file for the library. It scans designated subfolders for TypeScript and Vue files, automatically compiling all exports into a single public interface to simplify library imports.
8
8
 
9
9
  ## Key Features
10
10
 
11
- - **Unified Export Generation** — creates a comprehensive entry point for all exportable components and utilities.
12
- - **Smart File Identification** — automatically handles exports for `.ts` files (using `export *`) and `.vue` files (using `import` then `export const`).
13
- - **Style Integration** — automatically includes global CSS or SCSS styles if they exist.
14
- - **Filtering** — excludes test files (`.test.`) and files marked with the `UI_FLAG_NOT_EXPORT` flag.
11
+ - **Unified Export Generation** — Creates a comprehensive public entry point for all components, composables, functions, and classes.
12
+ - **Smart Module Detection** — Automatically applies standard wildcard exports (`export *`) for TypeScript utilities and creates named exports for Vue SFC components.
13
+ - **Style Integration** — Automatically checks for and integrates global CSS or SCSS stylesheets.
14
+ - **Intelligent Filtering** — Excludes unit test files (`.test.`) and modules marked with the `// export:none` directive.
15
15
 
16
16
  ## Initialization
17
17
 
18
- Initialize and run the export generator using the `make` method.
18
+ Initialize and execute the library export generator using the `make` method:
19
19
 
20
20
  ```typescript
21
21
  import { LibraryExport } from '@dxtmisha/scripts'
@@ -26,21 +26,37 @@ generator.make()
26
26
 
27
27
  ## Methods
28
28
 
29
- ### Generation
29
+ ### Core Execution
30
30
 
31
- - `make(): void` — the main entry point that triggers the file discovery and generation process.
31
+ #### `make`
32
+ Triggers the main library compilation and entry point generation. It scans all configured subdirectories, collects the valid files, filters out test/none-export modules, and writes the unified import/export statements into the designated destination file.
32
33
 
33
- ## Example of Generated Output
34
+ **Parameters:**
35
+ - No parameters required.
34
36
 
35
- The generated file aggregate imports and exports like this:
37
+ **Returns:** `void` — Modifies the target `library.ts` file on the filesystem and logs progress to the console.
36
38
 
37
39
  ```typescript
38
- import './style.css'
39
-
40
- // Components
41
- import _DxtButton from './components/DxtButton/DxtButton.vue'
42
- export const DxtButton = _DxtButton
40
+ import { LibraryExport } from '@dxtmisha/scripts'
43
41
 
44
- // Utilities
45
- export * from './functions/myFunction'
42
+ new LibraryExport().make()
46
43
  ```
44
+
45
+ ### Helper Methods
46
+
47
+ - `getPath(directory: string): string[]` — Returns the directory path components based on `UI_DIR_IN` and the specified directory name.
48
+ - `isExport(path: string | string[]): boolean` — Evaluates if a file path is suitable for export by verifying it is not a test file and does not match `UI_FLAG_NOT_EXPORT`.
49
+ - `getDirectory(): LibraryFiles` — Collects recursively all indexable files within the configured export folders and aggregates them.
50
+ - `getName(name: string): string` — Converts the first character of the directory name to uppercase to standardize comments in the generated file.
51
+ - `getFile(path: string | string[]): string` — Reads the file contents at the given path from the filesystem.
52
+ - `initFile(): string` — Builds the raw content of the output library file, including imports, style setups, and wildcard/named exports.
53
+ - `initStyles(): string` — Generates imports for global stylesheets (`style.scss` or `style.css`) if they are present in the root of the source directory.
54
+
55
+ ## Dependencies and Configurations
56
+
57
+ The `LibraryExport` class interacts with several global configurations to perform structural generation:
58
+
59
+ - `UI_DIRS_LIST_EXPORT` — Specifies the active folders that are scanned recursively for exports (`classes`, `components`, `composables`, `functions`, `global`, `types`).
60
+ - `UI_DIRS_FILE_EXPORT` — Sets the destination output path of the compiled library file (`src/library.ts`).
61
+ - `UI_DIR_IN` — Identifies the root source directory containing the modules (`src`).
62
+ - `UI_FLAG_NOT_EXPORT` — Holds the regular expression matching the non-export directive (`/\/\/ *export:none/`).
@@ -4,18 +4,18 @@ import {Meta} from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # Класс LibraryExport
6
6
 
7
- Класс `LibraryExport` отвечает за агрегацию и генерацию единого файла экспорта для библиотеки. Он сканирует назначенные директории на наличие файлов TypeScript и Vue, создавая единую точку входа, которая упрощает импорт библиотеки.
7
+ Класс `LibraryExport` отвечает за агрегацию и генерацию единого файла экспорта для библиотеки. Он сканирует назначенные подпапки на наличие файлов TypeScript и Vue, автоматически компилируя все экспорты в единый публичный интерфейс для упрощения последующих импортов.
8
8
 
9
9
  ## Ключевые особенности
10
10
 
11
- - **Генерация единого экспорта** — создает комплексную точку входа для всех экспортируемых компонентов и утилит.
12
- - **Умная идентификация файлов**автоматически обрабатывает экспорт для `.ts` файлов (используя `export *`) и `.vue` файлов (используя `import`, затем `export const`).
13
- - **Интеграция стилей** — автоматически включает глобальные стили CSS или SCSS, если они существуют.
14
- - **Фильтрация**исключает файлы тестов (`.test.`) и файлы, помеченные флагом `UI_FLAG_NOT_EXPORT`.
11
+ - **Генерация единого экспорта** — Создает комплексную публичную точку входа для всех компонентов, composables, функций и классов.
12
+ - **Умное обнаружение модулей**Автоматически применяет стандартные экспорты со звездочкой (`export *`) для TypeScript-утилит и создает именованные экспорты для Vue SFC компонентов.
13
+ - **Интеграция стилей** — Автоматически проверяет наличие и интегрирует глобальные таблицы стилей CSS или SCSS.
14
+ - **Интеллектуальная фильтрация** Исключает файлы юнит-тестов (`.test.`) и модули, помеченные специальной директивой `// export:none`.
15
15
 
16
16
  ## Инициализация
17
17
 
18
- Инициализируйте и запустите генератор экспорта с помощью метода `make`.
18
+ Инициализируйте и запустите генератор экспорта с помощью метода `make`:
19
19
 
20
20
  ```typescript
21
21
  import { LibraryExport } from '@dxtmisha/scripts'
@@ -26,21 +26,37 @@ generator.make()
26
26
 
27
27
  ## Методы
28
28
 
29
- ### Генерация
29
+ ### Основное выполнение
30
30
 
31
- - `make(): void` — основная точка входа, которая запускает процесс поиска файлов и генерации.
31
+ #### `make`
32
+ Запускает компиляцию библиотеки и генерацию точки входа. Метод сканирует все настроенные поддиректории, собирает подходящие файлы, отфильтровывает тесты и файлы с признаком `export:none`, а затем записывает сгенерированные инструкции импорта и экспорта в целевой файл точки входа.
32
33
 
33
- ## Пример сгенерированного вывода
34
+ **Параметры:**
35
+ - Параметры отсутствуют.
34
36
 
35
- Сгенерированный файл агрегирует импорты и экспорты следующим образом:
37
+ **Возвращает:** `void` — Модифицирует целевой файл `library.ts` в файловой системе и выводит логи в консоль.
36
38
 
37
39
  ```typescript
38
- import './style.css'
39
-
40
- // Components
41
- import _DxtButton from './components/DxtButton/DxtButton.vue'
42
- export const DxtButton = _DxtButton
40
+ import { LibraryExport } from '@dxtmisha/scripts'
43
41
 
44
- // Utilities
45
- export * from './functions/myFunction'
42
+ new LibraryExport().make()
46
43
  ```
44
+
45
+ ### Вспомогательные методы
46
+
47
+ - `getPath(directory: string): string[]` — Возвращает компоненты пути к директории на основе `UI_DIR_IN` и указанного имени директории.
48
+ - `isExport(path: string | string[]): boolean` — Проверяет, подходит ли путь к файлу для экспорта, убеждаясь, что это не файл теста и он не совпадает с шаблоном `UI_FLAG_NOT_EXPORT`.
49
+ - `getDirectory(): LibraryFiles` — Рекурсивно собирает все индексируемые файлы внутри настроенных папок экспорта и агрегирует их.
50
+ - `getName(name: string): string` — Преобразует первый символ имени директории в верхний регистр для стандартизации комментариев в сгенерированном файле.
51
+ - `getFile(path: string | string[]): string` — Считывает содержимое файла по указанному пути из файловой системы.
52
+ - `initFile(): string` — Формирует необработанное содержимое выходного файла библиотеки, включая импорты, настройку стилей, а также wildcard и именованные экспорты.
53
+ - `initStyles(): string` — Генерирует импорты для глобальных таблиц стилей (`style.scss` или `style.css`), если они присутствуют в корне исходной директории.
54
+
55
+ ## Зависимости и конфигурации
56
+
57
+ Класс `LibraryExport` взаимодействует с несколькими глобальными конфигурациями для выполнения генерации:
58
+
59
+ - `UI_DIRS_LIST_EXPORT` — Указывает активные папки, которые рекурсивно сканируются на наличие экспортов (`classes`, `components`, `composables`, `functions`, `global`, `types`).
60
+ - `UI_DIRS_FILE_EXPORT` — Задает путь назначения скомпилированного файла библиотеки (`src/library.ts`).
61
+ - `UI_DIR_IN` — Идентифицирует корневую директорию исходного кода, содержащую модули (`src`).
62
+ - `UI_FLAG_NOT_EXPORT` — Содержит регулярное выражение, соответствующее директиве исключения экспорта (`/\/\/ *export:none/`).