@firecms/ui 3.0.0-beta.4.pre.2 → 3.0.0-beta.5
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.
- package/README.md +1 -1
- package/dist/components/Checkbox.d.ts +3 -3
- package/dist/components/DateTimeField.d.ts +2 -2
- package/dist/components/Markdown.d.ts +1 -0
- package/dist/components/Menu.d.ts +2 -1
- package/dist/components/RadioGroup.d.ts +25 -3
- package/dist/index.es.js +7212 -7188
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +10 -10
- package/dist/index.umd.js.map +1 -1
- package/dist/styles.d.ts +5 -5
- package/package.json +8 -6
- package/src/components/Checkbox.tsx +27 -22
- package/src/components/DateTimeField.tsx +4 -4
- package/src/components/ExpandablePanel.tsx +2 -1
- package/src/components/IconButton.tsx +1 -1
- package/src/components/InputLabel.tsx +2 -1
- package/src/components/Markdown.tsx +14 -3
- package/src/components/Menu.tsx +11 -5
- package/src/components/RadioGroup.tsx +37 -6
- package/src/components/Select.tsx +1 -1
- package/src/styles.ts +5 -5
- package/tailwind.config.js +71 -0
package/dist/styles.d.ts
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
export declare const focusedMixin = "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-opacity-75 focus-visible:ring-offset-2 focus-visible:ring-offset-transparent";
|
2
2
|
export declare const focusedInvisibleMixin = "focus:bg-opacity-70 focus:bg-slate-100 focus:dark:bg-gray-800 focus:dark:bg-opacity-60";
|
3
3
|
export declare const focusedClasses = "z-30 outline-none ring-2 ring-primary ring-opacity-75 ring-offset-2 ring-offset-transparent ";
|
4
|
-
export declare const fieldBackgroundMixin = "bg-opacity-50 bg-slate-200 dark:bg-gray-
|
4
|
+
export declare const fieldBackgroundMixin = "bg-opacity-50 bg-slate-200 dark:bg-gray-700 dark:bg-opacity-40 transition duration-150 ease-in-out";
|
5
5
|
export declare const fieldBackgroundInvisibleMixin = "bg-opacity-0 bg-slate-100 dark:bg-gray-800 dark:bg-opacity-0 transition duration-150 ease-in-out";
|
6
|
-
export declare const fieldBackgroundDisabledMixin = "bg-opacity-80 dark:bg-opacity-90";
|
7
|
-
export declare const fieldBackgroundHoverMixin = "hover:bg-opacity-70 dark:hover:bg-opacity-
|
6
|
+
export declare const fieldBackgroundDisabledMixin = "dark:bg-gray-800 bg-opacity-80 dark:bg-opacity-90";
|
7
|
+
export declare const fieldBackgroundHoverMixin = "hover:bg-opacity-70 dark:hover:bg-opacity-60";
|
8
8
|
export declare const defaultBorderMixin = "border-gray-100 dark:border-gray-800 dark:border-opacity-80";
|
9
|
-
export declare const paperMixin = "bg-white rounded-md dark:bg-gray-950 border dark:border-gray-800 dark:border-opacity-
|
10
|
-
export declare const cardMixin = "bg-white rounded-md dark:bg-gray-950 dark:border-gray-800 dark:border-opacity-50 transition duration-200 ease-in-out m-1 -p-1
|
9
|
+
export declare const paperMixin = "bg-white rounded-md dark:bg-gray-950 border dark:border-gray-800 dark:border-opacity-80 border-gray-100";
|
10
|
+
export declare const cardMixin = "bg-white border border-gray-100 dark:border-transparent rounded-md dark:bg-gray-950 dark:border-gray-800 dark:border-opacity-50 transition duration-200 ease-in-out m-1 -p-1";
|
11
11
|
export declare const cardClickableMixin = "hover:bg-primary-bg dark:hover:bg-primary-bg hover:bg-opacity-20 dark:hover:bg-opacity-20 hover:ring-2 hover:ring-primary cursor-pointer";
|
12
12
|
export declare const cardSelectedMixin = "bg-primary-bg dark:bg-primary-bg bg-opacity-30 dark:bg-opacity-10 ring-1 ring-primary ring-opacity-75";
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@firecms/ui",
|
3
3
|
"type": "module",
|
4
|
-
"version": "3.0.0-beta.
|
4
|
+
"version": "3.0.0-beta.5",
|
5
5
|
"description": "Awesome Firebase/Firestore-based headless open-source CMS",
|
6
6
|
"funding": {
|
7
7
|
"url": "https://github.com/sponsors/firecmsco"
|
@@ -31,9 +31,10 @@
|
|
31
31
|
".": {
|
32
32
|
"import": "./dist/index.es.js",
|
33
33
|
"require": "./dist/index.umd.js",
|
34
|
-
"types": "./dist/
|
34
|
+
"types": "./dist/index.d.ts"
|
35
35
|
},
|
36
|
-
"./package.json": "./package.json"
|
36
|
+
"./package.json": "./package.json",
|
37
|
+
"./tailwind.config.js": "./tailwind.config.js"
|
37
38
|
},
|
38
39
|
"scripts": {
|
39
40
|
"watch": "vite build --watch",
|
@@ -106,13 +107,14 @@
|
|
106
107
|
"ts-node": "^10.9.2",
|
107
108
|
"tsd": "^0.30.7",
|
108
109
|
"typescript": "^5.4.2",
|
109
|
-
"vite": "^5.
|
110
|
+
"vite": "^5.2.3"
|
110
111
|
},
|
111
112
|
"files": [
|
112
113
|
"dist",
|
113
|
-
"src"
|
114
|
+
"src",
|
115
|
+
"tailwind.config.js"
|
114
116
|
],
|
115
|
-
"gitHead": "
|
117
|
+
"gitHead": "8bf864185c9617aa3f120e59c873c8b8bda8dac4",
|
116
118
|
"publishConfig": {
|
117
119
|
"access": "public"
|
118
120
|
}
|
@@ -4,11 +4,12 @@ import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
4
4
|
import { Icon } from "../icons";
|
5
5
|
import { cn } from "../util";
|
6
6
|
|
7
|
-
interface CheckboxProps {
|
7
|
+
export interface CheckboxProps {
|
8
8
|
checked: boolean;
|
9
9
|
disabled?: boolean;
|
10
10
|
indeterminate?: boolean;
|
11
11
|
onCheckedChange?: (checked: boolean) => void;
|
12
|
+
padding?: boolean;
|
12
13
|
size?: "tiny" | "small" | "medium" | "large";
|
13
14
|
color?: "primary" | "secondary";
|
14
15
|
}
|
@@ -21,11 +22,17 @@ const sizeClasses = {
|
|
21
22
|
};
|
22
23
|
|
23
24
|
const outerSizeClasses = {
|
24
|
-
medium: "w-10 h-10
|
25
|
-
small: "w-8 h-8
|
26
|
-
large: "w-12 h-12
|
25
|
+
medium: "w-10 h-10",
|
26
|
+
small: "w-8 h-8",
|
27
|
+
large: "w-12 h-12 ",
|
27
28
|
tiny: "w-6 h-6"
|
28
29
|
}
|
30
|
+
const paddingClasses = {
|
31
|
+
medium: "p-2",
|
32
|
+
small: "p-2",
|
33
|
+
large: "p-2",
|
34
|
+
tiny: ""
|
35
|
+
}
|
29
36
|
|
30
37
|
const colorClasses = {
|
31
38
|
primary: "bg-primary",
|
@@ -35,6 +42,7 @@ const colorClasses = {
|
|
35
42
|
export const Checkbox = ({
|
36
43
|
checked,
|
37
44
|
indeterminate = false,
|
45
|
+
padding = true,
|
38
46
|
disabled,
|
39
47
|
size = "medium",
|
40
48
|
onCheckedChange,
|
@@ -51,17 +59,19 @@ export const Checkbox = ({
|
|
51
59
|
? 14
|
52
60
|
: 24;
|
53
61
|
return (
|
54
|
-
<
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
onCheckedChange ?
|
59
|
-
|
60
|
-
<
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
onCheckedChange
|
62
|
+
<CheckboxPrimitive.Root
|
63
|
+
asChild
|
64
|
+
checked={indeterminate || isChecked}
|
65
|
+
disabled={disabled}
|
66
|
+
onCheckedChange={disabled ? undefined : onCheckedChange}>
|
67
|
+
|
68
|
+
<div className={cn(
|
69
|
+
padding ? paddingClasses[size] : "",
|
70
|
+
outerSizeClasses[size],
|
71
|
+
"inline-flex items-center justify-center text-sm font-medium focus:outline-none transition-colors ease-in-out duration-150",
|
72
|
+
onCheckedChange ? "rounded-full hover:bg-slate-200 hover:bg-opacity-75 dark:hover:bg-slate-700 dark:hover:bg-opacity-75" : "",
|
73
|
+
onCheckedChange ? "cursor-pointer" : "cursor-default"
|
74
|
+
)}>
|
65
75
|
<div
|
66
76
|
className={cn(
|
67
77
|
"border-2 relative transition-colors ease-in-out duration-150",
|
@@ -84,12 +94,7 @@ export const Checkbox = ({
|
|
84
94
|
)}
|
85
95
|
</CheckboxPrimitive.Indicator>
|
86
96
|
</div>
|
87
|
-
</
|
88
|
-
|
89
|
-
{/* <div >*/}
|
90
|
-
{/* YO*/}
|
91
|
-
{/* </div>*/}
|
92
|
-
{/*)}*/}
|
93
|
-
</div>
|
97
|
+
</div>
|
98
|
+
</CheckboxPrimitive.Root>
|
94
99
|
);
|
95
100
|
};
|
@@ -17,12 +17,12 @@ import { Typography } from "./Typography";
|
|
17
17
|
|
18
18
|
interface DateTimeFieldProps {
|
19
19
|
value?: Date;
|
20
|
-
onChange: (date: Date |
|
20
|
+
onChange: (date: Date | undefined) => void;
|
21
21
|
mode?: "date" | "date_time";
|
22
22
|
disabled?: boolean;
|
23
23
|
clearable?: boolean;
|
24
24
|
error?: boolean;
|
25
|
-
size
|
25
|
+
size?: "small" | "medium";
|
26
26
|
label?: React.ReactNode;
|
27
27
|
className?: string;
|
28
28
|
style?: React.CSSProperties;
|
@@ -40,7 +40,7 @@ export const DateTimeField: React.FC<DateTimeFieldProps> = ({
|
|
40
40
|
clearable,
|
41
41
|
mode = "date",
|
42
42
|
error,
|
43
|
-
size,
|
43
|
+
size = "medium",
|
44
44
|
className,
|
45
45
|
style,
|
46
46
|
inputClassName,
|
@@ -60,7 +60,7 @@ export const DateTimeField: React.FC<DateTimeFieldProps> = ({
|
|
60
60
|
|
61
61
|
const handleClear = (e: React.MouseEvent) => {
|
62
62
|
e.preventDefault();
|
63
|
-
onChange(
|
63
|
+
onChange(undefined);
|
64
64
|
}
|
65
65
|
|
66
66
|
return (
|
@@ -42,7 +42,7 @@ const IconButtonInner = <C extends React.ElementType = "button">({
|
|
42
42
|
...props
|
43
43
|
}: IconButtonProps<C>, ref: React.ForwardedRef<HTMLButtonElement>) => {
|
44
44
|
|
45
|
-
const bgClasses = variant === "ghost" ? "bg-transparent" : "bg-slate-50 dark:bg-gray-950 dark:bg-opacity-50";
|
45
|
+
const bgClasses = variant === "ghost" ? "bg-transparent" : "bg-slate-200 bg-opacity-50 dark:bg-gray-950 dark:bg-opacity-50";
|
46
46
|
const Component: React.ElementType<any> = component || "button";
|
47
47
|
return (
|
48
48
|
<Component
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import * as React from "react";
|
2
2
|
import { cn } from "../util";
|
3
|
+
import { Label } from "./Label";
|
3
4
|
|
4
5
|
export type InputLabelProps = {
|
5
6
|
children?: React.ReactNode;
|
@@ -27,7 +28,7 @@ export const InputLabel = React.forwardRef<HTMLLabelElement, InputLabelProps>(fu
|
|
27
28
|
}, className);
|
28
29
|
|
29
30
|
return (
|
30
|
-
<
|
31
|
+
<Label
|
31
32
|
data-shrink={shrink}
|
32
33
|
ref={ref}
|
33
34
|
className={computedClassName}
|
@@ -3,26 +3,37 @@ import equal from "react-fast-compare"
|
|
3
3
|
|
4
4
|
// @ts-ignore
|
5
5
|
import MarkdownIt from "markdown-it";
|
6
|
+
import { cn } from "../util";
|
6
7
|
|
7
8
|
export interface MarkdownProps {
|
8
9
|
source: string,
|
10
|
+
size?: "small" | "medium" | "large" | "xl" | "2xl";
|
9
11
|
className?: string
|
10
12
|
}
|
11
13
|
|
12
|
-
const
|
14
|
+
const proseClasses = {
|
15
|
+
small: "prose-sm",
|
16
|
+
medium: "prose",
|
17
|
+
large: "prose-lg",
|
18
|
+
xl: "prose-xl",
|
19
|
+
"2xl": "prose-2xl"
|
20
|
+
};
|
21
|
+
|
22
|
+
const md = new MarkdownIt({ html: true });
|
13
23
|
/**
|
14
24
|
* @group Preview components
|
15
25
|
*/
|
16
26
|
export const Markdown = React.memo<MarkdownProps>(function Markdown({
|
17
27
|
source,
|
18
|
-
className
|
28
|
+
className,
|
29
|
+
size = "medium"
|
19
30
|
}: MarkdownProps) {
|
20
31
|
const html = useMemo(() => {
|
21
32
|
return md.render(typeof source === "string" ? source : "");
|
22
33
|
}, [source]);
|
23
34
|
|
24
35
|
return <div
|
25
|
-
className={className}
|
36
|
+
className={cn(proseClasses[size], "dark:prose-invert prose-headings:font-title", className)}
|
26
37
|
dangerouslySetInnerHTML={{ __html: html }}
|
27
38
|
/>;
|
28
39
|
}
|
package/src/components/Menu.tsx
CHANGED
@@ -43,18 +43,24 @@ export type MenuItemProps = {
|
|
43
43
|
children: React.ReactNode;
|
44
44
|
dense?: boolean;
|
45
45
|
onClick?: (event: React.MouseEvent) => void;
|
46
|
-
}
|
46
|
+
};
|
47
47
|
|
48
48
|
export function MenuItem({
|
49
49
|
children,
|
50
|
-
dense,
|
50
|
+
dense = false, // Default value is false if not provided
|
51
51
|
onClick
|
52
52
|
}: MenuItemProps) {
|
53
|
+
// Dynamically adjusting the class based on the "dense" prop
|
54
|
+
const classNames = cn(
|
55
|
+
focusedMixin,
|
56
|
+
onClick && "cursor-pointer",
|
57
|
+
"rounded-md text-sm font-medium text-slate-700 dark:text-slate-300 hover:bg-slate-100 dark:hover:bg-slate-900 flex items-center gap-4",
|
58
|
+
dense ? "px-3 py-1.5" : "px-4 py-2"
|
59
|
+
);
|
60
|
+
|
53
61
|
return (
|
54
62
|
<DropdownMenu.Item
|
55
|
-
className={
|
56
|
-
onClick && "cursor-pointer",
|
57
|
-
"rounded-md px-4 py-2 text-sm font-medium text-slate-700 dark:text-slate-300 hover:bg-slate-100 dark:hover:bg-slate-900 flex items-center gap-4")}
|
63
|
+
className={classNames}
|
58
64
|
onClick={onClick}>
|
59
65
|
{children}
|
60
66
|
</DropdownMenu.Item>
|
@@ -1,12 +1,33 @@
|
|
1
1
|
import * as React from "react"
|
2
2
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group"
|
3
3
|
import { cn } from "../util";
|
4
|
-
|
4
|
+
|
5
|
+
export interface RadioGroupProps {
|
6
|
+
id?: string;
|
7
|
+
children: React.ReactNode;
|
8
|
+
name?: string
|
9
|
+
required?: boolean;
|
10
|
+
disabled?: boolean;
|
11
|
+
/**
|
12
|
+
* Whether keyboard navigation should loop around
|
13
|
+
* @defaultValue false
|
14
|
+
*/
|
15
|
+
loop?: boolean;
|
16
|
+
defaultValue?: string;
|
17
|
+
value?: string;
|
18
|
+
|
19
|
+
onValueChange?(value: string): void;
|
20
|
+
|
21
|
+
className?: string;
|
22
|
+
}
|
5
23
|
|
6
24
|
const RadioGroup = React.forwardRef<
|
7
25
|
React.ElementRef<typeof RadioGroupPrimitive.Root>,
|
8
|
-
|
9
|
-
>(({
|
26
|
+
RadioGroupProps
|
27
|
+
>(({
|
28
|
+
className,
|
29
|
+
...props
|
30
|
+
}, ref) => {
|
10
31
|
return (
|
11
32
|
<RadioGroupPrimitive.Root
|
12
33
|
className={cn("grid gap-2", className)}
|
@@ -17,10 +38,20 @@ const RadioGroup = React.forwardRef<
|
|
17
38
|
})
|
18
39
|
RadioGroup.displayName = RadioGroupPrimitive.Root.displayName
|
19
40
|
|
41
|
+
export interface RadioGroupItemProps {
|
42
|
+
id?: string;
|
43
|
+
value: string;
|
44
|
+
checked?: boolean;
|
45
|
+
required?: boolean;
|
46
|
+
className?: string;
|
47
|
+
}
|
20
48
|
const RadioGroupItem = React.forwardRef<
|
21
49
|
React.ElementRef<typeof RadioGroupPrimitive.Item>,
|
22
|
-
|
23
|
-
>(({
|
50
|
+
RadioGroupItemProps
|
51
|
+
>(({
|
52
|
+
className,
|
53
|
+
...props
|
54
|
+
}, ref) => {
|
24
55
|
return (
|
25
56
|
<RadioGroupPrimitive.Item
|
26
57
|
ref={ref}
|
@@ -31,7 +62,7 @@ const RadioGroupItem = React.forwardRef<
|
|
31
62
|
{...props}
|
32
63
|
>
|
33
64
|
<RadioGroupPrimitive.Indicator className="flex items-center justify-center">
|
34
|
-
<div className="h-2.5 w-2.5 fill-current text-current bg-primary rounded-lg"
|
65
|
+
<div className="h-2.5 w-2.5 fill-current text-current bg-primary rounded-lg"/>
|
35
66
|
</RadioGroupPrimitive.Indicator>
|
36
67
|
</RadioGroupPrimitive.Item>
|
37
68
|
)
|
@@ -142,7 +142,7 @@ export function Select({
|
|
142
142
|
"overflow-visible",
|
143
143
|
size === "small" ? "h-[42px]" : "h-[64px]"
|
144
144
|
)}>
|
145
|
-
<SelectPrimitive.Value >
|
145
|
+
<SelectPrimitive.Value placeholder={placeholder}>
|
146
146
|
{renderValue &&
|
147
147
|
(value && Array.isArray(value)
|
148
148
|
? value.map((v, i) => (
|
package/src/styles.ts
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
export const focusedMixin = "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-opacity-75 focus-visible:ring-offset-2 focus-visible:ring-offset-transparent";
|
2
2
|
export const focusedInvisibleMixin = "focus:bg-opacity-70 focus:bg-slate-100 focus:dark:bg-gray-800 focus:dark:bg-opacity-60";
|
3
3
|
export const focusedClasses = "z-30 outline-none ring-2 ring-primary ring-opacity-75 ring-offset-2 ring-offset-transparent ";
|
4
|
-
export const fieldBackgroundMixin = "bg-opacity-50 bg-slate-200 dark:bg-gray-
|
4
|
+
export const fieldBackgroundMixin = "bg-opacity-50 bg-slate-200 dark:bg-gray-700 dark:bg-opacity-40 transition duration-150 ease-in-out";
|
5
5
|
export const fieldBackgroundInvisibleMixin = "bg-opacity-0 bg-slate-100 dark:bg-gray-800 dark:bg-opacity-0 transition duration-150 ease-in-out";
|
6
|
-
export const fieldBackgroundDisabledMixin = "bg-opacity-80 dark:bg-opacity-90";
|
7
|
-
export const fieldBackgroundHoverMixin = "hover:bg-opacity-70 dark:hover:bg-opacity-
|
6
|
+
export const fieldBackgroundDisabledMixin = "dark:bg-gray-800 bg-opacity-80 dark:bg-opacity-90";
|
7
|
+
export const fieldBackgroundHoverMixin = "hover:bg-opacity-70 dark:hover:bg-opacity-60";
|
8
8
|
export const defaultBorderMixin = "border-gray-100 dark:border-gray-800 dark:border-opacity-80";
|
9
|
-
export const paperMixin = "bg-white rounded-md dark:bg-gray-950 border dark:border-gray-800 dark:border-opacity-
|
10
|
-
export const cardMixin = "bg-white rounded-md dark:bg-gray-950 dark:border-gray-800 dark:border-opacity-50 transition duration-200 ease-in-out m-1 -p-1
|
9
|
+
export const paperMixin = "bg-white rounded-md dark:bg-gray-950 border dark:border-gray-800 dark:border-opacity-80 border-gray-100";
|
10
|
+
export const cardMixin = "bg-white border border-gray-100 dark:border-transparent rounded-md dark:bg-gray-950 dark:border-gray-800 dark:border-opacity-50 transition duration-200 ease-in-out m-1 -p-1";
|
11
11
|
export const cardClickableMixin = "hover:bg-primary-bg dark:hover:bg-primary-bg hover:bg-opacity-20 dark:hover:bg-opacity-20 hover:ring-2 hover:ring-primary cursor-pointer";
|
12
12
|
export const cardSelectedMixin = "bg-primary-bg dark:bg-primary-bg bg-opacity-30 dark:bg-opacity-10 ring-1 ring-primary ring-opacity-75";
|
@@ -0,0 +1,71 @@
|
|
1
|
+
export default {
|
2
|
+
darkMode: ["selector", "[data-theme=\"dark\"]"],
|
3
|
+
mode: "jit",
|
4
|
+
content: [
|
5
|
+
"./index.html",
|
6
|
+
"./src/**/*.{js,ts,jsx,tsx}",
|
7
|
+
"./node_modules/firecms/src/**/*.{js,ts,jsx,tsx}",
|
8
|
+
"./node_modules/@firecms/**/src/**/*.{js,ts,jsx,tsx}"
|
9
|
+
],
|
10
|
+
plugins: [
|
11
|
+
require("@tailwindcss/typography")
|
12
|
+
],
|
13
|
+
theme: {
|
14
|
+
extend: {
|
15
|
+
fontFamily: {
|
16
|
+
sans: [
|
17
|
+
"Rubik",
|
18
|
+
"Roboto",
|
19
|
+
"Helvetica",
|
20
|
+
"Arial",
|
21
|
+
"sans-serif"
|
22
|
+
],
|
23
|
+
headers: [
|
24
|
+
"Rubik",
|
25
|
+
"Roboto",
|
26
|
+
"Helvetica",
|
27
|
+
"Arial",
|
28
|
+
"sans-serif"
|
29
|
+
],
|
30
|
+
mono: [
|
31
|
+
"IBM Plex Mono",
|
32
|
+
"Space Mono",
|
33
|
+
"Lucida Console",
|
34
|
+
"monospace"
|
35
|
+
]
|
36
|
+
},
|
37
|
+
colors: {
|
38
|
+
primary: "var(--fcms-primary)",
|
39
|
+
"primary-dark": "var(--fcms-primary-dark)",
|
40
|
+
"primary-bg": "var(--fcms-primary-bg)",
|
41
|
+
secondary: "var(--fcms-secondary)",
|
42
|
+
field: {
|
43
|
+
disabled: "rgb(224 224 226)",
|
44
|
+
"disabled-dark": "rgb(35 35 37)"
|
45
|
+
},
|
46
|
+
text: {
|
47
|
+
primary: "rgba(0, 0, 0, 0.87)",
|
48
|
+
"primary-dark": "#ffffff",
|
49
|
+
secondary: "rgba(0, 0, 0, 0.6)",
|
50
|
+
"secondary-dark": "rgba(255, 255, 255, 0.7)",
|
51
|
+
disabled: "rgba(0, 0, 0, 0.38)",
|
52
|
+
"disabled-dark": "rgba(255, 255, 255, 0.5)",
|
53
|
+
label: "rgb(131, 131, 131)"
|
54
|
+
},
|
55
|
+
gray: {
|
56
|
+
50: "#f8f8fc",
|
57
|
+
100: "#E7E7EB",
|
58
|
+
200: "#CFCFD6",
|
59
|
+
300: "#B7B7BF",
|
60
|
+
400: "#A0A0A9",
|
61
|
+
500: "#87878F",
|
62
|
+
600: "#6C6C75",
|
63
|
+
700: "#505058",
|
64
|
+
800: "#35353A",
|
65
|
+
900: "#18181C",
|
66
|
+
950: "#101013"
|
67
|
+
}
|
68
|
+
}
|
69
|
+
}
|
70
|
+
}
|
71
|
+
};
|