aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/organisms/toolbar
Commit message (Collapse)AuthorAgeFilesLines
* refactor(components): replace Toolbar with Navbar componentArmand Philippot2023-11-1118-996/+0
| | | | | | | | * remove SearchModal and SettingsModal components * add a generic NavbarItem component (instead of the previous toolbar items to avoid unreadable styles...) * move FlippingLabel component logic into NavbarItem since it is only used here
* refactor(hooks): replace useInputAutofocus with useAutofocus hookArmand Philippot2023-11-111-7/+4
| | | | | | * extract setTimeout logic using useTimeout * change condition to be a function * return a ref
* refactor(components): rewrite Modal componentArmand Philippot2023-11-114-10/+25
| | | | | * add an optional close button * add an icon prop
* refactor(components): extract SettingsForm component form SettingsModalArmand Philippot2023-11-111-1/+1
| | | | | | We could use an array of items and map over it instead of repeating the Switch component for each settings but with translations, it becomes quickly unreadable. So I prefer to keep separate components.
* feat(hooks): add useBoolean and useToggle hooksArmand Philippot2023-11-114-49/+36
|
* refactor(hooks,provider): move reduce motion setterArmand Philippot2023-11-116-63/+16
| | | | | | | | | | Since the local storage key is not meant to change between the components, it should be set directly inside the app file. So both the local storage and the data attribute should be handle in a provider. I also added a custom document because we need a script to retrieve the stored value in local storage earlier to avoid flashing on hydration.
* refactor(hooks,providers): rewrite useAckee hook and AckeeProviderArmand Philippot2023-11-116-60/+22
|
* refactor(components): extract MainNav component from toolbarArmand Philippot2023-11-115-81/+75
|
* refactor(components): rewrite NavList componentArmand Philippot2023-11-112-20/+32
| | | | | | | * extract NavItem from NavList * remove `kind` and `listClassName` props (since the consumer has control over NavList, NavItem and NavLink components these props are obsolete)
* feat(components): add a generic Flip componentArmand Philippot2023-11-112-8/+6
| | | | | | The flipping animation is used at several places so it makes sense to use a single component to handle the animation. It will avoid styles duplication.
* feat(components): replace icons with a generic Icon componentArmand Philippot2023-10-243-17/+8
| | | | | Sizes are also predefined and can be set using the `size` prop, so the consumers should no longer adjust the size in CSS.
* feat(components): add Article, Aside, Footer, Header, Main & NavArmand Philippot2023-10-241-4/+4
| | | | | Some components have been renamed to be able to create Footer, Header and Nav.
* build: convert project to esmArmand Philippot2023-10-244-0/+4
|
* refactor(components): rewrite form componentsArmand Philippot2023-10-247-21/+17
|
* refactor: use named export for everything except pagesArmand Philippot2023-09-2013-57/+58
| | | | | | Next expect a default export for pages so only those components should use default exports. Everything else should use named exports to reduce the number of import statements.
* refactor(build): replace paths aliases with relative pathsArmand Philippot2023-09-1912-37/+31
| | | | | | Using paths aliases starting with "@" can be confusing and can lead to conflict with existings modules. I prefer to use relative paths to avoid extra configuration in tools because of these aliases.
* chore(toolbar): add missing animation on medium and large devicesArmand Philippot2022-06-091-0/+4
|
* fix(media-queries): use pixel based media queriesArmand Philippot2022-06-091-1/+4
| | | | | | | | Everything was working fine with Firefox but it seems Chromium still has issues with `em` unit in media queries. The toolbar modals (search, settings and also main nav) was not displaying correctly on small devices. Some styles was missing. By switching to pixels based media queries, the bug seems fixed.
* fix(settings): avoid cropped tooltip on small devicesArmand Philippot2022-06-093-71/+27
| | | | | | I changed the settings disposition to make tooltip positioning easier. Jest complains about ref passed but everything seems to work as expected so I'm not sure it is relevant. Maybe a bug with cloneElement.
* fix(settings): close tooltip when modal is closingArmand Philippot2022-06-081-10/+11
| | | | | The event was not captured so the tooltip remained open when the settings was closed. It prevented to click on the toolbar buttons.
* chore: add aria hidden attribute to SVG iconsArmand Philippot2022-06-072-2/+2
|
* test: install and configure cypressArmand Philippot2022-06-024-4/+4
| | | | I also configure Jest to avoid conflicts between Cypress and Jest.
* chore: replace the toggle componentArmand Philippot2022-06-011-1/+1
|
* chore: replace Checkbox component with a BooleanField componentArmand Philippot2022-05-317-27/+63
| | | | | Checkbox and radio buttons are working the same way so I decided to group them in a same component.
* chore: close search form when launching searchArmand Philippot2022-05-241-0/+2
|
* chore: give autofocus to the toolbar search formArmand Philippot2022-05-241-2/+11
|
* chore(toolbar): change icons to close button when activatedArmand Philippot2022-05-244-20/+24
|
* chore: complete Storybook storiesArmand Philippot2022-05-215-16/+30
|
* chore: handle settings changeArmand Philippot2022-05-187-25/+109
|
* chore: close toolbar modals on click/focus outsideArmand Philippot2022-05-187-43/+37
|
* chore: add branding animationArmand Philippot2022-05-182-1/+16
|
* chore: add Search pageArmand Philippot2022-05-156-23/+25
|
* chore: add a Layout componentArmand Philippot2022-04-222-1/+8
| | | | It defines the different components used by all other layouts.
* refactor(storybook): reorganize design systemArmand Philippot2022-04-204-39/+128
| | | | | Add more stories for each components and change some components categories for better organization.
* refactor: support React 18Armand Philippot2022-04-164-23/+29
| | | | | | | | I replaced the deprecated VFC type with FC type and made all children explicits. Formatjs is still not compatible with React 18 so I need to skip type checking when comitting. There are some type errors because of IntlProvider in Storybook stories.
* chore: add a Toolbar componentArmand Philippot2022-04-146-63/+241
|
* chore: add a Search componentArmand Philippot2022-04-144-0/+151
|
* chore: add a Settings componentArmand Philippot2022-04-144-0/+176
|
* chore: add a MainNav componentArmand Philippot2022-04-145-0/+361