Commit Graph

109 Commits

Author SHA1 Message Date
Nathan Vasse
6236729ae8 💄(tokens) titles QA feedbacks
QA-based updates to the title classes, the letter-spacing was not
taken into account previously.
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
Nathan Vasse
37de4b3d70 🔖(release) version packages
Bump @openfun/cunningham-react to 1.0.2
2023-09-07 09:59:52 +02:00
Nathan Vasse
b530e966ae (react) add textItems to Field
This allow to add bullet points lists below inputs, the best example
is when we want to list multiple errors from form validation.

Fixes #147
2023-09-05 11:48:04 +02:00
Nathan Vasse
468c8161eb 📝(react) add RHF examples
Rework a bit the recent work made on RHF example to make some component
more generic, such as RhfSelect and RhfDatepicker, which is based on a
design using RHF context hooks to provide a seamless integration.

Fixes #144
2023-09-05 11:15:51 +02:00
Nathan Vasse
a88aa1a23d 🐛(react) fix isActive console warning
Previously when interacting with a select, the list items
were triggering a warning.
2023-09-05 11:15:51 +02:00
Nathan Vasse
0683047763 🔖(release) version packages
Bump @openfun/cunningham-react to 1.0.1
2023-08-29 16:49:06 +02:00
Nathan Vasse
66c25bcdbd 🏷️(react) export more types
Based on recent developers feedbacks that needed to use props types
in order to wrap the lib's component they were stuck because we were
not exporting all of them.

Fixes #143
2023-08-29 16:26:40 +02:00
jbpenrath
90faa82245 🔖(react) major bump to v1.0.0
Major Changes

- The first bunch of components and features are ready,
  the first milestone has been reached

Minor Changes

- 9edb976: Position Datepicker popover on top or bottom depending space
available

Patch Changes

- fd7ad8a: Do not apply font-family to all elements with `*` selector
2023-08-21 17:58:14 +02:00
Anthony Le Courric
9edb9765db (react) position top datepicker
Position the datepicker on top of the input when the input is
at the bottom of the screen and whenthere is enough space to display
the datepicker on the top.
2023-08-21 12:32:14 +02:00
jbpenrath
fd7ad8a2f2 💄(react) do not apply font-family to all elements with * selector
Currently, `react` package use `*` selector to enforce the font family
to all elements. That is weird as all elements are not able anymore to
inherit their font-family from their parent. In order to enforce the use
 of font-family base by default without breaking the parent inheritance,
  we apply font-family to the body element instead.

