diff --git a/package.json b/package.json
index 84383f90750..ede05332b2d 100644
--- a/package.json
+++ b/package.json
@@ -52,6 +52,7 @@
"packages/twenty-server",
"packages/twenty-emails",
"packages/twenty-ui",
+ "packages/twenty-new-ui",
"packages/twenty-utils",
"packages/twenty-zapier",
"packages/twenty-website",
diff --git a/packages/twenty-new-ui/.oxlintrc.json b/packages/twenty-new-ui/.oxlintrc.json
new file mode 100644
index 00000000000..4fc53020dc6
--- /dev/null
+++ b/packages/twenty-new-ui/.oxlintrc.json
@@ -0,0 +1,77 @@
+{
+ "$schema": "./node_modules/oxlint/configuration_schema.json",
+ "plugins": ["react", "typescript", "import", "unicorn"],
+ "jsPlugins": ["../twenty-oxlint-rules/dist/oxlint-plugin.mjs"],
+ "categories": {
+ "correctness": "off"
+ },
+ "ignorePatterns": ["node_modules", "generated", "**/*.module.scss.d.ts"],
+ "rules": {
+ "func-style": ["error", "declaration", { "allowArrowFunctions": true }],
+ "no-console": [
+ "warn",
+ { "allow": ["group", "groupCollapsed", "groupEnd"] }
+ ],
+ "no-control-regex": "off",
+ "no-debugger": "error",
+ "no-duplicate-imports": "error",
+ "no-undef": "off",
+ "no-unused-vars": "off",
+ "no-redeclare": "off",
+
+ "import/no-duplicates": "error",
+
+ "react/no-unescaped-entities": "off",
+ "react/prop-types": "off",
+ "react/jsx-key": "off",
+ "react/display-name": "off",
+ "react/jsx-uses-react": "off",
+ "react/react-in-jsx-scope": "off",
+ "react/jsx-no-useless-fragment": "off",
+ "react/jsx-props-no-spreading": ["error", { "explicitSpread": "ignore" }],
+
+ "react-hooks/rules-of-hooks": "error",
+ "react-hooks/exhaustive-deps": "warn",
+
+ "typescript/no-redeclare": "error",
+ "typescript/ban-ts-comment": "error",
+ "typescript/consistent-type-imports": [
+ "error",
+ {
+ "prefer": "type-imports",
+ "fixStyle": "inline-type-imports"
+ }
+ ],
+ "typescript/explicit-function-return-type": "off",
+ "typescript/explicit-module-boundary-types": "off",
+ "typescript/no-empty-object-type": [
+ "error",
+ {
+ "allowInterfaces": "with-single-extends"
+ }
+ ],
+ "typescript/no-empty-function": "off",
+ "typescript/no-explicit-any": "off",
+ "typescript/no-unused-vars": [
+ "warn",
+ {
+ "vars": "all",
+ "varsIgnorePattern": "^_",
+ "args": "after-used",
+ "argsIgnorePattern": "^_"
+ }
+ ],
+
+ "twenty/enforce-module-boundaries": [
+ "error",
+ {
+ "depConstraints": [
+ {
+ "sourceTag": "scope:shared",
+ "onlyDependOnLibsWithTags": ["scope:shared"]
+ }
+ ]
+ }
+ ]
+ }
+}
diff --git a/packages/twenty-new-ui/.prettierignore b/packages/twenty-new-ui/.prettierignore
new file mode 100644
index 00000000000..6ee35b180ea
--- /dev/null
+++ b/packages/twenty-new-ui/.prettierignore
@@ -0,0 +1,6 @@
+dist
+storybook-static
+coverage
+
+# Generated by vite-plugin-sass-dts (committed; regenerated in dev mode).
+*.module.scss.d.ts
diff --git a/packages/twenty-new-ui/.size-limit.json b/packages/twenty-new-ui/.size-limit.json
new file mode 100644
index 00000000000..982175df273
--- /dev/null
+++ b/packages/twenty-new-ui/.size-limit.json
@@ -0,0 +1,78 @@
+[
+ {
+ "name": ". (root barrel)",
+ "path": "dist/index.mjs",
+ "limit": "60 kB",
+ "import": "*"
+ },
+ {
+ "name": "accessibility",
+ "path": "dist/accessibility.mjs",
+ "limit": "10 kB"
+ },
+ {
+ "name": "assets",
+ "path": "dist/assets.mjs",
+ "limit": "10 kB"
+ },
+ {
+ "name": "testing",
+ "path": "dist/testing.mjs",
+ "limit": "10 kB"
+ },
+ {
+ "name": "components",
+ "path": "dist/components.mjs",
+ "limit": "40 kB"
+ },
+ {
+ "name": "display",
+ "path": "dist/display.mjs",
+ "limit": "30 kB"
+ },
+ {
+ "name": "feedback",
+ "path": "dist/feedback.mjs",
+ "limit": "20 kB"
+ },
+ {
+ "name": "input",
+ "path": "dist/input.mjs",
+ "limit": "50 kB"
+ },
+ {
+ "name": "layout",
+ "path": "dist/layout.mjs",
+ "limit": "20 kB"
+ },
+ {
+ "name": "navigation",
+ "path": "dist/navigation.mjs",
+ "limit": "20 kB"
+ },
+ {
+ "name": "json-visualizer",
+ "path": "dist/json-visualizer.mjs",
+ "limit": "30 kB"
+ },
+ {
+ "name": "theme",
+ "path": "dist/theme.mjs",
+ "limit": "55 kB"
+ },
+ {
+ "name": "theme-constants",
+ "path": "dist/theme-constants.mjs",
+ "limit": "20 kB"
+ },
+ {
+ "name": "utilities",
+ "path": "dist/utilities.mjs",
+ "limit": "10 kB"
+ },
+ {
+ "name": "style.css",
+ "path": "dist/style.css",
+ "limit": "40 kB"
+ }
+]
diff --git a/packages/twenty-new-ui/.storybook/main.ts b/packages/twenty-new-ui/.storybook/main.ts
new file mode 100644
index 00000000000..e79c72ab860
--- /dev/null
+++ b/packages/twenty-new-ui/.storybook/main.ts
@@ -0,0 +1,58 @@
+import type { StorybookConfig } from '@storybook/react-vite';
+import path from 'node:path';
+import { fileURLToPath } from 'node:url';
+import checker from 'vite-plugin-checker';
+
+const dirname =
+ typeof __dirname !== 'undefined'
+ ? __dirname
+ : path.dirname(fileURLToPath(import.meta.url));
+
+const isVitest = Boolean(process.env.VITEST);
+
+const config: StorybookConfig = {
+ stories: ['../src/**/*.@(mdx|stories.@(js|jsx|ts|tsx))'],
+
+ addons: [
+ '@storybook-community/storybook-addon-cookie',
+ '@storybook/addon-links',
+ '@storybook/addon-coverage',
+ '@storybook/addon-a11y',
+ 'storybook-addon-pseudo-states',
+ '@storybook/addon-vitest',
+ ],
+
+ framework: '@storybook/react-vite',
+
+ viteFinal: async (viteConfig) => {
+ const plugins = [...(viteConfig.plugins ?? [])];
+
+ if (!isVitest) {
+ plugins.push(
+ checker({
+ typescript: {
+ tsconfigPath: path.resolve(dirname, '../tsconfig.json'),
+ },
+ }),
+ );
+ }
+
+ return {
+ ...viteConfig,
+ plugins,
+ resolve: {
+ ...viteConfig.resolve,
+ alias: {
+ ...(viteConfig.resolve?.alias ?? {}),
+ '@tabler/icons-react': '@tabler/icons-react/dist/esm/icons/index.mjs',
+ },
+ },
+ };
+ },
+};
+
+export default config;
+
+// To customize your Vite configuration you can use the viteFinal field.
+// Check https://storybook.js.org/docs/react/builders/vite#configuration
+// and https://nx.dev/recipes/storybook/custom-builder-configs
diff --git a/packages/twenty-new-ui/.storybook/preview-head.html b/packages/twenty-new-ui/.storybook/preview-head.html
new file mode 100644
index 00000000000..534a4fb9bee
--- /dev/null
+++ b/packages/twenty-new-ui/.storybook/preview-head.html
@@ -0,0 +1,34 @@
+
+
+
+
+
diff --git a/packages/twenty-new-ui/.storybook/preview.tsx b/packages/twenty-new-ui/.storybook/preview.tsx
new file mode 100644
index 00000000000..05f01e57378
--- /dev/null
+++ b/packages/twenty-new-ui/.storybook/preview.tsx
@@ -0,0 +1,24 @@
+import { type Preview } from '@storybook/react-vite';
+import '@new-ui/theme-constants/theme-light.css';
+import '@new-ui/theme-constants/theme-dark.css';
+import { ThemeProvider } from '@new-ui/theme-constants';
+
+const preview: Preview = {
+ tags: ['autodocs'],
+ parameters: {
+ a11y: {
+ test: 'error',
+ },
+ },
+ decorators: [
+ (Story) => {
+ return (
+
+
+
+ );
+ },
+ ],
+};
+
+export default preview;
diff --git a/packages/twenty-new-ui/.storybook/vitest.setup.ts b/packages/twenty-new-ui/.storybook/vitest.setup.ts
new file mode 100644
index 00000000000..8b25f1ffbb4
--- /dev/null
+++ b/packages/twenty-new-ui/.storybook/vitest.setup.ts
@@ -0,0 +1,5 @@
+import { setProjectAnnotations } from '@storybook/react-vite';
+import * as projectAnnotations from './preview';
+
+// Apply Storybook's preview configuration to Vitest runs.
+setProjectAnnotations([projectAnnotations]);
diff --git a/packages/twenty-new-ui/README.md b/packages/twenty-new-ui/README.md
index cc0c1a438bd..b09043b79d1 100644
--- a/packages/twenty-new-ui/README.md
+++ b/packages/twenty-new-ui/README.md
@@ -1,6 +1,10 @@
# twenty-new-ui
-> **Status:** Planning. This is a design document; no implementation has started.
+> **Status:** Phase 0 — Foundations in progress. The package is scaffolded and builds
+> on SCSS Modules + Base UI; the theme layer is ported from `twenty-ui` with a parity
+> test, and the size/Storybook/a11y harnesses are wired up. Remaining Phase 0 work: the
+> CI diff-table workflow, the `twenty-ui` component inventory, and the `modules/ui` triage.
+> The sections below remain the design document for the full effort.
`twenty-new-ui` is the next generation of Twenty's UI library, replacing [`twenty-ui`](../twenty-ui).
It is built on a headless component library and a zero-runtime, CSS-variable styling layer.
@@ -30,8 +34,9 @@ components are now **in scope** — they migrate into `twenty-new-ui` (see [Appl
## Decision 1 — Headless library: Base UI
-Adopt **Base UI** (`@base-ui-components/react`, MIT) as the behavioral foundation; build Twenty's
-visual design on top of it.
+Adopt **Base UI** ([`mui/base-ui`](https://github.com/mui/base-ui), published to npm as
+[`@base-ui/react`](https://base-ui.com), MIT) as the behavioral foundation; build Twenty's visual
+design on top of it.
| | Base UI | shadcn/ui | Radix |
| --- | --- | --- | --- |
@@ -84,7 +89,7 @@ packages/twenty-new-ui/
├── vitest.config.ts # storybook component tests
├── .storybook/
├── .size-limit.json # per-entry bundle budgets
-├── scripts/ # generateBarrels.ts, generateTheme.ts
+├── scripts/ # generateBarrels.ts
└── src/
├── styles/ # global: reset, theme vars, mixins, breakpoints
├── theme/ theme-constants/
@@ -106,8 +111,8 @@ as-is.
- Keep the public API identical: `ThemeProvider`, `ThemeContext`, `useTheme`, the `themeCssVariables` shape, `ThemeType`, color helpers, and the `theme-light.css` / `theme-dark.css` exports.
- Reuse `twenty-ui`'s token values verbatim to guarantee identical design.
-- Tokens are authored in `src/theme/` and generated into CSS variables + a typed accessor.
-- A generated-output diff test asserts the new theme CSS produces the same `--t-*` values as `twenty-ui`.
+- Tokens live in `src/theme/` (`THEME_LIGHT` / `THEME_DARK`); the `--t-*` CSS variables and the `themeCssVariables` accessor are static files mirrored token-for-token from `twenty-ui` (matching `twenty-ui`'s own static-CSS approach).
+- A theme parity test asserts the theme CSS and `themeCssVariables` stay identical to `twenty-ui`'s `--t-*` values.
## Component migration map
@@ -219,7 +224,7 @@ CI surfaces a per-PR diff table (`twenty-ui` vs `twenty-new-ui`) for size, a11y,
- Vite library mode, dual ESM/CJS, `vite-plugin-dts`, `vite-plugin-svgr`; SCSS via Vite's built-in `sass`; no Babel.
- `sideEffects: ["**/*.css", "**/*.scss"]`; emit per-entry CSS plus `style.css` / `theme-light.css` / `theme-dark.css`.
-- Public package (remove `private`); scoped name (e.g. `@twenty/ui`).
+- Public package (remove `private`); ships as `twenty-new-ui` until cut-over, then claims the `twenty-ui` name once the old package is removed.
- **Changesets** for semver + changelog; GitHub Actions release with `npm publish --provenance`.
- Declare `react` / `react-dom` as peer dependencies; validate the `exports`/types map with `publint` + `@arethetypeswrong/cli`.
- Publish the Storybook as living documentation.
@@ -259,59 +264,10 @@ a passing visual-parity diff, and a within-budget size entry.
## Open questions
-1. Published package name/scope (proposed `@twenty/ui`).
+1. Published package name: `twenty-new-ui` now, renamed to `twenty-ui` at cut-over (Phase 6).
2. Styling: confirm SCSS Modules vs vanilla-extract vs plain CSS Modules.
3. Variants helper: `clsx` + `data-*` vs `cva`.
4. Visual regression tooling: Chromatic vs self-hosted image snapshots.
5. How aggressively to drop `framer-motion` in favor of CSS/Base UI transitions.
6. Scope of `assets` / `testing` / `json-visualizer`: port verbatim or modernize.
7. Where to draw the generic-vs-app-specific line for `modules/ui`, and whether hybrid components live as a headless core in `twenty-new-ui` with a thin app wrapper in `twenty-front`.
-
-## Appendix — example component pattern
-
-`src/input/components/Toggle.tsx`
-
-```tsx
-import { Switch } from '@base-ui-components/react/switch';
-import { clsx } from 'clsx';
-import styles from './Toggle.module.scss';
-
-type ToggleProps = {
- value?: boolean;
- onChange?: (value: boolean) => void;
- disabled?: boolean;
- size?: 'small' | 'medium';
-};
-
-export const Toggle = ({ value, onChange, disabled, size = 'medium' }: ToggleProps) => (
-
-
-
-);
-```
-
-`src/input/components/Toggle.module.scss`
-
-```scss
-.root {
- background: var(--t-background-quaternary);
- border-radius: var(--t-border-radius-pill);
- transition: background var(--t-animation-duration-fast) ease;
-
- &[data-checked] { background: var(--t-color-blue); }
- &[data-disabled] { opacity: 0.32; cursor: not-allowed; }
-}
-
-.thumb {
- background: var(--t-background-primary);
- border-radius: 50%;
- transition: translate var(--t-animation-duration-fast) ease;
-
- .root[data-checked] & { translate: 100% 0; }
-}
-```
diff --git a/packages/twenty-new-ui/__mocks__/imageMockUi.js b/packages/twenty-new-ui/__mocks__/imageMockUi.js
new file mode 100644
index 00000000000..602eb23ee2e
--- /dev/null
+++ b/packages/twenty-new-ui/__mocks__/imageMockUi.js
@@ -0,0 +1 @@
+export default 'test-file-stub';
diff --git a/packages/twenty-new-ui/__mocks__/styleMock.js b/packages/twenty-new-ui/__mocks__/styleMock.js
new file mode 100644
index 00000000000..4eaf68f45d4
--- /dev/null
+++ b/packages/twenty-new-ui/__mocks__/styleMock.js
@@ -0,0 +1,7 @@
+// Proxy so `styles.anyClassName` resolves to its key when SCSS is imported in Jest.
+module.exports = new Proxy(
+ {},
+ {
+ get: (_target, key) => (key === '__esModule' ? false : String(key)),
+ },
+);
diff --git a/packages/twenty-new-ui/jest.config.mjs b/packages/twenty-new-ui/jest.config.mjs
new file mode 100644
index 00000000000..265aa0dac8b
--- /dev/null
+++ b/packages/twenty-new-ui/jest.config.mjs
@@ -0,0 +1,41 @@
+import { readFileSync } from 'fs';
+import { dirname, resolve } from 'path';
+import { pathsToModuleNameMapper } from 'ts-jest';
+import { fileURLToPath } from 'url';
+
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = dirname(__filename);
+
+const tsConfigPath = resolve(__dirname, './tsconfig.json');
+const tsConfig = JSON.parse(readFileSync(tsConfigPath, 'utf8'));
+
+const jestConfig = {
+ displayName: 'twenty-new-ui',
+ preset: '../../jest.preset.js',
+ setupFilesAfterEnv: ['./setupTests.ts'],
+ testEnvironment: 'jsdom',
+ transformIgnorePatterns: ['../../node_modules/'],
+ transform: {
+ '^.+\\.[tj]sx?$': [
+ '@swc/jest',
+ {
+ jsc: {
+ parser: { syntax: 'typescript', tsx: true },
+ transform: { react: { runtime: 'automatic' } },
+ },
+ },
+ ],
+ },
+ moduleNameMapper: {
+ '\\.(jpg|jpeg|png|gif|webp|svg|svg)$': '/__mocks__/imageMockUi.js',
+ '\\.(scss|css)$': '/__mocks__/styleMock.js',
+ ...pathsToModuleNameMapper(tsConfig.compilerOptions.paths, {
+ prefix: '/',
+ }),
+ },
+ moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
+ extensionsToTreatAsEsm: ['.ts', '.tsx'],
+ coverageDirectory: './coverage',
+};
+
+export default jestConfig;
diff --git a/packages/twenty-new-ui/package.json b/packages/twenty-new-ui/package.json
new file mode 100644
index 00000000000..0955e62384a
--- /dev/null
+++ b/packages/twenty-new-ui/package.json
@@ -0,0 +1,208 @@
+{
+ "name": "twenty-new-ui",
+ "//name": "Named `twenty-new-ui` because the target name `twenty-ui` is still taken by the existing packages/twenty-ui workspace (Yarn forbids duplicate workspace names). Renamed to `twenty-ui` at the Phase 6 cut-over once the old package is removed.",
+ "version": "0.0.0",
+ "main": "dist/index.cjs",
+ "module": "dist/index.mjs",
+ "style": "./dist/style.css",
+ "type": "module",
+ "sideEffects": [
+ "**/*.css",
+ "**/*.scss"
+ ],
+ "devDependencies": {
+ "@argos-ci/storybook": "^6.0.6",
+ "@prettier/sync": "^0.5.2",
+ "@size-limit/preset-small-lib": "^11.1.6",
+ "@storybook-community/storybook-addon-cookie": "^5.0.0",
+ "@storybook/addon-a11y": "^10.3.3",
+ "@storybook/addon-coverage": "^3.0.0",
+ "@storybook/addon-links": "^10.3.3",
+ "@storybook/addon-vitest": "^10.2.13",
+ "@storybook/react-vite": "^10.3.3",
+ "@swc/core": "^1.15.11",
+ "@swc/jest": "^0.2.39",
+ "@testing-library/dom": "^10.4.0",
+ "@testing-library/jest-dom": "^6.6.3",
+ "@testing-library/react": "^16.3.0",
+ "@types/jest": "^30.0.0",
+ "@types/react": "^18.2.39",
+ "@types/react-dom": "^18.2.15",
+ "@vitejs/plugin-react-swc": "4.2.3",
+ "@vitest/browser-playwright": "4.0.18",
+ "jest": "29.7.0",
+ "jest-environment-jsdom": "30.0.0-beta.3",
+ "prettier": "^3.1.1",
+ "sass": "^1.83.0",
+ "sass-embedded": "^1.83.0",
+ "size-limit": "^11.1.6",
+ "slash": "^5.1.0",
+ "storybook-addon-pseudo-states": "^10.3.3",
+ "ts-jest": "^29.1.1",
+ "tsx": "^4.19.3",
+ "vite-plugin-checker": "^0.10.2",
+ "vite-plugin-dts": "3.8.1",
+ "vite-plugin-sass-dts": "^1.3.31",
+ "vite-plugin-svgr": "^4.3.0",
+ "vite-tsconfig-paths": "^4.2.1",
+ "vitest": "4.0.18"
+ },
+ "dependencies": {
+ "@base-ui/react": "^1.5.0",
+ "@monaco-editor/react": "^4.7.0",
+ "@radix-ui/colors": "^3.0.0",
+ "@tabler/icons-react": "^3.31.0",
+ "clsx": "^2.1.1",
+ "date-fns": "^2.30.0",
+ "framer-motion": "^11.18.0",
+ "glob": "^11.1.0",
+ "hex-rgb": "^5.0.0",
+ "jotai": "^2.17.1",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "react-responsive": "^9.0.2",
+ "react-router-dom": "^6.4.4",
+ "twenty-shared": "workspace:*",
+ "zod": "^4.1.11"
+ },
+ "peerDependencies": {
+ "monaco-editor": ">= 0.25.0 < 1"
+ },
+ "scripts": {
+ "build": "npx vite build"
+ },
+ "files": [
+ "dist",
+ "accessibility",
+ "assets",
+ "components",
+ "display",
+ "feedback",
+ "input",
+ "json-visualizer",
+ "layout",
+ "navigation",
+ "testing",
+ "theme",
+ "theme-constants",
+ "utilities"
+ ],
+ "exports": {
+ ".": {
+ "types": "./dist/index.d.ts",
+ "import": "./dist/index.mjs",
+ "require": "./dist/index.cjs"
+ },
+ "./style.css": "./dist/style.css",
+ "./theme-light.css": "./dist/theme-light.css",
+ "./theme-dark.css": "./dist/theme-dark.css",
+ "./accessibility": {
+ "types": "./dist/accessibility/index.d.ts",
+ "import": "./dist/accessibility.mjs",
+ "require": "./dist/accessibility.cjs"
+ },
+ "./assets": {
+ "types": "./dist/assets/index.d.ts",
+ "import": "./dist/assets.mjs",
+ "require": "./dist/assets.cjs"
+ },
+ "./components": {
+ "types": "./dist/components/index.d.ts",
+ "import": "./dist/components.mjs",
+ "require": "./dist/components.cjs"
+ },
+ "./display": {
+ "types": "./dist/display/index.d.ts",
+ "import": "./dist/display.mjs",
+ "require": "./dist/display.cjs"
+ },
+ "./feedback": {
+ "types": "./dist/feedback/index.d.ts",
+ "import": "./dist/feedback.mjs",
+ "require": "./dist/feedback.cjs"
+ },
+ "./input": {
+ "types": "./dist/input/index.d.ts",
+ "import": "./dist/input.mjs",
+ "require": "./dist/input.cjs"
+ },
+ "./json-visualizer": {
+ "types": "./dist/json-visualizer/index.d.ts",
+ "import": "./dist/json-visualizer.mjs",
+ "require": "./dist/json-visualizer.cjs"
+ },
+ "./layout": {
+ "types": "./dist/layout/index.d.ts",
+ "import": "./dist/layout.mjs",
+ "require": "./dist/layout.cjs"
+ },
+ "./navigation": {
+ "types": "./dist/navigation/index.d.ts",
+ "import": "./dist/navigation.mjs",
+ "require": "./dist/navigation.cjs"
+ },
+ "./testing": {
+ "types": "./dist/testing/index.d.ts",
+ "import": "./dist/testing.mjs",
+ "require": "./dist/testing.cjs"
+ },
+ "./theme": {
+ "types": "./dist/theme/index.d.ts",
+ "import": "./dist/theme.mjs",
+ "require": "./dist/theme.cjs"
+ },
+ "./theme-constants": {
+ "types": "./dist/theme-constants/index.d.ts",
+ "import": "./dist/theme-constants.mjs",
+ "require": "./dist/theme-constants.cjs"
+ },
+ "./utilities": {
+ "types": "./dist/utilities/index.d.ts",
+ "import": "./dist/utilities.mjs",
+ "require": "./dist/utilities.cjs"
+ }
+ },
+ "typesVersions": {
+ "*": {
+ "accessibility": [
+ "dist/accessibility/index.d.ts"
+ ],
+ "assets": [
+ "dist/assets/index.d.ts"
+ ],
+ "components": [
+ "dist/components/index.d.ts"
+ ],
+ "display": [
+ "dist/display/index.d.ts"
+ ],
+ "feedback": [
+ "dist/feedback/index.d.ts"
+ ],
+ "input": [
+ "dist/input/index.d.ts"
+ ],
+ "json-visualizer": [
+ "dist/json-visualizer/index.d.ts"
+ ],
+ "layout": [
+ "dist/layout/index.d.ts"
+ ],
+ "navigation": [
+ "dist/navigation/index.d.ts"
+ ],
+ "testing": [
+ "dist/testing/index.d.ts"
+ ],
+ "theme": [
+ "dist/theme/index.d.ts"
+ ],
+ "theme-constants": [
+ "dist/theme-constants/index.d.ts"
+ ],
+ "utilities": [
+ "dist/utilities/index.d.ts"
+ ]
+ }
+ }
+}
diff --git a/packages/twenty-new-ui/project.json b/packages/twenty-new-ui/project.json
new file mode 100644
index 00000000000..2393c772547
--- /dev/null
+++ b/packages/twenty-new-ui/project.json
@@ -0,0 +1,103 @@
+{
+ "name": "twenty-new-ui",
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
+ "sourceRoot": "packages/twenty-new-ui/src",
+ "projectType": "library",
+ "tags": ["scope:shared"],
+ "targets": {
+ "build": {
+ "dependsOn": ["^build"],
+ "outputs": [
+ "{projectRoot}/dist",
+ "{projectRoot}/accessibility/package.json",
+ "{projectRoot}/accessibility/dist",
+ "{projectRoot}/assets/package.json",
+ "{projectRoot}/assets/dist",
+ "{projectRoot}/components/package.json",
+ "{projectRoot}/components/dist",
+ "{projectRoot}/display/package.json",
+ "{projectRoot}/display/dist",
+ "{projectRoot}/feedback/package.json",
+ "{projectRoot}/feedback/dist",
+ "{projectRoot}/input/package.json",
+ "{projectRoot}/input/dist",
+ "{projectRoot}/json-visualizer/package.json",
+ "{projectRoot}/json-visualizer/dist",
+ "{projectRoot}/layout/package.json",
+ "{projectRoot}/layout/dist",
+ "{projectRoot}/navigation/package.json",
+ "{projectRoot}/navigation/dist",
+ "{projectRoot}/testing/package.json",
+ "{projectRoot}/testing/dist",
+ "{projectRoot}/theme/package.json",
+ "{projectRoot}/theme/dist",
+ "{projectRoot}/theme-constants/package.json",
+ "{projectRoot}/theme-constants/dist",
+ "{projectRoot}/utilities/package.json",
+ "{projectRoot}/utilities/dist"
+ ]
+ },
+ "generateBarrels": {
+ "executor": "nx:run-commands",
+ "cache": true,
+ "inputs": ["production", "{projectRoot}/scripts/generateBarrels.ts"],
+ "outputs": [
+ "{projectRoot}/src/**/*/index.ts",
+ "{projectRoot}/package.json"
+ ],
+ "options": { "command": "tsx {projectRoot}/scripts/generateBarrels.ts" }
+ },
+ "build:individual": {
+ "executor": "nx:run-commands",
+ "cache": true,
+ "dependsOn": ["build"],
+ "inputs": ["production", "^production"],
+ "outputs": ["{projectRoot}/dist/individual"],
+ "options": {
+ "cwd": "{projectRoot}",
+ "command": "npx vite build -c vite.config.individual.ts"
+ }
+ },
+ "size": {
+ "executor": "nx:run-commands",
+ "cache": true,
+ "dependsOn": ["build"],
+ "inputs": ["{projectRoot}/dist", "{projectRoot}/.size-limit.json"],
+ "options": {
+ "cwd": "{projectRoot}",
+ "command": "npx size-limit"
+ },
+ "configurations": {
+ "why": { "command": "npx size-limit --why" }
+ }
+ },
+ "clean": {
+ "executor": "nx:run-commands",
+ "options": { "command": "rimraf {projectRoot}/dist" }
+ },
+ "lint": {},
+ "fmt": { "options": { "files": "src" }, "configurations": { "fix": {} } },
+ "test": {},
+ "typecheck": {},
+ "storybook:build": { "configurations": { "test": {} } },
+ "storybook:serve:dev": { "options": { "port": 6008 } },
+ "storybook:serve:static": {
+ "options": {
+ "buildTarget": "twenty-new-ui:storybook:build",
+ "port": 6008
+ },
+ "configurations": { "test": {} }
+ },
+ "storybook:test": {},
+ "storybook:test:no-coverage": {},
+ "storybook:visual-diff": {
+ "executor": "nx:run-commands",
+ "dependsOn": ["storybook:build"],
+ "options": {
+ "cwd": "{projectRoot}",
+ "command": "bash scripts/visual-diff.sh"
+ }
+ },
+ "storybook:coverage": {}
+ }
+}
diff --git a/packages/twenty-new-ui/scripts/generateBarrels.ts b/packages/twenty-new-ui/scripts/generateBarrels.ts
new file mode 100644
index 00000000000..ba6f271412e
--- /dev/null
+++ b/packages/twenty-new-ui/scripts/generateBarrels.ts
@@ -0,0 +1,505 @@
+import prettier from '@prettier/sync';
+import * as fs from 'fs';
+import { globSync } from 'glob';
+import path from 'path';
+import { type Options } from 'prettier';
+import slash from 'slash';
+import ts from 'typescript';
+
+// TODO prastoin refactor this file in several one into its dedicated package and make it a TypeScript CLI
+
+const INDEX_FILENAME = 'index';
+const PACKAGE_JSON_FILENAME = 'package.json';
+const NX_PROJECT_CONFIGURATION_FILENAME = 'project.json';
+const PACKAGE_PATH = path.resolve('packages/twenty-ui');
+const SRC_PATH = path.resolve(`${PACKAGE_PATH}/src`);
+const PACKAGE_JSON_PATH = path.join(PACKAGE_PATH, PACKAGE_JSON_FILENAME);
+const NX_PROJECT_CONFIGURATION_PATH = path.join(
+ PACKAGE_PATH,
+ NX_PROJECT_CONFIGURATION_FILENAME,
+);
+
+const prettierConfigFile = prettier.resolveConfigFile();
+if (prettierConfigFile == null) {
+ throw new Error('Prettier config file not found');
+}
+const prettierConfiguration = prettier.resolveConfig(prettierConfigFile);
+const prettierFormat = (str: string, parser: Options['parser']) =>
+ prettier.format(str, {
+ ...prettierConfiguration,
+ parser,
+ });
+type createTypeScriptFileArgs = {
+ path: string;
+ content: string;
+ filename: string;
+};
+const createTypeScriptFile = ({
+ content,
+ path: filePath,
+ filename,
+}: createTypeScriptFileArgs) => {
+ const header = `
+/*
+ * _____ _
+ *|_ _|_ _____ _ __ | |_ _ _
+ * | | \\ \\ /\\ / / _ \\ '_ \\| __| | | | Auto-generated file
+ * | | \\ V V / __/ | | | |_| |_| | Any edits to this will be overridden
+ * |_| \\_/\\_/ \\___|_| |_|\\__|\\__, |
+ * |___/
+ */
+`;
+ const formattedContent = prettierFormat(
+ `${header}\n${content}\n`,
+ 'typescript',
+ );
+ fs.writeFileSync(
+ path.join(filePath, `${filename}.ts`),
+ formattedContent,
+ 'utf-8',
+ );
+};
+
+const getLastPathFolder = (pathStr: string) => path.basename(pathStr);
+
+const getSubDirectoryPaths = (directoryPath: string): string[] => {
+ const pattern = slash(path.join(directoryPath, '*/'));
+ return globSync(pattern, {
+ ignore: [...EXCLUDED_DIRECTORIES],
+ cwd: SRC_PATH,
+ nodir: false,
+ maxDepth: 1,
+ }).sort((a, b) => a.localeCompare(b));
+};
+
+const partitionFileExportsByType = (declarations: DeclarationOccurrence[]) => {
+ return declarations.reduce<{
+ typeAndInterfaceDeclarations: DeclarationOccurrence[];
+ otherDeclarations: DeclarationOccurrence[];
+ }>(
+ (acc, { kind, name }) => {
+ if (kind === 'type' || kind === 'interface') {
+ return {
+ ...acc,
+ typeAndInterfaceDeclarations: [
+ ...acc.typeAndInterfaceDeclarations,
+ { kind, name },
+ ],
+ };
+ }
+
+ return {
+ ...acc,
+ otherDeclarations: [...acc.otherDeclarations, { kind, name }],
+ };
+ },
+ {
+ typeAndInterfaceDeclarations: [],
+ otherDeclarations: [],
+ },
+ );
+};
+
+const generateModuleIndexFiles = (exportByBarrel: ExportByBarrel[]) => {
+ return exportByBarrel.map(
+ ({ barrel: { moduleDirectory }, allFileExports }) => {
+ const content = allFileExports
+ .sort((a, b) => a.file.localeCompare(b.file))
+ .map(({ exports, file }) => {
+ const { otherDeclarations, typeAndInterfaceDeclarations } =
+ partitionFileExportsByType(exports);
+
+ const fileWithoutExtension = path.parse(file).name;
+ const pathToImport = slash(
+ path.relative(
+ moduleDirectory,
+ path.join(path.dirname(file), fileWithoutExtension),
+ ),
+ );
+ const mapDeclarationNameAndJoin = (
+ declarations: DeclarationOccurrence[],
+ ) => declarations.map(({ name }) => name).join(', ');
+
+ const typeExport =
+ typeAndInterfaceDeclarations.length > 0
+ ? `export type { ${mapDeclarationNameAndJoin(typeAndInterfaceDeclarations)} } from "./${pathToImport}"`
+ : '';
+ const othersExport =
+ otherDeclarations.length > 0
+ ? `export { ${mapDeclarationNameAndJoin(otherDeclarations)} } from "./${pathToImport}"`
+ : '';
+
+ return [typeExport, othersExport]
+ .filter((el) => el !== '')
+ .join('\n');
+ })
+ .join('\n');
+
+ return {
+ content,
+ path: moduleDirectory,
+ filename: INDEX_FILENAME,
+ };
+ },
+ );
+};
+
+type JsonUpdate = Record;
+type WriteInJsonFileArgs = {
+ content: JsonUpdate;
+ file: string;
+};
+const updateJsonFile = ({ content, file }: WriteInJsonFileArgs) => {
+ const updatedJsonFile = JSON.stringify(content);
+ const formattedContent = prettier.format(updatedJsonFile, {
+ ...prettierConfiguration,
+ filepath: file,
+ });
+ fs.writeFileSync(file, formattedContent, 'utf-8');
+};
+
+const writeInPackageJson = (update: JsonUpdate) => {
+ const rawJsonFile = fs.readFileSync(PACKAGE_JSON_PATH, 'utf-8');
+ const initialJsonFile = JSON.parse(rawJsonFile);
+
+ updateJsonFile({
+ file: PACKAGE_JSON_PATH,
+ content: {
+ ...initialJsonFile,
+ ...update,
+ },
+ });
+};
+
+const updateNxProjectConfigurationBuildOutputs = (outputs: JsonUpdate) => {
+ const rawJsonFile = fs.readFileSync(NX_PROJECT_CONFIGURATION_PATH, 'utf-8');
+ const initialJsonFile = JSON.parse(rawJsonFile);
+
+ updateJsonFile({
+ file: NX_PROJECT_CONFIGURATION_PATH,
+ content: {
+ ...initialJsonFile,
+ targets: {
+ ...initialJsonFile.targets,
+ build: {
+ ...initialJsonFile.targets.build,
+ outputs,
+ },
+ },
+ },
+ });
+};
+
+type ExportOccurrence = {
+ types: string;
+ import: string;
+ require: string;
+};
+type ExportsConfig = Record;
+
+const generateModulePackageExports = (moduleDirectories: string[]) => {
+ return moduleDirectories.reduce(
+ (acc, moduleDirectory) => {
+ const moduleName = getLastPathFolder(moduleDirectory);
+ if (moduleName === undefined) {
+ throw new Error(
+ `Should never occur, moduleName is undefined ${moduleDirectory}`,
+ );
+ }
+
+ return {
+ ...acc,
+ [`./${moduleName}`]: {
+ types: `./dist/${moduleName}/index.d.ts`,
+ import: `./dist/${moduleName}.mjs`,
+ require: `./dist/${moduleName}.cjs`,
+ },
+ };
+ },
+ {
+ './style.css': './dist/style.css',
+ './theme-light.css': './dist/theme-light.css',
+ './theme-dark.css': './dist/theme-dark.css',
+ },
+ );
+};
+
+const computePackageJsonFilesAndExportsConfig = (
+ moduleDirectories: string[],
+) => {
+ const entrypoints = moduleDirectories.map(getLastPathFolder);
+ const exports = {
+ '.': {
+ types: './dist/index.d.ts',
+ import: './dist/index.mjs',
+ require: './dist/index.cjs',
+ },
+ ...generateModulePackageExports(moduleDirectories),
+ } satisfies ExportsConfig;
+
+ const typesVersionsEntries = entrypoints.reduce>(
+ (acc, moduleName) => ({
+ ...acc,
+ [`${moduleName}`]: [`dist/${moduleName}/index.d.ts`],
+ }),
+ {},
+ );
+
+ return {
+ exports,
+ typesVersions: { '*': typesVersionsEntries },
+ files: ['dist', ...entrypoints],
+ };
+};
+
+const computeProjectNxBuildOutputsPath = (moduleDirectories: string[]) => {
+ const dynamicOutputsPath = moduleDirectories
+ .map(getLastPathFolder)
+ .flatMap((barrelName) =>
+ ['package.json', 'dist'].map(
+ (subPath) => `{projectRoot}/${barrelName}/${subPath}`,
+ ),
+ );
+
+ return ['{projectRoot}/dist', ...dynamicOutputsPath];
+};
+
+const EXCLUDED_EXTENSIONS = [
+ '**/*.test.ts',
+ '**/*.test.tsx',
+ '**/*.spec.ts',
+ '**/*.spec.tsx',
+ '**/*.stories.ts',
+ '**/*.stories.tsx',
+] as const;
+const EXCLUDED_DIRECTORIES = [
+ '**/__tests__/**',
+ '**/__mocks__/**',
+ '**/__stories__/**',
+ '**/internal/**',
+] as const;
+function getTypeScriptFiles(
+ directoryPath: string,
+ includeIndex: boolean = false,
+): string[] {
+ const pattern = slash(path.join(directoryPath, '**', '*.{ts,tsx}'));
+ const files = globSync(pattern, {
+ cwd: SRC_PATH,
+ nodir: true,
+ ignore: [...EXCLUDED_EXTENSIONS, ...EXCLUDED_DIRECTORIES],
+ });
+
+ return files.filter(
+ (file) =>
+ !file.endsWith('.d.ts') &&
+ (includeIndex ? true : !file.endsWith('index.ts')),
+ );
+}
+
+const getKind = (
+ node: ts.VariableStatement,
+): Extract => {
+ const isConst = (node.declarationList.flags & ts.NodeFlags.Const) !== 0;
+ if (isConst) {
+ return 'const';
+ }
+
+ const isLet = (node.declarationList.flags & ts.NodeFlags.Let) !== 0;
+ if (isLet) {
+ return 'let';
+ }
+
+ return 'var';
+};
+
+function extractExportsFromSourceFile(sourceFile: ts.SourceFile) {
+ const exports: DeclarationOccurrence[] = [];
+
+ function visit(node: ts.Node) {
+ if (!ts.canHaveModifiers(node)) {
+ return ts.forEachChild(node, visit);
+ }
+ const modifiers = ts.getModifiers(node);
+ const isExport = modifiers?.some(
+ (mod) => mod.kind === ts.SyntaxKind.ExportKeyword,
+ );
+
+ if (!isExport && !ts.isExportDeclaration(node)) {
+ return ts.forEachChild(node, visit);
+ }
+
+ switch (true) {
+ case ts.isTypeAliasDeclaration(node):
+ exports.push({
+ kind: 'type',
+ name: node.name.text,
+ });
+ break;
+
+ case ts.isInterfaceDeclaration(node):
+ exports.push({
+ kind: 'interface',
+ name: node.name.text,
+ });
+ break;
+
+ case ts.isEnumDeclaration(node):
+ exports.push({
+ kind: 'enum',
+ name: node.name.text,
+ });
+ break;
+
+ case ts.isFunctionDeclaration(node) && node.name !== undefined:
+ exports.push({
+ kind: 'function',
+ name: node.name.text,
+ });
+ break;
+
+ case ts.isVariableStatement(node):
+ node.declarationList.declarations.forEach((decl) => {
+ const kind = getKind(node);
+
+ if (ts.isIdentifier(decl.name)) {
+ exports.push({
+ kind,
+ name: decl.name.text,
+ });
+ } else if (ts.isObjectBindingPattern(decl.name)) {
+ decl.name.elements.forEach((element) => {
+ if (
+ !ts.isBindingElement(element) ||
+ !ts.isIdentifier(element.name)
+ ) {
+ return;
+ }
+
+ exports.push({
+ kind,
+ name: element.name.text,
+ });
+ });
+ }
+ });
+ break;
+
+ case ts.isClassDeclaration(node) && node.name !== undefined:
+ exports.push({
+ kind: 'class',
+ name: node.name.text,
+ });
+ break;
+ case ts.isExportDeclaration(node):
+ if (node.exportClause && ts.isNamedExports(node.exportClause)) {
+ node.exportClause.elements.forEach((element) => {
+ const exportName = element.name.text;
+
+ // Check both the declaration and the individual specifier for type-only exports
+ const isTypeExport =
+ node.isTypeOnly || ts.isTypeOnlyExportDeclaration(node);
+ if (isTypeExport) {
+ // should handle kind
+ exports.push({
+ kind: 'type',
+ name: exportName,
+ });
+ return;
+ }
+
+ exports.push({
+ kind: 'const',
+ name: exportName,
+ });
+ });
+ }
+ break;
+ }
+ return ts.forEachChild(node, visit);
+ }
+
+ visit(sourceFile);
+ return exports;
+}
+
+type ExportKind =
+ | 'type'
+ | 'interface'
+ | 'enum'
+ | 'function'
+ | 'const'
+ | 'let'
+ | 'var'
+ | 'class';
+type DeclarationOccurrence = { kind: ExportKind; name: string };
+type FileExports = Array<{
+ file: string;
+ exports: DeclarationOccurrence[];
+}>;
+
+function findAllExports(directoryPath: string): FileExports {
+ const results: FileExports = [];
+
+ const files = getTypeScriptFiles(directoryPath);
+
+ for (const file of files) {
+ const sourceFile = ts.createSourceFile(
+ file,
+ fs.readFileSync(file, 'utf8'),
+ ts.ScriptTarget.Latest,
+ true,
+ );
+
+ const exports = extractExportsFromSourceFile(sourceFile);
+ if (exports.length > 0) {
+ results.push({
+ file,
+ exports,
+ });
+ }
+ }
+
+ return results;
+}
+
+type ExportByBarrel = {
+ barrel: {
+ moduleName: string;
+ moduleDirectory: string;
+ };
+ allFileExports: FileExports;
+};
+const retrieveExportsByBarrel = (barrelDirectories: string[]) => {
+ return barrelDirectories.map((moduleDirectory) => {
+ const moduleExportsPerFile = findAllExports(moduleDirectory);
+ const moduleName = getLastPathFolder(moduleDirectory);
+ if (!moduleName) {
+ throw new Error(
+ `Should never occur moduleName not found ${moduleDirectory}`,
+ );
+ }
+
+ return {
+ barrel: {
+ moduleName,
+ moduleDirectory,
+ },
+ allFileExports: moduleExportsPerFile,
+ };
+ });
+};
+
+const main = () => {
+ const moduleDirectories = getSubDirectoryPaths(SRC_PATH);
+ const exportsByBarrel = retrieveExportsByBarrel(moduleDirectories);
+ const moduleIndexFiles = generateModuleIndexFiles(exportsByBarrel);
+ const packageJsonConfig =
+ computePackageJsonFilesAndExportsConfig(moduleDirectories);
+ const nxBuildOutputsPath =
+ computeProjectNxBuildOutputsPath(moduleDirectories);
+
+ updateNxProjectConfigurationBuildOutputs(nxBuildOutputsPath);
+ writeInPackageJson(packageJsonConfig);
+ moduleIndexFiles.forEach(createTypeScriptFile);
+};
+main();
diff --git a/packages/twenty-new-ui/scripts/visual-diff.sh b/packages/twenty-new-ui/scripts/visual-diff.sh
new file mode 100755
index 00000000000..4d14ea6c55d
--- /dev/null
+++ b/packages/twenty-new-ui/scripts/visual-diff.sh
@@ -0,0 +1,49 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
+if [[ -f "$SCRIPT_DIR/.env" ]]; then
+ set -a
+ source "$SCRIPT_DIR/.env"
+ set +a
+fi
+
+ARGOS_API_BASE_URL="${ARGOS_API_BASE_URL:-http://127.0.0.1:4002/v2/}"
+ARGOS_TOKEN="${ARGOS_TOKEN:?ARGOS_TOKEN is required – set it in packages/twenty-new-ui/.env}"
+
+USERNAME=$(whoami)
+GIT_BRANCH="${ARGOS_BRANCH:-$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "unknown")}"
+COMMIT="${ARGOS_COMMIT:-$(git rev-parse HEAD 2>/dev/null || echo "unknown")}"
+REFERENCE_COMMIT="${ARGOS_REFERENCE_COMMIT:-$(git merge-base HEAD main 2>/dev/null || echo "")}"
+
+export ARGOS_API_BASE_URL
+export ARGOS_TOKEN
+export ARGOS_BUILD_NAME="${USERNAME}/twenty-new-ui"
+export ARGOS_BRANCH="${USERNAME}/${GIT_BRANCH}"
+export ARGOS_COMMIT="$COMMIT"
+export ARGOS_REFERENCE_COMMIT="${REFERENCE_COMMIT}"
+
+echo "Argos visual diff"
+echo " API: $ARGOS_API_BASE_URL"
+echo " Build name: $ARGOS_BUILD_NAME"
+echo " Branch: $ARGOS_BRANCH"
+echo " Commit: ${ARGOS_COMMIT:0:12}"
+echo " Ref commit: ${ARGOS_REFERENCE_COMMIT:0:12}"
+echo ""
+
+npx http-server storybook-static --port 6007 --silent &
+HTTP_PID=$!
+trap "kill $HTTP_PID 2>/dev/null || true" EXIT
+
+SERVER_UP=false
+for i in $(seq 1 30); do
+ if curl -sf http://localhost:6007 > /dev/null 2>&1; then SERVER_UP=true; break; fi
+ sleep 1
+done
+if [[ "$SERVER_UP" != "true" ]]; then
+ echo "Storybook static server did not start on http://localhost:6007 after 30s" >&2
+ exit 1
+fi
+
+export STORYBOOK_URL="http://localhost:6007"
+npx vitest run
diff --git a/packages/twenty-new-ui/setupTests.ts b/packages/twenty-new-ui/setupTests.ts
new file mode 100644
index 00000000000..8f2609b7b3e
--- /dev/null
+++ b/packages/twenty-new-ui/setupTests.ts
@@ -0,0 +1,5 @@
+// jest-dom adds custom jest matchers for asserting on DOM nodes.
+// allows you to do things like:
+// expect(element).toHaveTextContent(/react/i)
+// learn more: https://github.com/testing-library/jest-dom
+import '@testing-library/jest-dom';
diff --git a/packages/twenty-new-ui/src/accessibility/index.ts b/packages/twenty-new-ui/src/accessibility/index.ts
new file mode 100644
index 00000000000..e7f0b0e304e
--- /dev/null
+++ b/packages/twenty-new-ui/src/accessibility/index.ts
@@ -0,0 +1,2 @@
+// Auto-generated barrel placeholder — populated as components migrate into this entry point.
+export {};
diff --git a/packages/twenty-new-ui/src/assets/index.ts b/packages/twenty-new-ui/src/assets/index.ts
new file mode 100644
index 00000000000..e7f0b0e304e
--- /dev/null
+++ b/packages/twenty-new-ui/src/assets/index.ts
@@ -0,0 +1,2 @@
+// Auto-generated barrel placeholder — populated as components migrate into this entry point.
+export {};
diff --git a/packages/twenty-new-ui/src/components/index.ts b/packages/twenty-new-ui/src/components/index.ts
new file mode 100644
index 00000000000..e7f0b0e304e
--- /dev/null
+++ b/packages/twenty-new-ui/src/components/index.ts
@@ -0,0 +1,2 @@
+// Auto-generated barrel placeholder — populated as components migrate into this entry point.
+export {};
diff --git a/packages/twenty-new-ui/src/display/index.ts b/packages/twenty-new-ui/src/display/index.ts
new file mode 100644
index 00000000000..e7f0b0e304e
--- /dev/null
+++ b/packages/twenty-new-ui/src/display/index.ts
@@ -0,0 +1,2 @@
+// Auto-generated barrel placeholder — populated as components migrate into this entry point.
+export {};
diff --git a/packages/twenty-new-ui/src/feedback/index.ts b/packages/twenty-new-ui/src/feedback/index.ts
new file mode 100644
index 00000000000..e7f0b0e304e
--- /dev/null
+++ b/packages/twenty-new-ui/src/feedback/index.ts
@@ -0,0 +1,2 @@
+// Auto-generated barrel placeholder — populated as components migrate into this entry point.
+export {};
diff --git a/packages/twenty-new-ui/src/global.d.ts b/packages/twenty-new-ui/src/global.d.ts
new file mode 100644
index 00000000000..e7b65519422
--- /dev/null
+++ b/packages/twenty-new-ui/src/global.d.ts
@@ -0,0 +1,7 @@
+declare global {
+ interface Window {
+ _env_?: Record;
+ }
+}
+
+export {};
diff --git a/packages/twenty-new-ui/src/index.ts b/packages/twenty-new-ui/src/index.ts
new file mode 100644
index 00000000000..d0de71b2ae4
--- /dev/null
+++ b/packages/twenty-new-ui/src/index.ts
@@ -0,0 +1,4 @@
+// Side-effect import: the reset must ship exactly once in the aggregated style.css.
+import './styles/base/reset.scss';
+
+export {};
diff --git a/packages/twenty-new-ui/src/individual-entry.ts b/packages/twenty-new-ui/src/individual-entry.ts
new file mode 100644
index 00000000000..2702c9d8db3
--- /dev/null
+++ b/packages/twenty-new-ui/src/individual-entry.ts
@@ -0,0 +1,15 @@
+// Entry point for the individual/self-contained build (vite.config.individual.ts).
+// Re-exports all public modules so a single bundle contains every component with
+// internal deps bundled, while React stays external for the consumer's bundler.
+
+export * from './accessibility';
+export * from './components';
+export * from './display';
+export * from './feedback';
+export * from './input';
+export * from './json-visualizer';
+export * from './layout';
+export * from './navigation';
+export * from './theme';
+export * from './theme-constants';
+export * from './utilities';
diff --git a/packages/twenty-new-ui/src/input/components/Toggle.module.scss b/packages/twenty-new-ui/src/input/components/Toggle.module.scss
new file mode 100644
index 00000000000..953059a3893
--- /dev/null
+++ b/packages/twenty-new-ui/src/input/components/Toggle.module.scss
@@ -0,0 +1,64 @@
+.root {
+ position: relative;
+ display: flex;
+ flex-shrink: 0;
+ align-items: center;
+ align-self: flex-start;
+ border-radius: 10px;
+ background-color: var(--t-background-transparent-medium);
+ cursor: pointer;
+ transition: background-color duration(normal) ease;
+
+ &[data-checked] {
+ background-color: var(--toggle-on-color, var(--t-color-blue));
+ }
+
+ &[data-disabled] {
+ opacity: 0.5;
+ pointer-events: none;
+ }
+}
+
+.centered {
+ align-self: center;
+}
+
+.small {
+ width: 24px;
+ height: 16px;
+}
+
+.medium {
+ width: 32px;
+ height: 20px;
+}
+
+.thumb {
+ position: absolute;
+ top: 50%;
+ left: 0;
+ display: block;
+ border-radius: 50%;
+ background-color: var(--t-background-primary);
+ transition: transform duration(normal) ease;
+}
+
+.small .thumb {
+ width: 12px;
+ height: 12px;
+ transform: translate(2px, -50%);
+}
+
+.medium .thumb {
+ width: 16px;
+ height: 16px;
+ transform: translate(2px, -50%);
+}
+
+.small[data-checked] .thumb {
+ transform: translate(10px, -50%);
+}
+
+.medium[data-checked] .thumb {
+ transform: translate(14px, -50%);
+}
diff --git a/packages/twenty-new-ui/src/input/components/Toggle.module.scss.d.ts b/packages/twenty-new-ui/src/input/components/Toggle.module.scss.d.ts
new file mode 100644
index 00000000000..f2dd624e35d
--- /dev/null
+++ b/packages/twenty-new-ui/src/input/components/Toggle.module.scss.d.ts
@@ -0,0 +1,8 @@
+declare const classNames: {
+ readonly root: 'root';
+ readonly centered: 'centered';
+ readonly small: 'small';
+ readonly medium: 'medium';
+ readonly thumb: 'thumb';
+};
+export default classNames;
diff --git a/packages/twenty-new-ui/src/input/components/Toggle.stories.tsx b/packages/twenty-new-ui/src/input/components/Toggle.stories.tsx
new file mode 100644
index 00000000000..e6d4dddb70f
--- /dev/null
+++ b/packages/twenty-new-ui/src/input/components/Toggle.stories.tsx
@@ -0,0 +1,50 @@
+import { type Meta, type StoryObj } from '@storybook/react-vite';
+import { useState } from 'react';
+
+import { ThemeProvider } from '@new-ui/theme-constants';
+
+import { Toggle } from './Toggle';
+
+const meta: Meta = {
+ title: 'Input/Toggle',
+ component: Toggle,
+ args: { toggleSize: 'medium', 'aria-label': 'Example toggle' },
+};
+
+export default meta;
+
+type Story = StoryObj;
+
+export const On: Story = { args: { value: true } };
+
+export const Off: Story = { args: { value: false } };
+
+export const Small: Story = { args: { value: true, toggleSize: 'small' } };
+
+export const CustomColor: Story = {
+ args: { value: true, color: 'color(display-p3 0.2 0.7 0.4)' },
+};
+
+export const Disabled: Story = { args: { value: true, disabled: true } };
+
+const ControlledToggle = () => {
+ const [value, setValue] = useState(false);
+ return (
+
+ );
+};
+
+export const Interactive: Story = {
+ render: () => ,
+};
+
+export const Dark: Story = {
+ args: { value: true },
+ decorators: [
+ (Story) => (
+
+
+
+ ),
+ ],
+};
diff --git a/packages/twenty-new-ui/src/input/components/Toggle.tsx b/packages/twenty-new-ui/src/input/components/Toggle.tsx
new file mode 100644
index 00000000000..7323f78cabf
--- /dev/null
+++ b/packages/twenty-new-ui/src/input/components/Toggle.tsx
@@ -0,0 +1,54 @@
+import { Switch } from '@base-ui/react/switch';
+import { clsx } from 'clsx';
+
+import styles from './Toggle.module.scss';
+
+export type ToggleSize = 'small' | 'medium';
+
+export type ToggleProps = {
+ id?: string;
+ value?: boolean;
+ onChange?: (value: boolean, e?: React.MouseEvent) => void;
+ color?: string;
+ toggleSize?: ToggleSize;
+ className?: string;
+ centered?: boolean;
+ disabled?: boolean;
+ 'aria-label'?: string;
+ 'aria-labelledby'?: string;
+};
+
+export const Toggle = ({
+ id,
+ value = false,
+ onChange,
+ color,
+ toggleSize = 'medium',
+ className,
+ centered,
+ disabled,
+ 'aria-label': ariaLabel,
+ 'aria-labelledby': ariaLabelledBy,
+}: ToggleProps) => (
+ onChange?.(checked)}
+ aria-label={ariaLabel}
+ aria-labelledby={ariaLabelledBy}
+ className={clsx(
+ styles.root,
+ styles[toggleSize],
+ centered && styles.centered,
+ className,
+ )}
+ style={
+ color
+ ? ({ '--toggle-on-color': color } as React.CSSProperties)
+ : undefined
+ }
+ >
+
+
+);
diff --git a/packages/twenty-new-ui/src/input/index.ts b/packages/twenty-new-ui/src/input/index.ts
new file mode 100644
index 00000000000..41341f72445
--- /dev/null
+++ b/packages/twenty-new-ui/src/input/index.ts
@@ -0,0 +1,2 @@
+export { Toggle } from './components/Toggle';
+export type { ToggleProps, ToggleSize } from './components/Toggle';
diff --git a/packages/twenty-new-ui/src/json-visualizer/index.ts b/packages/twenty-new-ui/src/json-visualizer/index.ts
new file mode 100644
index 00000000000..e7f0b0e304e
--- /dev/null
+++ b/packages/twenty-new-ui/src/json-visualizer/index.ts
@@ -0,0 +1,2 @@
+// Auto-generated barrel placeholder — populated as components migrate into this entry point.
+export {};
diff --git a/packages/twenty-new-ui/src/layout/index.ts b/packages/twenty-new-ui/src/layout/index.ts
new file mode 100644
index 00000000000..e7f0b0e304e
--- /dev/null
+++ b/packages/twenty-new-ui/src/layout/index.ts
@@ -0,0 +1,2 @@
+// Auto-generated barrel placeholder — populated as components migrate into this entry point.
+export {};
diff --git a/packages/twenty-new-ui/src/navigation/index.ts b/packages/twenty-new-ui/src/navigation/index.ts
new file mode 100644
index 00000000000..e7f0b0e304e
--- /dev/null
+++ b/packages/twenty-new-ui/src/navigation/index.ts
@@ -0,0 +1,2 @@
+// Auto-generated barrel placeholder — populated as components migrate into this entry point.
+export {};
diff --git a/packages/twenty-new-ui/src/styles/abstracts/_breakpoints.scss b/packages/twenty-new-ui/src/styles/abstracts/_breakpoints.scss
new file mode 100644
index 00000000000..cbad596cdcd
--- /dev/null
+++ b/packages/twenty-new-ui/src/styles/abstracts/_breakpoints.scss
@@ -0,0 +1,18 @@
+@use 'sass:map';
+
+// Mirrors twenty-ui's MOBILE_VIEWPORT (768px).
+$breakpoints: (
+ 'mobile': 768px,
+);
+
+@mixin respond-to($name) {
+ $value: map.get($breakpoints, $name);
+
+ @if $value == null {
+ @error 'Unknown breakpoint: #{$name}';
+ }
+
+ @media (max-width: $value) {
+ @content;
+ }
+}
diff --git a/packages/twenty-new-ui/src/styles/abstracts/_functions.scss b/packages/twenty-new-ui/src/styles/abstracts/_functions.scss
new file mode 100644
index 00000000000..bf852fd966c
--- /dev/null
+++ b/packages/twenty-new-ui/src/styles/abstracts/_functions.scss
@@ -0,0 +1,5 @@
+// duration(fast) => calc(var(--t-animation-duration-fast) * 1s)
+// Theme animation durations are stored unitless; this scales them to seconds.
+@function duration($name) {
+ @return calc(var(--t-animation-duration-#{$name}) * 1s);
+}
diff --git a/packages/twenty-new-ui/src/styles/abstracts/_mixins.scss b/packages/twenty-new-ui/src/styles/abstracts/_mixins.scss
new file mode 100644
index 00000000000..e6619782b8f
--- /dev/null
+++ b/packages/twenty-new-ui/src/styles/abstracts/_mixins.scss
@@ -0,0 +1,6 @@
+@mixin focus-ring {
+ &:focus-visible {
+ outline: 2px solid var(--t-color-blue);
+ outline-offset: 1px;
+ }
+}
diff --git a/packages/twenty-new-ui/src/styles/base/reset.scss b/packages/twenty-new-ui/src/styles/base/reset.scss
new file mode 100644
index 00000000000..2ba2a180bf6
--- /dev/null
+++ b/packages/twenty-new-ui/src/styles/base/reset.scss
@@ -0,0 +1,15 @@
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+}
+
+button {
+ margin: 0;
+ padding: 0;
+ font: inherit;
+ color: inherit;
+ background: none;
+ border: none;
+ cursor: pointer;
+}
diff --git a/packages/twenty-new-ui/src/testing/index.ts b/packages/twenty-new-ui/src/testing/index.ts
new file mode 100644
index 00000000000..e7f0b0e304e
--- /dev/null
+++ b/packages/twenty-new-ui/src/testing/index.ts
@@ -0,0 +1,2 @@
+// Auto-generated barrel placeholder — populated as components migrate into this entry point.
+export {};
diff --git a/packages/twenty-new-ui/src/theme-constants/ThemeProvider.tsx b/packages/twenty-new-ui/src/theme-constants/ThemeProvider.tsx
new file mode 100644
index 00000000000..3bfa3d79d7e
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme-constants/ThemeProvider.tsx
@@ -0,0 +1,121 @@
+import { createContext, useLayoutEffect, useState } from 'react';
+
+import { themeCssVariables } from './themeCssVariables';
+
+type StringLeaves = {
+ [K in keyof T]: T[K] extends string ? string : StringLeaves;
+};
+
+type DeepMerge = {
+ [K in keyof T]: K extends keyof U
+ ? U[K] extends Record
+ ? T[K] extends Record
+ ? DeepMerge
+ : U[K]
+ : U[K]
+ : T[K];
+};
+
+// CSS variables that resolve to pure numbers at runtime
+type NumericOverrides = {
+ icon: {
+ size: { sm: number; md: number; lg: number; xl: number };
+ stroke: { sm: number; md: number; lg: number };
+ };
+ animation: {
+ duration: { instant: number; fast: number; normal: number; slow: number };
+ };
+ text: {
+ lineHeight: { lg: number; md: number };
+ iconSizeMedium: number;
+ iconSizeSmall: number;
+ iconStrikeLight: number;
+ iconStrikeMedium: number;
+ iconStrikeBold: number;
+ };
+ spacingMultiplicator: number;
+ lastLayerZIndex: number;
+};
+
+export type ThemeType = DeepMerge<
+ StringLeaves,
+ NumericOverrides
+>;
+
+export type ThemeContextType = {
+ theme: ThemeType;
+ colorScheme: 'light' | 'dark';
+};
+
+const computeThemeFromCss = (): ThemeType => {
+ if (
+ typeof document === 'undefined' ||
+ typeof getComputedStyle !== 'function'
+ ) {
+ return themeCssVariables as unknown as ThemeType;
+ }
+
+ const computedStyle = getComputedStyle(document.documentElement);
+
+ const resolve = (obj: Record): Record => {
+ const result: Record = {};
+
+ for (const key of Object.keys(obj)) {
+ const value = obj[key];
+
+ if (typeof value === 'string' && value.startsWith('var(')) {
+ const varName = value.slice(4, -1);
+ const raw = computedStyle.getPropertyValue(varName).trim();
+ const num = Number(raw);
+ result[key] = raw !== '' && !isNaN(num) ? num : raw;
+ } else if (typeof value === 'object' && value !== null) {
+ result[key] = resolve(value as Record);
+ } else {
+ result[key] = value;
+ }
+ }
+
+ return result;
+ };
+
+ return resolve(
+ themeCssVariables as unknown as Record,
+ ) as unknown as ThemeType;
+};
+
+const applyColorSchemeClass = (colorScheme: 'light' | 'dark') => {
+ if (typeof document === 'undefined') return;
+ const root = document.documentElement;
+ if (!root?.classList) return;
+ root.classList.toggle('dark', colorScheme === 'dark');
+ root.classList.toggle('light', colorScheme === 'light');
+};
+
+export const ThemeContext = createContext({
+ theme: themeCssVariables as unknown as ThemeType,
+ colorScheme: 'light',
+});
+
+export const ThemeProvider = ({
+ children,
+ colorScheme,
+}: {
+ children: React.ReactNode;
+ colorScheme: 'light' | 'dark';
+}) => {
+ const [theme, setTheme] = useState(() => {
+ applyColorSchemeClass(colorScheme);
+ return computeThemeFromCss();
+ });
+
+ useLayoutEffect(() => {
+ applyColorSchemeClass(colorScheme);
+ setTheme(computeThemeFromCss());
+ }, [colorScheme]);
+
+ return (
+
+ {children}
+
+ );
+};
diff --git a/packages/twenty-new-ui/src/theme-constants/__tests__/getNextThemeColor.test.ts b/packages/twenty-new-ui/src/theme-constants/__tests__/getNextThemeColor.test.ts
new file mode 100644
index 00000000000..d1e316dccbd
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme-constants/__tests__/getNextThemeColor.test.ts
@@ -0,0 +1,28 @@
+import {
+ MAIN_COLOR_NAMES,
+ type ThemeColor,
+} from '@new-ui/theme/constants/MainColorNames';
+
+import { getNextThemeColor } from '../getNextThemeColor';
+
+describe('getNextThemeColor', () => {
+ it('returns the next theme color', () => {
+ const currentColor: ThemeColor = MAIN_COLOR_NAMES[0];
+ const nextColor: ThemeColor = MAIN_COLOR_NAMES[1];
+
+ expect(getNextThemeColor(MAIN_COLOR_NAMES, currentColor)).toBe(nextColor);
+ });
+
+ it('returns the first color when reaching the end', () => {
+ const currentColor: ThemeColor =
+ MAIN_COLOR_NAMES[MAIN_COLOR_NAMES.length - 1];
+ const nextColor: ThemeColor = MAIN_COLOR_NAMES[0];
+
+ expect(getNextThemeColor(MAIN_COLOR_NAMES, currentColor)).toBe(nextColor);
+ });
+ it('returns the first color when currentColorIsUndefined', () => {
+ const firstColor: ThemeColor = MAIN_COLOR_NAMES[0];
+
+ expect(getNextThemeColor(MAIN_COLOR_NAMES, undefined)).toBe(firstColor);
+ });
+});
diff --git a/packages/twenty-new-ui/src/theme-constants/__tests__/theme-parity.test.ts b/packages/twenty-new-ui/src/theme-constants/__tests__/theme-parity.test.ts
new file mode 100644
index 00000000000..1aad4866495
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme-constants/__tests__/theme-parity.test.ts
@@ -0,0 +1,50 @@
+import { readFileSync } from 'fs';
+import { resolve } from 'path';
+
+import { themeCssVariables as newThemeCssVariables } from '../themeCssVariables';
+import { themeCssVariables as oldThemeCssVariables } from '../../../../twenty-ui/src/theme-constants/themeCssVariables';
+
+const NEW_DIR = resolve(__dirname, '..');
+const OLD_DIR = resolve(__dirname, '../../../../twenty-ui/src/theme-constants');
+
+// Parse a theme CSS file into ordered [name, value] pairs, normalizing
+// whitespace so formatting differences (multi-line vs single-line values,
+// header comment) don't affect the comparison. Stops each value at the ';'
+// that terminates it, skipping ';' embedded in values (e.g. data URIs).
+const parseTokens = (dir: string, file: string): [string, string][] => {
+ const text = readFileSync(resolve(dir, file), 'utf8');
+ const body = text.slice(text.indexOf('{') + 1, text.lastIndexOf('}'));
+ const re = /--t-([a-z0-9_-]+):\s*([\s\S]*?);(?=\s*(?:--t-|$))/g;
+ const tokens: [string, string][] = [];
+ let match: RegExpExecArray | null;
+ while ((match = re.exec(body)) !== null) {
+ const value = match[2]
+ .trim()
+ .replace(/\s+/g, ' ')
+ .replace(/\(\s+/g, '(')
+ .replace(/\s+\)/g, ')');
+ tokens.push([match[1], value]);
+ }
+ return tokens;
+};
+
+// twenty-new-ui must produce the exact same --t-* tokens and values (and order)
+// as twenty-ui, so the swap is token-for-token with no visual change.
+// Comparison ignores incidental formatting (header, whitespace) but not values.
+describe('theme parity with twenty-ui', () => {
+ it('theme-light.css tokens match twenty-ui', () => {
+ expect(parseTokens(NEW_DIR, 'theme-light.css')).toEqual(
+ parseTokens(OLD_DIR, 'theme-light.css'),
+ );
+ });
+
+ it('theme-dark.css tokens match twenty-ui', () => {
+ expect(parseTokens(NEW_DIR, 'theme-dark.css')).toEqual(
+ parseTokens(OLD_DIR, 'theme-dark.css'),
+ );
+ });
+
+ it('themeCssVariables is deeply equal to twenty-ui', () => {
+ expect(newThemeCssVariables).toEqual(oldThemeCssVariables);
+ });
+});
diff --git a/packages/twenty-new-ui/src/theme-constants/constants.ts b/packages/twenty-new-ui/src/theme-constants/constants.ts
new file mode 100644
index 00000000000..25092372eda
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme-constants/constants.ts
@@ -0,0 +1,3 @@
+// CSS custom properties don't work in media queries, so MOBILE_VIEWPORT
+// must be a static number rather than a var(--...) reference.
+export const MOBILE_VIEWPORT = 768;
diff --git a/packages/twenty-new-ui/src/theme-constants/getNextThemeColor.ts b/packages/twenty-new-ui/src/theme-constants/getNextThemeColor.ts
new file mode 100644
index 00000000000..ce8dfdc8e02
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme-constants/getNextThemeColor.ts
@@ -0,0 +1,15 @@
+import { type ThemeColor } from '@new-ui/theme/constants/MainColorNames';
+
+export const getNextThemeColor = (
+ colorNames: ThemeColor[],
+ currentColor?: ThemeColor,
+): ThemeColor => {
+ if (currentColor === null || currentColor === undefined) {
+ return colorNames[0];
+ }
+ const currentColorIndex = colorNames.findIndex(
+ (color) => color === currentColor,
+ );
+ const nextColorIndex = (currentColorIndex + 1) % colorNames.length;
+ return colorNames[nextColorIndex];
+};
diff --git a/packages/twenty-new-ui/src/theme-constants/index.ts b/packages/twenty-new-ui/src/theme-constants/index.ts
new file mode 100644
index 00000000000..7e804abdedf
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme-constants/index.ts
@@ -0,0 +1,14 @@
+/*
+ * _____ _
+ *|_ _|_ _____ _ __ | |_ _ _
+ * | | \ \ /\ / / _ \ '_ \| __| | | | Auto-generated file
+ * | | \ V V / __/ | | | |_| |_| | Any edits to this will be overridden
+ * |_| \_/\_/ \___|_| |_|\__|\__, |
+ * |___/
+ */
+
+export { MOBILE_VIEWPORT } from './constants';
+export { getNextThemeColor } from './getNextThemeColor';
+export { themeCssVariables } from './themeCssVariables';
+export type { ThemeType, ThemeContextType } from './ThemeProvider';
+export { ThemeContext, ThemeProvider } from './ThemeProvider';
diff --git a/packages/twenty-new-ui/src/theme-constants/theme-dark.css b/packages/twenty-new-ui/src/theme-constants/theme-dark.css
new file mode 100644
index 00000000000..13f94f5845c
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme-constants/theme-dark.css
@@ -0,0 +1,1007 @@
+/* Theme CSS variables, mirrored token-for-token from twenty-ui.
+ Kept in sync by the theme parity test (src/theme-constants/__tests__). */
+
+.dark {
+ --t-icon-size-sm: 14;
+ --t-icon-size-md: 16;
+ --t-icon-size-lg: 20;
+ --t-icon-size-xl: 24;
+ --t-icon-stroke-sm: 1.6;
+ --t-icon-stroke-md: 2;
+ --t-icon-stroke-lg: 2.5;
+ --t-modal-size-sm-width: 300px;
+ --t-modal-size-md-width: 400px;
+ --t-modal-size-lg-width: 53%;
+ --t-modal-size-xl-width: 1200px;
+ --t-modal-size-xl-height: 800px;
+ --t-modal-size-fullscreen-width: 100dvw;
+ --t-modal-size-fullscreen-height: 100dvh;
+ --t-text-line-height-lg: 1.5;
+ --t-text-line-height-md: 1.1;
+ --t-text-icon-size-medium: 16;
+ --t-text-icon-size-small: 14;
+ --t-text-icon-strike-light: 1.6;
+ --t-text-icon-strike-medium: 2;
+ --t-text-icon-strike-bold: 2.5;
+ --t-animation-duration-instant: 0.075;
+ --t-animation-duration-fast: 0.15;
+ --t-animation-duration-normal: 0.3;
+ --t-animation-duration-slow: 1.5;
+ --t-spacing-multiplicator: 4;
+ --t-spacing-0: 0px;
+ --t-spacing-1: 4px;
+ --t-spacing-2: 8px;
+ --t-spacing-3: 12px;
+ --t-spacing-4: 16px;
+ --t-spacing-5: 20px;
+ --t-spacing-6: 24px;
+ --t-spacing-7: 28px;
+ --t-spacing-8: 32px;
+ --t-spacing-9: 36px;
+ --t-spacing-10: 40px;
+ --t-spacing-11: 44px;
+ --t-spacing-12: 48px;
+ --t-spacing-13: 52px;
+ --t-spacing-14: 56px;
+ --t-spacing-15: 60px;
+ --t-spacing-16: 64px;
+ --t-spacing-17: 68px;
+ --t-spacing-18: 72px;
+ --t-spacing-19: 76px;
+ --t-spacing-20: 80px;
+ --t-spacing-21: 84px;
+ --t-spacing-22: 88px;
+ --t-spacing-23: 92px;
+ --t-spacing-24: 96px;
+ --t-spacing-25: 100px;
+ --t-spacing-26: 104px;
+ --t-spacing-27: 108px;
+ --t-spacing-28: 112px;
+ --t-spacing-29: 116px;
+ --t-spacing-30: 120px;
+ --t-spacing-31: 124px;
+ --t-spacing-32: 128px;
+ --t-spacing-0_5: 2px;
+ --t-spacing-1_5: 6px;
+ --t-between-siblings-gap: 2px;
+ --t-table-horizontal-cell-margin: 8px;
+ --t-table-checkbox-column-width: 32px;
+ --t-table-horizontal-cell-padding: 8px;
+ --t-side-panel-width: 500px;
+ --t-clickable-element-background-transition: background 0.1s ease;
+ --t-last-layer-z-index: 2147483647;
+ --t-buttons-secondary-text-color: color(display-p3 0.63 0.69 1);
+ --t-accent-primary: color(display-p3 0.163 0.22 0.439);
+ --t-accent-secondary: color(display-p3 0.163 0.22 0.439);
+ --t-accent-tertiary: color(display-p3 0.105 0.141 0.275);
+ --t-accent-quaternary: color(display-p3 0.081 0.089 0.144);
+ --t-accent-accent3570: color(display-p3 0.285 0.362 0.674);
+ --t-accent-accent4060: color(display-p3 0.285 0.362 0.674);
+ --t-accent-accent1: color(display-p3 0.068 0.074 0.118);
+ --t-accent-accent2: color(display-p3 0.081 0.089 0.144);
+ --t-accent-accent3: color(display-p3 0.105 0.141 0.275);
+ --t-accent-accent4: color(display-p3 0.129 0.18 0.369);
+ --t-accent-accent5: color(display-p3 0.163 0.22 0.439);
+ --t-accent-accent6: color(display-p3 0.203 0.262 0.5);
+ --t-accent-accent7: color(display-p3 0.245 0.309 0.575);
+ --t-accent-accent8: color(display-p3 0.285 0.362 0.674);
+ --t-accent-accent9: color(display-p3 0.276 0.384 0.837);
+ --t-accent-accent10: color(display-p3 0.354 0.445 0.866);
+ --t-accent-accent11: color(display-p3 0.63 0.69 1);
+ --t-accent-accent12: color(display-p3 0.848 0.881 0.99);
+ --t-background-noisy: url(data:image/jpeg;base64,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);
+ --t-background-primary: color(display-p3 0.09 0.09 0.09);
+ --t-background-secondary: color(display-p3 0.106 0.106 0.106);
+ --t-background-tertiary: color(display-p3 0.114 0.114 0.114);
+ --t-background-quaternary: color(display-p3 0.133 0.133 0.133);
+ --t-background-inverted-primary: color(display-p3 0.922 0.922 0.922);
+ --t-background-inverted-secondary: color(display-p3 0.702 0.702 0.702);
+ --t-background-danger: color(display-p3 0.211 0.081 0.099);
+ --t-background-transparent-primary: color(display-p3 0 0 0 / 0.5);
+ --t-background-transparent-secondary: color(display-p3 0 0 0 / 0.4);
+ --t-background-transparent-strong: color(display-p3 1 1 1 / 0.141);
+ --t-background-transparent-medium: color(display-p3 1 1 1 / 0.102);
+ --t-background-transparent-light: color(display-p3 1 1 1 / 0.059);
+ --t-background-transparent-lighter: color(display-p3 1 1 1 / 0.031);
+ --t-background-transparent-danger: #ff173f2d;
+ --t-background-transparent-blue: #3566ff57;
+ --t-background-transparent-orange: #ff590039;
+ --t-background-transparent-success: #11ff992d;
+ --t-background-overlay-primary: #000000b8;
+ --t-background-overlay-secondary: #0000005c;
+ --t-background-overlay-tertiary: #0000005c;
+ --t-background-radial-gradient: radial-gradient(
+ 50% 62.62% at 50% 0%,
+ color(display-p3 0.506 0.506 0.506) 0%,
+ color(display-p3 0.482 0.482 0.482) 100%
+ );
+ --t-background-radial-gradient-hover: radial-gradient(
+ 76.32% 95.59% at 50% 0%,
+ color(display-p3 0.482 0.482 0.482) 0%,
+ color(display-p3 0.702 0.702 0.702) 100%
+ );
+ --t-background-primary-inverted: color(display-p3 0.922 0.922 0.922);
+ --t-background-primary-inverted-hover: color(display-p3 0.702 0.702 0.702);
+ --t-blur-light: blur(6px) saturate(200%) contrast(100%) brightness(130%);
+ --t-blur-medium: blur(12px) saturate(200%) contrast(100%) brightness(130%);
+ --t-blur-strong: blur(20px) saturate(200%) contrast(100%) brightness(130%);
+ --t-border-color-strong: color(display-p3 0.282 0.282 0.282);
+ --t-border-color-medium: color(display-p3 0.133 0.133 0.133);
+ --t-border-color-light: color(display-p3 0.114 0.114 0.114);
+ --t-border-color-secondary-inverted: color(display-p3 0.702 0.702 0.702);
+ --t-border-color-inverted: color(display-p3 0.922 0.922 0.922);
+ --t-border-color-danger: color(display-p3 0.348 0.11 0.142);
+ --t-border-color-blue: color(display-p3 0.245 0.309 0.575);
+ --t-border-color-transparent-strong: color(display-p3 1 1 1 / 0.071);
+ --t-border-radius-xs: 2px;
+ --t-border-radius-sm: 4px;
+ --t-border-radius-md: 8px;
+ --t-border-radius-xl: 20px;
+ --t-border-radius-xxl: 40px;
+ --t-border-radius-pill: 999px;
+ --t-border-radius-rounded: 100%;
+ --t-box-shadow-color: rgba(0, 0, 0, 0.6);
+ --t-box-shadow-light:
+ 0px 2px 4px 0px rgba(0, 0, 0, 0.04), 0px 0px 4px 0px rgba(0, 0, 0, 0.08);
+ --t-box-shadow-strong:
+ 2px 4px 16px 0px rgba(0, 0, 0, 0.16), 0px 2px 4px 0px rgba(0, 0, 0, 0.08);
+ --t-box-shadow-underline: 0px 1px 0px 0px rgba(0, 0, 0, 0.32);
+ --t-box-shadow-super-heavy:
+ 2px 4px 16px 0px rgba(0, 0, 0, 0.12), 0px 2px 4px 0px rgba(0, 0, 0, 0.04);
+ --t-font-color-primary: color(display-p3 0.922 0.922 0.922);
+ --t-font-color-secondary: color(display-p3 0.702 0.702 0.702);
+ --t-font-color-tertiary: color(display-p3 0.506 0.506 0.506);
+ --t-font-color-light: color(display-p3 0.4 0.4 0.4);
+ --t-font-color-extra-light: color(display-p3 0.298 0.298 0.298);
+ --t-font-color-inverted: color(display-p3 0.09 0.09 0.09);
+ --t-font-color-danger: color(display-p3 0.83 0.329 0.324);
+ --t-font-size-xxs: 0.625rem;
+ --t-font-size-xs: 0.85rem;
+ --t-font-size-sm: 0.92rem;
+ --t-font-size-md: 1rem;
+ --t-font-size-lg: 1.23rem;
+ --t-font-size-xl: 1.54rem;
+ --t-font-size-xxl: 1.85rem;
+ --t-font-weight-regular: 400;
+ --t-font-weight-medium: 500;
+ --t-font-weight-semi-bold: 600;
+ --t-font-family: Inter, sans-serif;
+ --t-name: dark;
+ --t-snack-bar-success-color: color(display-p3 0.297 0.637 0.581);
+ --t-snack-bar-success-background-color: #11ff992d;
+ --t-snack-bar-error-color: color(display-p3 0.83 0.329 0.324);
+ --t-snack-bar-error-background-color: #ff173f2d;
+ --t-snack-bar-warning-color: color(display-p3 0.9 0.45 0.2);
+ --t-snack-bar-warning-background-color: #ff590039;
+ --t-snack-bar-info-color: color(display-p3 0.276 0.384 0.837);
+ --t-snack-bar-info-background-color: #3566ff57;
+ --t-snack-bar-default-color: color(display-p3 0.922 0.922 0.922);
+ --t-snack-bar-default-background-color: color(display-p3 1 1 1 / 0.059);
+ --t-tag-text-gray: color(display-p3 0.702 0.702 0.702);
+ --t-tag-text-mauve: color(display-p3 0.707 0.7 0.735);
+ --t-tag-text-slate: color(display-p3 0.692 0.704 0.728);
+ --t-tag-text-sage: color(display-p3 0.685 0.709 0.697);
+ --t-tag-text-olive: color(display-p3 0.69 0.709 0.682);
+ --t-tag-text-sand: color(display-p3 0.707 0.703 0.68);
+ --t-tag-text-tomato: color(display-p3 1 0.585 0.455);
+ --t-tag-text-red: color(display-p3 1 0.57 0.55);
+ --t-tag-text-ruby: color(display-p3 1 0.57 0.59);
+ --t-tag-text-crimson: color(display-p3 1 0.56 0.66);
+ --t-tag-text-pink: color(display-p3 1 0.535 0.78);
+ --t-tag-text-plum: color(display-p3 0.86 0.602 0.933);
+ --t-tag-text-purple: color(display-p3 0.8 0.62 1);
+ --t-tag-text-violet: color(display-p3 0.72 0.65 1);
+ --t-tag-text-iris: color(display-p3 0.685 0.662 1);
+ --t-tag-text-cyan: color(display-p3 0.446 0.79 0.887);
+ --t-tag-text-turquoise: color(display-p3 0.388 0.835 0.719);
+ --t-tag-text-sky: color(display-p3 0.536 0.772 0.924);
+ --t-tag-text-blue: color(display-p3 0.63 0.69 1);
+ --t-tag-text-jade: color(display-p3 0.4 0.835 0.656);
+ --t-tag-text-green: color(display-p3 0.434 0.828 0.573);
+ --t-tag-text-grass: color(display-p3 0.535 0.807 0.542);
+ --t-tag-text-mint: color(display-p3 0.482 0.825 0.733);
+ --t-tag-text-lime: color(display-p3 0.771 0.893 0.485);
+ --t-tag-text-bronze: color(display-p3 0.81 0.707 0.655);
+ --t-tag-text-gold: color(display-p3 0.784 0.728 0.635);
+ --t-tag-text-brown: color(display-p3 0.835 0.715 0.597);
+ --t-tag-text-orange: color(display-p3 1 0.63 0.38);
+ --t-tag-text-amber: color(display-p3 1 0.8 0.29);
+ --t-tag-text-yellow: color(display-p3 0.948 0.885 0.392);
+ --t-tag-background-gray: color(display-p3 0.098 0.098 0.098);
+ --t-tag-background-mauve: color(display-p3 0.138 0.134 0.144);
+ --t-tag-background-slate: color(display-p3 0.13 0.135 0.145);
+ --t-tag-background-sage: color(display-p3 0.128 0.135 0.131);
+ --t-tag-background-olive: color(display-p3 0.131 0.135 0.126);
+ --t-tag-background-sand: color(display-p3 0.135 0.135 0.129);
+ --t-tag-background-tomato: color(display-p3 0.205 0.097 0.083);
+ --t-tag-background-red: color(display-p3 0.211 0.081 0.099);
+ --t-tag-background-ruby: color(display-p3 0.208 0.088 0.117);
+ --t-tag-background-crimson: color(display-p3 0.203 0.091 0.143);
+ --t-tag-background-pink: color(display-p3 0.198 0.098 0.179);
+ --t-tag-background-plum: color(display-p3 0.192 0.105 0.202);
+ --t-tag-background-purple: color(display-p3 0.175 0.112 0.224);
+ --t-tag-background-violet: color(display-p3 0.154 0.123 0.256);
+ --t-tag-background-iris: color(display-p3 0.128 0.134 0.272);
+ --t-tag-background-cyan: color(display-p3 0.073 0.168 0.209);
+ --t-tag-background-turquoise: color(display-p3 0.087 0.175 0.165);
+ --t-tag-background-sky: color(display-p3 0.089 0.154 0.244);
+ --t-tag-background-blue: color(display-p3 0.105 0.141 0.275);
+ --t-tag-background-jade: color(display-p3 0.091 0.176 0.138);
+ --t-tag-background-green: color(display-p3 0.1 0.173 0.133);
+ --t-tag-background-grass: color(display-p3 0.118 0.163 0.122);
+ --t-tag-background-mint: color(display-p3 0.077 0.17 0.168);
+ --t-tag-background-lime: color(display-p3 0.13 0.16 0.099);
+ --t-tag-background-bronze: color(display-p3 0.147 0.132 0.125);
+ --t-tag-background-gold: color(display-p3 0.141 0.136 0.122);
+ --t-tag-background-brown: color(display-p3 0.151 0.13 0.115);
+ --t-tag-background-orange: color(display-p3 0.189 0.12 0.056);
+ --t-tag-background-amber: color(display-p3 0.178 0.128 0.049);
+ --t-tag-background-yellow: color(display-p3 0.168 0.137 0.039);
+ --t-code-text-gray: color(display-p3 0.482 0.482 0.482);
+ --t-code-text-sky: color(display-p3 0.718 0.925 0.991);
+ --t-code-text-pink: color(display-p3 0.808 0.356 0.645);
+ --t-code-text-orange: color(display-p3 0.601 0.359 0.201);
+ --t-code-text-green: color(display-p3 0.365 0.456 0.25);
+ --t-code-font-family: DM Mono;
+ --t--illustration-icon-color-blue: color(display-p3 0.354 0.445 0.866);
+ --t--illustration-icon-color-gray: color(display-p3 0.4 0.4 0.4);
+ --t--illustration-icon-fill-blue: color(display-p3 0.848 0.881 0.99);
+ --t--illustration-icon-fill-gray: color(display-p3 0.133 0.133 0.133);
+ --t-gray-scale-gray1: color(display-p3 0.09 0.09 0.09);
+ --t-gray-scale-gray2: color(display-p3 0.106 0.106 0.106);
+ --t-gray-scale-gray3: color(display-p3 0.098 0.098 0.098);
+ --t-gray-scale-gray4: color(display-p3 0.114 0.114 0.114);
+ --t-gray-scale-gray5: color(display-p3 0.133 0.133 0.133);
+ --t-gray-scale-gray6: color(display-p3 0.282 0.282 0.282);
+ --t-gray-scale-gray7: color(display-p3 0.298 0.298 0.298);
+ --t-gray-scale-gray8: color(display-p3 0.4 0.4 0.4);
+ --t-gray-scale-gray9: color(display-p3 0.506 0.506 0.506);
+ --t-gray-scale-gray10: color(display-p3 0.482 0.482 0.482);
+ --t-gray-scale-gray11: color(display-p3 0.702 0.702 0.702);
+ --t-gray-scale-gray12: color(display-p3 0.922 0.922 0.922);
+ --t-color-red: color(display-p3 0.83 0.329 0.324);
+ --t-color-ruby: color(display-p3 0.83 0.323 0.408);
+ --t-color-crimson: color(display-p3 0.843 0.298 0.507);
+ --t-color-tomato: color(display-p3 0.831 0.345 0.231);
+ --t-color-orange: color(display-p3 0.9 0.45 0.2);
+ --t-color-amber: color(display-p3 1 0.77 0.26);
+ --t-color-yellow: color(display-p3 1 0.92 0.22);
+ --t-color-lime: color(display-p3 0.78 0.928 0.466);
+ --t-color-grass: color(display-p3 0.38 0.647 0.378);
+ --t-color-green: color(display-p3 0.332 0.634 0.442);
+ --t-color-jade: color(display-p3 0.319 0.63 0.521);
+ --t-color-mint: color(display-p3 0.62 0.908 0.834);
+ --t-color-turquoise: color(display-p3 0.297 0.637 0.581);
+ --t-color-cyan: color(display-p3 0.282 0.627 0.765);
+ --t-color-sky: color(display-p3 0.585 0.877 0.983);
+ --t-color-blue: color(display-p3 0.276 0.384 0.837);
+ --t-color-iris: color(display-p3 0.357 0.357 0.81);
+ --t-color-violet: color(display-p3 0.417 0.341 0.784);
+ --t-color-purple: color(display-p3 0.523 0.318 0.751);
+ --t-color-plum: color(display-p3 0.624 0.313 0.708);
+ --t-color-pink: color(display-p3 0.775 0.297 0.61);
+ --t-color-bronze: color(display-p3 0.611 0.507 0.455);
+ --t-color-gold: color(display-p3 0.579 0.517 0.41);
+ --t-color-brown: color(display-p3 0.651 0.505 0.368);
+ --t-color-gray: color(display-p3 0.298 0.298 0.298);
+ --t-color-yellow1: color(display-p3 0.078 0.069 0.047);
+ --t-color-yellow2: color(display-p3 0.103 0.094 0.063);
+ --t-color-yellow3: color(display-p3 0.168 0.137 0.039);
+ --t-color-yellow4: color(display-p3 0.209 0.169 0);
+ --t-color-yellow5: color(display-p3 0.255 0.209 0);
+ --t-color-yellow6: color(display-p3 0.31 0.261 0.07);
+ --t-color-yellow7: color(display-p3 0.389 0.331 0.135);
+ --t-color-yellow8: color(display-p3 0.497 0.42 0.182);
+ --t-color-yellow9: color(display-p3 1 0.92 0.22);
+ --t-color-yellow10: color(display-p3 1 1 0.456);
+ --t-color-yellow11: color(display-p3 0.948 0.885 0.392);
+ --t-color-yellow12: color(display-p3 0.959 0.934 0.731);
+ --t-color-green1: color(display-p3 0.062 0.083 0.071);
+ --t-color-green2: color(display-p3 0.079 0.106 0.09);
+ --t-color-green3: color(display-p3 0.1 0.173 0.133);
+ --t-color-green4: color(display-p3 0.115 0.229 0.166);
+ --t-color-green5: color(display-p3 0.147 0.282 0.206);
+ --t-color-green6: color(display-p3 0.185 0.338 0.25);
+ --t-color-green7: color(display-p3 0.227 0.403 0.298);
+ --t-color-green8: color(display-p3 0.27 0.479 0.351);
+ --t-color-green9: color(display-p3 0.332 0.634 0.442);
+ --t-color-green10: color(display-p3 0.357 0.682 0.474);
+ --t-color-green11: color(display-p3 0.434 0.828 0.573);
+ --t-color-green12: color(display-p3 0.747 0.938 0.807);
+ --t-color-turquoise1: color(display-p3 0.059 0.083 0.079);
+ --t-color-turquoise2: color(display-p3 0.075 0.11 0.107);
+ --t-color-turquoise3: color(display-p3 0.087 0.175 0.165);
+ --t-color-turquoise4: color(display-p3 0.087 0.227 0.214);
+ --t-color-turquoise5: color(display-p3 0.12 0.277 0.261);
+ --t-color-turquoise6: color(display-p3 0.162 0.335 0.314);
+ --t-color-turquoise7: color(display-p3 0.205 0.406 0.379);
+ --t-color-turquoise8: color(display-p3 0.245 0.489 0.453);
+ --t-color-turquoise9: color(display-p3 0.297 0.637 0.581);
+ --t-color-turquoise10: color(display-p3 0.319 0.69 0.62);
+ --t-color-turquoise11: color(display-p3 0.388 0.835 0.719);
+ --t-color-turquoise12: color(display-p3 0.734 0.934 0.87);
+ --t-color-sky1: color(display-p3 0.056 0.078 0.116);
+ --t-color-sky2: color(display-p3 0.075 0.101 0.149);
+ --t-color-sky3: color(display-p3 0.089 0.154 0.244);
+ --t-color-sky4: color(display-p3 0.106 0.207 0.323);
+ --t-color-sky5: color(display-p3 0.135 0.261 0.394);
+ --t-color-sky6: color(display-p3 0.17 0.322 0.469);
+ --t-color-sky7: color(display-p3 0.205 0.394 0.557);
+ --t-color-sky8: color(display-p3 0.232 0.48 0.665);
+ --t-color-sky9: color(display-p3 0.585 0.877 0.983);
+ --t-color-sky10: color(display-p3 0.718 0.925 0.991);
+ --t-color-sky11: color(display-p3 0.536 0.772 0.924);
+ --t-color-sky12: color(display-p3 0.799 0.947 0.993);
+ --t-color-blue1: color(display-p3 0.068 0.074 0.118);
+ --t-color-blue2: color(display-p3 0.081 0.089 0.144);
+ --t-color-blue3: color(display-p3 0.105 0.141 0.275);
+ --t-color-blue4: color(display-p3 0.129 0.18 0.369);
+ --t-color-blue5: color(display-p3 0.163 0.22 0.439);
+ --t-color-blue6: color(display-p3 0.203 0.262 0.5);
+ --t-color-blue7: color(display-p3 0.245 0.309 0.575);
+ --t-color-blue8: color(display-p3 0.285 0.362 0.674);
+ --t-color-blue9: color(display-p3 0.276 0.384 0.837);
+ --t-color-blue10: color(display-p3 0.354 0.445 0.866);
+ --t-color-blue11: color(display-p3 0.63 0.69 1);
+ --t-color-blue12: color(display-p3 0.848 0.881 0.99);
+ --t-color-purple1: color(display-p3 0.09 0.068 0.103);
+ --t-color-purple2: color(display-p3 0.113 0.082 0.134);
+ --t-color-purple3: color(display-p3 0.175 0.112 0.224);
+ --t-color-purple4: color(display-p3 0.224 0.137 0.297);
+ --t-color-purple5: color(display-p3 0.264 0.167 0.349);
+ --t-color-purple6: color(display-p3 0.311 0.208 0.406);
+ --t-color-purple7: color(display-p3 0.381 0.266 0.496);
+ --t-color-purple8: color(display-p3 0.49 0.349 0.649);
+ --t-color-purple9: color(display-p3 0.523 0.318 0.751);
+ --t-color-purple10: color(display-p3 0.57 0.373 0.791);
+ --t-color-purple11: color(display-p3 0.8 0.62 1);
+ --t-color-purple12: color(display-p3 0.913 0.854 0.971);
+ --t-color-pink1: color(display-p3 0.093 0.068 0.089);
+ --t-color-pink2: color(display-p3 0.121 0.073 0.11);
+ --t-color-pink3: color(display-p3 0.198 0.098 0.179);
+ --t-color-pink4: color(display-p3 0.271 0.095 0.231);
+ --t-color-pink5: color(display-p3 0.32 0.127 0.273);
+ --t-color-pink6: color(display-p3 0.382 0.177 0.326);
+ --t-color-pink7: color(display-p3 0.477 0.238 0.405);
+ --t-color-pink8: color(display-p3 0.612 0.304 0.51);
+ --t-color-pink9: color(display-p3 0.775 0.297 0.61);
+ --t-color-pink10: color(display-p3 0.808 0.356 0.645);
+ --t-color-pink11: color(display-p3 1 0.535 0.78);
+ --t-color-pink12: color(display-p3 0.964 0.826 0.912);
+ --t-color-red1: color(display-p3 0.093 0.068 0.067);
+ --t-color-red2: color(display-p3 0.118 0.077 0.079);
+ --t-color-red3: color(display-p3 0.211 0.081 0.099);
+ --t-color-red4: color(display-p3 0.287 0.079 0.113);
+ --t-color-red5: color(display-p3 0.348 0.11 0.142);
+ --t-color-red6: color(display-p3 0.414 0.16 0.183);
+ --t-color-red7: color(display-p3 0.508 0.224 0.236);
+ --t-color-red8: color(display-p3 0.659 0.298 0.297);
+ --t-color-red9: color(display-p3 0.83 0.329 0.324);
+ --t-color-red10: color(display-p3 0.861 0.403 0.387);
+ --t-color-red11: color(display-p3 1 0.57 0.55);
+ --t-color-red12: color(display-p3 0.971 0.826 0.852);
+ --t-color-orange1: color(display-p3 0.088 0.07 0.057);
+ --t-color-orange2: color(display-p3 0.113 0.089 0.061);
+ --t-color-orange3: color(display-p3 0.189 0.12 0.056);
+ --t-color-orange4: color(display-p3 0.262 0.132 0);
+ --t-color-orange5: color(display-p3 0.315 0.168 0.016);
+ --t-color-orange6: color(display-p3 0.376 0.219 0.088);
+ --t-color-orange7: color(display-p3 0.465 0.283 0.147);
+ --t-color-orange8: color(display-p3 0.601 0.359 0.201);
+ --t-color-orange9: color(display-p3 0.9 0.45 0.2);
+ --t-color-orange10: color(display-p3 0.98 0.51 0.23);
+ --t-color-orange11: color(display-p3 1 0.63 0.38);
+ --t-color-orange12: color(display-p3 0.98 0.883 0.775);
+ --t-color-gray1: color(display-p3 0.09 0.09 0.09);
+ --t-color-gray2: color(display-p3 0.106 0.106 0.106);
+ --t-color-gray3: color(display-p3 0.098 0.098 0.098);
+ --t-color-gray4: color(display-p3 0.114 0.114 0.114);
+ --t-color-gray5: color(display-p3 0.133 0.133 0.133);
+ --t-color-gray6: color(display-p3 0.282 0.282 0.282);
+ --t-color-gray7: color(display-p3 0.298 0.298 0.298);
+ --t-color-gray8: color(display-p3 0.4 0.4 0.4);
+ --t-color-gray9: color(display-p3 0.506 0.506 0.506);
+ --t-color-gray10: color(display-p3 0.482 0.482 0.482);
+ --t-color-gray11: color(display-p3 0.702 0.702 0.702);
+ --t-color-gray12: color(display-p3 0.922 0.922 0.922);
+ --t-color-mauve1: color(display-p3 0.07 0.067 0.074);
+ --t-color-mauve2: color(display-p3 0.101 0.098 0.105);
+ --t-color-mauve3: color(display-p3 0.138 0.134 0.144);
+ --t-color-mauve4: color(display-p3 0.167 0.161 0.175);
+ --t-color-mauve5: color(display-p3 0.196 0.189 0.206);
+ --t-color-mauve6: color(display-p3 0.232 0.225 0.245);
+ --t-color-mauve7: color(display-p3 0.286 0.277 0.302);
+ --t-color-mauve8: color(display-p3 0.383 0.373 0.408);
+ --t-color-mauve9: color(display-p3 0.434 0.428 0.467);
+ --t-color-mauve10: color(display-p3 0.487 0.48 0.519);
+ --t-color-mauve11: color(display-p3 0.707 0.7 0.735);
+ --t-color-mauve12: color(display-p3 0.933 0.933 0.94);
+ --t-color-slate1: color(display-p3 0.067 0.067 0.074);
+ --t-color-slate2: color(display-p3 0.095 0.098 0.105);
+ --t-color-slate3: color(display-p3 0.13 0.135 0.145);
+ --t-color-slate4: color(display-p3 0.156 0.163 0.176);
+ --t-color-slate5: color(display-p3 0.183 0.191 0.206);
+ --t-color-slate6: color(display-p3 0.215 0.226 0.244);
+ --t-color-slate7: color(display-p3 0.265 0.28 0.302);
+ --t-color-slate8: color(display-p3 0.357 0.381 0.409);
+ --t-color-slate9: color(display-p3 0.415 0.431 0.463);
+ --t-color-slate10: color(display-p3 0.469 0.483 0.514);
+ --t-color-slate11: color(display-p3 0.692 0.704 0.728);
+ --t-color-slate12: color(display-p3 0.93 0.933 0.94);
+ --t-color-sage1: color(display-p3 0.064 0.07 0.067);
+ --t-color-sage2: color(display-p3 0.092 0.098 0.094);
+ --t-color-sage3: color(display-p3 0.128 0.135 0.131);
+ --t-color-sage4: color(display-p3 0.155 0.164 0.159);
+ --t-color-sage5: color(display-p3 0.183 0.193 0.188);
+ --t-color-sage6: color(display-p3 0.218 0.23 0.224);
+ --t-color-sage7: color(display-p3 0.269 0.285 0.277);
+ --t-color-sage8: color(display-p3 0.362 0.382 0.373);
+ --t-color-sage9: color(display-p3 0.398 0.438 0.421);
+ --t-color-sage10: color(display-p3 0.453 0.49 0.474);
+ --t-color-sage11: color(display-p3 0.685 0.709 0.697);
+ --t-color-sage12: color(display-p3 0.927 0.933 0.93);
+ --t-color-olive1: color(display-p3 0.067 0.07 0.063);
+ --t-color-olive2: color(display-p3 0.095 0.098 0.091);
+ --t-color-olive3: color(display-p3 0.131 0.135 0.126);
+ --t-color-olive4: color(display-p3 0.158 0.163 0.153);
+ --t-color-olive5: color(display-p3 0.186 0.192 0.18);
+ --t-color-olive6: color(display-p3 0.221 0.229 0.215);
+ --t-color-olive7: color(display-p3 0.273 0.284 0.266);
+ --t-color-olive8: color(display-p3 0.365 0.382 0.359);
+ --t-color-olive9: color(display-p3 0.414 0.438 0.404);
+ --t-color-olive10: color(display-p3 0.467 0.49 0.458);
+ --t-color-olive11: color(display-p3 0.69 0.709 0.682);
+ --t-color-olive12: color(display-p3 0.927 0.933 0.926);
+ --t-color-sand1: color(display-p3 0.067 0.067 0.063);
+ --t-color-sand2: color(display-p3 0.098 0.098 0.094);
+ --t-color-sand3: color(display-p3 0.135 0.135 0.129);
+ --t-color-sand4: color(display-p3 0.164 0.163 0.156);
+ --t-color-sand5: color(display-p3 0.193 0.192 0.183);
+ --t-color-sand6: color(display-p3 0.23 0.229 0.217);
+ --t-color-sand7: color(display-p3 0.285 0.282 0.267);
+ --t-color-sand8: color(display-p3 0.384 0.378 0.357);
+ --t-color-sand9: color(display-p3 0.434 0.428 0.403);
+ --t-color-sand10: color(display-p3 0.487 0.481 0.456);
+ --t-color-sand11: color(display-p3 0.707 0.703 0.68);
+ --t-color-sand12: color(display-p3 0.933 0.933 0.926);
+ --t-color-tomato1: color(display-p3 0.09 0.068 0.067);
+ --t-color-tomato2: color(display-p3 0.115 0.084 0.076);
+ --t-color-tomato3: color(display-p3 0.205 0.097 0.083);
+ --t-color-tomato4: color(display-p3 0.282 0.099 0.077);
+ --t-color-tomato5: color(display-p3 0.339 0.129 0.101);
+ --t-color-tomato6: color(display-p3 0.398 0.179 0.141);
+ --t-color-tomato7: color(display-p3 0.487 0.245 0.194);
+ --t-color-tomato8: color(display-p3 0.629 0.322 0.248);
+ --t-color-tomato9: color(display-p3 0.831 0.345 0.231);
+ --t-color-tomato10: color(display-p3 0.862 0.415 0.298);
+ --t-color-tomato11: color(display-p3 1 0.585 0.455);
+ --t-color-tomato12: color(display-p3 0.959 0.833 0.802);
+ --t-color-ruby1: color(display-p3 0.093 0.068 0.074);
+ --t-color-ruby2: color(display-p3 0.113 0.083 0.089);
+ --t-color-ruby3: color(display-p3 0.208 0.088 0.117);
+ --t-color-ruby4: color(display-p3 0.279 0.092 0.147);
+ --t-color-ruby5: color(display-p3 0.337 0.12 0.18);
+ --t-color-ruby6: color(display-p3 0.401 0.166 0.223);
+ --t-color-ruby7: color(display-p3 0.495 0.224 0.281);
+ --t-color-ruby8: color(display-p3 0.652 0.295 0.359);
+ --t-color-ruby9: color(display-p3 0.83 0.323 0.408);
+ --t-color-ruby10: color(display-p3 0.857 0.392 0.455);
+ --t-color-ruby11: color(display-p3 1 0.57 0.59);
+ --t-color-ruby12: color(display-p3 0.968 0.83 0.88);
+ --t-color-crimson1: color(display-p3 0.093 0.068 0.078);
+ --t-color-crimson2: color(display-p3 0.117 0.078 0.095);
+ --t-color-crimson3: color(display-p3 0.203 0.091 0.143);
+ --t-color-crimson4: color(display-p3 0.277 0.087 0.182);
+ --t-color-crimson5: color(display-p3 0.332 0.115 0.22);
+ --t-color-crimson6: color(display-p3 0.394 0.162 0.268);
+ --t-color-crimson7: color(display-p3 0.489 0.222 0.336);
+ --t-color-crimson8: color(display-p3 0.638 0.289 0.429);
+ --t-color-crimson9: color(display-p3 0.843 0.298 0.507);
+ --t-color-crimson10: color(display-p3 0.864 0.364 0.539);
+ --t-color-crimson11: color(display-p3 1 0.56 0.66);
+ --t-color-crimson12: color(display-p3 0.966 0.834 0.906);
+ --t-color-plum1: color(display-p3 0.09 0.068 0.092);
+ --t-color-plum2: color(display-p3 0.118 0.077 0.121);
+ --t-color-plum3: color(display-p3 0.192 0.105 0.202);
+ --t-color-plum4: color(display-p3 0.25 0.121 0.271);
+ --t-color-plum5: color(display-p3 0.293 0.152 0.319);
+ --t-color-plum6: color(display-p3 0.343 0.198 0.372);
+ --t-color-plum7: color(display-p3 0.424 0.262 0.461);
+ --t-color-plum8: color(display-p3 0.54 0.341 0.595);
+ --t-color-plum9: color(display-p3 0.624 0.313 0.708);
+ --t-color-plum10: color(display-p3 0.666 0.365 0.748);
+ --t-color-plum11: color(display-p3 0.86 0.602 0.933);
+ --t-color-plum12: color(display-p3 0.936 0.836 0.949);
+ --t-color-violet1: color(display-p3 0.077 0.071 0.118);
+ --t-color-violet2: color(display-p3 0.101 0.084 0.141);
+ --t-color-violet3: color(display-p3 0.154 0.123 0.256);
+ --t-color-violet4: color(display-p3 0.191 0.148 0.345);
+ --t-color-violet5: color(display-p3 0.226 0.182 0.396);
+ --t-color-violet6: color(display-p3 0.269 0.223 0.449);
+ --t-color-violet7: color(display-p3 0.326 0.277 0.53);
+ --t-color-violet8: color(display-p3 0.399 0.346 0.656);
+ --t-color-violet9: color(display-p3 0.417 0.341 0.784);
+ --t-color-violet10: color(display-p3 0.477 0.402 0.823);
+ --t-color-violet11: color(display-p3 0.72 0.65 1);
+ --t-color-violet12: color(display-p3 0.883 0.867 0.986);
+ --t-color-iris1: color(display-p3 0.075 0.075 0.114);
+ --t-color-iris2: color(display-p3 0.089 0.086 0.14);
+ --t-color-iris3: color(display-p3 0.128 0.134 0.272);
+ --t-color-iris4: color(display-p3 0.153 0.165 0.382);
+ --t-color-iris5: color(display-p3 0.192 0.201 0.44);
+ --t-color-iris6: color(display-p3 0.239 0.241 0.491);
+ --t-color-iris7: color(display-p3 0.291 0.289 0.565);
+ --t-color-iris8: color(display-p3 0.35 0.345 0.673);
+ --t-color-iris9: color(display-p3 0.357 0.357 0.81);
+ --t-color-iris10: color(display-p3 0.428 0.416 0.843);
+ --t-color-iris11: color(display-p3 0.685 0.662 1);
+ --t-color-iris12: color(display-p3 0.878 0.875 0.986);
+ --t-color-cyan1: color(display-p3 0.053 0.085 0.098);
+ --t-color-cyan2: color(display-p3 0.072 0.105 0.122);
+ --t-color-cyan3: color(display-p3 0.073 0.168 0.209);
+ --t-color-cyan4: color(display-p3 0.063 0.216 0.277);
+ --t-color-cyan5: color(display-p3 0.091 0.267 0.336);
+ --t-color-cyan6: color(display-p3 0.137 0.324 0.4);
+ --t-color-cyan7: color(display-p3 0.186 0.398 0.484);
+ --t-color-cyan8: color(display-p3 0.23 0.496 0.6);
+ --t-color-cyan9: color(display-p3 0.282 0.627 0.765);
+ --t-color-cyan10: color(display-p3 0.331 0.675 0.801);
+ --t-color-cyan11: color(display-p3 0.446 0.79 0.887);
+ --t-color-cyan12: color(display-p3 0.757 0.919 0.962);
+ --t-color-jade1: color(display-p3 0.059 0.083 0.071);
+ --t-color-jade2: color(display-p3 0.078 0.11 0.094);
+ --t-color-jade3: color(display-p3 0.091 0.176 0.138);
+ --t-color-jade4: color(display-p3 0.102 0.228 0.177);
+ --t-color-jade5: color(display-p3 0.133 0.279 0.221);
+ --t-color-jade6: color(display-p3 0.174 0.334 0.273);
+ --t-color-jade7: color(display-p3 0.219 0.402 0.335);
+ --t-color-jade8: color(display-p3 0.263 0.488 0.411);
+ --t-color-jade9: color(display-p3 0.319 0.63 0.521);
+ --t-color-jade10: color(display-p3 0.338 0.68 0.555);
+ --t-color-jade11: color(display-p3 0.4 0.835 0.656);
+ --t-color-jade12: color(display-p3 0.734 0.934 0.838);
+ --t-color-grass1: color(display-p3 0.062 0.083 0.067);
+ --t-color-grass2: color(display-p3 0.083 0.103 0.085);
+ --t-color-grass3: color(display-p3 0.118 0.163 0.122);
+ --t-color-grass4: color(display-p3 0.142 0.225 0.15);
+ --t-color-grass5: color(display-p3 0.178 0.279 0.186);
+ --t-color-grass6: color(display-p3 0.217 0.337 0.224);
+ --t-color-grass7: color(display-p3 0.258 0.4 0.264);
+ --t-color-grass8: color(display-p3 0.302 0.47 0.305);
+ --t-color-grass9: color(display-p3 0.38 0.647 0.378);
+ --t-color-grass10: color(display-p3 0.426 0.694 0.426);
+ --t-color-grass11: color(display-p3 0.535 0.807 0.542);
+ --t-color-grass12: color(display-p3 0.797 0.936 0.776);
+ --t-color-mint1: color(display-p3 0.059 0.082 0.081);
+ --t-color-mint2: color(display-p3 0.068 0.104 0.105);
+ --t-color-mint3: color(display-p3 0.077 0.17 0.168);
+ --t-color-mint4: color(display-p3 0.068 0.224 0.22);
+ --t-color-mint5: color(display-p3 0.104 0.275 0.264);
+ --t-color-mint6: color(display-p3 0.154 0.332 0.313);
+ --t-color-mint7: color(display-p3 0.207 0.403 0.373);
+ --t-color-mint8: color(display-p3 0.258 0.49 0.441);
+ --t-color-mint9: color(display-p3 0.62 0.908 0.834);
+ --t-color-mint10: color(display-p3 0.725 0.954 0.898);
+ --t-color-mint11: color(display-p3 0.482 0.825 0.733);
+ --t-color-mint12: color(display-p3 0.807 0.955 0.887);
+ --t-color-lime1: color(display-p3 0.067 0.073 0.048);
+ --t-color-lime2: color(display-p3 0.086 0.1 0.067);
+ --t-color-lime3: color(display-p3 0.13 0.16 0.099);
+ --t-color-lime4: color(display-p3 0.172 0.214 0.126);
+ --t-color-lime5: color(display-p3 0.213 0.266 0.153);
+ --t-color-lime6: color(display-p3 0.257 0.321 0.182);
+ --t-color-lime7: color(display-p3 0.307 0.383 0.215);
+ --t-color-lime8: color(display-p3 0.365 0.456 0.25);
+ --t-color-lime9: color(display-p3 0.78 0.928 0.466);
+ --t-color-lime10: color(display-p3 0.865 0.995 0.519);
+ --t-color-lime11: color(display-p3 0.771 0.893 0.485);
+ --t-color-lime12: color(display-p3 0.905 0.966 0.753);
+ --t-color-bronze1: color(display-p3 0.076 0.067 0.063);
+ --t-color-bronze2: color(display-p3 0.106 0.097 0.093);
+ --t-color-bronze3: color(display-p3 0.147 0.132 0.125);
+ --t-color-bronze4: color(display-p3 0.185 0.166 0.156);
+ --t-color-bronze5: color(display-p3 0.227 0.202 0.19);
+ --t-color-bronze6: color(display-p3 0.278 0.246 0.23);
+ --t-color-bronze7: color(display-p3 0.343 0.302 0.281);
+ --t-color-bronze8: color(display-p3 0.426 0.374 0.347);
+ --t-color-bronze9: color(display-p3 0.611 0.507 0.455);
+ --t-color-bronze10: color(display-p3 0.66 0.556 0.504);
+ --t-color-bronze11: color(display-p3 0.81 0.707 0.655);
+ --t-color-bronze12: color(display-p3 0.921 0.88 0.854);
+ --t-color-gold1: color(display-p3 0.071 0.071 0.067);
+ --t-color-gold2: color(display-p3 0.104 0.101 0.09);
+ --t-color-gold3: color(display-p3 0.141 0.136 0.122);
+ --t-color-gold4: color(display-p3 0.177 0.17 0.152);
+ --t-color-gold5: color(display-p3 0.217 0.207 0.185);
+ --t-color-gold6: color(display-p3 0.265 0.252 0.225);
+ --t-color-gold7: color(display-p3 0.327 0.31 0.277);
+ --t-color-gold8: color(display-p3 0.407 0.384 0.342);
+ --t-color-gold9: color(display-p3 0.579 0.517 0.41);
+ --t-color-gold10: color(display-p3 0.628 0.566 0.463);
+ --t-color-gold11: color(display-p3 0.784 0.728 0.635);
+ --t-color-gold12: color(display-p3 0.906 0.887 0.855);
+ --t-color-brown1: color(display-p3 0.071 0.067 0.059);
+ --t-color-brown2: color(display-p3 0.107 0.095 0.087);
+ --t-color-brown3: color(display-p3 0.151 0.13 0.115);
+ --t-color-brown4: color(display-p3 0.191 0.161 0.138);
+ --t-color-brown5: color(display-p3 0.235 0.194 0.162);
+ --t-color-brown6: color(display-p3 0.291 0.237 0.192);
+ --t-color-brown7: color(display-p3 0.365 0.295 0.232);
+ --t-color-brown8: color(display-p3 0.469 0.377 0.287);
+ --t-color-brown9: color(display-p3 0.651 0.505 0.368);
+ --t-color-brown10: color(display-p3 0.697 0.557 0.423);
+ --t-color-brown11: color(display-p3 0.835 0.715 0.597);
+ --t-color-brown12: color(display-p3 0.938 0.885 0.802);
+ --t-color-amber1: color(display-p3 0.082 0.07 0.05);
+ --t-color-amber2: color(display-p3 0.111 0.094 0.064);
+ --t-color-amber3: color(display-p3 0.178 0.128 0.049);
+ --t-color-amber4: color(display-p3 0.239 0.156 0);
+ --t-color-amber5: color(display-p3 0.29 0.193 0);
+ --t-color-amber6: color(display-p3 0.344 0.245 0.076);
+ --t-color-amber7: color(display-p3 0.422 0.314 0.141);
+ --t-color-amber8: color(display-p3 0.535 0.399 0.189);
+ --t-color-amber9: color(display-p3 1 0.77 0.26);
+ --t-color-amber10: color(display-p3 1 0.87 0.15);
+ --t-color-amber11: color(display-p3 1 0.8 0.29);
+ --t-color-amber12: color(display-p3 0.984 0.909 0.726);
+ --t-color-transparent-green1: #00de4505;
+ --t-color-transparent-green2: #29f99d0b;
+ --t-color-transparent-green3: #22ff991e;
+ --t-color-transparent-green4: #11ff992d;
+ --t-color-transparent-green5: #2bffa23c;
+ --t-color-transparent-green6: #44ffaa4b;
+ --t-color-transparent-green7: #50fdac5e;
+ --t-color-transparent-green8: #54ffad73;
+ --t-color-transparent-green9: #44ffa49e;
+ --t-color-transparent-green10: #43fea4ab;
+ --t-color-transparent-green11: #46fea5d4;
+ --t-color-transparent-green12: #bbffd7f0;
+ --t-color-transparent-turquoise1: #00deab05;
+ --t-color-transparent-turquoise2: #12fbe60c;
+ --t-color-transparent-turquoise3: #00ffe61e;
+ --t-color-transparent-turquoise4: #00ffe92d;
+ --t-color-transparent-turquoise5: #00ffea3b;
+ --t-color-transparent-turquoise6: #1cffe84b;
+ --t-color-transparent-turquoise7: #2efde85f;
+ --t-color-transparent-turquoise8: #32ffe775;
+ --t-color-transparent-turquoise9: #13ffe49f;
+ --t-color-transparent-turquoise10: #0dffe0ae;
+ --t-color-transparent-turquoise11: #0afed5d6;
+ --t-color-transparent-turquoise12: #b8ffebef;
+ --t-color-transparent-sky1: #0044ff0f;
+ --t-color-transparent-sky2: #1171fb18;
+ --t-color-transparent-sky3: #1184fc33;
+ --t-color-transparent-sky4: #128fff49;
+ --t-color-transparent-sky5: #1c9dfd5d;
+ --t-color-transparent-sky6: #28a5ff72;
+ --t-color-transparent-sky7: #2badfe8b;
+ --t-color-transparent-sky8: #1db2fea9;
+ --t-color-transparent-sky9: #7ce3fffe;
+ --t-color-transparent-sky10: #a8eeff;
+ --t-color-transparent-sky11: #7cd3ffef;
+ --t-color-transparent-sky12: #c2f3ff;
+ --t-color-transparent-blue1: #1133ff0f;
+ --t-color-transparent-blue2: #3354fa17;
+ --t-color-transparent-blue3: #2f62ff3c;
+ --t-color-transparent-blue4: #3566ff57;
+ --t-color-transparent-blue5: #4171fd6b;
+ --t-color-transparent-blue6: #5178fd7c;
+ --t-color-transparent-blue7: #5a7fff90;
+ --t-color-transparent-blue8: #5b81feac;
+ --t-color-transparent-blue9: #4671ffdb;
+ --t-color-transparent-blue10: #5c7efee3;
+ --t-color-transparent-blue11: #9eb1ff;
+ --t-color-transparent-blue12: #d6e1ff;
+ --t-color-transparent-purple1: #b412f90b;
+ --t-color-transparent-purple2: #b744f714;
+ --t-color-transparent-purple3: #c150ff2d;
+ --t-color-transparent-purple4: #bb53fd42;
+ --t-color-transparent-purple5: #be5cfd51;
+ --t-color-transparent-purple6: #c16dfd61;
+ --t-color-transparent-purple7: #c378fd7a;
+ --t-color-transparent-purple8: #c47effa4;
+ --t-color-transparent-purple9: #b661ffc2;
+ --t-color-transparent-purple10: #bc6fffcd;
+ --t-color-transparent-purple11: #d19dff;
+ --t-color-transparent-purple12: #f1ddfffa;
+ --t-color-transparent-pink1: #f412bc09;
+ --t-color-transparent-pink2: #f420bb12;
+ --t-color-transparent-pink3: #fe37cc29;
+ --t-color-transparent-pink4: #fc1ec43f;
+ --t-color-transparent-pink5: #fd35c24e;
+ --t-color-transparent-pink6: #fd51c75f;
+ --t-color-transparent-pink7: #fd62c87b;
+ --t-color-transparent-pink8: #ff68c8a2;
+ --t-color-transparent-pink9: #fe49bcd4;
+ --t-color-transparent-pink10: #ff5cc0dc;
+ --t-color-transparent-pink11: #ff8dcc;
+ --t-color-transparent-pink12: #ffd3ecfd;
+ --t-color-transparent-red1: #f4121209;
+ --t-color-transparent-red2: #f22f3e11;
+ --t-color-transparent-red3: #ff173f2d;
+ --t-color-transparent-red4: #fe0a3b44;
+ --t-color-transparent-red5: #ff204756;
+ --t-color-transparent-red6: #ff3e5668;
+ --t-color-transparent-red7: #ff536184;
+ --t-color-transparent-red8: #ff5d61b0;
+ --t-color-transparent-red9: #fe4e54e4;
+ --t-color-transparent-red10: #ff6465eb;
+ --t-color-transparent-red11: #ff9592;
+ --t-color-transparent-red12: #ffd1d9;
+ --t-color-transparent-orange1: #ec360007;
+ --t-color-transparent-orange2: #fe6d000e;
+ --t-color-transparent-orange3: #fb6a0025;
+ --t-color-transparent-orange4: #ff590039;
+ --t-color-transparent-orange5: #ff61004a;
+ --t-color-transparent-orange6: #fd75045c;
+ --t-color-transparent-orange7: #ff832c75;
+ --t-color-transparent-orange8: #fe84389d;
+ --t-color-transparent-orange9: #fe6d15f7;
+ --t-color-transparent-orange10: #ff801f;
+ --t-color-transparent-orange11: #ffa057;
+ --t-color-transparent-orange12: #ffe0c2;
+ --t-color-transparent-yellow1: #d1510004;
+ --t-color-transparent-yellow2: #f9b4000b;
+ --t-color-transparent-yellow3: #ffaa001e;
+ --t-color-transparent-yellow4: #fdb70028;
+ --t-color-transparent-yellow5: #febb0036;
+ --t-color-transparent-yellow6: #fec40046;
+ --t-color-transparent-yellow7: #fdcb225c;
+ --t-color-transparent-yellow8: #fdca327b;
+ --t-color-transparent-yellow9: #ffe629;
+ --t-color-transparent-yellow10: #ffff57;
+ --t-color-transparent-yellow11: #fee949f5;
+ --t-color-transparent-yellow12: #fef6baf6;
+ --t-color-transparent-gray1: color(display-p3 1 1 1 / 0.031);
+ --t-color-transparent-gray2: color(display-p3 1 1 1 / 0.059);
+ --t-color-transparent-gray3: color(display-p3 1 1 1 / 0.047);
+ --t-color-transparent-gray4: color(display-p3 1 1 1 / 0.071);
+ --t-color-transparent-gray5: color(display-p3 1 1 1 / 0.102);
+ --t-color-transparent-gray6: color(display-p3 1 1 1 / 0.114);
+ --t-color-transparent-gray7: color(display-p3 1 1 1 / 0.141);
+ --t-color-transparent-gray8: color(display-p3 1 1 1 / 0.22);
+ --t-color-transparent-gray9: color(display-p3 1 1 1 / 0.427);
+ --t-color-transparent-gray10: color(display-p3 1 1 1 / 0.478);
+ --t-color-transparent-gray11: color(display-p3 1 1 1 / 0.565);
+ --t-color-transparent-gray12: color(display-p3 1 1 1 / 0.91);
+ --t-color-transparent-mauve1: #00000000;
+ --t-color-transparent-mauve2: #f5f4f609;
+ --t-color-transparent-mauve3: #ebeaf814;
+ --t-color-transparent-mauve4: #eee5f81d;
+ --t-color-transparent-mauve5: #efe6fe25;
+ --t-color-transparent-mauve6: #f1e6fd30;
+ --t-color-transparent-mauve7: #eee9ff40;
+ --t-color-transparent-mauve8: #eee7ff5d;
+ --t-color-transparent-mauve9: #eae6fd6e;
+ --t-color-transparent-mauve10: #ece9fd7c;
+ --t-color-transparent-mauve11: #f5f1ffb7;
+ --t-color-transparent-mauve12: #fdfdffef;
+ --t-color-transparent-slate1: #00000000;
+ --t-color-transparent-slate2: #d8f4f609;
+ --t-color-transparent-slate3: #ddeaf814;
+ --t-color-transparent-slate4: #d3edf81d;
+ --t-color-transparent-slate5: #d9edfe25;
+ --t-color-transparent-slate6: #d6ebfd30;
+ --t-color-transparent-slate7: #d9edff40;
+ --t-color-transparent-slate8: #d9edff5d;
+ --t-color-transparent-slate9: #dfebfd6d;
+ --t-color-transparent-slate10: #e5edfd7b;
+ --t-color-transparent-slate11: #f1f7feb5;
+ --t-color-transparent-slate12: #fcfdffef;
+ --t-color-transparent-sage1: #00000000;
+ --t-color-transparent-sage2: #f0f2f108;
+ --t-color-transparent-sage3: #f3f5f412;
+ --t-color-transparent-sage4: #f2fefd1a;
+ --t-color-transparent-sage5: #f1fbfa22;
+ --t-color-transparent-sage6: #edfbf42d;
+ --t-color-transparent-sage7: #edfcf73c;
+ --t-color-transparent-sage8: #ebfdf657;
+ --t-color-transparent-sage9: #dffdf266;
+ --t-color-transparent-sage10: #e5fdf674;
+ --t-color-transparent-sage11: #f4fefbb0;
+ --t-color-transparent-sage12: #fdfffeed;
+ --t-color-transparent-olive1: #00000000;
+ --t-color-transparent-olive2: #f1f2f008;
+ --t-color-transparent-olive3: #f4f5f312;
+ --t-color-transparent-olive4: #f3fef21a;
+ --t-color-transparent-olive5: #f2fbf122;
+ --t-color-transparent-olive6: #f4faed2c;
+ --t-color-transparent-olive7: #f2fced3b;
+ --t-color-transparent-olive8: #edfdeb57;
+ --t-color-transparent-olive9: #ebfde766;
+ --t-color-transparent-olive10: #f0fdec74;
+ --t-color-transparent-olive11: #f6fef4b0;
+ --t-color-transparent-olive12: #fdfffded;
+ --t-color-transparent-sand1: #00000000;
+ --t-color-transparent-sand2: #f4f4f309;
+ --t-color-transparent-sand3: #f6f6f513;
+ --t-color-transparent-sand4: #fefef31b;
+ --t-color-transparent-sand5: #fbfbeb23;
+ --t-color-transparent-sand6: #fffaed2d;
+ --t-color-transparent-sand7: #fffbed3c;
+ --t-color-transparent-sand8: #fff9eb57;
+ --t-color-transparent-sand9: #fffae965;
+ --t-color-transparent-sand10: #fffdee73;
+ --t-color-transparent-sand11: #fffcf4b0;
+ --t-color-transparent-sand12: #fffffded;
+ --t-color-transparent-tomato1: #f1121208;
+ --t-color-transparent-tomato2: #ff55330f;
+ --t-color-transparent-tomato3: #ff35232b;
+ --t-color-transparent-tomato4: #fd201142;
+ --t-color-transparent-tomato5: #fe332153;
+ --t-color-transparent-tomato6: #ff4f3864;
+ --t-color-transparent-tomato7: #fd644a7d;
+ --t-color-transparent-tomato8: #fe6d4ea7;
+ --t-color-transparent-tomato9: #fe5431e4;
+ --t-color-transparent-tomato10: #ff6847eb;
+ --t-color-transparent-tomato11: #ff977d;
+ --t-color-transparent-tomato12: #ffd6cefb;
+ --t-color-transparent-ruby1: #f4124a09;
+ --t-color-transparent-ruby2: #fe5a7f0e;
+ --t-color-transparent-ruby3: #ff235d2c;
+ --t-color-transparent-ruby4: #fd195e42;
+ --t-color-transparent-ruby5: #fe2d6b53;
+ --t-color-transparent-ruby6: #ff447665;
+ --t-color-transparent-ruby7: #ff577d80;
+ --t-color-transparent-ruby8: #ff5c7cae;
+ --t-color-transparent-ruby9: #fe4c70e4;
+ --t-color-transparent-ruby10: #ff617beb;
+ --t-color-transparent-ruby11: #ff949d;
+ --t-color-transparent-ruby12: #ffd3e2fe;
+ --t-color-transparent-crimson1: #f4126709;
+ --t-color-transparent-crimson2: #f22f7a11;
+ --t-color-transparent-crimson3: #fe2a8b2a;
+ --t-color-transparent-crimson4: #fd158741;
+ --t-color-transparent-crimson5: #fd278f51;
+ --t-color-transparent-crimson6: #fe459763;
+ --t-color-transparent-crimson7: #fd559b7f;
+ --t-color-transparent-crimson8: #fe5b9bab;
+ --t-color-transparent-crimson9: #fe418de8;
+ --t-color-transparent-crimson10: #ff5693ed;
+ --t-color-transparent-crimson11: #ff92ad;
+ --t-color-transparent-crimson12: #ffd5eafd;
+ --t-color-transparent-plum1: #f112f108;
+ --t-color-transparent-plum2: #f22ff211;
+ --t-color-transparent-plum3: #fd4cfd27;
+ --t-color-transparent-plum4: #f646ff3a;
+ --t-color-transparent-plum5: #f455ff48;
+ --t-color-transparent-plum6: #f66dff56;
+ --t-color-transparent-plum7: #f07cfd70;
+ --t-color-transparent-plum8: #ee84ff95;
+ --t-color-transparent-plum9: #e961feb6;
+ --t-color-transparent-plum10: #ed70ffc0;
+ --t-color-transparent-plum11: #f19cfef3;
+ --t-color-transparent-plum12: #feddfef4;
+ --t-color-transparent-violet1: #4422ff0f;
+ --t-color-transparent-violet2: #853ff916;
+ --t-color-transparent-violet3: #8354fe36;
+ --t-color-transparent-violet4: #7d51fd50;
+ --t-color-transparent-violet5: #845ffd5f;
+ --t-color-transparent-violet6: #8f6cfd6d;
+ --t-color-transparent-violet7: #9879ff83;
+ --t-color-transparent-violet8: #977dfea8;
+ --t-color-transparent-violet9: #8668ffcc;
+ --t-color-transparent-violet10: #9176fed7;
+ --t-color-transparent-violet11: #baa7ff;
+ --t-color-transparent-violet12: #e3defffe;
+ --t-color-transparent-iris1: #3636fe0e;
+ --t-color-transparent-iris2: #564bf916;
+ --t-color-transparent-iris3: #525bff3b;
+ --t-color-transparent-iris4: #4d58ff5a;
+ --t-color-transparent-iris5: #5b62fd6b;
+ --t-color-transparent-iris6: #6d6ffd7a;
+ --t-color-transparent-iris7: #7777fe8e;
+ --t-color-transparent-iris8: #7b7afeac;
+ --t-color-transparent-iris9: #6a6afed4;
+ --t-color-transparent-iris10: #7d79ffdc;
+ --t-color-transparent-iris11: #b1a9ff;
+ --t-color-transparent-iris12: #e1e0fffe;
+ --t-color-transparent-cyan1: #0091f70a;
+ --t-color-transparent-cyan2: #02a7f211;
+ --t-color-transparent-cyan3: #00befd28;
+ --t-color-transparent-cyan4: #00baff3b;
+ --t-color-transparent-cyan5: #00befd4d;
+ --t-color-transparent-cyan6: #00c7fd5e;
+ --t-color-transparent-cyan7: #14cdff75;
+ --t-color-transparent-cyan8: #11cfff95;
+ --t-color-transparent-cyan9: #00cfffc3;
+ --t-color-transparent-cyan10: #28d6ffcd;
+ --t-color-transparent-cyan11: #52e1fee5;
+ --t-color-transparent-cyan12: #bbf3fef7;
+ --t-color-transparent-jade1: #00de4505;
+ --t-color-transparent-jade2: #27fba60c;
+ --t-color-transparent-jade3: #02f99920;
+ --t-color-transparent-jade4: #00ffaa2d;
+ --t-color-transparent-jade5: #11ffb63b;
+ --t-color-transparent-jade6: #34ffc24b;
+ --t-color-transparent-jade7: #45fdc75e;
+ --t-color-transparent-jade8: #48ffcf75;
+ --t-color-transparent-jade9: #38feca9d;
+ --t-color-transparent-jade10: #31fec7ab;
+ --t-color-transparent-jade11: #21fec0d6;
+ --t-color-transparent-jade12: #b8ffe1ef;
+ --t-color-transparent-grass1: #00de1205;
+ --t-color-transparent-grass2: #5ef7780a;
+ --t-color-transparent-grass3: #70fe8c1b;
+ --t-color-transparent-grass4: #57ff802c;
+ --t-color-transparent-grass5: #68ff8b3b;
+ --t-color-transparent-grass6: #71ff8f4b;
+ --t-color-transparent-grass7: #77fd925d;
+ --t-color-transparent-grass8: #77fd9070;
+ --t-color-transparent-grass9: #65ff82a1;
+ --t-color-transparent-grass10: #72ff8dae;
+ --t-color-transparent-grass11: #89ff9fcd;
+ --t-color-transparent-grass12: #ceffceef;
+ --t-color-transparent-mint1: #00dede05;
+ --t-color-transparent-mint2: #00f9f90b;
+ --t-color-transparent-mint3: #00fff61d;
+ --t-color-transparent-mint4: #00fff42c;
+ --t-color-transparent-mint5: #00fff23a;
+ --t-color-transparent-mint6: #0effeb4a;
+ --t-color-transparent-mint7: #34fde55e;
+ --t-color-transparent-mint8: #41ffdf76;
+ --t-color-transparent-mint9: #92ffe7e9;
+ --t-color-transparent-mint10: #aefeedf5;
+ --t-color-transparent-mint11: #67ffded2;
+ --t-color-transparent-mint12: #cbfee9f5;
+ --t-color-transparent-lime1: #11bb0003;
+ --t-color-transparent-lime2: #78f7000a;
+ --t-color-transparent-lime3: #9bfd4c1a;
+ --t-color-transparent-lime4: #a7fe5c29;
+ --t-color-transparent-lime5: #affe6537;
+ --t-color-transparent-lime6: #b2fe6d46;
+ --t-color-transparent-lime7: #b6ff6f57;
+ --t-color-transparent-lime8: #b6fd6d6c;
+ --t-color-transparent-lime9: #caff69ed;
+ --t-color-transparent-lime10: #d4ff70;
+ --t-color-transparent-lime11: #d1fe77e4;
+ --t-color-transparent-lime12: #e9febff7;
+ --t-color-transparent-bronze1: #d1110004;
+ --t-color-transparent-bronze2: #fbbc910c;
+ --t-color-transparent-bronze3: #faceb817;
+ --t-color-transparent-bronze4: #facdb622;
+ --t-color-transparent-bronze5: #ffd2c12d;
+ --t-color-transparent-bronze6: #ffd1c03c;
+ --t-color-transparent-bronze7: #fdd0c04f;
+ --t-color-transparent-bronze8: #ffd6c565;
+ --t-color-transparent-bronze9: #fec7b09b;
+ --t-color-transparent-bronze10: #fecab5a9;
+ --t-color-transparent-bronze11: #ffd7c6d1;
+ --t-color-transparent-bronze12: #fff1e9ec;
+ --t-color-transparent-gold1: #91911102;
+ --t-color-transparent-gold2: #f9e29d0b;
+ --t-color-transparent-gold3: #f8ecbb15;
+ --t-color-transparent-gold4: #ffeec41e;
+ --t-color-transparent-gold5: #feecc22a;
+ --t-color-transparent-gold6: #feebcb37;
+ --t-color-transparent-gold7: #ffedcd48;
+ --t-color-transparent-gold8: #fdeaca5f;
+ --t-color-transparent-gold9: #ffdba690;
+ --t-color-transparent-gold10: #fedfb09d;
+ --t-color-transparent-gold11: #fee7c6c8;
+ --t-color-transparent-gold12: #fef7ede7;
+ --t-color-transparent-brown1: #91110002;
+ --t-color-transparent-brown2: #fba67c0c;
+ --t-color-transparent-brown3: #fcb58c19;
+ --t-color-transparent-brown4: #fbbb8a24;
+ --t-color-transparent-brown5: #fcb88931;
+ --t-color-transparent-brown6: #fdba8741;
+ --t-color-transparent-brown7: #ffbb8856;
+ --t-color-transparent-brown8: #ffbe8773;
+ --t-color-transparent-brown9: #feb87da8;
+ --t-color-transparent-brown10: #ffc18cb3;
+ --t-color-transparent-brown11: #fed1aad9;
+ --t-color-transparent-brown12: #feecd4f2;
+ --t-color-transparent-amber1: #e63c0006;
+ --t-color-transparent-amber2: #fd9b000d;
+ --t-color-transparent-amber3: #fa820022;
+ --t-color-transparent-amber4: #fc820032;
+ --t-color-transparent-amber5: #fd8b0041;
+ --t-color-transparent-amber6: #fd9b0051;
+ --t-color-transparent-amber7: #ffab2567;
+ --t-color-transparent-amber8: #ffae3587;
+ --t-color-transparent-amber9: #ffc53d;
+ --t-color-transparent-amber10: #ffd60a;
+ --t-color-transparent-amber11: #ffca16;
+ --t-color-transparent-amber12: #ffe7b3;
+}
diff --git a/packages/twenty-new-ui/src/theme-constants/theme-light.css b/packages/twenty-new-ui/src/theme-constants/theme-light.css
new file mode 100644
index 00000000000..a298848664b
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme-constants/theme-light.css
@@ -0,0 +1,1011 @@
+/* Theme CSS variables, mirrored token-for-token from twenty-ui.
+ Kept in sync by the theme parity test (src/theme-constants/__tests__). */
+
+.light {
+ --t-icon-size-sm: 14;
+ --t-icon-size-md: 16;
+ --t-icon-size-lg: 20;
+ --t-icon-size-xl: 24;
+ --t-icon-stroke-sm: 1.6;
+ --t-icon-stroke-md: 2;
+ --t-icon-stroke-lg: 2.5;
+ --t-modal-size-sm-width: 300px;
+ --t-modal-size-md-width: 400px;
+ --t-modal-size-lg-width: 53%;
+ --t-modal-size-xl-width: 1200px;
+ --t-modal-size-xl-height: 800px;
+ --t-modal-size-fullscreen-width: 100dvw;
+ --t-modal-size-fullscreen-height: 100dvh;
+ --t-text-line-height-lg: 1.5;
+ --t-text-line-height-md: 1.1;
+ --t-text-icon-size-medium: 16;
+ --t-text-icon-size-small: 14;
+ --t-text-icon-strike-light: 1.6;
+ --t-text-icon-strike-medium: 2;
+ --t-text-icon-strike-bold: 2.5;
+ --t-animation-duration-instant: 0.075;
+ --t-animation-duration-fast: 0.15;
+ --t-animation-duration-normal: 0.3;
+ --t-animation-duration-slow: 1.5;
+ --t-spacing-multiplicator: 4;
+ --t-spacing-0: 0px;
+ --t-spacing-1: 4px;
+ --t-spacing-2: 8px;
+ --t-spacing-3: 12px;
+ --t-spacing-4: 16px;
+ --t-spacing-5: 20px;
+ --t-spacing-6: 24px;
+ --t-spacing-7: 28px;
+ --t-spacing-8: 32px;
+ --t-spacing-9: 36px;
+ --t-spacing-10: 40px;
+ --t-spacing-11: 44px;
+ --t-spacing-12: 48px;
+ --t-spacing-13: 52px;
+ --t-spacing-14: 56px;
+ --t-spacing-15: 60px;
+ --t-spacing-16: 64px;
+ --t-spacing-17: 68px;
+ --t-spacing-18: 72px;
+ --t-spacing-19: 76px;
+ --t-spacing-20: 80px;
+ --t-spacing-21: 84px;
+ --t-spacing-22: 88px;
+ --t-spacing-23: 92px;
+ --t-spacing-24: 96px;
+ --t-spacing-25: 100px;
+ --t-spacing-26: 104px;
+ --t-spacing-27: 108px;
+ --t-spacing-28: 112px;
+ --t-spacing-29: 116px;
+ --t-spacing-30: 120px;
+ --t-spacing-31: 124px;
+ --t-spacing-32: 128px;
+ --t-spacing-0_5: 2px;
+ --t-spacing-1_5: 6px;
+ --t-between-siblings-gap: 2px;
+ --t-table-horizontal-cell-margin: 8px;
+ --t-table-checkbox-column-width: 32px;
+ --t-table-horizontal-cell-padding: 8px;
+ --t-side-panel-width: 500px;
+ --t-clickable-element-background-transition: background 0.1s ease;
+ --t-last-layer-z-index: 2147483647;
+ --t-buttons-secondary-text-color: color(display-p3 0.63 0.69 1);
+ --t-accent-primary: color(display-p3 0.831 0.87 1);
+ --t-accent-secondary: color(display-p3 0.831 0.87 1);
+ --t-accent-tertiary: color(display-p3 0.933 0.948 0.992);
+ --t-accent-quaternary: color(display-p3 0.971 0.977 0.998);
+ --t-accent-accent3570: color(display-p3 0.569 0.639 0.916);
+ --t-accent-accent4060: color(display-p3 0.569 0.639 0.916);
+ --t-accent-accent1: color(display-p3 0.992 0.992 0.996);
+ --t-accent-accent2: color(display-p3 0.971 0.977 0.998);
+ --t-accent-accent3: color(display-p3 0.933 0.948 0.992);
+ --t-accent-accent4: color(display-p3 0.885 0.914 1);
+ --t-accent-accent5: color(display-p3 0.831 0.87 1);
+ --t-accent-accent6: color(display-p3 0.767 0.814 0.995);
+ --t-accent-accent7: color(display-p3 0.685 0.74 0.957);
+ --t-accent-accent8: color(display-p3 0.569 0.639 0.916);
+ --t-accent-accent9: color(display-p3 0.276 0.384 0.837);
+ --t-accent-accent10: color(display-p3 0.234 0.343 0.801);
+ --t-accent-accent11: color(display-p3 0.256 0.354 0.755);
+ --t-accent-accent12: color(display-p3 0.133 0.175 0.348);
+ --t-background-noisy: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIYAAABQCAIAAABTfJr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAF0WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuOWNjYzRkZTkzLCAyMDIyLzAzLzE0LTE0OjA3OjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjMuMyAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjMtMDctMThUMTI6MjY6MzQrMDI6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIzLTA3LTE4VDEyOjI4OjMyKzAyOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIzLTA3LTE4VDEyOjI4OjMyKzAyOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDphZWU5ZDg2OC04OWRmLTRiMDAtYWQ5ZS0zZDQyMTJjZjNhM2UiIHhtcE1NOkRvY3VtZW50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);
+ --t-background-primary: color(display-p3 1 1 1);
+ --t-background-secondary: color(display-p3 0.988 0.988 0.988);
+ --t-background-tertiary: color(display-p3 0.945 0.945 0.945);
+ --t-background-quaternary: color(display-p3 0.922 0.922 0.922);
+ --t-background-inverted-primary: color(display-p3 0.2 0.2 0.2);
+ --t-background-inverted-secondary: color(display-p3 0.4 0.4 0.4);
+ --t-background-danger: color(display-p3 0.985 0.925 0.925);
+ --t-background-transparent-primary: color(display-p3 1 1 1 / 0.5);
+ --t-background-transparent-secondary: color(display-p3 1 1 1 / 0.4);
+ --t-background-transparent-strong: color(display-p3 0 0 0 / 0.161);
+ --t-background-transparent-medium: color(display-p3 0 0 0 / 0.078);
+ --t-background-transparent-light: color(display-p3 0 0 0 / 0.039);
+ --t-background-transparent-lighter: color(display-p3 0 0 0 / 0.02);
+ --t-background-transparent-danger: #f3000d14;
+ --t-background-transparent-blue: #0047f112;
+ --t-background-transparent-orange: #ff9c0029;
+ --t-background-transparent-success: #00a43319;
+ --t-background-overlay-primary: color(display-p3 0 0 0 / 0.722);
+ --t-background-overlay-secondary: color(display-p3 0 0 0 / 0.361);
+ --t-background-overlay-tertiary: color(display-p3 0 0 0 / 0.071);
+ --t-background-radial-gradient: radial-gradient(
+ 50% 62.62% at 50% 0%,
+ color(display-p3 0.6 0.6 0.6) 0%,
+ color(display-p3 0.514 0.514 0.514) 100%
+ );
+ --t-background-radial-gradient-hover: radial-gradient(
+ 76.32% 95.59% at 50% 0%,
+ color(display-p3 0.514 0.514 0.514) 0%,
+ color(display-p3 0.4 0.4 0.4) 100%
+ );
+ --t-background-primary-inverted: color(display-p3 0.2 0.2 0.2);
+ --t-background-primary-inverted-hover: color(display-p3 0.4 0.4 0.4);
+ --t-blur-light: blur(6px) saturate(200%) contrast(50%) brightness(130%);
+ --t-blur-medium: blur(12px) saturate(200%) contrast(50%) brightness(130%);
+ --t-blur-strong: blur(20px) saturate(200%) contrast(50%) brightness(130%);
+ --t-border-color-strong: color(display-p3 0.839 0.839 0.839);
+ --t-border-color-medium: color(display-p3 0.922 0.922 0.922);
+ --t-border-color-light: color(display-p3 0.945 0.945 0.945);
+ --t-border-color-secondary-inverted: color(display-p3 0.4 0.4 0.4);
+ --t-border-color-inverted: color(display-p3 0.2 0.2 0.2);
+ --t-border-color-danger: color(display-p3 0.984 0.812 0.811);
+ --t-border-color-blue: color(display-p3 0.685 0.74 0.957);
+ --t-border-color-transparent-strong: color(display-p3 0 0 0 / 0.071);
+ --t-border-radius-xs: 2px;
+ --t-border-radius-sm: 4px;
+ --t-border-radius-md: 8px;
+ --t-border-radius-xl: 20px;
+ --t-border-radius-xxl: 40px;
+ --t-border-radius-pill: 999px;
+ --t-border-radius-rounded: 100%;
+ --t-box-shadow-color: color(display-p3 0 0 0 / 0.039);
+ --t-box-shadow-light:
+ 0px 2px 4px 0px color(display-p3 0 0 0 / 0.039),
+ 0px 0px 4px 0px color(display-p3 0 0 0 / 0.078);
+ --t-box-shadow-strong:
+ 2px 4px 16px 0px color(display-p3 0 0 0 / 0.161),
+ 0px 2px 4px 0px color(display-p3 0 0 0 / 0.078);
+ --t-box-shadow-underline: 0px 1px 0px 0px color(display-p3 0 0 0 / 0.361);
+ --t-box-shadow-super-heavy:
+ 0px 0px 8px 0px color(display-p3 0 0 0 / 0.161),
+ 0px 8px 64px -16px color(display-p3 0 0 0 / 0.478),
+ 0px 24px 56px -16px color(display-p3 0 0 0 / 0.078);
+ --t-font-color-primary: color(display-p3 0.2 0.2 0.2);
+ --t-font-color-secondary: color(display-p3 0.4 0.4 0.4);
+ --t-font-color-tertiary: color(display-p3 0.6 0.6 0.6);
+ --t-font-color-light: color(display-p3 0.702 0.702 0.702);
+ --t-font-color-extra-light: color(display-p3 0.8 0.8 0.8);
+ --t-font-color-inverted: color(display-p3 1 1 1);
+ --t-font-color-danger: color(display-p3 0.83 0.329 0.324);
+ --t-font-size-xxs: 0.625rem;
+ --t-font-size-xs: 0.85rem;
+ --t-font-size-sm: 0.92rem;
+ --t-font-size-md: 1rem;
+ --t-font-size-lg: 1.23rem;
+ --t-font-size-xl: 1.54rem;
+ --t-font-size-xxl: 1.85rem;
+ --t-font-weight-regular: 400;
+ --t-font-weight-medium: 500;
+ --t-font-weight-semi-bold: 600;
+ --t-font-family: Inter, sans-serif;
+ --t-name: light;
+ --t-snack-bar-success-color: color(display-p3 0.297 0.637 0.581);
+ --t-snack-bar-success-background-color: #00a43319;
+ --t-snack-bar-error-color: color(display-p3 0.83 0.329 0.324);
+ --t-snack-bar-error-background-color: #f3000d14;
+ --t-snack-bar-warning-color: color(display-p3 0.9 0.45 0.2);
+ --t-snack-bar-warning-background-color: #ff9c0029;
+ --t-snack-bar-info-color: color(display-p3 0.276 0.384 0.837);
+ --t-snack-bar-info-background-color: #0047f112;
+ --t-snack-bar-default-color: color(display-p3 0.2 0.2 0.2);
+ --t-snack-bar-default-background-color: color(display-p3 0 0 0 / 0.039);
+ --t-tag-text-gray: color(display-p3 0.4 0.4 0.4);
+ --t-tag-text-mauve: color(display-p3 0.395 0.388 0.424);
+ --t-tag-text-slate: color(display-p3 0.379 0.392 0.421);
+ --t-tag-text-sage: color(display-p3 0.377 0.395 0.389);
+ --t-tag-text-olive: color(display-p3 0.38 0.395 0.374);
+ --t-tag-text-sand: color(display-p3 0.388 0.388 0.37);
+ --t-tag-text-tomato: color(display-p3 0.755 0.259 0.152);
+ --t-tag-text-red: color(display-p3 0.744 0.234 0.222);
+ --t-tag-text-ruby: color(display-p3 0.728 0.211 0.311);
+ --t-tag-text-crimson: color(display-p3 0.731 0.195 0.388);
+ --t-tag-text-pink: color(display-p3 0.698 0.219 0.528);
+ --t-tag-text-plum: color(display-p3 0.543 0.263 0.619);
+ --t-tag-text-purple: color(display-p3 0.473 0.281 0.687);
+ --t-tag-text-violet: color(display-p3 0.383 0.317 0.702);
+ --t-tag-text-iris: color(display-p3 0.337 0.326 0.748);
+ --t-tag-text-cyan: color(display-p3 0.08 0.48 0.63);
+ --t-tag-text-turquoise: color(display-p3 0.08 0.5 0.43);
+ --t-tag-text-sky: color(display-p3 0.193 0.448 0.605);
+ --t-tag-text-blue: color(display-p3 0.256 0.354 0.755);
+ --t-tag-text-jade: color(display-p3 0.15 0.5 0.37);
+ --t-tag-text-green: color(display-p3 0.19 0.5 0.32);
+ --t-tag-text-grass: color(display-p3 0.263 0.488 0.261);
+ --t-tag-text-mint: color(display-p3 0.203 0.463 0.397);
+ --t-tag-text-lime: color(display-p3 0.386 0.482 0.227);
+ --t-tag-text-bronze: color(display-p3 0.471 0.373 0.336);
+ --t-tag-text-gold: color(display-p3 0.433 0.386 0.305);
+ --t-tag-text-brown: color(display-p3 0.485 0.374 0.288);
+ --t-tag-text-orange: color(display-p3 0.76 0.34 0);
+ --t-tag-text-amber: color(display-p3 0.64 0.4 0);
+ --t-tag-text-yellow: color(display-p3 0.6 0.44 0);
+ --t-tag-background-gray: color(display-p3 0.976 0.976 0.976);
+ --t-tag-background-mauve: color(display-p3 0.946 0.938 0.952);
+ --t-tag-background-slate: color(display-p3 0.94 0.941 0.953);
+ --t-tag-background-sage: color(display-p3 0.935 0.944 0.94);
+ --t-tag-background-olive: color(display-p3 0.939 0.945 0.937);
+ --t-tag-background-sand: color(display-p3 0.943 0.942 0.936);
+ --t-tag-background-tomato: color(display-p3 0.985 0.924 0.909);
+ --t-tag-background-red: color(display-p3 0.985 0.925 0.925);
+ --t-tag-background-ruby: color(display-p3 0.983 0.92 0.928);
+ --t-tag-background-crimson: color(display-p3 0.987 0.917 0.941);
+ --t-tag-background-pink: color(display-p3 0.981 0.917 0.96);
+ --t-tag-background-plum: color(display-p3 0.973 0.923 0.98);
+ --t-tag-background-purple: color(display-p3 0.963 0.931 0.989);
+ --t-tag-background-violet: color(display-p3 0.953 0.943 0.993);
+ --t-tag-background-iris: color(display-p3 0.943 0.945 0.992);
+ --t-tag-background-cyan: color(display-p3 0.888 0.965 0.975);
+ --t-tag-background-turquoise: color(display-p3 0.895 0.971 0.952);
+ --t-tag-background-sky: color(display-p3 0.899 0.963 0.989);
+ --t-tag-background-blue: color(display-p3 0.933 0.948 0.992);
+ --t-tag-background-jade: color(display-p3 0.912 0.965 0.932);
+ --t-tag-background-green: color(display-p3 0.913 0.964 0.925);
+ --t-tag-background-grass: color(display-p3 0.923 0.965 0.917);
+ --t-tag-background-mint: color(display-p3 0.888 0.972 0.95);
+ --t-tag-background-lime: color(display-p3 0.939 0.965 0.851);
+ --t-tag-background-bronze: color(display-p3 0.958 0.932 0.919);
+ --t-tag-background-gold: color(display-p3 0.947 0.94 0.909);
+ --t-tag-background-brown: color(display-p3 0.959 0.936 0.909);
+ --t-tag-background-orange: color(display-p3 0.989 0.938 0.85);
+ --t-tag-background-amber: color(display-p3 0.994 0.969 0.782);
+ --t-tag-background-yellow: color(display-p3 0.997 0.982 0.749);
+ --t-code-text-gray: color(display-p3 0.514 0.514 0.514);
+ --t-code-text-sky: color(display-p3 0.555 0.845 0.959);
+ --t-code-text-pink: color(display-p3 0.748 0.27 0.581);
+ --t-code-text-orange: color(display-p3 0.877 0.597 0.379);
+ --t-code-text-green: color(display-p3 0.585 0.707 0.378);
+ --t-code-font-family: DM Mono;
+ --t--illustration-icon-color-blue: color(display-p3 0.569 0.639 0.916);
+ --t--illustration-icon-color-gray: color(display-p3 0.6 0.6 0.6);
+ --t--illustration-icon-fill-blue: color(display-p3 0.831 0.87 1);
+ --t--illustration-icon-fill-gray: color(display-p3 0.922 0.922 0.922);
+ --t-gray-scale-gray1: color(display-p3 1 1 1);
+ --t-gray-scale-gray2: color(display-p3 0.988 0.988 0.988);
+ --t-gray-scale-gray3: color(display-p3 0.976 0.976 0.976);
+ --t-gray-scale-gray4: color(display-p3 0.945 0.945 0.945);
+ --t-gray-scale-gray5: color(display-p3 0.922 0.922 0.922);
+ --t-gray-scale-gray6: color(display-p3 0.839 0.839 0.839);
+ --t-gray-scale-gray7: color(display-p3 0.8 0.8 0.8);
+ --t-gray-scale-gray8: color(display-p3 0.702 0.702 0.702);
+ --t-gray-scale-gray9: color(display-p3 0.6 0.6 0.6);
+ --t-gray-scale-gray10: color(display-p3 0.514 0.514 0.514);
+ --t-gray-scale-gray11: color(display-p3 0.4 0.4 0.4);
+ --t-gray-scale-gray12: color(display-p3 0.2 0.2 0.2);
+ --t-color-red: color(display-p3 0.83 0.329 0.324);
+ --t-color-ruby: color(display-p3 0.83 0.323 0.408);
+ --t-color-crimson: color(display-p3 0.843 0.298 0.507);
+ --t-color-tomato: color(display-p3 0.831 0.345 0.231);
+ --t-color-orange: color(display-p3 0.9 0.45 0.2);
+ --t-color-amber: color(display-p3 1 0.77 0.26);
+ --t-color-yellow: color(display-p3 1 0.92 0.22);
+ --t-color-lime: color(display-p3 0.78 0.928 0.466);
+ --t-color-grass: color(display-p3 0.38 0.647 0.378);
+ --t-color-green: color(display-p3 0.332 0.634 0.442);
+ --t-color-jade: color(display-p3 0.319 0.63 0.521);
+ --t-color-mint: color(display-p3 0.62 0.908 0.834);
+ --t-color-turquoise: color(display-p3 0.297 0.637 0.581);
+ --t-color-cyan: color(display-p3 0.282 0.627 0.765);
+ --t-color-sky: color(display-p3 0.585 0.877 0.983);
+ --t-color-blue: color(display-p3 0.276 0.384 0.837);
+ --t-color-iris: color(display-p3 0.357 0.357 0.81);
+ --t-color-violet: color(display-p3 0.417 0.341 0.784);
+ --t-color-purple: color(display-p3 0.523 0.318 0.751);
+ --t-color-plum: color(display-p3 0.624 0.313 0.708);
+ --t-color-pink: color(display-p3 0.775 0.297 0.61);
+ --t-color-bronze: color(display-p3 0.611 0.507 0.455);
+ --t-color-gold: color(display-p3 0.579 0.517 0.41);
+ --t-color-brown: color(display-p3 0.651 0.505 0.368);
+ --t-color-gray: color(display-p3 0.6 0.6 0.6);
+ --t-color-yellow1: color(display-p3 0.992 0.992 0.978);
+ --t-color-yellow2: color(display-p3 0.995 0.99 0.922);
+ --t-color-yellow3: color(display-p3 0.997 0.982 0.749);
+ --t-color-yellow4: color(display-p3 0.992 0.953 0.627);
+ --t-color-yellow5: color(display-p3 0.984 0.91 0.51);
+ --t-color-yellow6: color(display-p3 0.934 0.847 0.474);
+ --t-color-yellow7: color(display-p3 0.876 0.785 0.46);
+ --t-color-yellow8: color(display-p3 0.811 0.689 0.313);
+ --t-color-yellow9: color(display-p3 1 0.92 0.22);
+ --t-color-yellow10: color(display-p3 0.977 0.868 0.291);
+ --t-color-yellow11: color(display-p3 0.6 0.44 0);
+ --t-color-yellow12: color(display-p3 0.271 0.233 0.137);
+ --t-color-green1: color(display-p3 0.986 0.996 0.989);
+ --t-color-green2: color(display-p3 0.963 0.983 0.967);
+ --t-color-green3: color(display-p3 0.913 0.964 0.925);
+ --t-color-green4: color(display-p3 0.859 0.94 0.879);
+ --t-color-green5: color(display-p3 0.796 0.907 0.826);
+ --t-color-green6: color(display-p3 0.718 0.863 0.761);
+ --t-color-green7: color(display-p3 0.61 0.801 0.675);
+ --t-color-green8: color(display-p3 0.451 0.715 0.559);
+ --t-color-green9: color(display-p3 0.332 0.634 0.442);
+ --t-color-green10: color(display-p3 0.308 0.595 0.417);
+ --t-color-green11: color(display-p3 0.19 0.5 0.32);
+ --t-color-green12: color(display-p3 0.132 0.228 0.18);
+ --t-color-turquoise1: color(display-p3 0.983 0.996 0.992);
+ --t-color-turquoise2: color(display-p3 0.958 0.983 0.976);
+ --t-color-turquoise3: color(display-p3 0.895 0.971 0.952);
+ --t-color-turquoise4: color(display-p3 0.831 0.949 0.92);
+ --t-color-turquoise5: color(display-p3 0.761 0.914 0.878);
+ --t-color-turquoise6: color(display-p3 0.682 0.864 0.825);
+ --t-color-turquoise7: color(display-p3 0.581 0.798 0.756);
+ --t-color-turquoise8: color(display-p3 0.433 0.716 0.671);
+ --t-color-turquoise9: color(display-p3 0.297 0.637 0.581);
+ --t-color-turquoise10: color(display-p3 0.275 0.599 0.542);
+ --t-color-turquoise11: color(display-p3 0.08 0.5 0.43);
+ --t-color-turquoise12: color(display-p3 0.11 0.235 0.219);
+ --t-color-sky1: color(display-p3 0.98 0.995 0.999);
+ --t-color-sky2: color(display-p3 0.953 0.98 0.99);
+ --t-color-sky3: color(display-p3 0.899 0.963 0.989);
+ --t-color-sky4: color(display-p3 0.842 0.937 0.977);
+ --t-color-sky5: color(display-p3 0.777 0.9 0.954);
+ --t-color-sky6: color(display-p3 0.701 0.851 0.921);
+ --t-color-sky7: color(display-p3 0.604 0.785 0.879);
+ --t-color-sky8: color(display-p3 0.457 0.696 0.829);
+ --t-color-sky9: color(display-p3 0.585 0.877 0.983);
+ --t-color-sky10: color(display-p3 0.555 0.845 0.959);
+ --t-color-sky11: color(display-p3 0.193 0.448 0.605);
+ --t-color-sky12: color(display-p3 0.145 0.241 0.329);
+ --t-color-blue1: color(display-p3 0.992 0.992 0.996);
+ --t-color-blue2: color(display-p3 0.971 0.977 0.998);
+ --t-color-blue3: color(display-p3 0.933 0.948 0.992);
+ --t-color-blue4: color(display-p3 0.885 0.914 1);
+ --t-color-blue5: color(display-p3 0.831 0.87 1);
+ --t-color-blue6: color(display-p3 0.767 0.814 0.995);
+ --t-color-blue7: color(display-p3 0.685 0.74 0.957);
+ --t-color-blue8: color(display-p3 0.569 0.639 0.916);
+ --t-color-blue9: color(display-p3 0.276 0.384 0.837);
+ --t-color-blue10: color(display-p3 0.234 0.343 0.801);
+ --t-color-blue11: color(display-p3 0.256 0.354 0.755);
+ --t-color-blue12: color(display-p3 0.133 0.175 0.348);
+ --t-color-purple1: color(display-p3 0.995 0.988 0.996);
+ --t-color-purple2: color(display-p3 0.983 0.971 0.993);
+ --t-color-purple3: color(display-p3 0.963 0.931 0.989);
+ --t-color-purple4: color(display-p3 0.937 0.888 0.981);
+ --t-color-purple5: color(display-p3 0.904 0.837 0.966);
+ --t-color-purple6: color(display-p3 0.86 0.774 0.942);
+ --t-color-purple7: color(display-p3 0.799 0.69 0.91);
+ --t-color-purple8: color(display-p3 0.719 0.583 0.874);
+ --t-color-purple9: color(display-p3 0.523 0.318 0.751);
+ --t-color-purple10: color(display-p3 0.483 0.289 0.7);
+ --t-color-purple11: color(display-p3 0.473 0.281 0.687);
+ --t-color-purple12: color(display-p3 0.234 0.132 0.363);
+ --t-color-pink1: color(display-p3 0.998 0.989 0.996);
+ --t-color-pink2: color(display-p3 0.992 0.97 0.985);
+ --t-color-pink3: color(display-p3 0.981 0.917 0.96);
+ --t-color-pink4: color(display-p3 0.963 0.867 0.932);
+ --t-color-pink5: color(display-p3 0.939 0.815 0.899);
+ --t-color-pink6: color(display-p3 0.907 0.756 0.859);
+ --t-color-pink7: color(display-p3 0.869 0.683 0.81);
+ --t-color-pink8: color(display-p3 0.825 0.59 0.751);
+ --t-color-pink9: color(display-p3 0.775 0.297 0.61);
+ --t-color-pink10: color(display-p3 0.748 0.27 0.581);
+ --t-color-pink11: color(display-p3 0.698 0.219 0.528);
+ --t-color-pink12: color(display-p3 0.363 0.101 0.279);
+ --t-color-red1: color(display-p3 0.998 0.989 0.988);
+ --t-color-red2: color(display-p3 0.995 0.971 0.971);
+ --t-color-red3: color(display-p3 0.985 0.925 0.925);
+ --t-color-red4: color(display-p3 0.999 0.866 0.866);
+ --t-color-red5: color(display-p3 0.984 0.812 0.811);
+ --t-color-red6: color(display-p3 0.955 0.751 0.749);
+ --t-color-red7: color(display-p3 0.915 0.675 0.672);
+ --t-color-red8: color(display-p3 0.872 0.575 0.572);
+ --t-color-red9: color(display-p3 0.83 0.329 0.324);
+ --t-color-red10: color(display-p3 0.798 0.294 0.285);
+ --t-color-red11: color(display-p3 0.744 0.234 0.222);
+ --t-color-red12: color(display-p3 0.36 0.115 0.143);
+ --t-color-orange1: color(display-p3 0.995 0.988 0.985);
+ --t-color-orange2: color(display-p3 0.994 0.968 0.934);
+ --t-color-orange3: color(display-p3 0.989 0.938 0.85);
+ --t-color-orange4: color(display-p3 1 0.874 0.687);
+ --t-color-orange5: color(display-p3 1 0.821 0.583);
+ --t-color-orange6: color(display-p3 0.975 0.767 0.545);
+ --t-color-orange7: color(display-p3 0.919 0.693 0.486);
+ --t-color-orange8: color(display-p3 0.877 0.597 0.379);
+ --t-color-orange9: color(display-p3 0.9 0.45 0.2);
+ --t-color-orange10: color(display-p3 0.87 0.409 0.164);
+ --t-color-orange11: color(display-p3 0.76 0.34 0);
+ --t-color-orange12: color(display-p3 0.323 0.185 0.127);
+ --t-color-gray1: color(display-p3 1 1 1);
+ --t-color-gray2: color(display-p3 0.988 0.988 0.988);
+ --t-color-gray3: color(display-p3 0.976 0.976 0.976);
+ --t-color-gray4: color(display-p3 0.945 0.945 0.945);
+ --t-color-gray5: color(display-p3 0.922 0.922 0.922);
+ --t-color-gray6: color(display-p3 0.839 0.839 0.839);
+ --t-color-gray7: color(display-p3 0.8 0.8 0.8);
+ --t-color-gray8: color(display-p3 0.702 0.702 0.702);
+ --t-color-gray9: color(display-p3 0.6 0.6 0.6);
+ --t-color-gray10: color(display-p3 0.514 0.514 0.514);
+ --t-color-gray11: color(display-p3 0.4 0.4 0.4);
+ --t-color-gray12: color(display-p3 0.2 0.2 0.2);
+ --t-color-mauve1: color(display-p3 0.991 0.988 0.992);
+ --t-color-mauve2: color(display-p3 0.98 0.976 0.984);
+ --t-color-mauve3: color(display-p3 0.946 0.938 0.952);
+ --t-color-mauve4: color(display-p3 0.915 0.906 0.925);
+ --t-color-mauve5: color(display-p3 0.886 0.876 0.901);
+ --t-color-mauve6: color(display-p3 0.856 0.846 0.875);
+ --t-color-mauve7: color(display-p3 0.814 0.804 0.84);
+ --t-color-mauve8: color(display-p3 0.735 0.728 0.777);
+ --t-color-mauve9: color(display-p3 0.555 0.549 0.596);
+ --t-color-mauve10: color(display-p3 0.514 0.508 0.552);
+ --t-color-mauve11: color(display-p3 0.395 0.388 0.424);
+ --t-color-mauve12: color(display-p3 0.128 0.122 0.147);
+ --t-color-slate1: color(display-p3 0.988 0.988 0.992);
+ --t-color-slate2: color(display-p3 0.976 0.976 0.984);
+ --t-color-slate3: color(display-p3 0.94 0.941 0.953);
+ --t-color-slate4: color(display-p3 0.908 0.909 0.925);
+ --t-color-slate5: color(display-p3 0.88 0.881 0.901);
+ --t-color-slate6: color(display-p3 0.85 0.852 0.876);
+ --t-color-slate7: color(display-p3 0.805 0.808 0.838);
+ --t-color-slate8: color(display-p3 0.727 0.733 0.773);
+ --t-color-slate9: color(display-p3 0.547 0.553 0.592);
+ --t-color-slate10: color(display-p3 0.503 0.512 0.549);
+ --t-color-slate11: color(display-p3 0.379 0.392 0.421);
+ --t-color-slate12: color(display-p3 0.113 0.125 0.14);
+ --t-color-sage1: color(display-p3 0.986 0.992 0.988);
+ --t-color-sage2: color(display-p3 0.97 0.977 0.974);
+ --t-color-sage3: color(display-p3 0.935 0.944 0.94);
+ --t-color-sage4: color(display-p3 0.904 0.913 0.909);
+ --t-color-sage5: color(display-p3 0.875 0.885 0.88);
+ --t-color-sage6: color(display-p3 0.844 0.854 0.849);
+ --t-color-sage7: color(display-p3 0.8 0.811 0.806);
+ --t-color-sage8: color(display-p3 0.725 0.738 0.732);
+ --t-color-sage9: color(display-p3 0.531 0.556 0.546);
+ --t-color-sage10: color(display-p3 0.492 0.515 0.506);
+ --t-color-sage11: color(display-p3 0.377 0.395 0.389);
+ --t-color-sage12: color(display-p3 0.107 0.129 0.118);
+ --t-color-olive1: color(display-p3 0.989 0.992 0.989);
+ --t-color-olive2: color(display-p3 0.974 0.98 0.973);
+ --t-color-olive3: color(display-p3 0.939 0.945 0.937);
+ --t-color-olive4: color(display-p3 0.907 0.914 0.905);
+ --t-color-olive5: color(display-p3 0.878 0.885 0.875);
+ --t-color-olive6: color(display-p3 0.846 0.855 0.843);
+ --t-color-olive7: color(display-p3 0.803 0.812 0.8);
+ --t-color-olive8: color(display-p3 0.727 0.738 0.723);
+ --t-color-olive9: color(display-p3 0.541 0.556 0.532);
+ --t-color-olive10: color(display-p3 0.5 0.515 0.491);
+ --t-color-olive11: color(display-p3 0.38 0.395 0.374);
+ --t-color-olive12: color(display-p3 0.117 0.129 0.111);
+ --t-color-sand1: color(display-p3 0.992 0.992 0.989);
+ --t-color-sand2: color(display-p3 0.977 0.977 0.973);
+ --t-color-sand3: color(display-p3 0.943 0.942 0.936);
+ --t-color-sand4: color(display-p3 0.913 0.912 0.903);
+ --t-color-sand5: color(display-p3 0.885 0.883 0.873);
+ --t-color-sand6: color(display-p3 0.854 0.852 0.839);
+ --t-color-sand7: color(display-p3 0.813 0.81 0.794);
+ --t-color-sand8: color(display-p3 0.738 0.734 0.713);
+ --t-color-sand9: color(display-p3 0.553 0.553 0.528);
+ --t-color-sand10: color(display-p3 0.511 0.511 0.488);
+ --t-color-sand11: color(display-p3 0.388 0.388 0.37);
+ --t-color-sand12: color(display-p3 0.129 0.126 0.111);
+ --t-color-tomato1: color(display-p3 0.998 0.989 0.988);
+ --t-color-tomato2: color(display-p3 0.994 0.974 0.969);
+ --t-color-tomato3: color(display-p3 0.985 0.924 0.909);
+ --t-color-tomato4: color(display-p3 0.996 0.868 0.835);
+ --t-color-tomato5: color(display-p3 0.98 0.812 0.77);
+ --t-color-tomato6: color(display-p3 0.953 0.75 0.698);
+ --t-color-tomato7: color(display-p3 0.917 0.673 0.611);
+ --t-color-tomato8: color(display-p3 0.875 0.575 0.502);
+ --t-color-tomato9: color(display-p3 0.831 0.345 0.231);
+ --t-color-tomato10: color(display-p3 0.802 0.313 0.2);
+ --t-color-tomato11: color(display-p3 0.755 0.259 0.152);
+ --t-color-tomato12: color(display-p3 0.335 0.165 0.132);
+ --t-color-ruby1: color(display-p3 0.998 0.989 0.992);
+ --t-color-ruby2: color(display-p3 0.995 0.971 0.974);
+ --t-color-ruby3: color(display-p3 0.983 0.92 0.928);
+ --t-color-ruby4: color(display-p3 0.987 0.869 0.885);
+ --t-color-ruby5: color(display-p3 0.968 0.817 0.839);
+ --t-color-ruby6: color(display-p3 0.937 0.758 0.786);
+ --t-color-ruby7: color(display-p3 0.897 0.685 0.721);
+ --t-color-ruby8: color(display-p3 0.851 0.588 0.639);
+ --t-color-ruby9: color(display-p3 0.83 0.323 0.408);
+ --t-color-ruby10: color(display-p3 0.795 0.286 0.375);
+ --t-color-ruby11: color(display-p3 0.728 0.211 0.311);
+ --t-color-ruby12: color(display-p3 0.36 0.115 0.171);
+ --t-color-crimson1: color(display-p3 0.998 0.989 0.992);
+ --t-color-crimson2: color(display-p3 0.991 0.969 0.976);
+ --t-color-crimson3: color(display-p3 0.987 0.917 0.941);
+ --t-color-crimson4: color(display-p3 0.975 0.866 0.904);
+ --t-color-crimson5: color(display-p3 0.953 0.813 0.864);
+ --t-color-crimson6: color(display-p3 0.921 0.755 0.817);
+ --t-color-crimson7: color(display-p3 0.88 0.683 0.761);
+ --t-color-crimson8: color(display-p3 0.834 0.592 0.694);
+ --t-color-crimson9: color(display-p3 0.843 0.298 0.507);
+ --t-color-crimson10: color(display-p3 0.807 0.266 0.468);
+ --t-color-crimson11: color(display-p3 0.731 0.195 0.388);
+ --t-color-crimson12: color(display-p3 0.352 0.111 0.221);
+ --t-color-plum1: color(display-p3 0.995 0.988 0.999);
+ --t-color-plum2: color(display-p3 0.988 0.971 0.99);
+ --t-color-plum3: color(display-p3 0.973 0.923 0.98);
+ --t-color-plum4: color(display-p3 0.953 0.875 0.966);
+ --t-color-plum5: color(display-p3 0.926 0.825 0.945);
+ --t-color-plum6: color(display-p3 0.89 0.765 0.916);
+ --t-color-plum7: color(display-p3 0.84 0.686 0.877);
+ --t-color-plum8: color(display-p3 0.775 0.58 0.832);
+ --t-color-plum9: color(display-p3 0.624 0.313 0.708);
+ --t-color-plum10: color(display-p3 0.587 0.29 0.667);
+ --t-color-plum11: color(display-p3 0.543 0.263 0.619);
+ --t-color-plum12: color(display-p3 0.299 0.114 0.352);
+ --t-color-violet1: color(display-p3 0.991 0.988 0.995);
+ --t-color-violet2: color(display-p3 0.978 0.974 0.998);
+ --t-color-violet3: color(display-p3 0.953 0.943 0.993);
+ --t-color-violet4: color(display-p3 0.916 0.897 1);
+ --t-color-violet5: color(display-p3 0.876 0.851 1);
+ --t-color-violet6: color(display-p3 0.825 0.793 0.981);
+ --t-color-violet7: color(display-p3 0.752 0.712 0.943);
+ --t-color-violet8: color(display-p3 0.654 0.602 0.902);
+ --t-color-violet9: color(display-p3 0.417 0.341 0.784);
+ --t-color-violet10: color(display-p3 0.381 0.306 0.741);
+ --t-color-violet11: color(display-p3 0.383 0.317 0.702);
+ --t-color-violet12: color(display-p3 0.179 0.15 0.359);
+ --t-color-iris1: color(display-p3 0.992 0.992 0.999);
+ --t-color-iris2: color(display-p3 0.972 0.973 0.998);
+ --t-color-iris3: color(display-p3 0.943 0.945 0.992);
+ --t-color-iris4: color(display-p3 0.902 0.906 1);
+ --t-color-iris5: color(display-p3 0.857 0.861 1);
+ --t-color-iris6: color(display-p3 0.799 0.805 0.987);
+ --t-color-iris7: color(display-p3 0.721 0.727 0.955);
+ --t-color-iris8: color(display-p3 0.61 0.619 0.918);
+ --t-color-iris9: color(display-p3 0.357 0.357 0.81);
+ --t-color-iris10: color(display-p3 0.318 0.318 0.774);
+ --t-color-iris11: color(display-p3 0.337 0.326 0.748);
+ --t-color-iris12: color(display-p3 0.154 0.161 0.371);
+ --t-color-cyan1: color(display-p3 0.982 0.992 0.996);
+ --t-color-cyan2: color(display-p3 0.955 0.981 0.984);
+ --t-color-cyan3: color(display-p3 0.888 0.965 0.975);
+ --t-color-cyan4: color(display-p3 0.821 0.941 0.959);
+ --t-color-cyan5: color(display-p3 0.751 0.907 0.935);
+ --t-color-cyan6: color(display-p3 0.671 0.862 0.9);
+ --t-color-cyan7: color(display-p3 0.564 0.8 0.854);
+ --t-color-cyan8: color(display-p3 0.388 0.715 0.798);
+ --t-color-cyan9: color(display-p3 0.282 0.627 0.765);
+ --t-color-cyan10: color(display-p3 0.264 0.583 0.71);
+ --t-color-cyan11: color(display-p3 0.08 0.48 0.63);
+ --t-color-cyan12: color(display-p3 0.108 0.232 0.277);
+ --t-color-jade1: color(display-p3 0.986 0.996 0.992);
+ --t-color-jade2: color(display-p3 0.962 0.983 0.969);
+ --t-color-jade3: color(display-p3 0.912 0.965 0.932);
+ --t-color-jade4: color(display-p3 0.858 0.941 0.893);
+ --t-color-jade5: color(display-p3 0.795 0.909 0.847);
+ --t-color-jade6: color(display-p3 0.715 0.864 0.791);
+ --t-color-jade7: color(display-p3 0.603 0.802 0.718);
+ --t-color-jade8: color(display-p3 0.44 0.72 0.629);
+ --t-color-jade9: color(display-p3 0.319 0.63 0.521);
+ --t-color-jade10: color(display-p3 0.299 0.592 0.488);
+ --t-color-jade11: color(display-p3 0.15 0.5 0.37);
+ --t-color-jade12: color(display-p3 0.142 0.229 0.194);
+ --t-color-grass1: color(display-p3 0.986 0.996 0.985);
+ --t-color-grass2: color(display-p3 0.966 0.983 0.964);
+ --t-color-grass3: color(display-p3 0.923 0.965 0.917);
+ --t-color-grass4: color(display-p3 0.872 0.94 0.865);
+ --t-color-grass5: color(display-p3 0.811 0.908 0.802);
+ --t-color-grass6: color(display-p3 0.733 0.864 0.724);
+ --t-color-grass7: color(display-p3 0.628 0.803 0.622);
+ --t-color-grass8: color(display-p3 0.477 0.72 0.482);
+ --t-color-grass9: color(display-p3 0.38 0.647 0.378);
+ --t-color-grass10: color(display-p3 0.344 0.598 0.342);
+ --t-color-grass11: color(display-p3 0.263 0.488 0.261);
+ --t-color-grass12: color(display-p3 0.151 0.233 0.153);
+ --t-color-mint1: color(display-p3 0.98 0.995 0.992);
+ --t-color-mint2: color(display-p3 0.957 0.985 0.977);
+ --t-color-mint3: color(display-p3 0.888 0.972 0.95);
+ --t-color-mint4: color(display-p3 0.819 0.951 0.916);
+ --t-color-mint5: color(display-p3 0.747 0.918 0.873);
+ --t-color-mint6: color(display-p3 0.668 0.87 0.818);
+ --t-color-mint7: color(display-p3 0.567 0.805 0.744);
+ --t-color-mint8: color(display-p3 0.42 0.724 0.649);
+ --t-color-mint9: color(display-p3 0.62 0.908 0.834);
+ --t-color-mint10: color(display-p3 0.585 0.871 0.797);
+ --t-color-mint11: color(display-p3 0.203 0.463 0.397);
+ --t-color-mint12: color(display-p3 0.136 0.259 0.236);
+ --t-color-lime1: color(display-p3 0.989 0.992 0.981);
+ --t-color-lime2: color(display-p3 0.975 0.98 0.954);
+ --t-color-lime3: color(display-p3 0.939 0.965 0.851);
+ --t-color-lime4: color(display-p3 0.896 0.94 0.76);
+ --t-color-lime5: color(display-p3 0.843 0.903 0.678);
+ --t-color-lime6: color(display-p3 0.778 0.852 0.599);
+ --t-color-lime7: color(display-p3 0.694 0.784 0.508);
+ --t-color-lime8: color(display-p3 0.585 0.707 0.378);
+ --t-color-lime9: color(display-p3 0.78 0.928 0.466);
+ --t-color-lime10: color(display-p3 0.734 0.896 0.397);
+ --t-color-lime11: color(display-p3 0.386 0.482 0.227);
+ --t-color-lime12: color(display-p3 0.222 0.25 0.128);
+ --t-color-bronze1: color(display-p3 0.991 0.988 0.988);
+ --t-color-bronze2: color(display-p3 0.989 0.97 0.961);
+ --t-color-bronze3: color(display-p3 0.958 0.932 0.919);
+ --t-color-bronze4: color(display-p3 0.929 0.894 0.877);
+ --t-color-bronze5: color(display-p3 0.898 0.853 0.832);
+ --t-color-bronze6: color(display-p3 0.861 0.805 0.778);
+ --t-color-bronze7: color(display-p3 0.812 0.739 0.706);
+ --t-color-bronze8: color(display-p3 0.741 0.647 0.606);
+ --t-color-bronze9: color(display-p3 0.611 0.507 0.455);
+ --t-color-bronze10: color(display-p3 0.563 0.461 0.414);
+ --t-color-bronze11: color(display-p3 0.471 0.373 0.336);
+ --t-color-bronze12: color(display-p3 0.251 0.191 0.172);
+ --t-color-gold1: color(display-p3 0.992 0.992 0.989);
+ --t-color-gold2: color(display-p3 0.98 0.976 0.953);
+ --t-color-gold3: color(display-p3 0.947 0.94 0.909);
+ --t-color-gold4: color(display-p3 0.914 0.904 0.865);
+ --t-color-gold5: color(display-p3 0.88 0.865 0.816);
+ --t-color-gold6: color(display-p3 0.84 0.818 0.756);
+ --t-color-gold7: color(display-p3 0.788 0.753 0.677);
+ --t-color-gold8: color(display-p3 0.715 0.66 0.565);
+ --t-color-gold9: color(display-p3 0.579 0.517 0.41);
+ --t-color-gold10: color(display-p3 0.538 0.479 0.38);
+ --t-color-gold11: color(display-p3 0.433 0.386 0.305);
+ --t-color-gold12: color(display-p3 0.227 0.209 0.173);
+ --t-color-brown1: color(display-p3 0.995 0.992 0.989);
+ --t-color-brown2: color(display-p3 0.987 0.976 0.964);
+ --t-color-brown3: color(display-p3 0.959 0.936 0.909);
+ --t-color-brown4: color(display-p3 0.934 0.897 0.855);
+ --t-color-brown5: color(display-p3 0.909 0.856 0.798);
+ --t-color-brown6: color(display-p3 0.88 0.808 0.73);
+ --t-color-brown7: color(display-p3 0.841 0.742 0.639);
+ --t-color-brown8: color(display-p3 0.782 0.647 0.514);
+ --t-color-brown9: color(display-p3 0.651 0.505 0.368);
+ --t-color-brown10: color(display-p3 0.601 0.465 0.344);
+ --t-color-brown11: color(display-p3 0.485 0.374 0.288);
+ --t-color-brown12: color(display-p3 0.236 0.202 0.183);
+ --t-color-amber1: color(display-p3 0.995 0.992 0.985);
+ --t-color-amber2: color(display-p3 0.994 0.986 0.921);
+ --t-color-amber3: color(display-p3 0.994 0.969 0.782);
+ --t-color-amber4: color(display-p3 0.989 0.937 0.65);
+ --t-color-amber5: color(display-p3 0.97 0.902 0.527);
+ --t-color-amber6: color(display-p3 0.936 0.844 0.506);
+ --t-color-amber7: color(display-p3 0.89 0.762 0.443);
+ --t-color-amber8: color(display-p3 0.85 0.65 0.3);
+ --t-color-amber9: color(display-p3 1 0.77 0.26);
+ --t-color-amber10: color(display-p3 0.959 0.741 0.274);
+ --t-color-amber11: color(display-p3 0.64 0.4 0);
+ --t-color-amber12: color(display-p3 0.294 0.208 0.145);
+ --t-color-transparent-green1: #00c04004;
+ --t-color-transparent-green2: #00a32f0b;
+ --t-color-transparent-green3: #00a43319;
+ --t-color-transparent-green4: #00a83829;
+ --t-color-transparent-green5: #019c393b;
+ --t-color-transparent-green6: #00963c52;
+ --t-color-transparent-green7: #00914071;
+ --t-color-transparent-green8: #00924ba4;
+ --t-color-transparent-green9: #008f4acf;
+ --t-color-transparent-green10: #008647d4;
+ --t-color-transparent-green11: #00713fde;
+ --t-color-transparent-green12: #002616e6;
+ --t-color-transparent-turquoise1: #00cc9905;
+ --t-color-transparent-turquoise2: #00aa800c;
+ --t-color-transparent-turquoise3: #00c69d1f;
+ --t-color-transparent-turquoise4: #00c39633;
+ --t-color-transparent-turquoise5: #00b49047;
+ --t-color-transparent-turquoise6: #00a6855e;
+ --t-color-transparent-turquoise7: #0099807c;
+ --t-color-transparent-turquoise8: #009783ac;
+ --t-color-transparent-turquoise9: #009e8ced;
+ --t-color-transparent-turquoise10: #009684f2;
+ --t-color-transparent-turquoise11: #008573;
+ --t-color-transparent-turquoise12: #00332df2;
+ --t-color-transparent-sky1: #00d5ff06;
+ --t-color-transparent-sky2: #00a4db0e;
+ --t-color-transparent-sky3: #00b3ee1e;
+ --t-color-transparent-sky4: #00ace42e;
+ --t-color-transparent-sky5: #00a1d841;
+ --t-color-transparent-sky6: #0092ca56;
+ --t-color-transparent-sky7: #0089c172;
+ --t-color-transparent-sky8: #0085bf9f;
+ --t-color-transparent-sky9: #00c7fe83;
+ --t-color-transparent-sky10: #00bcf38b;
+ --t-color-transparent-sky11: #00749e;
+ --t-color-transparent-sky12: #002540e2;
+ --t-color-transparent-blue1: #00008002;
+ --t-color-transparent-blue2: #0040ff08;
+ --t-color-transparent-blue3: #0047f112;
+ --t-color-transparent-blue4: #0044ff1e;
+ --t-color-transparent-blue5: #0044ff2d;
+ --t-color-transparent-blue6: #003eff3e;
+ --t-color-transparent-blue7: #0037ed54;
+ --t-color-transparent-blue8: #0034dc72;
+ --t-color-transparent-blue9: #0031d2c1;
+ --t-color-transparent-blue10: #002ec9cc;
+ --t-color-transparent-blue11: #002bb7c5;
+ --t-color-transparent-blue12: #001046e0;
+ --t-color-transparent-purple1: #aa00aa03;
+ --t-color-transparent-purple2: #8000e008;
+ --t-color-transparent-purple3: #8e00f112;
+ --t-color-transparent-purple4: #8d00e51d;
+ --t-color-transparent-purple5: #8000db2a;
+ --t-color-transparent-purple6: #7a01d03b;
+ --t-color-transparent-purple7: #6d00c350;
+ --t-color-transparent-purple8: #6600c06c;
+ --t-color-transparent-purple9: #5c00adb1;
+ --t-color-transparent-purple10: #53009eb8;
+ --t-color-transparent-purple11: #52009aba;
+ --t-color-transparent-purple12: #250049df;
+ --t-color-transparent-pink1: #ff00aa03;
+ --t-color-transparent-pink2: #e0008008;
+ --t-color-transparent-pink3: #f4008c16;
+ --t-color-transparent-pink4: #e2008b23;
+ --t-color-transparent-pink5: #d1008331;
+ --t-color-transparent-pink6: #c0007840;
+ --t-color-transparent-pink7: #b6006f53;
+ --t-color-transparent-pink8: #af006f6c;
+ --t-color-transparent-pink9: #c8007fbf;
+ --t-color-transparent-pink10: #c2007ac7;
+ --t-color-transparent-pink11: #b60074d6;
+ --t-color-transparent-pink12: #59003bed;
+ --t-color-transparent-red1: #ff000003;
+ --t-color-transparent-red2: #ff000008;
+ --t-color-transparent-red3: #f3000d14;
+ --t-color-transparent-red4: #ff000824;
+ --t-color-transparent-red5: #ff000632;
+ --t-color-transparent-red6: #f8000442;
+ --t-color-transparent-red7: #df000356;
+ --t-color-transparent-red8: #d2000571;
+ --t-color-transparent-red9: #db0007b7;
+ --t-color-transparent-red10: #d10005c1;
+ --t-color-transparent-red11: #c40006d3;
+ --t-color-transparent-red12: #55000de8;
+ --t-color-transparent-orange1: #c0400004;
+ --t-color-transparent-orange2: #ff8e0012;
+ --t-color-transparent-orange3: #ff9c0029;
+ --t-color-transparent-orange4: #ff91014a;
+ --t-color-transparent-orange5: #ff8b0065;
+ --t-color-transparent-orange6: #ff81007d;
+ --t-color-transparent-orange7: #ed6c008c;
+ --t-color-transparent-orange8: #e35f00aa;
+ --t-color-transparent-orange9: #f65e00ea;
+ --t-color-transparent-orange10: #ef5f00;
+ --t-color-transparent-orange11: #cc4e00;
+ --t-color-transparent-orange12: #431200e2;
+ --t-color-transparent-yellow1: #aaaa0006;
+ --t-color-transparent-yellow2: #f4dd0016;
+ --t-color-transparent-yellow3: #ffee0047;
+ --t-color-transparent-yellow4: #ffe3016b;
+ --t-color-transparent-yellow5: #ffd5008f;
+ --t-color-transparent-yellow6: #ebbc0097;
+ --t-color-transparent-yellow7: #d2a10098;
+ --t-color-transparent-yellow8: #c99700c6;
+ --t-color-transparent-yellow9: #ffe100d6;
+ --t-color-transparent-yellow10: #ffdc00;
+ --t-color-transparent-yellow11: #9e6c00;
+ --t-color-transparent-yellow12: #2e2000e0;
+ --t-color-transparent-gray1: color(display-p3 0 0 0 / 0.02);
+ --t-color-transparent-gray2: color(display-p3 0 0 0 / 0.039);
+ --t-color-transparent-gray3: color(display-p3 0 0 0 / 0.047);
+ --t-color-transparent-gray4: color(display-p3 0 0 0 / 0.071);
+ --t-color-transparent-gray5: color(display-p3 0 0 0 / 0.078);
+ --t-color-transparent-gray6: color(display-p3 0 0 0 / 0.114);
+ --t-color-transparent-gray7: color(display-p3 0 0 0 / 0.161);
+ --t-color-transparent-gray8: color(display-p3 0 0 0 / 0.22);
+ --t-color-transparent-gray9: color(display-p3 0 0 0 / 0.361);
+ --t-color-transparent-gray10: color(display-p3 0 0 0 / 0.478);
+ --t-color-transparent-gray11: color(display-p3 0 0 0 / 0.722);
+ --t-color-transparent-gray12: color(display-p3 0 0 0 / 0.91);
+ --t-color-transparent-mauve1: #55005503;
+ --t-color-transparent-mauve2: #2b005506;
+ --t-color-transparent-mauve3: #30004010;
+ --t-color-transparent-mauve4: #20003618;
+ --t-color-transparent-mauve5: #20003820;
+ --t-color-transparent-mauve6: #14003527;
+ --t-color-transparent-mauve7: #10003332;
+ --t-color-transparent-mauve8: #08003145;
+ --t-color-transparent-mauve9: #05001d73;
+ --t-color-transparent-mauve10: #0500197d;
+ --t-color-transparent-mauve11: #0400119c;
+ --t-color-transparent-mauve12: #020008e0;
+ --t-color-transparent-slate1: #00005503;
+ --t-color-transparent-slate2: #00005506;
+ --t-color-transparent-slate3: #0000330f;
+ --t-color-transparent-slate4: #00002d17;
+ --t-color-transparent-slate5: #0009321f;
+ --t-color-transparent-slate6: #00002f26;
+ --t-color-transparent-slate7: #00062e32;
+ --t-color-transparent-slate8: #00083046;
+ --t-color-transparent-slate9: #00051d74;
+ --t-color-transparent-slate10: #00071b7f;
+ --t-color-transparent-slate11: #0007149f;
+ --t-color-transparent-slate12: #000509e3;
+ --t-color-transparent-sage1: #00804004;
+ --t-color-transparent-sage2: #00402008;
+ --t-color-transparent-sage3: #002d1e11;
+ --t-color-transparent-sage4: #001f1519;
+ --t-color-transparent-sage5: #00180820;
+ --t-color-transparent-sage6: #00140d28;
+ --t-color-transparent-sage7: #00140a34;
+ --t-color-transparent-sage8: #000f0847;
+ --t-color-transparent-sage9: #00110b79;
+ --t-color-transparent-sage10: #00100a83;
+ --t-color-transparent-sage11: #000a07a0;
+ --t-color-transparent-sage12: #000805e5;
+ --t-color-transparent-olive1: #00550003;
+ --t-color-transparent-olive2: #00490007;
+ --t-color-transparent-olive3: #00200010;
+ --t-color-transparent-olive4: #00160018;
+ --t-color-transparent-olive5: #00180020;
+ --t-color-transparent-olive6: #00140028;
+ --t-color-transparent-olive7: #000f0033;
+ --t-color-transparent-olive8: #040f0047;
+ --t-color-transparent-olive9: #050f0078;
+ --t-color-transparent-olive10: #040e0082;
+ --t-color-transparent-olive11: #020a00a0;
+ --t-color-transparent-olive12: #010600e3;
+ --t-color-transparent-sand1: #55550003;
+ --t-color-transparent-sand2: #25250007;
+ --t-color-transparent-sand3: #20100010;
+ --t-color-transparent-sand4: #1f150019;
+ --t-color-transparent-sand5: #1f180021;
+ --t-color-transparent-sand6: #19130029;
+ --t-color-transparent-sand7: #19140035;
+ --t-color-transparent-sand8: #1915014a;
+ --t-color-transparent-sand9: #0f0f0079;
+ --t-color-transparent-sand10: #0c0c0083;
+ --t-color-transparent-sand11: #080800a1;
+ --t-color-transparent-sand12: #060500e3;
+ --t-color-transparent-tomato1: #ff000003;
+ --t-color-transparent-tomato2: #ff200008;
+ --t-color-transparent-tomato3: #f52b0018;
+ --t-color-transparent-tomato4: #ff35002c;
+ --t-color-transparent-tomato5: #ff2e003d;
+ --t-color-transparent-tomato6: #f92d0050;
+ --t-color-transparent-tomato7: #e7280067;
+ --t-color-transparent-tomato8: #db250084;
+ --t-color-transparent-tomato9: #df2600d1;
+ --t-color-transparent-tomato10: #d72400da;
+ --t-color-transparent-tomato11: #cd2200ea;
+ --t-color-transparent-tomato12: #460900e0;
+ --t-color-transparent-ruby1: #ff005503;
+ --t-color-transparent-ruby2: #ff002008;
+ --t-color-transparent-ruby3: #f3002515;
+ --t-color-transparent-ruby4: #ff002523;
+ --t-color-transparent-ruby5: #ff002a31;
+ --t-color-transparent-ruby6: #e4002440;
+ --t-color-transparent-ruby7: #ce002553;
+ --t-color-transparent-ruby8: #c300286d;
+ --t-color-transparent-ruby9: #db002cb9;
+ --t-color-transparent-ruby10: #d2002cc4;
+ --t-color-transparent-ruby11: #c10030db;
+ --t-color-transparent-ruby12: #550016e8;
+ --t-color-transparent-crimson1: #ff005503;
+ --t-color-transparent-crimson2: #e0004008;
+ --t-color-transparent-crimson3: #ff005216;
+ --t-color-transparent-crimson4: #f8005123;
+ --t-color-transparent-crimson5: #e5004f31;
+ --t-color-transparent-crimson6: #d0004b41;
+ --t-color-transparent-crimson7: #bf004753;
+ --t-color-transparent-crimson8: #b6004a6c;
+ --t-color-transparent-crimson9: #e2005bc2;
+ --t-color-transparent-crimson10: #d70056cb;
+ --t-color-transparent-crimson11: #c4004fe2;
+ --t-color-transparent-crimson12: #530026e9;
+ --t-color-transparent-plum1: #aa00ff03;
+ --t-color-transparent-plum2: #c000c008;
+ --t-color-transparent-plum3: #cc00cc14;
+ --t-color-transparent-plum4: #c200c921;
+ --t-color-transparent-plum5: #b700bd2e;
+ --t-color-transparent-plum6: #a400b03d;
+ --t-color-transparent-plum7: #9900a852;
+ --t-color-transparent-plum8: #9000a56e;
+ --t-color-transparent-plum9: #89009eb5;
+ --t-color-transparent-plum10: #7f0092bb;
+ --t-color-transparent-plum11: #730086c1;
+ --t-color-transparent-plum12: #40004be6;
+ --t-color-transparent-violet1: #5500aa03;
+ --t-color-transparent-violet2: #4900ff07;
+ --t-color-transparent-violet3: #4400ee0f;
+ --t-color-transparent-violet4: #4300ff1b;
+ --t-color-transparent-violet5: #3600ff26;
+ --t-color-transparent-violet6: #3100fb35;
+ --t-color-transparent-violet7: #2d01dd4a;
+ --t-color-transparent-violet8: #2b00d066;
+ --t-color-transparent-violet9: #2400b7a9;
+ --t-color-transparent-violet10: #2300abb2;
+ --t-color-transparent-violet11: #1f0099af;
+ --t-color-transparent-violet12: #0b0043d9;
+ --t-color-transparent-iris1: #0000ff02;
+ --t-color-transparent-iris2: #0000ff07;
+ --t-color-transparent-iris3: #0011ee0f;
+ --t-color-transparent-iris4: #000bff19;
+ --t-color-transparent-iris5: #000eff25;
+ --t-color-transparent-iris6: #000aff34;
+ --t-color-transparent-iris7: #0008e647;
+ --t-color-transparent-iris8: #0008d964;
+ --t-color-transparent-iris9: #0000c0a4;
+ --t-color-transparent-iris10: #0000b6ae;
+ --t-color-transparent-iris11: #0600abac;
+ --t-color-transparent-iris12: #000246d8;
+ --t-color-transparent-cyan1: #0099cc05;
+ --t-color-transparent-cyan2: #009db10d;
+ --t-color-transparent-cyan3: #00c2d121;
+ --t-color-transparent-cyan4: #00bcd435;
+ --t-color-transparent-cyan5: #01b4cc4a;
+ --t-color-transparent-cyan6: #00a7c162;
+ --t-color-transparent-cyan7: #009fbb82;
+ --t-color-transparent-cyan8: #00a3c0c2;
+ --t-color-transparent-cyan9: #00a2c7;
+ --t-color-transparent-cyan10: #0094b7f8;
+ --t-color-transparent-cyan11: #007491ef;
+ --t-color-transparent-cyan12: #00323ef2;
+ --t-color-transparent-jade1: #00c08004;
+ --t-color-transparent-jade2: #00a3460b;
+ --t-color-transparent-jade3: #00ae4819;
+ --t-color-transparent-jade4: #00a85129;
+ --t-color-transparent-jade5: #00a2553c;
+ --t-color-transparent-jade6: #009a5753;
+ --t-color-transparent-jade7: #00945f74;
+ --t-color-transparent-jade8: #00976ea9;
+ --t-color-transparent-jade9: #00916bd6;
+ --t-color-transparent-jade10: #008764d9;
+ --t-color-transparent-jade11: #007152df;
+ --t-color-transparent-jade12: #002217e2;
+ --t-color-transparent-grass1: #00c00004;
+ --t-color-transparent-grass2: #0099000a;
+ --t-color-transparent-grass3: #00970016;
+ --t-color-transparent-grass4: #009f0725;
+ --t-color-transparent-grass5: #00930536;
+ --t-color-transparent-grass6: #008f0a4d;
+ --t-color-transparent-grass7: #018b0f6b;
+ --t-color-transparent-grass8: #008d199a;
+ --t-color-transparent-grass9: #008619b9;
+ --t-color-transparent-grass10: #007b17c1;
+ --t-color-transparent-grass11: #006514d5;
+ --t-color-transparent-grass12: #002006df;
+ --t-color-transparent-mint1: #00d5aa06;
+ --t-color-transparent-mint2: #00b18a0d;
+ --t-color-transparent-mint3: #00d29e22;
+ --t-color-transparent-mint4: #00cc9937;
+ --t-color-transparent-mint5: #00c0914c;
+ --t-color-transparent-mint6: #00b08663;
+ --t-color-transparent-mint7: #00a17d81;
+ --t-color-transparent-mint8: #009e7fb3;
+ --t-color-transparent-mint9: #00d3a579;
+ --t-color-transparent-mint10: #00c39982;
+ --t-color-transparent-mint11: #007763fd;
+ --t-color-transparent-mint12: #00312ae9;
+ --t-color-transparent-lime1: #66990005;
+ --t-color-transparent-lime2: #6b95000c;
+ --t-color-transparent-lime3: #96c80029;
+ --t-color-transparent-lime4: #8fc60042;
+ --t-color-transparent-lime5: #81bb0059;
+ --t-color-transparent-lime6: #72aa006e;
+ --t-color-transparent-lime7: #61990087;
+ --t-color-transparent-lime8: #559200ab;
+ --t-color-transparent-lime9: #93e4009c;
+ --t-color-transparent-lime10: #8fdc00b3;
+ --t-color-transparent-lime11: #375f00d0;
+ --t-color-transparent-lime12: #1e2900e3;
+ --t-color-transparent-bronze1: #55000003;
+ --t-color-transparent-bronze2: #cc33000a;
+ --t-color-transparent-bronze3: #92250015;
+ --t-color-transparent-bronze4: #80280020;
+ --t-color-transparent-bronze5: #7423002c;
+ --t-color-transparent-bronze6: #7324003a;
+ --t-color-transparent-bronze7: #6c1f004c;
+ --t-color-transparent-bronze8: #671c0066;
+ --t-color-transparent-bronze9: #551a008d;
+ --t-color-transparent-bronze10: #4c150097;
+ --t-color-transparent-bronze11: #3d0f00ab;
+ --t-color-transparent-bronze12: #1d0600d4;
+ --t-color-transparent-gold1: #55550003;
+ --t-color-transparent-gold2: #9d8a000d;
+ --t-color-transparent-gold3: #75600018;
+ --t-color-transparent-gold4: #6b4e0024;
+ --t-color-transparent-gold5: #60460030;
+ --t-color-transparent-gold6: #64440040;
+ --t-color-transparent-gold7: #63420055;
+ --t-color-transparent-gold8: #633d0072;
+ --t-color-transparent-gold9: #5332009a;
+ --t-color-transparent-gold10: #492d00a1;
+ --t-color-transparent-gold11: #362100b4;
+ --t-color-transparent-gold12: #130c00d4;
+ --t-color-transparent-brown1: #aa550003;
+ --t-color-transparent-brown2: #aa550009;
+ --t-color-transparent-brown3: #a04b0018;
+ --t-color-transparent-brown4: #9b4a0026;
+ --t-color-transparent-brown5: #9f4d0035;
+ --t-color-transparent-brown6: #a04e0048;
+ --t-color-transparent-brown7: #a34e0060;
+ --t-color-transparent-brown8: #9f4a0081;
+ --t-color-transparent-brown9: #823c00a7;
+ --t-color-transparent-brown10: #723300ac;
+ --t-color-transparent-brown11: #522100b9;
+ --t-color-transparent-brown12: #140600d1;
+ --t-color-transparent-amber1: #c0800004;
+ --t-color-transparent-amber2: #f4d10016;
+ --t-color-transparent-amber3: #ffde003d;
+ --t-color-transparent-amber4: #ffd40063;
+ --t-color-transparent-amber5: #f8cf0088;
+ --t-color-transparent-amber6: #eab5008c;
+ --t-color-transparent-amber7: #dc9b009d;
+ --t-color-transparent-amber8: #da8a00c9;
+ --t-color-transparent-amber9: #ffb300c2;
+ --t-color-transparent-amber10: #ffb300e7;
+ --t-color-transparent-amber11: #ab6400;
+ --t-color-transparent-amber12: #341500dd;
+}
diff --git a/packages/twenty-new-ui/src/theme-constants/themeCssVariables.ts b/packages/twenty-new-ui/src/theme-constants/themeCssVariables.ts
new file mode 100644
index 00000000000..fac62cc1da0
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme-constants/themeCssVariables.ts
@@ -0,0 +1,1090 @@
+// Theme CSS variable accessor, mirrored token-for-token from twenty-ui.
+// Kept in sync by the theme parity test (src/theme-constants/__tests__).
+export const themeCssVariables = {
+ icon: {
+ size: {
+ sm: 'var(--t-icon-size-sm)',
+ md: 'var(--t-icon-size-md)',
+ lg: 'var(--t-icon-size-lg)',
+ xl: 'var(--t-icon-size-xl)',
+ },
+ stroke: {
+ sm: 'var(--t-icon-stroke-sm)',
+ md: 'var(--t-icon-stroke-md)',
+ lg: 'var(--t-icon-stroke-lg)',
+ },
+ },
+ modal: {
+ size: {
+ sm: {
+ width: 'var(--t-modal-size-sm-width)',
+ },
+ md: {
+ width: 'var(--t-modal-size-md-width)',
+ },
+ lg: {
+ width: 'var(--t-modal-size-lg-width)',
+ },
+ xl: {
+ width: 'var(--t-modal-size-xl-width)',
+ height: 'var(--t-modal-size-xl-height)',
+ },
+ fullscreen: {
+ width: 'var(--t-modal-size-fullscreen-width)',
+ height: 'var(--t-modal-size-fullscreen-height)',
+ },
+ },
+ },
+ text: {
+ lineHeight: {
+ lg: 'var(--t-text-line-height-lg)',
+ md: 'var(--t-text-line-height-md)',
+ },
+ iconSizeMedium: 'var(--t-text-icon-size-medium)',
+ iconSizeSmall: 'var(--t-text-icon-size-small)',
+ iconStrikeLight: 'var(--t-text-icon-strike-light)',
+ iconStrikeMedium: 'var(--t-text-icon-strike-medium)',
+ iconStrikeBold: 'var(--t-text-icon-strike-bold)',
+ },
+ animation: {
+ duration: {
+ instant: 'var(--t-animation-duration-instant)',
+ fast: 'var(--t-animation-duration-fast)',
+ normal: 'var(--t-animation-duration-normal)',
+ slow: 'var(--t-animation-duration-slow)',
+ },
+ },
+ spacingMultiplicator: 'var(--t-spacing-multiplicator)',
+ spacing: {
+ '0': 'var(--t-spacing-0)',
+ '1': 'var(--t-spacing-1)',
+ '2': 'var(--t-spacing-2)',
+ '3': 'var(--t-spacing-3)',
+ '4': 'var(--t-spacing-4)',
+ '5': 'var(--t-spacing-5)',
+ '6': 'var(--t-spacing-6)',
+ '7': 'var(--t-spacing-7)',
+ '8': 'var(--t-spacing-8)',
+ '9': 'var(--t-spacing-9)',
+ '10': 'var(--t-spacing-10)',
+ '11': 'var(--t-spacing-11)',
+ '12': 'var(--t-spacing-12)',
+ '13': 'var(--t-spacing-13)',
+ '14': 'var(--t-spacing-14)',
+ '15': 'var(--t-spacing-15)',
+ '16': 'var(--t-spacing-16)',
+ '17': 'var(--t-spacing-17)',
+ '18': 'var(--t-spacing-18)',
+ '19': 'var(--t-spacing-19)',
+ '20': 'var(--t-spacing-20)',
+ '21': 'var(--t-spacing-21)',
+ '22': 'var(--t-spacing-22)',
+ '23': 'var(--t-spacing-23)',
+ '24': 'var(--t-spacing-24)',
+ '25': 'var(--t-spacing-25)',
+ '26': 'var(--t-spacing-26)',
+ '27': 'var(--t-spacing-27)',
+ '28': 'var(--t-spacing-28)',
+ '29': 'var(--t-spacing-29)',
+ '30': 'var(--t-spacing-30)',
+ '31': 'var(--t-spacing-31)',
+ '32': 'var(--t-spacing-32)',
+ '0.5': 'var(--t-spacing-0_5)',
+ '1.5': 'var(--t-spacing-1_5)',
+ },
+ betweenSiblingsGap: 'var(--t-between-siblings-gap)',
+ table: {
+ horizontalCellMargin: 'var(--t-table-horizontal-cell-margin)',
+ checkboxColumnWidth: 'var(--t-table-checkbox-column-width)',
+ horizontalCellPadding: 'var(--t-table-horizontal-cell-padding)',
+ },
+ sidePanelWidth: 'var(--t-side-panel-width)',
+ clickableElementBackgroundTransition:
+ 'var(--t-clickable-element-background-transition)',
+ lastLayerZIndex: 'var(--t-last-layer-z-index)',
+ buttons: {
+ secondaryTextColor: 'var(--t-buttons-secondary-text-color)',
+ },
+ accent: {
+ primary: 'var(--t-accent-primary)',
+ secondary: 'var(--t-accent-secondary)',
+ tertiary: 'var(--t-accent-tertiary)',
+ quaternary: 'var(--t-accent-quaternary)',
+ accent3570: 'var(--t-accent-accent3570)',
+ accent4060: 'var(--t-accent-accent4060)',
+ accent1: 'var(--t-accent-accent1)',
+ accent2: 'var(--t-accent-accent2)',
+ accent3: 'var(--t-accent-accent3)',
+ accent4: 'var(--t-accent-accent4)',
+ accent5: 'var(--t-accent-accent5)',
+ accent6: 'var(--t-accent-accent6)',
+ accent7: 'var(--t-accent-accent7)',
+ accent8: 'var(--t-accent-accent8)',
+ accent9: 'var(--t-accent-accent9)',
+ accent10: 'var(--t-accent-accent10)',
+ accent11: 'var(--t-accent-accent11)',
+ accent12: 'var(--t-accent-accent12)',
+ },
+ background: {
+ noisy: 'var(--t-background-noisy)',
+ primary: 'var(--t-background-primary)',
+ secondary: 'var(--t-background-secondary)',
+ tertiary: 'var(--t-background-tertiary)',
+ quaternary: 'var(--t-background-quaternary)',
+ invertedPrimary: 'var(--t-background-inverted-primary)',
+ invertedSecondary: 'var(--t-background-inverted-secondary)',
+ danger: 'var(--t-background-danger)',
+ transparent: {
+ primary: 'var(--t-background-transparent-primary)',
+ secondary: 'var(--t-background-transparent-secondary)',
+ strong: 'var(--t-background-transparent-strong)',
+ medium: 'var(--t-background-transparent-medium)',
+ light: 'var(--t-background-transparent-light)',
+ lighter: 'var(--t-background-transparent-lighter)',
+ danger: 'var(--t-background-transparent-danger)',
+ blue: 'var(--t-background-transparent-blue)',
+ orange: 'var(--t-background-transparent-orange)',
+ success: 'var(--t-background-transparent-success)',
+ },
+ overlayPrimary: 'var(--t-background-overlay-primary)',
+ overlaySecondary: 'var(--t-background-overlay-secondary)',
+ overlayTertiary: 'var(--t-background-overlay-tertiary)',
+ radialGradient: 'var(--t-background-radial-gradient)',
+ radialGradientHover: 'var(--t-background-radial-gradient-hover)',
+ primaryInverted: 'var(--t-background-primary-inverted)',
+ primaryInvertedHover: 'var(--t-background-primary-inverted-hover)',
+ },
+ blur: {
+ light: 'var(--t-blur-light)',
+ medium: 'var(--t-blur-medium)',
+ strong: 'var(--t-blur-strong)',
+ },
+ border: {
+ color: {
+ strong: 'var(--t-border-color-strong)',
+ medium: 'var(--t-border-color-medium)',
+ light: 'var(--t-border-color-light)',
+ secondaryInverted: 'var(--t-border-color-secondary-inverted)',
+ inverted: 'var(--t-border-color-inverted)',
+ danger: 'var(--t-border-color-danger)',
+ blue: 'var(--t-border-color-blue)',
+ transparentStrong: 'var(--t-border-color-transparent-strong)',
+ },
+ radius: {
+ xs: 'var(--t-border-radius-xs)',
+ sm: 'var(--t-border-radius-sm)',
+ md: 'var(--t-border-radius-md)',
+ xl: 'var(--t-border-radius-xl)',
+ xxl: 'var(--t-border-radius-xxl)',
+ pill: 'var(--t-border-radius-pill)',
+ rounded: 'var(--t-border-radius-rounded)',
+ },
+ },
+ boxShadow: {
+ color: 'var(--t-box-shadow-color)',
+ light: 'var(--t-box-shadow-light)',
+ strong: 'var(--t-box-shadow-strong)',
+ underline: 'var(--t-box-shadow-underline)',
+ superHeavy: 'var(--t-box-shadow-super-heavy)',
+ },
+ font: {
+ color: {
+ primary: 'var(--t-font-color-primary)',
+ secondary: 'var(--t-font-color-secondary)',
+ tertiary: 'var(--t-font-color-tertiary)',
+ light: 'var(--t-font-color-light)',
+ extraLight: 'var(--t-font-color-extra-light)',
+ inverted: 'var(--t-font-color-inverted)',
+ danger: 'var(--t-font-color-danger)',
+ },
+ size: {
+ xxs: 'var(--t-font-size-xxs)',
+ xs: 'var(--t-font-size-xs)',
+ sm: 'var(--t-font-size-sm)',
+ md: 'var(--t-font-size-md)',
+ lg: 'var(--t-font-size-lg)',
+ xl: 'var(--t-font-size-xl)',
+ xxl: 'var(--t-font-size-xxl)',
+ },
+ weight: {
+ regular: 'var(--t-font-weight-regular)',
+ medium: 'var(--t-font-weight-medium)',
+ semiBold: 'var(--t-font-weight-semi-bold)',
+ },
+ family: 'var(--t-font-family)',
+ },
+ name: 'var(--t-name)',
+ snackBar: {
+ success: {
+ color: 'var(--t-snack-bar-success-color)',
+ backgroundColor: 'var(--t-snack-bar-success-background-color)',
+ },
+ error: {
+ color: 'var(--t-snack-bar-error-color)',
+ backgroundColor: 'var(--t-snack-bar-error-background-color)',
+ },
+ warning: {
+ color: 'var(--t-snack-bar-warning-color)',
+ backgroundColor: 'var(--t-snack-bar-warning-background-color)',
+ },
+ info: {
+ color: 'var(--t-snack-bar-info-color)',
+ backgroundColor: 'var(--t-snack-bar-info-background-color)',
+ },
+ default: {
+ color: 'var(--t-snack-bar-default-color)',
+ backgroundColor: 'var(--t-snack-bar-default-background-color)',
+ },
+ },
+ tag: {
+ text: {
+ gray: 'var(--t-tag-text-gray)',
+ mauve: 'var(--t-tag-text-mauve)',
+ slate: 'var(--t-tag-text-slate)',
+ sage: 'var(--t-tag-text-sage)',
+ olive: 'var(--t-tag-text-olive)',
+ sand: 'var(--t-tag-text-sand)',
+ tomato: 'var(--t-tag-text-tomato)',
+ red: 'var(--t-tag-text-red)',
+ ruby: 'var(--t-tag-text-ruby)',
+ crimson: 'var(--t-tag-text-crimson)',
+ pink: 'var(--t-tag-text-pink)',
+ plum: 'var(--t-tag-text-plum)',
+ purple: 'var(--t-tag-text-purple)',
+ violet: 'var(--t-tag-text-violet)',
+ iris: 'var(--t-tag-text-iris)',
+ cyan: 'var(--t-tag-text-cyan)',
+ turquoise: 'var(--t-tag-text-turquoise)',
+ sky: 'var(--t-tag-text-sky)',
+ blue: 'var(--t-tag-text-blue)',
+ jade: 'var(--t-tag-text-jade)',
+ green: 'var(--t-tag-text-green)',
+ grass: 'var(--t-tag-text-grass)',
+ mint: 'var(--t-tag-text-mint)',
+ lime: 'var(--t-tag-text-lime)',
+ bronze: 'var(--t-tag-text-bronze)',
+ gold: 'var(--t-tag-text-gold)',
+ brown: 'var(--t-tag-text-brown)',
+ orange: 'var(--t-tag-text-orange)',
+ amber: 'var(--t-tag-text-amber)',
+ yellow: 'var(--t-tag-text-yellow)',
+ },
+ background: {
+ gray: 'var(--t-tag-background-gray)',
+ mauve: 'var(--t-tag-background-mauve)',
+ slate: 'var(--t-tag-background-slate)',
+ sage: 'var(--t-tag-background-sage)',
+ olive: 'var(--t-tag-background-olive)',
+ sand: 'var(--t-tag-background-sand)',
+ tomato: 'var(--t-tag-background-tomato)',
+ red: 'var(--t-tag-background-red)',
+ ruby: 'var(--t-tag-background-ruby)',
+ crimson: 'var(--t-tag-background-crimson)',
+ pink: 'var(--t-tag-background-pink)',
+ plum: 'var(--t-tag-background-plum)',
+ purple: 'var(--t-tag-background-purple)',
+ violet: 'var(--t-tag-background-violet)',
+ iris: 'var(--t-tag-background-iris)',
+ cyan: 'var(--t-tag-background-cyan)',
+ turquoise: 'var(--t-tag-background-turquoise)',
+ sky: 'var(--t-tag-background-sky)',
+ blue: 'var(--t-tag-background-blue)',
+ jade: 'var(--t-tag-background-jade)',
+ green: 'var(--t-tag-background-green)',
+ grass: 'var(--t-tag-background-grass)',
+ mint: 'var(--t-tag-background-mint)',
+ lime: 'var(--t-tag-background-lime)',
+ bronze: 'var(--t-tag-background-bronze)',
+ gold: 'var(--t-tag-background-gold)',
+ brown: 'var(--t-tag-background-brown)',
+ orange: 'var(--t-tag-background-orange)',
+ amber: 'var(--t-tag-background-amber)',
+ yellow: 'var(--t-tag-background-yellow)',
+ },
+ },
+ code: {
+ text: {
+ gray: 'var(--t-code-text-gray)',
+ sky: 'var(--t-code-text-sky)',
+ pink: 'var(--t-code-text-pink)',
+ orange: 'var(--t-code-text-orange)',
+ green: 'var(--t-code-text-green)',
+ },
+ font: {
+ family: 'var(--t-code-font-family)',
+ },
+ },
+ IllustrationIcon: {
+ color: {
+ blue: 'var(--t--illustration-icon-color-blue)',
+ gray: 'var(--t--illustration-icon-color-gray)',
+ },
+ fill: {
+ blue: 'var(--t--illustration-icon-fill-blue)',
+ gray: 'var(--t--illustration-icon-fill-gray)',
+ },
+ },
+ grayScale: {
+ gray1: 'var(--t-gray-scale-gray1)',
+ gray2: 'var(--t-gray-scale-gray2)',
+ gray3: 'var(--t-gray-scale-gray3)',
+ gray4: 'var(--t-gray-scale-gray4)',
+ gray5: 'var(--t-gray-scale-gray5)',
+ gray6: 'var(--t-gray-scale-gray6)',
+ gray7: 'var(--t-gray-scale-gray7)',
+ gray8: 'var(--t-gray-scale-gray8)',
+ gray9: 'var(--t-gray-scale-gray9)',
+ gray10: 'var(--t-gray-scale-gray10)',
+ gray11: 'var(--t-gray-scale-gray11)',
+ gray12: 'var(--t-gray-scale-gray12)',
+ },
+ color: {
+ red: 'var(--t-color-red)',
+ ruby: 'var(--t-color-ruby)',
+ crimson: 'var(--t-color-crimson)',
+ tomato: 'var(--t-color-tomato)',
+ orange: 'var(--t-color-orange)',
+ amber: 'var(--t-color-amber)',
+ yellow: 'var(--t-color-yellow)',
+ lime: 'var(--t-color-lime)',
+ grass: 'var(--t-color-grass)',
+ green: 'var(--t-color-green)',
+ jade: 'var(--t-color-jade)',
+ mint: 'var(--t-color-mint)',
+ turquoise: 'var(--t-color-turquoise)',
+ cyan: 'var(--t-color-cyan)',
+ sky: 'var(--t-color-sky)',
+ blue: 'var(--t-color-blue)',
+ iris: 'var(--t-color-iris)',
+ violet: 'var(--t-color-violet)',
+ purple: 'var(--t-color-purple)',
+ plum: 'var(--t-color-plum)',
+ pink: 'var(--t-color-pink)',
+ bronze: 'var(--t-color-bronze)',
+ gold: 'var(--t-color-gold)',
+ brown: 'var(--t-color-brown)',
+ gray: 'var(--t-color-gray)',
+ yellow1: 'var(--t-color-yellow1)',
+ yellow2: 'var(--t-color-yellow2)',
+ yellow3: 'var(--t-color-yellow3)',
+ yellow4: 'var(--t-color-yellow4)',
+ yellow5: 'var(--t-color-yellow5)',
+ yellow6: 'var(--t-color-yellow6)',
+ yellow7: 'var(--t-color-yellow7)',
+ yellow8: 'var(--t-color-yellow8)',
+ yellow9: 'var(--t-color-yellow9)',
+ yellow10: 'var(--t-color-yellow10)',
+ yellow11: 'var(--t-color-yellow11)',
+ yellow12: 'var(--t-color-yellow12)',
+ green1: 'var(--t-color-green1)',
+ green2: 'var(--t-color-green2)',
+ green3: 'var(--t-color-green3)',
+ green4: 'var(--t-color-green4)',
+ green5: 'var(--t-color-green5)',
+ green6: 'var(--t-color-green6)',
+ green7: 'var(--t-color-green7)',
+ green8: 'var(--t-color-green8)',
+ green9: 'var(--t-color-green9)',
+ green10: 'var(--t-color-green10)',
+ green11: 'var(--t-color-green11)',
+ green12: 'var(--t-color-green12)',
+ turquoise1: 'var(--t-color-turquoise1)',
+ turquoise2: 'var(--t-color-turquoise2)',
+ turquoise3: 'var(--t-color-turquoise3)',
+ turquoise4: 'var(--t-color-turquoise4)',
+ turquoise5: 'var(--t-color-turquoise5)',
+ turquoise6: 'var(--t-color-turquoise6)',
+ turquoise7: 'var(--t-color-turquoise7)',
+ turquoise8: 'var(--t-color-turquoise8)',
+ turquoise9: 'var(--t-color-turquoise9)',
+ turquoise10: 'var(--t-color-turquoise10)',
+ turquoise11: 'var(--t-color-turquoise11)',
+ turquoise12: 'var(--t-color-turquoise12)',
+ sky1: 'var(--t-color-sky1)',
+ sky2: 'var(--t-color-sky2)',
+ sky3: 'var(--t-color-sky3)',
+ sky4: 'var(--t-color-sky4)',
+ sky5: 'var(--t-color-sky5)',
+ sky6: 'var(--t-color-sky6)',
+ sky7: 'var(--t-color-sky7)',
+ sky8: 'var(--t-color-sky8)',
+ sky9: 'var(--t-color-sky9)',
+ sky10: 'var(--t-color-sky10)',
+ sky11: 'var(--t-color-sky11)',
+ sky12: 'var(--t-color-sky12)',
+ blue1: 'var(--t-color-blue1)',
+ blue2: 'var(--t-color-blue2)',
+ blue3: 'var(--t-color-blue3)',
+ blue4: 'var(--t-color-blue4)',
+ blue5: 'var(--t-color-blue5)',
+ blue6: 'var(--t-color-blue6)',
+ blue7: 'var(--t-color-blue7)',
+ blue8: 'var(--t-color-blue8)',
+ blue9: 'var(--t-color-blue9)',
+ blue10: 'var(--t-color-blue10)',
+ blue11: 'var(--t-color-blue11)',
+ blue12: 'var(--t-color-blue12)',
+ purple1: 'var(--t-color-purple1)',
+ purple2: 'var(--t-color-purple2)',
+ purple3: 'var(--t-color-purple3)',
+ purple4: 'var(--t-color-purple4)',
+ purple5: 'var(--t-color-purple5)',
+ purple6: 'var(--t-color-purple6)',
+ purple7: 'var(--t-color-purple7)',
+ purple8: 'var(--t-color-purple8)',
+ purple9: 'var(--t-color-purple9)',
+ purple10: 'var(--t-color-purple10)',
+ purple11: 'var(--t-color-purple11)',
+ purple12: 'var(--t-color-purple12)',
+ pink1: 'var(--t-color-pink1)',
+ pink2: 'var(--t-color-pink2)',
+ pink3: 'var(--t-color-pink3)',
+ pink4: 'var(--t-color-pink4)',
+ pink5: 'var(--t-color-pink5)',
+ pink6: 'var(--t-color-pink6)',
+ pink7: 'var(--t-color-pink7)',
+ pink8: 'var(--t-color-pink8)',
+ pink9: 'var(--t-color-pink9)',
+ pink10: 'var(--t-color-pink10)',
+ pink11: 'var(--t-color-pink11)',
+ pink12: 'var(--t-color-pink12)',
+ red1: 'var(--t-color-red1)',
+ red2: 'var(--t-color-red2)',
+ red3: 'var(--t-color-red3)',
+ red4: 'var(--t-color-red4)',
+ red5: 'var(--t-color-red5)',
+ red6: 'var(--t-color-red6)',
+ red7: 'var(--t-color-red7)',
+ red8: 'var(--t-color-red8)',
+ red9: 'var(--t-color-red9)',
+ red10: 'var(--t-color-red10)',
+ red11: 'var(--t-color-red11)',
+ red12: 'var(--t-color-red12)',
+ orange1: 'var(--t-color-orange1)',
+ orange2: 'var(--t-color-orange2)',
+ orange3: 'var(--t-color-orange3)',
+ orange4: 'var(--t-color-orange4)',
+ orange5: 'var(--t-color-orange5)',
+ orange6: 'var(--t-color-orange6)',
+ orange7: 'var(--t-color-orange7)',
+ orange8: 'var(--t-color-orange8)',
+ orange9: 'var(--t-color-orange9)',
+ orange10: 'var(--t-color-orange10)',
+ orange11: 'var(--t-color-orange11)',
+ orange12: 'var(--t-color-orange12)',
+ gray1: 'var(--t-color-gray1)',
+ gray2: 'var(--t-color-gray2)',
+ gray3: 'var(--t-color-gray3)',
+ gray4: 'var(--t-color-gray4)',
+ gray5: 'var(--t-color-gray5)',
+ gray6: 'var(--t-color-gray6)',
+ gray7: 'var(--t-color-gray7)',
+ gray8: 'var(--t-color-gray8)',
+ gray9: 'var(--t-color-gray9)',
+ gray10: 'var(--t-color-gray10)',
+ gray11: 'var(--t-color-gray11)',
+ gray12: 'var(--t-color-gray12)',
+ mauve1: 'var(--t-color-mauve1)',
+ mauve2: 'var(--t-color-mauve2)',
+ mauve3: 'var(--t-color-mauve3)',
+ mauve4: 'var(--t-color-mauve4)',
+ mauve5: 'var(--t-color-mauve5)',
+ mauve6: 'var(--t-color-mauve6)',
+ mauve7: 'var(--t-color-mauve7)',
+ mauve8: 'var(--t-color-mauve8)',
+ mauve9: 'var(--t-color-mauve9)',
+ mauve10: 'var(--t-color-mauve10)',
+ mauve11: 'var(--t-color-mauve11)',
+ mauve12: 'var(--t-color-mauve12)',
+ slate1: 'var(--t-color-slate1)',
+ slate2: 'var(--t-color-slate2)',
+ slate3: 'var(--t-color-slate3)',
+ slate4: 'var(--t-color-slate4)',
+ slate5: 'var(--t-color-slate5)',
+ slate6: 'var(--t-color-slate6)',
+ slate7: 'var(--t-color-slate7)',
+ slate8: 'var(--t-color-slate8)',
+ slate9: 'var(--t-color-slate9)',
+ slate10: 'var(--t-color-slate10)',
+ slate11: 'var(--t-color-slate11)',
+ slate12: 'var(--t-color-slate12)',
+ sage1: 'var(--t-color-sage1)',
+ sage2: 'var(--t-color-sage2)',
+ sage3: 'var(--t-color-sage3)',
+ sage4: 'var(--t-color-sage4)',
+ sage5: 'var(--t-color-sage5)',
+ sage6: 'var(--t-color-sage6)',
+ sage7: 'var(--t-color-sage7)',
+ sage8: 'var(--t-color-sage8)',
+ sage9: 'var(--t-color-sage9)',
+ sage10: 'var(--t-color-sage10)',
+ sage11: 'var(--t-color-sage11)',
+ sage12: 'var(--t-color-sage12)',
+ olive1: 'var(--t-color-olive1)',
+ olive2: 'var(--t-color-olive2)',
+ olive3: 'var(--t-color-olive3)',
+ olive4: 'var(--t-color-olive4)',
+ olive5: 'var(--t-color-olive5)',
+ olive6: 'var(--t-color-olive6)',
+ olive7: 'var(--t-color-olive7)',
+ olive8: 'var(--t-color-olive8)',
+ olive9: 'var(--t-color-olive9)',
+ olive10: 'var(--t-color-olive10)',
+ olive11: 'var(--t-color-olive11)',
+ olive12: 'var(--t-color-olive12)',
+ sand1: 'var(--t-color-sand1)',
+ sand2: 'var(--t-color-sand2)',
+ sand3: 'var(--t-color-sand3)',
+ sand4: 'var(--t-color-sand4)',
+ sand5: 'var(--t-color-sand5)',
+ sand6: 'var(--t-color-sand6)',
+ sand7: 'var(--t-color-sand7)',
+ sand8: 'var(--t-color-sand8)',
+ sand9: 'var(--t-color-sand9)',
+ sand10: 'var(--t-color-sand10)',
+ sand11: 'var(--t-color-sand11)',
+ sand12: 'var(--t-color-sand12)',
+ tomato1: 'var(--t-color-tomato1)',
+ tomato2: 'var(--t-color-tomato2)',
+ tomato3: 'var(--t-color-tomato3)',
+ tomato4: 'var(--t-color-tomato4)',
+ tomato5: 'var(--t-color-tomato5)',
+ tomato6: 'var(--t-color-tomato6)',
+ tomato7: 'var(--t-color-tomato7)',
+ tomato8: 'var(--t-color-tomato8)',
+ tomato9: 'var(--t-color-tomato9)',
+ tomato10: 'var(--t-color-tomato10)',
+ tomato11: 'var(--t-color-tomato11)',
+ tomato12: 'var(--t-color-tomato12)',
+ ruby1: 'var(--t-color-ruby1)',
+ ruby2: 'var(--t-color-ruby2)',
+ ruby3: 'var(--t-color-ruby3)',
+ ruby4: 'var(--t-color-ruby4)',
+ ruby5: 'var(--t-color-ruby5)',
+ ruby6: 'var(--t-color-ruby6)',
+ ruby7: 'var(--t-color-ruby7)',
+ ruby8: 'var(--t-color-ruby8)',
+ ruby9: 'var(--t-color-ruby9)',
+ ruby10: 'var(--t-color-ruby10)',
+ ruby11: 'var(--t-color-ruby11)',
+ ruby12: 'var(--t-color-ruby12)',
+ crimson1: 'var(--t-color-crimson1)',
+ crimson2: 'var(--t-color-crimson2)',
+ crimson3: 'var(--t-color-crimson3)',
+ crimson4: 'var(--t-color-crimson4)',
+ crimson5: 'var(--t-color-crimson5)',
+ crimson6: 'var(--t-color-crimson6)',
+ crimson7: 'var(--t-color-crimson7)',
+ crimson8: 'var(--t-color-crimson8)',
+ crimson9: 'var(--t-color-crimson9)',
+ crimson10: 'var(--t-color-crimson10)',
+ crimson11: 'var(--t-color-crimson11)',
+ crimson12: 'var(--t-color-crimson12)',
+ plum1: 'var(--t-color-plum1)',
+ plum2: 'var(--t-color-plum2)',
+ plum3: 'var(--t-color-plum3)',
+ plum4: 'var(--t-color-plum4)',
+ plum5: 'var(--t-color-plum5)',
+ plum6: 'var(--t-color-plum6)',
+ plum7: 'var(--t-color-plum7)',
+ plum8: 'var(--t-color-plum8)',
+ plum9: 'var(--t-color-plum9)',
+ plum10: 'var(--t-color-plum10)',
+ plum11: 'var(--t-color-plum11)',
+ plum12: 'var(--t-color-plum12)',
+ violet1: 'var(--t-color-violet1)',
+ violet2: 'var(--t-color-violet2)',
+ violet3: 'var(--t-color-violet3)',
+ violet4: 'var(--t-color-violet4)',
+ violet5: 'var(--t-color-violet5)',
+ violet6: 'var(--t-color-violet6)',
+ violet7: 'var(--t-color-violet7)',
+ violet8: 'var(--t-color-violet8)',
+ violet9: 'var(--t-color-violet9)',
+ violet10: 'var(--t-color-violet10)',
+ violet11: 'var(--t-color-violet11)',
+ violet12: 'var(--t-color-violet12)',
+ iris1: 'var(--t-color-iris1)',
+ iris2: 'var(--t-color-iris2)',
+ iris3: 'var(--t-color-iris3)',
+ iris4: 'var(--t-color-iris4)',
+ iris5: 'var(--t-color-iris5)',
+ iris6: 'var(--t-color-iris6)',
+ iris7: 'var(--t-color-iris7)',
+ iris8: 'var(--t-color-iris8)',
+ iris9: 'var(--t-color-iris9)',
+ iris10: 'var(--t-color-iris10)',
+ iris11: 'var(--t-color-iris11)',
+ iris12: 'var(--t-color-iris12)',
+ cyan1: 'var(--t-color-cyan1)',
+ cyan2: 'var(--t-color-cyan2)',
+ cyan3: 'var(--t-color-cyan3)',
+ cyan4: 'var(--t-color-cyan4)',
+ cyan5: 'var(--t-color-cyan5)',
+ cyan6: 'var(--t-color-cyan6)',
+ cyan7: 'var(--t-color-cyan7)',
+ cyan8: 'var(--t-color-cyan8)',
+ cyan9: 'var(--t-color-cyan9)',
+ cyan10: 'var(--t-color-cyan10)',
+ cyan11: 'var(--t-color-cyan11)',
+ cyan12: 'var(--t-color-cyan12)',
+ jade1: 'var(--t-color-jade1)',
+ jade2: 'var(--t-color-jade2)',
+ jade3: 'var(--t-color-jade3)',
+ jade4: 'var(--t-color-jade4)',
+ jade5: 'var(--t-color-jade5)',
+ jade6: 'var(--t-color-jade6)',
+ jade7: 'var(--t-color-jade7)',
+ jade8: 'var(--t-color-jade8)',
+ jade9: 'var(--t-color-jade9)',
+ jade10: 'var(--t-color-jade10)',
+ jade11: 'var(--t-color-jade11)',
+ jade12: 'var(--t-color-jade12)',
+ grass1: 'var(--t-color-grass1)',
+ grass2: 'var(--t-color-grass2)',
+ grass3: 'var(--t-color-grass3)',
+ grass4: 'var(--t-color-grass4)',
+ grass5: 'var(--t-color-grass5)',
+ grass6: 'var(--t-color-grass6)',
+ grass7: 'var(--t-color-grass7)',
+ grass8: 'var(--t-color-grass8)',
+ grass9: 'var(--t-color-grass9)',
+ grass10: 'var(--t-color-grass10)',
+ grass11: 'var(--t-color-grass11)',
+ grass12: 'var(--t-color-grass12)',
+ mint1: 'var(--t-color-mint1)',
+ mint2: 'var(--t-color-mint2)',
+ mint3: 'var(--t-color-mint3)',
+ mint4: 'var(--t-color-mint4)',
+ mint5: 'var(--t-color-mint5)',
+ mint6: 'var(--t-color-mint6)',
+ mint7: 'var(--t-color-mint7)',
+ mint8: 'var(--t-color-mint8)',
+ mint9: 'var(--t-color-mint9)',
+ mint10: 'var(--t-color-mint10)',
+ mint11: 'var(--t-color-mint11)',
+ mint12: 'var(--t-color-mint12)',
+ lime1: 'var(--t-color-lime1)',
+ lime2: 'var(--t-color-lime2)',
+ lime3: 'var(--t-color-lime3)',
+ lime4: 'var(--t-color-lime4)',
+ lime5: 'var(--t-color-lime5)',
+ lime6: 'var(--t-color-lime6)',
+ lime7: 'var(--t-color-lime7)',
+ lime8: 'var(--t-color-lime8)',
+ lime9: 'var(--t-color-lime9)',
+ lime10: 'var(--t-color-lime10)',
+ lime11: 'var(--t-color-lime11)',
+ lime12: 'var(--t-color-lime12)',
+ bronze1: 'var(--t-color-bronze1)',
+ bronze2: 'var(--t-color-bronze2)',
+ bronze3: 'var(--t-color-bronze3)',
+ bronze4: 'var(--t-color-bronze4)',
+ bronze5: 'var(--t-color-bronze5)',
+ bronze6: 'var(--t-color-bronze6)',
+ bronze7: 'var(--t-color-bronze7)',
+ bronze8: 'var(--t-color-bronze8)',
+ bronze9: 'var(--t-color-bronze9)',
+ bronze10: 'var(--t-color-bronze10)',
+ bronze11: 'var(--t-color-bronze11)',
+ bronze12: 'var(--t-color-bronze12)',
+ gold1: 'var(--t-color-gold1)',
+ gold2: 'var(--t-color-gold2)',
+ gold3: 'var(--t-color-gold3)',
+ gold4: 'var(--t-color-gold4)',
+ gold5: 'var(--t-color-gold5)',
+ gold6: 'var(--t-color-gold6)',
+ gold7: 'var(--t-color-gold7)',
+ gold8: 'var(--t-color-gold8)',
+ gold9: 'var(--t-color-gold9)',
+ gold10: 'var(--t-color-gold10)',
+ gold11: 'var(--t-color-gold11)',
+ gold12: 'var(--t-color-gold12)',
+ brown1: 'var(--t-color-brown1)',
+ brown2: 'var(--t-color-brown2)',
+ brown3: 'var(--t-color-brown3)',
+ brown4: 'var(--t-color-brown4)',
+ brown5: 'var(--t-color-brown5)',
+ brown6: 'var(--t-color-brown6)',
+ brown7: 'var(--t-color-brown7)',
+ brown8: 'var(--t-color-brown8)',
+ brown9: 'var(--t-color-brown9)',
+ brown10: 'var(--t-color-brown10)',
+ brown11: 'var(--t-color-brown11)',
+ brown12: 'var(--t-color-brown12)',
+ amber1: 'var(--t-color-amber1)',
+ amber2: 'var(--t-color-amber2)',
+ amber3: 'var(--t-color-amber3)',
+ amber4: 'var(--t-color-amber4)',
+ amber5: 'var(--t-color-amber5)',
+ amber6: 'var(--t-color-amber6)',
+ amber7: 'var(--t-color-amber7)',
+ amber8: 'var(--t-color-amber8)',
+ amber9: 'var(--t-color-amber9)',
+ amber10: 'var(--t-color-amber10)',
+ amber11: 'var(--t-color-amber11)',
+ amber12: 'var(--t-color-amber12)',
+ transparent: {
+ green1: 'var(--t-color-transparent-green1)',
+ green2: 'var(--t-color-transparent-green2)',
+ green3: 'var(--t-color-transparent-green3)',
+ green4: 'var(--t-color-transparent-green4)',
+ green5: 'var(--t-color-transparent-green5)',
+ green6: 'var(--t-color-transparent-green6)',
+ green7: 'var(--t-color-transparent-green7)',
+ green8: 'var(--t-color-transparent-green8)',
+ green9: 'var(--t-color-transparent-green9)',
+ green10: 'var(--t-color-transparent-green10)',
+ green11: 'var(--t-color-transparent-green11)',
+ green12: 'var(--t-color-transparent-green12)',
+ turquoise1: 'var(--t-color-transparent-turquoise1)',
+ turquoise2: 'var(--t-color-transparent-turquoise2)',
+ turquoise3: 'var(--t-color-transparent-turquoise3)',
+ turquoise4: 'var(--t-color-transparent-turquoise4)',
+ turquoise5: 'var(--t-color-transparent-turquoise5)',
+ turquoise6: 'var(--t-color-transparent-turquoise6)',
+ turquoise7: 'var(--t-color-transparent-turquoise7)',
+ turquoise8: 'var(--t-color-transparent-turquoise8)',
+ turquoise9: 'var(--t-color-transparent-turquoise9)',
+ turquoise10: 'var(--t-color-transparent-turquoise10)',
+ turquoise11: 'var(--t-color-transparent-turquoise11)',
+ turquoise12: 'var(--t-color-transparent-turquoise12)',
+ sky1: 'var(--t-color-transparent-sky1)',
+ sky2: 'var(--t-color-transparent-sky2)',
+ sky3: 'var(--t-color-transparent-sky3)',
+ sky4: 'var(--t-color-transparent-sky4)',
+ sky5: 'var(--t-color-transparent-sky5)',
+ sky6: 'var(--t-color-transparent-sky6)',
+ sky7: 'var(--t-color-transparent-sky7)',
+ sky8: 'var(--t-color-transparent-sky8)',
+ sky9: 'var(--t-color-transparent-sky9)',
+ sky10: 'var(--t-color-transparent-sky10)',
+ sky11: 'var(--t-color-transparent-sky11)',
+ sky12: 'var(--t-color-transparent-sky12)',
+ blue1: 'var(--t-color-transparent-blue1)',
+ blue2: 'var(--t-color-transparent-blue2)',
+ blue3: 'var(--t-color-transparent-blue3)',
+ blue4: 'var(--t-color-transparent-blue4)',
+ blue5: 'var(--t-color-transparent-blue5)',
+ blue6: 'var(--t-color-transparent-blue6)',
+ blue7: 'var(--t-color-transparent-blue7)',
+ blue8: 'var(--t-color-transparent-blue8)',
+ blue9: 'var(--t-color-transparent-blue9)',
+ blue10: 'var(--t-color-transparent-blue10)',
+ blue11: 'var(--t-color-transparent-blue11)',
+ blue12: 'var(--t-color-transparent-blue12)',
+ purple1: 'var(--t-color-transparent-purple1)',
+ purple2: 'var(--t-color-transparent-purple2)',
+ purple3: 'var(--t-color-transparent-purple3)',
+ purple4: 'var(--t-color-transparent-purple4)',
+ purple5: 'var(--t-color-transparent-purple5)',
+ purple6: 'var(--t-color-transparent-purple6)',
+ purple7: 'var(--t-color-transparent-purple7)',
+ purple8: 'var(--t-color-transparent-purple8)',
+ purple9: 'var(--t-color-transparent-purple9)',
+ purple10: 'var(--t-color-transparent-purple10)',
+ purple11: 'var(--t-color-transparent-purple11)',
+ purple12: 'var(--t-color-transparent-purple12)',
+ pink1: 'var(--t-color-transparent-pink1)',
+ pink2: 'var(--t-color-transparent-pink2)',
+ pink3: 'var(--t-color-transparent-pink3)',
+ pink4: 'var(--t-color-transparent-pink4)',
+ pink5: 'var(--t-color-transparent-pink5)',
+ pink6: 'var(--t-color-transparent-pink6)',
+ pink7: 'var(--t-color-transparent-pink7)',
+ pink8: 'var(--t-color-transparent-pink8)',
+ pink9: 'var(--t-color-transparent-pink9)',
+ pink10: 'var(--t-color-transparent-pink10)',
+ pink11: 'var(--t-color-transparent-pink11)',
+ pink12: 'var(--t-color-transparent-pink12)',
+ red1: 'var(--t-color-transparent-red1)',
+ red2: 'var(--t-color-transparent-red2)',
+ red3: 'var(--t-color-transparent-red3)',
+ red4: 'var(--t-color-transparent-red4)',
+ red5: 'var(--t-color-transparent-red5)',
+ red6: 'var(--t-color-transparent-red6)',
+ red7: 'var(--t-color-transparent-red7)',
+ red8: 'var(--t-color-transparent-red8)',
+ red9: 'var(--t-color-transparent-red9)',
+ red10: 'var(--t-color-transparent-red10)',
+ red11: 'var(--t-color-transparent-red11)',
+ red12: 'var(--t-color-transparent-red12)',
+ orange1: 'var(--t-color-transparent-orange1)',
+ orange2: 'var(--t-color-transparent-orange2)',
+ orange3: 'var(--t-color-transparent-orange3)',
+ orange4: 'var(--t-color-transparent-orange4)',
+ orange5: 'var(--t-color-transparent-orange5)',
+ orange6: 'var(--t-color-transparent-orange6)',
+ orange7: 'var(--t-color-transparent-orange7)',
+ orange8: 'var(--t-color-transparent-orange8)',
+ orange9: 'var(--t-color-transparent-orange9)',
+ orange10: 'var(--t-color-transparent-orange10)',
+ orange11: 'var(--t-color-transparent-orange11)',
+ orange12: 'var(--t-color-transparent-orange12)',
+ yellow1: 'var(--t-color-transparent-yellow1)',
+ yellow2: 'var(--t-color-transparent-yellow2)',
+ yellow3: 'var(--t-color-transparent-yellow3)',
+ yellow4: 'var(--t-color-transparent-yellow4)',
+ yellow5: 'var(--t-color-transparent-yellow5)',
+ yellow6: 'var(--t-color-transparent-yellow6)',
+ yellow7: 'var(--t-color-transparent-yellow7)',
+ yellow8: 'var(--t-color-transparent-yellow8)',
+ yellow9: 'var(--t-color-transparent-yellow9)',
+ yellow10: 'var(--t-color-transparent-yellow10)',
+ yellow11: 'var(--t-color-transparent-yellow11)',
+ yellow12: 'var(--t-color-transparent-yellow12)',
+ gray1: 'var(--t-color-transparent-gray1)',
+ gray2: 'var(--t-color-transparent-gray2)',
+ gray3: 'var(--t-color-transparent-gray3)',
+ gray4: 'var(--t-color-transparent-gray4)',
+ gray5: 'var(--t-color-transparent-gray5)',
+ gray6: 'var(--t-color-transparent-gray6)',
+ gray7: 'var(--t-color-transparent-gray7)',
+ gray8: 'var(--t-color-transparent-gray8)',
+ gray9: 'var(--t-color-transparent-gray9)',
+ gray10: 'var(--t-color-transparent-gray10)',
+ gray11: 'var(--t-color-transparent-gray11)',
+ gray12: 'var(--t-color-transparent-gray12)',
+ mauve1: 'var(--t-color-transparent-mauve1)',
+ mauve2: 'var(--t-color-transparent-mauve2)',
+ mauve3: 'var(--t-color-transparent-mauve3)',
+ mauve4: 'var(--t-color-transparent-mauve4)',
+ mauve5: 'var(--t-color-transparent-mauve5)',
+ mauve6: 'var(--t-color-transparent-mauve6)',
+ mauve7: 'var(--t-color-transparent-mauve7)',
+ mauve8: 'var(--t-color-transparent-mauve8)',
+ mauve9: 'var(--t-color-transparent-mauve9)',
+ mauve10: 'var(--t-color-transparent-mauve10)',
+ mauve11: 'var(--t-color-transparent-mauve11)',
+ mauve12: 'var(--t-color-transparent-mauve12)',
+ slate1: 'var(--t-color-transparent-slate1)',
+ slate2: 'var(--t-color-transparent-slate2)',
+ slate3: 'var(--t-color-transparent-slate3)',
+ slate4: 'var(--t-color-transparent-slate4)',
+ slate5: 'var(--t-color-transparent-slate5)',
+ slate6: 'var(--t-color-transparent-slate6)',
+ slate7: 'var(--t-color-transparent-slate7)',
+ slate8: 'var(--t-color-transparent-slate8)',
+ slate9: 'var(--t-color-transparent-slate9)',
+ slate10: 'var(--t-color-transparent-slate10)',
+ slate11: 'var(--t-color-transparent-slate11)',
+ slate12: 'var(--t-color-transparent-slate12)',
+ sage1: 'var(--t-color-transparent-sage1)',
+ sage2: 'var(--t-color-transparent-sage2)',
+ sage3: 'var(--t-color-transparent-sage3)',
+ sage4: 'var(--t-color-transparent-sage4)',
+ sage5: 'var(--t-color-transparent-sage5)',
+ sage6: 'var(--t-color-transparent-sage6)',
+ sage7: 'var(--t-color-transparent-sage7)',
+ sage8: 'var(--t-color-transparent-sage8)',
+ sage9: 'var(--t-color-transparent-sage9)',
+ sage10: 'var(--t-color-transparent-sage10)',
+ sage11: 'var(--t-color-transparent-sage11)',
+ sage12: 'var(--t-color-transparent-sage12)',
+ olive1: 'var(--t-color-transparent-olive1)',
+ olive2: 'var(--t-color-transparent-olive2)',
+ olive3: 'var(--t-color-transparent-olive3)',
+ olive4: 'var(--t-color-transparent-olive4)',
+ olive5: 'var(--t-color-transparent-olive5)',
+ olive6: 'var(--t-color-transparent-olive6)',
+ olive7: 'var(--t-color-transparent-olive7)',
+ olive8: 'var(--t-color-transparent-olive8)',
+ olive9: 'var(--t-color-transparent-olive9)',
+ olive10: 'var(--t-color-transparent-olive10)',
+ olive11: 'var(--t-color-transparent-olive11)',
+ olive12: 'var(--t-color-transparent-olive12)',
+ sand1: 'var(--t-color-transparent-sand1)',
+ sand2: 'var(--t-color-transparent-sand2)',
+ sand3: 'var(--t-color-transparent-sand3)',
+ sand4: 'var(--t-color-transparent-sand4)',
+ sand5: 'var(--t-color-transparent-sand5)',
+ sand6: 'var(--t-color-transparent-sand6)',
+ sand7: 'var(--t-color-transparent-sand7)',
+ sand8: 'var(--t-color-transparent-sand8)',
+ sand9: 'var(--t-color-transparent-sand9)',
+ sand10: 'var(--t-color-transparent-sand10)',
+ sand11: 'var(--t-color-transparent-sand11)',
+ sand12: 'var(--t-color-transparent-sand12)',
+ tomato1: 'var(--t-color-transparent-tomato1)',
+ tomato2: 'var(--t-color-transparent-tomato2)',
+ tomato3: 'var(--t-color-transparent-tomato3)',
+ tomato4: 'var(--t-color-transparent-tomato4)',
+ tomato5: 'var(--t-color-transparent-tomato5)',
+ tomato6: 'var(--t-color-transparent-tomato6)',
+ tomato7: 'var(--t-color-transparent-tomato7)',
+ tomato8: 'var(--t-color-transparent-tomato8)',
+ tomato9: 'var(--t-color-transparent-tomato9)',
+ tomato10: 'var(--t-color-transparent-tomato10)',
+ tomato11: 'var(--t-color-transparent-tomato11)',
+ tomato12: 'var(--t-color-transparent-tomato12)',
+ ruby1: 'var(--t-color-transparent-ruby1)',
+ ruby2: 'var(--t-color-transparent-ruby2)',
+ ruby3: 'var(--t-color-transparent-ruby3)',
+ ruby4: 'var(--t-color-transparent-ruby4)',
+ ruby5: 'var(--t-color-transparent-ruby5)',
+ ruby6: 'var(--t-color-transparent-ruby6)',
+ ruby7: 'var(--t-color-transparent-ruby7)',
+ ruby8: 'var(--t-color-transparent-ruby8)',
+ ruby9: 'var(--t-color-transparent-ruby9)',
+ ruby10: 'var(--t-color-transparent-ruby10)',
+ ruby11: 'var(--t-color-transparent-ruby11)',
+ ruby12: 'var(--t-color-transparent-ruby12)',
+ crimson1: 'var(--t-color-transparent-crimson1)',
+ crimson2: 'var(--t-color-transparent-crimson2)',
+ crimson3: 'var(--t-color-transparent-crimson3)',
+ crimson4: 'var(--t-color-transparent-crimson4)',
+ crimson5: 'var(--t-color-transparent-crimson5)',
+ crimson6: 'var(--t-color-transparent-crimson6)',
+ crimson7: 'var(--t-color-transparent-crimson7)',
+ crimson8: 'var(--t-color-transparent-crimson8)',
+ crimson9: 'var(--t-color-transparent-crimson9)',
+ crimson10: 'var(--t-color-transparent-crimson10)',
+ crimson11: 'var(--t-color-transparent-crimson11)',
+ crimson12: 'var(--t-color-transparent-crimson12)',
+ plum1: 'var(--t-color-transparent-plum1)',
+ plum2: 'var(--t-color-transparent-plum2)',
+ plum3: 'var(--t-color-transparent-plum3)',
+ plum4: 'var(--t-color-transparent-plum4)',
+ plum5: 'var(--t-color-transparent-plum5)',
+ plum6: 'var(--t-color-transparent-plum6)',
+ plum7: 'var(--t-color-transparent-plum7)',
+ plum8: 'var(--t-color-transparent-plum8)',
+ plum9: 'var(--t-color-transparent-plum9)',
+ plum10: 'var(--t-color-transparent-plum10)',
+ plum11: 'var(--t-color-transparent-plum11)',
+ plum12: 'var(--t-color-transparent-plum12)',
+ violet1: 'var(--t-color-transparent-violet1)',
+ violet2: 'var(--t-color-transparent-violet2)',
+ violet3: 'var(--t-color-transparent-violet3)',
+ violet4: 'var(--t-color-transparent-violet4)',
+ violet5: 'var(--t-color-transparent-violet5)',
+ violet6: 'var(--t-color-transparent-violet6)',
+ violet7: 'var(--t-color-transparent-violet7)',
+ violet8: 'var(--t-color-transparent-violet8)',
+ violet9: 'var(--t-color-transparent-violet9)',
+ violet10: 'var(--t-color-transparent-violet10)',
+ violet11: 'var(--t-color-transparent-violet11)',
+ violet12: 'var(--t-color-transparent-violet12)',
+ iris1: 'var(--t-color-transparent-iris1)',
+ iris2: 'var(--t-color-transparent-iris2)',
+ iris3: 'var(--t-color-transparent-iris3)',
+ iris4: 'var(--t-color-transparent-iris4)',
+ iris5: 'var(--t-color-transparent-iris5)',
+ iris6: 'var(--t-color-transparent-iris6)',
+ iris7: 'var(--t-color-transparent-iris7)',
+ iris8: 'var(--t-color-transparent-iris8)',
+ iris9: 'var(--t-color-transparent-iris9)',
+ iris10: 'var(--t-color-transparent-iris10)',
+ iris11: 'var(--t-color-transparent-iris11)',
+ iris12: 'var(--t-color-transparent-iris12)',
+ cyan1: 'var(--t-color-transparent-cyan1)',
+ cyan2: 'var(--t-color-transparent-cyan2)',
+ cyan3: 'var(--t-color-transparent-cyan3)',
+ cyan4: 'var(--t-color-transparent-cyan4)',
+ cyan5: 'var(--t-color-transparent-cyan5)',
+ cyan6: 'var(--t-color-transparent-cyan6)',
+ cyan7: 'var(--t-color-transparent-cyan7)',
+ cyan8: 'var(--t-color-transparent-cyan8)',
+ cyan9: 'var(--t-color-transparent-cyan9)',
+ cyan10: 'var(--t-color-transparent-cyan10)',
+ cyan11: 'var(--t-color-transparent-cyan11)',
+ cyan12: 'var(--t-color-transparent-cyan12)',
+ jade1: 'var(--t-color-transparent-jade1)',
+ jade2: 'var(--t-color-transparent-jade2)',
+ jade3: 'var(--t-color-transparent-jade3)',
+ jade4: 'var(--t-color-transparent-jade4)',
+ jade5: 'var(--t-color-transparent-jade5)',
+ jade6: 'var(--t-color-transparent-jade6)',
+ jade7: 'var(--t-color-transparent-jade7)',
+ jade8: 'var(--t-color-transparent-jade8)',
+ jade9: 'var(--t-color-transparent-jade9)',
+ jade10: 'var(--t-color-transparent-jade10)',
+ jade11: 'var(--t-color-transparent-jade11)',
+ jade12: 'var(--t-color-transparent-jade12)',
+ grass1: 'var(--t-color-transparent-grass1)',
+ grass2: 'var(--t-color-transparent-grass2)',
+ grass3: 'var(--t-color-transparent-grass3)',
+ grass4: 'var(--t-color-transparent-grass4)',
+ grass5: 'var(--t-color-transparent-grass5)',
+ grass6: 'var(--t-color-transparent-grass6)',
+ grass7: 'var(--t-color-transparent-grass7)',
+ grass8: 'var(--t-color-transparent-grass8)',
+ grass9: 'var(--t-color-transparent-grass9)',
+ grass10: 'var(--t-color-transparent-grass10)',
+ grass11: 'var(--t-color-transparent-grass11)',
+ grass12: 'var(--t-color-transparent-grass12)',
+ mint1: 'var(--t-color-transparent-mint1)',
+ mint2: 'var(--t-color-transparent-mint2)',
+ mint3: 'var(--t-color-transparent-mint3)',
+ mint4: 'var(--t-color-transparent-mint4)',
+ mint5: 'var(--t-color-transparent-mint5)',
+ mint6: 'var(--t-color-transparent-mint6)',
+ mint7: 'var(--t-color-transparent-mint7)',
+ mint8: 'var(--t-color-transparent-mint8)',
+ mint9: 'var(--t-color-transparent-mint9)',
+ mint10: 'var(--t-color-transparent-mint10)',
+ mint11: 'var(--t-color-transparent-mint11)',
+ mint12: 'var(--t-color-transparent-mint12)',
+ lime1: 'var(--t-color-transparent-lime1)',
+ lime2: 'var(--t-color-transparent-lime2)',
+ lime3: 'var(--t-color-transparent-lime3)',
+ lime4: 'var(--t-color-transparent-lime4)',
+ lime5: 'var(--t-color-transparent-lime5)',
+ lime6: 'var(--t-color-transparent-lime6)',
+ lime7: 'var(--t-color-transparent-lime7)',
+ lime8: 'var(--t-color-transparent-lime8)',
+ lime9: 'var(--t-color-transparent-lime9)',
+ lime10: 'var(--t-color-transparent-lime10)',
+ lime11: 'var(--t-color-transparent-lime11)',
+ lime12: 'var(--t-color-transparent-lime12)',
+ bronze1: 'var(--t-color-transparent-bronze1)',
+ bronze2: 'var(--t-color-transparent-bronze2)',
+ bronze3: 'var(--t-color-transparent-bronze3)',
+ bronze4: 'var(--t-color-transparent-bronze4)',
+ bronze5: 'var(--t-color-transparent-bronze5)',
+ bronze6: 'var(--t-color-transparent-bronze6)',
+ bronze7: 'var(--t-color-transparent-bronze7)',
+ bronze8: 'var(--t-color-transparent-bronze8)',
+ bronze9: 'var(--t-color-transparent-bronze9)',
+ bronze10: 'var(--t-color-transparent-bronze10)',
+ bronze11: 'var(--t-color-transparent-bronze11)',
+ bronze12: 'var(--t-color-transparent-bronze12)',
+ gold1: 'var(--t-color-transparent-gold1)',
+ gold2: 'var(--t-color-transparent-gold2)',
+ gold3: 'var(--t-color-transparent-gold3)',
+ gold4: 'var(--t-color-transparent-gold4)',
+ gold5: 'var(--t-color-transparent-gold5)',
+ gold6: 'var(--t-color-transparent-gold6)',
+ gold7: 'var(--t-color-transparent-gold7)',
+ gold8: 'var(--t-color-transparent-gold8)',
+ gold9: 'var(--t-color-transparent-gold9)',
+ gold10: 'var(--t-color-transparent-gold10)',
+ gold11: 'var(--t-color-transparent-gold11)',
+ gold12: 'var(--t-color-transparent-gold12)',
+ brown1: 'var(--t-color-transparent-brown1)',
+ brown2: 'var(--t-color-transparent-brown2)',
+ brown3: 'var(--t-color-transparent-brown3)',
+ brown4: 'var(--t-color-transparent-brown4)',
+ brown5: 'var(--t-color-transparent-brown5)',
+ brown6: 'var(--t-color-transparent-brown6)',
+ brown7: 'var(--t-color-transparent-brown7)',
+ brown8: 'var(--t-color-transparent-brown8)',
+ brown9: 'var(--t-color-transparent-brown9)',
+ brown10: 'var(--t-color-transparent-brown10)',
+ brown11: 'var(--t-color-transparent-brown11)',
+ brown12: 'var(--t-color-transparent-brown12)',
+ amber1: 'var(--t-color-transparent-amber1)',
+ amber2: 'var(--t-color-transparent-amber2)',
+ amber3: 'var(--t-color-transparent-amber3)',
+ amber4: 'var(--t-color-transparent-amber4)',
+ amber5: 'var(--t-color-transparent-amber5)',
+ amber6: 'var(--t-color-transparent-amber6)',
+ amber7: 'var(--t-color-transparent-amber7)',
+ amber8: 'var(--t-color-transparent-amber8)',
+ amber9: 'var(--t-color-transparent-amber9)',
+ amber10: 'var(--t-color-transparent-amber10)',
+ amber11: 'var(--t-color-transparent-amber11)',
+ amber12: 'var(--t-color-transparent-amber12)',
+ },
+ },
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/AccentDark.ts b/packages/twenty-new-ui/src/theme/constants/AccentDark.ts
new file mode 100644
index 00000000000..c95cd81d314
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/AccentDark.ts
@@ -0,0 +1,23 @@
+import * as RadixColors from '@radix-ui/colors';
+import { COLOR_DARK } from '@new-ui/theme/constants/ColorsDark';
+
+export const ACCENT_DARK = {
+ primary: COLOR_DARK.blue5,
+ secondary: COLOR_DARK.blue5,
+ tertiary: COLOR_DARK.blue3,
+ quaternary: COLOR_DARK.blue2,
+ accent3570: COLOR_DARK.blue8,
+ accent4060: COLOR_DARK.blue8,
+ accent1: RadixColors.indigoDarkP3.indigo1,
+ accent2: RadixColors.indigoDarkP3.indigo2,
+ accent3: RadixColors.indigoDarkP3.indigo3,
+ accent4: RadixColors.indigoDarkP3.indigo4,
+ accent5: RadixColors.indigoDarkP3.indigo5,
+ accent6: RadixColors.indigoDarkP3.indigo6,
+ accent7: RadixColors.indigoDarkP3.indigo7,
+ accent8: RadixColors.indigoDarkP3.indigo8,
+ accent9: RadixColors.indigoDarkP3.indigo9,
+ accent10: RadixColors.indigoDarkP3.indigo10,
+ accent11: RadixColors.indigoDarkP3.indigo11,
+ accent12: RadixColors.indigoDarkP3.indigo12,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/AccentLight.ts b/packages/twenty-new-ui/src/theme/constants/AccentLight.ts
new file mode 100644
index 00000000000..f8e6c7cf3c1
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/AccentLight.ts
@@ -0,0 +1,23 @@
+import * as RadixColors from '@radix-ui/colors';
+import { COLOR_LIGHT } from '@new-ui/theme/constants/ColorsLight';
+
+export const ACCENT_LIGHT = {
+ primary: COLOR_LIGHT.blue5,
+ secondary: COLOR_LIGHT.blue5,
+ tertiary: COLOR_LIGHT.blue3,
+ quaternary: COLOR_LIGHT.blue2,
+ accent3570: COLOR_LIGHT.blue8,
+ accent4060: COLOR_LIGHT.blue8,
+ accent1: RadixColors.indigoP3.indigo1,
+ accent2: RadixColors.indigoP3.indigo2,
+ accent3: RadixColors.indigoP3.indigo3,
+ accent4: RadixColors.indigoP3.indigo4,
+ accent5: RadixColors.indigoP3.indigo5,
+ accent6: RadixColors.indigoP3.indigo6,
+ accent7: RadixColors.indigoP3.indigo7,
+ accent8: RadixColors.indigoP3.indigo8,
+ accent9: RadixColors.indigoP3.indigo9,
+ accent10: RadixColors.indigoP3.indigo10,
+ accent11: RadixColors.indigoP3.indigo11,
+ accent12: RadixColors.indigoP3.indigo12,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/Animation.ts b/packages/twenty-new-ui/src/theme/constants/Animation.ts
new file mode 100644
index 00000000000..4e2c2c3340f
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/Animation.ts
@@ -0,0 +1,10 @@
+export const ANIMATION = {
+ duration: {
+ instant: 0.075,
+ fast: 0.15,
+ normal: 0.3,
+ slow: 1.5,
+ },
+};
+
+export type AnimationDuration = keyof typeof ANIMATION.duration;
diff --git a/packages/twenty-new-ui/src/theme/constants/BackgroundDark.ts b/packages/twenty-new-ui/src/theme/constants/BackgroundDark.ts
new file mode 100644
index 00000000000..e3d7420b6b2
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/BackgroundDark.ts
@@ -0,0 +1,35 @@
+import * as RadixColors from '@radix-ui/colors';
+
+import { COLOR_DARK } from '@new-ui/theme/constants/ColorsDark';
+import { GRAY_SCALE_DARK } from './GrayScaleDark';
+import { TRANSPARENT_COLORS_DARK } from './TransparentColorsDark';
+
+export const BACKGROUND_DARK = {
+ noisy: 'var(--t-background-noisy)',
+ primary: GRAY_SCALE_DARK.gray1,
+ secondary: GRAY_SCALE_DARK.gray2,
+ tertiary: GRAY_SCALE_DARK.gray4,
+ quaternary: GRAY_SCALE_DARK.gray5,
+ invertedPrimary: GRAY_SCALE_DARK.gray12,
+ invertedSecondary: GRAY_SCALE_DARK.gray11,
+ danger: COLOR_DARK.red3,
+ transparent: {
+ primary: RadixColors.blackP3A.blackA7,
+ secondary: RadixColors.blackP3A.blackA6,
+ strong: TRANSPARENT_COLORS_DARK.gray7,
+ medium: TRANSPARENT_COLORS_DARK.gray5,
+ light: TRANSPARENT_COLORS_DARK.gray2,
+ lighter: TRANSPARENT_COLORS_DARK.gray1,
+ danger: TRANSPARENT_COLORS_DARK.red3,
+ blue: TRANSPARENT_COLORS_DARK.blue4,
+ orange: TRANSPARENT_COLORS_DARK.orange4,
+ success: TRANSPARENT_COLORS_DARK.green4,
+ },
+ overlayPrimary: '#000000b8',
+ overlaySecondary: '#0000005c',
+ overlayTertiary: '#0000005c',
+ radialGradient: `radial-gradient(50% 62.62% at 50% 0%, ${GRAY_SCALE_DARK.gray9} 0%, ${GRAY_SCALE_DARK.gray10} 100%)`,
+ radialGradientHover: `radial-gradient(76.32% 95.59% at 50% 0%, ${GRAY_SCALE_DARK.gray10} 0%, ${GRAY_SCALE_DARK.gray11} 100%)`,
+ primaryInverted: GRAY_SCALE_DARK.gray12,
+ primaryInvertedHover: GRAY_SCALE_DARK.gray11,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/BackgroundLight.ts b/packages/twenty-new-ui/src/theme/constants/BackgroundLight.ts
new file mode 100644
index 00000000000..4ba0183af24
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/BackgroundLight.ts
@@ -0,0 +1,35 @@
+import * as RadixColors from '@radix-ui/colors';
+
+import { COLOR_LIGHT } from '@new-ui/theme/constants/ColorsLight';
+import { GRAY_SCALE_LIGHT } from './GrayScaleLight';
+import { TRANSPARENT_COLORS_LIGHT } from './TransparentColorsLight';
+
+export const BACKGROUND_LIGHT = {
+ noisy: 'var(--t-background-noisy)',
+ primary: GRAY_SCALE_LIGHT.gray1,
+ secondary: GRAY_SCALE_LIGHT.gray2,
+ tertiary: GRAY_SCALE_LIGHT.gray4,
+ quaternary: GRAY_SCALE_LIGHT.gray5,
+ invertedPrimary: GRAY_SCALE_LIGHT.gray12,
+ invertedSecondary: GRAY_SCALE_LIGHT.gray11,
+ danger: COLOR_LIGHT.red3,
+ transparent: {
+ primary: RadixColors.whiteP3A.whiteA7,
+ secondary: RadixColors.whiteP3A.whiteA6,
+ strong: TRANSPARENT_COLORS_LIGHT.gray7,
+ medium: TRANSPARENT_COLORS_LIGHT.gray5,
+ light: TRANSPARENT_COLORS_LIGHT.gray2,
+ lighter: TRANSPARENT_COLORS_LIGHT.gray1,
+ danger: TRANSPARENT_COLORS_LIGHT.red3,
+ blue: TRANSPARENT_COLORS_LIGHT.blue3,
+ orange: TRANSPARENT_COLORS_LIGHT.orange3,
+ success: TRANSPARENT_COLORS_LIGHT.green3,
+ },
+ overlayPrimary: TRANSPARENT_COLORS_LIGHT.gray11,
+ overlaySecondary: TRANSPARENT_COLORS_LIGHT.gray9,
+ overlayTertiary: TRANSPARENT_COLORS_LIGHT.gray4,
+ radialGradient: `radial-gradient(50% 62.62% at 50% 0%, ${GRAY_SCALE_LIGHT.gray9} 0%, ${GRAY_SCALE_LIGHT.gray10} 100%)`,
+ radialGradientHover: `radial-gradient(76.32% 95.59% at 50% 0%, ${GRAY_SCALE_LIGHT.gray10} 0%, ${GRAY_SCALE_LIGHT.gray11} 100%)`,
+ primaryInverted: GRAY_SCALE_LIGHT.gray12,
+ primaryInvertedHover: GRAY_SCALE_LIGHT.gray11,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/BlurDark.ts b/packages/twenty-new-ui/src/theme/constants/BlurDark.ts
new file mode 100644
index 00000000000..84129053f09
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/BlurDark.ts
@@ -0,0 +1,5 @@
+export const BLUR_DARK = {
+ light: 'blur(6px) saturate(200%) contrast(100%) brightness(130%)',
+ medium: 'blur(12px) saturate(200%) contrast(100%) brightness(130%)',
+ strong: 'blur(20px) saturate(200%) contrast(100%) brightness(130%)',
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/BlurLight.ts b/packages/twenty-new-ui/src/theme/constants/BlurLight.ts
new file mode 100644
index 00000000000..4661f2f3956
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/BlurLight.ts
@@ -0,0 +1,5 @@
+export const BLUR_LIGHT = {
+ light: 'blur(6px) saturate(200%) contrast(50%) brightness(130%)',
+ medium: 'blur(12px) saturate(200%) contrast(50%) brightness(130%)',
+ strong: 'blur(20px) saturate(200%) contrast(50%) brightness(130%)',
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/BorderCommon.ts b/packages/twenty-new-ui/src/theme/constants/BorderCommon.ts
new file mode 100644
index 00000000000..b9412445087
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/BorderCommon.ts
@@ -0,0 +1,11 @@
+export const BORDER_COMMON = {
+ radius: {
+ xs: '2px',
+ sm: '4px',
+ md: '8px',
+ xl: '20px',
+ xxl: '40px',
+ pill: '999px',
+ rounded: '100%',
+ },
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/BorderDark.ts b/packages/twenty-new-ui/src/theme/constants/BorderDark.ts
new file mode 100644
index 00000000000..4105fe4407a
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/BorderDark.ts
@@ -0,0 +1,18 @@
+import { COLOR_DARK } from '@new-ui/theme/constants/ColorsDark';
+import { BORDER_COMMON } from './BorderCommon';
+import { GRAY_SCALE_DARK } from './GrayScaleDark';
+import { TRANSPARENT_COLORS_DARK } from './TransparentColorsDark';
+
+export const BORDER_DARK = {
+ color: {
+ strong: GRAY_SCALE_DARK.gray6,
+ medium: GRAY_SCALE_DARK.gray5,
+ light: GRAY_SCALE_DARK.gray4,
+ secondaryInverted: GRAY_SCALE_DARK.gray11,
+ inverted: GRAY_SCALE_DARK.gray12,
+ danger: COLOR_DARK.red5,
+ blue: COLOR_DARK.blue7,
+ transparentStrong: TRANSPARENT_COLORS_DARK.gray4,
+ },
+ ...BORDER_COMMON,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/BorderLight.ts b/packages/twenty-new-ui/src/theme/constants/BorderLight.ts
new file mode 100644
index 00000000000..9470a406640
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/BorderLight.ts
@@ -0,0 +1,18 @@
+import { COLOR_LIGHT } from '@new-ui/theme/constants/ColorsLight';
+import { BORDER_COMMON } from './BorderCommon';
+import { GRAY_SCALE_LIGHT } from './GrayScaleLight';
+import { TRANSPARENT_COLORS_LIGHT } from './TransparentColorsLight';
+
+export const BORDER_LIGHT = {
+ color: {
+ strong: GRAY_SCALE_LIGHT.gray6,
+ medium: GRAY_SCALE_LIGHT.gray5,
+ light: GRAY_SCALE_LIGHT.gray4,
+ secondaryInverted: GRAY_SCALE_LIGHT.gray11,
+ inverted: GRAY_SCALE_LIGHT.gray12,
+ danger: COLOR_LIGHT.red5,
+ blue: COLOR_LIGHT.blue7,
+ transparentStrong: TRANSPARENT_COLORS_LIGHT.gray4,
+ },
+ ...BORDER_COMMON,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/BoxShadowDark.ts b/packages/twenty-new-ui/src/theme/constants/BoxShadowDark.ts
new file mode 100644
index 00000000000..aad5ca2719f
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/BoxShadowDark.ts
@@ -0,0 +1,19 @@
+import { RGBA } from '@new-ui/theme/constants/Rgba';
+
+/* oxlint-disable twenty/no-hardcoded-colors */
+export const BOX_SHADOW_DARK = {
+ color: RGBA('#000000', 0.6),
+ light: `0px 2px 4px 0px ${RGBA(
+ '#000000',
+ 0.04,
+ )}, 0px 0px 4px 0px ${RGBA('#000000', 0.08)}`,
+ strong: `2px 4px 16px 0px ${RGBA(
+ '#000000',
+ 0.16,
+ )}, 0px 2px 4px 0px ${RGBA('#000000', 0.08)}`,
+ underline: `0px 1px 0px 0px ${RGBA('#000000', 0.32)}`,
+ superHeavy: `2px 4px 16px 0px ${RGBA(
+ '#000000',
+ 0.12,
+ )}, 0px 2px 4px 0px ${RGBA('#000000', 0.04)}`,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/BoxShadowLight.ts b/packages/twenty-new-ui/src/theme/constants/BoxShadowLight.ts
new file mode 100644
index 00000000000..5ac33ae3031
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/BoxShadowLight.ts
@@ -0,0 +1,9 @@
+import { GRAY_SCALE_LIGHT_ALPHA } from '@new-ui/theme/constants/GrayScaleLightAlpha';
+
+export const BOX_SHADOW_LIGHT = {
+ color: GRAY_SCALE_LIGHT_ALPHA.gray2,
+ light: `0px 2px 4px 0px ${GRAY_SCALE_LIGHT_ALPHA.gray2}, 0px 0px 4px 0px ${GRAY_SCALE_LIGHT_ALPHA.gray5}`,
+ strong: `2px 4px 16px 0px ${GRAY_SCALE_LIGHT_ALPHA.gray7}, 0px 2px 4px 0px ${GRAY_SCALE_LIGHT_ALPHA.gray5}`,
+ underline: `0px 1px 0px 0px ${GRAY_SCALE_LIGHT_ALPHA.gray9}`,
+ superHeavy: `0px 0px 8px 0px ${GRAY_SCALE_LIGHT_ALPHA.gray7}, 0px 8px 64px -16px ${GRAY_SCALE_LIGHT_ALPHA.gray10}, 0px 24px 56px -16px ${GRAY_SCALE_LIGHT_ALPHA.gray5}`,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/CodeDark.ts b/packages/twenty-new-ui/src/theme/constants/CodeDark.ts
new file mode 100644
index 00000000000..afda65c33ca
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/CodeDark.ts
@@ -0,0 +1,12 @@
+import { COLOR_DARK } from '@new-ui/theme/constants/ColorsDark';
+
+export const CODE_DARK = {
+ text: {
+ gray: COLOR_DARK.gray10,
+ sky: COLOR_DARK.sky10,
+ pink: COLOR_DARK.pink10,
+ orange: COLOR_DARK.orange8,
+ green: COLOR_DARK.lime8,
+ },
+ font: { family: 'DM Mono' },
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/CodeLight.ts b/packages/twenty-new-ui/src/theme/constants/CodeLight.ts
new file mode 100644
index 00000000000..116d7ef87ff
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/CodeLight.ts
@@ -0,0 +1,12 @@
+import { COLOR_LIGHT } from '@new-ui/theme/constants/ColorsLight';
+
+export const CODE_LIGHT = {
+ text: {
+ gray: COLOR_LIGHT.gray10,
+ sky: COLOR_LIGHT.sky10,
+ pink: COLOR_LIGHT.pink10,
+ orange: COLOR_LIGHT.orange8,
+ green: COLOR_LIGHT.lime8,
+ },
+ font: { family: 'DM Mono' },
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/ColorsDark.ts b/packages/twenty-new-ui/src/theme/constants/ColorsDark.ts
new file mode 100644
index 00000000000..dffa3b08e39
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/ColorsDark.ts
@@ -0,0 +1,9 @@
+import { MAIN_COLORS_DARK } from './MainColorsDark';
+import { SECONDARY_COLORS_DARK } from './SecondaryColorsDark';
+import { TRANSPARENT_COLORS_DARK } from './TransparentColorsDark';
+
+export const COLOR_DARK = {
+ ...MAIN_COLORS_DARK,
+ ...SECONDARY_COLORS_DARK,
+ transparent: TRANSPARENT_COLORS_DARK,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/ColorsLight.ts b/packages/twenty-new-ui/src/theme/constants/ColorsLight.ts
new file mode 100644
index 00000000000..31d65c0f9fc
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/ColorsLight.ts
@@ -0,0 +1,9 @@
+import { MAIN_COLORS_LIGHT } from './MainColorsLight';
+import { SECONDARY_COLORS_LIGHT } from './SecondaryColorsLight';
+import { TRANSPARENT_COLORS_LIGHT } from './TransparentColorsLight';
+
+export const COLOR_LIGHT = {
+ ...MAIN_COLORS_LIGHT,
+ ...SECONDARY_COLORS_LIGHT,
+ transparent: TRANSPARENT_COLORS_LIGHT,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/DefaultThemeColorFallback.ts b/packages/twenty-new-ui/src/theme/constants/DefaultThemeColorFallback.ts
new file mode 100644
index 00000000000..ee3e470f075
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/DefaultThemeColorFallback.ts
@@ -0,0 +1,3 @@
+import { type ThemeColor } from './MainColorNames';
+
+export const DEFAULT_THEME_COLOR_FALLBACK: ThemeColor = 'gray';
diff --git a/packages/twenty-new-ui/src/theme/constants/FontCommon.ts b/packages/twenty-new-ui/src/theme/constants/FontCommon.ts
new file mode 100644
index 00000000000..65556c018d3
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/FontCommon.ts
@@ -0,0 +1,17 @@
+export const FONT_COMMON = {
+ size: {
+ xxs: '0.625rem',
+ xs: '0.85rem',
+ sm: '0.92rem',
+ md: '1rem',
+ lg: '1.23rem',
+ xl: '1.54rem',
+ xxl: '1.85rem',
+ },
+ weight: {
+ regular: 400,
+ medium: 500,
+ semiBold: 600,
+ },
+ family: 'Inter, sans-serif',
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/FontDark.ts b/packages/twenty-new-ui/src/theme/constants/FontDark.ts
new file mode 100644
index 00000000000..e18570b5c4b
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/FontDark.ts
@@ -0,0 +1,16 @@
+import { COLOR_DARK } from '@new-ui/theme/constants/ColorsDark';
+import { FONT_COMMON } from './FontCommon';
+import { GRAY_SCALE_DARK } from './GrayScaleDark';
+
+export const FONT_DARK = {
+ color: {
+ primary: GRAY_SCALE_DARK.gray12,
+ secondary: GRAY_SCALE_DARK.gray11,
+ tertiary: GRAY_SCALE_DARK.gray9,
+ light: GRAY_SCALE_DARK.gray8,
+ extraLight: GRAY_SCALE_DARK.gray7,
+ inverted: GRAY_SCALE_DARK.gray1,
+ danger: COLOR_DARK.red,
+ },
+ ...FONT_COMMON,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/FontLight.ts b/packages/twenty-new-ui/src/theme/constants/FontLight.ts
new file mode 100644
index 00000000000..ec00f79108d
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/FontLight.ts
@@ -0,0 +1,16 @@
+import { COLOR_LIGHT } from '@new-ui/theme/constants/ColorsLight';
+import { FONT_COMMON } from './FontCommon';
+import { GRAY_SCALE_LIGHT } from './GrayScaleLight';
+
+export const FONT_LIGHT = {
+ color: {
+ primary: GRAY_SCALE_LIGHT.gray12,
+ secondary: GRAY_SCALE_LIGHT.gray11,
+ tertiary: GRAY_SCALE_LIGHT.gray9,
+ light: GRAY_SCALE_LIGHT.gray8,
+ extraLight: GRAY_SCALE_LIGHT.gray7,
+ inverted: GRAY_SCALE_LIGHT.gray1,
+ danger: COLOR_LIGHT.red,
+ },
+ ...FONT_COMMON,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/GrayScaleDark.ts b/packages/twenty-new-ui/src/theme/constants/GrayScaleDark.ts
new file mode 100644
index 00000000000..b6c7137cdb7
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/GrayScaleDark.ts
@@ -0,0 +1,14 @@
+export const GRAY_SCALE_DARK = {
+ gray1: 'color(display-p3 0.09 0.09 0.09)',
+ gray2: 'color(display-p3 0.106 0.106 0.106)',
+ gray3: 'color(display-p3 0.098 0.098 0.098)',
+ gray4: 'color(display-p3 0.114 0.114 0.114)',
+ gray5: 'color(display-p3 0.133 0.133 0.133)',
+ gray6: 'color(display-p3 0.282 0.282 0.282)',
+ gray7: 'color(display-p3 0.298 0.298 0.298)',
+ gray8: 'color(display-p3 0.4 0.4 0.4)',
+ gray9: 'color(display-p3 0.506 0.506 0.506)',
+ gray10: 'color(display-p3 0.482 0.482 0.482)',
+ gray11: 'color(display-p3 0.702 0.702 0.702)',
+ gray12: 'color(display-p3 0.922 0.922 0.922)',
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/GrayScaleDarkAlpha.ts b/packages/twenty-new-ui/src/theme/constants/GrayScaleDarkAlpha.ts
new file mode 100644
index 00000000000..76d05e33fa2
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/GrayScaleDarkAlpha.ts
@@ -0,0 +1,14 @@
+export const GRAY_SCALE_DARK_ALPHA = {
+ gray1: 'color(display-p3 1 1 1 / 0.031)',
+ gray2: 'color(display-p3 1 1 1 / 0.059)',
+ gray3: 'color(display-p3 1 1 1 / 0.047)',
+ gray4: 'color(display-p3 1 1 1 / 0.071)',
+ gray5: 'color(display-p3 1 1 1 / 0.102)',
+ gray6: 'color(display-p3 1 1 1 / 0.114)',
+ gray7: 'color(display-p3 1 1 1 / 0.141)',
+ gray8: 'color(display-p3 1 1 1 / 0.22)',
+ gray9: 'color(display-p3 1 1 1 / 0.427)',
+ gray10: 'color(display-p3 1 1 1 / 0.478)',
+ gray11: 'color(display-p3 1 1 1 / 0.565)',
+ gray12: 'color(display-p3 1 1 1 / 0.91)',
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/GrayScaleLight.ts b/packages/twenty-new-ui/src/theme/constants/GrayScaleLight.ts
new file mode 100644
index 00000000000..8a6796129fd
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/GrayScaleLight.ts
@@ -0,0 +1,14 @@
+export const GRAY_SCALE_LIGHT = {
+ gray1: 'color(display-p3 1 1 1)',
+ gray2: 'color(display-p3 0.988 0.988 0.988)',
+ gray3: 'color(display-p3 0.976 0.976 0.976)',
+ gray4: 'color(display-p3 0.945 0.945 0.945)',
+ gray5: 'color(display-p3 0.922 0.922 0.922)',
+ gray6: 'color(display-p3 0.839 0.839 0.839)',
+ gray7: 'color(display-p3 0.8 0.8 0.8)',
+ gray8: 'color(display-p3 0.702 0.702 0.702)',
+ gray9: 'color(display-p3 0.6 0.6 0.6)',
+ gray10: 'color(display-p3 0.514 0.514 0.514)',
+ gray11: 'color(display-p3 0.4 0.4 0.4)',
+ gray12: 'color(display-p3 0.2 0.2 0.2)',
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/GrayScaleLightAlpha.ts b/packages/twenty-new-ui/src/theme/constants/GrayScaleLightAlpha.ts
new file mode 100644
index 00000000000..954c2c51085
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/GrayScaleLightAlpha.ts
@@ -0,0 +1,14 @@
+export const GRAY_SCALE_LIGHT_ALPHA = {
+ gray1: 'color(display-p3 0 0 0 / 0.02)',
+ gray2: 'color(display-p3 0 0 0 / 0.039)',
+ gray3: 'color(display-p3 0 0 0 / 0.047)',
+ gray4: 'color(display-p3 0 0 0 / 0.071)',
+ gray5: 'color(display-p3 0 0 0 / 0.078)',
+ gray6: 'color(display-p3 0 0 0 / 0.114)',
+ gray7: 'color(display-p3 0 0 0 / 0.161)',
+ gray8: 'color(display-p3 0 0 0 / 0.22)',
+ gray9: 'color(display-p3 0 0 0 / 0.361)',
+ gray10: 'color(display-p3 0 0 0 / 0.478)',
+ gray11: 'color(display-p3 0 0 0 / 0.722)',
+ gray12: 'color(display-p3 0 0 0 / 0.91)',
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/Icon.ts b/packages/twenty-new-ui/src/theme/constants/Icon.ts
new file mode 100644
index 00000000000..cfe9cbc7942
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/Icon.ts
@@ -0,0 +1,13 @@
+export const ICON = {
+ size: {
+ sm: 14,
+ md: 16,
+ lg: 20,
+ xl: 24,
+ },
+ stroke: {
+ sm: 1.6,
+ md: 2,
+ lg: 2.5,
+ },
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/IllustrationIconDark.ts b/packages/twenty-new-ui/src/theme/constants/IllustrationIconDark.ts
new file mode 100644
index 00000000000..9d4ba4f561d
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/IllustrationIconDark.ts
@@ -0,0 +1,13 @@
+import { COLOR_DARK } from '@new-ui/theme/constants/ColorsDark';
+import { GRAY_SCALE_DARK } from '@new-ui/theme/constants/GrayScaleDark';
+
+export const ILLUSTRATION_ICON_DARK = {
+ color: {
+ blue: COLOR_DARK.blue10,
+ gray: GRAY_SCALE_DARK.gray8,
+ },
+ fill: {
+ blue: COLOR_DARK.blue12,
+ gray: GRAY_SCALE_DARK.gray5,
+ },
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/IllustrationIconLight.ts b/packages/twenty-new-ui/src/theme/constants/IllustrationIconLight.ts
new file mode 100644
index 00000000000..501f8f318b5
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/IllustrationIconLight.ts
@@ -0,0 +1,13 @@
+import { COLOR_LIGHT } from '@new-ui/theme/constants/ColorsLight';
+import { GRAY_SCALE_LIGHT } from '@new-ui/theme/constants/GrayScaleLight';
+
+export const ILLUSTRATION_ICON_LIGHT = {
+ color: {
+ blue: COLOR_LIGHT.blue8,
+ gray: GRAY_SCALE_LIGHT.gray9,
+ },
+ fill: {
+ blue: COLOR_LIGHT.blue5,
+ gray: GRAY_SCALE_LIGHT.gray5,
+ },
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/MainColorNames.ts b/packages/twenty-new-ui/src/theme/constants/MainColorNames.ts
new file mode 100644
index 00000000000..36b4d812cb2
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/MainColorNames.ts
@@ -0,0 +1,5 @@
+import { MAIN_COLORS_LIGHT } from './MainColorsLight';
+
+export const MAIN_COLOR_NAMES = Object.keys(MAIN_COLORS_LIGHT) as ThemeColor[];
+
+export type ThemeColor = keyof typeof MAIN_COLORS_LIGHT;
diff --git a/packages/twenty-new-ui/src/theme/constants/MainColorsDark.ts b/packages/twenty-new-ui/src/theme/constants/MainColorsDark.ts
new file mode 100644
index 00000000000..eb7e6bb9878
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/MainColorsDark.ts
@@ -0,0 +1,41 @@
+import * as RadixColors from '@radix-ui/colors';
+import { GRAY_SCALE_DARK } from '@new-ui/theme/constants/GrayScaleDark';
+
+export const MAIN_COLORS_DARK = {
+ // Reds
+ red: RadixColors.redDarkP3.red9,
+ ruby: RadixColors.rubyDarkP3.ruby9,
+ crimson: RadixColors.crimsonDarkP3.crimson9,
+ tomato: RadixColors.tomatoDarkP3.tomato9,
+
+ // Oranges & Yellows
+ orange: RadixColors.orangeDarkP3.orange9,
+ amber: RadixColors.amberDarkP3.amber9,
+ yellow: RadixColors.yellowDarkP3.yellow9,
+
+ // Greens
+ lime: RadixColors.limeDarkP3.lime9,
+ grass: RadixColors.grassDarkP3.grass9,
+ green: RadixColors.greenDarkP3.green9,
+ jade: RadixColors.jadeDarkP3.jade9,
+ mint: RadixColors.mintDarkP3.mint9,
+
+ // Cyans & Blues
+ turquoise: RadixColors.tealDarkP3.teal9,
+ cyan: RadixColors.cyanDarkP3.cyan9,
+ sky: RadixColors.skyDarkP3.sky9,
+ blue: RadixColors.indigoDarkP3.indigo9,
+
+ // Purples & Pinks
+ iris: RadixColors.irisDarkP3.iris9,
+ violet: RadixColors.violetDarkP3.violet9,
+ purple: RadixColors.purpleDarkP3.purple9,
+ plum: RadixColors.plumDarkP3.plum9,
+ pink: RadixColors.pinkDarkP3.pink9,
+
+ // Earth tones & Neutrals
+ bronze: RadixColors.bronzeDarkP3.bronze9,
+ gold: RadixColors.goldDarkP3.gold9,
+ brown: RadixColors.brownDarkP3.brown9,
+ gray: GRAY_SCALE_DARK.gray7,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/MainColorsLight.ts b/packages/twenty-new-ui/src/theme/constants/MainColorsLight.ts
new file mode 100644
index 00000000000..4a00386d134
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/MainColorsLight.ts
@@ -0,0 +1,41 @@
+import * as RadixColors from '@radix-ui/colors';
+import { GRAY_SCALE_LIGHT } from './GrayScaleLight';
+
+export const MAIN_COLORS_LIGHT = {
+ // Reds
+ red: RadixColors.redP3.red9,
+ ruby: RadixColors.rubyP3.ruby9,
+ crimson: RadixColors.crimsonP3.crimson9,
+ tomato: RadixColors.tomatoP3.tomato9,
+
+ // Oranges & Yellows
+ orange: RadixColors.orangeP3.orange9,
+ amber: RadixColors.amberP3.amber9,
+ yellow: RadixColors.yellowP3.yellow9,
+
+ // Greens
+ lime: RadixColors.limeP3.lime9,
+ grass: RadixColors.grassP3.grass9,
+ green: RadixColors.greenP3.green9,
+ jade: RadixColors.jadeP3.jade9,
+ mint: RadixColors.mintP3.mint9,
+
+ // Cyans & Blues
+ turquoise: RadixColors.tealP3.teal9,
+ cyan: RadixColors.cyanP3.cyan9,
+ sky: RadixColors.skyP3.sky9,
+ blue: RadixColors.indigoP3.indigo9,
+
+ // Purples & Pinks
+ iris: RadixColors.irisP3.iris9,
+ violet: RadixColors.violetP3.violet9,
+ purple: RadixColors.purpleP3.purple9,
+ plum: RadixColors.plumP3.plum9,
+ pink: RadixColors.pinkP3.pink9,
+
+ // Earth tones & Neutrals
+ bronze: RadixColors.bronzeP3.bronze9,
+ gold: RadixColors.goldP3.gold9,
+ brown: RadixColors.brownP3.brown9,
+ gray: GRAY_SCALE_LIGHT.gray9,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/Modal.ts b/packages/twenty-new-ui/src/theme/constants/Modal.ts
new file mode 100644
index 00000000000..823e5568c42
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/Modal.ts
@@ -0,0 +1,23 @@
+export const MODAL: {
+ size: { [key: string]: { width?: string; height?: string } };
+} = {
+ size: {
+ sm: {
+ width: '300px',
+ },
+ md: {
+ width: '400px',
+ },
+ lg: {
+ width: '53%',
+ },
+ xl: {
+ width: '1200px',
+ height: '800px',
+ },
+ fullscreen: {
+ width: '100dvw',
+ height: '100dvh',
+ },
+ },
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/Rgba.ts b/packages/twenty-new-ui/src/theme/constants/Rgba.ts
new file mode 100644
index 00000000000..d36cfcd5d10
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/Rgba.ts
@@ -0,0 +1,8 @@
+/* oxlint-disable twenty/no-hardcoded-colors */
+import hexRgb from 'hex-rgb';
+
+export const RGBA = (hex: string, alpha: number) => {
+ return `rgba(${hexRgb(hex, { format: 'array' })
+ .slice(0, -1)
+ .join(',')},${alpha})`;
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/SecondaryColorsDark.ts b/packages/twenty-new-ui/src/theme/constants/SecondaryColorsDark.ts
new file mode 100644
index 00000000000..1792dc92903
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/SecondaryColorsDark.ts
@@ -0,0 +1,394 @@
+import * as RadixColors from '@radix-ui/colors';
+import { GRAY_SCALE_DARK } from '@new-ui/theme/constants/GrayScaleDark';
+
+export const SECONDARY_COLORS_DARK = {
+ yellow1: RadixColors.yellowDarkP3.yellow1,
+ yellow2: RadixColors.yellowDarkP3.yellow2,
+ yellow3: RadixColors.yellowDarkP3.yellow3,
+ yellow4: RadixColors.yellowDarkP3.yellow4,
+ yellow5: RadixColors.yellowDarkP3.yellow5,
+ yellow6: RadixColors.yellowDarkP3.yellow6,
+ yellow7: RadixColors.yellowDarkP3.yellow7,
+ yellow8: RadixColors.yellowDarkP3.yellow8,
+ yellow9: RadixColors.yellowDarkP3.yellow9,
+ yellow10: RadixColors.yellowDarkP3.yellow10,
+ yellow11: RadixColors.yellowDarkP3.yellow11,
+ yellow12: RadixColors.yellowDarkP3.yellow12,
+
+ green1: RadixColors.greenDarkP3.green1,
+ green2: RadixColors.greenDarkP3.green2,
+ green3: RadixColors.greenDarkP3.green3,
+ green4: RadixColors.greenDarkP3.green4,
+ green5: RadixColors.greenDarkP3.green5,
+ green6: RadixColors.greenDarkP3.green6,
+ green7: RadixColors.greenDarkP3.green7,
+ green8: RadixColors.greenDarkP3.green8,
+ green9: RadixColors.greenDarkP3.green9,
+ green10: RadixColors.greenDarkP3.green10,
+ green11: RadixColors.greenDarkP3.green11,
+ green12: RadixColors.greenDarkP3.green12,
+
+ turquoise1: RadixColors.tealDarkP3.teal1,
+ turquoise2: RadixColors.tealDarkP3.teal2,
+ turquoise3: RadixColors.tealDarkP3.teal3,
+ turquoise4: RadixColors.tealDarkP3.teal4,
+ turquoise5: RadixColors.tealDarkP3.teal5,
+ turquoise6: RadixColors.tealDarkP3.teal6,
+ turquoise7: RadixColors.tealDarkP3.teal7,
+ turquoise8: RadixColors.tealDarkP3.teal8,
+ turquoise9: RadixColors.tealDarkP3.teal9,
+ turquoise10: RadixColors.tealDarkP3.teal10,
+ turquoise11: RadixColors.tealDarkP3.teal11,
+ turquoise12: RadixColors.tealDarkP3.teal12,
+
+ sky1: RadixColors.skyDarkP3.sky1,
+ sky2: RadixColors.skyDarkP3.sky2,
+ sky3: RadixColors.skyDarkP3.sky3,
+ sky4: RadixColors.skyDarkP3.sky4,
+ sky5: RadixColors.skyDarkP3.sky5,
+ sky6: RadixColors.skyDarkP3.sky6,
+ sky7: RadixColors.skyDarkP3.sky7,
+ sky8: RadixColors.skyDarkP3.sky8,
+ sky9: RadixColors.skyP3.sky9,
+ sky10: RadixColors.skyDarkP3.sky10,
+ sky11: RadixColors.skyDarkP3.sky11,
+ sky12: RadixColors.skyDarkP3.sky12,
+
+ blue1: RadixColors.indigoDarkP3.indigo1,
+ blue2: RadixColors.indigoDarkP3.indigo2,
+ blue3: RadixColors.indigoDarkP3.indigo3,
+ blue4: RadixColors.indigoDarkP3.indigo4,
+ blue5: RadixColors.indigoDarkP3.indigo5,
+ blue6: RadixColors.indigoDarkP3.indigo6,
+ blue7: RadixColors.indigoDarkP3.indigo7,
+ blue8: RadixColors.indigoDarkP3.indigo8,
+ blue9: RadixColors.indigoDarkP3.indigo9,
+ blue10: RadixColors.indigoDarkP3.indigo10,
+ blue11: RadixColors.indigoDarkP3.indigo11,
+ blue12: RadixColors.indigoDarkP3.indigo12,
+
+ purple1: RadixColors.purpleDarkP3.purple1,
+ purple2: RadixColors.purpleDarkP3.purple2,
+ purple3: RadixColors.purpleDarkP3.purple3,
+ purple4: RadixColors.purpleDarkP3.purple4,
+ purple5: RadixColors.purpleDarkP3.purple5,
+ purple6: RadixColors.purpleDarkP3.purple6,
+ purple7: RadixColors.purpleDarkP3.purple7,
+ purple8: RadixColors.purpleDarkP3.purple8,
+ purple9: RadixColors.purpleDarkP3.purple9,
+ purple10: RadixColors.purpleDarkP3.purple10,
+ purple11: RadixColors.purpleDarkP3.purple11,
+ purple12: RadixColors.purpleDarkP3.purple12,
+
+ pink1: RadixColors.pinkDarkP3.pink1,
+ pink2: RadixColors.pinkDarkP3.pink2,
+ pink3: RadixColors.pinkDarkP3.pink3,
+ pink4: RadixColors.pinkDarkP3.pink4,
+ pink5: RadixColors.pinkDarkP3.pink5,
+ pink6: RadixColors.pinkDarkP3.pink6,
+ pink7: RadixColors.pinkDarkP3.pink7,
+ pink8: RadixColors.pinkDarkP3.pink8,
+ pink9: RadixColors.pinkDarkP3.pink9,
+ pink10: RadixColors.pinkDarkP3.pink10,
+ pink11: RadixColors.pinkDarkP3.pink11,
+ pink12: RadixColors.pinkDarkP3.pink12,
+
+ red1: RadixColors.redDarkP3.red1,
+ red2: RadixColors.redDarkP3.red2,
+ red3: RadixColors.redDarkP3.red3,
+ red4: RadixColors.redDarkP3.red4,
+ red5: RadixColors.redDarkP3.red5,
+ red6: RadixColors.redDarkP3.red6,
+ red7: RadixColors.redDarkP3.red7,
+ red8: RadixColors.redDarkP3.red8,
+ red9: RadixColors.redDarkP3.red9,
+ red10: RadixColors.redDarkP3.red10,
+ red11: RadixColors.redDarkP3.red11,
+ red12: RadixColors.redDarkP3.red12,
+
+ orange1: RadixColors.orangeDarkP3.orange1,
+ orange2: RadixColors.orangeDarkP3.orange2,
+ orange3: RadixColors.orangeDarkP3.orange3,
+ orange4: RadixColors.orangeDarkP3.orange4,
+ orange5: RadixColors.orangeDarkP3.orange5,
+ orange6: RadixColors.orangeDarkP3.orange6,
+ orange7: RadixColors.orangeDarkP3.orange7,
+ orange8: RadixColors.orangeDarkP3.orange8,
+ orange9: RadixColors.orangeDarkP3.orange9,
+ orange10: RadixColors.orangeDarkP3.orange10,
+ orange11: RadixColors.orangeDarkP3.orange11,
+ orange12: RadixColors.orangeDarkP3.orange12,
+
+ gray1: GRAY_SCALE_DARK.gray1,
+ gray2: GRAY_SCALE_DARK.gray2,
+ gray3: GRAY_SCALE_DARK.gray3,
+ gray4: GRAY_SCALE_DARK.gray4,
+ gray5: GRAY_SCALE_DARK.gray5,
+ gray6: GRAY_SCALE_DARK.gray6,
+ gray7: GRAY_SCALE_DARK.gray7,
+ gray8: GRAY_SCALE_DARK.gray8,
+ gray9: GRAY_SCALE_DARK.gray9,
+ gray10: GRAY_SCALE_DARK.gray10,
+ gray11: GRAY_SCALE_DARK.gray11,
+ gray12: GRAY_SCALE_DARK.gray12,
+
+ mauve1: RadixColors.mauveDarkP3.mauve1,
+ mauve2: RadixColors.mauveDarkP3.mauve2,
+ mauve3: RadixColors.mauveDarkP3.mauve3,
+ mauve4: RadixColors.mauveDarkP3.mauve4,
+ mauve5: RadixColors.mauveDarkP3.mauve5,
+ mauve6: RadixColors.mauveDarkP3.mauve6,
+ mauve7: RadixColors.mauveDarkP3.mauve7,
+ mauve8: RadixColors.mauveDarkP3.mauve8,
+ mauve9: RadixColors.mauveDarkP3.mauve9,
+ mauve10: RadixColors.mauveDarkP3.mauve10,
+ mauve11: RadixColors.mauveDarkP3.mauve11,
+ mauve12: RadixColors.mauveDarkP3.mauve12,
+
+ slate1: RadixColors.slateDarkP3.slate1,
+ slate2: RadixColors.slateDarkP3.slate2,
+ slate3: RadixColors.slateDarkP3.slate3,
+ slate4: RadixColors.slateDarkP3.slate4,
+ slate5: RadixColors.slateDarkP3.slate5,
+ slate6: RadixColors.slateDarkP3.slate6,
+ slate7: RadixColors.slateDarkP3.slate7,
+ slate8: RadixColors.slateDarkP3.slate8,
+ slate9: RadixColors.slateDarkP3.slate9,
+ slate10: RadixColors.slateDarkP3.slate10,
+ slate11: RadixColors.slateDarkP3.slate11,
+ slate12: RadixColors.slateDarkP3.slate12,
+
+ sage1: RadixColors.sageDarkP3.sage1,
+ sage2: RadixColors.sageDarkP3.sage2,
+ sage3: RadixColors.sageDarkP3.sage3,
+ sage4: RadixColors.sageDarkP3.sage4,
+ sage5: RadixColors.sageDarkP3.sage5,
+ sage6: RadixColors.sageDarkP3.sage6,
+ sage7: RadixColors.sageDarkP3.sage7,
+ sage8: RadixColors.sageDarkP3.sage8,
+ sage9: RadixColors.sageDarkP3.sage9,
+ sage10: RadixColors.sageDarkP3.sage10,
+ sage11: RadixColors.sageDarkP3.sage11,
+ sage12: RadixColors.sageDarkP3.sage12,
+
+ olive1: RadixColors.oliveDarkP3.olive1,
+ olive2: RadixColors.oliveDarkP3.olive2,
+ olive3: RadixColors.oliveDarkP3.olive3,
+ olive4: RadixColors.oliveDarkP3.olive4,
+ olive5: RadixColors.oliveDarkP3.olive5,
+ olive6: RadixColors.oliveDarkP3.olive6,
+ olive7: RadixColors.oliveDarkP3.olive7,
+ olive8: RadixColors.oliveDarkP3.olive8,
+ olive9: RadixColors.oliveDarkP3.olive9,
+ olive10: RadixColors.oliveDarkP3.olive10,
+ olive11: RadixColors.oliveDarkP3.olive11,
+ olive12: RadixColors.oliveDarkP3.olive12,
+
+ sand1: RadixColors.sandDarkP3.sand1,
+ sand2: RadixColors.sandDarkP3.sand2,
+ sand3: RadixColors.sandDarkP3.sand3,
+ sand4: RadixColors.sandDarkP3.sand4,
+ sand5: RadixColors.sandDarkP3.sand5,
+ sand6: RadixColors.sandDarkP3.sand6,
+ sand7: RadixColors.sandDarkP3.sand7,
+ sand8: RadixColors.sandDarkP3.sand8,
+ sand9: RadixColors.sandDarkP3.sand9,
+ sand10: RadixColors.sandDarkP3.sand10,
+ sand11: RadixColors.sandDarkP3.sand11,
+ sand12: RadixColors.sandDarkP3.sand12,
+
+ tomato1: RadixColors.tomatoDarkP3.tomato1,
+ tomato2: RadixColors.tomatoDarkP3.tomato2,
+ tomato3: RadixColors.tomatoDarkP3.tomato3,
+ tomato4: RadixColors.tomatoDarkP3.tomato4,
+ tomato5: RadixColors.tomatoDarkP3.tomato5,
+ tomato6: RadixColors.tomatoDarkP3.tomato6,
+ tomato7: RadixColors.tomatoDarkP3.tomato7,
+ tomato8: RadixColors.tomatoDarkP3.tomato8,
+ tomato9: RadixColors.tomatoDarkP3.tomato9,
+ tomato10: RadixColors.tomatoDarkP3.tomato10,
+ tomato11: RadixColors.tomatoDarkP3.tomato11,
+ tomato12: RadixColors.tomatoDarkP3.tomato12,
+
+ ruby1: RadixColors.rubyDarkP3.ruby1,
+ ruby2: RadixColors.rubyDarkP3.ruby2,
+ ruby3: RadixColors.rubyDarkP3.ruby3,
+ ruby4: RadixColors.rubyDarkP3.ruby4,
+ ruby5: RadixColors.rubyDarkP3.ruby5,
+ ruby6: RadixColors.rubyDarkP3.ruby6,
+ ruby7: RadixColors.rubyDarkP3.ruby7,
+ ruby8: RadixColors.rubyDarkP3.ruby8,
+ ruby9: RadixColors.rubyDarkP3.ruby9,
+ ruby10: RadixColors.rubyDarkP3.ruby10,
+ ruby11: RadixColors.rubyDarkP3.ruby11,
+ ruby12: RadixColors.rubyDarkP3.ruby12,
+
+ crimson1: RadixColors.crimsonDarkP3.crimson1,
+ crimson2: RadixColors.crimsonDarkP3.crimson2,
+ crimson3: RadixColors.crimsonDarkP3.crimson3,
+ crimson4: RadixColors.crimsonDarkP3.crimson4,
+ crimson5: RadixColors.crimsonDarkP3.crimson5,
+ crimson6: RadixColors.crimsonDarkP3.crimson6,
+ crimson7: RadixColors.crimsonDarkP3.crimson7,
+ crimson8: RadixColors.crimsonDarkP3.crimson8,
+ crimson9: RadixColors.crimsonDarkP3.crimson9,
+ crimson10: RadixColors.crimsonDarkP3.crimson10,
+ crimson11: RadixColors.crimsonDarkP3.crimson11,
+ crimson12: RadixColors.crimsonDarkP3.crimson12,
+
+ plum1: RadixColors.plumDarkP3.plum1,
+ plum2: RadixColors.plumDarkP3.plum2,
+ plum3: RadixColors.plumDarkP3.plum3,
+ plum4: RadixColors.plumDarkP3.plum4,
+ plum5: RadixColors.plumDarkP3.plum5,
+ plum6: RadixColors.plumDarkP3.plum6,
+ plum7: RadixColors.plumDarkP3.plum7,
+ plum8: RadixColors.plumDarkP3.plum8,
+ plum9: RadixColors.plumDarkP3.plum9,
+ plum10: RadixColors.plumDarkP3.plum10,
+ plum11: RadixColors.plumDarkP3.plum11,
+ plum12: RadixColors.plumDarkP3.plum12,
+
+ violet1: RadixColors.violetDarkP3.violet1,
+ violet2: RadixColors.violetDarkP3.violet2,
+ violet3: RadixColors.violetDarkP3.violet3,
+ violet4: RadixColors.violetDarkP3.violet4,
+ violet5: RadixColors.violetDarkP3.violet5,
+ violet6: RadixColors.violetDarkP3.violet6,
+ violet7: RadixColors.violetDarkP3.violet7,
+ violet8: RadixColors.violetDarkP3.violet8,
+ violet9: RadixColors.violetDarkP3.violet9,
+ violet10: RadixColors.violetDarkP3.violet10,
+ violet11: RadixColors.violetDarkP3.violet11,
+ violet12: RadixColors.violetDarkP3.violet12,
+
+ iris1: RadixColors.irisDarkP3.iris1,
+ iris2: RadixColors.irisDarkP3.iris2,
+ iris3: RadixColors.irisDarkP3.iris3,
+ iris4: RadixColors.irisDarkP3.iris4,
+ iris5: RadixColors.irisDarkP3.iris5,
+ iris6: RadixColors.irisDarkP3.iris6,
+ iris7: RadixColors.irisDarkP3.iris7,
+ iris8: RadixColors.irisDarkP3.iris8,
+ iris9: RadixColors.irisDarkP3.iris9,
+ iris10: RadixColors.irisDarkP3.iris10,
+ iris11: RadixColors.irisDarkP3.iris11,
+ iris12: RadixColors.irisDarkP3.iris12,
+
+ cyan1: RadixColors.cyanDarkP3.cyan1,
+ cyan2: RadixColors.cyanDarkP3.cyan2,
+ cyan3: RadixColors.cyanDarkP3.cyan3,
+ cyan4: RadixColors.cyanDarkP3.cyan4,
+ cyan5: RadixColors.cyanDarkP3.cyan5,
+ cyan6: RadixColors.cyanDarkP3.cyan6,
+ cyan7: RadixColors.cyanDarkP3.cyan7,
+ cyan8: RadixColors.cyanDarkP3.cyan8,
+ cyan9: RadixColors.cyanDarkP3.cyan9,
+ cyan10: RadixColors.cyanDarkP3.cyan10,
+ cyan11: RadixColors.cyanDarkP3.cyan11,
+ cyan12: RadixColors.cyanDarkP3.cyan12,
+
+ jade1: RadixColors.jadeDarkP3.jade1,
+ jade2: RadixColors.jadeDarkP3.jade2,
+ jade3: RadixColors.jadeDarkP3.jade3,
+ jade4: RadixColors.jadeDarkP3.jade4,
+ jade5: RadixColors.jadeDarkP3.jade5,
+ jade6: RadixColors.jadeDarkP3.jade6,
+ jade7: RadixColors.jadeDarkP3.jade7,
+ jade8: RadixColors.jadeDarkP3.jade8,
+ jade9: RadixColors.jadeDarkP3.jade9,
+ jade10: RadixColors.jadeDarkP3.jade10,
+ jade11: RadixColors.jadeDarkP3.jade11,
+ jade12: RadixColors.jadeDarkP3.jade12,
+
+ grass1: RadixColors.grassDarkP3.grass1,
+ grass2: RadixColors.grassDarkP3.grass2,
+ grass3: RadixColors.grassDarkP3.grass3,
+ grass4: RadixColors.grassDarkP3.grass4,
+ grass5: RadixColors.grassDarkP3.grass5,
+ grass6: RadixColors.grassDarkP3.grass6,
+ grass7: RadixColors.grassDarkP3.grass7,
+ grass8: RadixColors.grassDarkP3.grass8,
+ grass9: RadixColors.grassDarkP3.grass9,
+ grass10: RadixColors.grassDarkP3.grass10,
+ grass11: RadixColors.grassDarkP3.grass11,
+ grass12: RadixColors.grassDarkP3.grass12,
+
+ mint1: RadixColors.mintDarkP3.mint1,
+ mint2: RadixColors.mintDarkP3.mint2,
+ mint3: RadixColors.mintDarkP3.mint3,
+ mint4: RadixColors.mintDarkP3.mint4,
+ mint5: RadixColors.mintDarkP3.mint5,
+ mint6: RadixColors.mintDarkP3.mint6,
+ mint7: RadixColors.mintDarkP3.mint7,
+ mint8: RadixColors.mintDarkP3.mint8,
+ mint9: RadixColors.mintDarkP3.mint9,
+ mint10: RadixColors.mintDarkP3.mint10,
+ mint11: RadixColors.mintDarkP3.mint11,
+ mint12: RadixColors.mintDarkP3.mint12,
+
+ lime1: RadixColors.limeDarkP3.lime1,
+ lime2: RadixColors.limeDarkP3.lime2,
+ lime3: RadixColors.limeDarkP3.lime3,
+ lime4: RadixColors.limeDarkP3.lime4,
+ lime5: RadixColors.limeDarkP3.lime5,
+ lime6: RadixColors.limeDarkP3.lime6,
+ lime7: RadixColors.limeDarkP3.lime7,
+ lime8: RadixColors.limeDarkP3.lime8,
+ lime9: RadixColors.limeDarkP3.lime9,
+ lime10: RadixColors.limeDarkP3.lime10,
+ lime11: RadixColors.limeDarkP3.lime11,
+ lime12: RadixColors.limeDarkP3.lime12,
+
+ bronze1: RadixColors.bronzeDarkP3.bronze1,
+ bronze2: RadixColors.bronzeDarkP3.bronze2,
+ bronze3: RadixColors.bronzeDarkP3.bronze3,
+ bronze4: RadixColors.bronzeDarkP3.bronze4,
+ bronze5: RadixColors.bronzeDarkP3.bronze5,
+ bronze6: RadixColors.bronzeDarkP3.bronze6,
+ bronze7: RadixColors.bronzeDarkP3.bronze7,
+ bronze8: RadixColors.bronzeDarkP3.bronze8,
+ bronze9: RadixColors.bronzeDarkP3.bronze9,
+ bronze10: RadixColors.bronzeDarkP3.bronze10,
+ bronze11: RadixColors.bronzeDarkP3.bronze11,
+ bronze12: RadixColors.bronzeDarkP3.bronze12,
+
+ gold1: RadixColors.goldDarkP3.gold1,
+ gold2: RadixColors.goldDarkP3.gold2,
+ gold3: RadixColors.goldDarkP3.gold3,
+ gold4: RadixColors.goldDarkP3.gold4,
+ gold5: RadixColors.goldDarkP3.gold5,
+ gold6: RadixColors.goldDarkP3.gold6,
+ gold7: RadixColors.goldDarkP3.gold7,
+ gold8: RadixColors.goldDarkP3.gold8,
+ gold9: RadixColors.goldDarkP3.gold9,
+ gold10: RadixColors.goldDarkP3.gold10,
+ gold11: RadixColors.goldDarkP3.gold11,
+ gold12: RadixColors.goldDarkP3.gold12,
+
+ brown1: RadixColors.brownDarkP3.brown1,
+ brown2: RadixColors.brownDarkP3.brown2,
+ brown3: RadixColors.brownDarkP3.brown3,
+ brown4: RadixColors.brownDarkP3.brown4,
+ brown5: RadixColors.brownDarkP3.brown5,
+ brown6: RadixColors.brownDarkP3.brown6,
+ brown7: RadixColors.brownDarkP3.brown7,
+ brown8: RadixColors.brownDarkP3.brown8,
+ brown9: RadixColors.brownDarkP3.brown9,
+ brown10: RadixColors.brownDarkP3.brown10,
+ brown11: RadixColors.brownDarkP3.brown11,
+ brown12: RadixColors.brownDarkP3.brown12,
+
+ amber1: RadixColors.amberDarkP3.amber1,
+ amber2: RadixColors.amberDarkP3.amber2,
+ amber3: RadixColors.amberDarkP3.amber3,
+ amber4: RadixColors.amberDarkP3.amber4,
+ amber5: RadixColors.amberDarkP3.amber5,
+ amber6: RadixColors.amberDarkP3.amber6,
+ amber7: RadixColors.amberDarkP3.amber7,
+ amber8: RadixColors.amberDarkP3.amber8,
+ amber9: RadixColors.amberDarkP3.amber9,
+ amber10: RadixColors.amberDarkP3.amber10,
+ amber11: RadixColors.amberDarkP3.amber11,
+ amber12: RadixColors.amberDarkP3.amber12,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/SecondaryColorsLight.ts b/packages/twenty-new-ui/src/theme/constants/SecondaryColorsLight.ts
new file mode 100644
index 00000000000..755c81773b0
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/SecondaryColorsLight.ts
@@ -0,0 +1,394 @@
+import * as RadixColors from '@radix-ui/colors';
+import { GRAY_SCALE_LIGHT } from './GrayScaleLight';
+
+export const SECONDARY_COLORS_LIGHT = {
+ yellow1: RadixColors.yellowP3.yellow1,
+ yellow2: RadixColors.yellowP3.yellow2,
+ yellow3: RadixColors.yellowP3.yellow3,
+ yellow4: RadixColors.yellowP3.yellow4,
+ yellow5: RadixColors.yellowP3.yellow5,
+ yellow6: RadixColors.yellowP3.yellow6,
+ yellow7: RadixColors.yellowP3.yellow7,
+ yellow8: RadixColors.yellowP3.yellow8,
+ yellow9: RadixColors.yellowP3.yellow9,
+ yellow10: RadixColors.yellowP3.yellow10,
+ yellow11: RadixColors.yellowP3.yellow11,
+ yellow12: RadixColors.yellowP3.yellow12,
+
+ green1: RadixColors.greenP3.green1,
+ green2: RadixColors.greenP3.green2,
+ green3: RadixColors.greenP3.green3,
+ green4: RadixColors.greenP3.green4,
+ green5: RadixColors.greenP3.green5,
+ green6: RadixColors.greenP3.green6,
+ green7: RadixColors.greenP3.green7,
+ green8: RadixColors.greenP3.green8,
+ green9: RadixColors.greenP3.green9,
+ green10: RadixColors.greenP3.green10,
+ green11: RadixColors.greenP3.green11,
+ green12: RadixColors.greenP3.green12,
+
+ turquoise1: RadixColors.tealP3.teal1,
+ turquoise2: RadixColors.tealP3.teal2,
+ turquoise3: RadixColors.tealP3.teal3,
+ turquoise4: RadixColors.tealP3.teal4,
+ turquoise5: RadixColors.tealP3.teal5,
+ turquoise6: RadixColors.tealP3.teal6,
+ turquoise7: RadixColors.tealP3.teal7,
+ turquoise8: RadixColors.tealP3.teal8,
+ turquoise9: RadixColors.tealP3.teal9,
+ turquoise10: RadixColors.tealP3.teal10,
+ turquoise11: RadixColors.tealP3.teal11,
+ turquoise12: RadixColors.tealP3.teal12,
+
+ sky1: RadixColors.skyP3.sky1,
+ sky2: RadixColors.skyP3.sky2,
+ sky3: RadixColors.skyP3.sky3,
+ sky4: RadixColors.skyP3.sky4,
+ sky5: RadixColors.skyP3.sky5,
+ sky6: RadixColors.skyP3.sky6,
+ sky7: RadixColors.skyP3.sky7,
+ sky8: RadixColors.skyP3.sky8,
+ sky9: RadixColors.skyP3.sky9,
+ sky10: RadixColors.skyP3.sky10,
+ sky11: RadixColors.skyP3.sky11,
+ sky12: RadixColors.skyP3.sky12,
+
+ blue1: RadixColors.indigoP3.indigo1,
+ blue2: RadixColors.indigoP3.indigo2,
+ blue3: RadixColors.indigoP3.indigo3,
+ blue4: RadixColors.indigoP3.indigo4,
+ blue5: RadixColors.indigoP3.indigo5,
+ blue6: RadixColors.indigoP3.indigo6,
+ blue7: RadixColors.indigoP3.indigo7,
+ blue8: RadixColors.indigoP3.indigo8,
+ blue9: RadixColors.indigoP3.indigo9,
+ blue10: RadixColors.indigoP3.indigo10,
+ blue11: RadixColors.indigoP3.indigo11,
+ blue12: RadixColors.indigoP3.indigo12,
+
+ purple1: RadixColors.purpleP3.purple1,
+ purple2: RadixColors.purpleP3.purple2,
+ purple3: RadixColors.purpleP3.purple3,
+ purple4: RadixColors.purpleP3.purple4,
+ purple5: RadixColors.purpleP3.purple5,
+ purple6: RadixColors.purpleP3.purple6,
+ purple7: RadixColors.purpleP3.purple7,
+ purple8: RadixColors.purpleP3.purple8,
+ purple9: RadixColors.purpleP3.purple9,
+ purple10: RadixColors.purpleP3.purple10,
+ purple11: RadixColors.purpleP3.purple11,
+ purple12: RadixColors.purpleP3.purple12,
+
+ pink1: RadixColors.pinkP3.pink1,
+ pink2: RadixColors.pinkP3.pink2,
+ pink3: RadixColors.pinkP3.pink3,
+ pink4: RadixColors.pinkP3.pink4,
+ pink5: RadixColors.pinkP3.pink5,
+ pink6: RadixColors.pinkP3.pink6,
+ pink7: RadixColors.pinkP3.pink7,
+ pink8: RadixColors.pinkP3.pink8,
+ pink9: RadixColors.pinkP3.pink9,
+ pink10: RadixColors.pinkP3.pink10,
+ pink11: RadixColors.pinkP3.pink11,
+ pink12: RadixColors.pinkP3.pink12,
+
+ red1: RadixColors.redP3.red1,
+ red2: RadixColors.redP3.red2,
+ red3: RadixColors.redP3.red3,
+ red4: RadixColors.redP3.red4,
+ red5: RadixColors.redP3.red5,
+ red6: RadixColors.redP3.red6,
+ red7: RadixColors.redP3.red7,
+ red8: RadixColors.redP3.red8,
+ red9: RadixColors.redP3.red9,
+ red10: RadixColors.redP3.red10,
+ red11: RadixColors.redP3.red11,
+ red12: RadixColors.redP3.red12,
+
+ orange1: RadixColors.orangeP3.orange1,
+ orange2: RadixColors.orangeP3.orange2,
+ orange3: RadixColors.orangeP3.orange3,
+ orange4: RadixColors.orangeP3.orange4,
+ orange5: RadixColors.orangeP3.orange5,
+ orange6: RadixColors.orangeP3.orange6,
+ orange7: RadixColors.orangeP3.orange7,
+ orange8: RadixColors.orangeP3.orange8,
+ orange9: RadixColors.orangeP3.orange9,
+ orange10: RadixColors.orangeP3.orange10,
+ orange11: RadixColors.orangeP3.orange11,
+ orange12: RadixColors.orangeP3.orange12,
+
+ gray1: GRAY_SCALE_LIGHT.gray1,
+ gray2: GRAY_SCALE_LIGHT.gray2,
+ gray3: GRAY_SCALE_LIGHT.gray3,
+ gray4: GRAY_SCALE_LIGHT.gray4,
+ gray5: GRAY_SCALE_LIGHT.gray5,
+ gray6: GRAY_SCALE_LIGHT.gray6,
+ gray7: GRAY_SCALE_LIGHT.gray7,
+ gray8: GRAY_SCALE_LIGHT.gray8,
+ gray9: GRAY_SCALE_LIGHT.gray9,
+ gray10: GRAY_SCALE_LIGHT.gray10,
+ gray11: GRAY_SCALE_LIGHT.gray11,
+ gray12: GRAY_SCALE_LIGHT.gray12,
+
+ mauve1: RadixColors.mauveP3.mauve1,
+ mauve2: RadixColors.mauveP3.mauve2,
+ mauve3: RadixColors.mauveP3.mauve3,
+ mauve4: RadixColors.mauveP3.mauve4,
+ mauve5: RadixColors.mauveP3.mauve5,
+ mauve6: RadixColors.mauveP3.mauve6,
+ mauve7: RadixColors.mauveP3.mauve7,
+ mauve8: RadixColors.mauveP3.mauve8,
+ mauve9: RadixColors.mauveP3.mauve9,
+ mauve10: RadixColors.mauveP3.mauve10,
+ mauve11: RadixColors.mauveP3.mauve11,
+ mauve12: RadixColors.mauveP3.mauve12,
+
+ slate1: RadixColors.slateP3.slate1,
+ slate2: RadixColors.slateP3.slate2,
+ slate3: RadixColors.slateP3.slate3,
+ slate4: RadixColors.slateP3.slate4,
+ slate5: RadixColors.slateP3.slate5,
+ slate6: RadixColors.slateP3.slate6,
+ slate7: RadixColors.slateP3.slate7,
+ slate8: RadixColors.slateP3.slate8,
+ slate9: RadixColors.slateP3.slate9,
+ slate10: RadixColors.slateP3.slate10,
+ slate11: RadixColors.slateP3.slate11,
+ slate12: RadixColors.slateP3.slate12,
+
+ sage1: RadixColors.sageP3.sage1,
+ sage2: RadixColors.sageP3.sage2,
+ sage3: RadixColors.sageP3.sage3,
+ sage4: RadixColors.sageP3.sage4,
+ sage5: RadixColors.sageP3.sage5,
+ sage6: RadixColors.sageP3.sage6,
+ sage7: RadixColors.sageP3.sage7,
+ sage8: RadixColors.sageP3.sage8,
+ sage9: RadixColors.sageP3.sage9,
+ sage10: RadixColors.sageP3.sage10,
+ sage11: RadixColors.sageP3.sage11,
+ sage12: RadixColors.sageP3.sage12,
+
+ olive1: RadixColors.oliveP3.olive1,
+ olive2: RadixColors.oliveP3.olive2,
+ olive3: RadixColors.oliveP3.olive3,
+ olive4: RadixColors.oliveP3.olive4,
+ olive5: RadixColors.oliveP3.olive5,
+ olive6: RadixColors.oliveP3.olive6,
+ olive7: RadixColors.oliveP3.olive7,
+ olive8: RadixColors.oliveP3.olive8,
+ olive9: RadixColors.oliveP3.olive9,
+ olive10: RadixColors.oliveP3.olive10,
+ olive11: RadixColors.oliveP3.olive11,
+ olive12: RadixColors.oliveP3.olive12,
+
+ sand1: RadixColors.sandP3.sand1,
+ sand2: RadixColors.sandP3.sand2,
+ sand3: RadixColors.sandP3.sand3,
+ sand4: RadixColors.sandP3.sand4,
+ sand5: RadixColors.sandP3.sand5,
+ sand6: RadixColors.sandP3.sand6,
+ sand7: RadixColors.sandP3.sand7,
+ sand8: RadixColors.sandP3.sand8,
+ sand9: RadixColors.sandP3.sand9,
+ sand10: RadixColors.sandP3.sand10,
+ sand11: RadixColors.sandP3.sand11,
+ sand12: RadixColors.sandP3.sand12,
+
+ tomato1: RadixColors.tomatoP3.tomato1,
+ tomato2: RadixColors.tomatoP3.tomato2,
+ tomato3: RadixColors.tomatoP3.tomato3,
+ tomato4: RadixColors.tomatoP3.tomato4,
+ tomato5: RadixColors.tomatoP3.tomato5,
+ tomato6: RadixColors.tomatoP3.tomato6,
+ tomato7: RadixColors.tomatoP3.tomato7,
+ tomato8: RadixColors.tomatoP3.tomato8,
+ tomato9: RadixColors.tomatoP3.tomato9,
+ tomato10: RadixColors.tomatoP3.tomato10,
+ tomato11: RadixColors.tomatoP3.tomato11,
+ tomato12: RadixColors.tomatoP3.tomato12,
+
+ ruby1: RadixColors.rubyP3.ruby1,
+ ruby2: RadixColors.rubyP3.ruby2,
+ ruby3: RadixColors.rubyP3.ruby3,
+ ruby4: RadixColors.rubyP3.ruby4,
+ ruby5: RadixColors.rubyP3.ruby5,
+ ruby6: RadixColors.rubyP3.ruby6,
+ ruby7: RadixColors.rubyP3.ruby7,
+ ruby8: RadixColors.rubyP3.ruby8,
+ ruby9: RadixColors.rubyP3.ruby9,
+ ruby10: RadixColors.rubyP3.ruby10,
+ ruby11: RadixColors.rubyP3.ruby11,
+ ruby12: RadixColors.rubyP3.ruby12,
+
+ crimson1: RadixColors.crimsonP3.crimson1,
+ crimson2: RadixColors.crimsonP3.crimson2,
+ crimson3: RadixColors.crimsonP3.crimson3,
+ crimson4: RadixColors.crimsonP3.crimson4,
+ crimson5: RadixColors.crimsonP3.crimson5,
+ crimson6: RadixColors.crimsonP3.crimson6,
+ crimson7: RadixColors.crimsonP3.crimson7,
+ crimson8: RadixColors.crimsonP3.crimson8,
+ crimson9: RadixColors.crimsonP3.crimson9,
+ crimson10: RadixColors.crimsonP3.crimson10,
+ crimson11: RadixColors.crimsonP3.crimson11,
+ crimson12: RadixColors.crimsonP3.crimson12,
+
+ plum1: RadixColors.plumP3.plum1,
+ plum2: RadixColors.plumP3.plum2,
+ plum3: RadixColors.plumP3.plum3,
+ plum4: RadixColors.plumP3.plum4,
+ plum5: RadixColors.plumP3.plum5,
+ plum6: RadixColors.plumP3.plum6,
+ plum7: RadixColors.plumP3.plum7,
+ plum8: RadixColors.plumP3.plum8,
+ plum9: RadixColors.plumP3.plum9,
+ plum10: RadixColors.plumP3.plum10,
+ plum11: RadixColors.plumP3.plum11,
+ plum12: RadixColors.plumP3.plum12,
+
+ violet1: RadixColors.violetP3.violet1,
+ violet2: RadixColors.violetP3.violet2,
+ violet3: RadixColors.violetP3.violet3,
+ violet4: RadixColors.violetP3.violet4,
+ violet5: RadixColors.violetP3.violet5,
+ violet6: RadixColors.violetP3.violet6,
+ violet7: RadixColors.violetP3.violet7,
+ violet8: RadixColors.violetP3.violet8,
+ violet9: RadixColors.violetP3.violet9,
+ violet10: RadixColors.violetP3.violet10,
+ violet11: RadixColors.violetP3.violet11,
+ violet12: RadixColors.violetP3.violet12,
+
+ iris1: RadixColors.irisP3.iris1,
+ iris2: RadixColors.irisP3.iris2,
+ iris3: RadixColors.irisP3.iris3,
+ iris4: RadixColors.irisP3.iris4,
+ iris5: RadixColors.irisP3.iris5,
+ iris6: RadixColors.irisP3.iris6,
+ iris7: RadixColors.irisP3.iris7,
+ iris8: RadixColors.irisP3.iris8,
+ iris9: RadixColors.irisP3.iris9,
+ iris10: RadixColors.irisP3.iris10,
+ iris11: RadixColors.irisP3.iris11,
+ iris12: RadixColors.irisP3.iris12,
+
+ cyan1: RadixColors.cyanP3.cyan1,
+ cyan2: RadixColors.cyanP3.cyan2,
+ cyan3: RadixColors.cyanP3.cyan3,
+ cyan4: RadixColors.cyanP3.cyan4,
+ cyan5: RadixColors.cyanP3.cyan5,
+ cyan6: RadixColors.cyanP3.cyan6,
+ cyan7: RadixColors.cyanP3.cyan7,
+ cyan8: RadixColors.cyanP3.cyan8,
+ cyan9: RadixColors.cyanP3.cyan9,
+ cyan10: RadixColors.cyanP3.cyan10,
+ cyan11: RadixColors.cyanP3.cyan11,
+ cyan12: RadixColors.cyanP3.cyan12,
+
+ jade1: RadixColors.jadeP3.jade1,
+ jade2: RadixColors.jadeP3.jade2,
+ jade3: RadixColors.jadeP3.jade3,
+ jade4: RadixColors.jadeP3.jade4,
+ jade5: RadixColors.jadeP3.jade5,
+ jade6: RadixColors.jadeP3.jade6,
+ jade7: RadixColors.jadeP3.jade7,
+ jade8: RadixColors.jadeP3.jade8,
+ jade9: RadixColors.jadeP3.jade9,
+ jade10: RadixColors.jadeP3.jade10,
+ jade11: RadixColors.jadeP3.jade11,
+ jade12: RadixColors.jadeP3.jade12,
+
+ grass1: RadixColors.grassP3.grass1,
+ grass2: RadixColors.grassP3.grass2,
+ grass3: RadixColors.grassP3.grass3,
+ grass4: RadixColors.grassP3.grass4,
+ grass5: RadixColors.grassP3.grass5,
+ grass6: RadixColors.grassP3.grass6,
+ grass7: RadixColors.grassP3.grass7,
+ grass8: RadixColors.grassP3.grass8,
+ grass9: RadixColors.grassP3.grass9,
+ grass10: RadixColors.grassP3.grass10,
+ grass11: RadixColors.grassP3.grass11,
+ grass12: RadixColors.grassP3.grass12,
+
+ mint1: RadixColors.mintP3.mint1,
+ mint2: RadixColors.mintP3.mint2,
+ mint3: RadixColors.mintP3.mint3,
+ mint4: RadixColors.mintP3.mint4,
+ mint5: RadixColors.mintP3.mint5,
+ mint6: RadixColors.mintP3.mint6,
+ mint7: RadixColors.mintP3.mint7,
+ mint8: RadixColors.mintP3.mint8,
+ mint9: RadixColors.mintP3.mint9,
+ mint10: RadixColors.mintP3.mint10,
+ mint11: RadixColors.mintP3.mint11,
+ mint12: RadixColors.mintP3.mint12,
+
+ lime1: RadixColors.limeP3.lime1,
+ lime2: RadixColors.limeP3.lime2,
+ lime3: RadixColors.limeP3.lime3,
+ lime4: RadixColors.limeP3.lime4,
+ lime5: RadixColors.limeP3.lime5,
+ lime6: RadixColors.limeP3.lime6,
+ lime7: RadixColors.limeP3.lime7,
+ lime8: RadixColors.limeP3.lime8,
+ lime9: RadixColors.limeP3.lime9,
+ lime10: RadixColors.limeP3.lime10,
+ lime11: RadixColors.limeP3.lime11,
+ lime12: RadixColors.limeP3.lime12,
+
+ bronze1: RadixColors.bronzeP3.bronze1,
+ bronze2: RadixColors.bronzeP3.bronze2,
+ bronze3: RadixColors.bronzeP3.bronze3,
+ bronze4: RadixColors.bronzeP3.bronze4,
+ bronze5: RadixColors.bronzeP3.bronze5,
+ bronze6: RadixColors.bronzeP3.bronze6,
+ bronze7: RadixColors.bronzeP3.bronze7,
+ bronze8: RadixColors.bronzeP3.bronze8,
+ bronze9: RadixColors.bronzeP3.bronze9,
+ bronze10: RadixColors.bronzeP3.bronze10,
+ bronze11: RadixColors.bronzeP3.bronze11,
+ bronze12: RadixColors.bronzeP3.bronze12,
+
+ gold1: RadixColors.goldP3.gold1,
+ gold2: RadixColors.goldP3.gold2,
+ gold3: RadixColors.goldP3.gold3,
+ gold4: RadixColors.goldP3.gold4,
+ gold5: RadixColors.goldP3.gold5,
+ gold6: RadixColors.goldP3.gold6,
+ gold7: RadixColors.goldP3.gold7,
+ gold8: RadixColors.goldP3.gold8,
+ gold9: RadixColors.goldP3.gold9,
+ gold10: RadixColors.goldP3.gold10,
+ gold11: RadixColors.goldP3.gold11,
+ gold12: RadixColors.goldP3.gold12,
+
+ brown1: RadixColors.brownP3.brown1,
+ brown2: RadixColors.brownP3.brown2,
+ brown3: RadixColors.brownP3.brown3,
+ brown4: RadixColors.brownP3.brown4,
+ brown5: RadixColors.brownP3.brown5,
+ brown6: RadixColors.brownP3.brown6,
+ brown7: RadixColors.brownP3.brown7,
+ brown8: RadixColors.brownP3.brown8,
+ brown9: RadixColors.brownP3.brown9,
+ brown10: RadixColors.brownP3.brown10,
+ brown11: RadixColors.brownP3.brown11,
+ brown12: RadixColors.brownP3.brown12,
+
+ amber1: RadixColors.amberP3.amber1,
+ amber2: RadixColors.amberP3.amber2,
+ amber3: RadixColors.amberP3.amber3,
+ amber4: RadixColors.amberP3.amber4,
+ amber5: RadixColors.amberP3.amber5,
+ amber6: RadixColors.amberP3.amber6,
+ amber7: RadixColors.amberP3.amber7,
+ amber8: RadixColors.amberP3.amber8,
+ amber9: RadixColors.amberP3.amber9,
+ amber10: RadixColors.amberP3.amber10,
+ amber11: RadixColors.amberP3.amber11,
+ amber12: RadixColors.amberP3.amber12,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/SnackBarDark.ts b/packages/twenty-new-ui/src/theme/constants/SnackBarDark.ts
new file mode 100644
index 00000000000..981a2cb45a0
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/SnackBarDark.ts
@@ -0,0 +1,26 @@
+import { BACKGROUND_DARK } from '@new-ui/theme/constants/BackgroundDark';
+import { FONT_DARK } from '@new-ui/theme/constants/FontDark';
+import { MAIN_COLORS_DARK } from '@new-ui/theme/constants/MainColorsDark';
+
+export const SNACK_BAR_DARK = {
+ success: {
+ color: MAIN_COLORS_DARK.turquoise,
+ backgroundColor: BACKGROUND_DARK.transparent.success,
+ },
+ error: {
+ color: MAIN_COLORS_DARK.red,
+ backgroundColor: BACKGROUND_DARK.transparent.danger,
+ },
+ warning: {
+ color: MAIN_COLORS_DARK.orange,
+ backgroundColor: BACKGROUND_DARK.transparent.orange,
+ },
+ info: {
+ color: MAIN_COLORS_DARK.blue,
+ backgroundColor: BACKGROUND_DARK.transparent.blue,
+ },
+ default: {
+ color: FONT_DARK.color.primary,
+ backgroundColor: BACKGROUND_DARK.transparent.light,
+ },
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/SnackBarLight.ts b/packages/twenty-new-ui/src/theme/constants/SnackBarLight.ts
new file mode 100644
index 00000000000..1e669e4f6f4
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/SnackBarLight.ts
@@ -0,0 +1,26 @@
+import { BACKGROUND_LIGHT } from '@new-ui/theme/constants/BackgroundLight';
+import { FONT_LIGHT } from '@new-ui/theme/constants/FontLight';
+import { MAIN_COLORS_LIGHT } from '@new-ui/theme/constants/MainColorsLight';
+
+export const SNACK_BAR_LIGHT = {
+ success: {
+ color: MAIN_COLORS_LIGHT.turquoise,
+ backgroundColor: BACKGROUND_LIGHT.transparent.success,
+ },
+ error: {
+ color: MAIN_COLORS_LIGHT.red,
+ backgroundColor: BACKGROUND_LIGHT.transparent.danger,
+ },
+ warning: {
+ color: MAIN_COLORS_LIGHT.orange,
+ backgroundColor: BACKGROUND_LIGHT.transparent.orange,
+ },
+ info: {
+ color: MAIN_COLORS_LIGHT.blue,
+ backgroundColor: BACKGROUND_LIGHT.transparent.blue,
+ },
+ default: {
+ color: FONT_LIGHT.color.primary,
+ backgroundColor: BACKGROUND_LIGHT.transparent.light,
+ },
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/TagDark.ts b/packages/twenty-new-ui/src/theme/constants/TagDark.ts
new file mode 100644
index 00000000000..7c4f2fe1b55
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/TagDark.ts
@@ -0,0 +1,68 @@
+import { COLOR_DARK } from '@new-ui/theme/constants/ColorsDark';
+
+export const TAG_DARK = {
+ text: {
+ gray: COLOR_DARK.gray11,
+ mauve: COLOR_DARK.mauve11,
+ slate: COLOR_DARK.slate11,
+ sage: COLOR_DARK.sage11,
+ olive: COLOR_DARK.olive11,
+ sand: COLOR_DARK.sand11,
+ tomato: COLOR_DARK.tomato11,
+ red: COLOR_DARK.red11,
+ ruby: COLOR_DARK.ruby11,
+ crimson: COLOR_DARK.crimson11,
+ pink: COLOR_DARK.pink11,
+ plum: COLOR_DARK.plum11,
+ purple: COLOR_DARK.purple11,
+ violet: COLOR_DARK.violet11,
+ iris: COLOR_DARK.iris11,
+ cyan: COLOR_DARK.cyan11,
+ turquoise: COLOR_DARK.turquoise11,
+ sky: COLOR_DARK.sky11,
+ blue: COLOR_DARK.blue11,
+ jade: COLOR_DARK.jade11,
+ green: COLOR_DARK.green11,
+ grass: COLOR_DARK.grass11,
+ mint: COLOR_DARK.mint11,
+ lime: COLOR_DARK.lime11,
+ bronze: COLOR_DARK.bronze11,
+ gold: COLOR_DARK.gold11,
+ brown: COLOR_DARK.brown11,
+ orange: COLOR_DARK.orange11,
+ amber: COLOR_DARK.amber11,
+ yellow: COLOR_DARK.yellow11,
+ },
+ background: {
+ gray: COLOR_DARK.gray3,
+ mauve: COLOR_DARK.mauve3,
+ slate: COLOR_DARK.slate3,
+ sage: COLOR_DARK.sage3,
+ olive: COLOR_DARK.olive3,
+ sand: COLOR_DARK.sand3,
+ tomato: COLOR_DARK.tomato3,
+ red: COLOR_DARK.red3,
+ ruby: COLOR_DARK.ruby3,
+ crimson: COLOR_DARK.crimson3,
+ pink: COLOR_DARK.pink3,
+ plum: COLOR_DARK.plum3,
+ purple: COLOR_DARK.purple3,
+ violet: COLOR_DARK.violet3,
+ iris: COLOR_DARK.iris3,
+ cyan: COLOR_DARK.cyan3,
+ turquoise: COLOR_DARK.turquoise3,
+ sky: COLOR_DARK.sky3,
+ blue: COLOR_DARK.blue3,
+ jade: COLOR_DARK.jade3,
+ green: COLOR_DARK.green3,
+ grass: COLOR_DARK.grass3,
+ mint: COLOR_DARK.mint3,
+ lime: COLOR_DARK.lime3,
+ bronze: COLOR_DARK.bronze3,
+ gold: COLOR_DARK.gold3,
+ brown: COLOR_DARK.brown3,
+ orange: COLOR_DARK.orange3,
+ amber: COLOR_DARK.amber3,
+ yellow: COLOR_DARK.yellow3,
+ },
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/TagLight.ts b/packages/twenty-new-ui/src/theme/constants/TagLight.ts
new file mode 100644
index 00000000000..0b450a81516
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/TagLight.ts
@@ -0,0 +1,68 @@
+import { COLOR_LIGHT } from '@new-ui/theme/constants/ColorsLight';
+
+export const TAG_LIGHT = {
+ text: {
+ gray: COLOR_LIGHT.gray11,
+ mauve: COLOR_LIGHT.mauve11,
+ slate: COLOR_LIGHT.slate11,
+ sage: COLOR_LIGHT.sage11,
+ olive: COLOR_LIGHT.olive11,
+ sand: COLOR_LIGHT.sand11,
+ tomato: COLOR_LIGHT.tomato11,
+ red: COLOR_LIGHT.red11,
+ ruby: COLOR_LIGHT.ruby11,
+ crimson: COLOR_LIGHT.crimson11,
+ pink: COLOR_LIGHT.pink11,
+ plum: COLOR_LIGHT.plum11,
+ purple: COLOR_LIGHT.purple11,
+ violet: COLOR_LIGHT.violet11,
+ iris: COLOR_LIGHT.iris11,
+ cyan: COLOR_LIGHT.cyan11,
+ turquoise: COLOR_LIGHT.turquoise11,
+ sky: COLOR_LIGHT.sky11,
+ blue: COLOR_LIGHT.blue11,
+ jade: COLOR_LIGHT.jade11,
+ green: COLOR_LIGHT.green11,
+ grass: COLOR_LIGHT.grass11,
+ mint: COLOR_LIGHT.mint11,
+ lime: COLOR_LIGHT.lime11,
+ bronze: COLOR_LIGHT.bronze11,
+ gold: COLOR_LIGHT.gold11,
+ brown: COLOR_LIGHT.brown11,
+ orange: COLOR_LIGHT.orange11,
+ amber: COLOR_LIGHT.amber11,
+ yellow: COLOR_LIGHT.yellow11,
+ },
+ background: {
+ gray: COLOR_LIGHT.gray3,
+ mauve: COLOR_LIGHT.mauve3,
+ slate: COLOR_LIGHT.slate3,
+ sage: COLOR_LIGHT.sage3,
+ olive: COLOR_LIGHT.olive3,
+ sand: COLOR_LIGHT.sand3,
+ tomato: COLOR_LIGHT.tomato3,
+ red: COLOR_LIGHT.red3,
+ ruby: COLOR_LIGHT.ruby3,
+ crimson: COLOR_LIGHT.crimson3,
+ pink: COLOR_LIGHT.pink3,
+ plum: COLOR_LIGHT.plum3,
+ purple: COLOR_LIGHT.purple3,
+ violet: COLOR_LIGHT.violet3,
+ iris: COLOR_LIGHT.iris3,
+ cyan: COLOR_LIGHT.cyan3,
+ turquoise: COLOR_LIGHT.turquoise3,
+ sky: COLOR_LIGHT.sky3,
+ blue: COLOR_LIGHT.blue3,
+ jade: COLOR_LIGHT.jade3,
+ green: COLOR_LIGHT.green3,
+ grass: COLOR_LIGHT.grass3,
+ mint: COLOR_LIGHT.mint3,
+ lime: COLOR_LIGHT.lime3,
+ bronze: COLOR_LIGHT.bronze3,
+ gold: COLOR_LIGHT.gold3,
+ brown: COLOR_LIGHT.brown3,
+ orange: COLOR_LIGHT.orange3,
+ amber: COLOR_LIGHT.amber3,
+ yellow: COLOR_LIGHT.yellow3,
+ },
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/Text.ts b/packages/twenty-new-ui/src/theme/constants/Text.ts
new file mode 100644
index 00000000000..f194a478115
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/Text.ts
@@ -0,0 +1,13 @@
+export const TEXT = {
+ lineHeight: {
+ lg: 1.5,
+ md: 1.1,
+ },
+
+ iconSizeMedium: 16,
+ iconSizeSmall: 14,
+
+ iconStrikeLight: 1.6,
+ iconStrikeMedium: 2,
+ iconStrikeBold: 2.5,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/ThemeCommon.ts b/packages/twenty-new-ui/src/theme/constants/ThemeCommon.ts
new file mode 100644
index 00000000000..60f7dc28e53
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/ThemeCommon.ts
@@ -0,0 +1,27 @@
+import { ACCENT_DARK } from '@new-ui/theme/constants/AccentDark';
+import { ANIMATION } from './Animation';
+import { ICON } from './Icon';
+import { MODAL } from './Modal';
+import { TEXT } from './Text';
+
+export const THEME_COMMON = {
+ icon: ICON,
+ modal: MODAL,
+ text: TEXT,
+ animation: ANIMATION,
+ spacingMultiplicator: 4,
+ spacing: (...args: number[]) =>
+ args.map((multiplicator) => `${multiplicator * 4}px`).join(' '),
+ betweenSiblingsGap: `2px`,
+ table: {
+ horizontalCellMargin: '8px',
+ checkboxColumnWidth: '32px',
+ horizontalCellPadding: '8px',
+ },
+ sidePanelWidth: '500px',
+ clickableElementBackgroundTransition: 'background 0.1s ease',
+ lastLayerZIndex: 2147483647,
+ buttons: {
+ secondaryTextColor: ACCENT_DARK.accent11,
+ },
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/ThemeDark.ts b/packages/twenty-new-ui/src/theme/constants/ThemeDark.ts
new file mode 100644
index 00000000000..385c63ddde6
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/ThemeDark.ts
@@ -0,0 +1,33 @@
+import { BLUR_DARK } from '@new-ui/theme/constants/BlurDark';
+import { ILLUSTRATION_ICON_DARK } from '@new-ui/theme/constants/IllustrationIconDark';
+import { COLOR_DARK } from './ColorsDark';
+import { GRAY_SCALE_DARK } from './GrayScaleDark';
+import { SNACK_BAR_DARK } from './SnackBarDark';
+import { ACCENT_DARK } from './AccentDark';
+import { BACKGROUND_DARK } from './BackgroundDark';
+import { BORDER_DARK } from './BorderDark';
+import { BOX_SHADOW_DARK } from './BoxShadowDark';
+import { CODE_DARK } from './CodeDark';
+import { FONT_DARK } from './FontDark';
+import { TAG_DARK } from './TagDark';
+import { THEME_COMMON } from './ThemeCommon';
+import type { THEME_LIGHT } from './ThemeLight';
+
+export const THEME_DARK: typeof THEME_LIGHT = {
+ ...THEME_COMMON,
+ ...{
+ accent: ACCENT_DARK,
+ background: BACKGROUND_DARK,
+ blur: BLUR_DARK,
+ border: BORDER_DARK,
+ boxShadow: BOX_SHADOW_DARK,
+ font: FONT_DARK,
+ name: 'dark',
+ snackBar: SNACK_BAR_DARK,
+ tag: TAG_DARK,
+ code: CODE_DARK,
+ IllustrationIcon: ILLUSTRATION_ICON_DARK,
+ grayScale: GRAY_SCALE_DARK,
+ color: COLOR_DARK,
+ },
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/ThemeLight.ts b/packages/twenty-new-ui/src/theme/constants/ThemeLight.ts
new file mode 100644
index 00000000000..1968e514b28
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/ThemeLight.ts
@@ -0,0 +1,32 @@
+import { BLUR_LIGHT } from '@new-ui/theme/constants/BlurLight';
+import { COLOR_LIGHT } from '@new-ui/theme/constants/ColorsLight';
+import { GRAY_SCALE_LIGHT } from '@new-ui/theme/constants/GrayScaleLight';
+import { ILLUSTRATION_ICON_LIGHT } from '@new-ui/theme/constants/IllustrationIconLight';
+import { SNACK_BAR_LIGHT } from '@new-ui/theme/constants/SnackBarLight';
+import { ACCENT_LIGHT } from './AccentLight';
+import { BACKGROUND_LIGHT } from './BackgroundLight';
+import { BORDER_LIGHT } from './BorderLight';
+import { BOX_SHADOW_LIGHT } from './BoxShadowLight';
+import { CODE_LIGHT } from './CodeLight';
+import { FONT_LIGHT } from './FontLight';
+import { TAG_LIGHT } from './TagLight';
+import { THEME_COMMON } from './ThemeCommon';
+
+export const THEME_LIGHT = {
+ ...THEME_COMMON,
+ ...{
+ accent: ACCENT_LIGHT,
+ background: BACKGROUND_LIGHT,
+ blur: BLUR_LIGHT,
+ border: BORDER_LIGHT,
+ boxShadow: BOX_SHADOW_LIGHT,
+ font: FONT_LIGHT,
+ name: 'light',
+ snackBar: SNACK_BAR_LIGHT,
+ tag: TAG_LIGHT,
+ code: CODE_LIGHT,
+ IllustrationIcon: ILLUSTRATION_ICON_LIGHT,
+ grayScale: GRAY_SCALE_LIGHT,
+ color: COLOR_LIGHT,
+ },
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/TransparentColorsDark.ts b/packages/twenty-new-ui/src/theme/constants/TransparentColorsDark.ts
new file mode 100644
index 00000000000..dad6596485a
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/TransparentColorsDark.ts
@@ -0,0 +1,394 @@
+import * as RadixColors from '@radix-ui/colors';
+import { GRAY_SCALE_DARK_ALPHA } from '@new-ui/theme/constants/GrayScaleDarkAlpha';
+
+export const TRANSPARENT_COLORS_DARK = {
+ green1: RadixColors.greenDarkA.greenA1,
+ green2: RadixColors.greenDarkA.greenA2,
+ green3: RadixColors.greenDarkA.greenA3,
+ green4: RadixColors.greenDarkA.greenA4,
+ green5: RadixColors.greenDarkA.greenA5,
+ green6: RadixColors.greenDarkA.greenA6,
+ green7: RadixColors.greenDarkA.greenA7,
+ green8: RadixColors.greenDarkA.greenA8,
+ green9: RadixColors.greenDarkA.greenA9,
+ green10: RadixColors.greenDarkA.greenA10,
+ green11: RadixColors.greenDarkA.greenA11,
+ green12: RadixColors.greenDarkA.greenA12,
+
+ turquoise1: RadixColors.tealDarkA.tealA1,
+ turquoise2: RadixColors.tealDarkA.tealA2,
+ turquoise3: RadixColors.tealDarkA.tealA3,
+ turquoise4: RadixColors.tealDarkA.tealA4,
+ turquoise5: RadixColors.tealDarkA.tealA5,
+ turquoise6: RadixColors.tealDarkA.tealA6,
+ turquoise7: RadixColors.tealDarkA.tealA7,
+ turquoise8: RadixColors.tealDarkA.tealA8,
+ turquoise9: RadixColors.tealDarkA.tealA9,
+ turquoise10: RadixColors.tealDarkA.tealA10,
+ turquoise11: RadixColors.tealDarkA.tealA11,
+ turquoise12: RadixColors.tealDarkA.tealA12,
+
+ sky1: RadixColors.skyDarkA.skyA1,
+ sky2: RadixColors.skyDarkA.skyA2,
+ sky3: RadixColors.skyDarkA.skyA3,
+ sky4: RadixColors.skyDarkA.skyA4,
+ sky5: RadixColors.skyDarkA.skyA5,
+ sky6: RadixColors.skyDarkA.skyA6,
+ sky7: RadixColors.skyDarkA.skyA7,
+ sky8: RadixColors.skyDarkA.skyA8,
+ sky9: RadixColors.skyDarkA.skyA9,
+ sky10: RadixColors.skyDarkA.skyA10,
+ sky11: RadixColors.skyDarkA.skyA11,
+ sky12: RadixColors.skyDarkA.skyA12,
+
+ blue1: RadixColors.indigoDarkA.indigoA1,
+ blue2: RadixColors.indigoDarkA.indigoA2,
+ blue3: RadixColors.indigoDarkA.indigoA3,
+ blue4: RadixColors.indigoDarkA.indigoA4,
+ blue5: RadixColors.indigoDarkA.indigoA5,
+ blue6: RadixColors.indigoDarkA.indigoA6,
+ blue7: RadixColors.indigoDarkA.indigoA7,
+ blue8: RadixColors.indigoDarkA.indigoA8,
+ blue9: RadixColors.indigoDarkA.indigoA9,
+ blue10: RadixColors.indigoDarkA.indigoA10,
+ blue11: RadixColors.indigoDarkA.indigoA11,
+ blue12: RadixColors.indigoDarkA.indigoA12,
+
+ purple1: RadixColors.purpleDarkA.purpleA1,
+ purple2: RadixColors.purpleDarkA.purpleA2,
+ purple3: RadixColors.purpleDarkA.purpleA3,
+ purple4: RadixColors.purpleDarkA.purpleA4,
+ purple5: RadixColors.purpleDarkA.purpleA5,
+ purple6: RadixColors.purpleDarkA.purpleA6,
+ purple7: RadixColors.purpleDarkA.purpleA7,
+ purple8: RadixColors.purpleDarkA.purpleA8,
+ purple9: RadixColors.purpleDarkA.purpleA9,
+ purple10: RadixColors.purpleDarkA.purpleA10,
+ purple11: RadixColors.purpleDarkA.purpleA11,
+ purple12: RadixColors.purpleDarkA.purpleA12,
+
+ pink1: RadixColors.pinkDarkA.pinkA1,
+ pink2: RadixColors.pinkDarkA.pinkA2,
+ pink3: RadixColors.pinkDarkA.pinkA3,
+ pink4: RadixColors.pinkDarkA.pinkA4,
+ pink5: RadixColors.pinkDarkA.pinkA5,
+ pink6: RadixColors.pinkDarkA.pinkA6,
+ pink7: RadixColors.pinkDarkA.pinkA7,
+ pink8: RadixColors.pinkDarkA.pinkA8,
+ pink9: RadixColors.pinkDarkA.pinkA9,
+ pink10: RadixColors.pinkDarkA.pinkA10,
+ pink11: RadixColors.pinkDarkA.pinkA11,
+ pink12: RadixColors.pinkDarkA.pinkA12,
+
+ red1: RadixColors.redDarkA.redA1,
+ red2: RadixColors.redDarkA.redA2,
+ red3: RadixColors.redDarkA.redA3,
+ red4: RadixColors.redDarkA.redA4,
+ red5: RadixColors.redDarkA.redA5,
+ red6: RadixColors.redDarkA.redA6,
+ red7: RadixColors.redDarkA.redA7,
+ red8: RadixColors.redDarkA.redA8,
+ red9: RadixColors.redDarkA.redA9,
+ red10: RadixColors.redDarkA.redA10,
+ red11: RadixColors.redDarkA.redA11,
+ red12: RadixColors.redDarkA.redA12,
+
+ orange1: RadixColors.orangeDarkA.orangeA1,
+ orange2: RadixColors.orangeDarkA.orangeA2,
+ orange3: RadixColors.orangeDarkA.orangeA3,
+ orange4: RadixColors.orangeDarkA.orangeA4,
+ orange5: RadixColors.orangeDarkA.orangeA5,
+ orange6: RadixColors.orangeDarkA.orangeA6,
+ orange7: RadixColors.orangeDarkA.orangeA7,
+ orange8: RadixColors.orangeDarkA.orangeA8,
+ orange9: RadixColors.orangeDarkA.orangeA9,
+ orange10: RadixColors.orangeDarkA.orangeA10,
+ orange11: RadixColors.orangeDarkA.orangeA11,
+ orange12: RadixColors.orangeDarkA.orangeA12,
+
+ yellow1: RadixColors.yellowDarkA.yellowA1,
+ yellow2: RadixColors.yellowDarkA.yellowA2,
+ yellow3: RadixColors.yellowDarkA.yellowA3,
+ yellow4: RadixColors.yellowDarkA.yellowA4,
+ yellow5: RadixColors.yellowDarkA.yellowA5,
+ yellow6: RadixColors.yellowDarkA.yellowA6,
+ yellow7: RadixColors.yellowDarkA.yellowA7,
+ yellow8: RadixColors.yellowDarkA.yellowA8,
+ yellow9: RadixColors.yellowDarkA.yellowA9,
+ yellow10: RadixColors.yellowDarkA.yellowA10,
+ yellow11: RadixColors.yellowDarkA.yellowA11,
+ yellow12: RadixColors.yellowDarkA.yellowA12,
+
+ gray1: GRAY_SCALE_DARK_ALPHA.gray1,
+ gray2: GRAY_SCALE_DARK_ALPHA.gray2,
+ gray3: GRAY_SCALE_DARK_ALPHA.gray3,
+ gray4: GRAY_SCALE_DARK_ALPHA.gray4,
+ gray5: GRAY_SCALE_DARK_ALPHA.gray5,
+ gray6: GRAY_SCALE_DARK_ALPHA.gray6,
+ gray7: GRAY_SCALE_DARK_ALPHA.gray7,
+ gray8: GRAY_SCALE_DARK_ALPHA.gray8,
+ gray9: GRAY_SCALE_DARK_ALPHA.gray9,
+ gray10: GRAY_SCALE_DARK_ALPHA.gray10,
+ gray11: GRAY_SCALE_DARK_ALPHA.gray11,
+ gray12: GRAY_SCALE_DARK_ALPHA.gray12,
+
+ mauve1: RadixColors.mauveDarkA.mauveA1,
+ mauve2: RadixColors.mauveDarkA.mauveA2,
+ mauve3: RadixColors.mauveDarkA.mauveA3,
+ mauve4: RadixColors.mauveDarkA.mauveA4,
+ mauve5: RadixColors.mauveDarkA.mauveA5,
+ mauve6: RadixColors.mauveDarkA.mauveA6,
+ mauve7: RadixColors.mauveDarkA.mauveA7,
+ mauve8: RadixColors.mauveDarkA.mauveA8,
+ mauve9: RadixColors.mauveDarkA.mauveA9,
+ mauve10: RadixColors.mauveDarkA.mauveA10,
+ mauve11: RadixColors.mauveDarkA.mauveA11,
+ mauve12: RadixColors.mauveDarkA.mauveA12,
+
+ slate1: RadixColors.slateDarkA.slateA1,
+ slate2: RadixColors.slateDarkA.slateA2,
+ slate3: RadixColors.slateDarkA.slateA3,
+ slate4: RadixColors.slateDarkA.slateA4,
+ slate5: RadixColors.slateDarkA.slateA5,
+ slate6: RadixColors.slateDarkA.slateA6,
+ slate7: RadixColors.slateDarkA.slateA7,
+ slate8: RadixColors.slateDarkA.slateA8,
+ slate9: RadixColors.slateDarkA.slateA9,
+ slate10: RadixColors.slateDarkA.slateA10,
+ slate11: RadixColors.slateDarkA.slateA11,
+ slate12: RadixColors.slateDarkA.slateA12,
+
+ sage1: RadixColors.sageDarkA.sageA1,
+ sage2: RadixColors.sageDarkA.sageA2,
+ sage3: RadixColors.sageDarkA.sageA3,
+ sage4: RadixColors.sageDarkA.sageA4,
+ sage5: RadixColors.sageDarkA.sageA5,
+ sage6: RadixColors.sageDarkA.sageA6,
+ sage7: RadixColors.sageDarkA.sageA7,
+ sage8: RadixColors.sageDarkA.sageA8,
+ sage9: RadixColors.sageDarkA.sageA9,
+ sage10: RadixColors.sageDarkA.sageA10,
+ sage11: RadixColors.sageDarkA.sageA11,
+ sage12: RadixColors.sageDarkA.sageA12,
+
+ olive1: RadixColors.oliveDarkA.oliveA1,
+ olive2: RadixColors.oliveDarkA.oliveA2,
+ olive3: RadixColors.oliveDarkA.oliveA3,
+ olive4: RadixColors.oliveDarkA.oliveA4,
+ olive5: RadixColors.oliveDarkA.oliveA5,
+ olive6: RadixColors.oliveDarkA.oliveA6,
+ olive7: RadixColors.oliveDarkA.oliveA7,
+ olive8: RadixColors.oliveDarkA.oliveA8,
+ olive9: RadixColors.oliveDarkA.oliveA9,
+ olive10: RadixColors.oliveDarkA.oliveA10,
+ olive11: RadixColors.oliveDarkA.oliveA11,
+ olive12: RadixColors.oliveDarkA.oliveA12,
+
+ sand1: RadixColors.sandDarkA.sandA1,
+ sand2: RadixColors.sandDarkA.sandA2,
+ sand3: RadixColors.sandDarkA.sandA3,
+ sand4: RadixColors.sandDarkA.sandA4,
+ sand5: RadixColors.sandDarkA.sandA5,
+ sand6: RadixColors.sandDarkA.sandA6,
+ sand7: RadixColors.sandDarkA.sandA7,
+ sand8: RadixColors.sandDarkA.sandA8,
+ sand9: RadixColors.sandDarkA.sandA9,
+ sand10: RadixColors.sandDarkA.sandA10,
+ sand11: RadixColors.sandDarkA.sandA11,
+ sand12: RadixColors.sandDarkA.sandA12,
+
+ tomato1: RadixColors.tomatoDarkA.tomatoA1,
+ tomato2: RadixColors.tomatoDarkA.tomatoA2,
+ tomato3: RadixColors.tomatoDarkA.tomatoA3,
+ tomato4: RadixColors.tomatoDarkA.tomatoA4,
+ tomato5: RadixColors.tomatoDarkA.tomatoA5,
+ tomato6: RadixColors.tomatoDarkA.tomatoA6,
+ tomato7: RadixColors.tomatoDarkA.tomatoA7,
+ tomato8: RadixColors.tomatoDarkA.tomatoA8,
+ tomato9: RadixColors.tomatoDarkA.tomatoA9,
+ tomato10: RadixColors.tomatoDarkA.tomatoA10,
+ tomato11: RadixColors.tomatoDarkA.tomatoA11,
+ tomato12: RadixColors.tomatoDarkA.tomatoA12,
+
+ ruby1: RadixColors.rubyDarkA.rubyA1,
+ ruby2: RadixColors.rubyDarkA.rubyA2,
+ ruby3: RadixColors.rubyDarkA.rubyA3,
+ ruby4: RadixColors.rubyDarkA.rubyA4,
+ ruby5: RadixColors.rubyDarkA.rubyA5,
+ ruby6: RadixColors.rubyDarkA.rubyA6,
+ ruby7: RadixColors.rubyDarkA.rubyA7,
+ ruby8: RadixColors.rubyDarkA.rubyA8,
+ ruby9: RadixColors.rubyDarkA.rubyA9,
+ ruby10: RadixColors.rubyDarkA.rubyA10,
+ ruby11: RadixColors.rubyDarkA.rubyA11,
+ ruby12: RadixColors.rubyDarkA.rubyA12,
+
+ crimson1: RadixColors.crimsonDarkA.crimsonA1,
+ crimson2: RadixColors.crimsonDarkA.crimsonA2,
+ crimson3: RadixColors.crimsonDarkA.crimsonA3,
+ crimson4: RadixColors.crimsonDarkA.crimsonA4,
+ crimson5: RadixColors.crimsonDarkA.crimsonA5,
+ crimson6: RadixColors.crimsonDarkA.crimsonA6,
+ crimson7: RadixColors.crimsonDarkA.crimsonA7,
+ crimson8: RadixColors.crimsonDarkA.crimsonA8,
+ crimson9: RadixColors.crimsonDarkA.crimsonA9,
+ crimson10: RadixColors.crimsonDarkA.crimsonA10,
+ crimson11: RadixColors.crimsonDarkA.crimsonA11,
+ crimson12: RadixColors.crimsonDarkA.crimsonA12,
+
+ plum1: RadixColors.plumDarkA.plumA1,
+ plum2: RadixColors.plumDarkA.plumA2,
+ plum3: RadixColors.plumDarkA.plumA3,
+ plum4: RadixColors.plumDarkA.plumA4,
+ plum5: RadixColors.plumDarkA.plumA5,
+ plum6: RadixColors.plumDarkA.plumA6,
+ plum7: RadixColors.plumDarkA.plumA7,
+ plum8: RadixColors.plumDarkA.plumA8,
+ plum9: RadixColors.plumDarkA.plumA9,
+ plum10: RadixColors.plumDarkA.plumA10,
+ plum11: RadixColors.plumDarkA.plumA11,
+ plum12: RadixColors.plumDarkA.plumA12,
+
+ violet1: RadixColors.violetDarkA.violetA1,
+ violet2: RadixColors.violetDarkA.violetA2,
+ violet3: RadixColors.violetDarkA.violetA3,
+ violet4: RadixColors.violetDarkA.violetA4,
+ violet5: RadixColors.violetDarkA.violetA5,
+ violet6: RadixColors.violetDarkA.violetA6,
+ violet7: RadixColors.violetDarkA.violetA7,
+ violet8: RadixColors.violetDarkA.violetA8,
+ violet9: RadixColors.violetDarkA.violetA9,
+ violet10: RadixColors.violetDarkA.violetA10,
+ violet11: RadixColors.violetDarkA.violetA11,
+ violet12: RadixColors.violetDarkA.violetA12,
+
+ iris1: RadixColors.irisDarkA.irisA1,
+ iris2: RadixColors.irisDarkA.irisA2,
+ iris3: RadixColors.irisDarkA.irisA3,
+ iris4: RadixColors.irisDarkA.irisA4,
+ iris5: RadixColors.irisDarkA.irisA5,
+ iris6: RadixColors.irisDarkA.irisA6,
+ iris7: RadixColors.irisDarkA.irisA7,
+ iris8: RadixColors.irisDarkA.irisA8,
+ iris9: RadixColors.irisDarkA.irisA9,
+ iris10: RadixColors.irisDarkA.irisA10,
+ iris11: RadixColors.irisDarkA.irisA11,
+ iris12: RadixColors.irisDarkA.irisA12,
+
+ cyan1: RadixColors.cyanDarkA.cyanA1,
+ cyan2: RadixColors.cyanDarkA.cyanA2,
+ cyan3: RadixColors.cyanDarkA.cyanA3,
+ cyan4: RadixColors.cyanDarkA.cyanA4,
+ cyan5: RadixColors.cyanDarkA.cyanA5,
+ cyan6: RadixColors.cyanDarkA.cyanA6,
+ cyan7: RadixColors.cyanDarkA.cyanA7,
+ cyan8: RadixColors.cyanDarkA.cyanA8,
+ cyan9: RadixColors.cyanDarkA.cyanA9,
+ cyan10: RadixColors.cyanDarkA.cyanA10,
+ cyan11: RadixColors.cyanDarkA.cyanA11,
+ cyan12: RadixColors.cyanDarkA.cyanA12,
+
+ jade1: RadixColors.jadeDarkA.jadeA1,
+ jade2: RadixColors.jadeDarkA.jadeA2,
+ jade3: RadixColors.jadeDarkA.jadeA3,
+ jade4: RadixColors.jadeDarkA.jadeA4,
+ jade5: RadixColors.jadeDarkA.jadeA5,
+ jade6: RadixColors.jadeDarkA.jadeA6,
+ jade7: RadixColors.jadeDarkA.jadeA7,
+ jade8: RadixColors.jadeDarkA.jadeA8,
+ jade9: RadixColors.jadeDarkA.jadeA9,
+ jade10: RadixColors.jadeDarkA.jadeA10,
+ jade11: RadixColors.jadeDarkA.jadeA11,
+ jade12: RadixColors.jadeDarkA.jadeA12,
+
+ grass1: RadixColors.grassDarkA.grassA1,
+ grass2: RadixColors.grassDarkA.grassA2,
+ grass3: RadixColors.grassDarkA.grassA3,
+ grass4: RadixColors.grassDarkA.grassA4,
+ grass5: RadixColors.grassDarkA.grassA5,
+ grass6: RadixColors.grassDarkA.grassA6,
+ grass7: RadixColors.grassDarkA.grassA7,
+ grass8: RadixColors.grassDarkA.grassA8,
+ grass9: RadixColors.grassDarkA.grassA9,
+ grass10: RadixColors.grassDarkA.grassA10,
+ grass11: RadixColors.grassDarkA.grassA11,
+ grass12: RadixColors.grassDarkA.grassA12,
+
+ mint1: RadixColors.mintDarkA.mintA1,
+ mint2: RadixColors.mintDarkA.mintA2,
+ mint3: RadixColors.mintDarkA.mintA3,
+ mint4: RadixColors.mintDarkA.mintA4,
+ mint5: RadixColors.mintDarkA.mintA5,
+ mint6: RadixColors.mintDarkA.mintA6,
+ mint7: RadixColors.mintDarkA.mintA7,
+ mint8: RadixColors.mintDarkA.mintA8,
+ mint9: RadixColors.mintDarkA.mintA9,
+ mint10: RadixColors.mintDarkA.mintA10,
+ mint11: RadixColors.mintDarkA.mintA11,
+ mint12: RadixColors.mintDarkA.mintA12,
+
+ lime1: RadixColors.limeDarkA.limeA1,
+ lime2: RadixColors.limeDarkA.limeA2,
+ lime3: RadixColors.limeDarkA.limeA3,
+ lime4: RadixColors.limeDarkA.limeA4,
+ lime5: RadixColors.limeDarkA.limeA5,
+ lime6: RadixColors.limeDarkA.limeA6,
+ lime7: RadixColors.limeDarkA.limeA7,
+ lime8: RadixColors.limeDarkA.limeA8,
+ lime9: RadixColors.limeDarkA.limeA9,
+ lime10: RadixColors.limeDarkA.limeA10,
+ lime11: RadixColors.limeDarkA.limeA11,
+ lime12: RadixColors.limeDarkA.limeA12,
+
+ bronze1: RadixColors.bronzeDarkA.bronzeA1,
+ bronze2: RadixColors.bronzeDarkA.bronzeA2,
+ bronze3: RadixColors.bronzeDarkA.bronzeA3,
+ bronze4: RadixColors.bronzeDarkA.bronzeA4,
+ bronze5: RadixColors.bronzeDarkA.bronzeA5,
+ bronze6: RadixColors.bronzeDarkA.bronzeA6,
+ bronze7: RadixColors.bronzeDarkA.bronzeA7,
+ bronze8: RadixColors.bronzeDarkA.bronzeA8,
+ bronze9: RadixColors.bronzeDarkA.bronzeA9,
+ bronze10: RadixColors.bronzeDarkA.bronzeA10,
+ bronze11: RadixColors.bronzeDarkA.bronzeA11,
+ bronze12: RadixColors.bronzeDarkA.bronzeA12,
+
+ gold1: RadixColors.goldDarkA.goldA1,
+ gold2: RadixColors.goldDarkA.goldA2,
+ gold3: RadixColors.goldDarkA.goldA3,
+ gold4: RadixColors.goldDarkA.goldA4,
+ gold5: RadixColors.goldDarkA.goldA5,
+ gold6: RadixColors.goldDarkA.goldA6,
+ gold7: RadixColors.goldDarkA.goldA7,
+ gold8: RadixColors.goldDarkA.goldA8,
+ gold9: RadixColors.goldDarkA.goldA9,
+ gold10: RadixColors.goldDarkA.goldA10,
+ gold11: RadixColors.goldDarkA.goldA11,
+ gold12: RadixColors.goldDarkA.goldA12,
+
+ brown1: RadixColors.brownDarkA.brownA1,
+ brown2: RadixColors.brownDarkA.brownA2,
+ brown3: RadixColors.brownDarkA.brownA3,
+ brown4: RadixColors.brownDarkA.brownA4,
+ brown5: RadixColors.brownDarkA.brownA5,
+ brown6: RadixColors.brownDarkA.brownA6,
+ brown7: RadixColors.brownDarkA.brownA7,
+ brown8: RadixColors.brownDarkA.brownA8,
+ brown9: RadixColors.brownDarkA.brownA9,
+ brown10: RadixColors.brownDarkA.brownA10,
+ brown11: RadixColors.brownDarkA.brownA11,
+ brown12: RadixColors.brownDarkA.brownA12,
+
+ amber1: RadixColors.amberDarkA.amberA1,
+ amber2: RadixColors.amberDarkA.amberA2,
+ amber3: RadixColors.amberDarkA.amberA3,
+ amber4: RadixColors.amberDarkA.amberA4,
+ amber5: RadixColors.amberDarkA.amberA5,
+ amber6: RadixColors.amberDarkA.amberA6,
+ amber7: RadixColors.amberDarkA.amberA7,
+ amber8: RadixColors.amberDarkA.amberA8,
+ amber9: RadixColors.amberDarkA.amberA9,
+ amber10: RadixColors.amberDarkA.amberA10,
+ amber11: RadixColors.amberDarkA.amberA11,
+ amber12: RadixColors.amberDarkA.amberA12,
+};
diff --git a/packages/twenty-new-ui/src/theme/constants/TransparentColorsLight.ts b/packages/twenty-new-ui/src/theme/constants/TransparentColorsLight.ts
new file mode 100644
index 00000000000..93de4854534
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/constants/TransparentColorsLight.ts
@@ -0,0 +1,394 @@
+import * as RadixColors from '@radix-ui/colors';
+import { GRAY_SCALE_LIGHT_ALPHA } from '@new-ui/theme/constants/GrayScaleLightAlpha';
+
+export const TRANSPARENT_COLORS_LIGHT = {
+ green1: RadixColors.greenA.greenA1,
+ green2: RadixColors.greenA.greenA2,
+ green3: RadixColors.greenA.greenA3,
+ green4: RadixColors.greenA.greenA4,
+ green5: RadixColors.greenA.greenA5,
+ green6: RadixColors.greenA.greenA6,
+ green7: RadixColors.greenA.greenA7,
+ green8: RadixColors.greenA.greenA8,
+ green9: RadixColors.greenA.greenA9,
+ green10: RadixColors.greenA.greenA10,
+ green11: RadixColors.greenA.greenA11,
+ green12: RadixColors.greenA.greenA12,
+
+ turquoise1: RadixColors.tealA.tealA1,
+ turquoise2: RadixColors.tealA.tealA2,
+ turquoise3: RadixColors.tealA.tealA3,
+ turquoise4: RadixColors.tealA.tealA4,
+ turquoise5: RadixColors.tealA.tealA5,
+ turquoise6: RadixColors.tealA.tealA6,
+ turquoise7: RadixColors.tealA.tealA7,
+ turquoise8: RadixColors.tealA.tealA8,
+ turquoise9: RadixColors.tealA.tealA9,
+ turquoise10: RadixColors.tealA.tealA10,
+ turquoise11: RadixColors.tealA.tealA11,
+ turquoise12: RadixColors.tealA.tealA12,
+
+ sky1: RadixColors.skyA.skyA1,
+ sky2: RadixColors.skyA.skyA2,
+ sky3: RadixColors.skyA.skyA3,
+ sky4: RadixColors.skyA.skyA4,
+ sky5: RadixColors.skyA.skyA5,
+ sky6: RadixColors.skyA.skyA6,
+ sky7: RadixColors.skyA.skyA7,
+ sky8: RadixColors.skyA.skyA8,
+ sky9: RadixColors.skyA.skyA9,
+ sky10: RadixColors.skyA.skyA10,
+ sky11: RadixColors.skyA.skyA11,
+ sky12: RadixColors.skyA.skyA12,
+
+ blue1: RadixColors.indigoA.indigoA1,
+ blue2: RadixColors.indigoA.indigoA2,
+ blue3: RadixColors.indigoA.indigoA3,
+ blue4: RadixColors.indigoA.indigoA4,
+ blue5: RadixColors.indigoA.indigoA5,
+ blue6: RadixColors.indigoA.indigoA6,
+ blue7: RadixColors.indigoA.indigoA7,
+ blue8: RadixColors.indigoA.indigoA8,
+ blue9: RadixColors.indigoA.indigoA9,
+ blue10: RadixColors.indigoA.indigoA10,
+ blue11: RadixColors.indigoA.indigoA11,
+ blue12: RadixColors.indigoA.indigoA12,
+
+ purple1: RadixColors.purpleA.purpleA1,
+ purple2: RadixColors.purpleA.purpleA2,
+ purple3: RadixColors.purpleA.purpleA3,
+ purple4: RadixColors.purpleA.purpleA4,
+ purple5: RadixColors.purpleA.purpleA5,
+ purple6: RadixColors.purpleA.purpleA6,
+ purple7: RadixColors.purpleA.purpleA7,
+ purple8: RadixColors.purpleA.purpleA8,
+ purple9: RadixColors.purpleA.purpleA9,
+ purple10: RadixColors.purpleA.purpleA10,
+ purple11: RadixColors.purpleA.purpleA11,
+ purple12: RadixColors.purpleA.purpleA12,
+
+ pink1: RadixColors.pinkA.pinkA1,
+ pink2: RadixColors.pinkA.pinkA2,
+ pink3: RadixColors.pinkA.pinkA3,
+ pink4: RadixColors.pinkA.pinkA4,
+ pink5: RadixColors.pinkA.pinkA5,
+ pink6: RadixColors.pinkA.pinkA6,
+ pink7: RadixColors.pinkA.pinkA7,
+ pink8: RadixColors.pinkA.pinkA8,
+ pink9: RadixColors.pinkA.pinkA9,
+ pink10: RadixColors.pinkA.pinkA10,
+ pink11: RadixColors.pinkA.pinkA11,
+ pink12: RadixColors.pinkA.pinkA12,
+
+ red1: RadixColors.redA.redA1,
+ red2: RadixColors.redA.redA2,
+ red3: RadixColors.redA.redA3,
+ red4: RadixColors.redA.redA4,
+ red5: RadixColors.redA.redA5,
+ red6: RadixColors.redA.redA6,
+ red7: RadixColors.redA.redA7,
+ red8: RadixColors.redA.redA8,
+ red9: RadixColors.redA.redA9,
+ red10: RadixColors.redA.redA10,
+ red11: RadixColors.redA.redA11,
+ red12: RadixColors.redA.redA12,
+
+ orange1: RadixColors.orangeA.orangeA1,
+ orange2: RadixColors.orangeA.orangeA2,
+ orange3: RadixColors.orangeA.orangeA3,
+ orange4: RadixColors.orangeA.orangeA4,
+ orange5: RadixColors.orangeA.orangeA5,
+ orange6: RadixColors.orangeA.orangeA6,
+ orange7: RadixColors.orangeA.orangeA7,
+ orange8: RadixColors.orangeA.orangeA8,
+ orange9: RadixColors.orangeA.orangeA9,
+ orange10: RadixColors.orangeA.orangeA10,
+ orange11: RadixColors.orangeA.orangeA11,
+ orange12: RadixColors.orangeA.orangeA12,
+
+ yellow1: RadixColors.yellowA.yellowA1,
+ yellow2: RadixColors.yellowA.yellowA2,
+ yellow3: RadixColors.yellowA.yellowA3,
+ yellow4: RadixColors.yellowA.yellowA4,
+ yellow5: RadixColors.yellowA.yellowA5,
+ yellow6: RadixColors.yellowA.yellowA6,
+ yellow7: RadixColors.yellowA.yellowA7,
+ yellow8: RadixColors.yellowA.yellowA8,
+ yellow9: RadixColors.yellowA.yellowA9,
+ yellow10: RadixColors.yellowA.yellowA10,
+ yellow11: RadixColors.yellowA.yellowA11,
+ yellow12: RadixColors.yellowA.yellowA12,
+
+ gray1: GRAY_SCALE_LIGHT_ALPHA.gray1,
+ gray2: GRAY_SCALE_LIGHT_ALPHA.gray2,
+ gray3: GRAY_SCALE_LIGHT_ALPHA.gray3,
+ gray4: GRAY_SCALE_LIGHT_ALPHA.gray4,
+ gray5: GRAY_SCALE_LIGHT_ALPHA.gray5,
+ gray6: GRAY_SCALE_LIGHT_ALPHA.gray6,
+ gray7: GRAY_SCALE_LIGHT_ALPHA.gray7,
+ gray8: GRAY_SCALE_LIGHT_ALPHA.gray8,
+ gray9: GRAY_SCALE_LIGHT_ALPHA.gray9,
+ gray10: GRAY_SCALE_LIGHT_ALPHA.gray10,
+ gray11: GRAY_SCALE_LIGHT_ALPHA.gray11,
+ gray12: GRAY_SCALE_LIGHT_ALPHA.gray12,
+
+ mauve1: RadixColors.mauveA.mauveA1,
+ mauve2: RadixColors.mauveA.mauveA2,
+ mauve3: RadixColors.mauveA.mauveA3,
+ mauve4: RadixColors.mauveA.mauveA4,
+ mauve5: RadixColors.mauveA.mauveA5,
+ mauve6: RadixColors.mauveA.mauveA6,
+ mauve7: RadixColors.mauveA.mauveA7,
+ mauve8: RadixColors.mauveA.mauveA8,
+ mauve9: RadixColors.mauveA.mauveA9,
+ mauve10: RadixColors.mauveA.mauveA10,
+ mauve11: RadixColors.mauveA.mauveA11,
+ mauve12: RadixColors.mauveA.mauveA12,
+
+ slate1: RadixColors.slateA.slateA1,
+ slate2: RadixColors.slateA.slateA2,
+ slate3: RadixColors.slateA.slateA3,
+ slate4: RadixColors.slateA.slateA4,
+ slate5: RadixColors.slateA.slateA5,
+ slate6: RadixColors.slateA.slateA6,
+ slate7: RadixColors.slateA.slateA7,
+ slate8: RadixColors.slateA.slateA8,
+ slate9: RadixColors.slateA.slateA9,
+ slate10: RadixColors.slateA.slateA10,
+ slate11: RadixColors.slateA.slateA11,
+ slate12: RadixColors.slateA.slateA12,
+
+ sage1: RadixColors.sageA.sageA1,
+ sage2: RadixColors.sageA.sageA2,
+ sage3: RadixColors.sageA.sageA3,
+ sage4: RadixColors.sageA.sageA4,
+ sage5: RadixColors.sageA.sageA5,
+ sage6: RadixColors.sageA.sageA6,
+ sage7: RadixColors.sageA.sageA7,
+ sage8: RadixColors.sageA.sageA8,
+ sage9: RadixColors.sageA.sageA9,
+ sage10: RadixColors.sageA.sageA10,
+ sage11: RadixColors.sageA.sageA11,
+ sage12: RadixColors.sageA.sageA12,
+
+ olive1: RadixColors.oliveA.oliveA1,
+ olive2: RadixColors.oliveA.oliveA2,
+ olive3: RadixColors.oliveA.oliveA3,
+ olive4: RadixColors.oliveA.oliveA4,
+ olive5: RadixColors.oliveA.oliveA5,
+ olive6: RadixColors.oliveA.oliveA6,
+ olive7: RadixColors.oliveA.oliveA7,
+ olive8: RadixColors.oliveA.oliveA8,
+ olive9: RadixColors.oliveA.oliveA9,
+ olive10: RadixColors.oliveA.oliveA10,
+ olive11: RadixColors.oliveA.oliveA11,
+ olive12: RadixColors.oliveA.oliveA12,
+
+ sand1: RadixColors.sandA.sandA1,
+ sand2: RadixColors.sandA.sandA2,
+ sand3: RadixColors.sandA.sandA3,
+ sand4: RadixColors.sandA.sandA4,
+ sand5: RadixColors.sandA.sandA5,
+ sand6: RadixColors.sandA.sandA6,
+ sand7: RadixColors.sandA.sandA7,
+ sand8: RadixColors.sandA.sandA8,
+ sand9: RadixColors.sandA.sandA9,
+ sand10: RadixColors.sandA.sandA10,
+ sand11: RadixColors.sandA.sandA11,
+ sand12: RadixColors.sandA.sandA12,
+
+ tomato1: RadixColors.tomatoA.tomatoA1,
+ tomato2: RadixColors.tomatoA.tomatoA2,
+ tomato3: RadixColors.tomatoA.tomatoA3,
+ tomato4: RadixColors.tomatoA.tomatoA4,
+ tomato5: RadixColors.tomatoA.tomatoA5,
+ tomato6: RadixColors.tomatoA.tomatoA6,
+ tomato7: RadixColors.tomatoA.tomatoA7,
+ tomato8: RadixColors.tomatoA.tomatoA8,
+ tomato9: RadixColors.tomatoA.tomatoA9,
+ tomato10: RadixColors.tomatoA.tomatoA10,
+ tomato11: RadixColors.tomatoA.tomatoA11,
+ tomato12: RadixColors.tomatoA.tomatoA12,
+
+ ruby1: RadixColors.rubyA.rubyA1,
+ ruby2: RadixColors.rubyA.rubyA2,
+ ruby3: RadixColors.rubyA.rubyA3,
+ ruby4: RadixColors.rubyA.rubyA4,
+ ruby5: RadixColors.rubyA.rubyA5,
+ ruby6: RadixColors.rubyA.rubyA6,
+ ruby7: RadixColors.rubyA.rubyA7,
+ ruby8: RadixColors.rubyA.rubyA8,
+ ruby9: RadixColors.rubyA.rubyA9,
+ ruby10: RadixColors.rubyA.rubyA10,
+ ruby11: RadixColors.rubyA.rubyA11,
+ ruby12: RadixColors.rubyA.rubyA12,
+
+ crimson1: RadixColors.crimsonA.crimsonA1,
+ crimson2: RadixColors.crimsonA.crimsonA2,
+ crimson3: RadixColors.crimsonA.crimsonA3,
+ crimson4: RadixColors.crimsonA.crimsonA4,
+ crimson5: RadixColors.crimsonA.crimsonA5,
+ crimson6: RadixColors.crimsonA.crimsonA6,
+ crimson7: RadixColors.crimsonA.crimsonA7,
+ crimson8: RadixColors.crimsonA.crimsonA8,
+ crimson9: RadixColors.crimsonA.crimsonA9,
+ crimson10: RadixColors.crimsonA.crimsonA10,
+ crimson11: RadixColors.crimsonA.crimsonA11,
+ crimson12: RadixColors.crimsonA.crimsonA12,
+
+ plum1: RadixColors.plumA.plumA1,
+ plum2: RadixColors.plumA.plumA2,
+ plum3: RadixColors.plumA.plumA3,
+ plum4: RadixColors.plumA.plumA4,
+ plum5: RadixColors.plumA.plumA5,
+ plum6: RadixColors.plumA.plumA6,
+ plum7: RadixColors.plumA.plumA7,
+ plum8: RadixColors.plumA.plumA8,
+ plum9: RadixColors.plumA.plumA9,
+ plum10: RadixColors.plumA.plumA10,
+ plum11: RadixColors.plumA.plumA11,
+ plum12: RadixColors.plumA.plumA12,
+
+ violet1: RadixColors.violetA.violetA1,
+ violet2: RadixColors.violetA.violetA2,
+ violet3: RadixColors.violetA.violetA3,
+ violet4: RadixColors.violetA.violetA4,
+ violet5: RadixColors.violetA.violetA5,
+ violet6: RadixColors.violetA.violetA6,
+ violet7: RadixColors.violetA.violetA7,
+ violet8: RadixColors.violetA.violetA8,
+ violet9: RadixColors.violetA.violetA9,
+ violet10: RadixColors.violetA.violetA10,
+ violet11: RadixColors.violetA.violetA11,
+ violet12: RadixColors.violetA.violetA12,
+
+ iris1: RadixColors.irisA.irisA1,
+ iris2: RadixColors.irisA.irisA2,
+ iris3: RadixColors.irisA.irisA3,
+ iris4: RadixColors.irisA.irisA4,
+ iris5: RadixColors.irisA.irisA5,
+ iris6: RadixColors.irisA.irisA6,
+ iris7: RadixColors.irisA.irisA7,
+ iris8: RadixColors.irisA.irisA8,
+ iris9: RadixColors.irisA.irisA9,
+ iris10: RadixColors.irisA.irisA10,
+ iris11: RadixColors.irisA.irisA11,
+ iris12: RadixColors.irisA.irisA12,
+
+ cyan1: RadixColors.cyanA.cyanA1,
+ cyan2: RadixColors.cyanA.cyanA2,
+ cyan3: RadixColors.cyanA.cyanA3,
+ cyan4: RadixColors.cyanA.cyanA4,
+ cyan5: RadixColors.cyanA.cyanA5,
+ cyan6: RadixColors.cyanA.cyanA6,
+ cyan7: RadixColors.cyanA.cyanA7,
+ cyan8: RadixColors.cyanA.cyanA8,
+ cyan9: RadixColors.cyanA.cyanA9,
+ cyan10: RadixColors.cyanA.cyanA10,
+ cyan11: RadixColors.cyanA.cyanA11,
+ cyan12: RadixColors.cyanA.cyanA12,
+
+ jade1: RadixColors.jadeA.jadeA1,
+ jade2: RadixColors.jadeA.jadeA2,
+ jade3: RadixColors.jadeA.jadeA3,
+ jade4: RadixColors.jadeA.jadeA4,
+ jade5: RadixColors.jadeA.jadeA5,
+ jade6: RadixColors.jadeA.jadeA6,
+ jade7: RadixColors.jadeA.jadeA7,
+ jade8: RadixColors.jadeA.jadeA8,
+ jade9: RadixColors.jadeA.jadeA9,
+ jade10: RadixColors.jadeA.jadeA10,
+ jade11: RadixColors.jadeA.jadeA11,
+ jade12: RadixColors.jadeA.jadeA12,
+
+ grass1: RadixColors.grassA.grassA1,
+ grass2: RadixColors.grassA.grassA2,
+ grass3: RadixColors.grassA.grassA3,
+ grass4: RadixColors.grassA.grassA4,
+ grass5: RadixColors.grassA.grassA5,
+ grass6: RadixColors.grassA.grassA6,
+ grass7: RadixColors.grassA.grassA7,
+ grass8: RadixColors.grassA.grassA8,
+ grass9: RadixColors.grassA.grassA9,
+ grass10: RadixColors.grassA.grassA10,
+ grass11: RadixColors.grassA.grassA11,
+ grass12: RadixColors.grassA.grassA12,
+
+ mint1: RadixColors.mintA.mintA1,
+ mint2: RadixColors.mintA.mintA2,
+ mint3: RadixColors.mintA.mintA3,
+ mint4: RadixColors.mintA.mintA4,
+ mint5: RadixColors.mintA.mintA5,
+ mint6: RadixColors.mintA.mintA6,
+ mint7: RadixColors.mintA.mintA7,
+ mint8: RadixColors.mintA.mintA8,
+ mint9: RadixColors.mintA.mintA9,
+ mint10: RadixColors.mintA.mintA10,
+ mint11: RadixColors.mintA.mintA11,
+ mint12: RadixColors.mintA.mintA12,
+
+ lime1: RadixColors.limeA.limeA1,
+ lime2: RadixColors.limeA.limeA2,
+ lime3: RadixColors.limeA.limeA3,
+ lime4: RadixColors.limeA.limeA4,
+ lime5: RadixColors.limeA.limeA5,
+ lime6: RadixColors.limeA.limeA6,
+ lime7: RadixColors.limeA.limeA7,
+ lime8: RadixColors.limeA.limeA8,
+ lime9: RadixColors.limeA.limeA9,
+ lime10: RadixColors.limeA.limeA10,
+ lime11: RadixColors.limeA.limeA11,
+ lime12: RadixColors.limeA.limeA12,
+
+ bronze1: RadixColors.bronzeA.bronzeA1,
+ bronze2: RadixColors.bronzeA.bronzeA2,
+ bronze3: RadixColors.bronzeA.bronzeA3,
+ bronze4: RadixColors.bronzeA.bronzeA4,
+ bronze5: RadixColors.bronzeA.bronzeA5,
+ bronze6: RadixColors.bronzeA.bronzeA6,
+ bronze7: RadixColors.bronzeA.bronzeA7,
+ bronze8: RadixColors.bronzeA.bronzeA8,
+ bronze9: RadixColors.bronzeA.bronzeA9,
+ bronze10: RadixColors.bronzeA.bronzeA10,
+ bronze11: RadixColors.bronzeA.bronzeA11,
+ bronze12: RadixColors.bronzeA.bronzeA12,
+
+ gold1: RadixColors.goldA.goldA1,
+ gold2: RadixColors.goldA.goldA2,
+ gold3: RadixColors.goldA.goldA3,
+ gold4: RadixColors.goldA.goldA4,
+ gold5: RadixColors.goldA.goldA5,
+ gold6: RadixColors.goldA.goldA6,
+ gold7: RadixColors.goldA.goldA7,
+ gold8: RadixColors.goldA.goldA8,
+ gold9: RadixColors.goldA.goldA9,
+ gold10: RadixColors.goldA.goldA10,
+ gold11: RadixColors.goldA.goldA11,
+ gold12: RadixColors.goldA.goldA12,
+
+ brown1: RadixColors.brownA.brownA1,
+ brown2: RadixColors.brownA.brownA2,
+ brown3: RadixColors.brownA.brownA3,
+ brown4: RadixColors.brownA.brownA4,
+ brown5: RadixColors.brownA.brownA5,
+ brown6: RadixColors.brownA.brownA6,
+ brown7: RadixColors.brownA.brownA7,
+ brown8: RadixColors.brownA.brownA8,
+ brown9: RadixColors.brownA.brownA9,
+ brown10: RadixColors.brownA.brownA10,
+ brown11: RadixColors.brownA.brownA11,
+ brown12: RadixColors.brownA.brownA12,
+
+ amber1: RadixColors.amberA.amberA1,
+ amber2: RadixColors.amberA.amberA2,
+ amber3: RadixColors.amberA.amberA3,
+ amber4: RadixColors.amberA.amberA4,
+ amber5: RadixColors.amberA.amberA5,
+ amber6: RadixColors.amberA.amberA6,
+ amber7: RadixColors.amberA.amberA7,
+ amber8: RadixColors.amberA.amberA8,
+ amber9: RadixColors.amberA.amberA9,
+ amber10: RadixColors.amberA.amberA10,
+ amber11: RadixColors.amberA.amberA11,
+ amber12: RadixColors.amberA.amberA12,
+};
diff --git a/packages/twenty-new-ui/src/theme/index.ts b/packages/twenty-new-ui/src/theme/index.ts
new file mode 100644
index 00000000000..e134b8ccf6e
--- /dev/null
+++ b/packages/twenty-new-ui/src/theme/index.ts
@@ -0,0 +1,55 @@
+/*
+ * _____ _
+ *|_ _|_ _____ _ __ | |_ _ _
+ * | | \ \ /\ / / _ \ '_ \| __| | | | Auto-generated file
+ * | | \ V V / __/ | | | |_| |_| | Any edits to this will be overridden
+ * |_| \_/\_/ \___|_| |_|\__|\__, |
+ * |___/
+ */
+
+export { ACCENT_DARK } from './constants/AccentDark';
+export { ACCENT_LIGHT } from './constants/AccentLight';
+export type { AnimationDuration } from './constants/Animation';
+export { ANIMATION } from './constants/Animation';
+export { BACKGROUND_DARK } from './constants/BackgroundDark';
+export { BACKGROUND_LIGHT } from './constants/BackgroundLight';
+export { BLUR_DARK } from './constants/BlurDark';
+export { BLUR_LIGHT } from './constants/BlurLight';
+export { BORDER_COMMON } from './constants/BorderCommon';
+export { BORDER_DARK } from './constants/BorderDark';
+export { BORDER_LIGHT } from './constants/BorderLight';
+export { BOX_SHADOW_DARK } from './constants/BoxShadowDark';
+export { BOX_SHADOW_LIGHT } from './constants/BoxShadowLight';
+export { CODE_DARK } from './constants/CodeDark';
+export { CODE_LIGHT } from './constants/CodeLight';
+export { COLOR_DARK } from './constants/ColorsDark';
+export { COLOR_LIGHT } from './constants/ColorsLight';
+export { DEFAULT_THEME_COLOR_FALLBACK } from './constants/DefaultThemeColorFallback';
+export { FONT_COMMON } from './constants/FontCommon';
+export { FONT_DARK } from './constants/FontDark';
+export { FONT_LIGHT } from './constants/FontLight';
+export { GRAY_SCALE_DARK } from './constants/GrayScaleDark';
+export { GRAY_SCALE_DARK_ALPHA } from './constants/GrayScaleDarkAlpha';
+export { GRAY_SCALE_LIGHT } from './constants/GrayScaleLight';
+export { GRAY_SCALE_LIGHT_ALPHA } from './constants/GrayScaleLightAlpha';
+export { ICON } from './constants/Icon';
+export { ILLUSTRATION_ICON_DARK } from './constants/IllustrationIconDark';
+export { ILLUSTRATION_ICON_LIGHT } from './constants/IllustrationIconLight';
+export type { ThemeColor } from './constants/MainColorNames';
+export { MAIN_COLOR_NAMES } from './constants/MainColorNames';
+export { MAIN_COLORS_DARK } from './constants/MainColorsDark';
+export { MAIN_COLORS_LIGHT } from './constants/MainColorsLight';
+export { MODAL } from './constants/Modal';
+export { RGBA } from './constants/Rgba';
+export { SECONDARY_COLORS_DARK } from './constants/SecondaryColorsDark';
+export { SECONDARY_COLORS_LIGHT } from './constants/SecondaryColorsLight';
+export { SNACK_BAR_DARK } from './constants/SnackBarDark';
+export { SNACK_BAR_LIGHT } from './constants/SnackBarLight';
+export { TAG_DARK } from './constants/TagDark';
+export { TAG_LIGHT } from './constants/TagLight';
+export { TEXT } from './constants/Text';
+export { THEME_COMMON } from './constants/ThemeCommon';
+export { THEME_DARK } from './constants/ThemeDark';
+export { THEME_LIGHT } from './constants/ThemeLight';
+export { TRANSPARENT_COLORS_DARK } from './constants/TransparentColorsDark';
+export { TRANSPARENT_COLORS_LIGHT } from './constants/TransparentColorsLight';
diff --git a/packages/twenty-new-ui/src/utilities/index.ts b/packages/twenty-new-ui/src/utilities/index.ts
new file mode 100644
index 00000000000..e7f0b0e304e
--- /dev/null
+++ b/packages/twenty-new-ui/src/utilities/index.ts
@@ -0,0 +1,2 @@
+// Auto-generated barrel placeholder — populated as components migrate into this entry point.
+export {};
diff --git a/packages/twenty-new-ui/src/vite-env.d.ts b/packages/twenty-new-ui/src/vite-env.d.ts
new file mode 100644
index 00000000000..b1f45c78666
--- /dev/null
+++ b/packages/twenty-new-ui/src/vite-env.d.ts
@@ -0,0 +1,2 @@
+///
+///
diff --git a/packages/twenty-new-ui/tsconfig.json b/packages/twenty-new-ui/tsconfig.json
new file mode 100644
index 00000000000..7ff5429b60c
--- /dev/null
+++ b/packages/twenty-new-ui/tsconfig.json
@@ -0,0 +1,30 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "compilerOptions": {
+ "target": "ES2020",
+ "jsx": "react-jsx",
+ "allowJs": false,
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
+ "moduleResolution": "bundler",
+ "esModuleInterop": true,
+ "noEmit": true,
+ "types": ["node", "jest"],
+ "outDir": "../../.cache/tsc",
+ "paths": {
+ "@new-ui/*": ["./src/*"],
+ "@assets/*": ["./src/assets/*"],
+ "@styles/*": ["./src/styles/*"]
+ }
+ },
+ "include": [
+ "src/**/*.ts",
+ "src/**/*.tsx",
+ "src/**/*.d.ts",
+ ".storybook/*.ts",
+ ".storybook/*.tsx",
+ "jest.config.mjs",
+ "setupTests.ts",
+ "vite.config.ts"
+ ]
+}
diff --git a/packages/twenty-new-ui/tsconfig.lib.json b/packages/twenty-new-ui/tsconfig.lib.json
new file mode 100644
index 00000000000..ead3d78666a
--- /dev/null
+++ b/packages/twenty-new-ui/tsconfig.lib.json
@@ -0,0 +1,22 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "declaration": true,
+ "declarationMap": true,
+ "noEmit": false
+ },
+ "include": [
+ "src/**/*.d.ts",
+ "src/**/*.scss.d.ts",
+ "src/**/*.ts",
+ "src/**/*.tsx"
+ ],
+ "exclude": [
+ "**/*.spec.ts",
+ "**/*.spec.tsx",
+ "**/*.stories.ts",
+ "**/*.stories.tsx",
+ "**/*.test.ts",
+ "**/*.test.tsx"
+ ]
+}
diff --git a/packages/twenty-new-ui/vite.config.individual.ts b/packages/twenty-new-ui/vite.config.individual.ts
new file mode 100644
index 00000000000..4f86613cb95
--- /dev/null
+++ b/packages/twenty-new-ui/vite.config.individual.ts
@@ -0,0 +1,78 @@
+import react from '@vitejs/plugin-react-swc';
+import * as path from 'path';
+import { defineConfig } from 'vite';
+import svgr from 'vite-plugin-svgr';
+import tsconfigPaths from 'vite-tsconfig-paths';
+
+import packageJson from './package.json';
+
+const depNames = Object.keys(packageJson.dependencies || {});
+
+const isExternal = (id: string): boolean =>
+ depNames.some((dep) => id === dep || id.startsWith(dep + '/'));
+
+export default defineConfig(() => {
+ return {
+ resolve: {
+ alias: {
+ '@new-ui/': path.resolve(__dirname, 'src') + '/',
+ '@assets/': path.resolve(__dirname, 'src/assets') + '/',
+ '@styles/': path.resolve(__dirname, 'src/styles') + '/',
+ },
+ },
+ css: {
+ modules: {
+ localsConvention: 'camelCaseOnly',
+ },
+ preprocessorOptions: {
+ scss: {
+ api: 'modern-compiler',
+ loadPaths: [path.resolve(__dirname, 'src/styles')],
+ additionalData: [
+ `@use 'abstracts/functions' as *;`,
+ `@use 'abstracts/mixins' as *;`,
+ `@use 'abstracts/breakpoints' as *;`,
+ '',
+ ].join('\n'),
+ },
+ },
+ },
+ root: __dirname,
+ cacheDir: '../../node_modules/.vite/packages/twenty-new-ui-individual',
+ assetsInclude: ['src/**/*.svg'],
+ plugins: [
+ react(),
+ tsconfigPaths({
+ root: __dirname,
+ projects: ['tsconfig.json'],
+ }),
+ svgr(),
+ ],
+ build: {
+ cssCodeSplit: false,
+ minify: 'esbuild',
+ sourcemap: true,
+ outDir: './dist/individual',
+ emptyOutDir: true,
+ commonjsOptions: {
+ transformMixedEsModules: true,
+ interopDefault: true,
+ defaultIsModuleExports: true,
+ requireReturnsDefault: 'auto',
+ },
+ lib: {
+ entry: 'src/individual-entry.ts',
+ formats: ['es'],
+ },
+ rollupOptions: {
+ external: isExternal,
+ output: {
+ preserveModules: true,
+ preserveModulesRoot: 'src',
+ entryFileNames: '[name].js',
+ },
+ },
+ },
+ logLevel: 'warn',
+ };
+});
diff --git a/packages/twenty-new-ui/vite.config.ts b/packages/twenty-new-ui/vite.config.ts
new file mode 100644
index 00000000000..5d8fe6eab36
--- /dev/null
+++ b/packages/twenty-new-ui/vite.config.ts
@@ -0,0 +1,170 @@
+import react from '@vitejs/plugin-react-swc';
+import * as fs from 'fs';
+import * as path from 'path';
+import { defineConfig } from 'vite';
+import checker from 'vite-plugin-checker';
+import dts, { type PluginOptions } from 'vite-plugin-dts';
+import sassDts from 'vite-plugin-sass-dts';
+import svgr from 'vite-plugin-svgr';
+import tsconfigPaths from 'vite-tsconfig-paths';
+
+type Checkers = Parameters[0];
+
+import packageJson from './package.json';
+
+const entries = Object.keys(packageJson.exports)
+ .filter((el) => !el.endsWith('.css'))
+ .map((module) => `src/${module}/index.ts`);
+
+const entryFileNames = (chunk: any, extension: 'cjs' | 'mjs') => {
+ if (!chunk.isEntry) {
+ throw new Error(
+ `Should never occurs, encountered a non entry chunk ${chunk.facadeModuleId}`,
+ );
+ }
+
+ const splitFaceModuleId = chunk.facadeModuleId?.split('/');
+ if (splitFaceModuleId === undefined) {
+ throw new Error(
+ `Should never occurs splitFaceModuleId is undefined ${chunk.facadeModuleId}`,
+ );
+ }
+
+ const moduleDirectory = splitFaceModuleId[splitFaceModuleId?.length - 2];
+ if (moduleDirectory === 'src') {
+ return `${chunk.name}.${extension}`;
+ }
+ return `${moduleDirectory}.${extension}`;
+};
+
+export default defineConfig(({ command }) => {
+ const isBuildCommand = command === 'build';
+
+ const tsConfigPath = isBuildCommand
+ ? path.resolve(__dirname, './tsconfig.lib.json')
+ : path.resolve(__dirname, './tsconfig.json');
+
+ const checkersConfig: Checkers = {
+ typescript: {
+ tsconfigPath: tsConfigPath,
+ },
+ };
+
+ const dtsConfig: PluginOptions = {
+ entryRoot: 'src',
+ tsconfigPath: tsConfigPath,
+ };
+
+ const BUNDLED_DEPS = ['@tabler/icons-react'];
+
+ const externalDeps = Object.keys(packageJson.dependencies || {}).filter(
+ (dep) => !BUNDLED_DEPS.includes(dep),
+ );
+
+ return {
+ resolve: {
+ alias: {
+ '@new-ui/': path.resolve(__dirname, 'src') + '/',
+ '@assets/': path.resolve(__dirname, 'src/assets') + '/',
+ '@styles/': path.resolve(__dirname, 'src/styles') + '/',
+ '@tabler/icons-react': '@tabler/icons-react/dist/esm/icons/index.mjs',
+ },
+ },
+ css: {
+ modules: {
+ localsConvention: 'camelCaseOnly',
+ },
+ preprocessorOptions: {
+ scss: {
+ api: 'modern-compiler',
+ loadPaths: [path.resolve(__dirname, 'src/styles')],
+ additionalData: [
+ `@use 'abstracts/functions' as *;`,
+ `@use 'abstracts/mixins' as *;`,
+ `@use 'abstracts/breakpoints' as *;`,
+ '',
+ ].join('\n'),
+ },
+ },
+ },
+ optimizeDeps: {
+ exclude: ['../../node_modules/.vite', '../../node_modules/.cache'],
+ },
+ root: __dirname,
+ cacheDir: '../../node_modules/.vite/packages/twenty-new-ui',
+ assetsInclude: ['src/**/*.svg'],
+ plugins: [
+ react(),
+ tsconfigPaths({
+ root: __dirname,
+ projects: ['tsconfig.json'],
+ }),
+ svgr(),
+ // Generates typed *.module.scss.d.ts siblings (dev mode only — backed by
+ // sass-embedded). CI/build relies on the ambient src/scss-modules.d.ts.
+ sassDts({ esmExport: true, legacyFileFormat: true }),
+ dts(dtsConfig),
+ checker(checkersConfig),
+ {
+ name: 'copy-theme-css',
+ closeBundle() {
+ const distDir = path.resolve(__dirname, 'dist');
+ fs.mkdirSync(distDir, { recursive: true });
+ const themeCssFiles = ['theme-light.css', 'theme-dark.css'];
+ for (const file of themeCssFiles) {
+ fs.copyFileSync(
+ path.resolve(__dirname, `src/theme-constants/${file}`),
+ path.resolve(distDir, file),
+ );
+ }
+ },
+ },
+ ],
+ build: {
+ cssCodeSplit: false,
+ minify: 'esbuild',
+ sourcemap: false,
+ emptyOutDir: false,
+ outDir: './dist',
+ reportCompressedSize: true,
+ commonjsOptions: {
+ transformMixedEsModules: true,
+ interopDefault: true,
+ defaultIsModuleExports: true,
+ requireReturnsDefault: 'auto',
+ },
+ lib: {
+ entry: ['src/index.ts', ...entries],
+ name: 'twenty-new-ui',
+ },
+ rollupOptions: {
+ external: (id: string) =>
+ externalDeps.some((dep) => id === dep || id.startsWith(dep + '/')),
+ output: [
+ {
+ assetFileNames: 'style.css',
+ globals: {
+ react: 'React',
+ 'react-dom': 'ReactDOM',
+ },
+ format: 'es',
+ entryFileNames: (chunk) => entryFileNames(chunk, 'mjs'),
+ },
+ {
+ assetFileNames: 'style.css',
+ format: 'cjs',
+ globals: {
+ react: 'React',
+ 'react-dom': 'ReactDOM',
+ },
+ interop: 'auto',
+ esModule: true,
+ exports: 'named',
+ entryFileNames: (chunk) => entryFileNames(chunk, 'cjs'),
+ },
+ ],
+ },
+ },
+ logLevel: 'error',
+ };
+});
diff --git a/packages/twenty-new-ui/vitest.config.ts b/packages/twenty-new-ui/vitest.config.ts
new file mode 100644
index 00000000000..a13517123cc
--- /dev/null
+++ b/packages/twenty-new-ui/vitest.config.ts
@@ -0,0 +1,51 @@
+import { argosVitestPlugin } from '@argos-ci/storybook/vitest-plugin';
+import { storybookTest } from '@storybook/addon-vitest/vitest-plugin';
+import { playwright } from '@vitest/browser-playwright';
+import path from 'node:path';
+import { fileURLToPath } from 'node:url';
+import { defineConfig } from 'vitest/config';
+
+const MINUTES_IN_MS = 60 * 1000;
+
+const dirname =
+ typeof __dirname !== 'undefined'
+ ? __dirname
+ : path.dirname(fileURLToPath(import.meta.url));
+
+export default defineConfig({
+ test: {
+ projects: [
+ {
+ extends: './vite.config.ts',
+ plugins: [
+ storybookTest({
+ configDir: path.join(dirname, '.storybook'),
+ ...(process.env.STORYBOOK_URL
+ ? { storybookUrl: process.env.STORYBOOK_URL }
+ : { storybookScript: 'yarn storybook --no-open --port 6008' }),
+ }),
+ argosVitestPlugin({
+ uploadToArgos: !!process.env.ARGOS_TOKEN,
+ token: process.env.ARGOS_TOKEN,
+ apiBaseUrl: process.env.ARGOS_API_BASE_URL,
+ buildName: process.env.ARGOS_BUILD_NAME || undefined,
+ branch: process.env.ARGOS_BRANCH || undefined,
+ commit: process.env.ARGOS_COMMIT || undefined,
+ referenceCommit: process.env.ARGOS_REFERENCE_COMMIT || undefined,
+ }),
+ ],
+ test: {
+ name: 'storybook',
+ browser: {
+ enabled: true,
+ headless: true,
+ provider: playwright({}),
+ instances: [{ browser: 'chromium' }],
+ },
+ setupFiles: ['./.storybook/vitest.setup.ts'],
+ testTimeout: 5 * MINUTES_IN_MS,
+ },
+ },
+ ],
+ },
+});
diff --git a/yarn.lock b/yarn.lock
index a25c9213b9d..680d6967fdc 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4261,6 +4261,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/runtime@npm:^7.29.2":
+ version: 7.29.7
+ resolution: "@babel/runtime@npm:7.29.7"
+ checksum: 10c0/ca11572f7146b21e0bde6a9ed4bb6a89eafbee5f0944c7eb54d0d8a2dac962c33638a1d611e14faa71dfbb92b4b5f9236232208568a6b7d5c6f3f39ddb91771e
+ languageName: node
+ linkType: hard
+
"@babel/template@npm:^7.18.10, @babel/template@npm:^7.22.15, @babel/template@npm:^7.25.9, @babel/template@npm:^7.27.2, @babel/template@npm:^7.3.3":
version: 7.27.2
resolution: "@babel/template@npm:7.27.2"
@@ -4379,6 +4386,32 @@ __metadata:
languageName: node
linkType: hard
+"@base-ui/react@npm:^1.5.0":
+ version: 1.5.0
+ resolution: "@base-ui/react@npm:1.5.0"
+ dependencies:
+ "@babel/runtime": "npm:^7.29.2"
+ "@base-ui/utils": "npm:0.2.9"
+ "@floating-ui/react-dom": "npm:^2.1.8"
+ "@floating-ui/utils": "npm:^0.2.11"
+ use-sync-external-store: "npm:^1.6.0"
+ peerDependencies:
+ "@date-fns/tz": ^1.2.0
+ "@types/react": ^17 || ^18 || ^19
+ date-fns: ^4.0.0
+ react: ^17 || ^18 || ^19
+ react-dom: ^17 || ^18 || ^19
+ peerDependenciesMeta:
+ "@date-fns/tz":
+ optional: true
+ "@types/react":
+ optional: true
+ date-fns:
+ optional: true
+ checksum: 10c0/ba0f00149d7500d39e0e790b4b6cf19c002f4281508b6076ed1e367ca9a4946eb345e98d4c0dd0ab8e1613807bdcac9d9ad07f6c6d19c3b243a022bb30cbb61b
+ languageName: node
+ linkType: hard
+
"@base-ui/utils@npm:0.2.6, @base-ui/utils@npm:^0.2.6":
version: 0.2.6
resolution: "@base-ui/utils@npm:0.2.6"
@@ -4398,6 +4431,25 @@ __metadata:
languageName: node
linkType: hard
+"@base-ui/utils@npm:0.2.9":
+ version: 0.2.9
+ resolution: "@base-ui/utils@npm:0.2.9"
+ dependencies:
+ "@babel/runtime": "npm:^7.29.2"
+ "@floating-ui/utils": "npm:^0.2.11"
+ reselect: "npm:^5.1.1"
+ use-sync-external-store: "npm:^1.6.0"
+ peerDependencies:
+ "@types/react": ^17 || ^18 || ^19
+ react: ^17 || ^18 || ^19
+ react-dom: ^17 || ^18 || ^19
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/169a67fb6a4d86d3ce9fb12bc1e8cb02a67ad3d16872c81798cd6a532c9277383c4066c88356a9813499a87b93b4bf255ea035ea3c6f7298c52adeb1e8e846ce
+ languageName: node
+ linkType: hard
+
"@bcoe/v8-coverage@npm:^0.2.3":
version: 0.2.3
resolution: "@bcoe/v8-coverage@npm:0.2.3"
@@ -4580,6 +4632,13 @@ __metadata:
languageName: node
linkType: hard
+"@bufbuild/protobuf@npm:^2.5.0":
+ version: 2.12.0
+ resolution: "@bufbuild/protobuf@npm:2.12.0"
+ checksum: 10c0/28959e371fd2e7c8d67d52af9e3c8f8e6770e2e116dcc5508f469ca736afa6905e216bc76183835898a5f3deb8aa2e7db47d4a0e706fba76115e9a1996893191
+ languageName: node
+ linkType: hard
+
"@bufbuild/protobuf@npm:^2.6.2":
version: 2.10.1
resolution: "@bufbuild/protobuf@npm:2.10.1"
@@ -15696,6 +15755,13 @@ __metadata:
languageName: node
linkType: hard
+"@parcel/watcher-android-arm64@npm:2.5.6":
+ version: 2.5.6
+ resolution: "@parcel/watcher-android-arm64@npm:2.5.6"
+ conditions: os=android & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@parcel/watcher-darwin-arm64@npm:2.4.1":
version: 2.4.1
resolution: "@parcel/watcher-darwin-arm64@npm:2.4.1"
@@ -15703,6 +15769,13 @@ __metadata:
languageName: node
linkType: hard
+"@parcel/watcher-darwin-arm64@npm:2.5.6":
+ version: 2.5.6
+ resolution: "@parcel/watcher-darwin-arm64@npm:2.5.6"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@parcel/watcher-darwin-x64@npm:2.4.1":
version: 2.4.1
resolution: "@parcel/watcher-darwin-x64@npm:2.4.1"
@@ -15710,6 +15783,13 @@ __metadata:
languageName: node
linkType: hard
+"@parcel/watcher-darwin-x64@npm:2.5.6":
+ version: 2.5.6
+ resolution: "@parcel/watcher-darwin-x64@npm:2.5.6"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
"@parcel/watcher-freebsd-x64@npm:2.4.1":
version: 2.4.1
resolution: "@parcel/watcher-freebsd-x64@npm:2.4.1"
@@ -15717,6 +15797,13 @@ __metadata:
languageName: node
linkType: hard
+"@parcel/watcher-freebsd-x64@npm:2.5.6":
+ version: 2.5.6
+ resolution: "@parcel/watcher-freebsd-x64@npm:2.5.6"
+ conditions: os=freebsd & cpu=x64
+ languageName: node
+ linkType: hard
+
"@parcel/watcher-linux-arm-glibc@npm:2.4.1":
version: 2.4.1
resolution: "@parcel/watcher-linux-arm-glibc@npm:2.4.1"
@@ -15724,6 +15811,20 @@ __metadata:
languageName: node
linkType: hard
+"@parcel/watcher-linux-arm-glibc@npm:2.5.6":
+ version: 2.5.6
+ resolution: "@parcel/watcher-linux-arm-glibc@npm:2.5.6"
+ conditions: os=linux & cpu=arm & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@parcel/watcher-linux-arm-musl@npm:2.5.6":
+ version: 2.5.6
+ resolution: "@parcel/watcher-linux-arm-musl@npm:2.5.6"
+ conditions: os=linux & cpu=arm & libc=musl
+ languageName: node
+ linkType: hard
+
"@parcel/watcher-linux-arm64-glibc@npm:2.4.1":
version: 2.4.1
resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.4.1"
@@ -15731,6 +15832,13 @@ __metadata:
languageName: node
linkType: hard
+"@parcel/watcher-linux-arm64-glibc@npm:2.5.6":
+ version: 2.5.6
+ resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.5.6"
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
"@parcel/watcher-linux-arm64-musl@npm:2.4.1":
version: 2.4.1
resolution: "@parcel/watcher-linux-arm64-musl@npm:2.4.1"
@@ -15738,6 +15846,13 @@ __metadata:
languageName: node
linkType: hard
+"@parcel/watcher-linux-arm64-musl@npm:2.5.6":
+ version: 2.5.6
+ resolution: "@parcel/watcher-linux-arm64-musl@npm:2.5.6"
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
"@parcel/watcher-linux-x64-glibc@npm:2.4.1":
version: 2.4.1
resolution: "@parcel/watcher-linux-x64-glibc@npm:2.4.1"
@@ -15745,6 +15860,13 @@ __metadata:
languageName: node
linkType: hard
+"@parcel/watcher-linux-x64-glibc@npm:2.5.6":
+ version: 2.5.6
+ resolution: "@parcel/watcher-linux-x64-glibc@npm:2.5.6"
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
"@parcel/watcher-linux-x64-musl@npm:2.4.1":
version: 2.4.1
resolution: "@parcel/watcher-linux-x64-musl@npm:2.4.1"
@@ -15752,6 +15874,13 @@ __metadata:
languageName: node
linkType: hard
+"@parcel/watcher-linux-x64-musl@npm:2.5.6":
+ version: 2.5.6
+ resolution: "@parcel/watcher-linux-x64-musl@npm:2.5.6"
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
"@parcel/watcher-win32-arm64@npm:2.4.1":
version: 2.4.1
resolution: "@parcel/watcher-win32-arm64@npm:2.4.1"
@@ -15759,6 +15888,13 @@ __metadata:
languageName: node
linkType: hard
+"@parcel/watcher-win32-arm64@npm:2.5.6":
+ version: 2.5.6
+ resolution: "@parcel/watcher-win32-arm64@npm:2.5.6"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@parcel/watcher-win32-ia32@npm:2.4.1":
version: 2.4.1
resolution: "@parcel/watcher-win32-ia32@npm:2.4.1"
@@ -15766,6 +15902,13 @@ __metadata:
languageName: node
linkType: hard
+"@parcel/watcher-win32-ia32@npm:2.5.6":
+ version: 2.5.6
+ resolution: "@parcel/watcher-win32-ia32@npm:2.5.6"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
"@parcel/watcher-win32-x64@npm:2.4.1":
version: 2.4.1
resolution: "@parcel/watcher-win32-x64@npm:2.4.1"
@@ -15773,6 +15916,13 @@ __metadata:
languageName: node
linkType: hard
+"@parcel/watcher-win32-x64@npm:2.5.6":
+ version: 2.5.6
+ resolution: "@parcel/watcher-win32-x64@npm:2.5.6"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
"@parcel/watcher@npm:^2.1.0":
version: 2.4.1
resolution: "@parcel/watcher@npm:2.4.1"
@@ -15823,6 +15973,59 @@ __metadata:
languageName: node
linkType: hard
+"@parcel/watcher@npm:^2.4.1":
+ version: 2.5.6
+ resolution: "@parcel/watcher@npm:2.5.6"
+ dependencies:
+ "@parcel/watcher-android-arm64": "npm:2.5.6"
+ "@parcel/watcher-darwin-arm64": "npm:2.5.6"
+ "@parcel/watcher-darwin-x64": "npm:2.5.6"
+ "@parcel/watcher-freebsd-x64": "npm:2.5.6"
+ "@parcel/watcher-linux-arm-glibc": "npm:2.5.6"
+ "@parcel/watcher-linux-arm-musl": "npm:2.5.6"
+ "@parcel/watcher-linux-arm64-glibc": "npm:2.5.6"
+ "@parcel/watcher-linux-arm64-musl": "npm:2.5.6"
+ "@parcel/watcher-linux-x64-glibc": "npm:2.5.6"
+ "@parcel/watcher-linux-x64-musl": "npm:2.5.6"
+ "@parcel/watcher-win32-arm64": "npm:2.5.6"
+ "@parcel/watcher-win32-ia32": "npm:2.5.6"
+ "@parcel/watcher-win32-x64": "npm:2.5.6"
+ detect-libc: "npm:^2.0.3"
+ is-glob: "npm:^4.0.3"
+ node-addon-api: "npm:^7.0.0"
+ node-gyp: "npm:latest"
+ picomatch: "npm:^4.0.3"
+ dependenciesMeta:
+ "@parcel/watcher-android-arm64":
+ optional: true
+ "@parcel/watcher-darwin-arm64":
+ optional: true
+ "@parcel/watcher-darwin-x64":
+ optional: true
+ "@parcel/watcher-freebsd-x64":
+ optional: true
+ "@parcel/watcher-linux-arm-glibc":
+ optional: true
+ "@parcel/watcher-linux-arm-musl":
+ optional: true
+ "@parcel/watcher-linux-arm64-glibc":
+ optional: true
+ "@parcel/watcher-linux-arm64-musl":
+ optional: true
+ "@parcel/watcher-linux-x64-glibc":
+ optional: true
+ "@parcel/watcher-linux-x64-musl":
+ optional: true
+ "@parcel/watcher-win32-arm64":
+ optional: true
+ "@parcel/watcher-win32-ia32":
+ optional: true
+ "@parcel/watcher-win32-x64":
+ optional: true
+ checksum: 10c0/1e1d91f92e94e4640089a7cead243b2b81ca9aa8e1c862a97a25f589e84fbf1ad93abeb503f325c43a8c0e024ae0e74b48ec42c1cd84e8e423a3a87d25ded4f2
+ languageName: node
+ linkType: hard
+
"@peculiar/asn1-schema@npm:^2.3.8":
version: 2.3.13
resolution: "@peculiar/asn1-schema@npm:2.3.13"
@@ -19095,6 +19298,40 @@ __metadata:
languageName: node
linkType: hard
+"@size-limit/esbuild@npm:11.2.0":
+ version: 11.2.0
+ resolution: "@size-limit/esbuild@npm:11.2.0"
+ dependencies:
+ esbuild: "npm:^0.25.0"
+ nanoid: "npm:^5.1.0"
+ peerDependencies:
+ size-limit: 11.2.0
+ checksum: 10c0/8740fd6f86d0be14bd7492781a9611f12fdbeafefa590ed485ce4f1768b521da8847c5ab314253bd0bb6decb50b5b5fe8f3cba7adc5cc9e55ebccbad6a161df3
+ languageName: node
+ linkType: hard
+
+"@size-limit/file@npm:11.2.0":
+ version: 11.2.0
+ resolution: "@size-limit/file@npm:11.2.0"
+ peerDependencies:
+ size-limit: 11.2.0
+ checksum: 10c0/25fb431c2afa9293774842f3abb12ee0aaa988585a2be545f2a4f90ffd5c638a13bada10a0b71e376cefb426bd991793d0e1ffe970b94a4e0bb8b0a8b504f343
+ languageName: node
+ linkType: hard
+
+"@size-limit/preset-small-lib@npm:^11.1.6":
+ version: 11.2.0
+ resolution: "@size-limit/preset-small-lib@npm:11.2.0"
+ dependencies:
+ "@size-limit/esbuild": "npm:11.2.0"
+ "@size-limit/file": "npm:11.2.0"
+ size-limit: "npm:11.2.0"
+ peerDependencies:
+ size-limit: 11.2.0
+ checksum: 10c0/3b1f55fde435794d83245687bc4e2e6996ddb178c774af62b57754e9b7d6ea1db3ef041f0706bd1ffb45da2fa52eba50594ce92ab312637e4198ee06274de673
+ languageName: node
+ linkType: hard
+
"@smithy/abort-controller@npm:^4.2.10":
version: 4.2.10
resolution: "@smithy/abort-controller@npm:4.2.10"
@@ -20448,6 +20685,18 @@ __metadata:
languageName: node
linkType: hard
+"@storybook/addon-a11y@npm:^10.3.3":
+ version: 10.4.1
+ resolution: "@storybook/addon-a11y@npm:10.4.1"
+ dependencies:
+ "@storybook/global": "npm:^5.0.0"
+ axe-core: "npm:^4.2.0"
+ peerDependencies:
+ storybook: ^10.4.1
+ checksum: 10c0/2a051276db77dbf196b0c509aae6e49e1d1a722db1ecd3a73fa60ff8c1d88e61900f9c31a66201cedab8dd555718fca407099b4f27662fd3d9404b2096770344
+ languageName: node
+ linkType: hard
+
"@storybook/addon-coverage@npm:^3.0.0":
version: 3.0.0
resolution: "@storybook/addon-coverage@npm:3.0.0"
@@ -24304,7 +24553,7 @@ __metadata:
languageName: node
linkType: hard
-"@vitest/browser-playwright@npm:^4.0.18":
+"@vitest/browser-playwright@npm:4.0.18, @vitest/browser-playwright@npm:^4.0.18":
version: 4.0.18
resolution: "@vitest/browser-playwright@npm:4.0.18"
dependencies:
@@ -27848,6 +28097,13 @@ __metadata:
languageName: node
linkType: hard
+"axe-core@npm:^4.2.0":
+ version: 4.11.4
+ resolution: "axe-core@npm:4.11.4"
+ checksum: 10c0/c4aa83fc3eac5f7a0d0cb1a28f9d073acf0c06ce8daacc38608faa278c57ce084c028c850746b98817ae4c101c30c1a32e95ea34748c4b4c7419b9b81221ef84
+ languageName: node
+ linkType: hard
+
"axios-retry@npm:^4.5.0":
version: 4.5.0
resolution: "axios-retry@npm:4.5.0"
@@ -29102,6 +29358,13 @@ __metadata:
languageName: node
linkType: hard
+"bytes-iec@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "bytes-iec@npm:3.1.1"
+ checksum: 10c0/cb553a214d49afe2efb4f9f6f03c0a76dbf2b0db8fe176c1d9943f74b79fb36767938e5f0a60991d870309c96f21e440904dd4f92b54c9c316c88486e6eef025
+ languageName: node
+ linkType: hard
+
"bytes@npm:3.1.2, bytes@npm:^3.1.2, bytes@npm:~3.1.2":
version: 3.1.2
resolution: "bytes@npm:3.1.2"
@@ -30465,6 +30728,13 @@ __metadata:
languageName: node
linkType: hard
+"colorjs.io@npm:^0.5.0":
+ version: 0.5.2
+ resolution: "colorjs.io@npm:0.5.2"
+ checksum: 10c0/2e6ea43629e325e721b92429239de3a6f42fb6d88ba6e4c2aeff0288c196d876f2f7ee82aea95bd40072d5cdc8cb87f042f4d94c134dcabf0e34a717e4caacb9
+ languageName: node
+ linkType: hard
+
"colors@npm:1.0.3":
version: 1.0.3
resolution: "colors@npm:1.0.3"
@@ -38460,6 +38730,13 @@ __metadata:
languageName: node
linkType: hard
+"immutable@npm:^5.1.5":
+ version: 5.1.6
+ resolution: "immutable@npm:5.1.6"
+ checksum: 10c0/79eb033f68ca70fca60fb052c87b5420034e460e306ce9bea2558fd7b5e0b3b59c28c4a4653867305992b4a30e169b353175d78126c1be6ed0113794b27e3317
+ languageName: node
+ linkType: hard
+
"immutable@npm:~3.7.6":
version: 3.7.6
resolution: "immutable@npm:3.7.6"
@@ -44951,6 +45228,15 @@ __metadata:
languageName: node
linkType: hard
+"nanoid@npm:^5.1.0":
+ version: 5.1.11
+ resolution: "nanoid@npm:5.1.11"
+ bin:
+ nanoid: bin/nanoid.js
+ checksum: 10c0/91580d18c29263ac0e871734f0d86e7f906f523f974d3c30fc65354ccf387ccffd606c2a6c28acc2977a3950146347e790ce9e3f514133a48995af5ccdb308ce
+ languageName: node
+ linkType: hard
+
"nanoid@npm:^5.1.3":
version: 5.1.6
resolution: "nanoid@npm:5.1.6"
@@ -44960,6 +45246,15 @@ __metadata:
languageName: node
linkType: hard
+"nanospinner@npm:^1.2.2":
+ version: 1.2.2
+ resolution: "nanospinner@npm:1.2.2"
+ dependencies:
+ picocolors: "npm:^1.1.1"
+ checksum: 10c0/07264f63816a8ec24d84ffe216a605cf11dffd8b098d4c5e6790437304b47e10ce4fc341de8dbcfc1b59aa42107f9949c89bcc201239eb61a80e14b6b1a20c90
+ languageName: node
+ linkType: hard
+
"napi-build-utils@npm:^1.0.1":
version: 1.0.2
resolution: "napi-build-utils@npm:1.0.2"
@@ -51609,7 +51904,7 @@ __metadata:
languageName: node
linkType: hard
-"rxjs@npm:7.8.2, rxjs@npm:^7.8.2":
+"rxjs@npm:7.8.2, rxjs@npm:^7.4.0, rxjs@npm:^7.8.2":
version: 7.8.2
resolution: "rxjs@npm:7.8.2"
dependencies:
@@ -51696,6 +51991,225 @@ __metadata:
languageName: node
linkType: hard
+"sass-embedded-all-unknown@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-all-unknown@npm:1.100.0"
+ dependencies:
+ sass: "npm:1.100.0"
+ conditions: (!cpu=arm | !cpu=arm64 | !cpu=riscv64 | !cpu=x64)
+ languageName: node
+ linkType: hard
+
+"sass-embedded-android-arm64@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-android-arm64@npm:1.100.0"
+ conditions: os=android & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-android-arm@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-android-arm@npm:1.100.0"
+ conditions: os=android & cpu=arm
+ languageName: node
+ linkType: hard
+
+"sass-embedded-android-riscv64@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-android-riscv64@npm:1.100.0"
+ conditions: os=android & cpu=riscv64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-android-x64@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-android-x64@npm:1.100.0"
+ conditions: os=android & cpu=x64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-darwin-arm64@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-darwin-arm64@npm:1.100.0"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-darwin-x64@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-darwin-x64@npm:1.100.0"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-arm64@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-linux-arm64@npm:1.100.0"
+ conditions: os=linux & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-arm@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-linux-arm@npm:1.100.0"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-musl-arm64@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-linux-musl-arm64@npm:1.100.0"
+ conditions: os=linux & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-musl-arm@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-linux-musl-arm@npm:1.100.0"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-musl-riscv64@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-linux-musl-riscv64@npm:1.100.0"
+ conditions: os=linux & cpu=riscv64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-musl-x64@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-linux-musl-x64@npm:1.100.0"
+ conditions: os=linux & cpu=x64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-riscv64@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-linux-riscv64@npm:1.100.0"
+ conditions: os=linux & cpu=riscv64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-x64@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-linux-x64@npm:1.100.0"
+ conditions: os=linux & cpu=x64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-unknown-all@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-unknown-all@npm:1.100.0"
+ dependencies:
+ sass: "npm:1.100.0"
+ conditions: (!os=android | !os=darwin | !os=linux | !os=win32)
+ languageName: node
+ linkType: hard
+
+"sass-embedded-win32-arm64@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-win32-arm64@npm:1.100.0"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-win32-x64@npm:1.100.0":
+ version: 1.100.0
+ resolution: "sass-embedded-win32-x64@npm:1.100.0"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
+"sass-embedded@npm:^1.83.0":
+ version: 1.100.0
+ resolution: "sass-embedded@npm:1.100.0"
+ dependencies:
+ "@bufbuild/protobuf": "npm:^2.5.0"
+ colorjs.io: "npm:^0.5.0"
+ immutable: "npm:^5.1.5"
+ rxjs: "npm:^7.4.0"
+ sass-embedded-all-unknown: "npm:1.100.0"
+ sass-embedded-android-arm: "npm:1.100.0"
+ sass-embedded-android-arm64: "npm:1.100.0"
+ sass-embedded-android-riscv64: "npm:1.100.0"
+ sass-embedded-android-x64: "npm:1.100.0"
+ sass-embedded-darwin-arm64: "npm:1.100.0"
+ sass-embedded-darwin-x64: "npm:1.100.0"
+ sass-embedded-linux-arm: "npm:1.100.0"
+ sass-embedded-linux-arm64: "npm:1.100.0"
+ sass-embedded-linux-musl-arm: "npm:1.100.0"
+ sass-embedded-linux-musl-arm64: "npm:1.100.0"
+ sass-embedded-linux-musl-riscv64: "npm:1.100.0"
+ sass-embedded-linux-musl-x64: "npm:1.100.0"
+ sass-embedded-linux-riscv64: "npm:1.100.0"
+ sass-embedded-linux-x64: "npm:1.100.0"
+ sass-embedded-unknown-all: "npm:1.100.0"
+ sass-embedded-win32-arm64: "npm:1.100.0"
+ sass-embedded-win32-x64: "npm:1.100.0"
+ supports-color: "npm:^8.1.1"
+ sync-child-process: "npm:^1.0.2"
+ varint: "npm:^6.0.0"
+ dependenciesMeta:
+ sass-embedded-all-unknown:
+ optional: true
+ sass-embedded-android-arm:
+ optional: true
+ sass-embedded-android-arm64:
+ optional: true
+ sass-embedded-android-riscv64:
+ optional: true
+ sass-embedded-android-x64:
+ optional: true
+ sass-embedded-darwin-arm64:
+ optional: true
+ sass-embedded-darwin-x64:
+ optional: true
+ sass-embedded-linux-arm:
+ optional: true
+ sass-embedded-linux-arm64:
+ optional: true
+ sass-embedded-linux-musl-arm:
+ optional: true
+ sass-embedded-linux-musl-arm64:
+ optional: true
+ sass-embedded-linux-musl-riscv64:
+ optional: true
+ sass-embedded-linux-musl-x64:
+ optional: true
+ sass-embedded-linux-riscv64:
+ optional: true
+ sass-embedded-linux-x64:
+ optional: true
+ sass-embedded-unknown-all:
+ optional: true
+ sass-embedded-win32-arm64:
+ optional: true
+ sass-embedded-win32-x64:
+ optional: true
+ bin:
+ sass: dist/bin/sass.js
+ checksum: 10c0/62650f86a2530614720dd38a650ebcd7c1d5115c157e2ee9f1f7e0fa64c0dd7d7d47624e0b7f3dfe6e6c080e14f9e0b3231e5edb365b7292423f0e8fcc4a7ad8
+ languageName: node
+ linkType: hard
+
+"sass@npm:1.100.0, sass@npm:^1.83.0":
+ version: 1.100.0
+ resolution: "sass@npm:1.100.0"
+ dependencies:
+ "@parcel/watcher": "npm:^2.4.1"
+ chokidar: "npm:^5.0.0"
+ immutable: "npm:^5.1.5"
+ source-map-js: "npm:>=0.6.2 <2.0.0"
+ dependenciesMeta:
+ "@parcel/watcher":
+ optional: true
+ bin:
+ sass: sass.js
+ checksum: 10c0/e2aab47c87b69d2d4f8e48fa665138548069f56a7fd0fc4e15c9bde888b715798e49d33436e873918a8849ca3cc6c141a68618f58e2f3b2e6ec179cc309ca622
+ languageName: node
+ linkType: hard
+
"sax@npm:>=0.6.0, sax@npm:^1.2.4":
version: 1.4.1
resolution: "sax@npm:1.4.1"
@@ -52682,6 +53196,23 @@ __metadata:
languageName: node
linkType: hard
+"size-limit@npm:11.2.0, size-limit@npm:^11.1.6":
+ version: 11.2.0
+ resolution: "size-limit@npm:11.2.0"
+ dependencies:
+ bytes-iec: "npm:^3.1.1"
+ chokidar: "npm:^4.0.3"
+ jiti: "npm:^2.4.2"
+ lilconfig: "npm:^3.1.3"
+ nanospinner: "npm:^1.2.2"
+ picocolors: "npm:^1.1.1"
+ tinyglobby: "npm:^0.2.11"
+ bin:
+ size-limit: bin.js
+ checksum: 10c0/c3613e20dfc227074d73098bfdd6fe274aed980bf133ad61a380032425bfa8b7d749c876dea50e9648a64cd57fb768edac9ffc1927100bcadf814255e44236f1
+ languageName: node
+ linkType: hard
+
"slash@npm:3.0.0, slash@npm:^3.0.0":
version: 3.0.0
resolution: "slash@npm:3.0.0"
@@ -52943,7 +53474,7 @@ __metadata:
languageName: node
linkType: hard
-"source-map-js@npm:^1.0.1, source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.0, source-map-js@npm:^1.2.1":
+"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.1, source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.0, source-map-js@npm:^1.2.1":
version: 1.2.1
resolution: "source-map-js@npm:1.2.1"
checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf
@@ -54191,6 +54722,22 @@ __metadata:
languageName: node
linkType: hard
+"sync-child-process@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "sync-child-process@npm:1.0.2"
+ dependencies:
+ sync-message-port: "npm:^1.0.0"
+ checksum: 10c0/f73c87251346fba28da8ac5bc8ed4c9474504a5250ab4bd44582beae8e25c230e0a5b7b16076488fee1aed39a1865de5ed4cec19c6fa4efdbb1081c514615170
+ languageName: node
+ linkType: hard
+
+"sync-message-port@npm:^1.0.0":
+ version: 1.2.0
+ resolution: "sync-message-port@npm:1.2.0"
+ checksum: 10c0/31071ccc1e1607649aab5f1d283b0b6544632b9e8c2e8afedae394a0e97c1454978d0e415d664db8e3b1ae48a9c4cdba8d39e79edcb86c517be06123a110efae
+ languageName: node
+ linkType: hard
+
"synckit@npm:^0.11.8":
version: 0.11.11
resolution: "synckit@npm:0.11.11"
@@ -54662,6 +55209,16 @@ __metadata:
languageName: node
linkType: hard
+"tinyglobby@npm:^0.2.11":
+ version: 0.2.17
+ resolution: "tinyglobby@npm:0.2.17"
+ dependencies:
+ fdir: "npm:^6.5.0"
+ picomatch: "npm:^4.0.4"
+ checksum: 10c0/7f7bb0f197c88bc4b20c231e0deca4240ca3bf313a88f5a7fee93a872b84966a4d50220947c0455ad07a60b3b360961c5b7fd979222aeb716a9f99b412002e4c
+ languageName: node
+ linkType: hard
+
"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15":
version: 0.2.16
resolution: "tinyglobby@npm:0.2.16"
@@ -55638,6 +56195,66 @@ __metadata:
languageName: unknown
linkType: soft
+"twenty-new-ui@workspace:packages/twenty-new-ui":
+ version: 0.0.0-use.local
+ resolution: "twenty-new-ui@workspace:packages/twenty-new-ui"
+ dependencies:
+ "@argos-ci/storybook": "npm:^6.0.6"
+ "@base-ui/react": "npm:^1.5.0"
+ "@monaco-editor/react": "npm:^4.7.0"
+ "@prettier/sync": "npm:^0.5.2"
+ "@radix-ui/colors": "npm:^3.0.0"
+ "@size-limit/preset-small-lib": "npm:^11.1.6"
+ "@storybook-community/storybook-addon-cookie": "npm:^5.0.0"
+ "@storybook/addon-a11y": "npm:^10.3.3"
+ "@storybook/addon-coverage": "npm:^3.0.0"
+ "@storybook/addon-links": "npm:^10.3.3"
+ "@storybook/addon-vitest": "npm:^10.2.13"
+ "@storybook/react-vite": "npm:^10.3.3"
+ "@swc/core": "npm:^1.15.11"
+ "@swc/jest": "npm:^0.2.39"
+ "@tabler/icons-react": "npm:^3.31.0"
+ "@testing-library/dom": "npm:^10.4.0"
+ "@testing-library/jest-dom": "npm:^6.6.3"
+ "@testing-library/react": "npm:^16.3.0"
+ "@types/jest": "npm:^30.0.0"
+ "@types/react": "npm:^18.2.39"
+ "@types/react-dom": "npm:^18.2.15"
+ "@vitejs/plugin-react-swc": "npm:4.2.3"
+ "@vitest/browser-playwright": "npm:4.0.18"
+ clsx: "npm:^2.1.1"
+ date-fns: "npm:^2.30.0"
+ framer-motion: "npm:^11.18.0"
+ glob: "npm:^11.1.0"
+ hex-rgb: "npm:^5.0.0"
+ jest: "npm:29.7.0"
+ jest-environment-jsdom: "npm:30.0.0-beta.3"
+ jotai: "npm:^2.17.1"
+ prettier: "npm:^3.1.1"
+ react: "npm:^18.2.0"
+ react-dom: "npm:^18.2.0"
+ react-responsive: "npm:^9.0.2"
+ react-router-dom: "npm:^6.4.4"
+ sass: "npm:^1.83.0"
+ sass-embedded: "npm:^1.83.0"
+ size-limit: "npm:^11.1.6"
+ slash: "npm:^5.1.0"
+ storybook-addon-pseudo-states: "npm:^10.3.3"
+ ts-jest: "npm:^29.1.1"
+ tsx: "npm:^4.19.3"
+ twenty-shared: "workspace:*"
+ vite-plugin-checker: "npm:^0.10.2"
+ vite-plugin-dts: "npm:3.8.1"
+ vite-plugin-sass-dts: "npm:^1.3.31"
+ vite-plugin-svgr: "npm:^4.3.0"
+ vite-tsconfig-paths: "npm:^4.2.1"
+ vitest: "npm:4.0.18"
+ zod: "npm:^4.1.11"
+ peerDependencies:
+ monaco-editor: ">= 0.25.0 < 1"
+ languageName: unknown
+ linkType: soft
+
"twenty-oxlint-rules@workspace:packages/twenty-oxlint-rules":
version: 0.0.0-use.local
resolution: "twenty-oxlint-rules@workspace:packages/twenty-oxlint-rules"
@@ -57601,6 +58218,13 @@ __metadata:
languageName: node
linkType: hard
+"varint@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "varint@npm:6.0.0"
+ checksum: 10c0/737fc37088a62ed3bd21466e318d21ca7ac4991d0f25546f518f017703be4ed0f9df1c5559f1dd533dddba4435a1b758fd9230e4772c1a930ef72b42f5c750fd
+ languageName: node
+ linkType: hard
+
"vary@npm:^1, vary@npm:^1.1.2, vary@npm:~1.1.2":
version: 1.1.2
resolution: "vary@npm:1.1.2"
@@ -57873,6 +58497,20 @@ __metadata:
languageName: node
linkType: hard
+"vite-plugin-sass-dts@npm:^1.3.31":
+ version: 1.3.37
+ resolution: "vite-plugin-sass-dts@npm:1.3.37"
+ dependencies:
+ postcss-js: "npm:^4.0.1"
+ peerDependencies:
+ postcss: ^8
+ prettier: ^2.7 || ^3
+ sass-embedded: ^1.78.0
+ vite: ^7 || ^8
+ checksum: 10c0/3dab77e2a6a20d471a4d81e55ac55b607f17edb9b03d6cb5871a69f195fad13fb15807267e38cc023a59174c8d1adf3b996f87c33ee4a84848befe4921970edc
+ languageName: node
+ linkType: hard
+
"vite-plugin-svgr@npm:^4.3.0":
version: 4.5.0
resolution: "vite-plugin-svgr@npm:4.5.0"
@@ -57957,7 +58595,7 @@ __metadata:
languageName: node
linkType: hard
-"vitest@npm:^4.0.18":
+"vitest@npm:4.0.18, vitest@npm:^4.0.18":
version: 4.0.18
resolution: "vitest@npm:4.0.18"
dependencies: