BMC IO DocsBMC IO Docs
IO v6
IO v7
Notes
Docs
IO v6
IO v7
Notes
Docs
  • IO Framework v7

    • О фреймворке
    • Что изменилось в 7 версии
    • Структура
    • Доступ к участкам проекта
    • Разворачивание нового проекта
  • Backend

    • Настройки проекта Conf.php
    • Настройки модуля Module.php
    • Настройки composer
    • Функции фреймворка
    • Глобальные переменные
    • Константы фреймворка
    • Event класс
    • Core класс
    • Route и работа с ними
    • Request и работа с ними
    • Middleware и работа с ними
    • Class и работа с ними
    • Api model и работа с ними
    • Template и работа с ними
    • Мультиязычность и словарь фраз
    • Bin скрипты и работа с ними
    • Cron скрипты и работа с ними
    • $ioSession и работа с сессией
    • $ioHash и работа с кешем
    • $ioXCache и работа с кешем
    • $iodb и работа с базой данных
  • Frontend

    • Twig шаблонизатор и работа с ним
    • Twig функции
    • Twig фильтры
    • Twig контекст
    • Настройка NPM
    • Сборка Frontend составляющей
    • Обращение к Api через JS
    • Хранилище (store)
    • Навигация в хосте
    • Навигация в микрофронтенде
    • Параметры микрофронтенда
    • Проверка полномочий
  • Tailux UI Компоненты

    • Базовый UI

      • AvatarDot
      • Avatar
      • Badge
      • Button
      • Card
      • ConfirmModal
      • Divider
      • Highlight
      • Tag
    • Загрузка

      • Circlebar
      • Progress
      • Skeleton
      • Spinner
    • Навигация

      • Accordion
      • AccordionButton
      • AccordionHeader
      • AccordionItem
      • AccordionPanel
      • AccordionProvider
      • Pagination
      • PaginationControl
      • PaginationItems
      • PaginationDots
      • PaginationFirst
      • PaginationLast
      • PaginationNext
      • PaginationPrevious
    • Отображение данных

      • Box
      • Collapse
      • ContextualHelp
      • ScrollShadow
      • Timeline
      • TimelineItem
    • Элементы таблиц

      • Table
      • CollapsibleSearch
      • ColumnFilter
      • CopyableCell
      • DateFilter
      • FacetedFilter
      • FilterSelector
      • PaginationSection
      • RadioFilter
      • RangeFilter
      • ResponsiveFilter
      • RoleFilter
      • SelectedRowsActions
      • TableColumnVisibility
      • TableSettings
      • TableSortIcon
    • Элементы форм

      • Checkbox
      • Combobox
      • DatePicker
      • Filepond
      • Input
      • Listbox
      • Radio
      • Range
      • Select
      • StyledSwitch
      • Swap
      • SwapOn
      • SwapOff
      • Switch
      • Textarea
      • TextEditor
      • Upload

ScrollShadow

Компонент ScrollShadow добавляет тени по краям прокручиваемой области, указывая на наличие скрытого контента. Тени автоматически появляются и исчезают в зависимости от положения прокрутки.

Обзор

  • Основное назначение: визуальная индикация возможности прокрутки контента.
  • Ключевые возможности:
    • Поддержка вертикальной, горизонтальной и обеих ориентаций одновременно.
    • Автоматическое определение переполнения через ResizeObserver и события scroll.
    • Настройка размера тени (size) и смещения активации (offset).
    • Отключение через isEnabled.
    • Оптимизация производительности через debounce (100 мс).
    • Публичный метод recalculate() для принудительного пересчёта.

API компонента

Props

ПропТипПо умолчаниюОписание
orientationString'vertical'Ориентация прокрутки. Возможные значения: 'vertical', 'horizontal', 'both'.
sizeNumber10Размер тени. Конвертируется в rem по формуле size / 4.
offsetNumber0Смещение в пикселях до активации тени. Тень появляется, когда прокрутка превышает это значение.
isEnabledBooleantrueВключает отображение теней. При false все data-атрибуты удаляются.
componentString | Object'div'Позволяет заменить корневой HTML-тег или передать компонент.

Методы

МетодОписание
recalculate()Принудительно пересчитывает переполнение и обновляет тени. Полезно при динамическом изменении контента.

Data-атрибуты

Компонент устанавливает следующие data-атрибуты на корневой элемент:

АтрибутЗначениеУсловие
data-top-scroll'true'Есть контент выше видимой области.
data-bottom-scroll'true'Есть контент ниже видимой области.
data-top-bottom-scroll'true'Есть контент и выше, и ниже видимой области.
data-left-scroll'true'Есть контент левее видимой области.
data-right-scroll'true'Есть контент правее видимой области.
data-left-right-scroll'true'Есть контент и левее, и правее видимой области.

Тени отображаются через CSS-псевдоэлементы ::before и ::after на основе этих атрибутов.

CSS-переменные

ПеременнаяОписание
--scroll-shadow-sizeРазмер тени в rem.
--scroll-shadow-colorЦвет тени. По умолчанию: hsl(0 0% 0% / 0.06).
Prev
ContextualHelp
Next
Timeline