DIAL UI Kit 0.16.0
UI Kit 0.16.0 moves the stylesheet to Tailwind CSS v4 and removes the legacy file manager and most unused 1.0 components. It adds 2.0 components for analytics, sign-in, and error screens. This page summarizes the release for frontend developers who plan an upgrade. There are no patch releases.
0.16.0
Released 2026-11-04. Release notes
Breaking
styles.cssis built with Tailwind CSS v4. Variant utilities move into@layer ui, so a host's unlayered CSS always wins, andhover:applies only on devices that can hover. The v4 preflight givesinput,select, andtextareaa transparent background and no radius. The stylesheet targets Safari 16.4, Chrome 111, Firefox 128, and later. See the migration guide.- The legacy
DialFileManageris removed, withDialFoldersTree,DialDestinationFolderPopup, its provider, hooks, enums, column constants, and the./file-managersubpath. Import them from@epam/ai-dial-react-file-manager. See the migration guide. - 34 unused 1.0 components and
DialSchemaRendererare removed in favor of their 2.0 counterparts, andmonaco-editorand@monaco-editor/reactare no longer optional peers. See the migration guide. - The legacy
DialAnalytics*components and the 1.0DialStepsare removed. Use the 2.0Analytics*components, a red filledBadge, andSteps. See the migration guide. CaptionTextandErrorText(2.0) no longer renderrole="alert". Fields link their caption and error througharia-describedbyand setaria-invalid, so tests that querygetByRole('alert')need another query. See the migration guide.- The empty state of
Grid(2.0) uses the sharedNoDataContentcard, with new default texts andfilteredEmptyState*,emptyStateAction, andemptyStateLiveprops. The no-rows message is no longer announced by default. See the migration guide.
Added
- 2.0 components:
AnalyticsCard,AnalyticsBar,AnalyticsBarGroup, andAnalyticsHistogramfor DIAL Admin analytics;StepsandLabelledText, renames of the 1.0 components. - 2.0 screens:
StateScreenfor a state the app cannot work past,ErrorBoundaryfor render errors, andLoginScreenwith one button per identity provider.SpinnergainsfullScreenandfocusRef. - 2.0 components:
FormSection,SelectedEntityCard,LiveRegion,ToggleChip, andResizeHandle.EntityIdentitygainsshowType. Dropdown(2.0):searchable,maxVisibleItems,overlayRolewithoverlayAriaLabelandoverlayAriaLabelledBy, andreturnFocus={false}.ButtonDropdownandDropdownItem(2.0): controlledopen,defaultOpen, andonOpenChange, controlled submenus,iconAfter={null}, and search and placement options throughdropdownProps.Calendar(2.0): an hour and minute picker intimemode,showTimezoneon thedatetimetime field, andrenderTimeFieldandpickerButtonClassName.- Accessibility props:
ariaDescribedByonCalendarandMarkdownEditor,invalidonMarkdownEditor,announceonStateScreen,closeAriaLabelonNotification, andStep.disabledonSteps. Grid(2.0):appearance={GridAppearance.Chat}for the Chat table design, andcolorScheme={GridColorScheme.Dark}for dark native controls.NoDataContent(2.0) follows the Patterns 2.0 empty state with an illustration and anactionslot.Selectuses it for its no-options state.- On mobile, the footer buttons of
PopupandConfirmationPopup(2.0) split the row evenly. Tabs:TabItem.statusfor error and warning icons.Tag:TagAppearance.Bordered.Avatar:color, withAVATAR_PALETTE,AvatarColor, andAvatarColorClassesexported.Breadcrumbs:BreadcrumbsSize.Tiny.PasswordInput:isToggleHidden.TransferQueue: a determinate progress ring for a numericpercent.ProgressBar:ProgressBarRole.Meter.Notification:NotificationSurface.Neutral.FileName:icon.- The
BottomSheetbackdrop carriesdial-kit-bottom-sheet-overlay(DIAL_KIT_CLASS.bottomSheetOverlay). - Monospace type steps
dial-code-semi-text,dial-tiny-code-text, anddial-tiny-code-semi-text.
Fixed
Spinner(2.0) andDialLoaderspin again, a regression since 0.13.0, andbg-infoandbg-successfall back to their 2.0 shades.Dropdown(2.0) passes axe: the ARIA attributes move onto the trigger, and theSelectlistbox no longer sits inside a menu.Grid(2.0): hovered and selected rows lose the 0.15.0 outline, right-aligned and numeric cells align right, and rows thatisRowSelectablerejects show a disabled selection control.- The title of
PopupandConfirmationPopup(2.0) uses Heading 2 (dial-h2-text). shadow-xs,shadow-sm,shadow-md, andshadow-lgmatch the design scale; no token is renamed.TransferQueueno longer counts failed items in its header, and asks for confirmation on close only while an item is running.- A collapsed
FolderPathshows the full path in a tooltip. Radio,Checkbox, andSwitchshow their hover state while the label is hovered.- Inputs draw the focus ring over the border, so an
overflowcontainer no longer clips it. EntityIdentitydraws its icon on the themablebg-entity-iconplate, andAvatargainsimageClassName.StarterButtonis transparent at rest and fills only on hover and press.- Primary solid buttons no longer show a sliver along each edge.
- The
MarkdownEditortoolbar wraps on narrow cards. mergeClassestreats thedial-*-texttype scale as one conflict group, so a caller's class replaces the component default.- The package no longer publishes
.d.tsfiles for specs, tests, and mocks.
Other
- Development dependencies are updated for security advisories. The runtime dependency ranges are unchanged.
Upgrade
File Manager 0.3.x accepts only UI Kit 0.15, while File Manager 0.4.0 requires UI Kit 0.16. Upgrade the kit and the File Manager together, and re-check host CSS overrides against the new cascade layers.
Further reading
- DIAL UI Kit — installation, styling, and theming
- UI Kit 0.15.0 — the previous minor release
- DIAL File Manager — the React file browser used in Chat and Admin
- All UI Kit releases — every release on GitHub