diff --git a/tsconfig.json b/common/tsconfig.json
similarity index 69%
rename from tsconfig.json
rename to common/tsconfig.json
index 0930fffea..928bbcacb 100644
--- a/tsconfig.json
+++ b/common/tsconfig.json
@@ -13,15 +13,8 @@
       "@testing-library/jest-dom"
     ],
     "resolveJsonModule": true,
-    "baseUrl": ".",
-    "jsx": "react",
     "strictBindCallApply": true,
     "noUncheckedIndexedAccess": true,
-    "paths": {
-      "test-utils": [
-        "./test/test-utils.tsx"
-      ]
-    },
-    "skipLibCheck": true,
-  },
+    "jsx": "react"
+  }
 }
diff --git a/common/tsup.config.ts b/common/tsup.config.ts
new file mode 100644
index 000000000..8a805af40
--- /dev/null
+++ b/common/tsup.config.ts
@@ -0,0 +1,17 @@
+import type { Options } from 'tsup';
+import styledComponentsPlugin from 'esbuild-plugin-styled-components';
+
+export const tsupConfig: Options = {
+  // Here is the plugin for that allow us to use the
+  // styled-components CSS prop properly
+  // https://github.com/appzic/esbuild-plugin-styled-components
+  esbuildPlugins: [styledComponentsPlugin({})],
+  sourcemap: true,
+  clean: true,
+  dts: true,
+  minify: 'terser',
+  format: ['esm', 'cjs'],
+  metafile: true,
+  treeshake: true,
+  // silent: true,
+};
diff --git a/common/vitest.config.ts b/common/vitest.config.ts
new file mode 100644
index 000000000..0db276a39
--- /dev/null
+++ b/common/vitest.config.ts
@@ -0,0 +1,33 @@
+import react from '@vitejs/plugin-react';
+import { defineConfig } from 'vitest/config';
+
+export const vitestConfig = defineConfig({
+  // Here is the plugin for React that allow us to use the babel plugin for
+  // styled-components and test the CSS prop output properly
+  // https://styled-components.com/docs/tooling#babel-plugin
+  plugins: [
+    react({
+      babel: {
+        plugins: [
+          [
+            'babel-plugin-styled-components',
+            {
+              ssr: false,
+              pure: true,
+              displayName: command !== 'build',
+              fileName: command !== 'build',
+            },
+          ],
+        ],
+      },
+    }),
+  ],
+  test: {
+    environment: 'happy-dom',
+    include: ['{src,stories}/**/*.test.ts?(x)'],
+    coverage: {
+      provider: 'v8',
+      include: ['{src,stories}/**/*'],
+    },
+  },
+});
diff --git a/package-lock.json b/package-lock.json
index 3c81b1cb2..5580c6a5a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,13 +1,12 @@
 {
   "name": "genesys-ui",
-  "version": "14.3.1",
+  "version": "14.3.2",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "genesys-ui",
-      "version": "14.3.1",
-      "hasInstallScript": true,
+      "version": "14.3.2",
       "license": "MIT",
       "workspaces": [
         "packages/core",
@@ -47,6 +46,7 @@
         "babel-plugin-styled-components": "^2.1.4",
         "dependency-cruiser": "^16.8.0",
         "dpdm": "^3.14.0",
+        "esbuild-plugin-styled-components": "^3.0.1",
         "framer-motion": "^11.15.0",
         "happy-dom": "^15.11.7",
         "identity-obj-proxy": "^3.0.0",
@@ -63,11 +63,14 @@
         "sass": "^1.83.0",
         "semver": "^7.6.3",
         "storybook": "^8.4.7",
+        "terser": "^5.37.0",
         "tocbot": "^4.32.2",
         "ts-node": "^10.9.2",
+        "tsup": "^8.3.5",
         "typescript": "^5.7.2",
         "vite": "^6.0.3",
         "vite-bundle-visualizer": "^1.2.1",
+        "vite-plugin-babel-macros": "^1.0.6",
         "vite-plugin-dts": "^4.3.0",
         "vite-tsconfig-paths": "^5.1.4",
         "vitest": "^2.1.8",
@@ -700,9 +703,9 @@
       "license": "MIT"
     },
     "node_modules/@braintree/sanitize-url": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.0.tgz",
-      "integrity": "sha512-o+UlMLt49RvtCASlOMW0AkHnabN9wR9rwCCherxO0yG4Npy34GkvrAqdXQvrhNs+jh+gkK8gB8Lf05qL/O7KWg==",
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.1.tgz",
+      "integrity": "sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==",
       "dev": true,
       "license": "MIT"
     },
@@ -822,7 +825,6 @@
       "version": "8.1.1",
       "resolved": "https://registry.npmjs.org/@devoinc/genesys-brand-devo/-/genesys-brand-devo-8.1.1.tgz",
       "integrity": "sha512-B1jJJD6wNmo4lVUlb/LuMwjGcinGN/0tOgyONHXZ0zhAFVmvG9x6VnndpwlmVK0Eno27x+hG2F1QmIvyatLhCA==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=18",
@@ -833,9 +835,9 @@
       }
     },
     "node_modules/@devoinc/genesys-icons": {
-      "version": "6.3.2",
-      "resolved": "https://registry.npmjs.org/@devoinc/genesys-icons/-/genesys-icons-6.3.2.tgz",
-      "integrity": "sha512-41RiMEGR3X893XZ4ltptgvMY/xXkR4OjrVvxmu86zMdrJRupZ/10hLBPXx6o5+VlTwWiVGnButRSsiitmn7jfw==",
+      "version": "6.3.3",
+      "resolved": "https://registry.npmjs.org/@devoinc/genesys-icons/-/genesys-icons-6.3.3.tgz",
+      "integrity": "sha512-4r/1lii5sICL2fO0vE1f23FEC7T3jBBpib7L70hDySk1DjP/h5Xi9sO9EpoNoNGCJ2GROlsc/oayN2lx4rEVug==",
       "engines": {
         "node": ">=18",
         "npm": ">=7"
@@ -1169,9 +1171,9 @@
       "peer": true
     },
     "node_modules/@esbuild/aix-ppc64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz",
-      "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz",
+      "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==",
       "cpu": [
         "ppc64"
       ],
@@ -1186,9 +1188,9 @@
       }
     },
     "node_modules/@esbuild/android-arm": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz",
-      "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz",
+      "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==",
       "cpu": [
         "arm"
       ],
@@ -1203,9 +1205,9 @@
       }
     },
     "node_modules/@esbuild/android-arm64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz",
-      "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz",
+      "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==",
       "cpu": [
         "arm64"
       ],
@@ -1220,9 +1222,9 @@
       }
     },
     "node_modules/@esbuild/android-x64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz",
-      "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz",
+      "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==",
       "cpu": [
         "x64"
       ],
@@ -1237,9 +1239,9 @@
       }
     },
     "node_modules/@esbuild/darwin-arm64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz",
-      "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz",
+      "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==",
       "cpu": [
         "arm64"
       ],
@@ -1254,9 +1256,9 @@
       }
     },
     "node_modules/@esbuild/darwin-x64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz",
-      "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz",
+      "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==",
       "cpu": [
         "x64"
       ],
@@ -1271,9 +1273,9 @@
       }
     },
     "node_modules/@esbuild/freebsd-arm64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz",
-      "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz",
+      "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==",
       "cpu": [
         "arm64"
       ],
@@ -1288,9 +1290,9 @@
       }
     },
     "node_modules/@esbuild/freebsd-x64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz",
-      "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz",
+      "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==",
       "cpu": [
         "x64"
       ],
@@ -1305,9 +1307,9 @@
       }
     },
     "node_modules/@esbuild/linux-arm": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz",
-      "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz",
+      "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==",
       "cpu": [
         "arm"
       ],
@@ -1322,9 +1324,9 @@
       }
     },
     "node_modules/@esbuild/linux-arm64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz",
-      "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz",
+      "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==",
       "cpu": [
         "arm64"
       ],
@@ -1339,9 +1341,9 @@
       }
     },
     "node_modules/@esbuild/linux-ia32": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz",
-      "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz",
+      "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==",
       "cpu": [
         "ia32"
       ],
@@ -1356,9 +1358,9 @@
       }
     },
     "node_modules/@esbuild/linux-loong64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz",
-      "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz",
+      "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==",
       "cpu": [
         "loong64"
       ],
@@ -1373,9 +1375,9 @@
       }
     },
     "node_modules/@esbuild/linux-mips64el": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz",
-      "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz",
+      "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==",
       "cpu": [
         "mips64el"
       ],
@@ -1390,9 +1392,9 @@
       }
     },
     "node_modules/@esbuild/linux-ppc64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz",
-      "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz",
+      "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==",
       "cpu": [
         "ppc64"
       ],
@@ -1407,9 +1409,9 @@
       }
     },
     "node_modules/@esbuild/linux-riscv64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz",
-      "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz",
+      "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==",
       "cpu": [
         "riscv64"
       ],
@@ -1424,9 +1426,9 @@
       }
     },
     "node_modules/@esbuild/linux-s390x": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz",
-      "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz",
+      "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==",
       "cpu": [
         "s390x"
       ],
@@ -1441,9 +1443,9 @@
       }
     },
     "node_modules/@esbuild/linux-x64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz",
-      "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz",
+      "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==",
       "cpu": [
         "x64"
       ],
@@ -1457,10 +1459,27 @@
         "node": ">=18"
       }
     },
+    "node_modules/@esbuild/netbsd-arm64": {
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz",
+      "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "netbsd"
+      ],
+      "engines": {
+        "node": ">=18"
+      }
+    },
     "node_modules/@esbuild/netbsd-x64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz",
-      "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz",
+      "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==",
       "cpu": [
         "x64"
       ],
@@ -1475,9 +1494,9 @@
       }
     },
     "node_modules/@esbuild/openbsd-arm64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz",
-      "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz",
+      "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==",
       "cpu": [
         "arm64"
       ],
@@ -1492,9 +1511,9 @@
       }
     },
     "node_modules/@esbuild/openbsd-x64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz",
-      "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz",
+      "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==",
       "cpu": [
         "x64"
       ],
@@ -1509,9 +1528,9 @@
       }
     },
     "node_modules/@esbuild/sunos-x64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz",
-      "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz",
+      "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==",
       "cpu": [
         "x64"
       ],
@@ -1526,9 +1545,9 @@
       }
     },
     "node_modules/@esbuild/win32-arm64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz",
-      "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz",
+      "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==",
       "cpu": [
         "arm64"
       ],
@@ -1543,9 +1562,9 @@
       }
     },
     "node_modules/@esbuild/win32-ia32": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz",
-      "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz",
+      "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==",
       "cpu": [
         "ia32"
       ],
@@ -1560,9 +1579,9 @@
       }
     },
     "node_modules/@esbuild/win32-x64": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz",
-      "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz",
+      "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==",
       "cpu": [
         "x64"
       ],
@@ -1772,9 +1791,9 @@
       }
     },
     "node_modules/@inquirer/figures": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.8.tgz",
-      "integrity": "sha512-tKd+jsmhq21AP1LhexC0pPwsCxEhGgAkg28byjJAd+xhmIs8LUX8JbUc3vBf3PhLxWiB5EvyBE5X7JSPAqMAqg==",
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.9.tgz",
+      "integrity": "sha512-BXvGj0ehzrngHTPTDqUoDT3NXL8U0RxUk2zJm2A66RhCEIWdtU1v6GuUqNAgArW4PQ9CinqIWyHdQgdwOj06zQ==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -2066,7 +2085,6 @@
       "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@jridgewell/gen-mapping": "^0.3.5",
         "@jridgewell/trace-mapping": "^0.3.25"
@@ -2991,9 +3009,9 @@
       }
     },
     "node_modules/@release-it/conventional-changelog": {
-      "version": "9.0.3",
-      "resolved": "https://registry.npmjs.org/@release-it/conventional-changelog/-/conventional-changelog-9.0.3.tgz",
-      "integrity": "sha512-+3TL+B89Kc+VTbfGxpTvJkbegWt5XIzkovsYVJyoZpOZDG07v25FU8c5R5Q8yNUs76Ikfq0sp+ZTTxmefG4Hiw==",
+      "version": "9.0.4",
+      "resolved": "https://registry.npmjs.org/@release-it/conventional-changelog/-/conventional-changelog-9.0.4.tgz",
+      "integrity": "sha512-eSZVATX2qiyxzpXdIVNczxTGR+uD4lG/ZEfDDYBJ8vKIj6fKp+eYicIS8Ff/eL3bA9XiQTmllKqxPRzmz9d45w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -3034,9 +3052,9 @@
       }
     },
     "node_modules/@rollup/rollup-android-arm-eabi": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.28.1.tgz",
-      "integrity": "sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.29.1.tgz",
+      "integrity": "sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==",
       "cpu": [
         "arm"
       ],
@@ -3048,9 +3066,9 @@
       ]
     },
     "node_modules/@rollup/rollup-android-arm64": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.28.1.tgz",
-      "integrity": "sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.29.1.tgz",
+      "integrity": "sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==",
       "cpu": [
         "arm64"
       ],
@@ -3062,9 +3080,9 @@
       ]
     },
     "node_modules/@rollup/rollup-darwin-arm64": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.28.1.tgz",
-      "integrity": "sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.29.1.tgz",
+      "integrity": "sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==",
       "cpu": [
         "arm64"
       ],
@@ -3076,9 +3094,9 @@
       ]
     },
     "node_modules/@rollup/rollup-darwin-x64": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.28.1.tgz",
-      "integrity": "sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.29.1.tgz",
+      "integrity": "sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==",
       "cpu": [
         "x64"
       ],
@@ -3090,9 +3108,9 @@
       ]
     },
     "node_modules/@rollup/rollup-freebsd-arm64": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.28.1.tgz",
-      "integrity": "sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.29.1.tgz",
+      "integrity": "sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==",
       "cpu": [
         "arm64"
       ],
@@ -3104,9 +3122,9 @@
       ]
     },
     "node_modules/@rollup/rollup-freebsd-x64": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.28.1.tgz",
-      "integrity": "sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.29.1.tgz",
+      "integrity": "sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==",
       "cpu": [
         "x64"
       ],
@@ -3118,9 +3136,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.28.1.tgz",
-      "integrity": "sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.29.1.tgz",
+      "integrity": "sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==",
       "cpu": [
         "arm"
       ],
@@ -3132,9 +3150,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-arm-musleabihf": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.28.1.tgz",
-      "integrity": "sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.29.1.tgz",
+      "integrity": "sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==",
       "cpu": [
         "arm"
       ],
@@ -3146,9 +3164,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-arm64-gnu": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.28.1.tgz",
-      "integrity": "sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.29.1.tgz",
+      "integrity": "sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==",
       "cpu": [
         "arm64"
       ],
@@ -3160,9 +3178,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-arm64-musl": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.28.1.tgz",
-      "integrity": "sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.29.1.tgz",
+      "integrity": "sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==",
       "cpu": [
         "arm64"
       ],
@@ -3174,9 +3192,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.28.1.tgz",
-      "integrity": "sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.29.1.tgz",
+      "integrity": "sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==",
       "cpu": [
         "loong64"
       ],
@@ -3188,9 +3206,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.28.1.tgz",
-      "integrity": "sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.29.1.tgz",
+      "integrity": "sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==",
       "cpu": [
         "ppc64"
       ],
@@ -3202,9 +3220,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-riscv64-gnu": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.28.1.tgz",
-      "integrity": "sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.29.1.tgz",
+      "integrity": "sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==",
       "cpu": [
         "riscv64"
       ],
@@ -3216,9 +3234,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-s390x-gnu": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.28.1.tgz",
-      "integrity": "sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.29.1.tgz",
+      "integrity": "sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==",
       "cpu": [
         "s390x"
       ],
@@ -3230,9 +3248,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-x64-gnu": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.28.1.tgz",
-      "integrity": "sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.29.1.tgz",
+      "integrity": "sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==",
       "cpu": [
         "x64"
       ],
@@ -3244,9 +3262,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-x64-musl": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.28.1.tgz",
-      "integrity": "sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.29.1.tgz",
+      "integrity": "sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==",
       "cpu": [
         "x64"
       ],
@@ -3258,9 +3276,9 @@
       ]
     },
     "node_modules/@rollup/rollup-win32-arm64-msvc": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.28.1.tgz",
-      "integrity": "sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.29.1.tgz",
+      "integrity": "sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==",
       "cpu": [
         "arm64"
       ],
@@ -3272,9 +3290,9 @@
       ]
     },
     "node_modules/@rollup/rollup-win32-ia32-msvc": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.28.1.tgz",
