Skip to content

Changelog

@volvo-cars/css
  • #5045 deda946 Thanks @PaoloGiraudi! - - Update typography tokens to align with the larger Statement sizes

    • Removed the heading-3 tokens as they were deprecated and removed from the system
  • #5044 0aabf37 Thanks @AlexMPLeite! - Add text-hero and media-hero components for full-width page-level hero blocks.

  • #5102 dac8c73 Thanks @jacobrask! - Scope dialog-small close-button spacing to direct children to prevent layout regressions in existing header-slot usage

  • #5086 92b04b4 Thanks @AlexMPLeite! - Update title-page component typography

  • #5063 698c0e9 Thanks @jacobrask! - Remove the Volvo Novum @font-face CSS. Associated tokens were removed in 2.0 so no styles should be referencing these fonts anyway.
  • #4665 a7e1200 Thanks @AlexMPLeite! - Add navigation-bar layout — a sticky 3-column grid for top-level site navigation with start, center, and end slots. Height adjusts from 48px to 64px at the md breakpoint. Positioning is controllable via --navigation-bar-position.

    Fix message-bar dismiss button positioning to work correctly with and without bleed.

  • #4822 ebdbe8b Thanks @PaoloGiraudi! - Rebrand styles for Dialog, Dialog-small, Sheet and ToastMessage

  • #5032 7cd6a5d Thanks @rcarls13! - feat(css): New utility classes for select and pointer events

  • #5028 1fc9bfa Thanks @PaoloGiraudi! - remove the use of --v-font-X variables in favor of --v-font-X-size and --v-font-X-lineheight
  • #4915 5360d94 Thanks @PaoloGiraudi! - ## Breaking changes

    The Centenary theme is now the default theme.

    • .heading-3 — the utility class and default h3 styles have been removed. Use the heading-3 token or style headings directly.
    • .reel-indicators — the indicator dot styles have been removed. Implement custom indicator styles if needed.
    • .toggle-group-button — the deprecated class is now fully unstyled. Migrate to .chip-selectable.
    • .dialog__close and the legacy role="dialog" + .dialog[aria-modal] pattern — the old dialog API has been removed. Use <dialog class="dialog-small"> or <dialog class="dialog-large">.
    • Border-radius utilities.rounded, .rounded-sm, .rounded-md, .rounded-lg, and all directional variants (.rounded-t[-*], .rounded-e[-*], .rounded-b[-*], .rounded-s[-*]) have been removed. Only .rounded-none and .rounded-full remain.
    • Icons – Updated all icons to use v5
    • .button-text[data-size="small"]data-size="small" no longer applies to text buttons. The attribute is only supported on .button-filled and .button-outlined.
    • .button-text[data-color="accent"] — the accent color is no longer supported on text buttons. Use the default or destructive.
    • .rounded-full — now maps to var(--v-shape-emphasis) instead of var(--v-radius-full). The visual output does not change.
  • #4937 f5ee6fa Thanks @AlexMPLeite! - Add message-bar CSS component with slot-based content areas for dismissible, full-width messages

    Add --v-space-pageoffset token that computes the inline offset from viewport edge to content area, matching the page layout

  • #4941 0add581 Thanks @AlexMPLeite! - - Remove default object-fit: contain from media-card media slot (use img class or utility classes instead)
    • Fix media-tile image scale animation snapping at end of transition by adding will-change: scale
    • Add overflow: hidden to media slot to clip scaled images
    • Move aspect ratio from image to media slot container
    • Unify hover background across media and body slots using color-mix with shared --_overlay-rate
    • Add transition to media slot background so it animates in sync with the tile
  • #4883 5aed1bb Thanks @jacobrask! - Add tabular-nums utility class (font-variant-numeric: tabular-nums). Use it in columns of numbers or live-updating values to keep digits aligned and prevent layout shifts.
  • #4890 3214356 Thanks @AlexMPLeite! - Fix media-banner stretching to fill its parent height when used inside grid layouts like pagelayout.

  • #4877 5b2fe9a Thanks @AlexMPLeite! - Fix tile and banner outline clipping when outside of container boundaries by removing overflow clip Remove banner’s slot=content inline padding

  • #4806 8e848c8 Thanks @niketsonivc! - Fix checkbox indeterminate state color in centenary dark mode. The dash now uses --v-color-foreground-inverted instead of --v-color-always-white, matching the checked state behavior.

  • #4807 1e1af4f Thanks @PaoloGiraudi! - use design system variables in .reel class

  • #4734 f0bb997 Thanks @AlexMPLeite! - Add media-card, media-tile, text-card, text-tile CSS components with slot-based content areas and hover states
  • #4710 ec531c8 Thanks @jacobrask! - In the centenary theme, limit how large heading and statement font sizes can grow when used inside of legacy container classes
  • #4683 2378255 Thanks @PaoloGiraudi! - Remove shape configuration. It was decided to default to shape-emphasis for all buttons, so we don’t need the prop anymore
  • #4644 244480e Thanks @PaoloGiraudi! - Bug fix: correctly merge dimension classes without numerical value. cssMerge("w-fit", "w-full") now returns w-full. Added shape classes to the merge logic as well.

  • #4643 a702e09 Thanks @PaoloGiraudi! - visual bug fix: indeterminate checkbox now adapts to the new theme on hover

  • #4663 165931c Thanks @PaoloGiraudi! - - change disabled input background color to background-feedback-grey

    • use 8px spacing between input messages for both top label and floating label
  • #4579 ceba04c Thanks @PaoloGiraudi! - Build spacing utilities from Centenary design tokens.

    • Add new spacing tokens (xs –-> 2xl, pagemargin, gridded-element gap) and generate corresponding margin/padding/inset/gap utility classes.
    • Update spacing generation scripts to include generated/centenary/dimension.css and normalize gap variant naming.
    • Keep legacy theme working by providing fallback mappings for --v-space-{s,m,l} and legacy pagemargin overrides.
  • #4635 4fce5ab Thanks @PaoloGiraudi! - Range slider: move :active state from a nested &:active on the thumb pseudo-element to the input element itself, where the custom property cascades down correctly
  • #4578 d0938ad Thanks @copilot-swe-agent! - Deprecate rounded-* classes in favor of the shape-default class. All rounded-* classes (except rounded-none and rounded-full) are now deprecated. Use shape-default as a replacement for rounded, rounded-sm, and rounded-md.

  • #4405 eeaa01d Thanks @PaoloGiraudi! - add pagelayout classes for centenary theme

  • #4570 58610b5 Thanks @PaoloGiraudi! - Add Centenary styles for tabs and fix clipped outline in vertical tabs

  • #4567 c988165 Thanks @niketsonivc! - fix: prevent dialog content escaping by clipping overflow; dropdowns/popovers should use a portal/top-layer to avoid being clipped.

  • #4505 a59fadc Thanks @AlexMPLeite! - Update selectable-card hover styles to keep checkbox/radio inputs static (no hover effects) while maintaining card border hover effect

  • #4461 6ec7825 Thanks @PaoloGiraudi! - change form accent color for centenary

  • #4246 f3bfc24 Thanks @alizeait! - Remove where() from colors to increase specificity in data-color-mode='auto'
  • #4203 387fc53 Thanks @niketsonivc! - Add indeterminate state styling for checkboxes using data-indeterminate attribute
  • #4042 f1291a1 Thanks @PaoloGiraudi! - add toggle-group-button component, fix touch area in small button and use 14px font in small buttons
  • #3959 1adae11 Thanks @RichEwin! - Feature: Improved behavior of icons in buttons.

    • Updated styles for img.icon-sprite to support button-filled and button-outlined button styles.
    • Enhanced img.icon-sprite to handle icon-mask and added contextual margin adjustments for icons when positioned as :first-child or :last-child.
  • #3881 65135df Thanks @jacobrask! - ## Updated color tokens

    This ensures it’s easier to meet our WCAG 2.2 AA requirements for all intended color combinations. We also took the opportunity to sync our tokens to the recently released global tokens library provided by the UX Guide team.

    Key highlights:

    • Accessibility improvements: All foreground-feedback colors now meet 4.5:1 contrast ratios when displayed on top of our background-primary and our background-secondary colors (except foreground-feedback/orange, which remains an outlier).
    • Foundation token alignment: We are now fully synced with the global foundation tokens, improving consistency across platforms.
    • More saturated feedback/background colors: These colors now stand out better on background/secondary, making them easier to use without blending in.
    • Foreground token opacity removedprimarysecondary, and tertiary foreground tokens no longer uses opacity. This change has minimal visual impact on recommended background colors but may result in noticeable differences in less common use-cases (such as when used on top of images, etc).
    • New feedback/neutral variation: Added to make inlineFeedback usable on background/secondary by giving it a slightly different color tone. (The component will be updated in the near future)
    • Accent blue consistency: Accent blue colors now matches our mobile app in both light and dark modes.
    • Backdrop color variable added: We’ve now added our backdrop color as part of our tokens, ensuring these are always synced between Figma and code.
  • #3963 d2dfb12 Thanks @RichEwin! - Improve behavior of icons in buttons - Adjust padding

    • Reduce the default padding to 24px for button-filled and button-outlined.
  • #3921 461ae1f Thanks @RichEwin! - Adds the open:border-primary class to set the border-color to the primary foreground color when an element, eg details, is open.
  • #3611 f122c3d Thanks @jbvolvo! - Adding h-40 and h-content-fit utility classes (viewport prefixes supported)
  • #3556 6b855c7 Thanks @jbvolvo! - Dialog: Add more side padding (32px) for sheet dialog on bigger viewport
  • #3466 e50cee2 Thanks @Shpilevskyy! - Adds additional (bg-surface-neutral/text-inverted) utility classes for .current state
  • #3484 2a99345 Thanks @klippx! - Remove browserslist configuration from package.json, enabling next projects outside of monorepo to build properly without adding @volvo-cars/browserslist-config as a dependency.

  • #3492 a605dd9 Thanks @johanna-dagfalk-volvocars! - Added 2px spacing classes for margin and padding

  • #3333 f0d588c Thanks @jacobrask! - Add sheet component

  • #3217 c933730 Thanks @jacobrask! - Update dialog class to support slots for header, footer and close buttton. Update ::backdrop styles. Add animation to dialog and ::backdrop using @starting-style. Add rounded-none class to remove rounded corners. Add transition-none class to disable transitions.

  • #3345 efc7864 Thanks @jacobrask! - Add dialog-small and dialog-large for the updated dialog design

  • #3303 7d9b0ae Thanks @jacobrask! - - Add default scroll-margin-top to all elements with id
    • Set scroll-behavior: smooth by default on html
    • Move scrollbar-gutters: stable to html, reducing specificity
  • #3169 98157b9 Thanks @harrymansworth! - feat(form-controls): updates Checkbox, Radio, and Input styling to match Web Core figma library

  • #3247 d90e423 Thanks @jacobrask! - Add new inline, contents and flow-root classes. Allow combining inline with any flex and grid classes such as grid-cols-2 or flex-row.

  • #3267 e439657 Thanks @jbvolvo! - Added rounded-{t,e,b,s}-{sm,md,lg,full} for directional round borders

  • #3276 2ec527b Thanks @jacobrask! - Fixes a bug with border-primary overriding border-l in border-l border-primary Adds support in cssMerge for contain-, new display classes, rounded, grid-cols

  • #3274 0e39f83 Thanks @jacobrask! - - Remove experimental breakpoint prefixed top, start, end, bottom classes

    • Release remaining position classes as stable
    • Add translate- classes
  • #3275 fcd80b5 Thanks @jacobrask! - Add w-1/2, max-w-1/2 and max-w-full classes

  • #3228 43b20ed Thanks @jbvolvo! - Update font size to 16 for small buttons and remove small text buttons

  • #3198 568afe6 Thanks @harrymansworth! - feat(position): adds generated spacing utilities top, bottom, start, end

  • #3231 046ee46 Thanks @jacobrask! - Allow customizing tap-area background-color

  • #3226 ef0bbe2 Thanks @jacobrask! - Improved color contrast:

    • Made feedback green background lighter for better contrast against feedback green foreground.
    • Increased contrast of all feedback orange colors.
    • Made feedback red foreground lighter in dark mode.
  • #3216 28fe386 Thanks @jacobrask! - Add border-tertiary utility class and docs

  • #3232 d45e093 Thanks @harrymansworth! - feat(css): adds whitespace-* utilities

  • #3236 fec2eef Thanks @jbvolvo! - Restore small buttons (except small text buttons) back to 12px

  • #3196 531047d Thanks @harrymansworth! - fix(rtl): allows specification of rtl behaviour at the block level

  • #3112 974cbac Thanks @jacobrask! - Slightly soften the hover/active state layer colors. Change button-outlined hover effect to a transparent layer of the button accent color.

  • #3028 1630a8a Thanks @jacobrask! - Remove object support from cssJoin. Using a large amount of conditional classes isn’t encouraged. If your classname logic becomes so complex that you reach for the object syntax, instead prefer:

    • toggling aria-attributes or data-attributes on the element to control styles that change with state changes.
    • use cssMerge and a className prop to your component to allow customising aspects of the component’s design instead of custom props for each aspect.
  • #3028 1630a8a Thanks @jacobrask! - Replace the .volvo_v0 prefix with :root and :host selectors

  • #3028 1630a8a Thanks @jacobrask! - Renames classes

    • body-16font-16
    • title-20font-20
    • md:title-20md:font-20
    • title-24font-24
    • md:title-24md:font-24
    • scale-95scale-96
    • v-labellabel
    • v-inputinput
    • v-input-floating-labelinput-floating-label
  • #3115 3fc5227 Thanks @jacobrask! - - Use dvh in dialog max-height to keep more of the backdrop visible
    • Prevent overscroll in dialogs from affecting body, in case body scroll isn’t properly locked
  • #3081 9bbe890 Thanks @jacobrask! - Deprecate clsx. Use cssJoin instead.

  • #3103 72d54f4 Thanks @jbvolvo! - Rename border radius token from --v-radius-4 to --v-radius-sm. Added --v-radius-md (8px) and --v-radius-lg (16px)

  • #3000 2b045df Thanks @jacobrask! - - Add scroll-padding-inline to containers with bleed to let you have horizontal scrolling to the edges of the viewport while snapping the actual content to the page margins.

    • Update reel with overflow auto instead of scroll, and overscroll contain to prevent swiping from triggering back/forward navigation on mobile.
    • Remove hidihg of scrollbars in Chrome from reel. It should be hidden explicitly with scrollbar-none if needed.
  • #2977 f4c85fe Thanks @Haugen! - New width related utility classes. Make width classes available with viewport prefixes.

  • #2981 641cc24 Thanks @Haugen! - Include missing width CSS files in the breakpoint styles files.
  • #2957 2e6ccb2 Thanks @harrymansworth! - feat: re-orders css layers, moving layout after blocks so that layout classes can be applied to blocks
  • #2746 4068220b Thanks @Haugen! - Adding utility classes for aspect-ratio

  • #2770 322cae55 Thanks @Haugen! - Add utility classes for object-fit.

  • #2742 e60a5e4c Thanks @jbvolvo! - Added the following background colors for light theme:

    --v-color-background-feedback-green: #ebf6ee;
    --v-color-background-feedback-orange: #fdf4eb;
    --v-color-background-feedback-red: #faedec;

    And for dark theme:

    --v-color-background-feedback-green: #011608;
    --v-color-background-feedback-orange: #261300;
    --v-color-background-feedback-red: #1f0503;
  • #2747 2a352331 Thanks @jacobrask! - Add utils for min- and max-height

  • #2735 3b201d2f Thanks @jacobrask! - - Fix button-text chevron rotation animation
    • Make details-open:rotate-180 one level deep for details content
  • #2658 7bdff79d Thanks @jacobrask! - Add width and height utils for sizes 0, 8 and full (100%)

  • #2665 5d507714 Thanks @jacobrask! - - Adds scale transforms utils (scale-110, hover:scale-zoomed, etc).

    • Adds transition-transform to transition scale and other transform properties.
    • Include state prefixes in class name metadata
  • #2632 dd939a72 Thanks @jacobrask! - Allow non-direct children of reels to be snap targets, using .snap-start, .snap-center or .snap-end classes
  • #2446 f6deaef9 Thanks @alizeait! - Temporarily remove offending dialog css locking body scroll when @volvo-cars/react-overlay is SSR:ed
  • #2368 a08ca150 Thanks @jacobrask! - Add .dialog__close class for a sticky close button. Tweak dialog styles.

  • #2372 86e1cc0c Thanks @jacobrask! - Add link-plain and link-underline classes. Add tap-area class. Add text-inverted, hover:text-primary and bg-neutral classes.

  • #2275 f27d11b7 Thanks @jacobrask! - Add layout-2up and layout-3up to unstable styles

  • #2274 92b0426d Thanks @jacobrask! - - Fix container data-bleed

    • Expose more grid values as tokens
    • Update container-lg, container-md and container-sm colspans
  • #2272 98d08712 Thanks @jacobrask! - Add debugging stylesheet and —v-grid-columns token

  • #2269 b3f41410 Thanks @harrymansworth! - fix(css): resolves disappearing radio button visual states when parent scrollable

  • #2255 cba184ac Thanks @jacobrask! - Allow toggling regular borders and text-color with state

  • #2271 8d69f149 Thanks @jacobrask! - Generate spacing utilities.

    • Adds auto classes for all margin directions
    • Removes gap for vertical only spacing (gap-s, gap-m, gap-l)
    • Adds mx-pagemargin, ml-pagemargin, mr-pagemargin classes
    • Adds gap-x-gutter class
  • #2279 653808bf Thanks @harrymansworth! - feat: adds 4up layout to unstable

  • #2183 17248971 Thanks @jacobrask! - - container - Use fluid page margins
    • container - Use 8 column grid on mobile
    • Remove unstable_tokens
  • #1972 a157f976 Thanks @harrymansworth! - feat(blocks): adds buttons

  • #2169 1d3c4ae0 Thanks @jacobrask! - - Use separate button classes (button-filled, button-outline, button-text) instead of data-type

    • Fix disabled styles for a buttons
    • Use aria-disabled over :disabled to allow maintained keyboard focus
    • Fix the minimum touch area for text buttons
    • Fix alignment of text arrow
    • Rename arrows to forward/back to be less ambigious with RTL directions and match icon names
    • Default text button to the forward arrow, allowing opt-out with data-arrow=none
  • #2129 eca526cd Thanks @jacobrask! - Replace styles.json with a meta.json with more meta data

  • #2123 ee96d668 Thanks @jacobrask! - - Adds 3 more fixed spacing values for margin, padding and stack: 32, 48, 64

    • Adds 3 fluid spacing values: s, m, l
    • Removes --v-space-section spacing
  • #1974 89888d98 Thanks @jbvolvo! - Add v-backdrop class and default styles for ::backdrop Prevent document scroll when a native dialog is open

  • #2004 806b256e Thanks @jacobrask! - Add toString() and filtering to links(). The array returned from links() will now stringify to HTML <link> elements.

  • #1977 7c9e8a8d Thanks @jacobrask! - Use browserslists config for esbuild target (drops Safari 13 support).

  • #1880 dd249419 Thanks @jacobrask! - Disable Volvo Novum when using Azerbaijani language because not all characters are supported

  • #1818 2912447e Thanks @alizeait! - To simplify working with TypeScript even further, we now ship a version of styles under UNSTABLE_styles that uses Proxies to merge and compose class names without having to manuallymerge classes or import clsx seperately.

  • #1823 4be2d397 Thanks @jacobrask! - Add flex utility classes

    flex flex-col flex-grow flex-grow-0 flex-items-center flex-items-end flex-items-start flex-items-stretch flex-justify-around flex-justify-between flex-justify-center flex-justify-end flex-justify-evenly flex-justify-start flex-row flex-self-auto flex-self-center flex-self-end flex-self-start flex-self-stretch flex-shrink flex-shrink-0 flex-wrap

  • #1832 2970c976 Thanks @jbvolvo! - Design System | Inline-grid checkbox and radio

  • #1830 5d1da702 Thanks @jacobrask! - Increase line-height to the default 1.5

  • #1837 dee306cd Thanks @harrymansworth! - replaces gap with stack and improves accessibility examples

  • #1797 d1bd51be Thanks @harrymansworth! - feat: adds css only checkbox and radio styling

  • ad6f8c57 Thanks @jacobrask! - Add reset styles for input type=“button|submit|reset” Simplify some selectors Add pointer cursor to label Add missing prefix to text-align classes

  • #1817 2eb29a12 Thanks @jacobrask! - - Removes the v prefix from tokens TypeScript interface.

    • Adds the following utility classes for small spacing and section spacing.

    m-{0,4,8,16,24} mt-{0,4,8,16,24,section} mb-{0,4,8,16,24,section} my-{0,4,8,16,24,section} ml-{0,4,8,16,24} mx-{0,4,8,16,24} mr-{0,4,8,16,24}

    p-{0,4,8,16,24} pt-{0,4,8,16,24,section} pb-{0,4,8,16,24,section} py-{0,4,8,16,24,section} pl-{0,4,8,16,24} px-{0,4,8,16,24} pr-{0,4,8,16,24}

  • #1811 2feaaa1b Thanks @jacobrask! - Add stack layout classes Add spacing tokens

  • #1799 91d5660d Thanks @jacobrask! - CSS: Add md: and lg: prefixes for text-align classes

  • #1735 c5546e09 Thanks @jacobrask! - Add unstable bundle for experimental styles. These can be included using import '@volvo-cars/css/unstable_styles.css' and won’t be enabled with the default links export.
  • #1662 c58a25f5 Thanks @jacobrask! - Remove UNSTABLE_action-14 and UNSTABLE_tag-12

  • #1659 ce1ce7cd Thanks @jacobrask! - - Add accent-color for default checkbox/radio colors

    • Set scrollbar-gutter: stable to avoid layout shifts when triggering overflow: hidden for modals
    • Use list-style-type: revert for a leaner list style reset
    • Don’t set default borders on meter/progress
  • #1660 5add5b92 Thanks @jacobrask! - Adds css variables and utility classes for all foreground and background colors.

  • #1639 cde39b21 Thanks @jacobrask! - - Add styles_all-media.css export for environments without media support, like when doing an import from the npm package.
    • Add styles_reduced-motion.css for the (prefers-reduced-motion) media query.
  • #1573 55c54aa3 Thanks @jacobrask! - Rename data-fluid-typograhy values min/max

  • #1561 c5d8b906 Thanks @jacobrask! - - Add default styles to a elements without a class attribute

    • Add a link-inline class name to style other elements as link, as long as they have the correct ARIA role
    • Add theme support, required to switch the link color between themes.
    • Add additional resets to be able to style buttons as links.
  • #1577 682c2812 Thanks @jacobrask! - Add clsx utility

  • #1556 c3c4afdf Thanks @jacobrask! - Add font-bold and font-normal font weight utility class names

  • #1574 557e7b54 Thanks @jacobrask! - Add more resets and mark as non-private

  • #1553 f8338e4b Thanks @jacobrask! - - Exclude Volvo Novum from the font stack on pages with lang=vi

    • Rename --font-novum-family -> --font-sans-family
    • Change fallback font from Calibri to Segoe UI as listed by the Brand team
  • #1560 f6c03182 Thanks @jacobrask! - Add JavaScript exports and TypeScript types

