```
@@ -120,19 +120,19 @@ Alpine.start();
## Сортировка групп
-Этот плагин позволяет перетаскивать элементы из одного сортируемого списка `x-sort` в другой, добавляя соответствующий модификатор `.group` в оба списка:
+Этот плагин позволяет перетаскивать элементы из одного сортируемого списка `x-sort` в другой, добавляя соответствующее значение `x-sort:group` в оба списка:
```html live "x-sort.group"
```
@@ -140,23 +140,23 @@ Alpine.start();
Поскольку оба приведённых выше сортируемых списка используют одно и то же имя группы (`todos`), можно перетаскивать элементы из одного списка в другой.
:::note
-При использовании обработчиков сортировки типа `x-sort="handle"` и перетаскивании элемента из одной группы в другую будет вызван только обработчик списков назначения с ключом и новой позицией.
+При использовании обработчиков сортировки типа `x-sort="handle"` и перетаскивании элемента из одной группы в другую будет вызван только обработчик списка назначения с ключом и новой позицией.
:::
## Держатели для перетаскивания
-По умолчанию каждый дочерний элемент `x-sort` можно перетаскивать, щёлкая и перетаскивая в любом месте внутри него. Однако вы можете назначить более мелкий и конкретный элемент в качестве «держателя для перетаскивания», чтобы с остальными элементами можно было взаимодействовать как обычно, а на перетаскивание мыши реагировал только держатель:
+По умолчанию каждый дочерний элемент `x-sort:item` можно перетаскивать, щёлкая и перетаскивая в любом месте внутри него. Однако вы можете назначить более мелкий и конкретный элемент в качестве «держателя для перетаскивания», чтобы с остальными элементами можно было взаимодействовать как обычно, а на перетаскивание мыши реагировал только держатель:
```html live "x-sort:handle"
- -
+
-
🦊 лиса
- -
+
-
🐺 волк
- -
+
-
🐻 медведь
@@ -176,9 +176,9 @@ Alpine.start();
```html live "x-sort.ghost"
- - бурундук
- - капибара
- - муравьед
+ - бурундук
+ - капибара
+ - муравьед
```
@@ -199,9 +199,86 @@ Alpine.start();
- - гиена
- - шакал
- - койот
+ - гиена
+ - шакал
+ - койот
+
+
+```
+
+## Класс `sorting` на элементе `body`
+
+Пока элемент перетаскивается, Alpine автоматически добавит класс `.sorting` к элементу `` страницы.
+
+Это полезно для стилизации любого элемента на странице условно, используя только CSS.
+
+Например, вы можете иметь предупреждение, которое отображается только во время сортировки элементов пользователем:
+
+```html
+
+ Функциональность страницы при сортировке ограничена
+
+```
+
+Чтобы показать это только при сортировке, используйте CSS-селектор `body.sorting`:
+
+```css "body.sorting"
+#sort-warning {
+ display: none;
+}
+
+body.sorting #sort-warning {
+ display: block;
+}
+```
+
+## Баг с CSS-свойством `hover`
+
+В настоящее время существует [баг в Chrome и Safari](https://issues.chromium.org/issues/41129937) (не в Firefox), который вызывает проблемы с наведением стилей.
+
+Рассмотрим HTML, где каждый элемент списка оформляется по-разному в зависимости от состояния наведения (здесь мы используем класс `.hover` от Tailwind для условного добавления рамки):
+
+```html
+
+
страус
+
курица
+
павлин
+
+```
+
+Если вы перетащите один из элементов в списке ниже, то увидите, что эффект наведения будет ошибочно применен к любому элементу на месте исходного:
+
+```html live
+
+
+ - страус
+ - курица
+ - павлин
+
+
+```
+
+Чтобы исправить это, используйте класс `.sorting`, применяемый к `body` при сортировке, чтобы ограничить эффект `hover`, который будет применяться только тогда, когда у `body` не будет класса `.sorting`.
+
+Вот как вы можете сделать это прямо в строке, используя произвольные варианты Tailwind:
+
+
+```html
+
+
страус
+
курица
+
павлин
+
+```
+
+Теперь вы можете видеть, что эффект наведения применяется только к перетаскиваемому элементу, а не к остальным в списке.
+
+```html live
+
```
@@ -213,13 +290,27 @@ Alpine выбирает разумные настройки по умолчан
```html live "x-sort:config"
- - суррикат
- - норка (не перетаскивается)
- - белка
+ - суррикат
+ - норка (не перетаскивается)
+ - белка
```
+```html live "animation: 0"
+
+
+ - суррикат
+ - норка
+ - белка
+
+
+```
+
+:::note
+Любые переданные параметры конфигурации будут перезаписывать дефолтные значения Alpine. В случае с `animation` это нормально, однако помните, что перезапись `handle`, `group`, `filter`, `onSort`, `onStart` или `onEnd` может нарушить функциональность.
+:::
+
import { LinkCard } from '@astrojs/starlight/components';