import type { Rule } from 'eslint'; /** * UIG-23: an empty state drawn by hand, or the right part at the wrong scope. * * **A line drawn by hand.** A plain box whose only content is a short line * saying there is nothing ("No tickets yet.") where a list's rows would be: one * side of a condition whose other side maps the list, or under a condition that * asks if something is empty. Both halves are needed. The words alone fire on a * hint and a status note (UIG-1 measured it); the place alone fires on any * line a list shows beside itself. * * **The wrong scope.** A `page`-scope `EmptyState` centres in the room a flex * column gives it. Inside a `ScrollArea` the content box is only as tall as * what is in it, so the state sits at the top of its pane. The rule looks at * the `ScrollArea`'s content and at every component of the app's own placed in * it, following them into their files, because that is how four of them * arrived on Folders in one merge (peek `7f22e5e`): the state was drawn in one * file and scrolled in another. A `contentClassName` with `min-h-full` or * `h-full` gives the state its room, and passes. * * **A box that places it** (UIG-42). A plain box holding only a page-scope * `EmptyState` and centring or padding it does the part's own job, and a box * like that pinned the starter's home page 64px from the top (UIG-10). A box * that is only the flex column the state asks for passes, and so does any box * round a `section` state, which takes its inset from the box (Katerina, 14 * September). * * Not judged: the package's `EmptyState` and a part's own lines (a * `FieldLine`, a palette's empty row) — a part is already a part. */ export declare const noHandmadeEmptyState: Rule.RuleModule; //# sourceMappingURL=no-handmade-empty-state.d.ts.map