@volvo-cars/eslint-plugin-css
  • #4933 cf109a6 Thanks @copilot-swe-agent! - Widen the @volvo-cars/css peer dependency range to accept 2.x releases while preserving each package’s existing minimum supported CSS version.
  • #4711 0249dba Thanks @ebadervolvo! - Add TypeScript types and fix plugin structure for ESLint 9+ compatibility.

    • The default export now includes configs['flat/recommended'] and configs.recommended alongside the plugin’s meta and rules, making it usable both as a plugin and as a config provider
    • flatRecommended config now auto-resolves the @volvo-cars/css/meta.json path via import.meta.resolve so consumers don’t need to configure settings.css.metaFiles manually
    • Fixed rule double-nesting: rules are now correctly unwrapped when registered in the plugin
    • Added index.d.ts with a hand-written type declaration using Linter.Config and Rule.RuleModule from eslint
    • Updated README.md with installation, usage examples for both flat config (ESLint 9+) and legacy config (ESLint 8)
  • #4620 568ac82 Thanks @jacobrask! - Add no-replaceable-inline-style rule which errors if you use an inline style that can be trivially replaced with a class from @volvo-cars/css. Convert plugin to ESM.
  • #4558 3c4a383 Thanks @jacobrask! - Add prefer-design-system-class rule to warn if a Tailwind prefixed class is used when a Volvo Cars CSS equivalent exists
  • #4126 6ec4cdd Thanks @jacobrask! - Don’t error for deprecated classes in no-custom-class, they still exist
  • #3140 f284f5a Thanks @jacobrask! - Add better suggestions for breakpoint prefix classes with no-custom-class
  • #3134 66a15ef Thanks @jacobrask! - Fix issue with the template string elements in the no-deprecated-class rule autofixer
  • #3091 5945d87 Thanks @jacobrask! - Add suggestions to no-custom-class errors Handle matches in cssJoin and cssMerge used outside of the className attribute

  • #3072 14b8810 Thanks @jacobrask! - Add lint rule to warn about redundant usage of the class name utilities

  • #3078 915a229 Thanks @jacobrask! - Add rule to warn about deprecated classes

  • #2523 0ebb0d73 Thanks @alizeait! - Add support for whitelistPattern in no-custom-class eslint rule. Pattern should be a string Regular Expression
  • #2445 9fe72397 Thanks @alizeait! - Fix no-cusom-class rule fixer when removing custom classname at the end of the string
  • #2424 06737851 Thanks @alizeait! - Handle single classname in no-custom-class and empty classNames in all rules
  • #2393 c51dd9d4 Thanks @alizeait! - Create no-custom-class rule that prevents using classnames not available in @volvo-cars/css. To allow some custom classes, the whitelistoption can be used which takes an array of classnames to whitelist

  • #2389 44312999 Thanks @alizeait! - Create conflicting-class rule that warns against using conflicting classes, for example stack-16 and stack-24 are conflicting and are not needed in the the same class attribute since they declare exactly the same properties but with different values

  • #2366 2496afd2 Thanks @alizeait! - Initial release including redundant-class lint rule for @volvo-cars/css that checks if a class declarations are already included by another
