analytica-frontend-lib 1.0.37 → 1.0.39

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.
Files changed (100) hide show
  1. package/README.md +1 -2
  2. package/dist/Alert/index.js.map +1 -1
  3. package/dist/Alert/index.mjs.map +1 -1
  4. package/dist/Badge/index.d.mts +0 -1
  5. package/dist/Badge/index.d.ts +0 -1
  6. package/dist/Badge/index.js.map +1 -1
  7. package/dist/Badge/index.mjs.map +1 -1
  8. package/dist/Button/index.d.mts +0 -1
  9. package/dist/Button/index.d.ts +0 -1
  10. package/dist/Button/index.js.map +1 -1
  11. package/dist/Button/index.mjs.map +1 -1
  12. package/dist/CheckBox/index.js +0 -1
  13. package/dist/CheckBox/index.js.map +1 -1
  14. package/dist/CheckBox/index.mjs +0 -2
  15. package/dist/CheckBox/index.mjs.map +1 -1
  16. package/dist/Chips/index.d.mts +41 -0
  17. package/dist/Chips/index.d.ts +41 -0
  18. package/dist/Chips/index.js +57 -0
  19. package/dist/Chips/index.js.map +1 -0
  20. package/dist/Chips/index.mjs +36 -0
  21. package/dist/Chips/index.mjs.map +1 -0
  22. package/dist/Divider/index.d.mts +32 -0
  23. package/dist/Divider/index.d.ts +32 -0
  24. package/dist/Divider/index.js +47 -0
  25. package/dist/Divider/index.js.map +1 -0
  26. package/dist/Divider/index.mjs +26 -0
  27. package/dist/Divider/index.mjs.map +1 -0
  28. package/dist/DropdownMenu/index.d.mts +16 -8
  29. package/dist/DropdownMenu/index.d.ts +16 -8
  30. package/dist/DropdownMenu/index.js +122 -46
  31. package/dist/DropdownMenu/index.js.map +1 -1
  32. package/dist/DropdownMenu/index.mjs +122 -47
  33. package/dist/DropdownMenu/index.mjs.map +1 -1
  34. package/dist/IconButton/index.d.mts +0 -1
  35. package/dist/IconButton/index.d.ts +0 -1
  36. package/dist/IconButton/index.js.map +1 -1
  37. package/dist/IconButton/index.mjs.map +1 -1
  38. package/dist/IconRoundedButton/index.d.mts +0 -1
  39. package/dist/IconRoundedButton/index.d.ts +0 -1
  40. package/dist/IconRoundedButton/index.js.map +1 -1
  41. package/dist/IconRoundedButton/index.mjs.map +1 -1
  42. package/dist/Input/index.d.mts +27 -0
  43. package/dist/Input/index.d.ts +27 -0
  44. package/dist/Input/index.js +184 -0
  45. package/dist/Input/index.js.map +1 -0
  46. package/dist/Input/index.mjs +168 -0
  47. package/dist/Input/index.mjs.map +1 -0
  48. package/dist/NavButton/index.d.mts +0 -1
  49. package/dist/NavButton/index.d.ts +0 -1
  50. package/dist/NavButton/index.js.map +1 -1
  51. package/dist/NavButton/index.mjs.map +1 -1
  52. package/dist/ProgressBar/index.js +0 -1
  53. package/dist/ProgressBar/index.js.map +1 -1
  54. package/dist/ProgressBar/index.mjs +0 -2
  55. package/dist/ProgressBar/index.mjs.map +1 -1
  56. package/dist/ProgressCircle/index.js +0 -1
  57. package/dist/ProgressCircle/index.js.map +1 -1
  58. package/dist/ProgressCircle/index.mjs +0 -2
  59. package/dist/ProgressCircle/index.mjs.map +1 -1
  60. package/dist/Radio/index.js +0 -1
  61. package/dist/Radio/index.js.map +1 -1
  62. package/dist/Radio/index.mjs +0 -2
  63. package/dist/Radio/index.mjs.map +1 -1
  64. package/dist/Select/index.d.mts +51 -0
  65. package/dist/Select/index.d.ts +51 -0
  66. package/dist/Select/index.js +322 -0
  67. package/dist/Select/index.js.map +1 -0
  68. package/dist/Select/index.mjs +298 -0
  69. package/dist/Select/index.mjs.map +1 -0
  70. package/dist/SelectionButton/index.d.mts +0 -1
  71. package/dist/SelectionButton/index.d.ts +0 -1
  72. package/dist/SelectionButton/index.js.map +1 -1
  73. package/dist/SelectionButton/index.mjs.map +1 -1
  74. package/dist/Text/index.d.mts +0 -1
  75. package/dist/Text/index.d.ts +0 -1
  76. package/dist/Text/index.js.map +1 -1
  77. package/dist/Text/index.mjs.map +1 -1
  78. package/dist/TextArea/index.js +0 -1
  79. package/dist/TextArea/index.js.map +1 -1
  80. package/dist/TextArea/index.mjs +0 -2
  81. package/dist/TextArea/index.mjs.map +1 -1
  82. package/dist/Toast/Toaster/index.js +0 -1
  83. package/dist/Toast/Toaster/index.js.map +1 -1
  84. package/dist/Toast/Toaster/index.mjs +0 -2
  85. package/dist/Toast/Toaster/index.mjs.map +1 -1
  86. package/dist/Toast/index.js +0 -1
  87. package/dist/Toast/index.js.map +1 -1
  88. package/dist/Toast/index.mjs +0 -2
  89. package/dist/Toast/index.mjs.map +1 -1
  90. package/dist/index.css +5 -9
  91. package/dist/index.css.map +1 -1
  92. package/dist/index.d.mts +7 -136
  93. package/dist/index.d.ts +7 -136
  94. package/dist/index.js +52 -34
  95. package/dist/index.js.map +1 -1
  96. package/dist/index.mjs +52 -34
  97. package/dist/index.mjs.map +1 -1
  98. package/dist/styles.css +5 -9
  99. package/dist/styles.css.map +1 -1
  100. package/package.json +1 -5
