elseware-ui 3.0.11 → 3.0.13

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.
@@ -167,10 +167,21 @@ interface BaseComponentProps<T extends HTMLElement = HTMLDivElement> extends Omi
167
167
  }
168
168
 
169
169
  type ButtonMode = "contained" | "contained-tonal" | "outlined" | "text";
170
+ /**
171
+ * An icon can be a ready element or a render function that receives the
172
+ * resolved icon color and size, so the same icon adapts to every button size.
173
+ */
170
174
  type ButtonIcon = ReactNode | ((props: {
171
175
  color: string;
172
176
  size: number;
173
177
  }) => ReactNode);
178
+ /** Cross-platform accessibility state (a subset shared by web + React Native). */
179
+ interface ButtonAccessibilityState {
180
+ selected?: boolean;
181
+ disabled?: boolean;
182
+ busy?: boolean;
183
+ expanded?: boolean;
184
+ }
174
185
  interface ButtonProps extends Omit<BaseComponentProps<HTMLButtonElement>, "style"> {
175
186
  type?: "button" | "submit" | "reset";
176
187
  icon?: ButtonIcon;
@@ -180,6 +191,7 @@ interface ButtonProps extends Omit<BaseComponentProps<HTMLButtonElement>, "style
180
191
  disabled?: boolean;
181
192
  block?: boolean;
182
193
  compact?: boolean;
194
+ /** Web-only pointer glow. Native accepts and ignores it to keep one contract. */
183
195
  glow?: boolean;
184
196
  mode?: ButtonMode;
185
197
  contentClassName?: string;
@@ -190,7 +202,7 @@ interface ButtonProps extends Omit<BaseComponentProps<HTMLButtonElement>, "style
190
202
  size?: Size;
191
203
  accessibilityLabel?: string;
192
204
  accessibilityRole?: string;
193
- accessibilityState?: unknown;
205
+ accessibilityState?: ButtonAccessibilityState;
194
206
  testID?: string;
195
207
  onPress?: () => void;
196
208
  }
@@ -167,10 +167,21 @@ interface BaseComponentProps<T extends HTMLElement = HTMLDivElement> extends Omi
167
167
  }
168
168
 
169
169
  type ButtonMode = "contained" | "contained-tonal" | "outlined" | "text";
170
+ /**
171
+ * An icon can be a ready element or a render function that receives the
172
+ * resolved icon color and size, so the same icon adapts to every button size.
173
+ */
170
174
  type ButtonIcon = ReactNode | ((props: {
171
175
  color: string;
172
176
  size: number;
173
177
  }) => ReactNode);
178
+ /** Cross-platform accessibility state (a subset shared by web + React Native). */
179
+ interface ButtonAccessibilityState {
180
+ selected?: boolean;
181
+ disabled?: boolean;
182
+ busy?: boolean;
183
+ expanded?: boolean;
184
+ }
174
185
  interface ButtonProps extends Omit<BaseComponentProps<HTMLButtonElement>, "style"> {
175
186
  type?: "button" | "submit" | "reset";
176
187
  icon?: ButtonIcon;
@@ -180,6 +191,7 @@ interface ButtonProps extends Omit<BaseComponentProps<HTMLButtonElement>, "style
180
191
  disabled?: boolean;
181
192
  block?: boolean;
182
193
  compact?: boolean;
194
+ /** Web-only pointer glow. Native accepts and ignores it to keep one contract. */
183
195
  glow?: boolean;
184
196
  mode?: ButtonMode;
185
197
  contentClassName?: string;
@@ -190,7 +202,7 @@ interface ButtonProps extends Omit<BaseComponentProps<HTMLButtonElement>, "style
190
202
  size?: Size;
191
203
  accessibilityLabel?: string;
192
204
  accessibilityRole?: string;
193
- accessibilityState?: unknown;
205
+ accessibilityState?: ButtonAccessibilityState;
194
206
  testID?: string;
195
207
  onPress?: () => void;
196
208
  }
