- Added a
Checkworkflow sonpm run checkruns on every push and pull request. Previously these checks ran only from the release workflow, after the tag already existed. - Extended
npm run checkwithscripts/check.mjs, which verifies that the version agrees acrosspackage.json, all three shipped file banners, and the topCHANGELOG.mdentry; that every--vitre-*property is declared, used, and documented consistently; that everydata-kindinvitre.jsis styled invitre.css; and that every file in the publishedfileslist exists. - Declared
--vitre-splitter-size,--vitre-splitter-bg, and--vitre-splitter-active-bgin the theme layer. They were documented inREFERENCE.mdand read throughvar()fallbacks, but never defined, so they did not appear in devtools and could not be discovered as theme tokens. - Added the missing version and license banner to
vitre-base.css.
- Merged the
vitre-jsproject into this package. Vitre is now a single project shipping both the stylesheet and optional behavior helpers, released and versioned together. - Added
vitre.jsas an optional, opt-in behavior file alongsidevitre.css. It providesdata-kindcomponents for alerts, theme toggle, navigation, and splitters. The stylesheet remains fully functional without it. - Added a
data-kind="splitter"component for resizable pane handles. - Added a
data-kind="tabs"component built on the ARIA tablist pattern, with generatedaria-*wiring, roving tabindex, arrow/Home/Endkeyboard support, vertical orientation, and avitre:tabchangeevent. Without JavaScript the tab strip is hidden and all panels render stacked, so content stays reachable. - Added
REFERENCE.md, a complete CSS custom property reference, and included it in the published package. - Fixed a duplicate
COMPONENTSdeclaration in the JavaScript entry point. It was introduced invitre-jsafter 0.4.0 and never reached npm, so no published release was affected. - Collapsed the previously hand-synced
src/vitre.jsandvitre.jsduplicates into a single rootvitre.js. - Added a
node --checksyntax gate to the package check step so unparseable JavaScript cannot be published.
- Made images and videos default to contained object fitting and made iframes responsive with a default media aspect ratio.
- Added
data-fit="contain"media support for responsive embedded video and framed media.
- Fixed filled
data-colorbuttons so derived gradient variables resolve against each button's semantic color.
- Added variable-driven
data-colorsupport for buttons, button variants,progress, andmeter. - Added color-specific button ink tokens so filled semantic buttons can preserve readable contrast.
- Added
vitre-base.cssas an optional first-paint baseline for Vitre theme, typography, background, and page-width styles. - Added token swatch support for the full documented color token set.
- Added
data-widthpage container variants for direct body children. - Added default full-width sticky styling for a top-level first navigation element, including aligned horizontal padding.
- Restored preserved whitespace for
pre codeblocks while keeping inline code on one line.
- Updated CDN examples to use unversioned unpkg URLs for faster latest-version resolution.
- Pointed package documentation links at the central Vitre Docs site and moved the kitchen-sink examples there.
- Updated CDN examples to use explicit
@latestVitre package URLs.
- Darkened the default primary color and reduced the default button highlight so white button text meets contrast requirements more reliably.
- Updated repository and documentation links for the move to the
vitre-uiGitHub organization. - Reserved dismissible alert close-button layout before Vitre JS enhancement to avoid first-render layout jumps.
- Kept inline code, keyboard, and sample tokens on one line so package names and commands do not wrap awkwardly in tables.
- Replaced role-based alert styling with
[data-kind="alert"]and nameddata-colorvalues. - Renamed the error color token from
--vitre-dangerto--vitre-error.
- Added default flex wrapping and tokenized spacing for
navelements with--vitre-nav-gap. - Kept nav alignment neutral by avoiding automatic centering based on accessibility attributes.
- Strengthened button hover affordance with tokenized glow, border, shadow, and scale effects.
- Added
data-variantbutton treatments forflat,outline,ghost, andplain. - Replaced branded Vitre data attributes with shorter
data-*attributes, includingdata-tokenfor token swatches. - Split button hover shadow variables so variant styles can disable glow without removing other button behavior.
- Added
--vitre-font-weightand a cross-platform system sans stack. - Restored the default body font weight to 400 and removed Segoe UI Semilight from the default stack to avoid slanted text rendering on Windows.
- Made alert boxes block-level, reduced their vertical padding from 16px to 8px, and added color-aligned left accents.
- Split theme palette variables into
vitre.lightandvitre.darkcascade layers while keeping shared variables invitre.theme. - Refactored
color-mix()usage into named dependent variables so generated colors remain overrideable. - Added explicit spacing between adjacent card-rendered semantic panels, including document sections, articles, asides, and nested section articles.
- Replaced blank kitchen sink media placeholders with local MP3 and MP4 examples, a YouTube iframe embed, and live object/embed examples.
- Added explicit spacing between adjacent card-rendered semantic panels, including document sections, articles, asides, and nested section articles.
- Split theme palette variables into
vitre.lightandvitre.darkcascade layers while keeping shared variables invitre.theme. - Replaced blank kitchen sink media placeholders with local MP3 and MP4 examples, a YouTube iframe embed, and live object/embed examples.
- Refactored
color-mix()usage into named dependent variables so generated colors remain overrideable.
- Added nested semantic structure styling for article cards with direct header and footer regions.
- Added card treatment for articles nested inside main or section content.
- Added nested aside callouts for supplementary content inside articles and sections.
- Added definition-list term and description styling for
dtanddd. - Added role-based banner styling for
[role="alert"],[role="status"], and[role="note"]with dedicated--vitre-alert-*,--vitre-status-*, and--vitre-note-*variables. - Added neutral styling for
dialog > articleso native dialog content can use semantic article structure without duplicate panel chrome. - Expanded the kitchen sink page and docs coverage summary for the new semantic structure patterns.
- Added explicit styling for additional semantic HTML elements, including captions, table footers, abbreviations, addresses, timestamps, inserted and deleted text, subscript and superscript text, outputs, embedded media, search regions, menus, heading groups, and ruby annotations.
- Added
--vitre-inserted,--vitre-inserted-bg,--vitre-deleted, and--vitre-deleted-bgtokens for document-change styling. - Expanded the kitchen sink page with examples for the new element coverage.
- Updated the documentation element coverage summary and kept the GitHub Pages stylesheet copy in sync.
- Added native form validation styling for
:user-invalidand:user-validusing existing semantic color variables. - Added
[aria-busy="true"]button styling with a CSS-only spinner and--vitre-busy-*customization variables. - Improved
progressstyling with explicit native bar colors and rounded shape. - Updated the CSS banner version to match the package version.
- Removed the old concept document from the npm package and folded its user-facing positioning into the README.
- Kept the GitHub Pages stylesheet copy in sync with the package stylesheet.
The entries below are the release history of the separate vitre-js package, which
merged into vitre-css at 1.6.0. Its version numbers are an independent sequence and
do not relate to the Vitre versions above.
- Added
data-kind="nav"behavior for class-free same-origin SPA navigation. - Navigation helpers now dispatch cancelable
vitre:navigateevents, update history, and maintainaria-current="page"on current links.
- Added a version and license banner to the package entry files.
- Added a
data-kind="theme-toggle"component that renders a light/dark toggle button and persists the selected theme.
- Removed stale package-local Pages documentation references after moving public docs and examples to the central Vitre Docs site.
- Updated CDN examples and docs pages to use unversioned unpkg URLs for faster latest-version resolution.
- Pointed package documentation links at the central Vitre Docs site.
- Updated CDN examples and docs pages to use explicit
@latestVitre package URLs.
- Updated repository and documentation links for the move to the
vitre-uiGitHub organization. - Hid dismissible alerts during close-button injection so enhancement is presented after the final alert structure is ready.
- Replaced role-based alert discovery with
[data-kind="alert"].
- Added alert behavior for
[data-kind="alert"]using shortdismissandtimeoutattributes. - Removed the custom element alert approach before first release.
- Replaced separate public behavior functions with
Vitre.apply(root, components). - Generated right-aligned alert dismiss controls with SVG icons and
data-variant="ghost". - Added GitHub Pages docs and a kitchen sink example under
docs/, paired with versioned CDN assets for static hosting. - Switched the development
vitre-cssdependency to a pnpmlink:../vitre-cssdependency and removed the npm lockfile. - Added a tag-triggered GitHub Actions release workflow using npm Trusted Publishing.
- Published initial empty package.