package/dist/index.d.mts CHANGED
@@ -12,143 +12,14 @@ export { default as Radio } from './Radio/index.mjs';
12
12
  export { default as TextArea } from './TextArea/index.mjs';
13
13
  export { default as Toast } from './Toast/index.mjs';
14
14
  export { default as Toaster } from './Toast/Toaster/index.mjs';
15
- import * as react_jsx_runtime from 'react/jsx-runtime';
16
- import * as react from 'react';
17
- import { HTMLAttributes, ReactNode, InputHTMLAttributes, ButtonHTMLAttributes } from 'react';
15
+ export { default as Divider } from './Divider/index.mjs';
18
16
  export { default as useToastStore } from './Toast/ToastStore/index.mjs';
17
+ export { default as Input } from './Input/index.mjs';
18
+ export { default as Chips } from './Chips/index.mjs';
19
19
  export { default as ProgressBar } from './ProgressBar/index.mjs';
20
20
  export { default as ProgressCircle } from './ProgressCircle/index.mjs';
21
21
  export { default as DropdownMenu, DropdownMenuTrigger, MenuContent, MenuItem, MenuLabel, MenuSeparator, ProfileMenuFooter, ProfileMenuHeader, ProfileMenuSection, ProfileMenuTrigger } from './DropdownMenu/index.mjs';
