Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/bitter-dancers-grin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": major
---

Removed the deprecated `Italic` decoration prop from the `Numeral` component following the brand refresh.
5 changes: 5 additions & 0 deletions .changeset/bumpy-tools-fall.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/eslint-plugin-circuit-ui": minor
---

Updated the `component-lifecycle-imports` rule to flag and fix imports of the now stable AutocompleteInput component and its related imports.
5 changes: 5 additions & 0 deletions .changeset/cold-papayas-tan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": major
---

Removed the `uniqueId` utility from the public API. Use React’s `useId` hook instead.
5 changes: 5 additions & 0 deletions .changeset/curvy-snakes-heal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": major
---

Removed the `menu` ARIA role from the `ActionMenu` component. The `role="menu"` pattern is reserved for complex, desktop-like applications and is not appropriate for the ActionMenu component.
7 changes: 7 additions & 0 deletions .changeset/fuzzy-bees-enter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@sumup-oss/design-tokens": major
"@sumup-oss/circuit-ui": major
"@sumup-oss/icons": major
---

Dropped support for Node.js 22. Node.js 24 or higher is now required.
5 changes: 5 additions & 0 deletions .changeset/hip-ducks-mix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": major
---

Removed the default value for the `alt` prop in the `Avatar` component. The `alt` prop is now required.
5 changes: 5 additions & 0 deletions .changeset/many-stars-count.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": patch
---

Fixed the behavior responsible for restoring the AutocompleteInput's displayed value when it loses focus.
5 changes: 5 additions & 0 deletions .changeset/nice-pillows-shake.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": major
---

Removed the deprecated `checkedLabel` and `uncheckedLabel` props from `Toggle`.
5 changes: 5 additions & 0 deletions .changeset/ninety-carrots-rule.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": patch
---

Fixed the AutocompleteInput suggestion box incorrectly scrolling with the combobox input.
5 changes: 5 additions & 0 deletions .changeset/petite-rooms-trade.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": major
---

Removed the legacy Tooltip component. Use the newer Tooltip or Toggletip components instead.
15 changes: 15 additions & 0 deletions .changeset/pre.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"mode": "pre",
"tag": "next",
"initialVersions": {
"@sumup-oss/circuit-ui": "11.4.1",
"@sumup-oss/design-tokens": "10.0.2",
"@sumup-oss/eslint-plugin-circuit-ui": "7.2.0",
"@sumup-oss/icons": "6.7.0",
"@sumup-oss/stylelint-plugin-circuit-ui": "4.2.0",
"@sumup-oss/astro-template-circuit-ui": "5.0.0",
"@sumup-oss/cna-template": "6.0.1",
"next-app": "2.0.2"
},
"changesets": []
}
5 changes: 5 additions & 0 deletions .changeset/ripe-symbols-film.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": major
---

Removed the deprecated InlineElements component. Use [CSS Flexbox](https://css-tricks.com/snippets/css/a-guide-to-flexbox/) or [CSS Grid](https://css-tricks.com/css-grid-layout-guide/) instead.
5 changes: 5 additions & 0 deletions .changeset/salty-banks-serve.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": minor
---

Removed the deprecated BodyLarge component. Use Body with `size="l"` instead.
5 changes: 5 additions & 0 deletions .changeset/slow-bikes-admire.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": major
---

Removed the deprecated `Italic` decoration prop from the `Body` component following the brand refresh.
5 changes: 5 additions & 0 deletions .changeset/smart-rings-talk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": patch
---

Updated ListItemGroup to render the `label` prop as a plain Body component instead of an `h4` heading.
5 changes: 5 additions & 0 deletions .changeset/soft-lies-invite.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": major
---

Removed the deprecated `hideCloseButton` prop from `Modal` (use `preventClose` instead).
5 changes: 5 additions & 0 deletions .changeset/some-eggs-laugh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": major
---

Removed the `placeholder` color option from the `Body`, `Numeral` and `Compact` components' `color` prop. The `--cui-fg-placeholder` token does not meet WCAG 2.1 contrast requirements for text content.
5 changes: 5 additions & 0 deletions .changeset/strong-facts-march.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": major
---

Removed the `UNSAFE_DISABLE_ELEMENT_ERRORS` environment variable. The `as` prop on Headline and Display is now always required.
5 changes: 5 additions & 0 deletions .changeset/ten-parks-kneel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": major
---

Changed the Toggle component implementation to use a native input element instead of a button element under the hood. `onChange` now fires a native `ChangeEvent<HTMLInputElement>` instead of `ClickEvent<HTMLButtonElement>`.
5 changes: 5 additions & 0 deletions .changeset/ten-tires-shake.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": major
---

Dropped support for React 18. React 19 is now the minimum required version. `react` and `react-dom` peer dependencies now require `>=19.0.0`
5 changes: 5 additions & 0 deletions .changeset/warm-things-shine.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": patch
---

Fixed an overflow issue in the AutocompleteInput when using multi-selection mode.
5 changes: 5 additions & 0 deletions .changeset/weak-paths-cheat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": major
---

Remove the deprecated `width` and `height` props from the Flag component. Use the `size` prop instead.
5 changes: 5 additions & 0 deletions .changeset/young-otters-walk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sumup-oss/circuit-ui": major
---

Marked the AutocompleteInput component as stable. Import it from `@sumup-oss/circuit-ui` instead of `@sumup-oss/circuit-ui/experimental`.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node: [22, 24.18.0]
node: [24, 26]
steps:
- name: Checkout repository
uses: actions/checkout@v7
Expand Down Expand Up @@ -55,7 +55,7 @@ jobs:
token: ${{ secrets.CODECOV_TOKEN }}

- name: Create release PR or publish to npm
if: (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/next' || github.ref == 'refs/heads/canary' || startsWith(github.ref, 'refs/heads/release')) && matrix.node == '24.18.0'
if: (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/next' || github.ref == 'refs/heads/canary' || startsWith(github.ref, 'refs/heads/release')) && matrix.node == 24
uses: changesets/action@v1
with:
publish: npm run release
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/templates.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
strategy:
# https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs
matrix:
node: [22, 24]
node: [24, 26]
template: [astro, nextjs]
include:
- template: astro
Expand Down
3 changes: 0 additions & 3 deletions .storybook/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,6 @@ const config: StorybookConfig = {
];

return mergeConfig(viteConfig, {
define: {
'process.env.UNSAFE_DISABLE_ELEMENT_ERRORS': false,
},
resolve: {
alias: {
'storybook/internal/theming': 'storybook/theming',
Expand Down
5 changes: 5 additions & 0 deletions .storybook/preview.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -100,3 +100,8 @@ export const globalTypes = {
};

export const decorators = [withThemeProvider];

// hide React 19 ref prop on all function components
export const argTypes = {
ref: { table: { disable: true } },
};
20 changes: 11 additions & 9 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@
"vitest-github-actions-reporter": "^0.11.1"
},
"overrides": {
"@types/react-dom": "^19.0.0",
"@types/react": "^19.0.0",
"@types/react-dom": "^19.2.0",
"@types/react": "^19.2.0",
"nx": "22.6.3",
"eslint": "^9.0.0",
"storybook": "$storybook",
Expand Down
30 changes: 2 additions & 28 deletions packages/circuit-ui/components/ActionMenu/ActionMenu.spec.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -161,9 +161,7 @@ describe('ActionMenu', () => {
it('should close the action menu when clicking a action menu item', async () => {
renderActionMenu(baseProps);

const actionMenuItems = screen.getAllByRole('menuitem');

await userEvent.click(actionMenuItems[0]);
await userEvent.click(screen.getByRole('button', { name: 'Add' }));

expect(baseProps.onToggle).toHaveBeenCalledTimes(1);
});
Expand All @@ -180,9 +178,7 @@ describe('ActionMenu', () => {

rerender(<ActionMenu {...baseProps} isOpen />);

const actionMenuItems = screen.getAllByRole('menuitem');

expect(actionMenuItems[0]).toHaveFocus();
expect(screen.getByRole('button', { name: 'Add' })).toHaveFocus();

await flushMicrotasks();
});
Expand Down Expand Up @@ -213,28 +209,6 @@ describe('ActionMenu', () => {
});
});

it('should render the action menu with menu semantics by default', async () => {
renderActionMenu(baseProps);

const menu = screen.getByRole('menu');
expect(menu).toBeVisible();
const menuitems = screen.getAllByRole('menuitem');
expect(menuitems.length).toBe(2);

await flushMicrotasks();
});

it('should render the action menu without menu semantics', async () => {
renderActionMenu({ ...baseProps, role: null });

const menu = screen.queryByRole('menu');
expect(menu).toBeNull();
const menuitems = screen.queryAllByRole('menuitem');
expect(menuitems.length).toBe(0);

await flushMicrotasks();
});

it('should hide dividers from the accessibility tree', async () => {
const { baseElement } = renderActionMenu(baseProps);

Expand Down
Loading
Loading