Skip to content

Version Packages (next) - #3252

Open
github-actions[bot] wants to merge 1 commit into
v2from
changeset-release/v2
Open

Version Packages (next)#3252
github-actions[bot] wants to merge 1 commit into
v2from
changeset-release/v2

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to v2, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

v2 is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on v2.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@zag-js/avatar@2.0.0-next.2

Major Changes

  • 121207e Thanks @segunadebayo! - Breaking: Remove api.setSrc.

    You own the image src, the machine observes the rendered image and owns its loading lifecycle. setSrc wrote the
    src attribute of the image you rendered, making it the only API method in the library that mutates a consumer-rendered
    element. It also left srcSet and <picture> untouched, so the displayed image did not always change.

    Migration

    Setting the source: update src on the image you render. The machine reacts the same way, resetting to loading
    and then to loaded or error.

    - api.setSrc(nextSrc)
    + setSrc(nextSrc) // your own state, applied to the image you render
    const [src, setSrc] = useState(initialSrc)
    
    <img alt="" src={src} {...api.getImageProps()} />

    Without framework state, set it on the element directly. This is what setSrc did, and it works for srcSet and
    <picture> too:

    - api.setSrc(nextSrc)
    + imageEl.src = nextSrc

    Unchanged: api.setLoaded() and api.setError(), for images loaded by something that does not fire load and
    error on the element itself.

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/core@2.0.0-next.2

Minor Changes

  • 6d57458 Thanks @segunadebayo! - Separate the props you pass to useMachine from the props the machine sees after defaults are applied.

    • Fixed issue where omitting a required prop type-checked and then failed at runtime with
      [zag-js] missing required props. Affects async-list, carousel, dnd, gridlist, listbox, pin-input,
      select, splitter, toast and toc, whose required props were reported as optional.
    • Fixed issue where a prop listed as having a default lost null from its public type, so props that accept null
      rejected it.

    Machine schemas now declare the public props type plus a defaultPropKey union naming the props the machine fills in:

    export interface DialogSchema {
      props: DialogProps;
      defaultPropKey: PropsWithDefault;
    }

    Schemas that do not declare defaultPropKey keep the previous behaviour, so custom machines continue to work unchanged.

Patch Changes

  • Updated dependencies [06ddeb3]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/preact@2.0.0-next.2

Minor Changes

  • 6d57458 Thanks @segunadebayo! - Separate the props you pass to useMachine from the props the machine sees after defaults are applied.

    • Fixed issue where omitting a required prop type-checked and then failed at runtime with
      [zag-js] missing required props. Affects async-list, carousel, dnd, gridlist, listbox, pin-input,
      select, splitter, toast and toc, whose required props were reported as optional.
    • Fixed issue where a prop listed as having a default lost null from its public type, so props that accept null
      rejected it.

    Machine schemas now declare the public props type plus a defaultPropKey union naming the props the machine fills in:

    export interface DialogSchema {
      props: DialogProps;
      defaultPropKey: PropsWithDefault;
    }

    Schemas that do not declare defaultPropKey keep the previous behaviour, so custom machines continue to work unchanged.

Patch Changes

  • #3252 06ddeb3 Thanks @github-actions! - - Fixed issue where initialFocusEl rejected null, despite it being handled at runtime. On dialog and drawer it
    was listed as a prop with a default, which stripped null | undefined from its public type.
    • Fixed issue where Portal's container rejected the RefObject<T | null> that React 19's useRef<T>(null) returns.
  • Updated dependencies [6d57458]:
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/store@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/react@2.0.0-next.2

Minor Changes

  • 6d57458 Thanks @segunadebayo! - Separate the props you pass to useMachine from the props the machine sees after defaults are applied.

    • Fixed issue where omitting a required prop type-checked and then failed at runtime with
      [zag-js] missing required props. Affects async-list, carousel, dnd, gridlist, listbox, pin-input,
      select, splitter, toast and toc, whose required props were reported as optional.
    • Fixed issue where a prop listed as having a default lost null from its public type, so props that accept null
      rejected it.

    Machine schemas now declare the public props type plus a defaultPropKey union naming the props the machine fills in:

    export interface DialogSchema {
      props: DialogProps;
      defaultPropKey: PropsWithDefault;
    }

    Schemas that do not declare defaultPropKey keep the previous behaviour, so custom machines continue to work unchanged.

Patch Changes

  • #3252 06ddeb3 Thanks @github-actions! - - Fixed issue where initialFocusEl rejected null, despite it being handled at runtime. On dialog and drawer it
    was listed as a prop with a default, which stripped null | undefined from its public type.
    • Fixed issue where Portal's container rejected the RefObject<T | null> that React 19's useRef<T>(null) returns.
  • Updated dependencies [6d57458]:
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/store@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/solid@2.0.0-next.2

Minor Changes

  • 6d57458 Thanks @segunadebayo! - Separate the props you pass to useMachine from the props the machine sees after defaults are applied.

    • Fixed issue where omitting a required prop type-checked and then failed at runtime with
      [zag-js] missing required props. Affects async-list, carousel, dnd, gridlist, listbox, pin-input,
      select, splitter, toast and toc, whose required props were reported as optional.
    • Fixed issue where a prop listed as having a default lost null from its public type, so props that accept null
      rejected it.

    Machine schemas now declare the public props type plus a defaultPropKey union naming the props the machine fills in:

    export interface DialogSchema {
      props: DialogProps;
      defaultPropKey: PropsWithDefault;
    }

    Schemas that do not declare defaultPropKey keep the previous behaviour, so custom machines continue to work unchanged.

Patch Changes

  • Updated dependencies [6d57458]:
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/store@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/svelte@2.0.0-next.2

Minor Changes

  • 6d57458 Thanks @segunadebayo! - Separate the props you pass to useMachine from the props the machine sees after defaults are applied.

    • Fixed issue where omitting a required prop type-checked and then failed at runtime with
      [zag-js] missing required props. Affects async-list, carousel, dnd, gridlist, listbox, pin-input,
      select, splitter, toast and toc, whose required props were reported as optional.
    • Fixed issue where a prop listed as having a default lost null from its public type, so props that accept null
      rejected it.

    Machine schemas now declare the public props type plus a defaultPropKey union naming the props the machine fills in:

    export interface DialogSchema {
      props: DialogProps;
      defaultPropKey: PropsWithDefault;
    }

    Schemas that do not declare defaultPropKey keep the previous behaviour, so custom machines continue to work unchanged.

Patch Changes

  • Updated dependencies [6d57458]:
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/vanilla@2.0.0-next.2

Minor Changes

  • 6d57458 Thanks @segunadebayo! - Separate the props you pass to useMachine from the props the machine sees after defaults are applied.

    • Fixed issue where omitting a required prop type-checked and then failed at runtime with
      [zag-js] missing required props. Affects async-list, carousel, dnd, gridlist, listbox, pin-input,
      select, splitter, toast and toc, whose required props were reported as optional.
    • Fixed issue where a prop listed as having a default lost null from its public type, so props that accept null
      rejected it.

    Machine schemas now declare the public props type plus a defaultPropKey union naming the props the machine fills in:

    export interface DialogSchema {
      props: DialogProps;
      defaultPropKey: PropsWithDefault;
    }

    Schemas that do not declare defaultPropKey keep the previous behaviour, so custom machines continue to work unchanged.

Patch Changes

  • Updated dependencies [6d57458]:
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/store@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/vue@2.0.0-next.2

Minor Changes

  • 6d57458 Thanks @segunadebayo! - Separate the props you pass to useMachine from the props the machine sees after defaults are applied.

    • Fixed issue where omitting a required prop type-checked and then failed at runtime with
      [zag-js] missing required props. Affects async-list, carousel, dnd, gridlist, listbox, pin-input,
      select, splitter, toast and toc, whose required props were reported as optional.
    • Fixed issue where a prop listed as having a default lost null from its public type, so props that accept null
      rejected it.

    Machine schemas now declare the public props type plus a defaultPropKey union naming the props the machine fills in:

    export interface DialogSchema {
      props: DialogProps;
      defaultPropKey: PropsWithDefault;
    }

    Schemas that do not declare defaultPropKey keep the previous behaviour, so custom machines continue to work unchanged.

