Commit Graph

45 Commits

Author SHA1 Message Date
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
Nathan Vasse
c61b2ac43d (react) introduce large and extra-large new modal sizes
We realized it was missing an in between medium and large existing
modal sizes. The old large now become extra-large.

Closes #313
2024-04-23 14:38:44 +02:00
Nathan Vasse
0ef7684b12 (react) add Tooltip component
This component will allow to provide contextual information on any
DOM node.

Closes #239
2024-03-21 16:14:55 +01:00
jbpenrath
be1e2e2614 💄(react) make modal backdrop color customisable
As we cannot user CSS vars into backdrop pseudo element, we decide to
create a dom element to simulate the modal backdrop.

Resolve #257
2024-02-15 14:54:17 +01:00
Nathan Vasse
1445f4a222 (react) add Modal
Here it is! Our really wanted Modal component, based on Figma sketches.
2024-02-05 15:23:03 +01:00
Nathan Vasse
540cdc6896 💄(react) update Alert and Toast icon size
We realized that even if the Figma sketches indicates that the icons
are 16px in reality the rendered DOM was not visualy matching the
sketches. We needs 19px to match the sketches.
2024-01-08 15:49:34 +01:00
Nathan Vasse
132b676ff7 (react) add Toast component
This component allows to create dynamic Toast appearing at the bottom
of the screen for few seconds.
2024-01-05 16:38:09 +01:00
Nathan Vasse
6e4dd55f49 🔧(react) regenerate tokens files
These new tokens file adds button and alert tokens.
2024-01-02 15:26:13 +01:00
Nathan Vasse
7b0686dede (react) add sass generator to react
We need to use sass variable in order to use breakpoints in media
queries. Using native CSS vars in media queries is not possible.
2023-12-12 11:04:25 +01:00
Nathan Vasse
bbf3df852f (react) add TextArea component
How could we ship a design system library without a textarea?
2023-10-24 11:56:47 +02:00
Nathan Vasse
bac9e3b802 📦️(react) update tokens
It reflects the new tokens file with the new format.
2023-10-04 15:18:00 +02:00
Nathan Vasse
a46d28f00a 💄(react) make multi select height homogeneous
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
2023-10-03 11:18:56 +02:00
Nathan Vasse
cdace69482 💄(react) adjust checkbox and radio borders and colors
Based on a QA feedback.
2023-09-11 12:07:49 +02:00
Nathan Vasse
d36e31448e 💄(react) improve FileUploader style
Based on recent QA feedbacks we needed to do small changes to the style
of the FileUploader.
2023-09-11 12:07:49 +02:00
Nathan Vasse
6257dd9cbc 💄(react) fix DatePicker label focused
The label of the DatePicker was not using the specific focus color.
2023-09-11 12:07:49 +02:00
Nathan Vasse
1c45b93a85 💄(react) homogenize form fields colors
Based on the QA feedbacks we figured out that form fields were not all
using the exact same greyscale colors.
2023-09-11 12:07:49 +02:00
Nathan Vasse
c0028966f1 (react) add a nano button, proper icon sizes
Previously we had to hack the button in order to display small clickable
icons, like the clear button in the DatePicker. By introducing a new
nano button we can natively achieve that. Also make more homegenous
font size and icon sizes in existing button sizes.
2023-09-11 12:07:49 +02:00
Nathan Vasse
4e6e5a2e52 💄(react) fix Button style
QA-based updates to the Button components. It includes global UI updates
to make the Button to match the sketches.
2023-09-11 12:07:49 +02:00
Romain Le Cellier
3471e2e0b2 (react) add Button token font-family
Components font-family have to be customizable.
2023-08-04 17:42:18 +02:00
Lebaud Antoine
2886f0c992 💄(react) add styling for range selection on a cell
Integrate new styling classes for grid-cells to facilitate range selection
in the DatePicker component. This implementation improves the visual
representation and user experience of selecting a range. In addition,
outside-month cells are now hidden, to avoid having a range selection
that contains outside-month cells.
2023-07-10 22:05:33 +02:00
Nathan Vasse
672f4be4d4 (react) make use of tokens references
We want to leverage the use of references inside our tokens definitions.
2023-07-07 15:06:18 +02:00
Nathan Vasse
80e8dc45eb (react) add file uploader
Add mono and multi file uploader according to sketches.
2023-06-28 16:20:17 +02:00
Nathan Vasse
4c5129e660 💄(react) reduce border of DatePicker
To make the DatePicker looks the same as other form inputs.
2023-06-19 17:21:29 +02:00
Nathan Vasse
34d2fe0af3 (react) max width for multi select pills
In order to prevent a pill with a long text to stack below the actions
div we decided to introduce the concept of max-width for pills.
2023-06-19 15:04:05 +02:00
Nathan Vasse
c8afa105dd (react) add multi select
Adding this new variant makes necessary to reorganize the files to keep
a clear separations of concerns. As of now Select/index.tsx is just an
entrypoint to render either the mono or multi variant of the select.
2023-06-19 15:04:05 +02:00
Lebaud Antoine
10fa71e2a7 (react) add DatePicker component
Based on the Figma DS design by Alex, a mono date-picker
component has been added. It uses react-aria headless ui
component capabilities, with downshift headless ui component.
React-aria was not supporting by default dropdown menus to
select months and years. We could not reuse Popover component
from react-aria because we are not using their headless ui
component for the button one. Clicking on the toggle calendar
button triggers both the button and the popover click outside
events. React-aria button uses a custom onPress props that is
disabled by their popover. Instead, I have implemented a simple
custom hook. This is the first acceptable version of the component.
Some minor user interaction are missing. This first component
doesn't support time selection.
2023-06-12 18:57:20 +02:00
Lebaud Antoine
1ff37cf12f 💄(react) improve input component styling configuration
Align design tokens of input component with select component's
design tokens for consistent styling configuration. Having a
transparent background was causing a weird ux.
2023-06-06 12:21:41 +02:00
Lebaud Antoine
38538e354b 💄(react) improve radio input styling configuration
Align design tokens of radio input component with select component's
design tokens for consistent styling configuration.
2023-06-06 12:21:41 +02:00
Lebaud Antoine
8cf2bb28e1 ♻️(react) improve checkbox styling configuration
Align design tokens of checkbox component with select component's
design tokens for consistent styling configuration.
2023-06-06 12:21:41 +02:00
Nathan Vasse
0153b5043b 📝(react) add forms examples to documentation
We think doing this really illustrates what the design system looks
in real life, all components living together next to each other.
2023-06-01 12:05:32 +02:00
Nathan Vasse
cfdac8dba9 💄(react) migrate to Roboto Flex
Previously we were using standard Roboto Font but we were struggling to
get the same boldness as the ones from the Figma sketches. It appears
that Figma uses Roboto Flex, so by installing it we can now nearly
perfectly align our visuals with the ones form the sketches. I had to
do some custom tweaks with the weights of the font because if we
use exactly the same font-weight as in Figma the render is still different.
2023-05-26 16:39:02 +02:00
Nathan Vasse
ef4ece39b4 🐛(react) fix label color on state disabled ( select, input )
When creating LabelledBox we introduced a bug than overrides the label
colors when inputs are disabled.
2023-05-24 16:49:49 +02:00
Nathan Vasse
d79f01fd93 (react) add the possibility to hide select label
Based on recent feedbacks this feature was needed. It is important for
the label to still be accessible to screen readers, that's why we
introduced the offscreen class.

