Commit Graph

355 Commits

Author SHA1 Message Date
Nathan Vasse
187801e15d (react) fix flacky date picker test
This test was flacky, let's fix it.
2025-09-23 15:58:43 +02:00
Nathan Vasse
87dbf922df 🚨(react) fix lint issues
Fix the lint for the recent commits.
2025-09-23 15:58:43 +02:00
Nathan Vasse
33c5866c28 ♻️(docs) various update for storybook
Color fixes due to new tokens architecture and few rewords.
2025-09-23 15:58:43 +02:00
Nathan Panchout
be3deea177 🎨(react) update documentation
This commit revises the color system to enhance modularity and
accessibility. It updates the color classes in the documentation and
stories to reflect the new semantic naming conventions. Additionally,
the structure of the theme configuration has been changed from `theme`
to `globals`, ensuring a more organized approach to color management.
New migration documentation has been added to guide users through the
transition to the updated system, including steps for updating CSS
variables and button props.
2025-09-23 15:58:43 +02:00
Nathan Panchout
748d070bd9 ♻️(react) update Button component props and refactor related components
This commit modifies the Button component to switch the `variant` and
`color` props, ensuring consistency across various components that
utilize the Button. The changes include updates in the Alert, Modal,
Tooltip, and other components to reflect this new prop structure.
Additionally, several test and story files have been adjusted to
accommodate these changes, enhancing the overall component architecture.
2025-09-23 15:58:43 +02:00
Nathan Panchout
f93a83655c (demo) update demo app
Update the demo app to make it work with new tokens.
2025-09-23 15:58:43 +02:00
Nathan Panchout
47e3e28090 🎨(react) update tokens generated files
Based on the last modification, let's update the tokens files.
2025-09-23 15:58:43 +02:00
Nathan Panchout
186f0b86b7 🎨(react) enhance Color and Spacing documentation
Update colors and spacings documentation to reflect new token
architecture. Introduced contextual backgrounds and updated color
classes for consistency.
2025-09-23 15:58:43 +02:00
Nathan Panchout
d79d58885a 🎨(react) enhance Pagination component styles
update Pagination token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
3e4da2f95a 🎨(react) enhance Tooltip component styles
update Tooltip token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
6105377811 🎨(react) enhance Toast component styles
update Toast token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
b04fdd32c7 🎨(react) enhance Modal component styles
update Modal token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
dcf1c8b8bb 🎨(react) enhance Loader component styles
update Loader token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
43337d4f7f 🎨(react) enhance FormExemples stories
update FormExemples stories with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
c9f6d2d41c 🎨(react) enhance TextArea component styles
update TextArea token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
d04b52eaf5 🎨(react) enhance Switch component styles
update Switch token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
2123aedb72 🎨(react) enhance Select component styles
update Select token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
2a65010ecd 🎨(react) enhance Radio component styles
update Radio token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
248ac05c81 🎨(react) enhance LabelledBox component styles
update LabelledBox token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
d7ae9fc9d1 🎨(react) enhance Input component styles
update Input token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
e002cfde0f 🎨(react) enhance FileUploader component styles
update FileUploader token and css files with new css variables
introduce with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
fe0c2b367f 🎨(react) enhance field component styles
update field token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
8f71cdb7f9 🎨(react) enhance DatePicker component styles
update DatePicker token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
91aead45d9 🎨(react) enhance checkbox component styles
update checkbox token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
c3e39a46ac 🎨(react) enhance datagrid component styles
update datagrid token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
59b362407d 🎨(react) enhance button component styles
update button token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
3e62cdb929 🎨(react) enhance alert component styles
update alert token and css files with new css variables introduce
with the new tokens architectures
2025-09-23 15:58:43 +02:00
Nathan Panchout
bccdebd770 🎨(react) update theme tokens and structure
This commit introduces a comprehensive update to the theme tokens in the
Cunningham package. The previous color definitions have been replaced
with a new structure that includes global color tokens for branding and
contextual elements. Additionally, the SCSS and JS files have been
refactored to align with this new token architecture, enhancing
maintainability and ensuring a cohesive design system across the
application. The TypeScript configuration has also been updated to
support JSX syntax.
2025-09-23 15:58:43 +02:00
Nathan Panchout
afb313fee0 🎨(react) update storybook theme colors and refactor theme structure
This commit updates the theme colors in the Storybook configuration to
use the new global color definitions. The changes include replacing
greyscale colors with their corresponding gray colors for consistency.
Additionally, the theme structure has been refactored to align with the
updated token architecture, enhancing maintainability and ensuring a
cohesive design system across the application.
2025-09-23 15:58:43 +02:00
jbpenrath
fe8c464862 🌐(react) add missing french translations
Some french translations were missing.
2025-08-18 17:42:57 +02:00
jbpenrath
2ee7450915 (react) fix flaky test
On CI, a test times out frequently. We increase the timeout
threshold to prevent that..

