Magical unicorns, seriously. Components make your document come alive. You can bind a component to a state object for automatic updates. You can change the template or data that a component uses to change it dynamically.Learn More
ChocolateChip-UI components have templates defined with ES6 template literals. You can use custom variables that make sense for the data you're using. You can use a plain template literal or the
html tagged template literal. You can also easily define template helpers.
Data is the ultimate truth in an app. Models provide a convenient way to encapsulate data and make it available to the system for use. Unlike raw data, state objects can propagate their changes so that components can update automatically.Learn More
ChocolateChip-UI's pubsub system enables you to create mediators to manage the flow of your app. You can use mediators to update app state as the user interacts with a component, or to persist the data.Learn More
Navigation lists, select lists, editable lists, tab bars, slide out menus, switches, buttons, carousels, popups, popovers, sheets, segmented buttons, steppers, busy indicators. Lots of widgets to implement the user interactions you need.Learn More
Routing enables you to write code detached from the DOM. ChocolateChip-UI automatically dispatches these for you and gives you with the correct data points in the route callback. Routes are used internally and do not affect the url.Learn More
ChocolateChip-UI provides extensive support for interactions with multiple types of devices: mouse, finger, stylus. Whether it's a tap, a mouse down, a click or a swipe, ChocolateChip-UI gives you a consistent interface for capturing these.Learn More
Components bound to data mean you don't need to fiddle with the DOM. If you do need to, ChocolateChip-UI provides a handlful of DOM methods that follow jQuery conventions. But seriously, you should almost never need to use them.Learn More
From the simple to the complex, ChocolateChip-UI has a comprehesive layout system to build any type of layout you need. By default ChocolateChip-UI layouts are responsive, so you don't need to worry about device sizes. You do need to make sure your content fits properly on narrower devices.Learn More
If you have forms, you can use ChocolateChip-UI's form validators to check you data as the user is filling out the form. You can also validate the form at submit. If the form passes, it will be converted into a JSON object.Learn More
Raw data, that's what you usually get when you query a database. It doesn't look pretty. ChocolateChip-UI provides a number of helpful data formatters so your data can look the way your users expect. There are options for localization too.Learn More
So, you made a web app with ChocolateChip-UI and you want to deploy it to Android or iOS. ChocolateChip-UI provides you with chui, a command line tool to turn your app into a hybrid that you can put on each platform's app store.Learn More
ChocolateChip-UI has great support for Hebrew, Arabic, Farsi, Sorani, Pashto, Urdu and other right-to-left languages. Just add
dir='rtl' to the HTML tag.