Resolve #60
2023-05-24 15:58:07 +02:00
Nathan Vasse
9d7ad489ba (react) add Switch component
Implement a shiny new component that can be used as an alternative to
the regular checkbox.
2023-05-24 15:37:50 +02:00
Nathan Vasse
eb6692bf5e (react) add a design token for checkbox hover background
This was based on recent feedbacks to provide more granularity for
customization.

Resolve #59
2023-05-24 12:00:42 +02:00
Nathan Vasse
2ff5fc5d29 (react) add Select component
Finally our powerful Select component is available to make great forms!
2023-05-12 11:13:38 +02:00
Nathan Vasse
edf4563e3e 🔧(demo) update tokens file
The existing file was a bit outdated, we regenerate them in order to
keep things as fresh as possible.
2023-04-27 15:34:15 +02:00
Nathan Vasse
f5cb2e791e (react) add Radio component
Implement Radio input based on designed sketches.
2023-04-27 15:34:15 +02:00
Nathan Vasse
43096e2bab (react) add Checkbox component
Implement Checkbox input based on designed sketches.
2023-04-27 15:34:15 +02:00
Nathan Vasse
feea284ec8 (react) add Input component
Finally the first form component of the design system. It wraps and enhance
the native input element.
2023-04-25 11:28:32 +02:00
jbpenrath
72091eecbc 🩹(tokens) add blank line at end of token files
Cunningham CLI did not add a blank line at the end of generated
token files.
2023-04-18 14:59:16 +02:00
jbpenrath
b1925959fe ️(react) improve button accessibility
Rework buttons in order to improve accessibility by increasing color
contrast and shape change across states.
2023-04-12 17:21:19 +02:00
jbpenrath
b79c23da30 💫(tokens) change transitions timing functions
Increase duration by 50ms then switch to ease cubic timing function in
order to get smoother but enough speed transitions.
2023-04-12 17:21:19 +02:00
Nathan Vasse
05242ffbcd (react) add button sizes
Add two sizes for the Button component: small and medium. They
are present on the new delivered sketches concerning pagination
but dont exists yet.
2023-03-28 12:00:27 +02:00
Nathan Vasse
b908136224 (tokens) generate css utility classes
These were the missing parts in order to use every design tokens
of Cunningham. Including: spacing, font weight, size, family, and
colors. In order to be really versatile and to allow users to
define new design tokens I had to re-organize the way those tokens
are sub divided in sub objects in cunningham.ts file. That's why
sub division are created for theme.typ.sizes for instance.
2023-01-20 17:00:31 +01:00