Skip to content

Releases: RetentionSoftware/endfield-vision

Endfield Vision 2.2.14

Choose a tag to compare

@bYpaws bYpaws released this 03 Nov 14:50

A spotlight fix. Everything is backward compatible.

Fixed

  • spotlight: dim and blur now fade in together. The fade used to run on the whole layer, and an ancestor with opacity below 1 cuts off backdrop-filter, so the blur snapped in only after the dim had finished. Now the backdrop's opacity and blur transition together, and the ring fades on its own; closing runs the same way in reverse.

Install

npm install endfield-vision@2.2.14

The same build is attached to this release as an archive for installs without the registry.


По-русски

spotlight: затемнение и размытие нарастают вместе. Раньше плавным было появление всего слоя, а предок с прозрачностью меньше 1 отключает backdrop-filter у потомков, поэтому размытие включалось рывком после затемнения.

Endfield Vision 2.2.13

Choose a tag to compare

@bYpaws bYpaws released this 03 Nov 14:17

Spotlight: point the user at one element. Everything is backward compatible.

New

  • spotlight(el, options). Highlights an existing element above the interface and returns dismiss. Called imperatively on a DOM element, so it works inside dialogs and portals and outside providers.
    • Everything else goes under the same blurred dim as the dialog backdrop, with a rounded cutout around the element (padding, radius, corners from --ev-radius-md).
    • Around the cutout: the focus ring settles in from a slight scale, and a thin wave in --ev-accent-edge leaves the ring, expands and fades, then starts again.
    • The element stays live: the layer lets the pointer through, focus: true moves focus inside it.
    • The layer sits above dialogs and dropdowns and below toasts (new --ev-z-spotlight token), so a toast explaining the highlight stays on top.
    • The cutout follows the element as it moves; the element is scrolled into view on start.
    • Dismissed by any pointer press, Escape (the first Escape closes only the spotlight, not the dialog under it), input inside the element or a timeout (timeout, 4 s by default). One spotlight at a time: a new call replaces the previous one.
    • With reduced motion: no scale, no wave, no fade.
    • spotlightPath (the cutout path) is exported too.

Install

npm install endfield-vision@2.2.13

The same build is attached to this release as an archive for installs without the registry.


По-русски

spotlight(el, options) - подсветка одного элемента поверх интерфейса: остальное под затемнением с размытием, вокруг элемента вырез, кольцо фокуса и расходящаяся волна. Элемент живой, focus: true ставит в него фокус. Слой выше окон и списков, ниже тостов (токен --ev-z-spotlight). Закрывается нажатием, Escape (первый - только подсветку), вводом в элементе или по таймеру. Все изменения обратно совместимы.

Endfield Vision 2.2.12

Choose a tag to compare

@bYpaws bYpaws released this 03 Nov 07:31

Striped tables and a quiet copyable value. Everything is backward compatible.

New

  • DataTable striped. Every other data row gets a soft background (the new --ev-row-stripe token). Parity counts data rows, so expanded detail rows don't shift it. Hover, tone, selection, focus and expanded rows stay above the stripe; on striped tables hover uses the stronger --ev-hover so it stays visible. Skeleton and state rows, nested tables and the mobile cards mode are not striped.
  • CopyValue variant="ghost". No background at rest: in a KeyValueList a copyable value reads like plain text, with the copy icon still visible. Hover, active and focus show the usual backgrounds and focus ring; padding stays the same, and the value is shifted by its padding so the text lines up with plain values in the column. Works with size, mono, block and href.

Install

npm install endfield-vision@2.2.12

The same build is attached to this release as an archive for installs without the registry.


По-русски

DataTable striped - полосы через строку: чётность по строкам данных (раскрытые детали не сбивают), наведение, тон, выбор и фокус поверх полосы, токен --ev-row-stripe. CopyValue variant="ghost" - без фона в покое, текст вровень с обычными значениями списка, фон при наведении и фокусе. Все изменения обратно совместимы.

