Primeros Pasos
Esta página te guiará a través del proceso de instalación y uso de FluentUI Svelte.
Instalación
Para instalar FluentUI Svelte, ejecuta uno de los siguientes comandos:
NPM:
npm i -D fluentui-svelte Yarn:
yarn add -D fluentui-svelte PNPM:
pnpm add -D fluentui-svelte Archivos CSS requeridos
Necesitas importar los archivos CSS en tu proyecto. Puedes hacerlo agregando la siguiente línea a tu archivo principal +layout.svelte archivo:
import 'fluentui-svelte/theme.css'; - Puedes sobrescribir las variables CSS definiéndolas en el archivo CSS de tu aplicación.
- O, también puedes copiar el archivo CSS desde la carpeta
diste incluirlo directamente en tu proyecto si deseas modificarlo.
Extras opcionales
Archivos CSS opcionales
También puedes importar los archivos CSS opcionales que brindan estilos adicionales como typography, dark-mode y un reset básico:
import 'fluentui-svelte/reset.css'; /* Dont use if you already have a reset in your project. Ej: Using TailwindCSS */
import 'fluentui-svelte/typography.css';
import 'fluentui-svelte/media-darkmode.css'; /* Or: import 'fluentui-svelte/class-darkmode.css' */Opcional: iconos de Fluent UI
FluentUI Svelte ya depende de fluentui-icons-svelte, más de 6,000 iconos de Fluent UI como componentes de Svelte 5. Instálalo en tu app para usar los iconos tú mismo, por ejemplo dentro de un botón o una insignia. Los gestores de paquetes que no elevan las dependencias, como pnpm, solo te dejan importarlo si es una dependencia directa.
Instala los iconos
NPM:
npm i -D fluentui-icons-svelteYarn:
yarn add -D fluentui-icons-sveltePNPM:
pnpm add -D fluentui-icons-svelteImporta un icono y úsalo
Importa cada icono desde su propio archivo, que compila más rápido en desarrollo, y ajusta su tamaño o color con props:
Ver todos los iconos<script> import AddRegular from 'fluentui-icons-svelte/AddRegular.svelte'; </script> <AddRegular width="24" height="24" />
Opcional: Selawik como fuente alternativa
Opcionalmente, puedes incorporar Selawik, una alternativa de código abierto a Segoe UI, para obtener una apariencia similar en sistemas donde Segoe UI no está instalada. Los archivos de la fuente no están incluidos en el paquete npm.
Descarga los archivos de la fuente
Descarga los archivos de la fuente y colócalos en
static/fonts/selawik/en tu proyecto SvelteKit, para servirlos desde/fonts/selawik/. Conserva el archivo de licencia, incluido su aviso de derechos de autor, junto con las fuentes al distribuirlas. En otros frameworks, usa el directorio equivalente de recursos públicos:Declara las variantes de la fuente
Agrega estas declaraciones a tu archivo global
src/app.css. Usa el mismo nombre de familia para los pesos regular (400), seminegrita (600) y negrita (700):@font-face { font-family: 'Selawik'; src: url('/fonts/selawik/selawk.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: 'Selawik'; src: url('/fonts/selawik/selawksb.ttf') format('truetype'); font-weight: 600; font-style: normal; font-display: swap; } @font-face { font-family: 'Selawik'; src: url('/fonts/selawik/selawkb.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }Importa la hoja de estilos
Importa tu hoja de estilos global en
src/routes/+layout.svelte, junto con la hoja de estilos del tema. Incluye la hoja de estilos opcionaltypography.csspara aplicar las fuentes del tema en toda tu aplicación:import 'fluentui-svelte/theme.css'; import 'fluentui-svelte/typography.css'; import '../app.css';El tema ya define
--fs-font-family-basecon Segoe UI primero y Selawik en--fs-font-family-fallback, por lo que no necesitas sobrescribir las variables de fuente. Segoe UI mantiene la prioridad cuando está disponible. Si tu aplicación usa una ruta base o sirve recursos desde otra URL, ajusta las URL de las fuentes según corresponda.
Configuración del Proveedor
Envuelve tu aplicación con el proveedor FluentUISvelte en tu archivo raíz +layout.svelte para crear el contexto compartido que los componentes leen para el tema, el movimiento reducido y la navegación por teclado:
<script>
import { FluentUISvelte } from 'fluentui-svelte';
let { children } = $props();
</script>
<FluentUISvelte>
{@render children?.()}
</FluentUISvelte> El proveedor es opcional, pero algunas funcionalidades solo funcionan mientras está montado:
- Tema: el tema actual se comparte a través del proveedor, así que todos los componentes reaccionan al mismo tiempo cuando cambia.
- Movimiento reducido: el proveedor guarda la preferencia elegida dentro de tu aplicación y recurre a la configuración del sistema operativo. Sin él, los componentes solo pueden seguir la configuración del sistema.
- Navegación por teclado: las flechas y el foco itinerante en componentes como el auto suggest box, el calendar view y el dropdown dependen de la instancia de Tabspot que crea el proveedor.
Importar Componentes
Para usar los componentes de FluentUI Svelte, debes importarlos en tus archivos Svelte. Aquí tienes un ejemplo de cómo importar y usar un componente Button:
<script>
import { Button } from 'fluentui-svelte';
</script> Importar como Espacio de Nombres
También puedes importar todos los componentes como un espacio de nombres, lo que te permite acceder a ellos con un prefijo:
<script>
import * as FluentUISvelte from 'fluentui-svelte';
</script>
<FluentUISvelte.Button>
Click me
</FluentUISvelte.Button>
