Skip to content

Commit 17d9ca1

Browse files
committed
Add better types to Stories and SVGs.
1 parent 78ae37c commit 17d9ca1

16 files changed

Lines changed: 89 additions & 93 deletions

File tree

assets/js/components/BannerModal/index.stories.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,16 @@ import { ComponentProps } from 'react';
2525
* Internal dependencies
2626
*/
2727
import BannerModal from './index';
28-
// @ts-expect-error - We need to add types for imported SVGs.
2928
import WelcomeModalGraphic from '@/svg/graphics/welcome-modal-graphic.svg';
29+
import { Story } from '@/js/types/Story';
3030

3131
type BannerModalStoryProps = ComponentProps< typeof BannerModal >;
3232

3333
function Template( args: BannerModalStoryProps ) {
3434
return <BannerModal { ...args } />;
3535
}
3636

37-
export const Default = Template.bind( {} );
37+
export const Default = Template.bind( {} ) as Story< BannerModalStoryProps >;
3838
Default.storyName = 'Default';
3939
Default.args = {
4040
Graphic: WelcomeModalGraphic,

assets/js/components/BannerModal/index.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ import { Dialog, DialogContent, DialogFooter } from '@/js/material-components';
3535
import P from '@/js/components/Typography/P';
3636
import Typography from '@/js/components/Typography';
3737
import { GraphicContainerWithIntersectionObserver } from './GraphicContainer';
38-
// @ts-expect-error - We need to add types for imported SVGs.
3938
import CloseIcon from '@/svg/icons/close.svg';
4039

4140
export interface BannerModalProps {

assets/js/components/WelcomeModal.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,7 @@ import { MODULES_SEARCH_CONSOLE } from '@/js/modules/search-console/datastore/co
4646
import { MODULE_SLUG_ANALYTICS_4 } from '@/js/modules/analytics-4/constants';
4747
import BannerModal from '@/js/components/BannerModal/index';
4848
import { useShowTooltip } from '@/js/components/AdminScreenTooltip';
49-
// @ts-expect-error - We need to add types for imported SVGs.
5049
import WelcomeModalGraphic from '@/svg/graphics/welcome-modal-graphic.svg';
51-
// @ts-expect-error - We need to add types for imported SVGs.
5250
import WelcomeModalDataGatheringCompleteGraphic from '@/svg/graphics/welcome-modal-data-gathering-complete-graphic.svg';
5351
import useQueryArg from '@/js/hooks/useQueryArg';
5452
import { trackEvent } from '@/js/util';

assets/js/components/notifications/ActivateAnalyticsNotification.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ import BannerNotification from '@/js/googlesitekit/notifications/components/layo
4040
import { useShowTooltip } from '@/js/components/AdminScreenTooltip';
4141
import useActivateModuleCallback from '@/js/hooks/useActivateModuleCallback';
4242
import useViewContext from '@/js/hooks/useViewContext';
43-
// @ts-expect-error - We need to add types for imported SVGs.
4443
import ActivateAnalyticsSVG from '@/svg/graphics/activate-analytics-graphic.svg?url';
4544
import useRetriableNotificationDismissButtonLabel from '@/js/components/notifications/useRetriableNotificationDismissButtonLabel';
4645
import { GATrackingEventArgs } from '@/js/types/GATrackingEventArgs';

assets/js/components/notifications/ConnectMoreServicesNotification.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import BannerNotification from '@/js/googlesitekit/notifications/components/layo
3434
import { useShowTooltip } from '@/js/components/AdminScreenTooltip';
3535
import { CORE_LOCATION } from '@/js/googlesitekit/datastore/location/constants';
3636
import { CORE_SITE } from '@/js/googlesitekit/datastore/site/constants';
37-
// @ts-expect-error - We need to add types for imported SVGs.
3837
import ConnectMoreServicesSVG from '@/svg/graphics/connect-more-services-graphic.svg?url';
3938
import useViewContext from '@/js/hooks/useViewContext';
4039

assets/js/components/pdf-export/PDFReportErrorSnackbar.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ import { CORE_SITE } from '@/js/googlesitekit/datastore/site/constants';
3535
import Notice from '@/js/components/Notice';
3636
import { NOTICE_TYPES } from '@/js/components/Notice/constants';
3737
import Link from '@/js/components/Link';
38-
// @ts-expect-error SVG module type is not currently declared.
3938
import CloseIcon from '@/svg/icons/close.svg';
4039

4140
interface PDFReportErrorSnackbarProps {

assets/js/components/settings/SettingsActiveModule/DefaultSettingsStatus.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,7 @@ import { CORE_MODULES } from '@/js/googlesitekit/modules/datastore/constants';
3636
import { SIZE_MEDIUM } from '@/js/components/Typography/constants';
3737
import { Button } from '@/js/googlesitekit-components';
3838
import P from '@/js/components/Typography/P';
39-
// @ts-expect-error - We need to add types for imported SVGs.
4039
import ConnectedIcon from '@/svg/icons/connected.svg';
41-
// @ts-expect-error - We need to add types for imported SVGs.
4240
import WarningIcon from '@/svg/icons/warning-v2.svg';
4341

4442
export default function DefaultSettingsStatus( { slug }: { slug: string } ) {

assets/js/modules/analytics-4/components/site-goals/components/Tile.stories.tsx

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,7 @@ import { WPDataRegistry } from '@wordpress/data/build-types/registry';
2525
import { Tile, type TileProps } from './Tile';
2626
import WithRegistrySetup from '../../../../../../../tests/js/WithRegistrySetup';
2727
import { CORE_USER } from '@/js/googlesitekit/datastore/user/constants';
28-
29-
// Type for Storybook story exports with custom properties
30-
type Story = {
31-
( props: TileProps ): JSX.Element;
32-
storyName?: string;
33-
args?: TileProps & { setupRegistry?: ( registry: WPDataRegistry ) => void };
34-
scenario?: Record< string, unknown >;
35-
};
28+
import { Story } from '@/js/types/Story';
3629

3730
function Template( {
3831
setupRegistry = () => {},
@@ -55,7 +48,7 @@ function Template( {
5548
);
5649
}
5750

58-
export const DefaultTile = Template.bind( {} ) as Story;
51+
export const DefaultTile = Template.bind( {} ) as Story< TileProps >;
5952
DefaultTile.storyName = 'Default Tile';
6053
DefaultTile.args = {
6154
title: 'Form Submissions',
@@ -65,7 +58,7 @@ DefaultTile.args = {
6558
format: { style: 'decimal' },
6659
};
6760

68-
export const PrimaryPositiveTile = Template.bind( {} ) as Story;
61+
export const PrimaryPositiveTile = Template.bind( {} ) as Story< TileProps >;
6962
PrimaryPositiveTile.storyName = 'Primary Tile - Positive';
7063
PrimaryPositiveTile.args = {
7164
title: 'Revenue',
@@ -77,7 +70,7 @@ PrimaryPositiveTile.args = {
7770
};
7871
PrimaryPositiveTile.scenario = {};
7972

80-
export const PrimaryNegativeTile = Template.bind( {} ) as Story;
73+
export const PrimaryNegativeTile = Template.bind( {} ) as Story< TileProps >;
8174
PrimaryNegativeTile.storyName = 'Primary Tile - Negative';
8275
PrimaryNegativeTile.args = {
8376
title: 'Revenue',
@@ -89,7 +82,7 @@ PrimaryNegativeTile.args = {
8982
};
9083
PrimaryNegativeTile.scenario = {};
9184

92-
export const PrimaryNeutralTile = Template.bind( {} ) as Story;
85+
export const PrimaryNeutralTile = Template.bind( {} ) as Story< TileProps >;
9386
PrimaryNeutralTile.storyName = 'Primary Tile - Neutral';
9487
PrimaryNeutralTile.args = {
9588
title: 'Revenue',
@@ -101,7 +94,7 @@ PrimaryNeutralTile.args = {
10194
};
10295
PrimaryNeutralTile.scenario = {};
10396

104-
export const PercentFormat = Template.bind( {} ) as Story;
97+
export const PercentFormat = Template.bind( {} ) as Story< TileProps >;
10598
PercentFormat.storyName = 'Percent Format';
10699
PercentFormat.args = {
107100
title: 'Conversion Rate',
@@ -111,7 +104,7 @@ PercentFormat.args = {
111104
format: { style: 'percent', maximumFractionDigits: 1 },
112105
};
113106

114-
export const WithInfoTooltip = Template.bind( {} ) as Story;
107+
export const WithInfoTooltip = Template.bind( {} ) as Story< TileProps >;
115108
WithInfoTooltip.storyName = 'With Info Tooltip';
116109
WithInfoTooltip.args = {
117110
title: 'Add to Cart',
@@ -123,7 +116,7 @@ WithInfoTooltip.args = {
123116
};
124117
WithInfoTooltip.scenario = {};
125118

126-
export const NegativeChange = Template.bind( {} ) as Story;
119+
export const NegativeChange = Template.bind( {} ) as Story< TileProps >;
127120
NegativeChange.storyName = 'Negative Change';
128121
NegativeChange.args = {
129122
title: 'Form Submissions',
@@ -133,7 +126,7 @@ NegativeChange.args = {
133126
format: { style: 'decimal' },
134127
};
135128

136-
export const ZeroDataPreviousRange = Template.bind( {} ) as Story;
129+
export const ZeroDataPreviousRange = Template.bind( {} ) as Story< TileProps >;
137130
ZeroDataPreviousRange.storyName = 'Zero Data (Previous Range)';
138131
ZeroDataPreviousRange.args = {
139132
title: 'Form Submissions',
@@ -143,7 +136,7 @@ ZeroDataPreviousRange.args = {
143136
format: { style: 'decimal' },
144137
};
145138

146-
export const CustomDateRange = Template.bind( {} ) as Story;
139+
export const CustomDateRange = Template.bind( {} ) as Story< TileProps >;
147140
CustomDateRange.storyName = 'Custom Date Range (90 days)';
148141
CustomDateRange.args = {
149142
title: 'Form Submissions',

assets/js/modules/analytics-4/components/site-goals/notifications/IntroModalBanner/IntroModalEcommerce.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import { createInterpolateElement } from '@wordpress/element';
3131
* Internal dependencies
3232
*/
3333
import BannerModal from '@/js/components/BannerModal/index';
34-
// @ts-expect-error - We need to add types for imported SVGs.
3534
import SiteGoalsIntroModalEcommerceGraphic from '@/svg/graphics/site-goals-intro-modal-ecommerce.svg';
3635
import Link from '@/js/components/Link';
3736
import type { IntroModalVariantProps } from './types';

assets/js/modules/analytics-4/components/site-goals/notifications/IntroModalBanner/IntroModalEcommerceAndLead.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import { createInterpolateElement } from '@wordpress/element';
3131
* Internal dependencies
3232
*/
3333
import BannerModal from '@/js/components/BannerModal/index';
34-
// @ts-expect-error - We need to add types for imported SVGs.
3534
import SiteGoalsIntroModalGraphic from '@/svg/graphics/site-goals-intro-modal.svg';
3635
import Link from '@/js/components/Link';
3736
import type { IntroModalVariantProps } from './types';

0 commit comments

Comments
 (0)