-      "integrity": "sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.29.1.tgz",
+      "integrity": "sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==",
       "cpu": [
         "ia32"
       ],
@@ -3286,9 +3304,9 @@
       ]
     },
     "node_modules/@rollup/rollup-win32-x64-msvc": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.28.1.tgz",
-      "integrity": "sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.29.1.tgz",
+      "integrity": "sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==",
       "cpu": [
         "x64"
       ],
@@ -3815,9 +3833,9 @@
       }
     },
     "node_modules/@storybook/csf": {
-      "version": "0.1.12",
-      "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.12.tgz",
-      "integrity": "sha512-9/exVhabisyIVL0VxTCxo01Tdm8wefIXKXfltAPTSr8cbLn5JAxGQ6QV3mjdecLGEOucfoVhAKtJfVHxEK1iqw==",
+      "version": "0.1.13",
+      "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.13.tgz",
+      "integrity": "sha512-7xOOwCLGB3ebM87eemep89MYRFTko+D8qE7EdAAq74lgdqRR5cOUtYWJLjO2dLtP94nqoOdHJo6MdLLKzg412Q==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -4931,8 +4949,7 @@
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
       "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
-      "license": "MIT",
-      "peer": true
+      "license": "MIT"
     },
     "node_modules/@types/prop-types": {
       "version": "15.7.14",
@@ -5838,6 +5855,13 @@
         "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
+    "node_modules/any-promise": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+      "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
+      "dev": true,
+      "license": "MIT"
+    },
     "node_modules/arg": {
       "version": "4.1.3",
       "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
@@ -5943,7 +5967,6 @@
       "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
       "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@babel/runtime": "^7.12.5",
         "cosmiconfig": "^7.0.0",
@@ -5959,7 +5982,6 @@
       "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
       "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@types/parse-json": "^4.0.0",
         "import-fresh": "^3.2.1",
@@ -5976,7 +5998,6 @@
       "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
       "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@babel/code-frame": "^7.0.0",
         "error-ex": "^1.3.1",
@@ -5995,7 +6016,6 @@
       "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
       "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
       "license": "MIT",
-      "peer": true,
       "engines": {
         "node": ">=8"
       }
@@ -6005,7 +6025,6 @@
       "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
       "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
       "license": "ISC",
-      "peer": true,
       "engines": {
         "node": ">= 6"
       }
@@ -6262,9 +6281,9 @@
       }
     },
     "node_modules/boxen/node_modules/type-fest": {
-      "version": "4.30.2",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.30.2.tgz",
-      "integrity": "sha512-UJShLPYi1aWqCdq9HycOL/gwsuqda1OISdBO3t8RlXQC4QvtuIz4b5FCfe2dQIWEpmlRExKmcTBfP1r9bhY7ig==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.31.0.tgz",
+      "integrity": "sha512-yCxltHW07Nkhv/1F6wWBr8kz+5BGMfP+RbRSYFnegVb0qV/UMT0G0ElBloPVerqn4M2ZV80Ir1FtCcYv1cT6vQ==",
       "dev": true,
       "license": "(MIT OR CC0-1.0)",
       "engines": {
@@ -6402,6 +6421,22 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/bundle-require": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-5.1.0.tgz",
+      "integrity": "sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "load-tsconfig": "^0.2.3"
+      },
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "peerDependencies": {
+        "esbuild": ">=0.18"
+      }
+    },
     "node_modules/cac": {
       "version": "6.7.14",
       "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",
@@ -6968,9 +7003,9 @@
       }
     },
     "node_modules/configstore/node_modules/type-fest": {
-      "version": "4.30.2",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.30.2.tgz",
-      "integrity": "sha512-UJShLPYi1aWqCdq9HycOL/gwsuqda1OISdBO3t8RlXQC4QvtuIz4b5FCfe2dQIWEpmlRExKmcTBfP1r9bhY7ig==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.31.0.tgz",
+      "integrity": "sha512-yCxltHW07Nkhv/1F6wWBr8kz+5BGMfP+RbRSYFnegVb0qV/UMT0G0ElBloPVerqn4M2ZV80Ir1FtCcYv1cT6vQ==",
       "dev": true,
       "license": "(MIT OR CC0-1.0)",
       "engines": {
@@ -6980,6 +7015,16 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/consola": {
+      "version": "3.3.2",
+      "resolved": "https://registry.npmjs.org/consola/-/consola-3.3.2.tgz",
+      "integrity": "sha512-X3dcWPU+QeEaPrdtX3zBRQ0P0kIeEnmJV49uNtpy4N/TPnzA3grJvHftKjHuFIQNLrqBPzzykmc3fNrkQDl5yA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": "^14.18.0 || >=16.10.0"
+      }
+    },
     "node_modules/conventional-changelog": {
       "version": "6.0.0",
       "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-6.0.0.tgz",
@@ -8395,9 +8440,9 @@
       "license": "MIT"
     },
     "node_modules/electron-to-chromium": {
-      "version": "1.5.75",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.75.tgz",
-      "integrity": "sha512-Lf3++DumRE/QmweGjU+ZcKqQ+3bKkU/qjaKYhIJKEOhgIO9Xs6IiAQFkfFoj+RhgDk4LUeNsLo6plExHqSyu6Q==",
+      "version": "1.5.76",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.76.tgz",
+      "integrity": "sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ==",
       "dev": true,
       "license": "ISC"
     },
@@ -8409,9 +8454,9 @@
       "license": "MIT"
     },
     "node_modules/enhanced-resolve": {
-      "version": "5.17.1",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
-      "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+      "version": "5.18.0",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.0.tgz",
+      "integrity": "sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -8502,9 +8547,9 @@
       }
     },
     "node_modules/esbuild": {
-      "version": "0.24.0",
-      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz",
-      "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==",
+      "version": "0.24.2",
+      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz",
+      "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==",
       "dev": true,
       "hasInstallScript": true,
       "license": "MIT",
@@ -8515,30 +8560,42 @@
         "node": ">=18"
       },
       "optionalDependencies": {
-        "@esbuild/aix-ppc64": "0.24.0",
-        "@esbuild/android-arm": "0.24.0",
-        "@esbuild/android-arm64": "0.24.0",
-        "@esbuild/android-x64": "0.24.0",
-        "@esbuild/darwin-arm64": "0.24.0",
-        "@esbuild/darwin-x64": "0.24.0",
-        "@esbuild/freebsd-arm64": "0.24.0",
-        "@esbuild/freebsd-x64": "0.24.0",
-        "@esbuild/linux-arm": "0.24.0",
-        "@esbuild/linux-arm64": "0.24.0",
-        "@esbuild/linux-ia32": "0.24.0",
-        "@esbuild/linux-loong64": "0.24.0",
-        "@esbuild/linux-mips64el": "0.24.0",
-        "@esbuild/linux-ppc64": "0.24.0",
-        "@esbuild/linux-riscv64": "0.24.0",
-        "@esbuild/linux-s390x": "0.24.0",
-        "@esbuild/linux-x64": "0.24.0",
-        "@esbuild/netbsd-x64": "0.24.0",
-        "@esbuild/openbsd-arm64": "0.24.0",
-        "@esbuild/openbsd-x64": "0.24.0",
-        "@esbuild/sunos-x64": "0.24.0",
-        "@esbuild/win32-arm64": "0.24.0",
-        "@esbuild/win32-ia32": "0.24.0",
-        "@esbuild/win32-x64": "0.24.0"
+        "@esbuild/aix-ppc64": "0.24.2",
+        "@esbuild/android-arm": "0.24.2",
+        "@esbuild/android-arm64": "0.24.2",
+        "@esbuild/android-x64": "0.24.2",
+        "@esbuild/darwin-arm64": "0.24.2",
+        "@esbuild/darwin-x64": "0.24.2",
+        "@esbuild/freebsd-arm64": "0.24.2",
+        "@esbuild/freebsd-x64": "0.24.2",
+        "@esbuild/linux-arm": "0.24.2",
+        "@esbuild/linux-arm64": "0.24.2",
+        "@esbuild/linux-ia32": "0.24.2",
+        "@esbuild/linux-loong64": "0.24.2",
+        "@esbuild/linux-mips64el": "0.24.2",
+        "@esbuild/linux-ppc64": "0.24.2",
+        "@esbuild/linux-riscv64": "0.24.2",
+        "@esbuild/linux-s390x": "0.24.2",
+        "@esbuild/linux-x64": "0.24.2",
+        "@esbuild/netbsd-arm64": "0.24.2",
+        "@esbuild/netbsd-x64": "0.24.2",
+        "@esbuild/openbsd-arm64": "0.24.2",
+        "@esbuild/openbsd-x64": "0.24.2",
+        "@esbuild/sunos-x64": "0.24.2",
+        "@esbuild/win32-arm64": "0.24.2",
+        "@esbuild/win32-ia32": "0.24.2",
+        "@esbuild/win32-x64": "0.24.2"
+      }
+    },
+    "node_modules/esbuild-plugin-styled-components": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/esbuild-plugin-styled-components/-/esbuild-plugin-styled-components-3.0.1.tgz",
+      "integrity": "sha512-yhqHjVykhfek3TCLZQlLr6VSIrIbwAdwhn3Hpqj/n7KxEMcb3k/rkzO7U7BosbaC7TItJMyOauNwtGoioz4A1Q==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@babel/core": "^7.22.1",
+        "babel-plugin-styled-components": "^2.1.3"
       }
     },
     "node_modules/esbuild-register": {
@@ -8814,9 +8871,9 @@
       "license": "BSD-3-Clause"
     },
     "node_modules/fastq": {
-      "version": "1.17.1",
-      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
-      "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+      "version": "1.18.0",
+      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz",
+      "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==",
       "dev": true,
       "license": "ISC",
       "dependencies": {
@@ -8837,6 +8894,21 @@
         "url": "https://github.com/sponsors/wooorm"
       }
     },
+    "node_modules/fdir": {
+      "version": "6.4.2",
+      "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz",
+      "integrity": "sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==",
+      "dev": true,
+      "license": "MIT",
+      "peerDependencies": {
+        "picomatch": "^3 || ^4"
+      },
+      "peerDependenciesMeta": {
+        "picomatch": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/figures": {
       "version": "6.1.0",
       "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz",
@@ -8874,9 +8946,9 @@
       }
     },
     "node_modules/filepond": {
-      "version": "4.32.5",
-      "resolved": "https://registry.npmjs.org/filepond/-/filepond-4.32.5.tgz",
-      "integrity": "sha512-KAY0C0DzEdJNblMY3sZAVKQqfsqefHU3YWZlC1xH1AAMrMfryOo5wP5QMMWGvZ0ieHetcyDXoZPMyHhvWHfQJw==",
+      "version": "4.32.6",
+      "resolved": "https://registry.npmjs.org/filepond/-/filepond-4.32.6.tgz",
+      "integrity": "sha512-9EM6Vvny3K5s7guxegedByQx8n6ycUFaoF+Wo20+t1DYNt+vQaOtkGy2jnY8/2roAlskUnwJI1rAnAhzBPXwiw==",
       "license": "MIT",
       "peer": true
     },
@@ -9960,9 +10032,9 @@
       }
     },
     "node_modules/is-core-module": {
-      "version": "2.16.0",
-      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.0.tgz",
-      "integrity": "sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==",
+      "version": "2.16.1",
+      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
+      "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
       "license": "MIT",
       "dependencies": {
         "hasown": "^2.0.2"
@@ -10384,6 +10456,16 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/joycon": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz",
+      "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/js-cookie": {
       "version": "3.0.5",
       "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz",
@@ -10590,12 +10672,35 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/lilconfig": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
+      "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/antonk52"
+      }
+    },
     "node_modules/lines-and-columns": {
       "version": "1.2.4",
       "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
       "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
       "license": "MIT"
     },
+    "node_modules/load-tsconfig": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/load-tsconfig/-/load-tsconfig-0.2.5.tgz",
+      "integrity": "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      }
+    },
     "node_modules/loader-runner": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
@@ -10687,6 +10792,13 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/lodash.sortby": {
+      "version": "4.7.0",
+      "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+      "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==",
+      "dev": true,
+      "license": "MIT"
+    },
     "node_modules/lodash.uniqby": {
       "version": "4.7.0",
       "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz",
@@ -12053,6 +12165,18 @@
         "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
+    "node_modules/mz": {
+      "version": "2.7.0",
+      "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
+      "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "any-promise": "^1.0.0",
+        "object-assign": "^4.0.1",
+        "thenify-all": "^1.0.0"
+      }
+    },
     "node_modules/nanoid": {
       "version": "3.3.8",
       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz",
@@ -12169,7 +12293,6 @@
       "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
       "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
       "license": "MIT",
-      "peer": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -12449,9 +12572,9 @@
       "license": "BlueOak-1.0.0"
     },
     "node_modules/package-manager-detector": {
-      "version": "0.2.7",
-      "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-0.2.7.tgz",
-      "integrity": "sha512-g4+387DXDKlZzHkP+9FLt8yKj8+/3tOkPv7DVTJGGRm00RkEWgqbFstX1mXJ4M0VDYhUqsTOiISqNOJnhAu3PQ==",
+      "version": "0.2.8",
+      "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-0.2.8.tgz",
+      "integrity": "sha512-ts9KSdroZisdvKMWVAVCXiKqnqNfXz4+IbrBG8/BWx/TR5le+jfenvoBuIZ6UWM9nz47W7AbD9qYfAwfWMIwzA==",
       "dev": true,
       "license": "MIT"
     },
@@ -12505,9 +12628,9 @@
       }
     },
     "node_modules/parse-json/node_modules/type-fest": {
-      "version": "4.30.2",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.30.2.tgz",
-      "integrity": "sha512-UJShLPYi1aWqCdq9HycOL/gwsuqda1OISdBO3t8RlXQC4QvtuIz4b5FCfe2dQIWEpmlRExKmcTBfP1r9bhY7ig==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.31.0.tgz",
+      "integrity": "sha512-yCxltHW07Nkhv/1F6wWBr8kz+5BGMfP+RbRSYFnegVb0qV/UMT0G0ElBloPVerqn4M2ZV80Ir1FtCcYv1cT6vQ==",
       "dev": true,
       "license": "(MIT OR CC0-1.0)",
       "engines": {
@@ -12696,6 +12819,16 @@
         "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
+    "node_modules/pirates": {
+      "version": "4.0.6",
+      "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
+      "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 6"
+      }
+    },
     "node_modules/pkg-types": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.2.1.tgz",
@@ -12777,6 +12910,49 @@
         "node": "^10 || ^12 || >=14"
       }
     },