Patch Changes

  • Updated dependencies [6d57458]:
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/store@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/hover-card@2.0.0-next.2

Minor Changes

  • #3252 45451e9 Thanks @github-actions! - Add a reason to onOpenChange, describing what caused the change.

    • Added reason to onOpenChange details: trigger-hover, trigger-focus, trigger-blur, pointer-leave,
      interact-outside, escape-key or script. api.setOpen accepts a reason as its second argument, defaulting to
      script.
    • Fixed issue where dismissing with the Escape key was reported the same way as pressing outside.
    • Fixed issue where leaving the trigger before the open delay elapsed fired onOpenChange with open: false, even
      though the hover card had never opened.
  • #3252 afdeee4 Thanks @github-actions! - Add inline positioning for references that wrap across lines.

    • Fixed issue where a hover card anchored to a trigger spanning multiple lines was positioned against the box covering
      every line, landing far from the pointer instead of under the line being hovered.
    • Fixed issue where the hover card stayed over the previous trigger when the active trigger changed, showing the new
      trigger's content in the old position.
    • Added inline and getInlineRectCoords to @zag-js/popper, alongside a positioning.middleware option for
      supplying extra Floating UI middleware. The middleware is only bundled by machines that import it.
  • #3252 d402e9c Thanks @github-actions! - Add @zag-js/safe-area and use it in the hover card to track the pointer travelling between the trigger and the
    content.

    • Fixed issue where the hover card closed while the pointer was still on its way to the content. Moving diagonally, or
      pausing for longer than closeDelay, no longer dismisses it.
    • Fixed issue where a hover card opened programmatically or by keyboard was dismissed by pointer movement anywhere on
      the page.

    The open and closing states are now open.idle and open.closing. state.matches("open") still works, but code
    matching the literal state "closing" should use "open.closing".

    The tooltip uses it too when interactive is set, so the pointer can reach a hoverable tooltip without it closing on
    the way (WCAG 1.4.13). Non-interactive tooltips are unchanged.

Patch Changes

  • #3252 f7f9abf Thanks @github-actions! - Fixed issue where the hover card opened on focus that followed a pointer interaction, such as a dialog restoring focus
    to the trigger. It now opens only for keyboard and assistive-technology focus, matching @zag-js/tooltip.
  • Updated dependencies [06ddeb3, afdeee4, 6d57458, d402e9c]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/popper@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/safe-area@2.0.0-next.2
    • @zag-js/dismissable@2.0.0-next.2
    • @zag-js/focus-visible@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/tooltip@2.0.0-next.2

Minor Changes

  • #3252 d402e9c Thanks @github-actions! - Add @zag-js/safe-area and use it in the hover card to track the pointer travelling between the trigger and the
    content.

    • Fixed issue where the hover card closed while the pointer was still on its way to the content. Moving diagonally, or
      pausing for longer than closeDelay, no longer dismisses it.
    • Fixed issue where a hover card opened programmatically or by keyboard was dismissed by pointer movement anywhere on
      the page.

    The open and closing states are now open.idle and open.closing. state.matches("open") still works, but code
    matching the literal state "closing" should use "open.closing".

    The tooltip uses it too when interactive is set, so the pointer can reach a hoverable tooltip without it closing on
    the way (WCAG 1.4.13). Non-interactive tooltips are unchanged.

Patch Changes

  • Updated dependencies [06ddeb3, afdeee4, 6d57458, d402e9c]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/popper@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/safe-area@2.0.0-next.2
    • @zag-js/focus-visible@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/popper@2.0.0-next.2

Minor Changes

  • #3252 afdeee4 Thanks @github-actions! - Add inline positioning for references that wrap across lines.

    • Fixed issue where a hover card anchored to a trigger spanning multiple lines was positioned against the box covering
      every line, landing far from the pointer instead of under the line being hovered.
    • Fixed issue where the hover card stayed over the previous trigger when the active trigger changed, showing the new
      trigger's content in the old position.
    • Added inline and getInlineRectCoords to @zag-js/popper, alongside a positioning.middleware option for
      supplying extra Floating UI middleware. The middleware is only bundled by machines that import it.

