- #2682
032b696
Thanks @matoous! - Added the missing exports for the experimental ColorInput component.
-
#2679
ce178f8
Thanks @connor-baer! - Deprecated the Toggle component'scheckedLabel
anduncheckedLabel
props since they are no longer needed. -
#2655
5c62949
Thanks @matoous! - Added an experimental ColorInput component that enables users to type or select a color.
- #2646
3cdcd69
Thanks @connor-baer! - Removed invalid HTML attributes from the Table component.
- #2642
d53ccb1
Thanks @connor-baer! - Switched the ImageInput's button variant fromprimary
tosecondary
to improve its appearance on dark backgrounds.
-
#2551
d2115fb
Thanks @connor-baer! - Always use the secondary Button variant for the second button in a ButtonGroup. Previously, it switched to the tertiary variant in narrow spaces. -
#2551
d2115fb
Thanks @connor-baer! - Tweaked the Button's updated design to improve its usability.- Normalized the border-radius to 8px for all sizes.
- Removed the horizontal padding of the tertiary variant and improved the color contrast its underline.
- Updated the disabled styles to better distinguish the button variants.
-
#2611
4d394a6
Thanks @connor-baer! - Increased the NotificationBanner content's maximum width to better use the available space on wide viewports. -
#2610
b895f7e
Thanks @connor-baer! - Fixed a style specificity issue in the PhoneNumberInput component.
- #2601
c33d370
Thanks @roma-claudio! - Fixed the visibility of the PhoneNumberInput's country code prefix when hovered or focused.
- #2577
c3dc064
Thanks @voronianski! - Added newposition
andclassName
props to the ToastProvider component.
- #2578
3c026f3
Thanks @connor-baer! - Balanced the widths of the PhoneNumberInput component's country code and subscriber number fields.
- #2500
349be76
Thanks @roma-claudio! - Added an experimental PhoneNumberInput component to provide a straightforward way for users to type their phone number in an accurate, consistent format including the country code and subscriber number.
- #2497
03c3c31
Thanks @connor-baer! - Fixed polyfill for thedialog
element to work in isomorphic environments.
c10a6f9
Thanks @connor-baer! - Fixed the display of the month headline and weekday names in the Calendar component.
- #2516
d3ce6bf
Thanks @connor-baer! - Fixed the size of the main content while the SidePanel'sonClose
callback is pending.
-
#2514
8217e7b
Thanks @connor-baer! - Fixed the positioning of the Calender component's month navigation buttons. -
#2514
8217e7b
Thanks @connor-baer! - Deprecated the RangePickerController component. Use the experimental Calendar component instead.
-
#2511
3e98f16
Thanks @connor-baer! - Added a newuseMedia
hook to track the state of a media query. -
#2499
def7f98
Thanks @connor-baer! - Added support for the SidePanel'sonClose
prop to be asynchronous. The SidePanel is closed after theonClose
callback resolves and is prevented from closing if the callback rejects. -
#2494
3d3ae20
Thanks @connor-baer! - Added an experimental Calendar component that displays a monthly date grid. This is a low-level component for advanced use cases; new DateInput and DateRangeInput components are in development. -
#2494
3d3ae20
Thanks @connor-baer! - Added a newuseSwipe
hook to detect swipe gestures on touch screen devices.
- #2491
35ee26a
Thanks @Burtchen! - Renamed the Table'sinitialSortedRow
prop toinitialSortedColumn
to better express its purpose. TheinitialSortedRow
is deprecated and will be removed in the next major release. - #2508
5e90c53
Thanks @connor-baer! Reverted the overflow behaviour of long Button labels. Text that would previously be truncated to a single line with a trailing ellipsis once again wraps to multiple lines, as it did before v8.
- #2489
c97a10a
Thanks @connor-baer! - Reverted usage of the experimental Tooltip component in the IconButton, Pagination, and Table components. Testing the change in applications surfaced too many edge cases and conflicts. The changes will be re-applied in the next major release.
- #2486
54dbfd2
Thanks @connor-baer! - Switched to using an option'svalue
instead of itslabel
as the React key in the CheckboxGroup, RadioButtonGroup and SelectorGroup components.
@nanostores/react
and nanostores
. Both packages use the ES Module format and might need to be transpiled (e.g. for Jest).
-
2d69309
Thanks @connor-baer! - Added experimental Tooltip and Toggletip components to display additional information that is contextual, helpful, and nonessential to clarify the purpose of otherwise ambiguous elements. -
2d69309
Thanks @connor-baer! - Extended the function signature of theuseClickOutside
hook to accept an array of refs as its first argument. -
#2481
43951d0
Thanks @connor-baer! - Added support for passing custom components to thelinks
prop of the TopNavigation component and deprecated theuser
andprofileMenu
props.
-
#2483
76657a1
Thanks @connor-baer! - Fixed the semantics of the TopNavigation's profile menu. -
67e49bc
Thanks @connor-baer! - Fixed the disabled styles of the Input and Select components.
- #2478
9d0bfdc
Thanks @andonimihai! - Fixed the display of the slides in the composed Carousel component.
-
#2469
1a2e807
Thanks @connor-baer! - Added thearia-pressed="true"
attribute to the Tag component when it is rendered as a selected button. -
#2469
1a2e807
Thanks @connor-baer! - Wired up the total number of pages to the pageselect
as its accessible description in the Pagination component. -
#2469
1a2e807
Thanks @connor-baer! - Added instructions for writing relevant alternative text for images. -
#2469
1a2e807
Thanks @connor-baer! - Removed the semantics from the Hr component by default since its most commonly used for purely visual or aesthetic purposes. If the horizontal rule is useful or essential to understanding the structure of the content, pass thearia-hidden="false"
attribute to restore its semantics. -
#2469
1a2e807
Thanks @connor-baer! - Removed the redundantaria-label
label from the TableHeader component.
- #2461
ea05708
Thanks @connor-baer! - Fixed the missing focus outline of the Anchor component when it renders as thea
element.
-
779a911
Thanks @connor-baer! - Changed the CloseButton to use the tertiary instead of the secondary Button variant. -
779a911
Thanks @connor-baer! - Changed the background color of the active Toggle to green to better distinguish its states.
- #2448
9b6c7d6
Thanks @connor-baer! - Added theuse client
directive to a few more components that require it.
ad4c31f
Thanks @connor-baer! - Made all components compatible with React Server Components out of the box by adding theuse client
directive to client components.
f1977ef
Thanks @connor-baer! - Changed how CSS Modules are bundled to fix CSS specificity issues caused by out-of-order styles.
-
#2434
789d796
Thanks @connor-baer! - Fix the display and transition of Carousel slides. -
#2433
0e0a8e8
Thanks @connor-baer! - Adjust components to better support the experimental dark theme.
- #2414
5d7a92f
Thanks @connor-baer! - Added a minimum height to the SidePanelProvider to allow its children to be vertically centered.
- #2394
0d9d407
Thanks @connor-baer! - Added a PercentageInput component for fractional numeric values.
- #2412
86a15c8
Thanks @connor-baer! - Fixed a bug where users were unable to scroll after the ModalProvider was mounted and immediately unmounted.
-
#2403
d3a85a9
Thanks @connor-baer! - Fixed a bug where users were unable to scroll after a modal was mounted and immediately unmounted. -
#2391
9f57d45
Thanks @connor-baer! - Resolved deprecation warnings in the Carousel component.
- #2388
e7fbc09
Thanks @connor-baer! - Fixed passing custom styles to the SelectorGroup options.
- #2385
cef26d5
Thanks @connor-baer! - Replaced the Tabs' and TabList's outer shadow with a border at the bottom.
-
#2382
0541ffd
Thanks @connor-baer! - Fixed Buttons not taking up the available space, causing the label to be hidden. -
#2384
9923844
Thanks @connor-baer! - Removed presentational icons in the Popover component from the accessibility tree.
-
#2351
cf297de
Thanks @connor-baer! - Improved the accessibility of disabled Buttons. Thedisabled
attribute has been replaced with thearia-disabled
attribute which enables the disabled element to receive focus and be perceived by screenreader users. Interactions with the disabled element are blocked by a dummy click handler. -
#2352
08aa962
Thanks @connor-baer! - Changed the overflow behaviour of long Button labels. Text that would previously wrap is now truncated to a single line with a trailing ellipsis. -
#2299
7c92ef0
Thanks @connor-baer! - Changed the default size of the CloseButton from 40px to 48px to match the Button component. -
#2299
7c92ef0
Thanks @connor-baer! - Changed the NotificationInline's action from the Button to the Anchor component. Update the action props if necessary. -
#2361
31b6f03
Thanks @connor-baer! - Removed the deprecatedvariant
prop from the ProgressBar component. -
#2353
f33c269
Thanks @connor-baer! - Removed the legacy navigation components: Header, Sidebar, SidebarContextProvider and SidebarContextConsumer. Use the TopNavigation and SideNavigation components instead.
-
#2299
7c92ef0
Thanks @connor-baer! - Updated the look of the Button component. Corners are now rounded instead of pill-shaped, the loading spinner has been replaced with three animated dots, and the tertiary variant now sports an underline to improve accessibility. -
#2299
7c92ef0
Thanks @connor-baer! - Changed the variant of the previous/next buttons in the Pagination component from "tertiary" to "secondary". -
#2372
8f6dfee
Thanks @connor-baer! - Deprecated the ButtonGroup'sactions.[primary|secondary].size
prop. Use the top-levelsize
prop instead. -
#2299
7c92ef0
Thanks @connor-baer! - Replaced the NotificationBanner's "tertiary" action variant with the "secondary" one and changed the action size to medium. Update the action props if necessary.
- #2376
dadbde1d
Thanks @connor-baer! - Improve compatibility of the Button component with Google Translate (ref).
- #2367
4effd4fb
Thanks @connor-baer! - Fixed the alignment of the Anchor component when rendered as abutton
element.
2a9cc199
Thanks @connor-baer! - Fixed the ProgressBar's deprecation notice.
- #2358
947340b6
Thanks @connor-baer! - Deprecated the ProgressBar'svariant
prop. The ProgressBar will always be black in the future.
- #2344
e0fa9ef4
Thanks @connor-baer! - Added support for rendering the Tag component as an anchor (a
) element when passed thehref
prop.
- #2332
4cd3c9cb
Thanks @connor-baer! - Fixed the size of icons inside IconButtons when the available icon size doesn't match the IconButton size.
- #2330
3eafd13d
Thanks @connor-baer! - Fixed the size of icons inside Buttons when the available icon size doesn't match the Button size.
-
#2307
a51de39c
Thanks @connor-baer! - Replaced the IconButton'schildren
with a newicon
prop. -
#2326
7959570f
Thanks @connor-baer! - Replaced the IconButton's and CloseButton'slabel
prop withchildren
. -
#2307
a51de39c
Thanks @connor-baer! - Added a newnavigationIcon
prop to the Button component. Navigation icons hint that the button will perform an unexpected action, such as opening a dropdown or navigating the user to a new tab. -
#2307
a51de39c
Thanks @connor-baer! - Renamed the Button sizes fromkilo
tos
andgiga
tom
. The legacy size names are deprecated and will be removed in the next major version. -
#2311
39466c05
Thanks @connor-baer! - Renamed the Avatar sizes fromgiga
tos
andyotta
tom
. The legacy size names are deprecated and will be removed in the next major version. -
#2311
39466c05
Thanks @connor-baer! - Renamed the ProgressBar sizes frombyte
tos
,kilo
tom
andmega
tol
. The legacy size names are deprecated and will be removed in the next major version. -
#2311
39466c05
Thanks @connor-baer! - Renamed the SelectorGroup sizes fromkilo
tos
andmega
tom
. The legacy size names are deprecated and will be removed in the next major version. -
#2311
39466c05
Thanks @connor-baer! - Renamed the Spinner sizes frombyte
tos
,kilo
tom
andgiga
tol
. The legacy size names are deprecated and will be removed in the next major version.
- #2308
94f1d207
Thanks @connor-baer! - Removed invalid styles from disabled Inputs.
- #2304
ecc7bbde
Thanks @tareqlol! - Fixed compatibility of the Popover component with server-side rendering.
- #2300
0a2073b3
Thanks @connor-baer! - Added support for anactiveIcon
to the TopNavigation links.
- #2300
0a2073b3
Thanks @connor-baer! - Fixed the alignment of the ProfileMenu.
-
#2296
bd4e7ec0
Thanks @connor-baer! - Changed the focus ring to have a 2px offset from the focused element. -
#2295
6c536a27
Thanks @connor-baer! - Added support for anactiveIcon
to the TopNavigation and SideNavigation links.
-
#2297
2f4fbaf6
Thanks @connor-baer! - Fixed the HTML semantics in the TopNavigation and SideNavigation components. -
#2297
2f4fbaf6
Thanks @connor-baer! - Properly hid presentational icons from the accessibility tree. -
#2297
2f4fbaf6
Thanks @connor-baer! - Restored the focus styles of the utility links and profile menu in the TopNavigation. -
Updated dependencies [
bd4e7ec0
]:- @sumup/design-tokens@6.1.0
-
#2282
6402e293
Thanks @dependabot! - Safely accessprocess.env
environment variables other thanNODE_ENV
. -
#2289
b75f63a5
Thanks @connor-baer! - Scroll Popover content when it overflows vertically. -
#2287
6a026a8d
Thanks @connor-baer! - Fixed the Button text disappearing when a parent element hasaria-busy="true"
.
- #2280
2897ec7a
Thanks @tranhoangan22! - InsideTopNavigation
, extendedProfileMenu
's props to accept a class name to be passed to theProfileMenu
'sPopOver
component. Passed an empty array for thefallbackPlacements
prop to thePopOver
used byTopNavigation
to disable the flipping behavior.
- Updated dependencies [
b2edba64
]:- @sumup/icons@3.3.0
- Updated dependencies [
61d5ca87
]:- @sumup/icons@3.2.0
-
#2254
17a9bcb3
Thanks @tareqlol! - Fix style SearchInput clear icon -
Updated dependencies [
4f080121
]:- @sumup/icons@3.1.0
5db4aca3
Thanks @connor-baer! - Fixed a style specificity issue affecting immersive Modals.
- #2249
c44c6c58
Thanks @connor-baer! - Increased the specificity of nested component styles.
-
#2246
7c53988b
Thanks @connor-baer! - Fixed the spacing inside a ButtonGroup. -
#2247
390d1e4e
Thanks @connor-baer! - Hid the Button's loading label in JSDOM environments.
-
#2244
7326063c
Thanks @connor-baer! - Silenced the error for a missingas
prop in the Title, Headline, and SubHeadline components in test environments. -
#2241
296709f8
Thanks @connor-baer! - Added a missing type for theonValueChange
prop of the CurrencyInput.
- #2239
3b8933f3
Thanks @connor-baer! - Widened the type for the SelectorGroup's newicon
prop.
-
#2224
7e5bbd57
Thanks @connor-baer! - Added additional validation for labels.Labels are required for form fields and other controls so those who use assistive technologies can tell what the control is for. Labels should concisely describe the control's purpose and need to be localized.
-
#2228
4d67245d
Thanks @connor-baer! - Truncated placeholders using an ellipsis when they overflow the input. -
#2225
4df339ce
Thanks @connor-baer! - Added support for an optional label to the Checkbox component. -
#2236
3fc4ef44
Thanks @connor-baer! - Re-exported the RadioButton and Selector components as legacy components. They will be removed again in the next major release. -
#2238
24d746b0
Thanks @connor-baer! - Added support for icons to illustrate SelectorGroup options.
-
#2222
3deeb5c1
Thanks @a5e! - Removed unnecessary padding in the SearchInput component. -
#2226
6eb8a5f0
Thanks @connor-baer! - Fixed forwarding a customclassName
to the TableHeader component.
- #2220
858f75a3
Thanks @connor-baer! - Removed the Icon's prefix and suffix icons from the accessibility tree.
- #2218
f1d3a458
Thanks @connor-baer! - Fixed the primary SideNavigation width on wide viewports.
- #2216
e7cfe0cd
Thanks @connor-baer! - Narrowed the version range of the Emotion.js peer dependencies to ensure they can be imported in an ESM environment (see emotion-js/emotion#3029).
-
#1992
0b7fb453
Thanks @connor-baer! - Raised the minimum version of thereact
andreact-dom
peer dependencies to >=18. -
#2061
bc882426
Thanks @connor-baer! - Raised the minimum Node.js version to 18+. -
#2061
bc882426
Thanks @connor-baer! - This package is now pure ESM. Please read this. -
#2061
bc882426
Thanks @connor-baer! - Switched to the"exports"
field to configure the package entry points. Files that are not explicitly defined in"exports"
can no longer be imported. -
#2163
6ff0b7da
Thanks @connor-baer! - Migrated all stable components from Emotion.js to CSS Modules.The styles are bundled and exported as a single CSS file as
@sumup/circuit-ui/styles.css
. Refer to your framework's documentation on how to include the styles globally in your application.The CSS file includes the base styles, so the BaseStyles component has been removed.
If you are only importing stable components and aren't using Emotion.js in your app, you can remove all Emotion.js-related dependencies.
-
#2154
eef360c4
Thanks @connor-baer! - Updated the list of supported browsers:Browser Previous New Chrome 63+ 73+ Firefox 67+ 67+ Edge 79+ 79+ Safari iOS 11.0+ 12.2+ Safari macOS 11.1+ 12.1+ Opera 50+ 60+ Samsung Internet 8.2+ 11.1+ -
#1972
0f29f87b
Thanks @connor-baer! - Removed@sumup/collector
from the peer dependencies and removed the relatedtracking
andtrackingLabel
props (deprecated since v6.4). -
#2124
22b03d04
Thanks @connor-baer! - Removed the public export of the RadioButton component. Use the RadioButtonGroup component instead. -
#2124
22b03d04
Thanks @connor-baer! - Removed the public export of the Selector component. Use the SelectorGroup component instead. -
#2124
22b03d04
Thanks @connor-baer! - Removed the deprecatedchildren
prop from the Selector component. Use thelabel
anddescription
props instead. -
#2063
fef5b955
Thanks @connor-baer! - Removed the deprecatedchildren
prop from the Checkbox component. Use thelabel
prop instead. -
#2124
22b03d04
Thanks @connor-baer! - Removed the deprecatedexplanation
prop from the Toggle component. Use thedescription
prop instead. -
#2067
4f78573e
Thanks @connor-baer! - Changed the signature of the ImageInput'scomponent
prop. Thecomponent
should now acceptaria-hidden
instead ofalt
. -
#2063
fef5b955
Thanks @connor-baer! - Removed the deprecatedconfirm
,notify
, andalert
variants from the Badge, NotificationInline, and NotificationToast components. Use thesuccess
,warning
, anddanger
variants instead. -
#2125
82878190
Thanks @connor-baer! - Moved the Grid, Row, Col, and InlineElements components to the "legacy" status. Update your imports:-import { Grid } from '@sumup/circuit-ui'; +import { Grid } from '@sumup/circuit-ui/legacy';
-
#2094
da1a11b0
Thanks @connor-baer! - Moved the SingleDayPicker, RangePicker, CalendarTag, and CalendarTagTwoStep components to the "legacy" status.Install the optional peer dependencies...
npm install react-dates@^21.8 moment@^2.29
...and update your imports:
-import { SingleDayPicker } from '@sumup/circuit-ui'; +import { SingleDayPicker } from '@sumup/circuit-ui/legacy';
-
#2094
da1a11b0
Thanks @connor-baer! - Moved the Tooltip component to the "legacy" status. Update your imports:-import { Tooltip } from '@sumup/circuit-ui'; +import { Tooltip } from '@sumup/circuit-ui/legacy';
-
#2094
da1a11b0
Thanks @connor-baer! - Moved the Sidebar, SidebarContextProvider, SidebarContextConsumer, and Header components to the "legacy" status. Update your imports:-import { Sidebar } from '@sumup/circuit-ui'; +import { Sidebar } from '@sumup/circuit-ui/legacy';
-
#2125
82878190
Thanks @connor-baer! - Moved theuniqueId
util to the "legacy" status. Update your imports:-import { uniqueId } from '@sumup/circuit-ui'; +import { uniqueId } from '@sumup/circuit-ui/legacy';
-
#2065
8adb8fee
Thanks @connor-baer! - Migrated the Carousel components to TypeScript. Added the requiredplayButtonLabel
,pauseButtonLabel
,prevButtonLabel
, andnextButtonLabel
props. -
#2065
8adb8fee
Thanks @connor-baer! - Migrated the Calendar components to TypeScript. Some props are now required. The CalendarTagTwoStep'sclearText
andconfirmText
props have been renamed toclearButtonLabel
andconfirmButtonLabel
respectively. -
#1995
1267c69c
Thanks @connor-baer! - Simplified the function signature of the style mixins that no longer require thetheme
parameter (shadow
,focusOutline
,focusVisible
, andinputOutline
). -
#2065
8adb8fee
Thanks @connor-baer! - Removed thesharedPropTypes
export. Type the props using TypeScript instead. -
#2114
f53e4336
Thanks @connor-baer! - Changed the font-display of Aktiv Grotesk, Circuit UI's default font family, fromswap
tooptional
. If the font family is not available locally or cached, a fallback font is used. This reduces the cumulative layout shift (CLS) and largest contentful paint (LCP). The visual difference is minimal.
-
#2124
22b03d04
Thanks @connor-baer! - Added support for validations to the SelectorGroup component. Use thevalidationHint
andinvalid
props to communicate validation requirements to users. -
#2163
6ff0b7da
Thanks @connor-baer! - Improved the accessibility of the SearchInput component. The input now has thesearch
type and focus is returned to the input after clearing the value. -
#2065
8adb8fee
Thanks @connor-baer! - Migrated the Tabs components to TypeScript. -
#2065
8adb8fee
Thanks @connor-baer! - Migrated the Sidebar component to TypeScript. -
#1992
0b7fb453
Thanks @connor-baer! - Deprecated theuniqueId
util. Use the officialuseId
hook instead. -
#2195
6f992ae6
Thanks @connor-baer! - Added a helpful error message when the Title, Headline or SubHeadline components are missing theas
prop. -
#1615
51cd70d3
Thanks @connor-baer! - Automatically set thesize
prop on the Button'sicon
prop based on the Button'ssize
prop.
-
#1615
51cd70d3
Thanks @connor-baer! - Properly hide icons inside a Button. -
Updated dependencies [
415c73dd
,66b18d61
,bc882426
,bc882426
,415c73dd
,bc882426
,51cd70d3
]:- @sumup/design-tokens@6.0.0
- @sumup/icons@3.0.0
- #2191
7ba96798
Thanks @sirineJ! - Added a newdescription
prop to the RadioInput component. Use it to provide additional context for an option.
- #2160
7774d603
Thanks @connor-baer! - Fixed the alignment of the field validation hint icon.
- #1415
f2c20b88
Thanks @long-lazuli! - Added theindeterminate
prop to the Checkbox component. Use it to display and control the collective state of a group of nested checkboxes.
-
#2105
9aabce8d
Thanks @connor-baer! - Added support for the CheckboxGroup, RadioButtonGroup and SelectorGroup components to be used as uncontrolled inputs using the newdefaultValue
prop. -
#2105
9aabce8d
Thanks @connor-baer! - Deprecated the RadioButton component. Use the RadioButtonGroup component instead. -
#2105
9aabce8d
Thanks @connor-baer! - Deprecated the Selector component. Use the SelectorGroup component instead. -
#1851
0e3bdd53
Thanks @tranhoangan22! - Added theCheckboxGroup
component. Theoptions
prop specifies how the Checkboxes are rendered. Each option in theoptions
prop must have avalue
key and alabel
key. Thevalue
prop indicates which Checkboxes are checked by default. ThevalidationHint
for the individual Checkboxes are disallowed in favor of a singlevalidationHint
for theCheckboxGroup
. -
#2105
9aabce8d
Thanks @connor-baer! - Added support for therequired
andoptionalLabel
props to the SelectorGroup component.
-
#2123
22184900
Thanks @connor-baer! - Reduced the breakpoint for the expanded SideNavigation on wide viewpoints to account for scroll bars. -
#2115
5f955ce5
Thanks @pdrmdrs! - Fixed the styles of a checked and disabled Checkbox. -
#2113
2bea43ff
Thanks @robinmetral! - MarkedPopover
dividers as presentational to ensure that the right number of items is announced by screen readers. -
#2121
eb445e65
Thanks @connor-baer! - Don't crop content overflow when theuseCollapsible
hook is expanded.
-
#2071
abf11b69
Thanks @connor-baer! - Added an optionaldescription
prop to theToggle
component, and deprecated the legacyexplanation
prop. This aligns with theSelector
component's API. -
#2071
abf11b69
Thanks @connor-baer! - Added optionallabel
anddescription
props to theSelector
component, and deprecated the legacychildren
prop. Thelabel
prop will become required in the next major version. This aligns with theCheckbox
andRadioButton
component APIs.
- #2071
abf11b69
Thanks @connor-baer! - Fixed the RadioButton's disabled border color.
- #2091
3334873d
Thanks @connor-baer! - Removed@emotion/cache
from the peer dependencies.
- #2091
3334873d
Thanks @connor-baer! - Upgraded all dependencies to their latest minor.
- #2059
86c309c1
Thanks @connor-baer! - Removed an internal cyclic dependency.
- #2037
e72d1ce2
Thanks @connor-baer! - Fixed the alignment of wrapped Popover items.
- #2021
c6fb3aed
Thanks @robinmetral! - Removed thetitle
attribute from theProgressBar
component. TheProgressBar
already has an accessible label, so thetitle
is redundant. You might need to update your snapshots.
- #2011
2728e9da
Thanks @connor-baer! - Moved the Toggle'sexplanation
outside the switch button'slabel
and connected it to the switch button usingaria-describedby
to provide a better experience to screen reader users. This affects the component's markup and might be a breaking change in instances customizing the Toggle's styles.
- #2007
8ab8c209
Thanks @connor-baer! - Forwardref
s to the NotificationBanner, NotificationFullscreen, and NotificationInline components.
- #1991
401ac252
Thanks @robinmetral! - Fixed theImageInput
component's invalid label box-shadow color.
- #1996
6d7c5de4
Thanks @connor-baer! - Added an optionallabel
prop to theCheckbox
component, and deprecated the legacychildren
prop. Thelabel
prop will become required in the next major version. This aligns with theRadioButton
component's API.
-
#1997
9a348fd2
Thanks @connor-baer! - Deprecated thetracking
andtrackingLabel
props in all components. Use event handlers to dispatch user interaction events instead.@sumup/collector
will be removed from@sumup/circuit-ui
in the next major version. -
#1998
81e3ea06
Thanks @connor-baer! - Deprecated theuniqueId
util. If your app is already using React 18, use the officialuseId
hook instead.uniqueId
will be removed from Circuit UI v7, along with dropping support for React <18. -
#2000
757e0c1e
Thanks @connor-baer! - Added thesuccess
,warning
, anddanger
variants to the Badge, NotificationInline, and NotificationToast components and deprecated theconfirm
,notify
, andalert
variants.
- #1993
167ec183
Thanks @connor-baer! - Remove duplicate id from the validation hint icon in form components.
-
#1983
e2bc1c8f
Thanks @connor-baer! - Tweaked the design of the Toggle component. -
#1984
f2e04479
Thanks @connor-baer! - Changed thenotify
icon for the NotificationInline and NotificationToast components and the form field validation hint.
- #1980
261e1850
Thanks @connor-baer! - Removed the border from the Button'sprimary
variant.
- #1973
226e6cd9
Thanks @connor-baer! - Removed codemods for legacy Circuit UI versions and removed the obsoletecircuit-ui
CLI. The library doesn't support skipping major versions when upgrading.
-
#1969
c723f68e
Thanks @connor-baer! - Fixed theTable
component's sticky row header on narrow viewports. -
#1970
3b6c0de0
Thanks @robinmetral! - Reverted a breaking change in the ImageInput component API.
-
#1944
5e1bbb6a
Thanks @connor-baer @robinmetral! - Migrated all components to use the new semantic color tokens. There are minor visual differences between colors. You will also notice the change in snapshots. -
#1944
5e1bbb6a
Thanks @robinmetral! - Added a new--cui-bg-elevated
color token to use as background for elevated elements such as modals, popovers, etc. -
#1944
5e1bbb6a
Thanks @connor-baer @robinmetral! - Adapted the warning state of form componentsvalidationHint
to the new color tokens. Both the warning icon and copy are now orange with the default Circuit UI theme. -
#1944
5e1bbb6a
Thanks @connor-baer @robinmetral! - Adjusted the Avatar component's design to work with new semantic color tokens.
- #1944
5e1bbb6a
Thanks @connor-baer! - Fixed the ImageInput component's disabled state.
- #1959
f5c48588
Thanks @connor-baer! - Fixed the value of the--cui-bg-danger
color token.
- #1942
fd62d2f5
Thanks @connor-baer! - Fixed the height of theDateInput
component.
- #1938
18735f1c
Thanks @sirineJ! - Fixed the interactive styles of the secondary button inside aButtonGroup
.
- #1916
75a1b203
Thanks @tavarest! - Tweaked theSideNavigation
to expand the primary navigation on large viewports.
- #1880
38dcc5c1
Thanks @robinmetral! - Added semantic color tokens as CSS custom properties to theBaseStyles
. See the documentation for details.
-
#1664
e7c6ed5e
Thanks @connor-baer! - Wrapped theImageInput
component in adiv
. This aligns the component with other form components and makes it easier to apply style mixins such asspacing
. -
#1664
e7c6ed5e
Thanks @connor-baer! - Removed theinline
prop from theInput
,Textarea
, andSelect
components. Use thecss
prop to apply custom styles instead. -
#1772
817d7585
Thanks @a5e! - Tweaked theButtonGroup
component to switch between a secondary button (on viewports of at leastmq.kilo
) and a tertiary button (on viewports narrower thanmq.kilo
) using CSS media queries instead of rendering three buttons. Tests (e.g. using@testing-library
) can now query the secondary button without using*AllBy
queries. -
#1664
e7c6ed5e
Thanks @connor-baer! - Removed theLabel
component from the public exports. Use thelabel
prop on the form components instead. When building a custom form component, use alabel
element with thetypography('two')
style mixin (don't forget about thefor
prop). -
#1759
b03da80d
Thanks @robinmetral! - Removed thenoMargin
prop from Circuit UI form and typography components. Use thespacing()
style mixin instead. -
#1661
177fe66f
Thanks @tranhoangan22! - Migrated the Popover component from Popper to Floating UI. Popper'smodifiers
are no longer supported, use theoffset
prop for flexible placement of the floating element instead. Theplacement
prop no longer acceptsauto*
values. -
#1664
e7c6ed5e
Thanks @connor-baer! - Changed how custom styles are forwarded to theInput
andTextarea
components. TheclassName
andstyle
props are now passed to the outermostdiv
(this also applies to Emotion'scss
prop). ThelabelStyles
prop has been removed. This aligns the components with other form components and makes it easier to apply style mixins such asspacing
. -
#1760
b8f129ee
Thanks @robinmetral! - Switched typography units for theBadge
component to use rem units. See The Surprising Truth About Pixels and Accessibility. -
#1789
3c0c98dd
Thanks @robinmetral! - Rendered theCheckbox
'svalidationHint
under the input instead of in a tooltip. This makes the behavior consistent with other form components and improves accessibility. -
#1795
426a0f63
Thanks @robinmetral! - Moved thevalidationHint
outside the inputlabel
s and connected them to the inputs usingaria-describedby
. This affects form component markup and might be a breaking change in instances customizing input styles. -
#1664
e7c6ed5e
Thanks @connor-baer! - Restricted thelabel
prop on all form components to thestring
type. -
#1766
47ef6962
Thanks @robinmetral! - Updated the browser support policy for Circuit UI. Moving forward, only browsers that support dynamic module imports will be supported. -
#1781
5fe99fe8
Thanks @robinmetral! - Upgraded toreact-number-format
version 5. This could be a breaking change if you were relying on internalreact-number-format
props. Refer to thereact-number-format
migration guide for details. Any explicit typings will also need to be updated.
- #1664
e7c6ed5e
Thanks @connor-baer! - Added support for theoptionalLabel
anddisabled
props to theRadioButtonGroup
component. This aligns the component with other form components.
-
#1813
269d4a19
Thanks @robinmetral! - Allowed passing a customaria-describedby
value to form components. The custom value (an elementid
, or list ofid
s separated by a space) will be combined with the generatedid
of thevalidationHint
element. -
#1809
bd184b53
Thanks @robinmetral! - Marked invalid radio buttons as invalid usingaria-invalid="true"
. This makes the state available to assistive technologies. -
#1795
426a0f63
Thanks @robinmetral! - Fixed the size of theInput
component's optionalprefix
andsuffix
(when passed as strings). They are now 16px (the size of the input's placeholder and value) instead of 14px (the size of the input's label). -
#1795
426a0f63
Thanks @robinmetral! - Removed unintended spacing below theTextArea
component. -
#1795
426a0f63
Thanks @robinmetral! - Improved the accessibility of theRadioButtonGroup
component by adding therole="radiogroup"
andorientation="vertical"
attributes. -
#1814
befbeee4
Thanks @robinmetral! - Added the currency symbol to theCurrencyInput
's accessible description. -
#1811
0db1e468
Thanks @robinmetral! - Hid the decorative chevron icons in theSelect
component from assistive technology. -
#1738
b0e046d3
Thanks @robinmetral! - Removed the unnecessarypassive
option from the Popover component's scroll event listener. -
#1809
bd184b53
Thanks @robinmetral! - Ensured thataria-invalid
is always either'true'
or undefined (defaults to 'false'). This prevents errors in implementations not using TypeScript.
- #1786
242e1541
Thanks @connor-baer! - Added the option of using initials as a placeholder for theidentity
variant of theAvatar
component.
- #1651
ea1ebb0d
Thanks @anasalles47! - Adjusted the SelectorGroup component to ensure that all Selectors have the same height.
- #1720
d3c6165d
Thanks @connor-baer! - Added support for passing an SVG component asimage.svg
to theNotificationFullscreen
andNotificationModal
components.
- #1719
e0dbb2c8
Thanks @connor-baer! - Removed extra bottom spacing from theNotificationInline
action.
- #1644
6c5c2a1a
Thanks @amelako! - Improved the accessibility of theImageInput
component by associating the validation hint with the input and announcing updates to screen reader users.
- #1692
cab2f20c
Thanks @connor-baer! - Added a max-width to the headline of an imagelessNotificationModal
to prevent it from being overlapped by the close button.
- #1690
66bef295
Thanks @connor-baer! - Fixed the spacing in imagelessNotificationModal
s.
- #1682
d4ce46f0
Thanks @connor-baer! - Added theClickEvent
,PopoverItemProps
, andTableSortByValue
types to the public exports.
-
#1662
a74749c0
Thanks @robinmetral! - ImprovedTable
component types. Deprecated theCell
type in favor ofHeaderCell
andRowCell
, to reflect differences in sorting-related props. Correctly typed thealign
prop on theCell
instead of theRow
. -
b74dc5e2
Thanks @dependabot[bot]! - Upgradedmoment.js
to v2.29.4. If your app also depends onmoment.js
, you need to pin it to the same version to avoid the bug described in #674. -
#1653
d4ecc20f
Thanks @tranhoangan22! - Fixed a spacing issue in theTable
component when sorting a column incondensed
mode.
- #1645
607ba30f
Thanks @robinmetral! - Removed codemods for legacy Circuit UI versions. Any given Circuit UI version will now only include codemods for migrating from the previous major version. The library doesn't support skipping major versions when upgrading.
- #1635
5c2ea976
Thanks @robinmetral! - ChangedPagination
return type fromReactNode
toReactElement | null
to prevent a clash with React 18 types.
- #1627
4eaab3b2
Thanks @connor-baer! - Added component stack traces to accessibility and deprecation warnings.
- #1614
2ac245b6
Thanks @connor-baer! - Replacedcolors.n900
withcolors.bodyColor
when used as a text color for consistency.
- #1605
384cedb7
Thanks @robinmetral! - Switched theToastContext
's live region element from aul
to adiv
: lists shouldn't haverole="status"
since this strips list semantics.
- #1607
46fa52e6
Thanks @connor-baer! - Fixed the width of theNotificationToast
component on narrow viewports.
- Updated dependencies [
701b9f4b
]:- @sumup/icons@2.9.1
- #1585
2a8370e0
Thanks @connor-baer! - Added support for Docusaurus to the Modal.
- #1570
bb9a8a39
Thanks @vascofg! - Allowed the loading state for theIconButton
component. Pass anisLoading
prop with an accessibleloadingLabel
label.
- #1534
35d297aa
Thanks @robinmetral! - Removed the deprecatedCardList
component. Use theListItemGroup
instead.
- #1531
ff09e8cf
Thanks @robinmetral! - Removed the deprecatedLoadingButton
component. Use theButton
component instead.
- #1528
005d2a17
Thanks @robinmetral! - TypednoMargin
as a required prop in components.
- #1513
4740ef30
Thanks @amelako! - Removed theUNSAFE_DISABLE_ACCESSIBILITY_ERRORS
environment variable.
- #1511
eed3888f
Thanks @amelako! - Threw a runtime error when thenoMargin
prop isn't passed to components requiring it. Setting theUNSAFE_DISABLE_NO_MARGIN_ERRORS
environment variable totrue
will temporarily turn off the errors.
- #1528
005d2a17
Thanks @robinmetral! - Removed the default placeholder option in theSelect
component. Pass a localized string toplaceholder
instead, or keep the default option empty.
- #1529
fa2101e5
Thanks @robinmetral! - Removed the deprecatedshowValid
option from theinputOutline
style mixin.
- #1542
2c62d308
Thanks @robinmetral! - Optimized Circuit UI for modern browsers. Refer to the browser support policy for details.
- #1552
4e6a3750
Thanks @robinmetral! - Removed the deprecatedchildren
prop from theButtonGroup
component. Use theactions
prop instead.
- #1512
b7712b30
Thanks @robinmetral! - Removed theRadioButton
's deprecatedchildren
prop. Use thelabel
prop (now required) instead, in both theRadioButton
and theRadioButtonGroup
'soptions
.
- #1526
ba059828
Thanks @amelako! - Removed the deprecatedsuccess
,warning
anddanger
color variants. Useconfirm
,notify
andalert
instead.
- #1510
908f1e77
Thanks @robinmetral! - Removed the deprecatedshadowSingle
,shadowDouble
andshadowTriple
style mixins. Use theshadow()
style mixin instead.
- #1518
2987be29
Thanks @amelako! - Removed the deprecatedNotification
,NotificationCard
,NotificationList
andInlineMessage
components.
- #1533
dec0db59
Thanks @robinmetral! - Renamed theListItem
component'sprefix
andsuffix
props toleadingComponent
andtrailingComponent
. Renamed thesuffixLabel
andsuffixDetails
props totrailingLabel
andtrailingDetails
.
- #1512
b7712b30
Thanks @robinmetral! - Made theRadioButton
'slabel
prop required and throw an error if it isn't passed. This is an accessibility requirement.
- #1554
d3fb618a
Thanks @robinmetral! - Added support for React 18.
- #1507
c1942507
Thanks @connor-baer! - Removedlodash
as a dependency to reduce Circuit UI's bundle size. If you aren't usinglodash
in your application, you can removebabel-plugin-lodash
.
- #1559
1d7dc8c3
Thanks @robinmetral! - Added support for theas
prop in theButton
component. This is necessary to render buttons in aButtonGroup
as links with routing.
-
#1563
aa48826c
Thanks @robinmetral! - Omitted thenoMargin
prop from the Anchor component's props. -
Updated dependencies [
c7dfe6a4
,d3fb618a
,ba059828
]:- @sumup/design-tokens@4.0.0
- @sumup/icons@2.7.0
- #1540
2a7d1c91
Thanks @amelako! - Added support for theButtonGroup
component'salign
prop when using the newactions
prop. Defaults tocenter
.
-
#1504
467c3a82
Thanks @connor-baer! - Migrated theGrid
,Row
, andCol
components to TypeScript. TheCol
component'sspan
andskip
props now accept numbers or numeric strings, even when nested in a breakpoints object. Here are some examples:<Col span={2} /> <Col span="2" /> <Col span={{ default: 2, kilo: "4" }} />
- #1505
bbd20fd6
Thanks @connor-baer! - Migrated theuseStep
hook andStep
component to TypeScript. TheuseStep
hook now has the same default options as theStep
component.
- #1505
bbd20fd6
Thanks @connor-baer! - Added a missing accessibility label to the progressbar of theCarousel
component.
- #1498
209b35bf
Thanks @hris27! - Fixed opening animation and unwanted page scroll when closing aSidePanel
orModal
on Safari.
- #1475
82112c1e
Thanks @tareqlol! - Fixed the conditional rendering of aria attributes in loading buttons.
- #1464
f22cf47a
Thanks @sumius! - Added a newcenter
style mixin to center content horizontally and vertically.
- #1453
21a5d902
Thanks @felixjung! - Fixed a runtime error that occurred when users click on a disabled item in theSidebar
with anonClick
handler.
- #1401
d8361322
Thanks @hris27! - Added a newSidePanel
component. Use it via theuseSidePanel
hook andSidePanelProvider
.
- #1401
d8361322
Thanks @hris27! - Changed thePopover
's strategy tofixed
to prevent overflow issues.
- #1450
db3f446b
Thanks @connor-baer! - Fixed the prop types of the InlineMessage to include the default HTML attributes."
- #1448
9b2e18da
Thanks @connor-baer! - Added a prop to change the alignment of the NotificationBanner image.
- #1437
34177608
Thanks @amelako! - Deprecated theInlineMessage
,Notification
,NotificationList
, andNotificationCard
components. Use the newNotificationBanner
,NotificationInline
, andNotificationToast
components instead.
- #1440
86991d10
Thanks @robinmetral! - Added new semantic variant names to theBody
,BodyLarge
andBadge
components, and deprecated legacy variants. Read more in the migration guide.
- #1435
55e78782
Thanks @connor-baer! - Removed modern syntax in the NotificationInline component that wasn't transpiled and could lead to build issues in apps that consume Circuit UI.
- #1431
3f9585a4
Thanks @amelako! - Replaced thesuccess
,warning
, anddanger
colors with the newconfirm
,notify
, andalert
colors.
- Updated dependencies [
3f9585a4
]:- @sumup/design-tokens@3.4.0
- #1432
60d57a8a
Thanks @robinmetral! - Allow heading levelsh2
toh6
in theNotificationInline
headline. Pass it an object with the propertieslabel
(the heading text) andas
(the heading level).
- #1421
4bc2b453
Thanks @robinmetral! - Setaria-pressed
on aListItem
orCardList.Item
(deprecated) only when it has a role ofbutton
. The attribute is invalid on any other role.
- #1408
114f1270
Thanks @long-lazuli! - Upgraded thereact-number-format
dependency to v4.9.1.
- #1406
a4cf4263
Thanks @robinmetral! - Exported the Circuit Input component type asInputElement
.
- #1386
c49a6b42
Thanks @amelako! - Changed the "Notify" icon to "NotifyCircle" for theNotificationInline
,NotificationToast
andInput
components.
- #1319
98d3f59c
Thanks @long-lazuli! - Added an auto expand behavior to theTextArea
component.
- #1384
e0e5c431
Thanks @robinmetral! - RefactoredCheckbox
styles. This is an internal change only, but you'll need to update your snapshots.
- #1332
dd65ad12
Thanks @amelako! - Added a newNotificationInline
component that provides quick and contextual inline notifications.
- #1379
785c76e5
Thanks @AndreeWille! - Added theinitialSortDirection
andinitialSortedRow
props to the Table component.
- #1367
e2362dc6
Thanks @robinmetral! - Fixed spacing in theNotificationBanner
. Any extra horizontal spacing in the component should be added between the copy and the asset.
- #1359
5804fd8d
Thanks @amelako! - Added az-index
to the NotificationToasts so they always float above other content. Requires updating to@sumup/design-tokens@3.3.0
.
- Updated dependencies [
5804fd8d
]:- @sumup/design-tokens@3.3.0
- #1357
5d24f0d2
Thanks @amelako! - Increased the NotificationToast's default duration to 6 seconds to match the accessibility guidelines.
- #1357
5d24f0d2
Thanks @amelako! - Updated the NotificationToast's prop types, now theiconLabel
prop is optional and theisVisible
prop is internal only.
- #1355
d08ad565
Thanks @amelako! - Fixed the issue of the NotificationToast transition, now the toast appears with a smoother fade and height transition.
- #1346
e6a34e92
Thanks @robinmetral! - Improved types in theCurrencyInput
. The component's type (exposed via itsref
) changed fromNumberFormat
toNumberFormat<InputProps>
, now explicitly typing the wrapped Circuit UIInput
.
- #1295
3861db2a
Thanks @amelako! - Added a newNotificationToast
component that provides quick and contextual feedback to the user.
- #1328
23065d4a
Thanks @robinmetral! - Removed event listeners from thePopover
when it is closed, to prevent unnecessary re-renders.
- #1310
d9f0b380
Thanks @felixjung! - Converted theTooltip
component to TypeScript and removed its Lodash dependency.
- #1308
ae1f00dc
Thanks @connor-baer! - Fixed the initialization of the Tablerows
on the first render.
- #1306
062aaa11
Thanks @robinmetral! - Fixed a bug where updating the Table'srows
wouldn't re-render the Table.
- #1304
6f621e53
Thanks @amelako! - Removed theonClick
function fromImage
component inNotificationBanner
.
- #1292
f5a172ae
Thanks @robinmetral! - Prevented theTable
component from rerendering when hovering sortable header cells.
- #1285
95a7f0f9
Thanks @robinmetral! - Centered theNotificationFullscreen
's headline when the copy wraps on two lines.
- #1283
c35e1c2c
Thanks @robinmetral! - Added thenoMargin
prop to theNotificationFullscreen
's headline to prevent the deprecation warning.
- #1276
701a668a
Thanks @robinmetral! - Addedrole="progressbar"
to theProgressBar
component's time-based variant.
- #1276
701a668a
Thanks @robinmetral! - Hid theCarousel
component's visual progress indicator to screen readers.
- #1273
ed0c4f83
Thanks @robinmetral! - Introduced theTitle
andBodyLarge
components for rendering copy with large typography, for example on landing pages.
- #1260
40339fe0
Thanks @giedoka! - Added an optionalsize
prop to theImageInput
component to change the action button's size.
- #1273
ed0c4f83
Thanks @robinmetral! - Adapted the tracking of theHeadline
component for better readability.
-
#1260
40339fe0
Thanks @giedoka! - Adjusted the border radius of theAvatar
component whensize="giga"
andvariant="object"
. -
Updated dependencies [
ed0c4f83
]:- @sumup/design-tokens@3.2.0
- #1271
1c35dae3
Thanks @robinmetral! - Fixed the import ofIconProps
in theIconButton
component. This was causing TypeScript build failures.
-
#1263
d07efc86
Thanks @robinmetral! - Removed optional chaining from theNotificationModal
for compatibility with Node 12. -
Updated dependencies [
d619b6e1
]:- @sumup/design-tokens@3.1.1
- #1182
8ad10a93
Thanks @hris27! - Added newListItem
andListItemGroup
components. TheListItemGroup
replaces theCardList
component.
- #994
0b7b3226
Thanks @amelako! - Added a newNotificationModal
component that communicates critical information, and needs the user's attention or action to proceed.
- #1231
c9ec5169
Thanks @amelako! - Updated the NotificationFullscreenbody
prop to accept aReactNode
and removed the external spacing.
- #964
75a67df4
Thanks @amelako! - Added a newNotificationFullscreen
component that provides important information or feedback as part of a process flow.
- #964
75a67df4
Thanks @amelako! - Fixed the ButtonGroup to horizontally center buttons on wide viewports.
- #1225
b451fb20
Thanks @long-lazuli! - Fixed a bug where the RadioButtonGroup didn't forward therequired
attribute to the inputs.
- #1222
986c7dea
Thanks @robinmetral! - Fixed the alignment of the SearchInput's clear button.
- #1220
4161cc10
Thanks @connor-baer! - Removed the requirement for a label for hidden Inputs.
- #1218
8402e6b9
Thanks @connor-baer! - Fixed a compatibility issue between the Popover and Button where the Button content would remain visible when the Popover was closed.
- #1216
9e5bfc11
Thanks @connor-baer! - Fixed a bug in the Button component when it is disabled and not loading.
- #1214
994ee8e2
Thanks @connor-baer! - Added a codemod for the LoadingButton → Button migration (🤖 component-names-v4-1).
- #1209
0ad1a7df
Thanks @connor-baer! - Fixed a small wobble in the SideNavigation in Safari on some external displays.
- #1213
a27426aa
Thanks @robinmetral! - Removed the Circuit CRA template. Use the Next.js template instead.
- #1167
7b5c44c9
Thanks @amelako! - Added a newactions
prop to the ButtonGroup that replaces thechildren
prop. The new API is more ergonomic and enables an improved look on mobile.
- #1113
d6350cc3
Thanks @amelako! - Added a newNotificationBanner
component that communicates and promotes high-level, site-wide information to the user.
- #1186
17cf95aa
Thanks @connor-baer! - Changed the Modal's tracking event to include theopen
/close
data in the tracking label.
- #1186
17cf95aa
Thanks @connor-baer! - Renamed and grouped the TopNavigation props that are forwarded to the ProfileMenu.
- #1184
dfbe2bb3
Thanks @connor-baer! - Fixed theuseClickEvent
hook to track events even if no customonClick
handler is defined.
- #1168
ca74d320
Thanks @robinmetral! - Upgraded icons to the new brand icons in all components.
- #1186
17cf95aa
Thanks @connor-baer! - Marked thelabel
property of thetracking
prop as required. This matches the existing behavior where click events are only tracked if thelabel
property is provided.
be3c0781
Thanks @robinmetral! - Replaced theSideNavigation
badge'slabel
prop bychildren
for consistency with theBadgeProps
.
- #1176
c7483f0b
Thanks @robinmetral! - Migrated to Emotion 11.
- #1186
17cf95aa
Thanks @connor-baer! - Added tracking support to the ProfileMenu.
- #1186
17cf95aa
Thanks @connor-baer! - Added tracking support to the Popover.
- #1168
ca74d320
Thanks @robinmetral! - Passed the icon size down from the IconButton.
- #1168
ca74d320
Thanks @robinmetral! - Fixed the spacing between a PopoverItem's label and (optional) icon. Since the items should receive 24px icons, the component looks more balanced with a 16px spacing.
- #1191
b4e0041f
Thanks @robinmetral! - Typed the grid components to prevent wrong type inference.
- #1176
c7483f0b
Thanks @robinmetral! - Switched all component interfaces to extend*HTMLAttributes<HTML*Element>
instead of the less accurateHTMLProps
.
-
#1197
edd6f487
Thanks @robinmetral! - Hid deprecation warnings on prod and test environments. -
Updated dependencies [
139045d4
,ca74d320
]:- @sumup/icons@2.0.0
- #1092
7ad912fd
Thanks @connor-baer! - Added a new SideNavigation component. It is part of the application shell and contains the primary and secondary navigation links.
- #1117
e878a6e6
Thanks @connor-baer! - Added a skeleton loading UI to the TopNavigation and SideNavigation components.
- #1169
0c7416cf
Thanks @connor-baer! - Exposed theisAnimating
state from the useCollapsible hook.
12ef7cf6
Thanks @connor-baer! - Added a new TopNavigation component. It is part of the application shell and contains the branding, page links, and the user profile menu.
- #1130
7b4b5d88
Thanks @connor-baer! - Added a loading state to the Hamburger.
- #1114
159bd7ad
Thanks @connor-baer! - Changed the styles returned by theuseCollapsible
hook to only hide vertical overflow, fixing a compatibility issue with the form components.
- #1128
fdc0575e
Thanks @robinmetral! - Fixed the click handler to close the Popover when a PopoverItem doesn't have an onClick.
- #1124
785878d9
Thanks @robinmetral! - Changed the Popover behavior to close when one of the items is clicked.
- #1114
159bd7ad
Thanks @connor-baer! - Prevented interactions with content behind the Popover overlay.
- #1138
6c9fe3b2
Thanks @robinmetral! - Fixed compatibility of the useMedia hook with older versions of Safari.
- #1130
7b4b5d88
Thanks @connor-baer! - Added a z-index to the Modal's close button.
-
#1169
0c7416cf
Thanks @connor-baer! - Fixed a bug in theuseCollapsible
hook to start the closing animation immediately. -
Updated dependencies [
159bd7ad
,12ef7cf6
,c077b900
]:- @sumup/icons@1.9.0
- @sumup/design-tokens@3.1.0
- #1097
7f52ad7d
Thanks @robinmetral! - Bumped package versions to release the stable v3.
- #960
1a1a3646
Thanks @robinmetral! - TheTableHeader
,TableRow
andTableCell
components are no longer exported from Circuit. They are only used internally by theTable
component and should not be used directly.
- #979
3cfefac0
Thanks @robinmetral! - Renamed the NotificationBanner component to NotificationCard. This frees up the NotificationBanner namespace for a new component that we will introduce inv3.x
.
- #972
95488037
Thanks @connor-baer! - Replaced the deprecatedtext[Kilo|Mega|Giga]
style mixins by a singletypography
mixin, and removed the deprecatedheading[Kilo|Mega|Giga|Tera|Peta|Exa|Zetta]
andsubHeading[Kilo|Mega]
style mixins.
- #992
b898410e
Thanks @robinmetral! - Switched to the new JSX transform with automatic runtime. You will need to update your Babel config to use Emotion's JSX runtime. For example, with Next.js and Emotion 10:
- #984
7879a990
Thanks @amelako! - Increased the Button sizes to match other form components and renamed the default size frommega
togiga
.
-
#995
bd234296
Thanks @robinmetral! - Harmonized the label prop names across components to follow theactionLabel
pattern. -
#995
bd234296
Thanks @robinmetral! - Enforced accessible labels in several components. This is an accessibility requirement. If the labels are not provided, the interaction will be disabled. -
#884
eb9e0b47
Thanks @amelako! - The new semantic typography components make it clear when each should be used, are flexible enough to cover all use cases. To represent more semantic variations some of the sizes have been removed and new size names added.
- #960
1a1a3646
Thanks @robinmetral! - Defaultdata-testid
s are no longer built into theTable
component. They can still be passed manually. We also recommend querying by role in tests, for them to resemble how users interact with the code. You can find examples in the component's specs.
-
#943
0543719b
Thanks @mykolaharmash! -Selector
now has multiplesize
options.SelectorGroup
is changed to horizontal layout and to be inline element by default with an option to stretch to full width. -
#985
61c15cf7
Thanks @robinmetral! - Removed the experimental static styles extraction feature.
- #995
bd234296
Thanks @robinmetral! - Enforced theInput
andSelect
's built-inlabel
prop. Do not use theLabel
component separately and pass the label as a prop instead.
- #995
bd234296
Thanks @robinmetral! - Removed theProgressBar
's deprecatedchildren
prop. Use thelabel
prop instead.
- #960
1a1a3646
Thanks @robinmetral! - TheTableHeader
,TableRow
andTableCell
components are no longer exported from Circuit. They should only be used internally by theTable
component.
- #995
bd234296
Thanks @robinmetral! - Removed the deprecatedshadow
prop from theCard
, shadows have been replaced by a single outline.
-
#984
7879a990
Thanks @amelako! - Aligned the heights of all form components to be consistent. The new size values are: -
#960
1a1a3646
Thanks @robinmetral! - Changed the signature of the Table's custom onSortBy method. ThenextDirection
argument moved to the third position ((index, nextDirection, rows)
👉(index, rows, nextDirection)
) and can now beundefined
(instead ofnull
in the previous implementation).
- #995
bd234296
Thanks @robinmetral! - Removed thedata-testid
attribute from theCardHeader
's close button. UsequeryByRole('button')
in your tests instead.
- #949
4e636205
Thanks @connor-baer! - Removed the exports of theModal
,ModalWrapper
,ModalHeader
,ModalFooter
,ModalContext
, andModalConsumer
components. Use theuseModal
hook instead.
- #995
bd234296
Thanks @robinmetral! - Removed the aggregatestyleHelpers
export. Import each style mixin directly instead.
- #995
bd234296
Thanks @robinmetral! - Removed thethemePropType
export from@sumup/circuit-ui
. Import it from@sumup/design-tokens
instead.
- #944
2628fce1
Thanks @amelako! - Rebuilt thePopover
component. It now uses Popper v2 and comes with a refreshed component API.
- #995
bd234296
Thanks @robinmetral! - Removed the deprecatedwithComponents
HOC. Use theuseComponents
hook instead.
- #995
bd234296
Thanks @robinmetral! - Removed the deprecatedSpacing
component. Use thespacing
style mixin instead.
-
#995
bd234296
Thanks @robinmetral! - Removed theonClick
prop from theBadge
. Badges are not meant to be interactive and should only communicate the status of an element. Use the Tag component for interactive elements instead. Theprimary
variant of the Badge was also removed. Use theneutral
variant instead. -
#1008
e76f2d03
Thanks @connor-baer! - Made theas
prop required in theHeadline
andSubHeadline
components. Intentionally setting the heading level ensures a consistent and accessible page structure.
-
#1082
00ee3ffb
Thanks @connor-baer! - Tweaked the Hamburger design and aligned its height with the Button component. -
#1080
91324688
Thanks @robinmetral! - Added a development-only check for required label props that throws a runtime error if any is missing.
- #1014
2e0e4381
Thanks @connor-baer! - Restricted theHeadline
's andSubHeadline
'sas
prop to heading elements.
- #1073
5eaa9520
Thanks @connor-baer! - Made the label of the SelectorGroup visible by default. It can be hidden with thehideLabel
prop, but this should only be done in rare cases and only if the purpose of the field can be inferred from context.
- #1077
4166e2ea
Thanks @connor-baer! - Aligned the Calendar styles with other input components and injected the styles as global styles. Previously, they were scoped to a parent classname which prevented the use of thewithPortal
prop.
- #984
7879a990
Thanks @amelako! - Added asize
prop to the Spinner component. The possible values arebyte
,kilo
(default), andgiga
.
- #884
eb9e0b47
Thanks @amelako! - Added newsuccess
,error
andsubtle
variants to theBody
andAnchor
component.
- #1089
2d216980
Thanks @connor-baer! - Added auseCollapsible
hook to build accessible and smoothly animated collapsible sections.
- #1023
07614c5f
Thanks @connor-baer! - Added theuseClickOutside
,useEscapeKey
, anduseFocusList
hooks which can be used to make custom components more keyboard accessible.
- #997
4e6bbfea
Thanks @robinmetral! - Exported missing style mixins from Circuit UI.
- #1074
1869c218
Thanks @connor-baer! - Persisted the active state of the Button when it is pressed or an associated menu is expanded.
- #1022
afb2eb29
Thanks @connor-baer! - Added thefocusVisible
style mixin that shows a focus outline only when the user agent determines via heuristics that the focus should be made evident on the element (see:focus-visible
).
- #1073
5eaa9520
Thanks @connor-baer! - Added ahideLabel
prop to the RadioButtonGroup to visually hide the label. This should only be used in rare cases and only if the purpose of the field can be inferred from context.
- #980
900e6bc4
Thanks @robinmetral! - Tweaked components (Anchor
,InlineMessage
,SearchInput
,Selector
,Tag
) to use the new border radius values.
- #960
1a1a3646
Thanks @robinmetral! - Fixed a UI bug in theTable
component where multiple words in a table header would wrap on mobile, and break row alignment.
-
#1051
9234ebc3
Thanks @robinmetral! - Tweaked the Card component interface to support any optional ref. -
#1078
ee1446a3
Thanks @amelako! - Fixed the CurrencyInput bug for Chile locale where shouldn’t be any fraction digits in the input.
- #1053
ad7d6c8a
Thanks @connor-baer! - Added support for drag'n'drop and paste to the ImageInput.
- #1047
19fa9c29
Thanks @connor-baer! - Fixed the alignment of the icon next to a validation hint when the text is center-aligned.
- #1047
19fa9c29
Thanks @connor-baer! - Passed the click event to theonClear
prop of the ImageInput.
- #1047
19fa9c29
Thanks @connor-baer! - Tweaked the ImageInput to work with images with arbitrary border-radii.
- #1037
275eef7a
Thanks @robinmetral! - Added theinputOutline
style mixin. It can be used to communicate to the user that an element is hovered, focused, or active in the disabled, invalid, and warning states.
- #1032
7ece6261
Thanks @connor-baer! - Added support for style objects to thecx
style mixin.
- #1034
d9ac0f99
Thanks @connor-baer! - Added theshadow
style mixin which can be used to visually elevate an element above the surrounding content.
- #1036
0a17a448
Thanks @connor-baer! - Reduced the thickness of the Hr (horizontal rule) component.
- #1038
fd5f1663
Thanks @connor-baer! - Improved CardProps interface to allow all default HTML attributes.
- #1010
9127352d
Thanks @felixjung! - Do not render a placeholder in theSelect
component when adefaultValue
is passed.
- #922
feb6b32a
Thanks @robinmetral! - Added a newImageInput
component to allow users to upload images.
- #922
feb6b32a
Thanks @robinmetral! - Added a newAvatar
component to display identity or object images.
- #890
e6c39366
Thanks @connor-baer! - Tweaked the styles of the Card, CardList, Modal, Notification, and Table components to increase the color contrast with the new white background color. Theshadow
prop of the Card component has been deprecated and replaced with a single outline.
- #924
4660f112
Thanks @mykolaharmash! - Added support fornull
orundefined
values in<Table>
cells.
- #932
ee278194
Thanks @connor-baer! - Added anoptionalLabel
prop to the Input and Select components. The "(optional)" label is displayed in lighter grey after the main label when the field is not required.
- #946
a089cf1c
Thanks @connor-baer! - AddedremoveModal
andisModalOpen
properties touseModal
hook and deprecated thegetModal
property.
- #935
6c881cb6
Thanks @connor-baer! - Added compatibility with the new JSX transform which was introduced in React 17.
- #923
c41a7353
Thanks @connor-baer! - Added adestructive
prop to the Button component to be used for irreversible actions that require special care from users.
- #945
abf2c10b
Thanks @connor-baer! - Addedinset
option to thefocusOutline
style mixin. This should only be used when the outline cannot be shown outside the element, for example when the overflow is hidden.
- #936
b0f243a3
Thanks @connor-baer! - Fixed the alignment of long, multiline labels in the RadioButton component (#934).
- #908
7a76802f
Thanks @connor-baer! - Prevent the Aggregator in the Sidebar from rendering its children when they're just an empty array, fixes #907.
- Updated dependencies [
02558395
]:- @sumup/icons@1.6.2
- #852
95be2245
Thanks @robinmetral! - Migrated the Table component to TypeScript without any changes to its API.
-
#852
95be2245
Thanks @robinmetral! - Fixed an accessibility issue where Table header cells weren't getting the relevant scope (col
orrow
). -
Updated dependencies [
1912119f
,1912119f
]:- @sumup/icons@1.6.1