@ruby-native/vue
| Install | |
|---|---|
npm install @ruby-native/vue |
|
| Latest Version: | 0.18.0 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Oct 23, 2026 |
| Links: | GitHub · npm |
@ruby-native/vue
Vue components for Ruby Native. Use these in an Inertia.js + Vue app to emit the signal elements that Ruby Native's iOS and Android apps read to render native tabs, navigation bars, forms, and more.
Install
npm install @ruby-native/vue
Usage
<script setup>
import { NativeTabs, NativeNavbar, NativeButton, NativeForm } from "@ruby-native/vue"
</script>
<template>
<NativeNavbar :title="product.name">
<NativeButton icon="bag" href="/cart" />
</NativeNavbar>
<NativeForm />
<!-- your page content -->
</template>
Each component renders a hidden data-native-* signal element that the Ruby Native runtime picks up and turns into the corresponding native UI.
Components
NativeTabs- show the native tab barNativePush- request push notification permissionNativeForm- mark the current page as a form so back navigation skips itNativePresentation- declare that this page lands as a root, with no back buttonNativeReview- ask for an App Store review prompt when the page loadsNativeToast- show a transient native toast above all app chromeNativeNavbar- native navigation bar with title and buttonsNativeButton- native nav bar button (icon, title, href, or click target)NativeMenuItem- item inside a native menuNativeMenu- native menu attached to any element on the page via a CSS selectorNativeSegment- segmented button in the nav bar (iOS only)NativeShareButton- native nav bar button that opens the share sheetNativeShareMenuItem- menu item that opens the share sheetNativeSubmitButton- native "Save" button that submits a formNativeFab- floating action buttonNativeOverscroll- per-page overscroll colorsNativeBadge- set the badge count on a home screen or tab bar iconNativeBackButton- visible button that pops the native navigation stack
NativeBackButton renders a chevron unless you pass default slot content:
<NativeBackButton class="mr-2" />
Helpers
-
nativePlatform()- returns"ios","android", ornullon the web. The counterpart of thenative_platformRails helper. -
nativeHaptic(feedback = "success", data = {})- returns attributes tov-bindonto a clickable element so tapping it triggers native haptic feedback:<button v-bind="nativeHaptic('success')">Save</button>
TypeScript
Type declarations ship with the package. There is nothing to install and no @types companion package. Components carry their prop types, so vue-tsc checks them in single-file components.
The NativeIcons, NativeButtonPosition, and NativeHapticFeedback types are exported too.
Docs
Full guides at rubynative.com/docs.
License
MIT
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.18.0 | >=3 | MIT | |
| 0.17.3 | >=3 | MIT | |
| 0.17.2 | >=3 | MIT | |
| 0.17.1 | >=3 | MIT | |
| 0.17.0 | >=3 | MIT | |
| 0.16.0 | >=3 | MIT | |
| 0.15.3 | >=3 | MIT | |
| 0.15.2 | >=3 | MIT | |
| 0.15.1 | >=3 | MIT | |
| 0.15.0 | >=3 | MIT | |
| 0.14.3 | >=3 | MIT | |
| 0.14.2 | >=3 | MIT | |
| 0.14.0 | >=3 | MIT | |
| 0.13.0 | >=3 | MIT | |
| 0.12.4 | >=3 | MIT | |
| 0.12.1 | >=3 | MIT | |
| 0.12.0 | >=3 | MIT | |
| 0.11.2 | >=3 | MIT | |
| 0.11.1 | >=3 | MIT | |
| 0.11.0 | >=3 | MIT | |
| 0.10.22 | >=3 | MIT | |
| 0.10.20 | >=3 | MIT | |
| 0.10.14 | >=3 | MIT | |
| 0.10.12 | >=3 | MIT | |
| 0.10.11 | >=3 | MIT | |
| 0.10.10 | >=3 | MIT | |
| 0.10.9 | >=3 | MIT | |
| 0.10.8 | >=3 | MIT | |
| 0.10.6 | >=3 | MIT | |
| 0.10.4 | >=3 | MIT |
Showing the latest 30 of 43. See every release on npm