diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 100644
index c6cc8c81..00000000
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml
deleted file mode 100644
index ec77f15a..00000000
--- a/.idea/jsLibraryMappings.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/local-microblogging-client.iml b/.idea/local-microblogging-client.iml
deleted file mode 100644
index 65cbb788..00000000
--- a/.idea/local-microblogging-client.iml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 186632dd..00000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index 8d4df277..00000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/runConfigurations/npm_i.xml b/.idea/runConfigurations/npm_i.xml
deleted file mode 100644
index de38b702..00000000
--- a/.idea/runConfigurations/npm_i.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/runConfigurations/npm_start.xml b/.idea/runConfigurations/npm_start.xml
deleted file mode 100644
index c5b0a74e..00000000
--- a/.idea/runConfigurations/npm_start.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/startup.xml b/.idea/startup.xml
deleted file mode 100644
index fa67cb4e..00000000
--- a/.idea/startup.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7f..00000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/watcherTasks.xml b/.idea/watcherTasks.xml
deleted file mode 100644
index fb0d65a4..00000000
--- a/.idea/watcherTasks.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/.storybook/main.ts b/.storybook/main.ts
index f7b47838..9f2c5bd6 100644
--- a/.storybook/main.ts
+++ b/.storybook/main.ts
@@ -9,6 +9,8 @@ const config: StorybookConfig = {
name: '@storybook/addon-styling',
options: {},
},
+ '@storybook/addon-mdx-gfm',
+ 'storybook-addon-react-router-v6',
],
framework: {
name: '@storybook/react-vite',
@@ -18,4 +20,4 @@ const config: StorybookConfig = {
autodocs: 'tag',
},
};
-export default config;
+export default config satisfies StorybookConfig;
diff --git a/.storybook/preview.ts b/.storybook/preview.ts
index ea4c0268..d800dd09 100644
--- a/.storybook/preview.ts
+++ b/.storybook/preview.ts
@@ -1,10 +1,23 @@
import type { Preview } from '@storybook/react';
import { withThemeByDataAttribute } from '@storybook/addon-styling';
+import { withRouter } from 'storybook-addon-react-router-v6';
/* TODO: update import to your tailwind styles file */
import '../src/index.css';
+const reactRouterParams = {
+ location: {
+ pathParams: { userId: '42' },
+ searchParams: { tab: 'activityLog' },
+ state: { fromPage: 'homePage' },
+ },
+ routing: {
+ path: '/users/:userId',
+ handle: 'Profile',
+ },
+};
+
const preview: Preview = {
parameters: {
actions: { argTypesRegex: '^on[A-Z].*' },
@@ -14,9 +27,10 @@ const preview: Preview = {
date: /Date$/,
},
},
+ reactRouter: reactRouterParams,
},
-
decorators: [
+ withRouter,
// Adds theme switching support.
// NOTE: requires setting "darkMode" to "class" in your tailwind config
withThemeByDataAttribute({
@@ -30,4 +44,4 @@ const preview: Preview = {
],
};
-export default preview;
+export default preview satisfies Preview;
diff --git a/package.json b/package.json
index 54daf220..965fe265 100644
--- a/package.json
+++ b/package.json
@@ -34,11 +34,12 @@
"@storybook/addon-essentials": "^7.5.2",
"@storybook/addon-interactions": "^7.5.2",
"@storybook/addon-links": "^7.5.2",
- "@storybook/addon-styling": "^1.3.0",
+ "@storybook/addon-mdx-gfm": "^7.5.2",
+ "@storybook/addon-styling": "^1.3.7",
"@storybook/blocks": "^7.5.2",
"@storybook/react": "^7.5.2",
"@storybook/react-vite": "^7.5.2",
- "@storybook/testing-library": "^0.2.0",
+ "@storybook/testing-library": "^0.2.2",
"@tailwindcss/typography": "^0.5.7",
"@types/react": "^18.0.15",
"@types/react-dom": "^18.0.6",
@@ -58,7 +59,7 @@
"eslint-plugin-jsx-a11y": "^6.7.1",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
- "eslint-plugin-storybook": "^0.6.12",
+ "eslint-plugin-storybook": "^0.6.15",
"lightningcss": "^1.22.0",
"msw": "^1.2.2",
"postcss": "^8.4.18",
@@ -66,6 +67,7 @@
"prettier": "3.0.3",
"standard-version": "^9.5.0",
"storybook": "^7.5.2",
+ "storybook-addon-react-router-v6": "~2.0.8",
"tailwindcss": "^3.3.2",
"typescript": "^5.1.3",
"vite": "^4.5.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 053582d5..8bd371b0 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -46,9 +46,12 @@ devDependencies:
'@storybook/addon-links':
specifier: ^7.5.2
version: 7.5.2(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/addon-mdx-gfm':
+ specifier: ^7.5.2
+ version: 7.5.2
'@storybook/addon-styling':
- specifier: ^1.3.0
- version: 1.3.0(less@4.2.0)(postcss@8.4.27)(react-dom@18.2.0)(react@18.2.0)(webpack@5.89.0)
+ specifier: ^1.3.7
+ version: 1.3.7(@types/react-dom@18.0.8)(@types/react@18.0.24)(less@4.2.0)(postcss@8.4.27)(react-dom@18.2.0)(react@18.2.0)(webpack@5.89.0)
'@storybook/blocks':
specifier: ^7.5.2
version: 7.5.2(@types/react-dom@18.0.8)(@types/react@18.0.24)(react-dom@18.2.0)(react@18.2.0)
@@ -59,8 +62,8 @@ devDependencies:
specifier: ^7.5.2
version: 7.5.2(react-dom@18.2.0)(react@18.2.0)(rollup@2.79.1)(typescript@5.1.3)(vite@4.5.0)
'@storybook/testing-library':
- specifier: ^0.2.0
- version: 0.2.0
+ specifier: ^0.2.2
+ version: 0.2.2
'@tailwindcss/typography':
specifier: ^0.5.7
version: 0.5.7(tailwindcss@3.3.2)
@@ -119,8 +122,8 @@ devDependencies:
specifier: ^4.6.0
version: 4.6.0(eslint@8.52.0)
eslint-plugin-storybook:
- specifier: ^0.6.12
- version: 0.6.12(eslint@8.52.0)(typescript@5.1.3)
+ specifier: ^0.6.15
+ version: 0.6.15(eslint@8.52.0)(typescript@5.1.3)
lightningcss:
specifier: ^1.22.0
version: 1.22.0
@@ -142,6 +145,9 @@ devDependencies:
storybook:
specifier: ^7.5.2
version: 7.5.2
+ storybook-addon-react-router-v6:
+ specifier: ~2.0.8
+ version: 2.0.8(@storybook/blocks@7.5.2)(@storybook/channels@7.5.2)(@storybook/components@7.5.2)(@storybook/core-events@7.5.2)(@storybook/manager-api@7.5.2)(@storybook/preview-api@7.5.2)(@storybook/theming@7.5.2)(react-dom@18.2.0)(react-router-dom@6.15.0)(react@18.2.0)
tailwindcss:
specifier: ^3.3.2
version: 3.3.2
@@ -204,13 +210,6 @@ packages:
chalk: 2.4.2
dev: true
- /@babel/code-frame@7.22.5:
- resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/highlight': 7.22.20
- dev: true
-
/@babel/compat-data@7.23.2:
resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==}
engines: {node: '>=6.9.0'}
@@ -239,16 +238,6 @@ packages:
- supports-color
dev: true
- /@babel/generator@7.22.9:
- resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.22.5
- '@jridgewell/gen-mapping': 0.3.3
- '@jridgewell/trace-mapping': 0.3.20
- jsesc: 2.5.2
- dev: true
-
/@babel/generator@7.23.0:
resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==}
engines: {node: '>=6.9.0'}
@@ -444,11 +433,6 @@ packages:
engines: {node: '>=6.9.0'}
dev: true
- /@babel/helper-validator-identifier@7.22.5:
- resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==}
- engines: {node: '>=6.9.0'}
- dev: true
-
/@babel/helper-validator-option@7.22.15:
resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==}
engines: {node: '>=6.9.0'}
@@ -483,14 +467,6 @@ packages:
js-tokens: 4.0.0
dev: true
- /@babel/parser@7.22.7:
- resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==}
- engines: {node: '>=6.0.0'}
- hasBin: true
- dependencies:
- '@babel/types': 7.22.5
- dev: true
-
/@babel/parser@7.23.0:
resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==}
engines: {node: '>=6.0.0'}
@@ -1511,15 +1487,6 @@ packages:
'@babel/types': 7.23.0
dev: true
- /@babel/template@7.22.5:
- resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.22.5
- '@babel/parser': 7.22.7
- '@babel/types': 7.22.5
- dev: true
-
/@babel/traverse@7.23.2:
resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==}
engines: {node: '>=6.9.0'}
@@ -1538,15 +1505,6 @@ packages:
- supports-color
dev: true
- /@babel/types@7.22.5:
- resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.22.5
- '@babel/helper-validator-identifier': 7.22.5
- to-fast-properties: 2.0.0
- dev: true
-
/@babel/types@7.23.0:
resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==}
engines: {node: '>=6.9.0'}
@@ -2677,7 +2635,6 @@ packages:
/@remix-run/router@1.8.0:
resolution: {integrity: sha512-mrfKqIHnSZRyIzBcanNJmVQELTnX+qagEDlcKO90RgRBVOZGSGvZKeDihTRfWcqoDn5N/NkUcwWTccnpN18Tfg==}
engines: {node: '>=14.0.0'}
- dev: false
/@rollup/plugin-babel@5.3.1(@babel/core@7.23.2)(rollup@2.79.1):
resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
@@ -2975,6 +2932,16 @@ packages:
ts-dedent: 2.2.0
dev: true
+ /@storybook/addon-mdx-gfm@7.5.2:
+ resolution: {integrity: sha512-Sq8+7rdpRsYKlDwvO68t3H+tW3u/vWEGPvzQ9ZBd6rVuKoNj0+hqgsrDfux/DZMEJSclKM21a49hJ+zS9MLT+Q==}
+ dependencies:
+ '@storybook/node-logger': 7.5.2
+ remark-gfm: 3.0.1
+ ts-dedent: 2.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@storybook/addon-measure@7.5.2(@types/react-dom@18.0.8)(@types/react@18.0.24)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-fkvORLaYVC/yNMFzHRHmzlvniY7sWtpFxaRW+e4++hGXYV4VQjOBlXzdMxQhAg1DCVWD6QV8xnUQPBGrsEklog==}
peerDependencies:
@@ -3027,48 +2994,59 @@ packages:
- '@types/react-dom'
dev: true
- /@storybook/addon-styling@1.3.0(less@4.2.0)(postcss@8.4.27)(react-dom@18.2.0)(react@18.2.0)(webpack@5.89.0):
- resolution: {integrity: sha512-+Ak9+SysMepRdXGlqDBlhR4cOSDCFEIfGuOW7nyA5eOgHi0IyTg9M+yfBgHVru7dEh+rq47XTVr44UhsWd4xgA==}
+ /@storybook/addon-styling@1.3.7(@types/react-dom@18.0.8)(@types/react@18.0.24)(less@4.2.0)(postcss@8.4.27)(react-dom@18.2.0)(react@18.2.0)(webpack@5.89.0):
+ resolution: {integrity: sha512-JSBZMOrSw/3rlq5YoEI7Qyq703KSNP0Jd+gxTWu3/tP6245mpjn2dXnR8FvqVxCi+FG4lt2kQyPzgsuwEw1SSA==}
+ hasBin: true
peerDependencies:
+ less: ^3.5.0 || ^4.0.0
+ postcss: ^7.0.0 || ^8.0.1
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ webpack: ^5.0.0
peerDependenciesMeta:
+ less:
+ optional: true
+ postcss:
+ optional: true
react:
optional: true
react-dom:
optional: true
+ webpack:
+ optional: true
dependencies:
- '@babel/template': 7.22.5
- '@babel/types': 7.22.5
+ '@babel/template': 7.22.15
+ '@babel/types': 7.23.0
'@storybook/api': 7.0.22(react-dom@18.2.0)(react@18.2.0)
- '@storybook/components': 7.1.0(react-dom@18.2.0)(react@18.2.0)
- '@storybook/core-common': 7.1.0
- '@storybook/core-events': 7.1.0
- '@storybook/csf-tools': 7.1.0
- '@storybook/manager-api': 7.1.0(react-dom@18.2.0)(react@18.2.0)
- '@storybook/node-logger': 7.1.0
- '@storybook/preview-api': 7.1.0
- '@storybook/theming': 7.1.0(react-dom@18.2.0)(react@18.2.0)
- '@storybook/types': 7.1.0
+ '@storybook/components': 7.5.2(@types/react-dom@18.0.8)(@types/react@18.0.24)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/core-common': 7.5.2
+ '@storybook/core-events': 7.5.2
+ '@storybook/manager-api': 7.5.2(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/node-logger': 7.5.2
+ '@storybook/preview-api': 7.5.2
+ '@storybook/theming': 7.5.2(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/types': 7.5.2
css-loader: 6.8.1(webpack@5.89.0)
+ less: 4.2.0
less-loader: 11.1.3(less@4.2.0)(webpack@5.89.0)
+ postcss: 8.4.27
postcss-loader: 7.3.3(postcss@8.4.27)(webpack@5.89.0)
+ prettier: 2.8.8
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- recast: 0.23.2
resolve-url-loader: 5.0.0
sass-loader: 13.3.2(webpack@5.89.0)
style-loader: 3.3.3(webpack@5.89.0)
+ webpack: 5.89.0(esbuild@0.18.20)
transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
- encoding
- fibers
- - less
- node-sass
- - postcss
- sass
- sass-embedded
- supports-color
- - webpack
dev: true
/@storybook/addon-toolbars@7.5.2(@types/react-dom@18.0.8)(@types/react@18.0.24)(react-dom@18.2.0)(react@18.2.0):
@@ -3238,28 +3216,10 @@ packages:
- supports-color
dev: true
- /@storybook/channel-postmessage@7.1.0:
- resolution: {integrity: sha512-xiuaPvqeV3ewvBgVf8ZMWL5UeAMiIZuSuUVuWg1Vet6uIP4ZXj463oHcV4Uc9IdaXZQK0+8r2ZrGrRNr/sLxgA==}
- dependencies:
- '@storybook/channels': 7.1.0
- '@storybook/client-logger': 7.1.0
- dev: true
-
/@storybook/channels@7.0.22:
resolution: {integrity: sha512-8mR30xBotnhc24GQpBp14bflvagkOnBXUhCTyiljULvkyo/bK0NE8IeSSto1FAIzPl6+s5/A0sePvLNRuj3gqw==}
dev: true
- /@storybook/channels@7.1.0:
- resolution: {integrity: sha512-8uzjWdVG2IK18P8n6H+olAs+jnZr+HeYs1t2xiRy4NVSLhBffB71ut5F+pcWZfdDe3gyX8Tfvy68NloTNt9POg==}
- dependencies:
- '@storybook/client-logger': 7.1.0
- '@storybook/core-events': 7.1.0
- '@storybook/global': 5.0.0
- qs: 6.11.2
- telejson: 7.2.0
- tiny-invariant: 1.3.1
- dev: true
-
/@storybook/channels@7.5.2:
resolution: {integrity: sha512-3SgqWq9NS0XX1QxK3riuaOLrReHWwVhI63u6q1ryDD3SttpmAezZETibOAtzDuk2FKgsyHTmAlmcGQf4ZxhOJA==}
dependencies:
@@ -3329,12 +3289,6 @@ packages:
'@storybook/global': 5.0.0
dev: true
- /@storybook/client-logger@7.1.0:
- resolution: {integrity: sha512-br5GNTxNFmDZA4ESaCMn2VJ9ZW3ejbILEGoadOJjP2ZD40luSRNtTtWjeNiA+7762OvHMYVGwG0tnqk98f5nfg==}
- dependencies:
- '@storybook/global': 5.0.0
- dev: true
-
/@storybook/client-logger@7.5.2:
resolution: {integrity: sha512-7YgLItlmiYDzWYexTaRNuHhtFarh9krsI+8l7Yjn9ryoHSTJUcTWx+yPJm1II+PQR8v/x5UgsxzultjgEurfRQ==}
dependencies:
@@ -3362,24 +3316,6 @@ packages:
- supports-color
dev: true
- /@storybook/components@7.1.0(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-o8Z5L7cxxNCUhbEA+vGwoVrZ0vWhuZJb/AUc+347RIlH1QZF4Cu6fmgA49pKBsrJWPbtOmlLCbN/9LshszH0Zw==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- dependencies:
- '@storybook/client-logger': 7.1.0
- '@storybook/csf': 0.1.1
- '@storybook/global': 5.0.0
- '@storybook/theming': 7.1.0(react-dom@18.2.0)(react@18.2.0)
- '@storybook/types': 7.1.0
- memoizerific: 1.11.3
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- use-resize-observer: 9.1.0(react-dom@18.2.0)(react@18.2.0)
- util-deprecate: 1.0.2
- dev: true
-
/@storybook/components@7.5.2(@types/react-dom@18.0.8)(@types/react@18.0.24)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-OP+o6AoxoQDbqjk/jdQ1arlc1T8601eCL+rS1dJY9EtAFq7Z0LEFtafhEW/Lx8FotfVGjfCNptH9ODhHU6e5Jw==}
peerDependencies:
@@ -3410,36 +3346,6 @@ packages:
'@storybook/preview-api': 7.5.2
dev: true
- /@storybook/core-common@7.1.0:
- resolution: {integrity: sha512-6jrL1RUA/Vgy+zXzeno12k6CKFIqRh3I5W7XgN2nNZJc98PRl2etDdhFL3LkBn8lWddDeKpnmlI4SWjb2HYtcA==}
- dependencies:
- '@storybook/node-logger': 7.1.0
- '@storybook/types': 7.1.0
- '@types/find-cache-dir': 3.2.1
- '@types/node': 16.18.59
- '@types/node-fetch': 2.6.7
- '@types/pretty-hrtime': 1.0.2
- chalk: 4.1.2
- esbuild: 0.18.20
- esbuild-register: 3.5.0(esbuild@0.18.20)
- file-system-cache: 2.3.0
- find-cache-dir: 3.3.2
- find-up: 5.0.0
- fs-extra: 11.1.1
- glob: 10.3.10
- handlebars: 4.7.8
- lazy-universal-dotenv: 4.0.0
- node-fetch: 2.7.0
- picomatch: 2.3.1
- pkg-dir: 5.0.0
- pretty-hrtime: 1.0.3
- resolve-from: 5.0.0
- ts-dedent: 2.2.0
- transitivePeerDependencies:
- - encoding
- - supports-color
- dev: true
-
/@storybook/core-common@7.5.2:
resolution: {integrity: sha512-js7fIH4wHS08dBuIVsr3JnwMtKn5O1Izc/Zor4t6PntLWkGGX4X/GxbOkasGX5SkCT1qUtB9RpdPd1sUkLhIgw==}
dependencies:
@@ -3475,10 +3381,6 @@ packages:
resolution: {integrity: sha512-T7xiJTlNKrNxRCvJj/5RRukhFFJZqfmfF3DNi+P6YsLBE569GZ6y1eO58IalVzts4lB+LGYLAxkaWssNcZJ6Kg==}
dev: true
- /@storybook/core-events@7.1.0:
- resolution: {integrity: sha512-b0kZ5ElPZj3NPqWhGsHHuLn0riA4wJXJ5mNBOe2scd8Cw52ELQr5rVHOMROhONOgpOaZBZ+QZd/MDvJDRyxTQw==}
- dev: true
-
/@storybook/core-events@7.5.2:
resolution: {integrity: sha512-DV8bFEFVKDEvaH87KYPXDE0YEV+Y9yjFv2xxmC9pF8l+MWCtVW72RBLhB+gU5NM1bkHrRDNb0lOJfVGKlhxOog==}
dependencies:
@@ -3545,22 +3447,6 @@ packages:
- supports-color
dev: true
- /@storybook/csf-tools@7.1.0:
- resolution: {integrity: sha512-KC2H3IU302juWxChevEbzvr7axBrf0SQI7DQg116KwxChmMvUrO1Z50pnT7i+s9rnYN461OYNj5A7gCoc6cOCQ==}
- dependencies:
- '@babel/generator': 7.22.9
- '@babel/parser': 7.22.7
- '@babel/traverse': 7.23.2
- '@babel/types': 7.22.5
- '@storybook/csf': 0.1.1
- '@storybook/types': 7.1.0
- fs-extra: 11.1.1
- recast: 0.23.2
- ts-dedent: 2.2.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
/@storybook/csf-tools@7.5.2:
resolution: {integrity: sha512-yXaEDREc2wvkjYkQqDMatJw23f0fEFhMIf/zBNF7YljeYw0j8jAg/7XI5WJJSN2KTxD/feD/yD+6eaLUXvrneQ==}
dependencies:
@@ -3646,31 +3532,6 @@ packages:
ts-dedent: 2.2.0
dev: true
- /@storybook/manager-api@7.1.0(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-a4UtzWcN/a12Kr4Z5B0KO05t3w3BtXapLRUERxiwB769ab/XJ6MmIyFY7mybKty3RZhmBWaO/oSfgrOwCeP/Gw==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- dependencies:
- '@storybook/channels': 7.1.0
- '@storybook/client-logger': 7.1.0
- '@storybook/core-events': 7.1.0
- '@storybook/csf': 0.1.1
- '@storybook/global': 5.0.0
- '@storybook/router': 7.1.0(react-dom@18.2.0)(react@18.2.0)
- '@storybook/theming': 7.1.0(react-dom@18.2.0)(react@18.2.0)
- '@storybook/types': 7.1.0
- dequal: 2.0.3
- lodash: 4.17.21
- memoizerific: 1.11.3
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- semver: 7.5.4
- store2: 2.14.2
- telejson: 7.2.0
- ts-dedent: 2.2.0
- dev: true
-
/@storybook/manager-api@7.5.2(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-WX8GjBkITRQzhQ08WEAVjdDW8QqqIQhWOpFzXUYCxCNzt1eSALI31QQ+M1/MYymw+TOkotC/SMcn/puIAm4rdA==}
peerDependencies:
@@ -3704,10 +3565,6 @@ packages:
resolution: {integrity: sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw==}
dev: true
- /@storybook/node-logger@7.1.0:
- resolution: {integrity: sha512-Mw5kfcqfW1YI4pqW4+Y/SgnjitEMoqVZdTBQxxA9lS6YOlkQqwmtIFu7or4W/ZCFaPX9dwgd171o870vsA2DlA==}
- dev: true
-
/@storybook/node-logger@7.5.2:
resolution: {integrity: sha512-VIBuwPJOylu8vJofk1VfmqxlhXgbBgV0pCTo/UzdQAbc3w5y+qNRemf8goWxYEY+L9p6oUXqm/i9+bNGyX7/Mw==}
dev: true
@@ -3716,26 +3573,6 @@ packages:
resolution: {integrity: sha512-fKgyV1fAgckDoxQkUGJl5uzjzGC5esC/nITiCjccZFrqxt9mgmz4VAUkMeseD5tfWQ5oFA0Xdgtrrcl39+chnw==}
dev: true
- /@storybook/preview-api@7.1.0:
- resolution: {integrity: sha512-uLVCUCQKhZDWCfl7dW8+zhbqz0X41K0/nbyFpMtS7PxAveTFFOirAq0Pqtmb7JaeAYGGxkQqCYJJDdE9ZbAlYA==}
- dependencies:
- '@storybook/channel-postmessage': 7.1.0
- '@storybook/channels': 7.1.0
- '@storybook/client-logger': 7.1.0
- '@storybook/core-events': 7.1.0
- '@storybook/csf': 0.1.1
- '@storybook/global': 5.0.0
- '@storybook/types': 7.1.0
- '@types/qs': 6.9.9
- dequal: 2.0.3
- lodash: 4.17.21
- memoizerific: 1.11.3
- qs: 6.11.2
- synchronous-promise: 2.0.17
- ts-dedent: 2.2.0
- util-deprecate: 1.0.2
- dev: true
-
/@storybook/preview-api@7.5.2:
resolution: {integrity: sha512-rpmHR/09UBSnorDBTcE7JgHUQjZLO146NCI+vbI7Pqfb4QX/8lhwkFr4cuHRAR16mv6DAJbDVoPETO0Z/CH9aw==}
dependencies:
@@ -3849,19 +3686,6 @@ packages:
react-dom: 18.2.0(react@18.2.0)
dev: true
- /@storybook/router@7.1.0(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-zZUFV84bIjhKADrV7ZzHPOBtxumeonUU1Nbq7X+k6AWsurpUAdlpQrM+H+37eWIeFONX8Rfc0EUTrx+WUAq1hA==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- dependencies:
- '@storybook/client-logger': 7.1.0
- memoizerific: 1.11.3
- qs: 6.11.2
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: true
-
/@storybook/router@7.5.2(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-jlh48TVUlqvGkU8MnkVp9SrCHomWGtQGx1WMK94NMyOPVPTLWzM6LjIybgmHz0MTe4lpzmbiIOfSlU3pPX054w==}
peerDependencies:
@@ -3891,8 +3715,8 @@ packages:
- supports-color
dev: true
- /@storybook/testing-library@0.2.0:
- resolution: {integrity: sha512-Ff6jNnrsosmDshgCf0Eb5Cz7IA34p/1Ps5N3Kp3598kfXpBSccSkQQvVFUXC3kIHw/isIXWPqntZuKqnWUz7Gw==}
+ /@storybook/testing-library@0.2.2:
+ resolution: {integrity: sha512-L8sXFJUHmrlyU2BsWWZGuAjv39Jl1uAqUHdxmN42JY15M4+XCMjGlArdCCjDe1wpTSW6USYISA9axjZojgtvnw==}
dependencies:
'@testing-library/dom': 9.3.1
'@testing-library/user-event': 14.4.3(@testing-library/dom@9.3.1)
@@ -3913,20 +3737,6 @@ packages:
react-dom: 18.2.0(react@18.2.0)
dev: true
- /@storybook/theming@7.1.0(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-bO56c7NFlK7sfjsCbV56VLU59HHvQTW/HVu8RxUuoY+0WutyGAq6uZCmtQnMMGORzxh0p/uU2dSBVYEfW8QoTQ==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- dependencies:
- '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
- '@storybook/client-logger': 7.1.0
- '@storybook/global': 5.0.0
- memoizerific: 1.11.3
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: true
-
/@storybook/theming@7.5.2(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-DZBTcYErSYvmTYsGz7lKtiIcBe8flBw5Ojp52r3O4GcRYG4AbuUwwVvehz+O1cWaS+UW3HavrcgapERH7ZHd1A==}
peerDependencies:
@@ -3950,15 +3760,6 @@ packages:
file-system-cache: 2.4.4
dev: true
- /@storybook/types@7.1.0:
- resolution: {integrity: sha512-ify1+BypgEFefkKCqBfh9fTWnkZcEqeDvLlOxbEV82C2ozg0yPlDP9VLe1eN5XM5Biigs6ZQ6WuQysl0VlCaEw==}
- dependencies:
- '@storybook/channels': 7.1.0
- '@types/babel__core': 7.20.3
- '@types/express': 4.17.20
- file-system-cache: 2.3.0
- dev: true
-
/@storybook/types@7.5.2:
resolution: {integrity: sha512-RDKHo6WUES+4nt7uZMfankjxdpYX2EI2GpJ2n2RPcnhzmb/ub1huNTjbzDEYMqY24SppljZeIN57m3Ar6L6f9A==}
dependencies:
@@ -4292,7 +4093,7 @@ packages:
resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==}
dependencies:
'@types/jsonfile': 6.1.3
- '@types/node': 20.8.9
+ '@types/node': 20.8.10
dev: true
/@types/glob@7.2.0:
@@ -4343,13 +4144,19 @@ packages:
/@types/jsonfile@6.1.3:
resolution: {integrity: sha512-/yqTk2SZ1wIezK0hiRZD7RuSf4B3whFxFamB1kGStv+8zlWScTMcHanzfc0XKWs5vA1TkHeckBlOyM8jxU8nHA==}
dependencies:
- '@types/node': 20.8.9
+ '@types/node': 20.8.10
dev: true
/@types/lodash@4.14.200:
resolution: {integrity: sha512-YI/M/4HRImtNf3pJgbF+W6FrXovqj+T+/HpENLTooK9PnkacBsDpeP3IpHab40CClUfhNmdM2WTNP2sa2dni5Q==}
dev: true
+ /@types/mdast@3.0.14:
+ resolution: {integrity: sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw==}
+ dependencies:
+ '@types/unist': 2.0.6
+ dev: true
+
/@types/mdx@2.0.9:
resolution: {integrity: sha512-OKMdj17y8Cs+k1r0XFyp59ChSOwf8ODGtMQ4mnpfz5eFDk1aO41yN3pSKGuvVzmWAkFp37seubY1tzOVpwfWwg==}
dev: true
@@ -4385,10 +4192,6 @@ packages:
form-data: 4.0.0
dev: true
- /@types/node@16.18.59:
- resolution: {integrity: sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ==}
- dev: true
-
/@types/node@18.11.9:
resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==}
dev: true
@@ -5259,15 +5062,6 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /assert@2.0.0:
- resolution: {integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==}
- dependencies:
- es6-object-assign: 1.1.0
- is-nan: 1.3.2
- object-is: 1.1.5
- util: 0.12.5
- dev: true
-
/assert@2.1.0:
resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==}
dependencies:
@@ -5411,6 +5205,10 @@ packages:
- supports-color
dev: true
+ /bail@2.0.2:
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
+ dev: true
+
/balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
@@ -5602,6 +5400,10 @@ packages:
/caniuse-lite@1.0.30001558:
resolution: {integrity: sha512-/Et7DwLqpjS47JPEcz6VnxU9PwcIdVi0ciLXRWBQdj1XFye68pSQYpV0QtPTfUKWuOaEig+/Vez2l74eDc1tPQ==}
+ /ccount@2.0.1:
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+ dev: true
+
/chai@4.3.8:
resolution: {integrity: sha512-vX4YvVVtxlfSZ2VecZgFUTU5qPCYsobVI2O9FmwEXBhDigYGQA6jRXCycIs1yJnnWbZ6/+a2zNIF5DfVCcJBFQ==}
engines: {node: '>=4'}
@@ -5640,6 +5442,10 @@ packages:
supports-color: 7.2.0
dev: true
+ /character-entities@2.0.2:
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+ dev: true
+
/chardet@0.7.0:
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
dev: true
@@ -5826,6 +5632,10 @@ packages:
dot-prop: 5.3.0
dev: true
+ /compare-versions@6.1.0:
+ resolution: {integrity: sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==}
+ dev: true
+
/compressible@2.0.18:
resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
engines: {node: '>= 0.6'}
@@ -6327,6 +6137,12 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /decode-named-character-reference@1.0.2:
+ resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
+ dependencies:
+ character-entities: 2.0.2
+ dev: true
+
/deep-eql@4.1.3:
resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
engines: {node: '>=6'}
@@ -6503,6 +6319,11 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dev: true
+ /diff@5.1.0:
+ resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==}
+ engines: {node: '>=0.3.1'}
+ dev: true
+
/dir-glob@3.0.1:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'}
@@ -6784,10 +6605,6 @@ packages:
is-symbol: 1.0.4
dev: true
- /es6-object-assign@1.1.0:
- resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==}
- dev: true
-
/esbuild-plugin-alias@0.2.1:
resolution: {integrity: sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==}
dev: true
@@ -6851,6 +6668,11 @@ packages:
engines: {node: '>=10'}
dev: true
+ /escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+ dev: true
+
/escodegen@2.1.0:
resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
engines: {node: '>=6.0'}
@@ -7064,8 +6886,8 @@ packages:
string.prototype.matchall: 4.0.8
dev: true
- /eslint-plugin-storybook@0.6.12(eslint@8.52.0)(typescript@5.1.3):
- resolution: {integrity: sha512-XbIvrq6hNVG6rpdBr+eBw63QhOMLpZneQVSooEDow8aQCWGCk/5vqtap1yxpVydNfSxi3S/3mBBRLQqKUqQRww==}
+ /eslint-plugin-storybook@0.6.15(eslint@8.52.0)(typescript@5.1.3):
+ resolution: {integrity: sha512-lAGqVAJGob47Griu29KXYowI4G7KwMoJDOkEip8ujikuDLxU+oWJ1l0WL6F2oDO4QiyUFXvtDkEkISMOPzo+7w==}
engines: {node: 12.x || 14.x || >= 16}
peerDependencies:
eslint: '>=6'
@@ -8119,6 +7941,11 @@ packages:
has-tostringtag: 1.0.0
dev: true
+ /is-buffer@2.0.5:
+ resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
+ engines: {node: '>=4'}
+ dev: true
+
/is-callable@1.2.7:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'}
@@ -8245,6 +8072,11 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /is-plain-obj@4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
+ dev: true
+
/is-plain-object@2.0.4:
resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
engines: {node: '>=0.10.0'}
@@ -8642,6 +8474,11 @@ packages:
engines: {node: '>=6'}
dev: true
+ /kleur@4.1.5:
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
+ engines: {node: '>=6'}
+ dev: true
+
/language-subtag-registry@0.3.22:
resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
dev: true
@@ -8913,6 +8750,10 @@ packages:
is-unicode-supported: 0.1.0
dev: true
+ /longest-streak@3.1.0:
+ resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+ dev: true
+
/loose-envify@1.4.0:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true
@@ -9010,6 +8851,10 @@ packages:
resolution: {integrity: sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==}
dev: true
+ /markdown-table@3.0.3:
+ resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
+ dev: true
+
/markdown-to-jsx@7.3.2(react@18.2.0):
resolution: {integrity: sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q==}
engines: {node: '>= 10'}
@@ -9025,10 +8870,120 @@ packages:
unist-util-visit: 2.0.3
dev: true
+ /mdast-util-find-and-replace@2.2.2:
+ resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==}
+ dependencies:
+ '@types/mdast': 3.0.14
+ escape-string-regexp: 5.0.0
+ unist-util-is: 5.2.1
+ unist-util-visit-parents: 5.1.3
+ dev: true
+
+ /mdast-util-from-markdown@1.3.1:
+ resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==}
+ dependencies:
+ '@types/mdast': 3.0.14
+ '@types/unist': 2.0.6
+ decode-named-character-reference: 1.0.2
+ mdast-util-to-string: 3.2.0
+ micromark: 3.2.0
+ micromark-util-decode-numeric-character-reference: 1.1.0
+ micromark-util-decode-string: 1.1.0
+ micromark-util-normalize-identifier: 1.1.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ unist-util-stringify-position: 3.0.3
+ uvu: 0.5.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /mdast-util-gfm-autolink-literal@1.0.3:
+ resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==}
+ dependencies:
+ '@types/mdast': 3.0.14
+ ccount: 2.0.1
+ mdast-util-find-and-replace: 2.2.2
+ micromark-util-character: 1.2.0
+ dev: true
+
+ /mdast-util-gfm-footnote@1.0.2:
+ resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==}
+ dependencies:
+ '@types/mdast': 3.0.14
+ mdast-util-to-markdown: 1.5.0
+ micromark-util-normalize-identifier: 1.1.0
+ dev: true
+
+ /mdast-util-gfm-strikethrough@1.0.3:
+ resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==}
+ dependencies:
+ '@types/mdast': 3.0.14
+ mdast-util-to-markdown: 1.5.0
+ dev: true
+
+ /mdast-util-gfm-table@1.0.7:
+ resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==}
+ dependencies:
+ '@types/mdast': 3.0.14
+ markdown-table: 3.0.3
+ mdast-util-from-markdown: 1.3.1
+ mdast-util-to-markdown: 1.5.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /mdast-util-gfm-task-list-item@1.0.2:
+ resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==}
+ dependencies:
+ '@types/mdast': 3.0.14
+ mdast-util-to-markdown: 1.5.0
+ dev: true
+
+ /mdast-util-gfm@2.0.2:
+ resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==}
+ dependencies:
+ mdast-util-from-markdown: 1.3.1
+ mdast-util-gfm-autolink-literal: 1.0.3
+ mdast-util-gfm-footnote: 1.0.2
+ mdast-util-gfm-strikethrough: 1.0.3
+ mdast-util-gfm-table: 1.0.7
+ mdast-util-gfm-task-list-item: 1.0.2
+ mdast-util-to-markdown: 1.5.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /mdast-util-phrasing@3.0.1:
+ resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==}
+ dependencies:
+ '@types/mdast': 3.0.14
+ unist-util-is: 5.2.1
+ dev: true
+
+ /mdast-util-to-markdown@1.5.0:
+ resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==}
+ dependencies:
+ '@types/mdast': 3.0.14
+ '@types/unist': 2.0.6
+ longest-streak: 3.1.0
+ mdast-util-phrasing: 3.0.1
+ mdast-util-to-string: 3.2.0
+ micromark-util-decode-string: 1.1.0
+ unist-util-visit: 4.1.2
+ zwitch: 2.0.4
+ dev: true
+
/mdast-util-to-string@1.1.0:
resolution: {integrity: sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==}
dev: true
+ /mdast-util-to-string@3.2.0:
+ resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==}
+ dependencies:
+ '@types/mdast': 3.0.14
+ dev: true
+
/mdn-data@2.0.28:
resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
dev: true
@@ -9082,6 +9037,253 @@ packages:
engines: {node: '>= 0.6'}
dev: true
+ /micromark-core-commonmark@1.1.0:
+ resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==}
+ dependencies:
+ decode-named-character-reference: 1.0.2
+ micromark-factory-destination: 1.1.0
+ micromark-factory-label: 1.1.0
+ micromark-factory-space: 1.1.0
+ micromark-factory-title: 1.1.0
+ micromark-factory-whitespace: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-chunked: 1.1.0
+ micromark-util-classify-character: 1.1.0
+ micromark-util-html-tag-name: 1.2.0
+ micromark-util-normalize-identifier: 1.1.0
+ micromark-util-resolve-all: 1.1.0
+ micromark-util-subtokenize: 1.1.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ dev: true
+
+ /micromark-extension-gfm-autolink-literal@1.0.5:
+ resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==}
+ dependencies:
+ micromark-util-character: 1.2.0
+ micromark-util-sanitize-uri: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-extension-gfm-footnote@1.1.2:
+ resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==}
+ dependencies:
+ micromark-core-commonmark: 1.1.0
+ micromark-factory-space: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-normalize-identifier: 1.1.0
+ micromark-util-sanitize-uri: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ dev: true
+
+ /micromark-extension-gfm-strikethrough@1.0.7:
+ resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==}
+ dependencies:
+ micromark-util-chunked: 1.1.0
+ micromark-util-classify-character: 1.1.0
+ micromark-util-resolve-all: 1.1.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ dev: true
+
+ /micromark-extension-gfm-table@1.0.7:
+ resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==}
+ dependencies:
+ micromark-factory-space: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ dev: true
+
+ /micromark-extension-gfm-tagfilter@1.0.2:
+ resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==}
+ dependencies:
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-extension-gfm-task-list-item@1.0.5:
+ resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==}
+ dependencies:
+ micromark-factory-space: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ dev: true
+
+ /micromark-extension-gfm@2.0.3:
+ resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==}
+ dependencies:
+ micromark-extension-gfm-autolink-literal: 1.0.5
+ micromark-extension-gfm-footnote: 1.1.2
+ micromark-extension-gfm-strikethrough: 1.0.7
+ micromark-extension-gfm-table: 1.0.7
+ micromark-extension-gfm-tagfilter: 1.0.2
+ micromark-extension-gfm-task-list-item: 1.0.5
+ micromark-util-combine-extensions: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-factory-destination@1.1.0:
+ resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==}
+ dependencies:
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-factory-label@1.1.0:
+ resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==}
+ dependencies:
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ dev: true
+
+ /micromark-factory-space@1.1.0:
+ resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==}
+ dependencies:
+ micromark-util-character: 1.2.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-factory-title@1.1.0:
+ resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==}
+ dependencies:
+ micromark-factory-space: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-factory-whitespace@1.1.0:
+ resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==}
+ dependencies:
+ micromark-factory-space: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-util-character@1.2.0:
+ resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==}
+ dependencies:
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-util-chunked@1.1.0:
+ resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==}
+ dependencies:
+ micromark-util-symbol: 1.1.0
+ dev: true
+
+ /micromark-util-classify-character@1.1.0:
+ resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==}
+ dependencies:
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-util-combine-extensions@1.1.0:
+ resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==}
+ dependencies:
+ micromark-util-chunked: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-util-decode-numeric-character-reference@1.1.0:
+ resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==}
+ dependencies:
+ micromark-util-symbol: 1.1.0
+ dev: true
+
+ /micromark-util-decode-string@1.1.0:
+ resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==}
+ dependencies:
+ decode-named-character-reference: 1.0.2
+ micromark-util-character: 1.2.0
+ micromark-util-decode-numeric-character-reference: 1.1.0
+ micromark-util-symbol: 1.1.0
+ dev: true
+
+ /micromark-util-encode@1.1.0:
+ resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==}
+ dev: true
+
+ /micromark-util-html-tag-name@1.2.0:
+ resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==}
+ dev: true
+
+ /micromark-util-normalize-identifier@1.1.0:
+ resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==}
+ dependencies:
+ micromark-util-symbol: 1.1.0
+ dev: true
+
+ /micromark-util-resolve-all@1.1.0:
+ resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==}
+ dependencies:
+ micromark-util-types: 1.1.0
+ dev: true
+
+ /micromark-util-sanitize-uri@1.2.0:
+ resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==}
+ dependencies:
+ micromark-util-character: 1.2.0
+ micromark-util-encode: 1.1.0
+ micromark-util-symbol: 1.1.0
+ dev: true
+
+ /micromark-util-subtokenize@1.1.0:
+ resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==}
+ dependencies:
+ micromark-util-chunked: 1.1.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ dev: true
+
+ /micromark-util-symbol@1.1.0:
+ resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==}
+ dev: true
+
+ /micromark-util-types@1.1.0:
+ resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==}
+ dev: true
+
+ /micromark@3.2.0:
+ resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==}
+ dependencies:
+ '@types/debug': 4.1.7
+ debug: 4.3.4
+ decode-named-character-reference: 1.0.2
+ micromark-core-commonmark: 1.1.0
+ micromark-factory-space: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-chunked: 1.1.0
+ micromark-util-combine-extensions: 1.1.0
+ micromark-util-decode-numeric-character-reference: 1.1.0
+ micromark-util-encode: 1.1.0
+ micromark-util-normalize-identifier: 1.1.0
+ micromark-util-resolve-all: 1.1.0
+ micromark-util-sanitize-uri: 1.2.0
+ micromark-util-subtokenize: 1.1.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/micromatch@4.0.5:
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
engines: {node: '>=8.6'}
@@ -10552,7 +10754,6 @@ packages:
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
react-router: 6.15.0(react@18.2.0)
- dev: false
/react-router@6.15.0(react@18.2.0):
resolution: {integrity: sha512-NIytlzvzLwJkCQj2HLefmeakxxWHWAP+02EGqWEZy+DgfHHKQMUoBBjUQLOtFInBMhWtb3hiUy6MfFgwLjXhqg==}
@@ -10562,7 +10763,6 @@ packages:
dependencies:
'@remix-run/router': 1.8.0
react: 18.2.0
- dev: false
/react-style-singleton@2.2.1(@types/react@18.0.24)(react@18.2.0):
resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==}
@@ -10665,17 +10865,6 @@ packages:
tslib: 2.6.2
dev: true
- /recast@0.23.2:
- resolution: {integrity: sha512-Qv6cPfVZyMOtPszK6PgW70pUgm7gPlFitAPf0Q69rlOA0zLw2XdDcNmPbVGYicFGT9O8I7TZ/0ryJD+6COvIPw==}
- engines: {node: '>= 4'}
- dependencies:
- assert: 2.0.0
- ast-types: 0.16.1
- esprima: 4.0.1
- source-map: 0.6.1
- tslib: 2.4.1
- dev: true
-
/recast@0.23.4:
resolution: {integrity: sha512-qtEDqIZGVcSZCHniWwZWbRy79Dc6Wp3kT/UmDA2RJKBPg7+7k51aQBZirHmUGn5uvHf2rg8DkjizrN26k61ATw==}
engines: {node: '>= 4'}
@@ -10770,6 +10959,17 @@ packages:
unist-util-visit: 2.0.3
dev: true
+ /remark-gfm@3.0.1:
+ resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==}
+ dependencies:
+ '@types/mdast': 3.0.14
+ mdast-util-gfm: 2.0.2
+ micromark-extension-gfm: 2.0.3
+ unified: 10.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/remark-slug@6.1.0:
resolution: {integrity: sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ==}
dependencies:
@@ -10918,6 +11118,13 @@ packages:
tslib: 2.6.2
dev: true
+ /sade@1.8.1:
+ resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
+ engines: {node: '>=6'}
+ dependencies:
+ mri: 1.2.0
+ dev: true
+
/safe-array-concat@1.0.1:
resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==}
engines: {node: '>=0.4'}
@@ -11258,6 +11465,39 @@ packages:
resolution: {integrity: sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==}
dev: true
+ /storybook-addon-react-router-v6@2.0.8(@storybook/blocks@7.5.2)(@storybook/channels@7.5.2)(@storybook/components@7.5.2)(@storybook/core-events@7.5.2)(@storybook/manager-api@7.5.2)(@storybook/preview-api@7.5.2)(@storybook/theming@7.5.2)(react-dom@18.2.0)(react-router-dom@6.15.0)(react@18.2.0):
+ resolution: {integrity: sha512-Pi97ccelVq6RiLxSg8/puVeiNQnpdl5WlEcpF2wn6IxKlOIpOBOv70W1VGemUpAmJur+7EM79Mf6vMXiRK2W0g==}
+ peerDependencies:
+ '@storybook/blocks': ^7.0.0
+ '@storybook/channels': ^7.0.0
+ '@storybook/components': ^7.0.0
+ '@storybook/core-events': ^7.0.0
+ '@storybook/manager-api': ^7.0.0
+ '@storybook/preview-api': ^7.0.0
+ '@storybook/theming': ^7.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-router-dom: ^6.4.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ dependencies:
+ '@storybook/blocks': 7.5.2(@types/react-dom@18.0.8)(@types/react@18.0.24)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/channels': 7.5.2
+ '@storybook/components': 7.5.2(@types/react-dom@18.0.8)(@types/react@18.0.24)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/core-events': 7.5.2
+ '@storybook/manager-api': 7.5.2(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/preview-api': 7.5.2
+ '@storybook/theming': 7.5.2(react-dom@18.2.0)(react@18.2.0)
+ compare-versions: 6.1.0
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-inspector: 6.0.2(react@18.2.0)
+ react-router-dom: 6.15.0(react-dom@18.2.0)(react@18.2.0)
+ dev: true
+
/storybook@7.5.2:
resolution: {integrity: sha512-wuB5VdmI6teU2z5iiBEZ2ziNeP6g6Da/dGM7+tWQVUl8bmfOmpEgzgEyS1/XqdOfm+HoZplspwM0XMHOLo/Now==}
hasBin: true
@@ -11766,6 +12006,10 @@ packages:
engines: {node: '>=8'}
dev: true
+ /trough@2.1.0:
+ resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
+ dev: true
+
/ts-api-utils@1.0.3(typescript@5.1.3):
resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
engines: {node: '>=16.13.0'}
@@ -11800,10 +12044,6 @@ packages:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
dev: true
- /tslib@2.4.1:
- resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
- dev: true
-
/tslib@2.6.2:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
dev: true
@@ -11975,6 +12215,18 @@ packages:
engines: {node: '>=4'}
dev: true
+ /unified@10.1.2:
+ resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==}
+ dependencies:
+ '@types/unist': 2.0.6
+ bail: 2.0.2
+ extend: 3.0.2
+ is-buffer: 2.0.5
+ is-plain-obj: 4.1.0
+ trough: 2.1.0
+ vfile: 5.3.7
+ dev: true
+
/unique-string@2.0.0:
resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
engines: {node: '>=8'}
@@ -11986,6 +12238,18 @@ packages:
resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==}
dev: true
+ /unist-util-is@5.2.1:
+ resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==}
+ dependencies:
+ '@types/unist': 2.0.6
+ dev: true
+
+ /unist-util-stringify-position@3.0.3:
+ resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==}
+ dependencies:
+ '@types/unist': 2.0.6
+ dev: true
+
/unist-util-visit-parents@3.1.1:
resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==}
dependencies:
@@ -11993,6 +12257,13 @@ packages:
unist-util-is: 4.1.0
dev: true
+ /unist-util-visit-parents@5.1.3:
+ resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==}
+ dependencies:
+ '@types/unist': 2.0.6
+ unist-util-is: 5.2.1
+ dev: true
+
/unist-util-visit@2.0.3:
resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==}
dependencies:
@@ -12001,6 +12272,14 @@ packages:
unist-util-visit-parents: 3.1.1
dev: true
+ /unist-util-visit@4.1.2:
+ resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==}
+ dependencies:
+ '@types/unist': 2.0.6
+ unist-util-is: 5.2.1
+ unist-util-visit-parents: 5.1.3
+ dev: true
+
/universalify@2.0.0:
resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
engines: {node: '>= 10.0.0'}
@@ -12110,6 +12389,17 @@ packages:
resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==}
hasBin: true
+ /uvu@0.5.6:
+ resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dependencies:
+ dequal: 2.0.3
+ diff: 5.1.0
+ kleur: 4.1.5
+ sade: 1.8.1
+ dev: true
+
/validate-npm-package-license@3.0.4:
resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
dependencies:
@@ -12122,6 +12412,22 @@ packages:
engines: {node: '>= 0.8'}
dev: true
+ /vfile-message@3.1.4:
+ resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==}
+ dependencies:
+ '@types/unist': 2.0.6
+ unist-util-stringify-position: 3.0.3
+ dev: true
+
+ /vfile@5.3.7:
+ resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==}
+ dependencies:
+ '@types/unist': 2.0.6
+ is-buffer: 2.0.5
+ unist-util-stringify-position: 3.0.3
+ vfile-message: 3.1.4
+ dev: true
+
/vite-node@0.34.2(@types/node@18.11.9)(less@4.2.0)(lightningcss@1.22.0):
resolution: {integrity: sha512-JtW249Zm3FB+F7pQfH56uWSdlltCo1IOkZW5oHBzeQo0iX4jtC7o1t9aILMGd9kVekXBP2lfJBEQt9rBh07ebA==}
engines: {node: '>=v14.18.0'}
@@ -12718,3 +13024,7 @@ packages:
resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
engines: {node: '>=12.20'}
dev: true
+
+ /zwitch@2.0.4:
+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
+ dev: true
diff --git a/src/components/PostPreview.stories.ts b/src/components/PostPreview.stories.ts
new file mode 100644
index 00000000..1652c732
--- /dev/null
+++ b/src/components/PostPreview.stories.ts
@@ -0,0 +1,28 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import PostPreview from './PostPreview';
+
+const meta = {
+ title: 'Components/PostPreview',
+ component: PostPreview,
+ // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
+ tags: ['autodocs'],
+ parameters: {
+ // More on how to position stories at: https://storybook.js.org/docs/react/configure/story-layout
+ layout: 'centered',
+ },
+} satisfies Meta;
+
+export default meta;
+type Story = StoryObj;
+
+export const Basic: Story = {
+ args: {
+ id: 4,
+ heading:
+ 'Microsoft Begins Accepting Bitcoin For Windows, Windows Phone And Xbox Purchases',
+ text: 'If you want further proof that Microsoft is going through a transformative phase, you may be interested to hear that the company has jumped on the bitcoin wagon.',
+ userId: '62987df7efab1b36ec6606af',
+ date: 'May 12, 2017',
+ htmlDatetime: '2017-05-11',
+ },
+};
diff --git a/src/components/PostPreview.tsx b/src/components/PostPreview.tsx
index 65df4cb4..b1cd9b4f 100644
--- a/src/components/PostPreview.tsx
+++ b/src/components/PostPreview.tsx
@@ -3,7 +3,6 @@ import { useState, useEffect } from 'react';
import { Link } from 'react-router-dom';
import { db } from '@services/db';
-import { timestampToLocaleString } from '@services/timestampToLocaleString';
interface IAuthor {
userId: string;
@@ -50,6 +49,21 @@ export interface IBlogPost {
userId: string;
}
+export interface BlogPostProps {
+ id: number;
+ img?: {
+ width: number;
+ height: number;
+ url: string;
+ };
+ heading: string;
+ text: string;
+ date?: string;
+ htmlDatetime?: string;
+ userId: string;
+ onDelete?: (arg0: string) => void;
+}
+
export interface IUser {
id: string;
username?: string;
@@ -60,15 +74,18 @@ export interface IUser {
createdAt: number;
}
-function BlogPost({ id, heading, text, createdAt, img, userId }: IBlogPost) {
+function BlogPost({
+ id,
+ heading,
+ text,
+ date,
+ htmlDatetime,
+ img,
+ userId,
+ onDelete,
+}: BlogPostProps) {
const [isLiked, setIsLiked] = useState(false);
- function handleDeleteStory() {
- db.posts.delete(id);
- }
-
- const { date, htmlDatetime } = timestampToLocaleString(createdAt);
-
return (
{img && (
@@ -160,7 +177,9 @@ function BlogPost({ id, heading, text, createdAt, img, userId }: IBlogPost) {
className="btn btn-ghost btn-circle"
title="Remove post"
type="button"
- onClick={handleDeleteStory}
+ onClick={() => {
+ onDelete(id);
+ }}
>