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 dependencies #115

Merged
merged 1 commit into from
Jun 12, 2024
Merged

chore(deps): update all dependencies #115

merged 1 commit into from
Jun 12, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jun 1, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@babel/core (source) 7.24.5 -> 7.24.7 age adoption passing confidence
@iconify/react (source) 4.1.1 -> 5.0.1 age adoption passing confidence
@mantine/core (source) 7.8.1 -> 7.10.1 age adoption passing confidence
@mantine/hooks (source) 7.8.1 -> 7.10.1 age adoption passing confidence
@playwright/test (source) 1.43.1 -> 1.44.1 age adoption passing confidence
@reduxjs/toolkit (source) 2.2.3 -> 2.2.5 age adoption passing confidence
@tanstack/react-query (source) 5.32.1 -> 5.44.0 age adoption passing confidence
@tanstack/react-query-devtools (source) 5.32.1 -> 5.44.0 age adoption passing confidence
@types/react (source) 18.3.1 -> 18.3.3 age adoption passing confidence
@typescript-eslint/eslint-plugin (source) 7.8.0 -> 7.13.0 age adoption passing confidence
@typescript-eslint/parser (source) 7.8.0 -> 7.13.0 age adoption passing confidence
@vitejs/plugin-react (source) 4.2.1 -> 4.3.1 age adoption passing confidence
@vitest/ui (source) 1.5.3 -> 1.6.0 age adoption passing confidence
axios (source) 1.6.8 -> 1.7.2 age adoption passing confidence
eslint-plugin-playwright 1.6.0 -> 1.6.2 age adoption passing confidence
eslint-plugin-react 7.34.1 -> 7.34.2 age adoption passing confidence
lint-staged 15.2.2 -> 15.2.6 age adoption passing confidence
prettier (source) 3.2.5 -> 3.3.2 age adoption passing confidence
prettier-plugin-tailwindcss 0.5.14 -> 0.6.3 age adoption passing confidence
react-helmet-async 2.0.4 -> 2.0.5 age adoption passing confidence
react-hook-form (source) 7.51.3 -> 7.51.5 age adoption passing confidence
react-redux 9.1.1 -> 9.1.2 age adoption passing confidence
react-router-dom (source) 6.23.0 -> 6.23.1 age adoption passing confidence
tailwindcss (source) 3.4.3 -> 3.4.4 age adoption passing confidence
type-fest 4.18.0 -> 4.20.0 age adoption passing confidence
vite (source) 5.2.10 -> 5.2.13 age adoption passing confidence
vitest (source) 1.5.3 -> 1.6.0 age adoption passing confidence
zod (source) 3.23.5 -> 3.23.8 age adoption passing confidence

Release Notes

babel/babel (@​babel/core)

v7.24.7

Compare Source

🐛 Bug Fix
🏠 Internal
  • babel-helpers, babel-runtime-corejs2, babel-runtime-corejs3, babel-runtime

v7.24.6

Compare Source

🐛 Bug Fix
  • babel-helper-create-class-features-plugin, babel-plugin-transform-class-properties
  • babel-core, babel-generator, babel-plugin-transform-modules-commonjs
  • babel-helper-create-class-features-plugin, babel-plugin-proposal-decorators
  • babel-helpers, babel-plugin-proposal-decorators, babel-runtime-corejs3
  • babel-parser, babel-plugin-transform-typescript
🏠 Internal
  • babel-core, babel-helpers, babel-plugin-transform-runtime, babel-preset-env, babel-runtime-corejs2, babel-runtime-corejs3, babel-runtime
  • babel-helpers
  • babel-cli, babel-helpers, babel-plugin-external-helpers, babel-plugin-proposal-decorators, babel-plugin-transform-class-properties, babel-plugin-transform-modules-commonjs, babel-plugin-transform-modules-systemjs, babel-plugin-transform-runtime, babel-preset-env, babel-runtime-corejs2, babel-runtime-corejs3, babel-runtime
  • babel-parser, babel-traverse
  • Other
mantinedev/mantine (@​mantine/core)

v7.10.1

Compare Source

What's Changed
  • [@mantine/charts] BarChart: Add waterfall type (#​6231)
  • [@mantine/form] Fix form.setFieldError called inside form.onSubmit not working correctly in some cases (#​6101)
  • [@mantine/core] SegmentedControl: Fix false error reported by React 18.3+ for incorrect key prop usage
  • [@mantine/hooks] use-fetch: Fix incorrect error handling (#​6278)
  • [@mantine/core] Fix bd style prop not being applied in some components (#​6282)
  • [@mantine/core] NumberInput: Fix incorrect leading zeros handling (#​6232)
  • [@mantine/core] NumberInput: Fix incorrect logic while editing decimal values (#​6232)
  • [@mantine/core] ScrollArea: Fix scrollbar flickering on reveal with hover and scroll types (#​6218)
  • [@mantine/hooks] Update use-throttled-* hooks to emit updates on trailing edges (#​6257)
  • [@mantine/core] Input: Add inputSize prop to set size html attribute on the input element
New Contributors

Full Changelog: mantinedev/mantine@7.10.0...7.10.1

v7.10.0: 😎

Compare Source

View changelog with demos on mantine.dev website

Tree component

New Tree component:

import { IconFolder, IconFolderOpen } from '@​tabler/icons-react';
import { Group, RenderTreeNodePayload, Tree } from '@​mantine/core';
import { CssIcon, NpmIcon, TypeScriptCircleIcon } from '@​mantinex/dev-icons';
import { data, dataCode } from './data';
import classes from './Demo.module.css';

interface FileIconProps {
  name: string;
  isFolder: boolean;
  expanded: boolean;
}

function FileIcon({ name, isFolder, expanded }: FileIconProps) {
  if (name.endsWith('package.json')) {
    return <NpmIcon size={14} />;
  }

  if (name.endsWith('.ts') || name.endsWith('.tsx') || name.endsWith('tsconfig.json')) {
    return <TypeScriptCircleIcon size={14} />;
  }

  if (name.endsWith('.css')) {
    return <CssIcon size={14} />;
  }

  if (isFolder) {
    return expanded ? (
      <IconFolderOpen color="var(--mantine-color-yellow-9)" size={14} stroke={2.5} />
    ) : (
      <IconFolder color="var(--mantine-color-yellow-9)" size={14} stroke={2.5} />
    );
  }

  return null;
}

function Leaf({ node, expanded, hasChildren, elementProps }: RenderTreeNodePayload) {
  return (
    <Group gap={5} {...elementProps}>
      <FileIcon name={node.value} isFolder={hasChildren} expanded={expanded} />
      <span>{node.label}</span>
    </Group>
  );
}

function Demo() {
  return (
    <Tree
      classNames={classes}
      selectOnClick
      clearSelectionOnOutsideClick
      data={data}
      renderNode={(payload) => <Leaf {...payload} />}
    />
  );
}
form.getInputNode

New form.getInputNode(path) handler returns input DOM node for the given field path.
Form example, it can be used to focus input on form submit if there is an error:

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

function Demo() {
  const form = useForm({
    mode: 'uncontrolled',
    initialValues: {
      name: '',
      email: '',
    },

    validate: {
      name: isNotEmpty('Name is required'),
      email: isEmail('Invalid email'),
    },
  });

  return (
    <form
      onSubmit={form.onSubmit(
        (values) => console.log(values),
        (errors) => {
          const firstErrorPath = Object.keys(errors)[0];
          form.getInputNode(firstErrorPath)?.focus();
        }
      )}
    >
      <TextInput
        withAsterisk
        label="Your name"
        placeholder="Your name"
        key={form.key('name')}
        {...form.getInputProps('name')}
      />

      <TextInput
        withAsterisk
        label="Your email"
        placeholder="your@email.com"
        key={form.key('email')}
        {...form.getInputProps('email')}
      />

      <Group justify="flex-end" mt="md">
        <Button type="submit">Submit</Button>
      </Group>
    </form>
  );
}
Container queries in SimpleGrid

You can now use container queries
in SimpleGrid component. With container queries, grid columns and spacing
will be adjusted based on the container width, not the viewport width.

Example of using container queries. To see how the grid changes, resize the root element
of the demo with the resize handle located at the bottom right corner of the demo:

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

function Demo() {
  return (
    // Wrapper div is added for demonstration purposes only,
    // it is not required in real projects
    <div style={{ resize: 'horizontal', overflow: 'hidden', maxWidth: '100%' }}>
      <SimpleGrid
        type="container"
        cols={{ base: 1, '300px': 2, '500px': 5 }}
        spacing={{ base: 10, '300px': 'xl' }}
      >
        <div>1</div>
        <div>2</div>
        <div>3</div>
        <div>4</div>
        <div>5</div>
      </SimpleGrid>
    </div>
  );
}
Checkbox and Radio indicators

New Checkbox.Indicator and Radio.Indicator
components look exactly the same as Checkbox and Radio components, but they do not
have any semantic meaning, they are just visual representations of checkbox and radio states.

Checkbox.Indicator component:

import { Checkbox, Group } from '@&#8203;mantine/core';

function Demo() {
  return (
    <Group>
      <Checkbox.Indicator />
      <Checkbox.Indicator checked />
      <Checkbox.Indicator indeterminate />
      <Checkbox.Indicator disabled />
      <Checkbox.Indicator disabled checked />
      <Checkbox.Indicator disabled indeterminate />
    </Group>
  );
}

Radio.Indicator component:

import { Group, Radio } from '@&#8203;mantine/core';

function Demo() {
  return (
    <Group>
      <Radio.Indicator />
      <Radio.Indicator checked />
      <Radio.Indicator disabled />
      <Radio.Indicator disabled checked />
    </Group>
  );
}
Checkbox and Radio cards

New Checkbox.Card and Radio.Card
components can be used as replacements for Checkbox and Radio to build custom cards/buttons/etc.
that work as checkboxes and radios. Components are accessible by default and support the same
keyboard interactions as input[type="checkbox"] and input[type="radio"].

Checkbox.Card component:

import { useState } from 'react';
import { Checkbox, Group, Text } from '@&#8203;mantine/core';
import classes from './Demo.module.css';

function Demo() {
  const [checked, setChecked] = useState(false);

  return (
    <Checkbox.Card
      className={classes.root}
      radius="md"
      checked={checked}
      onClick={() => setChecked((c) => !c)}
    >
      <Group wrap="nowrap" align="flex-start">
        <Checkbox.Indicator />
        <div>
          <Text className={classes.label}>@&#8203;mantine/core</Text>
          <Text className={classes.description}>
            Core components library: inputs, buttons, overlays, etc.
          </Text>
        </div>
      </Group>
    </Checkbox.Card>
  );
}

Checkbox.Card component with Checkbox.Group:

import { useState } from 'react';
import { Checkbox, Group, Stack, Text } from '@&#8203;mantine/core';
import classes from './Demo.module.css';

const data = [
  {
    name: '@&#8203;mantine/core',
    description: 'Core components library: inputs, buttons, overlays, etc.',
  },
  { name: '@&#8203;mantine/hooks', description: 'Collection of reusable hooks for React applications.' },
  { name: '@&#8203;mantine/notifications', description: 'Notifications system' },
];

function Demo() {
  const [value, setValue] = useState<string[]>([]);

  const cards = data.map((item) => (
    <Checkbox.Card className={classes.root} radius="md" value={item.name} key={item.name}>
      <Group wrap="nowrap" align="flex-start">
        <Checkbox.Indicator />
        <div>
          <Text className={classes.label}>{item.name}</Text>
          <Text className={classes.description}>{item.description}</Text>
        </div>
      </Group>
    </Checkbox.Card>
  ));

  return (
    <>
      <Checkbox.Group
        value={value}
        onChange={setValue}
        label="Pick packages to install"
        description="Choose all packages that you will need in your application"
      >
        <Stack pt="md" gap="xs">
          {cards}
        </Stack>
      </Checkbox.Group>

      <Text fz="xs" mt="md">
        CurrentValue: {value.join(', ') || '–'}
      </Text>
    </>
  );
}

Radio.Card component:

import { useState } from 'react';
import { Group, Radio, Text } from '@&#8203;mantine/core';
import classes from './Demo.module.css';

function Demo() {
  const [checked, setChecked] = useState(false);

  return (
    <Radio.Card
      className={classes.root}
      radius="md"
      checked={checked}
      onClick={() => setChecked((c) => !c)}
    >
      <Group wrap="nowrap" align="flex-start">
        <Radio.Indicator />
        <div>
          <Text className={classes.label}>@&#8203;mantine/core</Text>
          <Text className={classes.description}>
            Core components library: inputs, buttons, overlays, etc.
          </Text>
        </div>
      </Group>
    </Radio.Card>
  );
}

Radio.Card component with Radio.Group:

import { useState } from 'react';
import { Group, Radio, Stack, Text } from '@&#8203;mantine/core';
import classes from './Demo.module.css';

const data = [
  {
    name: '@&#8203;mantine/core',
    description: 'Core components library: inputs, buttons, overlays, etc.',
  },
  { name: '@&#8203;mantine/hooks', description: 'Collection of reusable hooks for React applications.' },
  { name: '@&#8203;mantine/notifications', description: 'Notifications system' },
];

function Demo() {
  const [value, setValue] = useState<string | null>(null);

  const cards = data.map((item) => (
    <Radio.Card className={classes.root} radius="md" value={item.name} key={item.name}>
      <Group wrap="nowrap" align="flex-start">
        <Radio.Indicator />
        <div>
          <Text className={classes.label}>{item.name}</Text>
          <Text className={classes.description}>{item.description}</Text>
        </div>
      </Group>
    </Radio.Card>
  ));

  return (
    <>
      <Radio.Group
        value={value}
        onChange={setValue}
        label="Pick one package to install"
        description="Choose a package that you will need in your application"
      >
        <Stack pt="md" gap="xs">
          {cards}
        </Stack>
      </Radio.Group>

      <Text fz="xs" mt="md">
        CurrentValue: {value || '–'}
      </Text>
    </>
  );
}
bd style prop

New bd style prop can be used to set border CSS property.
It is available in all components that support style props.

Border width value is automatically converted to rem. For border color you can reference
theme colors similar to other style props:

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

function Demo() {
  return <Box bd="1px solid red.5" />;
}

v7.9.2

Compare Source

What's Changed
  • [@mantine/dates] DateTimePicker: Fix some of timeInputProps not being respected (#​6204)
  • [@mantine/core] NavLink: Add react-router support to display active route (#​6180)
  • [@mantine/core] Fix nonce attribute not being set on <style /> tag generated in color scheme switching script
  • [@mantine/core] Input: Fix incorrect margins when input wrapper order is explicitly set
  • [@mantine/core] Pagination: Fix types definition being incompatible with @​tabler/icons-react 3.x
  • [@mantine/charts] Fix incorrect tooltip position in LineChart, AreaChart and BarChart with vertical orientation
  • [@mantine/core] Rating: Fix readOnly prop now working on touch devices (#​6202)
  • [@mantine/core] TagsInput: Fix existing search value being ignored in onPaste even handler (#​6073)
  • [@mantine/core] TagsInput: Improve clearable prop logic related to dropdown (#​6115)
New Contributors

Full Changelog: mantinedev/mantine@7.9.1...7.9.2

v7.9.1

Compare Source

What's Changed
  • [@mantine/core] Fix theme.scale being ignored in Input, Paper and Table border styles
  • [@mantine/core] Fix virtualColor function requring use client in Next.js
  • [@mantine/core] FloatingIndicator: Fix incorrect resize observer logic (#​6129)
  • [@mantine/core] NumberInput: Fix incorrect allowNegative handling with up/down arrows (#​6170)
  • [@mantine/core] Fix error={true} prop set on Checkbox, Radio and Switch rendering unxpected error element with margin
  • [@mantine/core] SegmentedControl: Fix theme.primaryColor not being respected in the focus ring styles
  • [@mantine/core] CloseButton: Fix incorrect specificity of some selectors
  • [@mantine/core] Fix incorrect aria-label handling in Select, Autocomplete, MultiSelect and TagsInputs components (#​6123)
  • [@mantine/core] Modal: Prevent onClose from being called when modal is not opened (#​6156)
  • [@mantine/core] PasswordInput: Fix duplicated password visibility icon in Edge browser (#​6126)
  • [@mantine/hooks] use-hash: Fix hash value not being updated correctly (#​6145)
  • [@mantine/emotion] Fix incorrect transform logic that was causing extra hooks to render (#​6159)
New Contributors

Full Changelog: mantinedev/mantine@7.9.0...7.9.1

v7.9.0: ✨

Compare Source

View changelog with demos on mantine.dev website

@​mantine/emotion package

New @​mantine/emotion package is now available to simplify migration
from 6.x to 7.x. It includes createStyles function and additional
functionality for sx and styles props for all components similar to what was available
in @mantine/core package in v6.

If you still haven't migrated to 7.x because of the change in styling approach, you can now
have a smoother transition by using @mantine/emotion package. To learn more about the package,
visit the documentation page and updated 6.x to 7.x migration guide.

import { rem } from '@&#8203;mantine/core';
import { createStyles } from '@&#8203;mantine/emotion';

const useStyles = createStyles((theme, _, u) => ({
  wrapper: {
    maxWidth: rem(400),
    width: '100%',
    height: rem(180),
    display: 'flex',
    alignItems: 'center',
    justifyContent: 'center',
    marginLeft: 'auto',
    marginRight: 'auto',
    borderRadius: theme.radius.sm,

    // Use light and dark selectors to change styles based on color scheme
    [u.light]: {
      backgroundColor: theme.colors.gray[1],
    },

    [u.dark]: {
      backgroundColor: theme.colors.dark[5],
    },

    // Reference theme.breakpoints in smallerThan and largerThan functions
    [u.smallerThan('sm')]: {
      // Child reference in nested selectors via ref
      [`& .${u.ref('child')}`]: {
        fontSize: theme.fontSizes.xs,
      },
    },
  },

  child: {
    // Assign selector to a ref to reference it in other styles
    ref: u.ref('child'),
    padding: theme.spacing.md,
    borderRadius: theme.radius.sm,
    boxShadow: theme.shadows.md,

    [u.light]: {
      backgroundColor: theme.white,
      color: theme.black,
    },

    [u.dark]: {
      backgroundColor: theme.colors.dark[8],
      color: theme.white,
    },
  },
}));

function Demo() {
  const { classes } = useStyles();

  return (
    <div className={classes.wrapper}>
      <div className={classes.child}>createStyles demo</div>
    </div>
  );
}
React 18.3 support

All @mantine/* components and hooks have been updated to support React 18.3. It is
recommended to update your application as well to prepare for the upcoming React 19 release.

use-field hook

New use-field hook is now available in @mantine/form package.
It can be used as a simpler alternative to use-form hook to manage state of a single input without the need to create a form.
The hook supports most of use-form hook features: validation with function, touched and
dirty state, error message, validation on change/blur and more.

import { TextInput } from '@&#8203;mantine/core';
import { isEmail, useField } from '@&#8203;mantine/form';

function Demo() {
  const field = useField({
    initialValue: '',
    validateOnChange: true,
    validate: isEmail('Invalid email'),
  });

  return <TextInput {...field.getInputProps()} label="Email" placeholder="Enter your email" />;
}

use-field hook also supports async validation:

import { Button, Loader, TextInput } from '@&#8203;mantine/core';
import { useField } from '@&#8203;mantine/form';

function validateAsync(value: string): Promise<string | null> {
  return new Promise((resolve) => {
    window.setTimeout(() => {
      resolve(value === 'mantine' ? null : 'Value must be "mantine"');
    }, 800);
  });
}

function Demo() {
  const field = useField({
    initialValue: '',
    validate: validateAsync,
  });

  return (
    <>
      <TextInput
        {...field.getInputProps()}
        label="Enter 'mantine'"
        placeholder="Enter 'mantine'"
        rightSection={field.isValidating ? <Loader size={18} /> : null}
        mb="md"
      />
      <Button onClick={field.validate}>Validate async</Button>
    </>
  );
}
Custom PostCSS mixins

You can now define custom mixins that are not included in mantine-postcss-preset by specifying them
in the mixins option. To learn about mixins syntax, follow postcss-mixins documentation.
Note that this feature is available in postcss-preset-mantine starting from version 1.15.0.

Example of adding clearfix and circle mixins:

module.exports = {
  plugins: {
    'postcss-preset-mantine': {
      autoRem: true,
      mixins: {
        clearfix: {
          '&::after': {
            content: '""',
            display: 'table',
            clear: 'both',
          },
        },
        circle: (_mixin, size) => ({
          borderRadius: '50%',
          width: size,
          height: size,
        }),
      },
    },
    // ... Other plugins
  },
};

Then you can use these mixins in your styles:

.demo {
  @&#8203;mixin clearfix;
  @&#8203;mixin circle 100px;
}
use-matches hook

New use-matches hook exported from @mantine/core is an alternative to use-media-query
if you need to match multiple media queries and values. It accepts an object with media queries as keys and
values at given breakpoint as values.

Note that use-matches hook uses the same logic as use-media-query under the hood,
it is not recommended to be used as a primary source of responsive styles, especially if you have ssr in your application.

In the following example:

  • Starting from theme.breakpoints.lg, color will be red.9
  • Between theme.breakpoints.sm and theme.breakpoints.lg, color will be orange.9
  • Below theme.breakpoints.sm, color will be blue.9
import { Box, useMatches } from '@&#8203;mantine/core';

function Demo() {
  const color = useMatches({
    base: 'blue.9',
    sm: 'orange.9',
    lg: 'red.9',
  });

  return (
    <Box bg={color} c="white" p="xl">
      Box with color that changes based on screen size
    </Box>
  );
}
BarChart value label

BarChart now supports withBarValueLabel prop that allows
displaying value label on top of each bar:

import { BarChart } from '@&#8203;mantine/charts';
import { data } from './data';

function Demo() {
  return (
    <BarChart
      h={300}
      data={data}
      dataKey="month"
      valueFormatter={(value) => new Intl.NumberFormat('en-US').format(value)}
      withBarValueLabel
      series={[
        { name: 'Smartphones', color: 'violet.6' },
        { name: 'Laptops', color: 'blue.6' },
        { name: 'Tablets', color: 'teal.6' },
      ]}
    />
  );
}
Documentation updates
Other changes
  • Advanced templates now include GitHub workflows to run tests on CI
  • AspectRatio component has been migrated to aspect-ratio CSS property
microsoft/playwright (@​playwright/test)

v1.44.1

Compare Source

Highlights

https://github.com/microsoft/playwright/issues/30779 - [REGRESSION]: When using video: 'on' with VSCode extension the browser got closed
https://github.com/microsoft/playwright/issues/30755 - [REGRESSION]: Electron launch with spaces inside executablePath didn't workhttps://github.com/microsoft/playwright/issues/307700 - [REGRESSION]: Mask elements outside of viewport when creating fullscreen screenshots didn't worhttps://github.com/microsoft/playwright/issues/3085858 - [REGRESSION]: ipv6 got shown instead of localhost in show-trace/show-report

Browser Versions

  • Chromium 125.0.6422.14
  • Mozilla Firefox 125.0.1
  • WebKit 17.4

This version was also tested against the following stable channels:

  • Google Chrome 124
  • Microsoft Edge 124

v1.44.0

Compare Source

New APIs

Accessibility assertions

  • expect(locator).toHaveAccessibleName() checks if the element has the specified accessible name:

    const locator = page.getByRole('button');
    await expect(locator).toHaveAccessibleName('Submit');
  • expect(locator).toHaveAccessibleDescription() checks if the element has the specified accessible description:

    const locator = page.getByRole('button');
    await expect(locator).toHaveAccessibleDescription('Upload a photo');
  • expect(locator).toHaveRole() checks if the element has the specified ARIA role:

    const locator = page.getByTestId('save-button');
    await expect(locator).toHaveRole('button');

Locator handler

  • After executing the handler added with page.addLocatorHandler(), Playwright will now wait until the overlay that triggered the handler is not visible anymore. You can opt-out of this behavior with the new noWaitAfter option.
  • You can use new times option in page.addLocatorHandler() to specify maximum number of times the handler should be run.
  • The handler in page.addLocatorHandler() now accepts the locator as argument.
  • New page.removeLocatorHandler() method for removing previously added locator handlers.
const locator = page.getByText('This interstitial covers the button');
await page.addLocatorHandler(locator, async overlay => {
  await overlay.locator('#close').click();
}, { times: 3, noWaitAfter: true });
// Run your tests that can be interrupted by the overlay.
// ...
await page.removeLocatorHandler(locator);

Miscellaneous options

  • multipart option in apiRequestContext.fetch() now accepts FormData and supports repeating fields with the same name.

    const formData = new FormData();
    formData.append('file', new File(['let x = 2024;'], 'f1.js', { type: 'text/javascript' }));
    formData.append('file', new File(['hello'], 'f2.txt', { type: 'text/plain' }));
    context.request.post('https://example.com/uploadFiles', {
      multipart: formData
    });
  • expect(callback).toPass({ intervals }) can now be configured by expect.toPass.inervals option globally in testConfig.expect or per project in testProject.expect.

  • expect(page).toHaveURL(url) now supports ignoreCase option.

  • testProject.ignoreSnapshots allows to configure per project whether to skip screenshot expectations.

Reporter API

  • New method suite.entries() returns child test suites and test cases in their declaration order. [suite.type](ht

Configuration

📅 Schedule: Branch creation - "before 4am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, 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 has been generated by Mend Renovate. View repository job log here.

Copy link

netlify bot commented Jun 1, 2024

Deploy Preview for my-react-template ready!

Name Link
🔨 Latest commit 4356ad3
🔍 Latest deploy log https://app.netlify.com/sites/my-react-template/deploys/66689426bbc1db0008a09dfe
😎 Deploy Preview https://deploy-preview-115--my-react-template.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@renovate renovate bot force-pushed the renovate/all branch 8 times, most recently from 660da06 to 69b447a Compare June 7, 2024 19:34
@renovate renovate bot force-pushed the renovate/all branch 5 times, most recently from f7e9fb0 to 993c2f3 Compare June 11, 2024 16:27
@DuckyMomo20012 DuckyMomo20012 merged commit 5290cf4 into main Jun 12, 2024
5 checks passed
@DuckyMomo20012 DuckyMomo20012 deleted the renovate/all branch June 12, 2024 02:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant