Skip to main content

Components

Every component this package ships, what it is for, and how it is imported.

Two things to read before picking one:

  • Import by subpath. @onlyoffice/apps-ui-kit/components/<folder> resolves for every component and keeps your bundle to what you use. components/index.ts re-exports all 98 folders, but export * carries a folder's named exports and drops its default — so nine components are reachable only through their subpath, and only as a default import: AppLoader, Article, Dropzone, Navigation, OperationsProgressButton, PublicRoomBar, QuantityPicker, RoomType and Section. The Import column below says which is which for every component, including the nested ones, whose names reach the barrel through their parent.
  • Public versus portal-internal. A portal-internal component needs DocSpace context — a translation function, a portal store, a device type it is told about — and will not work in a standalone app. Public and portal-internal says which is which.

New to the package? getting-started.md covers the two providers, the CSS model and the two layout rules first.

Which one do I want​

The close calls​

You wantUseNot
A dialog in the middle of the screenModalDialogAside, which is the same dialog docked to the edge
A panel sliding in from the sideAside, or ModalDialog with displayType asideSection's info panel, which is part of the portal layout
A menu under a controlDropDown with DropDownItemContextMenu, which is the right-click menu and positions itself at the pointer
A line of textTextHeading, which carries the heading sizes and weights
A caption above a fieldFieldContainer, which draws oneLabel on its own, unless the field is outside a container
A spinner while something loadsLoader with an explicit typethe default Loader, which renders its label as text and no spinner
Placeholder shapes while a list loadsRectangleSkeleton, CircleSkeletonLoader, which says "busy" rather than "this is the shape of what is coming"
A measurable percentageProgressBarTopLoaderService, whose numbers are invented by a timer
A page-wide wait with no numberTopLoaderServiceAppLoader, which covers the screen and blocks nothing
A table of data with columnscomponents/tableRows, which is the portal's file list and reads children by index
A grid of cardsTilesRows in a wider container
"Nothing here yet" in a pageEmptyViewEmptyScreenContainer, the older portal one
A message that goes away by itselftoastr plus one mounted ToastStatusMessage, which stays until you clear it
A message that stays until the state changesStatusMessageToast, which is transient by design
A banner the reader can closeSnackbar, ColumnarInfoBarStatusMessage, which has no close control
An upload area with a file dialogDropzoneDragAndDrop, which has no dialog and no filtering
An existing element to accept dropped filesDragAndDropDropzone, which draws a bordered area of its own
A search fieldSearchInput — its onChange receives the stringTextInput, whose onChange receives the event
Yes or noToggleButton in a wrapper with a size, CheckboxToggleButton alone, which has no size of its own

The prop that shows and hides it​

There is no single name. Guessing wrong is silent — the prop is ignored and nothing is logged:

PropComponents
visibleAside, ModalDialog, Backdrop, Portal, AvatarEditorDialog, RoomLogoCoverDialog
isOpenHelpButton, LinkWithDropdown, Tooltip, CollapsibleCard
openedComboBox, ContextMenuButton, MainButtonMobile
openDropDown

The catalogue below repeats it per component, and check-readme verifies each entry against the component's real props.

Interactive elements​

ComponentStatusImportShown and hidden byWhat it is for
ActionButtonpublicbarrel or subpath–Small tinted button for a secondary action, optionally rendered as another element.
AddButtonpublicbarrel or subpath–Square icon button with an optional label beside it, for adding one more of something.
Buttonpublicbarrel or subpath–Labelled action button with an optional icon, a loading state and a tooltip, in a primary or secondary variant.
ContextMenuButtonpublicbarrel or subpathopenedIcon that opens a menu of actions, built afresh from a callback each time it is clicked.
DragAndDroppublicbarrel or subpath–Wrapper that turns whatever is inside it into a drop target for files, with no interface of its own.
Dropzonepublicbarrel or subpath–Dashed upload area with a picture, a prompt and a format list, which turns into a loader while the upload runs.
FloatingButtonpublicbarrel or subpath–Round corner badge that shows the progress of a background operation and opens its panel.
HelpButtonpublicbarrel or subpathisOpenInfo icon that opens an explanation on click, for a label that needs more than a label.
IconButtonpublicbarrel or subpath–Icon that acts as a button, with hover and pressed colours and an optional tooltip.
ImageEditorportal-internalbarrel or subpath–Crop window with drag, zoom and a replace control, for turning an uploaded picture into an avatar or a logo.
LinkWithDropdownpublicbarrel or subpathisOpenDashed link that opens a menu under itself.
MainButtonpublicbarrel or subpath–Accent button at the top of a side menu that opens a menu of the things a user can create.
MainButtonMobilepublicbarrel or subpathopenedFloating round button in the corner of the screen that opens a full-width sheet of actions.

Form controls​

ComponentStatusImportShown and hidden byWhat it is for
AccessRightSelectpublicbarrel or subpath–Drop-down for choosing an access level, with an icon, a description and a paid badge on each row.
Calendarpublicbarrel or subpath–Month grid for picking a day, with month and year views behind it.
Checkboxpublicbarrel or subpath–Checkbox with a label, an indeterminate state and an optional help button.
ColorInputpublicbarrel or subpath–Hex field with a swatch that opens a colour picker.
ColorPickerpublicbarrel or subpath–Saturation square with a hue strip for choosing a colour, with or without a hex field and buttons.
ComboBoxpublicbarrel or subpathopenedButton showing the current choice, with a list of options under it.
DatePickerpublicbarrel or subpath–Button that becomes a removable chip once a date is chosen, with a calendar behind it.
DateTimePickerpublicbarrel or subpath–A date chip and a time beside it, editable in place.
EmailInputpublicbarrel or subpath–Text field that parses what is typed as an email address and colours itself when it does not parse.
FieldContainerpublicbarrel or subpath–Layout wrapper for one form field: an optional label with a help tooltip, the control itself, and its error message.
FileInputpublicbarrel or subpath–Read-only field with a folder icon that opens the file dialog and accepts a drop.
FormWrapperpublicbarrel or subpath–White card of a fixed width that the portal's sign-in and wizard forms sit on.
InputBlockpublicbarrel or subpath–Text field with an icon at the end and room for a prefix before it, inside one border.
Labelpublicbarrel or subpath–Caption for a form field, with an optional required asterisk and an error colour.
PasswordInputpublicbarrel or subpath–Password field with a reveal eye, a strength tooltip and a generator.
QuantityPickerpublicbarrel or subpath–Minus and plus around a number, with an optional slider and quick-add chips.
RadioButtonpublicbarrel or subpath–One option of a single-choice set, drawn as a labelled circle.
RadioButtonGrouppublicbarrel or subpath–A set of radio buttons built from an array, with the selected value handled for you.
SearchInputpublicbarrel or subpath–Search field with a magnifier, an optional clear button and a debounced change callback.
Sliderpublicbarrel or subpath–Range input with the kit's own track and handle.
Textareapublicbarrel or subpath–Multi-line text field that grows with its content, with optional line numbers, a copy button and a JSON mode.
TextInputpublicbarrel or subpath–Controlled single-line text field in three fixed widths, with optional masking, error and warning states.
TimePickerpublicbarrel or subpath–Two small fields, hours and minutes, that move the caret along as you type.
ToggleButtonpublicbarrel or subpath–Switch for one on/off setting, with an optional label beside it.

Overlays​

ComponentStatusImportShown and hidden byWhat it is for
Asidepublicbarrel or subpathvisiblePanel that slides in from the side of the viewport, with a header and a scrolling body.
AsideHeaderpublicbarrel or subpath–Title bar of a side panel or a dialog, with a back arrow, extra icons and the close cross.
AvatarEditorDialogportal-internalbarrel or subpathvisibleModal that frames an uploaded picture: the kit's crop window between a title and a save and cancel pair.
Backdroppublicbarrel or subpathvisibleFull-screen layer behind an overlay, transparent by default, that catches the click meant to close it.
ContextMenupublicbarrel or subpath–Menu opened at the pointer through a ref, with submenus, a mobile sheet form and working keyboard navigation.
DropDownpublicbarrel or subpathopenMenu anchored to a control, rendered in a portal and positioned against the element you point it at.
DropDownItempublicbarrel or subpath–One row of a dropdown menu: a label, an optional icon and badges, or a separator.
ModalDialogpublicbarrel or subpathvisibleDialog rendered in a portal, as a centred modal or a side panel, assembled from Header, Body, Footer and Container slots.
RoomLogoCoverDialogportal-internalbarrel or subpathvisibleDialog for a room's generated logo: a colour from the palette and an optional glyph, over a live preview.
Selectorpublicbarrel or subpath–Panel for picking one or many things out of a list too long to render at once.
Tooltippublicbarrel or subpathisOpenFloating hint attached to one or more anchors, rendered in a portal and positioned to stay in the viewport.

