diff --git a/web/package-lock.json b/web/package-lock.json
index c2c0c1f2a..c9d66bcfb 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -57,7 +57,7 @@
                 "@rollup/plugin-typescript": "^11.1.1",
                 "@storybook/addon-essentials": "^7.0.20",
                 "@storybook/addon-links": "^7.0.21",
-                "@storybook/blocks": "^7.0.20",
+                "@storybook/blocks": "^7.0.21",
                 "@storybook/web-components": "^7.0.21",
                 "@storybook/web-components-vite": "^7.0.20",
                 "@trivago/prettier-plugin-sort-imports": "^4.1.1",
@@ -4487,6 +4487,44 @@
                 }
             }
         },
+        "node_modules/@storybook/addon-controls/node_modules/@storybook/blocks": {
+            "version": "7.0.20",
+            "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.0.20.tgz",
+            "integrity": "sha512-DIKJ8fyuG8Lz5Anp21EZ/dKa0UhMbrRINskxUpInQZ51dgsEYc/0ENp8hm0XmbxdF58BlT8nsEIjIpCc9ZAbVQ==",
+            "dev": true,
+            "dependencies": {
+                "@storybook/channels": "7.0.20",
+                "@storybook/client-logger": "7.0.20",
+                "@storybook/components": "7.0.20",
+                "@storybook/core-events": "7.0.20",
+                "@storybook/csf": "^0.1.0",
+                "@storybook/docs-tools": "7.0.20",
+                "@storybook/global": "^5.0.0",
+                "@storybook/manager-api": "7.0.20",
+                "@storybook/preview-api": "7.0.20",
+                "@storybook/theming": "7.0.20",
+                "@storybook/types": "7.0.20",
+                "@types/lodash": "^4.14.167",
+                "color-convert": "^2.0.1",
+                "dequal": "^2.0.2",
+                "lodash": "^4.17.21",
+                "markdown-to-jsx": "^7.1.8",
+                "memoizerific": "^1.11.3",
+                "polished": "^4.2.2",
+                "react-colorful": "^5.1.2",
+                "telejson": "^7.0.3",
+                "ts-dedent": "^2.0.0",
+                "util-deprecate": "^1.0.2"
+            },
+            "funding": {
+                "type": "opencollective",
+                "url": "https://opencollective.com/storybook"
+            },
+            "peerDependencies": {
+                "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+                "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+            }
+        },
         "node_modules/@storybook/addon-controls/node_modules/@storybook/channel-postmessage": {
             "version": "7.0.20",
             "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.0.20.tgz",
@@ -4569,6 +4607,25 @@
                 "url": "https://opencollective.com/storybook"
             }
         },
+        "node_modules/@storybook/addon-controls/node_modules/@storybook/docs-tools": {
+            "version": "7.0.20",
+            "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.0.20.tgz",
+            "integrity": "sha512-9MfQaIseC6fzU5McyBOYiVNHa4wiyVyNMG+rOgdDI4Q+JZDRm9wgf+mtB5Uc8bZZZJRUTxSKJwqeFlxn9zTJgA==",
+            "dev": true,
+            "dependencies": {
+                "@babel/core": "^7.12.10",
+                "@storybook/core-common": "7.0.20",
+                "@storybook/preview-api": "7.0.20",
+                "@storybook/types": "7.0.20",
+                "@types/doctrine": "^0.0.3",
+                "doctrine": "^3.0.0",
+                "lodash": "^4.17.21"
+            },
+            "funding": {
+                "type": "opencollective",
+                "url": "https://opencollective.com/storybook"
+            }
+        },
         "node_modules/@storybook/addon-controls/node_modules/@storybook/manager-api": {
             "version": "7.0.20",
             "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.0.20.tgz",
@@ -4974,6 +5031,44 @@
                 "node": ">=6.9.0"
             }
         },
