lecom-ui 5.2.81 → 5.2.82

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.
@@ -0,0 +1,102 @@
1
+ import * as React from 'react';
2
+ import { cn } from '../../lib/utils.js';
3
+
4
+ const Steps = ({
5
+ items,
6
+ current = 0,
7
+ className,
8
+ dotSize = "medium",
9
+ color = "blue"
10
+ }) => {
11
+ const getStepStatus = (index, item) => {
12
+ if (item.status) return item.status;
13
+ if (index < current) return "completed";
14
+ if (index === current) return "current";
15
+ return "pending";
16
+ };
17
+ const getDotSizeClasses = () => {
18
+ const outerDotSizeClasses = {
19
+ small: "w-[10px] h-[10px]",
20
+ medium: "w-6 h-6",
21
+ large: "w-8 h-8"
22
+ };
23
+ const innerDotSizeClasses = {
24
+ small: "",
25
+ medium: "w-2 h-2",
26
+ large: "w-3 h-3"
27
+ };
28
+ return {
29
+ outer: outerDotSizeClasses[dotSize],
30
+ inner: innerDotSizeClasses[dotSize]
31
+ };
32
+ };
33
+ const getStepIcon = () => dotSize !== "small" ? /* @__PURE__ */ React.createElement("div", { className: cn("rounded-full", getDotSizeClasses().inner) }) : null;
34
+ const getStepColors = () => {
35
+ const colorOptions = {
36
+ blue: "bg-blue-600 border-blue-600",
37
+ red: "bg-red-600 border-red-600",
38
+ green: "bg-green-600 border-green-600",
39
+ purple: "bg-purple-600 border-purple-600",
40
+ orange: "bg-orange-500 border-orange-500"
41
+ };
42
+ return colorOptions[color] || colorOptions.blue;
43
+ };
44
+ return /* @__PURE__ */ React.createElement("div", { className: cn("relative", className) }, items.map((item, index) => {
45
+ const status = getStepStatus(index, item);
46
+ const isCurrent = index === current;
47
+ const isLast = index === items.length - 1;
48
+ return /* @__PURE__ */ React.createElement("div", { key: index, className: "relative flex items-baseline" }, !isLast && /* @__PURE__ */ React.createElement(
49
+ "div",
50
+ {
51
+ className: cn("absolute border-l border-dashed -z-10", {
52
+ "left-[4.5px]": dotSize === "small",
53
+ "left-3": dotSize === "medium",
54
+ "left-4": dotSize === "large",
55
+ "border-blue-300": color === "blue",
56
+ "border-red-300": color === "red",
57
+ "border-green-300": color === "green",
58
+ "border-purple-300": color === "purple",
59
+ "border-orange-300": color === "orange"
60
+ }),
61
+ style: {
62
+ top: dotSize === "small" ? "10px" : dotSize === "medium" ? "16px" : "24px",
63
+ height: dotSize === "small" ? "calc(100% - 10px)" : dotSize === "medium" ? "calc(100% - 24px)" : "calc(100% - 32px)"
64
+ }
65
+ }
66
+ ), /* @__PURE__ */ React.createElement(
67
+ "div",
68
+ {
69
+ className: cn(
70
+ "relative z-10 flex items-center justify-center rounded-full",
71
+ getDotSizeClasses().outer,
72
+ getStepColors(),
73
+ dotSize === "small" ? "" : "border"
74
+ )
75
+ },
76
+ getStepIcon()
77
+ ), /* @__PURE__ */ React.createElement(
78
+ "div",
79
+ {
80
+ className: cn("pb-6 flex-1 mt-0", {
81
+ "ml-[14px]": dotSize === "small",
82
+ "ml-4": dotSize === "medium",
83
+ "ml-5": dotSize === "large"
84
+ })
85
+ },
86
+ /* @__PURE__ */ React.createElement(
87
+ "div",
88
+ {
89
+ className: cn(
90
+ "text-sm font-medium",
91
+ status === "completed" || isCurrent ? "text-gray-900" : "text-gray-500"
92
+ )
93
+ },
94
+ item.title
95
+ ),
96
+ item.description && /* @__PURE__ */ React.createElement("div", { className: "mt-1" }, typeof item.description === "string" ? /* @__PURE__ */ React.createElement("div", { className: "text-sm text-gray-600" }, item.description) : item.description)
97
+ ));
98
+ }));
99
+ };
100
+ Steps.displayName = "Steps";
101
+
102
+ export { Steps };
@@ -1,24 +1,60 @@
1
1
  import * as React from 'react';
