UI Component library for building KaiOS apps. All components and views are navigable using a phone's d-pad and softkeys.
CAUTION: The style specs of some components has been updated recently, which has yet to be reflected in this implementation. Please refer to the KaiOS blog article on Medium.
KaiUI has not yet been deployed to NPM. To build and play with the demo app run:
npm install
npm start
For use in the KaiOS emulator you must build
npm build
And update the hashes of the JS and CSS files in index.html manually before running.
All specs can be found here
Name | Preview | Spec |
---|---|---|
Header | ||
Tabs | ||
SoftKey | ||
Text List Item | ||
Body Text List Item | ||
Icon List Item | ||
Arrow List Item | ||
Separator | ||
Checkbox | ||
Radio Button | ||
Progress-Download | ||
Progress-Buffering | ||
Slider | ||
Button | ||
Input |
Navigation details can be found here
Name | Preview |
---|---|
TabView | |
ListView |
Name | Preview | Spec |
---|---|---|
Toast |
Notifications are provided by KaiOS itself when you use the standard Notifications API while your app is running, or the Push API if you want push notifications. Installed apps need to request permission for this through the manifest file. Just add this line to the permissions section of your manifest.webapp
file.
"desktop-notification": {}
Once this is added, you can send the user notifications without needing to request permission.
Standardized colors and font stylings are found in the themes directory. These follow the KaiOS typography standard. Currently you can customize the focus color of components through props, font color is a WIP.
KaiUI uses custom icons provided on the KaiOS developer portal. These are included in the kai-icons font and incorporated as SASS/CSS classes.
There's much work to be done on building out more UI components, writing tests, and integrating typing (probably using flow). Please look at currently open issues and our Contributing Guide