Skip to content

Commit 1b63ea9

Browse files
Merge remote-tracking branch 'origin/master' into FE-6440
2 parents ed86013 + a930daf commit 1b63ea9

File tree

90 files changed

+2919
-8962
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+2919
-8962
lines changed

CHANGELOG.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,40 @@
1+
## [158.30.0](https://github.com/Sage/carbon/compare/v158.29.0...v158.30.0) (2026-02-16)
2+
3+
### Features
4+
5+
* **tabs:** map legacy interface to next version of component ([38a5539](https://github.com/Sage/carbon/commit/38a553946066a3a8ed7f43856490edf9274c408c))
6+
7+
## [158.29.0](https://github.com/Sage/carbon/compare/v158.28.0...v158.29.0) (2026-02-13)
8+
9+
### Features
10+
11+
* **icon:** 3 new icons added ([916ce11](https://github.com/Sage/carbon/commit/916ce11568fe040980053c6595182be4603da67f))
12+
13+
## [158.28.0](https://github.com/Sage/carbon/compare/v158.27.4...v158.28.0) (2026-02-11)
14+
15+
### Features
16+
17+
* **tabs:** add de-De, fr-CA, fr-FR & pt-PT status translations ([562004e](https://github.com/Sage/carbon/commit/562004ece07134174bcdf218ac7b2d6c7dab4f89))
18+
* **tabs:** update en-GB status translation to include tab title ([e0c3e78](https://github.com/Sage/carbon/commit/e0c3e78af74d47e13ce8cb037f1b72fbe4071405))
19+
20+
## [158.27.4](https://github.com/Sage/carbon/compare/v158.27.3...v158.27.4) (2026-02-10)
21+
22+
### Bug Fixes
23+
24+
* **text-editor:** style selection stuck to paragraph on empty line ([c855567](https://github.com/Sage/carbon/commit/c85556750ec8d0d2de90d172c86e88cbfd8335f4))
25+
26+
## [158.27.3](https://github.com/Sage/carbon/compare/v158.27.2...v158.27.3) (2026-02-10)
27+
28+
### Bug Fixes
29+
30+
* **text-editor:** ensure label click focuses editor ([8896307](https://github.com/Sage/carbon/commit/88963077e79ce5749202a3dbf1c73c0570387a94))
31+
32+
## [158.27.2](https://github.com/Sage/carbon/compare/v158.27.1...v158.27.2) (2026-02-09)
33+
34+
### Bug Fixes
35+
36+
* **text-editor:** move unit tests to playwright ([65f5c25](https://github.com/Sage/carbon/commit/65f5c25697d1e09a6caa555dbad95144de00a8ca))
37+
138
## [158.27.1](https://github.com/Sage/carbon/compare/v158.27.0...v158.27.1) (2026-02-04)
239

340
### Bug Fixes

docs/installation.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ npm install carbon-react
3434
You will need to install the following dependencies in your project, as they are required for Carbon to work:
3535

3636
```shell
37-
npm install @sage/design-tokens@^4.0 react@^18.0 react-dom@^18.0 styled-components@^5.3.11
37+
npm install @sage/design-tokens@^4.0 @sage/design-tokens-fusion@npm:@sage/design-tokens@17.7.0 react@^18.0 react-dom@^18.0 styled-components@^5.3.11
3838
```
3939

4040
### Fonts and icons

docs/usage.mdx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,22 @@ A basic project `index.(jsx|tsx)` file would resemble this example:
2222
```jsx
2323
import React from "react";
2424
import { createRoot } from 'react-dom/client';
25+
26+
import TokensWrapper from "carbon-react/lib/components/tokens-wrapper";
2527
import CarbonProvider from "carbon-react/lib/components/carbon-provider";
2628
import GlobalStyle from "carbon-react/lib/style/global-style";
2729
import sageTheme from "carbon-react/lib/style/themes/sage";
28-
import "carbon-react/lib/style/fonts.css";
2930
import Typography from "carbon-react/lib/components/typography";
31+
import "carbon-react/lib/style/fonts.css";
3032

3133
const App = (props) => {
3234
return (
33-
<CarbonProvider theme={sageTheme}>
34-
<GlobalStyle />
35-
<Typography>Hello Carbon</Typography>
36-
</CarbonProvider>
35+
<TokensWrapper>
36+
<CarbonProvider theme={sageTheme}>
37+
<GlobalStyle />
38+
<Typography>Hello Carbon</Typography>
39+
</CarbonProvider>
40+
</TokensWrapper>
3741
);
3842
};
3943

jest.config.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ const baseProjectConfig: Config = {
3131
"<rootDir>/node_modules",
3232
"<rootDir>/lib",
3333
"<rootDir>/esm",
34+
"<rootDir>/.storybook",
35+
"<rootDir>/scripts",
3436
],
3537
transformIgnorePatterns: [
3638
`<rootDir>/node_modules/(?!(${esmOnlyPackages.join("|")}))`,

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "carbon-react",
3-
"version": "158.27.1",
3+
"version": "158.30.0",
44
"description": "A library of reusable React components for easily building user interfaces.",
55
"files": [
66
"lib",

playwright/components/popover-container/index.ts

Lines changed: 0 additions & 33 deletions
This file was deleted.

playwright/components/popover-container/locators.ts

Lines changed: 0 additions & 19 deletions
This file was deleted.
Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,10 @@
11
import { Page } from "@playwright/test";
22

33
// component preview locators
4-
export const tabWrapper = (page: Page) => {
5-
return page.locator(`[data-role="tab-header-wrapper"]`);
6-
};
7-
8-
export const tabList = (page: Page) => {
9-
return page.locator(`[role="tablist"]`);
10-
};
11-
124
export const tabById = (page: Page, id: number) => {
135
return page.locator(`[data-tabid="tab-${id}"]`);
146
};
157

168
export const tabContentById = (page: Page, id: number) => {
17-
return page.locator(`[aria-labelledby="tab-${id}-tab"]`);
18-
};
19-
20-
export const tabTitleById = (page: Page, id: number) => {
21-
return page.locator(`#tab-${id}-tab`);
22-
};
23-
24-
export const navButtonWrapperById = (page: Page, direction: string) => {
25-
return page.locator(
26-
`[data-role="tab-navigation-button-wrapper-${direction}"]`,
27-
);
28-
};
29-
30-
export const navButtonById = (page: Page, direction: string) => {
31-
return page.locator(`[data-role="tab-navigation-button-${direction}"]`);
9+
return page.locator(`[aria-labelledby="tab-${id}"]`);
3210
};

src/__internal__/form-field/form-field.component.tsx

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@ import tagComponent, { TagProps } from "../utils/helpers/tags/tags";
1717
import useIsAboveBreakpoint from "../../hooks/__internal__/useIsAboveBreakpoint";
1818
import { IconType } from "../../components/icon";
1919
import { filterStyledSystemMarginProps } from "../../style/utils";
20-
import TabContext, {
21-
TabContextProps,
22-
} from "../../components/tabs/tab/__internal__/tab.context";
2320
import { TabsContext as NewTabsContext } from "../../components/tabs/__next__/tabs.context";
2421
import { TabContext as NewTabContext } from "../../components/tabs/__next__/tab.context";
2522
import type {
@@ -149,9 +146,6 @@ const FormField = ({
149146
useContext<NewTabsContextProps>(NewTabsContext);
150147
const { tabId } = useContext<NewTabContextProps>(NewTabContext);
151148

152-
const { setError, setWarning, setInfo } =
153-
useContext<TabContextProps>(TabContext);
154-
155149
const marginProps = filterStyledSystemMarginProps(rest);
156150
const isMounted = useRef(false);
157151

@@ -178,22 +172,6 @@ const FormField = ({
178172
};
179173
}, [id, setErrors, setWarnings, error, warning, info, tabId, setInfos]);
180174

181-
// This useEffect handles support for the old Tab instances and can be removed in favour of the above once
182-
// the legacy work in Tabs is removed
183-
useEffect(() => {
184-
if (setError) setError(id, error);
185-
if (setWarning) setWarning(id, warning);
186-
if (setInfo) setInfo(id, info);
187-
188-
return () => {
189-
if (!isMounted.current) {
190-
if (setError && error) setError(id, false);
191-
if (setWarning && warning) setWarning(id, false);
192-
if (setInfo && info) setInfo(id, false);
193-
}
194-
};
195-
}, [id, setError, setWarning, setInfo, error, warning, info]);
196-
197175
const fieldHelp = fieldHelpContent ? (
198176
<FieldHelp
199177
labelInline={inlineLabel}

0 commit comments

Comments
 (0)