Endfield Vision 2.2.11

Choose a tag to compare

@bYpaws bYpaws released this 30 Oct 14:25

A new chart for shares of a total and a sticky header fix. Everything is backward compatible.

New

  • SplitBars. One horizontal 100% bar per row, split into segments by share of the row total: how a price was split, what a cost is made of. Series are shared across rows (same key, same color and label; colors match BarChart and DonutChart). Zero and negative values are not drawn and not counted.
    • Row label above the bar with an aside on the right; showValues (or renderValues) under the bar; a shared legend whose items take a hint.
    • Hover, or the arrow keys on a focused bar, highlight a segment and show its series, value (format) and share.
    • Each bar is role="img" with the shares in its label; a row with no values shows rowEmpty text instead of the bar.
    • size (sm / md), rounded ends, 2 px gaps, the entrance animation from MotionProvider.
    • splitSegments is exported for custom layouts.

Fixed

  • DataTable stickyHeader and nested tables. The page-sticky shift now applies only to the table's own header: tables inside expanded rows (renderExpanded) no longer move with it.

Install

npm install endfield-vision@2.2.11

The same build is attached to this release as an archive for installs without the registry.


По-русски

Новый график SplitBars: по строке - горизонтальная полоса 100%, разделённая на доли серий (подпись и итог над полосой, значения под ней, легенда с пояснениями, подсказка по наведению и стрелкам, пустая строка - текстом). Исправлено: липкая шапка DataTable больше не сдвигает шапки вложенных таблиц в раскрытых строках. Все изменения обратно совместимы.

Endfield Vision 2.2.10

Choose a tag to compare

@bYpaws bYpaws released this 29 Oct 14:15

Two fixes. Everything is backward compatible.

Fixed

  • Tooltip opens only on keyboard focus. Initial focus from a Drawer or Modal focus trap after a mouse click no longer pops up the tooltip of the first IconButton. Tab still shows it; hover works as before. Uses :focus-visible (browsers without it keep the old behavior).
  • Header actions stay inside the row. PageHeader actions no longer grow past the viewport on narrow screens: a SegmentedControl there shrinks to the row and shows its scroll arrow. Card header actions get the same width limit.

Install

npm install endfield-vision@2.2.10

The same build is attached to this release as an archive for installs without the registry.


По-русски

Подсказка открывается только при фокусе с клавиатуры: начальный фокус окна или панели после клика мышью её не показывает. Действия в шапке PageHeader (и Card) не шире строки: на узком экране SegmentedControl ужимается и показывает стрелку прокрутки, страница не уезжает вбок. Все изменения обратно совместимы.

Endfield Vision 2.2.9

Choose a tag to compare

@bYpaws bYpaws released this 29 Oct 13:21

A button fix and grouped workspaces. Everything is backward compatible.

Fixed

  • Button with two icons and no label (avatar and caret, icon and unread badge) is no longer forced into a square: it sizes to its content with narrow padding, so hover, focus ring and pressed state cover everything inside. A single icon without a label is still a square.

New

  • WorkspaceSwitcher groups. group on an item: consecutive items of one group go under one heading, as in Select. Search filters inside groups and hides a group with no matches together with its heading; arrow keys go through all options and skip headings. segmentWorkspaces is exported for custom lists.

Install

npm install endfield-vision@2.2.9

The same build is attached to this release as an archive for installs without the registry.


По-русски

Кнопка с двумя иконками без подписи (аватар и шеврон, иконка и счётчик) больше не сжимается в квадрат: ширина по содержимому. WorkspaceSwitcher: group у пункта делит список под заголовки, поиск фильтрует внутри групп, пустая группа скрывается, стрелки проходят мимо заголовков. Все изменения обратно совместимы.

Endfield Vision 2.2.8

Choose a tag to compare

@bYpaws bYpaws released this 29 Oct 11:25

Layout and hydration fixes, portrait video in Lightbox, and a few small additions. Everything is backward compatible.