@volvo-cars/favicons
  • #545 4695f41a Thanks @alizeait! - Fix svg href in renderFavIcons. Remove extra } at the end of the href.

  • Update v2 icon sizes and add svg icon

  • Update wrong types path in package.json
  • Fix broken release
  • Inital release
@volvo-cars/react-accordion
  • #4933 cf109a6 Thanks @copilot-swe-agent! - Widen the @volvo-cars/css peer dependency range to accept 2.x releases while preserving each package’s existing minimum supported CSS version.
  • Updated dependencies [c32d8b9, cb52c5d, bfaa0f5]:
    • @volvo-cars/react-icons@3.1.0
    • @volvo-cars/react-headless@0.24.0
  • Updated dependencies [6e3357d, 6f6da34]:
    • @volvo-cars/react-headless@0.23.5
    • @volvo-cars/react-icons@3.0.1
  • Updated dependencies [83ce87f]:
    • @volvo-cars/react-headless@0.23.4
  • Updated dependencies [c5c7eef, c951763, 76360ae]:
    • @volvo-cars/react-icons@3.0.0
    • @volvo-cars/react-headless@0.23.3
  • Updated dependencies [b053f7d]:
    • @volvo-cars/react-icons@2.2.0
    • @volvo-cars/react-headless@0.23.2
  • Updated dependencies [5122c6b, a523335, 5122c6b]:
    • @volvo-cars/react-icons@2.1.0
    • @volvo-cars/react-headless@0.23.2
  • #4206 73174be Thanks @cdagli! - Add React 19 to peerDependencies

  • Updated dependencies [73174be]:

    • @volvo-cars/react-headless@0.23.2
    • @volvo-cars/react-icons@2.0.1
  • Updated dependencies [e059e19]:
    • @volvo-cars/react-headless@0.23.1
  • Updated dependencies [dc48056, d53e15e]:
    • @volvo-cars/react-headless@0.23.0
  • Updated dependencies [476655c]:
    • @volvo-cars/react-headless@0.22.0
  • Updated dependencies [06a20b0]:
    • @volvo-cars/react-headless@0.21.0
  • Updated dependencies [6ec4cdd]:
    • @volvo-cars/react-headless@0.20.0
  • Updated dependencies [9b91251]:
    • @volvo-cars/react-headless@0.19.1
  • Updated dependencies [94e7dbc, fef2c32, 3fe3765]:
    • @volvo-cars/react-headless@0.18.3
    • @volvo-cars/react-icons@1.2.0
  • Updated dependencies [fa7fb77]:
    • @volvo-cars/react-headless@0.18.2
  • Updated dependencies [6607ae1]:
    • @volvo-cars/react-headless@0.18.1
  • #3981 348ab09 Thanks @RichEwin! - Stepped Accordion: Improve stepped accordion auto to handle paused and stopped state

  • #3990 3cc2a9e Thanks @RichEwin! - feat: move useInterval hook to react-utils and add tests

  • Updated dependencies []:

    • @volvo-cars/react-headless@0.18.0
  • Updated dependencies [13fd098, 8656cab, 7f8347f]:
    • @volvo-cars/react-headless@0.17.2
    • @volvo-cars/react-icons@1.1.1
  • Updated dependencies [86f61aa]:
    • @volvo-cars/react-headless@0.17.1
  • Updated dependencies [b1063b4]:
    • @volvo-cars/react-headless@0.17.0
  • Updated dependencies [761f3fd, a9700f7]:
    • @volvo-cars/react-icons@1.1.0
  • Updated dependencies [b83a5e2, 3380851]:
    • @volvo-cars/react-icons@1.0.0
  • Updated dependencies [5433ed9, 32f94f2, 44ec7d0]:
    • @volvo-cars/react-headless@0.16.0
    • @volvo-cars/react-icons@0.24.1
  • Updated dependencies [7d17e55, 929d502, 214d6cc]:
    • @volvo-cars/react-icons@0.24.0
    • @volvo-cars/react-headless@0.15.2
  • Updated dependencies [766ff04]:
    • @volvo-cars/react-icons@0.21.2
  • Updated dependencies [9d14a55]:
    • @volvo-cars/react-icons@0.21.1
  • Updated dependencies [b8e9b4e, 71cf38b]:
    • @volvo-cars/react-icons@0.20.1
    • @volvo-cars/react-headless@0.14.0
  • Updated dependencies [e50cee2]:
    • @volvo-cars/react-headless@0.13.0
  • Updated dependencies [39de273, fc4f292]:
    • @volvo-cars/react-icons@0.20.0
    • @volvo-cars/react-headless@0.12.0
  • Updated dependencies [23a1224]:
    • @volvo-cars/react-headless@0.11.1
  • Updated dependencies [d085846, 33a6f74]:
    • @volvo-cars/react-headless@0.11.0
  • Updated dependencies [9249c07]:
    • @volvo-cars/react-headless@0.10.2
  • Updated dependencies [ce000a1, 61045a1]:
    • @volvo-cars/react-headless@0.10.1
    • @volvo-cars/react-icons@0.19.1
  • Updated dependencies [bd14a15]:
    • @volvo-cars/react-headless@0.10.0
  • Updated dependencies [8b99491]:
    • @volvo-cars/react-icons@0.19.0
  • Updated dependencies [afa10a3, b7cc718]:
    • @volvo-cars/react-headless@0.9.0
  • Updated dependencies [501d99f, 5b1a9a9]:
    • @volvo-cars/react-icons@0.18.0
  • Updated dependencies [a664b93]:
    • @volvo-cars/react-icons@0.17.0
  • Updated dependencies [69dbc2b]:
    • @volvo-cars/react-headless@0.8.2
  • Updated dependencies [b780574, 41d39be]:
    • @volvo-cars/react-icons@0.16.0
  • Updated dependencies [1630a8a]:
    • @volvo-cars/react-icons@0.15.0
  • Updated dependencies [d0ea09c]:
    • @volvo-cars/react-icons@0.14.0
  • Updated dependencies [b8f51e6]:
    • @volvo-cars/react-headless@0.8.1
  • Updated dependencies [310c26b, 8256d4b]:
    • @volvo-cars/react-headless@0.8.0
    • @volvo-cars/react-icons@0.13.0
  • Updated dependencies [2718f08]:
    • @volvo-cars/react-headless@0.7.1
  • Updated dependencies [9e0f5b1, 17e65ea]:
    • @volvo-cars/react-headless@0.7.0
  • Updated dependencies [20d8efa]:
    • @volvo-cars/react-headless@0.6.1
  • Updated dependencies [07c1c67]:
    • @volvo-cars/react-headless@0.6.0
  • Updated dependencies [433450286]:
    • @volvo-cars/react-icons@0.11.0
  • #2823 418e7edc1 Thanks @jacobrask! - - Align the chevron with the first line of the summary
    • Make iconAlignment=top the default
  • Updated dependencies [5727fb71c]:
    • @volvo-cars/react-headless@0.5.2
  • #2216 47539537 Thanks @alizeait! - Append “use client” to the top of every entry point to support React server components

  • Updated dependencies [47539537]:

    • @volvo-cars/react-layout-utils@0.7.2
    • @volvo-cars/react-utils@1.0.2
    • @volvo-cars/react-aria@0.3.2
  • #2116 fa7b2c57 Thanks @jacobrask! - - Allow vcc-ui 3-4.0 in peerDepdencies.

    • Require Node >=16.
    • Require React >=17.

    These are technically breaking changes, but since vcc-ui 2.0, Node 14 and React 16 are all very old versions in practice it should not impact our ecosystem enough to warrant a new major release.

  • #1895 d75c21d2 Thanks @ghops-volvo-cars! - Update tsup to 6.6.2, esbuild to 0.17

  • Updated dependencies [d75c21d2]:

    • @volvo-cars/react-layout-utils@0.7.1
    • @volvo-cars/react-utils@1.0.1
    • @volvo-cars/react-aria@0.3.1
  • Updated dependencies [2cfef498]:
    • @volvo-cars/react-layout-utils@0.7.0
  • #1459 0ee61f4c Thanks @jbvolvo! - Set consistent keyboard focus styles on interactive components (Except TextInput, TextArea, SelectInput) Any component using Click will now have consistent keyboard focus style Added a new token category (states) where focus can live theme.states.focus
  • Updated dependencies [def39568, 0be04de7]:
    • @volvo-cars/react-aria@0.3.0
    • @volvo-cars/react-layout-utils@0.6.0
    • @volvo-cars/react-utils@1.0.0
  • Updated dependencies [75eafb69]:
    • @volvo-cars/react-aria@0.1.0
  • #886 7644e217 Thanks @alizeait! - Better TypeScript performance. Convert type to interfacesince interface is cached by TS and add return types to help TS compiler out
  • Updated dependencies [865b4146]:
    • @volvo-cars/react-utils@0.2.0
  • #649 00f3ae7c Thanks @alizeait! - Adds iconAlignment prop to AccordionSummary to allow vertically centering the icon
  • #641 6df784f9 Thanks @alizeait! - - Update extend types to use ExtendCSS
    • Use usePrevious from @volvo-cars/react-utils