+    "node_modules/postcss-load-config": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz",
+      "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/postcss/"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "lilconfig": "^3.1.1"
+      },
+      "engines": {
+        "node": ">= 18"
+      },
+      "peerDependencies": {
+        "jiti": ">=1.21.0",
+        "postcss": ">=8.0.9",
+        "tsx": "^4.8.1",
+        "yaml": "^2.4.2"
+      },
+      "peerDependenciesMeta": {
+        "jiti": {
+          "optional": true
+        },
+        "postcss": {
+          "optional": true
+        },
+        "tsx": {
+          "optional": true
+        },
+        "yaml": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/postcss-modules-extract-imports": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz",
@@ -13005,20 +13181,20 @@
       "license": "MIT"
     },
     "node_modules/proxy-agent": {
-      "version": "6.4.0",
-      "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz",
-      "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==",
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz",
+      "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "agent-base": "^7.0.2",
+        "agent-base": "^7.1.2",
         "debug": "^4.3.4",
         "http-proxy-agent": "^7.0.1",
-        "https-proxy-agent": "^7.0.3",
+        "https-proxy-agent": "^7.0.6",
         "lru-cache": "^7.14.1",
-        "pac-proxy-agent": "^7.0.1",
+        "pac-proxy-agent": "^7.1.0",
         "proxy-from-env": "^1.1.0",
-        "socks-proxy-agent": "^8.0.2"
+        "socks-proxy-agent": "^8.0.5"
       },
       "engines": {
         "node": ">= 14"
@@ -13433,9 +13609,9 @@
       }
     },
     "node_modules/read-package-up/node_modules/type-fest": {
-      "version": "4.30.2",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.30.2.tgz",
-      "integrity": "sha512-UJShLPYi1aWqCdq9HycOL/gwsuqda1OISdBO3t8RlXQC4QvtuIz4b5FCfe2dQIWEpmlRExKmcTBfP1r9bhY7ig==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.31.0.tgz",
+      "integrity": "sha512-yCxltHW07Nkhv/1F6wWBr8kz+5BGMfP+RbRSYFnegVb0qV/UMT0G0ElBloPVerqn4M2ZV80Ir1FtCcYv1cT6vQ==",
       "dev": true,
       "license": "(MIT OR CC0-1.0)",
       "engines": {
@@ -13466,9 +13642,9 @@
       }
     },
     "node_modules/read-pkg/node_modules/type-fest": {
-      "version": "4.30.2",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.30.2.tgz",
-      "integrity": "sha512-UJShLPYi1aWqCdq9HycOL/gwsuqda1OISdBO3t8RlXQC4QvtuIz4b5FCfe2dQIWEpmlRExKmcTBfP1r9bhY7ig==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.31.0.tgz",
+      "integrity": "sha512-yCxltHW07Nkhv/1F6wWBr8kz+5BGMfP+RbRSYFnegVb0qV/UMT0G0ElBloPVerqn4M2ZV80Ir1FtCcYv1cT6vQ==",
       "dev": true,
       "license": "(MIT OR CC0-1.0)",
       "engines": {
@@ -13672,9 +13848,9 @@
       }
     },
     "node_modules/release-it": {
-      "version": "17.10.0",
-      "resolved": "https://registry.npmjs.org/release-it/-/release-it-17.10.0.tgz",
-      "integrity": "sha512-00cXYEl7RFD5NnjXpwaH9JFjpwe8w3NcfUd4XPxrKQkszp1xppPo42zK9eSbxStKyPA5CVk2KmKPDPDiAKVJTA==",
+      "version": "17.11.0",
+      "resolved": "https://registry.npmjs.org/release-it/-/release-it-17.11.0.tgz",
+      "integrity": "sha512-qQGgfMbUZ3/vpXUPmngsgjFObOLjlkwtiozHUYen9fo9AEGciXjG1ZpGr+FNmuBT8R7TOSY+x/s84wOCRKJjbA==",
       "dev": true,
       "funding": [
         {
@@ -13691,8 +13867,8 @@
         "@iarna/toml": "2.2.5",
         "@octokit/rest": "20.1.1",
         "async-retry": "1.3.3",
-        "chalk": "5.3.0",
-        "ci-info": "^4.0.0",
+        "chalk": "5.4.1",
+        "ci-info": "^4.1.0",
         "cosmiconfig": "9.0.0",
         "execa": "8.0.0",
         "git-url-parse": "14.0.0",
@@ -13703,14 +13879,14 @@
         "mime-types": "2.1.35",
         "new-github-release-url": "2.0.0",
         "open": "10.1.0",
-        "ora": "8.1.0",
+        "ora": "8.1.1",
         "os-name": "5.1.0",
-        "proxy-agent": "6.4.0",
+        "proxy-agent": "6.5.0",
         "semver": "7.6.3",
         "shelljs": "0.8.5",
         "update-notifier": "7.3.1",
         "url-join": "5.0.0",
-        "wildcard-match": "5.1.3",
+        "wildcard-match": "5.1.4",
         "yargs-parser": "21.1.1"
       },
       "bin": {
@@ -13733,6 +13909,19 @@
         "url": "https://github.com/chalk/ansi-regex?sponsor=1"
       }
     },
+    "node_modules/release-it/node_modules/chalk": {
+      "version": "5.4.1",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz",
+      "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": "^12.17.0 || ^14.13 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
     "node_modules/release-it/node_modules/cli-cursor": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz",
@@ -13898,9 +14087,9 @@
       }
     },
     "node_modules/release-it/node_modules/ora": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/ora/-/ora-8.1.0.tgz",
-      "integrity": "sha512-GQEkNkH/GHOhPFXcqZs3IDahXEQcQxsSjEkK4KvEEST4t7eNzoMjxTzef+EZ+JluDEV+Raoi3WQ2CflnRdSVnQ==",
+      "version": "8.1.1",
+      "resolved": "https://registry.npmjs.org/ora/-/ora-8.1.1.tgz",
+      "integrity": "sha512-YWielGi1XzG1UTvOaCFaNgEnuhZVMSHYkW/FQ7UX8O26PtlpdM84c0f7wLPlkvx2RfiQmnzd61d/MGxmpQeJPw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -14196,9 +14385,9 @@
       "license": "Unlicense"
     },
     "node_modules/rollup": {
-      "version": "4.28.1",
-      "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.28.1.tgz",
-      "integrity": "sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==",
+      "version": "4.29.1",
+      "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.29.1.tgz",
+      "integrity": "sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -14212,25 +14401,25 @@
         "npm": ">=8.0.0"
       },
       "optionalDependencies": {
-        "@rollup/rollup-android-arm-eabi": "4.28.1",
-        "@rollup/rollup-android-arm64": "4.28.1",
-        "@rollup/rollup-darwin-arm64": "4.28.1",
-        "@rollup/rollup-darwin-x64": "4.28.1",
-        "@rollup/rollup-freebsd-arm64": "4.28.1",
-        "@rollup/rollup-freebsd-x64": "4.28.1",
-        "@rollup/rollup-linux-arm-gnueabihf": "4.28.1",
-        "@rollup/rollup-linux-arm-musleabihf": "4.28.1",
-        "@rollup/rollup-linux-arm64-gnu": "4.28.1",
-        "@rollup/rollup-linux-arm64-musl": "4.28.1",
-        "@rollup/rollup-linux-loongarch64-gnu": "4.28.1",
-        "@rollup/rollup-linux-powerpc64le-gnu": "4.28.1",
-        "@rollup/rollup-linux-riscv64-gnu": "4.28.1",
-        "@rollup/rollup-linux-s390x-gnu": "4.28.1",
-        "@rollup/rollup-linux-x64-gnu": "4.28.1",
-        "@rollup/rollup-linux-x64-musl": "4.28.1",
-        "@rollup/rollup-win32-arm64-msvc": "4.28.1",
-        "@rollup/rollup-win32-ia32-msvc": "4.28.1",
-        "@rollup/rollup-win32-x64-msvc": "4.28.1",
+        "@rollup/rollup-android-arm-eabi": "4.29.1",
+        "@rollup/rollup-android-arm64": "4.29.1",
+        "@rollup/rollup-darwin-arm64": "4.29.1",
+        "@rollup/rollup-darwin-x64": "4.29.1",
+        "@rollup/rollup-freebsd-arm64": "4.29.1",
+        "@rollup/rollup-freebsd-x64": "4.29.1",
+        "@rollup/rollup-linux-arm-gnueabihf": "4.29.1",
+        "@rollup/rollup-linux-arm-musleabihf": "4.29.1",
+        "@rollup/rollup-linux-arm64-gnu": "4.29.1",
+        "@rollup/rollup-linux-arm64-musl": "4.29.1",
+        "@rollup/rollup-linux-loongarch64-gnu": "4.29.1",
+        "@rollup/rollup-linux-powerpc64le-gnu": "4.29.1",
+        "@rollup/rollup-linux-riscv64-gnu": "4.29.1",
+        "@rollup/rollup-linux-s390x-gnu": "4.29.1",
+        "@rollup/rollup-linux-x64-gnu": "4.29.1",
+        "@rollup/rollup-linux-x64-musl": "4.29.1",
+        "@rollup/rollup-win32-arm64-msvc": "4.29.1",
+        "@rollup/rollup-win32-ia32-msvc": "4.29.1",
+        "@rollup/rollup-win32-x64-msvc": "4.29.1",
         "fsevents": "~2.3.2"
       }
     },
@@ -14925,7 +15114,6 @@
       "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "buffer-from": "^1.0.0",
         "source-map": "^0.6.0"
@@ -14937,7 +15125,6 @@
       "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
       "dev": true,
       "license": "BSD-3-Clause",
-      "peer": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -15326,6 +15513,39 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/sucrase": {
+      "version": "3.35.0",
+      "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
+      "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@jridgewell/gen-mapping": "^0.3.2",
+        "commander": "^4.0.0",
+        "glob": "^10.3.10",
+        "lines-and-columns": "^1.1.6",
+        "mz": "^2.7.0",
+        "pirates": "^4.0.1",
+        "ts-interface-checker": "^0.1.9"
+      },
+      "bin": {
+        "sucrase": "bin/sucrase",
+        "sucrase-node": "bin/sucrase-node"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      }
+    },
+    "node_modules/sucrase/node_modules/commander": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+      "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 6"
+      }
+    },
     "node_modules/supports-color": {
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -15374,7 +15594,6 @@
       "integrity": "sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==",
       "dev": true,
       "license": "BSD-2-Clause",
-      "peer": true,
       "dependencies": {
         "@jridgewell/source-map": "^0.3.3",
         "acorn": "^8.8.2",
@@ -15469,8 +15688,7 @@
       "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
       "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
       "dev": true,
-      "license": "MIT",
-      "peer": true
+      "license": "MIT"
     },
     "node_modules/test-exclude": {
       "version": "7.0.1",
@@ -15487,6 +15705,29 @@
         "node": ">=18"
       }
     },
+    "node_modules/thenify": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
+      "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "any-promise": "^1.0.0"
+      }
+    },
+    "node_modules/thenify-all": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
+      "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "thenify": ">= 3.1.0 < 4"
+      },
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
     "node_modules/tiny-invariant": {
       "version": "1.3.3",
       "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz",
@@ -15515,6 +15756,20 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/tinyglobby": {
+      "version": "0.2.10",
+      "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.10.tgz",
+      "integrity": "sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "fdir": "^6.4.2",
+        "picomatch": "^4.0.2"
+      },
+      "engines": {
+        "node": ">=12.0.0"
+      }
+    },
     "node_modules/tinypool": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz",
@@ -15578,6 +15833,16 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/tr46": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
+      "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "punycode": "^2.1.0"
+      }
+    },
     "node_modules/tree-kill": {
       "version": "1.2.2",
       "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
@@ -15609,6 +15874,13 @@
         "node": ">=6.10"
       }
     },
+    "node_modules/ts-interface-checker": {
+      "version": "0.1.13",
+      "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
+      "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
+      "dev": true,
+      "license": "Apache-2.0"
+    },
     "node_modules/ts-node": {
       "version": "10.9.2",
       "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
@@ -15744,6 +16016,81 @@
       "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==",
       "license": "0BSD"
     },
