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

[@mantine/core]Menu: Removing code that may cause dead loops #4030

Merged
merged 2 commits into from
Apr 18, 2023

Conversation

xshuxin
Copy link
Contributor

@xshuxin xshuxin commented Apr 7, 2023

I have already raised the issue and hope it can be helpful~
The following is a description of the problem:
When Menu uses the toggle method provided internally by useDisclosure to control unfolding and collapsing, it can lead to dependency rendering exceeding the maximum update depth and falling into a dead loop. The following is the error message from the console: "Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either does not have a dependency array, or one of the dependency changes on every render.

@xshuxin
Copy link
Contributor Author

xshuxin commented Apr 8, 2023

onChange() should not be called when the Menu is open, but should be called when Menu. targetis clicked, so I attempted to fix the data flow interaction form to avoid dead loops.

#4029

@cyantree
Copy link
Contributor

cyantree commented Apr 8, 2023

Thanks for the PR.
However I think that's not sufficient.

IMHO there are three usecases that should be checked:

  • Uncontrolled use
  • Controlled use where Menu.Target will be used for toggling the state
  • Controlled use where some other component will be used for toggling the state

I've prepared an example for these:
https://codesandbox.io/s/fast-wave-lfz8d3?file=/src/App.tsx

I think the following should happen:

Uncontrolled

When the menu is closed and the user clicks to open it

  • the menu opens
  • onOpen() will be called
  • onChange(true) will be called

When the menu is opened and the user clicks to close it

  • the menu closes
  • onClose() will be called
  • onChange(false) will be called

Controlled with Menu.Target

When opened={false} and the user clicks the trigger (or something else) to open it

  • the menu does not automatically open
  • onOpen() will be called
  • onChange(true) will be called
  • opened={true} will be set from the outside
  • the menu opens
  • neither onOpen() nor onChange() will be called again

When opened={true} and the user clicks the trigger (or something else) to close it

  • the menu does not automatically close
  • onClose() will be called
  • onChange(false) will be called
  • the menu closes
  • neither onOpen() nor onChange() will be called again

Controlled with external component

When opened gets set to true

  • the menu opens
  • neither onOpen() nor onChange() will be called

When opened gets set to false

  • the menu closes
  • neither onOpen() nor onChange() will be called

Currently (before and after your PR) these cases do not work consistently and also onChange() sometimes gets triggered too often.

Also this needs to be tested for trigger='hover' where hovering the target opens/closes the menu.

@xshuxin
Copy link
Contributor Author

xshuxin commented Apr 8, 2023

@cyantree You're absolutely right! I have indeed overlooked many scenarios. I just updated the code and tested it again. The scenarios you mentioned are basically covered. I have relatively shallow experience and this is the first time I have mentioned PR. I feel that you are very experienced in this area. Thank you very much for your suggestion! If possible, do you have time to help review the code? Or propose a better solution?

@cyantree
Copy link
Contributor

cyantree commented Apr 8, 2023

Thanks @xshuxin for taking the time and initiative!

Sure, I'm happy to help reviewing your code.

However at first maybe let's check back with @rtivital whether he agrees with the proposed concept. I'm just a contributor as you and therefore not the one making the decisions.

If he agrees have a look at the unit tests in Menu.test.tsx. They should cover all described scenarios, succeed with your changes and (at least partially) fail with the pre-PR code.

For testing the menu tests I'd change jest.config.js as the following to only run the relevant test:

testMatch: ['**/Menu.test.tsx'],

I don't know if there's an easier way to achieve this?

After finalizing the tests please revert this change before committing and run the whole test suite again.

@xshuxin
Copy link
Contributor Author

xshuxin commented Apr 8, 2023

@cyantree

Thank you very much!
Based on your proposal, I conducted a single module automation test on Menu locally and found that it passed successfully. At the same time, the entire automation test seems to have also passed.
I'm very sorry, I don't have a better way to conduct a single module self-test more easily.
Compared to modifying configuration files, it seems more convenient to run commands directly~

npx jest <path-to-file>
npx jest --watch

I am excited and hope to successfully propose my first PR!

@rtivital
Copy link
Member

Hi @xshuxin, @cyantree proposal is correct, please let me know when your code is ready for review

@ikapta
Copy link
Contributor

ikapta commented Apr 11, 2023

@xshuxin @cyantree @rtivital
I think this issue is occured by this PR #3716Popover component In Controlled status, the onClose will called twice, and use-popover.ts listened the opened status,But Menu passed useDisclousure toggle() to Popover, so dead cycle happened.

Should attention in Popover, there had an intentional logic in Popover component:
if uncontrolled, the PopoverTarget will bind an onClick event to call onClose and setOpen;
if Controlled, here is no event at target, user should controlled by himself.

// This code in PopoverTarget component
...(!ctx.controlled ? { onClick: ctx.onToggle } : null),

And the website doc will has an mislead, onChange only called in closeOnClickOutside:
image

So I have some small update thought:
1、If follow convention, and no changes here , just revert that pr, and user controlled onChange\onClose by himself.
2、Otherwise split Menu logic from close and open, no mixed it to Popover onClose\onOpen.
3、Remove !ctx.controlled ? onClick : null logic in PopoverTarget, then onClose and onChange can be called in unControlled, there will no influence, but should do more test, For Controlled mode user can just use onChange , or custom onClick fn by himself.

@xshuxin
Copy link
Contributor Author

xshuxin commented Apr 11, 2023

Hi @xshuxin, @cyantree proposal is correct, please let me know when your code is ready for revie

@cyantree @rtivital
I'm very sorry, I just saw this message.I am ready for the code to be reviewed~

@cyantree
Copy link
Contributor

Thanks @xshuxin , also for the Jest hint. :)
Can you extend the tests to cover all cases described in #4030 (comment) ?
That allows avoiding regressions.
As described earlier these tests should (at least partially) fail with the old code (because it has it flaws) but succeed with the new code.

@ikapta Thanks for the insight. Yes, maybe that's also relevant here. Extending the menu tests helps getting and keeping this right.

@xshuxin
Copy link
Contributor Author

xshuxin commented Apr 12, 2023

Thanks @cyantree @ikapta insightful insights. :)
I have extended the testing and successfully covered all situations described in #4030(comment) to avoid regression.

Referring to the reason for the bug explained by @ikapta , onClose and onOpen will be called in the controlled state of Popover, causing Menu to trigger a second call.However, Menu managed the calling logic for onClose and onOpen on its own, so I removed them...
Secondly, after removing these two methods, I only changed the clickOutside to not properly call the onClose method. However, due to its controlled component nature, it still calls the 'onChange' method. Therefore, I added onClose to the onChange method to ensure that everything still works properly.

My change is basically the same as the previous call logic, except that the clickOutside call close/open logic is put into onChange.

image
It seems that the extension test you mentioned is inconsistent with the old logic. Could you please help me check if my understanding is incorrect.

fix: Modify the onChange data flow interaction logic in the Menu

fix: modify the onChange data flow interaction logic in the Menu once again

fix: Hover state triggering issue

fix:  the problem of Menu getting stuck in a dead loop

fix:  Optimize naming

fix:  the problem of Menu getting stuck in a dead loop when useDisclosure toggle

fix: the problem of Menu getting stuck in a dead loop

fix: the problem of Menu getting stuck in a dead loop
@cyantree
Copy link
Contributor

Unfortunately I can't find any new tests. They would really help finding the missing pieces. Do you need help with that? It's ok if they are not perfect or fail but it would be a good next step in covering all usecases.

It's correct that the cases I described won't match the old logic. That's because I think programmatic state changes shouldn't trigger these on*() callbacks and the old logic does that.

@cyantree
Copy link
Contributor

Here are some tests for the described scenarios with trigger="click".
And they fail with the old code and pass with your changes. Great!
Feel free to rework or adjust them.

So what's missing are tests for the mode trigger="hover".

  it('correctly calls callbacks when opening and closing the uncontrolled menu via target click', async () => {
    const spyOnOpen = jest.fn();
    const spyOnClose = jest.fn();
    const spyOnChange = jest.fn();

    render(<TestContainer onChange={spyOnChange} onOpen={spyOnOpen} onClose={spyOnClose} />);

    expectClosed();

    await userEvent.click(getControl());

    expectOpened();
    expect(spyOnOpen).toHaveBeenCalledTimes(1);
    expect(spyOnClose).not.toHaveBeenCalled();
    expect(spyOnChange).toHaveBeenCalledTimes(1);
    expect(spyOnChange).toHaveBeenLastCalledWith(true);

    spyOnOpen.mockReset();
    spyOnClose.mockReset();
    spyOnChange.mockReset();
    await userEvent.click(getControl());

    expectClosed();
    expect(spyOnOpen).not.toHaveBeenCalled();
    expect(spyOnClose).toHaveBeenCalledTimes(1);
    expect(spyOnChange).toHaveBeenCalledTimes(1);
    expect(spyOnChange).toHaveBeenLastCalledWith(false);
  });

  it('correctly calls callbacks when opening and closing the controlled menu only via prop', async () => {
    const spyOnOpen = jest.fn();
    const spyOnClose = jest.fn();
    const spyOnChange = jest.fn();

    const ControlledMenu = (props: MenuProps) => <TestContainer onChange={spyOnChange} onOpen={spyOnOpen} onClose={spyOnClose} {...props} />;

    const rendering = render(<ControlledMenu opened={false} />);

    expectClosed();
    expect(spyOnOpen).not.toHaveBeenCalled();
    expect(spyOnClose).not.toHaveBeenCalled();
    expect(spyOnChange).not.toHaveBeenCalled();

    rendering.rerender(<ControlledMenu opened />);

    // Changing state via prop shouldn't call on* methods
    expectOpened();
    expect(spyOnOpen).not.toHaveBeenCalled();
    expect(spyOnClose).not.toHaveBeenCalled();
    expect(spyOnChange).not.toHaveBeenCalled();

    rendering.rerender(<ControlledMenu opened={false} />);

    // Changing state via prop shouldn't call on* methods
    expectClosed();
    expect(spyOnOpen).not.toHaveBeenCalled();
    expect(spyOnClose).not.toHaveBeenCalled();
    expect(spyOnChange).not.toHaveBeenCalled();
  });

  it('correctly calls callbacks when opening and closing the controlled menu via target click', async () => {
    const spyOnOpen = jest.fn();
    const spyOnClose = jest.fn();
    const spyOnChange = jest.fn();

    const ControlledMenu = (props: MenuProps) => <TestContainer onChange={spyOnChange} onOpen={spyOnOpen} onClose={spyOnClose} {...props} />;

    const rendering = render(<ControlledMenu opened={false} />);
    await userEvent.click(getControl());

    expectClosed();
    expect(spyOnOpen).toHaveBeenCalledTimes(1);
    expect(spyOnClose).not.toHaveBeenCalled();
    expect(spyOnChange).toHaveBeenCalledTimes(1);
    expect(spyOnChange).toHaveBeenLastCalledWith(true);

    spyOnOpen.mockReset();
    spyOnClose.mockReset();
    spyOnChange.mockReset();
    rendering.rerender(<ControlledMenu opened />);

    expectOpened();
    await userEvent.click(getControl());

    expectOpened();
    expect(spyOnOpen).not.toHaveBeenCalled();
    expect(spyOnClose).toHaveBeenCalledTimes(1);
    expect(spyOnChange).toHaveBeenCalledTimes(1);
    expect(spyOnChange).toHaveBeenLastCalledWith(false);

    rendering.rerender(<ControlledMenu opened={false} />);

    expectClosed();
  });

@cyantree
Copy link
Contributor

FYI: I'll be unable to work on this for the next few days.

@xshuxin
Copy link
Contributor Author

xshuxin commented Apr 16, 2023

I'm sorry, I've been too busy these past few days.

I think I misunderstood your point earlier. I only conducted testing locally and did not extend Jest

Thanks @cyantree . I have carefully read some of the test code you provided for the scenario described by trigger="click"! They're great!

But I encountered some minor issues and found that they couldn't match through the Prettier format. It seems that there is a problem with these few lines of code.

  const ControlledMenu = (props: MenuProps) => <TestContainer
      onChange={spyOnChange}
      onOpen={spyOnOpen}
      onClose={spyOnClose}
      {...props}
    />;

    const rendering = render(<ControlledMenu opened={false} />);

Aaccording to my humble opinion, regarding the trigger="hover" scenario, it seems that the original jest is sufficient to describe the corresponding scenario. Do you think so?

@rtivital rtivital merged commit 96bb2fe into mantinedev:master Apr 18, 2023
1 check passed
@rtivital
Copy link
Member

Thanks!

@xshuxin xshuxin deleted the feat/menu-update-depth branch April 18, 2023 07:51
@rtivital
Copy link
Member

I'll have to revert it in 6.0.9 – https://codesandbox.io/s/nifty-curran-fy1nlu?file=/src/App.tsx
menus are opening up when clicking anywhere on the screen, instead of when the Target is clicked

@xshuxin
Copy link
Contributor Author

xshuxin commented Apr 20, 2023

Secondly, after removing these two methods, I only changed the clickOutside to not properly call the onClose method. However, due to its controlled component nature, it still calls the 'onChange' method. Therefore, I added onClose to the onChange method to ensure that everything still works properly.

@rtivital I'm very sorry, I missed out on this question. Please let me try to fix it.

kodiakhq bot added a commit to weareinreach/InReach that referenced this pull request Apr 20, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@aws-sdk/client-cognito-identity-provider](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-cognito-identity-provider) ([source](https://togithub.com/aws/aws-sdk-js-v3)) | [`3.315.0` -> `3.316.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-cognito-identity-provider/3.315.0/3.316.0) | [![age](https://badges.renovateapi.com/packages/npm/@aws-sdk%2fclient-cognito-identity-provider/3.316.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@aws-sdk%2fclient-cognito-identity-provider/3.316.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@aws-sdk%2fclient-cognito-identity-provider/3.316.0/compatibility-slim/3.315.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@aws-sdk%2fclient-cognito-identity-provider/3.316.0/confidence-slim/3.315.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3)) | [`3.315.0` -> `3.316.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.315.0/3.316.0) | [![age](https://badges.renovateapi.com/packages/npm/@aws-sdk%2fclient-s3/3.316.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@aws-sdk%2fclient-s3/3.316.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@aws-sdk%2fclient-s3/3.316.0/compatibility-slim/3.315.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@aws-sdk%2fclient-s3/3.316.0/confidence-slim/3.315.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/carousel](https://mantine.dev/others/carousel/) ([source](https://togithub.com/mantinedev/mantine)) | [`6.0.7` -> `6.0.8`](https://renovatebot.com/diffs/npm/@mantine%2fcarousel/6.0.7/6.0.8) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fcarousel/6.0.8/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fcarousel/6.0.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fcarousel/6.0.8/compatibility-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fcarousel/6.0.8/confidence-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/core](https://mantine.dev/) ([source](https://togithub.com/mantinedev/mantine)) | [`6.0.7` -> `6.0.8`](https://renovatebot.com/diffs/npm/@mantine%2fcore/6.0.7/6.0.8) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fcore/6.0.8/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fcore/6.0.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fcore/6.0.8/compatibility-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fcore/6.0.8/confidence-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/dates](https://mantine.dev/dates/getting-started/) ([source](https://togithub.com/mantinedev/mantine)) | [`6.0.7` -> `6.0.8`](https://renovatebot.com/diffs/npm/@mantine%2fdates/6.0.7/6.0.8) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fdates/6.0.8/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fdates/6.0.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fdates/6.0.8/compatibility-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fdates/6.0.8/confidence-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/dropzone](https://mantine.dev/others/dropzone/) ([source](https://togithub.com/mantinedev/mantine)) | [`6.0.7` -> `6.0.8`](https://renovatebot.com/diffs/npm/@mantine%2fdropzone/6.0.7/6.0.8) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fdropzone/6.0.8/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fdropzone/6.0.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fdropzone/6.0.8/compatibility-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fdropzone/6.0.8/confidence-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/form](https://mantine.dev/) ([source](https://togithub.com/mantinedev/mantine)) | [`6.0.7` -> `6.0.8`](https://renovatebot.com/diffs/npm/@mantine%2fform/6.0.7/6.0.8) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fform/6.0.8/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fform/6.0.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fform/6.0.8/compatibility-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fform/6.0.8/confidence-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/hooks](https://mantine.dev/) ([source](https://togithub.com/mantinedev/mantine)) | [`6.0.7` -> `6.0.8`](https://renovatebot.com/diffs/npm/@mantine%2fhooks/6.0.7/6.0.8) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fhooks/6.0.8/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fhooks/6.0.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fhooks/6.0.8/compatibility-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fhooks/6.0.8/confidence-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/modals](https://mantine.dev/others/modals/) ([source](https://togithub.com/mantinedev/mantine)) | [`6.0.7` -> `6.0.8`](https://renovatebot.com/diffs/npm/@mantine%2fmodals/6.0.7/6.0.8) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fmodals/6.0.8/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fmodals/6.0.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fmodals/6.0.8/compatibility-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fmodals/6.0.8/confidence-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/next](https://mantine.dev/) ([source](https://togithub.com/mantinedev/mantine)) | [`6.0.7` -> `6.0.8`](https://renovatebot.com/diffs/npm/@mantine%2fnext/6.0.7/6.0.8) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fnext/6.0.8/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fnext/6.0.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fnext/6.0.8/compatibility-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fnext/6.0.8/confidence-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/notifications](https://mantine.dev/others/notifications/) ([source](https://togithub.com/mantinedev/mantine)) | [`6.0.7` -> `6.0.8`](https://renovatebot.com/diffs/npm/@mantine%2fnotifications/6.0.7/6.0.8) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fnotifications/6.0.8/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fnotifications/6.0.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fnotifications/6.0.8/compatibility-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fnotifications/6.0.8/confidence-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/nprogress](https://mantine.dev/others/nprogress/) ([source](https://togithub.com/mantinedev/mantine)) | [`6.0.7` -> `6.0.8`](https://renovatebot.com/diffs/npm/@mantine%2fnprogress/6.0.7/6.0.8) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fnprogress/6.0.8/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fnprogress/6.0.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fnprogress/6.0.8/compatibility-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fnprogress/6.0.8/confidence-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/prism](https://mantine.dev/others/prism/) ([source](https://togithub.com/mantinedev/mantine)) | [`6.0.7` -> `6.0.8`](https://renovatebot.com/diffs/npm/@mantine%2fprism/6.0.7/6.0.8) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fprism/6.0.8/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fprism/6.0.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fprism/6.0.8/compatibility-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fprism/6.0.8/confidence-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/spotlight](https://mantine.dev/others/spotlight/) ([source](https://togithub.com/mantinedev/mantine)) | [`6.0.7` -> `6.0.8`](https://renovatebot.com/diffs/npm/@mantine%2fspotlight/6.0.7/6.0.8) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fspotlight/6.0.8/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fspotlight/6.0.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fspotlight/6.0.8/compatibility-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fspotlight/6.0.8/confidence-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/tiptap](https://mantine.dev/others/tiptap) ([source](https://togithub.com/mantinedev/mantine)) | [`6.0.7` -> `6.0.8`](https://renovatebot.com/diffs/npm/@mantine%2ftiptap/6.0.7/6.0.8) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2ftiptap/6.0.8/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2ftiptap/6.0.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2ftiptap/6.0.8/compatibility-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2ftiptap/6.0.8/confidence-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/utils](https://mantine.dev/) ([source](https://togithub.com/mantinedev/mantine)) | [`6.0.7` -> `6.0.8`](https://renovatebot.com/diffs/npm/@mantine%2futils/6.0.7/6.0.8) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2futils/6.0.8/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2futils/6.0.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2futils/6.0.8/compatibility-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2futils/6.0.8/confidence-slim/6.0.7)](https://docs.renovatebot.com/merge-confidence/) |
| [@next-auth/prisma-adapter](https://authjs.dev) ([source](https://togithub.com/nextauthjs/next-auth)) | [`1.0.5` -> `1.0.6`](https://renovatebot.com/diffs/npm/@next-auth%2fprisma-adapter/1.0.5/1.0.6) | [![age](https://badges.renovateapi.com/packages/npm/@next-auth%2fprisma-adapter/1.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@next-auth%2fprisma-adapter/1.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@next-auth%2fprisma-adapter/1.0.6/compatibility-slim/1.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@next-auth%2fprisma-adapter/1.0.6/confidence-slim/1.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@prisma/client](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma)) | [`4.12.0` -> `4.13.0`](https://renovatebot.com/diffs/npm/@prisma%2fclient/4.12.0/4.13.0) | [![age](https://badges.renovateapi.com/packages/npm/@prisma%2fclient/4.13.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@prisma%2fclient/4.13.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@prisma%2fclient/4.13.0/compatibility-slim/4.12.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@prisma%2fclient/4.13.0/confidence-slim/4.12.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@prisma/instrumentation](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma)) | [`4.12.0` -> `4.13.0`](https://renovatebot.com/diffs/npm/@prisma%2finstrumentation/4.12.0/4.13.0) | [![age](https://badges.renovateapi.com/packages/npm/@prisma%2finstrumentation/4.13.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@prisma%2finstrumentation/4.13.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@prisma%2finstrumentation/4.13.0/compatibility-slim/4.12.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@prisma%2finstrumentation/4.13.0/confidence-slim/4.12.0)](https://docs.renovatebot.com/merge-confidence/) |
| @&#8203;prisma/nextjs-monorepo-workaround-plugin | [`4.12.0` -> `4.13.0`](https://renovatebot.com/diffs/npm/@prisma%2fnextjs-monorepo-workaround-plugin/4.12.0/4.13.0) | [![age](https://badges.renovateapi.com/packages/npm/@prisma%2fnextjs-monorepo-workaround-plugin/4.13.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@prisma%2fnextjs-monorepo-workaround-plugin/4.13.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@prisma%2fnextjs-monorepo-workaround-plugin/4.13.0/compatibility-slim/4.12.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@prisma%2fnextjs-monorepo-workaround-plugin/4.13.0/confidence-slim/4.12.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-a11y](https://togithub.com/storybookjs/storybook/tree/next/code/addons/a11y) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-a11y/7.0.5/7.0.6) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-a11y/7.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-a11y/7.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-a11y/7.0.6/compatibility-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-a11y/7.0.6/confidence-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-actions](https://togithub.com/storybookjs/storybook/tree/next/code/addons/actions) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-actions/7.0.5/7.0.6) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-actions/7.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-actions/7.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-actions/7.0.6/compatibility-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-actions/7.0.6/confidence-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-docs](https://togithub.com/storybookjs/storybook/tree/next/code/addons/docs) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-docs/7.0.5/7.0.6) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-docs/7.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-docs/7.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-docs/7.0.6/compatibility-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-docs/7.0.6/confidence-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-essentials](https://togithub.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/7.0.5/7.0.6) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-essentials/7.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-essentials/7.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-essentials/7.0.6/compatibility-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-essentials/7.0.6/confidence-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-interactions](https://togithub.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/7.0.5/7.0.6) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-interactions/7.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-interactions/7.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-interactions/7.0.6/compatibility-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-interactions/7.0.6/confidence-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-links](https://togithub.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/7.0.5/7.0.6) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-links/7.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-links/7.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-links/7.0.6/compatibility-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-links/7.0.6/confidence-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-viewport](https://togithub.com/storybookjs/storybook/tree/next/code/addons/viewport) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-viewport/7.0.5/7.0.6) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-viewport/7.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-viewport/7.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-viewport/7.0.6/compatibility-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-viewport/7.0.6/confidence-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/components](https://togithub.com/storybookjs/storybook/tree/main/code/ui/components) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/@storybook%2fcomponents/7.0.5/7.0.6) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2fcomponents/7.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2fcomponents/7.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2fcomponents/7.0.6/compatibility-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2fcomponents/7.0.6/confidence-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/core-events](https://togithub.com/storybookjs/storybook/tree/main/lib/core-events) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/@storybook%2fcore-events/7.0.5/7.0.6) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2fcore-events/7.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2fcore-events/7.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2fcore-events/7.0.6/compatibility-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2fcore-events/7.0.6/confidence-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/manager-api](https://togithub.com/storybookjs/storybook/tree/main/lib/manager-api) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/@storybook%2fmanager-api/7.0.5/7.0.6) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2fmanager-api/7.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2fmanager-api/7.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2fmanager-api/7.0.6/compatibility-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2fmanager-api/7.0.6/confidence-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/nextjs](https://togithub.com/storybookjs/storybook/tree/next/code/frameworks/nextjs) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/@storybook%2fnextjs/7.0.5/7.0.6) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2fnextjs/7.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2fnextjs/7.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2fnextjs/7.0.6/compatibility-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2fnextjs/7.0.6/confidence-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/preview-api](https://togithub.com/storybookjs/storybook/tree/main/code/lib/preview-api) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/@storybook%2fpreview-api/7.0.5/7.0.6) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2fpreview-api/7.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2fpreview-api/7.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2fpreview-api/7.0.6/compatibility-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2fpreview-api/7.0.6/confidence-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/react](https://togithub.com/storybookjs/storybook/tree/main/renderers/react) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/@storybook%2freact/7.0.5/7.0.6) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2freact/7.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2freact/7.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2freact/7.0.6/compatibility-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2freact/7.0.6/confidence-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/theming](https://togithub.com/storybookjs/storybook/tree/main/lib/theming) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/@storybook%2ftheming/7.0.5/7.0.6) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2ftheming/7.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2ftheming/7.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2ftheming/7.0.6/compatibility-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2ftheming/7.0.6/confidence-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/types](https://togithub.com/storybookjs/storybook/tree/main/code/lib/types) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/@storybook%2ftypes/7.0.5/7.0.6) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2ftypes/7.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2ftypes/7.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2ftypes/7.0.6/compatibility-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2ftypes/7.0.6/confidence-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@trpc/client](https://trpc.io) ([source](https://togithub.com/trpc/trpc)) | [`10.20.0` -> `10.21.0`](https://renovatebot.com/diffs/npm/@trpc%2fclient/10.20.0/10.21.0) | [![age](https://badges.renovateapi.com/packages/npm/@trpc%2fclient/10.21.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@trpc%2fclient/10.21.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@trpc%2fclient/10.21.0/compatibility-slim/10.20.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@trpc%2fclient/10.21.0/confidence-slim/10.20.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@trpc/next](https://trpc.io) ([source](https://togithub.com/trpc/trpc)) | [`10.20.0` -> `10.21.0`](https://renovatebot.com/diffs/npm/@trpc%2fnext/10.20.0/10.21.0) | [![age](https://badges.renovateapi.com/packages/npm/@trpc%2fnext/10.21.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@trpc%2fnext/10.21.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@trpc%2fnext/10.21.0/compatibility-slim/10.20.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@trpc%2fnext/10.21.0/confidence-slim/10.20.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@trpc/react-query](https://trpc.io) ([source](https://togithub.com/trpc/trpc)) | [`10.20.0` -> `10.21.0`](https://renovatebot.com/diffs/npm/@trpc%2freact-query/10.20.0/10.21.0) | [![age](https://badges.renovateapi.com/packages/npm/@trpc%2freact-query/10.21.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@trpc%2freact-query/10.21.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@trpc%2freact-query/10.21.0/compatibility-slim/10.20.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@trpc%2freact-query/10.21.0/confidence-slim/10.20.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@trpc/server](https://trpc.io) ([source](https://togithub.com/trpc/trpc)) | [`10.20.0` -> `10.21.0`](https://renovatebot.com/diffs/npm/@trpc%2fserver/10.20.0/10.21.0) | [![age](https://badges.renovateapi.com/packages/npm/@trpc%2fserver/10.21.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@trpc%2fserver/10.21.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@trpc%2fserver/10.21.0/compatibility-slim/10.20.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@trpc%2fserver/10.21.0/confidence-slim/10.20.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/google.maps](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/google.maps) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) | [`3.52.5` -> `3.52.6`](https://renovatebot.com/diffs/npm/@types%2fgoogle.maps/3.52.5/3.52.6) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fgoogle.maps/3.52.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fgoogle.maps/3.52.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fgoogle.maps/3.52.6/compatibility-slim/3.52.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fgoogle.maps/3.52.6/confidence-slim/3.52.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) | [`18.15.11` -> `18.15.12`](https://renovatebot.com/diffs/npm/@types%2fnode/18.15.11/18.15.12) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.12/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.12/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.12/compatibility-slim/18.15.11)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.12/confidence-slim/18.15.11)](https://docs.renovatebot.com/merge-confidence/) |
| [axios](https://axios-http.com) ([source](https://togithub.com/axios/axios)) | [`1.3.5` -> `1.3.6`](https://renovatebot.com/diffs/npm/axios/1.3.5/1.3.6) | [![age](https://badges.renovateapi.com/packages/npm/axios/1.3.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/axios/1.3.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/axios/1.3.6/compatibility-slim/1.3.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/axios/1.3.6/confidence-slim/1.3.5)](https://docs.renovatebot.com/merge-confidence/) |
| [i18next](https://www.i18next.com) ([source](https://togithub.com/i18next/i18next)) | [`22.4.14` -> `22.4.15`](https://renovatebot.com/diffs/npm/i18next/22.4.14/22.4.15) | [![age](https://badges.renovateapi.com/packages/npm/i18next/22.4.15/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/i18next/22.4.15/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/i18next/22.4.15/compatibility-slim/22.4.14)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/i18next/22.4.15/confidence-slim/22.4.14)](https://docs.renovatebot.com/merge-confidence/) |
| [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) | [`1.10.26` -> `1.10.28`](https://renovatebot.com/diffs/npm/libphonenumber-js/1.10.26/1.10.28) | [![age](https://badges.renovateapi.com/packages/npm/libphonenumber-js/1.10.28/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/libphonenumber-js/1.10.28/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/libphonenumber-js/1.10.28/compatibility-slim/1.10.26)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/libphonenumber-js/1.10.28/confidence-slim/1.10.26)](https://docs.renovatebot.com/merge-confidence/) |
| [next-auth](https://next-auth.js.org) ([source](https://togithub.com/nextauthjs/next-auth)) | [`4.22.0` -> `4.22.1`](https://renovatebot.com/diffs/npm/next-auth/4.22.0/4.22.1) | [![age](https://badges.renovateapi.com/packages/npm/next-auth/4.22.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/next-auth/4.22.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/next-auth/4.22.1/compatibility-slim/4.22.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/next-auth/4.22.1/confidence-slim/4.22.0)](https://docs.renovatebot.com/merge-confidence/) |
| [pnpm](https://pnpm.io) ([source](https://togithub.com/pnpm/pnpm)) | [`8.2.0` -> `8.3.1`](https://renovatebot.com/diffs/npm/pnpm/8.2.0/8.3.1) | [![age](https://badges.renovateapi.com/packages/npm/pnpm/8.3.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/pnpm/8.3.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/pnpm/8.3.1/compatibility-slim/8.2.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/pnpm/8.3.1/confidence-slim/8.2.0)](https://docs.renovatebot.com/merge-confidence/) |
| [prisma](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma)) | [`4.12.0` -> `4.13.0`](https://renovatebot.com/diffs/npm/prisma/4.12.0/4.13.0) | [![age](https://badges.renovateapi.com/packages/npm/prisma/4.13.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/prisma/4.13.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/prisma/4.13.0/compatibility-slim/4.12.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/prisma/4.13.0/confidence-slim/4.12.0)](https://docs.renovatebot.com/merge-confidence/) |
| [storybook](https://togithub.com/storybookjs/storybook/tree/main/lib/cli) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/storybook/7.0.5/7.0.6) | [![age](https://badges.renovateapi.com/packages/npm/storybook/7.0.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/storybook/7.0.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/storybook/7.0.6/compatibility-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/storybook/7.0.6/confidence-slim/7.0.5)](https://docs.renovatebot.com/merge-confidence/) |
| [storybook-addon-pseudo-states](https://togithub.com/chromaui/storybook-addon-pseudo-states) | [`2.0.0` -> `2.0.1`](https://renovatebot.com/diffs/npm/storybook-addon-pseudo-states/2.0.0/2.0.1) | [![age](https://badges.renovateapi.com/packages/npm/storybook-addon-pseudo-states/2.0.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/storybook-addon-pseudo-states/2.0.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/storybook-addon-pseudo-states/2.0.1/compatibility-slim/2.0.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/storybook-addon-pseudo-states/2.0.1/confidence-slim/2.0.0)](https://docs.renovatebot.com/merge-confidence/) |
| [storybook-addon-swc](https://togithub.com/Karibash/storybook-addon-swc) | [`1.1.9` -> `1.2.0`](https://renovatebot.com/diffs/npm/storybook-addon-swc/1.1.9/1.2.0) | [![age](https://badges.renovateapi.com/packages/npm/storybook-addon-swc/1.2.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/storybook-addon-swc/1.2.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/storybook-addon-swc/1.2.0/compatibility-slim/1.1.9)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/storybook-addon-swc/1.2.0/confidence-slim/1.1.9)](https://docs.renovatebot.com/merge-confidence/) |
| [webpack](https://togithub.com/webpack/webpack) | [`5.79.0` -> `5.80.0`](https://renovatebot.com/diffs/npm/webpack/5.79.0/5.80.0) | [![age](https://badges.renovateapi.com/packages/npm/webpack/5.80.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/webpack/5.80.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/webpack/5.80.0/compatibility-slim/5.79.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/webpack/5.80.0/confidence-slim/5.79.0)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-cognito-identity-provider)</summary>

### [`v3.316.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-cognito-identity-provider/CHANGELOG.md#&#8203;33160-httpsgithubcomawsaws-sdk-js-v3comparev33150v33160-2023-04-19)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.315.0...v3.316.0)

##### Features

-   **smithy-client:** factory for aggregated clients ([#&#8203;4639](https://togithub.com/aws/aws-sdk-js-v3/issues/4639)) ([852b99d](https://togithub.com/aws/aws-sdk-js-v3/commit/852b99d393fe5f1a9ff6345f797949f3901a9cbf))

</details>

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.316.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#&#8203;33160-httpsgithubcomawsaws-sdk-js-v3comparev33150v33160-2023-04-19)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.315.0...v3.316.0)

##### Features

-   **client-s3:** Provides support for "Snow" Storage class. ([81b843f](https://togithub.com/aws/aws-sdk-js-v3/commit/81b843fc4569453d46e044a5abbdb05b463b01f6))
-   **smithy-client:** factory for aggregated clients ([#&#8203;4639](https://togithub.com/aws/aws-sdk-js-v3/issues/4639)) ([852b99d](https://togithub.com/aws/aws-sdk-js-v3/commit/852b99d393fe5f1a9ff6345f797949f3901a9cbf))

</details>

<details>
<summary>mantinedev/mantine</summary>

### [`v6.0.8`](https://togithub.com/mantinedev/mantine/releases/tag/6.0.8)

[Compare Source](https://togithub.com/mantinedev/mantine/compare/6.0.7...6.0.8)

##### What's Changed

-   `[@mantine/core]` Accordion: Fix chevron width being defined in px instead of rem ([#&#8203;3935](https://togithub.com/mantinedev/mantine/issues/3935))
-   `[@mantine/core]` Modal: Add missing `sx` prop ([#&#8203;4058](https://togithub.com/mantinedev/mantine/issues/4058))
-   `[@mantine/core]` Dialog: Fix viewport overflowing on small screens ([#&#8203;4090](https://togithub.com/mantinedev/mantine/issues/4090))
-   `[@mantine/core]` MultiSelect: Add option to get value index in `ValueCopmonent` ([#&#8203;3928](https://togithub.com/mantinedev/mantine/issues/3928))
-   `[@mantine/dates]` DatePickerInput: Fix `withCellSpacing` not working ([#&#8203;3993](https://togithub.com/mantinedev/mantine/issues/3993))
-   `[@mantine/core]` Menu: Fix incorrect logic for `onChange`, `onOpen` and `onClose` callbacks ([#&#8203;4030](https://togithub.com/mantinedev/mantine/issues/4030))
-   `[@mantine/core]` Sort `theme.breakpoints` during theme override merging on MantineProvider ([#&#8203;4051](https://togithub.com/mantinedev/mantine/issues/4051))
-   `[@mantine/core]` Notification: Fix incorrect border styles ([#&#8203;4054](https://togithub.com/mantinedev/mantine/issues/4054))
-   `[@mantine/dropzone]` Reexport `FileRejection` type from `react-dropzone` ([#&#8203;4065](https://togithub.com/mantinedev/mantine/issues/4065))
-   `[@mantine/core]` Slider: Fix slider track not respecting parent container width ([#&#8203;4083](https://togithub.com/mantinedev/mantine/issues/4083))

##### New Contributors

-   [@&#8203;dylnslck](https://togithub.com/dylnslck) made their first contribution in [https://github.com/mantinedev/mantine/pull/4065](https://togithub.com/mantinedev/mantine/pull/4065)
-   [@&#8203;xshuxin](https://togithub.com/xshuxin) made their first contribution in [https://github.com/mantinedev/mantine/pull/4030](https://togithub.com/mantinedev/mantine/pull/4030)

**Full Changelog**: https://github.com/mantinedev/mantine/compare/6.0.7...6.0.8

</details>

<details>
<summary>nextauthjs/next-auth</summary>

### [`v1.0.6`](https://togithub.com/nextauthjs/next-auth/releases/tag/%40next-auth/prisma-adapter%401.0.6)

[Compare Source](https://togithub.com/nextauthjs/next-auth/compare/@next-auth/prisma-adapter@v1.0.5...@next-auth/prisma-adapter@1.0.6)

#### Bugfixes

-   **adapter**: improve Adapter docs, add runtime assertions ([#&#8203;6877](https://togithub.com/nextauthjs/next-auth/issues/6877)) ([`7462e79`](https://togithub.com/nextauthjs/next-auth/commit/7462e797))

#### Other

-   **adapters**: source content + overview ([#&#8203;7023](https://togithub.com/nextauthjs/next-auth/issues/7023)) ([`1d9b9ba`](https://togithub.com/nextauthjs/next-auth/commit/1d9b9ba4))
-   unify adapters ([#&#8203;7013](https://togithub.com/nextauthjs/next-auth/issues/7013))

</details>

<details>
<summary>prisma/prisma</summary>

### [`v4.13.0`](https://togithub.com/prisma/prisma/releases/tag/4.13.0)

[Compare Source](https://togithub.com/prisma/prisma/compare/4.12.0...4.13.0)

🌟 **Help us spread the word about Prisma by starring the repo or [tweeting](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@&#8203;prisma%20release%20v4.13.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/4.13.0) about the release.** 🌟

#### Highlights

##### Introspection stopgaps

The Prisma Schema Language (PSL) currently doesn't support all database features and functionality of [our target databases](https://www.prisma.io/docs/reference/database-reference/supported-databases). The PSL is an abstraction over SQL and will keep evolving to address gaps in our [database feature matrix](https://www.prisma.io/docs/reference/database-reference/database-features).

Before this release, `prisma db pull` did not pick up the unsupported features in a database. It was easy to lose them when running `prisma migrate dev` based on an existing Prisma schema if not included in a migration file using custom migrations.

To avoid this, we added *Introspection Stopgaps* that surface the existence of these features in your database and link to our documentation on how to manually work around the Prisma Schema with unsupported database features (”Stopgaps” as we will remove them as soon as we implement full support for these features).

In this release, we added stopgaps for the following features:

-   [Partitioned tables](https://togithub.com/prisma/prisma/issues/1708)
-   [PostgreSQL Row Level Security](https://togithub.com/prisma/prisma/issues/12735)
-   [Index sort order, `NULLS FIRST` / `NULLS LAST`](https://togithub.com/prisma/prisma/issues/15466)
-   [CockroachDB row-level TTL](https://togithub.com/prisma/prisma/issues/13982)
-   [Comments](https://togithub.com/prisma/prisma/issues/8703)
-   [PostgreSQL deferred constraints](https://togithub.com/prisma/prisma/issues/8807)

Prisma CLI will output warnings on introspection (`prisma db pull`) and add comments to your Prisma schema. In the coming releases, we will expand this to many more [features labeled with `topic: database-functionality` on GitHub](https://togithub.com/prisma/prisma/issues?q=is%3Aopen+label%3A%22topic%3A+database-functionality%22+label%3Ateam%2Fschema+sort%3Aupdated-desc+).

##### Improved support for Netlify and Vercel build process

Netlify and Vercel cache project dependencies during the build process and reuse that cache until dependencies change. While this helps speed up the build process, any `postinstall` scripts of these dependencies will not be executed.

Prisma uses a `postinstall` script in its package to automatically trigger the customized generation of Prisma Client for your Prisma Schema. When a dependency cache is used, that generation process is not triggered, and an outdated Prisma Client may be used in your application.

When you update your Prisma Schema but not your dependencies, Prisma Client will not be generated for the new schema. For example, columns you added recently to one of your models will not be present in the Prisma Client API - causing errors.

This problem can be avoided by:

1.  Adding a custom `postinstall` script in your `package.json` file
2.  Manually adding a `prisma generate` step to the “Build” scripts of Vercel and Netlify.

We now added detection of this scenario and will prevent a build without an additional `prisma generate`. This will ensure you're aware of the problem early and get guidance on how to fix this problem. You can read more on how to do this in our docs — [Vercel caching troubleshooting](https://prisma.io/docs/guides/other/troubleshooting-orm/help-articles/vercel-caching-issue), [Netlify caching troubleshooting](https://prisma.io/docs/guides/other/troubleshooting-orm/help-articles/netlify-caching-issue).

##### Better support for pnpm as a package manager

Before this release, Prisma only used npm scripts which would lead to undesirable behavior for a project using a different package manager such as pnpm and yarn. This release improves the detection of the package managers in your project by using [`ni`](https://togithub.com/antfu/ni). If you're still running into this problem, let us know by creating a [GitHub issue](https://togithub.com/prisma/prisma/issues/new?assignees=\&labels=kind/bug\&template=bug_report.yml).

##### Segmentation fault and TLS connection error fix

In this release, we've fixed a TLS connection error segmentation fault. This mostly affected users running on Node.js 17 or later with OpenSSL 1.1 when using TLS to connect to their database.

##### JSON protocol Preview feature feedback

We have fixed multiple bugs for the `jsonProtocol` Preview feature and are close to making it Generally Available. We are still looking for feedback about its usage to ensure it is ready and works as expected for everyone.

We would appreciate it if you would try it out, help us polish the feature, and move it to General Availability. Testing it requires little effort. You can test it using the following steps:

1.  Enabling the `jsonProtocol` Preview feature in your Prisma schema
2.  Re-generating Prisma Client
3.  Running your application or tests to make sure everything works

We encourage you to leave your feedback in [this GitHub issue](https://togithub.com/prisma/prisma/issues/18095) or [create a bug report](https://togithub.com/prisma/prisma/issues/new?assignees=\&labels=kind/bug\&template=bug_report.yml) if your run into any issues.

#### Fixes and improvements

##### Prisma Client

-   [`prisma generate` fails when using pnpm workspaces because it tries to install prisma dependencies with npm or yarn](https://togithub.com/prisma/prisma/issues/5340)
-   [Netlify deploy does not pick up changes to schema file](https://togithub.com/prisma/prisma/issues/6634)
-   [Vercel: Schema only change does not invalidate build cache](https://togithub.com/prisma/prisma/issues/7291)
-   [Serverless deployments: Just making a schema level change to a repository does not invalidate `node_modules` cache that contains generated Client](https://togithub.com/prisma/prisma/issues/7818)
-   [pnpm: Can not `prisma generate` when `@prisma/client` is not installed in project](https://togithub.com/prisma/prisma/issues/9848)
-   [Segmentation fault crash when using prisma client when using PostgreSQL](https://togithub.com/prisma/prisma/issues/10649)
-   [Docker with `pnpm install` hangs on `@prisma/client` postinstall ](https://togithub.com/prisma/prisma/issues/11791)
-   [Automatic installation of missing dependencies isn't compatible with pnpm](https://togithub.com/prisma/prisma/issues/14401)
-   [Prisma generate throws dependency error karma-chai](https://togithub.com/prisma/prisma/issues/14816)
-   [Postinstall script fails with PNPM workspaces due to npm ERR! Cannot read properties of null (reading 'matches')](https://togithub.com/prisma/prisma/issues/14944)
-   [Debian 11 Node 19.3.0 segmentation fault](https://togithub.com/prisma/prisma/issues/16897)
-   [Prisma client segfault on Ubuntu 22.04](https://togithub.com/prisma/prisma/issues/17223)
-   [Segmentation Fault in Postgres](https://togithub.com/prisma/prisma/issues/17946)
-   [Using Prisma with pnpm results in inability to call database related commands](https://togithub.com/prisma/prisma/issues/18238)
-   [Prisma Connect Causes NodeJS to Close With Exit Code 0](https://togithub.com/prisma/prisma/issues/18336)
-   [99056 segmentation fault (core dumped) node --require esbuild-register prisma/seed.ts](https://togithub.com/prisma/prisma/issues/18559)
-   [JSON protocol: sibling composites of the same type are rejected](https://togithub.com/prisma/prisma/issues/18735)

##### Prisma Migrate

-   [prisma db pull adds redundant comments: "This table is a partition table ..."](https://togithub.com/prisma/prisma/issues/18103)
-   [Render warning code 30 in cli (PG RLS)](https://togithub.com/prisma/prisma/issues/18700)

##### Language tools (e.g. VS Code)

-   [`[object Object]` output in logging isn't helpful](https://togithub.com/prisma/language-tools/issues/1390)

#### Credits

Huge thanks to [@&#8203;KhooHaoYit](https://togithub.com/KhooHaoYit), [@&#8203;rintaun](https://togithub.com/rintaun), [@&#8203;maxmartynov](https://togithub.com/maxmartynov), [@&#8203;haneenmahd](https://togithub.com/haneenmahd) for helping!

#### 📺 Join us for another "What's new in Prisma" live stream

Learn about the latest release and other news from the Prisma community by joining us for another ["What's new in Prisma"](https://youtube.com/playlist?list=PLn2e1F9Rfr6l1B9RP0A9NdX7i7QIWfBa7) live stream.

The stream takes place [on YouTube](https://youtu.be/NXzQIkfF3E8) on **Thursday, April 20** at **5 pm Berlin | 8 am San Francisco**.

</details>

<details>
<summary>storybookjs/storybook</summary>

### [`v7.0.6`](https://togithub.com/storybookjs/storybook/releases/tag/v7.0.6)

[Compare Source](https://togithub.com/storybookjs/storybook/compare/v7.0.5...v7.0.6)

##### Bug Fixes

-   Core: Fix `module` guard in non-webpack environments [#&#8203;22085](https://togithub.com/storybooks/storybook/pull/22085)

##### Maintenance

-   CLI: Mark qwik as using addon-interactions [#&#8203;22000](https://togithub.com/storybooks/storybook/pull/22000)

##### Build

-   Build: Upgrade Playwright to 1.32.3 [#&#8203;22087](https://togithub.com/storybooks/storybook/pull/22087)

</details>

<details>
<summary>trpc/trpc</summary>

### [`v10.21.0`](https://togithub.com/trpc/trpc/releases/tag/v10.21.0)

[Compare Source](https://togithub.com/trpc/trpc/compare/v10.20.0...v10.21.0)

##### What's Changed

-   fix(server): undefined stripped from query result by [@&#8203;juliusmarminge](https://togithub.com/juliusmarminge) in [https://github.com/trpc/trpc/pull/4187](https://togithub.com/trpc/trpc/pull/4187)
-   perf(server): `Overwrite` util type is unnecessarily expensive by [@&#8203;mozzius](https://togithub.com/mozzius) in [https://github.com/trpc/trpc/pull/4204](https://togithub.com/trpc/trpc/pull/4204)
-   feat(server): retain `Error.cause` even if the original cause isn't an `Error`-instance by [@&#8203;KATT](https://togithub.com/KATT) in [https://github.com/trpc/trpc/pull/4219](https://togithub.com/trpc/trpc/pull/4219)
-   fix(react): use ref to ensure opts stay sync'd with subscription by [@&#8203;KATT](https://togithub.com/KATT) in [https://github.com/trpc/trpc/pull/4222](https://togithub.com/trpc/trpc/pull/4222)

##### New Contributors

-   [@&#8203;jaredpalmer](https://togithub.com/jaredpalmer) made their first contribution in [https://github.com/trpc/trpc/pull/4161](https://togithub.com/trpc/trpc/pull/4161)

**Full Changelog**: https://github.com/trpc/trpc/compare/v10.20.0...v10.21.0

</details>

<details>
<summary>axios/axios</summary>

### [`v1.3.6`](https://togithub.com/axios/axios/blob/HEAD/CHANGELOG.md#&#8203;136-httpsgithubcomaxiosaxioscomparev135v136-2023-04-19)

[Compare Source](https://togithub.com/axios/axios/compare/v1.3.5...v1.3.6)

##### Bug Fixes

-   **types:** added transport to RawAxiosRequestConfig ([#&#8203;5445](https://togithub.com/axios/axios/issues/5445)) ([6f360a2](https://togithub.com/axios/axios/commit/6f360a2531d8d70363fd9becef6a45a323f170e2))
-   **utils:** make isFormData detection logic stricter to avoid unnecessary calling of the `toString` method on the target; ([#&#8203;5661](https://togithub.com/axios/axios/issues/5661)) ([aa372f7](https://togithub.com/axios/axios/commit/aa372f7306295dfd1100c1c2c77ce95c95808e76))

##### Contributors to this release

-   <img src="https://avatars.githubusercontent.com/u/12586868?v&#x3D;4&amp;s&#x3D;18" alt="avatar" width="18"/> [Dmitriy Mozgovoy](https://togithub.com/DigitalBrainJS "+48/-10 (#&#8203;5665 #&#8203;5661 #&#8203;5663 )")
-   <img src="https://avatars.githubusercontent.com/u/5492927?v&#x3D;4&amp;s&#x3D;18" alt="avatar" width="18"/> [Michael Di Prisco](https://togithub.com/Cadienvan "+2/-0 (#&#8203;5445 )")

</details>

<details>
<summary>i18next/i18next</summary>

### [`v22.4.15`](https://togithub.com/i18next/i18next/blob/HEAD/CHANGELOG.md#&#8203;22415)

[Compare Source](https://togithub.com/i18next/i18next/compare/v22.4.14...v22.4.15)

-   fix: function t() passed options alteration [1947](https://togithub.com/i18next/react-i18next/issues/1947)

</details>

<details>
<summary>catamphetamine/libphonenumber-js</summary>

### [`v1.10.28`](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.10.26...v1.10.28)

[Compare Source](https://gitlab.com/catamphet

</details>

---

### Configuration

📅 **Schedule**: 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 is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/weareinreach/InReach).



PR-URL: https://github.com/weareinreach/InReach/pull/419
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
kodiakhq bot added a commit to weareinreach/TransMascFutures that referenced this pull request Jun 1, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@mantine/carousel](https://mantine.dev/others/carousel/) ([source](https://togithub.com/mantinedev/mantine)) | [`5.10.5` -> `6.0.13`](https://renovatebot.com/diffs/npm/@mantine%2fcarousel/5.10.5/6.0.13) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fcarousel/6.0.13/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fcarousel/6.0.13/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fcarousel/6.0.13/compatibility-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fcarousel/6.0.13/confidence-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/core](https://mantine.dev/) ([source](https://togithub.com/mantinedev/mantine)) | [`5.10.5` -> `6.0.13`](https://renovatebot.com/diffs/npm/@mantine%2fcore/5.10.5/6.0.13) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fcore/6.0.13/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fcore/6.0.13/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fcore/6.0.13/compatibility-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fcore/6.0.13/confidence-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/dates](https://mantine.dev/dates/getting-started/) ([source](https://togithub.com/mantinedev/mantine)) | [`5.10.5` -> `6.0.13`](https://renovatebot.com/diffs/npm/@mantine%2fdates/5.10.5/6.0.13) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fdates/6.0.13/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fdates/6.0.13/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fdates/6.0.13/compatibility-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fdates/6.0.13/confidence-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/dropzone](https://mantine.dev/others/dropzone/) ([source](https://togithub.com/mantinedev/mantine)) | [`5.10.5` -> `6.0.13`](https://renovatebot.com/diffs/npm/@mantine%2fdropzone/5.10.5/6.0.13) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fdropzone/6.0.13/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fdropzone/6.0.13/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fdropzone/6.0.13/compatibility-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fdropzone/6.0.13/confidence-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/form](https://mantine.dev/) ([source](https://togithub.com/mantinedev/mantine)) | [`5.10.5` -> `6.0.13`](https://renovatebot.com/diffs/npm/@mantine%2fform/5.10.5/6.0.13) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fform/6.0.13/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fform/6.0.13/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fform/6.0.13/compatibility-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fform/6.0.13/confidence-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/hooks](https://mantine.dev/) ([source](https://togithub.com/mantinedev/mantine)) | [`5.10.5` -> `6.0.13`](https://renovatebot.com/diffs/npm/@mantine%2fhooks/5.10.5/6.0.13) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fhooks/6.0.13/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fhooks/6.0.13/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fhooks/6.0.13/compatibility-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fhooks/6.0.13/confidence-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/modals](https://mantine.dev/others/modals/) ([source](https://togithub.com/mantinedev/mantine)) | [`5.10.5` -> `6.0.13`](https://renovatebot.com/diffs/npm/@mantine%2fmodals/5.10.5/6.0.13) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fmodals/6.0.13/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fmodals/6.0.13/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fmodals/6.0.13/compatibility-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fmodals/6.0.13/confidence-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/next](https://mantine.dev/) ([source](https://togithub.com/mantinedev/mantine)) | [`5.10.5` -> `6.0.13`](https://renovatebot.com/diffs/npm/@mantine%2fnext/5.10.5/6.0.13) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fnext/6.0.13/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fnext/6.0.13/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fnext/6.0.13/compatibility-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fnext/6.0.13/confidence-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/notifications](https://mantine.dev/others/notifications/) ([source](https://togithub.com/mantinedev/mantine)) | [`5.10.5` -> `6.0.13`](https://renovatebot.com/diffs/npm/@mantine%2fnotifications/5.10.5/6.0.13) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fnotifications/6.0.13/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fnotifications/6.0.13/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fnotifications/6.0.13/compatibility-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fnotifications/6.0.13/confidence-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/nprogress](https://mantine.dev/others/nprogress/) ([source](https://togithub.com/mantinedev/mantine)) | [`5.10.5` -> `6.0.13`](https://renovatebot.com/diffs/npm/@mantine%2fnprogress/5.10.5/6.0.13) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fnprogress/6.0.13/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fnprogress/6.0.13/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fnprogress/6.0.13/compatibility-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fnprogress/6.0.13/confidence-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/prism](https://mantine.dev/others/prism/) ([source](https://togithub.com/mantinedev/mantine)) | [`5.10.5` -> `6.0.13`](https://renovatebot.com/diffs/npm/@mantine%2fprism/5.10.5/6.0.13) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fprism/6.0.13/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fprism/6.0.13/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fprism/6.0.13/compatibility-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fprism/6.0.13/confidence-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/spotlight](https://mantine.dev/others/spotlight/) ([source](https://togithub.com/mantinedev/mantine)) | [`5.10.5` -> `6.0.13`](https://renovatebot.com/diffs/npm/@mantine%2fspotlight/5.10.5/6.0.13) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2fspotlight/6.0.13/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2fspotlight/6.0.13/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2fspotlight/6.0.13/compatibility-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2fspotlight/6.0.13/confidence-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/tiptap](https://mantine.dev/others/tiptap) ([source](https://togithub.com/mantinedev/mantine)) | [`5.10.5` -> `6.0.13`](https://renovatebot.com/diffs/npm/@mantine%2ftiptap/5.10.5/6.0.13) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2ftiptap/6.0.13/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2ftiptap/6.0.13/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2ftiptap/6.0.13/compatibility-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2ftiptap/6.0.13/confidence-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) |
| [@mantine/utils](https://mantine.dev/) ([source](https://togithub.com/mantinedev/mantine)) | [`5.10.5` -> `6.0.13`](https://renovatebot.com/diffs/npm/@mantine%2futils/5.10.5/6.0.13) | [![age](https://badges.renovateapi.com/packages/npm/@mantine%2futils/6.0.13/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mantine%2futils/6.0.13/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mantine%2futils/6.0.13/compatibility-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mantine%2futils/6.0.13/confidence-slim/5.10.5)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>mantinedev/mantine</summary>

### [`v6.0.13`](https://togithub.com/mantinedev/mantine/releases/tag/6.0.13)

#### What's Changed

-   `[@mantine/dates]` Fix `nextIcon` and `previousIcon` props not passed to Calendar component ([#&#8203;4273](https://togithub.com/mantinedev/mantine/issues/4273))
-   `[@mantine/core]` AppShell: Fix wrong padding when `navbarOffsetBreakpoint` and `asideOffsetBreakpoint` have the same value ([#&#8203;4281](https://togithub.com/mantinedev/mantine/issues/4281))
-   `[@mantine/core]` Select: Fix unexpected horizontal scrollbar in items with long text ([#&#8203;4296](https://togithub.com/mantinedev/mantine/issues/4296))
-   `[@mantine/core]` NumberInput: Fix missing disabled controls styles ([#&#8203;4314](https://togithub.com/mantinedev/mantine/issues/4314))
-   `[@mantine/core]` Fix Select/MultiSelect scrolling page when `transitionProps` are set ([#&#8203;4327](https://togithub.com/mantinedev/mantine/issues/4327))
-   `[@mantine/core]` Chip: Fix unexpected line break when children are not a plain string ([#&#8203;4328](https://togithub.com/mantinedev/mantine/issues/4328))

#### New Contributors

-   [@&#8203;omegahm](https://togithub.com/omegahm) made their first contribution in [https://github.com/mantinedev/mantine/pull/4280](https://togithub.com/mantinedev/mantine/pull/4280)
-   [@&#8203;ot07](https://togithub.com/ot07) made their first contribution in [https://github.com/mantinedev/mantine/pull/4290](https://togithub.com/mantinedev/mantine/pull/4290)
-   [@&#8203;richardboehme](https://togithub.com/richardboehme) made their first contribution in [https://github.com/mantinedev/mantine/pull/4314](https://togithub.com/mantinedev/mantine/pull/4314)
-   [@&#8203;andremonteiro95](https://togithub.com/andremonteiro95) made their first contribution in [https://github.com/mantinedev/mantine/pull/4273](https://togithub.com/mantinedev/mantine/pull/4273)

**Full Changelog**: https://github.com/mantinedev/mantine/compare/6.0.11...6.0.13

### [`v6.0.11`](https://togithub.com/mantinedev/mantine/releases/tag/6.0.11)

[Compare Source](https://togithub.com/mantinedev/mantine/compare/6.0.10...6.0.11)

##### What's Changed

-   `[@mantine/core]` Improve inputs disabled styles handling inside `fieldset` elements ([#&#8203;4152](https://togithub.com/mantinedev/mantine/issues/4152))
-   `[@mantine/core]` Badge: Expose `BadgeVariant` type ([#&#8203;4215](https://togithub.com/mantinedev/mantine/issues/4215))
-   `[@mantine/core]` ThemeIcon: Expose `ThemeIconVariant` type ([#&#8203;4216](https://togithub.com/mantinedev/mantine/issues/4216))
-   `[@mantine/core]` ColorInput: Add option to set eye dropper aria-label though prop ([#&#8203;4227](https://togithub.com/mantinedev/mantine/issues/4227))
-   `[@mantine/core]` ColorPicker: Fix inaccurate numbers rounding in rgba and hex colors converters ([#&#8203;4238](https://togithub.com/mantinedev/mantine/issues/4238))
-   `[@mantine/core]` MultiSelect: Fix layout shifts in Safari when input is focused ([#&#8203;4249](https://togithub.com/mantinedev/mantine/issues/4249))
-   `[@mantine/core]` Rating: Add CSS color values support in `color` prop ([#&#8203;4251](https://togithub.com/mantinedev/mantine/issues/4251))
-   `[@mantine/dates]` Add missing `nextIcon`/`previousIcon` types to all components ([#&#8203;4180](https://togithub.com/mantinedev/mantine/issues/4180))

##### New Contributors

-   [@&#8203;thatanjan](https://togithub.com/thatanjan) made their first contribution in [https://github.com/mantinedev/mantine/pull/4248](https://togithub.com/mantinedev/mantine/pull/4248)
-   [@&#8203;agong-coveo](https://togithub.com/agong-coveo) made their first contribution in [https://github.com/mantinedev/mantine/pull/4152](https://togithub.com/mantinedev/mantine/pull/4152)

**Full Changelog**: https://github.com/mantinedev/mantine/compare/6.0.10...6.0.11

### [`v6.0.10`](https://togithub.com/mantinedev/mantine/releases/tag/6.0.10)

[Compare Source](https://togithub.com/mantinedev/mantine/compare/6.0.9...6.0.10)

##### What's Changed

-   `[@mantine/core]` Remove invalid `autocomplete` attribute from JsonInput and ColorInput ([#&#8203;4140](https://togithub.com/mantinedev/mantine/issues/4140))
-   `[@mantine/core]` Tabs: Fix `aria-controls` set to id of panel that does not exist ([#&#8203;4142](https://togithub.com/mantinedev/mantine/issues/4142))
-   `[@mantine/core]` Input: Add icon offset to unstyled input variant ([#&#8203;4119](https://togithub.com/mantinedev/mantine/issues/4119))
-   `[@mantine/core]` Popover: Fix incorrect `closeOnClickOutside` logic ([#&#8203;4148](https://togithub.com/mantinedev/mantine/issues/4148))
-   `[@mantine/dates]` Add callback function support to `weekdayFormat` prop ([#&#8203;4156](https://togithub.com/mantinedev/mantine/issues/4156))
-   `[@mantine/core]` MultiSelect: Fix incorrect hovered item index when `disableSelectedItemFiltering` is set and  last item is selected ([#&#8203;4168](https://togithub.com/mantinedev/mantine/issues/4168))

##### New Contributors

-   [@&#8203;milhamm](https://togithub.com/milhamm) made their first contribution in [https://github.com/mantinedev/mantine/pull/4165](https://togithub.com/mantinedev/mantine/pull/4165)
-   [@&#8203;dbnar2](https://togithub.com/dbnar2) made their first contribution in [https://github.com/mantinedev/mantine/pull/4119](https://togithub.com/mantinedev/mantine/pull/4119)
-   [@&#8203;forestileao](https://togithub.com/forestileao) made their first contribution in [https://github.com/mantinedev/mantine/pull/4142](https://togithub.com/mantinedev/mantine/pull/4142)

**Full Changelog**: https://github.com/mantinedev/mantine/compare/6.0.9...6.0.10

### [`v6.0.9`](https://togithub.com/mantinedev/mantine/releases/tag/6.0.9)

[Compare Source](https://togithub.com/mantinedev/mantine/compare/6.0.8...6.0.9)

##### What's Changed

-   `[@mantine/core]` MutiSelect: Fix error placeholder not respecting `theme.primaryShade` ([#&#8203;4113](https://togithub.com/mantinedev/mantine/issues/4113))
-   `[@mantine/core]` Preserve whitespace in Select, MultiSelect and Autocomplete items ([#&#8203;4094](https://togithub.com/mantinedev/mantine/issues/4094))
-   `[@mantine/core]` Menu: Fix incorrect click outside logic ([#&#8203;4114](https://togithub.com/mantinedev/mantine/issues/4114))
-   `[@mantine/core]` Slider: Fix incorrect `trackContainer` height ([#&#8203;4116](https://togithub.com/mantinedev/mantine/issues/4116))
-   `[@mantine/hooks]` use-focus-trap: Fix aria hider not being released when multiple focus traps being used at the same time ([#&#8203;4118](https://togithub.com/mantinedev/mantine/issues/4118))
-   `[@mantine/dates]` Fix `nextIcon` and `previousIcon` props not working in Calendar based components ([#&#8203;4126](https://togithub.com/mantinedev/mantine/issues/4126))
-   `[@mantine/hooks]` use-local-storage: Add dynamic local storage `key` support ([#&#8203;4127](https://togithub.com/mantinedev/mantine/issues/4127))

##### New Contributors

-   [@&#8203;Ben-Kincaid](https://togithub.com/Ben-Kincaid) made their first contribution in [https://github.com/mantinedev/mantine/pull/4127](https://togithub.com/mantinedev/mantine/pull/4127)
-   [@&#8203;IvanKalinin](https://togithub.com/IvanKalinin) made their first contribution in [https://github.com/mantinedev/mantine/pull/4126](https://togithub.com/mantinedev/mantine/pull/4126)
-   [@&#8203;Cuzart](https://togithub.com/Cuzart) made their first contribution in [https://github.com/mantinedev/mantine/pull/4113](https://togithub.com/mantinedev/mantine/pull/4113)

**Full Changelog**: https://github.com/mantinedev/mantine/compare/6.0.8...6.0.9

### [`v6.0.8`](https://togithub.com/mantinedev/mantine/releases/tag/6.0.8)

[Compare Source](https://togithub.com/mantinedev/mantine/compare/6.0.7...6.0.8)

#### What's Changed

-   `[@mantine/core]` Accordion: Fix chevron width being defined in px instead of rem ([#&#8203;3935](https://togithub.com/mantinedev/mantine/issues/3935))
-   `[@mantine/core]` Modal: Add missing `sx` prop ([#&#8203;4058](https://togithub.com/mantinedev/mantine/issues/4058))
-   `[@mantine/core]` Dialog: Fix viewport overflowing on small screens ([#&#8203;4090](https://togithub.com/mantinedev/mantine/issues/4090))
-   `[@mantine/core]` MultiSelect: Add option to get value index in `ValueCopmonent` ([#&#8203;3928](https://togithub.com/mantinedev/mantine/issues/3928))
-   `[@mantine/dates]` DatePickerInput: Fix `withCellSpacing` not working ([#&#8203;3993](https://togithub.com/mantinedev/mantine/issues/3993))
-   `[@mantine/core]` Menu: Fix incorrect logic for `onChange`, `onOpen` and `onClose` callbacks ([#&#8203;4030](https://togithub.com/mantinedev/mantine/issues/4030))
-   `[@mantine/core]` Sort `theme.breakpoints` during theme override merging on MantineProvider ([#&#8203;4051](https://togithub.com/mantinedev/mantine/issues/4051))
-   `[@mantine/core]` Notification: Fix incorrect border styles ([#&#8203;4054](https://togithub.com/mantinedev/mantine/issues/4054))
-   `[@mantine/dropzone]` Reexport `FileRejection` type from `react-dropzone` ([#&#8203;4065](https://togithub.com/mantinedev/mantine/issues/4065))
-   `[@mantine/core]` Slider: Fix slider track not respecting parent container width ([#&#8203;4083](https://togithub.com/mantinedev/mantine/issues/4083))

#### New Contributors

-   [@&#8203;dylnslck](https://togithub.com/dylnslck) made their first contribution in [https://github.com/mantinedev/mantine/pull/4065](https://togithub.com/mantinedev/mantine/pull/4065)
-   [@&#8203;xshuxin](https://togithub.com/xshuxin) made their first contribution in [https://github.com/mantinedev/mantine/pull/4030](https://togithub.com/mantinedev/mantine/pull/4030)

**Full Changelog**: https://github.com/mantinedev/mantine/compare/6.0.7...6.0.8

### [`v6.0.7`](https://togithub.com/mantinedev/mantine/releases/tag/6.0.7)

[Compare Source](https://togithub.com/mantinedev/mantine/compare/6.0.6...6.0.7)

#### What's Changed

-   `[@mantine/core]` Fix `portalProps` types and override order in all components ([#&#8203;4009](https://togithub.com/mantinedev/mantine/issues/4009))
-   `[@mantine/core]` ColorInput: Fix `onChange()` executed after `onBlur()` ([#&#8203;4012](https://togithub.com/mantinedev/mantine/issues/4012))
-   `[@mantine/dates]` DatePickerInput: fix `type` field always displaying generic value in autocomplete ([#&#8203;4017](https://togithub.com/mantinedev/mantine/issues/4017))
-   `[@mantine/core]` Notification: Add `withBorder` prop ([#&#8203;4022](https://togithub.com/mantinedev/mantine/issues/4022))
-   `[@mantine/dates]` Fix dates range displayed incorrectly when given dates have time that is close to the next day ([#&#8203;4028](https://togithub.com/mantinedev/mantine/issues/4028))
-   `[@mantine/core]` ColorInput: Fix `onChangeEnd` not being called when color is picked with eyedropper ([#&#8203;4031](https://togithub.com/mantinedev/mantine/issues/4031))
-   `[@mantine/core]` Slider: Fix incorrect marks click behavior ([#&#8203;4000](https://togithub.com/mantinedev/mantine/issues/4000))

#### New Contributors

-   [@&#8203;newt239](https://togithub.com/newt239) made their first contribution in [https://github.com/mantinedev/mantine/pull/4004](https://togithub.com/mantinedev/mantine/pull/4004)
-   [@&#8203;zoutiyx](https://togithub.com/zoutiyx) made their first contribution in [https://github.com/mantinedev/mantine/pull/4033](https://togithub.com/mantinedev/mantine/pull/4033)
-   [@&#8203;bentron2000](https://togithub.com/bentron2000) made their first contribution in [https://github.com/mantinedev/mantine/pull/4042](https://togithub.com/mantinedev/mantine/pull/4042)
-   [@&#8203;krzysztoff1](https://togithub.com/krzysztoff1) made their first contribution in [https://github.com/mantinedev/mantine/pull/4031](https://togithub.com/mantinedev/mantine/pull/4031)
-   [@&#8203;welpie21](https://togithub.com/welpie21) made their first contribution in [https://github.com/mantinedev/mantine/pull/4017](https://togithub.com/mantinedev/mantine/pull/4017)

**Full Changelog**: https://github.com/mantinedev/mantine/compare/6.0.6...6.0.7

### [`v6.0.6`](https://togithub.com/mantinedev/mantine/releases/tag/6.0.6)

[Compare Source](https://togithub.com/mantinedev/mantine/compare/6.0.5...6.0.6)

#### What's Changed

-   `[@mantine/core]` MultiSelect: Fix incorrect default value max-width ([#&#8203;3958](https://togithub.com/mantinedev/mantine/issues/3958))
-   `[@mantine/dates]` Fix `onNextDecade`, `onPreviousDecade` and similar handlers not working on some components ([#&#8203;3946](https://togithub.com/mantinedev/mantine/issues/3946))
-   `[@mantine/core]` Modal: Fix incorrect close button position when there is no title ([#&#8203;3939](https://togithub.com/mantinedev/mantine/issues/3939))
-   `[@mantine/core]` Image: Fix imageProps overrding component props ([#&#8203;3985](https://togithub.com/mantinedev/mantine/issues/3985))
-   `[@mantine/form]` Rollback `form.reset` type change ([#&#8203;3956](https://togithub.com/mantinedev/mantine/issues/3956))
-   `[@mantine/dates]` Fix page scrolling on ArrowUp/ArrowDown keyboard navigation ([#&#8203;3925](https://togithub.com/mantinedev/mantine/issues/3925))
-   `[@mantine/dates]` DateInput: Fix `defaultDate` not working ([#&#8203;3950](https://togithub.com/mantinedev/mantine/issues/3950))
-   `[@mantine/dates]` Add missing props from DatePicker ([#&#8203;3951](https://togithub.com/mantinedev/mantine/issues/3951))
-   `[@mantine/dates]` Fix weekday labeling when `dayjs.locale` is used ([#&#8203;3954](https://togithub.com/mantinedev/mantine/issues/3954))
-   `[@mantine/core]` MultiSelect: Fix broken styles in Safari ([#&#8203;3980](https://togithub.com/mantinedev/mantine/issues/3980))
-   `[@mantine/core]` NumberInput: Fix `onChange` not being called correctly ([#&#8203;3984](https://togithub.com/mantinedev/mantine/issues/3984))
-   `[@mantine/dates]` DatePicker: Fix component throwing error when `type` changes ([#&#8203;3989](https://togithub.com/mantinedev/mantine/issues/3989))
-   `[@mantine/core]` NumberInput: Add `thousandsSeparator` ([#&#8203;3990](https://togithub.com/mantinedev/mantine/issues/3990))
-   `[@mantine/core]` ColorPicker: Fix color picker state not being updated when component is uncontrolled and color swatch is clicked

#### New Contributors

-   [@&#8203;jrozbicki](https://togithub.com/jrozbicki) made their first contribution in [https://github.com/mantinedev/mantine/pull/3980](https://togithub.com/mantinedev/mantine/pull/3980)
-   [@&#8203;jsuter](https://togithub.com/jsuter) made their first contribution in [https://github.com/mantinedev/mantine/pull/3951](https://togithub.com/mantinedev/mantine/pull/3951)
-   [@&#8203;KilianB](https://togithub.com/KilianB) made their first contribution in [https://github.com/mantinedev/mantine/pull/3946](https://togithub.com/mantinedev/mantine/pull/3946)
-   [@&#8203;vaynevayne](https://togithub.com/vaynevayne) made their first contribution in [https://github.com/mantinedev/mantine/pull/3958](https://togithub.com/mantinedev/mantine/pull/3958)

**Full Changelog**: https://github.com/mantinedev/mantine/compare/6.0.5...6.0.6

### [`v6.0.5`](https://togithub.com/mantinedev/mantine/releases/tag/6.0.5)

#### What's Changed

-   `[@mantine/core]` Change Modal and Drawer to use native scrollbars by default, remove excessive markup ([#&#8203;3854](https://togithub.com/mantinedev/mantine/issues/3854))
-   `[@mantine/core]` Drawer: Fix styles api on MantineProvider not working
-   `[@mantine/core]` Button: Fix hover styles not overwritten with `&:hover` selector ([#&#8203;3920](https://togithub.com/mantinedev/mantine/issues/3920))
-   `[@mantine/dates]` Change tab order behavior to match native date pickers ([#&#8203;3876](https://togithub.com/mantinedev/mantine/issues/3876))
-   `[@mantine/dates]` Fix tab order with `hideOutsideDates` prop ([#&#8203;3849](https://togithub.com/mantinedev/mantine/issues/3849))
-   `[@mantine/form]` Fix incorrect form errors behavior with `form.resorderListItem` and `form.insertListItem` handlers ([#&#8203;3828](https://togithub.com/mantinedev/mantine/issues/3828))
-   `[@mantine/core]` Popover: Add option to change offset for each axis individually ([#&#8203;3775](https://togithub.com/mantinedev/mantine/issues/3775))
-   `[@mantine/core]` MultiSelect: Fix `disableSelectedItemFiltering` prop not working with `searchable` option ([#&#8203;3894](https://togithub.com/mantinedev/mantine/issues/3894))
-   `[@mantine/core]` Autocomplete: Fix incorrect `aria-` attributes on input element ([#&#8203;3900](https://togithub.com/mantinedev/mantine/issues/3900))
-   `[@mantine/core]` TypographyStylesProvider: Fix incorrect breakpoints used in styles ([#&#8203;3902](https://togithub.com/mantinedev/mantine/issues/3902))
-   `[@mantine/form]` Allow to specify values partial in `form.resetDirty` ([#&#8203;3906](https://togithub.com/mantinedev/mantine/issues/3906))
-   `[@mantine/core]` Slider: Fix incorrect behavior when slider is disabled and marks are clicked ([#&#8203;3856](https://togithub.com/mantinedev/mantine/issues/3856))

#### New Contributors

-   [@&#8203;badalsaibo](https://togithub.com/badalsaibo) made their first contribution in [https://github.com/mantinedev/mantine/pull/3848](https://togithub.com/mantinedev/mantine/pull/3848)
-   [@&#8203;btmnk](https://togithub.com/btmnk) made their first contribution in [https://github.com/mantinedev/mantine/pull/3906](https://togithub.com/mantinedev/mantine/pull/3906)
-   [@&#8203;csmatt](https://togithub.com/csmatt) made their first contribution in [https://github.com/mantinedev/mantine/pull/3900](https://togithub.com/mantinedev/mantine/pull/3900)
-   [@&#8203;citypaul](https://togithub.com/citypaul) made their first contribution in [https://github.com/mantinedev/mantine/pull/3897](https://togithub.com/mantinedev/mantine/pull/3897)

**Full Changelog**: https://github.com/mantinedev/mantine/compare/6.0.3...6.0.5

### [`v6.0.3`](https://togithub.com/mantinedev/mantine/releases/tag/6.0.3): 6.0.4

[Compare Source](https://togithub.com/mantinedev/mantine/compare/6.0.2...6.0.3)

#### What's Changed

-   `[@mantine/dates]` Calendar: Improve tab navigation order in decade/year/month views ([#&#8203;3728](https://togithub.com/mantinedev/mantine/issues/3728))
-   `[@mantine/core]` Fix NumberInput precision formatting ([#&#8203;3756](https://togithub.com/mantinedev/mantine/issues/3756))
-   `[@mantine/hooks]` use-timeout: Memoize `clear` and `start` functions ([#&#8203;3801](https://togithub.com/mantinedev/mantine/issues/3801))
-   `[@mantine/core]` Modal: Fix unexpected attributes added to root dom node ([#&#8203;3802](https://togithub.com/mantinedev/mantine/issues/3802))
-   `[@mantine/dates]` DatePickerInput: Fix unexpected attribute `valueFormat` being added to root dom node ([#&#8203;3804](https://togithub.com/mantinedev/mantine/issues/3804))
-   `[@mantine/form]` Fix some object being incorrectly cloned in `form.setFieldValue` handler ([#&#8203;3805](https://togithub.com/mantinedev/mantine/issues/3805))
-   `[@mantine/tiptap]` Update installation instructions to include tiptap/pm package ([#&#8203;3806](https://togithub.com/mantinedev/mantine/issues/3806))
-   `[@mantine/core]` Accordion: Fix parts of lowercase letters being cut off by overflow: hidden ([#&#8203;3812](https://togithub.com/mantinedev/mantine/issues/3812))
-   `[@mantine/styles]` Expose theme breakpoints as css variables ([#&#8203;3824](https://togithub.com/mantinedev/mantine/issues/3824))
-   `[@mantine/core]` Fix Modal/Drawer content scrolling over header ([#&#8203;3829](https://togithub.com/mantinedev/mantine/issues/3829))
-   `[@mantine/core]` Pagination: Fix incorrect chevron icons in RTL ([#&#8203;3809](https://togithub.com/mantinedev/mantine/issues/3809))
-   `[@mantine/core]` Select: Fix `shadow` prop not working ([#&#8203;3807](https://togithub.com/mantinedev/mantine/issues/3807))
-   `[@mantine/core]` Pagination: Fix `spacing={0}` nor working
-   `[@mantine/form]` Make isEmail validation simpler to allow usage of dots and plus signs

#### New Contributors

-   [@&#8203;kaeevans](https://togithub.com/kaeevans) made their first contribution in [https://github.com/mantinedev/mantine/pull/3778](https://togithub.com/mantinedev/mantine/pull/3778)
-   [@&#8203;old-rob](https://togithub.com/old-rob) made their first contribution in [https://github.com/mantinedev/mantine/pull/3840](https://togithub.com/mantinedev/mantine/pull/3840)
-   [@&#8203;anri-asaturov](https://togithub.com/anri-asaturov) made their first contribution in [https://github.com/mantinedev/mantine/pull/3824](https://togithub.com/mantinedev/mantine/pull/3824)
-   [@&#8203;zachspiel](https://togithub.com/zachspiel) made their first contribution in [https://github.com/mantinedev/mantine/pull/3812](https://togithub.com/mantinedev/mantine/pull/3812)
-   [@&#8203;twiddler](https://togithub.com/twiddler) made their first contribution in [https://github.com/mantinedev/mantine/pull/3806](https://togithub.com/mantinedev/mantine/pull/3806)
-   [@&#8203;benlongo](https://togithub.com/benlongo) made their first contribution in [https://github.com/mantinedev/mantine/pull/3805](https://togithub.com/mantinedev/mantine/pull/3805)

**Full Changelog**: https://github.com/mantinedev/mantine/compare/6.0.2...6.0.3

### [`v6.0.2`](https://togithub.com/mantinedev/mantine/releases/tag/6.0.2)

[Compare Source](https://togithub.com/mantinedev/mantine/compare/6.0.1...6.0.2)

#### What's Changed

-   `[@mantine/hooks]` use-hash: Fix incorrect hash set from `hashchange` event ([#&#8203;3773](https://togithub.com/mantinedev/mantine/issues/3773))
-   `[@mantine/core]` PinInput: Fix `onComplete` prop firing incorrectly ([#&#8203;3715](https://togithub.com/mantinedev/mantine/issues/3715))
-   `[@mantine/core]` Popover: Add `onClose` and `onOpen` events supports for uncontrolled popovers ([#&#8203;3716](https://togithub.com/mantinedev/mantine/issues/3716))
-   `[@mantine/core]` Select: Fix focus loss when pressing tab inside input element ([#&#8203;3744](https://togithub.com/mantinedev/mantine/issues/3744))
-   `[@mantine/core]` Anchor: Fix `undelrine` prop not working for hover state ([#&#8203;3748](https://togithub.com/mantinedev/mantine/issues/3748))
-   `[@mantine/core]` Switch: Fix body scrolling when input is focused ([#&#8203;3752](https://togithub.com/mantinedev/mantine/issues/3752))
-   `[@mantine/core]` Popover: Fix incorrect dropdown position when `position` prop changes ([#&#8203;3753](https://togithub.com/mantinedev/mantine/issues/3753))
-   `[@mantine/core]` ScrollArea: Add missing `viewportProps` prop to ScrollArea.Autosize ([#&#8203;3760](https://togithub.com/mantinedev/mantine/issues/3760))
-   `[@mantine/core]` JsonInput: Fix incorrect serialization logic ([#&#8203;3769](https://togithub.com/mantinedev/mantine/issues/3769))
-   `[@mantine/core]` Drawer: Fix incorrect static selector ([#&#8203;3730](https://togithub.com/mantinedev/mantine/issues/3730))

#### New Contributors

-   [@&#8203;jourmooney](https://togithub.com/jourmooney) made their first contribution in [https://github.com/mantinedev/mantine/pull/3730](https://togithub.com/mantinedev/mantine/pull/3730)
-   [@&#8203;Domin-MND](https://togithub.com/Domin-MND) made their first contribution in [https://github.com/mantinedev/mantine/pull/3760](https://togithub.com/mantinedev/mantine/pull/3760)
-   [@&#8203;Tronikelis](https://togithub.com/Tronikelis) made their first contribution in [https://github.com/mantinedev/mantine/pull/3748](https://togithub.com/mantinedev/mantine/pull/3748)
-   [@&#8203;fbarl](https://togithub.com/fbarl) made their first contribution in [https://github.com/mantinedev/mantine/pull/3744](https://togithub.com/mantinedev/mantine/pull/3744)
-   [@&#8203;hllmtl](https://togithub.com/hllmtl) made their first contribution in [https://github.com/mantinedev/mantine/pull/3721](https://togithub.com/mantinedev/mantine/pull/3721)
-   [@&#8203;LeighS95](https://togithub.com/LeighS95) made their first contribution in [https://github.com/mantinedev/mantine/pull/3715](https://togithub.com/mantinedev/mantine/pull/3715)
-   [@&#8203;stijnvanderlaan](https://togithub.com/stijnvanderlaan) made their first contribution in [https://github.com/mantinedev/mantine/pull/3773](https://togithub.com/mantinedev/mantine/pull/3773)

**Full Changelog**: https://github.com/mantinedev/mantine/compare/6.0.1...6.0.2

### [`v6.0.1`](https://togithub.com/mantinedev/mantine/releases/tag/6.0.1)

[Compare Source](https://togithub.com/mantinedev/mantine/compare/6.0.0...6.0.1)

#### What's Changed

-   `[@mantine/core]` SegmentedControl: Fix incorrect border styles in vertical orientation ([#&#8203;3670](https://togithub.com/mantinedev/mantine/issues/3670))
-   `[@mantine/core]` Fix incorrect error messages in Popover, HoverCard and Menu components ([#&#8203;3638](https://togithub.com/mantinedev/mantine/issues/3638))
-   `[@mantine/core]` Button: Fix incorrect Button.Group styles that contain only one Button ([#&#8203;3667](https://togithub.com/mantinedev/mantine/issues/3667))
-   `[@mantine/dates]` Remove disabled level change button from tab order ([#&#8203;3648](https://togithub.com/mantinedev/mantine/issues/3648))
-   `[@mantine/core]` Transition: Fix exit duration not working ([#&#8203;3664](https://togithub.com/mantinedev/mantine/issues/3664))
-   `[@mantine/core]` Anchor: Fix dimmed color not working ([#&#8203;3668](https://togithub.com/mantinedev/mantine/issues/3668))
-   `[@mantine/core]` Alert: Fix content overlap with no title and with close button ([#&#8203;3681](https://togithub.com/mantinedev/mantine/issues/3681))
-   `[@mantine/core]` AppShell: Fix incorrect CSS variables ([#&#8203;3687](https://togithub.com/mantinedev/mantine/issues/3687))
-   `[@mantine/notifications]` Add static methods to Notifications ([#&#8203;3689](https://togithub.com/mantinedev/mantine/issues/3689))
-   `[@mantine/core]` Title: Fix Text props not working ([#&#8203;3690](https://togithub.com/mantinedev/mantine/issues/3690))
-   `[@mantine/styles]` Fix incorrect CSS variables parsing in theme functions ([#&#8203;3695](https://togithub.com/mantinedev/mantine/issues/3695))
-   `[@mantine/dates]` DateTimePicker: Fix TimeInput now showing when dropdown was closed with month/year picker ([#&#8203;3710](https://togithub.com/mantinedev/mantine/issues/3710))
-   `[@mantine/core]` Portal: Add `portalProps` prop support ([#&#8203;3696](https://togithub.com/mantinedev/mantine/issues/3696))
-   `[@mantine/core]` Tooltip: Fix incorrect arrow border styles ([#&#8203;3693](https://togithub.com/mantinedev/mantine/issues/3693))

#### New Contributors

-   [@&#8203;beeman](https://togithub.com/beeman) made their first contribution in [https://github.com/mantinedev/mantine/pull/3673](https://togithub.com/mantinedev/mantine/pull/3673)
-   [@&#8203;andyphl](https://togithub.com/andyphl) made their first contribution in [https://github.com/mantinedev/mantine/pull/3690](https://togithub.com/mantinedev/mantine/pull/3690)
-   [@&#8203;ForeshadowRU](https://togithub.com/ForeshadowRU) made their first contribution in [https://github.com/mantinedev/mantine/pull/3689](https://togithub.com/mantinedev/mantine/pull/3689)
-   [@&#8203;lgaspari](https://togithub.com/lgaspari) made their first contribution in [https://github.com/mantinedev/mantine/pull/3664](https://togithub.com/mantinedev/mantine/pull/3664)
-   [@&#8203;rarkins](https://togithub.com/rarkins) made their first contribution in [https://github.com/mantinedev/mantine/pull/3652](https://togithub.com/mantinedev/mantine/pull/3652)
-   [@&#8203;jksaunders](https://togithub.com/jksaunders) made their first contribution in [https://github.com/mantinedev/mantine/pull/3670](https://togithub.com/mantinedev/mantine/pull/3670)

**Full Changelog**: https://github.com/mantinedev/mantine/compare/6.0.0...6.0.1

### [`v6.0.0`](https://togithub.com/mantinedev/mantine/releases/tag/6.0.0)

[Compare Source](https://togithub.com/mantinedev/mantine/compare/5.10.5...6.0.0)

[View changelog with demos on mantine.dev website](https://mantine.dev/changelog/6-0-0/)

#### Breaking changes

The following changes are breaking. Note that although
we've tried to include all breaking changes with migration guides in the list you still may
experience undocumented changes. If you think that these changes worth including in this list,
let us know by [opening an issue on GitHub](https://togithub.com/mantinedev/mantine/issues/new/choose).

##### Migration to rem/em units

All Mantine components now use [rem units](https://mantine.dev/styles/rem/). `1rem` is considered to be `16px`
with medium text size selected by user, all components will scale based on settings specified in browser.
`theme.spacing`, `theme.radius`, `theme.fontSizes` and other theme properties overrides
are now expected to be defined in rem. `theme.breakpoints` are expected to be defined in `em` units:

```tsx
import { MantineProvider } from "@&#8203;mantine/core";

function Demo() {
  return (
    <MantineProvider
      theme={{
        spacing: { xs: "1rem", sm: "1.5rem" /* ... */ },
        fontSizes: { xs: "0.8rem", sm: "1.2rem" /* ... */ },
        radius: { xs: "0.1rem", sm: "0.3rem" /* ... */ },
        breakpoints: { xs: "20em", sm: "36em" /* ... */ },
      }}
    >
      <App />
    </MantineProvider>
  );
}
```

You can no longer use addition, subtraction, division, multiplication and other math operations
with theme values in [createStyles](https://mantine.dev/styles/create-styles/) and [sx prop](https://mantine.dev/styles/sx/),
use `calc` instead:

```tsx
import { createStyles, rem } from '@&#8203;mantine/core':

// 5.x expressions that will no longer work in 6.x
createStyles((theme) => ({
  demo: {
    // Values cannot longer be prepended with minus sign
    margin: -theme.spacing.xs,

    // addition, subtraction, division, multiplication
    // and other math operations are no longer available
    paddingLeft: theme.spacing.md + 5,
    paddingRight: theme.spacing.sm / 2,
    paddingTop: theme.spacing.lg * 1.5,
    paddingBottom: theme.spacing.xl - theme.spacing.md,

    // theme values used in sting templates
    // will no longer work with px suffix
    margin: `${theme.spacing.xs}px ${theme.spacing.md}px`
  }
}));

// In 6.0 use calc
createStyles((theme) => ({
  demo: {
    // Use calc to negate theme value
    margin: `calc(${theme.spacing.xs} * -1)`,

    // Use calc and rem function for
    // addition, subtraction, division, multiplication
    paddingLeft: `calc(${theme.spacing.md} + ${rem(5)})`,
    paddingRight: `calc(${theme.spacing.sm} / 2)`,
    paddingTop: `calc(${theme.spacing.lg} * 1.5)`,
    paddingBottom: `calc(${theme.spacing.xl} - ${theme.spacing.md})`,

    // Omit px suffix when using theme values
    margin: `${theme.spacing.xs} ${theme.spacing.md}`
  }
}));
```

##### Automatic px to rem conversion

If you use numbers in Mantine components props, they will be treated as `px` and converted to `rem`,
for example:

```tsx
import { ColorSwatch } from "@&#8203;mantine/core";

function DemoPx() {
  // Specify ColorSwatch size in px, it will be automatically converted to rem
  // Width and height of ColorSwatch in this case will be 32px / 16 = 2rem
  return <ColorSwatch color="#&#8203;000" size={32} />;
}

function DemoRem() {
  // This demo will have the same size as previous one
  return <ColorSwatch color="#&#8203;000" size="2rem" />;
}
```

The same logic is applied to [style props](/styles/style-props/) available
in every component:

```tsx
import { Box } from "@&#8203;mantine/core";

function Demo() {
  // width: 2rem, height: 1rem
  // margin-left: 1rem
  // @&#8203;media (min-width: theme.breakpoints.sm) -> margin-left: 2rem
  return <Box w={32} h={16} ml={{ base: 16, sm: 32 }} />;
}
```

##### createStyles breaking changes

[createStyles](https://mantine.dev/styles/create-styles/) function no longer receives `getRef`
as a third argument. Use `getStylesRef` exported from `@mantine/core` package instead:

```tsx
// in 5.x, will not work in 6.x
import { createStyles } from '@&#8203;mantine/core';

createStyles((theme, params, getRef) => {
  child: { ref: getRef('child') },
  parent: { [`& .${getRef('child')}`]: { color: 'red' } },
});

// in 6.x use getStylesRef function
import { createStyles, getStylesRef } from '@&#8203;mantine/core';

createStyles((theme, params) => {
  child: { ref: getStylesRef('child') },
  parent: { [`& .${getStylesRef('child')}`]: { color: 'red' } },
});
```

##### [@&#8203;mantine/notifications](https://togithub.com/mantine/notifications) breaking changes

[@&#8203;mantine/notifications](https://mantine.dev/others/notifications/) package no longer exports
`NotificationsProvider` component. Instead you should add `Notifications` component to any
part of your application. This change allows to avoid unnecessary rerenders of child components
when notifications state change. Also `useNotifications` hook is no longer exported from the package.

```tsx
import { MantineProvider } from "@&#8203;mantine/core";
import { Notifications } from "@&#8203;mantine/notifications";

function Demo() {
  return (
    <MantineProvider withNormalizeCSS withGlobalStyles>
      <Notifications />
      <App />
    </MantineProvider>
  );
}
```

##### [@&#8203;mantine/rte](https://togithub.com/mantine/rte) package deprecation

`@mantine/rte` package is deprecated – it will no longer receive updates (last version will remain 5.x)
and it may no longer be compatible with `@mantine/core` and `@mantine/hooks` packages (6.x and later versions).
Migrate to [@&#8203;mantine/tiptap](https://mantine.dev/others/tiptap/) as soon as possible.

##### [@&#8203;mantine/dates](https://togithub.com/mantine/dates) breaking changes

All components from `@mantine/dates` package were rebuilt from scratch.
Note that the following list is not full as it is difficult to include all breaking changes
after a full package revamp – follow documentation of component that you use to find out about
all breaking changes.

-   Styles API selectors of components were changed
-   `DatePicker` component was renamed to `DatePickerInput`
-   `Calendar` component was renamed to `DatePicker`
-   `TimeInput` component was migrated to native `input[type="time"]` as it provides better UX in most browsers
-   `TimeRangeInput` component was removed – it is no longer exported from the package
-   `DateRangePicker` and `RangeCalendar` components were removed – you can now setup dates range picking in [DatePicker](https://mantine.dev/dates/date-picker/) and [DatePickerInput](https://mantine.dev/dates/date-picker-input/)
-   `amountOfMonths` prop was renamed to `numberOfColumns` in all components
-   `DatePickerInput` (previously `DatePicker`) component no longer supports `allowFreeInput` prop – use [DateInput](https://mantine.dev/dates/date-input/) component instead
-   `DatePicker` (previously `Calendar`) component no longer supports `dayClassName` and `dayStyle` props – use `getDayProps` instead

##### Theme object changes

You can no longer define `dateFormat` and `datesLocale` in [theme](https://mantine.dev/theming/theme-object/),
use components prop to specify format instead:

```tsx
// 5.x, will not work in 6.x
import { MantineProvider } from "@&#8203;mantine/core";

function Demo() {
  return (
    <MantineProvider theme={{ dateFormat: "MMMM DD YYYY", datesLocale: "es" }}>
      <App />
    </MantineProvider>
  );
}

// 6.x – use components props
import { DatePickerInput } from "@&#8203;mantine/dates";

function Demo() {
  return <DatePickerInput valueFormat="MMMM D, YYYY" locale="es" />;
}
```

##### Modal and Drawer breaking changes

[Modal](https://mantine.dev/core/modal/) and [Drawer](https://mantine.dev/core/drawer/) components
props were renamed:

-   `withFocusReturn` → `returnFocus`
-   `overflow` → `scrollAreaComponent` (scroll now is always handled inside modal/drawer)
-   `overlayBlur` → `overlayProps.blur`
-   `overlayColor` → `overlayProps.color`
-   `overlayOpacity` → `overlayProps.opacity`
-   `exitTransitionDuration` → `transitionProps.exitDuration`
-   `transition` → `transitionProps.transition`
-   `transitionDuration` → `transitionProps.duration`
-   `transitionTimingFunction` → `transitionProps.timingFunction`

`Modal` styles API changes:

-   `modal` selector was renamed to `content`

`Drawer` styles API changes:

-   `drawer` selector was renamed to `content`

##### NumberInput breaking changes

[NumberInput](https://mantine.dev/core/number-input/) component types for `value`, `defaultValue`
and `onChange` props were changed. It now expects value to be `number | ''` (number or empty string) instead
of `number | undefined`. This change was made to address multiple bugs that happened because it was
not possible to differentiate controlled and uncontrolled `NumberInput`.

```tsx
import { useState } from "react";
import { NumberInput } from "@&#8203;mantine/core";

function Demo() {
  const [value, setValue] = useState<number | "">(0);
  return <NumberInput value={value} onChange={setValue} />;
}
```

##### [Pagination](https://mantine.dev/core/pagination/) breaking changes

-   Styles API selectors were changed
-   Renamed/removed props:
    -   `itemComponent` – removed, use `getItemProps` or static components instead
    -   `getItemAriaLabel` – removed, use `getItemProps` prop instead
    -   `initialPage` → `defaultValue`
    -   `page` → `value`

##### [@&#8203;mantine/spotlight](https://togithub.com/mantine/spotlight) breaking changes

[Spotlight](https://mantine.dev/others/spotlight/) component was migrated to use [Modal](https://mantine.dev/core/modal/)
under the hood. Its Styles API selectors and some props names were changed – it now supports all [Modal](https://mantine.dev/core/modal/) component props.

Renamed props:

-   `overlayBlur` → `overlayProps.blur`
-   `overlayColor` → `overlayProps.color`
-   `overlayOpacity` → `overlayProps.opacity`
-   `exitTransitionDuration` → `transitionProps.exitDuration`
-   `transition` → `transitionProps.transition`
-   `transitionDuration` → `transitionProps.transition`
-   `transitionTimingFunction` → `transitionProps.timingFunction`

[Spotlight](https://mantine.dev/others/spotlight/) actions are now fully controlled:

-   `actions` prop no longer accept a callback function, only a list of actions
-   To make register/remove features to work you will need to store actions in state

##### Other breaking changes

-   [Text](https://mantine.dev/core/text/) no longer supports `variant="link"`, use [Anchor](https://mantine.dev/core/anchor/) instead
-   [Input](https://mantine.dev/core/input/) Styles API was changed – `disabled`, `invalid` and `withIcon` selectors are no longer available, they were migrated to `data-disabled`, `data-invalid` and `data-with-icon` attributes
-   [PasswordInput](https://mantine.dev/core/password-input/) Styles API was changed – `invalid` and `withIcon` selectors are no longer available, use `data-invalid` and `data-with-icon` attributes with `innerInput` selector
-   `invalid` prop was renamed to `error` in [Input](https://mantine.dev/core/input/) component
-   [FileInput](https://mantine.dev/core/file-input/), [Select](https://mantine.dev/core/select/) and [MultiSelect](https://mantine.dev/core/multi-select/) components no longer support `clearButtonLabel` and `clearButtonTabIndex` props, use `clearButtonProps` instead to add any extra props to the clear button
-   `@mantine/next` package no longer exports `NextLink` component
-   [Checkbox.Group](https://mantine.dev/core/checkbox/), [Switch.Group](https://mantine.dev/core/switch/) and [Radio.Group](https://mantine.dev/core/radio/) components no longer include [Group](https://mantine.dev/core/group/) – `orientation`, `offset` and `spacing` props are no longer supported. This change gives you more freedom on how to organize inputs layout.
-   [Chip.Group](https://mantine.dev/core/chip/) no longer includes `Group` – you need to manage layout on your side
-   [List](https://mantine.dev/core/list/) component Styles API was changed, it no longer has `withIcon` selector, use `data-with-icon` attribute instead
-   `withFocusReturn` prop was renamed to `returnFocus` in [Modal](https://mantine.dev/core/modal/) and [Drawer](https://mantine.dev/core/drawer/) components
-   [Card](https://mantine.dev/core/card/) component now uses `padding` prop instead of `p` to offset `Card.Section` components
-   [RichTextEditor](https://mantine.dev/others/tiptap/) now depends on `@tabler/icons-react` (`>=2.1.0`) package instead of `@tabler/icons`
-   `@mantine/core` package no longer exports `GroupedTransition` component, use multiple [Transition](https://mantine.dev/core/transition/) components instead
-   `use-scroll-lock` hook is deprecated, all Mantine components now use [react-remove-scroll](https://togithub.com/theKashey/react-remove-scroll)
-   [ScrollArea.Autosize](https://mantine.dev/core/scroll-area/) component prop `maxHeight` is removed, it is replaced with `mah` [style prop](https://mantine.dev/styles/style-props/)
-   [SegmentedControl](https://mantine.dev/core/segmented-control/) component Styles API was changed – `labelActive` and `disabled` selectors were removed (replaced with `data-active` and `data-disabled` attributes on `label` selector), `active` selector was renamed to `indicator`
-   [Notification](https://mantine.dev/core/notification/) component prop `disallowClose` prop was renamed to `withCloseButton`, it also was changed in [notifications system](https://mantine.dev/others/notifications/)
-   [Tooltip](https://mantine.dev/core/tooltip/) component props `transition` and `transitionDuration` were renamed to `transitionProps`
-   [Popover](https://mantine.dev/core/popover/), [HoverCard](https://mantine.dev/core/hover-card/), [Menu](https://mantine.dev/core/menu/), [Select](https://mantine.dev/core/select/), [MultiSelect](https://mantine.dev/core/multi-select/), [ColorInput](https://mantine.dev/core/color-input/) and [Autocomplete](https://mantine.dev/core/autocomplete/) components `transition`, `transitionDuration` and `exitTransitionDuration` props were renamed to `transitionProps`
-   [Indicator](https://mantine.dev/core/indicator/) component no longer has the props `dot`, `showZero` and `overflowCount`. Use `disabled` and `label` instead to recreate the previous behavior.

#### Variants and sizes on MantineProvider

You can now use [MantineProvider](https://mantine.dev/theming/mantine-provider/) to add variants to all Mantine components that support [Styles API](https://mantine.dev/styles/styles-api/)
and sizes to components that support `size` prop.

Variants:

```tsx
import { MantineProvider, Button, Group } from "@&#8203;mantine/core";

function Demo() {
  return (
    <MantineProvider
      theme={{
        components: {
          Button: {
            variants: {
              danger: (theme) => ({
                root: {
                  backgroundColor: theme.colors.red[9],
                  color: theme.colors.red[0],
                  ...theme.fn.hover({ backgroundColor: theme.colors.red[8] }),
                },
              }),

              success: (theme) => ({
                root: {
                  backgroundImage: theme.fn.linearGradient(
                    45,
                    theme.colors.cyan[theme.fn.primaryShade()],
                    theme.colors.teal[theme.fn.primaryShade()],
                    theme.colors.green[theme.fn.primaryShade()]
                  ),
                  color: theme.white,
                },
              }),
            },
          },
        },
      }}
    >
      <Group position="center">
        <Button variant="danger">Danger variant</Button>
        <Button variant="success">Success variant</Button>
      </Group>
    </MantineProvider>
  );
}
```

Sizes:

```tsx
import { MantineProvider, Button, Group } from "@&#8203;mantine/core";

function Demo() {
  return (
    <MantineProvider
      theme={{
        components: {
          Button: {
            sizes: {
              xxxs: () => ({
                root: {
                  height: "1.25rem",
                  padding: "0.3125rem",
                  fontSize: "0.5rem",
                },
              }),

              xxl: (theme) => ({
                root: {
                  fontSize: "1.75rem",
                  height: "5rem",
                  padding: theme.spacing.xl,
                },
              }),
            },
          },
        },
      }}
    >
      <Group position="center">
        <Button size="xxxs">XXXS button</Button>
        <Button size="xxl">XXL button</Button>
      </Group>
    </MantineProvider>
  );
}
```

#### Updated [@&#8203;mantine/dates](https://togithub.com/mantine/dates) package

`@mantine/dates` package was rebuilt from scratch, it now includes new components to
pick [year](https://mantine.dev/dates/year-picker/), [month](https://mantine.dev/dates/month-picker/)
and [dates](https://mantine.dev/dates/date-picker/). All new pickers support `type` prop that can be:

-   `default` – `Date | null` – user can pick one date
-   `multiple` – `Date[]` – user can pick any number of dates
-   `range` – `[Date | null, Date | null]` – user can pick a range of two dates

`type="default"` example with [DatePickerInput](https://mantine.dev/dates/date-picker-input/) component:

```tsx
import { useState } from "react";
import { DatePickerInput } from "@&#8203;mantine/dates";

function Demo() {
  const [value, setValue] = useState<Date | null>(null);
  return (
    <DatePickerInput
      label="Pick date"
      placeholder="Pick date"
      value={value}
      onChange={setValue}
      mx="auto"
      maw={400}
    />
  );
}
```

`type="multiple"` example with [MonthPickerInput](https://mantine.dev/dates/month-picker-input/) component:

```tsx
import { useState } from "react";
import { MonthPickerInput } from "@&#8203;mantine/dates";

function Demo() {
  const [value, setValue] = useState<Date[]>([]);
  return (
    <MonthPickerInput
      type="multiple"
      label="Pick dates"
      placeholder="Pick dates"
      value={value}
      onChange={setValue}
      mx="auto"
      maw={400}
    />
  );
}
```

`type="range"` example with [YearPickerInput](https://mantine.dev/dates/year-picker-input/) component:

```tsx
import { useState } from "react";
import { YearPickerInput } from "@&#8203;mantine/dates";

function Demo() {
  const [value, setValue] = useState<[Date | null, Date | null]>([null, null]);
  return (
    <YearPickerInput
      type="range"
      label="Pick dates range"
      placeholder="Pick dates range"
      value={value}
      onChange={setValue}
      mx="auto"
      maw={400}
    />
  );
}
```

##### [DateTimePicker component](https://mantine.dev/dates/date-time-picker/)

```tsx
import { DateTimePicker } from "@&#8203;mantine/dates";

function Demo() {
  return (
    <DateTimePicker
      label="Pick date and time"
      placeholder="Pick date and time"
      maw={400}
      mx="auto"
    />
  );
}
```

##### [DateInput](https://mantine.dev/dates/date-input/)

```tsx
import { useState } from "react";
import { DateInput } from "@&#8203;mantine/dates";

function Demo() {
  const [value, setValue] = useState<Date | null>(null);
  return (
    <DateInput
      value={value}
      onChange={setValue}
      label="Date input"
      placeholder="Date input"
      maw={400}
      mx="auto"
    />
  );
}
```

##### [YearPicker component](https://mantine.dev/dates/year-picker/)

```tsx
impor

</details>

---

### Configuration

📅 **Schedule**: 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 is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/weareinreach/GLAAD).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMDIuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNS4xMDIuMTAiLCJ0YXJnZXRCcmFuY2giOiJkZXYifQ==-->


PR-URL: https://github.com/weareinreach/GLAAD/pull/45
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Joe Karow <58997957+JoeKarow@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

4 participants