Tutorja tas-Svelte
Il-librerija Svelte ta' Lily hija l-implimentazzjoni kanonika: runes ta' Svelte 5, props tipizzati, firxa tal-props li jifdal u rbit fiż-żewġ direzzjonijiet ma'
bind:value.
X'se tibni
Formola żgħira ta' kuntatt — qasam b'tikketta, buttuna biex tibgħat, rbit fiż-żewġ direzzjonijiet, mġiba vera tat-tastiera u tal-qarrej tal-iskrin — l-ewwel għarwiena, imbagħad bi stil, f'madwar 10 minuti.
Qabel ma tibda
Għandek bżonn git, Node 22 jew iktar ġdid, u pnpm 10 jew iktar ġdid. Kwalunkwe proġett Svelte 5 jaħdem — app ġdida npx sv create tkun biżżejjed.
Pass 1 — Ġib il-kodiċi
git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-svelte-headless
pnpm install
pnpm test # vitest — thousands of component cases
pnpm run storybook # browse all 571 components
Il-komponenti jinsabu fi src/lib/components/{Name}/, direttorju wieħed għal kull komponent bil-fajl .svelte , it-testijiet, l-istories u d-dokumentazzjoni tiegħu maġenbu. Ikkopja d-direttorji li teħtieġ fl-app tiegħek, jew dipendi mir-repożitorju u importa direttament.
Pass 2 — L-ewwel komponent tiegħek
<script>
import Button from "#lib/components/Button/Button.svelte";
function save() { console.log("saved"); }
</script>
<Button onclick={save}>Save</Button>
Jirrendi <button class="button" type="button">. Il-props huma tipizzati: type, disabled,
pressed (jirrendi aria-pressed (jirrendi label ( aria-label għal buttuni ta' tibdil),
Pass 3 — Ikkomponi formola żgħira
<script>
import Form from "#lib/components/Form/Form.svelte";
import Field from "#lib/components/Field/Field.svelte";
import TextInput from "#lib/components/TextInput/TextInput.svelte";
import Button from "#lib/components/Button/Button.svelte";
let name = $state("");
</script>
<Form label="Contact form" onsubmit={handleSubmit}>
<Field label="Full name" required>
<TextInput id="name" label="Full name" bind:value={name} required />
</Field>
<Button type="submit">Save</Button>
</Form>
Field jieħu l- label bħala prop tiegħu stess minflok komponent ta' tikketta mdaħħal — għaddiha darba, fuq Fieldu TextInputkorrispondenti ta' label jipprovdi l-isem aċċessibbli. TextInput's value biex tissostitwixxi), u kwalunkwe attribut żejjed jinfirex fuq l-għerq.
$bindable huwa prop bind:value rune, għalhekk
Ivverifikat fl-2026-08-29: jagħtik rbit fiż-żewġ direzzjonijiet minnufih. svelte/server dan is-snippet eżatt ġie kkompilat permezz ta' <label for> u ċċekkjat għal tikketta waħda biss, marbuta sew Label ġewwa Field— abbozz preċedenti daħħal
żewġ tikketti (waħda vojta) għax Field diġà jirrendi tiegħu stess mill-input label separat ġewwa, li rrendi
Ir-rotta komposta tal-formola ta' kuntatt
hija l-istess mudell, ittestjat b'testijiet e2e u axe veri.
Iċċekkja x-xogħol tiegħek: mexxi l-app u l-formola tidher għarwiena — eżattament kif intenzjonat: l-istil għad irid jiġi. Agħfas Tab: il-focus jgħaddi minn kull kontroll, it-tikketta tiġi mħabbra u l-ibgħat jaħdem. Il-mġiba lesta; id-dehra hija tiegħek u hija l-pass li jmiss.
Pass 4 — Agħtiha stil
Kollox hawn fuq jirrendi bħala struttura pura, lesta għall-istili tiegħek. Agħti stil lill-ganċijiet tal-klassi —
.button, .text-input, .label,
.field — fl-istylesheet globali tiegħek, jew evita tema lesta fi app.html:
<link rel="stylesheet" href="/themes/dark.css" />
Aġġustamenti għal kull istanza jgħaddu permezz tal-prop class , li jiżdied mal-ganċ bażi: <Button class="wide"> jirrendi
class="button wide".
Pass 5 — Ara kollox jaħdem
L-app eżempju SvelteKit hija l-istess katalogu bi stil sħiħ, b'dimostrazzjonijiet ħajjin, testijiet Playwright e2e u linja bażi ta' aċċessibbiltà axe-core:
git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-svelte-sveltekit-examples
pnpm install && pnpm run dev
Passi li jmiss
- Temi — bdil waqt it-tħaddim bl-għajnuna theme-picker għal Svelte.
- Għajnuniet tal-preferenzi — lingwa u daqs tat-test.
- Katalogu tal-komponenti — proprjetajiet, ARIA u tastiera għal kull komponent.
Mistoqsijiet matul it-triq? Il-paġna tal-għajnuna hija mimlija tweġibiet — u jekk pass jista' jkun iktar ċar, għidilna u nħossuna kuntenti ntejbu t-tutorja.