2
- import { cn } from '../../lib/utils.js';
3
2
  import * as SwitchPrimitives from '@radix-ui/react-switch';
3
+ import { cn } from '../../lib/utils.js';
4
4
 
5
- const Switch = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(
5
+ const Spinner = () => /* @__PURE__ */ React.createElement("svg", { className: "animate-spin h-4 w-4 text-blue-600", viewBox: "0 0 24 24" }, /* @__PURE__ */ React.createElement(
6
+ "circle",
7
+ {
8
+ className: "opacity-25",
9
+ cx: "12",
10
+ cy: "12",
11
+ r: "10",
12
+ stroke: "currentColor",
13
+ strokeWidth: "4",
14
+ fill: "none"
15
+ }
16
+ ), /* @__PURE__ */ React.createElement(
17
+ "path",
18
+ {
19
+ className: "opacity-75",
20
+ fill: "currentColor",
21
+ d: "M4 12a8 8 0 018-8v4a4 4 0 00-4 4H4z"
22
+ }
23
+ ));
24
+ const Switch = React.forwardRef(({ className, loading = false, disabled, ...props }, ref) => /* @__PURE__ */ React.createElement(
6
25
  SwitchPrimitives.Root,
7
26
  {
27
+ ref,
28
+ disabled: disabled || loading,
8
29
  className: cn(
9
- "peer flex items-center shrink-0 h-6 w-12 p-[2px] group rounded-full cursor-pointer bg-transparent focus:outline-none transition-colors data-[state=unchecked]:border-2 data-[state=unchecked]:border-grey-400 data-[state=unchecked]:hover:border-grey-500 data-[state=unchecked]:active:border-grey-700 data-[state=unchecked]:disabled:border-grey-300 data-[state=checked]:bg-blue-600 data-[state=checked]:hover:bg-blue-700 data-[state=checked]:active:bg-blue-800 data-[state=checked]:disabled:bg-blue-200 disabled:cursor-not-allowed",
30
+ "peer flex items-center shrink-0 h-6 w-12 p-[2px] group rounded-full cursor-pointer bg-transparent focus:outline-none transition-colors",
31
+ "data-[state=unchecked]:border-2 data-[state=unchecked]:border-grey-400",
32
+ "data-[state=unchecked]:hover:border-grey-500 data-[state=unchecked]:active:border-grey-700",
33
+ "data-[state=unchecked]:disabled:border-grey-300",
34
+ "data-[state=checked]:bg-blue-600 data-[state=checked]:hover:bg-blue-700",
35
+ "data-[state=checked]:active:bg-blue-800 data-[state=checked]:disabled:bg-blue-200",
36
+ "disabled:cursor-not-allowed",
10
37
  className
11
38
  ),
12
- ref,
13
39
  ...props
14
40
  },
15
41
  /* @__PURE__ */ React.createElement(
16
42
  SwitchPrimitives.Thumb,
17
43
  {
18
44
  className: cn(
19
- "pointer-events-none rounded-full shadow-sm transition-all h-4 w-4 data-[state=unchecked]:bg-grey-400 data-[state=unchecked]:translate-x-1 group-hover:data-[state=unchecked]:bg-grey-500 group-focus:ring-8 group-focus:ring-blue-200 group-focus:ring-opacity-50 group-active:group-enabled:h-5 group-active:group-enabled:w-5 group-active:data-[state=unchecked]:bg-grey-700 group-active:group-enabled:data-[state=unchecked]:translate-x-[-2px] group-disabled:data-[state=unchecked]:bg-grey-300 group-disabled:data-[state=unchecked]:bg-opacity-65 data-[state=checked]:bg-white data-[state=checked]:translate-x-6"
45
+ "pointer-events-none rounded-full shadow-sm transition-all h-4 w-4",
46
+ "data-[state=unchecked]:bg-grey-400 data-[state=unchecked]:translate-x-1",
47
+ "group-hover:data-[state=unchecked]:bg-grey-500",
48
+ "group-focus:ring-8 group-focus:ring-blue-200 group-focus:ring-opacity-50",
49
+ "group-active:group-enabled:h-5 group-active:group-enabled:w-5",
50
+ "group-active:data-[state=unchecked]:bg-grey-700",
51
+ "group-active:group-enabled:data-[state=unchecked]:translate-x-[-2px]",
52
+ "group-disabled:data-[state=unchecked]:bg-grey-300 group-disabled:data-[state=unchecked]:bg-opacity-65",
53
+ "data-[state=checked]:bg-white data-[state=checked]:translate-x-6",
54
+ "flex items-center justify-center"
20
55
  )
21
- }
56
+ },
57
+ loading && /* @__PURE__ */ React.createElement(Spinner, null)
22
58
  )
23
59
  ));
