'use client';


import { IntlayerClientContext } from "../IntlayerProvider.mjs";
import { list } from "../../@intlayer/core/dist/esm/formatters/list.mjs";
import { useCallback, useContext } from "react";

//#region ../react-intlayer/dist/esm/client/format/useList.mjs
/**
* React client hook that provides a list formatter
* bound to the current application locale.
*
* @returns {(values: (string | number)[], options?: ListProps) => string}
* A function to format arrays into localized list strings.
*
* @example
* ```tsx
* const formatList = useList();
*
* formatList(['apple', 'banana', 'orange']);
* // "apple, banana, and orange"
*
* formatList(['red', 'green', 'blue'], { type: 'disjunction' });
* // "red, green, or blue"
*
* formatList([1, 2, 3], { type: 'unit', locale: 'de-DE' });
* // "1, 2 und 3"
* ```
*/
const useList = () => {
	const { locale } = useContext(IntlayerClientContext);
	return useCallback((...args) => list(args[0], {
		...args[1],
		locale: args[1]?.locale ?? locale
	}), [locale]);
};

//#endregion
export { useList };
//# sourceMappingURL=useList.mjs.map