Svelte — это внешний компилятор, популярность которого резко возросла благодаря простоте использования и отличной производительности. В прошлом месяце был выпущен Svelvet 1.0, который получил большой отклик от сообщества Svelte. Svelvet — это библиотека компонентов, которая позволяет разработчикам Svelte создавать интерактивный пользовательский интерфейс на основе узлов. Мы рады объявить о выпуске Svelvet 2.0, который включает в себя множество новых функций и исправляет существующие ошибки.
Введите Svelvet 2.0
Svelvet — это библиотека компонентов Svelte с открытым исходным кодом, которая позволяет разработчикам создавать интерактивные диаграммы на основе узлов и пользовательский интерфейс. Это включает в себя рендеринг пользовательских узлов, краев, масштабирования и панорамирования. С Svelvet отображение идей и определение функциональных возможностей приложения стало проще, чем когда-либо!
Установка
Svelvet доступен как в виде пакета npm, так и в виде пакета yarn. Чтобы установить Svelvet в свое приложение, вам просто нужно ввести одну из следующих команд:
npm install svelvet
or
yarn add svelvet
Теперь, когда вы установили Svelvet в свое приложение Svelte, вам нужно импортировать его в ту часть кода, которая будет его использовать, вот так:
import Svelvet from 'svelvet';
Новые функции Svelvet 2.0
- Левая и правая опорные точки для ребер
- Смешанная функциональность ребер (исходный узел сверху/снизу к целевому узлу слева/справа)
- Добавление изображений к узлам
- Новые типы ребер (шаг и плавный шаг) )
-Настройка краев
-Настройка меток краев
-Интегрированная мобильная функциональность
-Исправлены нерешенные проблемы и ошибки GitHub
Недавно обновленная документация (www.svelvet.io) включает всю обновленную информацию, а также добавленный Svelvet REPL. Теперь пользователи могут создавать прототипы своих узловых диаграмм прямо с веб-сайта Svelvet и сохранять свои диаграммы как в настольном, так и в мобильном браузере.
Пример
Библиотека компонентов Svelvet состоит из узлов и ребер, эти узлы и ребра будут отображаться в соответствии со значениями, которые вы назначаете им в своем приложении. В этом примере мы будем отображать узлы и ребра с информацией ниже:
<script> | |
import Svelvet from 'svelvet'; | |
const initialNodes = [ | |
{ | |
id: 1, | |
position: { x: 225, y: 10 }, | |
data: { label: 'Add Images!' }, | |
width: 100, | |
height: 100, | |
bgColor: 'white', | |
borderColor: 'transparent', | |
image: true, | |
src: 'https://svelvet.io/_app/assets/Logo%201-cc7b0baf.svg' | |
}, | |
{ | |
id: 2, | |
position: { x: 390, y: 180 }, | |
data: { label: 'Mixed Anchors' }, | |
width: 125, | |
height: 40, | |
bgColor: 'white', | |
targetPosition: 'left' | |
}, | |
{ | |
id: 3, | |
position: { x: 225, y: 260 }, | |
data: { label: 'Output Node' }, | |
width: 100, | |
height: 40, | |
bgColor: '#FFE4E6' | |
}, | |
{ | |
id: 4, | |
position: { x: 25, y: 180 }, | |
data: { label: 'Drag me!' }, | |
width: 125, | |
height: 40, | |
bgColor: 'white', | |
targetPosition: 'right' | |
}, | |
{ | |
id: 5, | |
position: { x: 390, y: 380 }, | |
data: { label: 'Custom Node' }, | |
width: 125, | |
height: 40, | |
bgColor: '#C8FFC7', | |
borderColor: 'transparent', | |
borderRadius: 0 | |
}, | |
{ | |
id: 6, | |
position: { x: 47.5, y: 360 }, | |
data: { label: 'Custom Node' }, | |
width: 80, | |
height: 80, | |
borderColor: '#FF4121', | |
borderRadius: 30, | |
bgColor: 'white', | |
textColor: '#FF4121' | |
} | |
]; | |
const initialEdges = [ | |
{ id: 'e1-2', source: 1, target: 2, label: 'edge label' }, | |
{ id: 'e2-3', source: 2, target: 3, animate: true, label: 'animated edges' }, | |
{ id: 'e1-4', source: 1, target: 4, type: 'step', animate: true, edgeColor: '#FF4121' }, | |
{ id: 'e2-5', source: 2, target: 5, label: 'colored edges', animate: true, arrow: true, edgeColor: '#FF4121', labelBgColor: '#1F2937', labelTextColor: '#FFE4E6'}, | |
{ id: 'e2-5', source: 4, target: 6, type: 'straight' }, | |
{ id: 'e2-5',source: 3, target: 6, type: 'smoothstep', label: 'colored label', labelBgColor: '#FF4561', labelTextColor: 'white', animate: true} | |
]; | |
</script> | |
<Svelvet nodes={initialNodes} edges={initialEdges} width={600} background /> |
Как только вы визуализируете компонент Svelvet с только что инициализированной информацией, вы увидите диаграмму ниже:
После рендеринга пользователь сможет выбирать и перемещать узлы, увеличивать масштаб и панорамировать.
Как внести свой вклад
Svelvet продолжит работу. Если функциональность, встроенная в эту библиотеку, представляет для вас интерес, пожалуйста, не стесняйтесь вносить свой вклад!
Проверьте Svelvet на GitHub: github.com/open-source-labs/Svelvet
Заключительные мысли
Мы хотели бы поблагодарить всех вас за вашу поддержку, и мы продолжим добавлять новые функции, которые запрашиваются. Если вам нравится наш продукт, поставьте нам звездочку на GitHub и следите за обновлениями в LinkedIn. Ваша поддержка очень ценится!
Проверьте Svelvet на LinkedIn: https://linkedin.com/company/Svelvet
Команда Svelvet
Ану Шарма
LinkedIn: https://linkedin.com/in/anu-sharma-6936a686/
Github: https://github.com/anulepau
Эндрю Виджаджа
LinkedIn: https://linkedin.com/in/andrew-widjaja/
Github: https://github.com/andrew-widjaja
Аарон Уиллетт
LinkedIn: https://linkedin.com/in/awillettnyc/
Github: https://github.com/awillettnyc
Александр Замбрано
LinkedIn: https://linkedin.com/in/alexander-z-8b7716b0/
Github: https://github.com/azambran21
Али Адамс
LinkedIn: https://linkedin.com/in/alimadams/
Github: https://github.com/AliA12336
Дамиан Лим
LinkedIn: https://linkedin.com/in/lim-damian/
Github: https://github.com/limd96
Джастин Воутерс
LinkedIn: https://linkedin.com/in/justinwouters/
Github: https://github.com/justinwouters
Фон Гарсия
LinkedIn: https://linkedin.com/in/vongarcia97
Github: https://github.com/vongarcia97
Уолтер ДеВолт
LinkedIn: https://linkedin.com/in/walter-devault/
Github: https://github.com/TensionCoding
Документация
https://svelvet.io