22
- import { StoreApi } from 'zustand';
23
-
24
- /**
25
- * Divider component props interface
26
- */
27
- type DividerProps = {
28
- /** Orientation of the divider */
29
- orientation?: 'horizontal' | 'vertical';
30
- /** Additional CSS classes to apply */
31
- className?: string;
32
- } & HTMLAttributes<HTMLHRElement>;
33
- /**
34
- * Divider component for Analytica Ensino platforms
35
- *
36
- * A simple divider component that creates a visual separation between content sections.
37
- * Can be used both horizontally and vertically.
38
- *
39
- * @param orientation - The orientation of the divider (horizontal or vertical)
40
- * @param className - Additional CSS classes
41
- * @param props - All other standard hr HTML attributes
42
- * @returns A styled divider element
43
- *
44
- * @example
45
- * ```tsx
46
- * <Divider orientation="horizontal" />
47
- * <Divider orientation="vertical" className="h-8" />
48
- * ```
49
- */
50
- declare const Divider: ({ orientation, className, ...props }: DividerProps) => react_jsx_runtime.JSX.Element;
51
-
52
- declare const Input: react.ForwardRefExoticComponent<{
53
- /** Label text displayed above the input */
54
- label?: string;
55
- /** Helper text displayed below the input */
56
- helperText?: string;
57
- /** Error message displayed below the input */
58
- errorMessage?: string;
59
- /** Size of the input */
60
- size?: "small" | "medium" | "large" | "extra-large";
61
- /** Visual variant of the input */
62
- variant?: "outlined" | "underlined" | "rounded";
63
- /** Current state of the input */
64
- state?: "default" | "error" | "disabled" | "read-only";
65
- /** Icon to display on the left side of the input */
66
- iconLeft?: ReactNode;
67
- /** Icon to display on the right side of the input */
68
- iconRight?: ReactNode;
69
- /** Additional CSS classes to apply to the input */
70
- className?: string;
71
- /** Additional CSS classes to apply to the container */
72
- containerClassName?: string;
73
- } & Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & react.RefAttributes<HTMLInputElement>>;
74
-
75
- /**
76
- * Chips component props interface
77
- */
78
- type ChipsProps = {
79
- /** Content to be displayed inside the chip */
80
- children: ReactNode;
81
- /** Se o chip está selecionado (mostra check automaticamente) */
82
- selected?: boolean;
83
- /** Additional CSS classes to apply */
84
- className?: string;
85
- } & Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'>;
86
- /**
87
- * Chips component for Analytica Ensino platforms
88
- *
89
- * Um componente de chip seguindo exatamente o design do Figma.
90
- * Suporte a dois estados principais: default (sem ícone) e selected (com ícone de check).
91
- * Quando selecionado, automaticamente mostra o ícone de check.
92
- *
93
- * @param children - O conteúdo a ser exibido dentro do chip
94
- * @param selected - Se o chip está selecionado (mostra check automaticamente)
95
- * @param className - Classes CSS adicionais
96
- * @param props - Todos os outros atributos padrão de button HTML
97
- * @returns Um elemento de chip estilizado
98
- *
99
- * @example
100
- * ```tsx
101
- * <Chips onClick={() => console.log('clicked')}>
102
- * Label
103
- * </Chips>
104
- *
105
- * <Chips selected onClick={() => console.log('selected')}>
106
- * Selected Label
107
- * </Chips>
108
- * ```
109
- */
110
- declare const Chips: ({ children, selected, className, disabled, type, ...props }: ChipsProps) => react_jsx_runtime.JSX.Element;
111
-
112
- interface SelectStore {
113
- open: boolean;
114
- setOpen: (open: boolean) => void;
115
- value: string;
116
- setValue: (value: string) => void;
117
- selectedLabel: ReactNode;
118
- setSelectedLabel: (label: ReactNode) => void;
119
- }
120
- type SelectStoreApi = StoreApi<SelectStore>;
121
- interface SelectProps {
122
- children: ReactNode;
123
- defaultValue?: string;
124
- value?: string;
125
- onValueChange?: (value: string) => void;
126
- size?: 'small' | 'medium' | 'large';
127
- }
128
- declare const Select: ({ children, defaultValue, value: propValue, onValueChange, size, }: SelectProps) => react_jsx_runtime.JSX.Element;
129
- declare const SelectValue: ({ placeholder, store: externalStore, }: {
130
- placeholder?: string;
131
- store?: SelectStoreApi;
132
- }) => react_jsx_runtime.JSX.Element;
133
- interface SelectTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
134
- className?: string;
135
- invalid?: boolean;
136
- variant?: 'outlined' | 'underlined' | 'rounded';
137
- store?: SelectStoreApi;
138
- }
139
- declare const SelectTrigger: react.ForwardRefExoticComponent<SelectTriggerProps & react.RefAttributes<HTMLButtonElement>>;
140
- interface SelectContentProps extends HTMLAttributes<HTMLDivElement> {
141
- className?: string;
142
- align?: 'start' | 'center' | 'end';
143
- side?: 'top' | 'right' | 'bottom' | 'left';
144
- store?: SelectStoreApi;
145
- }
146
- declare const SelectContent: react.ForwardRefExoticComponent<SelectContentProps & react.RefAttributes<HTMLDivElement>>;
147
- interface SelectItemProps extends HTMLAttributes<HTMLDivElement> {
148
- value: string;
149
- disabled?: boolean;
150
- store?: SelectStoreApi;
151
- }
152
- declare const SelectItem: react.ForwardRefExoticComponent<SelectItemProps & react.RefAttributes<HTMLDivElement>>;
153
-
154
- export { Chips, Divider, Input, Select, SelectContent, SelectItem, SelectTrigger, SelectValue };
22
+ export { default as Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from './Select/index.mjs';
23
+ import 'react/jsx-runtime';
24
+ import 'react';
25
+ import 'zustand';
package/dist/index.d.ts CHANGED
@@ -12,143 +12,14 @@ export { default as Radio } from './Radio/index.js';
12
12
  export { default as TextArea } from './TextArea/index.js';
13
13
  export { default as Toast } from './Toast/index.js';
14
14
  export { default as Toaster } from './Toast/Toaster/index.js';
15
- import * as react_jsx_runtime from 'react/jsx-runtime';
16
- import * as react from 'react';
17
- import { HTMLAttributes, ReactNode, InputHTMLAttributes, ButtonHTMLAttributes } from 'react';
15
+ export { default as Divider } from './Divider/index.js';
18
16
  export { default as useToastStore } from './Toast/ToastStore/index.js';
17
+ export { default as Input } from './Input/index.js';
18
+ export { default as Chips } from './Chips/index.js';
19
19
  export { default as ProgressBar } from './ProgressBar/index.js';
20
20
  export { default as ProgressCircle } from './ProgressCircle/index.js';
21
21
  export { default as DropdownMenu, DropdownMenuTrigger, MenuContent, MenuItem, MenuLabel, MenuSeparator, ProfileMenuFooter, ProfileMenuHeader, ProfileMenuSection, ProfileMenuTrigger } from './DropdownMenu/index.js';
22
- import { StoreApi } from 'zustand';
23
-
24
- /**
25
- * Divider component props interface
26
- */
27
- type DividerProps = {
28
- /** Orientation of the divider */
29
- orientation?: 'horizontal' | 'vertical';
30
- /** Additional CSS classes to apply */
31
- className?: string;
32
- } & HTMLAttributes<HTMLHRElement>;
33
- /**
34
- * Divider component for Analytica Ensino platforms
35
- *
36
- * A simple divider component that creates a visual separation between content sections.
37
- * Can be used both horizontally and vertically.
38
- *
39
- * @param orientation - The orientation of the divider (horizontal or vertical)
40
- * @param className - Additional CSS classes
41
- * @param props - All other standard hr HTML attributes
42
- * @returns A styled divider element
43
- *
44
- * @example
45
- * ```tsx
46
- * <Divider orientation="horizontal" />
47
- * <Divider orientation="vertical" className="h-8" />
48
- * ```
49
- */
50
- declare const Divider: ({ orientation, className, ...props }: DividerProps) => react_jsx_runtime.JSX.Element;
51
-
52
- declare const Input: react.ForwardRefExoticComponent<{
53
- /** Label text displayed above the input */
54
- label?: string;
55
- /** Helper text displayed below the input */
56
- helperText?: string;
57
- /** Error message displayed below the input */
58
- errorMessage?: string;
59
- /** Size of the input */
60
- size?: "small" | "medium" | "large" | "extra-large";
61
- /** Visual variant of the input */
62
- variant?: "outlined" | "underlined" | "rounded";
63
- /** Current state of the input */
64
- state?: "default" | "error" | "disabled" | "read-only";
65
- /** Icon to display on the left side of the input */
66
- iconLeft?: ReactNode;
67
- /** Icon to display on the right side of the input */
68
- iconRight?: ReactNode;
69
- /** Additional CSS classes to apply to the input */
70
- className?: string;
71
- /** Additional CSS classes to apply to the container */
72
- containerClassName?: string;
73
- } & Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & react.RefAttributes<HTMLInputElement>>;
74
-
75
- /**
76
- * Chips component props interface
77
- */
78
- type ChipsProps = {
79
- /** Content to be displayed inside the chip */
80
- children: ReactNode;
81
- /** Se o chip está selecionado (mostra check automaticamente) */
82
- selected?: boolean;
83
- /** Additional CSS classes to apply */
84
- className?: string;
85
- } & Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'>;
86
- /**
87
- * Chips component for Analytica Ensino platforms
88
- *
89
- * Um componente de chip seguindo exatamente o design do Figma.
90
- * Suporte a dois estados principais: default (sem ícone) e selected (com ícone de check).
91
- * Quando selecionado, automaticamente mostra o ícone de check.
92
- *
93
- * @param children - O conteúdo a ser exibido dentro do chip
94
- * @param selected - Se o chip está selecionado (mostra check automaticamente)
95
- * @param className - Classes CSS adicionais
96
- * @param props - Todos os outros atributos padrão de button HTML
97
- * @returns Um elemento de chip estilizado
98
- *
99
- * @example
100
- * ```tsx
101
- * <Chips onClick={() => console.log('clicked')}>
102
- * Label
103
- * </Chips>
104
- *
105
- * <Chips selected onClick={() => console.log('selected')}>
106
- * Selected Label
107
- * </Chips>
108
- * ```
109
- */
110
- declare const Chips: ({ children, selected, className, disabled, type, ...props }: ChipsProps) => react_jsx_runtime.JSX.Element;
111
-
112
- interface SelectStore {
113
- open: boolean;
114
- setOpen: (open: boolean) => void;
115
- value: string;
116
- setValue: (value: string) => void;
117
- selectedLabel: ReactNode;
118
- setSelectedLabel: (label: ReactNode) => void;
119
- }
120
- type SelectStoreApi = StoreApi<SelectStore>;
121
- interface SelectProps {
122
- children: ReactNode;
123
- defaultValue?: string;
124
- value?: string;
125
- onValueChange?: (value: string) => void;
126
- size?: 'small' | 'medium' | 'large';
127
- }
128
- declare const Select: ({ children, defaultValue, value: propValue, onValueChange, size, }: SelectProps) => react_jsx_runtime.JSX.Element;
129
- declare const SelectValue: ({ placeholder, store: externalStore, }: {
130
- placeholder?: string;
131
- store?: SelectStoreApi;
132
- }) => react_jsx_runtime.JSX.Element;
133
- interface SelectTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
134
- className?: string;
135
- invalid?: boolean;
136
- variant?: 'outlined' | 'underlined' | 'rounded';
137
- store?: SelectStoreApi;
138
- }
139
- declare const SelectTrigger: react.ForwardRefExoticComponent<SelectTriggerProps & react.RefAttributes<HTMLButtonElement>>;
140
- interface SelectContentProps extends HTMLAttributes<HTMLDivElement> {
141
- className?: string;
142
- align?: 'start' | 'center' | 'end';
143
- side?: 'top' | 'right' | 'bottom' | 'left';
144
- store?: SelectStoreApi;
145
- }
146
- declare const SelectContent: react.ForwardRefExoticComponent<SelectContentProps & react.RefAttributes<HTMLDivElement>>;
147
- interface SelectItemProps extends HTMLAttributes<HTMLDivElement> {
148
- value: string;
149
- disabled?: boolean;
150
- store?: SelectStoreApi;
151
- }
152
- declare const SelectItem: react.ForwardRefExoticComponent<SelectItemProps & react.RefAttributes<HTMLDivElement>>;
153
-
154
- export { Chips, Divider, Input, Select, SelectContent, SelectItem, SelectTrigger, SelectValue };
22
+ export { default as Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from './Select/index.js';
23
+ import 'react/jsx-runtime';
24
+ import 'react';
25
+ import 'zustand';
package/dist/index.js CHANGED
@@ -1907,26 +1907,32 @@ var DropdownMenu = ({ children, open, onOpenChange }) => {
1907
1907
  }, []);
