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

chore(deps): update all non-major dependencies #1205

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 3, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@eslint-react/eslint-plugin (source) ^1.17.3 -> ^1.29.0 age adoption passing confidence
@mantine/core (source) 7.16.0 -> 7.17.1 age adoption passing confidence
@mantine/hooks (source) 7.16.0 -> 7.17.1 age adoption passing confidence
@mui/material (source) 6.4.0 -> 6.4.6 age adoption passing confidence
@remix-run/dev (source) ^2.15.0 -> ^2.16.0 age adoption passing confidence
@remix-run/node (source) ^2.15.3 -> ^2.16.0 age adoption passing confidence
@remix-run/react (source) ^2.15.3 -> ^2.16.0 age adoption passing confidence
@remix-run/serve (source) ^2.15.3 -> ^2.16.0 age adoption passing confidence
@tanstack/react-query (source) ^5.64.1 -> ^5.66.11 age adoption passing confidence
@tanstack/react-start (source) ^1.112.0 -> ^1.112.3 age adoption passing confidence
@testing-library/react ^16.1.0 -> ^16.2.0 age adoption passing confidence
@testing-library/user-event ^14.5.2 -> ^14.6.1 age adoption passing confidence
@vitest/coverage-istanbul (source) ^3.0.6 -> ^3.0.7 age adoption passing confidence
arktype (source) ^2.0.0 -> ^2.1.2 age adoption passing confidence
cssstyle 4.1.0 -> 4.2.1 age adoption passing confidence
eslint (source) 9.18.0 -> 9.21.0 age adoption passing confidence
eslint-plugin-react-hooks (source) ^5.1.0 -> ^5.2.0 age adoption passing confidence
isbot (source) ^5.1.17 -> ^5.1.23 age adoption passing confidence
knip (source) ^5.39.2 -> ^5.45.0 age adoption passing confidence
next (source) 15.1.7 -> 15.2.0 age adoption passing confidence
nx (source) 20.4.0 -> 20.4.6 age adoption passing confidence
pnpm (source) 10.4.1 -> 10.5.2 age adoption passing confidence
postcss (source) 8.5.1 -> 8.5.3 age adoption passing confidence
prettier (source) ^3.4.2 -> ^3.5.3 age adoption passing confidence
publint (source) ^0.3.2 -> ^0.3.7 age adoption passing confidence
sherif ^1.0.2 -> ^1.4.0 age adoption passing confidence
solid-js (source) ^1.9.4 -> ^1.9.5 age adoption passing confidence
typescript54 (source) 5.4 -> 5.8.2 age adoption passing confidence
typescript55 (source) 5.5 -> 5.8.2 age adoption passing confidence
typescript56 (source) 5.6 -> 5.8.2 age adoption passing confidence
typescript57 (source) 5.7 -> 5.8.2 age adoption passing confidence
valibot (source) ^1.0.0-beta.9 -> ^1.0.0-rc.3 age adoption passing confidence
vinxi (source) ^0.5.1 -> ^0.5.3 age adoption passing confidence
vite (source) ^6.1.1 -> ^6.2.0 age adoption passing confidence
vite-plugin-solid ^2.11.2 -> ^2.11.6 age adoption passing confidence
vite-tsconfig-paths ^5.1.2 -> ^5.1.4 age adoption passing confidence
vitest (source) ^3.0.6 -> ^3.0.7 age adoption passing confidence
zod (source) ^3.24.0 -> ^3.24.2 age adoption passing confidence

Release Notes

Rel1cx/eslint-react (@​eslint-react/eslint-plugin)

v1.29.0

Compare Source

✨ New
🐞 Fixes
🪄 Improvements
New Contributors

v1.28.0

Compare Source

✨ New
🪄 Improvements

v1.27.0

Compare Source

✨ New
🪄 Improvements

v1.26.2

Compare Source

🐞 Fixes
  • fix(plugins/x): enhance no-context-provider rule to include context name in error messages by @​Rel1cx in #​935

v1.26.1

Compare Source

No notable changes have been made in this release.

v1.26.0

Compare Source

✨ New

v1.25.0

Compare Source

✨ New
🐞 Fixes
🪄 Improvements

v1.24.1

Compare Source

🐞 Fixes
  • fix: fixed invalid rules for disable-debug, disable-dom, and disable-web-apis configs, closes #​923 by @​Rel1cx in #​924

v1.24.0

Compare Source

🪄 Improvements
  • perf: overhaul performance optimizations
mantinedev/mantine (@​mantine/core)