Data display​

ComponentStatusImportShown and hidden byWhat it is for
Avatarpublicbarrel or subpath–Round picture of a person or a group, falling back to initials, with an optional role badge and an edit menu.
Badgepublicbarrel or subpath–Small coloured pill for a count or a short marker, announced as a live status region.
BaseTilepublicbarrel or subpath–The tile shell: an icon that turns into a checkbox, a slot for the content, a three-dot menu and a lower half.
Cardpublicbarrel or subpath–Grey panel with an optional header row, for a block of related information.
CategoryItempublicbarrel or subpath–Settings-page entry: a linked title, a line of explanation, an arrow, and an optional paid badge.
CollapsibleCardpublicbarrel or subpathisOpenPanel whose header is a button that expands and collapses the body under it.
FileTilepublicbarrel or subpath–Tile for a document: a thumbnail with badges over it, and a name row with a checkbox and a menu.
FolderTilepublicbarrel or subpath–Tile for a folder, as a single name row or, with one flag, a tall card with a picture on top.
Headingpublicbarrel or subpath–Section title rendered as a real heading element, sized by a preset rather than by its level.
MCPIconpublicbarrel or subpath–Square icon for an MCP server: its logo, or the first letter of its name on a grey tile.
PortalLogoportal-internalbarrel or subpath–The portal's white-label logo, fetched from the DocSpace server and swapped for the theme.
QuickActionspublicbarrel or subpath–Horizontal strip of large icon tiles that scrolls when the tiles no longer fit.
RoomIconpublicbarrel or subpath–Square room tile that shows the room's logo, or its initials on a colour when there is none.
RoomLogopublicbarrel or subpath–Fixed 32px glyph saying which kind of room this is, with an optional selection checkbox.
RoomTilepublicbarrel or subpath–Tile for a room: the logo and name on top, and the room's tags along the bottom.
RoomTypeportal-internalbarrel or subpath–Row offering one kind of room, with its glyph, its translated name and its description.
Rowpublicbarrel or subpath–One row of the file list: an optional checkbox, a start element, the content and a context menu.
RowContainerpublicbarrel or subpath–Scrolling list the rows go in, virtualised and paged in as the user reaches the end.
RowContentpublicbarrel or subpath–The text of a row, laid out by the position of its children rather than by named slots.
Rowspublicbarrel or subpath–The file list of the DocSpace portal, in three parts: the container, the row and the row's content.
SelectedItempublicbarrel or subpath–Chip with a cross, for a value the user has picked and can take back.
Tablepublicbarrel or subpath–Columnar list with resizable, sortable and hideable columns, laid out by a CSS grid the header writes.
Tagpublicbarrel or subpath–Small outlined label for one keyword, clickable and optionally removable.
Tagspublicbarrel or subpath–One row of tags that keeps to its width, collapsing the rest into an overflow tag.
TemplateTilepublicbarrel or subpath–Tile for a room template: the name on top, and an owner and storage pair along the bottom.
Textpublicbarrel or subpath–Body text at the kit's size and weight, rendered through whichever element you name.
TileContainerpublicbarrel or subpath–Grid that sorts the tiles it is given into rooms, templates, folders and files and gives two of them a heading.
TileContentpublicbarrel or subpath–The title slot of a tile: three nested wrappers that give the name its width and its truncation.
Tilespublicbarrel or subpath–The card view of the DocSpace listing: a sorting container, four kinds of tile and the slot their names go in.

