Skip to content

Commit 41bc4c3

Browse files
committed
fix(solid): removing unnecessary memoization and fixing props handling
1 parent b9b644f commit 41bc4c3

File tree

4 files changed

+6
-9
lines changed

4 files changed

+6
-9
lines changed

packages/solid/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
input field multiple times
1212
- **Presence**: Fixed a bug where elements get stuck in unmountSuspended state during rapid state updates
1313
- **Radio Group, Tabs**: Fixed indicator prematurely showing when rect has not been resolved yet
14+
- **ScrollArea**: Removed unnecessary `createMemo` wrapper in scrollbar props as is already reactive.
1415
- **Tabs**: Fixed tabs indicator position not updating when inactive tabs change size
1516
- **Tags Input**: Fixed issue where item delete trigger doesn't have `data-*` attached
1617

packages/solid/src/components/scroll-area/scroll-area-scrollbar.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import type { ScrollbarProps } from '@zag-js/scroll-area'
22
import { mergeProps } from '@zag-js/solid'
3-
import { createMemo } from 'solid-js'
43
import type { Assign } from '../../types'
54
import { createSplitProps } from '../../utils/create-split-props'
65
import { type HTMLProps, type PolymorphicProps, ark } from '../factory'
@@ -12,13 +11,11 @@ export interface ScrollAreaScrollbarProps extends Assign<HTMLProps<'div'>, Scrol
1211

1312
export const ScrollAreaScrollbar = (props: ScrollAreaScrollbarProps) => {
1413
const [scrollbarProps, localProps] = createSplitProps<ScrollbarProps>()(props, ['orientation'])
15-
const scrollAreaApi = useScrollAreaContext()
16-
const mergedProps = mergeProps(() => scrollAreaApi().getScrollbarProps(scrollbarProps), localProps)
17-
18-
const scrollbarContext = createMemo(() => scrollbarProps)
14+
const scrollArea = useScrollAreaContext()
15+
const mergedProps = mergeProps(() => scrollArea().getScrollbarProps(scrollbarProps), localProps)
1916

2017
return (
21-
<ScrollAreaScrollbarProvider value={scrollbarContext}>
18+
<ScrollAreaScrollbarProvider value={scrollbarProps}>
2219
<ark.div {...mergedProps} />
2320
</ScrollAreaScrollbarProvider>
2421
)

packages/solid/src/components/scroll-area/scroll-area-thumb.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export const ScrollAreaThumb = (props: ScrollAreaThumbProps) => {
1111
const scrollAreaApi = useScrollAreaContext()
1212
const scrollbarProps = useScrollAreaScrollbarContext()
1313

14-
const mergedProps = mergeProps(() => scrollAreaApi().getThumbProps(scrollbarProps()), props)
14+
const mergedProps = mergeProps(() => scrollAreaApi().getThumbProps(scrollbarProps), props)
1515

1616
return <ark.div {...mergedProps} />
1717
}
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import type { ScrollbarProps } from '@zag-js/scroll-area'
2-
import type { Accessor } from 'solid-js'
32
import { createContext } from '../../utils/create-context'
43

5-
export const [ScrollAreaScrollbarProvider, useScrollAreaScrollbarContext] = createContext<Accessor<ScrollbarProps>>({
4+
export const [ScrollAreaScrollbarProvider, useScrollAreaScrollbarContext] = createContext<ScrollbarProps>({
65
hookName: 'useScrollAreaScrollbarContext',
76
providerName: '<ScrollAreaScrollbarProvider />',
87
})

0 commit comments

Comments
 (0)