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
Sign in to your account
Or
create a new account
Email address
Password
Remember me
Forgot your password?
Sign in
Or continue with
Continue with GitHub