Layout​

ComponentStatusImportShown and hidden byWhat it is for
Articleportal-internalbarrel or subpath–DocSpace's left panel: a fixed column with a header slot, a main button, a scrolling body and the profile block.
EmptyScreenContainerpublicbarrel or subpath–Centred empty state: an illustration, a heading, up to two lines of explanation and a column of actions.
EmptyViewpublicbarrel or subpath–Centred empty state with an icon, a title, a description and a list of things the user can do next.
ErrorContainerpublicbarrel or subpath–Full-screen error page: an animated landscape, a heading, an explanation and one action button.
Portalpublicbarrel or subpathvisibleRenders a node into another part of the document, after mount, keeping it inside the React tree.
Scrollbarpublicbarrel or subpath–Scrolling region with the kit's own thin tracks, which fade out when nothing is happening.
Sectionportal-internalbarrel or subpath–DocSpace's page body: a sticky header and filter, a scrolling body, and the info and chat panels beside it.
SelectionAreapublicbarrel or subpath–Rubber-band selection: a dragged rectangle that reports which items it covers, frame by frame.
ThemeProviderComponentpublicbarrel or subpath–The older theme provider: it writes the theme onto the document and supplies the kit's theme context.
ComponentStatusImportShown and hidden byWhat it is for
FilterInputportal-internalbarrel or subpath–The bar above a file listing: search, a filter panel, a sort menu, a view switch and the chips for what is in force.
Linkpublicbarrel or subpath–Anchor styled to the kit's conventions, for navigation or for an in-place action.
Navigationportal-internalbarrel or subpath–The file manager's header: breadcrumb title, back arrow, and the row of buttons that acts on the current folder.
NavMenupublicbarrel or subpath–Sidebar navigation: groups of items, each with an optional sub-menu, a badge and a collapsed rail form.
Pagingpublicbarrel or subpath–Previous and next buttons with a page selector between them and a page-size selector at the end.
TabItempublicbarrel or subpath–Rounded pill that fills in when it is selected.
Tabspublicbarrel or subpath–Sticky tab bar that scrolls sideways and renders the selected tab's content under itself.
TwoStateToggleportal-internalbarrel or subpath–Pill that switches the portal between its classic view and the new dashboard.

Feedback​

ComponentStatusImportShown and hidden byWhat it is for
AppLoaderpublicbarrel or subpath–The blank first screen: a fixed sheet over the whole viewport with the kit's rombs animation on it.
CircleSkeletonpublicbarrel or subpath–Round loading placeholder with a sweeping highlight, for an avatar or an icon that has not arrived yet.
ColumnarInfoBarpublicbarrel or subpath–Bar of label-and-value columns for context the reader does not have to act on.
InfiniteLoaderpublicbarrel or subpath–Virtualised list or grid that asks for the next page as the user scrolls towards the end.
Loaderpublicbarrel or subpath–Spinner in one of four animations, for work whose duration is unknown.
LoaderWrapperpublicbarrel or subpath–Dims whatever is inside it and stops the mouse reaching it while something is loading.
LoadingButtonpublicbarrel or subpath–16px progress ring with a cross in the middle, for cancelling what it is measuring.
OperationsProgressButtonportal-internalbarrel or subpath–Corner badge that reports every background operation of the portal and lists them when there is more than one.
ProgressBarpublicbarrel or subpath–A labelled bar for an operation whose progress you can measure, with a status or error line under it.
PublicRoomBarpublicbarrel or subpath–Grey note above a screen's content: an icon, a bold line and a paragraph, with an optional close cross.
RectangleSkeletonpublicbarrel or subpath–Rectangular loading placeholder with a sweeping highlight, sized to the content it stands in for.
SnackBarpublicbarrel or subpath–Full-width notification bar that sits at the top of a section until it is dismissed.
StatusMessagepublicbarrel or subpath–A full-width bar with a danger glyph that fades one message out before fading the next one in.
Toastpublicbarrel or subpath–Container the transient notifications are stacked in, driven by the imperative toastr.
TopLoaderServicepublicbarrel or subpath–The thin bar at the top of the page, driven by three static calls rather than by React.