@firecms/ui 3.0.0-alpha.73 → 3.0.0-alpha.75

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/dist/styles.d.ts CHANGED
@@ -1,10 +1,10 @@
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
- export declare const focusedInvisibleMixin = "focus:bg-opacity-70 focus:bg-gray-100 focus:dark:bg-gray-800 focus:dark:bg-opacity-60";
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-70 bg-gray-100 dark:bg-gray-800 dark:bg-opacity-60 transition duration-150 ease-in-out";
5
- export declare const fieldBackgroundInvisibleMixin = "bg-opacity-0 bg-gray-100 dark:bg-gray-800 dark:bg-opacity-0 transition duration-150 ease-in-out";
6
- export declare const fieldBackgroundDisabledMixin = "bg-opacity-100 dark:bg-opacity-90";
7
- export declare const fieldBackgroundHoverMixin = "hover:bg-opacity-90 dark:hover:bg-opacity-90";
4
+ export declare const fieldBackgroundMixin = "bg-opacity-50 bg-slate-200 dark:bg-gray-800 dark:bg-opacity-60 transition duration-150 ease-in-out";
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-90";
8
8
  export declare const defaultBorderMixin = "border-gray-100 dark:border-gray-800 dark:border-opacity-80";
9
9
  export declare const paperMixin = "bg-white rounded-md dark:bg-gray-950 border dark:border-gray-800 dark:border-opacity-90 border-gray-100";
10
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 border border-transparent";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@firecms/ui",
3
3
  "type": "module",
4
- "version": "3.0.0-alpha.73",
4
+ "version": "3.0.0-alpha.75",
5
5
  "description": "Awesome Firebase/Firestore-based headless open-source CMS",
6
6
  "funding": {
7
7
  "url": "https://github.com/sponsors/firecmsco"
@@ -101,7 +101,7 @@
101
101
  "dist",
102
102
  "src"
103
103
  ],
104
- "gitHead": "df625cc7bd6af087b7012d1c9ae77d3a6c17a320",
104
+ "gitHead": "7d04e9e7855d1720e2b394091863dc3637a87712",
105
105
  "publishConfig": {
106
106
  "access": "public"
107
107
  }