Fix #137
2023-08-11 17:10:57 +02:00
jbpenrath
fed31ddbb9 🔖(react) fix release 0.11.1
Patch Changes
- 7de28bc: Fix bug on sass token generation
2023-08-11 09:16:26 +02:00
jbpenrath
e3ee7ac065 🔖(tokens) fix release 0.7.1
Patch Changes
- 7de28bc: Fix bug on sass token generation
2023-08-11 09:16:26 +02:00
Romain Le Cellier
4eae45c4d9 🐛(react) fix RadioGroup optional prop
since 5dde74c10d RadioGroup style was a
mandatory property.
It should be optional.
2023-08-10 18:37:15 +02:00
Romain Le Cellier
3e1cdbe9d6 🚑️(react) fix unexisting import
Since b72d0d5c90 InputRefType doesn't
exist.
We missed some usage of it that are removed in this fix.
2023-08-10 18:37:15 +02:00
Romain Le Cellier
7de28bcf9b 🐛(tokens) fix generators
When customized tokens have multiple entries like theme and components,
each variable definition needs to end with a ;.
2023-08-10 15:30:32 +02:00
Romain Le Cellier
53bccd111b 🔖(release) version packages
Bump @openfun/cunningham-react to 0.11.0
2023-08-07 17:35:47 +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
cd42afb10e (react) add a timezone props on date picker components
By default, component's timezone is the user locale timezone.
Component now offers a way to set its timezone to any supported
Intl timezone format. Please note that output values from the
component will always be converted to a UTC timezone.
2023-08-02 19:02:22 +02:00
Lebaud Antoine
0dc46d1144 (react) restrict inputs formats in date picker components
Enforces a standardized approach for end consumers using the
component's API. Consumers are now required to provide a date as an
ISO string in either UTC or with a UTC offset. The support for native
Date objects has been removed to ensure consistent and reliable
behavior across all implementations. By adopting this uniform input
format, we can simplify usage and avoid potential inconsistencies in
date handling.
2023-08-02 19:02:22 +02:00
Lebaud Antoine
8cf8e1eba2 🩹(react) harmonize date picker components output
By introducing this utility function, we ensure that any output value
is converted back to an ISO 8601 date and time string in UTC timezone.
Overall, it harmonize and factorize the way we output
values from date picker components.
2023-08-02 19:02:22 +02:00
Lebaud Antoine
bae7392fe1 (react) strip "Today, " from selected date range literal
DateRangePicker aria-labels mention when a selected date range
contains today's date, which breaks the tests  while ran on the
first day of the month. Avoid these tests to be flaky.
2023-08-02 16:22:40 +02:00
Nathan Vasse
26304791ae 🔖(release) version packages
Bump @openfun/cunningham-tokens to 0.7.0
2023-07-18 17:22:37 +02:00
Nathan Vasse
cfd0f7e9d8 ♻️(tokens) handle custom tokens in SassGenerator
Previously the generator was only handling hard-defined design tokens
preventing to make custom tokens to appear in the scss generated file.
This new way of generating the file handles custom tokens in a more
generic way.
2023-07-18 14:36:09 +02:00
Nathan Vasse
d4e98d17e9 🔖(release) version packages
Bump @openfun/cunningham-react to 0.10.0
2023-07-17 11:29:01 +02:00
Lebaud Antoine
2cd8c6e843 🐛(react) make DatePicker's tests no longer depend on the user's locale
Refactor tests to enhance simplicity and clarity by introducing
expected string values. This improvement is particularly relevant
for focused months and focused year scenarios. Consequently, the
tests no longer depend on the user's locale.
2023-07-13 14:22:43 +02:00
Lebaud Antoine
c35cc603a7 🐛(react) resolve development warning in CalendarAux component
Resolve development warning in `CalendarAux` component caused
by recent updates to react-aria dependencies. Update props for next
and previous calendar buttons, removing `onFocusChange` before
passing to the Button component.
2023-07-13 14:11:18 +02:00
Anthony LC
e4c1df5b0b 🐛(react) fix datagrid column unique key
If we had more than 1 columns with custom cells, we would get a warning
about duplicate keys, because every columns got the key `actions`.
We add the column index to the key to make it unique.
2023-07-12 16:06:09 +02:00
Lebaud Antoine
5c61413949 📝(react) illustrate international calendars of DatePicker component
Show international capabilities of the `DatePicker` component using the
`locale` props and the Cunningham provider. Dates would
be automatically displayed in the appropriate calendar system.
2023-07-12 00:47:52 +02:00
Lebaud Antoine
114d0b5f2e ♻️(react) refactor DatePicker component
Refactor the original DatePicker component to utilize the newly created shared
common DatePickerAux component. This modification enhances code consistency,
and promotes the reuse of the DatePickerAux across date inputs variants.
2023-07-10 22:05:33 +02:00
Lebaud Antoine
0d6b98ee1f (react) introduce DateRangePicker component
Introduce a flexible and reusable DateRangePicker component to facilitate the
selection of date ranges in the design system.
2023-07-10 22:05:33 +02:00
Lebaud Antoine
0775490a60 (react) introduce a reusable common DatePicker component
For both mono date and range date selection, create a versatile
DatePickerAux component that shares common logics, between both
selection mode.
2023-07-10 22:05:33 +02:00
Nathan Vasse
0378b3fa0c 🔖(release) version packages
Bump cunningham-demo to 0.1.0
Bump @openfun/cunningham-react to 0.9.0
Bump @openfun/cunningham-tokens to 0.6.0
2023-07-07 15:28:01 +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
f36cc07f1b (tokens) add token references
Previously we were not fully using CSS variables as values used in
CSS were hard-coded one. It wasn't keeping the variable references.
This was causing issues when customizing the theme, because editing
colors was not enough, it was needed to customize also the tokens
using these variables. Now by introducing ref() we can delegate how
to deal with these directly to the generators themselves.
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
Lebaud Antoine
2a5533962d 💄(demo) update default cunningham tokens
Update default demo app design tokens to
avoid unnecessary changes unrelated to branch work.
2023-06-27 11:03:57 +02:00
Nathan Vasse
16463c6c83 🔖(release) version packages
Bump @openfun/cunningham-react to 0.8.2
Bump @openfun/cunningham-tokens to 0.5.0
2023-06-23 14:52:12 +02:00
Lebaud Antoine
c160359045 🐛(react) export DatePicker components
Date picker elements were not exported in the global `index.ts`
2023-06-23 12:50:54 +02:00
Nathan Vasse
d618a1805e 🔖(release) version packages
Bump @openfun/cunningham-react to 0.8.1
2023-06-19 17:59:05 +02:00
Nathan Vasse
501ba1a031 🐛(react) fix DatePicker alignments
Due to the previous changes of LabelledBox that allows it to fit dynamic
height containers, we forgot to update the DatePicker resulting in a broken
CSS alignment.
2023-06-19 17:21:29 +02:00
Nathan Vasse
760ffb48e9 🔖(release) version packages
Bump @openfun/cunningham-react to 0.8.0
2023-06-19 15:20:49 +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
76ad5621c6 🐛(react) fix calendar selects initialization and syncing
Select under the calendar component were not properly initialized,
leading to issues. Additionally, syncing the dropdowns with the calendar
state was causing unnecessary renders. Selects now update on user events
triggered by the toggle button, ensuring the selected item remains
up-to-date. The code has been refactored to eliminate duplication
and improve the component's readability and maintainability.
2023-06-16 17:13:35 +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
1d1cf81cf6 (react) add a popover component
A design system needs a popover mecanism.
In the select component, this logic is handled by downshift.
We introduce a new component, responsible to open an element in
a popin and close it when the user click outside of it.
2023-06-12 18:57:20 +02:00
Lebaud Antoine
6f05995f24 🎨(react) make eof stylesheets consistent
Some older tools misbehave if the last line of data
in a text file is not terminated with a newline.
It makes sure the last line was properly terminated.
2023-06-12 17:08:01 +02:00
Nathan Vasse
787bd3de75 🏷️(react) allow autocompletion for DataGrid's renderCell
Previously the type of the row parameter of renderCell was hardcoded as
Row. This wasn't ideal because the best case scenario we want it to enable
Typescript to use the type of rows props. Now that's the case.

Resolve #62
2023-06-06 17:10:33 +02:00
Nathan Vasse
9127fd803c 🐛(react) support nested field in DataGrid
It was previously needed to use renderCell to be able to use nested
fields, which was not handy.

Resolve #62
2023-06-06 17:10:33 +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