Skip to content

Update dependency @chakra-ui/react to v3 - #132

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-chakra-ui-monorepo
Open

Update dependency @chakra-ui/react to v3#132
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-chakra-ui-monorepo

Conversation

@renovate

@renovate renovate Bot commented Jan 25, 2026

Copy link
Copy Markdown

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
@chakra-ui/react (source) ^2.8.2^3.0.0 age confidence

Release Notes

chakra-ui/chakra-ui (@​chakra-ui/react)

v3.37.0

Compare Source

Minor Changes
  • #​10877
    afc8b48
    Thanks @​kalisaNkevin! - [New]
    DateInput
    : Add a segmented date field for typing dates without a calendar.

    import { DateInput } from "@chakra-ui/react"
    <DateInput.Root>
      <DateInput.Label />
      <DateInput.Control>
        <DateInput.Segments />
      </DateInput.Control>
      <DateInput.HiddenInput />
    </DateInput.Root>

    Each part of the date is its own keyboard-navigable segment, ordered and
    formatted by locale. Supports selectionMode="range", min/max, and
    granularity with formatter for time-only input.

  • #​10939
    7b027d4
    Thanks @​segunadebayo! - - Accordion,
    Collapsible, Dialog, Drawer, TreeView
    : Add hideMode to choose how content
    that stays mounted is hidden when closed. The default, "display-none", uses
    the hidden attribute and keeps effects running, so a video keeps playing and
    a subscription stays open while closed. "activity" uses React 19 Activity
    to pause those effects instead.

    <Dialog.Root hideMode="activity" />

    It only applies while the content stays mounted. unmountOnExit removes the
    tree on close, so hideMode never runs.

    • Dialog, Drawer: Add data-autofocus and data-no-autofocus to pick
      what gets focus when the overlay opens, without reaching for
      initialFocusEl and a ref. Mark chrome like the close button to skip it, or
      mark the real target directly.

      <Dialog.Content>
        <Dialog.CloseTrigger data-no-autofocus />
        <input data-autofocus />
        <button>Save</button>
      </Dialog.Content>

      Focus goes to initialFocusEl, then [data-autofocus], then the first
      tabbable element without [data-no-autofocus], then the content root.

    • NumberInput: Add largeStep and smallStep for keyboard stepping. Hold
      Shift for largeStep, Alt for smallStep. They default to 10 * step
      and step / 10, which is what the arrow keys already did, so existing
      inputs behave the same until you set them.

      <NumberInput.Root step={1} largeStep={20} smallStep={0.5} />
    • Slider: Add largeStep, applied on Shift and on PageUp/PageDown.
      Defaults to 10 * step, matching the previous behavior.

    • FocusTrap: Add persistentElements to keep portalled content inside the
      trap when it isn't reachable through aria-controls or aria-expanded.
      Pass getters so the elements resolve lazily, after they mount.

      <FocusTrap
        persistentElements={[() => document.getElementById("toast-region")]}
      />
    • Toast: createToaster now takes a content type parameter, so title
      and description can be something other than ReactNode. It still defaults
      to ReactNode.

      interface Content {
        id: string
        text: string
      }
      
      const toaster = createToaster<Content>({ placement: "top-end" })
      toaster.create({ title: { id: "save", text: "Saved" } })
  • #​10676
    8af2836
    Thanks @​isBatak! - createOverlay: Add a
    TReturn generic so awaiting open() returns the value passed to close()
    instead of any.

    interface DialogResult {
      message: string
    }
    
    const dialog = createOverlay<DialogProps, DialogResult>(Component)
    
    const result = await dialog.open("id", props)
    if (result) {
      console.log(result.message)
    }

    TReturn defaults to unknown, so untyped open() calls may need narrowing
    now. The result can also be undefined, since close(id, value) doesn't
    require a value.

  • #​10949
    1f28ce9
    Thanks @​Adebesin-Cell! - Updated Ark UI
    to v5.39.0

    Relevant additions and improvements:

    • Overlays & Collapsible: New hideMode prop controls how kept-mounted
      content is hidden when closed ('display-none' or 'activity' for
      React 19)

      Affects Dialog, Drawer, Popover, Accordion, TreeView, and related
      components

    • Number Input & Slider: Added configurable keyboard stepping with
      largeStep and smallStep props for Number Input, and largeStep for
      Slider

    • Dialog & Drawer: New data-autofocus and data-no-autofocus attributes
      for managing focus when overlays open

    • Focus Trap: Added persistentElements option to treat portalled content
      as part of the trap

    • Presence: New onEnterComplete callback for when enter animations
      finish (mirrors existing onExitComplete)

      Affects Color Picker, Combobox, Date Picker, Dialog, Drawer, Floating
      Panel, Hover Card, Menu, Popover, Select, Tooltip, and Tour

    • Date Input & Date Picker: Improved locale support for native numerals,
      better constraint handling, and timezone fixes

    • Select, Menu, Combobox, Listbox: Fixed keyboard navigation issues and
      hover highlight behavior

    • Various fixes: Fieldset re-rendering loops, Next.js 15 production
      builds, Escape dismissal timing, focus visible state, form submission
      handling, and more