Resolve #355
2025-08-07 10:15:07 +02:00
jbpenrath
8e049bc21e 🐛(react) disable button link
According to its prop, the Button component can be rendered as
a link but in this case, the prop `disabled` has no effect. So to fix
that if the Button receives a `href` prop and is disabled, we apply
a modifier class `.c__button--disabled`.
2025-08-07 10:15:07 +02:00
Nathan Panchout
06926863c6 (react) fix translations and add missing translations
This commit improves the translations method to handle undefined values
gracefully and adds several missing translations for modals in the
French locale.
2025-07-29 16:44:17 +02:00
jbpenrath
7ef8930bc8 🐛(react) prevent input cursor to jump on searchable multi select
Fix an issue that cause the input cursor to jump when user
types in the search input of a multiple select.
2025-07-29 16:04:58 +02:00
jbpenrath
ef8a225406 🐛(react) use uniqueId for modal portals
When a ModalProvider is mounted, it renders a div with an id which is use as
container to render modals through portals. But currently, if developer use
several CunninghamProvider across its application, a container with the same
id will be rendered several times that is weird. To prevent this kind of id
collision, we decide to generate a unique Id for each ModalProvider.

Resolve #352
2025-07-24 11:40:09 +02:00
jbpenrath
5b0d794217 📦️(react) export LabelledBox component
Allow to import LabelledBox component by consumers
2025-07-24 11:40:09 +02:00
jbpenrath
e9a85ee63f 🐛(react) prevent error on searchable select
When a select is searchable, when the user search term but this one return
no items, currently the component raise an error.
2025-05-06 09:57:28 +02:00
Nathan Vasse
a343db2b0e (react) export locale in package
We want to be able to import the locales from the consumer in order
to customize them.
2025-05-05 18:00:22 +02:00
jbpenrath
b1850c029a 🚨(react) fix type and sass warning after deps upgrade
- Do not use deprecated `map-get` Sass method
- Fix type issue in `DatePicker`
2025-05-05 17:56:15 +02:00
jbpenrath
79c59acd0d 🐛(react) fix DateRangePicker issue
We encountered a bug with the date range picker due to an internal
logic of `@react-aria/calendar`. This bug silently came back recently but
our test suite does not trigger that but since the update of
`@testing-library/user-event` a test starts to fail and highlight this issue so
we fix again this bug.

https://github.com/adobe/react-spectrum/commit/12f2f4e
2025-03-18 10:44:16 +01:00
jbpenrath
56d9ed88f0 💥(react) upgrade to React 19
https://react.dev/blog/2024/04/25/react-19-upgrade-guide
https://react.dev/blog/2024/12/05/react-19
2025-01-08 11:02:50 +01:00
jbpenrath
86815cf95b 🔧(react) migrate to vite 6
With the new major version of vite, some path resolution did not work so
we update our vite config to resolve properly paths starting by 'src'.
Furthermore there were some deprecation warning about the use of cjs
files as vite configuration so we use 'mts' extension for all vite
config files in react package to allow vite to detect them as
ES Modules.
2025-01-08 11:02:50 +01:00
jbpenrath
afe05ec883 🚨(react) remove sass deprecation warnings
We used some global built-in methods that will be removed in the next
major version of Sass so we decide to use the modern api right now to
remove those warnings.
2025-01-08 11:02:50 +01:00
jbpenrath
dc8015f080 💄(react) use overflow auto instead of scroll
Currently, Tooltip and Datagrid components are set to always scroll bar.
This is weird, as the scrollbar is always shown even if this is not
needed. Instead, we use `auto` value to display it only when
it is needed
2024-08-20 14:47:48 +02:00
jbpenrath
b0b7061b7a ⬆️(deps) migrate to typescript-eslint 8
A major version of typescript-eslint has been released. This version contains
some breaking change and rules change so we have to tweak our eslint
configuration.

https://main--typescript-eslint.netlify.app/blog/announcing-typescript-eslint-v8
2024-08-20 13:51:29 +02:00
Nathan Vasse
1514e4f0b3 🐛(react) make datagrid select column visible
Due to a previous commit f398e51db3 the selection
column was invisible, this way caused by having table-layout: fixed and
width: 0 on the select column at the same time.
2024-08-20 11:36:46 +02:00
jbpenrath
dbd5f05652 🏷️(react) fix types issue
Since upgrade of @react-stately/calendar, a type issue was emit and
broke the build.
2024-07-29 14:46:52 +02:00
jbpenrath
b6c0565958 🐛(react) allow to set column size for data grid without header
Currently, to set the width of column we define a width to the
corresponding header cell. But DataGrid components allows to not render
header rows so in this case, the size is not set. In order to fix that,
if header is not rendered, we set width of cell to the corresponding
column.
2024-05-28 11:03:14 +02:00
jbpenrath
6bae4ad89a 🐛(modal) make modal scrollable when height exceeds the viewport height
Currently, if the content of a modal exceeds the viewport height, it is
not scrollable.
2024-05-24 16:29:09 +02:00
Nathan Vasse
e53cc730fc 💄(react) disable default Modal text align center
This default behavior was causing lots of troubles when using modals.
For instance the Select value were centered, it was also the case for
most of consumer's component inside modals, forcing the users to
set text-align:left on their side, resulting in additionnal work.
Now we use another approach by using a specific div for the content
we want centered.
2024-05-16 14:43:17 +02:00