Patch Changes

  • Updated dependencies [06ddeb3]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/safe-area@2.0.0-next.2

Minor Changes

  • #3252 d402e9c Thanks @github-actions! - Add @zag-js/safe-area and use it in the hover card to track the pointer travelling between the trigger and the
    content.

    • Fixed issue where the hover card closed while the pointer was still on its way to the content. Moving diagonally, or
      pausing for longer than closeDelay, no longer dismisses it.
    • Fixed issue where a hover card opened programmatically or by keyboard was dismissed by pointer movement anywhere on
      the page.

    The open and closing states are now open.idle and open.closing. state.matches("open") still works, but code
    matching the literal state "closing" should use "open.closing".

    The tooltip uses it too when interactive is set, so the pointer can reach a hoverable tooltip without it closing on
    the way (WCAG 1.4.13). Non-interactive tooltips are unchanged.

Patch Changes

  • Updated dependencies [06ddeb3]:
    • @zag-js/dom-query@2.0.0-next.2

@zag-js/accordion@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/angle-slider@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2
    • @zag-js/rect-utils@2.0.0-next.2

@zag-js/async-list@2.0.0-next.2

Patch Changes

  • Updated dependencies [6d57458]:
    • @zag-js/core@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/carousel@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/scroll-snap@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/cascade-select@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, afdeee4, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/popper@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/dismissable@2.0.0-next.2
    • @zag-js/focus-visible@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/collection@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2
    • @zag-js/rect-utils@2.0.0-next.2

@zag-js/checkbox@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/focus-visible@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/clipboard@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/collapsible@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/color-picker@2.0.0-next.2