@volvo-cars/react-aria
  • #4206 73174be Thanks @cdagli! - Add React 19 to peerDependencies

  • Updated dependencies [73174be]:

    • @volvo-cars/react-descendants@0.5.6
  • Updated dependencies []:
    • @volvo-cars/react-descendants@0.5.5
  • Updated dependencies []:
    • @volvo-cars/react-descendants@0.5.4
  • #2216 47539537 Thanks @alizeait! - Append “use client” to the top of every entry point to support React server components

  • Updated dependencies [47539537]:

    • @volvo-cars/react-descendants@0.5.3
  • Updated dependencies [def39568]:
    • @volvo-cars/react-descendants@0.5.0
  • Update dependency @volvo-cars/react-descendants to ^0.3.0
  • Rename exported ES modules to .mjs to enable using the package from other ES modules
  • Rename ambigous browser field from export map to fix Jest environments
  • #927 75eafb69 Thanks @alizeait! - Create @volvo-cars/react-aria and expose useKeyboardNavigation to simplify keyboard navigation between composite React components
  • Updated dependencies [75eafb69]:
    • @volvo-cars/react-descendants@0.2.0
@volvo-cars/react-calendar
  • #4933 cf109a6 Thanks @copilot-swe-agent! - Widen the @volvo-cars/css peer dependency range to accept 2.x releases while preserving each package’s existing minimum supported CSS version.
  • Updated dependencies [e9f8c10]:
    • @volvo-cars/react-icons@3.2.1
  • #4403 0c408e0 Thanks @niketsonivc! - Replace CalendarI18nProvider with LocaleProvider from @volvo-cars/react-locale-provider package Not throwing an error in useLocale and instead logging a warning.
  • Updated dependencies [6f6da34]:
    • @volvo-cars/react-icons@3.0.1
  • Updated dependencies [c5c7eef]:
    • @volvo-cars/react-icons@3.0.0
  • Updated dependencies [b053f7d]:
    • @volvo-cars/react-icons@2.2.0
  • Updated dependencies [fef2c32, 3fe3765]:
    • @volvo-cars/react-icons@1.2.0
  • Updated dependencies [f7eeff9, 7f8347f]:
    • @volvo-cars/css@1.20.0
    • @volvo-cars/react-icons@1.1.1
@volvo-cars/react-descendants
  • #4206 73174be Thanks @cdagli! - Add React 19 to peerDependencies

  • Updated dependencies [73174be]:

    • @volvo-cars/react-layout-utils@0.7.5
  • Updated dependencies []:
    • @volvo-cars/react-layout-utils@0.7.4
  • Updated dependencies []:
    • @volvo-cars/react-layout-utils@0.7.3
  • #2216 47539537 Thanks @alizeait! - Append “use client” to the top of every entry point to support React server components

  • Updated dependencies [47539537]:

    • @volvo-cars/react-layout-utils@0.7.2
  • Updated dependencies [2cfef498]:
    • @volvo-cars/react-layout-utils@0.7.0
  • Updated dependencies [def39568]:
    • @volvo-cars/react-layout-utils@0.6.0
  • #1388 4d04955d Thanks @jacobrask! - Add explicit children to component types, for compatibility with @types/react v18

[0.0.1]

  • Initial release
@volvo-cars/react-forms
  • #5073 5af5aa9 Thanks @jacobrask! - Make top-label the default variant for form inputs that support both top-label and floating-label. Remove Safari workaround for showPicker in DateInput. Remove deprecated type exports

  • #5107 ab22b38 Thanks @jacobrask! - Remove deprecated isValid prop from Checkbox, RadioGroup, Select, TextArea, and TextInput. Use errorMessage or aria-invalid instead to indicate invalid state.

  • #5098 bd4cbb8 Thanks @copilot-swe-agent! - Remove react-forms locale props in favor of LocaleProvider

  • #5084 ca0dcc4 Thanks @copilot-swe-agent! - The Select component requires LocaleProvider in order to use the default “Select…” string instead of the label
  • Updated dependencies [4f3b9bb, 67a2248]:
    • @volvo-cars/react-icons@3.3.0
  • #4683 2378255 Thanks @PaoloGiraudi! - Remove shape configuration. It was decided to default to shape-emphasis for all buttons, so we don’t need the prop anymore

  • Updated dependencies [2378255]:

    • @volvo-cars/react-icons@3.2.4
  • #4643 a702e09 Thanks @PaoloGiraudi! - Fix DateInput prop types. It was extending the wrong types (RangeLikeProps)

  • Updated dependencies [e9e7382]:

    • @volvo-cars/react-icons@3.2.3
  • #4504 b5166cd Thanks @AlexMPLeite! - New React components built on top of the CSS selectable-card pattern:

    • CheckboxCard: Checkbox input with card-style presentation, supporting controlled and uncontrolled patterns
    • RadioCard: Radio input for use within RadioGroup, with card-style presentation

    Features:

    • Full accessibility with automatic aria-describedby and proper label associations
    • Interactive elements (links, buttons) inside cards without toggling selection
    • Entire card clickable while maintaining accessibility
  • #4525 3384f7c Thanks @AlexMPLeite! - Improve RadioGroup spacing and prevent hover effects on checked radio cards

  • Updated dependencies [e9f8c10]:

    • @volvo-cars/react-icons@3.2.1
  • Updated dependencies [f309c3f]:
    • @volvo-cars/react-icons@3.2.0
  • Updated dependencies [6f6da34]:
    • @volvo-cars/react-icons@3.0.1
  • Updated dependencies [c5c7eef]:
    • @volvo-cars/react-icons@3.0.0
  • Updated dependencies [b053f7d]:
    • @volvo-cars/react-icons@2.2.0
  • #4153 c0debfb Thanks @jacobrask! - Improve handling of floating labels with autofilled forms Improve autofill background position in delegated inputs
  • Updated dependencies [fef2c32, 3fe3765]:
    • @volvo-cars/react-icons@1.2.0
  • #3922 daa1c99 Thanks @jacobrask! - Fix bug in controlled DateInput where the label would in some cases show instead of the value
  • Updated dependencies [7f8347f]:
    • @volvo-cars/react-icons@1.1.1
  • Updated dependencies [b83a5e2, 3380851]:
    • @volvo-cars/react-icons@1.0.0
  • Updated dependencies [32f94f2]:
    • @volvo-cars/react-icons@0.24.1
  • Updated dependencies [7d17e55, 214d6cc]:
    • @volvo-cars/react-icons@0.24.0
  • Updated dependencies [399f0d6, 98d156e]:
    • @volvo-cars/react-icons@0.23.0
  • Updated dependencies [766ff04]:
    • @volvo-cars/react-icons@0.21.2
  • Updated dependencies [9d14a55]:
    • @volvo-cars/react-icons@0.21.1
  • Updated dependencies [b8e9b4e]:
    • @volvo-cars/react-icons@0.20.1
  • Updated dependencies [39de273, fc4f292]:
    • @volvo-cars/react-icons@0.20.0
  • Updated dependencies [61045a1]:
    • @volvo-cars/react-icons@0.19.1
  • #3350 4e9c090 Thanks @jacobrask! - Add explicit types to inner functions in forwardRef to fix Storybook docs extraction

  • Updated dependencies [8b99491]:

    • @volvo-cars/react-icons@0.19.0
  • Updated dependencies [501d99f, 5b1a9a9]:
    • @volvo-cars/react-icons@0.18.0
  • Updated dependencies [a664b93]:
    • @volvo-cars/react-icons@0.17.0
  • Updated dependencies [b780574, 41d39be]:
    • @volvo-cars/react-icons@0.16.0
  • Updated dependencies [1630a8a]:
    • @volvo-cars/react-icons@0.15.0
  • Updated dependencies [d0ea09c]:
    • @volvo-cars/react-icons@0.14.0
  • Updated dependencies []:
    • @volvo-cars/react-icons@0.13.0
  • Updated dependencies [8256d4b]:
    • @volvo-cars/react-icons@0.13.0
  • Updated dependencies [ed6df21, b724af2]:
    • @volvo-cars/react-icons@0.12.0
  • #2800 8de7c2ee5 Thanks @jacobrask! - - Allow errorMessage on uncontrolled form components
    • Merge passed className with cssMerge
    • Allow passing style to all form controls (set on the wrapper)
    • Allow passing type=button to SubmitButton
  • #2628 df724545 Thanks @harrymansworth! - feat: use IconButton for clickable input adornments, adds contentAfter prop for custom input adornments

  • #2722 2d45b0f8 Thanks @jacobrask! - Use 16px icons in DateInput and Select Use a clickable IconButton in DateInput Remove hidePasswordLabel from PasswordInput, button is now aria-pressed instead depending on the state

  • Updated dependencies [72e4f1c6]:
    • @volvo-cars/react-icons@0.8.1
  • #2249 f3aa81d2 Thanks @jacobrask! - - Add the Select label text to the empty option we create by default.
    • Float Select labels to the center even for custom empty <option value=""> options.
  • #2216 47539537 Thanks @alizeait! - Append “use client” to the top of every entry point to support React server components
  • #2005 743eb3fe Thanks @jacobrask! - - Make TextInput support only <input type="text">
    • Add DateInput for <input type="date">
    • Remove built-in validation, to be solved with a different API
    • Export both controlled and uncontrolled props, e.g. CheckboxProps, CheckboxUncontrolledProps and CheckboxControlledProps
    • Use React.useId for IDs - requiring React 18 for this package