24
60
  Switch.displayName = "Switch";
@@ -0,0 +1,106 @@
1
+ import * as React from 'react';
2
+ import { X } from 'lucide-react';
3
+ import { cn } from '../../lib/utils.js';
4
+ import { Tag } from '../Tag/Tag.js';
5
+ import { textareaVariants } from '../Textarea/Textarea.js';
6
+ import { Typography } from '../Typography/Typography.js';
7
+
8
+ function TagInput({
9
+ value,
10
+ onRemove,
11
+ placeholder = "Nenhum item selecionado",
12
+ disabled = false,
13
+ readOnly = false,
14
+ className = "",
15
+ variant = "default",
16
+ radius = "default",
17
+ ...props
18
+ }) {
19
+ const ref = React.useRef(null);
20
+ const [maxVisibleCount, setMaxVisibleCount] = React.useState(
21
+ null
22
+ );
23
+ const [hiddenCount, setHiddenCount] = React.useState(0);
24
+ const calculateMaxVisible = React.useCallback(() => {
25
+ const container = ref.current;
26
+ if (!container) return;
27
+ const children = Array.from(container.children).filter(
28
+ (el) => el.dataset.tag === "true"
29
+ );
30
+ const lines = [];
31
+ children.forEach((c) => {
32
+ const t = c.offsetTop;
33
+ if (!lines.includes(t)) lines.push(t);
34
+ });
35
+ if (lines.length <= 2) {
36
+ setMaxVisibleCount(children.length);
37
+ setHiddenCount(0);
38
+ return;
39
+ }
40
+ const second = lines[1];
41
+ let count = 0;
42
+ for (const c of children) {
43
+ if (c.offsetTop > second) break;
44
+ count++;
45
+ }
46
+ setMaxVisibleCount(count);
47
+ setHiddenCount(children.length - count);
48
+ }, []);
49
+ React.useLayoutEffect(() => {
50
+ if (maxVisibleCount === null) {
51
+ const id = window.requestAnimationFrame(calculateMaxVisible);
52
+ return () => window.cancelAnimationFrame(id);
53
+ }
54
+ }, [maxVisibleCount, calculateMaxVisible]);
55
+ const visibleCount = maxVisibleCount === null ? value.length : maxVisibleCount;
56
+ const displayTags = value.slice(0, visibleCount);
57
+ const currentHiddenCount = Math.max(value.length - visibleCount, 0);
58
+ React.useEffect(() => {
59
+ setHiddenCount(currentHiddenCount);
60
+ }, [currentHiddenCount]);
61
+ const textareaRadius = radius === "full" ? "large" : radius;
62
+ return /* @__PURE__ */ React.createElement(
63
+ "div",
64
+ {
65
+ ref,
66
+ className: cn(
67
+ textareaVariants({ variant, radius: textareaRadius }),
68
+ "flex flex-wrap items-start min-h-10 gap-1 py-2 px-3",
69
+ disabled && "opacity-50 pointer-events-none",
70
+ className
71
+ ),
72
+ tabIndex: 0,
73
+ "aria-disabled": disabled,
74
+ style: { resize: "none", cursor: disabled ? "not-allowed" : "text" },
75
+ ...props
76
+ },
77
+ value.length === 0 && /* @__PURE__ */ React.createElement(Typography, { variant: "body-small-400", className: "text-grey-400" }, placeholder),
78
+ displayTags.map((item) => /* @__PURE__ */ React.createElement(Tag, { key: item.value, "data-tag": "true", color: "blue" }, /* @__PURE__ */ React.createElement(Typography, { variant: "body-small-400", className: "text-blue-600" }, item.label), !readOnly && /* @__PURE__ */ React.createElement(
79
+ X,
80
+ {
81
+ className: "w-4 h-4 cursor-pointer",
82
+ onClick: (e) => {
83
+ e.stopPropagation();
84
+ onRemove(item.value);
85
+ },
86
+ "aria-label": `Remover ${item.label}`,
87
+ tabIndex: 0
88
+ }
89
+ ))),
90
+ hiddenCount > 0 && /* @__PURE__ */ React.createElement(Tag, { color: "grey", "data-tag": "true" }, /* @__PURE__ */ React.createElement(Typography, { variant: "body-small-400", className: "text-grey-600" }, "+", hiddenCount), !readOnly && /* @__PURE__ */ React.createElement(
91
+ X,
92
+ {
93
+ className: "w-4 h-4 cursor-pointer text-grey-500 hover:text-grey-700",
94
+ onClick: (e) => {
95
+ e.stopPropagation();
96
+ const next = value[visibleCount]?.value;
97
+ if (next) onRemove(next);
98
+ },
99
+ "aria-label": "Remover pr\xF3xima tag oculta",
100
+ tabIndex: 0
101
+ }
102
+ ))
103
+ );
104
+ }
105
+
106
+ export { TagInput };
package/dist/index.d.ts CHANGED
@@ -19,7 +19,7 @@ import * as DialogPrimitive from '@radix-ui/react-dialog';
19
19
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
20
20
  import * as _radix_ui_react_slot from '@radix-ui/react-slot';
