Learn Page and Content Pipeline Update #20

Merged
an.di merged 20 commits from adiallo/feature/LearnPage into main 2025-10-01 03:15:23 +00:00
19 changed files with 23951 additions and 15327 deletions
Showing only changes of commit f48fdff716 - Show all commits

No files matched your search

+4 -20
View File
@@ -1,28 +1,12 @@
[
{
"name": "minScore",
"expected": 0.8,
"actual": 0.74,
"values": [
0.72,
0.74,
0.67
],
"operator": ">=",
"passed": false,
"auditProperty": "performance",
"auditId": "categories",
"level": "warn",
"url": "http://127.0.0.1:3010/"
},
{
"name": "maxNumericValue",
"expected": 5000,
"actual": 6335.710300000001,
"actual": 6316.213500000003,
"values": [
6443.5928,
6335.710300000001,
6894.002000000002
6352.161499999999,
6316.213500000003,
6810.3611
],
"operator": "<=",
"passed": false,
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+33
View File
@@ -0,0 +1,33 @@
module.exports = {
// Test runner configuration
testMatch: ["**/*.stories.@(js|jsx|ts|tsx)"],
testTimeout: 30000,
retries: 2,
// Fix for the StorybookTestRunnerError initialization issue
setupFilesAfterEnv: [
"<rootDir>/node_modules/@storybook/test-runner/jest-setup.js",
],
// Ensure proper module resolution
moduleNameMapping: {
"^@/(.*)$": "<rootDir>/app/$1",
},
// Test environment configuration
testEnvironment: "jsdom",
// Transform configuration
transform: {
"^.+\\.(js|jsx|ts|tsx)$": [
"babel-jest",
{ presets: ["@babel/preset-env", "@babel/preset-react"] },
],
},
// Module file extensions
moduleFileExtensions: ["js", "jsx", "ts", "tsx", "json"],
// Ignore patterns
testPathIgnorePatterns: ["/node_modules/", "/.next/"],
// Coverage configuration
collectCoverageFrom: [
"app/**/*.{js,jsx,ts,tsx}",
"!app/**/*.d.ts",
"!app/**/*.stories.{js,jsx,ts,tsx}",
],
};
File diff suppressed because it is too large. Load diff
@@ -0,0 +1 @@
{"lighthouseVersion":"12.6.1","requestedUrl":"http://127.0.0.1:3010/","mainDocumentUrl":"http://127.0.0.1:3010/","finalDisplayedUrl":"http://127.0.0.1:3010/","finalUrl":"http://127.0.0.1:3010/","fetchTime":"2025-09-30T23:00:30.690Z","gatherMode":"navigation","runWarnings":[],"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/140.0.0.0 Safari/537.36","environment":{"networkUserAgent":"Mozilla/5.0 (Linux; Android 11; moto g power (2022)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Mobile Safari/537.36","hostUserAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/140.0.0.0 Safari/537.36","benchmarkIndex":2826.5,"credits":{"axe-core":"4.10.3"}},"audits":{"is-on-https":{"id":"is-on-https","title":"Uses HTTPS","description":"All sites should be protected with HTTPS, even ones that don't handle sensitive data. This includes avoiding [mixed content](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content), where some resources are loaded over HTTP despite the initial request being served over HTTPS. HTTPS prevents intruders from tampering with or passively listening in on the communications between your app and your users, and is a prerequisite for HTTP/2 and many new web platform APIs. [Learn more about HTTPS](https://developer.chrome.com/docs/lighthouse/pwa/is-on-https/).","score":1,"scoreDisplayMode":"binary","details":{"type":"table","headings":[],"items":[]}},"redirects-http":{"id":"redirects-http","title":"Redirects HTTP traffic to HTTPS","description":"Make sure that you redirect all HTTP traffic to HTTPS in order to enable secure web features for all your users. [Learn more](https://developer.chrome.com/docs/lighthouse/pwa/redirects-http/).","score":null,"scoreDisplayMode":"notApplicable"},"viewport":{"id":"viewport","title":"Has a `<meta name=\"viewport\">` tag with `width` or `initial-scale`","description":"A `<meta name=\"viewport\">` not only optimizes your app for mobile screen sizes, but also prevents [a 300 millisecond delay to user input](https://developer.chrome.com/blog/300ms-tap-delay-gone-away/). [Learn more about using the viewport meta tag](https://developer.chrome.com/docs/lighthouse/pwa/viewport/).","score":1,"scoreDisplayMode":"metricSavings","warnings":[],"metricSavings":{"INP":0},"details":{"type":"debugdata","viewportContent":"width=device-width, initial-scale=1"},"guidanceLevel":3},"first-contentful-paint":{"id":"first-contentful-paint","title":"First Contentful Paint","description":"First Contentful Paint marks the time at which the first text or image is painted. [Learn more about the First Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/first-contentful-paint/).","score":1,"scoreDisplayMode":"numeric","numericValue":908.404,"numericUnit":"millisecond","displayValue":"0.9 s","scoringOptions":{"p10":1800,"median":3000}},"largest-contentful-paint":{"id":"largest-contentful-paint","title":"Largest Contentful Paint","description":"Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)","score":0.32,"scoreDisplayMode":"numeric","numericValue":4735.505,"numericUnit":"millisecond","displayValue":"4.7 s","scoringOptions":{"p10":2500,"median":4000}},"first-meaningful-paint":{"id":"first-meaningful-paint","title":"First Meaningful Paint","description":"First Meaningful Paint measures when the primary content of a page is visible. [Learn more about the First Meaningful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/first-meaningful-paint/).","score":null,"scoreDisplayMode":"notApplicable"},"speed-index":{"id":"speed-index","title":"Speed Index","description":"Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).","score":1,"scoreDisplayMode":"numeric","numericValue":1674.42126424852,"numericUnit":"millisecond","displayValue":"1.7 s","scoringOptions":{"p10":3387,"median":5800}},"screenshot-thumbnails":{"id":"screenshot-thumbnails","title":"Screenshot Thumbnails","description":"This is what the load of your site looked like.","score":1,"scoreDisplayMode":"informative","details":{"type":"filmstrip","scale":3000,"items":[{"timing":375,"timestamp":782027558566,"data":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAHyAPoDASIAAhEBAxEB/8QAHQABAAICAwEBAAAAAAAAAAAAAAcIBQYCAwQJAf/EAFgQAAEDAwEDBAsMBwQFDAMAAAEAAgMEBREGEiExBwgTQRQiN1FWYXWUs9LTFRYXGDJSVXFygZGVM0JTkpOxtCMkoLine truncated
File diff suppressed because it is too large. Load diff
@@ -0,0 +1 @@
{"lighthouseVersion":"12.6.1","requestedUrl":"http://127.0.0.1:3010/","mainDocumentUrl":"http://127.0.0.1:3010/","finalDisplayedUrl":"http://127.0.0.1:3010/","finalUrl":"http://127.0.0.1:3010/","fetchTime":"2025-09-30T23:00:46.806Z","gatherMode":"navigation","runWarnings":[],"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/140.0.0.0 Safari/537.36","environment":{"networkUserAgent":"Mozilla/5.0 (Linux; Android 11; moto g power (2022)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Mobile Safari/537.36","hostUserAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/140.0.0.0 Safari/537.36","benchmarkIndex":2801,"credits":{"axe-core":"4.10.3"}},"audits":{"is-on-https":{"id":"is-on-https","title":"Uses HTTPS","description":"All sites should be protected with HTTPS, even ones that don't handle sensitive data. This includes avoiding [mixed content](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content), where some resources are loaded over HTTP despite the initial request being served over HTTPS. HTTPS prevents intruders from tampering with or passively listening in on the communications between your app and your users, and is a prerequisite for HTTP/2 and many new web platform APIs. [Learn more about HTTPS](https://developer.chrome.com/docs/lighthouse/pwa/is-on-https/).","score":1,"scoreDisplayMode":"binary","details":{"type":"table","headings":[],"items":[]}},"redirects-http":{"id":"redirects-http","title":"Redirects HTTP traffic to HTTPS","description":"Make sure that you redirect all HTTP traffic to HTTPS in order to enable secure web features for all your users. [Learn more](https://developer.chrome.com/docs/lighthouse/pwa/redirects-http/).","score":null,"scoreDisplayMode":"notApplicable"},"viewport":{"id":"viewport","title":"Has a `<meta name=\"viewport\">` tag with `width` or `initial-scale`","description":"A `<meta name=\"viewport\">` not only optimizes your app for mobile screen sizes, but also prevents [a 300 millisecond delay to user input](https://developer.chrome.com/blog/300ms-tap-delay-gone-away/). [Learn more about using the viewport meta tag](https://developer.chrome.com/docs/lighthouse/pwa/viewport/).","score":1,"scoreDisplayMode":"metricSavings","warnings":[],"metricSavings":{"INP":0},"details":{"type":"debugdata","viewportContent":"width=device-width, initial-scale=1"},"guidanceLevel":3},"first-contentful-paint":{"id":"first-contentful-paint","title":"First Contentful Paint","description":"First Contentful Paint marks the time at which the first text or image is painted. [Learn more about the First Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/first-contentful-paint/).","score":1,"scoreDisplayMode":"numeric","numericValue":905.47,"numericUnit":"millisecond","displayValue":"0.9 s","scoringOptions":{"p10":1800,"median":3000}},"largest-contentful-paint":{"id":"largest-contentful-paint","title":"Largest Contentful Paint","description":"Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)","score":0.2,"scoreDisplayMode":"numeric","numericValue":5408.9400000000005,"numericUnit":"millisecond","displayValue":"5.4 s","scoringOptions":{"p10":2500,"median":4000}},"first-meaningful-paint":{"id":"first-meaningful-paint","title":"First Meaningful Paint","description":"First Meaningful Paint measures when the primary content of a page is visible. [Learn more about the First Meaningful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/first-meaningful-paint/).","score":null,"scoreDisplayMode":"notApplicable"},"speed-index":{"id":"speed-index","title":"Speed Index","description":"Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).","score":1,"scoreDisplayMode":"numeric","numericValue":1559.8207905907984,"numericUnit":"millisecond","displayValue":"1.6 s","scoringOptions":{"p10":3387,"median":5800}},"screenshot-thumbnails":{"id":"screenshot-thumbnails","title":"Screenshot Thumbnails","description":"This is what the load of your site looked like.","score":1,"scoreDisplayMode":"informative","details":{"type":"filmstrip","scale":3000,"items":[{"timing":375,"timestamp":782043711976,"data":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAHyAPoDASIAAhEBAxEB/8QAHQABAAICAwEBAAAAAAAAAAAAAAcIBQYCAwQBCf/EAFgQAAEDAwEDBAsMBwQFDAMAAAEAAgMEBREGEiExBwgTQRQiN1FWYXWUs9LTFRYXGDJSVXFygZGVM0JTkLine truncated
File diff suppressed because it is too large. Load diff
@@ -0,0 +1 @@
{"lighthouseVersion":"12.6.1","requestedUrl":"http://127.0.0.1:3010/","mainDocumentUrl":"http://127.0.0.1:3010/","finalDisplayedUrl":"http://127.0.0.1:3010/","finalUrl":"http://127.0.0.1:3010/","fetchTime":"2025-09-30T23:01:01.718Z","gatherMode":"navigation","runWarnings":[],"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/140.0.0.0 Safari/537.36","environment":{"networkUserAgent":"Mozilla/5.0 (Linux; Android 11; moto g power (2022)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Mobile Safari/537.36","hostUserAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/140.0.0.0 Safari/537.36","benchmarkIndex":2809,"credits":{"axe-core":"4.10.3"}},"audits":{"is-on-https":{"id":"is-on-https","title":"Uses HTTPS","description":"All sites should be protected with HTTPS, even ones that don't handle sensitive data. This includes avoiding [mixed content](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content), where some resources are loaded over HTTP despite the initial request being served over HTTPS. HTTPS prevents intruders from tampering with or passively listening in on the communications between your app and your users, and is a prerequisite for HTTP/2 and many new web platform APIs. [Learn more about HTTPS](https://developer.chrome.com/docs/lighthouse/pwa/is-on-https/).","score":1,"scoreDisplayMode":"binary","details":{"type":"table","headings":[],"items":[]}},"redirects-http":{"id":"redirects-http","title":"Redirects HTTP traffic to HTTPS","description":"Make sure that you redirect all HTTP traffic to HTTPS in order to enable secure web features for all your users. [Learn more](https://developer.chrome.com/docs/lighthouse/pwa/redirects-http/).","score":null,"scoreDisplayMode":"notApplicable"},"viewport":{"id":"viewport","title":"Has a `<meta name=\"viewport\">` tag with `width` or `initial-scale`","description":"A `<meta name=\"viewport\">` not only optimizes your app for mobile screen sizes, but also prevents [a 300 millisecond delay to user input](https://developer.chrome.com/blog/300ms-tap-delay-gone-away/). [Learn more about using the viewport meta tag](https://developer.chrome.com/docs/lighthouse/pwa/viewport/).","score":1,"scoreDisplayMode":"metricSavings","warnings":[],"metricSavings":{"INP":0},"details":{"type":"debugdata","viewportContent":"width=device-width, initial-scale=1"},"guidanceLevel":3},"first-contentful-paint":{"id":"first-contentful-paint","title":"First Contentful Paint","description":"First Contentful Paint marks the time at which the first text or image is painted. [Learn more about the First Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/first-contentful-paint/).","score":1,"scoreDisplayMode":"numeric","numericValue":905.5419999999999,"numericUnit":"millisecond","displayValue":"0.9 s","scoringOptions":{"p10":1800,"median":3000}},"largest-contentful-paint":{"id":"largest-contentful-paint","title":"Largest Contentful Paint","description":"Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)","score":0.16,"scoreDisplayMode":"numeric","numericValue":5710.8550000000005,"numericUnit":"millisecond","displayValue":"5.7 s","scoringOptions":{"p10":2500,"median":4000}},"first-meaningful-paint":{"id":"first-meaningful-paint","title":"First Meaningful Paint","description":"First Meaningful Paint measures when the primary content of a page is visible. [Learn more about the First Meaningful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/first-meaningful-paint/).","score":null,"scoreDisplayMode":"notApplicable"},"speed-index":{"id":"speed-index","title":"Speed Index","description":"Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).","score":1,"scoreDisplayMode":"numeric","numericValue":1684.4546330450494,"numericUnit":"millisecond","displayValue":"1.7 s","scoringOptions":{"p10":3387,"median":5800}},"screenshot-thumbnails":{"id":"screenshot-thumbnails","title":"Screenshot Thumbnails","description":"This is what the load of your site looked like.","score":1,"scoreDisplayMode":"informative","details":{"type":"filmstrip","scale":3000,"items":[{"timing":375,"timestamp":782058571249,"data":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAHyAPoDASIAAhEBAxEB/8QAHQABAAICAwEBAAAAAAAAAAAAAAcIBQYCAwQBCf/EAFgQAAEDAwEDBAsMBwQFDAMAAAEAAgMEBREGEiExBwgTQRQiN1FWYXWUs9LTFRYXGDJSVLine truncated
+9 -9
View File
@@ -2,10 +2,10 @@
{
"url": "http://127.0.0.1:3010/",
"isRepresentativeRun": false,
"htmlPath": "/Users/Vinod/Documents/GitHub/community-rule/lhci-results/127_0_0_1--2025_09_30_21_09_10.report.html",
"jsonPath": "/Users/Vinod/Documents/GitHub/community-rule/lhci-results/127_0_0_1--2025_09_30_21_09_10.report.json",
"htmlPath": "/Users/Vinod/Documents/GitHub/community-rule/lhci-results/127_0_0_1--2025_09_30_23_00_46.report.html",
"jsonPath": "/Users/Vinod/Documents/GitHub/community-rule/lhci-results/127_0_0_1--2025_09_30_23_00_46.report.json",
"summary": {
"performance": 0.74,
"performance": 0.8,
"accessibility": 0.87,
"best-practices": 1,
"seo": 1
@@ -14,10 +14,10 @@
{
"url": "http://127.0.0.1:3010/",
"isRepresentativeRun": false,
"htmlPath": "/Users/Vinod/Documents/GitHub/community-rule/lhci-results/127_0_0_1--2025_09_30_21_09_25.report.html",
"jsonPath": "/Users/Vinod/Documents/GitHub/community-rule/lhci-results/127_0_0_1--2025_09_30_21_09_25.report.json",
"htmlPath": "/Users/Vinod/Documents/GitHub/community-rule/lhci-results/127_0_0_1--2025_09_30_23_01_01.report.html",
"jsonPath": "/Users/Vinod/Documents/GitHub/community-rule/lhci-results/127_0_0_1--2025_09_30_23_01_01.report.json",
"summary": {
"performance": 0.67,
"performance": 0.79,
"accessibility": 0.87,
"best-practices": 1,
"seo": 1
@@ -26,10 +26,10 @@
{
"url": "http://127.0.0.1:3010/",
"isRepresentativeRun": true,
"htmlPath": "/Users/Vinod/Documents/GitHub/community-rule/lhci-results/127_0_0_1--2025_09_30_21_08_52.report.html",
"jsonPath": "/Users/Vinod/Documents/GitHub/community-rule/lhci-results/127_0_0_1--2025_09_30_21_08_52.report.json",
"htmlPath": "/Users/Vinod/Documents/GitHub/community-rule/lhci-results/127_0_0_1--2025_09_30_23_00_30.report.html",
"jsonPath": "/Users/Vinod/Documents/GitHub/community-rule/lhci-results/127_0_0_1--2025_09_30_23_00_30.report.json",
"summary": {
"performance": 0.72,
"performance": 0.74,
"accessibility": 0.87,
"best-practices": 1,
"seo": 1
+95 -95
View File
@@ -5449,9 +5449,9 @@
"license": "MIT"
},
"node_modules/@storybook/addon-a11y": {
"version": "9.1.8",
"resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-9.1.8.tgz",
"integrity": "sha512-7I+Ll29aBwgAbpkNpK+BBJ+BmMCS7+Qe8fPh1n4701Hx7FB+laAx8UP+3kbmqCOwCvLU5JU5KJKgUMMGVE/Jww==",
"version": "9.1.9",
"resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-9.1.9.tgz",
"integrity": "sha512-gkMbPqfnMkWjUBLCod/DKv3snIBBSv/BCQYDKIlf10AthZ3njO1tPvReNgPLGPzslI4EzkTo9NG6DKWY/VytDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5463,7 +5463,7 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
"storybook": "^9.1.8"
"storybook": "^9.1.9"
}
},
"node_modules/@storybook/addon-actions": {
@@ -5497,16 +5497,16 @@
}
},
"node_modules/@storybook/addon-docs": {
"version": "9.1.8",
"resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-9.1.8.tgz",
"integrity": "sha512-GVrNVEdNRRo6r1hawfgyy6x+HJqPx1oOHm0U0wz0SGAxgS/Xh6SQVZL+RDoh7NpXkNi1GbezVlT931UsHQTyvQ==",
"version": "9.1.9",
"resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-9.1.9.tgz",
"integrity": "sha512-76OHwsYCC6u8Nu5IUQ3E580BVnto6u4UgQC66inf+ot0+LI9fFPieg7fmcnQtYoFwiAyya3/JEwhY2GuFk7eMg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@mdx-js/react": "^3.0.0",
"@storybook/csf-plugin": "9.1.8",
"@storybook/csf-plugin": "9.1.9",
"@storybook/icons": "^1.4.0",
"@storybook/react-dom-shim": "9.1.8",
"@storybook/react-dom-shim": "9.1.9",
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
"ts-dedent": "^2.0.0"
@@ -5516,7 +5516,7 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
"storybook": "^9.1.8"
"storybook": "^9.1.9"
}
},
"node_modules/@storybook/addon-essentials": {
@@ -5595,9 +5595,9 @@
}
},
"node_modules/@storybook/addon-onboarding": {
"version": "9.1.8",
"resolved": "https://registry.npmjs.org/@storybook/addon-onboarding/-/addon-onboarding-9.1.8.tgz",
"integrity": "sha512-fydnYy2NZ2ZuoIncsN6PdeRUJthFyR8LZchFFrSqy/s9ahWjQ+XRrDevcm9Y6w4d6qTwsgRC3CDPRIJLj/9dgg==",
"version": "9.1.9",
"resolved": "https://registry.npmjs.org/@storybook/addon-onboarding/-/addon-onboarding-9.1.9.tgz",
"integrity": "sha512-JQwuhQ+X8TR77FAm8zSVfkZzuMdUcC/UKrxVZGGcD0VsHnNw2Mr0/ILojmG18MSum9c0Wcf3HtMWUr85h9qI5g==",
"dev": true,
"license": "MIT",
"funding": {
@@ -5605,7 +5605,7 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
"storybook": "^9.1.8"
"storybook": "^9.1.9"
}
},
"node_modules/@storybook/addon-outline": {
@@ -5649,9 +5649,9 @@
}
},
"node_modules/@storybook/addon-vitest": {
"version": "9.1.8",
"resolved": "https://registry.npmjs.org/@storybook/addon-vitest/-/addon-vitest-9.1.8.tgz",
"integrity": "sha512-F1AgGpIuDxrGXErMRTfF9zUXvGSUgQPbAXggs74p9vz0855nlRMEny1cYY9BtktVr4JGyq+Mz2774hCt9HR3KQ==",
"version": "9.1.9",
"resolved": "https://registry.npmjs.org/@storybook/addon-vitest/-/addon-vitest-9.1.9.tgz",
"integrity": "sha512-PSfADYvJAjJZzNs1JvWKL3M4ao2BsoMI3Z/SrOG0jnFP/oNzBrjILOT5Gt5FXxbvByJN7Gi+Idp9iiWfXED6xA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5667,7 +5667,7 @@
"peerDependencies": {
"@vitest/browser": "^3.0.0",
"@vitest/runner": "^3.0.0",
"storybook": "^9.1.8",
"storybook": "^9.1.9",
"vitest": "^3.0.0"
},
"peerDependenciesMeta": {
@@ -5683,13 +5683,13 @@
}
},
"node_modules/@storybook/builder-vite": {
"version": "9.1.8",
"resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-9.1.8.tgz",
"integrity": "sha512-JjvBag0nM1N51O3VF5++op9Ly5OC8Q+y4PrWLgi2dKhMxJFs8fD9D4PeI/v41PUiQcI0suQxN9BoYoKn2QxUZw==",
"version": "9.1.9",
"resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-9.1.9.tgz",
"integrity": "sha512-tCQ2Bv07D0roTg6+c1dCrX6PmAwEpKkwX4eqq32vGYiQ0CTzWP1ivBUAzBvIIHD2FY/zLXzXSrDo/qtrQppCGw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@storybook/csf-plugin": "9.1.8",
"@storybook/csf-plugin": "9.1.9",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -5697,14 +5697,14 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
"storybook": "^9.1.8",
"storybook": "^9.1.9",
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
}
},
"node_modules/@storybook/csf-plugin": {
"version": "9.1.8",
"resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-9.1.8.tgz",
"integrity": "sha512-KnrXPz87bn+8ZGkzFEBc7TT5HkWpR1Xz7ojxPclSvkKxTfzazuaw0JlOQMzJoI1+wHXDAIw/4MIsO8HEiaWyfQ==",
"version": "9.1.9",
"resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-9.1.9.tgz",
"integrity": "sha512-8tMZaGqer9PkPl7xRD/d97pgzl6Aw5/rWH+q8fAA09bvjLllKOlytj3vTckGJ4DlkKKXGvxoECG/n35AbJOYIA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5715,7 +5715,7 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
"storybook": "^9.1.8"
"storybook": "^9.1.9"
}
},
"node_modules/@storybook/global": {
@@ -5740,15 +5740,15 @@
}
},
"node_modules/@storybook/nextjs-vite": {
"version": "9.1.8",
"resolved": "https://registry.npmjs.org/@storybook/nextjs-vite/-/nextjs-vite-9.1.8.tgz",
"integrity": "sha512-f4UrKGTYVgz1suTwUN0b9C/1u4sqDRsfyG0S/eryEyxdTb9VDa8WxUDAita2lyWENXy9XwmkBv8v3iula21VRA==",
"version": "9.1.9",
"resolved": "https://registry.npmjs.org/@storybook/nextjs-vite/-/nextjs-vite-9.1.9.tgz",
"integrity": "sha512-wnbwV30/a3mTVNdp01KFQ+/rr1Dr6bQec8aifJji2P1Dr4YrKoOl/A+dd4K4Oj1LZaYHXnML/QPjIPJ1ztsE5g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@storybook/builder-vite": "9.1.8",
"@storybook/react": "9.1.8",
"@storybook/react-vite": "9.1.8",
"@storybook/builder-vite": "9.1.9",
"@storybook/react": "9.1.9",
"@storybook/react-vite": "9.1.9",
"styled-jsx": "5.1.6",
"vite-plugin-storybook-nextjs": "^2.0.7"
},
@@ -5763,7 +5763,7 @@
"next": "^14.1.0 || ^15.0.0",
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
"storybook": "^9.1.8",
"storybook": "^9.1.9",
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
},
"peerDependenciesMeta": {
@@ -5773,14 +5773,14 @@
}
},
"node_modules/@storybook/react": {
"version": "9.1.8",
"resolved": "https://registry.npmjs.org/@storybook/react/-/react-9.1.8.tgz",
"integrity": "sha512-EULkwHroJ4IDYcjIBj9VpGhaZ9E5b8LI84hlfBkJ9rnK44a/GrK1yFRIusukO58qTJSh2Y7zfAFKNuiaWh3Sfw==",
"version": "9.1.9",
"resolved": "https://registry.npmjs.org/@storybook/react/-/react-9.1.9.tgz",
"integrity": "sha512-S06dZv8ebUmCrIP2GfIqD3g1F5LKBf0Lc1daSd2++2MI6i8zw8kZ8IAGg5bYrWb0nk56JHALCwXAzsGyRepEww==",
"dev": true,
"license": "MIT",
"dependencies": {
"@storybook/global": "^5.0.0",
"@storybook/react-dom-shim": "9.1.8"
"@storybook/react-dom-shim": "9.1.9"
},
"engines": {
"node": ">=20.0.0"
@@ -5792,7 +5792,7 @@
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
"storybook": "^9.1.8",
"storybook": "^9.1.9",
"typescript": ">= 4.9.x"
},
"peerDependenciesMeta": {
@@ -5802,9 +5802,9 @@
}
},
"node_modules/@storybook/react-dom-shim": {
"version": "9.1.8",
"resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-9.1.8.tgz",
"integrity": "sha512-OepccjVZh/KQugTH8/RL2CIyf1g5Lwc5ESC8x8BH3iuYc82WMQBwMJzRI5EofQdirau63NGrqkWCgQASoVreEA==",
"version": "9.1.9",
"resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-9.1.9.tgz",
"integrity": "sha512-RFaB+N63XXEEo8l5INlvWnqxDUH7UGZ++MOsFsVUqfn7lAzxfR9HcJTGN3WOyIDBoS0vD3+LfnplqFyQU/anuw==",
"dev": true,
"license": "MIT",
"funding": {
@@ -5814,20 +5814,20 @@
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
"storybook": "^9.1.8"
"storybook": "^9.1.9"
}
},
"node_modules/@storybook/react-vite": {
"version": "9.1.8",
"resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-9.1.8.tgz",
"integrity": "sha512-DIxp76vcelyFOUJupeQEIHXDrSPP6KDXj6Z+Z9thS1HH7JY+OdGtcMLy4fbiD77Zyc8TV9RRZ1D33z2Ot/v9Vw==",
"version": "9.1.9",
"resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-9.1.9.tgz",
"integrity": "sha512-k+wbLdM8963YkQmVSFEuigUfGZKEgUdA7tTazXGzkL65j0il93JbtFCso8spKePlgeQ2uD6RxbXUp+E3qLeRSw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@joshwooding/vite-plugin-react-docgen-typescript": "0.6.1",
"@rollup/pluginutils": "^5.0.2",
"@storybook/builder-vite": "9.1.8",
"@storybook/react": "9.1.8",
"@storybook/builder-vite": "9.1.9",
"@storybook/react": "9.1.9",
"find-up": "^7.0.0",
"magic-string": "^0.30.0",
"react-docgen": "^8.0.0",
@@ -5844,7 +5844,7 @@
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
"storybook": "^9.1.8",
"storybook": "^9.1.9",
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
}
},
@@ -6782,9 +6782,9 @@
}
},
"node_modules/@testing-library/jest-dom": {
"version": "6.8.0",
"resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.8.0.tgz",
"integrity": "sha512-WgXcWzVM6idy5JaftTVC8Vs83NKRmGJz4Hqs4oyOuO2J4r/y79vvKZsb+CaGyCSEbUPI6OsewfPd0G1A0/TUZQ==",
"version": "6.9.0",
"resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.0.tgz",
"integrity": "sha512-QHdxYMJ0YPGKYofMc6zYvo7LOViVhdc6nPg/OtM2cf9MQrwEcTxFCs7d/GJ5eSyPkHzOiBkc/KfLdFJBHzldtQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7067,13 +7067,13 @@
"license": "MIT"
},
"node_modules/@types/node": {
"version": "24.5.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.5.2.tgz",
"integrity": "sha512-FYxk1I7wPv3K2XBaoyH2cTnocQEu8AOZ60hPbsyukMPLv5/5qr7V1i8PLHdl6Zf87I+xZXFvPCXYjiTFq+YSDQ==",
"version": "24.6.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.6.0.tgz",
"integrity": "sha512-F1CBxgqwOMc4GKJ7eY22hWhBVQuMYTtqI8L0FcszYcpYX0fzfDGpez22Xau8Mgm7O9fI+zA/TYIdq3tGWfweBA==",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~7.12.0"
"undici-types": "~7.13.0"
}
},
"node_modules/@types/react": {
@@ -9135,9 +9135,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001745",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001745.tgz",
"integrity": "sha512-ywt6i8FzvdgrrrGbr1jZVObnVv6adj+0if2/omv9cmR2oiZs30zL4DIyaptKcbOrBdOIc74QTMoJvSE2QHh5UQ==",
"version": "1.0.30001746",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001746.tgz",
"integrity": "sha512-eA7Ys/DGw+pnkWWSE/id29f2IcPHVoE8wxtvE5JdvD2V28VTDPy1yEeo11Guz0sJ4ZeGRcm3uaTcAqK1LXaphA==",
"funding": [
{
"type": "opencollective",
@@ -11292,9 +11292,9 @@
}
},
"node_modules/eslint-plugin-storybook": {
"version": "9.1.8",
"resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-9.1.8.tgz",
"integrity": "sha512-mEn5EVc7DAEvuwKMqUrIYUFZQJiQD3i5egLi1UJERQm91mDOMr5RdC4hjUF3tNE+WxQYD7QzH2j1qf36ML7V3g==",
"version": "9.1.9",
"resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-9.1.9.tgz",
"integrity": "sha512-2ZxaIR3ZfsBP4vqrC6fsCKM8pCbgTLRcBUm69g1yiJBKAbIHU8nQSsD6gpEPO3YFdRayGqzxnvwwWcXwtm5f5Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11305,7 +11305,7 @@
},
"peerDependencies": {
"eslint": ">=8",
"storybook": "^9.1.8"
"storybook": "^9.1.9"
}
},
"node_modules/eslint-scope": {
@@ -12414,9 +12414,9 @@
}
},
"node_modules/generator-function": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.0.tgz",
"integrity": "sha512-xPypGGincdfyl/AiSGa7GjXLkvld9V7GjZlowup9SHIJnQnHLFiLODCd/DqKOp0PBagbHJ68r1KJI9Mut7m4sA==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz",
"integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==",
"dev": true,
"license": "MIT",
"engines": {
@@ -13632,15 +13632,15 @@
}
},
"node_modules/is-generator-function": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.1.tgz",
"integrity": "sha512-Gn8BWUdrTzf9XUJAvqIYP7QnSC3mKs8QjQdGdJ7HmBemzZo14wj/OVmmAwgxDX/7WhFEjboybL4VhXGIQYPlOA==",
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz",
"integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==",
"dev": true,
"license": "MIT",
"dependencies": {
"call-bound": "^1.0.3",
"call-bound": "^1.0.4",
"generator-function": "^2.0.0",
"get-proto": "^1.0.0",
"get-proto": "^1.0.1",
"has-tostringtag": "^1.0.2",
"safe-regex-test": "^1.1.0"
},
@@ -21005,9 +21005,9 @@
}
},
"node_modules/storybook": {
"version": "9.1.8",
"resolved": "https://registry.npmjs.org/storybook/-/storybook-9.1.8.tgz",
"integrity": "sha512-/iP+DvieJ6Mnixy4PFY/KXnhsg/IHIDlTbZqly3EDbveuhsCuIUELfGnj+QSRGf9C6v/f4sZf9sZ3r80ZnKuEA==",
"version": "9.1.9",
"resolved": "https://registry.npmjs.org/storybook/-/storybook-9.1.9.tgz",
"integrity": "sha512-KEazHA1iD2L8Fll+Kw9c/z0Pjv3Z+1GHYejmk+JlrIt+/mXDG2HVF7eelvk3tYCbuxqyuCL57pYhJUfkHwA6Fw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -22210,9 +22210,9 @@
}
},
"node_modules/typescript": {
"version": "5.9.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz",
"integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==",
"version": "5.9.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -22243,9 +22243,9 @@
}
},
"node_modules/undici-types": {
"version": "7.12.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.12.0.tgz",
"integrity": "sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==",
"version": "7.13.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.13.0.tgz",
"integrity": "sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ==",
"dev": true,
"license": "MIT"
},
@@ -22610,24 +22610,24 @@
}
},
"node_modules/vite": {
"version": "6.3.6",
"resolved": "https://registry.npmjs.org/vite/-/vite-6.3.6.tgz",
"integrity": "sha512-0msEVHJEScQbhkbVTb/4iHZdJ6SXp/AvxL2sjwYQFfBqleHtnCqv1J3sa9zbWz/6kW1m9Tfzn92vW+kZ1WV6QA==",
"version": "7.1.7",
"resolved": "https://registry.npmjs.org/vite/-/vite-7.1.7.tgz",
"integrity": "sha512-VbA8ScMvAISJNJVbRDTJdCwqQoAareR/wutevKanhR2/1EkoXVZVkkORaYm/tNVCjP/UDTKtcw3bAkwOUdedmA==",
"dev": true,
"license": "MIT",
"dependencies": {
"esbuild": "^0.25.0",
"fdir": "^6.4.4",
"picomatch": "^4.0.2",
"postcss": "^8.5.3",
"rollup": "^4.34.9",
"tinyglobby": "^0.2.13"
"fdir": "^6.5.0",
"picomatch": "^4.0.3",
"postcss": "^8.5.6",
"rollup": "^4.43.0",
"tinyglobby": "^0.2.15"
},
"bin": {
"vite": "bin/vite.js"
},
"engines": {
"node": "^18.0.0 || ^20.0.0 || >=22.0.0"
"node": "^20.19.0 || >=22.12.0"
},
"funding": {
"url": "https://github.com/vitejs/vite?sponsor=1"
@@ -22636,14 +22636,14 @@
"fsevents": "~2.3.3"
},
"peerDependencies": {
"@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
"@types/node": "^20.19.0 || >=22.12.0",
"jiti": ">=1.21.0",
"less": "*",
"less": "^4.0.0",
"lightningcss": "^1.21.0",
"sass": "*",
"sass-embedded": "*",
"stylus": "*",
"sugarss": "*",
"sass": "^1.70.0",
"sass-embedded": "^1.70.0",
"stylus": ">=0.54.8",
"sugarss": "^5.0.0",
"terser": "^5.16.0",
"tsx": "^4.8.1",
"yaml": "^2.4.2"