+        "node_modules/@storybook/addon-docs/node_modules/@storybook/blocks": {
+            "version": "7.0.20",
+            "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.0.20.tgz",
+            "integrity": "sha512-DIKJ8fyuG8Lz5Anp21EZ/dKa0UhMbrRINskxUpInQZ51dgsEYc/0ENp8hm0XmbxdF58BlT8nsEIjIpCc9ZAbVQ==",
+            "dev": true,
+            "dependencies": {
+                "@storybook/channels": "7.0.20",
+                "@storybook/client-logger": "7.0.20",
+                "@storybook/components": "7.0.20",
+                "@storybook/core-events": "7.0.20",
+                "@storybook/csf": "^0.1.0",
+                "@storybook/docs-tools": "7.0.20",
+                "@storybook/global": "^5.0.0",
+                "@storybook/manager-api": "7.0.20",
+                "@storybook/preview-api": "7.0.20",
+                "@storybook/theming": "7.0.20",
+                "@storybook/types": "7.0.20",
+                "@types/lodash": "^4.14.167",
+                "color-convert": "^2.0.1",
+                "dequal": "^2.0.2",
+                "lodash": "^4.17.21",
+                "markdown-to-jsx": "^7.1.8",
+                "memoizerific": "^1.11.3",
+                "polished": "^4.2.2",
+                "react-colorful": "^5.1.2",
+                "telejson": "^7.0.3",
+                "ts-dedent": "^2.0.0",
+                "util-deprecate": "^1.0.2"
+            },
+            "funding": {
+                "type": "opencollective",
+                "url": "https://opencollective.com/storybook"
+            },
+            "peerDependencies": {
+                "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+                "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+            }
+        },
         "node_modules/@storybook/addon-docs/node_modules/@storybook/channel-postmessage": {
             "version": "7.0.20",
             "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.0.20.tgz",
@@ -5015,6 +5110,37 @@
                 "url": "https://opencollective.com/storybook"
             }
         },
+        "node_modules/@storybook/addon-docs/node_modules/@storybook/core-common": {
+            "version": "7.0.20",
+            "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.0.20.tgz",
+            "integrity": "sha512-4uh/zMs884rlYSfPEzsZy8Z7lchitZTKI6031gigEMBBgdYZ1eHqwz91YfQK7e2dFKjxfw2y9HS1yRI57RJrQg==",
+            "dev": true,
+            "dependencies": {
+                "@storybook/node-logger": "7.0.20",
+                "@storybook/types": "7.0.20",
+                "@types/node": "^16.0.0",
+                "@types/pretty-hrtime": "^1.0.0",
+                "chalk": "^4.1.0",
+                "esbuild": "^0.17.0",
+                "esbuild-register": "^3.4.0",
+                "file-system-cache": "^2.0.0",
+                "find-up": "^5.0.0",
+                "fs-extra": "^11.1.0",
+                "glob": "^8.1.0",
+                "glob-promise": "^6.0.2",
+                "handlebars": "^4.7.7",
+                "lazy-universal-dotenv": "^4.0.0",
+                "picomatch": "^2.3.0",
+                "pkg-dir": "^5.0.0",
+                "pretty-hrtime": "^1.0.3",
+                "resolve-from": "^5.0.0",
+                "ts-dedent": "^2.0.0"
+            },
+            "funding": {
+                "type": "opencollective",
+                "url": "https://opencollective.com/storybook"
+            }
+        },
         "node_modules/@storybook/addon-docs/node_modules/@storybook/core-events": {
             "version": "7.0.20",
             "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.0.20.tgz",
@@ -5046,6 +5172,56 @@
                 "url": "https://opencollective.com/storybook"
             }
         },
+        "node_modules/@storybook/addon-docs/node_modules/@storybook/docs-tools": {
+            "version": "7.0.20",
+            "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.0.20.tgz",
+            "integrity": "sha512-9MfQaIseC6fzU5McyBOYiVNHa4wiyVyNMG+rOgdDI4Q+JZDRm9wgf+mtB5Uc8bZZZJRUTxSKJwqeFlxn9zTJgA==",
+            "dev": true,
+            "dependencies": {
+                "@babel/core": "^7.12.10",
+                "@storybook/core-common": "7.0.20",
+                "@storybook/preview-api": "7.0.20",
+                "@storybook/types": "7.0.20",
+                "@types/doctrine": "^0.0.3",
+                "doctrine": "^3.0.0",
+                "lodash": "^4.17.21"
+            },
+            "funding": {
+                "type": "opencollective",
+                "url": "https://opencollective.com/storybook"
+            }
+        },
+        "node_modules/@storybook/addon-docs/node_modules/@storybook/manager-api": {
+            "version": "7.0.20",
+            "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.0.20.tgz",
+            "integrity": "sha512-/f4L63SWcj4OCck8hdKItnlq/QDZAF6fn4QDLdqXNhPsoi+G6YUMVBX23bW0ygyTM0nrOoAPLVP934H33Xb9Bg==",
+            "dev": true,
+            "dependencies": {
+                "@storybook/channels": "7.0.20",
+                "@storybook/client-logger": "7.0.20",
+                "@storybook/core-events": "7.0.20",
+                "@storybook/csf": "^0.1.0",
+                "@storybook/global": "^5.0.0",
+                "@storybook/router": "7.0.20",
+                "@storybook/theming": "7.0.20",
+                "@storybook/types": "7.0.20",
+                "dequal": "^2.0.2",
+                "lodash": "^4.17.21",
+                "memoizerific": "^1.11.3",
+                "semver": "^7.3.7",
+                "store2": "^2.14.2",
+                "telejson": "^7.0.3",
+                "ts-dedent": "^2.0.0"
+            },
+            "funding": {
+                "type": "opencollective",
+                "url": "https://opencollective.com/storybook"
+            },
+            "peerDependencies": {
+                "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+                "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+            }
+        },
         "node_modules/@storybook/addon-docs/node_modules/@storybook/node-logger": {
             "version": "7.0.20",
             "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.0.20.tgz",
@@ -5089,6 +5265,25 @@
                 "url": "https://opencollective.com/storybook"
             }
         },
