-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Implement Slider #44
base: master
Are you sure you want to change the base?
Conversation
So awesome! I found this article about styling sliders, looks like cross browser support makes it tricky but it's possible. !rntester |
There's a followup to that article, entitled A Sliding Nightmare: Understanding the Range Input, and... yes. Yes it is. I seem to be hitting https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/14489843/, so I'll clean up and commit my current work on styling and |
My visual styling approach so far in this branch has been:
|
|
The two major problems at the moment are:
In light of these issues, it may be worth reverting to a plain DOM implementation (or an existing 3rd party lib) that just does its own rendering, event handling, accessibility, etc, rather than try to tame @vincentriemer Thoughts? What would be your criteria for merging this feature? |
I think that a plain DOM approach may be best, I have avoided using CSS Custom Properties due to wonky support in Firefox/Edge. You can find a good example of the accessibility considerations here and just as importantly, ensure it behaves as a user would expect it to when using it on a touch device. !rntester |
Hey there, just wanted to share this early implementation of
<Slider>
based on<input type="range">
. I've not begun to tackle styling in any way and there are probably a dozen other things that need to change before this can be considered complete. I'm doing this to learn, so any and all feedback would be appreciated.Status and next steps
rndom-slider
Svelte component.rndom-slider
.Libraries/Components/Slider/Slider.js
asSlider.dom.js
- specifically from this version to stay in sync with the rest of RNDom and particularly RNTester.RCTSlider
and wire it up withrndom-slider
.RCTSliderManager
and wire it up withRCTSlider
.value
,minimumValue
,maximumValue
,step
,disabled
,onValueChange
,onSlidingComplete
.minimumTrackTintColor
&maximumTrackTintColor
(Bootstrap doesn't support this but see https://codepen.io/noahblon/pen/OyajvN for an cross-platform approach)thumbTintColor
thumbTintColor
, patch RNTester to enable the corresponding example.thumbImage
,trackImage
,minimumTrackImage
,maximumTrackImage
.