chore(deps): update all non-major dependencies
This PR contains the following updates:
Release Notes
Rel1cx/eslint-react (@eslint-react/eslint-plugin)
v1.29.0
✨ New
- feat(plugins/naming-convention): add
context-namerule by @Rel1cx in https://github.com/Rel1cx/eslint-react/pull/952
🐞 Fixes
- fix: fixed
naming-convention/use-stateworks in components only, closes #953 by @Rel1cx in https://github.com/Rel1cx/eslint-react/pull/954
🪄 Improvements
- docs: use
recommended-typescriptfor typescript files by @bluwy in https://github.com/Rel1cx/eslint-react/pull/949
New Contributors
- @bluwy made their first contribution in https://github.com/Rel1cx/eslint-react/pull/949
v1.28.0
✨ New
- feat(plugins/dom): add
no-flush-syncrule by @Rel1cx in https://github.com/Rel1cx/eslint-react/pull/942 - feat: add
skipImportChecksetting by @Rel1cx
🪄 Improvements
- refactor: code optimization by @Rel1cx in https://github.com/Rel1cx/eslint-react/pull/945
- refactor: consistent ordering of arguments to context-aware utility functions by @Rel1cx in https://github.com/Rel1cx/eslint-react/pull/946
v1.27.0
✨ New
- feat: add presets exports to modular plugins by @Rel1cx in #940
- feat: add
no-missing-context-display-namerule by @Rel1cx in #941
🪄 Improvements
- refactor: improve error messages by @Rel1cx in #936 and #937
- refactor: add
useEffecttoadditionalHooksby @Rel1cx in #938 - refactor: change severity of
no-duplicate-keyrule fromerrortowarnby @Rel1cx in #939
v1.26.2
🐞 Fixes
- fix(plugins/x): enhance
no-context-providerrule to include context name in error messages by @Rel1cx in #935
v1.26.1
No notable changes have been made in this release.
v1.26.0
✨ New
v1.25.0
✨ New
- feat(no-useless-fragment): auto fix support, closes #899 by @hyoban in #926
- docs: add setup guide for
ts-blank-eslint-parserby @Rel1cx - docs: add setup example for
ts-blank-eslint-parserby @Rel1cx
🐞 Fixes
🪄 Improvements
v1.24.1
🐞 Fixes
- fix: fixed invalid rules for
disable-debug,disable-dom, anddisable-web-apisconfigs, closes #923 by @Rel1cx in #924
v1.24.0
🪄 Improvements
- perf: overhaul performance optimizations
mantinedev/mantine (@mantine/core)
v7.17.1
What's Changed
-
[@mantine/core]Select: Fix caret displayed when the readonly input is clicked (#7476) -
[@mantine/charts]Fix incorrect types ofclassNamesprop of PieChart and DonutChart components (#7475) -
[@mantine/charts]BubbleChart: Fix broken layout whenlabelprop is used with React 19 -
[@mantine/form]Fix missingisJSONStringexport (#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 forcreateStylesclasses (#7526)
New Contributors
- @kino90 made their first contribution in https://github.com/mantinedev/mantine/pull/7513
- @tranhl made their first contribution in https://github.com/mantinedev/mantine/pull/7526
- @imcvampire made their first contribution in https://github.com/mantinedev/mantine/pull/7497
- @ched-dev made their first contribution in https://github.com/mantinedev/mantine/pull/7480
- @ysalo made their first contribution in https://github.com/mantinedev/mantine/pull/7508
Full Changelog: https://github.com/mantinedev/mantine/compare/7.17.0...7.17.1
v7.17.0: 🌶️
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:
- Changelog – https://alpha.mantine.dev/changelog/8-0-0/
- Source code – https://github.com/mantinedev/mantine/tree/8.0
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 to8.0.0-alpha.0 - Install dependencies with your package manager, for example,
yarnornpm 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 '@​tabler/icons-react';
import { ActionIcon, Button, Group, Switch, Text, TextInput } from '@​mantine/core';
import { formRootRule, isNotEmpty, useForm } from '@​mantine/form';
import { randomId } from '@​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 '@​mantine/core';
import { formRootRule, isNotEmpty, useForm } from '@​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:
-
isNotEmptyHTMLchecks that form value is not an empty HTML string. Empty string, string with only HTML tags and whitespace are considered to be empty. -
isJSONStringchecks that form value is a valid JSON string.
import { isJSONString, useForm } from '@​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 '@​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 '@​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 '@​mantine/core';
import { useFileDialog } from '@​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
- I get hydration warning about data-mantine-color-scheme attribute, what does it mean? question
- How can I apply styles to all Mantine components? question
Other changes
-
Tooltip now supports customizing
middlewares -
ScrollArea now supports
overscrollBehaviorprop -
Affix now supports
theme.spacingvalues forpositionprop -
Anchor now supports
underline="not-hover"option to display underline only when the link is not hovered
v7.16.3
What's Changed
-
[@mantine/core]Removeuse clientfromisLightColorfunction -
[@mantine/core]TextInput: Fix autocomplete forvariantprop 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]Fix0gradientdegvalue 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
- @kingflamez made their first contribution in https://github.com/mantinedev/mantine/pull/7442
- @webkonstantin made their first contribution in https://github.com/mantinedev/mantine/pull/7423
- @marcinlukanus made their first contribution in https://github.com/mantinedev/mantine/pull/7444
Full Changelog: https://github.com/mantinedev/mantine/compare/7.16.2...7.16.3
v7.16.2
What's Changed
-
[@mantine/core]Tooltip: Migrate from deprecateduseDelayGroupContexthook touseDelayGroup -
[@mantine/core]Tabs: FixtabIndex={0}set onTabs.Tabbeing 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
- @ohansFavour made their first contribution in https://github.com/mantinedev/mantine/pull/7402
- @danpeavey-classdojo made their first contribution in https://github.com/mantinedev/mantine/pull/7390
- @openscript made their first contribution in https://github.com/mantinedev/mantine/pull/7389
Full Changelog: https://github.com/mantinedev/mantine/compare/7.16.1...7.16.2
v7.16.1
What's Changed
-
[@mantine/core]Menu: AddwithInitialFocusPlaceholderprop support -
[@mantine/core]Slider: FixonChangeEndbeing called whendisabledprop is set -
[@mantine/core]Add option to customize chevron color withchevronColorprop in Select and MultiSelect components -
[@mantine/core]Fix incorrect styles of nested tables (#7354) -
[@mantine/core]: NumberInput: FixonChangebeing called inonBlurif the value has not been changed (#7383) -
[@mantine/core]Menu: Adddata-disabledprop handling to Menu.Item component (#7377) -
[@mantine/form]Fix incorrect values handling inform.resetDirty(#7373) -
[@mantine/chart]AreaChart: FixgridColorandtextColorprops 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 incorrectwindow.matchMediapolyfill implementation (#7360) -
[@mantine/core]Modal: Fix Escape key not working in old Safari versions (#7358)
New Contributors
- @kidonng made their first contribution in https://github.com/mantinedev/mantine/pull/7364
- @Benjaminsson made their first contribution in https://github.com/mantinedev/mantine/pull/7360
- @cameronrdecker made their first contribution in https://github.com/mantinedev/mantine/pull/7380
- @tomrehnstrom made their first contribution in https://github.com/mantinedev/mantine/pull/7373
Full Changelog: https://github.com/mantinedev/mantine/compare/7.16.0...7.16.1
mui/material-ui (@mui/material)
v6.4.6
A big thanks to the 4 contributors who made this release possible.
@mui/[email protected]
- [Checkbox] Add slots and slotProps (#45361) @siriwatknp
- [Drawer] Deprecate *Props and complete
slots,slotProps(#45377) @siriwatknp - [Grid] Improve Grid2 upgrade experience (#45372) @DiegoAndai
- [InputBase] Deprecate composed classes (#45366) @siriwatknp
- Fix
slotProps.transitiontypes (#45367) @siriwatknp - Allow nested theme creation with
vars(#45368) @siriwatknp - Fix wro
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.
View your CI Pipeline Execution ↗ for commit c1e60cac3fea4e413ac1c62bf2b2d1f23df875f4.
| 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
More templates
- @tanstack/form-example-angular-array
- @tanstack/form-example-angular-simple
- @tanstack/form-example-lit-simple
- @tanstack/form-example-lit-ui-libraries
- @tanstack/form-example-react-array
- @tanstack/form-example-react-compiler
- @tanstack/field-errors-from-form-validators
- @tanstack/form-example-react-large-form
- @tanstack/form-example-react-next-server-actions
- @tanstack/form-example-react-query-integration
- @tanstack/form-example-remix
- @tanstack/form-example-react-simple
- @tanstack/form-example-react-standard-schema
- @tanstack/form-example-react-tanstack-start
- @tanstack/form-example-react-ui-libraries
- @tanstack/form-example-solid-array
- @tanstack/form-example-solid-simple
- @tanstack/form-example-vue-array
- @tanstack/form-example-vue-simple
@tanstack/angular-form
npm i https://pkg.pr.new/@tanstack/angular-form@1205
@tanstack/form-core
npm i https://pkg.pr.new/@tanstack/form-core@1205
@tanstack/lit-form
npm i https://pkg.pr.new/@tanstack/lit-form@1205
@tanstack/react-form
npm i https://pkg.pr.new/@tanstack/react-form@1205
@tanstack/solid-form
npm i https://pkg.pr.new/@tanstack/solid-form@1205
@tanstack/vue-form
npm i https://pkg.pr.new/@tanstack/vue-form@1205
commit: c1e60ca
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.