Fixed

  • Card header actions never shrink below their buttons; a long description wraps instead.
  • Block content in descriptions. SettingRow description and hint, Card, FormSection and SettingsSection descriptions, Modal, PageHeader and RecordHeader subtitles render as div, so block content such as ExpandableText no longer breaks hydration.
  • Portrait video in Lightbox. The player takes the stage and the frame fits it by the video's own aspect ratio: no side crop, controls stay visible.

New

  • PermissionMatrix: density="compact" (icon-only cells, the mode name in a tooltip and for screen readers), columnWidth and rowHeaderWidth; long role names get an ellipsis and a tooltip.
  • Icon in confirmations. confirm takes icon and tone (defaults to danger for okVariant="danger", otherwise info); modals.open takes icon and iconTone.
  • Checkbox / Switch children: a block under the description, aligned with the text and outside the label, so buttons inside don't toggle the control. The offset follows the control size (--ev-check-text-offset).

Install

npm install endfield-vision@2.2.8

The same build is attached to this release as an archive for installs without the registry.


По-русски

Исправлено: действия в шапке Card не сжимаются, описания и подзаголовки (SettingRow, Card, FormSection, Modal и другие) - div, блочный контент не ломает гидрацию, вертикальное видео в Lightbox вписывается без обрезки. Новое: PermissionMatrix density="compact", columnWidth, rowHeaderWidth; иконка в confirm (icon, tone) и modals.open; блок под описанием у Checkbox и Switch (children). Все изменения обратно совместимы.

Endfield Vision 2.2.7

Choose a tag to compare

@bYpaws bYpaws released this 29 Oct 07:05

A frameless segmented control, clearer scrolling for segments and tabs, and two layout fixes. Everything is backward compatible.

New

  • SegmentedControl variant="plain". No frame or background; the selected segment is a tinted chip like Tabs variant="pill". Still a radiogroup with arrow keys, same heights as other controls.
  • Scrolling that looks like scrolling. When segments don't fit, the edge with hidden ones fades out and shows an arrow; one click brings the next segment fully into view. The area right under the arrow is fully clear, the fade starts past it. Tabs use the same module, so their arrows now also step to the next tab.
  • Mouse wheel. Over an overflowing SegmentedControl or tab strip, the wheel scrolls the strip instead of the page; at the edge the page scrolls again.
  • ThumbnailGrid fill="auto-fit". Empty columns collapse, so a few tiles share the whole width.
  • --ev-statusbar-h on :root. Plus --ev-shell-statusbar-h inside AppShell: the status bar height, or 0 without one, for calc(100dvh - ...) in page layouts.

Install

npm install endfield-vision@2.2.7

The same build is attached to this release as an archive for installs without the registry.


По-русски

SegmentedControl variant="plain" - без рамки, выбранный сегмент тонированной плашкой, как у вкладок-плашек. Не влезшие сегменты и вкладки прокручиваются заметно: затухающий край, стрелка до следующего элемента, колёсико мыши крутит ленту, у края - снова страницу. ThumbnailGrid fill="auto-fit" - несколько плиток на всю ширину. Токен --ev-statusbar-h на :root и --ev-shell-statusbar-h в каркасе. Все изменения обратно совместимы.

Endfield Vision 2.2.6

Choose a tag to compare

@bYpaws bYpaws released this 29 Oct 00:22

Layout, dialogs and overflow: fifteen fixes and small additions. Everything is backward compatible.

Fixed

  • Escape order. A list opened on mount inside a dialog (Select defaultOpen) now sits above the dialog: the first Escape closes the list, the second the dialog. Layers are ordered by DOM nesting, not by effect order.
  • Tab focus ring. The ring is drawn inside the tab, so the scrolling tab strip no longer clips it. --ev-focus-ring-inset is now truly inset; field focus has its own --ev-focus-field value.
  • Empty value dash. .ev-empty-value uses --ev-text-muted (5.8:1 in the light theme instead of 2.57:1): a dash means "no data", not a disabled element.
  • Image-only chat message. The preview keeps its 280 / 320 px width instead of collapsing to the width of the timestamp.
  • SectionTitle. No top margin when it is the first child of a dialog or card, or with flush.

