v1.3.1: Premium Design Overhaul, Canvas-based Charts, and Runtime i18n
We are excited to release v1.3.1 of the ngxsmk ecosystem! This release brings a premium visual polish to our core component styles, introduces a high-performance HTML5 Canvas chart engine, adds runtime internationalization (i18n) for 10 languages, and includes key library bug fixes.
🚀 What's New
🎨 Design System Overhaul & Refinements
- Unified Focus Rings: Replaced custom outlines with a unified
--ngxsmk-focus-ringshadow token across collapsible, navigation, and menu components. - RTL Logical Spacings: Converted directional margins, paddings, and borders to logical inline/block properties (
*-inline-*), ensuring robust RTL layouts. - Modern Hover Animations: Migrated to advanced CSS
color-mix()rules and cleaned up layout transition hygiene to remove accidental layout jumps. - Typography & Opacity Scaling: Upgraded font-sizes to semantic text roles (
label-*,title-*) and mapped literal opacity rules to muted design tokens.
📊 Shared Canvas Chart Engine
The entire chart family has been rewritten to render directly to HTML5 Canvas (fully DPR-aware and retina-crisp) with responsive container sizing:
- Animations & Interactivity: Added smooth draw-in animations, responsive cartesian grids, custom tooltips on hover, and toggleable legend components.
- Supported Charts: Line, Area, Bar, Pie/Donut, Scatter, Heatmap, and Candlestick charts.
- Diameter Controls: Defaulted
chart-pieto non-responsive by default so that the inputsizedirectly defines the circle diameter.
🌐 Runtime Multi-language (i18n) Support
- Dynamic Switcher: Integrated
@ngx-translate/coreand@ngx-translate/http-loaderfor runtime locale switching. - RTL & Localization: Added a global
LangServicethat persists preferences to storage, updates document headers, and dynamically toggles the layout direction todir="rtl"for Arabic. - 10 Core Languages: Added full translations (1,067+ translation keys) for English, Spanish, Swedish, Arabic, French, German, Chinese, Japanese, Portuguese, and Hindi.
🛠️ Bug Fixes & Library Adjustments
number-input: Resolved bugs where typing decimals or clearing the field was clobbered by value updates. Added step rounding to prevent floating-point inaccuracies.breadcrumb-item: Fixed breadcrumb separator missing issues and content projection dropouts by refactoring to a single-projection architecture.- Workspace Hygiene: Configured
.gitattributesto enforce consistentLFline-endings and resolved all codebase Prettier formatting checks. - Undici & MCP Integration: Added typescript types and mock clients (
MockClient,MockPool,MockInterceptor) to facilitate request testing in@ngxsmk/mcp.
📦 Dependency Upgrades
- Added
@ngx-translate/coreand@ngx-translate/http-loader(v18) - Updated
@ngxsmk/themeand@ngxsmk/mcppackages tov1.3.1