Introduce ComponentState (#4386)

* Proof of concept ComponentState

* Migrate to createState and createFamilyState

* Refactor

* Fix

* Fix tests

* Fix lint

* Fix tests

* Re-enable coverage
This commit is contained in:
Charles Bochet
2024-03-09 11:31:00 +01:00
committed by GitHub
parent 17511be0cf
commit 86c0f311f5
451 changed files with 1718 additions and 2557 deletions

View File

@ -11,7 +11,7 @@ const renderHooks = (initialStep: number) => {
const { nextStep, prevStep, reset, setStep } = useStepBar({
initialStep,
});
const stepBarInternal = useRecoilValue(stepBarInternalState);
const stepBarInternal = useRecoilValue(stepBarInternalState());
return {
nextStep,

View File

@ -8,8 +8,9 @@ export type StepsOptions = {
};
export const useStepBar = ({ initialStep }: StepsOptions) => {
const [stepBarInternal, setStepBarInternal] =
useRecoilState(stepBarInternalState);
const [stepBarInternal, setStepBarInternal] = useRecoilState(
stepBarInternalState(),
);
const nextStep = () => {
setStepBarInternal((prevState) => ({

View File

@ -1,12 +1,12 @@
import { atom } from 'recoil';
import { createState } from '@/ui/utilities/state/utils/createState';
export type StepsState = {
activeStep: number;
};
export const stepBarInternalState = atom<StepsState>({
export const stepBarInternalState = createState<StepsState>({
key: 'step-bar/internal-state',
default: {
defaultValue: {
activeStep: -1,
},
});