Expokit
AboutDocsComponentsChartsBlocksPricing
StarGet Pro
Sign in
All components

Inputs

CalendarNewDate PickerNewFlip CalendarNewFloating InputOTP InputPassword InputRuler Time PickerNewSearch BarSelectSliderStepperTextareaTime PickerNew

Selection

CheckboxChip GroupRadio GroupRatingProSegmented ControlSwitch

Buttons

ButtonFloating Action ButtonProMorphing Button GroupProQR Code ButtonProSlide to ConfirmProStateful Button

Feedback

AlertProgressSkeletonSpinnerToast

Overlays

Action SheetNewBottom SheetDialogDrawerNew

Display

AccordionAvatarBadgeCardCarouselProGrain GradientNewList ItemNewSwipeable RowProTimelineNew

Navigation

Bottom NavNewProgress StepsNewTabs

Motion

Number TickerProOrb RevealProText Animation

ExpoKit Pro

15 ready-made screens & apps — onboarding, checkout, chat and more. Copy in and ship.

Get Pro or get it built for you →
Ruler Time Picker
Need it custom?

Components, screens or a full app, built by the dev behind ExpoKit.

Custom work
Sponsor ExpoKit

Free stays free. Tip once — keep shipping.

Support

ExpoKit Pro is live — launch price is 60% off until 30 NovClaim it

About
Docs
IntroductionWhat ExpoKit is and how it worksInstallationAdd ExpoKit to an Expo appThemingColours, radius and dark modeCLIinit, add, login and updateAI assistants (MCP)Cursor, Claude, Antigravity and moreRun on your phoneTry components in Expo GoChangelogWhat shipped recently
npx @expokit/cli@latest initQuick start
Components
Liquid Glass8 iOS 26 glass pieces3DNew14 tilt, flip and stack
Inputs 13
  • CalendarNew
  • Date PickerNew
  • Flip CalendarNew
  • Floating Input
  • OTP Input
  • +8 more
Selection 6
  • Checkbox
  • Chip Group
  • Radio Group
  • RatingPro
  • Segmented Control
  • +1 more
Buttons 6
  • Button
  • Floating Action ButtonPro
  • Morphing Button GroupPro
  • QR Code ButtonPro
  • Slide to ConfirmPro
  • +1 more
Feedback 5
  • Alert
  • Progress
  • Skeleton
  • Spinner
  • Toast
Overlays 4
  • Action SheetNew
  • Bottom Sheet
  • Dialog
  • DrawerNew
Display 9
  • Accordion
  • Avatar
  • Badge
  • Card
  • CarouselPro
  • +4 more
Navigation 3
  • Bottom NavNew
  • Progress StepsNew
  • Tabs
Motion 3
  • Number TickerPro
  • Orb RevealPro
  • Text Animation
70 components · 332 live variantsAll components
Charts

Cartesian

  • Area Chart
  • Bar Chart
  • Line Chart
  • Combo Chart
  • Price ChartNew
  • Pill Bar ChartNew
  • Stacked Pill ChartNew
  • Range Bar ChartNew
  • Diverging Bar ChartNew

Circular

  • Pie & Donut
  • Radial Chart
  • Radar Chart
  • Polar AreaPro

Dashboard

  • Stat CardNew
  • Goal BarsNew
  • Bar ListNew
  • Segmented BarNew
  • Tick Bar ChartNew
  • Waffle ChartNew
  • Bead ChartNew
  • Calendar HeatmapNew

Gauges & Progress

  • Gauge
  • Score GaugeNew
  • Activity RingsNew
  • Fan GaugeNew
  • Tick RingNew
  • Liquid GaugeNew
  • Mini RingNew

3D & Pixel

  • 3D DonutNew
  • Cylinder Bar ChartNew
  • Isometric BarsPro
  • Pixel BarsPro

Specialty

  • TreemapPro
  • WaterfallPro
  • BulletPro
  • TimelinePro
  • Candlestick
  • Heatmap
  • Funnel

Classic

  • Sparkline
  • Progress Rings
  • MultiLine (classic)
  • StackedBar (classic)
  • Ranking Bars (classic)

Guides

  • Usage & config
  • Patterns & effects
  • Show / hide anything
  • Chart theming
  • Interactions
44 charts, built on the open-source expo-charts engineAll charts
Blocks

Screens

ChatProAn AI assistant chat screenCheckoutProA premium checkoutDashboardProA finance / analytics home screenDonut ShopProA dessert shop screen where the products rollInboxProA messaging inboxOnboardingProA minimal swipeable welcome flowPaywallProAnimated paywall screens people actually readProfileProAccount profile for any appSearch ResultsProA clean, monochrome search screenSettingsProAn iOS-style grouped settings screenSign InProOne configurable sign-in flow modelled on top mobile apps