@@ -14,9 +14,9 @@ export interface AlertProps {
14
14
  const getSizeClasses = (size: "small" | "medium" | "large") => {
15
15
  switch (size) {
16
16
  case "small":
17
- return "px-2 py-1";
17
+ return "px-4 py-1";
18
18
  case "large":
19
- return "px-6 py-4";
19
+ return "px-4 py-4";
20
20
  case "medium":
21
21
  default:
22
22
  return "px-4 py-2";
@@ -52,11 +52,15 @@ export const Alert: React.FC<AlertProps> = ({
52
52
  return (
53
53
  <div
54
54
  style={style}
55
- className={cn(getSizeClasses(size), "rounded-md flex items-center gap-2", classes, className)}
56
- >
55
+ className={cn(
56
+ getSizeClasses(size),
57
+ "w-full",
58
+ "rounded-md flex items-center gap-2",
59
+ classes,
60
+ className)}>
57
61
  <span className={"flex-grow"}>{children}</span>
58
62
  {onDismiss && (
59
- <button className="text-gray-400 hover:text-gray-600 dark:text-gray-500 dark:hover:text-gray-400"
63
+ <button className="text-slate-400 hover:text-slate-600 dark:text-slate-500 dark:hover:text-slate-400"
60
64
  onClick={onDismiss}>
61
65
  &times;
62
66
  </button>
@@ -58,7 +58,7 @@ export function Autocomplete({
58
58
  <div ref={autocompleteRef}
59
59
  className={cn(
60
60
  open ? paperMixin : "",
61
- "bg-gray-50 dark:bg-gray-900 py-2"
61
+ "bg-slate-50 dark:bg-slate-900 py-2"
62
62
  )}>
63
63
  {children}
64
64
  </div>
@@ -78,7 +78,7 @@ export function AutocompleteItem({
78
78
 
79
79
  return (
80
80
  <div
81
- className="flex w-full items-center pr-6 pl-14 h-[48px] cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-800"
81
+ className="flex w-full items-center pr-6 pl-14 h-[48px] cursor-pointer hover:bg-slate-100 dark:hover:bg-slate-800"
82
82
  onClick={onClick}>
83
83
  {children}
84
84
  </div>
@@ -27,12 +27,12 @@ const AvatarInner: React.ForwardRefRenderFunction<HTMLButtonElement, AvatarProps
27
27
  {...props}
28
28
  className={cn("rounded-full flex items-center justify-center overflow-hidden",
29
29
  focusedMixin,
30
- "p-1 hover:bg-gray-200 hover:dark:bg-gray-700 w-14 h-14",
30
+ "p-1 hover:bg-slate-200 hover:dark:bg-slate-700 w-12 h-12",
31
31
  )}>
32
32
  {src
33
33
  ? (
34
34
  <img className={cn(
35
- "bg-gray-100 dark:bg-gray-800",
35
+ "bg-slate-100 dark:bg-slate-800",
36
36
  "w-full h-full object-cover rounded-full",
37
37
  className)}
38
38
  src={src}
@@ -41,9 +41,9 @@ const AvatarInner: React.ForwardRefRenderFunction<HTMLButtonElement, AvatarProps
41
41
  : (
42
42
  <span
43
43
  className={cn(
44
- "bg-gray-100 dark:bg-gray-800",
44
+ "bg-slate-100 dark:bg-slate-800",
45
45
  "flex items-center justify-center",
46
- "w-full h-full py-1.5 text-lg font-medium text-gray-900 dark:text-white rounded-full",
46
+ "w-full h-full py-1.5 text-lg font-medium text-slate-900 dark:text-white rounded-full",
47
47
  className)}>
48
48
  {children}
49
49
  </span>
@@ -17,7 +17,7 @@ const getColor = (color: BadgeColor) => {
17
17
  case "error":
18
18
  return "bg-red-500";
19
19
  default:
20
- return "bg-gray-300 dark:bg-gray-700";
20
+ return "bg-slate-300 dark:bg-slate-700";
21
21
  }
22
22
  }
23
23
 
@@ -42,8 +42,8 @@ export const BooleanSwitch = React.forwardRef(function BooleanSwitch({
42
42
  size === "small" ? "w-[38px] h-[22px] min-w-[38px] min-h-[22px]" : "w-[42px] h-[26px] min-w-[42px] min-h-[26px]",
43
43
  "outline-none rounded-full relative shadow-sm",
44
44
  value ? (disabled
45
- ? "bg-white bg-opacity-54 dark:bg-gray-950 border-gray-100 dark:border-gray-700 ring-1 ring-gray-100 dark:ring-gray-700"
46
- : "ring-secondary ring-1 bg-secondary dark:bg-secondary") : "bg-white bg-opacity-54 dark:bg-gray-900 ring-1 ring-gray-100 dark:ring-gray-700",
45
+ ? "bg-white bg-opacity-54 dark:bg-slate-950 border-slate-100 dark:border-slate-700 ring-1 ring-slate-100 dark:ring-slate-700"
46
+ : "ring-secondary ring-1 bg-secondary dark:bg-secondary") : "bg-white bg-opacity-54 dark:bg-slate-900 ring-1 ring-slate-100 dark:ring-slate-700",
47
47
  className
48
48
  )}
49
49
  {...props}
@@ -52,7 +52,7 @@ export const BooleanSwitch = React.forwardRef(function BooleanSwitch({
52
52
  key={"knob"}
53
53
  className={cn(
54
54
  "block rounded-full transition-transform duration-100 transform will-change-auto",
55
- disabled ? "bg-gray-400 dark:bg-gray-600" : "bg-gray-400 dark:bg-gray-600",
55
+ disabled ? "bg-slate-400 dark:bg-slate-600" : "bg-slate-400 dark:bg-slate-600",
56
56
  {
57
57
  "w-[21px] h-[10px]": size === "medium",
58
58
  "w-[19px] h-[8px]": size === "small",
@@ -66,7 +66,7 @@ export const BooleanSwitch = React.forwardRef(function BooleanSwitch({
66
66
  key={"knob"}
67
67
  className={cn(
68
68
  "block rounded-full transition-transform duration-100 transform will-change-auto",
69
- disabled ? "bg-gray-300 dark:bg-gray-700" : (value ? "bg-white" : "bg-gray-600 dark:bg-gray-400"),
69
+ disabled ? "bg-slate-300 dark:bg-slate-700" : (value ? "bg-white" : "bg-slate-600 dark:bg-slate-400"),
70
70
  {
71
71
  "w-[21px] h-[21px]": size === "medium",
72
72
  "w-[19px] h-[19px]": size === "small",
@@ -38,7 +38,7 @@ export function Button<P extends React.ElementType>({
38
38
  "border-primary !text-primary hover:bg-primary hover:bg-opacity-10 hover:border-blue-600 !hover:text-blue-600 focus:ring-blue-400 hover:ring-1 hover:ring-primary": variant === "outlined" && !disabled,
39
39
  "border-transparent !text-primary !hover:text-blue-600 hover:bg-primary hover:bg-opacity-10": variant === "text" && !disabled,
40
40
  "border-blue-600 border-opacity-50 dark:border-blue-500 dark:border-opacity-50 opacity-50 !text-blue-600 !dark:text-blue-500 text-opacity-50 dark:text-opacity-50": variant === "outlined" && disabled,
41
- "border-transparent outline-none opacity-50 !text-gray-600 !dark:text-gray-500": (variant === "filled" || variant === "text") && disabled
41
+ "border-transparent outline-none opacity-50 !text-slate-600 !dark:text-slate-500": (variant === "filled" || variant === "text") && disabled
42
42
  }
43
43
  );
44
44
 
@@ -12,7 +12,6 @@ export function Card({
12
12
  style?: React.CSSProperties;
13
13
  onClick?: () => void;
14
14
  className?: string;
15
-
16
15
  }) {
17
16
 
18
17
  const onKeyPress = useCallback((e: React.KeyboardEvent<HTMLDivElement>) => {
@@ -5,13 +5,11 @@ import { cn } from "../util";
5
5
  export function CenteredView({
6
6
  children,
7
7
  maxWidth,
8
- fullScreen = false,
9
- className,
8
+ className
10
9
  }: {
11
10
  children: React.ReactNode;
12
11
  maxWidth?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl";
13
12
  className?: string;
14
- fullScreen?: boolean,
15
13
  }) {
16
14
 
17
15
  return <div className={"flex flex-col flex-grow h-full"}>
@@ -10,6 +10,7 @@ interface CheckboxProps {
10
10
  indeterminate?: boolean;
11
11
  onCheckedChange?: (checked: boolean) => void;
12
12
  size?: "small" | "medium" | "large";
13
+ color?: "primary" | "secondary";
13
14
  }
14
15
 
15
16
  const sizeClasses = {
@@ -24,26 +25,37 @@ const outerSizeClasses = {
24
25
  large: "w-12 h-12"
25
26
  }
26
27
 
28
+ const colorClasses = {
29
+ primary: "bg-primary",
30
+ secondary: "bg-secondary"
31
+ }
32
+
27
33
  export const Checkbox = ({
28
34
  checked,
29
35
  indeterminate = false,
30
36
  disabled,
31
37
  size = "medium",
32
- onCheckedChange
38
+ onCheckedChange,
39
+ color = "primary"
33
40
  }: CheckboxProps) => {
34
41
 
35
42
  const isChecked = indeterminate ? false : checked;
36
43
 
44
+ const iconSize = size === "medium"
45
+ ? 20
46
+ : size === "small"
47
+ ? 16
48
+ : 24;
37
49
  return (
38
50
  <div className={cn(
39
51
  outerSizeClasses[size],
40
52
  "inline-flex items-center justify-center p-2 text-sm font-medium focus:outline-none transition-colors ease-in-out duration-150",
41
- onCheckedChange ? "rounded-full hover:bg-gray-200 hover:bg-opacity-75 dark:hover:bg-gray-700 dark:hover:bg-opacity-75" : "",
53
+ onCheckedChange ? "rounded-full hover:bg-slate-200 hover:bg-opacity-75 dark:hover:bg-slate-700 dark:hover:bg-opacity-75" : "",
42
54
  onCheckedChange ? "cursor-pointer" : "cursor-default"
43
55
  )}>
44
56
  <CheckboxPrimitive.Root
45
57
  asChild
46
- checked={isChecked}
58
+ checked={indeterminate || isChecked}
47
59
  disabled={disabled}
48
60
  onCheckedChange={disabled ? undefined : onCheckedChange}>
49
61
  <div
@@ -51,24 +63,29 @@ export const Checkbox = ({
51
63
  "border-2 relative transition-colors ease-in-out duration-150",
52
64
  sizeClasses[size],
53
65
  disabled
54
- ? (isChecked ? "bg-gray-400 dark:bg-gray-600" : "bg-gray-400 dark:bg-gray-600")
55
- : (isChecked ? "bg-primary" : "bg-white dark:bg-gray-900"),
56
- isChecked ? "text-gray-100 dark:text-gray-900" : "",
66
+ ? (indeterminate || isChecked ? "bg-slate-400 dark:bg-slate-600" : "bg-slate-400 dark:bg-slate-600")
67
+ : (indeterminate || isChecked ? colorClasses[color] : "bg-white dark:bg-slate-900"),
68
+ (indeterminate || isChecked) ? "text-slate-100 dark:text-slate-900" : "",
57
69
  disabled
58
70
  ? "border-transparent"
59
- : (isChecked ? "border-transparent" : "border-gray-800 dark:border-gray-200")
71
+ : (indeterminate || isChecked ? "border-transparent" : "border-slate-800 dark:border-slate-200")
60
72
  )}>
61
73
  <CheckboxPrimitive.Indicator asChild>
62
74
  {indeterminate
63
75
  ? (
64
- <div className="w-full h-[1px] bg-currentColor"/>
76
+ <Icon iconKey={"remove"} size={iconSize} className={"absolute"}/>
65
77
  )
66
78
  : (
67
- <Icon iconKey={"check"} size={20} className={"absolute"}/>
79
+ <Icon iconKey={"check"} size={iconSize} className={"absolute"}/>
68
80
  )}
69
81
  </CheckboxPrimitive.Indicator>
70
82
  </div>
71
83
  </CheckboxPrimitive.Root>
84
+ {/*{indeterminate && (*/}
85
+ {/* <div >*/}
86
+ {/* YO*/}
87
+ {/* </div>*/}
88
+ {/*)}*/}
72
89
  </div>
73
90
  );
74
91
  };
@@ -44,9 +44,9 @@ export function Chip({
44
44
  <div
45
45
  className={cn("rounded-lg w-fit h-fit font-regular inline-flex gap-1",
46
46
  "text-ellipsis",
47
- onClick ? "cursor-pointer hover:bg-gray-300 hover:dark:bg-gray-700" : "",
47
+ onClick ? "cursor-pointer hover:bg-slate-300 hover:dark:bg-slate-700" : "",
48
48
  sizeClassNames[size],
49
- error || !usedColorScheme ? "bg-gray-100 dark:bg-gray-800 text-gray-800 dark:text-gray-200" : "",
49
+ error || !usedColorScheme ? "bg-slate-200 dark:bg-slate-800 text-slate-800 dark:text-slate-200" : "",
50
50
  error ? "text-red-500 dark:text-red-400" : "",
51
51
  className)}
52
52
  onClick={onClick}
@@ -81,7 +81,7 @@ export const DateTimeField: React.FC<DateTimeFieldProps> = ({
81
81
  {label && (
82
82
  <InputLabel
83
83
  className={cn("absolute top-1 pointer-events-none",
84
- !error ? (focused ? "text-primary" : "text-text-secondary dark:text-text-secondary-dark") : "text-red-500 dark:text-red-600",
84
+ !error ? (focused ? "text-primary" : "text-text-secondary dark:text-text-secondary-dark") : "text-red-500 dark:text-red-500",
85
85
  disabled ? "opacity-50" : "")}
86
86
  shrink={hasValue || focused}
87
87
  >
@@ -113,7 +113,7 @@ export const DateTimeField: React.FC<DateTimeFieldProps> = ({
113
113
  size === "small" ? "min-h-[48px]" : "min-h-[64px]",
114
114
  label ? "pt-[28px] pb-2" : "py-2",
115
115
  inputClassName,
116
- disabled && "border border-transparent outline-none opacity-50 dark:opacity-50 text-gray-600 dark:text-gray-500"
116
+ disabled && "border border-transparent outline-none opacity-50 dark:opacity-50 text-slate-600 dark:text-slate-500"
117
117
  )}
118
118
  />
119
119
 
@@ -123,14 +123,14 @@ export const DateTimeField: React.FC<DateTimeFieldProps> = ({
123
123
  // @ts-ignore
124
124
  return ref.current?.setOpen(true);
125
125
  }}
126
- className="absolute right-3 top-1/2 transform -translate-y-1/2 !text-gray-500 ">
126
+ className="absolute right-3 top-1/2 transform -translate-y-1/2 !text-slate-500 ">
127
127
  <CalendarMonthIcon color={"disabled"}/>
128
128
  </IconButton>
129
129
 
130
130
  {clearable && value && (
131
131
  <IconButton
132
132
  onClick={handleClear}
133
- className="absolute right-14 top-1/2 transform -translate-y-1/2 text-gray-400 ">
133
+ className="absolute right-14 top-1/2 transform -translate-y-1/2 text-slate-400 ">
134
134
  <ClearIcon/>
135
135
  </IconButton>
136
136
  )}
@@ -1,5 +1,4 @@
1
- import React from "react";
2
- import { useEffect, useState } from "react";
1
+ import React, { useEffect, useState } from "react";
3
2
  import * as DialogPrimitive from "@radix-ui/react-dialog";
4
3
  import { paperMixin } from "../styles";
5
4
  import { cn } from "../util";
@@ -87,7 +86,7 @@ export const Dialog = ({
87
86
  "outline-none focus:outline-none",
88
87
  fullWidth && !fullScreen ? "w-11/12" : undefined,
89
88
  fullHeight && !fullScreen ? "h-full" : undefined,
90
- "text-gray-900 dark:text-white",
89
+ "text-slate-900 dark:text-white",
91
90
  "justify-center items-center",
92
91
  fullScreen ? "h-screen w-screen" : "max-h-[90vh] shadow-xl",
93
92
  "ease-in-out duration-200",
@@ -15,10 +15,10 @@ export type IconButtonProps<C extends React.ElementType> =
15
15
  }
16
16
 
17
17
  const buttonClasses =
18
- "hover:bg-gray-200 hover:bg-opacity-75 dark:hover:bg-gray-700 dark:hover:bg-opacity-75";
18
+ "hover:bg-gray-200 hover:bg-opacity-75 dark:hover:bg-slate-700 dark:hover:bg-opacity-75";
19
19
  const baseClasses =
20
20
  "inline-flex items-center justify-center p-2 text-sm font-medium focus:outline-none transition-colors ease-in-out duration-150";
21
- const colorClasses = "dark:text-gray-100 text-gray-700 visited:text-gray-700 dark:visited:text-gray-100";
21
+ const colorClasses = "dark:text-slate-100 text-slate-700 visited:text-slate-700 dark:visited:text-slate-100";
22
22
  const sizeClasses = {
23
23
  medium: "w-10 !h-10 min-w-10 min-h-10",
24
24
  small: "w-8 !h-8 min-w-8 min-h-8",
@@ -41,7 +41,7 @@ const IconButtonInner = <C extends React.ElementType = "button">({
41
41
  ...props
42
42
  }: IconButtonProps<C>, ref: React.ForwardedRef<HTMLButtonElement>) => {
43
43
 
44
- const bgClasses = variant === "ghost" ? "bg-transparent" : "bg-gray-50 dark:bg-gray-900";
44
+ const bgClasses = variant === "ghost" ? "bg-transparent" : "bg-slate-50 dark:bg-slate-900";
45
45
  const Component: React.ElementType<any> = component || "button";
46
46
  return (
47
47
  <Component
@@ -51,7 +51,7 @@ export function MenuItem({
51
51
  <DropdownMenu.Item
52
52
  className={cn(focusedMixin,
53
53
  onClick && "cursor-pointer",
54
- "rounded-md px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-900 flex items-center gap-4")}
54
+ "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")}
55
55
  onClick={onClick}>
56
56
  {children}
57
57
  </DropdownMenu.Item>
@@ -172,7 +172,7 @@ export function MultiSelect({
172
172
  }}>
173
173
 
174
174
  <CommandPrimitive.Group
175
- className="mt-2 text-gray-900 dark:text-white animate-in z-50 border border-gray-200 dark:border-gray-800 bg-white dark:bg-gray-800 p-2 rounded-lg shadow-lg flex flex-col outline-none w-full"
175
+ className="mt-2 text-slate-900 dark:text-white animate-in z-50 border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-800 p-2 rounded-lg shadow-lg flex flex-col outline-none w-full"
176
176
  >
177
177
 
178
178
  {children}
@@ -210,13 +210,13 @@ export function MultiSelectItem({ children, value, className }: MultiSelectItemP
210
210
  onValueChangeInternal(value);
211
211
  }}
212
212
  className={cn(
213
- (fieldValue ?? []).includes(value) ? "bg-gray-200 dark:bg-gray-950" : "",
213
+ (fieldValue ?? []).includes(value) ? "bg-slate-200 dark:bg-slate-950" : "",
214
214
  "cursor-pointer",
215
215
  "m-1",
216
216
  "ring-offset-transparent",
217
217
  "p-2 rounded aria-[selected=true]:outline-none aria-[selected=true]:ring-2 aria-[selected=true]:ring-primary aria-[selected=true]:ring-opacity-75 aria-[selected=true]:ring-offset-2",
218
- "aria-[selected=true]:bg-gray-100 aria-[selected=true]:dark:bg-gray-900",
219
- "cursor-pointer p-2 rounded aria-[selected=true]:bg-gray-100 aria-[selected=true]:dark:bg-gray-900",
218
+ "aria-[selected=true]:bg-slate-100 aria-[selected=true]:dark:bg-slate-900",
219
+ "cursor-pointer p-2 rounded aria-[selected=true]:bg-slate-100 aria-[selected=true]:dark:bg-slate-900",
220
220
  className
221
221
  )}
222
222
  >
@@ -67,7 +67,7 @@ export function Popover({
67
67
  avoidCollisions={avoidCollisions}>
68
68
 
69
69
  {children}
70
- <PopoverPrimitive.Arrow className="fill-white dark:fill-gray-950"/>
70
+ <PopoverPrimitive.Arrow className="fill-white dark:fill-slate-950"/>
71
71
  </PopoverPrimitive.Content>
72
72
  </PopoverPrimitive.Portal>
73
73
  </PopoverPrimitive.Root>;
@@ -62,13 +62,13 @@ export function SearchBar({
62
62
  onClick={onClick}
63
63
  className={cn("relative",
64
64
  large ? "h-14" : "h-[42px]",
65
- "bg-gray-50 dark:bg-gray-800 transition duration-150 ease-in-out border",
65
+ "bg-slate-50 dark:bg-gray-800 transition duration-150 ease-in-out border",
66
66
  defaultBorderMixin,
67
67
  "rounded",
68
68
  className)}>
69
69
  <div
70
70
  className="absolute p-0 px-4 h-full absolute pointer-events-none flex items-center justify-center top-0">
71
- {loading ? <CircularProgress size={"small"}/> : <SearchIcon className={"text-gray-500"}/>}
71
+ {loading ? <CircularProgress size={"small"}/> : <SearchIcon className={"text-slate-500 dark:text-gray-500"}/>}
72
72
  </div>
73
73
  <input
74
74
  value={searchText ?? ""}
@@ -131,7 +131,7 @@ export function Select({
131
131
  "select-none rounded-md text-sm",
132
132
  error ? "text-red-500 dark:text-red-600" : "focus:text-text-primary dark:focus:text-text-primary-dark",
133
133
  error ? "border border-red-500 dark:border-red-600" : "",
134
- disabled ? "text-gray-600 dark:text-gray-400" : "text-gray-800 dark:text-gray-200",
134
+ disabled ? "text-slate-600 dark:text-slate-400" : "text-slate-800 dark:text-slate-200",
135
135
  "relative flex items-center",
136
136
  includeFocusOutline ? focusedMixin : "",
137
137
  inputClassName
@@ -179,7 +179,7 @@ export function Select({
179
179
  <SelectPrimitive.Portal>
180
180
  <SelectPrimitive.Content
181
181
  position={position}
182
- className="z-50 relative overflow-hidden border border-gray-200 dark:border-gray-800 bg-white dark:bg-gray-800 p-2 rounded-lg shadow-lg">
182
+ className="z-50 relative overflow-hidden border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-800 p-2 rounded-lg shadow-lg">
183
183
  <SelectPrimitive.Viewport
184
184
  className={"p-1"}
185
185
  style={{
@@ -216,11 +216,11 @@ export function SelectItem({
216
216
  }}
217
217
  className={cn(
218
218
  "w-full",
219
- "relative relative flex items-center p-2 rounded-md text-sm text-gray-700 dark:text-gray-300",
219
+ "relative relative flex items-center p-2 rounded-md text-sm text-slate-700 dark:text-slate-300",
220
220
  focusedMixin,
221
221
  "focus:z-10",
222
- "data-[state=checked]:bg-gray-100 data-[state=checked]:dark:bg-gray-900 focus:bg-gray-100 dark:focus:bg-gray-950",
223
- "data-[state=checked]:focus:bg-gray-200 data-[state=checked]:dark:focus:bg-gray-950",
222
+ "data-[state=checked]:bg-slate-100 data-[state=checked]:dark:bg-slate-900 focus:bg-slate-100 dark:focus:bg-slate-950",
223
+ "data-[state=checked]:focus:bg-slate-200 data-[state=checked]:dark:focus:bg-slate-950",
224
224
  disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer",
225
225
  "[&>*]:w-full",
226
226
  "overflow-visible",
@@ -249,7 +249,7 @@ export function SelectGroup({
249
249
  return <>
250
250
  <SelectPrimitive.Group
251
251
  className={cn(
252
- "text-xs text-gray-900 dark:text-gray-100 uppercase tracking-wider font-bold mt-6 first:mt-2",
252
+ "text-xs text-slate-900 dark:text-slate-100 uppercase tracking-wider font-bold mt-6 first:mt-2",
253
253
  "px-2 py-2",
254
254
  className
255
255
  )}>
@@ -62,7 +62,7 @@ export const Sheet: React.FC<SheetProps> = ({
62
62
  className={cn(
63
63
  // "transform-gpu",
64
64
  "will-change-transform",
65
- "text-gray-900 dark:text-white",
65
+ "text-slate-900 dark:text-white",
66
66
  "fixed transform z-20 transition-all duration-[240ms] ease-in-out",
67
67
  "outline-none focus:outline-none",
68
68
  !transparent ? "shadow-md" : "",
@@ -15,7 +15,7 @@ export function Skeleton({
15
15
  return <span className={
16
16
  cn(
17
17
  "block",
18
- "bg-gray-200 dark:bg-gray-800 rounded",
18
+ "bg-slate-200 dark:bg-slate-800 rounded",
19
19
  "animate-pulse",
20
20
  width ? `w-[${width}px]` : "w-full",
21
21
  height ? `h-[${height}px]` : "h-3",
@@ -2,7 +2,7 @@ import React from "react";
2
2
  export function Spinner() {
3
3
  return (
4
4
  <div role="status">
5
- <svg aria-hidden="true" className="w-8 h-8 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-primary"
5
+ <svg aria-hidden="true" className="w-8 h-8 mr-2 text-slate-200 animate-spin dark:text-slate-600 fill-primary"
6
6
  viewBox="0 0 100 101" fill="none" xmlns="http://www.w3.org/2000/svg">
7
7
  <path
8
8
  d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z"
@@ -13,7 +13,7 @@ export const Table = ({
13
13
  className,
14
14
  style
15
15
  }: TableProps) => (
16
- <table className={cn("w-full text-left text-gray-800 dark:text-gray-200 rounded-md overflow-x-auto",
16
+ <table className={cn("w-full text-left text-slate-800 dark:text-slate-200 rounded-md overflow-x-auto",
17
17
  className)}
18
18
  style={style}>
19
19
  {children}
@@ -29,7 +29,7 @@ export const TableBody = ({
29
29
  className
30
30
  }: TableBodyProps) => (
31
31
  <tbody
32
- className={cn("bg-white text-sm dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700", className)}>
32
+ className={cn("bg-white text-sm dark:bg-slate-800 divide-y divide-slate-200 dark:divide-slate-700", className)}>
33
33
  {children}
34
34
  </tbody>
35
35
  );
@@ -46,8 +46,8 @@ export const TableHeader = ({
46
46
  <thead>
47
47
  <tr className={cn(
48
48
  defaultBorderMixin,
49
- "text-sm font-medium text-gray-700 dark:text-gray-300",
50
- "bg-gray-50 border-b dark:bg-gray-900", className)}>
49
+ "text-sm font-medium text-slate-700 dark:text-slate-300",
50
+ "bg-slate-50 border-b dark:bg-slate-900", className)}>
51
51
  {children}
52
52
  </tr>
53
53
  </thead>
@@ -70,9 +70,9 @@ export const TableRow = ({
70
70
  onClick={onClick}
71
71
  style={style}
72
72
  className={cn(
73
- "divide-gray-100 dark:divide-gray-800",
74
- "bg-white dark:bg-gray-950",
75
- onClick ? "hover:bg-gray-100 dark:hover:bg-gray-800 cursor-pointer" : "",
73
+ "divide-slate-100 dark:divide-slate-800",
74
+ "bg-white dark:bg-slate-950",
75
+ onClick ? "hover:bg-slate-100 dark:hover:bg-slate-800 cursor-pointer" : "",
76
76
  className)}
77
77
  >
78
78
  {children}
@@ -19,7 +19,7 @@ export function Tabs({
19
19
 
20
20
  return <TabsPrimitive.Root value={value} onValueChange={onValueChange}>
21
21
  <TabsPrimitive.List className={cn(
22
- "flex text-sm font-medium text-center text-gray-800 dark:text-gray-200",
22
+ "flex text-sm font-medium text-center text-slate-800 dark:text-slate-200",
23
23
  className)
24
24
  }>
25
25
  {children}
@@ -46,15 +46,15 @@ export function Tab({
46
46
  "border-b-2 border-transparent",
47
47
  "data-[state=active]:border-secondary",
48
48
  disabled
49
- ? "text-gray-400 dark:text-gray-500"
50
- : cn("text-gray-700 dark:text-gray-300",
51
- "data-[state=active]:text-gray-900 data-[state=active]:dark:text-gray-100",
52
- "hover:text-gray-800 dark:hover:text-gray-200"),
53
- // disabled ? "text-gray-400 dark:text-gray-500" : "data-[state=active]:text-primary",
54
- // "data-[state=active]:bg-gray-50 data-[state=active]:dark:bg-gray-800",
49
+ ? "text-slate-400 dark:text-slate-500"
50
+ : cn("text-slate-700 dark:text-slate-300",
51
+ "data-[state=active]:text-slate-900 data-[state=active]:dark:text-slate-100",
52
+ "hover:text-slate-800 dark:hover:text-slate-200"),
53
+ // disabled ? "text-slate-400 dark:text-slate-500" : "data-[state=active]:text-primary",
54
+ // "data-[state=active]:bg-slate-50 data-[state=active]:dark:bg-slate-800",
55
55
  className)}>
56
56
  <div className={cn("uppercase inline-block p-2 px-4 m-2 rounded",
57
- "hover:bg-gray-100 dark:hover:bg-gray-800")}>
57
+ "hover:bg-slate-100 dark:hover:bg-slate-800")}>
58
58
  {children}
59
59
  </div>
60
60
  </TabsPrimitive.Trigger>;
@@ -100,7 +100,7 @@ export function TextField<T extends string | number>({
100
100
  className={cn(
101
101
  invisible ? focusedInvisibleMixin : focusedMixin,
102
102
  "rounded-md resize-none w-full outline-none p-[32px] text-base bg-transparent min-h-[64px] px-3 pt-[28px]",
103
- disabled && "border border-transparent outline-none opacity-50 text-gray-600 dark:text-gray-500"
103
+ disabled && "border border-transparent outline-none opacity-50 text-slate-600 dark:text-slate-500"
104
104
  )}
105
105
  />
106
106
  : <input
@@ -118,7 +118,7 @@ export function TextField<T extends string | number>({
118
118
  label ? (size === "medium" ? "pt-[28px] pb-2" : "pt-4 pb-2") : "py-2",
119
119
  focused ? "text-text-primary dark:text-text-primary-dark" : "",
120
120
  endAdornment ? "pr-10" : "pr-3",
121
- disabled && "border border-transparent outline-none opacity-50 dark:opacity-50 text-gray-800 dark:text-gray-200",
121
+ disabled && "border border-transparent outline-none opacity-50 dark:opacity-50 text-slate-800 dark:text-slate-200",
122
122
  inputClassName
123
123
  )}
124
124
  placeholder={focused || hasValue || !label ? placeholder : undefined}
@@ -44,12 +44,12 @@ export const Tooltip = ({
44
44
  <TooltipPrimitive.Content
45
45
  className={cn("TooltipContent",
46
46
  "max-w-lg leading-relaxed",
47
- "z-50 rounded px-3 py-2 text-xs leading-none bg-gray-700 dark:bg-gray-800 bg-opacity-90 font-medium text-gray-50 shadow-2xl select-none duration-400 ease-in transform opacity-100",
47
+ "z-50 rounded px-3 py-2 text-xs leading-none bg-slate-700 dark:bg-slate-800 bg-opacity-90 font-medium text-slate-50 shadow-2xl select-none duration-400 ease-in transform opacity-100",
48
48
  tooltipClassName)}
49
49
  sideOffset={sideOffset === undefined ? 4 : sideOffset}
50
50
  side={side}>
51
51
  {title}
52
- {/*<TooltipPrimitive.Arrow className="fill-gray-600"/>*/}
52
+ {/*<TooltipPrimitive.Arrow className="fill-slate-600"/>*/}
53
53
  </TooltipPrimitive.Content>
54
54
  </TooltipPrimitive.Portal>
55
55
  </TooltipPrimitive.Root>