+    "node_modules/tsup": {
+      "version": "8.3.5",
+      "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.3.5.tgz",
+      "integrity": "sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "bundle-require": "^5.0.0",
+        "cac": "^6.7.14",
+        "chokidar": "^4.0.1",
+        "consola": "^3.2.3",
+        "debug": "^4.3.7",
+        "esbuild": "^0.24.0",
+        "joycon": "^3.1.1",
+        "picocolors": "^1.1.1",
+        "postcss-load-config": "^6.0.1",
+        "resolve-from": "^5.0.0",
+        "rollup": "^4.24.0",
+        "source-map": "0.8.0-beta.0",
+        "sucrase": "^3.35.0",
+        "tinyexec": "^0.3.1",
+        "tinyglobby": "^0.2.9",
+        "tree-kill": "^1.2.2"
+      },
+      "bin": {
+        "tsup": "dist/cli-default.js",
+        "tsup-node": "dist/cli-node.js"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "peerDependencies": {
+        "@microsoft/api-extractor": "^7.36.0",
+        "@swc/core": "^1",
+        "postcss": "^8.4.12",
+        "typescript": ">=4.5.0"
+      },
+      "peerDependenciesMeta": {
+        "@microsoft/api-extractor": {
+          "optional": true
+        },
+        "@swc/core": {
+          "optional": true
+        },
+        "postcss": {
+          "optional": true
+        },
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/tsup/node_modules/resolve-from": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/tsup/node_modules/source-map": {
+      "version": "0.8.0-beta.0",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz",
+      "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==",
+      "dev": true,
+      "license": "BSD-3-Clause",
+      "dependencies": {
+        "whatwg-url": "^7.0.0"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
     "node_modules/tunnel": {
       "version": "0.0.6",
       "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
@@ -16205,13 +16552,13 @@
       "license": "MIT"
     },
     "node_modules/vite": {
-      "version": "6.0.5",
-      "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.5.tgz",
-      "integrity": "sha512-akD5IAH/ID5imgue2DYhzsEwCi0/4VKY31uhMLEYJwPP4TiUp8pL5PIK+Wo7H8qT8JY9i+pVfPydcFPYD1EL7g==",
+      "version": "6.0.6",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.6.tgz",
+      "integrity": "sha512-NSjmUuckPmDU18bHz7QZ+bTYhRR0iA72cs2QAxCqDpafJ0S6qetco0LB3WW2OxlMHS0JmAv+yZ/R3uPmMyGTjQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "esbuild": "0.24.0",
+        "esbuild": "^0.24.2",
         "postcss": "^8.4.49",
         "rollup": "^4.23.0"
       },
@@ -16328,180 +16675,1021 @@
         "url": "https://opencollective.com/vitest"
       }
     },
-    "node_modules/vite-node/node_modules/vite": {
+    "node_modules/vite-node/node_modules/@esbuild/aix-ppc64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+      "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+      "cpu": [
+        "ppc64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "aix"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/android-arm": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+      "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/android-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+      "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/android-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+      "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/darwin-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+      "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/darwin-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+      "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/freebsd-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+      "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/freebsd-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+      "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/linux-arm": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+      "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/linux-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+      "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/linux-ia32": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+      "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+      "cpu": [
+        "ia32"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/linux-loong64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+      "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+      "cpu": [
+        "loong64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/linux-mips64el": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+      "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+      "cpu": [
+        "mips64el"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/linux-ppc64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+      "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+      "cpu": [
+        "ppc64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/linux-riscv64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+      "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+      "cpu": [
+        "riscv64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/linux-s390x": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+      "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+      "cpu": [
+        "s390x"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/linux-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+      "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/netbsd-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+      "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "netbsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/openbsd-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+      "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "openbsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/sunos-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+      "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "sunos"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/win32-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+      "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/win32-ia32": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+      "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+      "cpu": [
+        "ia32"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/@esbuild/win32-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+      "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vite-node/node_modules/esbuild": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+      "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
+      "dev": true,
+      "hasInstallScript": true,
+      "license": "MIT",
+      "bin": {
+        "esbuild": "bin/esbuild"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "optionalDependencies": {
+        "@esbuild/aix-ppc64": "0.21.5",
+        "@esbuild/android-arm": "0.21.5",
+        "@esbuild/android-arm64": "0.21.5",
+        "@esbuild/android-x64": "0.21.5",
+        "@esbuild/darwin-arm64": "0.21.5",
+        "@esbuild/darwin-x64": "0.21.5",
+        "@esbuild/freebsd-arm64": "0.21.5",
+        "@esbuild/freebsd-x64": "0.21.5",
+        "@esbuild/linux-arm": "0.21.5",
+        "@esbuild/linux-arm64": "0.21.5",
+        "@esbuild/linux-ia32": "0.21.5",
+        "@esbuild/linux-loong64": "0.21.5",
+        "@esbuild/linux-mips64el": "0.21.5",
+        "@esbuild/linux-ppc64": "0.21.5",
+        "@esbuild/linux-riscv64": "0.21.5",
+        "@esbuild/linux-s390x": "0.21.5",
+        "@esbuild/linux-x64": "0.21.5",
+        "@esbuild/netbsd-x64": "0.21.5",
+        "@esbuild/openbsd-x64": "0.21.5",
+        "@esbuild/sunos-x64": "0.21.5",
+        "@esbuild/win32-arm64": "0.21.5",
+        "@esbuild/win32-ia32": "0.21.5",
+        "@esbuild/win32-x64": "0.21.5"
+      }
+    },
+    "node_modules/vite-node/node_modules/vite": {
       "version": "5.4.11",
       "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz",
       "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "esbuild": "^0.21.3",
-        "postcss": "^8.4.43",
-        "rollup": "^4.20.0"
-      },
-      "bin": {
-        "vite": "bin/vite.js"
-      },
+      "dependencies": {
+        "esbuild": "^0.21.3",
+        "postcss": "^8.4.43",
+        "rollup": "^4.20.0"
+      },
+      "bin": {
+        "vite": "bin/vite.js"
+      },
+      "engines": {
+        "node": "^18.0.0 || >=20.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/vitejs/vite?sponsor=1"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.3"
+      },
+      "peerDependencies": {
+        "@types/node": "^18.0.0 || >=20.0.0",
+        "less": "*",
+        "lightningcss": "^1.21.0",
+        "sass": "*",
+        "sass-embedded": "*",
+        "stylus": "*",
+        "sugarss": "*",
+        "terser": "^5.4.0"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        },
+        "less": {
+          "optional": true
+        },
+        "lightningcss": {
+          "optional": true
+        },
+        "sass": {
+          "optional": true
+        },
+        "sass-embedded": {
+          "optional": true
+        },
+        "stylus": {
+          "optional": true
+        },
+        "sugarss": {
+          "optional": true
+        },
+        "terser": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/vite-plugin-babel-macros": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/vite-plugin-babel-macros/-/vite-plugin-babel-macros-1.0.6.tgz",
+      "integrity": "sha512-7cCT8jtu5UjpE46pH7RyVltWw5FbhDAtQliZ6QGqRNR5RUZKdAsB0CDjuF+VBoDpnl0KuESPu22SoNqXRYYWyQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@babel/core": "^7.17.7",
+        "@babel/plugin-syntax-jsx": "^7.16.7",
+        "@babel/plugin-syntax-typescript": "^7.16.7",
+        "@types/babel__core": "^7.1.18",
+        "babel-plugin-macros": "^3.1.0"
+      },
+      "engines": {
+        "node": ">=16"
+      },
+      "peerDependencies": {
+        "vite": ">=2"
+      }
+    },
+    "node_modules/vite-plugin-dts": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-4.4.0.tgz",
+      "integrity": "sha512-CJ6phvnnPLF+aFk8Jz2ZcMBLleJ4gKJOXb9We5Kzmsp5bPuD+uMDeVefjFNYSXZ+wdcqnf+Yp2P7oA5hBKQTlQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@microsoft/api-extractor": "^7.48.1",
+        "@rollup/pluginutils": "^5.1.4",
+        "@volar/typescript": "^2.4.11",
+        "@vue/language-core": "2.1.10",
+        "compare-versions": "^6.1.1",
+        "debug": "^4.4.0",
+        "kolorist": "^1.8.0",
+        "local-pkg": "^0.5.1",
+        "magic-string": "^0.30.17"
+      },
+      "engines": {
+        "node": "^14.18.0 || >=16.0.0"
+      },
+      "peerDependencies": {
+        "typescript": "*",
+        "vite": "*"
+      },
+      "peerDependenciesMeta": {
+        "vite": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/vite-tsconfig-paths": {
+      "version": "5.1.4",
+      "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.1.4.tgz",
+      "integrity": "sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "debug": "^4.1.1",
+        "globrex": "^0.1.2",
+        "tsconfck": "^3.0.3"
+      },
+      "peerDependencies": {
+        "vite": "*"
+      },
+      "peerDependenciesMeta": {
+        "vite": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/vitest": {
+      "version": "2.1.8",
+      "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.8.tgz",
+      "integrity": "sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@vitest/expect": "2.1.8",
+        "@vitest/mocker": "2.1.8",
+        "@vitest/pretty-format": "^2.1.8",
+        "@vitest/runner": "2.1.8",
+        "@vitest/snapshot": "2.1.8",
+        "@vitest/spy": "2.1.8",
+        "@vitest/utils": "2.1.8",
+        "chai": "^5.1.2",
+        "debug": "^4.3.7",
+        "expect-type": "^1.1.0",
+        "magic-string": "^0.30.12",
+        "pathe": "^1.1.2",
+        "std-env": "^3.8.0",
+        "tinybench": "^2.9.0",
+        "tinyexec": "^0.3.1",
+        "tinypool": "^1.0.1",
+        "tinyrainbow": "^1.2.0",
+        "vite": "^5.0.0",
+        "vite-node": "2.1.8",
+        "why-is-node-running": "^2.3.0"
+      },
+      "bin": {
+        "vitest": "vitest.mjs"
+      },
+      "engines": {
+        "node": "^18.0.0 || >=20.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/vitest"
+      },
+      "peerDependencies": {
+        "@edge-runtime/vm": "*",
+        "@types/node": "^18.0.0 || >=20.0.0",
+        "@vitest/browser": "2.1.8",
+        "@vitest/ui": "2.1.8",
+        "happy-dom": "*",
+        "jsdom": "*"
+      },
+      "peerDependenciesMeta": {
+        "@edge-runtime/vm": {
+          "optional": true
+        },
+        "@types/node": {
+          "optional": true
+        },
+        "@vitest/browser": {
+          "optional": true
+        },
+        "@vitest/ui": {
+          "optional": true
+        },
+        "happy-dom": {
+          "optional": true
+        },
+        "jsdom": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/aix-ppc64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+      "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+      "cpu": [
+        "ppc64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "aix"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/android-arm": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+      "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/android-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+      "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/android-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+      "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/darwin-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+      "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/darwin-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+      "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/freebsd-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+      "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/freebsd-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+      "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/linux-arm": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+      "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/linux-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+      "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/linux-ia32": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+      "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+      "cpu": [
+        "ia32"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/linux-loong64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+      "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+      "cpu": [
+        "loong64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/linux-mips64el": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+      "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+      "cpu": [
+        "mips64el"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/linux-ppc64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+      "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+      "cpu": [
+        "ppc64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/linux-riscv64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+      "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+      "cpu": [
+        "riscv64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/linux-s390x": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+      "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+      "cpu": [
+        "s390x"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/linux-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+      "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^18.0.0 || >=20.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/vitejs/vite?sponsor=1"
-      },
-      "optionalDependencies": {
-        "fsevents": "~2.3.3"
-      },
-      "peerDependencies": {
-        "@types/node": "^18.0.0 || >=20.0.0",
-        "less": "*",
-        "lightningcss": "^1.21.0",
-        "sass": "*",
-        "sass-embedded": "*",
-        "stylus": "*",
-        "sugarss": "*",
-        "terser": "^5.4.0"
-      },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        },
-        "less": {
-          "optional": true
-        },
-        "lightningcss": {
-          "optional": true
-        },
-        "sass": {
-          "optional": true
-        },
-        "sass-embedded": {
-          "optional": true
-        },
-        "stylus": {
-          "optional": true
-        },
-        "sugarss": {
-          "optional": true
-        },
-        "terser": {
-          "optional": true
-        }
+        "node": ">=12"
       }
     },
-    "node_modules/vite-plugin-dts": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-4.4.0.tgz",
-      "integrity": "sha512-CJ6phvnnPLF+aFk8Jz2ZcMBLleJ4gKJOXb9We5Kzmsp5bPuD+uMDeVefjFNYSXZ+wdcqnf+Yp2P7oA5hBKQTlQ==",
+    "node_modules/vitest/node_modules/@esbuild/netbsd-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+      "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@microsoft/api-extractor": "^7.48.1",
-        "@rollup/pluginutils": "^5.1.4",
-        "@volar/typescript": "^2.4.11",
-        "@vue/language-core": "2.1.10",
-        "compare-versions": "^6.1.1",
-        "debug": "^4.4.0",
-        "kolorist": "^1.8.0",
-        "local-pkg": "^0.5.1",
-        "magic-string": "^0.30.17"
-      },
+      "optional": true,
+      "os": [
+        "netbsd"
+      ],
       "engines": {
-        "node": "^14.18.0 || >=16.0.0"
-      },
-      "peerDependencies": {
-        "typescript": "*",
-        "vite": "*"
-      },
-      "peerDependenciesMeta": {
-        "vite": {
-          "optional": true
-        }
+        "node": ">=12"
       }
     },
-    "node_modules/vite-tsconfig-paths": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.1.4.tgz",
-      "integrity": "sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==",
+    "node_modules/vitest/node_modules/@esbuild/openbsd-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+      "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "debug": "^4.1.1",
-        "globrex": "^0.1.2",
-        "tsconfck": "^3.0.3"
-      },
-      "peerDependencies": {
-        "vite": "*"
-      },
-      "peerDependenciesMeta": {
-        "vite": {
-          "optional": true
-        }
+      "optional": true,
+      "os": [
+        "openbsd"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/vitest": {
-      "version": "2.1.8",
-      "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.8.tgz",
-      "integrity": "sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ==",
+    "node_modules/vitest/node_modules/@esbuild/sunos-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+      "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@vitest/expect": "2.1.8",
-        "@vitest/mocker": "2.1.8",
-        "@vitest/pretty-format": "^2.1.8",
-        "@vitest/runner": "2.1.8",
-        "@vitest/snapshot": "2.1.8",
-        "@vitest/spy": "2.1.8",
-        "@vitest/utils": "2.1.8",
-        "chai": "^5.1.2",
-        "debug": "^4.3.7",
-        "expect-type": "^1.1.0",
-        "magic-string": "^0.30.12",
-        "pathe": "^1.1.2",
-        "std-env": "^3.8.0",
-        "tinybench": "^2.9.0",
-        "tinyexec": "^0.3.1",
-        "tinypool": "^1.0.1",
-        "tinyrainbow": "^1.2.0",
-        "vite": "^5.0.0",
-        "vite-node": "2.1.8",
-        "why-is-node-running": "^2.3.0"
-      },
-      "bin": {
-        "vitest": "vitest.mjs"
-      },
+      "optional": true,
+      "os": [
+        "sunos"
+      ],
       "engines": {
-        "node": "^18.0.0 || >=20.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/vitest"
-      },
-      "peerDependencies": {
-        "@edge-runtime/vm": "*",
-        "@types/node": "^18.0.0 || >=20.0.0",
-        "@vitest/browser": "2.1.8",
-        "@vitest/ui": "2.1.8",
-        "happy-dom": "*",
-        "jsdom": "*"
-      },
-      "peerDependenciesMeta": {
-        "@edge-runtime/vm": {
-          "optional": true
-        },
-        "@types/node": {
-          "optional": true
-        },
-        "@vitest/browser": {
-          "optional": true
-        },
-        "@vitest/ui": {
-          "optional": true
-        },
-        "happy-dom": {
-          "optional": true
-        },
-        "jsdom": {
-          "optional": true
-        }
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/win32-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+      "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/win32-ia32": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+      "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+      "cpu": [
+        "ia32"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/vitest/node_modules/@esbuild/win32-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+      "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
     "node_modules/vitest/node_modules/@vitest/expect": {
@@ -16560,6 +17748,45 @@
         "url": "https://opencollective.com/vitest"
       }
     },
+    "node_modules/vitest/node_modules/esbuild": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+      "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
+      "dev": true,
+      "hasInstallScript": true,
+      "license": "MIT",
+      "bin": {
+        "esbuild": "bin/esbuild"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "optionalDependencies": {
+        "@esbuild/aix-ppc64": "0.21.5",
+        "@esbuild/android-arm": "0.21.5",
+        "@esbuild/android-arm64": "0.21.5",
+        "@esbuild/android-x64": "0.21.5",
+        "@esbuild/darwin-arm64": "0.21.5",
+        "@esbuild/darwin-x64": "0.21.5",
+        "@esbuild/freebsd-arm64": "0.21.5",
+        "@esbuild/freebsd-x64": "0.21.5",
+        "@esbuild/linux-arm": "0.21.5",
+        "@esbuild/linux-arm64": "0.21.5",
+        "@esbuild/linux-ia32": "0.21.5",
+        "@esbuild/linux-loong64": "0.21.5",
+        "@esbuild/linux-mips64el": "0.21.5",
+        "@esbuild/linux-ppc64": "0.21.5",
+        "@esbuild/linux-riscv64": "0.21.5",
+        "@esbuild/linux-s390x": "0.21.5",
+        "@esbuild/linux-x64": "0.21.5",
+        "@esbuild/netbsd-x64": "0.21.5",
+        "@esbuild/openbsd-x64": "0.21.5",
+        "@esbuild/sunos-x64": "0.21.5",
+        "@esbuild/win32-arm64": "0.21.5",
+        "@esbuild/win32-ia32": "0.21.5",
+        "@esbuild/win32-x64": "0.21.5"
+      }
+    },
     "node_modules/vitest/node_modules/estree-walker": {
       "version": "3.0.3",
       "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
@@ -16874,6 +18101,25 @@
         "node": ">=12"
       }
     },
+    "node_modules/whatwg-url": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
+      "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "lodash.sortby": "^4.7.0",
+        "tr46": "^1.0.1",
+        "webidl-conversions": "^4.0.2"
+      }
+    },
+    "node_modules/whatwg-url/node_modules/webidl-conversions": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+      "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+      "dev": true,
+      "license": "BSD-2-Clause"
+    },
     "node_modules/when-exit": {
       "version": "2.1.3",
       "resolved": "https://registry.npmjs.org/when-exit/-/when-exit-2.1.3.tgz",
@@ -16998,9 +18244,9 @@
       }
     },
     "node_modules/wildcard-match": {
-      "version": "5.1.3",
-      "resolved": "https://registry.npmjs.org/wildcard-match/-/wildcard-match-5.1.3.tgz",
-      "integrity": "sha512-a95hPUk+BNzSGLntNXYxsjz2Hooi5oL7xOfJR6CKwSsSALh7vUNuTlzsrZowtYy38JNduYFRVhFv19ocqNOZlg==",
+      "version": "5.1.4",
+      "resolved": "https://registry.npmjs.org/wildcard-match/-/wildcard-match-5.1.4.tgz",
+      "integrity": "sha512-wldeCaczs8XXq7hj+5d/F38JE2r7EXgb6WQDM84RVwxy81T/sxB5e9+uZLK9Q9oNz1mlvjut+QtvgaOQFPVq/g==",
       "dev": true,
       "license": "ISC"
     },
