lecom-ui 5.4.10 → 5.4.12
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/Collapse/Collapse.js +94 -0
- package/dist/components/CustomIcon/Icons/CadastroFacil.js +23 -0
- package/dist/components/CustomIcon/Icons/LogoLecom.js +30 -0
- package/dist/components/CustomIcon/Icons/LogoLecomBrand.js +23 -0
- package/dist/components/CustomIcon/Icons/ModoTeste.js +23 -0
- package/dist/components/CustomIcon/Icons/Rpa.js +23 -0
- package/dist/components/CustomIcon/Icons/SairModoTeste.js +31 -0
- package/dist/components/CustomTagInput/CustomTagInput.js +27 -172
- package/dist/components/DataTable/DataTable.js +6 -1
- package/dist/components/DataTable/DataTable.utils.js +1 -1
- package/dist/components/Header/SearchInput.js +4 -1
- package/dist/components/IconHandler/IconHandler.js +99 -0
- package/dist/components/Input/Input.js +2 -2
- package/dist/components/MultiSelect/MultiSelect.js +8 -5
- package/dist/i18n/locales/en_us.js +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/plugin/extend.js +79 -79
- package/dist/plugin/fontFaces.js +172 -172
- package/dist/plugin/general.js +12 -12
- package/dist/plugin/pluginDev.cjs +5 -5
- package/dist/plugin/pluginNext.cjs +5 -5
- package/dist/plugin/pluginNextTurbo.cjs +5 -5
- package/dist/plugin/pluginVite.cjs +5 -5
- package/dist/plugin/template.js +31 -31
- package/dist/plugin/typographies.js +152 -152
- package/dist/plugin/varsTheme.js +79 -79
- package/dist/style.min.css +1 -1
- package/package.json +134 -134
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactSVG } from 'react-svg';
|
|
3
|
+
import { cn } from '../../lib/utils.js';
|
|
4
|
+
|
|
5
|
+
const isUrl = (str) => {
|
|
6
|
+
try {
|
|
7
|
+
new URL(str);
|
|
8
|
+
return true;
|
|
9
|
+
} catch {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
const isImage = (str) => {
|
|
14
|
+
return /\.(svg|png|jpg|jpeg|gif|webp)$/i.test(str);
|
|
15
|
+
};
|
|
16
|
+
const IconHandler = React.forwardRef(
|
|
17
|
+
({
|
|
18
|
+
icon,
|
|
19
|
+
colorType = "color",
|
|
20
|
+
variantsColors,
|
|
21
|
+
className,
|
|
22
|
+
setAttribute,
|
|
23
|
+
style = {},
|
|
24
|
+
...props
|
|
25
|
+
}, ref) => {
|
|
26
|
+
if (typeof icon === "string") {
|
|
27
|
+
if (isUrl(icon)) {
|
|
28
|
+
return /* @__PURE__ */ React.createElement(
|
|
29
|
+
"img",
|
|
30
|
+
{
|
|
31
|
+
src: icon,
|
|
32
|
+
alt: "\xCDcone",
|
|
33
|
+
className: cn("w-[24px] h-[24px]", className),
|
|
34
|
+
style: {
|
|
35
|
+
...style,
|
|
36
|
+
...variantsColors && {
|
|
37
|
+
color: variantsColors
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
} else if (isImage(icon)) {
|
|
43
|
+
return /* @__PURE__ */ React.createElement(
|
|
44
|
+
ReactSVG,
|
|
45
|
+
{
|
|
46
|
+
src: icon,
|
|
47
|
+
className: cn("w-[24px] h-[24px]", className),
|
|
48
|
+
beforeInjection: (svg) => {
|
|
49
|
+
if (variantsColors && setAttribute) {
|
|
50
|
+
svg.setAttribute(
|
|
51
|
+
"style",
|
|
52
|
+
`fill: ${variantsColors}${setAttribute ? `; ${setAttribute}` : ""}`
|
|
53
|
+
);
|
|
54
|
+
} else if (setAttribute) {
|
|
55
|
+
svg.setAttribute("style", `${setAttribute}`);
|
|
56
|
+
} else if (variantsColors) {
|
|
57
|
+
svg.setAttribute("style", `fill: ${variantsColors}`);
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
style
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
} else {
|
|
64
|
+
return /* @__PURE__ */ React.createElement(
|
|
65
|
+
"span",
|
|
66
|
+
{
|
|
67
|
+
className: cn("flex items-center w-auto h-[24px]", className),
|
|
68
|
+
style: {
|
|
69
|
+
...style,
|
|
70
|
+
...variantsColors && {
|
|
71
|
+
color: variantsColors
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
icon
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
} else {
|
|
79
|
+
const IconComponent = icon;
|
|
80
|
+
const setColor = colorType === "color" ? { color: variantsColors } : {};
|
|
81
|
+
return /* @__PURE__ */ React.createElement(
|
|
82
|
+
IconComponent,
|
|
83
|
+
{
|
|
84
|
+
ref,
|
|
85
|
+
fill: colorType === "fill" ? variantsColors : "none",
|
|
86
|
+
className: cn("hover:bg-transparent", className),
|
|
87
|
+
style: {
|
|
88
|
+
...style,
|
|
89
|
+
...variantsColors && setColor
|
|
90
|
+
},
|
|
91
|
+
...props
|
|
92
|
+
}
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
IconHandler.displayName = "IconHandler";
|
|
98
|
+
|
|
99
|
+
export { IconHandler };
|
|
@@ -3,7 +3,7 @@ import { cn } from '../../lib/utils.js';
|
|
|
3
3
|
import { cva } from 'class-variance-authority';
|
|
4
4
|
|
|
5
5
|
const inputVariants = cva(
|
|
6
|
-
`flex
|
|
6
|
+
`flex w-full rounded-sm border border-grey-400 bg-background px-3 py-2
|
|
7
7
|
placeholder:text-grey-500 outline-none
|
|
8
8
|
hover:border-grey-500 focus:bg-background focus:border-grey-400 focus:ring-grey-600 focus:ring-opacity-15 focus:ring-4
|
|
9
9
|
disabled:cursor-not-allowed disabled:bg-grey-100 disabled:border-grey-400
|
|
@@ -16,7 +16,7 @@ const inputVariants = cva(
|
|
|
16
16
|
borderless: "border-none bg-transparent focus:bg-transparent focus:ring-0"
|
|
17
17
|
},
|
|
18
18
|
size: {
|
|
19
|
-
small: "h-8 body-small-400 px-
|
|
19
|
+
small: "h-8 body-small-400 px-4 py-1 placeholder:body-small-400",
|
|
20
20
|
default: "h-10 body-medium-400 px-3 py-2 placeholder:body-medium-400",
|
|
21
21
|
large: "h-12 body-large-400 px-3 py-2 placeholder:body-large-400"
|
|
22
22
|
},
|
|
@@ -56,7 +56,8 @@ const MultiSelect = React.forwardRef(
|
|
|
56
56
|
allowTypoDistance = 0,
|
|
57
57
|
groupedOptions,
|
|
58
58
|
classNameContent,
|
|
59
|
-
size = "medium"
|
|
59
|
+
size = "medium",
|
|
60
|
+
disabled = false
|
|
60
61
|
}, ref) => {
|
|
61
62
|
const { t } = useTranslation();
|
|
62
63
|
const [selectedValues, setSelectedValues] = React.useState(value);
|
|
@@ -514,9 +515,11 @@ const MultiSelect = React.forwardRef(
|
|
|
514
515
|
transition-all duration-300 outline-none
|
|
515
516
|
[&_svg]:pointer-events-auto`,
|
|
516
517
|
maxCount === void 0 && TRIGGER_HEIGHT_CLASSES[size],
|
|
518
|
+
disabled && "opacity-50 cursor-not-allowed pointer-events-none",
|
|
517
519
|
className
|
|
518
520
|
),
|
|
519
|
-
"aria-expanded": isPopoverOpen
|
|
521
|
+
"aria-expanded": isPopoverOpen,
|
|
522
|
+
disabled
|
|
520
523
|
},
|
|
521
524
|
selectedValues.length > 0 ? /* @__PURE__ */ React.createElement("div", { className: "flex justify-between items-center w-full" }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-wrap items-center gap-1" }, selectedValues.slice(0, dynamicMaxCount).map((value2) => {
|
|
522
525
|
const selectedOption = options.find((option) => option.value === value2);
|
|
@@ -537,7 +540,7 @@ const MultiSelect = React.forwardRef(
|
|
|
537
540
|
className: "truncate"
|
|
538
541
|
},
|
|
539
542
|
label
|
|
540
|
-
)), /* @__PURE__ */ React.createElement(
|
|
543
|
+
)), !disabled && /* @__PURE__ */ React.createElement(
|
|
541
544
|
X,
|
|
542
545
|
{
|
|
543
546
|
className: "h-4 w-4 cursor-pointer flex-shrink-0",
|
|
@@ -547,7 +550,7 @@ const MultiSelect = React.forwardRef(
|
|
|
547
550
|
}
|
|
548
551
|
}
|
|
549
552
|
));
|
|
550
|
-
}), selectedValues.length > dynamicMaxCount && /* @__PURE__ */ React.createElement(Tag, { color: "blue", className: "focus:ring-0" }, /* @__PURE__ */ React.createElement(Typography, { variant: getFontVariant(size), className: "text-blue-600" }, `+ ${selectedValues.length - dynamicMaxCount}`))), /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement(
|
|
553
|
+
}), selectedValues.length > dynamicMaxCount && /* @__PURE__ */ React.createElement(Tag, { color: "blue", className: "focus:ring-0" }, /* @__PURE__ */ React.createElement(Typography, { variant: getFontVariant(size), className: "text-blue-600" }, `+ ${selectedValues.length - dynamicMaxCount}`))), /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, !disabled && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
|
551
554
|
X,
|
|
552
555
|
{
|
|
553
556
|
className: "h-4 w-4 cursor-pointer text-grey-800",
|
|
@@ -562,7 +565,7 @@ const MultiSelect = React.forwardRef(
|
|
|
562
565
|
orientation: "vertical",
|
|
563
566
|
className: "flex min-h-4 mx-1 h-full"
|
|
564
567
|
}
|
|
565
|
-
), isPopoverOpen ? /* @__PURE__ */ React.createElement(ChevronUp, { className: "h-4 w-4 cursor-pointer text-grey-800" }) : /* @__PURE__ */ React.createElement(ChevronDown, { className: "h-4 w-4 cursor-pointer text-grey-800" }))) : /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between w-full mx-auto" }, /* @__PURE__ */ React.createElement(
|
|
568
|
+
)), isPopoverOpen ? /* @__PURE__ */ React.createElement(ChevronUp, { className: "h-4 w-4 cursor-pointer text-grey-800" }) : /* @__PURE__ */ React.createElement(ChevronDown, { className: "h-4 w-4 cursor-pointer text-grey-800" }))) : /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between w-full mx-auto" }, /* @__PURE__ */ React.createElement(
|
|
566
569
|
Typography,
|
|
567
570
|
{
|
|
568
571
|
variant: getFontVariant(size),
|
package/dist/index.d.ts
CHANGED
|
@@ -384,6 +384,7 @@ interface Column<TData, TValue> {
|
|
|
384
384
|
headerClassName?: string;
|
|
385
385
|
headerStyle?: React.CSSProperties;
|
|
386
386
|
cellClassName?: string;
|
|
387
|
+
showHeaderTooltip?: boolean;
|
|
387
388
|
customHeaderRender?: ({ table, column, }: ColumnSort<TData, TValue>) => React.ReactNode;
|
|
388
389
|
render?: (({ value, row }: ColumnRender<TData, TValue>) => React.ReactNode) | React.ReactNode;
|
|
389
390
|
onSort?: ({ table, column }: ColumnSort<TData, TValue>) => 'asc' | 'desc' | null | void;
|
|
@@ -726,6 +727,7 @@ interface SearchInputProps {
|
|
|
726
727
|
customStyles: CustomStyles$2;
|
|
727
728
|
placeholder?: string;
|
|
728
729
|
isActiveButton?: boolean;
|
|
730
|
+
value?: string;
|
|
729
731
|
onChangeValue?: (value: string) => void;
|
|
730
732
|
onClickButton?: () => void;
|
|
731
733
|
}
|
|
@@ -990,7 +992,7 @@ declare const RadioGroup: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimi
|
|
|
990
992
|
declare const RadioGroupItem: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
991
993
|
|
|
992
994
|
declare const ResizablePanelGroup: ({ className, ...props }: React$1.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => React$1.JSX.Element;
|
|
993
|
-
declare const ResizablePanel: React$1.ForwardRefExoticComponent<Omit<React$1.HTMLAttributes<
|
|
995
|
+
declare const ResizablePanel: React$1.ForwardRefExoticComponent<Omit<React$1.HTMLAttributes<HTMLDivElement | HTMLElement | HTMLButtonElement | HTMLHeadingElement | HTMLParagraphElement | HTMLSpanElement | HTMLLabelElement | HTMLInputElement | HTMLUListElement | HTMLLIElement | HTMLAnchorElement | HTMLObjectElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableCaptionElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLImageElement | HTMLLegendElement | HTMLLinkElement | HTMLMapElement | HTMLMenuElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPictureElement | HTMLPreElement | HTMLProgressElement | HTMLScriptElement | HTMLSelectElement | HTMLSlotElement | HTMLSourceElement | HTMLStyleElement | HTMLTableElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTemplateElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLVideoElement>, "id" | "onResize"> & {
|
|
994
996
|
className?: string;
|
|
995
997
|
collapsedSize?: number | undefined;
|
|
996
998
|
collapsible?: boolean | undefined;
|
|
@@ -1159,7 +1161,7 @@ declare const textareaVariants: (props?: ({
|
|
|
1159
1161
|
variant?: "filled" | "default" | "borderless" | null | undefined;
|
|
1160
1162
|
size?: "small" | "large" | "default" | null | undefined;
|
|
1161
1163
|
radius?: "small" | "large" | "default" | "full" | null | undefined;
|
|
1162
|
-
resize?: "
|
|
1164
|
+
resize?: "both" | "horizontal" | "vertical" | "default" | "vertical-limited" | null | undefined;
|
|
1163
1165
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
1164
1166
|
interface TextareaProps extends React$1.ComponentProps<'textarea'>, VariantProps<typeof textareaVariants> {
|
|
1165
1167
|
}
|
|
@@ -1298,7 +1300,7 @@ declare const SheetClose: React$1.ForwardRefExoticComponent<DialogPrimitive.Dial
|
|
|
1298
1300
|
declare const SheetPortal: React$1.FC<DialogPrimitive.DialogPortalProps>;
|
|
1299
1301
|
declare const SheetOverlay: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
1300
1302
|
declare const sheetVariants: (props?: ({
|
|
1301
|
-
side?: "top" | "
|
|
1303
|
+
side?: "top" | "bottom" | "right" | "left" | null | undefined;
|
|
1302
1304
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
1303
1305
|
interface SheetContentProps extends React$1.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>, VariantProps<typeof sheetVariants> {
|
|
1304
1306
|
}
|
package/dist/plugin/extend.js
CHANGED
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
const extend = {
|
|
2
|
-
colors: {
|
|
3
|
-
background: 'hsl(var(--background))',
|
|
4
|
-
foreground: 'hsl(var(--foreground))',
|
|
5
|
-
card: {
|
|
6
|
-
DEFAULT: 'hsl(var(--card))',
|
|
7
|
-
foreground: 'hsl(var(--card-foreground))',
|
|
8
|
-
},
|
|
9
|
-
popover: {
|
|
10
|
-
DEFAULT: 'hsl(var(--popover))',
|
|
11
|
-
foreground: 'hsl(var(--popover-foreground))',
|
|
12
|
-
},
|
|
13
|
-
primary: {
|
|
14
|
-
DEFAULT: 'hsl(var(--primary))',
|
|
15
|
-
foreground: 'hsl(var(--primary-foreground))',
|
|
16
|
-
},
|
|
17
|
-
secondary: {
|
|
18
|
-
DEFAULT: 'hsl(var(--secondary))',
|
|
19
|
-
foreground: 'hsl(var(--secondary-foreground))',
|
|
20
|
-
},
|
|
21
|
-
muted: {
|
|
22
|
-
DEFAULT: 'hsl(var(--muted))',
|
|
23
|
-
foreground: 'hsl(var(--muted-foreground))',
|
|
24
|
-
},
|
|
25
|
-
accent: {
|
|
26
|
-
DEFAULT: 'hsl(var(--accent))',
|
|
27
|
-
foreground: 'hsl(var(--accent-foreground))',
|
|
28
|
-
},
|
|
29
|
-
destructive: {
|
|
30
|
-
DEFAULT: 'hsl(var(--destructive))',
|
|
31
|
-
foreground: 'hsl(var(--destructive-foreground))',
|
|
32
|
-
},
|
|
33
|
-
border: 'hsl(var(--border))',
|
|
34
|
-
input: 'hsl(var(--input))',
|
|
35
|
-
ring: 'hsl(var(--ring))',
|
|
36
|
-
chart: {
|
|
37
|
-
1: 'hsl(var(--chart-1))',
|
|
38
|
-
2: 'hsl(var(--chart-2))',
|
|
39
|
-
3: 'hsl(var(--chart-3))',
|
|
40
|
-
4: 'hsl(var(--chart-4))',
|
|
41
|
-
5: 'hsl(var(--chart-5))',
|
|
42
|
-
6: 'hsl(var(--chart-6))',
|
|
43
|
-
7: 'hsl(var(--chart-7))',
|
|
44
|
-
8: 'hsl(var(--chart-8))',
|
|
45
|
-
},
|
|
46
|
-
sidebar: {
|
|
47
|
-
DEFAULT: 'hsl(var(--sidebar-background))',
|
|
48
|
-
foreground: 'hsl(var(--sidebar-foreground))',
|
|
49
|
-
primary: 'hsl(var(--sidebar-primary))',
|
|
50
|
-
'primary-foreground': 'hsl(var(--sidebar-primary-foreground))',
|
|
51
|
-
accent: 'hsl(var(--sidebar-accent))',
|
|
52
|
-
'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',
|
|
53
|
-
border: 'hsl(var(--sidebar-border))',
|
|
54
|
-
ring: 'hsl(var(--sidebar-ring))',
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
borderRadius: {
|
|
58
|
-
lg: 'var(--radius)',
|
|
59
|
-
md: 'calc(var(--radius) - 2px)',
|
|
60
|
-
sm: 'calc(var(--radius) - 4px)',
|
|
61
|
-
},
|
|
62
|
-
keyframes: {
|
|
63
|
-
'accordion-down': {
|
|
64
|
-
from: { height: '0' },
|
|
65
|
-
to: { height: 'var(--radix-accordion-content-height)' },
|
|
66
|
-
},
|
|
67
|
-
'accordion-up': {
|
|
68
|
-
from: { height: 'var(--radix-accordion-content-height)' },
|
|
69
|
-
to: { height: '0' },
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
|
-
animation: {
|
|
73
|
-
'accordion-down': 'accordion-down 0.2s ease-out',
|
|
74
|
-
'accordion-up': 'accordion-up 0.2s ease-out',
|
|
75
|
-
'spin-slow': 'spin 2s linear infinite',
|
|
76
|
-
},
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
export { extend };
|
|
1
|
+
const extend = {
|
|
2
|
+
colors: {
|
|
3
|
+
background: 'hsl(var(--background))',
|
|
4
|
+
foreground: 'hsl(var(--foreground))',
|
|
5
|
+
card: {
|
|
6
|
+
DEFAULT: 'hsl(var(--card))',
|
|
7
|
+
foreground: 'hsl(var(--card-foreground))',
|
|
8
|
+
},
|
|
9
|
+
popover: {
|
|
10
|
+
DEFAULT: 'hsl(var(--popover))',
|
|
11
|
+
foreground: 'hsl(var(--popover-foreground))',
|
|
12
|
+
},
|
|
13
|
+
primary: {
|
|
14
|
+
DEFAULT: 'hsl(var(--primary))',
|
|
15
|
+
foreground: 'hsl(var(--primary-foreground))',
|
|
16
|
+
},
|
|
17
|
+
secondary: {
|
|
18
|
+
DEFAULT: 'hsl(var(--secondary))',
|
|
19
|
+
foreground: 'hsl(var(--secondary-foreground))',
|
|
20
|
+
},
|
|
21
|
+
muted: {
|
|
22
|
+
DEFAULT: 'hsl(var(--muted))',
|
|
23
|
+
foreground: 'hsl(var(--muted-foreground))',
|
|
24
|
+
},
|
|
25
|
+
accent: {
|
|
26
|
+
DEFAULT: 'hsl(var(--accent))',
|
|
27
|
+
foreground: 'hsl(var(--accent-foreground))',
|
|
28
|
+
},
|
|
29
|
+
destructive: {
|
|
30
|
+
DEFAULT: 'hsl(var(--destructive))',
|
|
31
|
+
foreground: 'hsl(var(--destructive-foreground))',
|
|
32
|
+
},
|
|
33
|
+
border: 'hsl(var(--border))',
|
|
34
|
+
input: 'hsl(var(--input))',
|
|
35
|
+
ring: 'hsl(var(--ring))',
|
|
36
|
+
chart: {
|
|
37
|
+
1: 'hsl(var(--chart-1))',
|
|
38
|
+
2: 'hsl(var(--chart-2))',
|
|
39
|
+
3: 'hsl(var(--chart-3))',
|
|
40
|
+
4: 'hsl(var(--chart-4))',
|
|
41
|
+
5: 'hsl(var(--chart-5))',
|
|
42
|
+
6: 'hsl(var(--chart-6))',
|
|
43
|
+
7: 'hsl(var(--chart-7))',
|
|
44
|
+
8: 'hsl(var(--chart-8))',
|
|
45
|
+
},
|
|
46
|
+
sidebar: {
|
|
47
|
+
DEFAULT: 'hsl(var(--sidebar-background))',
|
|
48
|
+
foreground: 'hsl(var(--sidebar-foreground))',
|
|
49
|
+
primary: 'hsl(var(--sidebar-primary))',
|
|
50
|
+
'primary-foreground': 'hsl(var(--sidebar-primary-foreground))',
|
|
51
|
+
accent: 'hsl(var(--sidebar-accent))',
|
|
52
|
+
'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',
|
|
53
|
+
border: 'hsl(var(--sidebar-border))',
|
|
54
|
+
ring: 'hsl(var(--sidebar-ring))',
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
borderRadius: {
|
|
58
|
+
lg: 'var(--radius)',
|
|
59
|
+
md: 'calc(var(--radius) - 2px)',
|
|
60
|
+
sm: 'calc(var(--radius) - 4px)',
|
|
61
|
+
},
|
|
62
|
+
keyframes: {
|
|
63
|
+
'accordion-down': {
|
|
64
|
+
from: { height: '0' },
|
|
65
|
+
to: { height: 'var(--radix-accordion-content-height)' },
|
|
66
|
+
},
|
|
67
|
+
'accordion-up': {
|
|
68
|
+
from: { height: 'var(--radix-accordion-content-height)' },
|
|
69
|
+
to: { height: '0' },
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
animation: {
|
|
73
|
+
'accordion-down': 'accordion-down 0.2s ease-out',
|
|
74
|
+
'accordion-up': 'accordion-up 0.2s ease-out',
|
|
75
|
+
'spin-slow': 'spin 2s linear infinite',
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export { extend };
|