Единая дизайн-система. Три нативные библиотеки мобильных компонентов для разных фреймворков.
STDF для Svelte • RTDF для React • VTDF для Vue
English • 简体中文 • 繁體中文 • 日本語 • 한국어 • Español • Русский • Français • Deutsch • Italiano
Any TDF — система мобильных компонентов для Svelte, React и Vue. Три библиотеки используют общее поведение, визуальный язык, темы, локализации, публичные типы, структуру документации и правила доступности, сохраняя модель рендеринга и способы композиции каждого фреймворка.
Это не межфреймворковая обёртка и не единая среда выполнения, скрытая за адаптерами. STDF предоставляет компоненты, сниппеты, действия и переходы Svelte; RTDF — компоненты, свойства, функции рендеринга, хуки и провайдеры React; VTDF — компоненты, слоты, события и composables Vue.
| Библиотека | Нативный фреймворк | npm | Документация и Demo |
|---|---|---|---|
| STDF | Svelte | stdf |
stdf.dev |
| RTDF | React | rtdf |
rtdf.dev |
| VTDF | Vue | vtdf |
vtdf.dev |
- 60 согласованных мобильных компонентов с нативными API фреймворков и предсказуемым поведением.
- Общая система тем Tailwind CSS с тёмным режимом, переключением во время работы, пользовательскими темами и переиспользуемыми семантическими цветами.
- Более 60 встроенных локализаций, а также руководства, справочники API и примеры компонентов на китайском и английском языках.
- Экспорт пакетов с приоритетом TypeScript, поддержка SSR, импорт по требованию и общие правила доступности.
- Нативная семантика анимации Svelte и соответствующие пакеты анимации для React и Vue.
- Единый генератор проектов, плагины SVG-спрайтов и Markdown, автономные AI Skills и расширение VS Code.
- Контрактные, пакетные, маршрутные, браузерные и визуальные проверки, поддерживающие согласованность трёх реализаций.
Семейство компонентов нового поколения сейчас опубликовано в npm с тегом
alpha. Два плагина Vite используют стабильный тегlatest.
Создайте TypeScript-проект в интерактивном режиме:
bun create any-tdf@alphaИли явно выберите фреймворк и стартовый шаблон:
bun create any-tdf@alpha my-app -f svelte -t sktt -b lucide
bun create any-tdf@alpha my-app -f react -t vrtt -b phosphor
bun create any-tdf@alpha my-app -f vue -t vrtt -b tablerГенератор предоставляет шаблоны Vite и SvelteKit, TypeScript, Tailwind CSS или UnoCSS, несколько стратегий значков, встроенные библиотеки значков и настройку одной или нескольких тем. Все параметры описаны в полном справочнике create-any-tdf.
Чтобы добавить библиотеку компонентов в существующее приложение:
bun add stdf@alpha svelte tailwindcss
bun add rtdf@alpha react react-dom tailwindcss
bun add vtdf@alpha vue tailwindcssУстановите только строку для своего фреймворка. Каждый пакет автоматически устанавливает общие зависимости среды выполнения Any TDF. Инструкции по импорту стилей, настройке тем, компонентам и миграции доступны на сайте соответствующей библиотеки.
Ниже перечислены все публичные npm-пакеты, поддерживаемые в этом Monorepo. Актуальная версия каждого пакета отображается на значках в начале этого README.
| Область | Пакет | Назначение | Документация |
|---|---|---|---|
| Общая основа | @any-tdf/common |
Независимое от фреймворка состояние компонентов, темы, локализации, SVG-данные и типы. | README |
| Компоненты | stdf |
Реализация системы компонентов Any TDF для Svelte. | stdf.dev |
| Компоненты | rtdf |
Реализация системы компонентов Any TDF для React. | rtdf.dev |
| Компоненты | vtdf |
Реализация системы компонентов Any TDF для Vue. | vtdf.dev |
| Создание проектов | create-any-tdf |
Нативные TypeScript-шаблоны проектов и параметры начальной настройки для каждого фреймворка. | README |
| Инструменты сборки | @any-tdf/vite-plugin-svg-symbol |
Объединение папок SVG в переиспользуемые спрайты символов для Vite и Rollup. | README |
| Инструменты сборки | @any-tdf/vite-plugin-md-ts |
Импорт Markdown в виде исходного текста или сгенерированного HTML в Vite и Rollup. | README |
| Анимация | @any-tdf/react-motion |
API плавности, переходов, анимации и движения для React, согласованные с Svelte. | Demo |
| Анимация | @any-tdf/vue-motion |
API плавности, переходов, анимации и движения для Vue, согласованные с Svelte. | Demo |
| Confetti | @any-tdf/react-confetti |
Совместимый с SSR перенос чистого эффекта конфетти на HTML и CSS для React. | Demo |
| Confetti | @any-tdf/vue-confetti |
Совместимый с SSR перенос чистого эффекта конфетти на HTML и CSS для Vue. | Demo |
Общий слой намеренно имеет узкую область ответственности. @any-tdf/common содержит переиспользуемое вычисление состояния, темы, локализации, SVG-данные, типы и небольшие платформенные утилиты. STDF, RTDF и VTDF используют эти контракты, но выполняют рендеринг собственными примитивами фреймворков.
Такое разделение даёт пользователям:
- Привычный синтаксис компонентов, событий, слотов, дочерних элементов и композиции в каждом фреймворке.
- Согласованные возможности и названия компонентов, темы, локализации и мобильные взаимодействия.
- Независимые npm-пакеты, сайты документации, Demo, примечания к выпускам и обновления фреймворков.
- Отсутствие межфреймворкового рендерера или дополнительной среды совместимости в коде приложения.
Any TDF for VS Code предоставляет всплывающую документацию и автодополнение API компонентов для STDF, RTDF и VTDF. Расширение определяет ближайший package.json, активирует только соответствующую библиотеку, распознаёт файлы Svelte, JSX, TSX и Vue и может показывать документацию API на китайском или английском языке.
Исходный код расширения хранится в этом Monorepo, а проверки сборки пакета и публикации выполняются в CI. Чтобы собрать локальный VSIX:
bun run --filter stdf-vscode-extension packageSkills для каждого фреймворка содержат справочники компонентов, рекомендации по темам и интернационализации, инструкции по созданию проектов, стратегии значков и скрипты генерации тем для AI-агентов программирования. Они поддерживаются вместе с исходным репозиторием и намеренно не публикуются в npm.
Репозиторий использует Bun Workspaces, Turborepo, Changesets и единый корневой lock-файл. Для разработки используются Bun и Node.js. Устанавливайте зависимости только из корня репозитория.
bun install --frozen-lockfile
bun run check
bun run test
bun run build
bun run verifyЗапустите портал Any TDF либо сайт и Demo выбранного фреймворка вместе:
bun run dev:any-tdf
bun run dev:stdf
bun run dev:rtdf
bun run dev:vtdfПолезные команды для всего репозитория:
| Команда | Назначение |
|---|---|
bun run generate |
Повторно генерирует данные фреймворков, документации, версий и расширения. |
bun run generate:check |
Проверяет соответствие сгенерированных файлов исходным данным. |
bun run quality:check |
Выполняет сборку, проверку форматирования и линтинг Monorepo. |
bun run verify:browser |
Проверяет взаимодействия Demo и документации в настоящем браузере. |
bun run changeset |
Описывает изменение пакета для следующего выпуска. |
apps: сайты документации, Demo компонентов и общий код сайтов.packages: общее ядро, библиотеки компонентов для фреймворков, плагины Vite, среды анимации и Confetti с документацией внутри пакетов, AI Skills иcreate-any-tdf.content: сгенерированные материалы компонентов и руководств STDF, RTDF и VTDF.extensions: расширение Any TDF для VS Code.scripts: общие утилиты генерации, проверки, упаковки и выпуска.
Используйте GitHub Issues для воспроизводимых ошибок и запросов функций, а GitHub Discussions — для вопросов, предложений и идей реализации. Мы приветствуем вклад в компоненты, документацию, инструменты, тесты, примеры и переводы.
Полный список доступен на графике участников.
Благодарим sbscan, MuGuiLin и yuedanlabs за поддержку проекта.
Any TDF распространяется по лицензии MIT.
Данные еженедельно обновляются через публичные API GitHub и npm. История трендов накапливается с первого снимка Any TDF.