Patch Changes

  • #3252 06ddeb3 Thanks @github-actions! - - Fixed issue where initialFocusEl rejected null, despite it being handled at runtime. On dialog and drawer it
    was listed as a prop with a default, which stripped null | undefined from its public type.
    • Fixed issue where Portal's container rejected the RefObject<T | null> that React 19's useRef<T>(null) returns.
  • Updated dependencies [06ddeb3, afdeee4, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/popper@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/dismissable@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/color-utils@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/combobox@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, afdeee4, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/popper@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/dismissable@2.0.0-next.2
    • @zag-js/focus-visible@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/collection@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2
    • @zag-js/live-region@2.0.0-next.2

@zag-js/date-input@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2
    • @zag-js/date-utils@2.0.0-next.2
    • @zag-js/live-region@2.0.0-next.2

@zag-js/date-picker@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, afdeee4, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/popper@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/dismissable@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2
    • @zag-js/date-utils@2.0.0-next.2
    • @zag-js/live-region@2.0.0-next.2

@zag-js/dialog@2.0.0-next.2

Patch Changes

  • #3252 06ddeb3 Thanks @github-actions! - - Fixed issue where initialFocusEl rejected null, despite it being handled at runtime. On dialog and drawer it
    was listed as a prop with a default, which stripped null | undefined from its public type.
    • Fixed issue where Portal's container rejected the RefObject<T | null> that React 19's useRef<T>(null) returns.
  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/aria-hidden@2.0.0-next.2
    • @zag-js/dismissable@2.0.0-next.2
    • @zag-js/focus-trap@2.0.0-next.2
    • @zag-js/remove-scroll@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/dnd@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/aria-hidden@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2
    • @zag-js/live-region@2.0.0-next.2
    • @zag-js/rect-utils@2.0.0-next.2

@zag-js/drawer@2.0.0-next.2

Patch Changes

  • #3252 06ddeb3 Thanks @github-actions! - - Fixed issue where initialFocusEl rejected null, despite it being handled at runtime. On dialog and drawer it
    was listed as a prop with a default, which stripped null | undefined from its public type.
    • Fixed issue where Portal's container rejected the RefObject<T | null> that React 19's useRef<T>(null) returns.
  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/aria-hidden@2.0.0-next.2
    • @zag-js/dismissable@2.0.0-next.2
    • @zag-js/focus-trap@2.0.0-next.2
    • @zag-js/remove-scroll@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/editable@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/interact-outside@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/file-upload@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/i18n-utils@2.0.0-next.2
    • @zag-js/file-utils@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/floating-panel@2.0.0-next.2

Patch Changes

  • #3252 06ddeb3 Thanks @github-actions! - - Fixed issue where initialFocusEl rejected null, despite it being handled at runtime. On dialog and drawer it
    was listed as a prop with a default, which stripped null | undefined from its public type.
    • Fixed issue where Portal's container rejected the RefObject<T | null> that React 19's useRef<T>(null) returns.
  • Updated dependencies [06ddeb3, afdeee4, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/popper@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/store@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2
    • @zag-js/rect-utils@2.0.0-next.2

@zag-js/gridlist@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/focus-visible@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/collection@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/image-cropper@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2
    • @zag-js/rect-utils@2.0.0-next.2

@zag-js/listbox@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/focus-visible@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/collection@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/marquee@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/menu@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, afdeee4, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/popper@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/dismissable@2.0.0-next.2
    • @zag-js/focus-visible@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2
    • @zag-js/rect-utils@2.0.0-next.2

@zag-js/menubar@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/navigation-menu@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/dismissable@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/number-input@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/pagination@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/password-input@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/pin-input@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/popover@2.0.0-next.2

Patch Changes

  • #3252 06ddeb3 Thanks @github-actions! - - Fixed issue where initialFocusEl rejected null, despite it being handled at runtime. On dialog and drawer it
    was listed as a prop with a default, which stripped null | undefined from its public type.
    • Fixed issue where Portal's container rejected the RefObject<T | null> that React 19's useRef<T>(null) returns.
  • Updated dependencies [06ddeb3, afdeee4, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/popper@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/aria-hidden@2.0.0-next.2
    • @zag-js/dismissable@2.0.0-next.2
    • @zag-js/focus-trap@2.0.0-next.2
    • @zag-js/remove-scroll@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/presence@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2

@zag-js/progress@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/qr-code@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/radio-group@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/focus-visible@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/rating-group@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/scheduler@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2
    • @zag-js/date-utils@2.0.0-next.2

@zag-js/scroll-area@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/select@2.0.0-next.2

Patch Changes

  • #3252 06ddeb3 Thanks @github-actions! - - Fixed issue where initialFocusEl rejected null, despite it being handled at runtime. On dialog and drawer it
    was listed as a prop with a default, which stripped null | undefined from its public type.
    • Fixed issue where Portal's container rejected the RefObject<T | null> that React 19's useRef<T>(null) returns.
  • Updated dependencies [06ddeb3, afdeee4, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/popper@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/dismissable@2.0.0-next.2
    • @zag-js/focus-visible@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/collection@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2
    • @zag-js/live-region@2.0.0-next.2

@zag-js/signature-pad@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/slider@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/splitter@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/steps@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/switch@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/focus-visible@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/tabs@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/tags-input@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/auto-resize@2.0.0-next.2
    • @zag-js/interact-outside@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2
    • @zag-js/live-region@2.0.0-next.2

@zag-js/timer@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/toast@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/dismissable@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/toc@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/toggle@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/toggle-group@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/toolbar@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/tour@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, afdeee4, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/popper@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/dismissable@2.0.0-next.2
    • @zag-js/focus-trap@2.0.0-next.2
    • @zag-js/interact-outside@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/tree-view@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3, 6d57458]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/core@2.0.0-next.2
    • @zag-js/types@2.0.0-next.2
    • @zag-js/anatomy@2.0.0-next.2
    • @zag-js/collection@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/types@2.0.0-next.2

Patch Changes

  • 6d57458 Thanks @segunadebayo! - Separate the props you pass to useMachine from the props the machine sees after defaults are applied.

    • Fixed issue where omitting a required prop type-checked and then failed at runtime with
      [zag-js] missing required props. Affects async-list, carousel, dnd, gridlist, listbox, pin-input,
      select, splitter, toast and toc, whose required props were reported as optional.
    • Fixed issue where a prop listed as having a default lost null from its public type, so props that accept null
      rejected it.

    Machine schemas now declare the public props type plus a defaultPropKey union naming the props the machine fills in:

    export interface DialogSchema {
      props: DialogProps;
      defaultPropKey: PropsWithDefault;
    }

    Schemas that do not declare defaultPropKey keep the previous behaviour, so custom machines continue to work unchanged.

@zag-js/aria-hidden@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3]:
    • @zag-js/dom-query@2.0.0-next.2

@zag-js/auto-resize@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3]:
    • @zag-js/dom-query@2.0.0-next.2

@zag-js/collection@2.0.0-next.2

Patch Changes

  • Updated dependencies []:
    • @zag-js/utils@2.0.0-next.2

@zag-js/color-utils@2.0.0-next.2

Patch Changes

  • Updated dependencies []:
    • @zag-js/utils@2.0.0-next.2

@zag-js/dismissable@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/interact-outside@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/dom-query@2.0.0-next.2

Patch Changes

  • #3252 06ddeb3 Thanks @github-actions! - - Fixed issue where initialFocusEl rejected null, despite it being handled at runtime. On dialog and drawer it
    was listed as a prop with a default, which stripped null | undefined from its public type.
    • Fixed issue where Portal's container rejected the RefObject<T | null> that React 19's useRef<T>(null) returns.
  • Updated dependencies [6d57458]:
    • @zag-js/types@2.0.0-next.2

@zag-js/file-utils@2.0.0-next.2

Patch Changes

  • Updated dependencies []:
    • @zag-js/i18n-utils@2.0.0-next.2

@zag-js/focus-trap@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3]:
    • @zag-js/dom-query@2.0.0-next.2