Patch Changes
  • #​10951
    c16188f
    Thanks @​dfedoryshchev! - - Fix
    Dialog.ActionTrigger and Drawer.ActionTrigger ignoring the onClick
    handler passed to them. The handler now runs before the dialog closes

  • #​10939
    7b027d4
    Thanks @​segunadebayo! - - Fix Next.js 15
    production builds failing to compile with
    Attempted import error: 'Activity' is not exported from 'react'. React's
    optional Activity export was imported statically, so webpack rejected it
    even on React versions that expose it at runtime. It now resolves at runtime
    and falls back to display-none when the React build doesn't expose it

    • Menu: Fix Menu.ContextTrigger flashing at the top-left corner on the
      first right-click, and long-press context menus on touch opening stuck at
      (0,0). The positioner reported a placement before one had been computed,
      which skipped the off-screen guard that hides it until the anchor point is
      known. Long-press had a second cause, it never triggered a reposition on
      open
    • Dialog, Drawer, Menu, Popover: Fix Escape being ignored right after an
      overlay opens. Handlers registered a frame late, so the overlay was painted
      and focus-trapped before it could listen. Under CPU load that gap grew well
      past one frame and swallowed the keypress
    • Dialog, Drawer, Popover: Fix a closing overlay pulling focus back from
      an element your app focused in the meantime, such as a second dialog opened
      right after closing the first. Closing a nested overlay no longer throws
      when the outer container has no connected focusable element, and the focus
      ring now shows on the returned-to element after you close with Escape
    • Dialog, Drawer: Fix the page still scrolling behind an open overlay on
      layouts where <html> is the scroll container. The scroll lock targeted
      <body>, so nothing was locked
    • Popover: Fix tabbing out of portalled content looping back into the
      content when the trigger was the last tabbable element on the page. Focus
      now moves to the next tabbable element after the trigger
    • Combobox, Listbox, Menu, Select: Fix keyboard navigation losing or
      moving the highlighted item while the pointer rests over scrollable content.
      Scrolling an item into view moved the content under the cursor, and the
      resulting pointerleave counted as a real hover
    • DateInput
      • Fix segment text lagging a keystroke behind when you type over an already
        committed date, and in-progress edits being dropped while focus caught up
        after auto-advance. Fast typing and ArrowUp/ArrowDown/Home/End now
        land on the segment you're editing
      • Fix CalendarDate and CalendarDateTime values shifting by your local
        UTC offset when you pass a custom formatter without a timeZone. A
        wall-clock value round-trips unchanged
      • Accept your locale's native numerals when typing, not just ASCII digits.
        Covers Arabic-Indic ٠-٩ and Devanagari ०-९
    • DatePicker
      • Fix minView, maxView, and defaultView being ignored when resolving
        the initial view, which was hardcoded to day through year
      • Fix defaultOpen overriding open, which let a controlled picker open
        against its own prop
      • Fix disabled and read-only pickers still reacting to cell clicks, the
        clear trigger, and presets. Read-only pickers keep roving-focus
        navigation, disabled pickers drop out of the tab order
      • Fix maxSelectedDates not being enforced on month and year cells in
        multiple mode
      • Fix keyboard range selection drifting from pointer behavior. Picking a
        third date restarts the range, and reopening with only a start date
        resumes it instead of restarting
      • Fix translations requiring every message. It's now Partial, so you can
        override one message and let the rest fall back to the defaults
      • Fix the view trigger's aria-label naming the wrong view, and announce
        dates inside a range as "In range" instead of the generic "Choose"
      • Accept your locale's native numerals when typing, not just ASCII digits
    • NumberInput
      • Fix api.setValue throwing when you pass a number and formatOptions is
        set
      • Fix Cmd/Ctrl with arrow keys producing values off the step grid
    • Slider: Fix Cmd/Ctrl with arrow keys producing values off the step
      grid
    • TagsInput
      • Fix an XSS vector in the hidden element that measures input width. It set
        the tag value with innerHTML, so a value containing markup was parsed
        and could execute. It now uses textContent
      • Fix native form submit so FormData reflects the current tags. The hidden
        input kept its initial value after you added, removed, or cleared tags
    • Checkbox, RadioGroup, Switch: Fix clicking a label adding
      data-focus-visible to the control. Activating the label briefly moved
      focus to an overlay container, which was read as virtual focus
    • Fieldset: Fix Fieldset.Root re-rendering whenever its subtree mutated,
      even when helper and error text were unchanged
    • FloatingPanel: Fix closing a panel leaving it on the stack, so the next
      panel now becomes topmost, and fix stack order not applying to the
      positioner, so focusing a panel raises it above its siblings
    • QrCode: Fix getDataUrl() and the download trigger dropping the
      overlay, so a logo or badge placed over the code went missing from the
      export
    • Toast: Fix a height flicker when expanding the stack in overlap mode.
      Heights are measured without the scale transform applied
    • ColorPicker: Fix the channel input committing a partial value when you
      press Enter to confirm an IME composition
    • Splitter
      • Fix collapsed panels sizing to minSize instead of collapsedSize, and
        fix keyboard resizing breaking when a resize trigger got focus while
        hovered
      • Fix the resize trigger matching :focus-visible after a pointer drag. It
        still takes focus, so keyboard resizing keeps working, but no longer shows
        the focus ring
    • Steps
      • Fix Steps.NextTrigger and Steps.PrevTrigger submitting an ancestor
        form on click. They carried no type, so they defaulted to
        type="submit"
      • Fix Steps.RootProvider rendering its children twice
    • Marquee: Fix scroll speed depending on content width. Duration now comes
      from the content size and the actual translation distance, so speed
      matches real pixel speed even when the content is narrower than the viewport
  • #​10908
    c6516a1
    Thanks @​akahoshi1421! - - Fix
    Tag.CloseTrigger, ActionBar.SelectionTrigger, Dialog.ActionTrigger,
    Drawer.ActionTrigger missing type="button", causing unintended form
    submission when used inside a <form>

  • #​10919
    76bb1dc
    Thanks @​Aditya30december2003! - Fix
    semantic i and em elements not rendering in italics when preflight is
    enabled.

  • 065f71c
    Thanks @​segunadebayo! - - Fix TreeView
    --tree-indentation: 0px not fully removing nested indentation

    • --tree-indentation is now the full per-level indent
      (indent-size + half icon-size). Custom non-zero values no longer get an
      extra half-icon offset on top
    • Remove internal --tree-icon-offset variable from the recipe
  • #​10938
    6948541
    Thanks @​waterWang! - - RadioCard: Fix the
    outline variant losing its border width when a card is both checked and
    disabled. The checked ring is an inset box-shadow, which itemControl's
    disabled background painted over

