@milord_frontend/features-export-full
v1.0.1
Published
React Features library with internationalization support (Paraglide JS) - Full version with all features
Maintainers
Readme
@milord_frontend/features-export-full
React Features library - полная версия со всеми фичами для публикации в npm.
📦 Установка
npm install @milord_frontend/features-export-fullPeer Dependencies:
npm install react react-dom🎯 Использование
HelloWorld Feature
import { HelloWorld } from "@milord_frontend/features-export-full";
function App() {
return (
<HelloWorld
name="Евгений"
showButton={true}
onGreet={(greeting) => console.log(greeting)}
/>
);
}С управлением языком
import {
HelloWorld,
setLocale,
getLocale,
type Locale
} from "@milord_frontend/features-export-full";
function App() {
// Установить язык
setLocale('en', { reload: false });
// Получить текущий язык
const currentLang = getLocale(); // 'ru' | 'en' | 'de' | 'es'
return <HelloWorld name="User" />;
}Прямой доступ к переводам
import * as m from "@milord_frontend/features-export-full/paraglide/messages";
console.log(m.hello_world_title()); // "👋 Hello World Feature"
console.log(m.welcome_message({ name: 'John' })); // "Welcome, John!"🌍 Интернационализация
Поддерживаемые языки
- 🇷🇺 ru - Русский (по умолчанию)
- 🇬🇧 en - English
- 🇩🇪 de - Deutsch
- 🇪🇸 es - Español
API для работы с языками
// Получить текущий язык
getLocale(): Locale // 'ru' | 'en' | 'de' | 'es'
// Установить язык
setLocale(locale: Locale, options?: { reload?: boolean }): void
// Пример
setLocale('en', { reload: false });Доступные переводы
hello_world_title(): string
welcome_message({ name }: { name: string }): string
feature_description(): string
greet_button(): string
greeting_alert({ name }: { name: string }): string📚 Доступные фичи
HelloWorld
Демонстрационная фича приветствия с использованием UI компонентов и поддержкой интернационализации.
Props:
name?: string- Имя для приветствия (по умолчанию "World")showButton?: boolean- Показывать ли кнопку (по умолчанию true)onGreet?: (greeting: string) => void- Callback при клике на кнопкуicon?: IconName- Опциональная иконка в заголовке
Пример:
<HelloWorld name="John" showButton={true} onGreet={(msg) => alert(msg)} />Компонент автоматически использует переводы из Paraglide. При смене языка через setLocale() все тексты обновляются автоматически.
🎨 Стили
Эта библиотека не включает CSS. Используйте UI компоненты из:
@milord_frontend/ui-export-full- для стилизации
📊 Размер бандла
| Файл | Размер | | ---- | ------- | | ESM | ~3 KB | | CJS | ~2.5 KB |
🔧 TypeScript
Полная поддержка TypeScript из коробки.
import type { HelloWorldProps } from "@milord_frontend/features-export-full";
const props: HelloWorldProps = {
name: "TypeScript",
showButton: true,
};🚀 Разработка
Этот пакет генерируется из @repo/features в монорепе.
Сборка:
npm run buildГенерация типов:
npm run generate:typesПубликация:
npm publish📖 Документация
Подробная документация доступна в монорепе:
packages/features/README.md- основной пакетpackages/ARCHITECTURE_SUMMARY.md- архитектура
🤝 Связанные пакеты
@repo/features- Основной пакет для разработки@milord_frontend/ui-export-full- UI компоненты
📝 License
MIT
