function position() {
		const activeHint = $ul.get(".active");
		const { firstElementChild } = $ul;
		if (!activeHint && firstElementChild)
			firstElementChild.classList.add("active");
		const client = $input.getBoundingClientRect();
		const inputTop = client.top - 5;
		const inputBottom = client.bottom + 5;
		const inputLeft = client.left;
		const bottomHeight = window.innerHeight - inputBottom;
		const mid = window.innerHeight / 2;

		if (bottomHeight >= mid) {
			$ul.classList.remove("bottom");
			$ul.style.top = `${inputBottom}px`;
			$ul.style.bottom = "auto";
		} else {
			$ul.classList.add("bottom");
			$ul.style.top = "auto";
			$ul.style.bottom = `${inputTop}px`;
		}

		$ul.style.left = `${inputLeft}px`;
		$ul.style.width = `${client.width}px`;
	}
Update the position of the hint list
@param {boolean} append Append the list to the body or not