diff --git a/package-lock.json b/package-lock.json index eaae5bd67..f9e1fe17d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -73,7 +73,7 @@ "@babel/plugin-syntax-import-attributes": "^7.27.1", "@babel/preset-env": "^7.28.5", "@babel/preset-typescript": "^7.28.5", - "@defra/docusaurus-theme-govuk": "^0.0.22-alpha", + "@defra/docusaurus-theme-govuk": "^1.0.0", "@docusaurus/core": "^3.10.1", "@docusaurus/plugin-content-docs": "^3.10.1", "@easyops-cn/docusaurus-search-local": "^0.55.0", @@ -137,6 +137,7 @@ "prettier": "^3.6.2", "react": "^19.2.4", "react-dom": "^19.2.4", + "react-router-dom": "^5.3.4", "sass-embedded": "^1.93.3", "sass-loader": "^16.0.6", "source-map-loader": "^5.0.0", @@ -3595,52 +3596,67 @@ } }, "node_modules/@defra/docusaurus-theme-govuk": { - "version": "0.0.22-alpha", - "resolved": "https://registry.npmjs.org/@defra/docusaurus-theme-govuk/-/docusaurus-theme-govuk-0.0.22-alpha.tgz", - "integrity": "sha512-hSIJov5/DrYVRfg3XqgFe40bKp6lb+LGGq5QITAWKzsu7kpbdAi3jaaWU2n3WFIH0CUCU1nos8Ux0x7iLGTYXw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@defra/docusaurus-theme-govuk/-/docusaurus-theme-govuk-1.0.0.tgz", + "integrity": "sha512-qAEeLpYypIuZ3+CsdNDKN56MdrW5gykAucw754WnDp4EFptUXydAhOnrk1E/jorST+OKqg2nYWXAzpgKsG2Weg==", "dev": true, "license": "MIT", "dependencies": { "@mdx-js/react": "^3.0.0", - "@not-govuk/simple-components": "^0.17.3", - "clsx": "^2.0.0", - "copy-webpack-plugin": "^11.0.0", - "css-loader": "^7.1.0", + "@not-govuk/simple-components": "^0.17.4", + "copy-webpack-plugin": "^14.0.0", + "css-loader": "^7.1.5", "github-slugger": "^2.0.0", "govuk-frontend": "^5.14.0", "postcss-loader": "^8.2.0", "prism-react-renderer": "^2.3.0", - "remove-markdown": "^0.6.3", - "sass": "^1.97.0", - "sass-loader": "^16.0.0", + "remove-markdown": "^0.8.0", + "sass": "^1.106.1", + "sass-loader": "^16.0.8", "style-loader": "^4.0.0" }, "engines": { - "node": ">=18.0" + "node": ">=20.9" }, "peerDependencies": { "@docusaurus/core": "^3.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0", + "react-router-dom": "^5.3.4", "webpack": "^5.0.0" } }, + "node_modules/@defra/docusaurus-theme-govuk/node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@defra/docusaurus-theme-govuk/node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-14.0.0.tgz", + "integrity": "sha512-3JLW90aBGeaTLpM7mYQKpnVdgsUZRExY55giiZgLuX/xTQRUs1dOCwbBnWnvY6Q6rfZoXMNwzOQJCSZPppfqXA==", "dev": true, "license": "MIT", "dependencies": { - "fast-glob": "^3.2.11", "glob-parent": "^6.0.1", - "globby": "^13.1.1", "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" + "schema-utils": "^4.2.0", + "serialize-javascript": "^7.0.3", + "tinyglobby": "^0.2.12" }, "engines": { - "node": ">= 14.15.0" + "node": ">= 20.9.0" }, "funding": { "type": "opencollective", @@ -3663,37 +3679,39 @@ "node": ">=10.13.0" } }, - "node_modules/@defra/docusaurus-theme-govuk/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "node_modules/@defra/docusaurus-theme-govuk/node_modules/readdirp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz", + "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==", "dev": true, "license": "MIT", - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">= 20.19.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@defra/docusaurus-theme-govuk/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "node_modules/@defra/docusaurus-theme-govuk/node_modules/sass": { + "version": "1.106.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.106.1.tgz", + "integrity": "sha512-kD+Gi66vycZcbJt+42NC4z4PXNMcCajVrJPhqoKKXy5cOBMmJQt052CxIBcRjwYXeImHYOpu/ydWWGZQIenl7A==", "dev": true, "license": "MIT", + "dependencies": { + "chokidar": "^5.0.0", + "immutable": "^5.1.5", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, "engines": { - "node": ">=12" + "node": ">=20.19.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" } }, "node_modules/@defra/forms-model": { @@ -8194,19 +8212,19 @@ } }, "node_modules/@not-govuk/aside": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/aside/-/aside-0.17.3.tgz", - "integrity": "sha512-Ra60Z/9ZVwqCQsOXbs/Wj9K4G6Efh/tN9K3sip7JJm77n1ZOpQlrfQjlf4Gs4/T4NsHLeVq4Gx4vG2eoRVuL6w==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/aside/-/aside-0.17.4.tgz", + "integrity": "sha512-UbQnheu2x/IgOeEgSBQMe6cG63fTgqvbGFUNiSsJEWT73wjGoF7rb1dy+s+dNlcQ3gm7j7Uyb/e6eja2mdYIJQ==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8219,21 +8237,21 @@ } }, "node_modules/@not-govuk/back-link": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/back-link/-/back-link-0.17.3.tgz", - "integrity": "sha512-AcjEIsum4XB58NY3iJtqdK1YDhbpue9h0TuEXOxJ4ORQ8ADAA06xmgCaqZt/hEdmI2Rgs4m1MIKiKtmjEUoLOw==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/back-link/-/back-link-0.17.4.tgz", + "integrity": "sha512-cPIuPxdtb/GcYs/RGtoDI/vs+SSTb6Lfw5PPJefstbolQlejAAd9sslMdk9LBb+sD0NJxo93EBdyKgQrl+Z3hg==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/link": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", - "@react-foundry/router": "^0.1.7", + "@not-govuk/link": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", + "@react-foundry/router": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8246,20 +8264,20 @@ } }, "node_modules/@not-govuk/breadcrumbs": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/breadcrumbs/-/breadcrumbs-0.17.3.tgz", - "integrity": "sha512-Ms8W9pIwvGpWBrckv9Ja/BQuPNyeuOis4QH0d/3oX1IU2P6T+y0nGrK1rcMW+puIg/PKNLESYje//ijI8+i09A==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/breadcrumbs/-/breadcrumbs-0.17.4.tgz", + "integrity": "sha512-tjplzm74BIDzbvq/VB28hSLdLyLrjiGYe/GfEBtx9LeX6KHzbWeMoOXhlI2C8euUcQuq4CXzRE0l9GbkVArfPQ==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/anchor-list": "^0.1.7", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/anchor-list": "^0.1.9", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8272,20 +8290,20 @@ } }, "node_modules/@not-govuk/button": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/button/-/button-0.17.3.tgz", - "integrity": "sha512-eIeQQ1hxwjp6G9XS4rUV4L9gPW2qcrUoYv5tnGwvFNRqnUVGqheK2+pTA96Xk41tv+dUsouoAUSaGBpDVcVq5Q==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/button/-/button-0.17.4.tgz", + "integrity": "sha512-ShLbfq9JmPKQNdkI0iIgnFwfwUHtuZ8v0JXYpYA4os/2BLJljK+0LXvEpA2fX1igsG7ZKE1EHoemFSFV76BObg==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/link": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/link": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8298,19 +8316,19 @@ } }, "node_modules/@not-govuk/button-group": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/button-group/-/button-group-0.17.3.tgz", - "integrity": "sha512-XXbeklSWnIOa7W4278oJ3HKh6ZrbSEQYgv8r/luB7Mdva8t1caxYE0Hvs6wmiZ9FaRl+38xoj03DswdW5OzrXg==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/button-group/-/button-group-0.17.4.tgz", + "integrity": "sha512-/m35gevtV1XfjdIJ0mT8RG0GwXH/nuxNkqKYujh2NPSlq3QRaksNuAjAdnvdpQjiuuGH5O4jyCVe4AFI0sNCyw==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8323,22 +8341,22 @@ } }, "node_modules/@not-govuk/checkboxes": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/checkboxes/-/checkboxes-0.17.3.tgz", - "integrity": "sha512-HEcDvjZ002CZW3eowarneYILhKDKTd+a/i84Rh6OifUzn6niMr96puiAWo990bE5hr3HpN8RNpCb1tSj9R9SSg==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/checkboxes/-/checkboxes-0.17.4.tgz", + "integrity": "sha512-uCdvsQMptw7ZmcGpw3F42ejiLd4ONNlI30UIGdwWtl4Nsu00x+U2WbXy22GkoRyyJTSq16FnzR4EDhkYlbFM9g==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/form-group": "^0.17.3", - "@not-govuk/hint": "^0.17.3", - "@not-govuk/label": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/form-group": "^0.17.4", + "@not-govuk/hint": "^0.17.4", + "@not-govuk/label": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8351,21 +8369,21 @@ } }, "node_modules/@not-govuk/cookie-banner": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/cookie-banner/-/cookie-banner-0.17.3.tgz", - "integrity": "sha512-bXA154BRtFTzApx6YtolIIQagrr7dsdDnrtnoHwuY5XlcJyIvOLsSmG8Whsh/AbM4gg4ll2LRjgJBWTi/3TTDQ==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/cookie-banner/-/cookie-banner-0.17.4.tgz", + "integrity": "sha512-72aYoi/+2EP4LDSnSEVPQ496HKvG3RoYJwm1Hkn18LLAAXxqOUErNAjxWv3WCiPH64xBcw3koaJXTqZ5mmZNww==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/button-group": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@not-govuk/width-container": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/button-group": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@not-govuk/width-container": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8378,22 +8396,22 @@ } }, "node_modules/@not-govuk/date-input": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/date-input/-/date-input-0.17.3.tgz", - "integrity": "sha512-8tOZA07HiZRDP0J2BcC6+4YLXBm+aqq6iJXvuUqhZsyaA98cr1VnHYxx7kzAY+QsjLoLaH19QGXHEhTHlxvCiA==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/date-input/-/date-input-0.17.4.tgz", + "integrity": "sha512-oP0K14VY3+PfFleQ6RtyeOS6iXfEtQNbFT2k/UTTVlpNamZ+Vb3+2e4ePKaeETr8ZYMvQQTqdbHXyliBnrCfLw==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/form-group": "^0.17.3", - "@not-govuk/input": "^0.17.3", - "@not-govuk/label": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/form-group": "^0.17.4", + "@not-govuk/input": "^0.17.4", + "@not-govuk/label": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8406,19 +8424,19 @@ } }, "node_modules/@not-govuk/details": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/details/-/details-0.17.3.tgz", - "integrity": "sha512-r5rODg4IVfO8pHW+glNklaH/8MUCBxsz5RfnoOmn4OC6eU0LxNDZ6OcOyFO1JNPwdBqo9HysFrcTt8P2/kMpsA==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/details/-/details-0.17.4.tgz", + "integrity": "sha512-iyOJG/LZso1ZYvDeAtElHKgQHZsLPlNcP4L4kNk0kJcqnU08Z/dxunq4Jh2zzsxZGgrAdm0lE5OLG8FU0Vte+w==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8431,20 +8449,20 @@ } }, "node_modules/@not-govuk/error-message": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/error-message/-/error-message-0.17.3.tgz", - "integrity": "sha512-uuGbSa38KUqDRDnHjl4npxlQXgppsgvGUlKcOvNPXbt5tYNV8Pls9Kq6OWYenrij4VQp1QgdQJQp9TU14x+69g==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/error-message/-/error-message-0.17.4.tgz", + "integrity": "sha512-Kk5Xwbv6eJ8Q0Kbyf2U7ffB5OKJ5xHjpr/IBozl9z3kBrT5/EvOXVxT9sKxcmoJ2Ima4t0xFiuQRcUhkuSreRQ==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@not-govuk/visually-hidden": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@not-govuk/visually-hidden": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8457,20 +8475,20 @@ } }, "node_modules/@not-govuk/error-summary": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/error-summary/-/error-summary-0.17.3.tgz", - "integrity": "sha512-fhOunt8xezxjgUQFcdQQuWHhQNdijcae5wwOnGlXjEbvTdy2KTHepc5TfJOgp1/WyqTNMNLg916rHmZGQNm6ZQ==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/error-summary/-/error-summary-0.17.4.tgz", + "integrity": "sha512-WQphbeKCVHFCVK3yA4dmKKLS1I+LLL5GgAipri4r1k6NV9jHw7O62G2/S/Gpc6sfn8LdlaV9wcV96rjNTt7rRQ==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/anchor-list": "^0.1.7", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/anchor-list": "^0.1.9", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8483,19 +8501,19 @@ } }, "node_modules/@not-govuk/fieldset": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/fieldset/-/fieldset-0.17.3.tgz", - "integrity": "sha512-nEn7tkoTLoMFAweIPMjjF/GyEt2/Op2qJxN726Fu+mzZFpLbi1nUcspQjNfuxYbAPbl1+hoXkXY3HZI1Nacm8Q==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/fieldset/-/fieldset-0.17.4.tgz", + "integrity": "sha512-ySnA2DbGx9ZOqZHm9uo9DyLJMF/U887ujHfKa96m4bEpK+o9bd8D8UjPeeIq1e/+Uvg1fDztWqBn0Ah3+Bgnuw==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8508,20 +8526,20 @@ } }, "node_modules/@not-govuk/file-upload": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/file-upload/-/file-upload-0.17.3.tgz", - "integrity": "sha512-g7dT+TrxJBOx/sR7mF9Q6IbH1JriM7eoRkbbWriT8xCiaENdzMPXFJqsioXPsT8JC/d/BpGTh/Z0U1b7kYS0eA==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/file-upload/-/file-upload-0.17.4.tgz", + "integrity": "sha512-K4miJvytXoSCJ0TEAc1/xA1ay2tFUu3Fm0wkqwy97ziQGWPmTowk5L/REeDJJ+XMqYprkBGpv0NBijQ3k5Pekw==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/form-group": "^0.17.3", - "@not-govuk/input": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", + "@not-govuk/form-group": "^0.17.4", + "@not-govuk/input": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8534,21 +8552,21 @@ } }, "node_modules/@not-govuk/footer": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/footer/-/footer-0.17.3.tgz", - "integrity": "sha512-5/WFEal/9kvLOV7iAqBrOOHvJHKUf7yPUtpVP9Fp3Z06UOmpslQY7/LkRgZnLlafI7khS1+GWoeZ1ZowtArZsA==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/footer/-/footer-0.17.4.tgz", + "integrity": "sha512-sRHH2w8Uq7czZ2ClTYHDIUO2d4Qo0IvVpBn8KyYPe43JOFRT4o53pB/zvojUpfDOb93VepRsRaZ1tjE2SQabng==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/link": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@not-govuk/width-container": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/link": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@not-govuk/width-container": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8561,22 +8579,22 @@ } }, "node_modules/@not-govuk/form-field": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/form-field/-/form-field-0.17.3.tgz", - "integrity": "sha512-CHNUwCcOAg10KEWnVUgpiZrcWObsH/YzEAx9bx/chnBsCVqamPX2EeuJgs7yM2cV3tB4YqT7O3dguOHY6tPNqg==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/form-field/-/form-field-0.17.4.tgz", + "integrity": "sha512-3yOpRnP0WHyRLO4GjVtx9eFUV+WcULDd/9/mOKcYpSa4/sDYbbCg99Y65xE3IB0f9Tqczm5v+KFTp/3C8BbQTA==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/checkboxes": "^0.17.3", - "@not-govuk/date-input": "^0.17.3", - "@not-govuk/radios": "^0.17.3", - "@not-govuk/select": "^0.17.3", - "@not-govuk/text-input": "^0.17.3", - "@not-govuk/textarea": "^0.17.3" + "@not-govuk/checkboxes": "^0.17.4", + "@not-govuk/date-input": "^0.17.4", + "@not-govuk/radios": "^0.17.4", + "@not-govuk/select": "^0.17.4", + "@not-govuk/text-input": "^0.17.4", + "@not-govuk/textarea": "^0.17.4" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8589,23 +8607,23 @@ } }, "node_modules/@not-govuk/form-group": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/form-group/-/form-group-0.17.3.tgz", - "integrity": "sha512-kDPAXrnOVTWnCv0wjB4mihN/5Vpu1pvsEuGg2aT7OnBn6gM9bg24L9EkTofVjSwNLwWJpvW/zx0i87ahsEXShw==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/form-group/-/form-group-0.17.4.tgz", + "integrity": "sha512-wbwhva4eOwBr4QCSBAq+Ft2PAJku82ptYcn/8/6jLSt+LLmIVHGdDkMhaJyRaM8LJwXWQS/vSmyRCOcZAZoHNA==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/error-message": "^0.17.3", - "@not-govuk/fieldset": "^0.17.3", - "@not-govuk/hint": "^0.17.3", - "@not-govuk/label": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/error-message": "^0.17.4", + "@not-govuk/fieldset": "^0.17.4", + "@not-govuk/hint": "^0.17.4", + "@not-govuk/label": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8618,21 +8636,21 @@ } }, "node_modules/@not-govuk/header": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/header/-/header-0.17.3.tgz", - "integrity": "sha512-elM4+1UFITedmAPpL52+ZWN05GGbfRoNLFV7Uz8NVIwHRe2pTCzzuffA9MTFzmLXW8vIjxbvbSHomxuAVGp16Q==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/header/-/header-0.17.4.tgz", + "integrity": "sha512-Q6WN3Ma1I0tM4whYVHEdcs8PYlA27v2tx9GFLeosxiEyvsoiQl9cuiDT+cLdXC1LX5n2qE/nM4xB/VAk/MXlzw==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/link": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@not-govuk/width-container": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/link": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@not-govuk/width-container": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8645,19 +8663,19 @@ } }, "node_modules/@not-govuk/hint": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/hint/-/hint-0.17.3.tgz", - "integrity": "sha512-aDV88qvKEqtcf2cad9nHvCgHUhmFpPo7CFx8nbouOEJVPsVKAPtWhm7bQmhj+TfEXM2zaTiGNeDQMkMIY2RP/A==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/hint/-/hint-0.17.4.tgz", + "integrity": "sha512-H6sFU3G86I2kR6W5MBTuOLVSZN3yAv0T+m4KtZWM//FU/GRq7DNONryeg7qbtXRsk/rOEajH/TONJyfRcO/c1Q==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8670,19 +8688,19 @@ } }, "node_modules/@not-govuk/input": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/input/-/input-0.17.3.tgz", - "integrity": "sha512-r8u7qRh4wG0Qdhpxk6NQ+dnWcs1vNp0jauzPkUlMmqpPLfCxgnAAneBjknsyjWQLIUcXbwNhVEjG5i/4/zUFLA==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/input/-/input-0.17.4.tgz", + "integrity": "sha512-wKtcytiefEwOrp8Xbp3blhqrxddI53XAhEtoNf7+ZnT6Qch55D8BvX3EbKcDZOZsst9qgixGjx+cdEfV0GyCew==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8695,19 +8713,19 @@ } }, "node_modules/@not-govuk/inset-text": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/inset-text/-/inset-text-0.17.3.tgz", - "integrity": "sha512-Pb2tEjFy3v6o2niuXKddi03AN2aJ0M6M5mdpb2YRl+cASmffhrHxlRZJgfkAEfbTG2kikzkJgAZ3Jfl6wnsEeg==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/inset-text/-/inset-text-0.17.4.tgz", + "integrity": "sha512-5qk9yAJ4bwfvhehB4OlGl9NJ54DAE+GuRVcNjHCtiSwfKzwo5z7sab4/3vjyK9KhMLGjMQBZ9xW7oBorMDmMfA==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8720,19 +8738,19 @@ } }, "node_modules/@not-govuk/label": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/label/-/label-0.17.3.tgz", - "integrity": "sha512-G9ZIeiS41Ig69lf4qbay4l8z3d1a2YtzDL3lk5K8MxjCrwNPNDP1NTw0F8XfP5HU2c6Deu5iHtdk/jvIAWDdPg==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/label/-/label-0.17.4.tgz", + "integrity": "sha512-rwvlR7uzFH7+oi04jTtARWOIAqLB0x6VecIP/JOfNX+4uRw1dXs9ClIPlBsqgTHOoYcD7li/weZR8vpGLoZTww==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8745,19 +8763,19 @@ } }, "node_modules/@not-govuk/link": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/link/-/link-0.17.3.tgz", - "integrity": "sha512-Yh1L9Aw3p0CwE0brTGoPZRMkeW05esNfhRdTjmVGQnyQ/4dck6wcbTo4F8LJP0PbleAS8ID0jzjmelYY3Ezi0Q==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/link/-/link-0.17.4.tgz", + "integrity": "sha512-YQ8CQQicMGAQU1kHVeDu7BGh34PPBPfgnxGepz+tgJhqj0fPF7vrTzIxpwet/Mp2o7+hQxP2mQrpy+5zCYLbwA==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/anchor": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/anchor": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8770,20 +8788,20 @@ } }, "node_modules/@not-govuk/navigation-menu": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/navigation-menu/-/navigation-menu-0.17.3.tgz", - "integrity": "sha512-fLvef/uRGy3+K0uXHfNFtDOLE8a3CZtW8iPv1zrWvfwbCYyYmRgZta0YZ5uQ60eTfqZc96+ET5vvECH3XnEfWQ==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/navigation-menu/-/navigation-menu-0.17.4.tgz", + "integrity": "sha512-uYir4Td9YXxp1YqwTi9HKdsjd+RzFJ1Yfj821ZcJR++wT6seTzTViH65K6Fs0potybKbD8TJJBIvy4Gbwr4VZA==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/anchor-list": "^0.1.7", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/anchor-list": "^0.1.9", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8796,19 +8814,19 @@ } }, "node_modules/@not-govuk/notification-banner": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/notification-banner/-/notification-banner-0.17.3.tgz", - "integrity": "sha512-m2sniT8cJFJSj+F+5UNGI2idOHFYxGznIAShRZArLw4OBTA2mogxfNU9L5ivAFpx+MaMj6OfMZ+WMqvg1elCvQ==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/notification-banner/-/notification-banner-0.17.4.tgz", + "integrity": "sha512-LtwQN8UCrUICKrMVCK4RDVRq023eSbfYERSd/mHeiE4ieP1jDWYymhfCEyqcWTwUO/EMZb/Yk5eA60P4gCEkiQ==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8821,28 +8839,28 @@ } }, "node_modules/@not-govuk/page": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/page/-/page-0.17.3.tgz", - "integrity": "sha512-E/RJ1BalDmWYkUFM5DhzjP7S0VJ/Re99g3Vz1fX1HQgM2z/tdOj2bLo2QV8uXyZsOeeTh2/dYLlQ89uZ8Jc0Sg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@not-govuk/back-link": "^0.17.3", - "@not-govuk/breadcrumbs": "^0.17.3", - "@not-govuk/footer": "^0.17.3", - "@not-govuk/header": "^0.17.3", - "@not-govuk/link": "^0.17.3", - "@not-govuk/phase-banner": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@not-govuk/service-navigation": "^0.17.3", - "@not-govuk/skip-link": "^0.17.3", - "@not-govuk/width-container": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/page/-/page-0.17.4.tgz", + "integrity": "sha512-C9eOrtIsDCaRtRD881yRyd5XHMUDRZnjTL+JJmI1YgRQCKaDaYnA3ewuyR+myl9tm1ADmMv2/L5zhSKtaBxC+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@not-govuk/back-link": "^0.17.4", + "@not-govuk/breadcrumbs": "^0.17.4", + "@not-govuk/footer": "^0.17.4", + "@not-govuk/header": "^0.17.4", + "@not-govuk/link": "^0.17.4", + "@not-govuk/phase-banner": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@not-govuk/service-navigation": "^0.17.4", + "@not-govuk/skip-link": "^0.17.4", + "@not-govuk/width-container": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8855,22 +8873,22 @@ } }, "node_modules/@not-govuk/pagination": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/pagination/-/pagination-0.17.3.tgz", - "integrity": "sha512-QaU6nCOhYf6kFB3KlMm3+ZNo+BMcoYhG673IJuOPOfWCr8OsrYXVtKI6ISqCZ5vfD3+Ng2vZLpxGETl3WMSSRg==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/pagination/-/pagination-0.17.4.tgz", + "integrity": "sha512-Uo3CFigfLHhk4abiom6dDkXaDNSS+YyAqA4ilbBazUFU0wIxiJR5iioKCOZ/75UURqHNS75IkRWaHv5W+TTvlA==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/link": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@not-govuk/visually-hidden": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", - "@react-foundry/uri": "^0.1.7", + "@not-govuk/link": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@not-govuk/visually-hidden": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", + "@react-foundry/uri": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8883,19 +8901,19 @@ } }, "node_modules/@not-govuk/panel": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/panel/-/panel-0.17.3.tgz", - "integrity": "sha512-OuyBG3RCEWNFvgQABwWEf7Jh6ONiwPIAj2Ukn5Tqxqi34h1yOMMs5vvk7x0hlnOZYazMRPUrztScxWXvzNpkyg==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/panel/-/panel-0.17.4.tgz", + "integrity": "sha512-jrr7XuyJVqy6deOPbXeLoF1d1EPn3VB7EJIh7e2C7QfTiFW+DCliYDOtGQZsKCEbF/gvQBracoZK2F/XvxCUHQ==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8908,20 +8926,20 @@ } }, "node_modules/@not-govuk/phase-banner": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/phase-banner/-/phase-banner-0.17.3.tgz", - "integrity": "sha512-dnR0/czg0NJrijUNfWzwj/Ql7vaK1gyn/G8FCrN+uqu8LJtCF5cDxSejcYbEnYilVv5S82aN4q+1sBEjhuwL2A==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/phase-banner/-/phase-banner-0.17.4.tgz", + "integrity": "sha512-oTXtxMxZHX88FcWFDaXzI+OC8Cd98+H2UwXuS+JZ5i/QHn9Jaxv/ofgZLTObc4z92dcyLh8yZJGxh0/gCNegYQ==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@not-govuk/tag": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@not-govuk/tag": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8934,22 +8952,22 @@ } }, "node_modules/@not-govuk/radios": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/radios/-/radios-0.17.3.tgz", - "integrity": "sha512-Y3/KF3DNOcmgS3EKUa5oAwTl8goJ8npWr2dBkeut88EjvAmEOOrgMNFCxYDxGBvXn14MLfMune9xXLtGYB9XHw==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/radios/-/radios-0.17.4.tgz", + "integrity": "sha512-MKVtNSVn7UcI0pbjKJ2QjmbSYk+9Uk8FkzG9ixT0k1rPgyTNshBTp1cp58Hij/Sjfx9sRIT0j0bow3q9Kkd4lQ==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/form-group": "^0.17.3", - "@not-govuk/hint": "^0.17.3", - "@not-govuk/label": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/form-group": "^0.17.4", + "@not-govuk/hint": "^0.17.4", + "@not-govuk/label": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8962,9 +8980,9 @@ } }, "node_modules/@not-govuk/sass-base": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/sass-base/-/sass-base-0.17.3.tgz", - "integrity": "sha512-01/W/KAMeyFsQJbwqJUmT2aNmRgcoYHCPjaMjBSnrphzJb2TT8iroYTJiJYZF/lDij9zFLkyHLTVwIzYWLB/8Q==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/sass-base/-/sass-base-0.17.4.tgz", + "integrity": "sha512-MpN8a2aSndd3jZLXytZ2bR9kgWY2aO9UMBvpABDFiiB86AcqmSmZHCzlhSRCiR5LEE10Uuaafg0a53LlQ/jbZg==", "dev": true, "license": "MIT", "dependencies": { @@ -8972,19 +8990,19 @@ } }, "node_modules/@not-govuk/search-box": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/search-box/-/search-box-0.17.3.tgz", - "integrity": "sha512-ZY44kH7RLHZFfo0ExDwrsRmiByn7Z+/ekV1vgutCuZI/ziHyGmWE/a/x+Hh+p5BKZ+nzuJu7OTQb/hqHJCjJWw==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/search-box/-/search-box-0.17.4.tgz", + "integrity": "sha512-zw6SjHCEohhDQxu9wJGt5shxxVmyp1GcNgaLBknNWp/3w1IqwtFRtW4eEHZVyuLXzLQBF8tLc1veNiuwvcyLqw==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@not-govuk/standalone-input": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7" + "@not-govuk/sass-base": "^0.17.4", + "@not-govuk/standalone-input": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -8997,20 +9015,20 @@ } }, "node_modules/@not-govuk/select": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/select/-/select-0.17.3.tgz", - "integrity": "sha512-5yfz492UnePLqLrgfs+VWNil/r/2mfjgSoBXR+ZqHaDJ8J8BOlHsCYltv6eyVLYlSlWNanEI9GvLi9p83iwYNA==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/select/-/select-0.17.4.tgz", + "integrity": "sha512-ixiWDCJ2v+CF+scmbgndNhch/FeD8oB0VzEyRfG17Xu3YRe8j3OeWABNInLbah1XycDSIMiRl/9+RGujkoqCnQ==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/form-group": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/form-group": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -9023,22 +9041,22 @@ } }, "node_modules/@not-govuk/service-navigation": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/service-navigation/-/service-navigation-0.17.3.tgz", - "integrity": "sha512-O3WGWHTxblNBsvIEdDewddOOpfTH0HMV9Ld2Pl/lw5m76NffoPZkpg8ODaLSqffVXnxI+jK34byMRK7zSjDx4g==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/service-navigation/-/service-navigation-0.17.4.tgz", + "integrity": "sha512-iHVP2sAR+KgrueO3Io1YINGCJYpLcZ2aYjRUjGb2isZshQSg2aPF3f/dzxTG/bHQ7H8n48Ky9kZTgwXMSa8yrg==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/link": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@not-govuk/width-container": "^0.17.3", - "@react-foundry/anchor-list": "^0.1.7", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/link": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@not-govuk/width-container": "^0.17.4", + "@react-foundry/anchor-list": "^0.1.9", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -9051,70 +9069,70 @@ } }, "node_modules/@not-govuk/simple-components": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/simple-components/-/simple-components-0.17.3.tgz", - "integrity": "sha512-tDISlZNaR64W3oK3e5si23iQNVEmUx6LMHvEFRniK1lihu5zUIFv2Z7/ERRrTUfVjOzDyFMoqS2sxrU17x3nQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@not-govuk/aside": "^0.17.3", - "@not-govuk/back-link": "^0.17.3", - "@not-govuk/breadcrumbs": "^0.17.3", - "@not-govuk/button": "^0.17.3", - "@not-govuk/checkboxes": "^0.17.3", - "@not-govuk/cookie-banner": "^0.17.3", - "@not-govuk/date-input": "^0.17.3", - "@not-govuk/details": "^0.17.3", - "@not-govuk/error-message": "^0.17.3", - "@not-govuk/error-summary": "^0.17.3", - "@not-govuk/fieldset": "^0.17.3", - "@not-govuk/file-upload": "^0.17.3", - "@not-govuk/footer": "^0.17.3", - "@not-govuk/form-field": "^0.17.3", - "@not-govuk/form-group": "^0.17.3", - "@not-govuk/header": "^0.17.3", - "@not-govuk/hint": "^0.17.3", - "@not-govuk/input": "^0.17.3", - "@not-govuk/inset-text": "^0.17.3", - "@not-govuk/label": "^0.17.3", - "@not-govuk/link": "^0.17.3", - "@not-govuk/navigation-menu": "^0.17.3", - "@not-govuk/notification-banner": "^0.17.3", - "@not-govuk/page": "^0.17.3", - "@not-govuk/pagination": "^0.17.3", - "@not-govuk/panel": "^0.17.3", - "@not-govuk/phase-banner": "^0.17.3", - "@not-govuk/radios": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@not-govuk/search-box": "^0.17.3", - "@not-govuk/select": "^0.17.3", - "@not-govuk/service-navigation": "^0.17.3", - "@not-govuk/skip-link": "^0.17.3", - "@not-govuk/standalone-input": "^0.17.3", - "@not-govuk/summary-card": "^0.17.3", - "@not-govuk/summary-list": "^0.17.3", - "@not-govuk/table": "^0.17.3", - "@not-govuk/tabs": "^0.17.3", - "@not-govuk/tag": "^0.17.3", - "@not-govuk/text-input": "^0.17.3", - "@not-govuk/textarea": "^0.17.3", - "@not-govuk/warning-text": "^0.17.3" + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/simple-components/-/simple-components-0.17.4.tgz", + "integrity": "sha512-3/lAiuq+q1/yCEcEkx8NPXhkMd2jvZIBa/SJ9huEvdXqnAwi7BeN/DqkgGgQLDIIKs1rzmfoVSWz+t1GoEw60w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@not-govuk/aside": "^0.17.4", + "@not-govuk/back-link": "^0.17.4", + "@not-govuk/breadcrumbs": "^0.17.4", + "@not-govuk/button": "^0.17.4", + "@not-govuk/checkboxes": "^0.17.4", + "@not-govuk/cookie-banner": "^0.17.4", + "@not-govuk/date-input": "^0.17.4", + "@not-govuk/details": "^0.17.4", + "@not-govuk/error-message": "^0.17.4", + "@not-govuk/error-summary": "^0.17.4", + "@not-govuk/fieldset": "^0.17.4", + "@not-govuk/file-upload": "^0.17.4", + "@not-govuk/footer": "^0.17.4", + "@not-govuk/form-field": "^0.17.4", + "@not-govuk/form-group": "^0.17.4", + "@not-govuk/header": "^0.17.4", + "@not-govuk/hint": "^0.17.4", + "@not-govuk/input": "^0.17.4", + "@not-govuk/inset-text": "^0.17.4", + "@not-govuk/label": "^0.17.4", + "@not-govuk/link": "^0.17.4", + "@not-govuk/navigation-menu": "^0.17.4", + "@not-govuk/notification-banner": "^0.17.4", + "@not-govuk/page": "^0.17.4", + "@not-govuk/pagination": "^0.17.4", + "@not-govuk/panel": "^0.17.4", + "@not-govuk/phase-banner": "^0.17.4", + "@not-govuk/radios": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@not-govuk/search-box": "^0.17.4", + "@not-govuk/select": "^0.17.4", + "@not-govuk/service-navigation": "^0.17.4", + "@not-govuk/skip-link": "^0.17.4", + "@not-govuk/standalone-input": "^0.17.4", + "@not-govuk/summary-card": "^0.17.4", + "@not-govuk/summary-list": "^0.17.4", + "@not-govuk/table": "^0.17.4", + "@not-govuk/tabs": "^0.17.4", + "@not-govuk/tag": "^0.17.4", + "@not-govuk/text-input": "^0.17.4", + "@not-govuk/textarea": "^0.17.4", + "@not-govuk/warning-text": "^0.17.4" } }, "node_modules/@not-govuk/skip-link": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/skip-link/-/skip-link-0.17.3.tgz", - "integrity": "sha512-+QvLeheSjKGYXMNApjaQkGW7ONJJ2ZIhi7ps0CxAe4+qlMAAIX1UluBOzYbSUv2EGqaVX4hag8WXEnt5dDbc3A==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/skip-link/-/skip-link-0.17.4.tgz", + "integrity": "sha512-8RTe37f+6u9zh2Y0npCRLXBgo/OgBidFcwPZCFY4itzQiX51pZ2jGuE3uBO93xZPTcsFNsNPFuq0Ukv0SMwTXg==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -9127,21 +9145,21 @@ } }, "node_modules/@not-govuk/standalone-input": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/standalone-input/-/standalone-input-0.17.3.tgz", - "integrity": "sha512-oDODJmWF2Y6Zfzg2yPmxsIkHmzR/LK0mfTvAwR0Rw5MeyLBS2UCRDYt3IM7BxGLTtnw6SQcjGb7maLUohtwtXw==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/standalone-input/-/standalone-input-0.17.4.tgz", + "integrity": "sha512-bJmuogqyfS3dXTeBJFQ1ExyBb23ze5GFnmgEqzFIBqCOCV7jvq30NpOU4dAYVzYt6u9D3w3uDsup9fWq0NPk+Q==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/button": "^0.17.3", - "@not-govuk/form-group": "^0.17.3", - "@not-govuk/input": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7" + "@not-govuk/button": "^0.17.4", + "@not-govuk/form-group": "^0.17.4", + "@not-govuk/input": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -9154,20 +9172,20 @@ } }, "node_modules/@not-govuk/summary-card": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/summary-card/-/summary-card-0.17.3.tgz", - "integrity": "sha512-rIIfVLthR5IXavTdPyKmrcCnv6SPiQ1XtJh1TBfoPA3E4x8PAG1w/ZORYVhK0ipYTqvJXS4XWMbU9Ro+bFZb0g==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/summary-card/-/summary-card-0.17.4.tgz", + "integrity": "sha512-2KRXzzxbSX/RbMzt6aE9DHZ6ry4RSBYUyKOCz0P2PAAWtSFOgWVYP6/cu9ebDwwuOJ1CmL5TvJ6AG0W25ObFag==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/anchor-list": "^0.1.7", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/anchor-list": "^0.1.9", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -9180,21 +9198,21 @@ } }, "node_modules/@not-govuk/summary-list": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/summary-list/-/summary-list-0.17.3.tgz", - "integrity": "sha512-bUq+aXnsWicXYf1ygnmUrtfpah97shOn9i72bFarHE7Jm4zDItPakxpBGFgRklAa9u6ultsBM3xPWYR7tENewA==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/summary-list/-/summary-list-0.17.4.tgz", + "integrity": "sha512-1FgIvFQazfA3drK3orEfuYbr95YwGxQoxGB0R8Z6VWBwvbzMYsDlTWB43dRi0C0UKNIqzctfdR6fUIV7GH2/kw==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/link": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/anchor-list": "^0.1.7", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/link": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/anchor-list": "^0.1.9", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -9207,20 +9225,20 @@ } }, "node_modules/@not-govuk/table": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/table/-/table-0.17.3.tgz", - "integrity": "sha512-HPvU/MILl11vCL8MvxP6WXawgo2Jb4pmsO1Rv0GAjCUeM9Al5wcStlMAqbGWqisygf3qGoUbzU+CycYPrVIAAA==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/table/-/table-0.17.4.tgz", + "integrity": "sha512-V5+T1SQlIkHn+0wQd6l8wKzT+JE3iolI1z6aHDAk4yNruaF0hMQyAgPb+xZXgima95KpyO88Gh7mg3Rzm6eYPA==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", - "@react-foundry/simple-table": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", + "@react-foundry/simple-table": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -9233,20 +9251,20 @@ } }, "node_modules/@not-govuk/tabs": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/tabs/-/tabs-0.17.3.tgz", - "integrity": "sha512-wCDc2dD9ehNQfRCvPN+JfQIYyo2iDBQLtd4ntFKP5W0QjS1QaTMNAFRW6f5TxzhdR/osYIKPrNGmLeCnA8Wkhg==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/tabs/-/tabs-0.17.4.tgz", + "integrity": "sha512-G+bpvh4V3WLYKG7oq6T9F8d3Np38o7VAniMekBn44s13sSRR7ZMcClguK4MXNTjdyucqft9PWfykyCox17XoZA==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/client-component-helpers": "^0.1.7", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/client-component-helpers": "^0.1.9", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -9259,19 +9277,19 @@ } }, "node_modules/@not-govuk/tag": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/tag/-/tag-0.17.3.tgz", - "integrity": "sha512-TxWhnWXZh3UVchURC73qBjqjoazd3L2GNLuYMRXZgMVxZvxfghj1tzGAqoM1/UdlZf8ZFuLIVJctG8V8Khh1qA==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/tag/-/tag-0.17.4.tgz", + "integrity": "sha512-E6GOEgT5+KxqQe6ZA72Thc2MKGckIefg5qgSWZv4NppXdhI6WqMS2W4Kbvtk+gEOMLKw+kN7hgJs9rCSeXfhEw==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -9284,18 +9302,18 @@ } }, "node_modules/@not-govuk/text-input": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/text-input/-/text-input-0.17.3.tgz", - "integrity": "sha512-a0AgiIYEFKgT2THFYlYLXKHYFHMuxnA/dVvHJ/zYjr6aq69WnWl6WsXc/AmxYXsY/Ug1sJuxH8+m+H80v8s9zg==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/text-input/-/text-input-0.17.4.tgz", + "integrity": "sha512-n0I7SZ7BUMOUMijyLiWqKyJytl+tbDsUncNmjC75/W08v4OKYxaUffbDZPOCFkIQBQfOZNouldl6eeqRE+8OdA==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/form-group": "^0.17.3", - "@not-govuk/input": "^0.17.3" + "@not-govuk/form-group": "^0.17.4", + "@not-govuk/input": "^0.17.4" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -9308,20 +9326,20 @@ } }, "node_modules/@not-govuk/textarea": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/textarea/-/textarea-0.17.3.tgz", - "integrity": "sha512-6FOGy0cnl7ue5/1Fi+xQzazJ/FPV835eHx8iTVDxZr1SFcWxsTfvn3gUS3rF0AIxkNR0JGXl09KMnvXNgKaR4w==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/textarea/-/textarea-0.17.4.tgz", + "integrity": "sha512-Hldpo1KORohTnS/DkxwKskaEXcG0voV27xrFGs4Qxyb0+Bowuktv/sCLI8OyNlXPlQ7DtuMJ+Zk0qxN13v28AQ==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/form-group": "^0.17.3", - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/form-group": "^0.17.4", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -9334,19 +9352,19 @@ } }, "node_modules/@not-govuk/visually-hidden": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/visually-hidden/-/visually-hidden-0.17.3.tgz", - "integrity": "sha512-cJDitTcU1b/4pe+uMpuhZJBxnRLiVZlQm5S7Rtic2fYOXdrDtKYshrA2uKX3NQO0IZdZfpy0v4G8gK8a7BnnUA==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/visually-hidden/-/visually-hidden-0.17.4.tgz", + "integrity": "sha512-iTQld5l7Ew7FU6LhQ3v86wH3qL/0VQviwoBvfptoCHR9WGFUJfKm0jQYPNmmjnhPJKiCEAJT/qfSEgyNUAXO/w==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -9359,20 +9377,20 @@ } }, "node_modules/@not-govuk/warning-text": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/warning-text/-/warning-text-0.17.3.tgz", - "integrity": "sha512-caXEjGr0PRCWUbjmY5RlX6vfBOtuhkAwQ37WwZazXXqef7NZlul4uSJeDgLP2lkgyuHPMr0ZsjwDcKi3v0QCxw==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/warning-text/-/warning-text-0.17.4.tgz", + "integrity": "sha512-mhW24zV11HYrj1t6WGZupePqcxlqWYNTAwBrLqBMCKNeyripbaHpCjmLHk8Tq0UyM9Aq4UqijvBD6V/0zOiS0Q==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@not-govuk/visually-hidden": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@not-govuk/visually-hidden": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -9385,19 +9403,19 @@ } }, "node_modules/@not-govuk/width-container": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@not-govuk/width-container/-/width-container-0.17.3.tgz", - "integrity": "sha512-4MwHiOPo8A0KNedH3nMwmQ0FaoULkxrjoKhbzxSADop9B+ZkK0RFfOlYIlHP4+YQQDGuIHFLPEtILjqjWlrGFw==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@not-govuk/width-container/-/width-container-0.17.4.tgz", + "integrity": "sha512-U1zfxijGfBiozAk64vQ7uAXHF+VGzCstBTdMwEor12hre1eW94QGaB+e2HbbcvWN+To1BfIRs0TcoJl2mGjZrw==", "dev": true, "license": "MIT", "dependencies": { - "@not-govuk/sass-base": "^0.17.3", - "@react-foundry/component-helpers": "^0.1.7", + "@not-govuk/sass-base": "^0.17.4", + "@react-foundry/component-helpers": "^0.1.9", "govuk-frontend": "^5.14.0" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -10000,20 +10018,20 @@ "license": "MIT" }, "node_modules/@react-foundry/anchor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@react-foundry/anchor/-/anchor-0.1.7.tgz", - "integrity": "sha512-3lc09Er0MhAq21fy4Dz/EHrSH7VHI2vOVgUhucrTnEfeliNt0mtsJzb/EF1bJznIoKKxBfh9MSBCHv62PlvQpQ==", + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@react-foundry/anchor/-/anchor-0.1.9.tgz", + "integrity": "sha512-JX6BW7GwHXs2XjLsjXuDYh/TBNVMif84h78Se1+yfhRpYBLYn7aA8cgafSLJqqSJ3wRRIW2BH9zI87F4ivU8OQ==", "dev": true, "license": "MIT", "dependencies": { - "@react-foundry/client-component-helpers": "^0.1.7", - "@react-foundry/component-helpers": "^0.1.7", - "@react-foundry/router": "^0.1.7", - "@react-foundry/uri": "^0.1.7" + "@react-foundry/client-component-helpers": "^0.1.9", + "@react-foundry/component-helpers": "^0.1.9", + "@react-foundry/router": "^0.1.9", + "@react-foundry/uri": "^0.1.9" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -10026,19 +10044,19 @@ } }, "node_modules/@react-foundry/anchor-list": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@react-foundry/anchor-list/-/anchor-list-0.1.7.tgz", - "integrity": "sha512-Lh6rOXknjUg/nXDMfXv/hhFmRnZ/qVqQOYNKJllgVNa9ugpIWQl6EXN3lJCo7X+sIwGAqze+KKFzunp3JV6Uaw==", + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@react-foundry/anchor-list/-/anchor-list-0.1.9.tgz", + "integrity": "sha512-dsFOjZaVjq/IwUt7cbn7jT0XueTWYZzCcbrFDA7y4CZlYLpytz7f/wcRv50HdiGi0TCrgJ7G1RuXC815TEE6Zw==", "dev": true, "license": "MIT", "dependencies": { - "@react-foundry/anchor": "^0.1.7", - "@react-foundry/component-helpers": "^0.1.7", - "@react-foundry/router": "^0.1.7" + "@react-foundry/anchor": "^0.1.9", + "@react-foundry/component-helpers": "^0.1.9", + "@react-foundry/router": "^0.1.9" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -10051,9 +10069,9 @@ } }, "node_modules/@react-foundry/client-component-helpers": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@react-foundry/client-component-helpers/-/client-component-helpers-0.1.7.tgz", - "integrity": "sha512-0eTE7SKcxFcBip2VXOaGQnHXKdQetVV3ck55JV0MxTy50MCPHG44tSMwDdW16F7PYepIZvtNjurvbv6ipQgSyg==", + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@react-foundry/client-component-helpers/-/client-component-helpers-0.1.9.tgz", + "integrity": "sha512-bD2ZgA7qPGN+kwxVLifgKDaCJm2qxUspu7+Cu6D8R1zq4TsA/wrHWfbjjPQYgnGBMjUyWmoqWbHu9n8LP3/CHg==", "dev": true, "license": "MIT", "peerDependencies": { @@ -10061,20 +10079,20 @@ } }, "node_modules/@react-foundry/component-helpers": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@react-foundry/component-helpers/-/component-helpers-0.1.7.tgz", - "integrity": "sha512-pfQ4A26EV7Qy3a4gjAK5a+CgsAHDu1+MU5HHJkcoRdPSJp8KrlDfFqq//RiYRINn/drLDUWjx3coes4Oc1d74w==", + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@react-foundry/component-helpers/-/component-helpers-0.1.9.tgz", + "integrity": "sha512-JtVlG+rLyD0wZQ/3L6gmxBYYaV2ZDGPGvUdRQCkJ0NFy4UyUv9h5WA1dvvPZO6YzPvQzAw8JyMEffPf88CColw==", "dev": true, "license": "MIT" }, "node_modules/@react-foundry/router": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@react-foundry/router/-/router-0.1.7.tgz", - "integrity": "sha512-qS0jrNuV/fuQAms4tO2aSDHF9gLmgZI6EIuBps6ms0Vwq0CIRA2II0+TPJvTq6IBhrUhcTj5I1rhY/33yR6wbA==", + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@react-foundry/router/-/router-0.1.9.tgz", + "integrity": "sha512-Ugr0XOpfGE0a9fwIodnn7sveNVuO9NWn0Ku8nOFtsDugqDR2uIBLUjjH9iCEp5/aTeX/6kQvhlX1VuPM6kWk8g==", "dev": true, "license": "MIT", "dependencies": { - "@react-foundry/uri": "^0.1.7" + "@react-foundry/uri": "^0.1.9" }, "engines": { "node": ">=12.0.0" @@ -10097,17 +10115,17 @@ } }, "node_modules/@react-foundry/simple-table": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@react-foundry/simple-table/-/simple-table-0.1.7.tgz", - "integrity": "sha512-JQzPJrmmoLTvo3TZE3Ixiw30dP97sb9DQV7vpDeYFS6IDBgTTNuD9+Oj1GIItb1ingoNOYQmZ4LkOdGVb8raOQ==", + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@react-foundry/simple-table/-/simple-table-0.1.9.tgz", + "integrity": "sha512-1Jghhntzg1cN+8/ftDwUvzlBdnJql70eDWzzRXAeltkkqjEFAMsDgInA0n0IAZXeWvhvCdO92Hx/dHw2/R6EHg==", "dev": true, "license": "MIT", "dependencies": { - "@react-foundry/component-helpers": "^0.1.7" + "@react-foundry/component-helpers": "^0.1.9" }, "peerDependencies": { - "@react-foundry/docs-components": "^0.1.7", - "@storybook/addon-docs": "^9.1.17", + "@react-foundry/docs-components": "^0.1.9", + "@storybook/addon-docs": "^9.1.20", "react": "^19.2.4" }, "peerDependenciesMeta": { @@ -10120,13 +10138,13 @@ } }, "node_modules/@react-foundry/uri": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@react-foundry/uri/-/uri-0.1.7.tgz", - "integrity": "sha512-QCq1E2StvbOG5ENvDnpNIKdYohRRsojTxsYFeZsi3ZoA/06SZ9sZm8zvx4I1gmLEIBG/GcGdlFKghJqEWLK4xg==", + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@react-foundry/uri/-/uri-0.1.9.tgz", + "integrity": "sha512-5iNd6Iez1s0dYcDa7BCI8OZx+8IrV2+D6eQqb5sk7+uAXy0jMER54M5Fce+xg1uwi3xTcKQrPa1y5Ndf1PN8Ow==", "dev": true, "license": "MIT", "dependencies": { - "qs": "^6.14.1" + "qs": "^6.15.0" }, "engines": { "node": ">=12.0.0" @@ -15821,9 +15839,9 @@ } }, "node_modules/css-loader": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.4.tgz", - "integrity": "sha512-vv3J9tlOl04WjiMvHQI/9tmIrCxVrj6PFbHemBB1iihpeRbi/I4h033eoFIhwxBBqLhI0KYFS7yvynBFhIZfTw==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.5.tgz", + "integrity": "sha512-Q7iAfQkU2twNBryKX/vGAlE+GAmkF7quhSzAGNK8fBimxk3+tqg245rH52UPb9dioBolBc8rP0ihmHBaDTJQBA==", "dev": true, "license": "MIT", "dependencies": { @@ -15857,9 +15875,9 @@ } }, "node_modules/css-loader/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", "dev": true, "license": "ISC", "bin": { @@ -31916,9 +31934,9 @@ } }, "node_modules/remove-markdown": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/remove-markdown/-/remove-markdown-0.6.3.tgz", - "integrity": "sha512-Qvp2p0Q1irE7AaJO7QemJe04HdObHylJrG+q4hszvPlYp7q4EvfINpEIaIEFdB+3XTDp1h6fiyT60ae00gmRow==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/remove-markdown/-/remove-markdown-0.8.0.tgz", + "integrity": "sha512-VP1v6BYAa6VlLPHzr3JpVDV+f2IHqLKBauXZm08alrB9rJC4mQ1IoePsWOzpJx8GTfFwF+j6fmCtI8DLh1qIdA==", "dev": true, "license": "MIT" }, @@ -32438,6 +32456,7 @@ "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", @@ -32818,9 +32837,9 @@ } }, "node_modules/sass-loader": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.7.tgz", - "integrity": "sha512-w6q+fRHourZ+e+xA1kcsF27iGM6jdB8teexYCfdUw0sYgcDNeZESnDNT9sUmmPm3ooziwUJXGwZJSTF3kOdBfA==", + "version": "16.0.8", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.8.tgz", + "integrity": "sha512-hcov4ZwZJIGbEuyNr9EmiTmZueyrxSToE6GOzoZnq5JM7ecRO7ttyvilPn+VmRsqiP16+VYZzVnGZj/hzZgKBA==", "dev": true, "license": "MIT", "dependencies": { @@ -32864,6 +32883,7 @@ "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { "readdirp": "^4.0.1" }, @@ -32880,6 +32900,7 @@ "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true, "license": "MIT", + "optional": true, "engines": { "node": ">= 14.18.0" }, diff --git a/package.json b/package.json index 61d25e3a7..48a2b3473 100644 --- a/package.json +++ b/package.json @@ -155,7 +155,7 @@ "@babel/plugin-syntax-import-attributes": "^7.27.1", "@babel/preset-env": "^7.28.5", "@babel/preset-typescript": "^7.28.5", - "@defra/docusaurus-theme-govuk": "^0.0.22-alpha", + "@defra/docusaurus-theme-govuk": "^1.0.0", "@docusaurus/core": "^3.10.1", "@docusaurus/plugin-content-docs": "^3.10.1", "@easyops-cn/docusaurus-search-local": "^0.55.0", @@ -219,6 +219,7 @@ "prettier": "^3.6.2", "react": "^19.2.4", "react-dom": "^19.2.4", + "react-router-dom": "^5.3.4", "sass-embedded": "^1.93.3", "sass-loader": "^16.0.6", "source-map-loader": "^5.0.0", diff --git a/scripts/generate-schema-docs.js b/scripts/generate-schema-docs.js index 4b92b408a..ee1fac5af 100644 --- a/scripts/generate-schema-docs.js +++ b/scripts/generate-schema-docs.js @@ -3,6 +3,8 @@ import fs from 'fs' import path from 'path' import { fileURLToPath } from 'url' +import { removeJoiReferenceEnums } from './remove-joi-reference-enums.js' + export const __dirname = path.dirname(fileURLToPath(import.meta.url)) export const schemasDir = path.resolve( __dirname, @@ -139,6 +141,7 @@ export function processSchemaContent(schema, filename, schemaTitleMap) { schema.$id = `@defra/forms-model/schemas/${filename}` } + removeJoiReferenceEnums(schema) simplifyNestedTitles(schema) buildTitleMap(schema, filename.replace('.json', ''), schemaTitleMap) return schema diff --git a/scripts/generate-schema-docs.test.js b/scripts/generate-schema-docs.test.js index fc38d56ea..546e266cb 100644 --- a/scripts/generate-schema-docs.test.js +++ b/scripts/generate-schema-docs.test.js @@ -266,6 +266,40 @@ describe('Schema Documentation Generator', () => { expect(result.$id).toBe('existing-id') }) + + it('removes enums that contain Joi references', () => { + const schema = { + ...mockSchema, + properties: { + outputs: { + type: 'array', + items: { + type: 'object', + properties: { + condition: { + type: 'string', + enum: ['', { ref: { path: ['conditions'], in: true } }] + }, + audience: { + type: 'string', + enum: ['human', 'machine'] + } + } + } + } + } + } + + const result = processSchemaContent( + schema, + 'form-definition-v2-schema.json', + {} + ) + + const { properties } = result.properties.outputs.items + expect(properties.condition).not.toHaveProperty('enum') + expect(properties.audience.enum).toEqual(['human', 'machine']) + }) }) describe('readSchemaFile', () => { diff --git a/scripts/remove-joi-reference-enums.js b/scripts/remove-joi-reference-enums.js new file mode 100644 index 000000000..9aea66efa --- /dev/null +++ b/scripts/remove-joi-reference-enums.js @@ -0,0 +1,34 @@ +/** + * Recursively removes `enum` keywords that contain a Joi reference such as + * `{ ref: { path: ['conditions'] } }`. A Joi reference means the allowed values + * come from elsewhere in the form definition, so the enum has no fixed list to + * document. The doc generator renders enum values as a table, which needs + * primitive or array values. + * @param {JsonSchema} schema - The schema to clean in place + */ +export function removeJoiReferenceEnums(schema) { + if (!schema || typeof schema !== 'object') { + return + } + + if ( + Array.isArray(schema.enum) && + schema.enum.some( + (value) => + value !== null && + typeof value === 'object' && + !Array.isArray(value) && + 'ref' in value + ) + ) { + delete schema.enum + } + + for (const child of Object.values(schema)) { + removeJoiReferenceEnums(child) + } +} + +/** + * @import { JsonSchema } from './generate-schema-docs.js' + */