@volvo-cars/react-headless
  • #5038 68fa58d Thanks @CodeWithPhany! - # Changes

    Improve useReel focus behavior so keyboard-focused items that overflow are smoothly scrolled into view.

  • Updated dependencies [8983e9d, e7793ea]:

    • @volvo-cars/react-utils@1.3.0
  • #4116 78072e2 Thanks @jacobrask! - Use more sophisticated ref merging when passing refs to useDialog and useAnimatedDetails
  • Updated dependencies [78072e2]:
    • @volvo-cars/react-utils@1.2.0
  • #4036 fa7fb77 Thanks @jacobrask! - Snap navigation | Add a more resilient check for whether an IntersectionObserver workaround in Safari is needed
  • #3930 7e564d5 Thanks @jacobrask! - useAnimatedDetails - Fix janky animation on first render of controlled details
  • #3841 b1063b4 Thanks @jacobrask! - Add useSnapNavigation hook Make prev/next navigation more robust in useReel
  • #3788 5433ed9 Thanks @jacobrask! - Add reelProps to useReel, returning appropriate tabindex property based on the contents of the reel.
  • #3410 23a1224 Thanks @jacobrask! - - Fix issue due to dialog.getAnimations not being defined in jsdom
    • Don’t animate the toggling of details with useAnimatedDetails if it’s the first render with the same value
  • #3365 bd14a15 Thanks @jacobrask! - Allow useDialog to be controlled with an open argument Reset scroll position of scrollable children on modal open
  • #3318 afa10a3 Thanks @jacobrask! - Dialog | Hide the focus outline for the first button for non-keyboard users in Safari
  • #2773 9b62f5a9 Thanks @jacobrask! - useAnimatedDetails

    • Fix SSR warning from useLayoutEffect
    • Add onAnimationFinish method
    • Remeasure details on mutation
  • #2632 dd939a72 Thanks @jacobrask! - Allow non-direct children of reels to be snap targets, using .snap-start, .snap-center or .snap-end classes