+        "node_modules/@storybook/addon-docs/node_modules/@storybook/router": {
+            "version": "7.0.20",
+            "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.0.20.tgz",
+            "integrity": "sha512-Nzyy62hlP4QR3Dub2/PBqi2E7NjKUd1HBEMXFg2ggWF7ak2h9M1iPI0gGk6sUuC5NBVzYP20eF9wrz3Fe9eq8Q==",
+            "dev": true,
+            "dependencies": {
+                "@storybook/client-logger": "7.0.20",
+                "memoizerific": "^1.11.3",
+                "qs": "^6.10.0"
+            },
+            "funding": {
+                "type": "opencollective",
+                "url": "https://opencollective.com/storybook"
+            },
+            "peerDependencies": {
+                "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+                "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+            }
+        },
         "node_modules/@storybook/addon-docs/node_modules/@storybook/theming": {
             "version": "7.0.20",
             "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.0.20.tgz",
@@ -5125,6 +5320,16 @@
                 "url": "https://opencollective.com/storybook"
             }
         },
+        "node_modules/@storybook/addon-docs/node_modules/@types/glob": {
+            "version": "8.1.0",
+            "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz",
+            "integrity": "sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==",
+            "dev": true,
+            "dependencies": {
+                "@types/minimatch": "^5.1.2",
+                "@types/node": "*"
+            }
+        },
         "node_modules/@storybook/addon-docs/node_modules/ansi-styles": {
             "version": "4.3.0",
             "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -5140,6 +5345,15 @@
                 "url": "https://github.com/chalk/ansi-styles?sponsor=1"
             }
         },
+        "node_modules/@storybook/addon-docs/node_modules/brace-expansion": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+            "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+            "dev": true,
+            "dependencies": {
+                "balanced-match": "^1.0.0"
+            }
+        },
         "node_modules/@storybook/addon-docs/node_modules/chalk": {
             "version": "4.1.2",
             "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -5188,6 +5402,44 @@
                 "node": ">=14.14"
             }
         },
+        "node_modules/@storybook/addon-docs/node_modules/glob": {
+            "version": "8.1.0",
+            "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+            "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+            "dev": true,
+            "dependencies": {
+                "fs.realpath": "^1.0.0",
+                "inflight": "^1.0.4",
+                "inherits": "2",
+                "minimatch": "^5.0.1",
+                "once": "^1.3.0"
+            },
+            "engines": {
+                "node": ">=12"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/isaacs"
+            }
+        },
+        "node_modules/@storybook/addon-docs/node_modules/glob-promise": {
+            "version": "6.0.3",
+            "resolved": "https://registry.npmjs.org/glob-promise/-/glob-promise-6.0.3.tgz",
+            "integrity": "sha512-m+kxywR5j/2Z2V9zvHKfwwL5Gp7gIFEBX+deTB9w2lJB+wSuw9kcS43VfvTAMk8TXL5JCl/cCjsR+tgNVspGyA==",
+            "dev": true,
+            "dependencies": {
+                "@types/glob": "^8.0.0"
+            },
+            "engines": {
+                "node": ">=16"
+            },
+            "funding": {
+                "type": "individual",
+                "url": "https://github.com/sponsors/ahmadnassri"
+            },
+            "peerDependencies": {
+                "glob": "^8.0.3"
+            }
+        },
         "node_modules/@storybook/addon-docs/node_modules/has-flag": {
             "version": "4.0.0",
             "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -5197,6 +5449,42 @@
                 "node": ">=8"
             }
         },
