Skip to content

Commit 2421af2

Browse files
committed
updating types
1 parent a63f498 commit 2421af2

File tree

120 files changed

+2641
-832
lines changed

Some content is hidden

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

120 files changed

+2641
-832
lines changed

.storybook/main.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,21 @@ const config: StorybookConfig = {
1818
viteFinal(config) {
1919
return mergeConfig(config, {
2020
plugins: [tsConfigPaths()],
21+
css: {
22+
preprocessorOptions: {
23+
scss: {
24+
// Hide deprecation noise coming from dependencies like nhsuk-frontend
25+
quietDeps: true,
26+
// Specifically silence the Dart Sass "misplaced-rest" deprecation
27+
// (Type cast to any in case your TS types don't include this yet)
28+
silenceDeprecations: ['misplaced-rest'],
29+
// Optional: ensure node_modules is in the Sass load path
30+
// includePaths: ['node_modules'],
31+
} as any,
32+
},
33+
},
2134
});
2235
}
2336
};
37+
2438
export default config;

package.json

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,11 @@
4545
"@storybook/react-vite": "^9.1.3",
4646
"@testing-library/react": "^16.3.0",
4747
"@types/lodash": "^4",
48-
"@types/react": "^18.2.60",
48+
"@types/react": "^19.1.12",
4949
"@types/react-dom": "^18.2.19",
50+
"@types/stylus": "^0",
5051
"eslint-plugin-storybook": "9.1.3",
52+
"less": "^4.4.1",
5153
"nhsuk-frontend": "^9.0.1",
5254
"react": "^19.1.1",
5355
"react-dom": "^19.1.1",
@@ -58,7 +60,9 @@
5860
"rollup-plugin-preserve-directives": "^0.4.0",
5961
"rollup-plugin-tsconfig-paths": "^1.5.2",
6062
"sass": "^1.91.0",
63+
"sass-embedded": "^1.92.1",
6164
"storybook": "^9.1.3",
65+
"stylus": "^0.64.0",
6266
"tslib": "^2.8.1",
6367
"typescript": "5.3.3",
6468
"vite": "^7.1.3",
@@ -68,6 +72,15 @@
6872
"packageManager": "[email protected]",
6973
"dependencies": {
7074
"classnames": "^2.5.1",
71-
"lodash": "^4.17.21"
75+
"i": "^0.3.7",
76+
"lodash": "^4.17.21",
77+
"npm": "^11.6.0"
78+
},
79+
"typesVersions": {
80+
"*": {
81+
"react": [
82+
"node_modules/react/index.d.ts"
83+
]
84+
}
7285
}
7386
}

src/components/accordion-menu/AccordionMenu.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
/* eslint-disable @typescript-eslint/no-redeclare */
2-
import React, { HTMLProps } from 'react';
2+
import React from 'react';
33
import classNames from 'classnames';
44
import Section, { SectionProps } from './components/Section';
55
import Link from './components/Link';
66
import './_AccordionMenu.scss';
77