@volvo-cars/react-icons
  • #5079 4125890 Thanks @design-system-automation! - Update icons to version 20260604.1 New or updated icons: Lightning Bolt Circled Forward, Lightning Bolt Drop, Speedo Enclosed, Star Lines, Warning Speedo Slashed Removed icons: None
  • #4999 5254eb6 Thanks @design-system-automation! - Update icons to version 20260518.1 New or updated icons: Loop Forward Rectangle 1 Squared, Loop Forward Rectangle Squared, Screen Minus, Screen Plus, Screen Plus Play, Shuffle Squared, Shuffle Star Squared, Volume X Removed icons: None
  • #4933 cf109a6 Thanks @copilot-swe-agent! - Widen the @volvo-cars/css peer dependency range to accept 2.x releases while preserving each package’s existing minimum supported CSS version.
  • #4666 67a2248 Thanks @AlexMPLeite! - Add size prop to IconButton.

    size="large" renders a 48 × 48 px button with a 24 × 24 px icon (default is 40 × 40 px / 16 × 16 px). Applies to all variants. Requires @volvo-cars/css ≥ 1.41.0.

  • #4720 4f3b9bb Thanks @design-system-automation! - Update icons to version 20260319.1 New or updated icons: Drop Camera Front, Drop Camera Rear, Note Transmitting, Roadside Arrow Left, Roadside Arrow Right, Screen Landscape Off Removed icons: None
  • #4683 2378255 Thanks @PaoloGiraudi! - Remove shape configuration. It was decided to default to shape-emphasis for all buttons, so we don’t need the prop anymore
  • #4660 e9e7382 Thanks @design-system-automation! - Update icons to version 20260227.1 New or updated icons: Chevron Back Double, Chevron Forward Double, Cube 3D One Side, Eye Exclamation Mark, Headphones, Heart Hand, List Arrow, LKA Off Left, Moon Z, Papers Stacked 3D, Parking Finger, Paw, Road Arrow, Snowflake Battery 100, Snowflake Battery 20, Snowflake Battery 50 Removed icons: None
  • #4559 22390a2 Thanks @design-system-automation! - Update icons to version 20260130.1 New or updated icons: Air Filter Particles Clean, Audio Wave Face, Bluetooth Connected 2, Bluetooth Slashed, Boom, Break Pedal Waring, Car Circle, Cog Exclamation Mark, Drop Fuel Pump, Emission, Eye Semi Closed, Garage, Gate, Lines Horizontal, LKA Intervention Left Lines, LKA Intervention Right Lines, Note Slashed, Papers Stacked, Parking Squared Road, Parking Squared Route, Road Segmented, Road Trajectory Line, Seat Right Lean, Sensor Car Inside Off, Set Speed Confirm Decline, Stalk Left Down, Stalk Left Up, Video Car Removed icons: None
  • #4480 e9f8c10 Thanks @design-system-automation! - Update icons to version 20260105.1 New or updated icons: 2X Circled, Air Filter, AR, Arrow Curved Left, Arrows Split, Audio Book, Auto Brake, Backspace, Camera Front, Camera Rear, Camera Side Left, Camera Slashed, Car Overtake Left, Charger CCS, Charger NACS, Circle Backwards 15, Circle Forward, Circled Thumbs Up, Cloud Download Battery, Code, Conference Table, Connect Plus, Crop, CTA, Currency USD, Device, Elevator, ESC Off, Fridge, HUD Rotate, Lights Adjust Down, Lights Adjust Up, List Checked, Loop Forward Cube, Mail, Message Phone, Mobile Phone Connected, Office Chair, Pause Phone, Plug DC, Plus Circle Backwards, Printer, Question Mark, Radio, Restroom, Seat Lean Clock, Smiley Happy, Snowflake Circle Forward, Sound Bar, Speaker, Speedo Set, Spray Bottle, Steering Wheel Dashed Line, Sunshade Close, Sunshade Open, Table, Thumbs Down, Time Interval Car, TPMS, TV, Warning Car Sensors, Workstation, X Circled Removed icons: None
  • #4358 375c0cc Thanks @design-system-automation! - Update icons to version 20251029.1 New or updated icons: 6 Squares, Amp Meter, Arrow Back, Arrow Curved Back, Arrow Down, Arrow Forward, Arrow Forward Car Side, Arrow Up Line, Battery 20, Battery 80, Battery 90, Battery Frame, Battery Frame Standing, Battery Standing 100, Bell, Brake Pedal, Brake Pedal Auto, Brake Pedal High, Brake Pedal Low, Calendar, Camera Rotate, Car, Car Moving, Car Pin, Car Side Profile, Car Side Profile Cropped, CarPlay, Charging Battery Standing, Checked Calendar, Checkmark, Checkmark Circled, Checkmark Pin, Chevron Back, Chevron Down, Chevron Forward, Chevron Up, Child Lock Locked, Circle Grid, Clock, Clock Car, Clock Dotted, Cloud Download Clock, Computer, Content Tree, Cube 3D Divided, Defroster Rear, Delivery Truck, Diamond, Diamond Sparkling, Digital Key, Drops Car, Email Open, Exclamation Mark Car, Exclamation Mark Circled, External Link, Eye, Eye Slashed, Fan, Fast Charger, File XLS, Filter, Filter vertical, Filter Volume, Fire, Fork And Knife, Fuel Pump, Gift, Golf Bag, Graph Average, Graph Bars, Handshake, Headset, Heart, High Beam, Home, Home Connected, Home Work, Honk And Flash, Image Framed, Info Circled, Keypad, Leaf Simple, Lightning Bolt, LKA Intervention Right, Lock, Lock Car, Lock Open, Lock Open Trunk, Lock Trunk, Loop Backwards Dotted, Map, Map Pin, Menu, Microphone, Microphone Slashed, Minimise, Mirror Left Fold, Mobile Phone, Moon, Next, Off, Park Assist Camera, Parking Assist Phone, Parking Circled, Parking Squared, Parking Steering Wheel, Pause, Pen, Pen Paper, Phone, Phone Down, Phone Shield, Play, Plus, Plus Car, Previous, Profile, Pump Charging, Retailer, Rose, Search, Seat Belt Buckle, Sensor Car Inside, Shopping Bag, Shuffle, Signed Paper, Smiley Slightly Happy, Speech Bubble, Square Grid, Stack, Stacked Squares, Star, Steering Wheel, Sun, Sun Car Side Profile, Suspension, Swap Car, Switch Phone, Three Dots, Tow Truck, Trash Can, Trunk Open, Twilight, USD Circle Forward, USD Coin, Wall Charger, Warning, Warning Speedo, Window, Window X, X, X Circled Removed icons: None

  • #4433 ffd3cc0 Thanks @design-system-automation! - Update icons to version 20251119.1 New or updated icons: 6 Dots, Air Distribution Feet, Airbag, Alcohol Lock, Ambient Light, Animal, Arrow Curved Forward, Arrow Down Forward, Arrow Forward EST, Arrow Up, Arrow Up Back, Arrow Up Forward, Arrows Back Forward, Arrows Down Up, Arrows Swap, Arrows Towbar, Asterisk, Audio Wave, AWD, AWD Arrows, Bank, Battery 30, Battery Frame Standing Minus, Battery Frame Standing Plus, Battery Standing 20, Battery Standing 30, Bell Slashed, Bell Speedo, Bell Speedo Slashed, Bills, Bills Loop Forward, BLIS, Bluetooth, Bluetooth Connected, Bluetooth Connections, Book With Text, Bookmark, Books, Box List Papers, Briefcase, Browse, Bulb, Calendar 1 Dot, Calendar 7 Dots, Calendar Date, Calligraphy Pen, Camera, Cancel Route, Car Battery, Car Framed, Car Roof Box, Car Sensors, Card Key, Cars, Charger Wireless, Charging Battery, Charging Note, Checklist, Checklist Car, Checklist Paper, Child, Child Lock Unlocked, Circle, Circle Backwards, Circle Forward 15, Cloud, Cloud Connect, Cobalt, Coffee Cup, Cog, Cog Car, Cog O, Cog Profile, Compass, Contrast, Credit Card, Credit Cards, Cube 3D, Curved Road Car, Defroster Front, Defroster Rear, Display, Document, Download, Download Cloud, Download Paper, Download Square, Drop Minus, Email, Engine, Exclamation Light Bulb, Fan 3 Blade, Fan Seat Left, Fan Seat Right, Fan Slashed, Ferry, Foglight Front, Foglight Rear, Front Sensor, Fuel Pump Handle, Fuel Pump Hybrid, FWD, Garage Car, Globe, Glovebox, Graph Average, Graph Bars Speedo, Graph Lines, Group, Hands Steering Wheel, Hangtag, Heat, Heat Seat Left, Heat Seat Right, Heat Steering Wheel, Home Charger, Hood, Horn, Hotspot, Hourglass, Human, I On Book, ID Card, ID Card Slashed, Image, Ion, Key, Key Fob, Key Loop Forward, Key Tag, Laptop, Layers, Leaf, Leave The Car, Light Bulb, Light Left, Light Right, Lightning Bolt Circled, Lightning Bolt Connected, Lights, Link, Linked Broken, List, List Square, LKA, Lock Steering Wheel, Loop Backwards Rounded, Loop Forward, Loop Forward Car, Low Beam, Map Pin Lightning Bolt, Maximise, Merge, Microphone Speech Bubble, Minus, Mirror Left Adjust, Mirror Left Tilt, Mirror Right, Mirror Right Adjust, Mirror Right Fold, Mirror Right Tilt, Moon Roof, Navigation Arrow, Navigation Arrow Circled, Note, Now Playing, ODO, Office Building, Package, Paper Plane, Parking, Photo, Pin Car, Pin Road Ahead, Pin Road Right, Pin Square, Plug, Plus Circled, Profile Arrows In, Profile Circled, Profile Stars Auto, Profiles, QR Code Scanner, Question Mark Circled, Queue, R Brake, Rain, Rear Window Wiper, Receipt, Rectangle Arrow Out, Recycle, Ribbon, Road, Rotate Cube 3D, Route, Screen Landscape, Seat, Seat Headrest Fold, Seat Right, Seat Right Massage, Shield, Shield Checked, Shield Checked Car, Shield Plus, Smiley Neutral, Snowflake, Snowflake Sun, SOS Call, Speech Bubble Text, Speech Bubble Three Dots, Speech Bubbles, Speedo, Speedo Car, Square, Square Circled, Star Circled, Start, Steering Stacked, Steering Wheel A - Right, Steering Wheel Exclamation Mark, Steering Wheel Seat Right, Stop Sign, Structure, Suitcase, Sun And Cloud, Sun Roof Close, Sun Roof Open, Temperature Cog, TPMS, Triangle Back, Turn Right Sign, Turtle, Upload, Video, Video Framed, Voice Assistant Speaking, Volume, Volume Low, Volume Medium, Volume Off, Volvo Cars App, Volvo Iron Mark, Wallet, Warning Car Front, Warning Eye, Warning Speedo OFF, Warning Triangle, Water Windscreen Wiper, Wheel, Wheel Moving, WiFi, Windscreen Washer, Windscreen Wiper, Wrench And Screwdriver, Wrench House, Wrench Papers Removed icons: None

  • #4442 c9a2ec6 Thanks @design-system-automation! - Update icons to version 20251124.1 New or updated icons: Airbag On, Arrow Deflected Up, Arrow Down Back, Arrow Up Forward, Bluetooth Connected, Bluetooth Connections, Brake, Brake Fluid, Car Rear, Charger Wireless, Connected Stethoscope, Diagnostics, Download Square, Evasive Manoeuvre Assist, Exclamation Mark, Fan Car Front, Fan Seat Left, Fan Seat Left Auto, Fan Seat Right, Fan Seat Right Auto, Ferry, Ferry And Train, Filter Volume, Forward Collision Warning, Graph Average, Graph Bars Speedo, Heat Seat Left, Heat Seat Left Auto, Heat Seat Right, Heat Seat Right Auto, Heat Steering Wheel, Heat Steering Wheel Auto, Hill Upward Car Side, Hotspot, LCA Left, LDW Left, LKA, Lock Car, Lock Car Side Profile, Lock Steering Wheel, Map Pin, Navigation Arrow, Ok, Park Assist Camera, Parking Sensors, Pin Road Ahead, Pin Road Left, Pin Road Right, Search Smart, Seat Belt Adjust, Snowflake, Steering Wheel Seat Left, Steering Wheel Seat Left Auto, Steering Wheel Seat Right, Steering Wheel Seat Right Auto, Volume Car Off, Warning Speedo, Warning Speedo OFF, WiFi Removed icons: None

  • #4307 cb52c5d Thanks @design-system-automation! - Update icons to version 20250922.1 New or updated icons: 2X Circled, 6 Dots, 6 Squares, ABS, Airbag Off, Airbag On, American Football, AR, Arrow Back CH, Arrow Back EST, Arrow Back ST, Arrow Forward CH, Arrow Forward EST, Arrow Forward ST, Arrow Merging, Arrows Back Forward, Arrows Back Forward Square, Arrows Down Up, Arrows Multidirectional Car, Arrows Towbar, Audio Book, Audio Wave, Basketball, Battery Standing 10, Battery Standing 20, Bell Speedo, Bell Speedo Slashed, BLIS, Blocked, Brake Pedal, Browse, Car Sensors, Car Side Profile, Cars, Charging Battery, Charging Battery Standing, Checkmark Pin, Circle, Cog Car, Credit Card, Cube 3D, Curved Road Car, Digital Key, Engine Coolant Temp, Exclamation Mark, Exclamation Mark Circled, Eye Slashed, Fan Seat Left, Ferry, File TXT, Fuel Pump Hybrid, Garage Car, Globe, Graph Average, Hands Steering Wheel, Heart Light Bulb, Heat Steering Wheel, Home Charger, Home Connected, Home Work, Hourglass, Info Circled, Jerrycan, Keyboard, Keyboard Down, LIM, Lock Open Trunk, Lock Trunk, Menu, Microphone Speech Bubble, Mirror Left Fold, Mirror Left Tilt, Mirror Right Tilt, Navigation Arrow, Navigation Arrow Circled, Newspaper, Next, Office Supplies, Oil, Park Assist Camera, Parking Squared, Pause, Phone Shield, Pin Car, Play Circled, Plus Circle Backwards, Previous, Profile, Profile Circled, Profiles, Question Mark Circled, Receipt, Road, Road Slashed, Route, Satellite Radio, Screen Clean, Seat Right, Seat Third Row, Sensor Car Inside, Shield Checked, Shield Device, SOS Call, Speech Bubbles, Speedo Car, Stack, Stacked Squares Car, Star Circled, Steering Wheel, Steering Wheel A - Left, Steering Wheel A - Right, Suspension, Tire, TPMS, Triangle, Triangle Back, Triangle Down, Triangle Forward, Triangle Up, Trunk Arrow, Video, Voice Assistant Speaking, Volume Speech Bubble, Wall Charger, Wallet, Warning, Warning Cars, Warning Speedo, Warning Speedo OFF, Water Windscreen Wiper, Wheel, WiFi, Windscreen Washer, X Search Removed icons: None
  • #4286 6f6da34 Thanks @design-system-automation! - Update icons to version 20250814.1 New or updated icons: AC, Address Book, Air Filter Particles, Airbag, Alcohol Lock, Ambient Light, AQI Circled, Arrow Back, Arrow Curved Back, Arrow Curved Left, Arrow Down Forward, Arrow Forward, Bank, Battery 90, Battery Frame Standing, Battery Standing 30, Battery Standing 60, Battery Standing 70, Bell, Bill, Book With Text, Box List Papers, Brake, Calendar, Calendar 7 Dots, Calligraphy Pen, Camera, Car, Car Framed, Car Moving, Car Side Arrow Inside, Car Side Profile Cropped, Checklist, Checklist Car, Checklist Paper, Checkmark, Checkmark Circled, Chevron Back, Chevron Down, Chevron Forward, Chevron Up, Child Lock Locked, Child Lock Unlocked, Chip Exclamation Mark, Chip Question Mark, Circle Arrow, Circle Backwards, Circle Grid, Clipboard, Clock, Clock Car, Clock Circle Forward Large, Clock Dotted, Cloud, Co2, Coffee Cup, Cog, Compass, Computer, Defroster Front, Defroster Rear, Diamond Sparkling, Document, Drop, Drops Car, Email, Engine, Exclamation Mark Brake, Exclamation Mark Car, Exclamation Mark Circled, External Link, Eye, Eye Slashed, Fan, Fan 3 Blade, Fan Seat Left Auto, Fan Seat Right, Fast Charger, Filter, Fire, Foglight Front, Foglight Rear, Fuel Pump, Glovebox, Graph Bars, Graph Bars Speedo, Group, H Brake, Hands Steering Wheel, Hangtag, Heat Seat Right, Heating, High Beam, Home, Honk And Flash, Hood, I On Book, Image, Image Framed, Info Circled, Key, Leaf Circle Forward, Leaf Loop Backward, Leaf Loop Forward, Leaf Simple, Leave The Car, Light Bulb, Light Left, Light Right, Lightning Bolt, Lightning Bolt Connected, Link, List, Lock, Lock Car, Map, Map Pin, Maximise, Microphone Slashed, Minimise, Minus, Mirror Right Fold, Mobile Phone, Moon, Mountains Road, Note USB, Package, Papers, Pen, People Square, Percentage Circled, Phone, Phone Down, Play, Plug, Plug AC, Plug DC, Plus, Plus Circle Forward, Plus Circled, Plus Mobile Phone, Profile, Profiles, Pump Charging, Question Mark Circled, Question Mark Circled Dotted, Rear Window Wiper, Rear Window Wiper Intermit, Rectangle Arrow Out, Search, Search Car, Search Car Pulse, Seat, Seat Belt, Seat Fold, Seat Massage, Seat Right Massage, Shield Checked Car, Shopping Bag, Smart Watch, Snowflake, Snowflake Sun, Speech Bubble, Speech Bubble Text, Speech Bubble Three Dots, Speech Bubbles, Speedo Set, Square Grid, Star, Steering Wheel, Stop Sign, Storage, Suitcase, Sun Roof Close, Sun Roof Open, Sunshade Open, Table, Three Dots, Tools, Trash Can, Triangle Up, Trophy, Trunk Open, Trunk Space, Upload, Volume, Volvo Cars App, Warning, Warning Eye, Warning Triangle, Water Windscreen Wiper, Window, Window X, Windscreen Washer, Windscreen Wiper, Wrench, Wrench And Screwdriver, Wrench House, Wrench Papers, X, X Circled Removed icons: None
  • #4272 c5c7eef Thanks @niketsonivc! - BREAKING CHANGE: Separate localized components to fix tree shaking and optional dependencies

    Localized icon components (CloseIconButton, NextIconButton, PrevIconButton) have been moved to a separate entry point to enable proper tree shaking and ensure react-locale-provider is only required when using localized features.

    Migration required:

    Before:

    import { Icon, IconButton, CloseIconButton } from '@volvo-cars/react-icons';

    After:

    // Regular components (no change)
    import { Icon, IconButton } from '@volvo-cars/react-icons';
    // Localized components (new import path)
    import {
    CloseIconButton,
    NextIconButton,
    PrevIconButton,
    } from '@volvo-cars/react-icons/localized';
  • #4114 4c59e83 Thanks @design-system-automation! - Update light mode default icon foreground color to be non-transparent Remove deprecated icons ema and x Update icon paths on the CDN to v5

  • #4085 1611966 Thanks @jacobrask! - Make icons loading=lazy by default. Pass loading=eager for high priority icons used above the fold.

  • #3862 fef2c32 Thanks @design-system-automation! - Renamed/deprecated icons: x -> x-app (branded), ema -> ema-circled. New or updated icons: ABS Brake, Air Distribution Face, Air Distribution Feet, Airbag, Airbag Off, Ambient Light, AWD, Bending Lights, BLIS, Brake, Brake Fluid, Brake Light Crossed, Bulb, Car Batteries, Car Battery, Car Side Arrow Inside, Child Lock Locked, Child Lock Unlocked, Circle Forward Cropped, Defroster Front, Defroster Rear, Electric Windscreen, Engine, Engine Coolant Temp, ESC, ESC Off, ESC Slashed, Exclamation Mark Brake, Fan, Fan Seat Left, Fan Seat Right, Foglight Front, Foglight Rear, Forward Collision Warning, Fuel Pump, FWD, Heat, Heat Seat Left, Heat Seat Right, Heat Steering Wheel, High Beam, Hood, Horn, I On Book, Indicators, Indicators Trailer, Leaf Simple, Lights, Lights Adjust, LKA Intervention Left, LKA Intervention Right, Lock, Lock Car, Lock Open, Lock Steering Wheel, Loop Forward Car, Low Beam, Mirror Left Adjust, Mirror Left Fold, Mirror Right Adjust, Mirror Right Fold, Off, Oil, Oil Level, Parking Brake, Parking Sensors, Phone, Plug, Rear Window Wiper, Rear Window Wiper Intermit, Seat Belt, Sensor Car Inside, Snowflake, Speedo Car, Speedo Set, Temperature Cog, Tow Truck, TPMS, TPMS TC, Trailer, Trunk Open, Turtle, Voice Assistant Speaking, Warning Door Sensor, Warning Triangle, Window X, Windscreen Washer, Windscreen Wiper, Wrench
  • #3843 761f3fd Thanks @AlexMPLeite! - Add role prop to the Wordmark component Fix Wordmark alt prop default to be Volvo
  • #3831 a9700f7 Thanks @design-system-automation! - Update icons to version 20241108.1 New or updated icons: AWD Arrows, Brake Pedal Auto, Brake US, Car Moving, Car Side Profile Cropped, Clipboard, Controller, Fan Seat Left Auto, Fan Seat Right Auto, Folder, Heat Seat Left Auto, Heat Seat Right Auto, Heat Steering Wheel Auto, Profile Stars Auto, QR Code Scanner, Speech Bubble, Speech Bubble Three Dots, Start, Steering Wheel Seat Left Auto, Steering Wheel Seat Right Auto, Wallet Removed icons: None
  • #3817 3380851 Thanks @design-system-automation! - Update icons to version 20241029.1 New icons: Arrow Merging, Calligraphy Pen, Car Moving, Code, Heart Hands, People Square, Phone Shield, Planet Hand, Superhuman Light Bulb Renamed icons: Air Distribution Windshield -> Air Distribution Windscreen
  • #3748 399f0d6 Thanks @github-actions! - Update icons to version 20241001.1 Removed icons: home-delivery, moving-truck. Use delivery-truck instead.

  • #3755 98d156e Thanks @github-actions! - Update icons to version 20241003.1 New or updated icons: Package Removed icons: Car Active

  • #3701 2d41f04 Thanks @jacobrask! - Add BrandedIcon component Export IconName and BrandedIconName types Add compat function for thirdparty/branded icons

  • #3693 7effc2f Thanks @jacobrask! - Require @volvo-cars/css 1.15.0

  • #3691 2b1bc26 Thanks @jacobrask! - Add empty alt attribute if none was given.

    When you set role=presentation the alt attribute is optional, but many a11y audit tools flag this anyway.

  • #3678 766ff04 Thanks @jacobrask! - Add IconButton iconType to icon codemod Tweak compat function return types
  • #3674 9d14a55 Thanks @jacobrask! - Add codemod to replace type prop with an icon prop Add typesVersions to package.json to increase TypeScript compatibility with /compat export
  • #3550 b8e9b4e Thanks @github-actions! - adds: ‘circleplus-40’,‘circleplus-24’,‘circleplusfilled-40’,‘circleplusfilled-24’,‘link-16’,‘paperplane-40’,‘paperplane-24’,‘paperplanefilled-40’,‘paperplanefilled-24’,‘digitalkey-32’,‘digitalkey-40’,‘paperclip-24’,‘paperclip-40’,‘paperclip-16’
  • #3414 39de273 Thanks @github-actions! - adds: ‘other-circlefilled-24’,‘other-smileysad-40’,‘other-smileysomewhatsad-40’,‘other-smileyneutral-40’,‘other-smileysomewhathappy-40’,‘other-smileyhappy-40’,‘other-smileysadfilled-40’,‘other-smileysomewhatsadfilled-40’,‘other-smileyneutralfilled-40’,‘other-smileysomewhathappyfilled-40’,‘other-smileyhappyfilled-40’,‘office-homework-24’
  • #3385 61045a1 Thanks @github-actions! - Adds icons: ‘other-link-24’,‘other-bookmark-24’,‘other-bookmark-16’ Add ‘communication-chat’, ‘other-bookmark’, ‘other-help’, ‘other-home’, and ‘shop’ to IconButton
  • #3123 d0ea09c Thanks @jacobrask! - adds: ‘mountains-24’,‘shop-16’,‘electrification-16’,‘other-chart-16’,‘other-van-16’,‘other-fire-24’,‘other-fire-40’,‘other-glass-24’,‘other-glass-40’,‘other-legal-24’,‘other-legal-40’,‘other-unlocked-24’,‘other-unlocked-40’,‘other-shieldplus-40’,‘other-animal-40’,‘other-help-16’,‘other-profilecog-16’,‘other-grid-16’,‘other-home-16’,‘other-photo-24’,‘other-table-24’,‘other-structure-24’,‘other-cubedivided-24’,‘other-foldercog-24’,‘other-crop-24’,‘other-carframed-24’,‘other-carstacked-24’,‘communication-chat-16’,‘car-features-16’,‘car-traffic-24’,‘car-traffic-40’,‘car-roadsideassistance-64’,‘car-roadsideassistance-40’,‘car-roadsideassistance-24’
  • #2978 ed6df21 Thanks @github-actions! - Adds icons: ‘error-64’,‘list-16’,‘nofilter-32’,‘nofilter-24’,‘office-servicetools-64’ IconButton: Add list, map-mappin, map-route, print, save, support, time

  • #3007 b724af2 Thanks @github-actions! - adds: ‘error-16’

  • #2800 8de7c2ee5 Thanks @jacobrask! - - Merge Icon class names with original classes with cssMerge
    • Allow passing color=inverted to Icon
    • Allow passing style to Icon and IconButton
    • Add TypeScript types for more events
  • #2774 1ea229b6 Thanks @jbvolvo! - New icons: “save-16”, “print-16”, “support-16”, “paperdownload-24”, “alarm-16”, “other-fallbackvideo-24”, “thirdparty-x-24”,
  • #2666 2d503297 Thanks @jbvolvo! - Add new icons: alarm-64, calendar-16, calendar-64, delete-16, edit-16, locked-64, more-16, ownersmanual-64, support-64 Remove unsupported icon checkmarkcirclefilled-32
