Skip to content

Commit e562a06

Browse files
committed
⬆️ Update Carousel syntax to Svelte 5
1 parent a5b2848 commit e562a06

File tree

4 files changed

+21
-18
lines changed

4 files changed

+21
-18
lines changed

src/components/Carousel/Carousel.svelte

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,28 @@
1313
1414
import type { PaginationEventType } from '../Pagination/pagination'
1515
16-
export let items: SvelteCarouselProps['items'] = 0
17-
export let itemsPerSlide: SvelteCarouselProps['itemsPerSlide'] = 1
18-
export let subText: SvelteCarouselProps['subText'] = ''
19-
export let scrollSnap: SvelteCarouselProps['scrollSnap'] = true
20-
export let progress: SvelteCarouselProps['progress'] = false
21-
export let pagination: SvelteCarouselProps['pagination'] = {}
22-
export let effect: SvelteCarouselProps['effect'] = null
23-
export let debounce: SvelteCarouselProps['debounce'] = 20
24-
export let className: SvelteCarouselProps['className'] = ''
25-
export let wrapperClassName: SvelteCarouselProps['wrapperClassName'] = ''
26-
export let paginationClassName: SvelteCarouselProps['paginationClassName'] = ''
27-
export let onScroll: SvelteCarouselProps['onScroll'] = () => {}
16+
let {
17+
items = 0,
18+
itemsPerSlide = 1,
19+
subText,
20+
scrollSnap = true,
21+
progress,
22+
pagination,
23+
effect,
24+
debounce = 20,
25+
className,
26+
wrapperClassName,
27+
paginationClassName,
28+
children,
29+
onScroll
30+
}: SvelteCarouselProps = $props()
2831
2932
let carouselContainer: HTMLDivElement
3033
let carousel: HTMLUListElement
3134
let carouselItems: HTMLCollection | NodeListOf<HTMLLIElement>
32-
let progressValue = 0
35+
let progressValue = $state(0)
3336
let paginated = false
34-
let currentPage = 1
37+
let currentPage = $state(1)
3538
3639
const classes = classNames([
3740
styles.carousel,
@@ -141,7 +144,7 @@
141144
<section class={classes}>
142145
<div class={containerClasses} bind:this={carouselContainer}>
143146
<ul class={wrapperClasses} style={style} bind:this={carousel}>
144-
<slot />
147+
{@render children?.()}
145148
</ul>
146149
</div>
147150
<ConditionalWrapper

src/components/Pagination/Pagination.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
})
6767
}
6868
69-
let calculatedCurrentPage = $state(
69+
let calculatedCurrentPage = $derived(
7070
currentPage
7171
|| (pages?.findIndex(page => page.active) || -1) + 1
7272
|| 1

src/playground/ReactPlayground.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ const ReactPlayground = () => {
196196
<Card title="Progress">
197197
<Progress value={progress} />
198198

199-
<div className="flex xs my">
199+
<div className="flex xs my wrap">
200200
<Button onClick={() => setProgress(0)}>0%</Button>
201201
<Button onClick={() => setProgress(25)}>25%</Button>
202202
<Button onClick={() => setProgress(50)}>50%</Button>

src/playground/SveltePlayground.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@
199199
<Card title="Progress">
200200
<Progress value={progress} />
201201

202-
<div class="flex xs my">
202+
<div class="flex xs my wrap">
203203
<Button onClick={() => progress = 0}>0%</Button>
204204
<Button onClick={() => progress = 25}>25%</Button>
205205
<Button onClick={() => progress = 50}>50%</Button>

0 commit comments

Comments
 (0)