Legacy ADMY Drawer
Панель закреплена справа: 300px шириной, top 80px, right 10px и высотой calc(100% - 90px). При первом mount на ширине до 960px исходник закрывает панель. Последующее изменение ширины само по себе её не закрывает. Apply и Reset сначала сообщают действие, затем закрывают панель; крестик только закрывает. Escape в исходнике не обрабатывается. Прямой Svelte API принимает исходный объект {value}; замена самого объекта после mount не заменяет исходное состояние. Экранная проекция использует boolean. Вложенные поля и кнопки сохраняют исходные переопределения Drawer; веса внешних device-селекторов сохранены.
Статус: experimental · в системе с 2026-09 · интерактивность: conditional (по конфигурации)
Когда использовать
- Перенос существующего экрана с Drawer.
Не использовать:
- Новый дизайн без требования сохранять legacy.
Исходная композиция
Живой пример с исходными правилами.
<!--
/**
* 🟢
*
* Демонстрация Drawer использует исходные компоненты и механику.
* Новые стили для имитации legacy в примере не добавляются.
*/
-->
<script>
import Component from '$lib/ui/LegacyAdmyDrawer.svelte';
import {t} from '$lib/spec/demo-lang.svelte.js';
import Btn from '$lib/ui/LegacyAdmyBtn.svelte';
let modelValue=$state(false);
</script>
<Btn onclick={()=>modelValue=true}>{t('Фильтры')}</Btn><Component bind:modelValue><div>{t('Содержимое')}</div></Component>