```python
"""Lay a notice's text into placard lines."""

def placard_lines(text: str, width: int) -> list:
    if not isinstance(text, str) or not text:
        raise ValueError("Text must be a non-empty string.")
    if not isinstance(width, int) or width <= 0:
        raise ValueError("Width must be a positive integer.")
    if text.startswith(" ") or text.endswith(" ") or "  " in text:
        raise ValueError("Text cannot have leading, trailing spaces, or consecutive spaces.")
    if any(len(word) > width for word in text.split()):
        raise ValueError("No word can be wider than the placard.")

    lines = []
    line = ""
    for word in text.split():
        if line == "":
            line = word
        elif len(line) + 1 + len(word) <= width:
            line += " " + word
        else:
            lines.append(line)
            line = word
    lines.append(line)
    return lines
```