A faithful implementation of Microsoft's Fluent Design System in Svelte.
Overview:
The “fluent-svelte” project is an experimental Svelte component UI library designed to emulate the look and feel of Microsoft’s Windows UI Controls, following the Fluent Design System. Although the project is still in its alpha stages and not yet production-ready, it offers a range of features and functionality.
Features:
- SvelteKit and SSR Compatible: The library is compatible with SvelteKit and supports Server-Side Rendering (SSR).
- TypeScript Support: TypeScript and type definitions are supported but optional, allowing developers to choose their preferred language.
- Full RTL Support: Right-to-Left (RTL) support is provided without the need for additional configuration.
- Accessible Components: All components in the library adhere to the Web Accessibility Initiative Accessible Rich Internet Applications (WAI-ARIA) standards, ensuring they are accessible to all users.
- Theming Support: The library allows for theming using CSS custom properties.
- Minimal Dependency Usage: The project minimizes the usage of third-party dependencies.
- Reduced Motion Support: The library includes support for reduced motion preferences for users who prefer less visually animated interfaces.
- Easy Setup: Setting up the library is made simple - just install it, add some base styles, and you’re ready to go.
- Minimal CSS Overhead: The library includes styles scoped alongside their respective components, only bundling the necessary CSS, resulting in minimal CSS overhead.
Installation:
To install the “fluent-svelte” library, follow these steps:
- Install the library using your preferred package manager. For example, using npm:
npm install fluent-svelte
- Add the base styles to your project. These can be found in the library’s documentation. Import them into your project’s stylesheet:
@import 'path/to/fluent-svelte/base.css';
- With the library installed and the base styles included, you can start using the components in your Svelte project.
Summary:
The “fluent-svelte” project is an experimental Svelte component UI library that emulates Microsoft’s Windows UI Controls, following the Fluent Design System. Although it is still in the alpha stage of development and not yet production-ready, the library offers a range of features including SvelteKit and SSR compatibility, TypeScript support, RTL support, accessibility compliance, theming options, minimal third-party dependencies, and reduced motion support. Setting up the library is easy, and it provides minimal CSS overhead by including styles scoped alongside the respective components. However, it’s important to note that not all components in the library are documented yet, and they are considered to be in the development phase, potentially subject to breaking API changes or significant updates.