@zag-js/focus-visible@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3]:
    • @zag-js/dom-query@2.0.0-next.2

@zag-js/i18n-utils@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3]:
    • @zag-js/dom-query@2.0.0-next.2

@zag-js/interact-outside@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3]:
    • @zag-js/dom-query@2.0.0-next.2
    • @zag-js/utils@2.0.0-next.2

@zag-js/remove-scroll@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3]:
    • @zag-js/dom-query@2.0.0-next.2

@zag-js/scroll-snap@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3]:
    • @zag-js/dom-query@2.0.0-next.2

@zag-js/virtualizer@2.0.0-next.2

Patch Changes

  • Updated dependencies [06ddeb3]:
    • @zag-js/dom-query@2.0.0-next.2

@zag-js/anatomy@2.0.0-next.2

@zag-js/anatomy-icons@2.0.0-next.2

@zag-js/docs@2.0.0-next.2

@zag-js/store@2.0.0-next.2

@zag-js/utils@2.0.0-next.2

@zag-js/date-utils@2.0.0-next.2

@zag-js/highlight-word@2.0.0-next.2

@zag-js/hotkeys@2.0.0-next.2

@zag-js/json-tree-utils@2.0.0-next.2

@zag-js/live-region@2.0.0-next.2

@zag-js/rect-utils@2.0.0-next.2

@zag-js/stringify-state@2.0.0-next.2

@vercel

vercel Bot commented Aug 7, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
zag-nextjs Ready Ready Preview Aug 9, 2026 2:06pm
zag-solid Ready Ready Preview Aug 9, 2026 2:06pm
zag-svelte Ready Ready Preview Aug 9, 2026 2:06pm
zag-vue Ready Ready Preview Aug 9, 2026 2:06pm
zag-website Ready Ready Preview Aug 9, 2026 2:06pm
zag-website-v2 Building Building Preview Aug 9, 2026 2:06pm

Request Review

@segunadebayo
segunadebayo force-pushed the changeset-release/v2 branch from b0b24f8 to 5705b53 Compare August 7, 2026 15:58
@segunadebayo
segunadebayo force-pushed the changeset-release/v2 branch from 5705b53 to ec72261 Compare August 7, 2026 16:18
@segunadebayo
segunadebayo force-pushed the changeset-release/v2 branch from ec72261 to 4c4ba74 Compare August 7, 2026 16:47
@segunadebayo
segunadebayo force-pushed the changeset-release/v2 branch from 4c4ba74 to 22a96aa Compare August 7, 2026 20:07
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