NativePHP for Mobile
is now
completely free
and open source!
NativePHP
closeMenu(), 200))" @click.outside="closeMenu()" @keydown.escape.window="closeMenu(true)">
Mobile
{ const items = Array.from($refs.menu.querySelectorAll('[role=menuitem]')) const i = items.indexOf(document.activeElement) const next = i === -1 ? 0 : (i + 1) % items.length items[next]?.focus() })()" @keydown.arrow-up.prevent="(() => { const items = Array.from($refs.menu.querySelectorAll('[role=menuitem]')) const i = items.indexOf(document.activeElement) const prev = i === -1 ? items.length - 1 : (i - 1 + items.length) % items.length items[prev]?.focus() })()">
Documentation
Get started with Mobile
Plugins
Extend your mobile apps
Showcase
Apps built with NativePHP
GitHub
Visit our GitHub repository
closeMenu(), 200))" @click.outside="closeMenu()" @keydown.escape.window="closeMenu(true)">
Desktop
{ const items = Array.from($refs.menu.querySelectorAll('[role=menuitem]')) const i = items.indexOf(document.activeElement) const next = i === -1 ? 0 : (i + 1) % items.length items[next]?.focus() })()" @keydown.arrow-up.prevent="(() => { const items = Array.from($refs.menu.querySelectorAll('[role=menuitem]')) const i = items.indexOf(document.activeElement) const prev = i === -1 ? items.length - 1 : (i - 1 + items.length) % items.length items[prev]?.focus() })()">
Documentation
Get started with Desktop
Showcase
Apps built with NativePHP
GitHub
Visit our GitHub repository
Home
Docs
Blog
Partners
Sponsor
Develop
Dashboard
Light
System
Dark
Try Bifrost!
Build
Distribute
Ship it!
Blog
Partners
Sponsor
Develop
Dashboard
Toggle theme
Try Bifrost!
Build
Distribute
Ship
Reset your password
Enter your email address and we'll send you a link to reset your password.
Email address
Send Password Reset Link
Back to login