1908
1908
  return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "relative", ref: menuRef, children: injectStore(children, store) });
1909
1909
  };
1910
- var DropdownMenuTrigger = (0, import_react9.forwardRef)(({ className, children, onClick, store: externalStore, ...props }, ref) => {
1910
+ var DropdownMenuTrigger = ({
1911
+ className,
1912
+ children,
1913
+ onClick,
1914
+ store: externalStore,
1915
+ ...props
1916
+ }) => {
1911
1917
  const store = useDropdownStore(externalStore);
1912
1918
  const open = (0, import_zustand2.useStore)(store, (s) => s.open);
1913
1919
  const toggleOpen = () => store.setState({ open: !open });
1914
1920
  return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1915
- "button",
1921
+ Button_default,
1916
1922
  {
1917
- ref,
1918
- className: `border border-border-200 cursor-pointer bg-background-muted hover:bg-background-200 transition-colors px-4 py-2 rounded-sm ${className}`,
1923
+ variant: "outline",
1919
1924
  onClick: (e) => {
1920
1925
  e.stopPropagation();
1921
1926
  toggleOpen();
1922
1927
  if (onClick) onClick(e);
1923
1928
  },
1924
1929
  "aria-expanded": open,
1930
+ className: `${className}`,
1925
1931
  ...props,
1926
1932
  children
1927
1933
  }
1928
1934
  );
1929
- });
1935
+ };
1930
1936
  DropdownMenuTrigger.displayName = "DropdownMenuTrigger";