@@ -17422,14 +18668,14 @@
     },
     "packages/code": {
       "name": "@devoinc/genesys-ui-code",
-      "version": "14.3.1",
+      "version": "14.3.2",
       "license": "MIT",
       "devDependencies": {
         "@types/file-saver": "^2.0.7",
         "file-saver": "^2.0.5"
       },
       "peerDependencies": {
-        "@devoinc/genesys-ui": "^14.3.1",
+        "@devoinc/genesys-ui": "^14.3.2",
         "ahooks": "3.x",
         "monaco-editor-core": "0.x",
         "react": "^16.3.0 || 17.x || 18.x || 19.x",
@@ -17438,10 +18684,10 @@
     },
     "packages/color": {
       "name": "@devoinc/genesys-ui-color",
-      "version": "14.3.1",
+      "version": "14.3.2",
       "license": "MIT",
       "peerDependencies": {
-        "@devoinc/genesys-ui": "^14.3.1",
+        "@devoinc/genesys-ui": "^14.3.2",
         "polished": "4.x",
         "react": "^16.3.0 || 17.x || 18.x || 19.x",
         "react-color": "2.x",
@@ -17450,9 +18696,10 @@
     },
     "packages/core": {
       "name": "@devoinc/genesys-ui",
-      "version": "14.3.1",
+      "version": "14.3.2",
       "license": "MIT",
       "peerDependencies": {
+        "@devoinc/genesys-brand-devo": "8.x",
         "@devoinc/genesys-icons": "4.x || 5.x || 6.x",
         "@devoinc/genesys-tokens-types": "7.x",
         "@dnd-kit/core": "6.x",
@@ -17474,11 +18721,11 @@
     },
     "packages/datetime": {
       "name": "@devoinc/genesys-ui-datetime",
-      "version": "14.3.1",
+      "version": "14.3.2",
       "license": "MIT",
       "peerDependencies": {
         "@devoinc/genesys-icons": "4.x || 5.x || 6.x",
-        "@devoinc/genesys-ui": "^14.3.1",
+        "@devoinc/genesys-ui": "^14.3.2",
         "date-fns": "4.x",
         "react": "^16.3.0 || 17.x || 18.x || 19.x",
         "react-popper": "2.x",
@@ -17487,13 +18734,13 @@
     },
     "packages/table": {
       "name": "@devoinc/genesys-ui-table",
-      "version": "14.3.1",
+      "version": "14.3.2",
       "license": "MIT",
       "peerDependencies": {
         "@date-fns/tz": "1.x",
         "@devoinc/genesys-icons": "4.x || 5.x || 6.x",
-        "@devoinc/genesys-ui": "^14.3.1",
-        "@devoinc/genesys-ui-datetime": "^14.3.1",
+        "@devoinc/genesys-ui": "^14.3.2",
+        "@devoinc/genesys-ui-datetime": "^14.3.2",
         "@tanstack/react-virtual": "3.x",
         "date-fns": "4.x",
         "react": "^16.3.0 || 17.x || 18.x || 19.x",
@@ -17502,11 +18749,11 @@
     },
     "packages/upload": {
       "name": "@devoinc/genesys-ui-upload",
-      "version": "14.3.1",
+      "version": "14.3.2",
       "license": "MIT",
       "peerDependencies": {
         "@devoinc/genesys-icons": "4.x || 5.x || 6.x",
-        "@devoinc/genesys-ui": "^14.3.1",
+        "@devoinc/genesys-ui": "^14.3.2",
         "filepond-plugin-file-validate-size": "2.x",
         "filepond-plugin-file-validate-type": "1.x",
         "filepond-plugin-image-preview": "4.x",
diff --git a/package.json b/package.json
index 37ddb7eff..f226d6c55 100644
--- a/package.json
+++ b/package.json
@@ -5,25 +5,20 @@
   "type": "module",
   "private": true,
   "scripts": {
-    "compile": "npm run compile -ws --if-present",
-    "compile:watch": "npm run compile:watch -ws --if-present",
     "clean:cache": "rm -rf node_modules/.cache",
-    "clean": "rm -rf storybook-static coverage packages/*/dist",
+    "clean": "rm -rf storybook-static coverage packages/*/dist packages/*/coverage",
     "build": "npm run build -ws --if-present",
-    "build:watch": "npm run build:watch -ws --if-present",
     "depcruise": "npm run depcruise -ws",
     "lint": "oxlint -c oxlintrc.json",
     "start": "npm run storybook",
     "storybook": "storybook dev -p 6006",
     "build-storybook": "NODE_OPTIONS=\"--max_old_space_size=4096\" storybook build",
     "stryker": "npm run stryker -ws --if-present",
-    "analyzer": "npm run analyzer -ws --if-present",
     "test": "vitest",
     "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",
-    "postinstall": "scripts/post_install.sh"
+    "release:ci": "release-it --ci"
   },
   "keywords": [],
   "author": "Devo, Inc. Quvis Team (https://github.com/orgs/DevoInc/teams/quvis)",
@@ -58,6 +53,7 @@
     "babel-plugin-styled-components": "^2.1.4",
     "dependency-cruiser": "^16.8.0",
     "dpdm": "^3.14.0",
+    "esbuild-plugin-styled-components": "^3.0.1",
     "framer-motion": "^11.15.0",
     "happy-dom": "^15.11.7",
     "identity-obj-proxy": "^3.0.0",
@@ -74,18 +70,20 @@
     "sass": "^1.83.0",
     "semver": "^7.6.3",
     "storybook": "^8.4.7",
+    "terser": "^5.37.0",
     "tocbot": "^4.32.2",
     "ts-node": "^10.9.2",
+    "tsup": "^8.3.5",
     "typescript": "^5.7.2",
     "vite": "^6.0.3",
     "vite-bundle-visualizer": "^1.2.1",
+    "vite-plugin-babel-macros": "^1.0.6",
     "vite-plugin-dts": "^4.3.0",
     "vite-tsconfig-paths": "^5.1.4",
     "vitest": "^2.1.8",
     "viz.js": "^2.1.2"
   },
   "overrides": {
-    "esbuild": "0.24.0",
     "ahooks": {
       "react": "$react",
       "react-dom": "$react-dom"
diff --git a/packages/code/package.json b/packages/code/package.json
index d4b6a4384..19ac64990 100644
--- a/packages/code/package.json
+++ b/packages/code/package.json
@@ -10,23 +10,14 @@
     ".": {
       "import": "./dist/index.js",
       "require": "./dist/index.cjs"
-    },
-    "./style.css": {
-      "import": "./dist/style.css",
-      "require": "./dist/style.css"
     }
   },
   "files": [
     "dist"
   ],
   "scripts": {
-    "compile": "tsc --project tsconfig.json",
-    "compile:watch": "npm run compile -- --watch",
-    "build": "vite build",
-    "build:watch": "vite build --watch",
+    "build": "tsup",
     "depcruise": "sh ../../depcruise.sh \"$npm_package_name\"",
-    "analyzer": "vite-bundle-visualizer -o 'dist/stats.html'",
-    "stryker": "npx stryker run",
     "dpdm": "dpdm --exit-code circular:1 ./src/index.ts"
   },
   "peerDependencies": {
diff --git a/packages/code/tsconfig.build.json b/packages/code/tsconfig.build.json
deleted file mode 100644
index b416112a8..000000000
--- a/packages/code/tsconfig.build.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-  "extends": "../../tsconfig.json",
-  "compilerOptions": {
-    "composite": true,
-    "declaration": true,
-    "declarationMap": true,
-    "declarationDir": "./dist/types",
-    "emitDeclarationOnly": true,
-    "incremental": true,
-    "outDir": "./dist"
-  },
-  "include": ["src"],
-  "exclude": [
-    "src/**/*.test.*",
-    "src/**/*.stories.tsx",
-    "src/**/stories/*",
-    "src/**/__stories__/*"
-  ],
-  "references": [
-    {
-      "path": "../core/tsconfig.build.json"
-    }
-  ]
-}
diff --git a/packages/code/tsconfig.json b/packages/code/tsconfig.json
index 6d8585cd2..0fd53ea37 100644
--- a/packages/code/tsconfig.json
+++ b/packages/code/tsconfig.json
@@ -1,13 +1,14 @@
 {
-  "extends": "../../tsconfig.json",
+  "extends": "../../common/tsconfig",
   "compilerOptions": {
-    "declaration": true,
-    "declarationMap": true,
-    "outDir": "./dist"
+    "paths": {
+      "@test": [
+        "../../test/test-utils.tsx"
+      ]
+    }
   },
   "include": [
     "src",
-    "stories",
-    "vite.config.ts"
-  ],
+    "stories"
+  ]
 }
diff --git a/packages/code/tsup.config.ts b/packages/code/tsup.config.ts
new file mode 100644
index 000000000..2fae0e14c
--- /dev/null
+++ b/packages/code/tsup.config.ts
@@ -0,0 +1,8 @@
+import { defineConfig } from 'tsup';
+
+import { tsupConfig } from '../../common/tsup.config';
+
+export default defineConfig({
+  ...tsupConfig,
+  entry: ['src/index.ts'],
+});
diff --git a/packages/code/vite.config.ts b/packages/code/vite.config.ts
deleted file mode 100644
index ef267cc40..000000000
--- a/packages/code/vite.config.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-/// <reference types="vitest" />
-import { resolve } from 'path';
-import { defineConfig } from 'vite';
-import react from '@vitejs/plugin-react';
-import tsconfigPaths from 'vite-tsconfig-paths';
-import dts from 'vite-plugin-dts';
-
-export default defineConfig({
-  resolve: {
-    preserveSymlinks: true,
-  },
-  build: {
-    sourcemap: true,
-    lib: {
-      entry: resolve(__dirname, 'src/index.ts'),
-      name: 'index',
-      fileName: 'index',
-      formats: ['es', 'cjs'],
-    },
-    rollupOptions: {
-      external: [
-        'ahooks',
-        '@devoinc/genesys-ui',
-        'monaco-editor-core',
-        'react',
-        'react/jsx-runtime',
-        'styled-components',
-      ],
-    },
-  },
-  plugins: [
-    tsconfigPaths(),
-    react({
-      babel: {
-        plugins: [
-          [
-            'babel-plugin-styled-components',
-            {
-              ssr: false,
-              pure: true,
-              displayName: true,
-              fileName: false,
-            },
-          ],
-        ],
-      },
-    }),
-    dts({
-      entryRoot: './src/',
-      exclude: ['./src/**/*.test.ts?(x)', './src/**/*.stories.tsx'],
-    }),
-  ],
-  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/code/vitest.config.ts b/packages/code/vitest.config.ts
new file mode 100644
index 000000000..49cded315
--- /dev/null
+++ b/packages/code/vitest.config.ts
@@ -0,0 +1,13 @@
+import { defineConfig } from 'vitest/config';
+import { resolve } from 'node:path';
+
+import { vitestConfig } from '../../common/vitest.config';
+
+export default defineConfig({
+  ...vitestConfig,
+  resolve: {
+    alias: {
+      '@test': resolve(__dirname, '../../test/test-utils.tsx'),
+    },
+  },
+});
diff --git a/packages/color/package.json b/packages/color/package.json
index 1ee93ddb7..944eabf39 100644
--- a/packages/color/package.json
+++ b/packages/color/package.json
@@ -4,13 +4,8 @@
   "description": "",
   "type": "module",
   "scripts": {
-    "compile": "tsc --project tsconfig.json",
-    "compile:watch": "npm run compile -- --watch",
-    "build": "vite build",
-    "build:watch": "vite build --watch",
+    "build": "tsup",
     "depcruise": "sh ../../depcruise.sh \"$npm_package_name\"",
-    "analyzer": "vite-bundle-visualizer -o 'dist/stats.html'",
-    "stryker": "npx stryker run",
     "dpdm": "dpdm --exit-code circular:1 ./src/index.ts"
   },
   "main": "./dist/index.cjs",
diff --git a/packages/color/src/components/ColorPicker/styled/StyledColorPicker.ts b/packages/color/src/components/ColorPicker/styled/StyledColorPicker.ts
index 89afd9198..0632d22bc 100644
--- a/packages/color/src/components/ColorPicker/styled/StyledColorPicker.ts
+++ b/packages/color/src/components/ColorPicker/styled/StyledColorPicker.ts
@@ -16,6 +16,12 @@ export interface StyledColorPickerProps {
 }
 
 export const StyledColorPicker = styled.button<StyledColorPickerProps>`
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  appearance: none;
+  padding: 0;
+  margin: 0;
   ${({
     $disabled,
     $colorIndicatorType,
@@ -37,12 +43,6 @@ export const StyledColorPicker = styled.button<StyledColorPickerProps>`
       colorPickerTokens.shape.borderRadius[isCircle ? 'isCircle' : 'base'];
 
     return css`
-      display: inline-flex;
-      align-items: center;
-      justify-content: center;
-      appearance: none;
-      padding: 0;
-      margin: 0;
       transition:
         border ${transitionDuration} ease-in-out,
         box-shadow ${transitionDuration} ease-in-out;
@@ -54,30 +54,28 @@ export const StyledColorPicker = styled.button<StyledColorPickerProps>`
       width: ${width};
       height: ${height};
 
-      ${!$disabled &&
-      !$readOnly &&
-      css`
-        cursor: pointer;
+      ${!$disabled && !$readOnly
+        ? `
+            cursor: pointer;
 
-        &:hover {
-          border-color: ${colorPickerTokens.color.border[$status].hovered};
-          color: ${colorPickerTokens.color.text.base.hovered};
-        }
+            &:hover {
+              border-color: ${colorPickerTokens.color.border[$status].hovered};
+              color: ${colorPickerTokens.color.text.base.hovered};
+            }
 
-        &:focus,
-        &:focus-visible {
-          //box-shadow: ${colorPickerTokens.elevation.boxShadow[$status]
-            .focused};
-          border-color: ${colorPickerTokens.color.border[$status].focused};
-          color: ${colorPickerTokens.color.text.base.focused};
-          outline: none;
-        }
-      `}
+            &:focus,
+            &:focus-visible {
+              //box-shadow: ${
+                colorPickerTokens.elevation.boxShadow[$status].focused
+              };
+              border-color: ${colorPickerTokens.color.border[$status].focused};
+              color: ${colorPickerTokens.color.text.base.focused};
+              outline: none;
+            }
+          `
+        : ''}
 
-      ${$disabled &&
-      css`
-        ${disabledMixin(theme)};
-      `}
+      ${$disabled ? disabledMixin(theme) : ''}
 
       .color-indicator__sample {
         width: calc(${width} - (${spacing} * 2));
diff --git a/packages/color/tsconfig.build.json b/packages/color/tsconfig.build.json
deleted file mode 100644
index 5147ae855..000000000
--- a/packages/color/tsconfig.build.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-  "extends": "../../tsconfig.json",
-  "compilerOptions": {
-    "composite": true,
-    "declaration": true,
-    "declarationMap": true,
-    "declarationDir": "./dist/types",
-    "emitDeclarationOnly": true,
-    "incremental": true,
-    "outDir": "./dist"
-  },
-  "include": ["src"],
-  "exclude": [
-    "src/**/*.test.*",
-    "src/**/*.stories.tsx",
-    "src/**/__stories__/*"
-  ],
-  "references": [
-    {
-      "path": "../core/tsconfig.build.json"
-    }
-  ]
-}
-
diff --git a/packages/color/tsconfig.json b/packages/color/tsconfig.json
index 6d8585cd2..0fd53ea37 100644
--- a/packages/color/tsconfig.json
+++ b/packages/color/tsconfig.json
@@ -1,13 +1,14 @@
 {
-  "extends": "../../tsconfig.json",
+  "extends": "../../common/tsconfig",
   "compilerOptions": {
-    "declaration": true,
-    "declarationMap": true,
-    "outDir": "./dist"
+    "paths": {
+      "@test": [
+        "../../test/test-utils.tsx"
+      ]
+    }
   },
   "include": [
     "src",
-    "stories",
-    "vite.config.ts"
-  ],
+    "stories"
+  ]
 }
diff --git a/packages/color/tsup.config.ts b/packages/color/tsup.config.ts
new file mode 100644
index 000000000..2fae0e14c
--- /dev/null
+++ b/packages/color/tsup.config.ts
@@ -0,0 +1,8 @@
+import { defineConfig } from 'tsup';
+
+import { tsupConfig } from '../../common/tsup.config';
+
+export default defineConfig({
+  ...tsupConfig,
+  entry: ['src/index.ts'],
+});
diff --git a/packages/color/vite.config.ts b/packages/color/vite.config.ts
deleted file mode 100644
index 2a4ecd416..000000000
--- a/packages/color/vite.config.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-/// <reference types="vitest" />
-import { resolve } from 'path';
-import { defineConfig } from 'vite';
-import react from '@vitejs/plugin-react';
-import tsconfigPaths from 'vite-tsconfig-paths';
-import dts from 'vite-plugin-dts';
-
-export default defineConfig({
-  resolve: {
-    preserveSymlinks: true,
-  },
-  build: {
-    sourcemap: true,
-    lib: {
-      entry: resolve(__dirname, 'src/index.ts'),
-      name: 'index',
-      fileName: 'index',
-      formats: ['es', 'cjs'],
-    },
-    rollupOptions: {
-      external: [
-        '@devoinc/genesys-ui',
-        'react',
-        'react-dom',
-        'react/jsx-runtime',
-        'styled-components',
-        'react-color',
-        'polished',
-      ],
-    },
-  },
-  plugins: [
-    tsconfigPaths(),
-    react({
-      babel: {
-        plugins: [
-          [
-            'babel-plugin-styled-components',
-            {
-              ssr: false,
-              pure: true,
-              displayName: true,
-              fileName: false,
-            },
-          ],
-        ],
-      },
-    }),
-    dts({
-      entryRoot: './src/',
-      exclude: ['./src/**/*.test.ts?(x)', './src/**/*.stories.tsx'],
-    }),
-  ],
-  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/vitest.config.ts b/packages/color/vitest.config.ts
new file mode 100644
index 000000000..49cded315
--- /dev/null
+++ b/packages/color/vitest.config.ts
@@ -0,0 +1,13 @@
+import { defineConfig } from 'vitest/config';
+import { resolve } from 'node:path';
+
+import { vitestConfig } from '../../common/vitest.config';
+
+export default defineConfig({
+  ...vitestConfig,
+  resolve: {
+    alias: {
+      '@test': resolve(__dirname, '../../test/test-utils.tsx'),
+    },
+  },
+});
diff --git a/packages/core/package.json b/packages/core/package.json
index eb210ab9f..3cd975e4b 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -16,17 +16,13 @@
     "dist"
   ],
   "scripts": {
-    "compile": "tsc --project tsconfig.json",
-    "compile:watch": "npm run compile -- --watch",
     "test": "vitest",
-    "build": "vite build",
-    "build:watch": "vite build --watch",
+    "build": "tsup",
     "depcruise": "sh ../../depcruise.sh \"$npm_package_name\"",
-    "analyzer": "vite-bundle-visualizer -o 'dist/stats.html'",
-    "stryker": "npx stryker run",
     "dpdm": "dpdm --exit-code circular:1 ./src/index.ts"
   },
   "peerDependencies": {
+    "@devoinc/genesys-brand-devo": "8.x",
     "@devoinc/genesys-icons": "4.x || 5.x || 6.x",
     "@devoinc/genesys-tokens-types": "7.x",
     "@dnd-kit/core": "6.x",
diff --git a/packages/core/src/components/Collapse/Collapse.stories.tsx b/packages/core/src/components/Collapse/Collapse.stories.tsx
index f2f70b583..ffb07860f 100644
--- a/packages/core/src/components/Collapse/Collapse.stories.tsx
+++ b/packages/core/src/components/Collapse/Collapse.stories.tsx
@@ -16,7 +16,7 @@ import {
 } from '@dnd-kit/sortable';
 import { CSS } from '@dnd-kit/utilities';
 
-import type { TElevation } from 'src/declarations';
+import type { TElevation } from '../../declarations';
 import { elevationBoxShadowMixin } from '../../styled/mixins';
 import { lorem } from '../../../stories/utils/fillerTexts';
 
diff --git a/packages/core/src/components/Form/components/FormLegend/FormLegend.tsx b/packages/core/src/components/Form/components/FormLegend/FormLegend.tsx
index 9b8a411eb..ff34bcd99 100644
--- a/packages/core/src/components/Form/components/FormLegend/FormLegend.tsx
+++ b/packages/core/src/components/Form/components/FormLegend/FormLegend.tsx
@@ -4,7 +4,7 @@ import { Flex } from '../../../Flex';
 import { Typography } from '../../../Typography';
 import { Field, type FieldProps, type FieldLabelProps } from '../../../Field';
 import { StyledFormLegendContainer } from './StyledFormLegendContainer';
-import { IGlobalAttrs } from 'src/declarations';
+import { IGlobalAttrs } from '../../../../declarations';
 
 export interface FormLegendProps
   extends IGlobalAttrs,
diff --git a/packages/core/src/components/InlineMessage/InlineMessage.tsx b/packages/core/src/components/InlineMessage/InlineMessage.tsx
index 77795eab7..61155cbf1 100644
--- a/packages/core/src/components/InlineMessage/InlineMessage.tsx
+++ b/packages/core/src/components/InlineMessage/InlineMessage.tsx
@@ -70,7 +70,7 @@ const PartInlineMessage: React.FC<InlineMessageProps> = ({
       id={id}
       placement={placement}
       arrowConfig={{
-        component: ({ $placement: innerPlacement, $size: size }) => (
+        component: ({ placement: innerPlacement, size }) => (
           <InlineMessage.Arrow
             placement={innerPlacement}
             size={size}
diff --git a/packages/core/src/components/InlineMessage/components/InlineMessageArrow/InlineMessageArrow.tsx b/packages/core/src/components/InlineMessage/components/InlineMessageArrow/InlineMessageArrow.tsx
index 83b055775..d0ff1b0d4 100644
--- a/packages/core/src/components/InlineMessage/components/InlineMessageArrow/InlineMessageArrow.tsx
+++ b/packages/core/src/components/InlineMessage/components/InlineMessageArrow/InlineMessageArrow.tsx
@@ -3,7 +3,7 @@ import { useTheme } from 'styled-components';
 import type { ComputedPlacement } from '@popperjs/core';
 
 import type { TUIColorScheme } from '../../../../declarations/commonProps';
-import { StyledPopoverArrow } from '../../../Popover/StyledPopoverArrow';
+import { PopoverArrow } from '../../../Popover/components/';
 import { inlineMessageArrowMixin } from './helpers';
 
 export interface InlineMessageArrowProps {
@@ -19,10 +19,10 @@ export const InlineMessageArrow: React.FC<InlineMessageArrowProps> = ({
 }) => {
   const theme = useTheme();
   return (
-    <StyledPopoverArrow
-      $placement={placement}
-      $size={size}
-      css={inlineMessageArrowMixin({ placement, status, theme })}
+    <PopoverArrow
+      placement={placement}
+      size={size}
+      style={inlineMessageArrowMixin({ placement, status, theme })}
     />
   );
 };
diff --git a/packages/core/src/components/InputControl/components/InputControlShowPassword/InputControlShowPassword.tsx b/packages/core/src/components/InputControl/components/InputControlShowPassword/InputControlShowPassword.tsx
index 79c0dd9cc..446a65d22 100644
--- a/packages/core/src/components/InputControl/components/InputControlShowPassword/InputControlShowPassword.tsx
+++ b/packages/core/src/components/InputControl/components/InputControlShowPassword/InputControlShowPassword.tsx
@@ -10,7 +10,7 @@ import type { IStyledOverloadCss } from '../../../../declarations';
 import { IconButton, type IconButtonProps } from '../../../IconButton';
 import { StyledInputControlShowPassword } from './StyledInputControlShowPassword';
 import type { IInputControlShowPassword } from './declarations';
-import { type TButtonSize } from 'src/components/Button';
+import { type TButtonSize } from '../../../Button';
 
 export interface InputControlShowPasswordProps
   extends IInputControlShowPassword,
diff --git a/packages/core/src/components/Pagination/components/PaginationContainer/PaginationContainer.tsx b/packages/core/src/components/Pagination/components/PaginationContainer/PaginationContainer.tsx
index bfc556ffa..da04cf18e 100644
--- a/packages/core/src/components/Pagination/components/PaginationContainer/PaginationContainer.tsx
+++ b/packages/core/src/components/Pagination/components/PaginationContainer/PaginationContainer.tsx
@@ -1,6 +1,7 @@
 import * as React from 'react';
+
 import { HFlex, type HFlexProps } from '../../../HFlex';
-import { TBaseSize } from 'src/declarations';
+import { TBaseSize } from '../../../../declarations';
 
 export interface PaginationContainerProps extends HFlexProps {
   size?: TBaseSize;
diff --git a/packages/core/src/components/Pagination/components/PaginationNav/PaginationNav.tsx b/packages/core/src/components/Pagination/components/PaginationNav/PaginationNav.tsx
index 93e23a57b..3aa10a744 100644
--- a/packages/core/src/components/Pagination/components/PaginationNav/PaginationNav.tsx
+++ b/packages/core/src/components/Pagination/components/PaginationNav/PaginationNav.tsx
@@ -10,7 +10,7 @@ import {
 import type { IPaginationCommonInterface } from '../../declarations';
 import { HFlex } from '../../../HFlex';
 import { IconButton } from '../../../IconButton';
-import { SelectControl } from '../../../SelectControl';
+import { SelectControl, type TSelectOption } from '../../../SelectControl';
 import { Flex } from '../../../Flex';
 import { Box } from '../../../Box';
 import { DEFAULT_TEXTS } from '../../constants';
@@ -111,8 +111,8 @@ export const PaginationNav: React.FC<PaginationNavProps> = ({
               isDisabled={lastPage === 0}
               id={id ? `${id}-page-selector` : null}
               noOptionsMessage={() => ''}
-              onChange={(e) => {
-                onChange(clamp(lastPage, e.value));
+              onChange={(e: TSelectOption) => {
+                onChange(clamp(lastPage, e.value as number));
               }}
               onMenuClose={() => setMenuOpen(false)}
               onMenuOpen={() => {
diff --git a/packages/core/src/components/Pagination/components/PaginationRange/PaginationRange.tsx b/packages/core/src/components/Pagination/components/PaginationRange/PaginationRange.tsx
index 948b9a884..a9d665378 100644
--- a/packages/core/src/components/Pagination/components/PaginationRange/PaginationRange.tsx
+++ b/packages/core/src/components/Pagination/components/PaginationRange/PaginationRange.tsx
@@ -5,7 +5,7 @@ import { DEFAULT_TEXTS } from '../../constants';
 import { PaginationContext } from '../../context';
 import { HFlex } from '../../../HFlex';
 import { Label } from '../../../Label';
-import { SelectControl } from '../../../SelectControl';
+import { SelectControl, type TSelectOption } from '../../../SelectControl';
 
 export interface PaginationRangeProps extends IPaginationCommonInterface {}
 
@@ -27,7 +27,7 @@ export const PaginationRange: React.FC<PaginationRangeProps> = ({
       <SelectControl
         id={id ? `${id}__page-range-selector` : null}
         noOptionsMessage={() => ''}
-        onChange={(option) => {
+        onChange={(option: TSelectOption) => {
           onPageSizeChange(Number(option.value));
         }}
         options={pageSizeOptions.map((item) => ({
diff --git a/packages/core/src/components/Pagination/helpers/data/clamp.ts b/packages/core/src/components/Pagination/helpers/data/clamp.ts
index 75ad8a4d9..ace744e29 100644
--- a/packages/core/src/components/Pagination/helpers/data/clamp.ts
+++ b/packages/core/src/components/Pagination/helpers/data/clamp.ts
@@ -1,2 +1,2 @@
-export const clamp = (max, value) =>
-  value < 0 ? 0 : value > max ? max : value;
\ No newline at end of file
+export const clamp = (max: number, value: number) =>
+  value < 0 ? 0 : value > max ? max : value;
diff --git a/packages/core/src/components/Popover/Popover.stories.tsx b/packages/core/src/components/Popover/Popover.stories.tsx
index f0c214b84..9f0e5b19d 100644
--- a/packages/core/src/components/Popover/Popover.stories.tsx
+++ b/packages/core/src/components/Popover/Popover.stories.tsx
@@ -59,8 +59,8 @@ export const WithArrow: Story = {
           {...props}
           id={popoverId}
           arrowConfig={{
-            component: ({ $placement, $size }) => (
-              <Popover.Arrow $placement={$placement} $size={$size} />
+            component: ({ placement, size }) => (
+              <Popover.Arrow placement={placement} size={size} />
             ),
           }}
         >
diff --git a/packages/core/src/components/Popover/Popover.tsx b/packages/core/src/components/Popover/Popover.tsx
index 1806b841b..e533ab5e2 100644
--- a/packages/core/src/components/Popover/Popover.tsx
+++ b/packages/core/src/components/Popover/Popover.tsx
@@ -1,15 +1,12 @@
 import * as React from 'react';
-import ReactDOM from 'react-dom';
+import { createPortal } from 'react-dom';
 import { useTheme } from 'styled-components';
 import { type PopperProps, StrictModifier, usePopper } from 'react-popper';
 import { ComputedPlacement, Padding } from '@popperjs/core';
 
 import { useOnEventOutside } from '../../hooks';
-import { PopoverPanel } from './components';
-import {
-  StyledPopoverArrow,
-  type StyledPopoverArrowProps,
-} from './StyledPopoverArrow';
+import { PopoverArrow, PopoverArrowProps, PopoverPanel } from './components';
+import { type StyledPopoverArrowProps } from './components/PopoverArrow/StyledPopoverArrow';
 
 type TTriggerProps = (props: {
   ref: React.Dispatch<React.SetStateAction<HTMLElement>>;
@@ -43,7 +40,7 @@ export interface PopoverProps
   isOpened?: boolean;
   /** The configuration for the popover arrow: used component, padding... etc. */
   arrowConfig?: {
-    component: (arrowProps: StyledPopoverArrowProps) => React.ReactNode;
+    component: (arrowProps: PopoverArrowProps) => React.ReactNode;
     padding?: Padding;
     size?: StyledPopoverArrowProps['$size'];
   };
@@ -159,8 +156,8 @@ export const InternalPopover: React.FC<PopoverProps> = ({
           }}
         >
           {arrowConfig.component({
-            $placement: (dynamicPlacement as ComputedPlacement) ?? undefined,
-            $size: arrowConfig.size ?? undefined,
+            placement: (dynamicPlacement as ComputedPlacement) ?? undefined,
+            size: arrowConfig.size ?? undefined,
           })}
         </div>
       )}
@@ -185,17 +182,17 @@ export const InternalPopover: React.FC<PopoverProps> = ({
       })}
       {opened &&
         referenceElement &&
-        (appendTo ? ReactDOM.createPortal(PopperCmp, appendTo) : PopperCmp)}
+        (appendTo ? createPortal(PopperCmp, appendTo) : PopperCmp)}
     </>
   );
 };
 
 export const Popover = InternalPopover as typeof InternalPopover & {
-  Arrow: typeof StyledPopoverArrow;
+  Arrow: typeof PopoverArrow;
   Panel: typeof PopoverPanel;
 };
 
-Popover.Arrow = StyledPopoverArrow;
+Popover.Arrow = PopoverArrow;
 Popover.Panel = PopoverPanel;
 
 InternalPopover.displayName = 'Popover';
diff --git a/packages/core/src/components/Popover/components/PopoverArrow/PopoverArrow.tsx b/packages/core/src/components/Popover/components/PopoverArrow/PopoverArrow.tsx
new file mode 100644
index 000000000..9a83d7d9a
--- /dev/null
+++ b/packages/core/src/components/Popover/components/PopoverArrow/PopoverArrow.tsx
@@ -0,0 +1,18 @@
+import * as React from 'react';
+
+import {
+  StyledPopoverArrow,
+  type StyledPopoverArrowProps,
+} from './StyledPopoverArrow';
+import { IStyledOverloadCss } from '../../../../declarations';
+
+export interface PopoverArrowProps extends IStyledOverloadCss {
+  placement: StyledPopoverArrowProps['$placement'];
+  size: StyledPopoverArrowProps['$size'];
+}
+
+export const PopoverArrow: React.FC<PopoverArrowProps> = ({
+  placement,
+  size,
+  style,
+}) => <StyledPopoverArrow $placement={placement} $size={size} css={style} />;
diff --git a/packages/core/src/components/Popover/StyledPopoverArrow.ts b/packages/core/src/components/Popover/components/PopoverArrow/StyledPopoverArrow.ts
similarity index 100%
rename from packages/core/src/components/Popover/StyledPopoverArrow.ts
rename to packages/core/src/components/Popover/components/PopoverArrow/StyledPopoverArrow.ts
diff --git a/packages/core/src/components/Popover/components/PopoverArrow/index.ts b/packages/core/src/components/Popover/components/PopoverArrow/index.ts
new file mode 100644
index 000000000..958b955d1
--- /dev/null
+++ b/packages/core/src/components/Popover/components/PopoverArrow/index.ts
@@ -0,0 +1 @@
+export * from './PopoverArrow';
diff --git a/packages/core/src/components/Popover/components/index.ts b/packages/core/src/components/Popover/components/index.ts
index 6707ece80..d992875b4 100644
--- a/packages/core/src/components/Popover/components/index.ts
+++ b/packages/core/src/components/Popover/components/index.ts
@@ -1 +1,2 @@
 export * from './PopoverPanel';
+export * from './PopoverArrow';
diff --git a/packages/core/src/components/SelectControl/StyledSelectControl.ts b/packages/core/src/components/SelectControl/StyledSelectControl.ts
index fe0a324cd..30ab1a81c 100644
--- a/packages/core/src/components/SelectControl/StyledSelectControl.ts
+++ b/packages/core/src/components/SelectControl/StyledSelectControl.ts
@@ -8,9 +8,13 @@ import { scrollbars } from '../../styled/mixins/scrollbars';
 import { TSelectOption } from './declarations';
 import { disabledMixin, truncateTypoMixin } from '../../styled';
 
+export interface StyledSelectControlProps extends BaseObject {
+  css: CSSProp;
+}
+
 export const StyledSelectControl = styled<
   ReactSelect,
-  BaseObject & { css: CSSProp }
+  StyledSelectControlProps
 >(ReactSelect)`
   flex: 1 1 auto;
   min-width: 0;
diff --git a/packages/core/src/components/Tabs/hooks/useClosableTabs.ts b/packages/core/src/components/Tabs/hooks/useClosableTabs.ts
index 3247e4092..97661ca16 100644
--- a/packages/core/src/components/Tabs/hooks/useClosableTabs.ts
+++ b/packages/core/src/components/Tabs/hooks/useClosableTabs.ts
@@ -10,7 +10,7 @@ export const useClosableTabs = ({
   tabsRef: React.MutableRefObject<HTMLDivElement>;
   tabsLength: number;
 }) => {
-  const itemsRef = React.useRef<NodeListOf<Element>>([]);
+  const itemsRef = React.useRef<NodeListOf<Element>>();
   React.useEffect(() => {
     // const removedItemIndex = Array.from(itemsRef.current).findIndex(
     //   (item) => !document.body.contains(item),
diff --git a/packages/core/src/components/Typography/utils.test.ts b/packages/core/src/components/Typography/utils.test.ts
index 7700c8405..c461a7dc3 100644
--- a/packages/core/src/components/Typography/utils.test.ts
+++ b/packages/core/src/components/Typography/utils.test.ts
@@ -1,7 +1,7 @@
 import { describe, test, expect } from 'vitest';
 import { getTypoVariantAndSizeFromFormat } from './utils';
 import { TTypoCategories, TTypographyFormat } from './declarations';
-import { TTypoSize } from 'src/declarations';
+import { TTypoSize } from '../../declarations';
 
 describe('Core', () => {
   describe('Components', () => {
diff --git a/packages/core/src/helpers/spacing/spacing.ts b/packages/core/src/helpers/spacing/spacing.ts
index 8f1656129..f5aab07e1 100644
--- a/packages/core/src/helpers/spacing/spacing.ts
+++ b/packages/core/src/helpers/spacing/spacing.ts
@@ -1,6 +1,6 @@
 import { DefaultTheme } from 'styled-components';
 
-import type { TGlobalSpacing } from 'src/declarations';
+import type { TGlobalSpacing } from '../../declarations';
 
 /**
  * Get the map with spacing prop alias values and prop css values (tokens)
diff --git a/packages/core/src/helpers/styles/mergeStyles.test.ts b/packages/core/src/helpers/styles/mergeStyles.test.ts
new file mode 100644
index 000000000..01c16af33
--- /dev/null
+++ b/packages/core/src/helpers/styles/mergeStyles.test.ts
@@ -0,0 +1,39 @@
+import { describe, test, expect } from 'vitest';
+import { css, CSSProp } from 'styled-components';
+
+import { mergeStyles } from './mergeStyles';
+
+describe('helpers', () => {
+  describe('styles', () => {
+    describe('mergeStyles', () => {
+      const cases: [string, CSSProp[], string[]][] = [
+        [
+          'styles components & react styles',
+          [
+            css`
+              color: red;
+              position: absolute;
+            `,
+            css`
+              background-color: white;
+              .classy {
+                font-weight: bold;
+              }
+            `,
+            {
+              borderColor: 'black',
+            },
+          ],
+          [
+            'color:red;position:absolute;',
+            'background-color:white;.classy{font-weight:bold;}',
+            'border-color: black;',
+          ],
+        ],
+      ];
+      test.each(cases)('%s', (_title, params, expected) => {
+        expect(Array.from(mergeStyles(...params))).toEqual(expected);
+      });
+    });
+  });
+});
diff --git a/packages/core/src/helpers/styles/mergeStyles.ts b/packages/core/src/helpers/styles/mergeStyles.ts
index 38366d45b..44d28c151 100644
--- a/packages/core/src/helpers/styles/mergeStyles.ts
+++ b/packages/core/src/helpers/styles/mergeStyles.ts
@@ -1,5 +1,5 @@
 import { css, CSSProp } from 'styled-components';
 
 export const mergeStyles = (...styles: CSSProp[]) => css`
-  ${styles.filter((x) => !!x)}
+  ${styles}
 `;
diff --git a/packages/core/src/hooks/index.ts b/packages/core/src/hooks/index.ts
index 61379daa3..d7797b172 100644
--- a/packages/core/src/hooks/index.ts
+++ b/packages/core/src/hooks/index.ts
@@ -1,5 +1,4 @@
 export * from './useAddPropsToChildren';
 export * from './useOnEventOutside';
 export * from './useStateFromProps';
-export * from './useWindowSize';
 export * from './useIsOverflow';
diff --git a/packages/core/src/hooks/useWindowSize.ts b/packages/core/src/hooks/useWindowSize.ts
deleted file mode 100644
index 756f3c55f..000000000
--- a/packages/core/src/hooks/useWindowSize.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import * as React from 'react';
-
-const throttle = (fn: (...args) => void, delay: number) => {
-  let timeout = undefined;
-
-  return (...args) => {
-    if (!timeout) {
-      timeout = setTimeout(() => {
-        fn(...args);
-        timeout = undefined;
-      }, delay);
-    }
-  };
-};
-
-export const useWindowSize = (delay = 0) => {
-  const [size, setSize] = React.useState([0, 0]);
-
-  // eslint-disable-next-line consistent-return
-  const handleResizeWithThrottle = React.useMemo(() => {
-    if (typeof window !== 'undefined') {
-      return throttle(
-        () => setSize([window.innerWidth, window.innerHeight]),
-        delay,
-      );
-    }
-  }, [delay]);
-
-  // eslint-disable-next-line consistent-return
-  React.useLayoutEffect(() => {
-    if (typeof window !== 'undefined') {
-      window.addEventListener('resize', handleResizeWithThrottle);
-      return () =>
-        window.removeEventListener('resize', handleResizeWithThrottle);
-    }
-  }, [handleResizeWithThrottle]);
-
-  return size;
-};
diff --git a/packages/core/tsconfig.build.json b/packages/core/tsconfig.build.json
deleted file mode 100644
index f36278d27..000000000
--- a/packages/core/tsconfig.build.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-  "extends": "../../tsconfig.json",
-  "compilerOptions": {
-    "composite": true,
-    "declaration": true,
-    "declarationMap": true,
-    "declarationDir": "./dist/types",
-    "emitDeclarationOnly": true,
-    "incremental": true,
-    "outDir": "./dist"
-  },
-  "include": ["src"],
-  "exclude": [
-    "src/**/*.test.*",
-    "src/**/*.stories.tsx",
-    "src/**/__stories__/**/*"
-  ]
-}
-
diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json
index caa12bb77..0fd53ea37 100644
--- a/packages/core/tsconfig.json
+++ b/packages/core/tsconfig.json
@@ -1,11 +1,6 @@
 {
-  "extends": "../../tsconfig.json",
+  "extends": "../../common/tsconfig",
   "compilerOptions": {
-    "baseUrl": ".",
-    "declaration": true,
-    "declarationMap": true,
-    "outDir": "./dist",
-    "noErrorTruncation": true,
     "paths": {
       "@test": [
         "../../test/test-utils.tsx"
@@ -14,7 +9,6 @@
   },
   "include": [
     "src",
-    "stories",
-    "vite.config.ts"
+    "stories"
   ]
 }
diff --git a/packages/core/tsup.config.ts b/packages/core/tsup.config.ts
new file mode 100644
index 000000000..2fae0e14c
--- /dev/null
+++ b/packages/core/tsup.config.ts
@@ -0,0 +1,8 @@
+import { defineConfig } from 'tsup';
+
+import { tsupConfig } from '../../common/tsup.config';
+
+export default defineConfig({
+  ...tsupConfig,
+  entry: ['src/index.ts'],
+});
diff --git a/packages/core/vite.config.ts b/packages/core/vite.config.ts
deleted file mode 100644
index e31490596..000000000
--- a/packages/core/vite.config.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-/// <reference types="vitest" />
-import { resolve } from 'path';
-import { defineConfig } from 'vite';
-import react from '@vitejs/plugin-react';
-import tsconfigPaths from 'vite-tsconfig-paths';
-import dts from 'vite-plugin-dts';
-
-export default defineConfig({
-  build: {
-    sourcemap: true,
-    lib: {
-      entry: resolve(__dirname, 'src/index.ts'),
-      name: 'index',
-      fileName: 'index',
-      formats: ['es', 'cjs'],
-    },
-    rollupOptions: {
-      external: [
-        'react',
-        'react-dom',
-        'react-dom/server',
-        'react/jsx-runtime',
-        'react-window',
-        'react-select',
-        'react-select/creatable',
-        '@dnd-kit/core',
-        '@dnd-kit/utilities',
-        '@dnd-kit/sortable',
-        'react-grid-system',
-        'react-popper',
-        '@popperjs/core',
-        '@devoinc/genesys-brand-devo',
-        '@devoinc/genesys-icons',
-        'react-dock',
-        'styled-components',
-        'react-toastify',
-        'react-windowed-select',
-        'polished',
-        'ahooks',
-      ],
-    },
-  },
-  plugins: [
-    tsconfigPaths(),
-    react({
-      babel: {
-        plugins: [
-          [
-            'babel-plugin-styled-components',
-            {
-              ssr: false,
-              pure: true,
-              displayName: true,
-              fileName: false,
-            },
-          ],
-        ],
-      },
-    }),
-    dts({
-      entryRoot: './src/',
-      exclude: ['./src/**/*.test.ts?(x)', './src/**/*.stories.tsx'],
-    }),
-  ],
-  test: {
-    environment: 'happy-dom',
-    include: ['{src,stories}/**/*.test.ts?(x)'],
-    coverage: {
-      provider: 'v8',
-      include: ['{src,stories}/**/*'],
-    },
-  },
-});
diff --git a/packages/core/vitest.config.ts b/packages/core/vitest.config.ts
new file mode 100644
index 000000000..49cded315
--- /dev/null
+++ b/packages/core/vitest.config.ts
@@ -0,0 +1,13 @@
+import { defineConfig } from 'vitest/config';
+import { resolve } from 'node:path';
+
+import { vitestConfig } from '../../common/vitest.config';
+
+export default defineConfig({
+  ...vitestConfig,
+  resolve: {
+    alias: {
+      '@test': resolve(__dirname, '../../test/test-utils.tsx'),
+    },
+  },
+});
diff --git a/packages/datetime/LICENSE b/packages/datetime/LICENSE
new file mode 100644
index 000000000..267ad2d71
--- /dev/null
+++ b/packages/datetime/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2022 Devo, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/datetime/package.json b/packages/datetime/package.json
index ea68c5732..47652dba3 100644
--- a/packages/datetime/package.json
+++ b/packages/datetime/package.json
@@ -4,14 +4,9 @@
   "description": "",
   "type": "module",
   "scripts": {
-    "compile": "tsc --project tsconfig.json",
-    "compile:watch": "npm run compile -- --watch",
     "test": "vitest",
-    "build": "vite build",
-    "build:watch": "vite build --watch",
+    "build": "tsup",
     "depcruise": "sh ../../depcruise.sh \"$npm_package_name\"",
-    "analyzer": "vite-bundle-visualizer -o 'dist/stats.html'",
-    "stryker": "npx stryker run",
     "dpdm": "dpdm --exit-code circular:1 ./src/index.ts"
   },
   "main": "./dist/index.cjs",
diff --git a/packages/datetime/src/components/DateTimeFloatingPicker/DateTimeFloatingPicker.tsx b/packages/datetime/src/components/DateTimeFloatingPicker/DateTimeFloatingPicker.tsx
index aae6f6ff6..e7bd29daf 100644
--- a/packages/datetime/src/components/DateTimeFloatingPicker/DateTimeFloatingPicker.tsx
+++ b/packages/datetime/src/components/DateTimeFloatingPicker/DateTimeFloatingPicker.tsx
@@ -200,7 +200,7 @@ export const DateTimeFloatingPicker: React.FC<DateTimeFloatingPickerProps> = ({
                     updateValue(tmpValue);
                     onChange(tmpValue);
                     setOpened(false);
-                    onApply();
+                    onApply(tmpValue);
                   }}
                 >
                   {i18n.apply}
diff --git a/packages/datetime/src/components/DateTimeRangeFloatingPicker/DateTimeRangeFloatingPicker.tsx b/packages/datetime/src/components/DateTimeRangeFloatingPicker/DateTimeRangeFloatingPicker.tsx
index 93a610d50..1e9a717c7 100644
--- a/packages/datetime/src/components/DateTimeRangeFloatingPicker/DateTimeRangeFloatingPicker.tsx
+++ b/packages/datetime/src/components/DateTimeRangeFloatingPicker/DateTimeRangeFloatingPicker.tsx
@@ -47,8 +47,6 @@ export interface DateTimeRangeFloatingPickerProps
       | 'size'
       | 'status'
       | 'helper'
-      | 'wide'
-      | 'helper'
     >,
     ITime,
     Required<Pick<IGlobalAttrs, 'id'>>,
@@ -179,7 +177,11 @@ export const DateTimeRangeFloatingPicker: React.FC<
                 id={id ? `${id}-datetime-range` : null}
                 onChange={setTmpValue}
                 onChangePreset={onChangePreset}
-                value={tmpValue}
+                value={
+                  typeof tmpValue[0] === 'string'
+                    ? null
+                    : (tmpValue as (number | Date)[])
+                }
                 preset={preset}
                 presets={presets}
                 presetsPlaceholder={presetsPlaceholder}
diff --git a/packages/datetime/tsconfig.build.json b/packages/datetime/tsconfig.build.json
deleted file mode 100644
index 5147ae855..000000000
--- a/packages/datetime/tsconfig.build.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-  "extends": "../../tsconfig.json",
-  "compilerOptions": {
-    "composite": true,
-    "declaration": true,
-    "declarationMap": true,
-    "declarationDir": "./dist/types",
-    "emitDeclarationOnly": true,
-    "incremental": true,
-    "outDir": "./dist"
-  },
-  "include": ["src"],
-  "exclude": [
-    "src/**/*.test.*",
-    "src/**/*.stories.tsx",
-    "src/**/__stories__/*"
-  ],
-  "references": [
-    {
-      "path": "../core/tsconfig.build.json"
-    }
-  ]
-}
-
diff --git a/packages/datetime/tsconfig.json b/packages/datetime/tsconfig.json
index f99ab092c..0fd53ea37 100644
--- a/packages/datetime/tsconfig.json
+++ b/packages/datetime/tsconfig.json
@@ -1,11 +1,6 @@
 {
-  "extends": "../../tsconfig.json",
+  "extends": "../../common/tsconfig",
   "compilerOptions": {
-    "baseUrl": ".",
-    "declaration": true,
-    "declarationMap": true,
-    "outDir": "./dist",
-    "noErrorTruncation": true,
     "paths": {
       "@test": [
         "../../test/test-utils.tsx"
@@ -14,7 +9,6 @@
   },
   "include": [
     "src",
-    "stories",
-    "vite.config.ts"
-  ],
+    "stories"
+  ]
 }
diff --git a/packages/datetime/tsup.config.ts b/packages/datetime/tsup.config.ts
new file mode 100644
index 000000000..2fae0e14c
--- /dev/null
+++ b/packages/datetime/tsup.config.ts
@@ -0,0 +1,8 @@
+import { defineConfig } from 'tsup';
+
+import { tsupConfig } from '../../common/tsup.config';
+
+export default defineConfig({
+  ...tsupConfig,
+  entry: ['src/index.ts'],
+});
diff --git a/packages/datetime/vite.config.ts b/packages/datetime/vite.config.ts
deleted file mode 100644
index aad42ad8f..000000000
--- a/packages/datetime/vite.config.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-/// <reference types="vitest" />
-import { resolve } from 'path';
-import { defineConfig } from 'vite';
-import react from '@vitejs/plugin-react';
-import tsconfigPaths from 'vite-tsconfig-paths';
-import dts from 'vite-plugin-dts';
-
-export default defineConfig({
-  resolve: {
-    preserveSymlinks: true,
-  },
-  build: {
-    sourcemap: true,
-    lib: {
-      entry: resolve(__dirname, 'src/index.ts'),
-      name: 'index',
-      fileName: 'index',
-      formats: ['es', 'cjs'],
-    },
-    rollupOptions: {
-      external: [
-        '@devoinc/genesys-ui',
-        'react',
-        'react-dom',
-        'react/jsx-runtime',
-        'react-popper',
-        'date-fns',
-        '@devoinc/genesys-icons',
-        'styled-components',
-      ],
-    },
-  },
-  plugins: [
-    tsconfigPaths(),
-    react({
-      babel: {
-        plugins: [
-          [
-            'babel-plugin-styled-components',
-            {
-              ssr: false,
-              pure: true,
-              displayName: true,
-              fileName: false,
-            },
-          ],
-        ],
-      },
-    }),
-    dts({
-      entryRoot: './src/',
-      exclude: ['./src/**/*.test.ts?(x)', './src/**/*.stories.tsx'],
-    }),
-  ],
-  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/datetime/vitest.config.ts b/packages/datetime/vitest.config.ts
new file mode 100644
index 000000000..49cded315
--- /dev/null
+++ b/packages/datetime/vitest.config.ts
@@ -0,0 +1,13 @@
+import { defineConfig } from 'vitest/config';
+import { resolve } from 'node:path';
+
+import { vitestConfig } from '../../common/vitest.config';
+
+export default defineConfig({
+  ...vitestConfig,
+  resolve: {
+    alias: {
+      '@test': resolve(__dirname, '../../test/test-utils.tsx'),
+    },
+  },
+});
diff --git a/packages/table/package.json b/packages/table/package.json
index 5fd5c8640..c436bd779 100644
--- a/packages/table/package.json
+++ b/packages/table/package.json
@@ -4,14 +4,9 @@
   "description": "Genesys composable table",
   "type": "module",
   "scripts": {
-    "compile": "tsc --project tsconfig.json",
-    "compile:watch": "npm run compile -- --watch",
     "test": "vitest",
-    "build": "vite build",
-    "build:watch": "vite build --watch",
+    "build": "tsup",
     "depcruise": "sh ../../depcruise.sh \"$npm_package_name\"",
-    "analyzer": "vite-bundle-visualizer -o 'dist/stats.html'",
-    "stryker": "npx stryker run",
     "dpdm": "dpdm --exit-code circular:1 ./src/index.ts"
   },
   "main": "./dist/index.cjs",
diff --git a/packages/table/src/filters/common/AdvancedFilter.tsx b/packages/table/src/filters/common/AdvancedFilter.tsx
deleted file mode 100644
index 3bff0c232..000000000
--- a/packages/table/src/filters/common/AdvancedFilter.tsx
+++ /dev/null
@@ -1,53 +0,0 @@
-import * as React from 'react';
-
-import {
-  Form,
-  HFlex,
-  IconButton,
-  Panel,
-  Popover,
-  type PopoverProps,
-} from '@devoinc/genesys-ui';
-import { GIFilter } from '@devoinc/genesys-icons';
-
-interface AdvancedFilterProps {
-  children: React.ReactNode;
-  footer?: React.ReactNode;
-  header?: React.ReactNode;
-  id: PopoverProps['id'];
-}
-
-export const AdvancedFilter: React.FC<AdvancedFilterProps> = ({
-  children,
-  footer,
-  header,
-  id,
-}) => {
-  return (
-    <HFlex.Item flex="0 0 auto">
-      <Popover id={id} placement="bottom-start">
-        {({ toggle, ref, isOpened }) => (
-          <IconButton
-            aria-controls={id}
-            aria-expanded={isOpened}
-            aria-haspopup="true"
-            icon={<GIFilter />}
-            onClick={toggle}
-            ref={ref}
-            state={isOpened ? 'expanded' : undefined}
-            size="sm"
-            colorScheme="quiet"
-            hasBadge={true}
-          />
-        )}
-        <Panel maxHeight="34rem" elevation="activated" size="sm" width="28rem">
-          <Panel.Header>{header}</Panel.Header>
-          <Panel.Body>
-            <Form padding="cmp-sm">{children}</Form>
-          </Panel.Body>
-          <Panel.Footer bordered>{footer}</Panel.Footer>
-        </Panel>
-      </Popover>
-    </HFlex.Item>
-  );
-};
diff --git a/packages/table/src/filters/common/index.ts b/packages/table/src/filters/common/index.ts
index bb0f37226..dc934f730 100644
--- a/packages/table/src/filters/common/index.ts
+++ b/packages/table/src/filters/common/index.ts
@@ -1,4 +1,3 @@
-export * from './AdvancedFilter';
 export * from './BasicFilter';
 export * from './FilterContainer';
 export * from './FilterRule';
diff --git a/packages/table/src/helpers/definitions/data/findDataById.ts b/packages/table/src/helpers/definitions/data/findDataById.ts
index 4c2128037..b7e3373fa 100644
--- a/packages/table/src/helpers/definitions/data/findDataById.ts
+++ b/packages/table/src/helpers/definitions/data/findDataById.ts
@@ -1,4 +1,5 @@
-import { TData } from "packages/table/src/declarations";
+import { TData } from '../../../declarations';
 
 export const findDataById = (data: TData, id: string) =>
-  data?.find((d) => d.id === id);
\ No newline at end of file
+  data?.find((d) => d.id === id);
+
diff --git a/packages/table/src/helpers/definitions/row/deletePresetRowDef.ts b/packages/table/src/helpers/definitions/row/deletePresetRowDef.ts
index 5cb5e12e5..fe5015704 100644
--- a/packages/table/src/helpers/definitions/row/deletePresetRowDef.ts
+++ b/packages/table/src/helpers/definitions/row/deletePresetRowDef.ts
@@ -1,4 +1,4 @@
-import { TRowDef } from 'packages/table/src/declarations';
+import { TRowDef } from '../../../declarations';
 
 export const deletePresetRowDefs = (rowDefs: TRowDef[], id: string) => {
   return rowDefs?.map((row) => {
diff --git a/packages/table/src/helpers/filterDataByText.ts b/packages/table/src/helpers/filterDataByText.ts
index bb18628a7..8fe827e3a 100644
--- a/packages/table/src/helpers/filterDataByText.ts
+++ b/packages/table/src/helpers/filterDataByText.ts
@@ -31,14 +31,16 @@ export const valueFilter = (
 
   if (
     type === 'number' &&
-    numberTextFilter(value, { value: searchText } as TNumberFilterValue)
+    numberTextFilter(Number(value), { value: searchText } as TNumberFilterValue)
   ) {
     return true;
   }
 
   if (
     type === 'boolean' &&
-    booleanTextFilter(value, { value: searchText } as TBooleanFilterValue)
+    booleanTextFilter(Boolean(value), {
+      value: searchText,
+    } as TBooleanFilterValue)
   ) {
     return true;
   }
@@ -46,7 +48,7 @@ export const valueFilter = (
   if (
     type === 'options' &&
     optionsTextFilter(
-      value,
+      String(value),
       { value: searchText } as TOptionsFilterValue,
       colDef,
     )
diff --git a/packages/table/src/helpers/filters/optionsTextFilter.ts b/packages/table/src/helpers/filters/optionsTextFilter.ts
index cbf973b0f..52e8c917e 100644
--- a/packages/table/src/helpers/filters/optionsTextFilter.ts
+++ b/packages/table/src/helpers/filters/optionsTextFilter.ts
@@ -1,12 +1,16 @@
 import type { TOptionsFilterValue } from '../../filters';
 
-export const optionsTextFilter = (data: string, { value }: TOptionsFilterValue, colDef: TColDef) =>
+export const optionsTextFilter = (
+  data: string,
+  { value }: TOptionsFilterValue,
+  colDef: TColDef,
+) =>
   value === ''
     ? true
     : String(data).toLowerCase().includes(String(value).toLowerCase())
       ? true
-      : (data && colDef?.context?.options[data])
-        ? colDef.context.options[data].label.toLowerCase()
-          .includes(value.toLowerCase())
+      : data && colDef?.context?.options[data]
+        ? colDef.context.options[data].label
+            .toLowerCase()
+            .includes(value.toLowerCase())
         : false;
-
diff --git a/packages/table/src/wrapper/CellExpandWrapper/AllTypesColumn.tsx b/packages/table/src/wrapper/CellExpandWrapper/AllTypesColumn.tsx
index c9573a90d..a6335aef5 100644
--- a/packages/table/src/wrapper/CellExpandWrapper/AllTypesColumn.tsx
+++ b/packages/table/src/wrapper/CellExpandWrapper/AllTypesColumn.tsx
@@ -1,6 +1,6 @@
 import * as React from 'react';
 import { TColDef } from '../../../src';
-import { ROW_HEIGHT_MD } from '../../../src/constants';
+import { ROW_HEIGHT_MD } from '../../constants';
 
 export const AllTypesColumn: TColDef[] = [
   {
diff --git a/packages/table/tsconfig.build.json b/packages/table/tsconfig.build.json
deleted file mode 100644
index 5147ae855..000000000
--- a/packages/table/tsconfig.build.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-  "extends": "../../tsconfig.json",
-  "compilerOptions": {
-    "composite": true,
-    "declaration": true,
-    "declarationMap": true,
-    "declarationDir": "./dist/types",
-    "emitDeclarationOnly": true,
-    "incremental": true,
-    "outDir": "./dist"
-  },
-  "include": ["src"],
-  "exclude": [
-    "src/**/*.test.*",
-    "src/**/*.stories.tsx",
-    "src/**/__stories__/*"
-  ],
-  "references": [
-    {
-      "path": "../core/tsconfig.build.json"
-    }
-  ]
-}
-
diff --git a/packages/table/tsconfig.json b/packages/table/tsconfig.json
index 6d8585cd2..0fd53ea37 100644
--- a/packages/table/tsconfig.json
+++ b/packages/table/tsconfig.json
@@ -1,13 +1,14 @@
 {
-  "extends": "../../tsconfig.json",
+  "extends": "../../common/tsconfig",
   "compilerOptions": {
-    "declaration": true,
-    "declarationMap": true,
-    "outDir": "./dist"
+    "paths": {
+      "@test": [
+        "../../test/test-utils.tsx"
+      ]
+    }
   },
   "include": [
     "src",
-    "stories",
-    "vite.config.ts"
-  ],
+    "stories"
+  ]
 }
diff --git a/packages/table/tsup.config.ts b/packages/table/tsup.config.ts
new file mode 100644
index 000000000..4ed5eda05
--- /dev/null
+++ b/packages/table/tsup.config.ts
@@ -0,0 +1,9 @@
+import { defineConfig } from 'tsup';
+
+import { tsupConfig } from '../../common/tsup.config';
+
+export default defineConfig({
+  ...tsupConfig,
+  entry: ['src/index.ts'],
+  dts: false,
+});
diff --git a/packages/table/vite.config.ts b/packages/table/vite.config.ts
deleted file mode 100644
index ee5a80153..000000000
--- a/packages/table/vite.config.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-/// <reference types="vitest" />
-import { resolve } from 'path';
-import { defineConfig } from 'vite';
-import react from '@vitejs/plugin-react';
-import tsconfigPaths from 'vite-tsconfig-paths';
-import dts from 'vite-plugin-dts';
-
-export default defineConfig({
-  resolve: {
-    preserveSymlinks: true,
-  },
-  build: {
-    sourcemap: true,
-    lib: {
-      entry: resolve(__dirname, 'src/index.ts'),
-      name: 'index',
-      fileName: 'index',
-      formats: ['es', 'cjs'],
-    },
-    rollupOptions: {
-      external: [
-        '@devoinc/genesys-ui',
-        '@devoinc/genesys-ui-datetime',
-        '@devoinc/genesys-icons',
-        '@tanstack/react-virtual',
-        'react',
-        'react-dom',
-        'react/jsx-runtime',
-        'styled-components',
-        'date-fns',
-        '@date-fns/tz',
-        'date-fns/locale',
-      ],
-    },
-  },
-  plugins: [
-    tsconfigPaths(),
-    react({
-      babel: {
-        plugins: [
-          [
-            'babel-plugin-styled-components',
-            {
-              ssr: false,
-              pure: true,
-              displayName: true,
-              fileName: false,
-            },
-          ],
-        ],
-      },
-    }),
-    dts({
-      entryRoot: './src/',
-      exclude: ['./src/**/*.test.ts?(x)', './src/**/*.stories.tsx'],
-    }),
-  ],
-  test: {
-    environment: 'happy-dom',
-    include: ['{src,stories}/**/*.test.ts?(x)'],
-    coverage: {
-      provider: 'v8',
-      include: ['{src,stories}/**/*'],
-    },
-    server: {
-      deps: {
-        inline: [
-          /\/@devoinc\/genesys-ui\//,
-          /\/@devoinc\/genesys-ui-datetime\//,
-        ],
-      },
-    },
-  },
-});
diff --git a/packages/table/vitest.config.ts b/packages/table/vitest.config.ts
new file mode 100644
index 000000000..49cded315
--- /dev/null
+++ b/packages/table/vitest.config.ts
@@ -0,0 +1,13 @@
+import { defineConfig } from 'vitest/config';
+import { resolve } from 'node:path';
+
+import { vitestConfig } from '../../common/vitest.config';
+
+export default defineConfig({
+  ...vitestConfig,
+  resolve: {
+    alias: {
+      '@test': resolve(__dirname, '../../test/test-utils.tsx'),
+    },
+  },
+});
diff --git a/packages/upload/package.json b/packages/upload/package.json
index 30bc17b72..84e7ae91b 100644
--- a/packages/upload/package.json
+++ b/packages/upload/package.json
@@ -4,13 +4,8 @@
   "description": "",
   "type": "module",
   "scripts": {
-    "compile": "tsc --project tsconfig.json",
-    "compile:watch": "npm run compile -- --watch",
-    "build": "vite build",
-    "build:watch": "vite build --watch",
+    "build": "tsup",
     "depcruise": "sh ../../depcruise.sh \"$npm_package_name\"",
-    "analyzer": "vite-bundle-visualizer -o 'dist/stats.html'",
-    "stryker": "npx stryker run",
     "dpdm": "dpdm --exit-code circular:1 ./src/index.ts"
   },
   "main": "./dist/index.cjs",
diff --git a/packages/upload/tsconfig.build.json b/packages/upload/tsconfig.build.json
deleted file mode 100644
index 5147ae855..000000000
--- a/packages/upload/tsconfig.build.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-  "extends": "../../tsconfig.json",
-  "compilerOptions": {
-    "composite": true,
-    "declaration": true,
-    "declarationMap": true,
-    "declarationDir": "./dist/types",
-    "emitDeclarationOnly": true,
-    "incremental": true,
-    "outDir": "./dist"
-  },
-  "include": ["src"],
-  "exclude": [
-    "src/**/*.test.*",
-    "src/**/*.stories.tsx",
-    "src/**/__stories__/*"
-  ],
-  "references": [
-    {
-      "path": "../core/tsconfig.build.json"
-    }
-  ]
-}
-
diff --git a/packages/upload/tsconfig.json b/packages/upload/tsconfig.json
index 6d8585cd2..0fd53ea37 100644
--- a/packages/upload/tsconfig.json
+++ b/packages/upload/tsconfig.json
@@ -1,13 +1,14 @@
 {
-  "extends": "../../tsconfig.json",
+  "extends": "../../common/tsconfig",
   "compilerOptions": {
-    "declaration": true,
-    "declarationMap": true,
-    "outDir": "./dist"
+    "paths": {
+      "@test": [
+        "../../test/test-utils.tsx"
+      ]
+    }
   },
   "include": [
     "src",
-    "stories",
-    "vite.config.ts"
-  ],
+    "stories"
+  ]
 }
diff --git a/packages/upload/tsup.config.ts b/packages/upload/tsup.config.ts
new file mode 100644
index 000000000..2fae0e14c
--- /dev/null
+++ b/packages/upload/tsup.config.ts
@@ -0,0 +1,8 @@
+import { defineConfig } from 'tsup';
+
+import { tsupConfig } from '../../common/tsup.config';
+
+export default defineConfig({
+  ...tsupConfig,
+  entry: ['src/index.ts'],
+});
diff --git a/packages/upload/vite.config.ts b/packages/upload/vite.config.ts
deleted file mode 100644
index 019970182..000000000
--- a/packages/upload/vite.config.ts
+++ /dev/null
@@ -1,69 +0,0 @@
-/// <reference types="vitest" />
-import { resolve } from 'path';
-import { defineConfig } from 'vite';
-import react from '@vitejs/plugin-react';
-import tsconfigPaths from 'vite-tsconfig-paths';
-import dts from 'vite-plugin-dts';
-
-export default defineConfig({
-  resolve: {
-    preserveSymlinks: true,
-  },
-  build: {
-    sourcemap: true,
-    lib: {
-      entry: resolve(__dirname, 'src/index.ts'),
-      name: 'index',
-      fileName: 'index',
-      formats: ['es', 'cjs'],
-    },
-    rollupOptions: {
-      external: [
-        '@devoinc/genesys-ui',
-        'react',
-        'react-dom',
-        'react/jsx-runtime',
-        'styled-components',
-        'react-filepond',
-        'filepond-plugin-image-preview',
-        'filepond-plugin-file-validate-type',
-        'filepond-plugin-file-validate-size',
-      ],
-    },
-  },
-  plugins: [
-    tsconfigPaths(),
-    react({
-      babel: {
-        plugins: [
-          [
-            'babel-plugin-styled-components',
-            {
-              ssr: false,
-              pure: true,
-              displayName: true,
-              fileName: false,
-            },
-          ],
-        ],
-      },
-    }),
-    dts({
-      entryRoot: './src/',
-      exclude: ['./src/**/*.test.ts?(x)', './src/**/*.stories.tsx'],
-    }),
-  ],
-  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/upload/vitest.config.ts b/packages/upload/vitest.config.ts
new file mode 100644
index 000000000..49cded315
--- /dev/null
+++ b/packages/upload/vitest.config.ts
@@ -0,0 +1,13 @@
+import { defineConfig } from 'vitest/config';
+import { resolve } from 'node:path';
+
+import { vitestConfig } from '../../common/vitest.config';
+
+export default defineConfig({
+  ...vitestConfig,
+  resolve: {
+    alias: {
+      '@test': resolve(__dirname, '../../test/test-utils.tsx'),
+    },
+  },
+});
diff --git a/scripts/post_install.sh b/scripts/post_install.sh
deleted file mode 100755
index 6675ce2bf..000000000
--- a/scripts/post_install.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-
-echo 'Applying fix to Styled-Components types...'
-
-os=$(uname -s)
-
-case $os in
-Darwin)
-	sed -i '' 's/^interface IStyledComponentBase/export interface IStyledComponentBase/g' node_modules/styled-components/dist/types.d.ts
-	;;
-Linux)
-	sed -i 's/^interface IStyledComponentBase/export interface IStyledComponentBase/g' node_modules/styled-components/dist/types.d.ts
-	;;
-esac
diff --git a/vite.config.ts b/vite.config.ts
deleted file mode 100644
index f9c745d4b..000000000
--- a/vite.config.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { defineConfig } from 'vite';
-// Used from @storybook/react-vite dependencies
-import react from '@vitejs/plugin-react';
-
-/** @type {import('vite').UserConfig} */
-export default defineConfig(({ command }) => ({
-  plugins: [
-    react({
-      babel: {
-        plugins: [
-          [
-            'babel-plugin-styled-components',
-            {
-              ssr: false,
-              pure: true,
-              displayName: command !== 'build',
-              fileName: command !== 'build',
-            },
-          ],
-        ],
-      },
-    }),
-  ],
-}));