v3.36.1

Compare Source

Patch Changes
  • #​10868
    f32a160
    Thanks @​WahabKhan7528! -
    OverlayManager: add has() method to createOverlay return

  • #​10885
    e503f8d
    Thanks @​dfedoryshchev! - - Bleed: Fix
    incorrect css prop application

  • 129c50f
    Thanks @​segunadebayo! - Fix issue where the
    checked ring of RadioCard and CheckboxCard (outline variant) gets clipped
    when a parent has overflow: hidden|auto|scroll. The ring is now drawn with
    an inset shadow instead of an outer shadow.

  • #​10859
    6f10270
    Thanks @​dfedoryshchev! - - Checkmark: Fix
    incorrect css prop application

  • #​10884
    e7431f1
    Thanks @​sanjibani! - - Docs: fix
    Stack.Separator references in the v3 migration guide. The standalone
    Separator component is now used in both the StackDivider and Stack Props
    examples.

  • 0fe3055
    Thanks @​segunadebayo! - Fix error when
    merging recipes (e.g. composing a recipe-based component through the chakra
    factory). Recipe merging now normalizes compiled and raw configs before
    combining them, and no longer throws or mutates the source configs.

  • #​10879
    e882dc0
    Thanks @​dfedoryshchev! - - Float: Fix
    incorrect css prop application

  • 2ed9026
    Thanks @​segunadebayo! - Add a default
    minSize of { width: 240, height: 100 } to FloatingPanel.Root to prevent
    the panel from being resized to zero. Pass your own minSize to override it.

  • #​10863
    b5de5e2
    Thanks @​dfedoryshchev! - - Image: Fix
    custom className removing the base chakra-image class

  • #​10873
    c4e79c1
    Thanks @​dfedoryshchev! - Fix issue where
    LinkOverlay dropped the rel attribute instead of forwarding it to the
    rendered anchor.

  • 0fe3055
    Thanks @​segunadebayo! - Improve render
    performance of recipe components (Button, Badge, Skeleton, etc.) in
    large lists and tables.

    • Cache compiled recipes per system instead of per component instance.
    • Memoize variant style resolution so results are referentially stable.
    • Drop the per-instance structuredClone of recipe configs.

    In benchmarks, repeated variant resolution is ~70-90x faster and
    compile+resolve ~30x faster. No public API changes.

  • #​10860
    f53e46a
    Thanks @​dfedoryshchev! - - WrapItem: Fix
    incorrect css prop application

v3.36.0

Compare Source

