sesame-components-testing 1.0.1 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/package.json +72 -15
  2. package/{dist/Button/Button.styles.js → src/Button/Button.styles.ts} +53 -30
  3. package/src/Button/Button.tsx +37 -0
  4. package/src/Common/FlexCenter.tsx +7 -0
  5. package/src/SesameComponent.tsx +16 -0
  6. package/src/theme/ThemeProvider.tsx +23 -0
  7. package/src/theme/colors/darkColors.ts +223 -0
  8. package/src/theme/colors/lightColors.ts +223 -0
  9. package/src/theme/colors/primitiveColors.ts +297 -0
  10. package/src/theme/extendTheme.ts +26 -0
  11. package/{dist/theme/index.d.ts → src/theme/index.ts} +4 -2
  12. package/src/theme/reset.css +21 -0
  13. package/src/theme/sizes/breakpoints.ts +751 -0
  14. package/src/theme/sizes/dpiToRem.ts +8 -0
  15. package/src/theme/sizes/getSizedTheme.ts +8 -0
  16. package/src/theme/theme.ts +32 -0
  17. package/src/theme/types.ts +205 -0
  18. package/src/theme/useBreakpointSize.ts +38 -0
  19. package/tsconfig.json +13 -0
  20. package/vite-env.d.ts +8 -0
  21. package/vite.config.ts +55 -0
  22. package/vitest.config.ts +76 -0
  23. package/vitest.shims.d.ts +1 -0
  24. package/dist/Button/Button.d.ts +0 -14
  25. package/dist/Button/Button.js +0 -28
  26. package/dist/Button/Button.styles.d.ts +0 -10
  27. package/dist/Common/FlexCenter.d.ts +0 -4
  28. package/dist/Common/FlexCenter.js +0 -12
  29. package/dist/SesameComponent.d.ts +0 -5
  30. package/dist/SesameComponent.js +0 -17
  31. package/dist/index.js +0 -7
  32. package/dist/theme/ThemeProvider.d.ts +0 -7
  33. package/dist/theme/ThemeProvider.js +0 -22
  34. package/dist/theme/colors/darkColors.d.ts +0 -2
  35. package/dist/theme/colors/darkColors.js +0 -224
  36. package/dist/theme/colors/lightColors.d.ts +0 -2
  37. package/dist/theme/colors/lightColors.js +0 -224
  38. package/dist/theme/colors/primitiveColors.d.ts +0 -19
  39. package/dist/theme/colors/primitiveColors.js +0 -259
  40. package/dist/theme/extendTheme.d.ts +0 -2
  41. package/dist/theme/extendTheme.js +0 -23
  42. package/dist/theme/index.js +0 -22
  43. package/dist/theme/sizes/breakpoints.d.ts +0 -2
  44. package/dist/theme/sizes/breakpoints.js +0 -732
  45. package/dist/theme/sizes/dpiToRem.d.ts +0 -2
  46. package/dist/theme/sizes/dpiToRem.js +0 -9
  47. package/dist/theme/sizes/getSizedTheme.d.ts +0 -3
  48. package/dist/theme/sizes/getSizedTheme.js +0 -8
  49. package/dist/theme/theme.d.ts +0 -7
  50. package/dist/theme/theme.js +0 -32
  51. package/dist/theme/types.d.ts +0 -169
  52. package/dist/theme/types.js +0 -2
  53. package/dist/theme/useBreakpointSize.d.ts +0 -3
  54. package/dist/theme/useBreakpointSize.js +0 -35
  55. /package/{dist/index.d.ts → src/index.ts} +0 -0
package/package.json CHANGED
@@ -1,32 +1,89 @@
1
1
  {
2
2
  "name": "sesame-components-testing",
3
- "version": "1.0.1",
3
+ "version": "2.0.1",
4
4
  "description": "A reusable npm component package.",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
5
  "scripts": {
8
- "build": "tsc",
6
+ "build": "vite build",
9
7
  "test": "echo \"No tests yet\""
10
8
  },
11
9
  "author": "",
12
10
  "license": "MIT",
13
- "files": [
14
- "dist"
15
- ],
11
+ "main": "./dist/sesame-components.cjs.js",
12
+ "module": "./dist/sesame-components.es.js",
13
+ "types": "./dist/index.d.ts",
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "import": "./dist/sesame-components.es.js",
18
+ "require": "./dist/sesame-components.cjs.js"
19
+ }
20
+ },
16
21
  "keywords": [
17
22
  "component",
18
23
  "npm",
19
24
  "typescript"
20
25
  ],