v7.17.1

Compare Source

What's Changed

  • [@mantine/core] Select: Fix caret displayed when the readonly input is clicked (#​7476)
  • [@mantine/charts] Fix incorrect types of classNames prop of PieChart and DonutChart components (#​7475)
  • [@mantine/charts] BubbleChart: Fix broken layout when label prop is used with React 19
  • [@mantine/form] Fix missing isJSONString export (#​7508)
  • [@mantine/core] Fix MultiSelect and TagsInputs dropdowns still being opened on click when components were used inside disabled fieldset (#​7528)
  • [@mantine/code-highlight] Fallback unsupported code to plaintext (#​7497)
  • [@mantine/emotion] Improve "Go to definition" support for createStyles classes (#​7526)

New Contributors

Full Changelog: mantinedev/mantine@7.17.0...7.17.1

v7.17.0: 🌶️

Compare Source

View changelog with demos on mantine.dev website

Last 7.x minor release

This is the last minor release in the 7.x series. The next release will be 8.0 with breaking changes and new features.

You are welcome to review the changelog/code and provide feedback and bug reports in Discord or GitHub discussions:

How to update your project dependencies to the new alpha version:

  • Open your package.json
  • Find all @mantine/ packages
  • Update version of all @mantine/ packages to 8.0.0-alpha.0
  • Install dependencies with your package manager, for example, yarn or npm install

Important notes:

  • 8.0 release is scheduled for May 5th. Until then you can influence the included breaking changes by proving feedback using Discord or GitHub discussions.
  • Currently most of planned breaking changes are implemented – it is not planned to introduce other significant breaking changes (unless new versions of recharts or tiptap are released before May 5th).
  • You can find the updated source code in 8.0 branch on GitHub
  • Since the changes to codebase are not that significant compared to previous major releases, it is not planned to deprecate 7.x version as soon as 8.0 is release. 7.17.x patches are planned to be released for some time – if you are not ready to migrate to 8.x, you will still be able to receive bug fixes for 7.x (no new features though).

Portal reuseTargetNode prop

Portal component now supports reuseTargetNode prop which allows to reuse the same target node for all instances.
This option is more performant than the previous behavior, it is recommended to be enabled.
This option will be enabled by default in the 8.0 major release.

To enable reuseTargetNode option in all components that depend on Portal, add the following code
to your theme:

import { createTheme, Portal } from '@​mantine/core';

export const theme = createTheme({
  components: {
    Portal: Portal.extend({
      defaultProps: {
        reuseTargetNode: true,
      },
    }),
  },
});

Example usage. In the following example, all three paragraphs will be rendered in the same target node:

import { Portal } from '@​mantine/core';

function Demo() {
  return (
    <>
      <Portal reuseTargetNode>
        <p>First</p>
      </Portal>

      <Portal reuseTargetNode>
        <p>Second</p>
      </Portal>

      <Portal reuseTargetNode>
        <p>Third</p>
      </Portal>
    </>
  );
}

use-form formRootRule

formRootRule is a special rule path that can be used to validate objects and arrays
alongside with their nested fields. For example, it is useful when you want to capture
a list of values, validate each value individually and then validate the list itself
to not be empty:

import { IconTrash } from '@&#8203;tabler/icons-react';
import { ActionIcon, Button, Group, Switch, Text, TextInput } from '@&#8203;mantine/core';
import { formRootRule, isNotEmpty, useForm } from '@&#8203;mantine/form';
import { randomId } from '@&#8203;mantine/hooks';

function Demo() {
  const form = useForm({
    mode: 'uncontrolled',
    initialValues: {
      employees: [{ name: '', active: false, key: randomId() }],
    },
    validate: {
      employees: {
        [formRootRule]: isNotEmpty('At least one employee is required'),
        name: isNotEmpty('Name is required'),
      },
    },
  });

  const fields = form.getValues().employees.map((item, index) => (
    <Group key={item.key} mt="xs">
      <TextInput
        placeholder="John Doe"
        withAsterisk
        style={{ flex: 1 }}
        key={form.key(`employees.${index}.name`)}
        {...form.getInputProps(`employees.${index}.name`)}
      />
      <Switch
        label="Active"
        key={form.key(`employees.${index}.active`)}
        {...form.getInputProps(`employees.${index}.active`, { type: 'checkbox' })}
      />
      <ActionIcon color="red" onClick={() => form.removeListItem('employees', index)}>
        <IconTrash size={16} />
      </ActionIcon>
    </Group>
  ));

  return (
    <form onSubmit={form.onSubmit(() => {})}>
      {fields.length > 0 ? (
        <Group mb="xs">
          <Text fw={500} size="sm" style={{ flex: 1 }}>
            Name
          </Text>
          <Text fw={500} size="sm" pr={90}>
            Status
          </Text>
        </Group>
      ) : (
        <Text c="dimmed" ta="center">
          No one here...
        </Text>
      )}

      {fields}

      {form.errors.employees && (
        <Text c="red" size="sm" mt="sm">
          {form.errors.employees}
        </Text>
      )}

      <Group justify="space-between" mt="md">
        <Button
          variant="default"
          onClick={() => {
            form.insertListItem('employees', { name: '', active: false, key: randomId() });
            form.clearFieldError('employees');
          }}
        >
          Add employee
        </Button>
        <Button type="submit">Submit</Button>
      </Group>
    </form>
  );
}

Another example is to validate an object fields combination:

import { Button, Text, TextInput } from '@&#8203;mantine/core';
import { formRootRule, isNotEmpty, useForm } from '@&#8203;mantine/form';

function Demo() {
  const form = useForm({
    mode: 'uncontrolled',
    initialValues: {
      user: {
        firstName: '',
        lastName: '',
      },
    },

    validate: {
      user: {
        [formRootRule]: (value) =>
          value.firstName.trim().length > 0 && value.firstName === value.lastName
            ? 'First name and last name cannot be the same'
            : null,
        firstName: isNotEmpty('First name is required'),
        lastName: isNotEmpty('Last name is required'),
      },
    },
  });

  return (
    <form onSubmit={form.onSubmit(() => {})}>
      <TextInput
        label="First name"
        placeholder="First name"
        {...form.getInputProps('user.firstName')}
      />
      <TextInput
        label="Last name"
        placeholder="Last name"
        mt="md"
        {...form.getInputProps('user.lastName')}
      />
      {form.errors.user && (
        <Text c="red" mt={5} fz="sm">
          {form.errors.user}
        </Text>
      )}
      <Button type="submit" mt="lg">
        Submit
      </Button>
    </form>
  );
}

isJSONString and isNotEmptyHTML form validators

New isJSONString and isNotEmptyHTML form validators:

  • isNotEmptyHTML checks that form value is not an empty HTML string. Empty string, string with only HTML tags and whitespace are considered to be empty.
  • isJSONString checks that form value is a valid JSON string.
import { isJSONString, useForm } from '@&#8203;mantine/form';

const form = useForm({
  mode: 'uncontrolled',
  initialValues: {
    json: '',
    html: '',
  },

  validate: {
    json: isJSONString('Invalid JSON string'),
    html: isNotEmptyHTML('HTML cannot be empty'),
  },
});

Popover onDismiss

Popover now supports onDismiss prop, which makes it easier
to subscribe to outside clicks and escape key presses to close popover:

import { useState } from 'react';
import { Button, Popover } from '@&#8203;mantine/core';

function Demo() {
  const [opened, setOpened] = useState(false);
  return (
    <Popover opened={opened} onDismiss={() => setOpened(false)}>
      <Popover.Target>
        <Button onClick={() => setOpened((o) => !o)}>Toggle popover</Button>
      </Popover.Target>

      <Popover.Dropdown>Dropdown</Popover.Dropdown>
    </Popover>
  );
}

MantineProvider env

MantineProvider component now supports env prop.
It can be used in test environment to disable some features that
might impact tests and/or make it harder to test components:

  • transitions that mount/unmount child component with delay
  • portals that render child component in a different part of the DOM

To enable test environment, set env to test:

import { MantineProvider } from '@&#8203;mantine/core';

function Demo() {
  return <MantineProvider env="test">{/* Your app here */}</MantineProvider>;
}

use-file-dialog hook

New use-file-dialog allows capturing one or more files from the user
without file input element:

import { Button, Group, List } from '@&#8203;mantine/core';
import { useFileDialog } from '@&#8203;mantine/hooks';

function Demo() {
  const fileDialog = useFileDialog();

  const pickedFiles = Array.from(fileDialog.files || []).map((file) => (
    <List.Item key={file.name}>{file.name}</List.Item>
  ));

  return (
    <div>
      <Group>
        <Button onClick={fileDialog.open}>Pick files</Button>
        {pickedFiles.length > 0 && (
          <Button variant="default" onClick={fileDialog.reset}>
            Reset
          </Button>
        )}
      </Group>
      {pickedFiles.length > 0 && <List mt="lg">{pickedFiles}</List>}
    </div>
  );
}

Remix deprecation

Remix is deprecated, the documentation related to Remix integration
was removed, use React Router instead. To simplify maintenance,
Remix/React Router templates were archived and will not be updated.

Help center updates

Other changes

  • Tooltip now supports customizing middlewares
  • ScrollArea now supports overscrollBehavior prop
  • Affix now supports theme.spacing values for position prop
  • Anchor now supports underline="not-hover" option to display underline only when the link is not hovered

v7.16.3

Compare Source

What's Changed

  • [@mantine/core] Remove use client from isLightColor function
  • [@mantine/core] TextInput: Fix autocomplete for variant prop not working
  • [@mantine/carousel] Fix aria-hidden warning displayed in Chrome console when indicator is clicked (#​7414)
  • [@mantine/core] Fix clear button overlaying input content in Autocomplete and other similar components (#​7431)
  • [@mantine/core] Combobox: Fix incorrect dropdown padding when used with ScrollArea (#​7450)
  • [@mantine/core] Fix 0 gradient deg value not working correctly (#​7444)
  • [@mantine/core] ScrollArea: Fix user-select being left as none after interaction with scrollbar in some edge cases (#​7423)
  • [@mantine/dates] DateInput: Fix infinite loop in Safari (#​7442)

New Contributors

Full Changelog: mantinedev/mantine@7.16.2...7.16.3

v7.16.2

Compare Source

What's Changed

  • [@mantine/core] Tooltip: Migrate from deprecated useDelayGroupContext hook to useDelayGroup
  • [@mantine/core] Tabs: Fix tabIndex={0} set on Tabs.Tab being ignored (#​7407)
  • [@mantine/core] Fix chevron icon not being clickable in Select and MultiSelect components (#​7395)
  • [@mantine/dates] MonthPicker: Fix infinite useEffect with use-form in some cases (#​7389)
  • [@mantine/hooks] use-hotkeys: Add better support for non-QUERTY keyboards (#​7390)
  • [@mantine/dates] DateTimePicker: Fix timezone conversion being applied twice (#​7400)
  • [@mantine/hooks] Fix potential dangerous access of ref value in useEffect cleanup (#​7404)

New Contributors

Full Changelog: mantinedev/mantine@7.16.1...7.16.2

v7.16.1

Compare Source

What's Changed

  • [@mantine/core] Menu: Add withInitialFocusPlaceholder prop support
  • [@mantine/core] Slider: Fix onChangeEnd being called when disabled prop is set
  • [@mantine/core] Add option to customize chevron color with chevronColor prop in Select and MultiSelect components
  • [@mantine/core] Fix incorrect styles of nested tables (#​7354)
  • [@mantine/core]: NumberInput: Fix onChange being called in onBlur if the value has not been changed (#​7383)
  • [@mantine/core] Menu: Add data-disabled prop handling to Menu.Item component (#​7377)
  • [@mantine/form] Fix incorrect values handling in form.resetDirty (#​7373)
  • [@mantine/chart] AreaChart: Fix gridColor and textColor props being passed as attributes to the DOM node (#​7378)
  • [@mantine/hooks] use-in-viewport: Fix tracking being stopped when used with a dnd library (#​7359)
  • [@mantine/core] MantineProvider: Fix jest tests not running in case there is incorrect window.matchMedia polyfill implementation (#​7360)
  • [@mantine/core] Modal: Fix Escape key not working in old Safari versions (#​7358)

New Contributors

Full Changelog: mantinedev/mantine@7.16.0...7.16.1

mui/material-ui (@​mui/material)

v6.4.6

Compare Source

A big thanks to the 4 contributors who made this release possible.

@mui/[email protected]

Configuration

📅 Schedule: Branch creation - "* 0-3 * * 1" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

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 if that's undesired.


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

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

@renovate renovate bot added the dependencies label Mar 3, 2025
Copy link

nx-cloud bot commented Mar 3, 2025

View your CI Pipeline Execution ↗ for commit c1e60ca.

Command Status Duration Result
nx affected --targets=test:sherif,test:knip,tes... ❌ Failed 1m 31s View ↗
nx run-many --target=build --exclude=examples/** ✅ Succeeded 1s View ↗

☁️ Nx Cloud last updated this comment at 2025-03-03 02:00:58 UTC

Copy link

pkg-pr-new bot commented Mar 3, 2025

Copy link
Contributor Author

renovate bot commented Mar 3, 2025

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants