/**
 * Copyright IBM Corp. 2020, 2026
 *
 * This source code is licensed under the Apache-2.0 license found in the
 * LICENSE file in the root directory of this source tree.
 */

const require_runtime = require('../../_virtual/_rolldown/runtime.js');
const require_checkForOverflow = require('../../global/js/utils/checkForOverflow.js');
let react = require("react");

//#region src/components/TruncatedText/useTruncatedText.ts
/**
* Copyright IBM Corp. 2025
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
function useTruncatedText({ lines, value, expanded }) {
	const [truncated, setTruncated] = (0, react.useState)(false);
	const ref = (0, react.useRef)(null);
	(0, react.useEffect)(() => {
		const resizeObserver = new ResizeObserver(() => {
			if (!expanded) {
				const result = require_checkForOverflow.checkHeightOverflow(ref.current);
				if (result !== truncated) setTruncated(result);
			}
		});
		if (ref.current) resizeObserver.observe(ref.current);
		return () => {
			resizeObserver.disconnect();
		};
	}, [
		expanded,
		lines,
		value,
		truncated
	]);
	return {
		ref,
		truncated
	};
}

//#endregion
exports.default = useTruncatedText;