21
21
  import * as react_hook_form from 'react-hook-form';
22
- import { FieldValues, FieldPath, ControllerProps } from 'react-hook-form';
22
+ import { FieldValues, FieldPath, ControllerProps, Control } from 'react-hook-form';
23
23
  export { useForm } from 'react-hook-form';
24
24
  import * as LabelPrimitive from '@radix-ui/react-label';
25
25
  import { CustomStyles as CustomStyles$2 } from '@/components/Button';
@@ -36,6 +36,9 @@ export { TFunction, default as i18n } from 'i18next';
36
36
  import * as TabsPrimitive from '@radix-ui/react-tabs';
37
37
  import * as vaul from 'vaul';
38
38
  import { Drawer as Drawer$1 } from 'vaul';
39
+ export { ptBR } from 'date-fns/locale/pt-BR';
40
+ export { enUS } from 'date-fns/locale/en-US';
41
+ export { es } from 'date-fns/locale/es';
39
42
  export { z as zod } from 'zod';
40
43
  export { zodResolver } from '@hookform/resolvers/zod';
41
44
  export { Translation, useTranslation } from 'react-i18next';
@@ -350,22 +353,6 @@ declare const LogoLecomBrand: React$1.ForwardRefExoticComponent<LogoLecomBrandPr
350
353
 
351
354
  declare const SairModoTeste: ({ color, strokeWidth, width, height, ...props }: React$1.SVGProps<SVGSVGElement>) => React$1.JSX.Element;
352
355
 
