@tamagui/slider 2.7.7 → 3.0.0-beta.1093.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Slider.cjs +442 -511
- package/dist/cjs/Slider.native.cjs +462 -0
- package/dist/cjs/Slider.native.js +416 -497
- package/dist/cjs/Slider.native.js.map +1 -1
- package/dist/cjs/SliderImpl.cjs +101 -129
- package/dist/cjs/SliderImpl.native.cjs +128 -0
- package/dist/cjs/SliderImpl.native.js +104 -146
- package/dist/cjs/SliderImpl.native.js.map +1 -1
- package/dist/cjs/SliderResponder.cjs +51 -0
- package/dist/cjs/SliderResponder.native.cjs +52 -0
- package/dist/cjs/SliderResponder.native.js +54 -0
- package/dist/cjs/SliderResponder.native.js.map +1 -0
- package/dist/cjs/constants.cjs +58 -45
- package/dist/cjs/constants.native.cjs +78 -0
- package/dist/cjs/constants.native.js +58 -44
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/helpers.cjs +58 -60
- package/dist/cjs/helpers.native.cjs +98 -0
- package/dist/cjs/helpers.native.js +65 -68
- package/dist/cjs/helpers.native.js.map +1 -1
- package/dist/cjs/index.cjs +15 -17
- package/dist/cjs/index.native.cjs +32 -0
- package/dist/cjs/index.native.js +15 -16
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/types.cjs +9 -11
- package/dist/cjs/types.native.cjs +18 -0
- package/dist/cjs/types.native.js +9 -10
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/esm/Slider.mjs +415 -474
- package/dist/esm/Slider.mjs.map +1 -1
- package/dist/esm/Slider.native.js +389 -463
- package/dist/esm/Slider.native.js.map +1 -1
- package/dist/esm/SliderImpl.mjs +84 -104
- package/dist/esm/SliderImpl.mjs.map +1 -1
- package/dist/esm/SliderImpl.native.js +88 -123
- package/dist/esm/SliderImpl.native.js.map +1 -1
- package/dist/esm/SliderResponder.mjs +26 -0
- package/dist/esm/SliderResponder.mjs.map +1 -0
- package/dist/esm/SliderResponder.native.js +31 -0
- package/dist/esm/SliderResponder.native.js.map +1 -0
- package/dist/esm/constants.mjs +38 -21
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js +38 -21
- package/dist/esm/constants.native.js.map +1 -1
- package/dist/esm/helpers.mjs +37 -36
- package/dist/esm/helpers.mjs.map +1 -1
- package/dist/esm/helpers.native.js +44 -45
- package/dist/esm/helpers.native.js.map +1 -1
- package/dist/esm/index.js +4 -3
- package/dist/esm/index.mjs +4 -3
- package/dist/esm/index.native.js +4 -3
- package/dist/esm/types.mjs +0 -2
- package/dist/esm/types.native.js +0 -2
- package/dist/jsx/Slider.mjs +415 -474
- package/dist/jsx/Slider.mjs.map +1 -1
- package/dist/jsx/Slider.native.cjs +462 -0
- package/dist/jsx/Slider.native.js +416 -497
- package/dist/jsx/Slider.native.js.map +1 -1
- package/dist/jsx/SliderImpl.mjs +84 -104
- package/dist/jsx/SliderImpl.mjs.map +1 -1
- package/dist/jsx/SliderImpl.native.cjs +128 -0
- package/dist/jsx/SliderImpl.native.js +104 -146
- package/dist/jsx/SliderImpl.native.js.map +1 -1
- package/dist/jsx/SliderResponder.mjs +26 -0
- package/dist/jsx/SliderResponder.mjs.map +1 -0
- package/dist/jsx/SliderResponder.native.cjs +52 -0
- package/dist/jsx/SliderResponder.native.js +54 -0
- package/dist/jsx/SliderResponder.native.js.map +1 -0
- package/dist/jsx/constants.mjs +38 -21
- package/dist/jsx/constants.mjs.map +1 -1
- package/dist/jsx/constants.native.cjs +78 -0
- package/dist/jsx/constants.native.js +58 -44
- package/dist/jsx/constants.native.js.map +1 -1
- package/dist/jsx/helpers.mjs +37 -36
- package/dist/jsx/helpers.mjs.map +1 -1
- package/dist/jsx/helpers.native.cjs +98 -0
- package/dist/jsx/helpers.native.js +65 -68
- package/dist/jsx/helpers.native.js.map +1 -1
- package/dist/jsx/index.js +4 -3
- package/dist/jsx/index.mjs +4 -3
- package/dist/jsx/index.native.cjs +32 -0
- package/dist/jsx/index.native.js +15 -16
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/types.mjs +0 -2
- package/dist/jsx/types.native.cjs +18 -0
- package/dist/jsx/types.native.js +9 -10
- package/dist/jsx/types.native.js.map +1 -1
- package/package.json +19 -15
- package/src/Slider.tsx +168 -189
- package/src/SliderImpl.tsx +25 -32
- package/src/SliderResponder.native.tsx +25 -0
- package/src/SliderResponder.tsx +37 -0
- package/src/constants.tsx +16 -6
- package/src/types.ts +13 -4
- package/types/Slider.d.ts +229 -212
- package/types/Slider.d.ts.map +1 -1
- package/types/SliderImpl.d.ts +3 -6
- package/types/SliderImpl.d.ts.map +1 -1
- package/types/SliderResponder.d.ts +10 -0
- package/types/SliderResponder.d.ts.map +1 -0
- package/types/SliderResponder.native.d.ts +3 -0
- package/types/SliderResponder.native.d.ts.map +1 -0
- package/types/constants.d.ts +10 -10
- package/types/constants.d.ts.map +1 -1
- package/types/helpers.d.ts.map +1 -1
- package/types/types.d.ts +12 -4
- package/types/types.d.ts.map +1 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/types.mjs.map +0 -1
- package/dist/esm/types.native.js.map +0 -1
- package/dist/jsx/index.js.map +0 -1
- package/dist/jsx/index.mjs.map +0 -1
- package/dist/jsx/types.mjs.map +0 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { TamaguiElement } from '@tamagui/core'
|
|
2
|
+
import { View } from '@tamagui/core'
|
|
3
|
+
import { useResponderEvents } from '@tamagui/react-native-use-responder-events'
|
|
4
|
+
import * as React from 'react'
|
|
5
|
+
|
|
6
|
+
import type { SliderResponderProps } from './types'
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The slider is dragged through the responder system, and tamagui views stopped
|
|
10
|
+
* carrying responder props on web. This is the same responder system
|
|
11
|
+
* react-native-web runs, used directly, so dragging behaves as it did when this
|
|
12
|
+
* was a react-native `View`.
|
|
13
|
+
*/
|
|
14
|
+
export const SliderResponder = ({
|
|
15
|
+
onResponderGrant,
|
|
16
|
+
onResponderMove,
|
|
17
|
+
onResponderRelease,
|
|
18
|
+
children,
|
|
19
|
+
}: SliderResponderProps) => {
|
|
20
|
+
const ref = React.useRef<TamaguiElement>(null)
|
|
21
|
+
|
|
22
|
+
useResponderEvents(ref, {
|
|
23
|
+
onMoveShouldSetResponderCapture: () => true,
|
|
24
|
+
onMoveShouldSetResponder: () => true,
|
|
25
|
+
onStartShouldSetResponder: () => true,
|
|
26
|
+
onResponderTerminationRequest: () => false,
|
|
27
|
+
onResponderGrant,
|
|
28
|
+
onResponderMove,
|
|
29
|
+
onResponderRelease,
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
return (
|
|
33
|
+
<View ref={ref} position="absolute" inset={0}>
|
|
34
|
+
{children}
|
|
35
|
+
</View>
|
|
36
|
+
)
|
|
37
|
+
}
|
package/src/constants.tsx
CHANGED
|
@@ -4,12 +4,22 @@ import type { Direction, SliderContextValue } from './types'
|
|
|
4
4
|
|
|
5
5
|
export const SLIDER_NAME = 'Slider'
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
const sliderContextKeys = ['size', 'min', 'max', 'orientation'] as const
|
|
8
|
+
|
|
9
|
+
export const SliderContext = createStyledContext<
|
|
10
|
+
SliderContextValue,
|
|
11
|
+
(typeof sliderContextKeys)[number]
|
|
12
|
+
>(
|
|
13
|
+
{
|
|
14
|
+
size: true,
|
|
15
|
+
min: 0,
|
|
16
|
+
max: 100,
|
|
17
|
+
orientation: 'horizontal',
|
|
18
|
+
} as SliderContextValue,
|
|
19
|
+
{
|
|
20
|
+
keys: sliderContextKeys,
|
|
21
|
+
}
|
|
22
|
+
)
|
|
13
23
|
|
|
14
24
|
export const { Provider: SliderProvider, useStyledContext: useSliderContext } =
|
|
15
25
|
SliderContext
|
package/src/types.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { GestureReponderEvent, SizeTokens, TamaguiElement } from '@tamagui/core'
|
|
2
2
|
import type { Scope } from '@tamagui/create-context'
|
|
3
|
-
import type {
|
|
3
|
+
import type { YStackProps } from '@tamagui/stacks'
|
|
4
4
|
|
|
5
5
|
export type ScopedProps<P> = P & { __scopeSlider?: string }
|
|
6
6
|
|
|
@@ -25,7 +25,9 @@ type SliderImplPrivateProps = {
|
|
|
25
25
|
onStepKeyDown(event: React.KeyboardEvent): void
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
export type SliderTrackProps =
|
|
28
|
+
export type SliderTrackProps = YStackProps & {
|
|
29
|
+
size?: SizeTokens | true
|
|
30
|
+
}
|
|
29
31
|
|
|
30
32
|
export interface SliderImplProps extends SliderTrackProps, SliderImplPrivateProps {
|
|
31
33
|
dir?: Direction
|
|
@@ -64,7 +66,7 @@ export interface SliderProps
|
|
|
64
66
|
extends
|
|
65
67
|
Omit<SliderHorizontalProps, keyof SliderOrientationPrivateProps | 'defaultValue'>,
|
|
66
68
|
SliderEventProps {
|
|
67
|
-
size?: SizeTokens
|
|
69
|
+
size?: SizeTokens | true
|
|
68
70
|
name?: string
|
|
69
71
|
disabled?: boolean
|
|
70
72
|
orientation?: React.AriaAttributes['aria-orientation']
|
|
@@ -79,7 +81,7 @@ export interface SliderProps
|
|
|
79
81
|
}
|
|
80
82
|
|
|
81
83
|
export type SliderContextValue = {
|
|
82
|
-
size?: SizeTokens | number | null
|
|
84
|
+
size?: SizeTokens | number | true | null
|
|
83
85
|
disabled?: boolean
|
|
84
86
|
min: number
|
|
85
87
|
max: number
|
|
@@ -88,3 +90,10 @@ export type SliderContextValue = {
|
|
|
88
90
|
thumbs: Map<TamaguiElement, number>
|
|
89
91
|
orientation: SliderProps['orientation']
|
|
90
92
|
}
|
|
93
|
+
|
|
94
|
+
export type SliderResponderProps = {
|
|
95
|
+
onResponderGrant: (event: any) => void
|
|
96
|
+
onResponderMove: (event: any) => void
|
|
97
|
+
onResponderRelease: (event: any) => void
|
|
98
|
+
children?: React.ReactNode
|
|
99
|
+
}
|