Commit Graph

173 Commits

Author SHA1 Message Date
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
Lebaud Antoine
9795b7184b 🩹(react) fix DateRangePicker layout overflow
Resolved a width conflict in the date range picker where the field width
conflicted with the component's min-width. This caused content
overflow in the field container, resulting in layout issues.
2024-02-14 10:39:34 +01:00
Nathan Vasse
f685abb36c ♻️(react) use info design tokens
Some info variant of components were using primary design token instead
of info.
2024-02-13 15:14:05 +01:00
Nathan Vasse
ebfccc1f99 🐛(react) fix DatePicker dropdowns
When having a start date, using the year or month dropdown was
causing the calendar to abruptly close.

Fixes #244
2024-02-13 10:36:14 +01:00
Nathan Vasse
f16eed9a6d 🐛(react) fix Select submit button
As the default type of button is "submit", when including a Select
inside a form, clicking on any of its button was triggering form
submission.
2024-02-12 11:46:09 +01:00
Nathan Vasse
e79768c7ce 🐛(react) fix DatePicker submit button
As the default type of button is "submit", when including a DatePicker
inside a form, clicking on any of its button was triggering form
submission.

Fixes #245
2024-02-12 11:46:09 +01:00
Nathan Vasse
a32bac75db 🐛(react) fix missing selected option of Select
In some cases, when the options were newly built object, due to the
fact that we were using object equality to check for the current selected
item, it was not working in those cases.
2024-02-06 11:24:12 +01:00
Nathan Vasse
d61ab65d82 🐛(react) fix multi select menu opening
At first we had a simple bug were it was not possible to open the
menu by clicking on the label. This fix is a rework to consider
the select wrapper as the toggle button itself, which is what we
do on the mono version. This change caused various tests to fail.
2024-02-05 17:54:29 +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
3616c72673 (demo) new demo
This new demo aims to take advantage of all the new Cunningham's
components. The old demo was kind of a draft, this new one gives
a better overview of what Cunningham is capable of.
2024-01-25 15:58:33 +01:00
Nathan Vasse
77921e018c (react) switch icons to material-icons-outlined
We decided to switch to this new icons family for aesthetic reasons.
2024-01-08 15:49:34 +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
33d0c9fdca (react) add Alert
Here is the Alert component based on recent delivered sketches.
There is a main component that based on props renders sub alert components.
2024-01-02 15:26:13 +01:00
Nathan Vasse
e90a5dd6e6 (react) add text variants to Button
These variant are smaller buttons without background that can be used
in cases where we want the Button to have a minimal design.
2024-01-02 15:26:13 +01:00
Nathan Vasse
6d91c1d19f (react) add useControllableState hook
This hook is used to create a state that can be controlled by the parent.
If not the state is handled internally. We start to have this redundant
use case across Cunningham, so creating a dedicated hook reduces the
components verbosity and complexity.
2024-01-02 15:26:13 +01:00
Nathan Vasse
3dd7b3ef8e 🔖(release) version packages
Bump @openfun/cunningham-react to 2.4.0
Bump @openfun/cunningham-tokens to 2.1.0
2023-12-12 11:39:32 +01:00
Nathan Vasse
7ddcfeb4bc 🐛(react) fix closing of menu via toggle button
Previously it was not possible to close the menu when clicking on
the toggle button on search select. It was caused by a conflicting
state update.
1. Downshift triggers closing the menu from getToggleButtonProps
2. wrapperProps was calling downshiftReturn.openMenu()
2023-11-30 10:40:13 +01:00
Nathan Vasse
b25aa8f078 🔖(release) version packages
Bump @openfun/cunningham-react to 2.3.0
2023-11-27 14:14:24 +01:00
Nathan Vasse
e3882eb308 🏷️(react) support ReactNode as input label
There are use cases that required to put links inside Checkboxes or
Radio inputs.
2023-11-27 10:02:28 +01:00
Nathan Vasse
6b6c0ea942 🔖(release) version packages
Bump @openfun/cunningham-react to 2.2.0
2023-11-24 11:15:55 +01:00
Nathan Vasse
94b32be5d3 (react) add monoline props to multi select
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.
2023-11-24 11:01:41 +01:00
Nathan Vasse
b340272207 🔖(release) version packages
Bump @openfun/cunningham-react to 2.1.0
Bump cunningham-demo to 1.0.1
2023-11-03 11:19:31 +01:00
Lebaud Antoine
b714c3d543 📝(doc) update instructions to use modern SASS
Replaced deprecated '@import' with '@use' to align with best practices.
2023-10-24 20:32:42 +02: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
01528b9377 (react) render Button as link
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.
2023-10-23 15:27:47 +02:00
Nathan Vasse
d39d33d02c 🐛(react) fix inputs overflowing placeholder
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.
2023-10-16 12:01:35 +02:00
Nathan Vasse
c8c8a04832 🔖(release) version packages
Bump @openfun/cunningham-tokens to 2.0.0
Bump @openfun/cunningham-react to 2.0.0
Bump cunningham-demo to 1.0.0
2023-10-06 15:23:47 +02:00
Anthony Le Courric
cf3a589d7f 🩹(react) export Button props
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.
2023-10-05 09:19:26 +02:00
Nathan Vasse
1c7a114b6e (react) add ref to Select
We encountered a use-case where we needed to blur the select programatically
but the component wasn't offering any way to do that.
2023-10-04 16:02:06 +02:00
Nathan Vasse
cce8eccf5b (theme) add themes management
This is made in order to be able to handle natively multiple themes
for the future light/dark themes and also allow consumers to create
their own.
2023-10-04 15:18:00 +02:00
Nathan Vasse
7db5bb798c 🔖(release) version packages
Bump @openfun/cunningham-react to 1.3.1
2023-10-04 14:21:25 +02:00
Lebaud Antoine
0c757957a7 🩹(react) export Popover component and its props
Include missing Popover component exports to the React package.
Re-order package exports to be alphabetically sorted.
2023-10-03 13:28:35 +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
a1e8f46368 🐛(react) fix checkbox double onChange
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
2023-10-02 11:53:04 +02:00
Romain Le Cellier
3a6028f0ba 🐛(rect) fix rhf select example
clearing the select trigger a infinit loop
2023-09-27 15:38:48 +02:00
Romain Le Cellier
034e299407 ♻️(react) fix rhf reset with Input
when using reset(), Input field value wasn't updated
2023-09-27 15:38:48 +02:00
Nathan Vasse
e2738495dc 🔖(release) version packages
Bump @openfun/cunningham-react to 1.3.0
2023-09-25 16:24:56 +02:00
Anthony Le Courric
3fc464bb8c 🐛(react) fix some edge cases with searchable Select
- rerender mutated options when the menu is opened
- keep the filter value when the menu is opened and rerender
by a mutated options
2023-09-25 16:10:39 +02:00
Nathan Vasse
4e1d0f0bc7 (react) rework the behavior of the Select component
We decided to change a bit the behavior of the Select:
- Do not trigger onChange on first render if value is defined
- Show all options on searchable select menu  opening even if there is an
  existing value.
- Clear the input field if no choice are selected
- Clear the added text to the input field when a value is already selected
2023-09-22 14:18:01 +02:00
Nathan Vasse
a07b461621 🔖(release) version packages
Bump @openfun/cunningham-react to 1.2.0
2023-09-19 09:57:36 +02:00
Nathan Vasse
8470126b1f 🐛(react) fix failing selection of last removed item
Previsouly when selecting item A and then removing it, it was impossible
to select it again. This was caused by the internal memory of useSelect
that only provides undefined selectedItem inside the onStateChange callback
when the item has not changed. So by forcing it everytime to null it is
now providing it everytime.
2023-09-18 17:01:21 +02:00
Nathan Vasse
fd988c03e1 🐛(react) fix controlled searchable select
Changing the controlled value was setting triggering immediately an
onChange event with undefined value. This was due to the fact that when
the controlled value was changed SelectMonoAux was searching only in
options displayed, where it should in reality be searching accross all
options.

fixes #162
2023-09-15 15:11:43 +02:00
Nathan Vasse
4616ad9ffb (react) add select menu empty placeholder
Previously if the menu was opened and no there were no options to be
displayed it was just showing a tiny empty menu, this commit adds an
empty placeholder in order to make it clearer that the list is empty.
2023-09-13 17:28:58 +02:00
Nathan Vasse
5bf2bc7e6f 🔖(release) version packages
Bump @openfun/cunningham-react to 1.1.0
Bump @openfun/cunningham-tokens to 1.0.1
2023-09-11 16:43:27 +02:00
Anthony Le Courric
c7000f37d2 🐛(react) fix props not recognized on the input element
The props propagation was adding unknown props to the input element,
which was causing an error warning to be displayed in the console.
2023-09-11 16:15:13 +02:00
Nathan Vasse
8fd34add8a 🐛(react) fix Radio, Checkbox fullWidth
The fullWidth was buggy for those components, the label was floating
in the middle of the empty space where it feels correct to keep it
aligned on the left.
2023-09-11 12:07:49 +02:00
Nathan Vasse
9de9a9735d 💄(react) improve Select actions ui
The button were too big compared to the sketches. So we re-adjust their
sizes and positions.
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