Dyte's React UI Kit is a prebuilt design library of UI components that makes it easy to integrate video and voice calls into any app or website within minutes.
The Anatomy of React UI Kit
The UI Kit is a design library of prebuilt UI components built on top of the core SDKs. Core SDK handles all the low-level media and network handling parts of a meeting and exposes simpler APIs to use. You can create a meeting object using the web-core components and pass it to the UI Kit components.
- Uses a layered design structure, allowing you to start with one prebuilt component and slowly add further layers as the needs evolve. For example, you can create a full fledged meeting experience using just one UI component, DyteMeeting. The DyteMeeting component contains all the necessary features and subcomponents to create a default meeting UI.
- Includes a number of Hooks. Hooks enable you to use various React features from your components. For more information, see Use Web Core Hooks.
How to Use React UI Kit?
Dyte's UI Kit offers a couple of ways to get started with your live video and voice calling applications.
Use prebuilt components: You can use prebuilt
DyteMeetingcomponent to create your meeting quickly. With this component, you don't have to handle all the states, dialogs, and other aspects of managing the application. The UI kit also respect your permissions and theming configuration from the preset.
For more information, see React UI Kit Quickstart.
Build your own UI: Dyte also offers the flexibility to build your own UI using various individual components. This offers limitless customization options, ranging from colors and font to spacing, participant tiles, screen share views, logo, height, width and more, you can tailor the UI to fit your exact needs. See Build your own UI section.
The DyteMeeting component can be broken down into 3 major subcomponents:
Displays information about the meeting, such as the meeting title and the participant count.
The grid displays the video feeds of meeting participants. The grid component in Dyte's UI Kit adjusts the layout of video feeds based on the meeting's participant count, ensuring a smooth meeting experience. It provides a variety of layouts and variants.
Dyte Control Bar
The control bar displays various controls for the meetings. It can easily be customized to match the look and feel of your web application. Customizing the control bar gives you the flexibility to show or hide controls, add or remove buttons, and make other adjustments to enhance the meeting experience for your users.
Here are the browser requirements:
- Chrome (or Chromium based) 74+
- Firefox 78+
- Opera 64+
- Safari 12+
- Edge 79+
- iOS (Safari) 12.1+
- iOS (Non-Safari) 15+
The entire UI has a small <500KB bundle size. If you use individual components, the size will be even smaller.
- Dyte UI Kit is built using
web components. Web Components are a built-in browser specification that enables you to develop reusable custom elements without relying on any third-party frameworks. Web components provides the following advantages:
- Encapsulation: Web components utilize Shadow DOM, which provides DOM and style encapsulation, isolating the styling of each component. This ensures that the CSS on your page does not interfere with Dyte's component styling and vice versa.
- Fast: DOM updates are very heavy, that is why React offers Virtual DOM to offer iterative updates. We also use our own Virtual DOM, but combing with Shadow DOM is even faster because styles are scoped. The browser can make assumptions about new changes to affect only one component and therefore it only needs to repaint that component.
- Third-party dependencies: There are almost no third-party dependencies, giving you complete code ownership.
- Small bundle size: The UI kit adds only 300KB (without gzipping) to your bundle size and includes everything from the meeting UI, chat, polls, emojis, plugins, host controls, and so on.
- Dyte's React UI Kit also provides multiple
Hooks. Hooks let you use different
React features from your components. This provides seamless developer
experience when integrating Dyte's UI Kit in your React project. You can
simply import the package from
dytesdk/react-web-core, which is a hooks wrapper on
dytesdk/web-core. For more information, see Use Web Core Hooks.
- Each component uses design tokens in conjunction with CSS variables for styling. This makes the customization super simple and easy. Other than the design tokens, we've also attempted to improve the customization options, with features like Internationalisation (i18n) and Icon Packs Support.
- In addition, we've also focused on accessibility (a11y) so that users can
easily navigate through the UI without having to move their mouse across the
screen. For example, closing dialogues with the
Escapekey and navigating through visual elements with the