diff --git a/package-lock.json b/package-lock.json
index ca5ea976b..d442f2d3a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "genesys-ui",
- "version": "11.1.1",
+ "version": "12.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "genesys-ui",
- "version": "11.1.1",
+ "version": "12.0.0",
"hasInstallScript": true,
"license": "MIT",
"workspaces": [
@@ -40,20 +40,21 @@
"@stryker-mutator/vitest-runner": "^8.5.0",
"@testing-library/jest-dom": "^6.5.0",
"@testing-library/react": "^16.0.1",
+ "@testing-library/user-event": "^14.5.2",
"@types/js-cookie": "^3.0.6",
- "@types/node": "^22.5.5",
+ "@types/node": "^22.7.0",
"@vitejs/plugin-react": "^4.3.1",
"@vitest/coverage-v8": "^2.1.1",
"babel-plugin-styled-components": "^2.1.4",
- "dependency-cruiser": "^16.4.1",
+ "dependency-cruiser": "^16.4.2",
"dpdm": "^3.14.0",
- "framer-motion": "^11.5.4",
+ "framer-motion": "^11.7.0",
"happy-dom": "^15.7.4",
"identity-obj-proxy": "^3.0.0",
"js-cookie": "^3.0.5",
"lodash": "^4.17.21",
"mermaid": "^11.2.1",
- "oxlint": "^0.9.6",
+ "oxlint": "^0.9.8",
"polished": "^4.3.1",
"prettier": "^3.3.3",
"react": "^18.3.1",
@@ -61,14 +62,14 @@
"react-syntax-highlighter": "^15.5.0",
"release-it": "^17.6.0",
"remark-gfm": "^4.0.0",
- "sass": "^1.79.1",
+ "sass": "^1.79.3",
"storybook": "^8.3.1",
"tocbot": "^4.29.0",
"ts-node": "^10.9.2",
"typescript": "^5.6.2",
- "vite": "^5.4.6",
- "vite-bundle-analyzer": "^0.11.0",
- "vite-plugin-dts": "^4.2.1",
+ "vite": "^5.4.8",
+ "vite-bundle-visualizer": "^1.2.1",
+ "vite-plugin-dts": "^4.2.2",
"vite-tsconfig-paths": "^5.0.1",
"vitest": "^2.1.1",
"viz.js": "^2.1.2"
@@ -2378,9 +2379,9 @@
}
},
"node_modules/@oxlint/darwin-arm64": {
- "version": "0.9.6",
- "resolved": "https://registry.npmjs.org/@oxlint/darwin-arm64/-/darwin-arm64-0.9.6.tgz",
- "integrity": "sha512-dw0JMjgymvvYQE38D2sexcV+SNER2PL2TrUyYiy1YuhHSPeH8UX/c+iJstl02K03RRiNJIAmEdYv3a98+t/x5Q==",
+ "version": "0.9.8",
+ "resolved": "https://registry.npmjs.org/@oxlint/darwin-arm64/-/darwin-arm64-0.9.8.tgz",
+ "integrity": "sha512-4wuEraeF9euP50sLYEB77tPKVuxNVnRK963CQ64ITkItbopTyZ2Fxh6PT8UyENqUojDXmLmCdwxMPP4sbexxwg==",
"cpu": [
"arm64"
],
@@ -2391,9 +2392,9 @@
]
},
"node_modules/@oxlint/darwin-x64": {
- "version": "0.9.6",
- "resolved": "https://registry.npmjs.org/@oxlint/darwin-x64/-/darwin-x64-0.9.6.tgz",
- "integrity": "sha512-fvXgv9eI6U1uRXUmdpWbcX1Tkv2VeYiIwrwBDARuYqI+YbxiuCsBx8RbRrw1C6SrKuZnihAPZIhebH/YRz/ZkQ==",
+ "version": "0.9.8",
+ "resolved": "https://registry.npmjs.org/@oxlint/darwin-x64/-/darwin-x64-0.9.8.tgz",
+ "integrity": "sha512-SZsmFT9SOjQCqULb4gDh6P7xnIb9zxD0rPolH/ytGcpHtqe9eZGupEeLWBHjbjAhNiBgkuqULkUO27vUJ+6cPA==",
"cpu": [
"x64"
],
@@ -2404,9 +2405,9 @@
]
},
"node_modules/@oxlint/linux-arm64-gnu": {
- "version": "0.9.6",
- "resolved": "https://registry.npmjs.org/@oxlint/linux-arm64-gnu/-/linux-arm64-gnu-0.9.6.tgz",
- "integrity": "sha512-9PIH+6ebuLlPFPguzpusnS0n0MbilvSdQ5CpHIFa9lA5qXAIX1UrKUwRz8MwXY9JZYY9YEHOqnHLQvJtY4r2Ag==",
+ "version": "0.9.8",
+ "resolved": "https://registry.npmjs.org/@oxlint/linux-arm64-gnu/-/linux-arm64-gnu-0.9.8.tgz",
+ "integrity": "sha512-UOI88tlIuc4bfBPmLJn9vTfWqePWpk+NoA4Spwkt1Iz+kCgtftL2EmNRapn95ye+JUKBV+zOHTNjnpIjRHv6Xw==",
"cpu": [
"arm64"
],
@@ -2417,9 +2418,9 @@
]
},
"node_modules/@oxlint/linux-arm64-musl": {
- "version": "0.9.6",
- "resolved": "https://registry.npmjs.org/@oxlint/linux-arm64-musl/-/linux-arm64-musl-0.9.6.tgz",
- "integrity": "sha512-2TQ0Ln0GzW0U8UZJqhgXWr5yncZraDqx8ylSCE6o6VYiO5CkFUSqLnornH+OYQwOLyIgnxneITnFI7mCWC3/Yw==",
+ "version": "0.9.8",
+ "resolved": "https://registry.npmjs.org/@oxlint/linux-arm64-musl/-/linux-arm64-musl-0.9.8.tgz",
+ "integrity": "sha512-pHb5zjBwzQt++6CBFC0mw7sc5wXsvWf7GYugA8JW1Satei9SZaPkbfJPYMPKru+yAlFmm6GggUFKF1A2k20OMQ==",
"cpu": [
"arm64"
],
@@ -2430,9 +2431,9 @@
]
},
"node_modules/@oxlint/linux-x64-gnu": {
- "version": "0.9.6",
- "resolved": "https://registry.npmjs.org/@oxlint/linux-x64-gnu/-/linux-x64-gnu-0.9.6.tgz",
- "integrity": "sha512-jlZSjZ1Qu7EQmGFZn1+HKqlQvgW5L+qkF5r1W4g03/b35I1XwaGaij5bw07cRsy70oIQOvUE+5wWGqqIxwtpDA==",
+ "version": "0.9.8",
+ "resolved": "https://registry.npmjs.org/@oxlint/linux-x64-gnu/-/linux-x64-gnu-0.9.8.tgz",
+ "integrity": "sha512-9aGoJLGKSnx8HrU7pacfKqxHNuZdSfXCDIlJWOcfDX1ecYrti+taNDPhk9KepkUW1mkVv73HCoXyvMC88am9fA==",
"cpu": [
"x64"
],
@@ -2443,9 +2444,9 @@
]
},
"node_modules/@oxlint/linux-x64-musl": {
- "version": "0.9.6",
- "resolved": "https://registry.npmjs.org/@oxlint/linux-x64-musl/-/linux-x64-musl-0.9.6.tgz",
- "integrity": "sha512-mPwnz8PTZTv7Swc3KPl2MdTjGxBLN8R1gjSWaWd8PAR8zQ9TFiz48hpI1m0MJV5KY9oOSUGFt8MmknD2BOqZ6A==",
+ "version": "0.9.8",
+ "resolved": "https://registry.npmjs.org/@oxlint/linux-x64-musl/-/linux-x64-musl-0.9.8.tgz",
+ "integrity": "sha512-49QJtguJT+DovDKALR57WBKMuLlCZ0n2DKZIe/ehaSD824K7Ovk9kcoCN8M9FjzktOPSwZ/0udqNfZv01OEu3Q==",
"cpu": [
"x64"
],
@@ -2456,9 +2457,9 @@
]
},
"node_modules/@oxlint/win32-arm64": {
- "version": "0.9.6",
- "resolved": "https://registry.npmjs.org/@oxlint/win32-arm64/-/win32-arm64-0.9.6.tgz",
- "integrity": "sha512-gLS/kJh4TsbynN71O6moaXbdS7hfilmLAbMy3itanxta1+oW+W1b5yMn3XnYQKXZ4z48ERi2qf0Khe21VFXCZw==",
+ "version": "0.9.8",
+ "resolved": "https://registry.npmjs.org/@oxlint/win32-arm64/-/win32-arm64-0.9.8.tgz",
+ "integrity": "sha512-5CqY88g/y50olp7WfHXfezjClNa9ztCYqNKzKNJR3hkBJTa03f74M526KnS0fkSaOC2tr8WjqNZ+vDS3Zhx27Q==",
"cpu": [
"arm64"
],
@@ -2469,9 +2470,9 @@
]
},
"node_modules/@oxlint/win32-x64": {
- "version": "0.9.6",
- "resolved": "https://registry.npmjs.org/@oxlint/win32-x64/-/win32-x64-0.9.6.tgz",
- "integrity": "sha512-z8m0EiG4UtVr58b/7HenBSyaEo2dZNUVW57nx1DMO+XXQF/jg+SqYPbuDzMOD8Ygwjo1nhf8up5WiUcl/8ELAw==",
+ "version": "0.9.8",
+ "resolved": "https://registry.npmjs.org/@oxlint/win32-x64/-/win32-x64-0.9.8.tgz",
+ "integrity": "sha512-wPa3vQb73Pl0z6nkEVmY6G4sO+2xf6QXPqAxDtd7kzxrGrSkTXvTNS/gKIxmvuUy+KjKDcSC2pfJL/074yE6aQ==",
"cpu": [
"x64"
],
@@ -2611,9 +2612,9 @@
"dev": true
},
"node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.3.tgz",
- "integrity": "sha512-MmKSfaB9GX+zXl6E8z4koOr/xU63AMVleLEa64v7R0QF/ZloMs5vcD1sHgM64GXXS1csaJutG+ddtzcueI/BLg==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz",
+ "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==",
"cpu": [
"arm"
],
@@ -2624,9 +2625,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.3.tgz",
- "integrity": "sha512-zrt8ecH07PE3sB4jPOggweBjJMzI1JG5xI2DIsUbkA+7K+Gkjys6eV7i9pOenNSDJH3eOr/jLb/PzqtmdwDq5g==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz",
+ "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==",
"cpu": [
"arm64"
],
@@ -2637,9 +2638,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.3.tgz",
- "integrity": "sha512-P0UxIOrKNBFTQaXTxOH4RxuEBVCgEA5UTNV6Yz7z9QHnUJ7eLX9reOd/NYMO3+XZO2cco19mXTxDMXxit4R/eQ==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz",
+ "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==",
"cpu": [
"arm64"
],
@@ -2650,9 +2651,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.3.tgz",
- "integrity": "sha512-L1M0vKGO5ASKntqtsFEjTq/fD91vAqnzeaF6sfNAy55aD+Hi2pBI5DKwCO+UNDQHWsDViJLqshxOahXyLSh3EA==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz",
+ "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==",
"cpu": [
"x64"
],
@@ -2663,9 +2664,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.3.tgz",
- "integrity": "sha512-btVgIsCjuYFKUjopPoWiDqmoUXQDiW2A4C3Mtmp5vACm7/GnyuprqIDPNczeyR5W8rTXEbkmrJux7cJmD99D2g==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz",
+ "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==",
"cpu": [
"arm"
],
@@ -2676,9 +2677,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.3.tgz",
- "integrity": "sha512-zmjbSphplZlau6ZTkxd3+NMtE4UKVy7U4aVFMmHcgO5CUbw17ZP6QCgyxhzGaU/wFFdTfiojjbLG3/0p9HhAqA==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz",
+ "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==",
"cpu": [
"arm"
],
@@ -2689,9 +2690,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.3.tgz",
- "integrity": "sha512-nSZfcZtAnQPRZmUkUQwZq2OjQciR6tEoJaZVFvLHsj0MF6QhNMg0fQ6mUOsiCUpTqxTx0/O6gX0V/nYc7LrgPw==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz",
+ "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==",
"cpu": [
"arm64"
],
@@ -2702,9 +2703,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.3.tgz",
- "integrity": "sha512-MnvSPGO8KJXIMGlQDYfvYS3IosFN2rKsvxRpPO2l2cum+Z3exiExLwVU+GExL96pn8IP+GdH8Tz70EpBhO0sIQ==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz",
+ "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==",
"cpu": [
"arm64"
],
@@ -2715,9 +2716,9 @@
]
},
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.3.tgz",
- "integrity": "sha512-+W+p/9QNDr2vE2AXU0qIy0qQE75E8RTwTwgqS2G5CRQ11vzq0tbnfBd6brWhS9bCRjAjepJe2fvvkvS3dno+iw==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz",
+ "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==",
"cpu": [
"ppc64"
],
@@ -2728,9 +2729,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.3.tgz",
- "integrity": "sha512-yXH6K6KfqGXaxHrtr+Uoy+JpNlUlI46BKVyonGiaD74ravdnF9BUNC+vV+SIuB96hUMGShhKV693rF9QDfO6nQ==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz",
+ "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==",
"cpu": [
"riscv64"
],
@@ -2741,9 +2742,9 @@
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.3.tgz",
- "integrity": "sha512-R8cwY9wcnApN/KDYWTH4gV/ypvy9yZUHlbJvfaiXSB48JO3KpwSpjOGqO4jnGkLDSk1hgjYkTbTt6Q7uvPf8eg==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz",
+ "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==",
"cpu": [
"s390x"
],
@@ -2754,9 +2755,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.3.tgz",
- "integrity": "sha512-kZPbX/NOPh0vhS5sI+dR8L1bU2cSO9FgxwM8r7wHzGydzfSjLRCFAT87GR5U9scj2rhzN3JPYVC7NoBbl4FZ0g==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz",
+ "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==",
"cpu": [
"x64"
],
@@ -2767,9 +2768,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.3.tgz",
- "integrity": "sha512-S0Yq+xA1VEH66uiMNhijsWAafffydd2X5b77eLHfRmfLsRSpbiAWiRHV6DEpz6aOToPsgid7TI9rGd6zB1rhbg==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz",
+ "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==",
"cpu": [
"x64"
],
@@ -2780,9 +2781,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.3.tgz",
- "integrity": "sha512-9isNzeL34yquCPyerog+IMCNxKR8XYmGd0tHSV+OVx0TmE0aJOo9uw4fZfUuk2qxobP5sug6vNdZR6u7Mw7Q+Q==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz",
+ "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==",
"cpu": [
"arm64"
],
@@ -2793,9 +2794,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.3.tgz",
- "integrity": "sha512-nMIdKnfZfzn1Vsk+RuOvl43ONTZXoAPUUxgcU0tXooqg4YrAqzfKzVenqqk2g5efWh46/D28cKFrOzDSW28gTA==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz",
+ "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==",
"cpu": [
"ia32"
],
@@ -2806,9 +2807,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.3.tgz",
- "integrity": "sha512-fOvu7PCQjAj4eWDEuD8Xz5gpzFqXzGlxHZozHP4b9Jxv9APtdxL6STqztDzMLuRXEc4UpXGGhx029Xgm91QBeA==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz",
+ "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==",
"cpu": [
"x64"
],
@@ -4163,9 +4164,9 @@
}
},
"node_modules/@types/node": {
- "version": "22.5.5",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz",
- "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==",
+ "version": "22.7.0",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.0.tgz",
+ "integrity": "sha512-MOdOibwBs6KW1vfqz2uKMlxq5xAfAZ98SZjO8e3XnAbFnTJtAspqhWk7hrdSAs9/Y14ZWMiy7/MxMUzAOadYEw==",
"dev": true,
"dependencies": {
"undici-types": "~6.19.2"
@@ -7426,25 +7427,25 @@
}
},
"node_modules/dependency-cruiser": {
- "version": "16.4.1",
- "resolved": "https://registry.npmjs.org/dependency-cruiser/-/dependency-cruiser-16.4.1.tgz",
- "integrity": "sha512-tmByrPhRMdjg/FsE3eT24QSXKhrZpo9APpDCg5Wgg0ReAhZughE3iKseD++UtSYsLQIjD1aYNSeNiAvqbcup9Q==",
+ "version": "16.4.2",
+ "resolved": "https://registry.npmjs.org/dependency-cruiser/-/dependency-cruiser-16.4.2.tgz",
+ "integrity": "sha512-mQZM95WwIvKzYYdj+1RgIBuJ6qbr1cfyzTt62dDJVrWAShfhV9IEkG/Xv4S2iD5sT+Gt3oFWyZjwNufAhcbtWA==",
"dev": true,
"dependencies": {
"acorn": "^8.12.1",
"acorn-jsx": "^5.3.2",
"acorn-jsx-walk": "^2.0.0",
"acorn-loose": "^8.4.0",
- "acorn-walk": "^8.3.3",
+ "acorn-walk": "^8.3.4",
"ajv": "^8.17.1",
"commander": "^12.1.0",
"enhanced-resolve": "^5.17.1",
- "ignore": "^5.3.2",
+ "ignore": "^6.0.2",
"interpret": "^3.1.1",
"is-installed-globally": "^1.0.0",
"json5": "^2.2.3",
"memoize": "^10.0.0",
- "picocolors": "^1.0.1",
+ "picocolors": "^1.1.0",
"picomatch": "^4.0.2",
"prompts": "^2.4.2",
"rechoir": "^0.8.0",
@@ -7490,6 +7491,15 @@
"node": ">=0.4.0"
}
},
+ "node_modules/dependency-cruiser/node_modules/ignore": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-6.0.2.tgz",
+ "integrity": "sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
"node_modules/dependency-cruiser/node_modules/picomatch": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
@@ -8444,9 +8454,9 @@
}
},
"node_modules/framer-motion": {
- "version": "11.5.4",
- "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-11.5.4.tgz",
- "integrity": "sha512-E+tb3/G6SO69POkdJT+3EpdMuhmtCh9EWuK4I1DnIC23L7tFPrl8vxP+LSovwaw6uUr73rUbpb4FgK011wbRJQ==",
+ "version": "11.7.0",
+ "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-11.7.0.tgz",
+ "integrity": "sha512-m+1E3mMzDIQ5DsVghMvXyC+jSkZSm5RHBLA2gHa/LczcXwW6JbQK4Uz48LsuCTGV8bZFVUezcauHj3M33tY/5w==",
"dev": true,
"dependencies": {
"tslib": "^2.4.0"
@@ -9413,6 +9423,19 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/import-from-esm": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-1.3.4.tgz",
+ "integrity": "sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.3.4",
+ "import-meta-resolve": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=16.20"
+ }
+ },
"node_modules/import-lazy": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz",
@@ -9422,6 +9445,16 @@
"node": ">=8"
}
},
+ "node_modules/import-meta-resolve": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz",
+ "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==",
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
"node_modules/imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
@@ -12322,9 +12355,9 @@
}
},
"node_modules/oxlint": {
- "version": "0.9.6",
- "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-0.9.6.tgz",
- "integrity": "sha512-5UeXQK7n6qIktK9JTG7Nh8mH1NM9A/jssdCMw0P02mob6DwM13ycgeZtrD7Z22J7QSJKfGnfu41S2YSJJN3zaQ==",
+ "version": "0.9.8",
+ "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-0.9.8.tgz",
+ "integrity": "sha512-FnRcPEerznjvFuAD6fvg04ZwXuihzWZa/ciN2g7o2/rV0uRJGGl4hazrFpetf8uv2pnUr3n5TJ6u4d5rSvaapQ==",
"dev": true,
"bin": {
"oxlint": "bin/oxlint"
@@ -12336,14 +12369,14 @@
"url": "https://github.com/sponsors/Boshen"
},
"optionalDependencies": {
- "@oxlint/darwin-arm64": "0.9.6",
- "@oxlint/darwin-x64": "0.9.6",
- "@oxlint/linux-arm64-gnu": "0.9.6",
- "@oxlint/linux-arm64-musl": "0.9.6",
- "@oxlint/linux-x64-gnu": "0.9.6",
- "@oxlint/linux-x64-musl": "0.9.6",
- "@oxlint/win32-arm64": "0.9.6",
- "@oxlint/win32-x64": "0.9.6"
+ "@oxlint/darwin-arm64": "0.9.8",
+ "@oxlint/darwin-x64": "0.9.8",
+ "@oxlint/linux-arm64-gnu": "0.9.8",
+ "@oxlint/linux-arm64-musl": "0.9.8",
+ "@oxlint/linux-x64-gnu": "0.9.8",
+ "@oxlint/linux-x64-musl": "0.9.8",
+ "@oxlint/win32-arm64": "0.9.8",
+ "@oxlint/win32-x64": "0.9.8"
}
},
"node_modules/p-cancelable": {
@@ -14405,9 +14438,9 @@
"dev": true
},
"node_modules/rollup": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.3.tgz",
- "integrity": "sha512-7sqRtBNnEbcBtMeRVc6VRsJMmpI+JU1z9VTvW8D4gXIYQFz0aLcsE6rRkyghZkLfEgUZgVvOG7A5CVz/VW5GIA==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz",
+ "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==",
"dev": true,
"dependencies": {
"@types/estree": "1.0.5"
@@ -14420,25 +14453,104 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.21.3",
- "@rollup/rollup-android-arm64": "4.21.3",
- "@rollup/rollup-darwin-arm64": "4.21.3",
- "@rollup/rollup-darwin-x64": "4.21.3",
- "@rollup/rollup-linux-arm-gnueabihf": "4.21.3",
- "@rollup/rollup-linux-arm-musleabihf": "4.21.3",
- "@rollup/rollup-linux-arm64-gnu": "4.21.3",
- "@rollup/rollup-linux-arm64-musl": "4.21.3",
- "@rollup/rollup-linux-powerpc64le-gnu": "4.21.3",
- "@rollup/rollup-linux-riscv64-gnu": "4.21.3",
- "@rollup/rollup-linux-s390x-gnu": "4.21.3",
- "@rollup/rollup-linux-x64-gnu": "4.21.3",
- "@rollup/rollup-linux-x64-musl": "4.21.3",
- "@rollup/rollup-win32-arm64-msvc": "4.21.3",
- "@rollup/rollup-win32-ia32-msvc": "4.21.3",
- "@rollup/rollup-win32-x64-msvc": "4.21.3",
+ "@rollup/rollup-android-arm-eabi": "4.22.4",
+ "@rollup/rollup-android-arm64": "4.22.4",
+ "@rollup/rollup-darwin-arm64": "4.22.4",
+ "@rollup/rollup-darwin-x64": "4.22.4",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.22.4",
+ "@rollup/rollup-linux-arm-musleabihf": "4.22.4",
+ "@rollup/rollup-linux-arm64-gnu": "4.22.4",
+ "@rollup/rollup-linux-arm64-musl": "4.22.4",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4",
+ "@rollup/rollup-linux-riscv64-gnu": "4.22.4",
+ "@rollup/rollup-linux-s390x-gnu": "4.22.4",
+ "@rollup/rollup-linux-x64-gnu": "4.22.4",
+ "@rollup/rollup-linux-x64-musl": "4.22.4",
+ "@rollup/rollup-win32-arm64-msvc": "4.22.4",
+ "@rollup/rollup-win32-ia32-msvc": "4.22.4",
+ "@rollup/rollup-win32-x64-msvc": "4.22.4",
"fsevents": "~2.3.2"
}
},
+ "node_modules/rollup-plugin-visualizer": {
+ "version": "5.12.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz",
+ "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==",
+ "dev": true,
+ "dependencies": {
+ "open": "^8.4.0",
+ "picomatch": "^2.3.1",
+ "source-map": "^0.7.4",
+ "yargs": "^17.5.1"
+ },
+ "bin": {
+ "rollup-plugin-visualizer": "dist/bin/cli.js"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "rollup": "2.x || 3.x || 4.x"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/rollup-plugin-visualizer/node_modules/define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/rollup-plugin-visualizer/node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "dev": true,
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/rollup-plugin-visualizer/node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/rollup-plugin-visualizer/node_modules/open": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
+ "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
+ "dev": true,
+ "dependencies": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/rollup/node_modules/@types/estree": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
@@ -14552,9 +14664,9 @@
"dev": true
},
"node_modules/sass": {
- "version": "1.79.1",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.1.tgz",
- "integrity": "sha512-+mA7svoNKeL0DiJqZGeR/ZGUu8he4I8o3jyUcOFyo4eBJrwNgIMmAEwCMo/N2Y3wdjOBcRzoNxZIOtrtMX8EXg==",
+ "version": "1.79.3",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.3.tgz",
+ "integrity": "sha512-m7dZxh0W9EZ3cw50Me5GOuYm/tVAJAn91SUnohLRo9cXBixGUOdvmryN+dXpwR831bhoY3Zv7rEFt85PUwTmzA==",
"dev": true,
"dependencies": {
"chokidar": "^4.0.0",
@@ -16359,9 +16471,9 @@
"dev": true
},
"node_modules/vite": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz",
- "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==",
+ "version": "5.4.8",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz",
+ "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==",
"dev": true,
"dependencies": {
"esbuild": "^0.21.3",
@@ -16417,11 +16529,32 @@
}
}
},
- "node_modules/vite-bundle-analyzer": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/vite-bundle-analyzer/-/vite-bundle-analyzer-0.11.0.tgz",
- "integrity": "sha512-UgRP6XxXJGh+Q9fu8Cm8sBIdzDmGQjO/5I8bnV0C6ZkVeqjj79hkeCbJziV8yI9+dm4gpPemeot5KJ6wlHDOSQ==",
- "dev": true
+ "node_modules/vite-bundle-visualizer": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/vite-bundle-visualizer/-/vite-bundle-visualizer-1.2.1.tgz",
+ "integrity": "sha512-cwz/Pg6+95YbgIDp+RPwEToc4TKxfsFWSG/tsl2DSZd9YZicUag1tQXjJ5xcL7ydvEoaC2FOZeaXOU60t9BRXw==",
+ "dev": true,
+ "dependencies": {
+ "cac": "^6.7.14",
+ "import-from-esm": "^1.3.3",
+ "rollup-plugin-visualizer": "^5.11.0",
+ "tmp": "^0.2.1"
+ },
+ "bin": {
+ "vite-bundle-visualizer": "bin.js"
+ },
+ "engines": {
+ "node": "^18.19.0 || >=20.6.0"
+ }
+ },
+ "node_modules/vite-bundle-visualizer/node_modules/tmp": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz",
+ "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.14"
+ }
},
"node_modules/vite-node": {
"version": "2.1.1",
@@ -16445,9 +16578,9 @@
}
},
"node_modules/vite-plugin-dts": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-4.2.1.tgz",
- "integrity": "sha512-/QlYvgUMiv8+ZTEerhNCYnYaZMM07cdlX6hQCR/w/g/nTh0tUXPoYwbT6SitizLJ9BybT1lnrcZgqheI6wromQ==",
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-4.2.2.tgz",
+ "integrity": "sha512-USwTMReZFf8yXV+cKkm4WOMqmFjbReAvkyxON5xzdnZzJEBnFgax6BBDZIGGr9WMJYvhHdpaIHLrOjXDcla4OA==",
"dev": true,
"dependencies": {
"@microsoft/api-extractor": "7.47.7",
@@ -17763,7 +17896,7 @@
},
"packages/code": {
"name": "@devoinc/genesys-ui-code",
- "version": "11.1.1",
+ "version": "12.0.0",
"license": "MIT",
"devDependencies": {
"@types/file-saver": "^2.0.7",
@@ -17771,7 +17904,7 @@
},
"peerDependencies": {
"@devoinc/genesys-brand-devo": "6.x.x",
- "@devoinc/genesys-ui": "^11.1.1",
+ "@devoinc/genesys-ui": "^12.0.0",
"ahooks": "3.x.x",
"monaco-editor-core": "0.x.x",
"react": "16.x || 17.x || 18.x",
@@ -17780,10 +17913,10 @@
},
"packages/color": {
"name": "@devoinc/genesys-ui-color",
- "version": "11.1.1",
+ "version": "12.0.0",
"license": "MIT",
"peerDependencies": {
- "@devoinc/genesys-ui": "^11.1.1",
+ "@devoinc/genesys-ui": "^12.0.0",
"polished": "4.x.x",
"react": "16.x || 17.x || 18.x",
"react-color": "2.x.x",
@@ -17792,7 +17925,7 @@
},
"packages/core": {
"name": "@devoinc/genesys-ui",
- "version": "11.1.1",
+ "version": "12.0.0",
"license": "MIT",
"peerDependencies": {
"@devoinc/genesys-icons": "4.x.x || 5.x.x || 6.x.x",
@@ -17817,11 +17950,11 @@
},
"packages/datetime": {
"name": "@devoinc/genesys-ui-datetime",
- "version": "11.1.1",
+ "version": "12.0.0",
"license": "MIT",
"peerDependencies": {
"@devoinc/genesys-icons": "4.x.x || 5.x.x || 6.x.x",
- "@devoinc/genesys-ui": "^11.1.1",
+ "@devoinc/genesys-ui": "^12.0.0",
"date-fns": "2.x.x",
"react": "16.x || 17.x || 18.x",
"react-popper": "2.x.x",
@@ -17830,12 +17963,12 @@
},
"packages/table": {
"name": "@devoinc/genesys-ui-table",
- "version": "11.1.1",
+ "version": "12.0.0",
"license": "MIT",
"peerDependencies": {
"@devoinc/genesys-icons": "^4.x.x || ^5.x.x || ^6.x.x",
- "@devoinc/genesys-ui": "^11.1.1",
- "@devoinc/genesys-ui-datetime": "^11.1.1",
+ "@devoinc/genesys-ui": "^12.0.0",
+ "@devoinc/genesys-ui-datetime": "^12.0.0",
"@tanstack/react-virtual": "3.x.x",
"date-fns": "2.x.x",
"date-fns-tz": "2.x.x",
@@ -17845,11 +17978,11 @@
},
"packages/upload": {
"name": "@devoinc/genesys-ui-upload",
- "version": "11.1.1",
+ "version": "12.0.0",
"license": "MIT",
"peerDependencies": {
"@devoinc/genesys-icons": "4.x.x || 5.x.x || 6.x.x",
- "@devoinc/genesys-ui": "^11.1.1",
+ "@devoinc/genesys-ui": "^12.0.0",
"filepond-plugin-file-validate-size": "2.x.x",
"filepond-plugin-file-validate-type": "1.x.x",
"filepond-plugin-image-preview": "4.x.x",
diff --git a/package.json b/package.json
index c8affc470..ed758208e 100644
--- a/package.json
+++ b/package.json
@@ -19,7 +19,7 @@
"stryker": "npm run stryker -ws --if-present",
"analyzer": "npm run analyzer -ws --if-present",
"test": "vitest",
- "test:ci": "vitest --coverage",
+ "test:ci": "npm run test -ws --if-present -- --coverage --watch=false",
"dpdm": "npm run dpdm -ws --if-present",
"release": "release-it --dry-run",
"release:ci": "release-it --ci",
@@ -51,20 +51,21 @@
"@stryker-mutator/vitest-runner": "^8.5.0",
"@testing-library/jest-dom": "^6.5.0",
"@testing-library/react": "^16.0.1",
+ "@testing-library/user-event": "^14.5.2",
"@types/js-cookie": "^3.0.6",
- "@types/node": "^22.5.5",
+ "@types/node": "^22.7.0",
"@vitejs/plugin-react": "^4.3.1",
"@vitest/coverage-v8": "^2.1.1",
"babel-plugin-styled-components": "^2.1.4",
- "dependency-cruiser": "^16.4.1",
+ "dependency-cruiser": "^16.4.2",
"dpdm": "^3.14.0",
- "framer-motion": "^11.5.4",
+ "framer-motion": "^11.7.0",
"happy-dom": "^15.7.4",
"identity-obj-proxy": "^3.0.0",
"js-cookie": "^3.0.5",
"lodash": "^4.17.21",
"mermaid": "^11.2.1",
- "oxlint": "^0.9.6",
+ "oxlint": "^0.9.8",
"polished": "^4.3.1",
"prettier": "^3.3.3",
"react": "^18.3.1",
@@ -72,14 +73,14 @@
"react-syntax-highlighter": "^15.5.0",
"release-it": "^17.6.0",
"remark-gfm": "^4.0.0",
- "sass": "^1.79.1",
+ "sass": "^1.79.3",
"storybook": "^8.3.1",
"tocbot": "^4.29.0",
"ts-node": "^10.9.2",
"typescript": "^5.6.2",
- "vite": "^5.4.6",
- "vite-bundle-analyzer": "^0.11.0",
- "vite-plugin-dts": "^4.2.1",
+ "vite": "^5.4.8",
+ "vite-bundle-visualizer": "^1.2.1",
+ "vite-plugin-dts": "^4.2.2",
"vite-tsconfig-paths": "^5.0.1",
"vitest": "^2.1.1",
"viz.js": "^2.1.2"
diff --git a/packages/code/package.json b/packages/code/package.json
index 11a570d90..749948b63 100644
--- a/packages/code/package.json
+++ b/packages/code/package.json
@@ -25,7 +25,7 @@
"build": "vite build",
"build:watch": "vite build --watch",
"depcruise": "sh ../../depcruise.sh \"$npm_package_name\"",
- "analyzer": "npx vite-bundle-visualizer -o 'dist/stats.html'",
+ "analyzer": "vite-bundle-visualizer -o 'dist/stats.html'",
"stryker": "npx stryker run",
"dpdm": "dpdm --exit-code circular:1 ./src/index.ts"
},
diff --git a/packages/code/src/components/Editor/Editor.mdx b/packages/code/src/components/Editor/Editor.mdx
index d732b7b0f..cf2abd2b1 100644
--- a/packages/code/src/components/Editor/Editor.mdx
+++ b/packages/code/src/components/Editor/Editor.mdx
@@ -46,19 +46,19 @@ import { Editor, useEditorTheme } from '@devoinc/genesys-ui-code';
export const CustomThemed = () => {
const editorTheme = useEditorTheme();
-return (
-
-
-
-
-
-
-);
+ return (
+
+
+
+
+
+
+ );
};
`} />
@@ -87,41 +87,41 @@ import { Editor, registerLanguage } from '@devoinc/genesys-ui-code';
const languageId = 'myLang';
const language = {
-keywords: ['"keyword"'],
-tokenizer: {
-root: [
-[
-/"[A-Za-z0-9_]_"/,
-{
-cases: {
-'@keywords': 'keyword',
-'@default': 'default',
-},
-},
-],
-[/:\\s"((.|-|\\n|\\r)_)"/, 'value'],
-],
-},
+ keywords: ['"keyword"'],
+ tokenizer: {
+ root: [
+ [
+ /"[A-Za-z0-9_]_"/,
+ {
+ cases: {
+ '@keywords': 'keyword',
+ '@default': 'default',
+ },
+ },
+ ],
+ [/:\\s"((.|-|\\n|\\r)_)"/, 'value'],
+ ],
+ },
};
const completionProvider = {
-provideCompletionItems: (model, position) => {
-const word = model.getWordUntilPosition(position);
-const suggestions = [
-{
-label: 'keyword',
-kind: monaco.languages.CompletionItemKind.Field,
-insertText: '"keyword"',
-range: {
-startLineNumber: position.lineNumber,
-endLineNumber: position.lineNumber,
-startColumn: word.startColumn,
-endColumn: word.endColumn,
-},
-},
-];
-return { suggestions: suggestions };
-},
+ provideCompletionItems: (model, position) => {
+ const word = model.getWordUntilPosition(position);
+ const suggestions = [
+ {
+ label: 'keyword',
+ kind: monaco.languages.CompletionItemKind.Field,
+ insertText: '"keyword"',
+ range: {
+ startLineNumber: position.lineNumber,
+ endLineNumber: position.lineNumber,
+ startColumn: word.startColumn,
+ endColumn: word.endColumn,
+ },
+ },
+ ];
+ return { suggestions: suggestions };
+ },
};
export const CustomLang = () => {
@@ -133,15 +133,15 @@ export const CustomLang = () => {
.registerCompletionProvider(completionProvider);
};
-return (
-
-);
+ return (
+
+ );
};
`} />
@@ -164,26 +164,27 @@ import {
export const CustomThemed = () => {
const editorTheme = useEditorTheme();
-const { containerRef } = useEditor({
-originalValue: 'Hey there!',
-modifiedValue: 'Hey hey!',
-theme: editorTheme,
-language: '',
-beforeMount: () => console.log('beforeMount'),
-onMount: () => console.log('onMount'),
-onChange: () => console.log('onChange'),
-onValidate: () => console.log('onValidate'),
-options: {},
-});
-
-return (
-
-
-
-
-
-
-);
+ const { containerRef } = useEditor({
+ originalValue: 'Hey there!',
+ modifiedValue: 'Hey hey!',
+ theme: editorTheme,
+ language: '',
+ beforeMount: () => console.log('beforeMount'),
+ onMount: () => console.log('onMount'),
+ onChange: () => console.log('onChange'),
+ onValidate: () => console.log('onValidate'),
+ options: {},
+ });
+
+ return (
+
+
+
+
+
+
+
+ );
};
`} />
@@ -215,19 +216,19 @@ export const CustomThemed = () => {
},
};
-return (
-
-
-
-
-
-
-);
+ return (
+
+
+
+
+
+
+ );
};
`} />
diff --git a/packages/code/vite.config.ts b/packages/code/vite.config.ts
index 607955319..ef267cc40 100644
--- a/packages/code/vite.config.ts
+++ b/packages/code/vite.config.ts
@@ -53,5 +53,14 @@ export default defineConfig({
test: {
environment: 'happy-dom',
include: ['{src,stories}/**/*.test.ts?(x)'],
+ coverage: {
+ provider: 'v8',
+ include: ['{src,stories}/**/*'],
+ },
+ server: {
+ deps: {
+ inline: [/\/@devoinc\/genesys-ui\//],
+ },
+ },
},
});
diff --git a/packages/color/package.json b/packages/color/package.json
index 5bf4855dc..fdae867e2 100644
--- a/packages/color/package.json
+++ b/packages/color/package.json
@@ -9,7 +9,7 @@
"build": "vite build",
"build:watch": "vite build --watch",
"depcruise": "sh ../../depcruise.sh \"$npm_package_name\"",
- "analyzer": "npx vite-bundle-visualizer -o 'dist/stats.html'",
+ "analyzer": "vite-bundle-visualizer -o 'dist/stats.html'",
"stryker": "npx stryker run",
"dpdm": "dpdm --exit-code circular:1 ./src/index.ts"
},
diff --git a/packages/color/vite.config.ts b/packages/color/vite.config.ts
index a3f99235e..2a4ecd416 100644
--- a/packages/color/vite.config.ts
+++ b/packages/color/vite.config.ts
@@ -54,5 +54,14 @@ export default defineConfig({
test: {
environment: 'happy-dom',
include: ['{src,stories}/**/*.test.ts?(x)'],
+ coverage: {
+ provider: 'v8',
+ include: ['{src,stories}/**/*'],
+ },
+ server: {
+ deps: {
+ inline: [/\/@devoinc\/genesys-ui\//],
+ },
+ },
},
});
diff --git a/packages/core/package.json b/packages/core/package.json
index b317cd1cf..aea757a90 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -18,10 +18,11 @@
"scripts": {
"compile": "tsc --project tsconfig.json",
"compile:watch": "npm run compile -- --watch",
+ "test": "vitest",
"build": "vite build",
"build:watch": "vite build --watch",
"depcruise": "sh ../../depcruise.sh \"$npm_package_name\"",
- "analyzer": "npx vite-bundle-visualizer -o 'dist/stats.html'",
+ "analyzer": "vite-bundle-visualizer -o 'dist/stats.html'",
"stryker": "npx stryker run",
"dpdm": "dpdm --exit-code circular:1 ./src/index.ts"
},
diff --git a/packages/core/src/components/Panel/Panel.tsx b/packages/core/src/components/Panel/Panel.tsx
index 435377d64..ee488939e 100644
--- a/packages/core/src/components/Panel/Panel.tsx
+++ b/packages/core/src/components/Panel/Panel.tsx
@@ -1,7 +1,7 @@
import * as React from 'react';
import { useTheme } from 'styled-components';
-import { useDetectScroll } from '../../hooks';
+import { useIsOverflow } from '../../hooks';
import type { TPanelSize } from './declarations';
import type {
IStyledOverloadCss,
@@ -47,12 +47,14 @@ const InternalPanel = React.forwardRef(
style,
size = 'md',
children,
+ removeContentSpace,
...restBoxProps
},
ref,
) => {
const theme = useTheme();
- const { hasScroll, targetElRef } = useDetectScroll();
+ const targetElRef = React.useRef(null);
+ const { hasScroll } = useIsOverflow(targetElRef);
return (
(
)}
>
{children}
diff --git a/packages/core/src/components/Panel/components/PanelBody/PanelBody.tsx b/packages/core/src/components/Panel/components/PanelBody/PanelBody.tsx
index 8c31681c2..ccb1c09af 100644
--- a/packages/core/src/components/Panel/components/PanelBody/PanelBody.tsx
+++ b/packages/core/src/components/Panel/components/PanelBody/PanelBody.tsx
@@ -19,6 +19,8 @@ export const PanelBody = React.forwardRef(
const theme = useTheme();
const context = React.useContext(PanelContext);
const evalSize = size || context.size || 'md';
+ const removeContentSpace =
+ removeSpace ?? context?.removeContentSpace ?? false;
return (
(
style={mergeStyles(
panelBodyMixin({
hasScrollSpacing: hasScrollSpacing ?? context.scrolledBodyContent,
- removeSpace,
+ removeSpace: removeContentSpace,
size: evalSize,
theme,
}),
diff --git a/packages/core/src/components/Panel/components/PanelBody/helpers.ts b/packages/core/src/components/Panel/components/PanelBody/helpers.ts
index 7f4036e12..3d2b8b5f1 100644
--- a/packages/core/src/components/Panel/components/PanelBody/helpers.ts
+++ b/packages/core/src/components/Panel/components/PanelBody/helpers.ts
@@ -22,22 +22,13 @@ export const panelBodyMixin = ({
theme,
}: PanelBodyMixinProps) => {
const panelBodyTokens = theme.cmp.panel.content;
- let trackRadius: string;
- let padding = panelBodyTokens.space.padding[size];
+ let padding = removeSpace ? 0 : panelBodyTokens.space.padding[size];
const margin = hasScrollSpacing
? panelBodyTokens.space.margin[size]
: undefined;
- if (!hasScrollSpacing) {
- trackRadius = '0';
- }
-
- if (removeSpace) {
- padding = '0';
- }
-
return css`
- ${scrollbars({ $trackRadius: trackRadius, theme })};
+ ${scrollbars({ $trackRadius: !hasScrollSpacing && '0', theme })};
padding: ${padding};
margin: ${margin};
`;
diff --git a/packages/core/src/components/Panel/context.ts b/packages/core/src/components/Panel/context.ts
index af9ec443f..c4ad33161 100644
--- a/packages/core/src/components/Panel/context.ts
+++ b/packages/core/src/components/Panel/context.ts
@@ -5,7 +5,8 @@ import type { TPanelSize } from './declarations';
export interface PanelContextProps {
scrolledBodyContent?: boolean;
size?: TPanelSize;
- bodyRef?: (node: HTMLElement) => void;
+ bodyRef?: React.RefObject;
+ removeContentSpace?: boolean;
}
export const PanelContext = React.createContext({});
diff --git a/packages/core/src/components/PanelSection/PanelSection.tsx b/packages/core/src/components/PanelSection/PanelSection.tsx
index 23875a1a2..9d523035b 100644
--- a/packages/core/src/components/PanelSection/PanelSection.tsx
+++ b/packages/core/src/components/PanelSection/PanelSection.tsx
@@ -9,7 +9,7 @@ import type {
IPanelHelpAttrs,
} from '../Panel/declarations';
import type { IPanelHeadingAttrs } from '../Panel/components/PanelHeader/declarations';
-import { useDetectScroll } from '../../hooks';
+import { useIsOverflow } from '../../hooks';
import {
panelSectionBodyMixin,
panelSectionFooterMixin,
@@ -86,7 +86,8 @@ export const PanelSection: React.FC = ({
...dataProps
}) => {
const theme = useTheme();
- const { hasScroll, targetElRef } = useDetectScroll();
+ const targetElRef = React.useRef(null);
+ const { hasScroll } = useIsOverflow(targetElRef);
return (
{
- return css`
- padding: ${getPanelSectionBodySpacing({
- hasScroll,
- removeSpace,
- theme,
- }).contentPadding};
- margin: ${getPanelSectionBodySpacing({
- hasScroll,
- removeSpace,
- theme,
- }).contentMargin};
- `;
-};
+}: getPanelSectionBodySpacingProps) => css`
+ padding: ${getPanelSectionBodySpacing({
+ hasScroll,
+ removeSpace,
+ theme,
+ }).contentPadding};
+ margin: ${getPanelSectionBodySpacing({
+ hasScroll,
+ removeSpace,
+ theme,
+ }).contentMargin};
+`;
/**
* Get the specific styles for PanelFooter component when it's used inside a PanelSection
diff --git a/packages/core/src/hooks/index.ts b/packages/core/src/hooks/index.ts
index 56e479372..61379daa3 100644
--- a/packages/core/src/hooks/index.ts
+++ b/packages/core/src/hooks/index.ts
@@ -2,5 +2,4 @@ export * from './useAddPropsToChildren';
export * from './useOnEventOutside';
export * from './useStateFromProps';
export * from './useWindowSize';
-export * from './useContainerDimensions';
-export * from './useDetectScroll';
+export * from './useIsOverflow';
diff --git a/packages/core/src/hooks/useContainerDimensions.ts b/packages/core/src/hooks/useContainerDimensions.ts
deleted file mode 100644
index d177f161d..000000000
--- a/packages/core/src/hooks/useContainerDimensions.ts
+++ /dev/null
@@ -1,70 +0,0 @@
-import * as React from 'react';
-import { throttle } from 'lodash';
-import type { IClientSize } from '../declarations/dom';
-
-const DEFAULT_PROPS = { delay: 0 };
-
-export const useContainerDimensions = ({ delay } = DEFAULT_PROPS): {
- size: IClientSize;
- setRef: (node: HTMLDivElement) => void;
- nodeRef: React.RefObject;
-} => {
- const [size, setSize] = React.useState(null);
- const nodeRef = React.useRef(null);
-
- const updateSize = React.useCallback(() => {
- if (nodeRef?.current) {
- const HTMLElement: Partial = nodeRef?.current;
- setSize({
- ...HTMLElement.getBoundingClientRect?.(),
- clientHeight: HTMLElement.clientHeight,
- clientWidth: HTMLElement.clientWidth,
- scrollHeight: HTMLElement.scrollHeight,
- scrollWidth: HTMLElement.scrollWidth,
- });
- }
- }, []);
-
- const handleResize = React.useMemo(
- () => throttle(() => updateSize(), delay),
- [updateSize, delay],
- );
-
- // eslint-disable-next-line consistent-return
- const resizeObserver = React.useMemo(() => {
- if (typeof window !== 'undefined') {
- return new ResizeObserver(handleResize);
- }
- }, [handleResize]);
-
- /**
- * The callback ref will be called only when the component mounts and
- * unmounts.
- * Note that we pass [resizeObserver] as a dependency array to useCallback.
- * This ensures that our ref callback doesn’t change between the re-renders,
- * only if resizeObserver has changed and so React won’t call it
- * unnecessarily.
- */
- const setRef = React.useCallback(
- (node) => {
- if (typeof window !== 'undefined') {
- //Component unmount
- if (nodeRef.current) {
- setSize(null);
- resizeObserver.unobserve(nodeRef.current);
- }
-
- nodeRef.current = node;
-
- //Component mount
- if (nodeRef.current) {
- updateSize();
- resizeObserver.observe(nodeRef.current);
- }
- }
- },
- [updateSize, resizeObserver],
- );
-
- return { setRef, size, nodeRef };
-};
diff --git a/packages/core/src/hooks/useDetectScroll.ts b/packages/core/src/hooks/useDetectScroll.ts
deleted file mode 100644
index cd62e4734..000000000
--- a/packages/core/src/hooks/useDetectScroll.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import * as React from 'react';
-import { updateHasScroll } from '../utils/scroll';
-import { useContainerDimensions } from './useContainerDimensions';
-
-export const useDetectScroll = () => {
- const { setRef: targetElRef, size: measures } = useContainerDimensions();
-
- const [hasScroll, setHasScroll] = React.useState(false);
-
- React.useLayoutEffect(
- () => updateHasScroll(measures, hasScroll, setHasScroll),
- [measures, hasScroll, setHasScroll],
- );
-
- return { targetElRef, hasScroll };
-};
diff --git a/packages/core/src/hooks/useIsOverflow.ts b/packages/core/src/hooks/useIsOverflow.ts
new file mode 100644
index 000000000..cf0ff0fbc
--- /dev/null
+++ b/packages/core/src/hooks/useIsOverflow.ts
@@ -0,0 +1,23 @@
+import * as React from 'react';
+import { useSize } from 'ahooks';
+
+export const useIsOverflow = (ref: React.RefObject) => {
+ const [isOverflow, setIsOverflow] = React.useState(undefined);
+ const size = useSize(ref);
+
+ React.useLayoutEffect(() => {
+ const { current } = ref;
+
+ const trigger = () => {
+ const hasOverflow = current.scrollHeight > current.clientHeight;
+
+ setIsOverflow(hasOverflow);
+ };
+
+ if (current) {
+ trigger();
+ }
+ }, [ref, size?.width, size?.height]);
+
+ return { hasScroll: isOverflow };
+};
diff --git a/packages/core/vite.config.ts b/packages/core/vite.config.ts
index d9d68f453..53ccb6a69 100644
--- a/packages/core/vite.config.ts
+++ b/packages/core/vite.config.ts
@@ -66,5 +66,9 @@ export default defineConfig({
test: {
environment: 'happy-dom',
include: ['{src,stories}/**/*.test.ts?(x)'],
+ coverage: {
+ provider: 'v8',
+ include: ['{src,stories}/**/*'],
+ },
},
});
diff --git a/packages/datetime/package.json b/packages/datetime/package.json
index 66b142a47..109ca9718 100644
--- a/packages/datetime/package.json
+++ b/packages/datetime/package.json
@@ -6,10 +6,11 @@
"scripts": {
"compile": "tsc --project tsconfig.json",
"compile:watch": "npm run compile -- --watch",
+ "test": "vitest",
"build": "vite build",
"build:watch": "vite build --watch",
"depcruise": "sh ../../depcruise.sh \"$npm_package_name\"",
- "analyzer": "npx vite-bundle-visualizer -o 'dist/stats.html'",
+ "analyzer": "vite-bundle-visualizer -o 'dist/stats.html'",
"stryker": "npx stryker run",
"dpdm": "dpdm --exit-code circular:1 ./src/index.ts"
},
diff --git a/packages/datetime/src/components/Time/Time.stories.tsx b/packages/datetime/src/components/Time/Time.stories.tsx
index 87b69a707..0eb778802 100644
--- a/packages/datetime/src/components/Time/Time.stories.tsx
+++ b/packages/datetime/src/components/Time/Time.stories.tsx
@@ -14,7 +14,21 @@ type Story = StoryObj;
export const Base: Story = {
args: {
value: new Date(),
+ hasMillis: true,
},
+ render: (args) =>
+ ((props) => {
+ const [value, setValue] = React.useState(props.value);
+ return (
+