+        "node_modules/@storybook/addon-docs/node_modules/minimatch": {
+            "version": "5.1.6",
+            "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+            "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+            "dev": true,
+            "dependencies": {
+                "brace-expansion": "^2.0.1"
+            },
+            "engines": {
+                "node": ">=10"
+            }
+        },
+        "node_modules/@storybook/addon-docs/node_modules/resolve-from": {
+            "version": "5.0.0",
+            "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+            "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+            "dev": true,
+            "engines": {
+                "node": ">=8"
+            }
+        },
+        "node_modules/@storybook/addon-docs/node_modules/semver": {
+            "version": "7.5.2",
+            "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
+            "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
+            "dev": true,
+            "dependencies": {
+                "lru-cache": "^6.0.0"
+            },
+            "bin": {
+                "semver": "bin/semver.js"
+            },
+            "engines": {
+                "node": ">=10"
+            }
+        },
         "node_modules/@storybook/addon-docs/node_modules/supports-color": {
             "version": "7.2.0",
             "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -6838,22 +7126,22 @@
             }
         },
         "node_modules/@storybook/blocks": {
-            "version": "7.0.20",
-            "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.0.20.tgz",
-            "integrity": "sha512-DIKJ8fyuG8Lz5Anp21EZ/dKa0UhMbrRINskxUpInQZ51dgsEYc/0ENp8hm0XmbxdF58BlT8nsEIjIpCc9ZAbVQ==",
+            "version": "7.0.21",
+            "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.0.21.tgz",
+            "integrity": "sha512-afyr5qR2uO2gsJEXlzXPhOhMg0tAkUga5WbHQYF+7BxODYRXyXWhx95E1UHulgwTwgZHdzTrON4DmPH8M7NK0A==",
             "dev": true,
             "dependencies": {
-                "@storybook/channels": "7.0.20",
-                "@storybook/client-logger": "7.0.20",
-                "@storybook/components": "7.0.20",
-                "@storybook/core-events": "7.0.20",
+                "@storybook/channels": "7.0.21",
+                "@storybook/client-logger": "7.0.21",
+                "@storybook/components": "7.0.21",
+                "@storybook/core-events": "7.0.21",
                 "@storybook/csf": "^0.1.0",
-                "@storybook/docs-tools": "7.0.20",
+                "@storybook/docs-tools": "7.0.21",
                 "@storybook/global": "^5.0.0",
-                "@storybook/manager-api": "7.0.20",
-                "@storybook/preview-api": "7.0.20",
-                "@storybook/theming": "7.0.20",
-                "@storybook/types": "7.0.20",
+                "@storybook/manager-api": "7.0.21",
+                "@storybook/preview-api": "7.0.21",
+                "@storybook/theming": "7.0.21",
+                "@storybook/types": "7.0.21",
                 "@types/lodash": "^4.14.167",
                 "color-convert": "^2.0.1",
                 "dequal": "^2.0.2",
@@ -6876,14 +7164,14 @@
             }
         },
         "node_modules/@storybook/blocks/node_modules/@storybook/channel-postmessage": {
-            "version": "7.0.20",
-            "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.0.20.tgz",
-            "integrity": "sha512-GhVI40gbCnq20+Wjk/f8RD/T4gruLNKCjuwTnCAoKIQpMOVAB6ddx0469f9lF5tAha6alZn0MLk5CXPK8LAn5w==",
+            "version": "7.0.21",
+            "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.0.21.tgz",
+            "integrity": "sha512-zlm40ZMhi76gVPMJsOLyorcKQy4RpAoVQfdXne83x+xP/A2ppOyXEAhC9pQ5oaKM+ag3EQuIS+yK4zGIeriaYg==",
             "dev": true,
             "dependencies": {
-                "@storybook/channels": "7.0.20",
-                "@storybook/client-logger": "7.0.20",
-                "@storybook/core-events": "7.0.20",
+                "@storybook/channels": "7.0.21",
+                "@storybook/client-logger": "7.0.21",
+                "@storybook/core-events": "7.0.21",
                 "@storybook/global": "^5.0.0",
                 "qs": "^6.10.0",
                 "telejson": "^7.0.3"
@@ -6894,9 +7182,9 @@
             }
         },
         "node_modules/@storybook/blocks/node_modules/@storybook/channels": {
-            "version": "7.0.20",
-            "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.0.20.tgz",
-            "integrity": "sha512-AL5GGSQ8WTDUoh3gitKEzo3fu7Vq5okXq2pAknAZlQA2Oio+HHO5nMeXvOfGdvo/tzbpNE3n5utmCJz006xrCA==",
+            "version": "7.0.21",
+            "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.0.21.tgz",
+            "integrity": "sha512-8h4lvGQsdWrn/eLW9D9ZGB8FGTzRuC1almykVThb9SkATKZjUyUvtRT+BklsDIinptham83+0QiSdTrv52kAfA==",
             "dev": true,
             "funding": {
                 "type": "opencollective",
@@ -6904,9 +7192,9 @@
             }
         },
         "node_modules/@storybook/blocks/node_modules/@storybook/client-logger": {
-            "version": "7.0.20",
-            "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.0.20.tgz",
-            "integrity": "sha512-h0maWgvrhoDVALrbQ6ZFF0/7koVAazMbqWLmV/SF4JB2cBSgfgO0gmrCmKzUAe+KOABK/TMQTEQc1S1js0Dorw==",
+            "version": "7.0.21",
+            "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.0.21.tgz",
+            "integrity": "sha512-ENoBDuVr3RPepm6cBp61GGtGGUuogBzqMUaN4Rti+wYx9sKJlmDA8SR/fMk+GxeiJ5NOnYoa1Q1kCaF8/VFD9A==",
             "dev": true,
             "dependencies": {
                 "@storybook/global": "^5.0.0"
@@ -6916,80 +7204,54 @@
                 "url": "https://opencollective.com/storybook"
             }
         },
