diff --git a/README.md b/README.md
index 127b524c..ae465747 100644
--- a/README.md
+++ b/README.md
@@ -196,34 +196,36 @@ All components have optional props to further configure the log.
### GitLog
-| Property | Type | Description |
-|-------------------------------|-----------------------------|----------------------------------------------------------------------------------------------------------|
-| `theme` | `ThemeMode` | The variant of the default color theme to apply to the log. |
-| `colours` | `ThemeColours \| string[]` | Array of colors used for graph elements. One per column, looping if insufficient colors are provided. |
-| `showHeaders` | `boolean` | Whether to show element names like "Graph" or "Commit message" at the top of the component. |
-| `rowSpacing` | `number` | The spacing between log rows, affecting branches, graph, and table. Default: `0`. |
-| `githubRepositoryUrl` | `string` | URL of the GitHub repository where `entries` came from. Enables links for commits, tags, and PRs. |
-| `defaultGraphWidth` | `number` | Default width of the graph in pixels. Can be changed dynamically if resizing is enabled. Default: `300`. |
-| `onSelectCommit` | `(commit?: Commit) => void` | Callback function when a commit is selected. `commit` is `undefined` if unselected. |
-| `classes` | `GitLogStylingProps` | CSS classes for various elements to enable custom styling. |
-| `paging` | `GitLogPaging` | Optional paging settings for displaying a subset of log entries. |
+| Property | Type | Description |
+|-----------------------|-----------------------------|----------------------------------------------------------------------------------------------------------|
+| `theme` | `ThemeMode` | The variant of the default color theme to apply to the log. |
+| `colours` | `ThemeColours \| string[]` | Array of colors used for graph elements. One per column, looping if insufficient colors are provided. |
+| `showHeaders` | `boolean` | Whether to show element names like "Graph" or "Commit message" at the top of the component. |
+| `rowSpacing` | `number` | The spacing between log rows, affecting branches, graph, and table. Default: `0`. |
+| `githubRepositoryUrl` | `string` | URL of the GitHub repository where `entries` came from. Enables links for commits, tags, and PRs. |
+| `defaultGraphWidth` | `number` | Default width of the graph in pixels. Can be changed dynamically if resizing is enabled. Default: `300`. |
+| `onSelectCommit` | `(commit?: Commit) => void` | Callback function when a commit is selected. `commit` is `undefined` if unselected. |
+| `classes` | `GitLogStylingProps` | CSS classes for various elements to enable custom styling. |
+| `paging` | `GitLogPaging` | Optional paging settings for displaying a subset of log entries. |
+| `indexStatus` | `GitLogIndexStatus` | Renders information about added, deleted and modified files to the index pseudo-commit entry. |
### GitLogPaged
-| Property | Type | Description |
-|-------------------------------|-----------------------------|----------------------------------------------------------------------------------------------------------|
-| `theme` | `ThemeMode` | The variant of the default color theme to apply to the log. |
-| `colours` | `ThemeColours \| string[]` | Array of colors used for graph elements. One per column, looping if insufficient colors are provided. |
-| `showHeaders` | `boolean` | Whether to show element names like "Graph" or "Commit message" at the top of the component. |
-| `rowSpacing` | `number` | The spacing between log rows, affecting branches, graph, and table. Default: `0`. |
-| `githubRepositoryUrl` | `string` | URL of the GitHub repository where `entries` came from. Enables links for commits, tags, and PRs. |
-| `defaultGraphWidth` | `number` | Default width of the graph in pixels. Can be changed dynamically if resizing is enabled. Default: `300`. |
-| `onSelectCommit` | `(commit?: Commit) => void` | Callback function when a commit is selected. `commit` is `undefined` if unselected. |
-| `classes` | `GitLogStylingProps` | CSS classes for various elements to enable custom styling. |
+| Property | Type | Description |
+|-----------------------|-----------------------------|----------------------------------------------------------------------------------------------------------|
+| `theme` | `ThemeMode` | The variant of the default color theme to apply to the log. |
+| `colours` | `ThemeColours \| string[]` | Array of colors used for graph elements. One per column, looping if insufficient colors are provided. |
+| `showHeaders` | `boolean` | Whether to show element names like "Graph" or "Commit message" at the top of the component. |
+| `rowSpacing` | `number` | The spacing between log rows, affecting branches, graph, and table. Default: `0`. |
+| `githubRepositoryUrl` | `string` | URL of the GitHub repository where `entries` came from. Enables links for commits, tags, and PRs. |
+| `defaultGraphWidth` | `number` | Default width of the graph in pixels. Can be changed dynamically if resizing is enabled. Default: `300`. |
+| `onSelectCommit` | `(commit?: Commit) => void` | Callback function when a commit is selected. `commit` is `undefined` if unselected. |
+| `classes` | `GitLogStylingProps` | CSS classes for various elements to enable custom styling. |
+| `indexStatus` | `GitLogIndexStatus` | Renders information about added, deleted and modified files to the index pseudo-commit entry. |
-#### **GitLogStylingProps**
+#### GitLogStylingProps
| Property | Type | Description |
|-------------------|-----------------|--------------------------------------------------------------------------------|
| `containerClass` | `string` | Class name for the wrapping `
` containing branches, graph, and log table. |
@@ -236,6 +238,14 @@ All components have optional props to further configure the log.
| `size` | `number` | The number of rows to show per page. |
| `page` | `number` | The page number to display (first page is `0`). |
+#### GitLogIndexStatus
+
+| Prop | Type | Description |
+|------------|----------|---------------------------------------------------------------------------|
+| `added` | `number` | The number of added files in the git index for the checked-out branch. |
+| `deleted` | `number` | The number of deleted files in the git index for the checked-out branch. |
+| `modified` | `number` | The number of modified files in the git index for the checked-out branch. |
+
### Graph
| Property | Type | Description |
@@ -309,16 +319,14 @@ All components have optional props to further configure the log.
- Can Zustand help us here to reduce re-renders with GitContext Provider?
- Expose component override props for things like CommitNode, CommitMessage etc.
- Straight line prop to turn curves into right angles?
-- Node size parameter to make the graph even more compact as it will reduce the minimum column width
- Line curve radius prop?
- Fix React docgen in Storybook controls as its not showing the JSDoc from the interface props
- Extract ThemeContext
- Mobile responsiveness for the demo site
- Add graph render strategy with a second option to use 2d rendering context (html canvas)
-- Graph direction? Right now its renders left-right, but do want to invert it in the y-axis?
- Add eslint to pipeline
-- Update the WIP comment in the index pseudo commit to show files added/edited etc.
- Add in prop to show-hide the index pseudo commit
- Tags should be independent. Add a new optional field to the log entry / commit objects.
- Branch / Tags column is fixed. Dynamically floor it to match the max tag size currently being rendered?
-- Is the SS paginated log gonna accept data from multiple branches? Because then we need the HEAD commits of each branch
\ No newline at end of file
+- Is the SS paginated log gonna accept data from multiple branches? Because then we need the HEAD commits of each branch
+- Make repository URL a function that generates the URL
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 71586d6a..c970f7d3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,7 +16,7 @@
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-react-hooks": "^5.1.0",
"eslint-plugin-react-refresh": "^0.4.19",
- "eslint-plugin-storybook": "^0.12.0",
+ "eslint-plugin-storybook": "^0.11.4",
"typescript-eslint": "^8.24.1"
}
},
@@ -541,8 +541,6 @@
"integrity": "sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==",
"dev": true,
"license": "ISC",
- "optional": true,
- "peer": true,
"dependencies": {
"cookie": "^0.7.2"
}
@@ -553,8 +551,6 @@
"integrity": "sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==",
"dev": true,
"license": "ISC",
- "optional": true,
- "peer": true,
"dependencies": {
"statuses": "^2.0.1"
}
@@ -565,8 +561,6 @@
"integrity": "sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==",
"dev": true,
"license": "ISC",
- "optional": true,
- "peer": true,
"dependencies": {
"@types/tough-cookie": "^4.0.5",
"tough-cookie": "^4.1.4"
@@ -578,8 +572,6 @@
"integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
"dev": true,
"license": "BSD-3-Clause",
- "optional": true,
- "peer": true,
"dependencies": {
"psl": "^1.1.33",
"punycode": "^2.1.1",
@@ -596,8 +588,6 @@
"integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"engines": {
"node": ">= 4.0.0"
}
@@ -1434,8 +1424,6 @@
"integrity": "sha512-dNLWCYZvXDjO3rnQfk2iuJNL4Ivwz/T2+C3+WnNfJKsNGSuOs3wAo2F6e0p946gtSAk31nZMfW+MRmYaplPKsg==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"@inquirer/core": "^10.1.9",
"@inquirer/type": "^3.0.5"
@@ -1458,8 +1446,6 @@
"integrity": "sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"@inquirer/figures": "^1.0.11",
"@inquirer/type": "^3.0.5",
@@ -1487,9 +1473,7 @@
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/@inquirer/core/node_modules/string-width": {
"version": "4.2.3",
@@ -1497,8 +1481,6 @@
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -1514,8 +1496,6 @@
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -1529,8 +1509,6 @@
"integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -1546,8 +1524,6 @@
"integrity": "sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -1558,8 +1534,6 @@
"integrity": "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"engines": {
"node": ">=18"
},
@@ -1852,8 +1826,6 @@
"integrity": "sha512-wK+5pLK5XFmgtH3aQ2YVvA3HohS3xqV/OxuVOdNx9Wpnz7VE/fnC+e1A7ln6LFYeck7gOJ/dsZV6OLplOtAJ2w==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"@open-draft/deferred-promise": "^2.2.0",
"@open-draft/logger": "^0.3.0",
@@ -1909,9 +1881,7 @@
"resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz",
"integrity": "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/@open-draft/logger": {
"version": "0.3.0",
@@ -1919,8 +1889,6 @@
"integrity": "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"is-node-process": "^1.2.0",
"outvariant": "^1.4.0"
@@ -1931,9 +1899,7 @@
"resolved": "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz",
"integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/@parcel/watcher": {
"version": "2.5.1",
@@ -2743,9 +2709,9 @@
}
},
"node_modules/@storybook/addon-actions": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.6.12.tgz",
- "integrity": "sha512-B5kfiRvi35oJ0NIo53CGH66H471A3XTzrfaa6SxXEJsgxxSeKScG5YeXcCvLiZfvANRQ7QDsmzPUgg0o3hdMXw==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.6.8.tgz",
+ "integrity": "sha512-ZTlbWMTosU6kyBeJmZUA3gsMl5iiztAJ2+hE/KhxBTdEpPl2xVWxmkv8iLFmmic6MW4WIvCzVg5Qth+rJlFMzw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2760,13 +2726,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.6.12"
+ "storybook": "^8.6.8"
}
},
"node_modules/@storybook/addon-backgrounds": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.6.12.tgz",
- "integrity": "sha512-lmIAma9BiiCTbJ8YfdZkXjpnAIrOUcgboLkt1f6XJ78vNEMnLNzD9gnh7Tssz1qrqvm34v9daDjIb+ggdiKp3Q==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.6.8.tgz",
+ "integrity": "sha512-ciXOb9u9Te5XXAnE65ByaTmWfDRvMerYTZZLen1ekzN0bZonL9G3/ptkz6vzuWFv1tjytq6cbea1QZlBVBGd0A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2779,13 +2745,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.6.12"
+ "storybook": "^8.6.8"
}
},
"node_modules/@storybook/addon-controls": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.6.12.tgz",
- "integrity": "sha512-9VSRPJWQVb9wLp21uvpxDGNctYptyUX0gbvxIWOHMH3R2DslSoq41lsC/oQ4l4zSHVdL+nq8sCTkhBxIsjKqdQ==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.6.8.tgz",
+ "integrity": "sha512-rgV0EdxmqL7HWm8W8ractgcB7WjLktWPgruDJTcHMvdVbpPDP7y3+xNivZs1IqTFV4uA6GS2pPuhzBjwppwtKQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2798,20 +2764,20 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.6.12"
+ "storybook": "^8.6.8"
}
},
"node_modules/@storybook/addon-docs": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.6.12.tgz",
- "integrity": "sha512-kEezQjAf/p3SpDzLABgg4fbT48B6dkT2LiZCKTRmCrJVtuReaAr4R9MMM6Jsph6XjbIj/SvOWf3CMeOPXOs9sg==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.6.8.tgz",
+ "integrity": "sha512-grtXbIzkgypOuHqeVUIhInBNogDDjTSQ9G2EHnH6EYv7lLII6cX3crZp5Ugxax3M0UX1KnQxcKb7LfUpl0Ev/g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@mdx-js/react": "^3.0.0",
- "@storybook/blocks": "8.6.12",
- "@storybook/csf-plugin": "8.6.12",
- "@storybook/react-dom-shim": "8.6.12",
+ "@storybook/blocks": "8.6.8",
+ "@storybook/csf-plugin": "8.6.8",
+ "@storybook/react-dom-shim": "8.6.8",
"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"
@@ -2821,25 +2787,25 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.6.12"
+ "storybook": "^8.6.8"
}
},
"node_modules/@storybook/addon-essentials": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.6.12.tgz",
- "integrity": "sha512-Y/7e8KFlttaNfv7q2zoHMPdX6hPXHdsuQMAjYl5NG9HOAJREu4XBy4KZpbcozRe4ApZ78rYsN/MO1EuA+bNMIA==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.6.8.tgz",
+ "integrity": "sha512-+lv8gSvwMTjjJRjHKIEdifVciB2/9nZ9x6HBwQRhuwVaalIzEV7od6MGJGI6g7uDiTW/hARSM8tCgw1hCzsP0g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/addon-actions": "8.6.12",
- "@storybook/addon-backgrounds": "8.6.12",
- "@storybook/addon-controls": "8.6.12",
- "@storybook/addon-docs": "8.6.12",
- "@storybook/addon-highlight": "8.6.12",
- "@storybook/addon-measure": "8.6.12",
- "@storybook/addon-outline": "8.6.12",
- "@storybook/addon-toolbars": "8.6.12",
- "@storybook/addon-viewport": "8.6.12",
+ "@storybook/addon-actions": "8.6.8",
+ "@storybook/addon-backgrounds": "8.6.8",
+ "@storybook/addon-controls": "8.6.8",
+ "@storybook/addon-docs": "8.6.8",
+ "@storybook/addon-highlight": "8.6.8",
+ "@storybook/addon-measure": "8.6.8",
+ "@storybook/addon-outline": "8.6.8",
+ "@storybook/addon-toolbars": "8.6.8",
+ "@storybook/addon-viewport": "8.6.8",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -2847,13 +2813,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.6.12"
+ "storybook": "^8.6.8"
}
},
"node_modules/@storybook/addon-highlight": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.6.12.tgz",
- "integrity": "sha512-9FITVxdoycZ+eXuAZL9ElWyML/0fPPn9UgnnAkrU7zkMi+Segq/Tx7y+WWanC5zfWZrXAuG6WTOYEXeWQdm//w==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.6.8.tgz",
+ "integrity": "sha512-RBsnz7oquZtZMhXr8lqVYu7oU4RNslwhz69IOj6iM+WIgT0ZB51gxCWH/zxibivwb/zDb2LNeAYc2n8u53LyYw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2864,13 +2830,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.6.12"
+ "storybook": "^8.6.8"
}
},
"node_modules/@storybook/addon-measure": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.6.12.tgz",
- "integrity": "sha512-tACmwqqOvutaQSduw8SMb62wICaT1rWaHtMN3vtWXuxgDPSdJQxLP+wdVyRYMAgpxhLyIO7YRf++Hfha9RHgFg==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.6.8.tgz",
+ "integrity": "sha512-cRnxYhAuEOGPzfxaggOQr7cpOrqMfM73hozH1TvgnYTuCaiqGHyQLCv4DD1a5ikomKhhEsgmANVI2NfwNp9dCg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2882,13 +2848,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.6.12"
+ "storybook": "^8.6.8"
}
},
"node_modules/@storybook/addon-outline": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.6.12.tgz",
- "integrity": "sha512-1ylwm+n1s40S91No0v9T4tCjZORu3GbnjINlyjYTDLLhQHyBQd3nWR1Y1eewU4xH4cW9SnSLcMQFS/82xHqU6A==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.6.8.tgz",
+ "integrity": "sha512-Zz+/ctGgp8qbml9yB4D/KrBYaHl51TJ733bfhdCWcs2vGySUDMP+FV0f5AFr6kL2mAO1ECkppBboP8cUvAPslw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2900,13 +2866,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.6.12"
+ "storybook": "^8.6.8"
}
},
"node_modules/@storybook/addon-toolbars": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.6.12.tgz",
- "integrity": "sha512-HEcSzo1DyFtIu5/ikVOmh5h85C1IvK9iFKSzBR6ice33zBOaehVJK+Z5f487MOXxPsZ63uvWUytwPyViGInj+g==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.6.8.tgz",
+ "integrity": "sha512-E848JdbXO6CKNN/cHyovbB7OU+FxMaQy6s3xTF4yEx9zoFgaaC+Gm3AZnFdOdfZx6tuy2wvzzIrKBCEiAZktGA==",
"dev": true,
"license": "MIT",
"funding": {
@@ -2914,13 +2880,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.6.12"
+ "storybook": "^8.6.8"
}
},
"node_modules/@storybook/addon-viewport": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.6.12.tgz",
- "integrity": "sha512-EXK2LArAnABsPP0leJKy78L/lbMWow+EIJfytEP5fHaW4EhMR6h7Hzaqzre6U0IMMr/jVFa1ci+m0PJ0eQc2bw==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.6.8.tgz",
+ "integrity": "sha512-SWhuPBYkZi5ReMvXfE+qu+trydkXz83XqDwjC8cCa/yi2SjQFxcJC66paHjPM+3SNIShVZhw3gnB9mbzZ4Yohg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2931,13 +2897,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.6.12"
+ "storybook": "^8.6.8"
}
},
"node_modules/@storybook/blocks": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.6.12.tgz",
- "integrity": "sha512-DohlTq6HM1jDbHYiXL4ZvZ00VkhpUp5uftzj/CZDLY1fYHRjqtaTwWm2/OpceivMA8zDitLcq5atEZN+f+siTg==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.6.8.tgz",
+ "integrity": "sha512-m52Xyb/bKlbkwJ8KwhHLI8lKVs9rjYciAbIq6L0OLvK6k9b+uRDLaNihvp2W45YkGea1M8259uhZu1toNgK49w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2951,7 +2917,7 @@
"peerDependencies": {
"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",
- "storybook": "^8.6.12"
+ "storybook": "^8.6.8"
},
"peerDependenciesMeta": {
"react": {
@@ -2963,13 +2929,13 @@
}
},
"node_modules/@storybook/builder-vite": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-8.6.12.tgz",
- "integrity": "sha512-Gju21ud/3Qw4v2vLNaa5SuJECsI9ICNRr2G0UyCCzRvCHg8jpA9lDReu2NqhLDyFIuDG+ZYT38gcaHEUoNQ8KQ==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-8.6.8.tgz",
+ "integrity": "sha512-I/lmoCWvbkCSa//nnWn75Hbp+D/+JddhSk7y4W4Of0Tq7o6GqKsj7dzH2w1JN4v8ItEZSlz5dXFJksLZBz0mbg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/csf-plugin": "8.6.12",
+ "@storybook/csf-plugin": "8.6.8",
"browser-assert": "^1.2.1",
"ts-dedent": "^2.0.0"
},
@@ -2978,14 +2944,14 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.6.12",
+ "storybook": "^8.6.8",
"vite": "^4.0.0 || ^5.0.0 || ^6.0.0"
}
},
"node_modules/@storybook/components": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.6.12.tgz",
- "integrity": "sha512-FiaE8xvCdvKC2arYusgtlDNZ77b8ysr8njAYQZwwaIHjy27TbR2tEpLDCmUwSbANNmivtc/xGEiDDwcNppMWlQ==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.6.8.tgz",
+ "integrity": "sha512-zfJcNEDrhJYFMKw6fPeeOVYqDh9cUl7Og3p+mVtMFA31ShPIlz8JFXEmMOODGalT4yLakZgFHWcp9MZn9TFUXg==",
"dev": true,
"license": "MIT",
"funding": {
@@ -2997,13 +2963,13 @@
}
},
"node_modules/@storybook/core": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.6.12.tgz",
- "integrity": "sha512-t+ZuDzAlsXKa6tLxNZT81gEAt4GNwsKP/Id2wluhmUWD/lwYW0uum1JiPUuanw8xD6TdakCW/7ULZc7aQUBLCQ==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.6.8.tgz",
+ "integrity": "sha512-CZhLIAGNRJlmf9eQ70ATgNc/MNXKIS/nvN3jiGWkp5oN69OSiqzdLukxsuZdCPUtj7gtF0XTESQ7wkkZgkYXoQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/theming": "8.6.12",
+ "@storybook/theming": "8.6.8",
"better-opn": "^3.0.2",
"browser-assert": "^1.2.1",
"esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0",
@@ -3039,9 +3005,9 @@
}
},
"node_modules/@storybook/csf-plugin": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.6.12.tgz",
- "integrity": "sha512-6s8CnP1aoKPb3XtC0jRLUp8M5vTA8RhGAwQDKUsFpCC7g89JR9CaKs9FY2ZSzsNbjR15uASi7b3K8BzeYumYQg==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.6.8.tgz",
+ "integrity": "sha512-0HEZgtk1bbWRJSFI4LZFgVW+WFI9ZTvnmtgrWysqXd/+CFJCSaAKaO+0eR/8UAAtNmkI7fM1N5BhIwJuPYnVOQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3052,20 +3018,20 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.6.12"
+ "storybook": "^8.6.8"
}
},
"node_modules/@storybook/experimental-addon-test": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/experimental-addon-test/-/experimental-addon-test-8.6.12.tgz",
- "integrity": "sha512-auc8Ql0buH0WeaKVuSSuabxIiBWvqvAyxtXCm1sVMkL68GwrX3cmpNMwviz3mvKvM//F8zKi/31HMl1PZ5UnIA==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/experimental-addon-test/-/experimental-addon-test-8.6.8.tgz",
+ "integrity": "sha512-S/24qEg/bkCCNUXEDOl8pyAjrmVn/o/Xju2nU9qt1WUPEqOwmEqG827lcOzA9WaH23whxu4G2Qp3cNQVMspQ+Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@storybook/global": "^5.0.0",
"@storybook/icons": "^1.2.12",
- "@storybook/instrumenter": "8.6.12",
- "@storybook/test": "8.6.12",
+ "@storybook/instrumenter": "8.6.8",
+ "@storybook/test": "8.6.8",
"polished": "^4.2.2",
"prompts": "^2.4.0",
"ts-dedent": "^2.2.0"
@@ -3077,7 +3043,7 @@
"peerDependencies": {
"@vitest/browser": "^2.1.1 || ^3.0.0",
"@vitest/runner": "^2.1.1 || ^3.0.0",
- "storybook": "^8.6.12",
+ "storybook": "^8.6.8",
"vitest": "^2.1.1 || ^3.0.0"
},
"peerDependenciesMeta": {
@@ -3114,9 +3080,9 @@
}
},
"node_modules/@storybook/instrumenter": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.6.12.tgz",
- "integrity": "sha512-VK5fYAF8jMwWP/u3YsmSwKGh+FeSY8WZn78flzRUwirp2Eg1WWjsqPRubAk7yTpcqcC/km9YMF3KbqfzRv2s/A==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.6.8.tgz",
+ "integrity": "sha512-FgfIINbA5svlIIBMc+q4hdIEdLRT+8i6R76BUeKj5btD8tYxWY4LywMeItZx8uyaFGFjYlFdMKnyXCmSnFXnaQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3128,13 +3094,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.6.12"
+ "storybook": "^8.6.8"
}
},
"node_modules/@storybook/manager-api": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.6.12.tgz",
- "integrity": "sha512-O0SpISeJLNTQvhSBOsWzzkCgs8vCjOq1578rwqHlC6jWWm4QmtfdyXqnv7rR1Hk08kQ+Dzqh0uhwHx0nfwy4nQ==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.6.8.tgz",
+ "integrity": "sha512-MTyMYRXSP0iRE5xaFCNdD8ZBrhtJXTDNhQTWsjZQBmYgA94mf6FHSzsgGgOQp/sqTPzONZpBCrw7Y0aY8zxHKw==",
"dev": true,
"license": "MIT",
"funding": {
@@ -3146,9 +3112,9 @@
}
},
"node_modules/@storybook/preview-api": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.6.12.tgz",
- "integrity": "sha512-84FE3Hrs0AYKHqpDZOwx1S/ffOfxBdL65lhCoeI8GoWwCkzwa9zEP3kvXBo/BnEDO7nAfxvMhjASTZXbKRJh5Q==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.6.8.tgz",
+ "integrity": "sha512-c5Hc6Knmun+aBEesEjD+5LPuqFTQMCSLg+zS41JncH7B+agrUiihX3opma4OVZ4GibWIIq1YvIeXBLqj1MoIUw==",
"dev": true,
"license": "MIT",
"funding": {
@@ -3160,18 +3126,18 @@
}
},
"node_modules/@storybook/react": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.6.12.tgz",
- "integrity": "sha512-NzxlHLA5DkDgZM/dMwTYinuzRs6rsUPmlqP+NIv6YaciQ4NGnTYyOC7R/SqI6HHFm8ZZ5eMYvpfiFmhZ9rU+rQ==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.6.8.tgz",
+ "integrity": "sha512-UVP+vuVrgC9CgUp2ZKQs3ch2JzImGAUbVUpmb+GMAOGD3DGAf9iP7qldIZc5rrNw/jNyTFTo4oX6XnXrWgOCVg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/components": "8.6.12",
+ "@storybook/components": "8.6.8",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "8.6.12",
- "@storybook/preview-api": "8.6.12",
- "@storybook/react-dom-shim": "8.6.12",
- "@storybook/theming": "8.6.12"
+ "@storybook/manager-api": "8.6.8",
+ "@storybook/preview-api": "8.6.8",
+ "@storybook/react-dom-shim": "8.6.8",
+ "@storybook/theming": "8.6.8"
},
"engines": {
"node": ">=18.0.0"
@@ -3181,10 +3147,10 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "@storybook/test": "8.6.12",
+ "@storybook/test": "8.6.8",
"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": "^8.6.12",
+ "storybook": "^8.6.8",
"typescript": ">= 4.2.x"
},
"peerDependenciesMeta": {
@@ -3197,9 +3163,9 @@
}
},
"node_modules/@storybook/react-dom-shim": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.6.12.tgz",
- "integrity": "sha512-51QvoimkBzYs8s3rCYnY5h0cFqLz/Mh0vRcughwYaXckWzDBV8l67WBO5Xf5nBsukCbWyqBVPpEQLww8s7mrLA==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.6.8.tgz",
+ "integrity": "sha512-wp+3z5j8QJkFMVGqyE0FKcf61TL6LKLiIDxxQGxprSHKOE0RqNLGzQUTVZHWBbC3LfE018uFbGlLt02dVpUXKg==",
"dev": true,
"license": "MIT",
"funding": {
@@ -3209,20 +3175,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": "^8.6.12"
+ "storybook": "^8.6.8"
}
},
"node_modules/@storybook/react-vite": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-8.6.12.tgz",
- "integrity": "sha512-UA2Kule99oyFgHdhcuhrRwCKyWu/yMbqbl9U7NwowFHNwWWFjVMMir/AmfShb/H1C1DQ3LqOad6/QwJyPLjP8g==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-8.6.8.tgz",
+ "integrity": "sha512-JcL4GhD1xGEPRuKmZOs+CL9N/xcR+bEOfa8S/FHBTbue3FAq47vSbv7xU89IFI2wwO6aFiSLlLSqa3GcdOpiHw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@joshwooding/vite-plugin-react-docgen-typescript": "0.5.0",
"@rollup/pluginutils": "^5.0.2",
- "@storybook/builder-vite": "8.6.12",
- "@storybook/react": "8.6.12",
+ "@storybook/builder-vite": "8.6.8",
+ "@storybook/react": "8.6.8",
"find-up": "^5.0.0",
"magic-string": "^0.30.0",
"react-docgen": "^7.0.0",
@@ -3237,10 +3203,10 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "@storybook/test": "8.6.12",
+ "@storybook/test": "8.6.8",
"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": "^8.6.12",
+ "storybook": "^8.6.8",
"vite": "^4.0.0 || ^5.0.0 || ^6.0.0"
},
"peerDependenciesMeta": {
@@ -3278,14 +3244,14 @@
}
},
"node_modules/@storybook/test": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.6.12.tgz",
- "integrity": "sha512-0BK1Eg+VD0lNMB1BtxqHE3tP9FdkUmohtvWG7cq6lWvMrbCmAmh3VWai3RMCCDOukPFpjabOr8BBRLVvhNpv2w==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.6.8.tgz",
+ "integrity": "sha512-wMJkWWcfPK374uw3JPpgMBkPYkIhYPxqRVp/KAJR/h10YIhSAXg7yiH1LYmmNAwrmvI7Uc3KZZ9fX/Qvot5uRg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@storybook/global": "^5.0.0",
- "@storybook/instrumenter": "8.6.12",
+ "@storybook/instrumenter": "8.6.8",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.5.0",
"@testing-library/user-event": "14.5.2",
@@ -3297,13 +3263,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.6.12"
+ "storybook": "^8.6.8"
}
},
"node_modules/@storybook/theming": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.6.12.tgz",
- "integrity": "sha512-6VjZg8HJ2Op7+KV7ihJpYrDnFtd9D1jrQnUS8LckcpuBXrIEbaut5+34ObY8ssQnSqkk2GwIZBBBQYQBCVvkOw==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.6.8.tgz",
+ "integrity": "sha512-Lgtmjudkd8s5wTxCbMvZNIY7iWOwnsWI04zejpubxbuNLFvOIvJnICVzrEzxuMYPIDg9cvPVYT3AkuE2NucUVg==",
"dev": true,
"license": "MIT",
"funding": {
@@ -3786,9 +3752,9 @@
}
},
"node_modules/@tanstack/query-core": {
- "version": "5.71.5",
- "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.71.5.tgz",
- "integrity": "sha512-XOQ5SyjCdwhxyLksGKWSL5poqyEXYPDnsrZAzJm2LgrMm4Yh6VOrfC+IFosXreDw9HNqC11YAMY3HlfHjNzuaA==",
+ "version": "5.70.0",
+ "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.70.0.tgz",
+ "integrity": "sha512-ZkkjQAZjI6nS5OyAmaSQafQXK180Xvp0lZYk4BzrnskkTV8On3zSJUxOIXnh0h/8EgqRkCA9i879DiJovA1kGw==",
"dev": true,
"license": "MIT",
"funding": {
@@ -3797,13 +3763,13 @@
}
},
"node_modules/@tanstack/react-query": {
- "version": "5.71.5",
- "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.71.5.tgz",
- "integrity": "sha512-WpxZWy4fDASjY+iAaXB+aY+LC95PQ34W6EWVkjJ0hdzWWbczFnr9nHvHkVDpwdR18I1NO8igNGQJFrLrgyzI8Q==",
+ "version": "5.70.0",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.70.0.tgz",
+ "integrity": "sha512-z0tx1zz2CQ6nTm+fCaOp93FqsFjNgXtOy+4mC5ifQ4B+rJiMD0AGfJrYSGh/OuefhrzTYDAbkGUAGw6JzkWy8g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@tanstack/query-core": "5.71.5"
+ "@tanstack/query-core": "5.70.0"
},
"funding": {
"type": "github",
@@ -3876,9 +3842,9 @@
"license": "MIT"
},
"node_modules/@testing-library/react": {
- "version": "16.3.0",
- "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.0.tgz",
- "integrity": "sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.2.0.tgz",
+ "integrity": "sha512-2cSskAvA1QNtKc8Y9VJQRv0tm3hLVgxRGDB+KYhIaPQJ1I+RHbhIXcM+zClKXzMes/wshsMVzf4B9vS4IZpqDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4003,9 +3969,7 @@
"resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
"integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/@types/doctrine": {
"version": "0.0.9",
@@ -4043,19 +4007,19 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "22.14.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.0.tgz",
- "integrity": "sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==",
+ "version": "22.13.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.11.tgz",
+ "integrity": "sha512-iEUCUJoU0i3VnrCmgoWCXttklWcvoCIx4jzcP22fioIVSdTmjgoEvmAO/QPw6TcS9k5FrNgn4w7q5lGOd1CT5g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "undici-types": "~6.21.0"
+ "undici-types": "~6.20.0"
}
},
"node_modules/@types/react": {
- "version": "19.1.0",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.0.tgz",
- "integrity": "sha512-UaicktuQI+9UKyA4njtDOGBD/67t8YEBt2xdfqu8+gP9hqPUPsiXlNPcpS2gVdjmis5GKPG3fCxbQLVgxsQZ8w==",
+ "version": "19.0.12",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.12.tgz",
+ "integrity": "sha512-V6Ar115dBDrjbtXSrS+/Oruobc+qVbbUxDFC1RSbRqLt5SYvxxyIDrSC85RWml54g+jfNeEMZhEj7wW07ONQhA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4063,9 +4027,9 @@
}
},
"node_modules/@types/react-dom": {
- "version": "19.1.1",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.1.tgz",
- "integrity": "sha512-jFf/woGTVTjUJsl2O7hcopJ1r0upqoq/vIOoCj0yLh3RIXxWcljlpuZ+vEBRXsymD1jhfeJrlyTy/S1UW+4y1w==",
+ "version": "19.0.4",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.4.tgz",
+ "integrity": "sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==",
"dev": true,
"license": "MIT",
"peerDependencies": {
@@ -4084,18 +4048,14 @@
"resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.5.tgz",
"integrity": "sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/@types/tough-cookie": {
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz",
"integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/@types/uuid": {
"version": "9.0.8",
@@ -4105,17 +4065,17 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.29.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.0.tgz",
- "integrity": "sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ==",
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.27.0.tgz",
+ "integrity": "sha512-4henw4zkePi5p252c8ncBLzLce52SEUz2Ebj8faDnuUXz2UuHEONYcJ+G0oaCF+bYCWVZtrGzq3FD7YXetmnSA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.29.0",
- "@typescript-eslint/type-utils": "8.29.0",
- "@typescript-eslint/utils": "8.29.0",
- "@typescript-eslint/visitor-keys": "8.29.0",
+ "@typescript-eslint/scope-manager": "8.27.0",
+ "@typescript-eslint/type-utils": "8.27.0",
+ "@typescript-eslint/utils": "8.27.0",
+ "@typescript-eslint/visitor-keys": "8.27.0",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@@ -4135,16 +4095,16 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.29.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.29.0.tgz",
- "integrity": "sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g==",
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.27.0.tgz",
+ "integrity": "sha512-XGwIabPallYipmcOk45DpsBSgLC64A0yvdAkrwEzwZ2viqGqRUJ8eEYoPz0CWnutgAFbNMPdsGGvzjSmcWVlEA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/scope-manager": "8.29.0",
- "@typescript-eslint/types": "8.29.0",
- "@typescript-eslint/typescript-estree": "8.29.0",
- "@typescript-eslint/visitor-keys": "8.29.0",
+ "@typescript-eslint/scope-manager": "8.27.0",
+ "@typescript-eslint/types": "8.27.0",
+ "@typescript-eslint/typescript-estree": "8.27.0",
+ "@typescript-eslint/visitor-keys": "8.27.0",
"debug": "^4.3.4"
},
"engines": {
@@ -4160,14 +4120,14 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.29.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.29.0.tgz",
- "integrity": "sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw==",
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.27.0.tgz",
+ "integrity": "sha512-8oI9GwPMQmBryaaxG1tOZdxXVeMDte6NyJA4i7/TWa4fBwgnAXYlIQP+uYOeqAaLJ2JRxlG9CAyL+C+YE9Xknw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.29.0",
- "@typescript-eslint/visitor-keys": "8.29.0"
+ "@typescript-eslint/types": "8.27.0",
+ "@typescript-eslint/visitor-keys": "8.27.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -4178,14 +4138,14 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.29.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.29.0.tgz",
- "integrity": "sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q==",
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.27.0.tgz",
+ "integrity": "sha512-wVArTVcz1oJOIEJxui/nRhV0TXzD/zMSOYi/ggCfNq78EIszddXcJb7r4RCp/oBrjt8n9A0BSxRMKxHftpDxDA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "8.29.0",
- "@typescript-eslint/utils": "8.29.0",
+ "@typescript-eslint/typescript-estree": "8.27.0",
+ "@typescript-eslint/utils": "8.27.0",
"debug": "^4.3.4",
"ts-api-utils": "^2.0.1"
},
@@ -4202,9 +4162,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.29.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.0.tgz",
- "integrity": "sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg==",
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.27.0.tgz",
+ "integrity": "sha512-/6cp9yL72yUHAYq9g6DsAU+vVfvQmd1a8KyA81uvfDE21O2DwQ/qxlM4AR8TSdAu+kJLBDrEHKC5/W2/nxsY0A==",
"dev": true,
"license": "MIT",
"engines": {
@@ -4216,14 +4176,14 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.29.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.0.tgz",
- "integrity": "sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow==",
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.27.0.tgz",
+ "integrity": "sha512-BnKq8cqPVoMw71O38a1tEb6iebEgGA80icSxW7g+kndx0o6ot6696HjG7NdgfuAVmVEtwXUr3L8R9ZuVjoQL6A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.29.0",
- "@typescript-eslint/visitor-keys": "8.29.0",
+ "@typescript-eslint/types": "8.27.0",
+ "@typescript-eslint/visitor-keys": "8.27.0",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -4243,16 +4203,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.29.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.29.0.tgz",
- "integrity": "sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA==",
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.27.0.tgz",
+ "integrity": "sha512-njkodcwH1yvmo31YWgRHNb/x1Xhhq4/m81PhtvmRngD8iHPehxffz1SNCO+kwaePhATC+kOa/ggmvPoPza5i0Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.29.0",
- "@typescript-eslint/types": "8.29.0",
- "@typescript-eslint/typescript-estree": "8.29.0"
+ "@typescript-eslint/scope-manager": "8.27.0",
+ "@typescript-eslint/types": "8.27.0",
+ "@typescript-eslint/typescript-estree": "8.27.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -4267,13 +4227,13 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.29.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.0.tgz",
- "integrity": "sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg==",
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.27.0.tgz",
+ "integrity": "sha512-WsXQwMkILJvffP6z4U3FYJPlbf/j07HIxmDjZpbNvBJkMfvwXj5ACRkkHwBDvLBbDbtX5TdU64/rcvKJ/vuInQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.29.0",
+ "@typescript-eslint/types": "8.27.0",
"eslint-visitor-keys": "^4.2.0"
},
"engines": {
@@ -4311,17 +4271,18 @@
}
},
"node_modules/@vitest/browser": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-3.1.1.tgz",
- "integrity": "sha512-A+A69mMtrj1RPh96LfXGc309KSXhy2MslvyL+cp9+Y5EVdoJD4KfXDx/3SSlRGN70+hIoJ3RRbTidTvj18PZ/A==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-3.0.9.tgz",
+ "integrity": "sha512-P9dcCeMkA3/oYGfUzRFZJLZxiOpApztxhPsQDUiZzAzLoZonWhse2+vPB0xEBP8Q0lX1WCEEmtY7HzBRi4oYBA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@testing-library/dom": "^10.4.0",
"@testing-library/user-event": "^14.6.1",
- "@vitest/mocker": "3.1.1",
- "@vitest/utils": "3.1.1",
+ "@vitest/mocker": "3.0.9",
+ "@vitest/utils": "3.0.9",
"magic-string": "^0.30.17",
+ "msw": "^2.7.3",
"sirv": "^3.0.1",
"tinyrainbow": "^2.0.0",
"ws": "^8.18.1"
@@ -4331,7 +4292,7 @@
},
"peerDependencies": {
"playwright": "*",
- "vitest": "3.1.1",
+ "vitest": "3.0.9",
"webdriverio": "^7.0.0 || ^8.0.0 || ^9.0.0"
},
"peerDependenciesMeta": {
@@ -4361,9 +4322,9 @@
}
},
"node_modules/@vitest/browser/node_modules/@vitest/pretty-format": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.1.tgz",
- "integrity": "sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.9.tgz",
+ "integrity": "sha512-OW9F8t2J3AwFEwENg3yMyKWweF7oRJlMyHOMIhO5F3n0+cgQAJZBjNgrF8dLwFTEXl5jUqBLXd9QyyKv8zEcmA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4374,13 +4335,13 @@
}
},
"node_modules/@vitest/browser/node_modules/@vitest/utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.1.tgz",
- "integrity": "sha512-1XIjflyaU2k3HMArJ50bwSh3wKWPD6Q47wz/NUSmRV0zNywPc4w79ARjg/i/aNINHwA+mIALhUVqD9/aUvZNgg==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.9.tgz",
+ "integrity": "sha512-ilHM5fHhZ89MCp5aAaM9uhfl1c2JdxVxl3McqsdVyVNN6JffnEen8UMCdRTzOhGXNQGo5GNL9QugHrz727Wnng==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/pretty-format": "3.1.1",
+ "@vitest/pretty-format": "3.0.9",
"loupe": "^3.1.3",
"tinyrainbow": "^2.0.0"
},
@@ -4389,9 +4350,9 @@
}
},
"node_modules/@vitest/coverage-v8": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.1.1.tgz",
- "integrity": "sha512-MgV6D2dhpD6Hp/uroUoAIvFqA8AuvXEFBC2eepG3WFc1pxTfdk1LEqqkWoWhjz+rytoqrnUUCdf6Lzco3iHkLQ==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.0.9.tgz",
+ "integrity": "sha512-15OACZcBtQ34keIEn19JYTVuMFTlFrClclwWjHo/IRPg/8ELpkgNTl0o7WLP9WO9XGH6+tip9CPYtEOrIDJvBA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4404,7 +4365,7 @@
"istanbul-reports": "^3.1.7",
"magic-string": "^0.30.17",
"magicast": "^0.3.5",
- "std-env": "^3.8.1",
+ "std-env": "^3.8.0",
"test-exclude": "^7.0.1",
"tinyrainbow": "^2.0.0"
},
@@ -4412,8 +4373,8 @@
"url": "https://opencollective.com/vitest"
},
"peerDependencies": {
- "@vitest/browser": "3.1.1",
- "vitest": "3.1.1"
+ "@vitest/browser": "3.0.9",
+ "vitest": "3.0.9"
},
"peerDependenciesMeta": {
"@vitest/browser": {
@@ -4487,13 +4448,13 @@
}
},
"node_modules/@vitest/mocker": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.1.tgz",
- "integrity": "sha512-bmpJJm7Y7i9BBELlLuuM1J1Q6EQ6K5Ye4wcyOpOMXMcePYKSIYlpcrCm4l/O6ja4VJA5G2aMJiuZkZdnxlC3SA==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.9.tgz",
+ "integrity": "sha512-ryERPIBOnvevAkTq+L1lD+DTFBRcjueL9lOUfXsLfwP92h4e+Heb+PjiqS3/OURWPtywfafK0kj++yDFjWUmrA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/spy": "3.1.1",
+ "@vitest/spy": "3.0.9",
"estree-walker": "^3.0.3",
"magic-string": "^0.30.17"
},
@@ -4514,9 +4475,9 @@
}
},
"node_modules/@vitest/mocker/node_modules/@vitest/spy": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.1.tgz",
- "integrity": "sha512-+EmrUOOXbKzLkTDwlsc/xrwOlPDXyVk3Z6P6K4oiCndxz7YLpp/0R0UsWVOKT0IXWjjBJuSMk6D27qipaupcvQ==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.9.tgz",
+ "integrity": "sha512-/CcK2UDl0aQ2wtkp3YVWldrpLRNCfVcIOFGlVGKO4R5eajsH393Z1yiXLVQ7vWsj26JOEjeZI0x5sm5P4OGUNQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4560,13 +4521,13 @@
}
},
"node_modules/@vitest/runner": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.1.tgz",
- "integrity": "sha512-X/d46qzJuEDO8ueyjtKfxffiXraPRfmYasoC4i5+mlLEJ10UvPb0XH5M9C3gWuxd7BAQhpK42cJgJtq53YnWVA==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.9.tgz",
+ "integrity": "sha512-NX9oUXgF9HPfJSwl8tUZCMP1oGx2+Sf+ru6d05QjzQz4OwWg0psEzwY6VexP2tTHWdOkhKHUIZH+fS6nA7jfOw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/utils": "3.1.1",
+ "@vitest/utils": "3.0.9",
"pathe": "^2.0.3"
},
"funding": {
@@ -4574,9 +4535,9 @@
}
},
"node_modules/@vitest/runner/node_modules/@vitest/pretty-format": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.1.tgz",
- "integrity": "sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.9.tgz",
+ "integrity": "sha512-OW9F8t2J3AwFEwENg3yMyKWweF7oRJlMyHOMIhO5F3n0+cgQAJZBjNgrF8dLwFTEXl5jUqBLXd9QyyKv8zEcmA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4587,13 +4548,13 @@
}
},
"node_modules/@vitest/runner/node_modules/@vitest/utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.1.tgz",
- "integrity": "sha512-1XIjflyaU2k3HMArJ50bwSh3wKWPD6Q47wz/NUSmRV0zNywPc4w79ARjg/i/aNINHwA+mIALhUVqD9/aUvZNgg==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.9.tgz",
+ "integrity": "sha512-ilHM5fHhZ89MCp5aAaM9uhfl1c2JdxVxl3McqsdVyVNN6JffnEen8UMCdRTzOhGXNQGo5GNL9QugHrz727Wnng==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/pretty-format": "3.1.1",
+ "@vitest/pretty-format": "3.0.9",
"loupe": "^3.1.3",
"tinyrainbow": "^2.0.0"
},
@@ -4602,13 +4563,13 @@
}
},
"node_modules/@vitest/snapshot": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.1.1.tgz",
- "integrity": "sha512-bByMwaVWe/+1WDf9exFxWWgAixelSdiwo2p33tpqIlM14vW7PRV5ppayVXtfycqze4Qhtwag5sVhX400MLBOOw==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.9.tgz",
+ "integrity": "sha512-AiLUiuZ0FuA+/8i19mTYd+re5jqjEc2jZbgJ2up0VY0Ddyyxg/uUtBDpIFAy4uzKaQxOW8gMgBdAJJ2ydhu39A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/pretty-format": "3.1.1",
+ "@vitest/pretty-format": "3.0.9",
"magic-string": "^0.30.17",
"pathe": "^2.0.3"
},
@@ -4617,9 +4578,9 @@
}
},
"node_modules/@vitest/snapshot/node_modules/@vitest/pretty-format": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.1.tgz",
- "integrity": "sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.9.tgz",
+ "integrity": "sha512-OW9F8t2J3AwFEwENg3yMyKWweF7oRJlMyHOMIhO5F3n0+cgQAJZBjNgrF8dLwFTEXl5jUqBLXd9QyyKv8zEcmA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4643,13 +4604,13 @@
}
},
"node_modules/@vitest/ui": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-3.1.1.tgz",
- "integrity": "sha512-2HpiRIYg3dlvAJBV9RtsVswFgUSJK4Sv7QhpxoP0eBGkYwzGIKP34PjaV00AULQi9Ovl6LGyZfsetxDWY5BQdQ==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-3.0.9.tgz",
+ "integrity": "sha512-FpZD4aIv/qNpwkV3XbLV6xldWFHMgoNWAJEgg5GmpObmAOLAErpYjew9dDwXdYdKOS3iZRKdwI+P3JOJcYeUBg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/utils": "3.1.1",
+ "@vitest/utils": "3.0.9",
"fflate": "^0.8.2",
"flatted": "^3.3.3",
"pathe": "^2.0.3",
@@ -4661,13 +4622,13 @@
"url": "https://opencollective.com/vitest"
},
"peerDependencies": {
- "vitest": "3.1.1"
+ "vitest": "3.0.9"
}
},
"node_modules/@vitest/ui/node_modules/@vitest/pretty-format": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.1.tgz",
- "integrity": "sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.9.tgz",
+ "integrity": "sha512-OW9F8t2J3AwFEwENg3yMyKWweF7oRJlMyHOMIhO5F3n0+cgQAJZBjNgrF8dLwFTEXl5jUqBLXd9QyyKv8zEcmA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4678,13 +4639,13 @@
}
},
"node_modules/@vitest/ui/node_modules/@vitest/utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.1.tgz",
- "integrity": "sha512-1XIjflyaU2k3HMArJ50bwSh3wKWPD6Q47wz/NUSmRV0zNywPc4w79ARjg/i/aNINHwA+mIALhUVqD9/aUvZNgg==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.9.tgz",
+ "integrity": "sha512-ilHM5fHhZ89MCp5aAaM9uhfl1c2JdxVxl3McqsdVyVNN6JffnEen8UMCdRTzOhGXNQGo5GNL9QugHrz727Wnng==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/pretty-format": "3.1.1",
+ "@vitest/pretty-format": "3.0.9",
"loupe": "^3.1.3",
"tinyrainbow": "^2.0.0"
},
@@ -4919,8 +4880,6 @@
"integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"type-fest": "^0.21.3"
},
@@ -4937,8 +4896,6 @@
"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
"dev": true,
"license": "(MIT OR CC0-1.0)",
- "optional": true,
- "peer": true,
"engines": {
"node": ">=10"
},
@@ -5464,8 +5421,6 @@
"integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
"dev": true,
"license": "ISC",
- "optional": true,
- "peer": true,
"engines": {
"node": ">= 12"
}
@@ -5476,8 +5431,6 @@
"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
"dev": true,
"license": "ISC",
- "optional": true,
- "peer": true,
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.1",
@@ -5492,9 +5445,7 @@
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/cliui/node_modules/string-width": {
"version": "4.2.3",
@@ -5502,8 +5453,6 @@
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -5519,8 +5468,6 @@
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -5534,8 +5481,6 @@
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -5632,8 +5577,6 @@
"integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"engines": {
"node": ">= 0.6"
}
@@ -6465,9 +6408,9 @@
}
},
"node_modules/eslint-plugin-storybook": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.12.0.tgz",
- "integrity": "sha512-Lg5I0+npTgiYgZ4KSvGWGDFZi3eOCNJPaWX0c9rTEEXC5wvooOClsP9ZtbI4hhFKyKgYR877KiJxbRTSJq9gWA==",
+ "version": "0.11.6",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.11.6.tgz",
+ "integrity": "sha512-3WodYD6Bs9ACqnB+TP2TuLh774c/nacAjxSKOP9bHJ2c8rf+nrhocxjjeAWNmO9IPkFIzTKlcl0vNXI2yYpVOw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7020,8 +6963,6 @@
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true,
"license": "ISC",
- "optional": true,
- "peer": true,
"engines": {
"node": "6.* || 8.* || >= 10.*"
}
@@ -7231,8 +7172,6 @@
"integrity": "sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"engines": {
"node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
}
@@ -7346,9 +7285,7 @@
"resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-4.0.3.tgz",
"integrity": "sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/html-encoding-sniffer": {
"version": "4.0.0",
@@ -7758,9 +7695,7 @@
"resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz",
"integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/is-number": {
"version": "7.0.0",
@@ -8049,6 +7984,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true,
"license": "MIT"
},
"node_modules/js-yaml": {
@@ -8278,18 +8214,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "license": "MIT",
- "dependencies": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- },
- "bin": {
- "loose-envify": "cli.js"
- }
- },
"node_modules/loupe": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz",
@@ -8551,8 +8475,6 @@
"dev": true,
"hasInstallScript": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"@bundled-es-modules/cookie": "^2.0.1",
"@bundled-es-modules/statuses": "^1.0.1",
@@ -8597,8 +8519,6 @@
"integrity": "sha512-S/5/0kFftkq27FPNye0XM1e2NsnoD/3FS+pBmbjmmtLT6I+i344KoOf7pvXreaFsDamWeaJX55nczA1m5PsBDg==",
"dev": true,
"license": "(MIT OR CC0-1.0)",
- "optional": true,
- "peer": true,
"engines": {
"node": ">=16"
},
@@ -8619,8 +8539,6 @@
"integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
"dev": true,
"license": "ISC",
- "optional": true,
- "peer": true,
"engines": {
"node": "^18.17.0 || >=20.5.0"
}
@@ -8823,9 +8741,7 @@
"resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz",
"integrity": "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/own-keys": {
"version": "1.0.1",
@@ -8995,9 +8911,7 @@
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz",
"integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/path-type": {
"version": "4.0.0",
@@ -9279,8 +9193,6 @@
"integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"punycode": "^2.3.1"
},
@@ -9320,9 +9232,7 @@
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
"integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/queue-microtask": {
"version": "1.2.3",
@@ -9346,13 +9256,10 @@
"license": "MIT"
},
"node_modules/react": {
- "version": "18.3.1",
- "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
- "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
+ "version": "19.0.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz",
+ "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==",
"license": "MIT",
- "dependencies": {
- "loose-envify": "^1.1.0"
- },
"engines": {
"node": ">=0.10.0"
}
@@ -9419,16 +9326,15 @@
}
},
"node_modules/react-dom": {
- "version": "18.3.1",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
- "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
+ "version": "19.0.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz",
+ "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==",
"license": "MIT",
"dependencies": {
- "loose-envify": "^1.1.0",
- "scheduler": "^0.23.2"
+ "scheduler": "^0.25.0"
},
"peerDependencies": {
- "react": "^18.3.1"
+ "react": "^19.0.0"
}
},
"node_modules/react-is": {
@@ -9563,8 +9469,6 @@
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -9584,9 +9488,7 @@
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/resolve": {
"version": "1.22.10",
@@ -9763,9 +9665,9 @@
"license": "MIT"
},
"node_modules/sass": {
- "version": "1.86.2",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.86.2.tgz",
- "integrity": "sha512-Rpfn0zAIDqvnSb2DihJTDFjbhqLHu91Wqac9rxontWk7R+2txcPjuujMqu1eeoezh5kAblVCS5EdFdyr0Jmu+w==",
+ "version": "1.86.0",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.86.0.tgz",
+ "integrity": "sha512-zV8vGUld/+mP4KbMLJMX7TyGCuUp7hnkOScgCMsWuHtns8CWBoz+vmEhoGMXsaJrbUP8gj+F1dLvVe79sK8UdA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9797,13 +9699,10 @@
}
},
"node_modules/scheduler": {
- "version": "0.23.2",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
- "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
- "license": "MIT",
- "dependencies": {
- "loose-envify": "^1.1.0"
- }
+ "version": "0.25.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz",
+ "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==",
+ "license": "MIT"
},
"node_modules/semver": {
"version": "7.7.1",
@@ -10069,8 +9968,6 @@
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"engines": {
"node": ">= 0.8"
}
@@ -10083,13 +9980,13 @@
"license": "MIT"
},
"node_modules/storybook": {
- "version": "8.6.12",
- "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.6.12.tgz",
- "integrity": "sha512-Z/nWYEHBTLK1ZBtAWdhxC0l5zf7ioJ7G4+zYqtTdYeb67gTnxNj80gehf8o8QY9L2zA2+eyMRGLC2V5fI7Z3Tw==",
+ "version": "8.6.8",
+ "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.6.8.tgz",
+ "integrity": "sha512-0Ze7QC0Hqx+ulms/FiQ7PNyaBgmaoxqxLOi8PQc5sOepO1+Ea8nssQGmOHS2QIX1ybb/GW56Fa5eyj+PJgsYDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/core": "8.6.12"
+ "@storybook/core": "8.6.8"
},
"bin": {
"getstorybook": "bin/index.cjs",
@@ -10114,9 +10011,7 @@
"resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz",
"integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/string-argv": {
"version": "0.3.2",
@@ -10751,15 +10646,15 @@
}
},
"node_modules/typescript-eslint": {
- "version": "8.29.0",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.29.0.tgz",
- "integrity": "sha512-ep9rVd9B4kQsZ7ZnWCVxUE/xDLUUUsRzE0poAeNu+4CkFErLfuvPt/qtm2EpnSyfvsR0S6QzDFSrPCFBwf64fg==",
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.27.0.tgz",
+ "integrity": "sha512-ZZ/8+Y0rRUMuW1gJaPtLWe4ryHbsPLzzibk5Sq+IFa2aOH1Vo0gPr1fbA6pOnzBke7zC2Da4w8AyCgxKXo3lqA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/eslint-plugin": "8.29.0",
- "@typescript-eslint/parser": "8.29.0",
- "@typescript-eslint/utils": "8.29.0"
+ "@typescript-eslint/eslint-plugin": "8.27.0",
+ "@typescript-eslint/parser": "8.27.0",
+ "@typescript-eslint/utils": "8.27.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -10800,9 +10695,9 @@
}
},
"node_modules/undici-types": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
- "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
+ "version": "6.20.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
+ "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
"dev": true,
"license": "MIT"
},
@@ -10877,8 +10772,6 @@
"integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
@@ -10913,9 +10806,9 @@
}
},
"node_modules/vite": {
- "version": "6.2.5",
- "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.5.tgz",
- "integrity": "sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA==",
+ "version": "6.2.4",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.4.tgz",
+ "integrity": "sha512-veHMSew8CcRzhL5o8ONjy8gkfmFJAd5Ac16oxBUjlwgX3Gq2Wqr+qNC3TjPIpy7TPV/KporLga5GT9HqdrCizw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10995,9 +10888,9 @@
}
},
"node_modules/vite-node": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.1.1.tgz",
- "integrity": "sha512-V+IxPAE2FvXpTCHXyNem0M+gWm6J7eRyWPR6vYoG/Gl+IscNOjXzztUhimQgTxaAoUoj40Qqimaa0NLIOOAH4w==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.9.tgz",
+ "integrity": "sha512-w3Gdx7jDcuT9cNn9jExXgOyKmf5UOTb6WMHz8LGAm54eS1Elf5OuBhCxl6zJxGhEeIkgsE1WbHuoL0mj/UXqXg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11110,31 +11003,31 @@
}
},
"node_modules/vitest": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.1.tgz",
- "integrity": "sha512-kiZc/IYmKICeBAZr9DQ5rT7/6bD9G7uqQEki4fxazi1jdVl2mWGzedtBs5s6llz59yQhVb7FFY2MbHzHCnT79Q==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.9.tgz",
+ "integrity": "sha512-BbcFDqNyBlfSpATmTtXOAOj71RNKDDvjBM/uPfnxxVGrG+FSH2RQIwgeEngTaTkuU/h0ScFvf+tRcKfYXzBybQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/expect": "3.1.1",
- "@vitest/mocker": "3.1.1",
- "@vitest/pretty-format": "^3.1.1",
- "@vitest/runner": "3.1.1",
- "@vitest/snapshot": "3.1.1",
- "@vitest/spy": "3.1.1",
- "@vitest/utils": "3.1.1",
+ "@vitest/expect": "3.0.9",
+ "@vitest/mocker": "3.0.9",
+ "@vitest/pretty-format": "^3.0.9",
+ "@vitest/runner": "3.0.9",
+ "@vitest/snapshot": "3.0.9",
+ "@vitest/spy": "3.0.9",
+ "@vitest/utils": "3.0.9",
"chai": "^5.2.0",
"debug": "^4.4.0",
- "expect-type": "^1.2.0",
+ "expect-type": "^1.1.0",
"magic-string": "^0.30.17",
"pathe": "^2.0.3",
- "std-env": "^3.8.1",
+ "std-env": "^3.8.0",
"tinybench": "^2.9.0",
"tinyexec": "^0.3.2",
"tinypool": "^1.0.2",
"tinyrainbow": "^2.0.0",
"vite": "^5.0.0 || ^6.0.0",
- "vite-node": "3.1.1",
+ "vite-node": "3.0.9",
"why-is-node-running": "^2.3.0"
},
"bin": {
@@ -11150,8 +11043,8 @@
"@edge-runtime/vm": "*",
"@types/debug": "^4.1.12",
"@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
- "@vitest/browser": "3.1.1",
- "@vitest/ui": "3.1.1",
+ "@vitest/browser": "3.0.9",
+ "@vitest/ui": "3.0.9",
"happy-dom": "*",
"jsdom": "*"
},
@@ -11180,14 +11073,14 @@
}
},
"node_modules/vitest/node_modules/@vitest/expect": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.1.tgz",
- "integrity": "sha512-q/zjrW9lgynctNbwvFtQkGK9+vvHA5UzVi2V8APrp1C6fG6/MuYYkmlx4FubuqLycCeSdHD5aadWfua/Vr0EUA==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.9.tgz",
+ "integrity": "sha512-5eCqRItYgIML7NNVgJj6TVCmdzE7ZVgJhruW0ziSQV4V7PvLkDL1bBkBdcTs/VuIz0IxPb5da1IDSqc1TR9eig==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/spy": "3.1.1",
- "@vitest/utils": "3.1.1",
+ "@vitest/spy": "3.0.9",
+ "@vitest/utils": "3.0.9",
"chai": "^5.2.0",
"tinyrainbow": "^2.0.0"
},
@@ -11196,9 +11089,9 @@
}
},
"node_modules/vitest/node_modules/@vitest/pretty-format": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.1.tgz",
- "integrity": "sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.9.tgz",
+ "integrity": "sha512-OW9F8t2J3AwFEwENg3yMyKWweF7oRJlMyHOMIhO5F3n0+cgQAJZBjNgrF8dLwFTEXl5jUqBLXd9QyyKv8zEcmA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11209,9 +11102,9 @@
}
},
"node_modules/vitest/node_modules/@vitest/spy": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.1.tgz",
- "integrity": "sha512-+EmrUOOXbKzLkTDwlsc/xrwOlPDXyVk3Z6P6K4oiCndxz7YLpp/0R0UsWVOKT0IXWjjBJuSMk6D27qipaupcvQ==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.9.tgz",
+ "integrity": "sha512-/CcK2UDl0aQ2wtkp3YVWldrpLRNCfVcIOFGlVGKO4R5eajsH393Z1yiXLVQ7vWsj26JOEjeZI0x5sm5P4OGUNQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11222,13 +11115,13 @@
}
},
"node_modules/vitest/node_modules/@vitest/utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.1.tgz",
- "integrity": "sha512-1XIjflyaU2k3HMArJ50bwSh3wKWPD6Q47wz/NUSmRV0zNywPc4w79ARjg/i/aNINHwA+mIALhUVqD9/aUvZNgg==",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.9.tgz",
+ "integrity": "sha512-ilHM5fHhZ89MCp5aAaM9uhfl1c2JdxVxl3McqsdVyVNN6JffnEen8UMCdRTzOhGXNQGo5GNL9QugHrz727Wnng==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/pretty-format": "3.1.1",
+ "@vitest/pretty-format": "3.0.9",
"loupe": "^3.1.3",
"tinyrainbow": "^2.0.0"
},
@@ -11572,8 +11465,6 @@
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
"dev": true,
"license": "ISC",
- "optional": true,
- "peer": true,
"engines": {
"node": ">=10"
}
@@ -11591,8 +11482,6 @@
"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
@@ -11612,8 +11501,6 @@
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
"dev": true,
"license": "ISC",
- "optional": true,
- "peer": true,
"engines": {
"node": ">=12"
}
@@ -11623,9 +11510,7 @@
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/yargs/node_modules/string-width": {
"version": "4.2.3",
@@ -11633,8 +11518,6 @@
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -11650,8 +11533,6 @@
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -11678,8 +11559,6 @@
"integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
"engines": {
"node": ">=18"
},
@@ -11695,59 +11574,32 @@
"@tomplum/react-git-log": "*",
"classnames": "^2.5.1",
"dayjs": "^1.11.13",
- "react": "^19.1.0",
- "react-dom": "^19.1.0"
+ "react": "^19.0.0",
+ "react-dom": "^19.0.0"
},
"devDependencies": {
"@chromatic-com/storybook": "^3.2.5",
- "@storybook/addon-docs": "^8.6.12",
- "@storybook/addon-essentials": "^8.6.12",
- "@storybook/blocks": "^8.6.12",
- "@storybook/experimental-addon-test": "^8.6.12",
- "@storybook/react": "^8.6.12",
- "@storybook/react-vite": "^8.6.12",
- "@storybook/test": "^8.6.12",
- "@tanstack/react-query": "^5.71.5",
- "@types/react": "^19.1.0",
- "@types/react-dom": "^19.1.1",
+ "@storybook/addon-docs": "^8.6.6",
+ "@storybook/addon-essentials": "^8.6.6",
+ "@storybook/blocks": "^8.6.4",
+ "@storybook/experimental-addon-test": "^8.6.6",
+ "@storybook/react": "^8.6.4",
+ "@storybook/react-vite": "^8.6.4",
+ "@storybook/test": "^8.6.4",
+ "@tanstack/react-query": "^5.70.0",
+ "@types/react": "^19.0.10",
+ "@types/react-dom": "^19.0.4",
"gh-pages": "^6.3.0",
"playwright": "^1.51.0",
- "storybook": "^8.6.12",
+ "storybook": "^8.6.4",
"typescript": "~5.7.2",
"typescript-eslint": "^8.24.1",
- "vite": "^6.2.5",
+ "vite": "^6.2.0",
"vite-plugin-svgr": "^4.3.0",
"vite-tsconfig-paths": "^5.1.4",
- "vitest": "^3.1.1"
- }
- },
- "packages/demo/node_modules/react": {
- "version": "19.1.0",
- "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz",
- "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "packages/demo/node_modules/react-dom": {
- "version": "19.1.0",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz",
- "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==",
- "license": "MIT",
- "dependencies": {
- "scheduler": "^0.26.0"
- },
- "peerDependencies": {
- "react": "^19.1.0"
+ "vitest": "^3.0.9"
}
},
- "packages/demo/node_modules/scheduler": {
- "version": "0.26.0",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz",
- "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==",
- "license": "MIT"
- },
"packages/demo/node_modules/typescript": {
"version": "5.7.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz",
@@ -11772,36 +11624,40 @@
"dayjs": "^1.11.13",
"fastpriorityqueue": "^0.7.5",
"node-interval-tree": "^2.1.2",
- "react": "^19.1.0",
- "react-dom": "^19.1.0",
+ "react": ">=18.0.0",
+ "react-dom": ">=18.0.0",
"react-tiny-popover": "^8.1.6"
},
"devDependencies": {
"@testing-library/dom": "^10.4.0",
- "@testing-library/react": "^16.3.0",
+ "@testing-library/react": "^16.2.0",
"@testing-library/user-event": "^14.6.1",
- "@types/node": "^22.14.0",
- "@types/react": "^19.1.0",
- "@types/react-dom": "^19.1.1",
+ "@types/node": "^22.13.10",
+ "@types/react": "^19.0.12",
+ "@types/react-dom": "^19.0.4",
"@vitejs/plugin-react-swc": "^3.8.0",
- "@vitest/browser": "^3.1.1",
- "@vitest/coverage-v8": "^3.1.1",
- "@vitest/ui": "^3.1.1",
+ "@vitest/browser": "^3.0.9",
+ "@vitest/coverage-v8": "^3.0.9",
+ "@vitest/ui": "^3.0.9",
"globals": "^16.0.0",
"jsdom": "^26.0.0",
- "sass": "^1.86.2",
+ "sass": "^1.85.1",
"typescript": "~5.7.2",
- "vite": "^6.2.5",
+ "vite": "^6.2.0",
"vite-bundle-analyzer": "^0.18.1",
"vite-plugin-dts": "^4.5.3",
"vite-plugin-lib-inject-css": "^2.2.1",
"vite-plugin-svgr": "^4.3.0",
"vite-tsconfig-paths": "^5.1.4",
- "vitest": "^3.1.1"
+ "vitest": "^3.0.9"
},
"engines": {
"node": ">=18.0.0"
},
+ "peerDependencies": {
+ "react": ">=18.0.0",
+ "react-dom": ">=18.0.0"
+ },
"peerDependenciesMeta": {
"react": {
"optional": true
@@ -11839,33 +11695,6 @@
"node": ">= 14.0.0"
}
},
- "packages/library/node_modules/react": {
- "version": "19.1.0",
- "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz",
- "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "packages/library/node_modules/react-dom": {
- "version": "19.1.0",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz",
- "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==",
- "license": "MIT",
- "dependencies": {
- "scheduler": "^0.26.0"
- },
- "peerDependencies": {
- "react": "^19.1.0"
- }
- },
- "packages/library/node_modules/scheduler": {
- "version": "0.26.0",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz",
- "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==",
- "license": "MIT"
- },
"packages/library/node_modules/shallowequal": {
"version": "1.1.0",
"license": "MIT"
diff --git a/package.json b/package.json
index 139aa1cb..c78b5a7a 100644
--- a/package.json
+++ b/package.json
@@ -16,7 +16,7 @@
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-react-hooks": "^5.1.0",
"eslint-plugin-react-refresh": "^0.4.19",
- "eslint-plugin-storybook": "^0.12.0",
+ "eslint-plugin-storybook": "^0.11.4",
"@stylistic/eslint-plugin": "^4.2.0",
"@eslint/js": "^9.21.0",
"typescript-eslint": "^8.24.1"
diff --git a/packages/demo/src/GitLog.stories.tsx b/packages/demo/src/GitLog.stories.tsx
index f0e8c256..5276dd82 100644
--- a/packages/demo/src/GitLog.stories.tsx
+++ b/packages/demo/src/GitLog.stories.tsx
@@ -234,6 +234,11 @@ export const Demo: Story = {
},
containerClass: styles.gitLogContainer
}}
+ indexStatus={{
+ added: 2,
+ modified: 5,
+ deleted: 1
+ }}
>
{args.showBranchesTags && (
diff --git a/packages/demo/src/GitLogPaged.stories.tsx b/packages/demo/src/GitLogPaged.stories.tsx
index 98323a87..8d6c15d7 100644
--- a/packages/demo/src/GitLogPaged.stories.tsx
+++ b/packages/demo/src/GitLogPaged.stories.tsx
@@ -216,6 +216,11 @@ export const Demo: Story = {
},
containerClass: styles.gitLogContainer
}}
+ indexStatus={{
+ added: 0,
+ modified: 2,
+ deleted: 3
+ }}
>
void` | Callback function when a commit is selected. `commit` is `undefined` if unselected. |
-| `classes` | `GitLogStylingProps` | CSS classes for various elements to enable custom styling. |
-| `paging` | `GitLogPaging` | Optional paging settings for displaying a subset of log entries. |
+| Property | Type | Description |
+|-----------------------|-----------------------------|----------------------------------------------------------------------------------------------------------|
+| `theme` | `ThemeMode` | The variant of the default color theme to apply to the log. |
+| `colours` | `ThemeColours \| string[]` | Array of colors used for graph elements. One per column, looping if insufficient colors are provided. |
+| `showHeaders` | `boolean` | Whether to show element names like "Graph" or "Commit message" at the top of the component. |
+| `rowSpacing` | `number` | The spacing between log rows, affecting branches, graph, and table. Default: `0`. |
+| `githubRepositoryUrl` | `string` | URL of the GitHub repository where `entries` came from. Enables links for commits, tags, and PRs. |
+| `defaultGraphWidth` | `number` | Default width of the graph in pixels. Can be changed dynamically if resizing is enabled. Default: `300`. |
+| `onSelectCommit` | `(commit?: Commit) => void` | Callback function when a commit is selected. `commit` is `undefined` if unselected. |
+| `classes` | `GitLogStylingProps` | CSS classes for various elements to enable custom styling. |
+| `paging` | `GitLogPaging` | Optional paging settings for displaying a subset of log entries. |
+| `indexStatus` | `GitLogIndexStatus` | Renders information about added, deleted and modified files to the index pseudo-commit entry. |
### GitLogPaged
-| Property | Type | Description |
-|-------------------------------|-----------------------------|----------------------------------------------------------------------------------------------------------|
-| `theme` | `ThemeMode` | The variant of the default color theme to apply to the log. |
-| `colours` | `ThemeColours \| string[]` | Array of colors used for graph elements. One per column, looping if insufficient colors are provided. |
-| `showHeaders` | `boolean` | Whether to show element names like "Graph" or "Commit message" at the top of the component. |
-| `rowSpacing` | `number` | The spacing between log rows, affecting branches, graph, and table. Default: `0`. |
-| `githubRepositoryUrl` | `string` | URL of the GitHub repository where `entries` came from. Enables links for commits, tags, and PRs. |
-| `defaultGraphWidth` | `number` | Default width of the graph in pixels. Can be changed dynamically if resizing is enabled. Default: `300`. |
-| `onSelectCommit` | `(commit?: Commit) => void` | Callback function when a commit is selected. `commit` is `undefined` if unselected. |
-| `classes` | `GitLogStylingProps` | CSS classes for various elements to enable custom styling. |
+| Property | Type | Description |
+|-----------------------|-----------------------------|----------------------------------------------------------------------------------------------------------|
+| `theme` | `ThemeMode` | The variant of the default color theme to apply to the log. |
+| `colours` | `ThemeColours \| string[]` | Array of colors used for graph elements. One per column, looping if insufficient colors are provided. |
+| `showHeaders` | `boolean` | Whether to show element names like "Graph" or "Commit message" at the top of the component. |
+| `rowSpacing` | `number` | The spacing between log rows, affecting branches, graph, and table. Default: `0`. |
+| `githubRepositoryUrl` | `string` | URL of the GitHub repository where `entries` came from. Enables links for commits, tags, and PRs. |
+| `defaultGraphWidth` | `number` | Default width of the graph in pixels. Can be changed dynamically if resizing is enabled. Default: `300`. |
+| `onSelectCommit` | `(commit?: Commit) => void` | Callback function when a commit is selected. `commit` is `undefined` if unselected. |
+| `classes` | `GitLogStylingProps` | CSS classes for various elements to enable custom styling. |
+| `indexStatus` | `GitLogIndexStatus` | Renders information about added, deleted and modified files to the index pseudo-commit entry. |
-#### **GitLogStylingProps**
+#### GitLogStylingProps
| Property | Type | Description |
|-------------------|-----------------|--------------------------------------------------------------------------------|
| `containerClass` | `string` | Class name for the wrapping `` containing branches, graph, and log table. |
@@ -194,6 +196,14 @@ All components have optional props to further configure the log.
| `size` | `number` | The number of rows to show per page. |
| `page` | `number` | The page number to display (first page is `0`). |
+#### GitLogIndexStatus
+
+| Prop | Type | Description |
+|------------|----------|---------------------------------------------------------------------------|
+| `added` | `number` | The number of added files in the git index for the checked-out branch. |
+| `deleted` | `number` | The number of deleted files in the git index for the checked-out branch. |
+| `modified` | `number` | The number of modified files in the git index for the checked-out branch. |
+
### Graph
| Property | Type | Description |
diff --git a/packages/library/src/GitLog.integration.spec.tsx b/packages/library/src/GitLog.integration.spec.tsx
index 20c5d5ef..b6ecccb5 100644
--- a/packages/library/src/GitLog.integration.spec.tsx
+++ b/packages/library/src/GitLog.integration.spec.tsx
@@ -167,7 +167,7 @@ describe('GitLog Integration', () => {
const indexTableRow = table.row({ row: 0 })
expect(indexTableRow).toBeInTheDocument()
- expect(table.commitMessageData({ row: 0 })).toHaveTextContent('// Work in-progress in TomPlum/sleep...')
+ expect(table.commitMessageData({ row: 0 })).toHaveTextContent('// WIP')
expect(table.timestampData({ row: 0 })).toHaveTextContent('-')
expect(table.authorData({ row: 0 })).toHaveTextContent('-')
}
diff --git a/packages/library/src/__snapshots__/GitLog.spec.tsx.snap b/packages/library/src/__snapshots__/GitLog.spec.tsx.snap
index 593dd7af..2683e1eb 100644
--- a/packages/library/src/__snapshots__/GitLog.spec.tsx.snap
+++ b/packages/library/src/__snapshots__/GitLog.spec.tsx.snap
@@ -42604,9 +42604,9 @@ exports[`GitLog > should render correctly and match the snapshot of the GitLog c
data-testid="react-git-log-table-data-commit-message-0"
id="react-git-log-table-data-commit-message-0"
style="line-height: 40px; color: rgb(153, 153, 153); background: linear-gradient( to bottom, transparent 2px, transparent 2px, transparent 38px, transparent 38px );"
- title="// Work in-progress in TomPlum/sleep..."
+ title="// WIP"
>
- // Work in-progress in TomPlum/sleep...
+ // WIP
should render correctly and match the snapshot of the GitLog c
data-testid="react-git-log-table-data-commit-message-0"
id="react-git-log-table-data-commit-message-0"
style="line-height: 40px; color: rgb(153, 153, 153); background: linear-gradient( to bottom, transparent 2px, transparent 2px, transparent 38px, transparent 38px );"
- title="// Work in-progress in TomPlum/sleep..."
+ title="// WIP"
>
- // Work in-progress in TomPlum/sleep...
+ // WIP
should render correctly and match the snapshot of the GitLog c
data-testid="react-git-log-table-data-commit-message-0"
id="react-git-log-table-data-commit-message-0"
style="line-height: 40px; color: rgb(153, 153, 153); background: linear-gradient( to bottom, transparent 6px, transparent 6px, transparent 34px, transparent 34px );"
- title="// Work in-progress in TomPlum/sleep..."
+ title="// WIP"
>
- // Work in-progress in TomPlum/sleep...
+ // WIP
): GitContextBag => ({
headCommit: commit({ hash: 'HEAD' }),
graphData: graphData(),
showHeaders: true,
+ graphOrientation: 'normal',
+ setGraphOrientation: vi.fn(),
+ nodeSize: 20,
+ setNodeSize: vi.fn(),
+ headCommitHash: '123',
+ indexStatus: {
+ deleted: 0,
+ modified: 0,
+ added: 0
+ },
...bag
})
@@ -58,6 +68,9 @@ export const graphContextBag = (bag?: Partial
): GraphContextBag
nodeTheme: 'default',
showCommitNodeTooltips: false,
showCommitNodeHashes: false,
+ graphWidth: 200,
+ nodeSize: 20,
+ orientation: 'normal',
...bag
})
diff --git a/packages/library/src/assets/minus.svg b/packages/library/src/assets/minus.svg
new file mode 100644
index 00000000..103880af
--- /dev/null
+++ b/packages/library/src/assets/minus.svg
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/library/src/assets/pencil.svg b/packages/library/src/assets/pencil.svg
new file mode 100644
index 00000000..956194f6
--- /dev/null
+++ b/packages/library/src/assets/pencil.svg
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/library/src/assets/plus.svg b/packages/library/src/assets/plus.svg
new file mode 100644
index 00000000..ca75b8d4
--- /dev/null
+++ b/packages/library/src/assets/plus.svg
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/library/src/components/GitLogCore/GitLogCore.tsx b/packages/library/src/components/GitLogCore/GitLogCore.tsx
index f8592ef0..24297855 100644
--- a/packages/library/src/components/GitLogCore/GitLogCore.tsx
+++ b/packages/library/src/components/GitLogCore/GitLogCore.tsx
@@ -26,6 +26,7 @@ export const GitLogCore = ({
paging,
headCommitHash,
componentName,
+ indexStatus,
isServerSidePaginated = false
}: PropsWithChildren) => {
const { tags, graph, table } = useMemo(() => {
@@ -132,25 +133,19 @@ export const GitLogCore = ({
return undefined
}
- const repositorySegments = githubRepositoryUrl?.split('/')
- const slashes = repositorySegments?.length ?? 0
- const lastTwoSegments = repositorySegments?.slice(slashes - 2, slashes)
- const repositoryName = lastTwoSegments?.join('/')
- const withRepoMessage = ` in ${repositoryName}...`
-
return ({
hash: 'index',
branch: headCommit.branch,
parents: [headCommit.hash],
children: [],
authorDate: new Date().toString(),
- message: `// Work in-progress${githubRepositoryUrl ? withRepoMessage : '...'}`,
+ message: '// WIP',
committerDate: new Date().toString(),
isBranchTip: false,
x: 0,
y: 0
})
- }, [githubRepositoryUrl, headCommit])
+ }, [headCommit])
const pageIndices = useMemo(() => {
const page = paging?.page ?? 0
@@ -208,7 +203,8 @@ export const GitLogCore = ({
nodeSize,
setNodeSize,
graphOrientation,
- setGraphOrientation
+ setGraphOrientation,
+ indexStatus
}), [
themeColours,
classes,
@@ -232,7 +228,8 @@ export const GitLogCore = ({
isServerSidePaginated,
isIndexVisible,
nodeSize,
- graphOrientation
+ graphOrientation,
+ indexStatus
])
return (
diff --git a/packages/library/src/context/GitContext/types.ts b/packages/library/src/context/GitContext/types.ts
index 8beaf645..4ecb1d29 100644
--- a/packages/library/src/context/GitContext/types.ts
+++ b/packages/library/src/context/GitContext/types.ts
@@ -1,7 +1,7 @@
import { Commit } from 'types/Commit'
import { ThemeMode } from 'hooks/useTheme'
import { GraphData } from 'data'
-import { GitLogStylingProps } from '../../types'
+import { GitLogIndexStatus, GitLogStylingProps } from '../../types'
import { GraphOrientation } from 'modules/Graph'
export interface GitContextBag {
@@ -186,6 +186,12 @@ export interface GitContextBag {
*/
theme: ThemeMode
+ /**
+ * The status of changed files in the
+ * Git index.
+ */
+ indexStatus?: GitLogIndexStatus
+
/**
* Indicates whether the GitLogPaged
* variant of the component is being used.
diff --git a/packages/library/src/modules/Table/components/CommitMessageData/CommitMessageData.module.scss b/packages/library/src/modules/Table/components/CommitMessageData/CommitMessageData.module.scss
index 15cce668..81fd308a 100644
--- a/packages/library/src/modules/Table/components/CommitMessageData/CommitMessageData.module.scss
+++ b/packages/library/src/modules/Table/components/CommitMessageData/CommitMessageData.module.scss
@@ -5,4 +5,5 @@
padding-right: 30px;
padding-left: 20px;
font-weight: 400;
+ display: flex;
}
\ No newline at end of file
diff --git a/packages/library/src/modules/Table/components/CommitMessageData/CommitMessageData.spec.tsx b/packages/library/src/modules/Table/components/CommitMessageData/CommitMessageData.spec.tsx
new file mode 100644
index 00000000..5b5da963
--- /dev/null
+++ b/packages/library/src/modules/Table/components/CommitMessageData/CommitMessageData.spec.tsx
@@ -0,0 +1,40 @@
+import { render, screen } from '@testing-library/react'
+import { CommitMessageData } from './CommitMessageData'
+import * as gitContext from 'context/GitContext'
+import { gitContextBag } from 'test/stubs'
+
+describe('CommitMessageData', () => {
+ it('should render the index status if isIndex is true', () => {
+ vi.spyOn(gitContext, 'useGitContext').mockReturnValueOnce(gitContextBag({
+ indexStatus: {
+ modified: 4,
+ added: 2,
+ deleted: 3
+ }
+ }))
+
+ render(
+
+ )
+
+ expect(screen.getByTestId('index-status')).toBeInTheDocument()
+ })
+
+ it('should not render the index status if isIndex is false', () => {
+ render(
+
+ )
+
+ expect(screen.queryByTestId('index-status')).not.toBeInTheDocument()
+ })
+})
\ No newline at end of file
diff --git a/packages/library/src/modules/Table/components/CommitMessageData/CommitMessageData.tsx b/packages/library/src/modules/Table/components/CommitMessageData/CommitMessageData.tsx
index 06450fc5..aada7e2e 100644
--- a/packages/library/src/modules/Table/components/CommitMessageData/CommitMessageData.tsx
+++ b/packages/library/src/modules/Table/components/CommitMessageData/CommitMessageData.tsx
@@ -1,7 +1,8 @@
import styles from './CommitMessageData.module.scss'
import { CommitMessageDataProps } from './types'
+import { IndexStatus } from 'modules/Table/components/IndexStatus'
-export const CommitMessageData = ({ index, commitMessage, style }: CommitMessageDataProps) => {
+export const CommitMessageData = ({ index, isIndex, commitMessage, style }: CommitMessageDataProps) => {
return (
{commitMessage}
+
+ {isIndex && (
+
+ )}
)
}
\ No newline at end of file
diff --git a/packages/library/src/modules/Table/components/CommitMessageData/types.ts b/packages/library/src/modules/Table/components/CommitMessageData/types.ts
index b028e57c..3c77fdab 100644
--- a/packages/library/src/modules/Table/components/CommitMessageData/types.ts
+++ b/packages/library/src/modules/Table/components/CommitMessageData/types.ts
@@ -1,7 +1,8 @@
import { CSSProperties } from 'react'
export interface CommitMessageDataProps {
- index: number;
+ index: number
+ isIndex: boolean
style: CSSProperties
commitMessage: string
}
\ No newline at end of file
diff --git a/packages/library/src/modules/Table/components/IndexStatus/IndexStatus.module.scss b/packages/library/src/modules/Table/components/IndexStatus/IndexStatus.module.scss
new file mode 100644
index 00000000..89a978b5
--- /dev/null
+++ b/packages/library/src/modules/Table/components/IndexStatus/IndexStatus.module.scss
@@ -0,0 +1,42 @@
+.pencil, .plus, .minus {
+ height: 15px;
+ width: 15px;
+ margin-left: 2px;
+}
+
+.indexStatus {
+ display: flex;
+ align-items: center;
+ margin-left: 5px;
+ opacity: 0.8;
+ transition: opacity ease-in-out 0.2s;
+
+ &:hover {
+ opacity: 1;
+ }
+
+ .status {
+ display: flex;
+ align-items: center;
+ }
+}
+
+.value {
+ margin-left: 15px;
+}
+
+.iconWrapper {
+ margin-top: 2px;
+}
+
+.modified {
+ color: #e5a935;
+}
+
+.deleted {
+ color: #FF757C;
+}
+
+.added {
+ color: #5dc044;
+}
\ No newline at end of file
diff --git a/packages/library/src/modules/Table/components/IndexStatus/IndexStatus.spec.tsx b/packages/library/src/modules/Table/components/IndexStatus/IndexStatus.spec.tsx
new file mode 100644
index 00000000..ce654bba
--- /dev/null
+++ b/packages/library/src/modules/Table/components/IndexStatus/IndexStatus.spec.tsx
@@ -0,0 +1,84 @@
+import { render, screen } from '@testing-library/react'
+import { IndexStatus } from 'modules/Table/components/IndexStatus/IndexStatus'
+import * as gitContext from 'context/GitContext'
+import { gitContextBag } from 'test/stubs'
+
+describe('Index Status', () => {
+ it('should render the status numbers correctly', () => {
+ vi.spyOn(gitContext, 'useGitContext').mockReturnValueOnce(gitContextBag({
+ indexStatus: {
+ modified: 4,
+ added: 2,
+ deleted: 3
+ }
+ }))
+
+ render( )
+
+ const added = screen.getByTestId('index-status-added')
+ expect(added).toBeInTheDocument()
+ expect(added).toHaveTextContent('2')
+
+ const modified = screen.getByTestId('index-status-modified')
+ expect(modified).toBeInTheDocument()
+ expect(modified).toHaveTextContent('4')
+
+ const deleted = screen.getByTestId('index-status-deleted')
+ expect(deleted).toBeInTheDocument()
+ expect(deleted).toHaveTextContent('3')
+ })
+
+ it('should not render the added indicator if there are 0 added files in the index status', () => {
+ vi.spyOn(gitContext, 'useGitContext').mockReturnValueOnce(gitContextBag({
+ indexStatus: {
+ modified: 4,
+ added: 0,
+ deleted: 3
+ }
+ }))
+
+ render( )
+
+ const added = screen.queryByTestId('index-status-added')
+ expect(added).not.toBeInTheDocument()
+
+ expect(screen.getByTestId('index-status-modified')).toBeInTheDocument()
+ expect(screen.getByTestId('index-status-deleted')).toBeInTheDocument()
+ })
+
+ it('should not render the modified indicator if there are 0 modified files in the index status', () => {
+ vi.spyOn(gitContext, 'useGitContext').mockReturnValueOnce(gitContextBag({
+ indexStatus: {
+ modified: 0,
+ added: 1,
+ deleted: 3
+ }
+ }))
+
+ render( )
+
+ const modified = screen.queryByTestId('index-status-modified')
+ expect(modified).not.toBeInTheDocument()
+
+ expect(screen.getByTestId('index-status-added')).toBeInTheDocument()
+ expect(screen.getByTestId('index-status-deleted')).toBeInTheDocument()
+ })
+
+ it('should not render the deleted indicator if there are 0 deleted files in the index status', () => {
+ vi.spyOn(gitContext, 'useGitContext').mockReturnValueOnce(gitContextBag({
+ indexStatus: {
+ modified: 2,
+ added: 1,
+ deleted: 0
+ }
+ }))
+
+ render( )
+
+ const deleted = screen.queryByTestId('index-status-deleted')
+ expect(deleted).not.toBeInTheDocument()
+
+ expect(screen.getByTestId('index-status-modified')).toBeInTheDocument()
+ expect(screen.getByTestId('index-status-added')).toBeInTheDocument()
+ })
+})
\ No newline at end of file
diff --git a/packages/library/src/modules/Table/components/IndexStatus/IndexStatus.tsx b/packages/library/src/modules/Table/components/IndexStatus/IndexStatus.tsx
new file mode 100644
index 00000000..c0cd0687
--- /dev/null
+++ b/packages/library/src/modules/Table/components/IndexStatus/IndexStatus.tsx
@@ -0,0 +1,54 @@
+import styles from './IndexStatus.module.scss'
+import Pencil from 'assets/pencil.svg?react'
+import Plus from 'assets/plus.svg?react'
+import Minus from 'assets/minus.svg?react'
+import { useGitContext } from 'context/GitContext'
+import classNames from 'classnames'
+
+export const IndexStatus = () => {
+ const { indexStatus } = useGitContext()
+
+ if (!indexStatus) {
+ return null
+ }
+
+ return (
+
+ {indexStatus.modified > 0 && (
+
+
+ {indexStatus.modified}
+
+
+
+
+ )}
+
+ {indexStatus.added > 0 && (
+
+
+ {indexStatus.added}
+
+
+
+
+ )}
+
+ {indexStatus.deleted > 0 && (
+
+
+ {indexStatus.deleted}
+
+
+
+
+
+
+ )}
+
+ )
+}
\ No newline at end of file
diff --git a/packages/library/src/modules/Table/components/IndexStatus/index.ts b/packages/library/src/modules/Table/components/IndexStatus/index.ts
new file mode 100644
index 00000000..0af2bce0
--- /dev/null
+++ b/packages/library/src/modules/Table/components/IndexStatus/index.ts
@@ -0,0 +1 @@
+export * from './IndexStatus'
\ No newline at end of file
diff --git a/packages/library/src/modules/Table/components/TableRow/TableRow.tsx b/packages/library/src/modules/Table/components/TableRow/TableRow.tsx
index 40c16cc7..255738fc 100644
--- a/packages/library/src/modules/Table/components/TableRow/TableRow.tsx
+++ b/packages/library/src/modules/Table/components/TableRow/TableRow.tsx
@@ -93,6 +93,7 @@ export const TableRow = ({
index={index}
style={tableDataStyle}
commitMessage={commit.message}
+ isIndex={commit.hash === 'index'}
/>