package wtypes

// IHxTarget -- атрибут цели HTMX (hx-target)
//
// Атрибут hx-target позволяет выбрать для замены другой элемент, отличный от того,
// к которому был отправлен AJAX-запрос. Значение этого атрибута может быть:
//
//	Селектор CSS-запроса целевого элемента.
//
// this что указывает на то, что элемент, на котором находится атрибут hx-target,
// является целевым.
//
// closest <CSS selector> который найдёт ближайший элемент-предок или сам элемент,
// соответствующий заданному селектору CSS (например, closest tr выберет ближайшую
// к элементу строку таблицы).
//
// find <CSS selector> который найдёт первый дочерний элемент, соответствующий
// заданному селектору CSS.
//
// next который преобразуется в element.nextElementSibling
//
// next <CSS selector> который будет сканировать DOM в направлении вперёд в поисках
// первого элемента, соответствующего заданному селектору CSS. (например,
// next .error будет нацелен на ближайший следующий элемент с классом error)
//
// previous который преобразуется в element.previousElementSibling
//
// previous <CSS selector> который будет сканировать DOM в обратном направлении в
// поисках первого элемента, соответствующего заданному селектору CSS. (например,
// previous .error будет нацелен на ближайшего предыдущего брата с классом error)
//
//	Примеры
//
// hx-target="#response-div"
//
// В этом примере используется hx-target="this" для создания ссылки,
// которая обновляется сама по себе при нажатии:
//
// <a hx-post="/new-link" hx-target="this" hx-swap="outerHTML">New link</a>
type IHxTarget interface {
	// Set -- устанавливает цель атрибута
	Set(string)
	// Get -- возвращает цель атрибута
	Get() string
	// String -- возвращает строковое значение тэга
	String() string
}
