-
#1919:
.iui-breadcrumbs-content
now requires.iui-button .iui-field
anddata-iui-variant="borderless"
.<button - class="iui-breadcrumbs-content" + class="iui-button iui-button-base iui-field iui-breadcrumbs-content" + data-iui-variant="borderless" >
When used with
<a>
, the same button classes must be used, and the content must be wrapped in a<span>
. As a result, the anchor's hover state will now be more consistent with the button's hover state.<a - class="iui-anchor iui-breadcrumbs-content" + class="iui-anchor iui-button-base iui-button iui-field iui-breadcrumbs-content" + data-iui-variant="borderless" > + <span> … + </span> </a>
-
#1919:
.iui-select-tag-button
now requires.iui-button .iui-field
anddata-iui-variant="borderless"
.<button - class="iui-select-tag-button" + class="iui-button iui-field iui-select-tag-button" + data-iui-variant="borderless" >
Similarly,
.iui-select-tag-button-icon
also requires.iui-button-icon
.- <span class="iui-select-tag-button-icon"> + <span class="iui-select-tag-button-icon iui-button-icon">
-
#1891:
.iui-table-row[data-iui-loading]
has been replaced with a newiui-table-body-extra
class, which must be set on an element outside the table-body.<div class="iui-table"> … <div class="iui-table-body"> … - <div class="iui-table-row" data-iui-loading="true"> - <div class="iui-table-cell"> - <div class="iui-progress-indicator-radial"></div> - </div> - </div> </div> + <div class="iui-table-body-extra" data-iui-loading="true"> + <div class="iui-progress-indicator-radial"></div> + </div> </div>
-
#1919:
.iui-table-paginator-page-button
now requires the same markup as borderless buttons. The.iui-table-paginator-page-button-small
modifier class has been removed.<button - class="iui-table-paginator-page-button iui-table-paginator-page-button-small" + class="iui-table-paginator-page-button iui-button iui-button-base iui-field" + data-iui-variant="borderless" + data-iui-size="small" >
As a result, the small paginator will now have a smaller width than before.
-
#1963: All styles have been wrapped in a cascade layer named
itwinui
. -
#1919:
.iui-sidenav-button.iui-expand
now requires.iui-button .iui-field
anddata-iui-size="small"
.<button - class="iui-button iui-button-base iui-sidenav-button iui-expand" + class="iui-button iui-button-base iui-sidenav-button iui-field iui-expand" + data-iui-size="small" >
-
#1915:
iui-anchor
must now be explicitly added to<a>
elements, in addition to the previousiui-alert-link
,iui-breadcrumbs-content
,iui-tag-basic
, andiui-toast-anchor
classes.-<a class="iui-alert-link"> +<a class="iui-anchor iui-alert-link">
-<a class="iui-breadcrumbs-content"> +<a class="iui-anchor iui-breadcrumbs-content">
-<a class="iui-tag-basic"> +<a class="iui-anchor iui-tag-basic">
-<a class="iui-toast-anchor"> +<a class="iui-anchor iui-toast-anchor">
Additionally, all
<a>
elements withiniui-legal-footer
elements will need theiui-anchor
class.<li class="iui-legal-footer-item"> - <a>...</a> + <a class="iui-anchor>...</a> </li>
-
#1932: All individual component CSS files have been removed. Instead, import
all.css
(the root export).- @import "@itwin/itwinui-css/css/anchor.css"; - @import "@itwin/itwinui-css/css/button.css"; … + @import "@itwin/itwinui-css";
-
#1919: Added
.iui-field
class to be used with.iui-button
,.iui-input
, and.iui-select-button
. These components now have consistent styling for base, hover and disabled states.<button - class="iui-button iui-button-base" + class="iui-button iui-button-base iui-field" >
<input - class="iui-input" + class="iui-input iui-field" >
<div - class="iui-select-button" + class="iui-select-button iui-field" >
-
#1919: Ideas button now requires
.iui-button-idea
anddata-iui-variant="high-visibility"
instead ofdata-iui-variant="idea"
.<button - class="iui-button iui-button-base" + class="iui-button iui-button-base iui-field iui-button-idea" - data-iui-variant="idea" + data-iui-variant="high-visibility" >
-
#2101:
.iui-tile-thumbnail-type-indicator
and.iui-tile-thumbnail-quick-action
should now be applied on wrapper element, and the button inside should have the new.iui-tile-thumbnail-button
class. This reduces code complexity and fixes a visual bug with the hover state.+ <div class="iui-tile-thumbnail-quick-action"> <button - class="iui-field iui-button-base iui-button iui-tile-thumbnail-quick-action" + class="iui-field iui-button-base iui-button iui-tile-thumbnail-button" data-iui-variant="borderless" data-iui-size="small" > … </button> + </div>
-
#1935: Replaces the size classes for
iui-avatar
with a newdata-iui-size
attribute.- <div class="iui-avatar iui-small"> + <div class="iui-avatar" data-iui-size="small">
Possible values include:
"small"
,"medium"
,"large"
, and"x-large"
. Defaults to"medium"
. -
#1938:
iui-breadcrumbs
will need to be added to the classes of alliui-header-breadcrumbs
elements.iui-breadcrumbs-list
will also need to be added to the classes of alliui-header-breadcrumbs-list
elements.- <nav class="iui-header-breadcrumbs"> - <ol class="iui-header-breadcrumbs-list"> + <nav class="iui-breadcrumbs iui-header-breadcrumbs"> + <ol class="iui-breadcrumbs-list iui-header-breadcrumbs-list">
-
#1863: The filter button inside a Table will now always be visible, instead of only being shown on hover/focus.
-
#1915:
iui-anchor
can now be styled with status colors using a newdata-iui-status
attribute.<a class="iui-anchor" data-iui-status="negative">...</a>
Possible values include:
"positive"
,"negative"
,"informational"
, and"warning"
. -
#2058: Added loading state to
iui-button
, via thedata-iui-loading
attribute and theiui-button-spinner
class.<button class="iui-button" data-iui-loading="true" aria-disabled="true"> <span>Click me</span> <div class="iui-progress-indicator-radial iui-button-spinner" data-iui-indeterminate="true"></div> </button>
-
#2058: Added
iui-button-label
class to be used on the<span>
containing the text inside a button. -
#2060: Added support for
popover
attribute iniui-tooltip
. -
#2076: Added a new
data-iui-has-popover
attribute toiui-button
to be applied when the button has an associated popover/dropdown-menu that is currently open.<button class="iui-button" data-iui-has-popover="open"></button>
-
#2088:
.iui-field
handles icon fill, used within button and select. -
#1935: The default size for an
iui-avatar
element that appears inside of aniui-tile
is now the same default size as all otheriui-avatar
elements. Settingdata-iui-size
to"x-large"
will give theiui-avatar
the size of the old default.<div class="iui-tile-thumbnail-icon"> - <span class="iui-avatar"></span> + <span class="iui-avatar" data-iui-size="x-large"></span> </div>
- #2064:
transform
values in dialog and expandable-block have been rounded to help avoid blurry text on Windows. - #1916: Fixed the hover background for default tabs.
- #2042: Fix table empty state horizontal alignment when table is very narrow.
- #2074: Fix indentation of tree node without expander button.
- #2021:
.iui-menu-item
also handlesbutton
elements. - #1955: Fixed a regression in
iui-tabs
where the panel content was not occupying the full width of the container. - #1943: Fixed a z-index issue in
Table
where theiui-table-resizer
appeared above the sticky header cells. - #2030: Updated selectors in
button-group
to only consideriui-field
andiui-input-flex-container
children. - #2083: Fixed a visual bug where elements like
iui-button-icon
inside theiui-button
were not hidden when the button was in a loading state. Now,data-iui-loading="true"
oniui-button
hides all its children exceptiui-button-spinner
. - #2054: Remove unnecessary gap below
.iui-input-grid
whendata-iui-label-placement='inline'
and when no secondary line (iui-status-message
) is present. - #1921: Fixed carousel dot button's incorrect height.
- #2043: Adjusted the behavior of buttons so that double tapping them doesn't zoom the viewport on iOS.
- #1909: Remove
margin-block
from badge.
- #1881:
input
's andtextarea
's start/end inline padding when inside.iui-input-flex-container
is now collapsed when it is preceded/followed by a.iui-input-flex-container-icon
(e.g. borderless.iui-button
or padded.iui-svg-icon
). This prevents unnecessary empty space in the flex container..iui-input-flex-container-icon
is a new class with the main purpose of collapsing the padding between the icon/button and input/textarea in.iui-input-flex-container
. - #1889: Added
data-iui-shift
attribute selectors to borderless buttons, to help with visual alignment. - #1879: Add styling for native
<select>
element. - #1886: Add borderless select variant.
- #1865:
iui-backdrop
will now also fade in wheniui-backdrop-visible
is present during mount.
- #1828: Inline padding of
Icon
no longer changes with the icon size. It is now a constant of--iui-size-xs
. - #1889: The close button in dialog will now be visually aligned based on the icon inside it, excluding the padding.
- #1828:
.iui-input-flex-container
now has an inline padding of1px
to account for the1px
border's inline edges. This prevents content that touches the border's inline edges from being overlapped by the border by1px
. Slightly modified.iui-expandable-searchbox
styles to account for the new padding. - #1888: The
.iui-expandable-searchbox
now shows a regular-sized button in the collapsed state. Previously, it used to incorrectly be a square button. - #1888:
.iui-expandable-searchbox
's animation/transition between the expanded and the collapsed states is now removed. - #1884: Fixes bug that caused the
.iui-tabs-wrapper
to change size dependent on which.iui-tab
was active. - #1828: The
.iui-svg-icon
inside the.iui-searchbox
no longer has the same width as.iui-button
. Its width also no longer changes with the.iui-searchbox
size. This is because its padding behavior is now similar to.iui-svg-icon
's padding behavior, where it uses a constant padding. - #1894: All instances of
box-sizing: content-box
have been reinforced with!important
to prevent accidental overrides from application styles. - #1906: Dialog title will now wrap to multiple lines instead of getting clippped.
- #1881:
.iui-search-input
and.iui-search-icon
are now no-op. This is because the main objective of these two classes was collapsing the padding between the icon andinput
/textarea
in.iui-input-flex-container
, and that is now handled by.iui-input-flex-container-icon
instead.
- #1864: Added a new
data-iui-underline
attribute toiui-anchor
. When set to"true"
, anchors will be underlined by default instead of only on hover. - #1858:
toggle-switch
will no longer hide icons when size is set to "small". The recommendation is to always display a checkmark icon, even for small sizes.
- #1845: Removed
:focus-visible
fallback styles for older browsers.
- #1835: Replaced dialog/modal animation state related classes (
.iui-dialog-animation-enter
and.iui-dialog-animation-enter-active
) with css animations.
- #1815: Removed unnecessary
Tag
styles, and added support for tags to be used as<button>
elements. - #1813: Added warning status for
ProgressRadial
/ProgressLinear
- #1822: Adjusted date-picker styles to allow rendering empty elements without any hover states. This is useful when dates outside the current month don't need to be shown.
- #1816: Fixed an issue where
Table
was showing a dummy vertical scrollbar track inside the table header in Chromium 121 + Windows. - #1810: Fixed
Surface.Body
not being visually aligned withSurface.Header
depending on scrollbar visibility.
- #1795: Fixed blurring and resizing issues in Dialog/Modal by removing
overflow: hidden
and inlinetransform
styles.
- #1753: Removed accidental styling support for the invalid case of
.iui-input, .iui-input-with-icon > .iui-select-button
with[data-iui-status='informational']
. This is invalid because aninformational
status on our input or select adds little to no meaning.
- #1783: Fixed a Firefox-specific bug where focus outlines were not appearing correctly around menu items inside
ComboBox
. - #1787: Button, radial progress indicator, & select icons use icon variable color fill.
- #1788: Decreased specificity of
iui-link-action
andiui-link-box
so that they do not override styles from other classes applied on the same element. - #1753:
.iui-input-with-icon
now applies padding to the:first-child
only when there is an end-icon button.
- #1676: Add small size tree option & decrease indentations on default size tree.
- #1725: Added an optional data attribute (
data-iui-loading
) to be used on a table row (iui-table-row
) when it only contains loading content (e.g. ProgressRadial)
- #1733: Fixed an overflow-related layout shift in vertical
Tabs
.
- #1716: Truncate the
select-tag
when only one tag is present inselect-tag-container
- #1711: Fixed an issue with
Tree
nodes not taking up the full width.
- #1700: Fixed an issue where Table was sometimes triggering sort after filtering.
- #1683: Improved
ExpandableBlock
animation so that it doesn't push content outside its bounds.
Welcome to the v2 release of @itwin/itwinui-css
. 🎉
This release includes a few breaking changes which have been listed below. For more details, see the migration guide.
- #1548: Using
aria-selected
instead ofiui-active
in Tabs to set active styling. - #1446:
iui-avatar
has been refactored to be a single<span>
, and the status is now applied using thedata-iui-status
attribute. The colors have been updated to pass AAA contrast ratio. - #1548: Combined tabs stripe variables:
--iui-stripe-left
and--iui-stripe-top
into--iui-tabs-stripe-position
;--iui-stripe-width
and--iui-stripe-height
into--iui-tabs-stripe-size
. - #1355:
iui-transfer-list-listbox-label
andiui-input-container
classes were removed. - #1255:
iui-folder
is updated to usedisplay: grid
.iui-tile-name
is now moved outside ofiui-tile-content
for folder variant. - #1420:
<div class="iui-radio-tile-content">
has been removed from radio-tile. Also,data-iui-disabled
attribute must be set on the radio-tile for browsers that don't support:has
(firefox). - #1573: Removed background from color-picker, date-picker/time-picker, and column-filter. Use
iui-popover-surface
class to add it back. - #1489:
--iui-color-dot-inset
has been split into--iui-color-dot-inset-block
and--iui-color-dot-inset-inline
. - #1369: The
iui-breadcrumbs-item-overrides
class name has been removed. Breadcrumbs items now use theiui-breadcrumbs-content
class name. - #1577:
iui-scroll
modifier is no longer needed oniui-menu
. - #1626: Improved carousel accessibility and changed the markup so that the dots are present before the slides.
- #1529: Removed location-marker component.
- #1469: Replaced
iui-slider-vertical
class modifier withdata-iui-orientation
.iui-slider-rail
class is now::before
pseudo element ofiui-slider
.
- #1322: Removed input-container code from
utils.css
in favor ofinput-container.css
. - #1354: Renamed the following expandable-block classes:
iui-header
,iui-icon
,iui-title
,iui-caption
to be scoped to expandable-block.- Updated the following modifier classes to be data attributes:
iui-expanded
,iui-small
,iui-borderless
.
- Updated the following modifier classes to be data attributes:
- #1370:
iui-progress-indicator-linear
has been refactored to be a single<div>
. Size, status, indeterminate variant, animation, etc are now specified using data attributes. - #1523: Removed
iui-tooltip-container
andiui-tooltip-visible
classes. The display is now toggled using thehidden
HTML attribute, and the positioning should be managed using custom JS/CSS. - #1302:
border-box
will now be set for all elements underiui-root
. - #1610: Replaced
--iui-surface-border-color
with--iui-surface-border
for full customization of border. Also removed--iui-surface-border-radius
and--iui-surface-background-color
. - #1328:
iui-progress-overlay
has been renamed toiui-overlay
and moved tooverlay.scss
. - #1295:
iui-menu-item
andiui-menu-description
classes were removed. - #1548:
data-iui-scroll-placement
attributes in Tabs were removed. Updated tabs start and end masks to be applied on scroll animation. - #1356:
iui-progress-radial
has been refactored to be a single<div>
instead of using a nested svg. Size and status have been moved to data attributes. Also it is recommended to explicitly setsize
when using in other components. - #1556: Items inside button-group no longer need a wrapping
<div>
. - #1304: Instead of cloning passed icons to set classes on them, the classes will now be set on a wrapping element. Affected components:
Header
,Select
,MenuItem
,RadioTile
,Tabs
,Tile
,ToggleSwitch
,TreeNode
,InputContainer
(and all input variants). - #1559: Changed
iui-button-group-vertical
class toiui-button-group
with attributedata-iui-orientation="vertical"
. - #1548: The
iui-tabs
element has changed from<ul>
to<div>
.iui-tabs
children are no longer wrapped in an<li>
element. - #1247: Replaced the
iui-alert-icon
,iui-alert-button
, andiui-alert-button-icon
class names withiui-svg-icon
,iui-button
, andiui-button-icon
respectively. - #1269: All dialog variants have
flex
applied by default. This means the content should be wrapped withDialog.Content
orModalContent
for optimal layout. - #1548: The
iui-tab-label
wrapper class has been removed. Theiui-tab-label
class now applies to the<span>
which holds the tab's label.iui-tab-description
is now a<span>
element. - #1270: Change
line-height
to use a unitless value.
- #1355: Added
iui-input-group-wrapper
class to allow inline labels for input groups. - #1373: Converted all physical CSS properties to their logical equivalents.
- #1355: Added
iui-input-grid
class for outer input styling. - #1355: Added status styling to
input
andselect
. - #1565: Updated menu styling and added
iui-popover-surface
class for standalone popovers. - #1073: Added new
TransferList
component which is used to move one or more items between lists. Added the following subcomponents:TransferList.ListWrapper
,TransferList.ListboxWrapper
,TransferList.ListboxLabel
,TransferList.Listbox
,TransferList.Item
, andTransferList.Toolbar
- #1355: Added padded styling to Icon using
data-iui-padded
attribute. - #1362: All elements under the root will now get a default focus styling matching
--iui-color-border-accent
. - #1355: Added
iui-status-message
class to wrap StatusMessage icon and content. - #1363:
iui-svg-icon
now supports controlling size and fill using--iui-svg-size
and--iui-svg-fill
custom properties.
- #1354: Expandable block animation now uses pure css instead of javascript for transitioning.
- #1609: Adjusted padding value for
Surface.Body
. - #1632: Adjusted gap between adjacent icons in searchbox.
- #1351:
.iui-toast-anchor
can now be applied on a<button>
. - #1499: Removed special handling of iPhone notch in Header and SideNavigation.
For any changes prior to 2.0.0, check out the 1.X changelog.