Кастомизация
Возможности кастомизации библиотеки surf-charts
Кастомизация
Библиотека surf-charts предоставляет возможность изменить любую часть чартов. Снизу приведён пример кастомизации компонента VerticalChart из библиотеки.
Данный блок нужен только для понимания общей концепции кастомизации, за полной информацией перейдите к странице конкретного чарта.
Подсказка
Стилизация компонентов surf-charts опирается на пропс styling и className у компонентов. Пропс className - это всегда внешняя обёртка компонента (wrapper).
Каждый компонент имеет styling пропс, являющийся объектом с полями, обозначающими различные элементы чарта, например, у VerticalChart это:
labelClass, beforeClass, tooltipClass, barClass, titleClass, valuesLineOuter, valuesLineInner, valuesLineLabels, gridWrapper и gridLine.
Таким образом вы имеете className и styling пропсы для стилизации компонента VerticalChart.
Так или иначе, все компоненты предоставляет широкие возможности для кастомизации, что позволяет легко адаптировать их под ваши нужды. Основные параметры и возможности кастомизации VerticalChart перечислены ниже.
Пропсы компонента
| Prop | Type | Default |
|---|---|---|
className | string | - |
colorScheme | light | dark | dark |
maxBars | NumericRange<3, 9> | 5 |
label | string | - |
tooltipPostfix | string | - |
noDataContent | ReactNode | No data provided |
noLabelContent | ReactNode | No label |
styling | DerivedBarStyling | - |
sort | 'asc' | 'desc | - |
data | DerivedBarChartData | - |
props | ComponentProps<'div'> | - |
Пример использования
Результат
- January
- February
- March
- April
- May
Стилизация
Пропс styling в компонентах surf-charts обеспечивает детальный контроль над внешним видом различных элементов чарта. Ниже описано, как вы можете использовать эти свойства для тонкой настройки визуального представления ваших чартов.
labelClass
Этот параметр управляет стилем текста заголовка в верхней части чарта. Вы можете применить любые классы TailwindCSS или пользовательские классы CSS, чтобы настроить размер, цвет, вес и другие свойства шрифта.
Пример
beforeClass
Это свойство позволяет применять стили к псевдоэлементу before столбиков на чарте. Это полезно для добавления декоративных эффектов, таких как фоновые цвета или градиенты, перед основным содержимым столбиков.
Не забудьте
Не забывайте писать классы TailwindCSS с before: для правильного применения стилей.
tooltipClass
Настраивает внешний вид всплывающих подсказок, которые появляются при наведении курсора на столбики. Это может включать форматирование текста, цвета фона, границы и многое другое.
barClass
Настраивает внешний вид каждого столбца на графике. Это может включать цвета фона, границы и многое другое.
titleClass
Настраивает внешний вид каждого заголовка столбца на графике. Это может включать форматирование текста и многое другое.
valuesLineOuter, valuesLineInner и valuesLineLabels
Настраивает внешний вид линии значений и ее метки. Вы можете изменить шрифт, отступы и так далее. Если вы хотите полностью скрыть эту строку, вы можете добавить display: none; через класс к valuesLineOuter.
gridWrapper и gridLine
Настраивает внешний вид и расположение сетки линий значений.
Important
По умолчанию эта сетка скрыта. Чтобы показать ее, нужно добавить Tailwind класс visible в gridWrapper или любой другой CSS-класс, применяющий свойство visibility: visible;.
Result
- June
- July
- August
- September
- October
Дополнительная кастомизация
Библиотека surf-charts предлагает мощные возможности настройки, позволяющие создавать индивидуальные визуализации. Используя пропс styling наряду с другими пропсами компонентов, вы можете адаптировать внешний вид чартов в соответствии с вашими уникальными потребностями в дизайне.
За более конкретными деталями настройки или расширенными шаблонами использования обращайтесь к документации каждого отдельного компонента в библиотеке surf-charts.
Подсказка
Для динамического изменения количества столбцов, например в зависимости от размер а экрана, вы можете воспользоваться хуком useMediaQuery из библиотеки useHooks.ts или любым другим хуком для отслеживания размера экрана.
Продвинутый пример
Обновлено