Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add setMounted setter function to disclosure store #2802

Merged
merged 4 commits into from
Sep 9, 2023

Conversation

diegohaz
Copy link
Member

@diegohaz diegohaz commented Sep 9, 2023

This PR adds a setMounted prop to useDisclosureStore and derived component stores. This callback prop can be used to react to changes in the mounted state. For example:

useDialogStore({
  setMounted(mounted) {
    if (!mounted) {
      props.onUnmount?.();
    }
  },
});

@changeset-bot
Copy link

changeset-bot bot commented Sep 9, 2023

🦋 Changeset detected

Latest commit: 906a76a

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@ariakit/react-core Patch
@ariakit/react Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel
Copy link

vercel bot commented Sep 9, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
ariakit ✅ Ready (Inspect) Visit Preview Sep 9, 2023 2:00am
1 Ignored Deployment
Name Status Preview Updated (UTC)
reakit ⬜️ Ignored (Inspect) Visit Preview Sep 9, 2023 2:00am

@codesandbox-ci
Copy link

codesandbox-ci bot commented Sep 9, 2023

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 906a76a:

Sandbox Source
Ariakit Configuration

@diegohaz diegohaz merged commit d158001 into main Sep 9, 2023
9 of 12 checks passed
@diegohaz diegohaz deleted the disclosure-store-set-mounted branch September 9, 2023 01:50
@github-actions github-actions bot mentioned this pull request Sep 8, 2023
diegohaz pushed a commit that referenced this pull request Sep 10, 2023
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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 main, this PR will
be updated.


# Releases
## @ariakit/core@0.3.1

### Patch Changes

- [`#2801`](#2801) Fixed
`values.slice` error that would occur when clicking on `FormCheckbox`
that uses an integer-like field name.

## @ariakit/react@0.3.1

### Patch Changes

- [`#2804`](#2804) New in this
version: [**Component
providers**](https://ariakit.org/guide/component-providers)

Component providers are optional components that act as a higher-level
API on top of [component
stores](https://ariakit.org/guide/component-stores). They wrap Ariakit
components and automatically provide a store to them.

- [`#2797`](#2797) Fixed a
regression on `Dialog` regarding the timing of its "focus on hide"
behavior.

- [`#2801`](#2801) Fixed
`values.slice` error that would occur when clicking on `FormCheckbox`
that uses an integer-like field name.

- [`#2802`](#2802) Added
`setMounted` prop to `useDisclosureStore` and derived component stores.
This callback prop can be used to react to changes in the `mounted`
state. For example:

    ```js
    useDialogStore({
      setMounted(mounted) {
        if (!mounted) {
          props.onUnmount?.();
        }
      },
    });
    ```

- [`#2803`](#2803) The `Toolbar`
component can now render without needing an explicit `store` prop or a
`ToolbarProvider` component wrap. `Toolbar` now also supports certain
store props such as `focusLoop`, `orientation`, `rtl`, and
`virtualFocus`.

-   Updated dependencies: `@ariakit/react-core@0.3.1`.

## @ariakit/react-core@0.3.1

### Patch Changes

- [`#2797`](#2797) Fixed a
regression on `Dialog` regarding the timing of its "focus on hide"
behavior.

- [`#2801`](#2801) Fixed
`values.slice` error that would occur when clicking on `FormCheckbox`
that uses an integer-like field name.

- [`#2802`](#2802) Added
`setMounted` prop to `useDisclosureStore` and derived component stores.
This callback prop can be used to react to changes in the `mounted`
state. For example:

    ```js
    useDialogStore({
      setMounted(mounted) {
        if (!mounted) {
          props.onUnmount?.();
        }
      },
    });
    ```

- [`#2803`](#2803) The `Toolbar`
component can now render without needing an explicit `store` prop or a
`ToolbarProvider` component wrap. `Toolbar` now also supports certain
store props such as `focusLoop`, `orientation`, `rtl`, and
`virtualFocus`.

-   Updated dependencies: `@ariakit/core@0.3.1`.

## @ariakit/test@0.2.4

### Patch Changes

-   Updated dependencies: `@ariakit/core@0.3.1`.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
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.

None yet

1 participant