Scaffold twenty-new-ui (#21236)
Scaffolds `twenty-new-ui`, the next-gen replacement for `twenty-ui`, on **SCSS** Modules + **Base UI** (no Linaria). - **Tooling**: Vite lib build, subpaths mirror twenty-ui, typed SCSS Modules, Storybook + axe a11y, size-limit, Nx targets. - **Theme**: single token source → nx generateTheme emits the CSS vars + accessor; parity test asserts token-for-token match with twenty-ui. Migrated a first `Toggle` component with its stories to allow @charlesBochet to wire the new pixel-diff system. --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -52,6 +52,7 @@
|
|||||||
"packages/twenty-server",
|
"packages/twenty-server",
|
||||||
"packages/twenty-emails",
|
"packages/twenty-emails",
|
||||||
"packages/twenty-ui",
|
"packages/twenty-ui",
|
||||||
|
"packages/twenty-new-ui",
|
||||||
"packages/twenty-utils",
|
"packages/twenty-utils",
|
||||||
"packages/twenty-zapier",
|
"packages/twenty-zapier",
|
||||||
"packages/twenty-website",
|
"packages/twenty-website",
|
||||||
|
|||||||
@@ -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"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
dist
|
||||||
|
storybook-static
|
||||||
|
coverage
|
||||||
|
|
||||||
|
# Generated by vite-plugin-sass-dts (committed; regenerated in dev mode).
|
||||||
|
*.module.scss.d.ts
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -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
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
<link
|
||||||
|
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap"
|
||||||
|
rel="stylesheet"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.3.7/iframeResizer.contentWindow.min.js"></script>
|
||||||
|
|
||||||
|
<style type="text/css">
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
font-family: 'Inter', sans-serif;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
html {
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
.sbdocs-wrapper {
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
*::-webkit-scrollbar {
|
||||||
|
height: 4px;
|
||||||
|
width: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
*::-webkit-scrollbar-corner {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
*::-webkit-scrollbar-thumb {
|
||||||
|
background-color: transparent;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -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 (
|
||||||
|
<ThemeProvider colorScheme="light">
|
||||||
|
<Story />
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
export default preview;
|
||||||
@@ -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]);
|
||||||
@@ -1,6 +1,10 @@
|
|||||||
# twenty-new-ui
|
# 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).
|
`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.
|
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
|
## Decision 1 — Headless library: Base UI
|
||||||
|
|
||||||
Adopt **Base UI** (`@base-ui-components/react`, MIT) as the behavioral foundation; build Twenty's
|
Adopt **Base UI** ([`mui/base-ui`](https://github.com/mui/base-ui), published to npm as
|
||||||
visual design on top of it.
|
[`@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 |
|
| | Base UI | shadcn/ui | Radix |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
@@ -84,7 +89,7 @@ packages/twenty-new-ui/
|
|||||||
├── vitest.config.ts # storybook component tests
|
├── vitest.config.ts # storybook component tests
|
||||||
├── .storybook/
|
├── .storybook/
|
||||||
├── .size-limit.json # per-entry bundle budgets
|
├── .size-limit.json # per-entry bundle budgets
|
||||||
├── scripts/ # generateBarrels.ts, generateTheme.ts
|
├── scripts/ # generateBarrels.ts
|
||||||
└── src/
|
└── src/
|
||||||
├── styles/ # global: reset, theme vars, mixins, breakpoints
|
├── styles/ # global: reset, theme vars, mixins, breakpoints
|
||||||
├── theme/ theme-constants/
|
├── 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.
|
- 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.
|
- 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.
|
- 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 generated-output diff test asserts the new theme CSS produces the same `--t-*` values as `twenty-ui`.
|
- A theme parity test asserts the theme CSS and `themeCssVariables` stay identical to `twenty-ui`'s `--t-*` values.
|
||||||
|
|
||||||
## Component migration map
|
## 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.
|
- 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`.
|
- `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`.
|
- **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`.
|
- Declare `react` / `react-dom` as peer dependencies; validate the `exports`/types map with `publint` + `@arethetypeswrong/cli`.
|
||||||
- Publish the Storybook as living documentation.
|
- Publish the Storybook as living documentation.
|
||||||
@@ -259,59 +264,10 @@ a passing visual-parity diff, and a within-budget size entry.
|
|||||||
|
|
||||||
## Open questions
|
## 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.
|
2. Styling: confirm SCSS Modules vs vanilla-extract vs plain CSS Modules.
|
||||||
3. Variants helper: `clsx` + `data-*` vs `cva`.
|
3. Variants helper: `clsx` + `data-*` vs `cva`.
|
||||||
4. Visual regression tooling: Chromatic vs self-hosted image snapshots.
|
4. Visual regression tooling: Chromatic vs self-hosted image snapshots.
|
||||||
5. How aggressively to drop `framer-motion` in favor of CSS/Base UI transitions.
|
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.
|
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`.
|
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) => (
|
|
||||||
<Switch.Root
|
|
||||||
checked={value}
|
|
||||||
onCheckedChange={onChange}
|
|
||||||
disabled={disabled}
|
|
||||||
className={clsx(styles.root, styles[size])}
|
|
||||||
>
|
|
||||||
<Switch.Thumb className={styles.thumb} />
|
|
||||||
</Switch.Root>
|
|
||||||
);
|
|
||||||
```
|
|
||||||
|
|
||||||
`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; }
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
export default 'test-file-stub';
|
||||||
@@ -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)),
|
||||||
|
},
|
||||||
|
);
|
||||||
@@ -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)$': '<rootDir>/__mocks__/imageMockUi.js',
|
||||||
|
'\\.(scss|css)$': '<rootDir>/__mocks__/styleMock.js',
|
||||||
|
...pathsToModuleNameMapper(tsConfig.compilerOptions.paths, {
|
||||||
|
prefix: '<rootDir>/',
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
|
||||||
|
extensionsToTreatAsEsm: ['.ts', '.tsx'],
|
||||||
|
coverageDirectory: './coverage',
|
||||||
|
};
|
||||||
|
|
||||||
|
export default jestConfig;
|
||||||
@@ -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"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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<createTypeScriptFileArgs>(
|
||||||
|
({ 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<string, any>;
|
||||||
|
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<string, ExportOccurrence | string>;
|
||||||
|
|
||||||
|
const generateModulePackageExports = (moduleDirectories: string[]) => {
|
||||||
|
return moduleDirectories.reduce<ExportsConfig>(
|
||||||
|
(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<Record<string, string[]>>(
|
||||||
|
(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<ExportKind, 'const' | 'let' | 'var'> => {
|
||||||
|
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<ExportByBarrel>((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();
|
||||||
+49
@@ -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
|
||||||
@@ -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';
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
// Auto-generated barrel placeholder — populated as components migrate into this entry point.
|
||||||
|
export {};
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
// Auto-generated barrel placeholder — populated as components migrate into this entry point.
|
||||||
|
export {};
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
// Auto-generated barrel placeholder — populated as components migrate into this entry point.
|
||||||
|
export {};
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
// Auto-generated barrel placeholder — populated as components migrate into this entry point.
|
||||||
|
export {};
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
// Auto-generated barrel placeholder — populated as components migrate into this entry point.
|
||||||
|
export {};
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
declare global {
|
||||||
|
interface Window {
|
||||||
|
_env_?: Record<string, string>;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export {};
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// Side-effect import: the reset must ship exactly once in the aggregated style.css.
|
||||||
|
import './styles/base/reset.scss';
|
||||||
|
|
||||||
|
export {};
|
||||||
@@ -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';
|
||||||
@@ -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%);
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
@@ -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<typeof Toggle> = {
|
||||||
|
title: 'Input/Toggle',
|
||||||
|
component: Toggle,
|
||||||
|
args: { toggleSize: 'medium', 'aria-label': 'Example toggle' },
|
||||||
|
};
|
||||||
|
|
||||||
|
export default meta;
|
||||||
|
|
||||||
|
type Story = StoryObj<typeof Toggle>;
|
||||||
|
|
||||||
|
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 (
|
||||||
|
<Toggle value={value} onChange={setValue} aria-label="Example toggle" />
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const Interactive: Story = {
|
||||||
|
render: () => <ControlledToggle />,
|
||||||
|
};
|
||||||
|
|
||||||
|
export const Dark: Story = {
|
||||||
|
args: { value: true },
|
||||||
|
decorators: [
|
||||||
|
(Story) => (
|
||||||
|
<ThemeProvider colorScheme="dark">
|
||||||
|
<Story />
|
||||||
|
</ThemeProvider>
|
||||||
|
),
|
||||||
|
],
|
||||||
|
};
|
||||||
@@ -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<HTMLDivElement>) => 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) => (
|
||||||
|
<Switch.Root
|
||||||
|
id={id}
|
||||||
|
checked={value}
|
||||||
|
disabled={disabled}
|
||||||
|
onCheckedChange={(checked) => 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
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<Switch.Thumb className={styles.thumb} />
|
||||||
|
</Switch.Root>
|
||||||
|
);
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
export { Toggle } from './components/Toggle';
|
||||||
|
export type { ToggleProps, ToggleSize } from './components/Toggle';
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
// Auto-generated barrel placeholder — populated as components migrate into this entry point.
|
||||||
|
export {};
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
// Auto-generated barrel placeholder — populated as components migrate into this entry point.
|
||||||
|
export {};
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
// Auto-generated barrel placeholder — populated as components migrate into this entry point.
|
||||||
|
export {};
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
@mixin focus-ring {
|
||||||
|
&:focus-visible {
|
||||||
|
outline: 2px solid var(--t-color-blue);
|
||||||
|
outline-offset: 1px;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
// Auto-generated barrel placeholder — populated as components migrate into this entry point.
|
||||||
|
export {};
|
||||||
@@ -0,0 +1,121 @@
|
|||||||
|
import { createContext, useLayoutEffect, useState } from 'react';
|
||||||
|
|
||||||
|
import { themeCssVariables } from './themeCssVariables';
|
||||||
|
|
||||||
|
type StringLeaves<T> = {
|
||||||
|
[K in keyof T]: T[K] extends string ? string : StringLeaves<T[K]>;
|
||||||
|
};
|
||||||
|
|
||||||
|
type DeepMerge<T, U> = {
|
||||||
|
[K in keyof T]: K extends keyof U
|
||||||
|
? U[K] extends Record<string, unknown>
|
||||||
|
? T[K] extends Record<string, unknown>
|
||||||
|
? DeepMerge<T[K], U[K]>
|
||||||
|
: 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<typeof themeCssVariables>,
|
||||||
|
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<string, unknown>): Record<string, unknown> => {
|
||||||
|
const result: Record<string, unknown> = {};
|
||||||
|
|
||||||
|
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<string, unknown>);
|
||||||
|
} else {
|
||||||
|
result[key] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
|
||||||
|
return resolve(
|
||||||
|
themeCssVariables as unknown as Record<string, unknown>,
|
||||||
|
) 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<ThemeContextType>({
|
||||||
|
theme: themeCssVariables as unknown as ThemeType,
|
||||||
|
colorScheme: 'light',
|
||||||
|
});
|
||||||
|
|
||||||
|
export const ThemeProvider = ({
|
||||||
|
children,
|
||||||
|
colorScheme,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode;
|
||||||
|
colorScheme: 'light' | 'dark';
|
||||||
|
}) => {
|
||||||
|
const [theme, setTheme] = useState<ThemeType>(() => {
|
||||||
|
applyColorSchemeClass(colorScheme);
|
||||||
|
return computeThemeFromCss();
|
||||||
|
});
|
||||||
|
|
||||||
|
useLayoutEffect(() => {
|
||||||
|
applyColorSchemeClass(colorScheme);
|
||||||
|
setTheme(computeThemeFromCss());
|
||||||
|
}, [colorScheme]);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<ThemeContext.Provider value={{ theme, colorScheme }}>
|
||||||
|
{children}
|
||||||
|
</ThemeContext.Provider>
|
||||||
|
);
|
||||||
|
};
|
||||||
@@ -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);
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -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);
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -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;
|
||||||
@@ -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];
|
||||||
|
};
|
||||||
@@ -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';
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -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,
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
};
|
||||||
@@ -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;
|
||||||
@@ -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,
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
};
|
||||||
@@ -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%)',
|
||||||
|
};
|
||||||
@@ -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%)',
|
||||||
|
};
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
export const BORDER_COMMON = {
|
||||||
|
radius: {
|
||||||
|
xs: '2px',
|
||||||
|
sm: '4px',
|
||||||
|
md: '8px',
|
||||||
|
xl: '20px',
|
||||||
|
xxl: '40px',
|
||||||
|
pill: '999px',
|
||||||
|
rounded: '100%',
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
};
|
||||||
@@ -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)}`,
|
||||||
|
};
|
||||||
@@ -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}`,
|
||||||
|
};
|
||||||
@@ -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' },
|
||||||
|
};
|
||||||
@@ -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' },
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
};
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
import { type ThemeColor } from './MainColorNames';
|
||||||
|
|
||||||
|
export const DEFAULT_THEME_COLOR_FALLBACK: ThemeColor = 'gray';
|
||||||
@@ -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',
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
};
|
||||||
@@ -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)',
|
||||||
|
};
|
||||||
@@ -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)',
|
||||||
|
};
|
||||||
@@ -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)',
|
||||||
|
};
|
||||||
@@ -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)',
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -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;
|
||||||
@@ -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,
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
};
|
||||||
@@ -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',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -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})`;
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
};
|
||||||
@@ -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,
|
||||||
|
};
|
||||||
@@ -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';
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
// Auto-generated barrel placeholder — populated as components migrate into this entry point.
|
||||||
|
export {};
|
||||||
+2
@@ -0,0 +1,2 @@
|
|||||||
|
/// <reference types="vite/client" />
|
||||||
|
/// <reference types="vite-plugin-svgr/client" />
|
||||||
@@ -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"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -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',
|
||||||
|
};
|
||||||
|
});
|
||||||
@@ -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<typeof checker>[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',
|
||||||
|
};
|
||||||
|
});
|
||||||
@@ -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,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
});
|
||||||
@@ -4261,6 +4261,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@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
|
version: 7.27.2
|
||||||
resolution: "@babel/template@npm:7.27.2"
|
resolution: "@babel/template@npm:7.27.2"
|
||||||
@@ -4379,6 +4386,32 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@base-ui/utils@npm:0.2.6, @base-ui/utils@npm:^0.2.6":
|
||||||
version: 0.2.6
|
version: 0.2.6
|
||||||
resolution: "@base-ui/utils@npm:0.2.6"
|
resolution: "@base-ui/utils@npm:0.2.6"
|
||||||
@@ -4398,6 +4431,25 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@bcoe/v8-coverage@npm:^0.2.3":
|
||||||
version: 0.2.3
|
version: 0.2.3
|
||||||
resolution: "@bcoe/v8-coverage@npm:0.2.3"
|
resolution: "@bcoe/v8-coverage@npm:0.2.3"
|
||||||
@@ -4580,6 +4632,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@bufbuild/protobuf@npm:^2.6.2":
|
||||||
version: 2.10.1
|
version: 2.10.1
|
||||||
resolution: "@bufbuild/protobuf@npm:2.10.1"
|
resolution: "@bufbuild/protobuf@npm:2.10.1"
|
||||||
@@ -15696,6 +15755,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@parcel/watcher-darwin-arm64@npm:2.4.1":
|
||||||
version: 2.4.1
|
version: 2.4.1
|
||||||
resolution: "@parcel/watcher-darwin-arm64@npm:2.4.1"
|
resolution: "@parcel/watcher-darwin-arm64@npm:2.4.1"
|
||||||
@@ -15703,6 +15769,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@parcel/watcher-darwin-x64@npm:2.4.1":
|
||||||
version: 2.4.1
|
version: 2.4.1
|
||||||
resolution: "@parcel/watcher-darwin-x64@npm:2.4.1"
|
resolution: "@parcel/watcher-darwin-x64@npm:2.4.1"
|
||||||
@@ -15710,6 +15783,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@parcel/watcher-freebsd-x64@npm:2.4.1":
|
||||||
version: 2.4.1
|
version: 2.4.1
|
||||||
resolution: "@parcel/watcher-freebsd-x64@npm:2.4.1"
|
resolution: "@parcel/watcher-freebsd-x64@npm:2.4.1"
|
||||||
@@ -15717,6 +15797,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@parcel/watcher-linux-arm-glibc@npm:2.4.1":
|
||||||
version: 2.4.1
|
version: 2.4.1
|
||||||
resolution: "@parcel/watcher-linux-arm-glibc@npm:2.4.1"
|
resolution: "@parcel/watcher-linux-arm-glibc@npm:2.4.1"
|
||||||
@@ -15724,6 +15811,20 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@parcel/watcher-linux-arm64-glibc@npm:2.4.1":
|
||||||
version: 2.4.1
|
version: 2.4.1
|
||||||
resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.4.1"
|
resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.4.1"
|
||||||
@@ -15731,6 +15832,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@parcel/watcher-linux-arm64-musl@npm:2.4.1":
|
||||||
version: 2.4.1
|
version: 2.4.1
|
||||||
resolution: "@parcel/watcher-linux-arm64-musl@npm:2.4.1"
|
resolution: "@parcel/watcher-linux-arm64-musl@npm:2.4.1"
|
||||||
@@ -15738,6 +15846,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@parcel/watcher-linux-x64-glibc@npm:2.4.1":
|
||||||
version: 2.4.1
|
version: 2.4.1
|
||||||
resolution: "@parcel/watcher-linux-x64-glibc@npm:2.4.1"
|
resolution: "@parcel/watcher-linux-x64-glibc@npm:2.4.1"
|
||||||
@@ -15745,6 +15860,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@parcel/watcher-linux-x64-musl@npm:2.4.1":
|
||||||
version: 2.4.1
|
version: 2.4.1
|
||||||
resolution: "@parcel/watcher-linux-x64-musl@npm:2.4.1"
|
resolution: "@parcel/watcher-linux-x64-musl@npm:2.4.1"
|
||||||
@@ -15752,6 +15874,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@parcel/watcher-win32-arm64@npm:2.4.1":
|
||||||
version: 2.4.1
|
version: 2.4.1
|
||||||
resolution: "@parcel/watcher-win32-arm64@npm:2.4.1"
|
resolution: "@parcel/watcher-win32-arm64@npm:2.4.1"
|
||||||
@@ -15759,6 +15888,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@parcel/watcher-win32-ia32@npm:2.4.1":
|
||||||
version: 2.4.1
|
version: 2.4.1
|
||||||
resolution: "@parcel/watcher-win32-ia32@npm:2.4.1"
|
resolution: "@parcel/watcher-win32-ia32@npm:2.4.1"
|
||||||
@@ -15766,6 +15902,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@parcel/watcher-win32-x64@npm:2.4.1":
|
||||||
version: 2.4.1
|
version: 2.4.1
|
||||||
resolution: "@parcel/watcher-win32-x64@npm:2.4.1"
|
resolution: "@parcel/watcher-win32-x64@npm:2.4.1"
|
||||||
@@ -15773,6 +15916,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@parcel/watcher@npm:^2.1.0":
|
||||||
version: 2.4.1
|
version: 2.4.1
|
||||||
resolution: "@parcel/watcher@npm:2.4.1"
|
resolution: "@parcel/watcher@npm:2.4.1"
|
||||||
@@ -15823,6 +15973,59 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@peculiar/asn1-schema@npm:^2.3.8":
|
||||||
version: 2.3.13
|
version: 2.3.13
|
||||||
resolution: "@peculiar/asn1-schema@npm:2.3.13"
|
resolution: "@peculiar/asn1-schema@npm:2.3.13"
|
||||||
@@ -19095,6 +19298,40 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@smithy/abort-controller@npm:^4.2.10":
|
||||||
version: 4.2.10
|
version: 4.2.10
|
||||||
resolution: "@smithy/abort-controller@npm:4.2.10"
|
resolution: "@smithy/abort-controller@npm:4.2.10"
|
||||||
@@ -20448,6 +20685,18 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@storybook/addon-coverage@npm:^3.0.0":
|
||||||
version: 3.0.0
|
version: 3.0.0
|
||||||
resolution: "@storybook/addon-coverage@npm:3.0.0"
|
resolution: "@storybook/addon-coverage@npm:3.0.0"
|
||||||
@@ -24304,7 +24553,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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
|
version: 4.0.18
|
||||||
resolution: "@vitest/browser-playwright@npm:4.0.18"
|
resolution: "@vitest/browser-playwright@npm:4.0.18"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -27848,6 +28097,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"axios-retry@npm:^4.5.0":
|
||||||
version: 4.5.0
|
version: 4.5.0
|
||||||
resolution: "axios-retry@npm:4.5.0"
|
resolution: "axios-retry@npm:4.5.0"
|
||||||
@@ -29102,6 +29358,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"bytes@npm:3.1.2, bytes@npm:^3.1.2, bytes@npm:~3.1.2":
|
||||||
version: 3.1.2
|
version: 3.1.2
|
||||||
resolution: "bytes@npm:3.1.2"
|
resolution: "bytes@npm:3.1.2"
|
||||||
@@ -30465,6 +30728,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"colors@npm:1.0.3":
|
||||||
version: 1.0.3
|
version: 1.0.3
|
||||||
resolution: "colors@npm:1.0.3"
|
resolution: "colors@npm:1.0.3"
|
||||||
@@ -38460,6 +38730,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"immutable@npm:~3.7.6":
|
||||||
version: 3.7.6
|
version: 3.7.6
|
||||||
resolution: "immutable@npm:3.7.6"
|
resolution: "immutable@npm:3.7.6"
|
||||||
@@ -44951,6 +45228,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"nanoid@npm:^5.1.3":
|
||||||
version: 5.1.6
|
version: 5.1.6
|
||||||
resolution: "nanoid@npm:5.1.6"
|
resolution: "nanoid@npm:5.1.6"
|
||||||
@@ -44960,6 +45246,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"napi-build-utils@npm:^1.0.1":
|
||||||
version: 1.0.2
|
version: 1.0.2
|
||||||
resolution: "napi-build-utils@npm:1.0.2"
|
resolution: "napi-build-utils@npm:1.0.2"
|
||||||
@@ -51609,7 +51904,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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
|
version: 7.8.2
|
||||||
resolution: "rxjs@npm:7.8.2"
|
resolution: "rxjs@npm:7.8.2"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -51696,6 +51991,225 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"sax@npm:>=0.6.0, sax@npm:^1.2.4":
|
||||||
version: 1.4.1
|
version: 1.4.1
|
||||||
resolution: "sax@npm:1.4.1"
|
resolution: "sax@npm:1.4.1"
|
||||||
@@ -52682,6 +53196,23 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"slash@npm:3.0.0, slash@npm:^3.0.0":
|
||||||
version: 3.0.0
|
version: 3.0.0
|
||||||
resolution: "slash@npm:3.0.0"
|
resolution: "slash@npm:3.0.0"
|
||||||
@@ -52943,7 +53474,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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
|
version: 1.2.1
|
||||||
resolution: "source-map-js@npm:1.2.1"
|
resolution: "source-map-js@npm:1.2.1"
|
||||||
checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf
|
checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf
|
||||||
@@ -54191,6 +54722,22 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"synckit@npm:^0.11.8":
|
||||||
version: 0.11.11
|
version: 0.11.11
|
||||||
resolution: "synckit@npm:0.11.11"
|
resolution: "synckit@npm:0.11.11"
|
||||||
@@ -54662,6 +55209,16 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15":
|
||||||
version: 0.2.16
|
version: 0.2.16
|
||||||
resolution: "tinyglobby@npm:0.2.16"
|
resolution: "tinyglobby@npm:0.2.16"
|
||||||
@@ -55638,6 +56195,66 @@ __metadata:
|
|||||||
languageName: unknown
|
languageName: unknown
|
||||||
linkType: soft
|
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":
|
"twenty-oxlint-rules@workspace:packages/twenty-oxlint-rules":
|
||||||
version: 0.0.0-use.local
|
version: 0.0.0-use.local
|
||||||
resolution: "twenty-oxlint-rules@workspace:packages/twenty-oxlint-rules"
|
resolution: "twenty-oxlint-rules@workspace:packages/twenty-oxlint-rules"
|
||||||
@@ -57601,6 +58218,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"vary@npm:^1, vary@npm:^1.1.2, vary@npm:~1.1.2":
|
||||||
version: 1.1.2
|
version: 1.1.2
|
||||||
resolution: "vary@npm:1.1.2"
|
resolution: "vary@npm:1.1.2"
|
||||||
@@ -57873,6 +58497,20 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"vite-plugin-svgr@npm:^4.3.0":
|
||||||
version: 4.5.0
|
version: 4.5.0
|
||||||
resolution: "vite-plugin-svgr@npm:4.5.0"
|
resolution: "vite-plugin-svgr@npm:4.5.0"
|
||||||
@@ -57957,7 +58595,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"vitest@npm:^4.0.18":
|
"vitest@npm:4.0.18, vitest@npm:^4.0.18":
|
||||||
version: 4.0.18
|
version: 4.0.18
|
||||||
resolution: "vitest@npm:4.0.18"
|
resolution: "vitest@npm:4.0.18"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
Reference in New Issue
Block a user