App templates

  • AI assistant appPro
  • Business banking appPro
  • Food ordering appPro
11 complete screens — drop one in, wire your dataSee them on devices All templates All blocks
Pricing
Star
DocsComponentsInputsRuler Time Picker

React Native component for ExpoRuler Time Picker

Open in Expo GoOpen in browser

Ruler Time Picker · Reminder, native in Expo Go — the other variants are a tap away. No account needed.

Needs Expo Go for SDK 58 — update from the App Store or Play Store.

Drag a tick ruler and the big time or date rolls piece by piece with a motion blur.

Also known as: scrub time picker, ruler date picker, drag to pick a time.

<RulerTimePicker />2 variantsiOS · Android · Expo Go
9:41

Reminder

Ruler Time Picker

Installation#

One command copies the source into your app — you own the code and can change anything.

Usage#

Colours, radius and light / dark come from useKit(). Wrap your app in <KitProvider accent="#6366f1" radius={14}> to re-skin every component at once.

Like this? There's a lot more in Pro Pro

15 full screens & app templates built from the same kit — install them the same way.

See what's in Pro

Props#

PropTypeDefault
mode

One tick per `step` minutes, or one tick per day with the 1st of each month marked.

'time' | 'date''time'
value

Controlled value: a 24-hour time, or a Date in date mode (its time of day is kept).

{ hours, minutes } | Date—
defaultValue

Initial value when uncontrolled.

{ hours, minutes } | Date09:00 · today
onChange

Called on every tick the ruler passes, while you drag.

(value) => void—
label

Small line above the value, e.g. 'Reminder time:'.

string—
step

Time: minutes per tick (1–60).

number5
hour12

Time: 12-hour clock with a rolling am / pm; false for 00–23.

booleantrue
minDate / maxDate

Date: earliest / latest pickable day; the ruler resists past them.

Date—
showYear

Date: 'auto' shows the year only when it isn't this year.

'auto' | 'always' | 'never''auto'
locale

Date: weekday and month names (Intl), English where Intl isn't available.

stringdevice
size

Time at 40 / 52 / 64pt, date at 34 / 44 / 54pt.

'sm' | 'md' | 'lg''md'
accent

Centre needle colour.

stringtheme accent
haptics

A light tap on every step, a firmer one on each whole hour (time) or new month (date).

booleantrue
sound

A soft tick on every step, generated in code (no audio file); it plays alongside other audio.

booleantrue
accessibilityLabel

Name read by screen readers.

stringlabel
style

Root container.

StyleProp<ViewStyle>—
textStyle

The big value text (colour, weight, font family).

StyleProp<TextStyle>—

Behaviour & accessibility#

Touch
Drag sideways anywhere on the picker to scrub; fling to coast. It snaps to the nearest step when it stops. A touch during a fling catches it. In date mode, past minDate / maxDate the ruler follows at a fraction of your finger and springs back. Every step taps (firmer on the hour or a new month) and ticks softly.
Motion
Ticks (and month markers) slide, swell and fade on the native driver from one endless pool. Each piece that changes rolls up (later) or down (earlier) with ghosted copies for a motion blur. Reduce Motion swaps the roll for an instant change.
Screen readers
One adjustable element whose value is the spoken time or full date; increment / decrement move one step, within the limits.

FAQ#

How do I make a scrub time picker in React Native?
Use ExpoKit's Ruler Time Picker: run npx @expokit/cli@latest add ruler-time-picker in your Expo or React Native project and it copies a ready-made scrub time picker into your app as plain TypeScript you can edit. It works on iOS, Android and web, and in Expo Go.
Does Ruler Time Picker work in Expo Go?
Yes. Ruler Time Picker runs in Expo Go on iOS and Android with no development build — its packages (expo-haptics, expo-audio, expo-file-system) are all included in Expo Go.
How do I add Ruler Time Picker to my Expo app?
Run npx @expokit/cli@latest add ruler-time-picker in your project. The CLI copies the component's source into your app and installs expo-haptics, expo-audio, expo-file-system, so the code is yours to change.
Is Ruler Time Picker free?
Yes. Ruler Time Picker is free: its full source is on this page and the CLI installs it without an account.
Can I change how Ruler Time Picker looks?
Yes. It takes its colours, radius and light / dark mode from useKit(), so wrapping your app in <KitProvider accent radius> re-skins it with every other ExpoKit component. The code lives in your project, so you can also edit anything directly.

Source#

PreviousPassword InputNextSearch Bar

Need this tailored to your app?

Custom components, screens or a full Expo app — designed and built by the developer behind ExpoKit.

Custom work

Did you like the content?

Applies to every preview on the site.

Accent
Radius
Font
9:41

Reminder

Ruler Time Picker

Manual installation is free. Sign in to see it

Sign in free

The usage example is free. Sign in to see it

Sign in free

The source is free. Sign in to see it

Sign in free