21
- "devDependencies": {
22
- "@types/react": "^19.2.13",
23
- "@types/react-dom": "^19.2.3",
24
- "react": "^19.2.4",
25
- "react-dom": "^19.2.4",
26
- "typescript": "^5.9.3"
27
- },
28
26
  "dependencies": {
27
+ "@floating-ui/react": "^0.27.15",
28
+ "@fontsource/inter": "^5.2.6"
29
+ },
30
+ "devDependencies": {
31
+ "@chromatic-com/storybook": "^4.1.1",
32
+ "@commitlint/cli": "^19.8.1",
33
+ "@commitlint/config-conventional": "^19.8.1",
34
+ "@emotion/babel-plugin": "^11.13.5",
29
35
  "@emotion/react": "^11.14.0",
30
- "@emotion/styled": "^11.14.1"
36
+ "@emotion/styled": "^11.14.1",
37
+ "@storybook/addon-a11y": "^9.1.5",
38
+ "@storybook/addon-docs": "^9.1.5",
39
+ "@storybook/addon-themes": "^9.1.5",
40
+ "@storybook/addon-vitest": "^9.1.5",
41
+ "@storybook/react": "^9.1.5",
42
+ "@storybook/react-vite": "^9.1.5",
43
+ "@testing-library/dom": "^10.4.1",
44
+ "@testing-library/react": "^16.3.0",
45
+ "@testing-library/user-event": "^14.6.1",
46
+ "@types/node": "^24.1.0",
47
+ "@types/react": "^19.1.9",
48
+ "@types/react-dom": "^19.1.7",
49
+ "@typescript-eslint/eslint-plugin": "^8.38.0",
50
+ "@typescript-eslint/parser": "^8.38.0",
51
+ "@vitejs/plugin-react": "^5.0.2",
52
+ "@vitest/browser": "^3.2.4",
53
+ "@vitest/coverage-v8": "^3.2.4",
54
+ "@vitest/eslint-plugin": "^1.3.6",
55
+ "@vitest/ui": "^3.2.4",
56
+ "cypress": "^14.5.3",
57
+ "esbuild": "^0.25.9",
58
+ "eslint": "^9.32.0",
59
+ "eslint-config-prettier": "^10.1.8",
60
+ "eslint-import-resolver-alias": "^1.1.2",
61
+ "eslint-import-resolver-typescript": "^4.4.4",
62
+ "eslint-plugin-import": "^2.32.0",
63
+ "eslint-plugin-jsx-a11y": "^6.10.2",
64
+ "eslint-plugin-react": "^7.37.5",
65
+ "eslint-plugin-react-hooks": "^5.2.0",
66
+ "eslint-plugin-storybook": "^9.1.1",
67
+ "husky": "^9.1.7",
68
+ "jsdom": "^26.1.0",
69
+ "mkdirp": "^3.0.1",
70
+ "playwright": "^1.54.2",
71
+ "prettier": "^3.6.2",
72
+ "react": "^19.1.1",
73
+ "react-dom": "^19.1.1",
74
+ "storybook": "^9.1.1",
75
+ "svgo": "^4.0.0",
76
+ "ts-node": "^10.9.2",
77
+ "typescript": "~5.8.3",
78
+ "vite": "^7.0.6",
79
+ "vite-plugin-dts": "^4.5.4",
80
+ "vite-plugin-svgr": "^4.5.0",
81
+ "vitest": "^3.2.4"
82
+ },
83
+ "peerDependencies": {
84
+ "@emotion/react": ">=11.14.0",
85
+ "@emotion/styled": ">=11.14.1",
86
+ "react": ">=19.0.0",
87
+ "react-dom": ">=19.0.0"
31
88
  }
32
89
  }
