Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@itwin/[email protected]
Major Changes
#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: The following class names have been updated:
iui-header
->iui-expandable-header
iui-icon
->iui-expandable-block-icon
iui-title
->iui-expandable-block-title
iui-caption
->iui-expandable-block-caption
The following class names have been removed and updated to be data attributes:
iui-expanded
->data-iui-expanded
(boolean)iui-small
->data-iui-size
(default or small)iui-borderless
->data-iui-variant
(default or borderless)#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 to 'iui-overlay' and moved to 'overlay.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.Minor Changes
iui-input-group-wrapper
class to allow inline labels for input groups.iui-input-grid
class for outer input styling.input
andselect
.iui-popover-surface
class for standalone popovers.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
data-iui-padded
attribute.--iui-color-border-accent
.iui-status-message
class to wrap StatusMessage icon and content.iui-svg-icon
now supports controlling size and fill using--iui-svg-size
and--iui-svg-fill
custom properties.Patch Changes
Surface.Body
..iui-toast-anchor
can now be applied on a<button>
.@itwin/[email protected]
Major Changes
#1302: The dependencies on
@itwin/itwinui-css
and@itwin/itwinui-variable
have been removed. This means@itwin/itwinui-react
will bring its own stylesheet.#1296: Removed previously-deprecated typography components (
Body
,Headline
,Leading
,Small
,Subheading
,Title
) which have been replaced byText
.#1548: Tabs are now always scrollable. Deprecated
overflowOptions
prop.#1330: Deprecated
FileUploadTemplate
. Removed all of its references.#1322: All css imports within components have been removed.
@itwin/itwinui-react/styles.css
must now be manually imported at the entrypoint.#1370: ProgressLinear has been refactored to be a single
<div>
.#1351:
toaster
import has been removed and replaced withuseToaster
which returns a toaster object with the same API.#1544: Removed
iconDisplayStyle
prop fromLabeledInput
andLabeledTextarea
components.svgIcon
is now added inline. Users must useStatusMessage
to add custom icon to the message.#1371: Checkbox:
className
andstyle
will now always be applied on the checkbox input element. Added newwrapperProps
andlabelProps
to allow for styling of wrapper and label elements.#1514: Table now has better type support. Users must now import types from
@itwin/itwinui-react/react-table
instead of from@types/react-table
.#1265: Removed the deprecated
useTheme
hook.<ThemeProvider>
is now always required to be wrapped around all iTwinUI components.#1355: Removed
inputStyle
andinputClassName
props fromLabeledInput
; style and className props are being passed down to input. AddedwrapperProps
,labelProps
,messageProps
,messageIconProps
,inputWrapperProps
to pass props to sub elements.#1433: Updated
exports
to prevent importing internal utilities.#1478: ThemeProvider now defaults the
theme
value to"inherit"
and falls back to"light"
there is no parent theme found. Also the inherit behavior has been made more resilient for cases where react context fails.#1626: Improved carousel accessibility and changed the markup so that the dots are present before the slides.
#1278: Adjusted calculations in ButtonGroup's
overflowButton
callback, so that it respectsoverflowPlacement
and considers the presence of the overflowButton itself.#1409:
RadioTile
'sclassName
andstyle
props will now be applied on the<input>
element instead of the wrapper. AddedwrapperProps
,iconProps
,labelProps
,subLabelProps
to individually customize each part of the component.#1355: Removed
selectStyle
andselectClassName
props fromLabeledSelect
; style and className props are being passed down to textarea. AddedwrapperProps
,labelProps
,messageProps
,messageIconProps
to pass props to sub elements.#1469: - Updated internal DOM structure in Slider.
#1302: All elements have had their class names changed to prevent conflict with older versions. It is strongly recommended to switch these internal classes with your own classes or data attributes.
#1506: Replaced
tippy.js
withfloating-ui
in all popover-based components. While the basic usage is unchanged, all advanced props from tippy are no longer available.Components affected: Select, ComboBox, DropdownMenu, DropdownButton, SplitButton.
#1383: Removed previously-deprecated
UserIcon
andUserIconGroup
components. Also removeduserIcon
prop fromHeader
.#1355: Removed
textareaStyle
andtextareaClassName
props fromLabeledTextarea
; style and className props are being passed down to textarea. AddedwrapperProps
,labelProps
,messageProps
,messageIconProps
to pass props to sub elements.#1384: Removed previously-deprecated
Wizard
component (replaced byStepper
andWorkflowDiagram
).#1300:
modalRootId
andownerDocument
props have been removed fromModal
, in favor of the newportal
prop (also available inDialog
).#1458: Added wrapperProps, contentProps, topProps, and bottomProps to Side Navigation component to improve customization. Top-level props (className, styling, etc) now passed to SideNav button instead of to the wrapper.
#1255: Updated Tile component to allow composition of customizable subcomponents: <Tile.Wrapper/>, <Tile.Name/>, <Tile.NameIcon/>, <Tile.NameLabel/>, <Tile.ThumbnailArea/>, <Tile.ThumbnailPicture/>, <Tile.BadgeContainer/>, <Tile.TypeIndicator/>, <Tile.QuickAction/>, <Tile.ContentArea/>, <Tile.Description/>, <Tile.MoreOptions/>, <Tile.Metadata/>, <Tile.Buttons/>.
#1356: ProgressRadial has been refactored to be a single
<div>
instead of using a nested svg. Also it is recommended to explicitly setsize
when using in other components.#1295: Deprecated MenuItem's
icon
andbadge
props in favor of newstartIcon
andendIcon
props. Also affectsSelect
andComboBox
options.#1311: - Removed Tippy.js as dependency in Tooltip. Using FloatingUI instead.
#1298:
Props
types will no longer be exported for any component. UseReact.ComponentProps
instead.#1435: Improving customization of SplitButton with wrapperProps and menuButtonProps. ClassName now passed to the button instead of the component wrapper.
#1461: Changed disabled button behavior to make them focusable and use
aria-disabled
instead ofdisabled
attribute.#1583: Bumped minimum react version to 17. If you're still on react 16, please update to react 17 (which has no breaking changes).
#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).#1389: iTwinUI now correctly supports both ESM and CJS environments.
#1565: Removed
Menu
component. UseDropdownMenu
instead.#1346: The build now targets
es2020
instead ofes2018
.#1400:
ErrorPage
will now dynamically import illustrations. The peer dependency on@itwin/itwinui-illustrations-react
will need to be manually installed if usingErrorPage
.#1269: All dialog variants have
flex
applied by default. This means the content should be wrapped withDialog.Content
orModalContent
for optimal layout.#1406: Removed
setFocus
prop from Checkbox, ColorPicker, ComboBox, Input, LabeledInput, LabeledTextarea, Radio, RadioTile, Select, Slider, ToggleSwitch. Users can useref
to focus the element.#1388: Removed deprecated
HorizontalTabs
andVerticalTabs
(replaced byorientation
prop inTabs
).Minor Changes
#1440: Adding the ability for every DOM node to have a custom className passed to it.
New prop for
FileUpload
component:contentProps
#1355: Added
status
prop toInput
,Textarea
andSelect
.#1510: Added
domProps
to allow Toast's DOM customisation.#1355: Added two new components for building complex input layouts.
InputGrid
for the "outer" layout (label, inputs and statusMessage)InputWithDecorations
for the "inner" layout (start icon/button, end icon/button)LabeledInput
,LabeledSelect
,LabeledTextarea
and tableDatePickerInput
have been updated to make use of these new components internally.#1531: Selected options in Select/ComboBox will now have a checkmark.
#1573: Added
applyBackground
prop to ColorPicker and DatePicker.#1373: Converted all physical CSS properties to their logical equivalents.
#1321: Added
disabled
prop to ExpandableBlock component. When activated, it triggers the "disabled" CSS styling for the ExpandableBlock and disables user interaction with it.#1355: Added new
padded
prop toIcon
.#1457: Added
htmlName
prop to theHeaderButton
subcomponent which handles the nativename
attribute in<button>
.#1548: Added composition API to Tab. Subcomponents: Wrapper, TabList, Tab, TabLabel, TabIcon, TabDescription, Actions, Panel.
#1437: Added headerWrapperProps, headerProps, bodyProps, and emptyTableContentProps to make each part of the Table component more customizable.
#1430: Adding the ability for each node element in
Stepper
to have a customprop
.New props include:
stepProps
,trackContentProps
,circleProps
,nameProps
,labelProps
,labelCountProps
#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
#1247: Alert can now be used through customizable subcomponents. The
onClose
,clickableText
, andclickableTextProps
props have been deprecated.#1412: All styles have been wrapped inside a cascade layer named
itwinui
.#1435: Improving customization of Button with new props: labelProps, startIconProps, and endIconProps.
Improving customization of IconButton with iconProps.
#1506: Added new
Popover
component for public use.#1323: Added
placement
prop toDialog
to allow placing it at one of the corners.#1298: Most components are now polymorphic and forward their rest props and ref.
#1419: Added
htmlSize
prop to theInput
component which handles the nativesize
attribute in<input>
.#1328: Created new Overlay component with customizable subcomponents: Overlay.Wrapper, Overlay.HiddenContent, Overlay.Overlay
#1369: Added new
Breadcrumbs.Item
subcomponent to use withinBreadcrumbs
. Directly passing<a>
/<Button>
/<span>
as children is still supported but is deprecated.#1362: All elements under the root will now get a default focus styling matching
--iui-color-border-accent
.#1403: Updated
DropdownMenu
to additionally accept list of JSX elements or a JSX fragment formenuItems
prop,#1407: Adding the ability for each node element in
NonIdealState
to have a customclassName
.#1610: Added
border
prop toSurface
.#1477: Added a new
portalContainer
prop toThemeProvider
. When specified, all floating elements (tooltips, toats, dialogs) under the ThemeProvider will read this prop from context and portal into it.#1354: Updated
ExpandableBlock
to support customizable subcomponents:<ExpandableBlock.Wrapper/>
,<ExpandableBlock.Trigger/>
,<ExpandableBlock.ExpandIcon/>
,<ExpandableBlock.LabelArea/>
,<ExpandableBlock.Title/>
,<ExpandableBlock.Caption/>
,<ExpandableBlock.EndIcon/>
,<ExpandableBlock.Content/>
The old api is still supported for backwards compatibility.
#1466: Adding the ability for every DOM node inside DatePicker component to have a custom className passed to it.
#1567: Added
endIconProps
prop to ComboBox.#1523: Added
ariaStrategy
prop to Tooltip. Can be used to change how the tooltip is associated with the trigger element.Patch Changes
'use client'
directive for React Server Components support.portalContainer
if also inheriting theme.<span>
. The colors have been updated to pass AAA contrast ratio.Surface.Body
.aria-owns
syntax forTreeNode
prettier
for formatting andtslib
for import helpers.color-scheme
property will now be correctly set for dark theme, resulting in better theming of built-in html elements.aria-orientation
attribute removed from ButtonGroup to meet accessibility requirements.div
.@itwin/[email protected]
Major Changes
iui-root
has been removed.data-iui-theme
must now always be set in order to use variables.Minor Changes
:where
to nullify specificity.Patch Changes
color-scheme
property will now be correctly set for dark theme, resulting in better theming of built-in html elements.