1931
1937
  var ITEM_SIZE_CLASSES = {
1932
1938
  small: "text-sm",
@@ -1943,6 +1949,10 @@ var ALIGN_CLASSES = {
1943
1949
  center: "left-1/2 -translate-x-1/2",
1944
1950
  end: "right-0"
1945
1951
  };
1952
+ var MENUCONTENT_VARIANT_CLASSES = {
1953
+ menu: "p-1",
1954
+ profile: "p-6"
1955
+ };
1946
1956
  var MenuLabel = (0, import_react9.forwardRef)(({ className, inset, store: _store, ...props }, ref) => {
1947
1957
  return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1948
1958
  "div",
@@ -1959,6 +1969,7 @@ var MenuContent = (0, import_react9.forwardRef)(
1959
1969
  className,
1960
1970
  align = "start",
1961
1971
  side = "bottom",
1972
+ variant = "menu",
1962
1973
  sideOffset = 4,
1963
1974
  children,
1964
1975
  store: externalStore,
@@ -1981,15 +1992,17 @@ var MenuContent = (0, import_react9.forwardRef)(
1981
1992
  const horizontal = ALIGN_CLASSES[align];
1982
1993
  return `absolute ${vertical} ${horizontal}`;
1983
1994
  };
1995
+ const variantClasses = MENUCONTENT_VARIANT_CLASSES[variant];
1984
1996
  return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1985
1997
  "div",
1986
1998
  {
1987
1999
  ref,
1988
2000
  role: "menu",
1989
2001
  className: `
1990
- bg-background z-50 min-w-[210px] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md border-border-100
2002
+ bg-background z-50 min-w-[210px] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md border-border-100
1991
2003
  ${open ? "animate-in fade-in-0 zoom-in-95" : "animate-out fade-out-0 zoom-out-95"}
1992
2004
  ${getPositionClasses()}
2005
+ ${variantClasses}
1993
2006
  ${className}
1994
2007
  `,
1995
2008
  style: {
@@ -2032,7 +2045,7 @@ var MenuItem = (0, import_react9.forwardRef)(
2032
2045
  };
2033
2046
  const getVariantClasses = () => {
2034
2047
  if (variant === "profile") {
2035
- return "relative flex flex-row justify-between select-none items-center gap-2 rounded-sm p-3 text-sm outline-none transition-colors [&>svg]:size-6 [&>svg]:shrink-0";
2048
+ return "relative flex flex-row justify-between select-none items-center gap-2 rounded-sm p-4 text-sm outline-none transition-colors [&>svg]:size-6 [&>svg]:shrink-0";
2036
2049
  }
2037
2050
  return "relative flex select-none items-center gap-2 rounded-sm p-3 text-sm outline-none transition-colors [&>svg]:size-4 [&>svg]:shrink-0";
2038
2051
  };
@@ -2061,7 +2074,7 @@ var MenuItem = (0, import_react9.forwardRef)(
2061
2074
  ...props,
2062
2075
  children: [
2063
2076
  iconLeft,
2064
- children,
2077
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "w-full text-md", children }),
2065
2078
  iconRight
2066
2079
  ]
2067
2080
  }
@@ -2136,29 +2149,33 @@ var ProfileMenuSection = (0, import_react9.forwardRef)(({ className, children, s
2136
2149
  );
2137
2150
  });
2138
2151
  ProfileMenuSection.displayName = "ProfileMenuSection";
2139
- var ProfileMenuFooter = (0, import_react9.forwardRef)(
2140
- ({ className, disabled = false, onClick, store: externalStore, ...props }, ref) => {
2141
- const store = useDropdownStore(externalStore);
2142
- const setOpen = (0, import_zustand2.useStore)(store, (s) => s.setOpen);
2143
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
2144
- "button",
2145
- {
2146
- ref,
2147
- className: `inline-flex items-center justify-center rounded-full cursor-pointer font-medium text-md px-5 py-2.5 w-full bg-transparent text-primary-950 border border-primary-950 hover:bg-background-50 hover:text-primary-400 hover:border-primary-400 focus-visible:border-0 focus-visible:outline-none focus-visible:text-primary-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-primary-700 active:border-primary-700 disabled:opacity-40 disabled:cursor-not-allowed ${className}`,
2148
- disabled,
2149
- onClick: (e) => {
2150
- setOpen(false);
2151
- onClick?.(e);
2152
- },
2153
- ...props,
2154
- children: [
2155
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "mr-2 flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_phosphor_react7.SignOut, {}) }),
2156
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { children: "Sair" })
2157
- ]
2158
- }
2159
- );
2160
- }
2161
- );
2152
+ var ProfileMenuFooter = ({
2153
+ className,
2154
+ disabled = false,
2155
+ onClick,
2156
+ store: externalStore,
2157
+ ...props
2158
+ }) => {
2159
+ const store = useDropdownStore(externalStore);
2160
+ const setOpen = (0, import_zustand2.useStore)(store, (s) => s.setOpen);
2161
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
2162
+ Button_default,
2163
+ {
2164
+ variant: "outline",
2165
+ className: `w-full ${className}`,
2166
+ disabled,
2167
+ onClick: (e) => {
2168
+ setOpen(false);
2169
+ onClick?.(e);
2170
+ },
2171
+ ...props,
2172
+ children: [
2173
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "mr-2 flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_phosphor_react7.SignOut, {}) }),
2174
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { children: "Sair" })
2175
+ ]
2176
+ }
2177
+ );
2178
+ };
2162
2179
  ProfileMenuFooter.displayName = "ProfileMenuFooter";