@@ -1,13 +1,20 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.StyledButton = void 0;
7
- const react_1 = require("@emotion/react");
8
- const styled_1 = __importDefault(require("@emotion/styled"));
9
- const variants = ({ theme, $variant, $selected, }) => ({
10
- primary: (0, react_1.css) `
1
+ import { type SerializedStyles, css } from '@emotion/react';
2
+ import styled from '@emotion/styled';
3
+ import type { Theme } from '../theme';
4
+ // import { activeSelector } from '../../utils/styleHelpers';
5
+ import type { ButtonSize, ButtonVariant } from './Button';
6
+
7
+ const variants = ({
8
+ theme,
9
+ $variant,
10
+ $selected,
11
+ }: {
12
+ theme: Theme;
13
+ $variant: ButtonVariant;
14
+ $selected?: boolean;
15
+ }): SerializedStyles =>
16
+ ({
17
+ primary: css`
11
18
  border-color: ${theme.colors.border.cta.primary.default};
12
19
  background: ${theme.colors.fill.cta.primary.default};
13
20
 
@@ -21,12 +28,12 @@ const variants = ({ theme, $variant, $selected, }) => ({
21
28
  background: ${theme.colors.fill.cta.primary.disabled};
22
29
  }
23
30
  `,
24
- secondary: (0, react_1.css) `
31
+ secondary: css`
25
32
  border-color: ${theme.colors.border.cta.secondary.default};
26
33
  background: ${theme.colors.fill.cta.secondary.default};
27
34
 
28
35
  ${$selected
29
- ? (0, react_1.css) `
36
+ ? css`
30
37
  background: ${theme.colors.fill.surface.highEmphasis};
31
38
 
32
39
  &,
@@ -34,7 +41,7 @@ const variants = ({ theme, $variant, $selected, }) => ({
34
41
  color: ${theme.colors.fill.icon.inverse.highEmphasis};
35
42
  }
36
43
  `
37
- : (0, react_1.css) `
44
+ : css`
38
45
  &:active {
39
46
  border-color: ${theme.colors.border.cta.secondary.pressed};
40
47
  background: ${theme.colors.fill.cta.secondary.pressed};
@@ -46,12 +53,12 @@ const variants = ({ theme, $variant, $selected, }) => ({
46
53
  background: ${theme.colors.fill.cta.secondary.disabled};
47
54
  }
48
55
  `,
49
- tertiary: (0, react_1.css) `
56
+ tertiary: css`
50
57
  border-color: ${theme.colors.border.cta.tertiary.default};
51
58
  background: ${theme.colors.fill.cta.tertiary.default};
52
59
 
53
60
  ${$selected
54
- ? (0, react_1.css) `
61
+ ? css`
55
62
  background: ${theme.colors.fill.surface.highEmphasis};
56
63
 
57
64
  &,
@@ -59,7 +66,7 @@ const variants = ({ theme, $variant, $selected, }) => ({
59
66
  color: ${theme.colors.fill.icon.inverse.highEmphasis};
60
67
  }
61
68
  `
62
- : (0, react_1.css) `
69
+ : css`
63
70
  &:active {
64
71
  border-color: ${theme.colors.border.cta.tertiary.pressed};
65
72
  background: ${theme.colors.fill.cta.tertiary.pressed};
@@ -70,10 +77,10 @@ const variants = ({ theme, $variant, $selected, }) => ({
70
77
  background: ${theme.colors.fill.cta.tertiary.disabled};
71
78
  }
72
79
  `,
73
- ghost: (0, react_1.css) `
80
+ ghost: css`
74
81
  background: ${theme.colors.fill.cta.ghost.default};
75
82
  `,
76
- error: (0, react_1.css) `
83
+ error: css`
77
84
  border-color: ${theme.colors.border.cta.critical.default};
78
85
  background: ${theme.colors.fill.cta.critical.default};
79
86
 
@@ -92,7 +99,7 @@ const variants = ({ theme, $variant, $selected, }) => ({
92
99
  }
93
100
  }
94
101
  `,
95
- success: (0, react_1.css) `
102
+ success: css`
96
103
  border-color: ${theme.colors.border.cta.success.default};
97
104
  background: ${theme.colors.fill.cta.success.default};
98
105
 
@@ -111,7 +118,7 @@ const variants = ({ theme, $variant, $selected, }) => ({
111
118
  }
112
119
  }
113
120
  `,
114
- keypad: (0, react_1.css) `
121
+ keypad: css`
115
122
  border-color: ${theme.colors.border.cta.secondary.default};
116
123
  background: ${theme.colors.fill.cta.secondary.default};
117
124
  border-radius: ${theme.radii.s};
@@ -129,29 +136,45 @@ const variants = ({ theme, $variant, $selected, }) => ({
129
136
  background: ${theme.colors.fill.cta.secondary.disabled};
130
137
  }
131
138
  `,
132
- })[$variant];
133
- const sizes = ({ theme, $variant, $size, }) => {
134
- if ($variant === 'keypad') {
135
- return (0, react_1.css) `
139
+ })[$variant];
140
+
141
+ const sizes = ({
142
+ theme,
143
+ $variant,
144
+ $size,
145
+ }: {
146
+ theme: Theme;
147
+ $variant: ButtonVariant;
148
+ $size: ButtonSize;
149
+ }): SerializedStyles => {
150
+ if ($variant === 'keypad') {
151
+ return css`
136
152
  height: ${theme.height.button.posButton.l.fixed};
137
153
  min-height: ${theme.height.button.posButton.l.fixed};
138
154
  max-height: ${theme.height.button.posButton.l.fixed};
139
155
  width: 100%;
140
156
  `;
141
- }
142
- const buttonHeight = theme.height.button.posButton[$size];
143
- const buttonWidth = theme.width.button.posButton[$size];
144
- return (0, react_1.css) `
157
+ }
158
+
159
+ const buttonHeight = theme.height.button.posButton[$size];
160
+ const buttonWidth = theme.width.button.posButton[$size as 'l'];
161
+ return css`
145
162
  height: ${buttonHeight.fixed};
146
163
  min-height: ${buttonHeight.min};
147
164
  max-height: ${buttonHeight.max};
148
165
  ${buttonWidth &&
149
- (0, react_1.css) `
166
+ css`
150
167
  min-width: ${buttonWidth.min};
151
168
  `}
152
169
  `;
153
170
  };
154
- exports.StyledButton = styled_1.default.button `
171
+
172
+ export const StyledButton = styled.button<{
173
+ $variant: ButtonVariant;
174
+ $size: ButtonSize;
175
+ $selected?: boolean;
176
+ $stretch?: boolean;
177
+ }>`
155
178
  display: inline-flex;
156
179
  align-items: center;
157
180
  justify-content: center;
@@ -0,0 +1,37 @@
1
+ import type { ButtonHTMLAttributes, FC, ReactNode } from 'react';
2
+ import type { Theme } from '../theme';
3
+ import { FlexCenter } from '../Common/FlexCenter';
4
+ import { StyledButton } from './Button.styles';
5
+ import React from 'react';
6
+
7
+ export type ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'ghost' | 'error' | 'success' | 'keypad';
8
+
9
+ export type ButtonSize = keyof Theme['height']['button']['posButton'];
10
+
11
+ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
12
+ children: ReactNode;
13
+ variant?: ButtonVariant;
14
+ size?: ButtonSize;
15
+ selected?: boolean;
16
+ leftIcon?: ReactNode;
17
+ rightIcon?: ReactNode;
18
+ stretch?: boolean;
19
+ }
20
+
21
+ export const Button: FC<ButtonProps> = ({
22
+ variant = 'primary',
23
+ size = 'm',
24
+ selected,
25
+ children,
26
+ leftIcon,
27
+ rightIcon,
28
+ stretch = false,
29
+ type = 'button',
30
+ ...rest
31
+ }) => (
32
+ <StyledButton type={type} $variant={variant} $size={size} $selected={selected} $stretch={stretch} {...rest}>
33
+ {leftIcon && <FlexCenter>{leftIcon}</FlexCenter>}
34
+ <FlexCenter>{children}</FlexCenter>
35
+ {rightIcon && <FlexCenter>{rightIcon}</FlexCenter>}
36
+ </StyledButton>
37
+ );
@@ -0,0 +1,7 @@
1
+ import styled from '@emotion/styled';
2
+
3
+ export const FlexCenter = styled.div`
4
+ display: flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ `;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import styled from '@emotion/styled';
3
+
4
+ export interface SesameComponentProps {
5
+ message?: string;
6
+ }
7
+
8
+ const StyledDiv = styled.div`
9
+ background-color: red;
10
+ font-weight: bold;
11
+ font-size: 33px;
12
+ `;
13
+
14
+ export const SesameComponent: React.FC<SesameComponentProps> = ({ message = "Hello, Sesame!" }) => {
15
+ return <StyledDiv>{message}</StyledDiv>;
16
+ };
@@ -0,0 +1,23 @@
1
+ import { ThemeProvider as EmotionThemeProvider } from '@emotion/react';
2
+ import { type FC, type ReactNode, useMemo } from 'react';
3
+ import { getSizedTheme } from './sizes/getSizedTheme';
4
+ import type { Theme } from './types';
5
+ import { useBreakpointSize } from './useBreakpointSize';
6
+ import React from 'react';
7
+
8
+ export interface ThemeProviderProps {
9
+ theme: Theme;
10
+ children: ReactNode;
11
+ }
12
+
13
+ const useSizedTheme = (theme: Theme): Theme => {
14
+ const size = useBreakpointSize();
15
+ return useMemo(() => {
16
+ return getSizedTheme(theme, size);
17
+ }, [size, theme]);
18
+ };
19
+
20
+ export const ThemeProvider: FC<ThemeProviderProps> = ({ theme, children }) => {
21
+ const sizedTheme = useSizedTheme(theme);
22
+ return <EmotionThemeProvider theme={sizedTheme}>{children}</EmotionThemeProvider>;
23
+ };
@@ -0,0 +1,223 @@
1
+ import type { Colors } from '../types';
2
+ import { primitiveColors } from './primitiveColors';
3
+
4
+ export const darkColors: Colors = {
5
+ fill: {
6
+ icon: {
7
+ common: {
8
+ highEmphasis: primitiveColors.grayscale.neutral['02'],
9
+ mediumEmphasis: primitiveColors.grayscale.neutral['03'],
10
+ active: primitiveColors.solids.gold['500'],
11
+ disabled: 'rgba(238, 232, 224, 0.6)',
12
+ },
13
+ inverse: {
14
+ highEmphasis: primitiveColors.grayscale.neutral['08'],
15
+ mediumEmphasis: primitiveColors.grayscale.neutral['06'],
16
+ disabled: primitiveColors.transparencies.black['60%'],
17
+ error: primitiveColors.solids.red['600'],
18
+ },
19
+ constantDark: {
20
+ highEmphasis: primitiveColors.grayscale.neutral['08'],
21
+ mediumEmphasis: primitiveColors.grayscale.neutral['06'],
22
+ disabled: primitiveColors.transparencies.black['60%'],
23
+ },
24
+ constantLight: {
25
+ highEmphasis: primitiveColors.grayscale.neutral['02'],
26
+ mediumEmphasis: primitiveColors.grayscale.neutral['03'],
27
+ disabled: 'rgba(252, 250, 247, 0.8)',
28
+ },
29
+ constantColor: {
30
+ purple: primitiveColors.solids.purple['400'],
31
+ red: primitiveColors.solids.red['500'],
32
+ yellow: primitiveColors.solids.yellow['500'],
33
+ green: primitiveColors.solids.greenDark['600'],
34
+ brown: primitiveColors.solids.brownWarm['600'],
35
+ orange: primitiveColors.solids.orange['500'],
36
+ lightBlue: primitiveColors.solids.blue['100'],
37
+ lightGreen: primitiveColors.solids.yellowGreen['300'],
38
+ lightYellow: primitiveColors.solids.gold['400'],
39
+ lightPink: primitiveColors.solids.fuchsia['100'],
40
+ lightGrey: primitiveColors.grayscale.neutral['02'],
41
+ },
42
+ notification: {
43
+ success: primitiveColors.solids.green['200'],
44
+ info: primitiveColors.solids.cyan['200'],
45
+ error: primitiveColors.solids.red['200'],
46
+ warning: primitiveColors.solids.orange['200'],
47
+ },
48
+ link: {
49
+ default: primitiveColors.solids.blue['300'],
50
+ hover: primitiveColors.solids.blue['200'],
51
+ pressed: primitiveColors.solids.blue['500'],
52
+ },
53
+ },
54
+ cta: {
55
+ primary: {
56
+ default: primitiveColors.solids.gold['500'],
57
+ pressed: primitiveColors.solids.gold['600'],
58
+ disabled: 'rgba(214, 155, 0, 0.4)',
59
+ },
60
+ secondary: {
61
+ default: primitiveColors.grayscale.neutral['09'],
62
+ pressed: primitiveColors.grayscale.neutral['10'],
63
+ disabled: 'rgba(33, 29, 23, 0.8)',
64
+ },
65
+ tertiary: {
66
+ default: primitiveColors.grayscale.neutral['10'],
67
+ pressed: primitiveColors.grayscale.neutral['11'],
68
+ disabled: 'rgba(9, 9, 9, 0.9)',
69
+ },
70
+ ghost: {
71
+ default: primitiveColors.transparencies.white['0%'],
72
+ pressed: primitiveColors.grayscale.neutral['09'],
73
+ },
74
+ critical: {
75
+ default: primitiveColors.solids.red['500'],
76
+ pressed: primitiveColors.solids.red['700'],
77
+ disabled: 'rgba(219, 0, 7, 0.4)',
78
+ },
79
+ success: {
80
+ default: primitiveColors.solids.green['600'],
81
+ },
82
+ },
83
+ notification: {
84
+ general: 'rgba(238, 232, 224, 0.8)',
85
+ success: 'rgba(6, 143, 29, 0.8)',
86
+ info: 'rgba(27, 106, 136, 0.8)',
87
+ error: 'rgba(219, 0, 7, 0.8)',
88
+ warning: 'rgba(232, 114, 10, 0.8)',
89
+ },
90
+ surface: {
91
+ default: primitiveColors.grayscale.neutral['09'],
92
+ raised: primitiveColors.grayscale.neutral['08'],
93
+ sunken: primitiveColors.grayscale.neutral['10'],
94
+ disabled: 'rgba(33, 29, 23, 0.4)',
95
+ highEmphasis: primitiveColors.grayscale.neutral['02'],
96
+ overlay: 'rgba(33, 29, 23, 0.8)',
97
+ status: primitiveColors.solids.cyan['600'],
98
+ success: primitiveColors.solids.greenDark['600'],
99
+ critical: primitiveColors.solids.red['400'],
100
+ warning: primitiveColors.solids.gold['600'],
101
+ brand: {
102
+ gold: primitiveColors.solids.gold['500'],
103
+ red: primitiveColors.solids.red['500'],
104
+ gray: primitiveColors.grayscale.neutral['06'],
105
+ },
106
+ constant: {
107
+ dark: primitiveColors.grayscale.neutral['08'],
108
+ light: primitiveColors.grayscale.neutral['01'],
109
+ },
110
+ constantColor: {
111
+ blue: primitiveColors.solids.blueDark['400'],
112
+ red: primitiveColors.solids.red['600'],
113
+ purple: primitiveColors.solids.indigo['400'],
114
+ yellow: primitiveColors.solids.gold['600'],
115
+ green: primitiveColors.solids.yellowGreen['600'],
116
+ gold: primitiveColors.solids.gold['400'],
117
+ },
118
+ },
119
+ },
120
+ border: {
121
+ cta: {
122
+ primary: {
123
+ default: primitiveColors.solids.gold['400'],
124
+ pressed: primitiveColors.solids.gold['400'],
125
+ disabled: 'rgba(133, 96, 0, 0.4)',
126
+ },
127
+ secondary: {
128
+ default: primitiveColors.solids.grey['700'],
129
+ pressed: primitiveColors.grayscale.neutral['06'],
130
+ disabled: 'rgba(61, 61, 61, 0.8)',
131
+ },
132
+ tertiary: {
133
+ default: primitiveColors.solids.grey['600'],
134
+ pressed: primitiveColors.solids.grey['500'],
135
+ disabled: primitiveColors.solids.grey['700'],
136
+ },
137
+ critical: {
138
+ default: primitiveColors.solids.red['400'],
139
+ pressed: primitiveColors.solids.red['300'],
140
+ disabled: 'rgba(236, 49, 55, 0.4)',
141
+ },
142
+ success: {
143
+ default: primitiveColors.solids.greenDark['500'],
144
+ },
145
+ },
146
+ fields: {
147
+ default: primitiveColors.grayscale.neutral['05'],
148
+ active: primitiveColors.grayscale.neutral['04'],
149
+ filled: primitiveColors.grayscale.neutral['05'],
150
+ disabled: 'rgba(107, 98, 89, 0.5)',
151
+ error: primitiveColors.solids.red['500'],
152
+ success: primitiveColors.solids.green['200'],
153
+ },
154
+ elements: {
155
+ divider: {
156
+ highEmphasis: primitiveColors.grayscale.neutral['02'],
157
+ mediumEmphasis: primitiveColors.grayscale.neutral['07'],
158
+ },
159
+ },
160
+ states: {
161
+ focus: primitiveColors.grayscale.neutral['00'],
162
+ selected: primitiveColors.solids.gold['500'],
163
+ disabled: primitiveColors.grayscale.neutral['06'],
164
+ },
165
+ container: {
166
+ highEmphasis: primitiveColors.grayscale.neutral['02'],
167
+ mediumEmphasis: primitiveColors.solids.grey['700'],
168
+ lowEmphasis: primitiveColors.grayscale.neutral['08'],
169
+ inverseHigh: primitiveColors.grayscale.neutral['08'],
170
+ inverseMedium: primitiveColors.solids.tan['300'],
171
+ constantLight: primitiveColors.grayscale.neutral['02'],
172
+ constantDark: primitiveColors.grayscale.neutral['08'],
173
+ constantColor: {
174
+ blue: primitiveColors.solids.blueDark['500'],
175
+ purple: primitiveColors.solids.indigo['600'],
176
+ red: primitiveColors.solids.red['700'],
177
+ yellow: primitiveColors.solids.gold['700'],
178
+ green: primitiveColors.solids.yellowGreen['700'],
179
+ gold: primitiveColors.solids.gold['400'],
180
+ },
181
+ },
182
+ common: {
183
+ highEmphasis: primitiveColors.grayscale.neutral['04'],
184
+ mediumEmphasis: primitiveColors.grayscale.neutral['06'],
185
+ },
186
+ },
187
+ text: {
188
+ common: {
189
+ highContrast: primitiveColors.grayscale.neutral['00'],
190
+ highEmphasis: primitiveColors.grayscale.neutral['02'],
191
+ mediumEmphasis: primitiveColors.grayscale.neutral['03'],
192
+ disabled: 'rgba(238, 232, 224, 0.6)',
193
+ success: primitiveColors.solids.green['300'],
194
+ info: primitiveColors.solids.cyan['100'],
195
+ error: primitiveColors.solids.red['100'],
196
+ warning: primitiveColors.solids.orange['300'],
197
+ },
198
+ inverse: {
199
+ highContrast: primitiveColors.grayscale.neutral['11'],
200
+ highEmphasis: primitiveColors.grayscale.neutral['08'],
201
+ mediumEmphasis: primitiveColors.grayscale.neutral['07'],
202
+ disabled: 'rgba(13, 12, 12, 0.7)',
203
+ },
204
+ constantDark: {
205
+ highContrast: primitiveColors.grayscale.neutral['11'],
206
+ highEmphasis: primitiveColors.grayscale.neutral['08'],
207
+ mediumEmphasis: primitiveColors.grayscale.neutral['07'],
208
+ disabled: primitiveColors.transparencies.black['70%'],
209
+ },
210
+ constantLight: {
211
+ highContrast: primitiveColors.grayscale.neutral['00'],
212
+ highEmphasis: primitiveColors.grayscale.neutral['02'],
213
+ mediumEmphasis: primitiveColors.grayscale.neutral['03'],
214
+ disabled: 'rgba(252, 250, 247, 0.8)',
215
+ },
216
+ link: {
217
+ default: primitiveColors.solids.blue['300'],
218
+ hover: primitiveColors.solids.blue['200'],
219
+ pressed: primitiveColors.solids.blue['500'],
220
+ inactive: primitiveColors.grayscale.neutral['04'],
221
+ },
222
+ },
223
+ };