Commit Graph

348 Commits

Author SHA1 Message Date
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
Nathan Vasse
582027f22a ♻️(react) add a scroller div inside modal
Having the position fixed and at the same time overflow auto on the same
element was causing absolute children to be cropped. We need to set those
two attribute on two different parent for these children to not be cropped.
Yes this is weird, this is CSS.
2024-05-16 14:43:17 +02:00
Nathan Vasse
06c5c9dff3 ♻️(react) use react aria for select menu
The way the menu of the select was made was causing it to be cropped
inside modals, it was due to the fact the menu was nested inside a
position relative parent. Now we use react aria to position in full
absolute the menu, making it to be correctly displayed inside modals.
2024-05-16 14:43:17 +02:00
jbpenrath
a70f8129eb (react) remove warnings during tests
Numerous warnings was raised during tests. We remove most of them. Some
needs to be discussed before fix.
2024-04-29 15:38:22 +02:00
Nathan Vasse
91c8935a8a 🐛(react) fix Select mono selected item update label
When we were updating the label from the options array of the selected
item, the field was still showing this old value.

Fixes #316
2024-04-24 17:23:26 +02:00
Nathan Vasse
285cf99681 (react) add closeOnEsc props to Modal
We want to be able to disable closing modals by pressing escape in
some cases.
2024-04-23 14:38:44 +02:00
Nathan Vasse
2916dd2af9 (react) add custom modal portal
In some apps this is mostly needed, for instance: when the
CunninghamProvider is nested in the DOM, we want the modal to still
be displayed on top of anything else, then in those cases we will be
able to define a node directly in the body and tell cunningham to
render modals inside it.
2024-04-23 14:38:44 +02:00
Nathan Vasse
6ebeb116d3 ♻️(react) migrate Modals to react modal
We encoutered an issue where stacked modal backdrop were not rendered
above the modal below. It was caused by the dialog element that is
natively rendered on the top layer regardless where it is create in
the DOM. So we decided to use react modal that provides hand crafted
dialog, and implementing a11y features.

Closes #314
2024-04-23 14:38:44 +02:00