2163
2180
  var DropdownMenu_default = DropdownMenu;
2164
2181
 
@@ -2341,8 +2358,9 @@ var SelectTrigger = (0, import_react10.forwardRef)(
2341
2358
  ref,
2342
2359
  className: `
2343
2360
  flex h-9 min-w-[220px] w-full items-center justify-between border-border-300 px-3 py-2
2344
- ${invalid && "border-indicator-error"}
2345
- ${disabled ? "cursor-not-allowed text-text-400 pointer-events-none opacity-50" : "cursor-pointer hover:bg-background-50 text-text-700 focus:bg-accent focus:text-accent-foreground hover:bg-accent hover:text-accent-foreground"}
2361
+ ${invalid && "border-indicator-error text-text-600"}
2362
+ ${disabled ? "cursor-not-allowed text-text-400 pointer-events-none opacity-50" : "cursor-pointer hover:bg-background-50 focus:bg-accent focus:text-accent-foreground hover:bg-accent hover:text-accent-foreground"}
2363
+ ${!invalid && !disabled ? "text-text-700" : ""}
2346
2364
  ${variantClasses}
2347
2365
  ${className}
2348
2366
  `,
@@ -2377,7 +2395,7 @@ var SelectContent = (0, import_react10.forwardRef)(
2377
2395
  const store = useSelectStore(externalStore);
2378
2396
  const open = (0, import_zustand3.useStore)(store, (s) => s.open);
2379
2397
  if (!open) return null;
2380
- const getPositionClasses = () => `absolute ${SIDE_CLASSES2[side]} ${ALIGN_CLASSES2[align]}`;
2398
+ const getPositionClasses = () => `w-full min-w-full absolute ${SIDE_CLASSES2[side]} ${ALIGN_CLASSES2[align]}`;
2381
2399
  return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2382
2400
  "div",
2383
2401
  {