All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- ✨
Table
: new table footer sub-component<Table.Foot>
by @zulu-eq-bouvet in #3624 - ✨
DatePicker
: Enable setting locale from prop (<DatePicker locale="en-US" />
), and fetch default locale from system settings instead of browser language. by @yusijs in #3626
🐛 Popover
: added check to make it more robust againt an edge case where popover element is not connected to DOM by @oddvernes in #3610
🐛 DatePicker
: removing a deprecated popover prop causing console warnings by @oddvernes
- 🐛
Scrim
: fixed a bug where body scroll was not restored after opening aDialog
withinScrim
by @oddvernes in #3619
- 🐛
NativeSelect
: Remove dropdown svg icon whenmultiple
is set by @mhwaage in #3611 - ⬆️ Updated
@tanstack/react-virtual
by @oddvernes in #3606 - ⬆️ Updated
downshift
by @oddvernes in #3608
- 🐛
Autocomplete
: in controlled singleselect, if updatingselectedOptions
programmatically by something other that theAutocomplete
itself, the internal "selected item" state was not updated by @oddvernes in #3614
- ✨
Popover
: implement nativepopover
. This also deprecates thewithinPortal
prop. by @oddvernes in #3601 - 🔥
Autocomplete
: remove deprecateddisablePortal
prop by @oddvernes in #3603
- 🐛
Autocomplete
: deselect multiple does not work with complex items by @mhwaage in #3600
- ✨
DatePicker
: year picker is now multipage by @arkadiy93 in #3571
- 🧑💻
Button.Toggle
: allow "wrapped" Button as child by @oddvernes in #3590
- 🐛
Snackbar
: fixed "auto hide" timer restarting every render by @oddvernes in #3591
- 🐛
DateRangePicker
: Added missing{...props}
spread that prevented attaching eventlisteners etc to this component by @oddvernes in #3584 - 🐛
Autocomplete
: fixed an edge case where it would crash when all items in filter are disabled by @mhwaage in #3565 - 🐛
Autocomplete
: fixed a bug where it was unclickable insideMenu
by @oddvernes in #3583 - 🩹
Tabs
: Fix firefox error message caused by invalid value for scrollbar-width by @Benjamin-Lyon in #3578 - ♿️
Menu
: added missingrole="group"
toMenu.Section
by @oddvernes in #3583
- 💄
Tooltip
: implement nativepopover
by @oddvernes in #3575 - 💄
Snackbar
: implement nativepopover
by @oddvernes in #3577 - 💄
Menu
: implement nativepopover
by @oddvernes in #3583 - ⬆️ Updated dependencies by @oddvernes in #3579
- 🐛
Autocomplete
: Do not attach document.body if server side rendering by @magnh in #3542
- 🧑💻
Icon
: improve icon type definition by making it a descriminated union onname
anddata
by @FredrikMWold in #3547 - ⬆️ Updated prod dependencies by @oddvernes in #3554
- 💄
DatePicker
: use correct token for text color by @oddvernes in #3520 - 🐛
DatePicker
: exportDatePickerProps
type by @oddvernes in #3538 - 🐛
Autocomplete
: reverted changes from #3408 (conditionaloptionLabel
type) due to typescript issues when wrapping the component. Also madeoptions
typereadonly
by @oddvernes in #3515 - 🚸
Autocomplete
: return focus to input after pressing 'clear' button by @oddvernes in #3531 - 🐛
Autocomplete
: crash triggered by opening dropdown using keyboard if all items are disabled by @oddvernes in #3534
- 🧑💻
Datepicker
type: allow passing standard html attributes by @oddvernes in #3509 - ✨
Datepicker
/DateRangepicker
: addedhideClearButton
prop, and also hide clear button if no date is set by @oddvernes in #3537
- 🐛
DatePicker
: Datetime-input was formatted with/
instead of:
by @yusijs in #3450 - 🐛
Autocomplete
: added explicit transparent background-color to [popover]::backdrop by @oddvernes in https://github.com/equinor/design-system/commit/af36ebd06c7c5bd5770e37f26abc9302e2b7aa26
- ✨
Autocomplete
: Solution for object-checking by value instead of reference with newitemCompare
prop by @yusijs in #3455
- 📌 Changed required
styled-components
version to 5.1 in peer dependencies by @oddvernes in #3459
- ✨
DatePicker
: Enable custom date-formats in the input segments when they are not focused. Also added support for custom locale by @yusijs in #3415
🧑💻 Autocomplete
: improved type safety for autocomplete whenoptionLabel
is required by @FredrikMWold in #3408- 🚸
Autocomplete
: implement nativepopover
for better compatability withDialog
by @oddvernes in #3416 - ⬆️ Updated prod dependencies by @oddvernes in #3425
- 🐛
Autocomplete
"Select all" toggle causing crashes under certain circumstances with controlledAutocomplete
by @mhwaage in #3428 - 🐛
Autocomplete
when toggling "Select all" or clicking the "clear" button, disabled items are now left unchanged. The "x/y selected" text in the input has changed "y" from "total non-disabled items length" to "all items length" by @oddvernes in #3429 - 🐛
Autocomplete
: dragging scrollbar and then switching to using up/down arrow navigation should now work as expected by @oddvernes in #3441
Due to the introduction of the native popover
attribute, downstream unit tests involving eds Autocomplete
may fail due to Jest/jsDom not having added support for the popover api yet. The easy solution to this is to add the following lines to your jest.setup.ts
or alternatively within the test itself:
HTMLElement.prototype.showPopover = jest.fn()
HTMLElement.prototype.hidePopover = jest.fn()
- ✨ New components:
Datepicker
andDateRangePicker
by @yusijs in #3387 - ➕ New dependencies
react-aria
@react-aria/utils
@react-stately/calendar
@react-stately/datepicker
@react-types/shared
@internationalized/date
- 🏷️
Label
: change "meta" field type toReactNode
by @oddvernes in #3341 - 🚸
Autocomplete
: show "no options" on focus whenoptions
is empty by @oddvernes in #3399 - 💄
Menu
: focus-ring changed from :focus to :focus-visible by @oddvernes in #3396
- 🐛
TextArea
/TextField
: Fixed scrollbar being inaccessible wheninputIcon
is present by @oddvernes in #3378 - 🐛
TextField
: Dynamically update padding wheninputIcon
changes by @torleifhalseth in #3380 - 🐛
Button
: fixed misaligned clickbounds on icon/ghost icon variants by @oddvernes in #3397 - 🔥
Tabs
: Remove invalid props fromTabListProps
type by @oddvernes in #3401
- ⬆️ Updated prod dependencies by @oddvernes in #3298
- ⬆️
Autocomplete
: Updated downshift@8.3.3 to fix focus grabbing on load bug by @oddvernes in #3336
- ✨
Autocomplete
: Implemented "Select all" functionality, enabled withallowSelectAll
prop by @yusijs in #3245 - 💄
Slider
: option to render "value label" below the track with newlabelBelow
prop by @oddvernes in #3227
- 🐛
Slider
:onChangeCommitted
was not triggered by touch input by @oddvernes in #3244 - 🐛
Slider
: fixed bug in Firefox where "value label" did not show on hover by @oddvernes in #3224 - 🐛
Snackbar
: A missing check in the autohide timer causedonClose
to be called twice by @oddvernes and @yusijs in #3241 - 🐛
Autocomplete
: withmultiple
,readOnly
was still accessible when clicking in the input.readOnly
was still accessible in both modes when using keyboard arrow buttons by @oddvernes in #3216
- 💄
Slider
: design adjustments to the "value label": changed color, reduced padding, removed "arrow" and moved closer to the "thumb" by @oddvernes in #3227 - 💄
TextField
/InputWrapper
: allow line break character to work inHelperText
by @oddvernes in #3233 - 🔧 Updated
babel
browserlist from "defaults" to "last 2 versions of chrome/edge/firefox/safari". This reduces build size significantly and removes all the babel runtime helpers. by @oddvernes in #3219 - 🚸
Autocomplete
ux-changes: input cleared on blur, added "no options" dropdown andnoOptionsText
prop by @oddvernes in #3216
- 🐛
Typography
: Bug affecting users of styled-components v6 where line-clamping would be applied to allTypography
elements on the page if thelines
prop was set on one of them by @oddvernes in #3193
- ✨
Icon
: Added support for multiple paths (typeIconData.svgPathData
is nowstring | Array<string>
) by @oddvernes in #3177
- 🐛
Autocomplete
: Fixed scrollbar clipping issue that manifested in Firefox by @oddvernes in #3179 - 🐛
Slider
: Fixed a bug where label tooltip was always visible for users withstyled-components@5.x.x
by @oddvernes in #3173
- 🧑💻
SideSheet
:open
prop type changed to required, conditionally render title and close button to reflect the optional types oftitle
andonClose
props by @oddvernes in #3161
- ✨
Slider
: addedhideActiveTrack
prop by @oddvernes in #3131 - ✨
Slider
: addedlabelAlwaysOn
prop by @oddvernes in #3143 - ✨
Autocomplete
: Addedvariant
(error
,warning
,success
) andhelperText
props by @denektenina in #3139 - ✨
Breadcrumbs
: customseparator
prop by @oddvernes in #3142
- 💄
Slider
: redesigned value label to tooltip style, increased font size by @oddvernes in #3143 - ✨
Label
/TextField
/Autocomplete
: Thelabel
prop type changed fromstring
toReactNode
to allow it to be more customizable by @FredrikMWold in #3140 - ⬆️ Updated dependencies by @oddvernes in #3121 #3138 #3137 #3132 #3148
- 📱
Slider
: added touch support for range slider by @oddvernes in #3144 - 🐛
Slider
: fixed bug in Safari where slider would grow in width on mouseover by @oddvernes in #3145
- 🐛
Chip
: only hover color when clickable (fixed for error variant) by @oddvernes in #3096 - 🐛
Table.Row
: fix Styled-components v6 printing a false positive console warning aboutactive
prop by @oddvernes in #3104 - 🐛
Slider
: change returnvalue type foronChange
andonChangeCommitted
fromnumber[] | number
tonumber[]
to reflect reality. And allow value for non-range slider to be number[] (an array with only one number) by @oddvernes in #3076 - ⬆️ Update
@babel/runtime
to fix a vulnerability in its dependency@babel/traverse
(https://nvd.nist.gov/vuln/detail/CVE-2023-45133) by @oddvernes in #3115
- ✨
Tabs
: controlled mode for use with routers by @oddvernes in #3036 - 🚸
Tabs
: addedconditionalRender
prop forTabs.Panels
by @oddvernes in #3062 - ⬆️ Support
Styled-components
v6 by @oddvernes in #3050
- ⬆️ Updated
typescript
from 4.9.x to 5.1.x by @oddvernes in #3020 - 🚸
Search
: removed "clear" button when component is disabled by @denektenina in #3054
- 💄
Breadcrumbs
: fixed vertical alignment for icons by @oddvernes in #3023 - 💄
Radio
/Checbox
/Switch
fixed z-index bug where component could show through overlaying content by @oddvernes in #3032 - 🔒️ Utils: Moved
babel-jest
to dev-dependencies by @oddvernes in #3055 - 🚸
SideBar
: addaria-label
to toggle button by @ingeridhellen in #3066 - 🐛
Autocomplete
improved fix for "Maximum update depth exceeded" crash caused by merging refs by @oddvernes in #3069
- 🐛
Autocomplete
: Added a fix for "Maximum update depth exceeded" error by @oddvernes in #3005 - 🐛
Autocomplete
: Fixed issue where externally added eventlisteners (onFocus
,onBlur
etc) broke internal functionality by @bjartebore in #2999 - 🐛
Dialog
: Fixed open on mount by @oddvernes in #3003
- 🔥
Chip
: Removed z-index from the x-icon by @oddvernes in #2992 - 💄
Chip
removed hover-effect when there is noonClick
present by @bjartebore in #2995 - ⬆️
Autocomplete
Update to Downshift 8.1.0.Autocomplete
now opens on click instead of focus to comply with ARIA 1.2 by @oddvernes in #3000 - ⬆️ Updated
floating-UI
to v0.24.3 by @oddvernes in #3004 - 🦺
Icon
: removed "height" attribute from svg path to comply with w3 validator by @oddvernes in #3006
- 🐛
Autocomplete
,Tooltip
,Popover
andMenu
inside aDialog
should now render on top by @oddvernes in #2970
- 🐛
Rollup
config: addedinterop: auto
. This fixes an issue with the commonJs build where jest was unable to resolve styled-components in downstream tests
- ⏪️Added back commonjs build and changed file extension of modules from
.mjs
to.js
due to a compatability issue withReact 17
. - 📌 Restricted
styled-components
to below version 6 inpeerDependencies
. this package does not support v6 yet.
- 🐛
Autocomplete
: Allow option value of 0 by @oddvernes in #2957 - 🐛
Popover
,Card
: fixed style-syntax that affected users withstyled-components
v6 in by @oddvernes in #2953 - 🐛
Typography
: makecolor
a transient prop so it doesn't show up in the dom by @oddvernes in #2952 - 💄
Sidebar
: Remove visible scrollbar when collapsed by @oddvernes in #2863
- ♻️🚸
Dialog
: Refactored to use native dialog under the hood by @oddvernes in #2950 - ⚡️
Tabs
: conditionally render tab panels (previously display:none) by @oddvernes in #2947 - ⬆️ updated dependencies by @oddvernes in #2925
- ⬆️ Update floating-ui by @oddvernes in #2922
- ⬆️ Upgrade rollup to v3 by @oddvernes in #2908
- 🚸
Scrim
/Dialog
: trigger dismiss on mousedown to prevent accidental "click outside" by @oddvernes in #2923 - 📝
Autocomplete
: Improved selectAll story in storybook by @denektenina in #2883 - 📝 Storybook, improved documentation: Add null as a possible value for useState hooks that receive HTML elements to avoid type error by @FredrikMWold in #2891
- ⬆️ Storybook updated to v7 by @oddvernes in #2866
- 🚸
SideBar.Accordion
: Made the wayisExpanded
works more intuitive by @denektenina in #2870
- ✅ Added test coverage for the new
SideBar.Accordion
andSideBar.AccordionItem
by @denektenina in #2867
- 🐛
Menu
: Fixed a warning occurring when usingMenu.Item
asreact-router
Link
by @oddvernes in #2858
- ✨
Autocomplete
:optionComponent
prop for custom option templates by @oddvernes in #2852 - ✨
Sidebar
: AddedSidebar.Accordion
andSidebar.AccordionItem
by @denektenina in #2797 - ✨
Typography
: Added fallback css variables for colors by @bjartebore in #2840 - ✨
Menu
: polymorphicMenu.Item
(useas
prop to override element type) by @oddvernes in #2817
- 💄
Radio
/Checkbox
: changed visual size of hover background to conform to design by @oddvernes in #2824 - 💄
Switch
: physical size is now same asRadio
/Checkbox
to conform to design (from 40x40 to 48x48) by @oddvernes in #2824 - ⬆️ Updated production dependencies for all packages by @oddvernes in #2848
- 🐛
NativeSelect
: fixed label not having disabled-style when disabled by @oddvernes in #2802 - 🐛
Dialog
: fixed css syntax errors inDialog.Header
,align-items: center; justify-content: space-between;
is now applied by @oddvernes in #2801
- ✨
Accordion
: AddedonExpandedChange
prop toAccordion.Item
to enable controlled mode by @bjartebore in #2775 - ✨
Autocomplete
: addedonInputChange
andloading
props to enable async search-as-you-type use cases. Updated storybook with example by @oddvernes in #2788 - ✨
Autocomplete
: addeddropdownHeight
prop allowing users to override default dropdown height by @oddvernes in #2793 - ✨
Menu
: addedmatchAnchorWidth
prop by @bjartebore in #2806 - ✨
Breadcrumbs
: added option to not wrap Breadcrumbs with a newwrap
prop, plus addedforceTooltip
prop. Added storybook example by @oddvernes in https://github.com/equinor/design-system/commit/fdb178be39fd51ec474e85bd008f6a5f9a0f8ef3
- 🚸⚡️
Slider
- new behaviour: min/max thumbs can no longer cross, plus some performance improvements by @oddvernes in #2783 - 🚸💄
Input
: added ellipsis to overflowing text,Autocomplete
input: reduced padding-right by @oddvernes in #2807
- 🚑️ Hotfix: Roll back
@types/react
to18.0.21
as the newer version created a mismatch in the Icon component type.
- ✨
Menu
stays open after click on item with the newcloseMenuOnClick
prop by @denektenina in #2687 - ✨
Input
: Added css-variable (--eds-input-background
) to more easily override background-color. Also works onAutocomplete
,Textfield
,Search
andTextarea
by @oddvernes in #2718 - 📝 Storybook for
Button
andTooltip
: added best practices examples for how to useTooltip
with disabledButton
by @denektenina in #2742 - ✨ Added
Tooltip
support forButton.Toggle
by @oddvernes in #2751
- ⚡️
Menu
: Fix occasional 1-frame flicker when openingMenu
by @denektenina in #2711 - 💄
Accordion
: Fixed double border between header and content by @denektenina in #2739 - 💄
Dialog
: Fixed spacing whenscrollable
is set by @oddvernes in #2749 - 🎨
Paper
: Made theelevation
prop transient so it doesn't clutter the html by @bjartebore in #2764
- 📝
Table
storybook: Added example of virtual scrolling by @denektenina in #2664 - ✨
Autocomplete
is now virtualized to handle large data sets, and have a new propmultiline
(multiline, where option text wraps, was previously the default behaviour). Also fixes missing padding formultiline
when more than 2 lines of text by @oddvernes in #2689
- 📝 Added missing changelog entry to v0.24.0 regarding
Button
variantghost_icon
andcontained_icon
size change by @oddvernes in #2677 - 📝 Added missing changelog entry to v0.25.0 regarding Autocomplete
variant
by @oddvernes in #2695 - 📝
Slider
storybook: Improve docs foroutputFunction
by @Strepto in #2674 - 📝 Storybook: Fixed wrongly rendered "show code" in certain stories by @denektenina in #2681
- ⬆️
Autocomplete
: Upgradeddownshift
to 7.0.5 to fix react 18 issue where the dropdown was open on load in dev enviroment by @oddvernes in #2697
- 🐛♿️
Autocomplete
: change behaviour on inputBlur by @oddvernes in #2676
- 🔥Storybook: Disable compact stories where it is not implemented yet by @oddvernes in #2655
- 📝
Textfield
Storybook: Added validation example by @oddvernes in #2640
- 🐛
SideBar
: FixedSidebar.Button
andSidebar.Toggle
ref by @oddvernes in #2650
- ⬆️ Upgraded downshift to 7.0.1 (Improves ARIA-patterns in
Autocomplete
) by @denektenina in #2637
- 🔥 Removed deprecated
SingleSelect
andMultiSelect
by @denektenina in #2643
- ✨ Added
SideBar
component by @oddvernes in #2614 - 🚸 Button:
aria-disabled
now adds "disabled" styles by @denektenina in #2624
- ♿️
Tooltip
better announced by screen readers by @martalalik in #2596 - 💄
TopBar.Header
Changed gap to 12px (from from 24px) by @martalalik in #2623 - ✨ Replaced unnecessary occurrences of
useLayoutEffect
withuseEffect
for better ssr support by @oddvernes in #2631
- 🐛
Textfield
: fixed missing id on helpertext for aria-labelledby by @oddvernes in #2639
- ♿️ Add portal & focusManager to Popover by @martalalik in #2536
- ✨ New internal component:
InputWrapper
by @mimarz in #2395
- 🔥 Autocomplete breaking change: In the
variant
prop,default
has been removed as an option by @mimarz in #2395
- 💄 Bumped z-index for autocomplete by @denektenina in #2585
- ♻️ Refactored
Search
,TextField
,Autocomplete
to useInputWrapper
by @mimarz in #2395
- 🐛 Tooltip: fix arrow persistence by @denektenina in #2592
- ✨ Autocomplete: Support for toggling if input is cleared on selection by @mimarz in #2545
- ✨Polymorphic tabs by @oddvernes in #2556
- ♻️ Autocomplete: Always show all options on re-open after selection by @mimarz in #2562
- ⬆️ upgraded floating-ui to v0.10.1 by @oddvernes in #2554
- 🔧 Conform packages build, test & linting by @mimarz in #2555
- 💄
Button
variantghost_icon
andcontained_icon
changed size from 48px to 40px by @mimarz #2351
- 🐛 Accordion: prevent toggle from submitting form by @oddvernes in #2567
Full Changelog: https://github.com/equinor/design-system/compare/eds-core-react@0.23.0...eds-core-react@0.24.0
- 🐛 Accordion: fixed shrinking icon by @oddvernes in #2540
- ⬆️ Upgrade to React 18 by @mimarz in #2510
- 🐛 Breadcrumb/Typography: use transient props by @oddvernes in #2542
- ♻️ Replaced usage of nullish coalescing operator by @mimarz in #2530
- 🐛 Popover: removed
overflow: hidden
fromPopover.Content
by @martalalik in #2524 - 🐛 Tabs, storybook: scroll with prev/next buttons story improvements by @oddvernes in #2500
- 🐛 Autocomplete: fixed missing z-index on dropdown by @oddvernes in #2503
- 🐛 Popover: fixed missing arrow by @oddvernes in #2507
- ✨ Created new
ToggleButton
component by @martalalik in #2458 - ✨ Divider: Added
size
prop by @oddvernes in #2519 - 📝 Sidesheet, storybook: Drag-to-resize sidesheet story by @oddvernes in #2491
- 📝 Popover, storybook: Persistent popover story by @martalalik in #2511
- ✨ TopBar: Added
sticky
prop to toggle static or sticky positioning by @martalalik in #2508
- 🎨 Scrim: Use Floating-UI
FloatingOverlay
to improve scroll-lock and remove content jump by @martalalik in #2513
- 💄 Fixes to make sure both
style
andclassName
are applied to outermost element (changes toswitch
,NativeSelect
,Radio
,Checkbox
,Search
,Autocomplete
) by @oddvernes in #2367 - 🐛 Popover: changed to
overflow: auto
by @oddvernes in #2431
- ✨
Autocomplete
: Added disable clear button prop (hideClearButton
) by @Simrayz in #2378 - ✨ Added
width
prop toSideSheet
by @martalalik in #2399 - ✨
Button
is now a proper overridable component (can be rendered as another component/element-type with theas
prop and typescript will only allow valid props for that component) by @oddvernes in #2410 - ✨ Make
Typography
an overridable component by @oddvernes in #2432 - ✨ Make
Breadcrumb
an overridable component by @oddvernes in #2442 - ✨ Created
Button.Group
wrapper component by @martalalik in #2420
- ♻️ Replaced
popperjs
withfloating-UI
inTooltip
by @oddvernes in #2377 - ♻️ Replaced
popperjs
withfloating-UI
inPopover
by @oddvernes in #2384 - ♻️ Replaced
popperjs
withfloating-UI
inMenu
by @oddvernes in #2405 - ♻️ Replaced
popperjs
withfloating-UI
inAutocomplete
by @oddvernes in #2460 - 📝 Updated
Typography
documentation in storybook by @martalalik in #2247 - 🗑️
Card
: removed logic to style cursor based ononClick
listener being present by @oddvernes in #2436 - 💄
Topbar
: inline padding reduced from 40 to 24px by @oddvernes in #2451
- 📝 App launcher documentation by @martalalik in #2303
- 🐛 Using
Icon
data
should work properly ifsize
is not defined by @mimarz in #2327 - 🐛 Fixed
TextField
style
prop being sent container and inner input by @mimarz in #2337 - 🐛 Fixed
Autocomplete
onOptionsChange
when not controlled & cleaned up react hooks form example by @mimarz in #2335
- ✨ Elevation options to Card/Banner/TopBar by @oddvernes in #2313
- 🐛 TypographyTemplate in Tab by @martalalik in #2316
- 🐛 Improved Autocomplete object comparisons for showing all available options on open by @mimarz in #2322
Accordion
now has a new sub-component;Accordion.HeaderActions
! This should make it easier to have interactive elements in theAccordion.Header
while maintaining proper a11y. (#2091)
Autocomplete
ariaLabelledby
has been deprecated onSlider
. Usearia-labelledby
instead. (#2173)
- New component! 🎉
Autocomplete
has been moved from our labs to core! (#2201)- This is a new component based on feedback from
MultiSelect
&SingleSelect
aimed resolving their shortcomings, complexity and improve further development
- This is a new component based on feedback from
- Improved
Progress
legibility (#2182) - Improved
Slider
legibility (#2173) Card
is now less opinonated making it easier to use inside flex/grid containers (#2273)- Upgraded dev dependencies, fixed missing types in Slider & removed
Menu.Item
memo as it was not working as intended (#2183)
MultiSelect
has been deprecated in favour of<Autocomplete multiple />
. (#1537)SingleSelect
has been deprecated in favour of<Autocomplete />
. (#1537)
Table.Cell
height should now be correct inTable.Head
(#2197)Tabs
should no longer throw error ifonChange
is not defined (#2196)Popover
should now have correct typings foronClose
(#2264)Search
should no longer display blue background on Chrome whenautocomplete
is defined (#2160)
-
Menu
now supports keyhandling on anchor element for open & focus onEnter
/ArrowUp
/ArrowDown
(#1936)- Users now need to store anchor element in
useState
for correct re-renders & listening events
- Users now need to store anchor element in
Menu
no longer hasfocus
property as focus is now handled internally (#1936)
- Adjustments to focus outline visibility (#1733)
Menu
should no longer crash when using conditional rendering inside on children such asMenu.Item
orMenu.Section
(#2015)- Hide top divider when
Menu.Section
is first child inMenu
(#2015) Scrim.Content
should now work with global eventlisteneres (#2092)Slider
should now reposition dots correctly if value is changed (#2118)
- Added support for
18
pxIcon
size in preparation for compact mode (#1827) Tabs
: EnabledTabs.List
horizontal overflow. (#1650)- Added
scrollable
prop which addsoverflow-x: auto
to the tabs for users that wants a scrollbar. - Otherwise this is now
overflow-x: hidden
and there is an example added in Storybook for how to implement "previous" and "next" buttons to navigate an overflowed list.
- Added
- New dependency: (@equinor/eds-utils). Utility functions and hook have been moved out of eds-core-react and into its own package (#1846)
Dialog
is now opened in a portal and within a scrim. It is now controlled via anopen
property.isDismissable
andonClose
properties were also added to conform to other similar components. (#1177)Dialog
: Moved padding from outer element to subcomponents. Added new subcomponentDialog.Header
, and addedDialog.Content
as an alias toDialog.CustomContent
(#1896)Popover
: Moved padding from outer element to subcomponents. Added two new subcomponentsPopover.Actions
andPopover.Header
. Removed fixed close button (see storybook for example of how this can be added using existing components instead). (#1365)- Increased z-index on certain components to match that of MUI's z-indexes (#1981)
- Fixed a bug where scroll on body was not restored after closing
Scrim
(#1892) - Fixed an issue with
Menu
onClose
where potentially a function could be called after unmounting the component. (#1898) - Fixed
Menu.Item
onClick
not triggering with keyboard enter (#1910) - Fixed an issue where opening
Menu
using keyboard navigation while scrolled down would cause page to scroll to top (#1932) - Removed reference to
window
inSnackbar
andTooltip
which broke server side rendering (#1970) - Fixed an issue where trying to add a
style
tag toTooltip
would break the rendering (#1982)
Scrim
is now controlled via anopen
property. (#1176)
- Improvements to
Menu
&Popover
DOM imprint when closed and subsuquent opennings. (#1675)
event
&open
was removed as parameters to theonClose
callback forScrim
. (#1176)
MultiSelect
should now clear properly on blur and clicking clear button. (#1664)- Improved
TextField
a11y for when error messages are displayed ashelperText
. (#1145) Button
in tables should now have proper stacking context for sticky table header. (#1816)
- Bundle tree-shaked ramda instead of having it as dependency to avoid security warning for users by unused ramda functions (#1768)
- Esm package is now unbundled enabling tree-shaking (#1043)
- Adjusted
browserslist
todefaults, not IE 11
resulting in less babel transpiled code and polyfill bloat (#1043)
- Native support for
focus-visible
(enables focus-ring on elements when usingTAB
key). Browser support (#1043)
- Removed umd package from build. (#1043)
- Removed focus-visible polyfill, while still retaining support for it in the components. Users who need to support focus-visible in Safari now have to add the polyfill themselves. (#1043)
- New sub-component
Card.Content
for content insideCard
. (#1711)
Menu.Item
focus should no longer jump after being re-opened. (#1681)- Keyboard interaction in
Menu
should now work as intended. (#1702) - Focus should now return to anchor when
Menu
is closed by esc/enter. (#1704) - Replaced deprecated
HTMLTableHeaderCellElement
&HTMLTableDataCellElement
types withHTMLTableCellElement
.(#1739) Search
clear button is now an actual button! Rejoice a11y! (#1737)
Card
no longer has padding, its now moved to the individual sub-components. UseCard.Content
for padded content insideCard
. (#1711)
Menu
should now have correct focus when clicking & navigating with keyboard (#1668)Menu
now putsclassName
on container element so its easier to apply your own styles (#1672)Breadcrumbs.Breadcrumb
will now respect yourhref
again (#1687)
Slider
now accepts decimal values (#724)
Switch
hover effect broke in the previous release, this is now fixed (#1641)
Radio
,Checkbox
: Removed extra padding between input clickbounds and label (#1640)
- Hover effects are wrapped with Media Query to only target devices with mouse pointer (#1589)
Pagination
control now changes to first page if theitemsPerPage
value changes (#1621)
Tooltip
now works when wrappingRadio
orCheckbox
(#1605)- Fixed an issue where an external themeprovider can overwrite unset values in certain components (#1617)
Scrim
now correctly covers entire screen when used in conjunction with the csszoom
property (#1625)Scrim
now disables scroll on body when open (#1587)
Radio
,Checkbox
refactored to no longer be wrapped inlabel
-element when no label-prop is provided (#1610)Switch
refactored to no longer be wrapped inlabel
-element when no label-prop is provided (#1613)- Updated
Accordion
non-interactive icons color (#1296)
- New
placement
property forSnackbar
for more placement variety (#1488) - "Clear selection" button for
SingleSelect
&MultiSelect
(#1411) SingleSelect
&MultiSelect
will show all items when reopnened, with selected items being highlighted (#1065)SingleSelect
&MultiSelect
will now open on focus (#1165)
- Missing
readOnly
styles forTextfield
(#1162) Tooltip
should now respect external handlers (#1558)TextField
should now respect external handlers (#1538)Popover
should now only close onESC
key when is open (#1529)Breadcrumbs.Breadcrumb
will now be rendered asspan
whenhref
is undefined to avoid duplicatea
elements when used with router packages (#1505)Snackbar
&Banner
components should now acceptref
properties! (#810)Tooltip
should now work when used in combination withPopover
orMenu
with anchor elements (#1496)- Adjustments and added missing
compact
styling forRadio
(#1580 )
- Reduced focus offset for
Button
variantghost_icon
(#1565 ) - Cleaned up styling i
Card.Actions
(#1520 ) Search
&Accordion
icon sizes are aligned with other components (#1403)- Adjusted colors for select components (#1514)
- Adjusted focus and label spacing for
Switch
(#1567)
Snackbar
leftAlignFrom
property is replaced byplacement
for more placement options. (#1488)
- Jest/react-testing-library errors in bundle when using with Webpack 5 (#1490) & (#1406)
- Snackbar timeout improvements to avoid "missed" timeout (#1486)
- Snackbar centering was wrong when used inside certain elements (#1172)
- Snackbar stacking content order, should now be on top most of the time (#1173)
Compact components part 1 (#1249)
- Compact mode can be activated by using the
EdsProvider
as a parent component and setting thedensity
property to"compact"
. This will toggle compact mode on all nested components. - Components with compact support:
TextField
Input
Checkbox
Menu
NativeSelect
SingleSelect
MultiSelect
Button
Switch
Table
- Example:
// This renders a compact Table with compact Button & Checkbox inside
<EdsProvider density="compact">
<Table>
<Table.Body>
<Table.Row>
<Table.Cell>
<Button>Compact</Button>
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
<Checkbox />
</Table.Cell>
</Table.Row>
...
</Table.Body>
</Table>
</EdsProvider>
TopBar
missing bottom-border (#1395)- Wrong types in the
onChange
callback inPagination
(#1397) - Misaligned
Icon
when used insideButton
variantghost_icon
(#1423) TextField
lost focus ifinputIcon
was toggled conditionally (#1425)TextField
withinputIcon
had wrong border color (#1425)- Typo in
Accordion
displayName
(#1450) - Disabled
Button
was not disabled ifhref
was set (#1456) - Stacking order for overlay components (
Menu
,Popover
,Scrim
etc.) (#1462, #1466)
- Darker hover background in
Menu
for better accessibility (#1363) Switch
sizes, hover, label spacing and focus frame to match the design in Figma (#1433)- Optional
label
forSwitch
(#1445),Checkbox
(#1425),Radio
(#1459)
- Multiline
TextField
did not followrowsMax
rules on initial render (#1367) - Multiline
TextField
resized on input when having a fixed height (#1375) - Wrong spacing in
Button
when an icon was used (#1364)
TextField
has a new property,rowsMax
for determining how many rows it will grow before overflow (scrollbars) show (#1336)
Menu
did not respect anchor position when used with conditional rendering (#1330)- Wrong
Tooltip
position if surrounding content would skew its anchor element (#1331) - Tweaks to
Menu
,Popover
&Tooltip
component and stories in terms ofa11y
use-cases with screen-readers (#1352)
- Improvements to
useCombinedRef
hook (#1347) Menu
is now using React portals and positioned underbody
(#1352)Tooltip
is now conditionally rendered internally (#1341)
- Missing border on "outlined"
Button
(#1332)
- Export types for all sub-components (#1127)
- Hide
Tooltip
whentitle
is empty string (#1292) Tooltip
errors when used in SSR(server-side rendering) (#1230)Tooltip
being stuck when scrolling while open(#1325)- Too big offset on focus-frame for
Button
(#1218)
- Sub-components exposed with double names (#1317)
- Missing typescript suggestions on property
placement
(#1229) - Crashing
Tooltip
component when refreshing using SSR (#1230)
- New
placement
property onMenu
to define placement of openedMenu
. List of available values here (#952) - New
anchorEl
property onPopover
. Use this in combination withref
on anchor andopen
onPopover
. (#673) - New
enterDelay
property onTooltip
to delay open (#1154) Tooltip
can now be closed on globalESC
keypress (#1195)Tooltip
can now be used ontd
elements (#984)
Menu
,Popover
andTooltip
- Streamlined close logic for
Menu
,Popover
andScrim
(#1175)
Menu
propertyanchorEl
changed from required to optional (#1193)
- Missing focus frame on
Breadcrumbs
(#1134) - Missing props table for
Menu
in Storybook (#1164) - Missing role on
Banner
(#1178) - Clarified use of
Banner.Actions
in Storybook (#1188) - Missing focus frame on
Typography
links (#1203) - Missing disabled colours on
TextField
(#1161) - Wrong offset on
Button
focus frame (#1218)
Placement
values inTooltip
andPopover
are changed to match popperJS. List of available values herePopover.Anchor
deprecated, please use theanchorEl
property onPopover
instead.- Removed
open
property onTooltip
as it was not working as expected
Popover.Anchor
deprecated due to streamlined popup logic
- Bumped eds-tokens version
- TextField (#1107, #1108, #1111, #1115, #1131, #1128)
Input
andLabel
is now available as separate components. This will make it easier to customize for more advanced patterns or for making your own custom components for specialized use-cases.TextField
now supportunit
inside the input field. This is useful for e.g. currency and units of measurement.
- Textfield
- Improvements when using the
Icon
in theinputIcon
andhelperIcon
props. This makes the behaviour here more similar to the rest of the EDS library. (#1130) - Internal fixes and optimization
- Improvements when using the
- Textfield
- Fixed missing disabled colors (#1160)
- Progress indicators (#1090, #1098)
Circular
,Star
andDots
now have asize
property for adjusting size.Circular
andDots
now have acolor
property following the same color scheme as our other components.- Refactored as compound components. You can now find the progress indicators under
Progress
, such asProgress.Dots
,Progress.Star
etc..- The individual
LinearProgress
,CircularProgress
,StarProgress
&DotProgress
will be removed at a later time
- The individual
Accordion.Header
now has anonToggle
callback to help defer rendering of content whenAccordion
are opened/closed (#1121)
- Adjusted text and icon placements inside
Button
so thatIcon
(svg) will always align to the sides regardless of button width (#1085) - Fixed
Menu
story where content would skew theMenuItem
height (#1104) - Progress indicators (#1090, #1098)
- Adjustments so that
Circular
andDots
can be used insideButton
- Cleaned up component so that they are pure svgs now (except for
Linear
)
- Adjustments so that
- Cleaned up sub-component naming, so no more repeating names such as,
Card.CardActions
orMenu.MenuSection
(#1083)- The old sub-component names are still there but will be removed at a later time
- Updated our storybook stories to better reflect usages of components with sub-components (#1094)
- Progress indicators (#1090)
- Removed
variant
property onDots
(replaced bycolor
property)
- Removed
Button
do no longer force size on nestedIcon
- Active, error and hover states in
Table
(#940) - Support for toggling sortable Table column styling. New property
sort
onTable.Cell
(#983) - Sticky Table head (#1031). New property
sticky
onTable.Head
- Tests for Table (#297)
- Missing primary color on
Button
variant="ghost_icon"
(#986) - Hover bug on touch devices (#987)
- Icon bug in Storybook when changing name (#955)
SingleSelect
items are properly updated when changed after initial render (#1064)
- Improved
Table.Cell
(#997) - Refactored Table to use React.forwardRef (#1007)
Table.Cell
as
property on is removed. This had to be done due to technical limitations with new features.Table.Cell
will now automatically renderth
ortd
based on "parent" element.
- Fixed unintended full width on
<Button />
(#)
- Use newest versions of @equinor/eds-icons and @equinor/eds-tokens
- Fix wrong spacings inside
Chip
causing the content to not be proper centered (#956) - Hover size on ghost buttons (#595)
- Use base tokens in
Button
component (#831) - Use base tokens in
Table
component (#830) - Support for React 17 (#813)
- Update dependencies (#904)
- Updated README.md
- Types, as part of the Typescript Milestone
NativeSelect
component (#509)Table
caption (#621)isExpanded
prop to controlAccordion
externally (#677)
- Added a guard clause to handle null values for
Accordion
children (#688) CardMedia
spacing bug (#603)- Added props spread to
BannerAction
(#478) Pagination
bug (#647)- Bundle improvements (#627)
- Cleaned up leaking
devDependencies
(#862) - Hide
Tooltip
when title is empty (#920)
- Updated
z-index
values for correct layering of the components (#872) - Changed licence from GNU AGPL to MIT (#852)
- Clean up use of spacings in
Card
(#717) - Changed module types for better support with
commonjs
andesm
. Using the<some-eds-npm-package>/commonjs
path on packages should no longer be needed and will be deprecated in the future (#887) - Removed unused dependencies (#870)
- Cleaning and remodelling core-react for the future 💅 (#887)
- Fixed
onClose
handler not being called whenMenuItem
was used insideMenuSection
(#546) - Fixed focus showing when clicking on
MenuItem
(#544) - Fixed an issue where
Divider
did not stretch to full width (#608) - Fixed
Head
styling whenTable
is set towidth: 100%
(#610)
- Added outside click support for closing
Menu
. Outside clicks will now call theonClose
handler function. (#548) - Added
data
property toIcon
component to easily compose icon to be rendered. (#584)- See
Icon
README for more information
- See
- Loosened up on Tabs & TabsPanel typechecking for children (#539)
<Menu>
component<Pagination>
component
- Changed background color on
<Tabs>
to transparent (#533) - Improved tooltip inconsistencies when used inside a table (#488)
- Fixed Tooltip triggering on some disabled elements (#479)
- Fixed misplaced text when using
<Button>
as link or upload (#482) - Fixed wrong color on action buttons in snackbar (#535)
- Fixed elevation for dialog (#534)
- Font-weight has been increased to medium in all cases where the font-size is below 16px for improved legibility. This change is most notable in table cells and labels.
- Font-size has been increased and line-height decreased for
<helper>
and<label>
<Icon>
now usescurrentColor
for its fill value – which means it inherits its fill colour from its parentscolor
value<Typography>
now accepts any value for its color property
<Typography>
can now limit the number of visible lines, render any typography style in EDS, change the underlying html element and override/extend tokens used for a particular variant<Table>
can now have headers in columns in the table body
- Fixed horizontal alignment of icons and unintended border-color in
<Button>
in Safari (#465) - Fixed the “off”-colour in
<Switch>
(#466) - Fixed an alignment bug in
<Tooltip>
(#408) - Fixed alignment of headers in
<Table>
(#407)
- Breadcrumbs
- Progress
- Snackbar
<Button>
can now be rendered as an<a>
by providing anhref
attribute- Support for left/right icons inside
<Button
- Fixed an overflow bug in
<Popover>
(#375)
- Increased
<Button>
icon size to 24px (up from 16px) for greater legibility - README
- Moved Progress indicator, Breadcrumbs, Snackbar and Button variations with icons to «Available»
- Moved Pagination to «In progress»
- Fixed a bug where
<Tabs>
steals focus from interactive controls in tab panels. (#369)
- Banner
- Popover
- Slider
- Selection controls
- Option to control the
<Search>
component. (#342)
- Fixed a bug where
<Tooltip>
did not close as expected. (#339)
- README
- Moved Banner, Popover, Selection controls and Slider to «Available»
- Moved Progress indicator and Snackbar to «In progress»
- Fixed bug where
<Tabs>
component focused automatically on the active tab on render. (#329)
- Fixed bug where
<Search>
component ignoredonFocus
&onBlur
functions. (#330)
- Card
- Tooltip
<Button>
component propertytype
can now correctly be overridden
- README
- Moved Card and Tooltip to «available»
- Moved Slider and Popover to «in progress»
- Republished with pnpm to fix "workspace:*" pointers in package.json
- Accordion
- Search
- Table of contents
- Dialog
- Scrim
- Polyfill for :focus-visible
- README
- Moved Accordion, Search, Table of contents, Dialog and Scrim to «available»
- Moved Tooltip, Navigation Drawer, Menu to «in progress»
- Chips
- Sidesheet
- README
- Moved Chips and Side sheet to «available»
- Moved Cards, Table of contents, Search and Scrim to «in progress»
- Tabs
- README
- Sorted components alphabetically
- Moved Tabs to «available»
- Moved Chips, Dialog and Side Sheet to «in progress»
New components
- Button
- Ghost icon variant
- List
- TopBar
- Icon
- Tabs
- Updated README to me abit more clearer
- Adjustments to to
package.json
to be more in line with our other packages - New versioning of packages
- Faulty build configuration forcing use of umd modules for
- Missing package settings and deprecated npm-script commands
- Malformed changelog
- Textfield alpha component
- Updated build (wups)
New alpha components:
- Divider
- Table
- Typography
- Typo in changelogs
@equinor/eds-tokens
as a dependency for tokens
- Update README
- Update README
- Update README
- Add CHANGELOG
- Publish alpha-version of library
- Copy tokens temporarily to src/tokens