@vtmn/svelte
Decathlon Design System - Vitamin Svelte components library
Install package
After installing npm or yarn, you can install @vtmn/svelte
with this command:
npm i -S @vtmn/svelte
yarn add @vtmn/svelte
Install fonts
Roboto & Roboto Condensed fonts as described in Typography section will not be automatically loaded. Fortunately, there is a few easy ways to get started.
Shown below is a sample link markup used to load from a CDN:
<link
rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Roboto+Condensed:ital,wght@0,400;0,700;1,700&display=swap"
/>
You can also do it via CSS Import:
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Roboto+Condensed:ital,wght@0,400;0,700;1,700&display=swap');
Otherwise, you can install them with typeface
:
npm i -S typeface-roboto typeface-roboto-condensed
yarn add typeface-roboto typeface-roboto-condensed
Then, you can import them in your entry-point:
import 'typeface-roboto';
import 'typeface-roboto-condensed';
Usage
To use this package, you need to use the source files and compile on your side. To do so, you can start with +SvelteKit for example.
You should then preprocess the component CSS since they are imported in each corresponding component with an @import
rule. There are several ways to resolve path of an @import
rule, our recommended way is to use the postcss-import plugin.
For example, here is a working svelte.config.js
:
import adapter from '@sveltejs/adapter-auto';
import preprocess from 'svelte-preprocess';
import atImport from 'postcss-import';
const config = {
preprocess: preprocess({
postcss: {
plugins: [
atImport({
root: process.cwd(),
path: [
join(process.cwd(), 'node_modules'),
join(process.cwd(), 'src'),
],
}),
],
},
}),
kit: {
adapter: adapter(),
},
};
export default config;
Then, you just need to import components you need. Example with VtmnButton
:
<script>
import { VtmnButton } from '@vtmn/svelte';
</script>
<VtmnButton>Button</VtmnButton>
If you need to display icons, you will need to import @vtmn/icons
icon font like this:
import '@vtmn/icons/dist/vitamix/font/vitamix.css';
Or you can also import it with a CDN like unpkg.com
with this file.
Development
To know all the use cases and their associated code, check out the showcase here.
Changelog
If you want to know the different changes between versions of this package, look at the changelog here.
I have an issue, what should I do?
Please file the issue here.
Contributing
See the contributing docs.
License
Apache-2.0 © Decathlon