@volvo-cars/react-layout-utils
  • Updated dependencies [78072e2]:
    • @volvo-cars/react-utils@1.2.0
  • Updated dependencies [3cc2a9e]:
    • @volvo-cars/react-utils@1.1.0
  • #2216 47539537 Thanks @alizeait! - Append “use client” to the top of every entry point to support React server components

  • Updated dependencies [47539537]:

    • @volvo-cars/react-utils@1.0.2
  • #1538 2cfef498 Thanks @fbjaras! - useElementDimensions now returns initial dimensions even when disabled
  • Rename exported ES modules to .mjs to enable using the package from other ES modules
  • Rename ambigous browser field from export map to fix Jest environments
  • Updated dependencies [e5debdf8]:
    • @volvo-cars/react-utils@0.3.0
  • #673 90782cd3 Thanks @harrymansworth! - fixes issue where useElementDimensions returns a null ref and no dimensions on first mount

  • Updated dependencies [865b4146]:

    • @volvo-cars/react-utils@0.2.0
  • Updated dependencies [3761d80a]:
    • @volvo-cars/react-utils@0.1.0

[0.0.1]

  • Initial release
@volvo-cars/react-locale-provider
  • #4403 0c408e0 Thanks @niketsonivc! - Replace CalendarI18nProvider with LocaleProvider from @volvo-cars/react-locale-provider package Not throwing an error in useLocale and instead logging a warning.
@volvo-cars/react-messages
  • #5062 908334e Thanks @jacobrask! - Render InlineMessage close buttons whenever onClose is provided, using a localized label. Require @volvo-cars/react-locale-provider as a peer dependency.
  • #4822 ebdbe8b Thanks @PaoloGiraudi! - - The ToastMessage component now supports a title prop
    • The Toast component now requires @volvo-cars/react-locale-provider to automatically translate the “close” icon button
  • #4933 cf109a6 Thanks @copilot-swe-agent! - Widen the @volvo-cars/css peer dependency range to accept 2.x releases while preserving each package’s existing minimum supported CSS version.
  • Updated dependencies [c32d8b9, cb52c5d, bfaa0f5]:
    • @volvo-cars/react-icons@3.1.0
    • @volvo-cars/react-headless@0.24.0
  • Updated dependencies [6e3357d, 6f6da34]:
    • @volvo-cars/react-headless@0.23.5
    • @volvo-cars/react-icons@3.0.1
  • Updated dependencies [83ce87f]:
    • @volvo-cars/react-headless@0.23.4
  • Updated dependencies [c5c7eef, c951763, 76360ae]:
    • @volvo-cars/react-icons@3.0.0
    • @volvo-cars/react-headless@0.23.3
  • Updated dependencies [b053f7d]:
    • @volvo-cars/react-icons@2.2.0
    • @volvo-cars/react-headless@0.23.2
  • Updated dependencies [5122c6b, a523335, 5122c6b]:
    • @volvo-cars/react-icons@2.1.0
    • @volvo-cars/react-headless@0.23.2
@volvo-cars/react-scroll-utils
  • #4206 73174be Thanks @cdagli! - Add React 19 to peerDependencies

  • Updated dependencies [73174be]:

    • @volvo-cars/react-layout-utils@0.7.5
    • @volvo-cars/react-utils@1.2.1
  • Updated dependencies [78072e2]:
    • @volvo-cars/react-utils@1.2.0
    • @volvo-cars/react-layout-utils@0.7.4
  • Updated dependencies [3cc2a9e]:
    • @volvo-cars/react-utils@1.1.0
    • @volvo-cars/react-layout-utils@0.7.3
  • #2216 47539537 Thanks @alizeait! - Append “use client” to the top of every entry point to support React server components

  • Updated dependencies [47539537]:

    • @volvo-cars/react-layout-utils@0.7.2
    • @volvo-cars/react-utils@1.0.2
  • #2073 6ab5f0cb Thanks @alizeait! - Use useLayoutEffect from @volvo-cars/react-layout-utils to avoid SSR warnings
  • Updated dependencies [2cfef498]:
    • @volvo-cars/react-layout-utils@0.7.0
  • Updated dependencies [def39568, 0be04de7]:
    • @volvo-cars/react-layout-utils@0.6.0
    • @volvo-cars/react-utils@1.0.0
  • #1388 4d04955d Thanks @jacobrask! - Add explicit children to component types, for compatibility with @types/react v18
  • Rename exported ES modules to .mjs to enable using the package from other ES modules
  • Rename ambigous browser field from export map to fix Jest environments
  • Updated dependencies [fbde12ec, fbde12ec]:
    • @volvo-cars/react-layout-utils@0.4.0
  • Updated dependencies [e5debdf8]:
    • @volvo-cars/react-utils@0.3.0
  • Updated dependencies [865b4146]:
    • @volvo-cars/react-utils@0.2.0

