We want to enable a mode that prevent the pills the wrap on multiple
lines in order to control any height overflowing. In monoline mode the
selected items are displayed as text to allow text ellipsis, and the
menu renders the list items with checkboxes.
Since the migration to Vite 5 we had the "The CJS build of Vite's
Node API is deprecated" error ocurring during compilation.
We needed to rename to .mts the vite config file in order for it
to acknowledge that we are using the Node ESM API, this is needed
because we do not set "type": "module" in package.json because
we need to support CJS too.
The node LTS version is 18 and node 16 has reached its end of support the 11th
september 2023. Furthermore, some JS packages starts to remove support of node
version less than 18. That's why it seems to be the right moment for us to level
up to node 18.18.
Replaced deprecated '@import' with '@use' to align with best practices.
Refactored stylesheet to behave as a partial, enhancing SASS compilation
efficiency.
For a variety of reasons, such as accessibility or integration with
external react-router deps style we needed to be able to provide the
ability to render the Button component as link in order to be able
to provide link-specific attribute for rendering such as href.
The oveflowing labels were spreading on two lines. I had to wrap a
span inside a label in order to be able to deal with the text-oveflow
plus the absolute positionning.
In some cases we need the props of a component to be exported,
to be able to use them in other components. This commit exports
the props of the Button component.
Some docs were using design tokens and classes that were not theme
compliant, rendering ugly colors when switching to dark, it needed to
be aligned. Also update some code example to match the new format.
The stories do not need CunninghamProvider anymore since it is
handled by the configuration for the themes support. Some stories
were also using wrong colors that didn't handle multiple themes.
We want to be able to visualize easily themes directly inside
Storybook. This was not a trivial task as there is no centralized
logic to handle Doc / Stories / Manager at the same time.
Some components were using wrong design tokens and this was noticed
only when changing themes, like using hard-coded "white" instead of
"greyscale-000".
Some discussion appeared about the fact the multi select was changing
height when pill were selected, making this input having a bigger
height than others making it looks weird in a form comparing to the
others. Modifying the padding and font size make the input keep the
same height.
See #114
When clicking on the checkmark it was trigerring two onChange on parent
elements, thus causing double toggling ( which means revert to the initial
value ) in some controlled way approaches ( see the added test ).
Fixes#175
The renovate PR made the tests fail due to lots of new warnings.
This kind of warning: update not wrapped inside act ...
They were mainly throwed from user event API calls, but internally
this library already calls act() so it is not supposed to happen.
In reality it happen when different versions of @testing-library/dom
are used by the framework wrapper and the main one loaded by our
project.
See https://github.com/testing-library/user-event/discussions/906