New

  • Tabs overflow. Tabs that don't fit are no longer invisible: the edge with hidden tabs fades out and shows a scroll arrow, and the selected tab scrolls into view.
  • Modal submitOnEnter. Enter presses the main footer button (data-modal-submit, otherwise the last primary or danger one) unless it is disabled. Skipped in a textarea, on buttons and links, in contenteditable, with an open list and inside <form>.
  • confirm with okVariant="danger" puts focus on Cancel, so a stray Enter does nothing.
  • FormSection grid. columns and minColumn; Field span="full" (or a number of columns) and FormSection.Row for anything that should take the whole row.
  • Sizes and widths. size on FilterBar (search, Filters, Reset) and Pagination (page numbers, arrows, page size list); width on Slider with the same values as fields.
  • SettingRow layout="stacked" puts a wide control under the label at full width.
  • TreeView shows a truncated label in full in a tooltip; tooltip on a node sets your own. Tooltip gets onlyWhenTruncated.
  • Full-height pages. AppShell fill, or AppShellFill around a single page: content fits exactly between the header and the status bar, and the last child scrolls on its own (chat, editor). Pure CSS, correct on the first server render.

Install

npm install endfield-vision@2.2.6

The same build is attached to this release as an archive for installs without the registry.


По-русски

Исправлено: порядок Escape (список, открытый сразу внутри окна, закрывается первым), кольцо фокуса вкладок больше не обрезается, прочерк пустого значения - цветом вторичного текста (5,8:1), превью в сообщении чата только с картинкой не схлопывается, SectionTitle без лишнего отступа сверху. Новое: признак переполнения у Tabs (затухающий край, стрелки, прокрутка к выбранной), Modal submitOnEnter, фокус на «Отмена» в опасном confirm, FormSection columns / minColumn с Field span и FormSection.Row, size у FilterBar и Pagination, width у Slider, SettingRow layout="stacked", подсказка на обрезанной подписи TreeView, AppShell fill и AppShellFill - страница во всю высоту. Все изменения обратно совместимы.

Endfield Vision 2.2.5

Choose a tag to compare

@bYpaws bYpaws released this 28 Oct 20:16

Video previews and a player, plus a width for form controls. Everything is backward compatible.

New

  • Video in Thumbnail. kind="video" shows a muted first frame cropped to aspect, with a Video badge and a play mark on top, plus the usual loading and error states. badge={null} or overlay={null} removes the defaults.
  • VideoPlayer. Native controls, full container width, height capped at 72vh (maxHeight), a URL or a blob URL as the source, and a placeholder if the video can't play.
  • Video in Lightbox and ThumbnailGrid. An item with kind: 'video' opens in the player. Arrow keys and swipes inside the player control the video instead of switching items.
  • Control width. width on Input, NumberInput, MoneyInput, SearchInput, Select and MultiSelect: xs | sm | md | lg (new --ev-control-w-* tokens for a short number, an amount, a date and text), a number in px or a CSS length. The field never gets wider than its container; without width it still spans the full width. controlWidthStyle is available on its own.

Install

npm install endfield-vision@2.2.5

The same build is attached to this release as an archive for installs without the registry.


По-русски

Видео: у Thumbnail - kind="video" (немой первый кадр, значок «Видео», знак воспроизведения, загрузка и ошибка), новый VideoPlayer (родные элементы управления, ширина по контейнеру, высота до 72vh, адрес или blob URL), видео в Lightbox и ThumbnailGrid открывается в плеере. Ширина контролов: width у Input, NumberInput, MoneyInput, SearchInput, Select и MultiSelect - xs | sm | md | lg (токены --ev-control-w-*), px или CSS-длина. Все изменения обратно совместимы.