Minor Changes
  • #​10752
    1ef5800
    Thanks @​kalisaNkevin! - [New]
    FloatingPanel
    : Add draggable, resizable floating panel component

    import { FloatingPanel } from "@chakra-ui/react/floating-panel"
    <FloatingPanel.Root>
      <FloatingPanel.Trigger />
      <FloatingPanel.Positioner>
        <FloatingPanel.Content>
          <FloatingPanel.Header>
            <FloatingPanel.DragTrigger>
              <FloatingPanel.Title />
            </FloatingPanel.DragTrigger>
            <FloatingPanel.Control>
              <FloatingPanel.StageTrigger />
              <FloatingPanel.CloseTrigger />
            </FloatingPanel.Control>
          </FloatingPanel.Header>
          <FloatingPanel.Body />
          <FloatingPanel.ResizeTriggers />
        </FloatingPanel.Content>
      </FloatingPanel.Positioner>
    </FloatingPanel.Root>
  • #​10847
    238e20a
    Thanks @​Adebesin-Cell! - Update Ark UI to
    v5.37.2

    • Splitter: Accept CSS units (px, em, rem, vh, vw) for size
      props, add per-panel resizeBehavior ("preserve-pixel-size"), and fix
      focus not moving to a resize trigger on click.
    • Color Picker, Combobox, Date Picker, Hover Card, Menu, Popover, Select,
      Tooltip
      : Add data-side to placement-aware parts for placement-based
      styling.
    • Accordion: Remove redundant aria-disabled from item triggers.
    • Color Picker: Fire onValueChangeEnd when picking a color with the
      EyeDropper API.
    • Combobox: Don't submit the form on Enter when an item is highlighted
      or the value is rejected by allowCustomValue: false.
    • Date Picker: Fix range-mode clear not resetting active/hovered state,
      the native month/year select inside modals (Firefox), and
      outsideDaySelectable hover changing the visible month.
    • Dialog, Hover Card, Menu, Popover, Tooltip: Fix shared custom trigger
      elements being ignored, and trigger lookups in shadow DOM.
    • Dialog, Popover: Fix the page being left uninteractive after closing in
      React 19 Strict Mode.
    • Number Input: Fix blur behavior when the input is cleared and min is
      greater than 0.
    • Pin Input: Fix data-filled being set on every input on first render.
    • Tabs: Update the indicator when the tab list resizes (responsive
      reflow).
Patch Changes
  • 43a016d
    Thanks @​segunadebayo! - Remove the
    DatePicker input _placeholder override so placeholders use the same global
    *::placeholder styling as Input.

  • 82b26be
    Thanks @​segunadebayo! - Use
    focusVisibleRing instead of focusRing on Link so the focus ring shows
    only for :focus-visible, not on mouse click.

  • 1bbdd86
    Thanks @​segunadebayo! - Fix recipe
    definition types so defaultVariants accepts variant keys when using the
    broad RecipeDefinition type.

  • 06b5f02
    Thanks @​segunadebayo! - Fix
    system.token() returning dark-mode resolved values for semantic tokens with
    light/dark conditions instead of the semantic CSS variable reference.

    Also fix token dictionary bookkeeping for semantic tokens without a base value
    so lookup maps stay in sync after empty tokens are removed.

  • #​10799
    7a97cf9
    Thanks @​cyphercodes! - Fix token dictionary
    lookups to preserve semantic token condition metadata when using getByName.

  • #​10801
    27e0489
    Thanks @​doz13189! - Fix: normalize nested token
    overrides when merging default theme

    When merging a custom token into the default theme, token normalization could
    stop at the category level (for example colors) and prevent promoting flat
    tokens to DEFAULT. This change updates the merge logic so adding nested
    overrides like colors.black.100 correctly moves the original colors.black
    value to DEFAULT and resolves nested tokens.

    Fixes: #​10800

v3.35.0

Compare Source

Minor Changes
  • 1b1f545
    Thanks @​segunadebayo! - Pagination:
    Allow format prop in Pagination.PageText to accept a function for i18n
    support.

    <Pagination.PageText
      format={({ page, totalPages }) => `Page ${page} de ${totalPages}`}
    />