8-
interface AccordionMenu extends React.FC<HTMLProps<HTMLDivElement>> {
8+
interface AccordionMenu extends React.FC<React.HTMLProps<HTMLDivElement>> {
99
Section: React.FC<SectionProps>;
10-
Link: React.FC<HTMLProps<HTMLAnchorElement>>;
10+
Link: React.FC<React.HTMLProps<HTMLAnchorElement>>;
1111
}
1212

1313
const AccordionMenu: AccordionMenu = ({ className, ...rest }) => (

src/components/accordion-menu/_AccordionMenu.scss

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
@use '../../styles/variables';
2-
@use '../../../node_modules/nhsuk-frontend/packages/core/settings/all' as settings;
3-
@import '../../../node_modules/nhsuk-frontend/packages/core/all';
2+
@use '../../../node_modules/nhsuk-frontend/packages/core/settings' as settings;
3+
@use '../../../node_modules/nhsuk-frontend/packages/core' as *;
44

55
.nhsuk-accordion-menu {
66
display: block;
@@ -75,7 +75,7 @@
7575
}
7676

7777
&-text {
78-
@include nhsuk-typography-responsive(22);
78+
@include nhsuk-font-size(22);
7979
display: block;
8080
position: relative;
8181
}
@@ -97,7 +97,7 @@
9797
@include nhsuk-responsive-padding(3, 'right');
9898
@include nhsuk-responsive-padding(3, 'left');
9999

100-
@include nhsuk-typography-responsive(19);
100+
@include nhsuk-font-size(19);
101101
display: block;
102102
border-bottom: 3px solid transparent;
103103
border-top: 3px solid transparent;

src/components/accordion-menu/components/Link.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import React, { HTMLProps } from 'react';
1+
import React from 'react';
22
import classNames from 'classnames';
33

4-
const Link: React.FC<HTMLProps<HTMLAnchorElement>> = ({ className, ...rest }) => (
4+
const Link: React.FC<React.HTMLProps<HTMLAnchorElement>> = ({ className, ...rest }) => (
55
<div className="nhsuk-accordion-menu__subsection">
66
<a className={classNames('nhsuk-accordion-menu__subsection-link', className)} {...rest} />
77
</div>

src/components/accordion-menu/components/Section.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import React, { HTMLProps, ReactNode, useState, MouseEvent, useEffect } from 'react';
1+
import React, { ReactNode, useState, MouseEvent, useEffect } from 'react';
22
import classNames from 'classnames';
33

4-
export interface SectionProps extends HTMLProps<HTMLDetailsElement> {
4+
export interface SectionProps extends React.HTMLProps<HTMLDetailsElement> {
55
heading: ReactNode;
66
defaultOpen?: boolean;
77
}

src/components/content-presentation/details/Details.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,35 @@
1-
import React, { FC, HTMLProps } from 'react';
1+
import React from 'react';
22
import classNames from 'classnames';
33

4-
interface DetailsProps extends HTMLProps<HTMLDetailsElement> {
4+
interface DetailsProps extends React.HTMLProps<HTMLDetailsElement> {
55
expander?: boolean;
66
}
77

8-
interface Details extends FC<DetailsProps> {
9-
Summary: FC<HTMLProps<HTMLDivElement>>;
10-
Text: FC<HTMLProps<HTMLDivElement>>;
11-
ExpanderGroup: FC<HTMLProps<HTMLDivElement>>;
8+
interface Details extends React.FC<DetailsProps> {
9+
Summary: React.FC<React.HTMLProps<HTMLDivElement>>;
10+
Text: React.FC<React.HTMLProps<HTMLDivElement>>;
11+
ExpanderGroup: React.FC<React.HTMLProps<HTMLDivElement>>;
1212
}
1313

1414
// TODO: Check if standard NHS.UK polyfill "details.polyfill.js" is required
15-
const Details: Details = ({ className, expander, ...rest }) => (
15+
const Details: Details = ({ className, expander, ...rest }: any) => (
1616
<details
1717
className={classNames('nhsuk-details', { 'nhsuk-expander': expander }, className)}
1818
{...rest}
1919
/>
2020
);
2121

22-
const DetailsSummary: FC<HTMLProps<HTMLDivElement>> = ({ className, children, ...rest }) => (
22+
const DetailsSummary: React.FC<React.HTMLProps<HTMLDivElement>> = ({ className, children, ...rest }) => (
2323
<summary className={classNames('nhsuk-details__summary', className)} {...rest}>
2424
<span className="nhsuk-details__summary-text">{children}</span>
2525
</summary>
2626
);
2727

28-
const DetailsText: FC<HTMLProps<HTMLDivElement>> = ({ className, ...rest }) => (
28+
const DetailsText: React.FC<React.HTMLProps<HTMLDivElement>> = ({ className, ...rest }) => (
2929
<div className={classNames('nhsuk-details__text', className)} {...rest} />
3030
);
3131

32-
const ExpanderGroup: FC<HTMLProps<HTMLDivElement>> = ({ className, ...rest }) => (
32+
const ExpanderGroup: React.FC<React.HTMLProps<HTMLDivElement>> = ({ className, ...rest }) => (
3333
<div className={classNames('nhsuk-expander-group', className)} {...rest} />
3434
);
3535

src/components/content-presentation/do-and-dont-list/DoAndDontList.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
'use client';
2-
import React, { FC, HTMLProps, createContext, useContext, ReactNode } from 'react';
2+
import React, { createContext, useContext } from 'react';
33
import classNames from 'classnames';
44
import { Tick, Cross } from '@components/content-presentation/icons';
55
import HeadingLevel, { HeadingLevelType } from '@components/utils/HeadingLevel';
66

77
type ListType = 'do' | 'dont';
88

9-
interface DoAndDontListProps extends HTMLProps<HTMLDivElement> {
9+
interface DoAndDontListProps extends React.HTMLProps<HTMLDivElement> {
1010
listType: ListType;
1111
heading?: string;
1212
headingLevel?: HeadingLevelType;
1313
}
1414

15-
interface DoAndDontList extends FC<DoAndDontListProps> {
16-
Item: FC<DoAndDontItemProps>;
15+
interface DoAndDontList extends React.FC<DoAndDontListProps> {
16+
Item: React.FC<DoAndDontItemProps>;
1717
}
1818

1919
const DoAndDontListContext = createContext<ListType>('do');
@@ -44,12 +44,12 @@ const DoAndDontList: DoAndDontList = ({
4444
);
4545
};
4646

47-
interface DoAndDontItemProps extends HTMLProps<HTMLLIElement> {
47+
interface DoAndDontItemProps extends React.HTMLProps<HTMLLIElement> {
4848
listItemType?: ListType;
49-
prefixText?: ReactNode;
49+
prefixText?: React.ReactNode;
5050
}
5151

52-
const DoAndDontItem: FC<DoAndDontItemProps> = ({ prefixText, listItemType, children, ...rest }) => {
52+
const DoAndDontItem: React.FC<DoAndDontItemProps> = ({ prefixText, listItemType, children, ...rest }) => {
5353
const listItem = useContext(DoAndDontListContext);
5454
const defaultPrefix = (listItemType || listItem) === 'do' ? null : 'do not ';
5555
const actualPrefix = prefixText === undefined ? defaultPrefix : prefixText;

src/components/content-presentation/hero/Hero.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import React, { FC, HTMLProps } from 'react';
1+
import React from 'react';
22
import classNames from 'classnames';
33
import { Container, Row, Col } from '../../layout';
44
import HeadingLevel, { HeadingLevelType } from '@components/utils/HeadingLevel';
55

6-
interface HeroContentProps extends HTMLProps<HTMLDivElement> {
6+
interface HeroContentProps extends React.HTMLProps<HTMLDivElement> {
77
hasImage: boolean;
88
}
99

10-
const HeroContent: FC<HeroContentProps> = ({ children, hasImage }) => {
10+
const HeroContent: React.FC<HeroContentProps> = ({ children, hasImage }) => {
1111
if (!children) {
1212
return null;
1313
}
@@ -29,29 +29,29 @@ const HeroContent: FC<HeroContentProps> = ({ children, hasImage }) => {
2929
);
3030
};
3131

32-
interface HeroHeadingProps extends HTMLProps<HTMLHeadingElement> {
32+
interface HeroHeadingProps extends React.HTMLProps<HTMLHeadingElement> {
3333
headingLevel?: HeadingLevelType;
3434
}
3535

36-
const HeroHeading: FC<HeroHeadingProps> = ({ className, headingLevel = 'h1', ...rest }) => (
36+
const HeroHeading: React.FC<HeroHeadingProps> = ({ className, headingLevel = 'h1', ...rest }) => (
3737
<HeadingLevel
3838
className={classNames('nhsuk-u-margin-bottom-3', className)}
3939
headingLevel={headingLevel}
4040
{...rest}
4141
/>
4242
);
4343

44-
const HeroText: FC<HTMLProps<HTMLParagraphElement>> = ({ className, ...rest }) => (
44+
const HeroText: React.FC<React.HTMLProps<HTMLParagraphElement>> = ({ className, ...rest }) => (
4545
<p className={classNames('nhsuk-body-l nhsuk-u-margin-bottom-0', className)} {...rest} />
4646
);
4747

48-
interface HeroProps extends HTMLProps<HTMLDivElement> {
48+
interface HeroProps extends React.HTMLProps<HTMLDivElement> {
4949
imageSrc?: string;
5050
}
5151

52-
interface Hero extends FC<HeroProps> {
53-
Heading: FC<HeroHeadingProps>;
54-
Text: FC<HTMLProps<HTMLParagraphElement>>;
52+
interface Hero extends React.FC<HeroProps> {
53+
Heading: React.FC<HeroHeadingProps>;
54+
Text: React.FC<React.HTMLProps<HTMLParagraphElement>>;
5555
}
5656

5757
const Hero: Hero = ({ className, children, imageSrc, ...rest }) => (

src/components/content-presentation/icons/BaseIcon.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import React, { FC, HTMLProps } from 'react';
1+
import React from 'react';
22
import classNames from 'classnames';
33

4-
export interface BaseIconSVGProps extends HTMLProps<SVGSVGElement> {
4+
export interface BaseIconSVGProps extends React.HTMLProps<SVGSVGElement> {
55
iconType?: string;
66
crossOrigin?: '' | 'anonymous' | 'use-credentials';
77
}
88

9-
export const BaseIconSVG: FC<BaseIconSVGProps> = ({
9+
export const BaseIconSVG: React.FC<BaseIconSVGProps> = ({
1010
className,
1111
children,
1212
height = 34,

0 commit comments

Comments
 (0)