Skip to content

Commit 6b7871f

Browse files
committed
chore(form): removed deprecated implementation in useIndeterminateChecked
BREAKING CHANGE: The second argument for `useIndeterminateChecked` is now an object of options
1 parent f5b652c commit 6b7871f

3 files changed

Lines changed: 11 additions & 32 deletions

File tree

packages/documentation/src/components/Demos/Form/SelectionControls/IndeterminateCheckboxes.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ export default function IndeterminateCheckboxes(): ReactElement {
99
rootProps,
1010
// checkedValues,
1111
// setCheckedValues,
12-
} = useIndeterminateChecked(condiments, ["Sprouts"]);
12+
} = useIndeterminateChecked(condiments, {
13+
defaultCheckedValues: ["Sprouts"],
14+
});
1315

1416
return (
1517
<Fieldset legend="Sandwich Condiments" unstyled={false}>

packages/form/src/__tests__/useIndeterminateChecked.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -178,11 +178,10 @@ describe("useIndeterminateChecked", () => {
178178
const onChange = jest.fn();
179179
const defaultCheckedValues = ["b"] as const;
180180
function Test() {
181-
const { rootProps, getProps } = useIndeterminateChecked(
182-
values,
181+
const { rootProps, getProps } = useIndeterminateChecked(values, {
182+
onChange,
183183
defaultCheckedValues,
184-
onChange
185-
);
184+
});
186185
return (
187186
<>
188187
<Checkbox id="checkbox-1" label="Toggle All" {...rootProps} />

packages/form/src/useIndeterminateChecked.ts

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -191,15 +191,6 @@ export interface CombinedIndeterminateCheckedHookReturnValue<V extends string>
191191
getProps(value: V): ProvidedCombinedIndeterminateControlledProps<V>;
192192
}
193193

194-
/**
195-
* @deprecated \@since 2.8.5 Use the implementation that accepts options as the
196-
* second argument.
197-
*/
198-
export function useIndeterminateChecked<V extends string>(
199-
values: readonly V[],
200-
defaultCheckedValues: Initializer<V>,
201-
onChange?: OnChange<V>
202-
): OnChangeReturnValue<V>;
203194
export function useIndeterminateChecked<V extends string>(
204195
values: readonly V[],
205196
options?: IndeterminateCheckedHookOptions<V> & { menu?: false }
@@ -339,25 +330,12 @@ export function useIndeterminateChecked<V extends string>(
339330
*/
340331
export function useIndeterminateChecked<V extends string>(
341332
values: readonly V[],
342-
defaultOrOptions?: IndeterminateCheckedHookOptions<V> | Initializer<V>,
343-
optionalOnChange?: OnChange<V>
333+
{
334+
menu = false,
335+
onChange: propOnChange,
336+
defaultCheckedValues = [],
337+
}: IndeterminateCheckedHookOptions<V> = {}
344338
): CombinedIndeterminateCheckedHookReturnValue<V> {
345-
let menu = false;
346-
let propOnChange: OnChange<V> | undefined = optionalOnChange;
347-
let defaultCheckedValues: Initializer<V>;
348-
if (
349-
typeof defaultOrOptions === "undefined" ||
350-
!("length" in defaultOrOptions)
351-
) {
352-
({
353-
menu = false,
354-
onChange: propOnChange,
355-
defaultCheckedValues = [],
356-
} = defaultOrOptions ?? {});
357-
} else {
358-
defaultCheckedValues = defaultOrOptions;
359-
}
360-
361339
const [checkedValues, setCheckedValues] =
362340
useState<readonly V[]>(defaultCheckedValues);
363341
const checked = checkedValues.length > 0;

0 commit comments

Comments
 (0)