diff --git a/.storybook/constants.js b/.storybook/constants.js
deleted file mode 100644
index 97ffed04f635d..0000000000000
--- a/.storybook/constants.js
+++ /dev/null
@@ -1,35 +0,0 @@
-import en from '../i18n/locales/en.json';
-
-const i18nData = {
- currentLocale: {
- code: 'en',
- localName: 'English',
- name: 'English',
- langDir: 'ltr',
- dateFormat: 'MM.DD.YYYY',
- hrefLang: 'en-US',
- enabled: true,
- },
- localeMessages: en,
-};
-
-const nodeVersionData = {
- nodeVersionData: [
- {
- node: 'v19.8.1',
- nodeNumeric: '19.8.1',
- nodeMajor: 'v19.x',
- npm: '9.5.1',
- isLts: false,
- },
- {
- node: 'v18.15.0',
- nodeNumeric: '18.15.0',
- nodeMajor: 'v18.x',
- npm: '9.5.0',
- isLts: true,
- },
- ],
-};
-
-export const pageProps = { i18nData, nodeVersionData };
diff --git a/.storybook/constants.ts b/.storybook/constants.ts
new file mode 100644
index 0000000000000..8d5ee42a41129
--- /dev/null
+++ b/.storybook/constants.ts
@@ -0,0 +1,34 @@
+import type { AppProps, NodeVersionData } from '../types';
+import englishMessages from '../i18n/locales/en.json';
+
+const i18nData: AppProps['i18nData'] = {
+ currentLocale: {
+ code: 'en',
+ localName: 'English',
+ name: 'English',
+ langDir: 'ltr',
+ dateFormat: 'MM.DD.YYYY',
+ hrefLang: 'en-US',
+ enabled: true,
+ },
+ localeMessages: englishMessages,
+};
+
+const nodeVersionData: NodeVersionData[] = [
+ {
+ node: 'v19.8.1',
+ nodeNumeric: '19.8.1',
+ nodeMajor: 'v19.x',
+ npm: '9.5.1',
+ isLts: false,
+ },
+ {
+ node: 'v18.15.0',
+ nodeNumeric: '18.15.0',
+ nodeMajor: 'v18.x',
+ npm: '9.5.0',
+ isLts: true,
+ },
+];
+
+export const pageProps = { i18nData, nodeVersionData };
diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx
index caa61821492d6..283ef3270bc53 100644
--- a/.storybook/preview.tsx
+++ b/.storybook/preview.tsx
@@ -1,10 +1,13 @@
import type { Preview } from '@storybook/react';
import NextImage from 'next/image';
import { ThemeProvider } from 'next-themes';
-import App from '../pages/_app.mdx';
+import { NodeDataProvider } from '../providers/nodeDataProvider';
+import { LocaleProvider } from '../providers/localeProvider';
+import { SiteProvider } from '../providers/siteProvider';
+import openSans from '../util/openSans';
import { pageProps } from './constants';
-import '../styles/tokens.scss';
+import '../styles/index.scss';
const preview: Preview = {
parameters: {
@@ -26,7 +29,20 @@ const preview: Preview = {
export const decorators = [
Story => (
',
+ link: 'https://nodejs.org/en/',
+ },
+ },
+};
+
export default { component: Banner } as Meta;
diff --git a/components/Common/DarkModeToggle/__tests__/__snapshots__/index.test.tsx.snap b/components/Common/DarkModeToggle/__tests__/__snapshots__/index.test.tsx.snap
index 72a0b72875a00..6f3759d5005b0 100644
--- a/components/Common/DarkModeToggle/__tests__/__snapshots__/index.test.tsx.snap
+++ b/components/Common/DarkModeToggle/__tests__/__snapshots__/index.test.tsx.snap
@@ -3,15 +3,11 @@
exports[`DarkModeToggle Component render dark mode toggle 1`] = `