# Component Reference > Notice: This documentation might be out of date, so always check the source > code to see the most up-to-date information. - [General Concepts](#general-concepts) - [`tgui/components`](#tguicomponents) - [`AnimatedNumber`](#animatednumber) - [`BlockQuote`](#blockquote) - [`Box`](#box) - [`Button`](#button) - [`Button.Checkbox`](#buttoncheckbox) - [`Button.Confirm`](#buttonconfirm) - [`Button.Input`](#buttoninput) - [`ByondUi`](#byondui) - [`Collapsible`](#collapsible) - [`ColorBox`](#colorbox) - [`Dimmer`](#dimmer) - [`Divider`](#divider) - [`Dropdown`](#dropdown) - [`Flex`](#flex) - [`Flex.Item`](#flexitem) - [`Grid`](#grid) - [`Grid.Column`](#gridcolumn) - [`Icon`](#icon) - [`Input`](#input) - [`Knob`](#knob) - [`LabeledList`](#labeledlist) - [`LabeledList.Item`](#labeledlistitem) - [`LabeledList.Divider`](#labeledlistdivider) - [`Modal`](#modal) - [`NoticeBox`](#noticebox) - [`NumberInput`](#numberinput) - [`ProgressBar`](#progressbar) - [`Section`](#section) - [`Slider`](#slider) - [`Table`](#table) - [`Table.Row`](#tablerow) - [`Table.Cell`](#tablecell) - [`Tabs`](#tabs) - [`Tabs.Tab`](#tabstab) - [`Tooltip`](#tooltip) - [`tgui/layouts`](#tguilayouts) - [`Window`](#window) - [`Window.Content`](#windowcontent) ## General Concepts These are the components which you can use for interface construction. If you have trouble finding the exact prop you need on a component, please note, that most of these components inherit from other basic components, such as [Box](#box). This component in particular provides a lot of styling options for all components, e.g. `color` and `opacity`, thus it is used a lot in this framework. **Event handlers.** Event handlers are callbacks that you can attack to various element to listen for browser events. Inferno supports camelcase (`onClick`) and lowercase (`onclick`) event names. - Camel case names are what's called *synthetic* events, and are the **preferred way** of handling events in React, for efficiency and performance reasons. Please read [Inferno Event Handling](https://infernojs.org/docs/guides/event-handling) to understand what this is about. - Lower case names are native browser events and should be used sparingly, for example when you need an explicit IE8 support. **DO NOT** use lowercase event handlers unless you really know what you are doing. - [Button](#button) component does not support the lowercase `onclick` event. Use the camel case `onClick` instead. ## `tgui/components` ### `AnimatedNumber` This component provides animations for numeric values. **Props:** - `value: number` - Value to animate. - `initial: number` - Initial value to use in animation when element first appears. If you set initial to `0` for example, number will always animate starting from `0`, and if omitted, it will not play an initial animation. - `format: value => value` - Output formatter. - Example: `value => Math.round(value)`. - `children: (formattedValue, rawValue) => any` - Pull the animated number to animate more complex things deeper in the DOM tree. - Example: `(_, value) => ` ### `BlockQuote` Just a block quote, just like this example in markdown: > Here's an example of a block quote. **Props:** - See inherited props: [Box](#box) ### `Box` The Box component serves as a wrapper component for most of the CSS utility needs. It creates a new DOM element, a `
` by default that can be changed with the `as` property. Let's say you want to use a `` instead: ```jsx