package/package.json CHANGED
@@ -1,173 +1,173 @@
1
- {
2
- "name": "elseware-ui",
3
- "version": "3.0.11",
4
- "private": false,
5
- "description": "A modern and customizable React UI component library by elseware Technology.",
6
- "keywords": [
7
- "react",
8
- "ui-library",
9
- "component-library",
10
- "tailwind",
11
- "design-system",
12
- "elseware",
13
- "elseware-technology"
14
- ],
15
- "repository": {
16
- "type": "git",
17
- "url": "https://github.com/elseware-technology/elseware-ui.git"
18
- },
19
- "author": "elseware Technology",
20
- "license": "MIT",
21
- "main": "./dist/index.js",
22
- "module": "./dist/index.mjs",
23
- "react-native": "./dist/index.native.js",
24
- "types": "./dist/index.d.ts",
25
- "exports": {
26
- ".": {
27
- "react-native": {
28
- "types": "./dist/index.native.d.ts",
29
- "import": "./dist/index.native.mjs",
30
- "require": "./dist/index.native.js"
31
- },
32
- "types": "./dist/index.d.ts",
33
- "import": "./dist/index.mjs",
34
- "require": "./dist/index.js"
35
- },
36
- "./native": {
37
- "types": "./dist/index.native.d.ts",
38
- "import": "./dist/index.native.mjs",
39
- "require": "./dist/index.native.js"
40
- },
41
- "./tailwind": "./tailwind.preset.js",
42
- "./styles.css": "./dist/index.css"
43
- },
44
- "files": [
45
- "dist",
46
- "tailwind.preset.js"
47
- ],
48
- "sideEffects": [
49
- "**/*.css"
50
- ],
51
- "publishConfig": {
52
- "access": "public"
53
- },
54
- "scripts": {
55
- "dev": "storybook dev -p 6006",
56
- "build": "tsup",
57
- "build:storybook": "storybook build",
58
- "clean": "rimraf dist node_modules/.cache storybook-static coverage",
59
- "typecheck": "tsc --noEmit",
60
- "lint": "eslint .",
61
- "lint:fix": "eslint . --fix",
62
- "format": "prettier . --write",
63
- "format:check": "prettier . --check",
64
- "deadcode": "knip",
65
- "validate": "npm run typecheck && npm run lint && npm run format:check && npm run build",
66
- "prepare": "npm run build",
67
- "prepare:husky": "husky",
68
- "release": "npm publish --access public",
69
- "full": "npm run lint:fix && npm run format && npm run validate"
70
- },
71
- "peerDependencies": {
72
- "formik": ">=2.4.0 <3",
73
- "yup": ">=1.3.0 <2",
74
- "react": ">=18.3.1 <20",
75
- "react-dom": ">=18.3.1 <20",
76
- "react-native": "*",
77
- "nativewind": ">=4.0.0 <5",
78
- "tailwindcss": ">=3.0.0"
79
- },
80
- "peerDependenciesMeta": {
81
- "nativewind": {
82
- "optional": true
83
- },
84
- "react-native": {
85
- "optional": true
86
- }
87
- },
88
- "dependencies": {
89
- "@codemirror/lang-markdown": "^6.5.0",
90
- "@codemirror/theme-one-dark": "^6.1.3",
91
- "@mdxeditor/editor": "^4.0.4",
92
- "@uiw/react-codemirror": "^4.25.10",
93
- "classnames": "^2.5.1",
94
- "cloudinary-react": "^1.8.1",
95
- "d3": "^7.9.0",
96
- "d3-force": "^3.0.0",
97
- "emoji-flags": "^1.3.0",
98
- "framer-motion": "^12.23.24",
99
- "react-beautiful-dnd": "^13.1.1",
100
- "react-icons": "^4.12.0",
101
- "react-markdown": "^10.1.0",
102
- "react-simple-maps": "^3.0.0",
103
- "react-syntax-highlighter": "^16.1.1",
104
- "react-world-flags": "^1.6.0",
105
- "recharts": "^3.8.1",
106
- "rehype-raw": "^7.0.0",
107
- "rehype-sanitize": "^6.0.0",
108
- "remark-gfm": "^4.0.1",
109
- "tailwind-merge": "^3.5.0"
110
- },
111
- "devDependencies": {
112
- "@eslint/js": "^9.39.4",
113
- "@storybook/addon-essentials": "^8.5.0",
114
- "@storybook/addon-interactions": "^8.5.0",
115
- "@storybook/addon-links": "^8.5.0",
116
- "@storybook/addon-onboarding": "^8.5.0",
117
- "@storybook/blocks": "^8.5.0",
118
- "@storybook/react": "^8.5.0",
119
- "@storybook/react-vite": "^8.5.0",
120
- "@storybook/test": "^8.5.0",
121
- "@types/d3": "^7.4.3",
122
- "@types/d3-force": "^3.0.10",
123
- "@types/emoji-flags": "^1.3.3",
124
- "@types/jest": "^30.0.0",
125
- "@types/node": "^24.0.3",
126
- "@types/react": "^18.3.12",
127
- "@types/react-beautiful-dnd": "^13.1.8",
128
- "@types/react-dom": "^18.3.1",
129
- "@types/react-simple-maps": "^3.0.6",
130
- "@types/react-syntax-highlighter": "^15.5.13",
131
- "@types/react-world-flags": "^1.6.0",
132
- "autoprefixer": "^10.4.16",
133
- "cssnano": "^6.0.3",
134
- "eslint": "^9.39.4",
135
- "eslint-config-prettier": "^10.1.8",
136
- "eslint-plugin-react": "^7.37.5",
137
- "eslint-plugin-react-hooks": "^7.1.1",
138
- "eslint-plugin-storybook": "^0.11.6",
139
- "formik": "^2.4.9",
140
- "globals": "^16.5.0",
141
- "husky": "^9.1.7",
142
- "knip": "^6.15.0",
143
- "lint-staged": "^17.0.7",
144
- "nativewind": "^4.2.6",
145
- "path": "^0.12.7",
146
- "postcss": "^8.4.33",
147
- "prettier": "^3.8.3",
148
- "prop-types": "^15.8.1",
149
- "react": "^18.3.1",
150
- "react-dom": "^18.3.1",
151
- "react-native": "0.75.2",
152
- "react-native-css-interop": "0.2.6",
153
- "react-native-reanimated": "3.10.1",
154
- "react-native-web": "^0.21.2",
155
- "rimraf": "^6.0.1",
156
- "storybook": "^8.5.0",
157
- "tailwindcss": "^3.4.1",
158
- "tslib": "^2.8.1",
159
- "tsup": "^8.5.1",
160
- "typescript": "^5.9.3",
161
- "typescript-eslint": "^8.61.1",
162
- "yup": "^1.7.1"
163
- },
164
- "lint-staged": {
165
- "*.{js,jsx,ts,tsx,mjs,cjs}": [
166
- "eslint --fix",
167
- "prettier --write"
168
- ],
169
- "*.{json,md,css,yml,yaml}": [
170
- "prettier --write"
171
- ]
172
- }
173
- }
1
+ {
2
+ "name": "elseware-ui",
3
+ "version": "3.0.13",
4
+ "private": false,
5
+ "description": "A modern and customizable React UI component library by elseware Technology.",
6
+ "keywords": [
7
+ "react",
8
+ "ui-library",
9
+ "component-library",
10
+ "tailwind",
11
+ "design-system",
12
+ "elseware",
13
+ "elsewaretechnology"
14
+ ],
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/elsewaretechnology/elseware-ui.git"
18
+ },
19
+ "author": "elseware Technology",
20
+ "license": "MIT",
21
+ "main": "./dist/index.js",
22
+ "module": "./dist/index.mjs",
23
+ "react-native": "./dist/index.native.js",
24
+ "types": "./dist/index.d.ts",
25
+ "exports": {
26
+ ".": {
27
+ "react-native": {
28
+ "types": "./dist/index.native.d.ts",
29
+ "import": "./dist/index.native.mjs",
30
+ "require": "./dist/index.native.js"
31
+ },
32
+ "types": "./dist/index.d.ts",
33
+ "import": "./dist/index.mjs",
34
+ "require": "./dist/index.js"
35
+ },
36
+ "./native": {
37
+ "types": "./dist/index.native.d.ts",
38
+ "import": "./dist/index.native.mjs",
39
+ "require": "./dist/index.native.js"
40
+ },
41
+ "./tailwind": "./tailwind.preset.js",
42
+ "./styles.css": "./dist/index.css"
43
+ },
44
+ "files": [
45
+ "dist",
46
+ "tailwind.preset.js"
47
+ ],
48
+ "sideEffects": [
49
+ "**/*.css"
50
+ ],
51
+ "publishConfig": {
52
+ "access": "public"
53
+ },
54
+ "scripts": {
55
+ "dev": "storybook dev -p 6006",
56
+ "build": "tsup",
57
+ "build:storybook": "storybook build",
58
+ "clean": "rimraf dist node_modules/.cache storybook-static coverage",
59
+ "typecheck": "tsc --noEmit",
60
+ "lint": "eslint .",
61
+ "lint:fix": "eslint . --fix",
62
+ "format": "prettier . --write",
63
+ "format:check": "prettier . --check",
64
+ "deadcode": "knip",
65
+ "validate": "npm run typecheck && npm run lint && npm run format:check && npm run build",
66
+ "prepare": "npm run build",
67
+ "prepare:husky": "husky",
68
+ "release": "npm publish --access public",
69
+ "full": "npm run lint:fix && npm run format && npm run validate"
70
+ },
71
+ "peerDependencies": {
72
+ "formik": ">=2.4.0 <3",
73
+ "yup": ">=1.3.0 <2",
74
+ "react": ">=18.3.1 <20",
75
+ "react-dom": ">=18.3.1 <20",
76
+ "react-native": "*",
77
+ "nativewind": ">=4.0.0 <5",
78
+ "tailwindcss": ">=3.0.0"
79
+ },
80
+ "peerDependenciesMeta": {
81
+ "nativewind": {
82
+ "optional": true
83
+ },
84
+ "react-native": {
85
+ "optional": true
86
+ }
87
+ },
88
+ "dependencies": {
89
+ "@codemirror/lang-markdown": "^6.5.0",
90
+ "@codemirror/theme-one-dark": "^6.1.3",
91
+ "@mdxeditor/editor": "^4.0.4",
92
+ "@uiw/react-codemirror": "^4.25.10",
93
+ "classnames": "^2.5.1",
94
+ "cloudinary-react": "^1.8.1",
95
+ "d3": "^7.9.0",
96
+ "d3-force": "^3.0.0",
97
+ "emoji-flags": "^1.3.0",
98
+ "framer-motion": "^12.23.24",
99
+ "react-beautiful-dnd": "^13.1.1",
100
+ "react-icons": "^4.12.0",
101
+ "react-markdown": "^10.1.0",
102
+ "react-simple-maps": "^3.0.0",
103
+ "react-syntax-highlighter": "^16.1.1",
104
+ "react-world-flags": "^1.6.0",
105
+ "recharts": "^3.8.1",
106
+ "rehype-raw": "^7.0.0",
107
+ "rehype-sanitize": "^6.0.0",
108
+ "remark-gfm": "^4.0.1",
109
+ "tailwind-merge": "^3.5.0"
110
+ },
111
+ "devDependencies": {
112
+ "@eslint/js": "^9.39.4",
113
+ "@storybook/addon-essentials": "^8.5.0",
114
+ "@storybook/addon-interactions": "^8.5.0",
115
+ "@storybook/addon-links": "^8.5.0",
116
+ "@storybook/addon-onboarding": "^8.5.0",
117
+ "@storybook/blocks": "^8.5.0",
118
+ "@storybook/react": "^8.5.0",
119
+ "@storybook/react-vite": "^8.5.0",
120
+ "@storybook/test": "^8.5.0",
121
+ "@types/d3": "^7.4.3",
122
+ "@types/d3-force": "^3.0.10",
123
+ "@types/emoji-flags": "^1.3.3",
124
+ "@types/jest": "^30.0.0",
125
+ "@types/node": "^24.0.3",
126
+ "@types/react": "^18.3.12",
127
+ "@types/react-beautiful-dnd": "^13.1.8",
128
+ "@types/react-dom": "^18.3.1",
129
+ "@types/react-simple-maps": "^3.0.6",
130
+ "@types/react-syntax-highlighter": "^15.5.13",
131
+ "@types/react-world-flags": "^1.6.0",
132
+ "autoprefixer": "^10.4.16",
133
+ "cssnano": "^6.0.3",
134
+ "eslint": "^9.39.4",
135
+ "eslint-config-prettier": "^10.1.8",
136
+ "eslint-plugin-react": "^7.37.5",
137
+ "eslint-plugin-react-hooks": "^7.1.1",
138
+ "eslint-plugin-storybook": "^0.11.6",
139
+ "formik": "^2.4.9",
140
+ "globals": "^16.5.0",
141
+ "husky": "^9.1.7",
142
+ "knip": "^6.15.0",
143
+ "lint-staged": "^17.0.7",
144
+ "nativewind": "^4.2.6",
145
+ "path": "^0.12.7",
146
+ "postcss": "^8.4.33",
147
+ "prettier": "^3.8.3",
148
+ "prop-types": "^15.8.1",
149
+ "react": "^18.3.1",
150
+ "react-dom": "^18.3.1",
151
+ "react-native": "0.75.2",
152
+ "react-native-css-interop": "0.2.6",
153
+ "react-native-reanimated": "3.10.1",
154
+ "react-native-web": "^0.21.2",
155
+ "rimraf": "^6.0.1",
156
+ "storybook": "^8.5.0",
157
+ "tailwindcss": "^3.4.1",
158
+ "tslib": "^2.8.1",
159
+ "tsup": "^8.5.1",
160
+ "typescript": "^5.9.3",
161
+ "typescript-eslint": "^8.61.1",
162
+ "yup": "^1.7.1"
163
+ },
164
+ "lint-staged": {
165
+ "*.{js,jsx,ts,tsx,mjs,cjs}": [
166
+ "eslint --fix",
167
+ "prettier --write"
168
+ ],
169
+ "*.{json,md,css,yml,yaml}": [
170
+ "prettier --write"
171
+ ]
172
+ }
173
+ }
@@ -1,116 +1,116 @@
1
- module.exports = {
2
- darkMode: "class",
3
- theme: {
4
- extend: {
5
- colors: {
6
- "eui-primary": {
7
- 50: "#e6e8ec",
8
- 100: "#c3c8d2",
9
- 200: "#9aa2b3",
10
- 300: "#707a93",
11
- 400: "#4c5673",
12
- 500: "#00040f",
13
- 600: "#00030d",
14
- 700: "#00020a",
15
- 800: "#000106",
16
- 900: "#000003",
17
- },
18
- "eui-secondary": {
19
- 50: "#e6ffcc",
20
- 100: "#c0ff8c",
21
- 200: "#a3ff5f",
22
- 300: "#7aff2f",
23
- 400: "#64e245",
24
- 500: "#4cd900",
25
- 600: "#17b800",
26
- 700: "#149900",
27
- 800: "#107a00",
28
- 900: "#0a5a00",
29
- },
30
- "eui-success": {
31
- 50: "#b0e8d0",
32
- 100: "#8ddbb9",
33
- 200: "#6bcfa2",
34
- 300: "#48c28b",
35
- 400: "#26b674",
36
- 500: "#198754",
37
- 600: "#146b42",
38
- 700: "#0f4e31",
39
- 800: "#0a321f",
40
- 900: "#05170e",
41
- },
42
- "eui-danger": {
43
- 50: "#f9c3c7",
44
- 100: "#f49aa1",
45
- 200: "#ef717b",
46
- 300: "#ea4855",
47
- 400: "#e51f2f",
48
- 500: "#dc3545",
49
- 600: "#af2a37",
50
- 700: "#821f29",
51
- 800: "#56151b",
52
- 900: "#2a0a0e",
53
- },
54
- "eui-warning": {
55
- 50: "#fff3cd",
56
- 100: "#ffe89b",
57
- 200: "#ffdc69",
58
- 300: "#ffd137",
59
- 400: "#ffc606",
60
- 500: "#ffc107",
61
- 600: "#cc9905",
62
- 700: "#997104",
63
- 800: "#664902",
64
- 900: "#332401",
65
- },
66
- "eui-info": {
67
- 50: "#a7effa",
68
- 100: "#82e6f8",
69
- 200: "#5dddf6",
70
- 300: "#38d3f4",
71
- 400: "#14caf2",
72
- 500: "#0dcaf0",
73
- 600: "#0aa0c0",
74
- 700: "#087690",
75
- 800: "#054c60",
76
- 900: "#032330",
77
- },
78
- "eui-light": {
79
- 50: "#ffffff",
80
- 100: "#fefefe",
81
- 200: "#fdfdfd",
82
- 300: "#fcfcfc",
83
- 400: "#fbfbfb",
84
- 500: "#f8f9fa",
85
- 600: "#c6c7c8",
86
- 700: "#949596",
87
- 800: "#626263",
88
- 900: "#313132",
89
- },
90
- "eui-dark": {
91
- 50: "#9ea1a4",
92
- 100: "#868a8d",
93
- 200: "#6f7376",
94
- 300: "#575c5f",
95
- 400: "#404547",
96
- 500: "#212529",
97
- 600: "#1a1d20",
98
- 700: "#141618",
99
- 800: "#0d0e10",
100
- 900: "#070708",
101
- },
102
- },
103
- transitionDuration: {
104
- 120: "120ms",
105
- 180: "180ms",
106
- 240: "240ms",
107
- 250: "250ms",
108
- },
109
- },
110
- fontFamily: { poppins: ["Poppins", "sans-serif"] },
111
- },
112
- variants: {
113
- extend: {},
114
- },
115
- plugins: [],
116
- };
1
+ module.exports = {
2
+ darkMode: "class",
3
+ theme: {
4
+ extend: {
5
+ colors: {
6
+ "eui-primary": {
7
+ 50: "#e6e8ec",
8
+ 100: "#c3c8d2",
9
+ 200: "#9aa2b3",
10
+ 300: "#707a93",
11
+ 400: "#4c5673",
12
+ 500: "#00040f",
13
+ 600: "#00030d",
14
+ 700: "#00020a",
15
+ 800: "#000106",
16
+ 900: "#000003",
17
+ },
18
+ "eui-secondary": {
19
+ 50: "#e6ffcc",
20
+ 100: "#c0ff8c",
21
+ 200: "#a3ff5f",
22
+ 300: "#7aff2f",
23
+ 400: "#64e245",
24
+ 500: "#4cd900",
25
+ 600: "#17b800",
26
+ 700: "#149900",
27
+ 800: "#107a00",
28
+ 900: "#0a5a00",
29
+ },
30
+ "eui-success": {
31
+ 50: "#b0e8d0",
32
+ 100: "#8ddbb9",
33
+ 200: "#6bcfa2",
34
+ 300: "#48c28b",
35
+ 400: "#26b674",
36
+ 500: "#198754",
37
+ 600: "#146b42",
38
+ 700: "#0f4e31",
39
+ 800: "#0a321f",
40
+ 900: "#05170e",
41
+ },
42
+ "eui-danger": {
43
+ 50: "#f9c3c7",
44
+ 100: "#f49aa1",
45
+ 200: "#ef717b",
46
+ 300: "#ea4855",
47
+ 400: "#e51f2f",
48
+ 500: "#dc3545",
49
+ 600: "#af2a37",
50
+ 700: "#821f29",
51
+ 800: "#56151b",
52
+ 900: "#2a0a0e",
53
+ },
54
+ "eui-warning": {
55
+ 50: "#fff3cd",
56
+ 100: "#ffe89b",
57
+ 200: "#ffdc69",
58
+ 300: "#ffd137",
59
+ 400: "#ffc606",
60
+ 500: "#ffc107",
61
+ 600: "#cc9905",
62
+ 700: "#997104",
63
+ 800: "#664902",
64
+ 900: "#332401",
65
+ },
66
+ "eui-info": {
67
+ 50: "#a7effa",
68
+ 100: "#82e6f8",
69
+ 200: "#5dddf6",
70
+ 300: "#38d3f4",
71
+ 400: "#14caf2",
72
+ 500: "#0dcaf0",
73
+ 600: "#0aa0c0",
74
+ 700: "#087690",
75
+ 800: "#054c60",
76
+ 900: "#032330",
77
+ },
78
+ "eui-light": {
79
+ 50: "#ffffff",
80
+ 100: "#fefefe",
81
+ 200: "#fdfdfd",
82
+ 300: "#fcfcfc",
83
+ 400: "#fbfbfb",
84
+ 500: "#f8f9fa",
85
+ 600: "#c6c7c8",
86
+ 700: "#949596",
87
+ 800: "#626263",
88
+ 900: "#313132",
89
+ },
90
+ "eui-dark": {
91
+ 50: "#9ea1a4",
92
+ 100: "#868a8d",
93
+ 200: "#6f7376",
94
+ 300: "#575c5f",
95
+ 400: "#404547",
96
+ 500: "#212529",
97
+ 600: "#1a1d20",
98
+ 700: "#141618",
99
+ 800: "#0d0e10",
100
+ 900: "#070708",
101
+ },
102
+ },
103
+ transitionDuration: {
104
+ 120: "120ms",
105
+ 180: "180ms",
106
+ 240: "240ms",
107
+ 250: "250ms",
108
+ },
109
+ },
110
+ fontFamily: { poppins: ["Poppins", "sans-serif"] },
111
+ },
112
+ variants: {
113
+ extend: {},
114
+ },
115
+ plugins: [],
116
+ };