-        "node_modules/@storybook/blocks/node_modules/@storybook/core-common": {
-            "version": "7.0.20",
-            "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.0.20.tgz",
-            "integrity": "sha512-4uh/zMs884rlYSfPEzsZy8Z7lchitZTKI6031gigEMBBgdYZ1eHqwz91YfQK7e2dFKjxfw2y9HS1yRI57RJrQg==",
+        "node_modules/@storybook/blocks/node_modules/@storybook/components": {
+            "version": "7.0.21",
+            "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.0.21.tgz",
+            "integrity": "sha512-5h3ptaQxSwFetd0dhlNTZeaLfDYY7Mj9n/N6pTs71piW5gaM+o/Na7EMhuDDWa001zBXYdJYdcKU/a7FDQDuGQ==",
             "dev": true,
             "dependencies": {
-                "@storybook/node-logger": "7.0.20",
-                "@storybook/types": "7.0.20",
-                "@types/node": "^16.0.0",
-                "@types/pretty-hrtime": "^1.0.0",
-                "chalk": "^4.1.0",
-                "esbuild": "^0.17.0",
-                "esbuild-register": "^3.4.0",
-                "file-system-cache": "^2.0.0",
-                "find-up": "^5.0.0",
-                "fs-extra": "^11.1.0",
-                "glob": "^8.1.0",
-                "glob-promise": "^6.0.2",
-                "handlebars": "^4.7.7",
-                "lazy-universal-dotenv": "^4.0.0",
-                "picomatch": "^2.3.0",
-                "pkg-dir": "^5.0.0",
-                "pretty-hrtime": "^1.0.3",
-                "resolve-from": "^5.0.0",
-                "ts-dedent": "^2.0.0"
+                "@storybook/client-logger": "7.0.21",
+                "@storybook/csf": "^0.1.0",
+                "@storybook/global": "^5.0.0",
+                "@storybook/theming": "7.0.21",
+                "@storybook/types": "7.0.21",
+                "memoizerific": "^1.11.3",
+                "use-resize-observer": "^9.1.0",
+                "util-deprecate": "^1.0.2"
             },
             "funding": {
                 "type": "opencollective",
                 "url": "https://opencollective.com/storybook"
+            },
+            "peerDependencies": {
+                "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+                "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
             }
         },
         "node_modules/@storybook/blocks/node_modules/@storybook/core-events": {
-            "version": "7.0.20",
-            "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.0.20.tgz",
-            "integrity": "sha512-gUBQsbcDmRufmg8LdH7D57c/9BQ+cPi2vBcXdudmxeJFafGwDmLRu1mlv9rxlW4kicn/LZWJjKXtq4XXzF4OGg==",
+            "version": "7.0.21",
+            "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.0.21.tgz",
+            "integrity": "sha512-Qjtjrj+hFaC3b00p6q2aAxyLaRQWBf5eEPw5r0djcm5esXIs/q2xvu2xby7PR6KnKg/jT1bU9TOBxWbtKycijQ==",
             "dev": true,
             "funding": {
                 "type": "opencollective",
                 "url": "https://opencollective.com/storybook"
             }
         },
-        "node_modules/@storybook/blocks/node_modules/@storybook/docs-tools": {
-            "version": "7.0.20",
-            "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.0.20.tgz",
-            "integrity": "sha512-9MfQaIseC6fzU5McyBOYiVNHa4wiyVyNMG+rOgdDI4Q+JZDRm9wgf+mtB5Uc8bZZZJRUTxSKJwqeFlxn9zTJgA==",
-            "dev": true,
-            "dependencies": {
-                "@babel/core": "^7.12.10",
-                "@storybook/core-common": "7.0.20",
-                "@storybook/preview-api": "7.0.20",
-                "@storybook/types": "7.0.20",
-                "@types/doctrine": "^0.0.3",
-                "doctrine": "^3.0.0",
-                "lodash": "^4.17.21"
-            },
-            "funding": {
-                "type": "opencollective",
-                "url": "https://opencollective.com/storybook"
-            }
-        },
         "node_modules/@storybook/blocks/node_modules/@storybook/manager-api": {
-            "version": "7.0.20",
-            "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.0.20.tgz",
-            "integrity": "sha512-/f4L63SWcj4OCck8hdKItnlq/QDZAF6fn4QDLdqXNhPsoi+G6YUMVBX23bW0ygyTM0nrOoAPLVP934H33Xb9Bg==",
+            "version": "7.0.21",
+            "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.0.21.tgz",
+            "integrity": "sha512-YgS676/OMq2KmvYomcNzjwsVUtMYUylIt/0z5Fmg7exPXubEGpRd4OZIrQGHgcLKQRKZMK9GcsSkxebHO+qrsg==",
             "dev": true,
             "dependencies": {
-                "@storybook/channels": "7.0.20",
-                "@storybook/client-logger": "7.0.20",
-                "@storybook/core-events": "7.0.20",
+                "@storybook/channels": "7.0.21",
+                "@storybook/client-logger": "7.0.21",
+                "@storybook/core-events": "7.0.21",
                 "@storybook/csf": "^0.1.0",
                 "@storybook/global": "^5.0.0",
-                "@storybook/router": "7.0.20",
-                "@storybook/theming": "7.0.20",
-                "@storybook/types": "7.0.20",
+                "@storybook/router": "7.0.21",
+                "@storybook/theming": "7.0.21",
+                "@storybook/types": "7.0.21",
                 "dequal": "^2.0.2",
                 "lodash": "^4.17.21",
                 "memoizerific": "^1.11.3",
@@ -7007,35 +7269,19 @@
                 "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
             }
         },
-        "node_modules/@storybook/blocks/node_modules/@storybook/node-logger": {
-            "version": "7.0.20",
-            "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.0.20.tgz",
-            "integrity": "sha512-CibPbHs7ELVtx7++5OGHL13lMG0vKEBGBBcb3FJFgf5fLYOor3jJ/xbiUZpfdg34mwzXHTVUi7o4MMMd4nVe+g==",
-            "dev": true,
-            "dependencies": {
-                "@types/npmlog": "^4.1.2",
-                "chalk": "^4.1.0",
-                "npmlog": "^5.0.1",
-                "pretty-hrtime": "^1.0.3"
-            },
-            "funding": {
-                "type": "opencollective",
-                "url": "https://opencollective.com/storybook"
-            }
-        },
         "node_modules/@storybook/blocks/node_modules/@storybook/preview-api": {
-            "version": "7.0.20",
-            "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.0.20.tgz",
-            "integrity": "sha512-obtzMnI8X1GkOFivHUHsvXu8B0Lr/EECF+y35La1puGKbugviKj/k5vip2rlXmTDuqlxjexHZQOFz4n9NIeHiw==",
+            "version": "7.0.21",
+            "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.0.21.tgz",
+            "integrity": "sha512-IvOxQdSLV3B+82zS8MDHSO/pMEQdKIXJaz3knizhRuuB+cCdfv2Sro3IL3l8m2+90ySSwkfCqVEI4tdIC1ODXg==",
             "dev": true,
             "dependencies": {
-                "@storybook/channel-postmessage": "7.0.20",
-                "@storybook/channels": "7.0.20",
-                "@storybook/client-logger": "7.0.20",
-                "@storybook/core-events": "7.0.20",
+                "@storybook/channel-postmessage": "7.0.21",
+                "@storybook/channels": "7.0.21",
+                "@storybook/client-logger": "7.0.21",
+                "@storybook/core-events": "7.0.21",
                 "@storybook/csf": "^0.1.0",
                 "@storybook/global": "^5.0.0",
-                "@storybook/types": "7.0.20",
+                "@storybook/types": "7.0.21",
                 "@types/qs": "^6.9.5",
                 "dequal": "^2.0.2",
                 "lodash": "^4.17.21",
@@ -7051,12 +7297,12 @@
             }
         },
         "node_modules/@storybook/blocks/node_modules/@storybook/router": {
-            "version": "7.0.20",
-            "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.0.20.tgz",
-            "integrity": "sha512-Nzyy62hlP4QR3Dub2/PBqi2E7NjKUd1HBEMXFg2ggWF7ak2h9M1iPI0gGk6sUuC5NBVzYP20eF9wrz3Fe9eq8Q==",
+            "version": "7.0.21",
+            "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.0.21.tgz",
+            "integrity": "sha512-zVEwW8PPrg3UXaBlVw9s5wXlJhm9AwG0Lta9Oc0limg1JeXtE1alV+VH8b/O5ECjp34mTXHIAyNU1EF0bozgVw==",
             "dev": true,
             "dependencies": {
-                "@storybook/client-logger": "7.0.20",
+                "@storybook/client-logger": "7.0.21",
                 "memoizerific": "^1.11.3",
                 "qs": "^6.10.0"
             },
@@ -7070,13 +7316,13 @@
             }
         },
         "node_modules/@storybook/blocks/node_modules/@storybook/theming": {
-            "version": "7.0.20",
-            "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.0.20.tgz",
-            "integrity": "sha512-qmo/RKygt7W+NoHCfszChhSOFKe7eNeGzax4YR7yeX3brTzUQqGnb0onGv7MPtoCPhMFpbktK80u4biZtC7XhQ==",
+            "version": "7.0.21",
+            "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.0.21.tgz",
+            "integrity": "sha512-tgWoT0IdyPQIg+s/JMnP+MGTsAvNm6FJuiuKPebngids6rdYQ3EA5uQjBVV7De650JLhBFTFocS2Puj4Lti2bw==",
             "dev": true,
             "dependencies": {
                 "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0",
-                "@storybook/client-logger": "7.0.20",
+                "@storybook/client-logger": "7.0.21",
                 "@storybook/global": "^5.0.0",
                 "memoizerific": "^1.11.3"
             },
@@ -7090,12 +7336,12 @@
             }
         },
         "node_modules/@storybook/blocks/node_modules/@storybook/types": {
-            "version": "7.0.20",
-            "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.0.20.tgz",
-            "integrity": "sha512-Z7RhHRnhrPd2jXPZtjbOILj1QgylqlsD3cFIYMcSz3yvUvxLRx3BKCftXyFbIuxr0QoCJE38adRp7YGO9uJnQQ==",
+            "version": "7.0.21",
+            "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.0.21.tgz",
+            "integrity": "sha512-gZ8XEsg0upyiisbe2Qv+G+XN2+nZCxj6vJKvgWxuBPCjqN3Uw34cgDrIJuSa8YjE/yl/nsaV5s0xYdFXAl7JVQ==",
             "dev": true,
             "dependencies": {
-                "@storybook/channels": "7.0.20",
+                "@storybook/channels": "7.0.21",
                 "@types/babel__core": "^7.0.0",
                 "@types/express": "^4.7.0",
                 "file-system-cache": "^2.0.0"
@@ -7105,56 +7351,6 @@
                 "url": "https://opencollective.com/storybook"
             }
         },
