v8.0.0
A new Evolution
New look and feel
This change marks a new look and feel to our existing code. The largest changes is to add support for evolution which changes a lot of components and they way they were. This is just the first step in this new change, many more are planned to come!
Most of the changes in ebayui were to support the changes in skin for supporting Evolution. However, we do have some notable fixes which we have done.
Storybook rework (#1494 #1483)
Our storybook has always been the place where people go to see examples of code we have written. Now, storybook has become our goto for documentation as well. Usually we would direct teams to read our readme's, but now in storybook we have full documentation and code examples built in! We also have full toggle support where users can just turn on/off different arguments in order to see the way things change in components
Here are some examples of the toggles
And here's an example of the full documentation we have
And finally here's one showcasing all the events being triggered
As we move forward, we will begin to deprecate our readme's in the code repo. For now we left them in but we will be phasing them out.
Drop IE11 support (#1386)
Since IE11 has been officially discontinued from being a supported browser, we too have removed all the support in ebayui for IE11. This means our bundle sizes will be much smaller, since we don't need all the polyfills to support all the good things IE11 lacks. We remove core-js pure and moved to using ES5 primatives, like Object.assign
or Array.forEach
Migrator changes
When we first added migrators, we only supported Marko 4, since marko 5 was still in early release stages. However since marko 5 has picked up more traction, we have added migrators both for marko 4, and marko 5, which gives teams who use this project a much easier time to upgrade to the latest version.
Button changes
Our beloved <ebay-button>
(which I believe was our first component too!) has gone through a lot of changes. We felt like this component, which should be so simple, has gotten to be overly bloated.
So we have decided to split up button into separate components. These components are based on the variant attribute (which should be auto migrated to the newer versions)
Button split (#1412)
<ebay-button>
still remains the same beloved button as we all know. It still has priority
and all the favorite arguments. It can even take a href
to become a fake-link
Icon button
The first split is <icon-button>
This new button only support having icons. It does still take similar arguments as <ebay-button>
, but a much smaller amount. Arguments, like fluid
, or transparent
do not make sense in this case, but we kept others like href
to make it a fake-button
Fake link
The final split is to make a <fake-link>
. While this feels and acts like a link, it is actually a button underneath. This one does not accept an href
since an href
is what a link has normally. Rather this emits a click event, so that things can be manipulated on a page but it does look like a link.
Looks like a link, can act like a link, but in reality is a button
Button loading state (#1468)
Another change for button is actually having a new loading state. We added a body-state
argument in order to allow a loading button
Here it is in action with the new storybook changes
Infotip/tooltip/tourtip changes (#1508)
Normally, we control the state of the infotip. However, as time is going on, many teams requested control of the infotip open/closed state. We did have a way to expose methods on the component
but as time went on, it seems much more natural to expose an open
attribute.
So we did so! We now have an open/close attribute for all these components. By not passing in that attribute (or setting it as null), it uses the default behavior. But passing it then triggers it in that state and allows you to control if it's open or not. Interacting with it still opens and closes as usual.
Here's an example
Select floating label (#1528)
Since we were lacking a floating label for select only element (we have it for combobox), we added support for ebay-select
to show floating label.
Here's an example
Other breaking changes (#1233)
ebay-infotip
: renameda11y-close-text
toa11y-close-button-text
ebay-details
: renamedtype
toalignment
ebay-page-notice
: renameda11y-text
toa11y-icon-text
ebay-listbox-button
: changed auto keyboard selection to manual keyboard selection by default
Other misc fixes
- support jestdom #1526
- Report text for video is not passed correctly #1533
- ebay-infotip icon is regular size when it should be small #1524
- ebay-fake-menu: Disabled link is not clear #1480
- breadcrumbs : "current" item should not be in tab order #1477
Future
We will continue to update components to support evolution in the upcoming minor releases.