import { HTML, innerText } from "@interactors/html";
import { isHTMLElement } from "./helpers";
const SnackbarInteractor = HTML.extend("MUISnackbar")
.selector('[class*="MuiSnackbar-root"]')
.locator((element) => {
let messageElement = element.querySelector('[class*="MuiSnackbarContent-message"]');
return isHTMLElement(messageElement) ? innerText(messageElement) : "";
});
/**
* Call this {@link InteractorConstructor} to initialize a snackbar {@link Interactor}.
* The snackbar interactor can be used to assert on snackbars state.
*
* The snackbar is located by the visible text of content message.
*
* ### Example
*
* ``` typescript
* await Snackbar('I love snacks').exists();
* ```
*
* ### Filters
*
* - `id`: *string* – Filter by id
* - `visible`: *boolean* – Filter by visibility. Defaults to `true`. See {@link isVisible}.
*
* @category Interactor
*/
export const Snackbar = SnackbarInteractor;