-        "node_modules/@storybook/blocks/node_modules/@types/glob": {
-            "version": "8.1.0",
-            "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz",
-            "integrity": "sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==",
-            "dev": true,
-            "dependencies": {
-                "@types/minimatch": "^5.1.2",
-                "@types/node": "*"
-            }
-        },
-        "node_modules/@storybook/blocks/node_modules/ansi-styles": {
-            "version": "4.3.0",
-            "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-            "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-            "dev": true,
-            "dependencies": {
-                "color-convert": "^2.0.1"
-            },
-            "engines": {
-                "node": ">=8"
-            },
-            "funding": {
-                "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-            }
-        },
-        "node_modules/@storybook/blocks/node_modules/brace-expansion": {
-            "version": "2.0.1",
-            "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-            "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
-            "dev": true,
-            "dependencies": {
-                "balanced-match": "^1.0.0"
-            }
-        },
-        "node_modules/@storybook/blocks/node_modules/chalk": {
-            "version": "4.1.2",
-            "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-            "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-            "dev": true,
-            "dependencies": {
-                "ansi-styles": "^4.1.0",
-                "supports-color": "^7.1.0"
-            },
-            "engines": {
-                "node": ">=10"
-            },
-            "funding": {
-                "url": "https://github.com/chalk/chalk?sponsor=1"
-            }
-        },
         "node_modules/@storybook/blocks/node_modules/color-convert": {
             "version": "2.0.1",
             "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -7173,92 +7369,10 @@
             "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
             "dev": true
         },
-        "node_modules/@storybook/blocks/node_modules/fs-extra": {
-            "version": "11.1.1",
-            "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz",
-            "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==",
-            "dev": true,
-            "dependencies": {
-                "graceful-fs": "^4.2.0",
-                "jsonfile": "^6.0.1",
-                "universalify": "^2.0.0"
-            },
-            "engines": {
-                "node": ">=14.14"
-            }
-        },
-        "node_modules/@storybook/blocks/node_modules/glob": {
-            "version": "8.1.0",
-            "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
-            "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
-            "dev": true,
-            "dependencies": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^5.0.1",
-                "once": "^1.3.0"
-            },
-            "engines": {
-                "node": ">=12"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/isaacs"
-            }
-        },
-        "node_modules/@storybook/blocks/node_modules/glob-promise": {
-            "version": "6.0.2",
-            "resolved": "https://registry.npmjs.org/glob-promise/-/glob-promise-6.0.2.tgz",
-            "integrity": "sha512-Ni2aDyD1ekD6x8/+K4hDriRDbzzfuK4yKpqSymJ4P7IxbtARiOOuU+k40kbHM0sLIlbf1Qh0qdMkAHMZYE6XJQ==",
-            "dev": true,
-            "dependencies": {
-                "@types/glob": "^8.0.0"
-            },
-            "engines": {
-                "node": ">=16"
-            },
-            "funding": {
-                "type": "individual",
-                "url": "https://github.com/sponsors/ahmadnassri"
-            },
-            "peerDependencies": {
-                "glob": "^8.0.3"
-            }
-        },
-        "node_modules/@storybook/blocks/node_modules/has-flag": {
-            "version": "4.0.0",
-            "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-            "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-            "dev": true,
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/@storybook/blocks/node_modules/minimatch": {
-            "version": "5.1.6",
-            "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
-            "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
-            "dev": true,
-            "dependencies": {
-                "brace-expansion": "^2.0.1"
-            },
-            "engines": {
-                "node": ">=10"
-            }
-        },
-        "node_modules/@storybook/blocks/node_modules/resolve-from": {
-            "version": "5.0.0",
-            "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
-            "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
-            "dev": true,
-            "engines": {
-                "node": ">=8"
-            }
-        },
         "node_modules/@storybook/blocks/node_modules/semver": {
-            "version": "7.5.1",
-            "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
-            "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
+            "version": "7.5.2",
+            "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
+            "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
             "dev": true,
             "dependencies": {
                 "lru-cache": "^6.0.0"
@@ -7270,18 +7384,6 @@
                 "node": ">=10"
             }
         },
-        "node_modules/@storybook/blocks/node_modules/supports-color": {
-            "version": "7.2.0",
-            "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-            "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-            "dev": true,
-            "dependencies": {
-                "has-flag": "^4.0.0"
-            },
-            "engines": {
-                "node": ">=8"
-            }
-        },
         "node_modules/@storybook/builder-manager": {
             "version": "7.0.21",
             "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.0.21.tgz",
diff --git a/web/package.json b/web/package.json
index 1856438c5..f7dd9ce8b 100644
--- a/web/package.json
+++ b/web/package.json
@@ -73,7 +73,7 @@
         "@rollup/plugin-typescript": "^11.1.1",
         "@storybook/addon-essentials": "^7.0.20",
         "@storybook/addon-links": "^7.0.21",
-        "@storybook/blocks": "^7.0.20",
+        "@storybook/blocks": "^7.0.21",
         "@storybook/web-components": "^7.0.21",
         "@storybook/web-components-vite": "^7.0.20",
         "@trivago/prettier-plugin-sort-imports": "^4.1.1",