353
- declare const inputVariants: (props?: ({
354
- variant?: "default" | "filled" | "borderless" | null | undefined;
355
- size?: "default" | "small" | "large" | null | undefined;
356
- radius?: "default" | "small" | "large" | "full" | null | undefined;
357
- } & class_variance_authority_types.ClassProp) | undefined) => string;
358
- interface InputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'size' | 'sufix' | 'prefix'>, VariantProps<typeof inputVariants> {
359
- sufix?: React$1.ReactNode;
360
- prefix?: React$1.ReactNode;
361
- iconBefore?: React$1.ReactNode;
362
- iconAfter?: React$1.ReactNode;
363
- containerClassName?: string;
364
- prefixInset?: React$1.ReactNode;
365
- sufixInset?: React$1.ReactNode;
366
- }
367
- declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
368
-
369
356
  type UsePaginationProps = {
370
357
  count?: number;
371
358
  defaultPage?: number;
@@ -475,13 +462,6 @@ interface CheckedCellChange<TData> {
475
462
  row: Row$1<TData>;
476
463
  value: boolean;
477
464
  }
478
- interface FilterProps {
479
- className?: string;
480
- placeholder?: string;
481
- value?: string;
482
- setFilterValue?: (value: string) => void;
483
- inputProps?: Omit<InputProps, 'value' | 'onChange'>;
484
- }
485
465
  interface Column<TData, TValue> {
486
466
  key: string;
487
467
  title?: (({ table, column }: ColumnTitle<TData, TValue>) => React.ReactNode) | React.ReactNode;
@@ -499,8 +479,6 @@ interface Column<TData, TValue> {
499
479
  checkedCell?: ({ row }: CheckedCell<TData>) => boolean;
500
480
  onCheckedHeaderChange?: ({ table, column, value, }: CheckedHeaderChange<TData, TValue>) => void;
501
481
  onCheckedCellChange?: ({ row, value }: CheckedCellChange<TData>) => void;
502
- filterable?: boolean;
503
- filterProps?: FilterProps;
504
482
  }
505
483
  interface DataTableProps<TData, TValue> {
506
484
  isLoading?: boolean;
@@ -736,6 +714,22 @@ interface HeaderProps extends React$1.HTMLAttributes<HTMLElement>, VariantProps<
736
714
  onOpenMenuChange?: () => void;
737
715
  }
738
716
 
717
+ declare const inputVariants: (props?: ({
718
+ variant?: "default" | "filled" | "borderless" | null | undefined;
719
+ size?: "default" | "small" | "large" | null | undefined;
720
+ radius?: "default" | "small" | "large" | "full" | null | undefined;
721
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
722
+ interface InputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'size' | 'sufix' | 'prefix'>, VariantProps<typeof inputVariants> {
723
+ sufix?: React$1.ReactNode;
724
+ prefix?: React$1.ReactNode;
725
+ iconBefore?: React$1.ReactNode;
726
+ iconAfter?: React$1.ReactNode;
727
+ containerClassName?: string;
728
+ prefixInset?: React$1.ReactNode;
729
+ sufixInset?: React$1.ReactNode;
730
+ }
731
+ declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
732
+
739
733
  interface SideBarProps {
740
734
  items: {
741
735
  title: string;
@@ -882,7 +876,7 @@ declare const RadioGroup: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimi
882
876
  declare const RadioGroupItem: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
883
877
 
884
878
  declare const ResizablePanelGroup: ({ className, ...props }: React$1.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => React$1.JSX.Element;
885
- declare const ResizablePanel: React$1.ForwardRefExoticComponent<Omit<React$1.HTMLAttributes<HTMLDivElement | HTMLElement | HTMLButtonElement | HTMLOListElement | HTMLLIElement | HTMLAnchorElement | HTMLSpanElement | HTMLLabelElement | HTMLParagraphElement | HTMLHeadingElement | HTMLInputElement | HTMLUListElement | 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 | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPictureElement | HTMLPreElement | HTMLProgressElement | HTMLScriptElement | HTMLSelectElement | HTMLSlotElement | HTMLSourceElement | HTMLStyleElement | HTMLTableElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTemplateElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLVideoElement>, "id" | "onResize"> & {
879
+ declare const ResizablePanel: React$1.ForwardRefExoticComponent<Omit<React$1.HTMLAttributes<HTMLDivElement | HTMLElement | HTMLButtonElement | HTMLOListElement | HTMLLIElement | HTMLAnchorElement | HTMLSpanElement | HTMLHeadingElement | HTMLParagraphElement | HTMLLabelElement | HTMLInputElement | HTMLUListElement | 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 | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPictureElement | HTMLPreElement | HTMLProgressElement | HTMLScriptElement | HTMLSelectElement | HTMLSlotElement | HTMLSourceElement | HTMLStyleElement | HTMLTableElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTemplateElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLVideoElement>, "id" | "onResize"> & {
886
880
  className?: string;
887
881
  collapsedSize?: number | undefined;
888
882
  collapsible?: boolean | undefined;
@@ -939,7 +933,11 @@ interface SpinProps extends React$1.SVGAttributes<SVGSVGElement> {
939
933
  }
940
934
  declare const Spin: React$1.ForwardRefExoticComponent<SpinProps & React$1.RefAttributes<SVGSVGElement>>;
941
935
 
942
- declare const Switch: React$1.ForwardRefExoticComponent<Omit<SwitchPrimitives.SwitchProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
936
+ interface SwitchProps extends React$1.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root> {
937
+ loading?: boolean;
938
+ className?: string;
939
+ }
940
+ declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.RefAttributes<HTMLButtonElement>>;
943
941
 
944
942
  declare const tagVariants: (props?: ({
945
943
  color?: "blue" | "grey" | "purple" | "yellow" | "red" | "orange" | "green" | "pink" | "turquoise" | null | undefined;
@@ -1061,5 +1059,100 @@ declare const DrawerFooter: {
1061
1059
  declare const DrawerTitle: React$1.ForwardRefExoticComponent<React$1.ComponentPropsWithoutRef<typeof Drawer$1.Title> & React$1.RefAttributes<React$1.ElementRef<typeof Drawer$1.Title>>>;
1062
1060
  declare const DrawerDescription: React$1.ForwardRefExoticComponent<React$1.ComponentPropsWithoutRef<typeof Drawer$1.Description> & React$1.RefAttributes<React$1.ElementRef<typeof Drawer$1.Description>>>;
1063
1061
 
1064
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, CadastroFacil, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, DataTable, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogScroll, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ErrorEmptyDisplay, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Input, Layout, LogoLecom, LogoLecomBrand, ModoTeste, MultiSelect, Notification, Pagination, PaginationContent, PaginationEllipsis, PaginationFirst, PaginationIndex, PaginationItem, PaginationLast, PaginationNext, PaginationPrevious, Popover, PopoverContent, PopoverTrigger, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, Rpa, SairModoTeste, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Skeleton, Spin, Switch, TOAST_REMOVE_DELAY, Tabs, TabsContent, TabsList, TabsTrigger, Tag, Textarea, ToggleGroup, ToggleGroupItem, Tooltip, TooltipArrow, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, Translations, TypeMessageNotification, Typography, Upload, accordionVariants, buttonVariants, colors, fonts, initializeI18n, inputVariants, notificationVariants, reducer, tagVariants, textareaVariants, toast, typographyVariants, useFormField, useIsMobile, useNotificationToast, usePagination, useSidebar };
1065
- export type { BgColor, BuildCellSelect, BuildColumns, BuildHeaderSelect, ButtonProps, CadastroFacilProps, CalloutNotificationProps, ChartConfig, CheckboxProps, CheckedCell, CheckedCellChange, CheckedHeader, CheckedHeaderChange, Color, ColorToken, Column, ColumnRender, ColumnSort, ColumnSortClient, ColumnTitle, CustomStyles$1 as CustomStyles, DataTableProps, DialogContentProps, ErrorEmptyDisplayProps, File, FillColor, FilterProps, Fonts, Header, HeaderProps, InlineNotificationProps, InputProps, LayoutProps, LogoLecomBrandProps, LogoLecomProps, Meta, ModoTesteProps, NotificationProps, PaginationProps, Row, RpaProps, SideBarProps, SpinProps, TableProps, TagProps, TextColor, TextareaProps, ToastNotificationProps, ToasterToast, TooltipContentProps, TypographyProps, UploadProps, UsePaginationItem };
1062
+ type TimelineStepItem = {
1063
+ title: React$1.ReactNode;
1064
+ description?: React$1.ReactNode;
1065
+ status?: 'completed' | 'current' | 'pending' | 'error';
1066
+ };
1067
+ interface StepsProps {
1068
+ items: TimelineStepItem[];
1069
+ current?: number;
1070
+ className?: string;
1071
+ dotSize?: 'small' | 'medium' | 'large';
1072
+ color?: string;
1073
+ }
1074
+ declare const Steps: React$1.FC<StepsProps>;
1075
+
1076
+ interface ComboboxOption {
1077
+ label: string;
1078
+ value: string;
1079
+ disabled?: boolean;
1080
+ }
1081
+ interface ComboboxGroup {
1082
+ label: string;
1083
+ options: ComboboxOption[];
1084
+ }
1085
+ type ComboboxProps = {
1086
+ options: (ComboboxOption | ComboboxGroup)[];
1087
+ value: string | null;
1088
+ onChange: (value: string | null) => void;
1089
+ placeholder?: string;
1090
+ disabled?: boolean;
1091
+ notFoundContent?: React$1.ReactNode;
1092
+ status?: 'default' | 'error';
1093
+ searchTerm?: string;
1094
+ triggerClassName?: string;
1095
+ contentClassName?: string;
1096
+ };
1097
+ declare function Combobox({ options, value, onChange, placeholder, disabled, notFoundContent, status, searchTerm, triggerClassName, contentClassName, }: ComboboxProps): React$1.JSX.Element;
1098
+
1099
+ interface TagValue {
1100
+ label: string;
1101
+ value: string;
1102
+ }
1103
+ interface TagInputProps extends React$1.HTMLAttributes<HTMLDivElement> {
1104
+ value: TagValue[];
1105
+ onRemove: (value: string) => void;
1106
+ placeholder?: string;
1107
+ disabled?: boolean;
1108
+ readOnly?: boolean;
1109
+ className?: string;
1110
+ variant?: 'default' | 'filled' | 'borderless';
1111
+ radius?: 'default' | 'full';
1112
+ }
1113
+ declare function TagInput({ value, onRemove, placeholder, disabled, readOnly, className, variant, radius, ...props }: TagInputProps): React$1.JSX.Element;
1114
+
1115
+ interface CustomDividerProps {
1116
+ name?: string;
1117
+ control?: Control<any>;
1118
+ isActive?: boolean;
1119
+ isGroupDivider?: boolean;
1120
+ orientation?: 'left' | 'center' | 'right';
1121
+ dashed?: boolean;
1122
+ plain?: boolean;
1123
+ lineOnly?: boolean;
1124
+ optionLabels?: [string, string];
1125
+ ButtonComponent?: typeof Button;
1126
+ buttonSize?: 'small' | 'medium' | 'large' | 'extraLarge' | null | undefined;
1127
+ buttonClassName?: string;
1128
+ className?: string;
1129
+ style?: React$1.CSSProperties;
1130
+ children?: React$1.ReactNode;
1131
+ }
1132
+ declare function CustomDivider({ name, control, isActive, isGroupDivider, orientation, dashed, plain, lineOnly, optionLabels, ButtonComponent, buttonSize, buttonClassName, className, style, children, }: CustomDividerProps): React$1.JSX.Element;
1133
+ declare namespace CustomDivider {
1134
+ var displayName: string;
1135
+ }
1136
+
1137
+ type ExpandIconPosition = 'start' | 'end';
1138
+ declare const collapseTriggerVariants: (props?: ({
1139
+ size?: "small" | "medium" | "large" | null | undefined;
1140
+ ghost?: boolean | null | undefined;
1141
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1142
+ interface CollapsePanelProps extends React$1.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item> {
1143
+ header: React$1.ReactNode;
1144
+ children: React$1.ReactNode;
1145
+ extra?: React$1.ReactNode;
1146
+ expandIcon?: React$1.ReactNode;
1147
+ expandIconPosition?: ExpandIconPosition;
1148
+ size?: 'small' | 'medium' | 'large';
1149
+ ghost?: boolean;
1150
+ disabled?: boolean;
1151
+ className?: string;
1152
+ }
1153
+ declare const Collapse: React$1.ForwardRefExoticComponent<(AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & React$1.RefAttributes<HTMLDivElement>> & {
1154
+ Panel: React$1.ForwardRefExoticComponent<CollapsePanelProps & React$1.RefAttributes<HTMLDivElement>>;
1155
+ };
1156
+
1157
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, CadastroFacil, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapse, Combobox, CustomDivider, DataTable, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogScroll, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ErrorEmptyDisplay, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Input, Layout, LogoLecom, LogoLecomBrand, ModoTeste, MultiSelect, Notification, Pagination, PaginationContent, PaginationEllipsis, PaginationFirst, PaginationIndex, PaginationItem, PaginationLast, PaginationNext, PaginationPrevious, Popover, PopoverContent, PopoverTrigger, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, Rpa, SairModoTeste, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Skeleton, Spin, Steps, Switch, TOAST_REMOVE_DELAY, Tabs, TabsContent, TabsList, TabsTrigger, Tag, TagInput, Textarea, ToggleGroup, ToggleGroupItem, Tooltip, TooltipArrow, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, Translations, TypeMessageNotification, Typography, Upload, accordionVariants, buttonVariants, collapseTriggerVariants, colors, fonts, initializeI18n, inputVariants, notificationVariants, reducer, tagVariants, textareaVariants, toast, typographyVariants, useFormField, useIsMobile, useNotificationToast, usePagination, useSidebar };
1158
+ export type { BgColor, BuildCellSelect, BuildColumns, BuildHeaderSelect, ButtonProps, CadastroFacilProps, CalloutNotificationProps, ChartConfig, CheckboxProps, CheckedCell, CheckedCellChange, CheckedHeader, CheckedHeaderChange, Color, ColorToken, Column, ColumnRender, ColumnSort, ColumnSortClient, ColumnTitle, ComboboxGroup, ComboboxOption, ComboboxProps, CustomStyles$1 as CustomStyles, DataTableProps, DialogContentProps, ErrorEmptyDisplayProps, ExpandIconPosition, File, FillColor, Fonts, Header, HeaderProps, InlineNotificationProps, InputProps, LayoutProps, LogoLecomBrandProps, LogoLecomProps, Meta, ModoTesteProps, NotificationProps, PaginationProps, Row, RpaProps, SideBarProps, SpinProps, StepsProps, SwitchProps, TableProps, TagInputProps, TagProps, TagValue, TextColor, TextareaProps, TimelineStepItem, ToastNotificationProps, ToasterToast, TooltipContentProps, TypographyProps, UploadProps, UsePaginationItem };
package/dist/index.js CHANGED
@@ -43,6 +43,20 @@ export { fonts } from './tokens/fonts.js';
43
43
  export { Tabs, TabsContent, TabsList, TabsTrigger } from './components/Tabs/Tabs.js';
44
44
  export { Textarea, textareaVariants } from './components/Textarea/Textarea.js';
45
45
  export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger } from './components/Drawer/Drawer.js';
46
+ export { Steps } from './components/Steps/Steps.js';
47
+ export { Combobox } from './components/Combobox/Combobox.js';
48
+ export { TagInput } from './components/TagInput/TagInput.js';
49
+ export { CustomDivider } from './components/CustomDivider/CustomDivider.js';
50
+ export { Collapse, collapseTriggerVariants } from './components/Collapse/Collapse.js';
51
+ import 'react';
52
+ import 'react-day-picker';
53
+ import 'clsx';
54
+ import 'tailwind-merge';
55
+ import 'date-fns';
56
+ import 'lucide-react';
57
+ export { ptBR } from 'date-fns/locale/pt-BR';
58
+ export { enUS } from 'date-fns/locale/en-US';
59
+ export { es } from 'date-fns/locale/es';
46
60
  export { Bar, BarChart, CartesianGrid, Label, LabelList, XAxis, YAxis } from 'recharts';
47
61
  export { z as zod } from 'zod';
48
62
  export { zodResolver } from '@hookform/resolvers/zod';