[0.0.1]

  • Initial release
@volvo-cars/react-select
  • #4933 cf109a6 Thanks @copilot-swe-agent! - Widen the @volvo-cars/css peer dependency range to accept 2.x releases while preserving each package’s existing minimum supported CSS version.
  • Updated dependencies [2f02446, e9f8c10, b5166cd, 3384f7c]:
    • @volvo-cars/react-calendar@0.5.0
    • @volvo-cars/react-icons@3.2.1
    • @volvo-cars/react-forms@1.13.0
  • Updated dependencies [6e3357d, 6f6da34]:
    • @volvo-cars/react-headless@0.23.5
    • @volvo-cars/react-icons@3.0.1
    • @volvo-cars/react-calendar@0.3.5
  • Updated dependencies [83ce87f]:
    • @volvo-cars/react-headless@0.23.4
  • Updated dependencies [b053f7d]:
    • @volvo-cars/react-icons@2.2.0
    • @volvo-cars/react-calendar@0.3.3
    • @volvo-cars/react-headless@0.23.2
  • Updated dependencies [5122c6b, a523335, 5122c6b]:
    • @volvo-cars/react-icons@2.1.0
    • @volvo-cars/react-calendar@0.3.2
    • @volvo-cars/react-headless@0.23.2
  • #4206 73174be Thanks @cdagli! - Add React 19 to peerDependencies

  • #4225 f8d977b Thanks @PaoloGiraudi! - add better disabled state styles to dropdown trigger

  • Updated dependencies [73174be]:

    • @volvo-cars/react-calendar@0.3.1
    • @volvo-cars/react-headless@0.23.2
    • @volvo-cars/react-icons@2.0.1
  • Updated dependencies [e059e19]:
    • @volvo-cars/react-headless@0.23.1
  • Updated dependencies [dc48056, d53e15e]:
    • @volvo-cars/react-headless@0.23.0
  • Updated dependencies [476655c, c671fd8, cb3bdbc]:
    • @volvo-cars/react-headless@0.22.0
    • @volvo-cars/react-calendar@0.3.0
  • Updated dependencies [06a20b0]:
    • @volvo-cars/react-headless@0.21.0
  • Updated dependencies [6ec4cdd]:
    • @volvo-cars/react-headless@0.20.0
  • Updated dependencies [9b91251]:
    • @volvo-cars/react-headless@0.19.1
  • Updated dependencies [8d53a25, 4c59e83, 78072e2, 1611966]:
    • @volvo-cars/react-icons@2.0.0
    • @volvo-cars/react-headless@0.19.0
    • @volvo-cars/react-calendar@0.2.5
  • Updated dependencies [fa7fb77]:
    • @volvo-cars/react-headless@0.18.2
  • Updated dependencies [6607ae1]:
    • @volvo-cars/react-headless@0.18.1
  • Updated dependencies [29d46e6]:
    • @volvo-cars/react-calendar@0.2.3
  • Updated dependencies [13fd098, 8656cab, 7f8347f]:
    • @volvo-cars/react-headless@0.17.2
    • @volvo-cars/react-icons@1.1.1
    • @volvo-cars/react-calendar@0.2.1
  • Updated dependencies [1c20103, 3d158a2]:
    • @volvo-cars/react-calendar@0.2.0
  • Updated dependencies [b1063b4]:
    • @volvo-cars/react-headless@0.17.0
@volvo-cars/react-table
  • #4933 cf109a6 Thanks @copilot-swe-agent! - Widen the @volvo-cars/css peer dependency range to accept 2.x releases while preserving each package’s existing minimum supported CSS version.
  • Updated dependencies [c32d8b9, cb52c5d, bfaa0f5]:
    • @volvo-cars/react-icons@3.1.0
    • @volvo-cars/react-headless@0.24.0
  • Updated dependencies [6e3357d, 6f6da34]:
    • @volvo-cars/react-headless@0.23.5
    • @volvo-cars/react-icons@3.0.1
  • Updated dependencies [83ce87f]:
    • @volvo-cars/react-headless@0.23.4
  • Updated dependencies [c5c7eef, c951763, 76360ae]:
    • @volvo-cars/react-icons@3.0.0
    • @volvo-cars/react-headless@0.23.3
  • Updated dependencies [b053f7d]:
    • @volvo-cars/react-icons@2.2.0
    • @volvo-cars/react-headless@0.23.2
  • Updated dependencies [5122c6b, a523335, 5122c6b]:
    • @volvo-cars/react-icons@2.1.0
    • @volvo-cars/react-headless@0.23.2
  • #4206 73174be Thanks @cdagli! - Add React 19 to peerDependencies

  • Updated dependencies [73174be]:

    • @volvo-cars/react-headless@0.23.2
    • @volvo-cars/react-icons@2.0.1
  • Updated dependencies [e059e19]:
    • @volvo-cars/react-headless@0.23.1
  • Updated dependencies [dc48056, d53e15e]:
    • @volvo-cars/react-headless@0.23.0
  • Updated dependencies [f7eeff9, 7f8347f]:
    • @volvo-cars/css@1.20.0
    • @volvo-cars/react-icons@1.1.1
  • Updated dependencies [6dea1d3]:
    • @volvo-cars/css@1.19.0
  • Updated dependencies [b199822]:
    • @volvo-cars/css@1.18.2
@volvo-cars/react-tooltip
  • #4933 cf109a6 Thanks @copilot-swe-agent! - Widen the @volvo-cars/css peer dependency range to accept 2.x releases while preserving each package’s existing minimum supported CSS version.
  • Updated dependencies [80cbccf]:
    • @volvo-cars/react-headless@0.24.1
  • Updated dependencies [6e3357d]:
    • @volvo-cars/react-headless@0.23.5
  • Updated dependencies [83ce87f]:
    • @volvo-cars/react-headless@0.23.4
  • Updated dependencies [c951763, 76360ae]:
    • @volvo-cars/react-headless@0.23.3
  • #4206 73174be Thanks @cdagli! - Add React 19 to peerDependencies

  • Updated dependencies [73174be]:

    • @volvo-cars/react-headless@0.23.2
  • Updated dependencies [e059e19]:
    • @volvo-cars/react-headless@0.23.1
  • Updated dependencies [dc48056, d53e15e]:
    • @volvo-cars/react-headless@0.23.0
  • Updated dependencies [476655c]:
    • @volvo-cars/react-headless@0.22.0
  • Updated dependencies [06a20b0]:
    • @volvo-cars/react-headless@0.21.0
  • Updated dependencies [6ec4cdd]:
    • @volvo-cars/react-headless@0.20.0
  • Updated dependencies [9b91251]:
    • @volvo-cars/react-headless@0.19.1
  • Updated dependencies [78072e2]:
    • @volvo-cars/react-headless@0.19.0
  • Updated dependencies [94e7dbc]:
    • @volvo-cars/react-headless@0.18.3
  • Updated dependencies [fa7fb77]:
    • @volvo-cars/react-headless@0.18.2
  • Updated dependencies [6607ae1]:
    • @volvo-cars/react-headless@0.18.1
  • Updated dependencies [13fd098, 8656cab]:
    • @volvo-cars/react-headless@0.17.2
  • Updated dependencies [b1063b4]:
    • @volvo-cars/react-headless@0.17.0
  • Updated dependencies [5433ed9, 44ec7d0]:
    • @volvo-cars/react-headless@0.16.0
  • Updated dependencies [929d502]:
    • @volvo-cars/react-headless@0.15.2
@volvo-cars/react-utils
  • #5031 8983e9d Thanks @jacobrask! - Add useDismiss hook (and UseDismissOptions, UseDismissResults, DISMISS_COOKIE_NAME) for managing dismissible UI with in-memory or cookie-based dismissal storage.

  • #5043 e7793ea Thanks @jacobrask! - useKeyPress: keysToListenTo now accepts string | string[]. Pass an array for multiple keys: useKeyPress(['ArrowLeft', 'ArrowRight'], cb). The previous comma- and/or space-delimited string form remains supported for backward compatibility.

    Additionally, the event listener is no longer re-registered when the callback changes or when an inline array is passed — the hook now stabilises both internally.

  • #2216 47539537 Thanks @alizeait! - Append “use client” to the top of every entry point to support React server components
  • Rename ambigous browser field from export map to fix Jest environments
  • Rename exported ES modules to .mjs to enable using the package from other ES modules

[0.0.1]

  • Initial release
@volvo-cars/stylelint-config
  • #4914 24cdb03 Thanks @jacobrask! - Fix no-unnecessary-css so selectors that also appear inside selector lists are skipped during exact-match reporting.

  • #4933 cf109a6 Thanks @copilot-swe-agent! - Widen the @volvo-cars/css peer dependency range to accept 2.x releases while preserving each package’s existing minimum supported CSS version.

  • #4650 8cf5ff3 Thanks @jacobrask! - Extract design system rules to shared package Allow only local CSS variables if they resolve to a valid value or if they can’t be resolved (e.g. defined outside of the file)
  • #4633 7050f39 Thanks @jacobrask! - Add no-unecessary-css rule to warn about CSS rules that can be trivially replaced with a utility class
  • #4568 bf3573c Thanks @jacobrask! - Add design tokens plugins, rules and autofixers:

    • volvo-cars/design-system-colors
    • volvo-cars/design-system-typography
    • volvo-cars/design-system-spacing
  • #4595 2014525 Thanks @jacobrask! - Migrate to Stylelint 17

    • Stylelint 17 required: The stylelint peer dependency is now ^17.0.0 (was ^15.3.0). Consumers must upgrade Stylelint.
    • Peer dependency on @volvo-cars/css: The config now has a peer dependency on @volvo-cars/css.
    • Node.js ≥ 22 required: Stylelint 17 drops support for Node.js < 20.19.0 and Node 20 will become unmaintained in 2026-04
    • ESM only: The config package is now an ES module. Stylelint 17 removes CommonJS support.
    • Rule renamed: liberty/use-logical-speccsstools/use-logical. If you reference this rule in your own config overrides or stylelint-disable comments, update the rule name.
    • Plugin replaced: stylelint-use-logical-spec (abandoned) replaced with stylelint-use-logical from csstools. The options API (except, direction) is identical.
    1. Upgrade stylelint to ^17.0.0
    2. Replace any references to liberty/use-logical-spec with csstools/use-logical
    3. Ensure Node.js ≥ 22.0.0
  • #2017 ca667914 Thanks @ghops-volvo-cars! - - Update dependency stylelint-config-recommended to v11
    • Update stylelint peerDependency to 15.3.x
    • Remove all deprecated stylistic rules. Use prettier instead.
  • #1849 08a8146d Thanks @jacobrask! - Reserve the list of exported classes from @volvo-cars/css if that package is installed
  • #1719 2fb1ced3 Thanks @jacobrask! - Remove ‘length-zero-no-unit’ stylelint rule, some values without units will break calc