Patch Changes
  • d041e10
    Thanks @​segunadebayo! - Bump
    @ark-ui/react to 5.36.0 (from ^5.34.1)

    • Accordion: Fix missing data-focus on item trigger props.
    • Carousel: Fix issue with controlled carousel inside dialog, navigation
      transformed containers, scroll drift, and page sync with indicators.
    • ColorPicker: Fix vertical slider orientation on pointer updates.
    • Combobox: VoiceOver announces highlighted options on Apple devices via a
      live region
    • Dialog, Popover, HoverCard: Add support for multiple triggers sharing
      one dialog instance.
    • Field: Field.Item and target on Field.Root for multi-control
      fields (re-exported as FieldItem / Field.Item).
    • FileUpload: Reject duplicate files with FILE_EXISTS.
    • Listbox: keyboardPriority for Home/End and arrows; highlightFirst,
      highlightLast, highlightNext, highlightPrevious.
    • Menu: aria-expanded when closed; submenu hover “diagonal” flash fix;
      multiple triggers.
    • PinInput: Deletion and focus behavior, Home/End, enterKeyHint,
      autoSubmit, sanitizeValue.
    • Popover: Add support for translations; finalFocusEl and
      restoreFocus props.
    • TagsInput: allowDuplicates; sanitizeValue; enterKeyHint on mobile.
  • 3da73c3
    Thanks @​segunadebayo! - Export missing
    datePickerSlotRecipe from slot recipes

  • #​10721
    d2b7dec
    Thanks @​isBatak! - Improve useBreakpoint and
    useBreakpointValue types with BreakpointName

  • 6bad1b7
    Thanks @​segunadebayo! - -
    createOverlay: Fix document.body scroll lock and pointer-events not
    being restored when overlays are used under React StrictMode.

  • 16f8329
    Thanks @​segunadebayo! - - System: Fix
    isCssUnit utility to reject malformed values like 1a5rem and 1-5rem by
    properly escaping the decimal point in the length regex.

  • e9f04d4
    Thanks @​segunadebayo! - - Dialog,
    Drawer
    : Fixed the panel sometimes showing behind the dimmed overlay when
    opening and closing quickly or with certain global z-index styles on the page.

  • 39e3db3
    Thanks @​segunadebayo! - - System /
    Tokens
    : Fix array shorthand for fonts, shadows, gradients, animations, and
    easings (no longer mistaken for responsive arrays).

  • 5f30ddb
    Thanks @​segunadebayo! - - Hooks: Fix
    usePrevious to use a React 19-safe state-based implementation and compare
    values with Object.is for correct NaN/-0 behavior.

  • #​10765
    a7c1ffb
    Thanks @​rusty-jnr! - Fix date picker calendar
    popup clipping constrained by available height

  • #​10675
    a98e042
    Thanks @​segunadebayo! - Theme /
    KeyFrames
    : Add CSS variable overrides for slide keyframe distances
    (slide-from-* and slide-to-*), for example:

    <Box
      css={{
        animation: "slide-from-top 200ms ease-out",
        "--slide-from-top-distance": "1rem",
      }}
    />
  • #​10781
    581c7d1
    Thanks @​CerealeZ! - - GridItem: Fix incorrect
    css prop application

  • c53f298
    Thanks @​segunadebayo! - - System / Global
    CSS
    : Fix an issue where responsive array values in globalCss selector
    rules (for example #id or .class) were serialized incorrectly instead of
    generating responsive breakpoint styles.

v3.34.0

Compare Source

Minor Changes
Patch Changes
  • 94517fa
    Thanks @​segunadebayo! - Fix export gaps for
    Ark UI components:

    • Select: Expose Select.List component (for virtualization support)
    • Combobox: Export ComboboxSelectionDetails type (as
      Combobox.SelectionDetails in namespace)
    • Listbox: Export ListboxScrollToIndexDetails,
      ListboxSelectionDetails, ListboxSelectionMode types (as
      Listbox.ScrollToIndexDetails, Listbox.SelectionDetails,
      Listbox.SelectionMode in namespace)
    • Menu: Export MenuValueChangeDetails type (as Menu.ValueChangeDetails
      in namespace)
  • be18f13
    Thanks @​segunadebayo! - Fix TypeScript
    error when passing ref to CheckboxGroup.

  • 0aa89d0
    Thanks @​segunadebayo! - Fix globalCss
    silently ignoring element selectors that match utility shorthands (e.g. p,
    m, h, w).

    Previously, p: { margin: '0 0 1em' } in globalCss was treated as the
    padding utility instead of a <p> element selector, causing the styles to
    be silently dropped.

  • 59bf8f6
    Thanks @​segunadebayo! - - Field: Fix
    Field.ErrorIcon default size so it stays aligned with error text instead of
    expanding when the error area is full width.

v3.33.0

Compare Source

Minor Changes
  • 60a0a8b
    Thanks @​segunadebayo! - - Checkbox:
    Fixed individual checkbox props being overridden by CheckboxGroup when
    rendering
    • Color Picker: Fixed color not updating when selecting black shades in
      controlled mode
    • Dialog/Popover: Fixed issue where closing nested dialogs/popovers would
      incorrectly close parent layers
    • Menu: Fixed glitchy submenu behavior when hovering between trigger items
      quickly
    • Number Input: Fixed cursor positioning issues after clicking label or
      scrubbing
    • Pagination: Fixed next trigger not being disabled when count is 0
    • Scroll Area: Added overflow CSS variables for scroll fade effects
      (--scroll-area-overflow-{x,y}-{start,end})
    • Slider:
      • Added thumbCollisionBehavior prop to control collision handling between
        thumbs (none, push, swap)
      • Fixed thumb drag behavior from edge in thumbAlignment="contain" mode
    • Steps: Added validation support with isStepValid, isStepSkippable,
      and onStepInvalid props
    • Switch: Fixed api.toggleChecked() not working
    • Tags Input: Added placeholder prop that shows when no tags exist
    • Textarea: Fixed change event not being emitted after clearing controlled
      textarea
    • Tooltip: Added data-instant attribute for instant animations when
      switching between multiple tooltip triggers
    • Tree View: Fixed initial focus when first node/branch is disabled
Patch Changes
  • 2b8360b
    Thanks @​segunadebayo! - CodeBlock: Fix
    overlay and floating elements scrolling out of view when horizontally
    scrolling long code lines.

v3.32.0

Compare Source

Minor Changes
Patch Changes
  • 0b15d10
    Thanks @​segunadebayo! - - Styled
    System
    : Fixed backdrop blur not applying when using backdropFilter="auto"
    with backdropBlur. This now works as expected:

    <Dialog.Backdrop backdropFilter="auto" backdropBlur="md" />
  • 7f30a7b
    Thanks @​segunadebayo! - Fixed issue where
    useBreakpointValue does not respect base value during SSR.

  • 11c2004
    Thanks @​segunadebayo! - Fixed
    collapse-width keyframe animating height instead of width. The keyframe
    now correctly animates the width property for horizontal collapse transitions.

  • a871bc5
    Thanks @​segunadebayo! - Fix issue where
    Dialog appears below Popover when triggered from within it.

    Unified z-index for overlay components (Dialog, Drawer, Menu,
    HoverCard) to use zIndex.popover and --layer-index for proper stacking.

v3.31.0

Compare Source

Minor Changes
  • 756b385
    Thanks @​segunadebayo! - - ActionBar
    • Add placement variant to configure bar position: bottom, bottom-start,
      bottom-end
    • Add --action-bar-offset CSS variable to configure offset from edges
Patch Changes
  • 4fcf302
    Thanks @​segunadebayo! - - ColorPicker,
    Select, Combobox
    : Fix z-index stacking when used inside dialogs

    • Theme: Export the listboxSlotRecipe slot recipe
  • #​10512
    cc0d202
    Thanks @​teunlao! - cva: Normalize base
    styles to prevent shorthand properties from overwriting variant styles

  • cac7cb0
    Thanks @​segunadebayo! - Fix menu content
    background not rendering by using full token path for CSS variable

  • 4364995
    Thanks @​segunadebayo! - Fix SkeletonText
    duplicating children when loading is set to false

  • 1cc185d
    Thanks @​segunadebayo! - - Slider

    • Add markerLabel to component anatomy for theming marker labels
    • Export Slider.MarkerLabel component for custom marker label rendering
    • Improve focus ring styles for Slider.Thumb

v3.30.0

Compare Source

Minor Changes
  • #​10425
    0168a04
    Thanks @​Adebesin-Cell! - - Splitter
    [NEW]
    : Introduce new resizable splitter component

    <Splitter.Root panels={[{ id: "a" }, { id: "b" }]}>
      <Splitter.Panel id="a">Panel A</Splitter.Panel>
      <Splitter.ResizeTrigger id="a:b" />
      <Splitter.Panel id="b">Panel B</Splitter.Panel>
    </Splitter.Root>
  • 7b9aa97
    Thanks @​segunadebayo! - ### Added

    • Carousel: Added autoSize prop for variable width/height slides
Changed
  • useListCollection: initialItems now accepts readonly arrays
  • Types: Exported InteractOutsideEvent, FocusOutsideEvent,
    PointerDownOutsideEvent types
Fixed
  • Carousel: Fixed dragging after tab switch/scroll and mouse wheel scroll
    with allowMouseDrag

  • Combobox:

    • Fixed onHighlightChange not firing when filtered to empty;
    • Fixed focus stealing in controlled mode
    • Removed problematic aria-hidden behavior
  • File Upload: Fixed non-interactive children in dropzone not opening file
    picker

  • Radio Group: Fixed inconsistent data-focus-visible/data-focus
    attributes; fixed indicator showing before rect resolved (with Tabs)

  • Tabs: Fixed indicator showing before rect resolved (with Radio Group);
    fixed position not updating when inactive tabs resize

  • 503e11a
    Thanks @​segunadebayo! - ### Added

    • Semantic Tokens: Add new border semantic token to all color palettes
      (gray.300/gray.700 for gray, color.500/color.400 for colored
      palettes) to improve outline component appearance
Changed
  • Button, Badge, Tag, Checkbox: Update outline variants to use
    colorPalette.border instead of colorPalette.muted or global border
    token for better appearance, especially for non-gray color palettes.

    NOTE: All changes include CSS variable fallbacks to
    colorPalette.muted for backward compatibility.

Patch Changes
  • fd15569
    Thanks @​segunadebayo! - - HoverCard,
    Tooltip, Popover
    : Fix arrow direction in RTL layouts

  • 81ec4e7
    Thanks @​segunadebayo! - - TagsInput:
    Fix overflow issue where very long tags would overflow the container instead
    of truncating with ellipsis.

    • CheckboxGroup: Fix type issue where CheckboxGroupProps could not be
      passed to the CheckboxGroup component.

v3.29.0

Compare Source

Minor Changes
Patch Changes
  • 69aabbf
    Thanks @​segunadebayo! - - Combobox:
    Refactor recipe for smarter padding management to prevent input text from
    overflowing unto triggers
    • CodeBlock: Add missing use client directive

v3.28.1

Compare Source

Patch Changes
  • fad9a2e
    Thanks @​segunadebayo! - Fix CodeBlock right
    padding when scrolling long code lines horizontally

  • 37d166a
    Thanks @​segunadebayo! - - Tabs:
    Refactor to use css variables for styling indicator (--tabs-indicator-bg )
    for better customization.

    • SegmentedControl: Refactor to use css variables for styling indicator
      (--segment-indicator-bg and --segment-indicator-shadow) for better
      customization.
  • 7067c95
    Thanks @​segunadebayo! - Fix Shadow DOM and
    Web Component selector handling in globalCss. The :host,
    :host-context(), and ::slotted() pseudo-classes now correctly transform to
    top-level selectors with case-insensitive matching.

  • c7060de
    Thanks @​segunadebayo! - Improve
    styled-system performance with multiple optimizations

    • Token cloning: Replace structuredClone() with efficient shallow clone
      (75x faster)
    • Memoization: Improve cache key generation with efficient hashing and LRU
      cache (1.4x faster baseline, up to 585x faster for cached operations)
    • Object allocation: Use singleton empty objects instead of creating new
      ones in hot paths
    • Array operations: Optimize responsive value normalization with for loops
      instead of reduce
    • Performance impact: Significant improvement in style computation speed
      with the memoization layer providing 100-500x gains for repeated operations

v3.28.0

Compare Source

Minor Changes
  • #​10374
    e62bae7
    Thanks @​Adebesin-Cell! - Add new
    TagsInput component for entering multiple values as tags with features like
    tag creation, deletion, and keyboard navigation.

    import { Span, TagsInput } from "@chakra-ui/react"
    
    export const TagsInputBasic = () => {
      return (
        <TagsInput.Root defaultValue={["React", "Chakra", "TypeScript"]}>
          <TagsInput.Label>Tags</TagsInput.Label>
          <TagsInput.Control>
            <TagsInput.Items />
            <TagsInput.Input placeholder="Add tag..." />
          </TagsInput.Control>
        </TagsInput.Root>
      )
    }
  • bf31e2a
    Thanks @​segunadebayo! - - Checkbox

    • Fix issue where setting initial checked state to indeterminate doesn't
      work
    • Ensure api.checkedState returns the correct checked state
    • Collapsible
      • Add support for collapsedHeight and collapsedWidth props to control
        the dimensions of the collapsible content when in its collapsed state
      • Fix issue where dir prop value doesn't get applied correctly
      • Update the recipe styling as needed (when data-has-collapsed-size is
        set)
    • Combobox: Fix issue where controlled single-select combobox does not
      propagate its initial value to inputValue
    • Dialog, Popover: In modal mode, allow elements referenced by
      aria-controls to be included in the focus trap scope
    • Listbox: Fix issue where pressing Enter key when no highlighted item
      still calls event.preventDefault()
    • Number Input: Fix cursor jumping to end when typing in the middle with
      formatOptions like style: "currency"
    • Pagination: Add getPageUrl prop for generating href attributes when
      using pagination as links
    • Pin Input: Fix issue where keyboard shortcuts Cmd+Backspace and
      Cmd+Delete would insert "undefined" instead of clearing the field
    • Scroll Area
      • Fix horizontal scrollbar positioning on Safari in RTL mode
      • Fix issue where resize tracking was not observing the root element
    • Select: Fix accessibility violation where the required state was not set
      correctly on the trigger
    • Slider: Fix issue where slider continues dragging when disabled during
      drag operation
    • Switch: Fix issue where data-active is inconsistently applied when
      disabled state changes at runtime
    • Tabs: Refactor to use getBoundingClientRect() for precise indicator
      positioning

v3.27.1

Compare Source

Patch Changes
  • e1774c8
    Thanks @​segunadebayo! - Expose
    Collapsible.Indicator component to provide visual indicator for collapsible
    state

  • f9d66f4
    Thanks @​segunadebayo! - - CodeBlock

    • Fix issue in diff mode where the wrong lines were being highlighted
    • Fix highlight.js adapter to properly handle diff attributes for
      added/removed lines
  • f26e863
    Thanks @​segunadebayo! - - Styled
    System
    :

    • Fix issue where bracket syntax for responsive styles didn't work in recipe
      variants
    // This now works correctly
    const recipe = defineRecipe({
      variants: {
        variant: {
          primary: {
            color: ["red", "green"], // ✅ Now converts to breakpoints
          },
        },
      },
    })
    • Improve style resolution performance
  • #​10325
    3e6d1f7
    Thanks @​wo-o29! - Fix issue where refs don't
    support cleanup function (React 19 compatibility)

  • #​10328
    451209e
    Thanks @​megos! - fix(table): ensure stickyHeader
    works with outline variant

  • 56a4501
    Thanks @​segunadebayo! - Timeline: Add
    showLastSeparator variant to control visibility of the last separator

v3.27.0

Compare Source

Minor Changes
  • 16fb3cc
    Thanks @​segunadebayo! - Enhanced
    composition types with comprehensive CSS property support

    Text Style Properties: Added these properties to theme.textStyles:

    • Basic properties (color, direction, font, fontFamily,
      fontFeatureSettings, fontKerning, fontLanguageOverride,
      fontOpticalSizing, fontPalette)
    • Typography properties (hangingPunctuation, hyphens,
      hyphenateCharacter, hyphenateLimitChars, lineBreak, quotes,
      overflowWrap, tabSize)
    • Text alignment (textAlign, textAlignLast, textCombineUpright,
      textJustify)
    • Text decoration (textDecorationSkip, textDecorationSkipBox,
      textDecorationSkipInk, textDecorationSkipInset,
      textDecorationThickness, textEmphasis)
    • Text formatting (textShadow, textStroke, textStrokeColor,
      textStrokeWidth, textUnderlineOffset, textUnderlinePosition,
      textWrap, textWrapMode, textWrapStyle)
    • Text layout (unicodeBidi, verticalAlign, whiteSpace, wordBreak,
      wordSpacing, writingMode)

    Layer Style Properties: Added these properties to theme.layerStyles:

    • Layout properties (aspectRatio, display, contain, contentVisibility,
      isolation)
    • Visual effects (clipPath, mixBlendMode, maskClip, maskComposite,
      maskImage, maskMode, maskOrigin, maskPosition, maskRepeat,
      maskSize)
    • Modern properties (objectFit, objectPosition, pointerEvents, resize,
      visibility, willChange)
    • Border properties (borderImage, borderImageOutset, borderImageRepeat,
      borderImageSlice, borderImageSource, borderImageWidth)
    • Overflow properties (overflow, overflowX, overflowY)
Patch Changes
  • c741fe9
    Thanks @​segunadebayo! - - CodeBlock:
    Fix issue where Line numbers display incorrectly when meta.wordWrap is true
    in code blocks

    • Hover Card: Change default delay values for hover card to improve
      accessibility.
      • openDelay: from 700ms to 600ms
    • Tooltip: Change default delay values for tooltip to improve
      accessibility.
      Learn more
      • openDelay: from 1000ms to 400ms
      • closeDelay: from 500ms to 150ms
    • Menu
      • Fix issue where keyboard activation of menu items with target="_blank"
        would open two tabs
      • Fix issue where hovering a partially visible item with pointer causes it
        to scroll into view
    • Combobox: Add alwaysSubmitOnEnter prop to allow forcing the form to be
      submitted immediately on Enter press.
  • #​10312
    6189068
    Thanks @​itushh! - - CodeBlock: Allow
    horizontal scrolling when code block overflows

v3.26.0

[Compare Source](https://redirect.github.com/chakra-ui/c

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@vercel

vercel Bot commented Jan 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
website Error Error Aug 28, 2026 1:12pm

@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from 078f955 to fcfb4c5 Compare February 2, 2026 20:40
@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from fcfb4c5 to 8974d9b Compare February 3, 2026 17:39
@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from 8974d9b to 9d2a2c5 Compare February 11, 2026 10:31
@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from 9d2a2c5 to 52cadf9 Compare February 17, 2026 20:53
@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from 52cadf9 to 4387c45 Compare March 3, 2026 18:38
@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from 4387c45 to 273cd2e Compare March 13, 2026 11:07
@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from 273cd2e to 62cc32e Compare March 27, 2026 13:04
@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from 62cc32e to 9cd233e Compare April 8, 2026 17:13
@renovate renovate Bot changed the title fix(deps): update dependency @chakra-ui/react to v3 Update dependency @chakra-ui/react to v3 Apr 8, 2026
@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from 9cd233e to 01a4ba8 Compare April 22, 2026 21:11
@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from 01a4ba8 to 3050c6a Compare May 12, 2026 11:36
@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from 3050c6a to 0b63618 Compare May 28, 2026 16:11
@renovate renovate Bot changed the title Update dependency @chakra-ui/react to v3 Update chakra-ui monorepo to v3 Jun 2, 2026
@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from 0b63618 to 1caf880 Compare June 10, 2026 18:07
@renovate renovate Bot changed the title Update chakra-ui monorepo to v3 Update chakra-ui monorepo (major) Jun 22, 2026
@renovate renovate Bot changed the title Update chakra-ui monorepo (major) Update dependency @chakra-ui/react to v3 Jun 25, 2026
@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from 1caf880 to e19f9cd Compare July 12, 2026 09:34
@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from e19f9cd to 2c6e3d6 Compare July 19, 2026 18:55
@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from 2c6e3d6 to 0bd9c1f Compare July 24, 2026 20:43
@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from 0bd9c1f to 400fa14 Compare July 30, 2026 18:39
@renovate
renovate Bot force-pushed the renovate/major-chakra-ui-monorepo branch from 400fa14 to d2ec8e1 Compare August 28, 2026 13:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants