@mlw-packages/react-components 1.9.7 → 1.9.9

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/index.js CHANGED
@@ -29,7 +29,6 @@ var HoverCardPrimitive = require('@radix-ui/react-hover-card');
29
29
  var inputOtp = require('input-otp');
30
30
  var SliderPrimitive = require('@radix-ui/react-slider');
31
31
  var SwitchPrimitives = require('@radix-ui/react-switch');
32
- var useEmblaCarousel = require('embla-carousel-react');
33
32
  var ScrollAreaPrimitive = require('@radix-ui/react-scroll-area');
34
33
  var SeparatorPrimitive = require('@radix-ui/react-separator');
35
34
  var TabsPrimitive = require('@radix-ui/react-tabs');
@@ -79,7 +78,6 @@ var CollapsiblePrimitive__namespace = /*#__PURE__*/_interopNamespace(Collapsible
79
78
  var HoverCardPrimitive__namespace = /*#__PURE__*/_interopNamespace(HoverCardPrimitive);
80
79
  var SliderPrimitive__namespace = /*#__PURE__*/_interopNamespace(SliderPrimitive);
81
80
  var SwitchPrimitives__namespace = /*#__PURE__*/_interopNamespace(SwitchPrimitives);
82
- var useEmblaCarousel__default = /*#__PURE__*/_interopDefault(useEmblaCarousel);
83
81
  var ScrollAreaPrimitive__namespace = /*#__PURE__*/_interopNamespace(ScrollAreaPrimitive);
84
82
  var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
85
83
  var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
@@ -1891,9 +1889,10 @@ var InputBase = React33__namespace.forwardRef(
1891
1889
  "div",
1892
1890
  {
1893
1891
  className: cn(
1894
- "flex items-center rounded-md transition h-9 focus-within:ring-1 focus-within:ring-ring focus-within:border-ring bg-background overflow-hidden",
1892
+ "flex items-center rounded-md transition h-9 bg-background overflow-hidden",
1895
1893
  type !== "file" && "border border-input",
1896
- error ? "border-destructive focus:ring-1 focus:ring-destructive" : "border-input focus:ring-1 focus:ring-ring"
1894
+ error ? "border-destructive focus:ring-1 focus:ring-destructive" : "border-input",
1895
+ className
1897
1896
  ),
1898
1897
  children: [
1899
1898
  leftIcon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center px-2", children: leftIcon }),
@@ -1921,6 +1920,65 @@ var InputBase = React33__namespace.forwardRef(
1921
1920
  }
1922
1921
  );
1923
1922
  InputBase.displayName = "Input";
1923
+ var DebouncedInput = React33.forwardRef(
1924
+ ({
1925
+ value: initialValue,
1926
+ onChange,
1927
+ debounce: debounce2 = 500,
1928
+ label,
1929
+ labelClassname,
1930
+ leftIcon,
1931
+ rightIcon,
1932
+ showLoadingIndicator = false,
1933
+ className,
1934
+ error,
1935
+ ...props
1936
+ }, ref) => {
1937
+ const [value, setValue] = React33.useState(initialValue);
1938
+ const [isDebouncing, setIsDebouncing] = React33.useState(false);
1939
+ React33.useEffect(() => {
1940
+ setValue(initialValue);
1941
+ }, [initialValue]);
1942
+ React33.useEffect(() => {
1943
+ if (value === initialValue) {
1944
+ setIsDebouncing(false);
1945
+ return;
1946
+ }
1947
+ setIsDebouncing(true);
1948
+ const timeout = setTimeout(() => {
1949
+ onChange(value);
1950
+ setIsDebouncing(false);
1951
+ }, debounce2);
1952
+ return () => {
1953
+ clearTimeout(timeout);
1954
+ setIsDebouncing(false);
1955
+ };
1956
+ }, [debounce2, initialValue, onChange, value]);
1957
+ const renderRightIcon = () => {
1958
+ if (showLoadingIndicator && isDebouncing) {
1959
+ return /* @__PURE__ */ jsxRuntime.jsx(react.CircleNotchIcon, { className: "h-4 w-4 animate-spin text-muted-foreground" });
1960
+ }
1961
+ return rightIcon;
1962
+ };
1963
+ return /* @__PURE__ */ jsxRuntime.jsx(
1964
+ InputBase,
1965
+ {
1966
+ ...props,
1967
+ ref,
1968
+ label,
1969
+ labelClassname,
1970
+ leftIcon,
1971
+ rightIcon: renderRightIcon(),
1972
+ className: cn("transition-all duration-200", className),
1973
+ value,
1974
+ onChange: (e) => setValue(e.target.value),
1975
+ error
1976
+ }
1977
+ );
1978
+ }
1979
+ );
1980
+ DebouncedInput.displayName = "DebouncedInput";
1981
+ var DebouncedInput_default = DebouncedInput;
1924
1982
  var CommandBase = React33__namespace.forwardRef(({ className, testid: dataTestId = "command-base", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1925
1983
  cmdk.Command,
1926
1984
  {
@@ -1977,87 +2035,148 @@ var CommandInputBase = React33__namespace.forwardRef(({ className, testid: dataT
1977
2035
  }
1978
2036
  ));
1979
2037
  CommandInputBase.displayName = cmdk.Command.Input.displayName;
1980
- var CommandListBase = React33__namespace.forwardRef(({ className, testid: dataTestId = "command-list", ...props }, ref) => {
1981
- const listRef = React33__namespace.useRef(null);
1982
- React33__namespace.useEffect(() => {
1983
- const element = listRef.current;
1984
- if (!element) return;
1985
- const handleWheel = (e) => {
1986
- const target = e.currentTarget;
1987
- const { scrollTop, scrollHeight, clientHeight } = target;
1988
- const isScrollingDown = e.deltaY > 0;
1989
- const isScrollingUp = e.deltaY < 0;
1990
- const isAtBottom = scrollTop + clientHeight >= scrollHeight - 1;
1991
- const isAtTop = scrollTop <= 1;
1992
- if (isScrollingDown && !isAtBottom || isScrollingUp && !isAtTop) {
1993
- e.stopPropagation();
1994
- }
1995
- };
1996
- let touchStartY = 0;
1997
- const handleTouchStart = (e) => {
1998
- touchStartY = e.touches[0].clientY;
1999
- e.stopPropagation();
2000
- };
2001
- const handleTouchMove = (e) => {
2002
- const target = e.currentTarget;
2003
- const { scrollTop, scrollHeight, clientHeight } = target;
2004
- const touchCurrentY = e.touches[0].clientY;
2005
- const touchDeltaY = touchStartY - touchCurrentY;
2006
- const isScrollingDown = touchDeltaY > 0;
2007
- const isScrollingUp = touchDeltaY < 0;
2008
- const isAtBottom = scrollTop + clientHeight >= scrollHeight - 1;
2009
- const isAtTop = scrollTop <= 1;
2010
- if (isScrollingDown && !isAtBottom || isScrollingUp && !isAtTop) {
2011
- e.stopPropagation();
2012
- } else if (isScrollingDown && isAtBottom || isScrollingUp && isAtTop) {
2013
- e.preventDefault();
2014
- }
2015
- };
2016
- element.addEventListener("wheel", handleWheel, { passive: false });
2017
- element.addEventListener("touchstart", handleTouchStart, {
2018
- passive: false
2019
- });
2020
- element.addEventListener("touchmove", handleTouchMove, { passive: false });
2021
- return () => {
2022
- element.removeEventListener("wheel", handleWheel);
2023
- element.removeEventListener("touchmove", handleTouchMove);
2024
- element.removeEventListener("touchstart", handleTouchStart);
2025
- };
2026
- }, []);
2027
- const combinedRef = React33__namespace.useCallback(
2028
- (node) => {
2029
- listRef.current = node;
2030
- if (typeof ref === "function") {
2031
- ref(node);
2032
- } else if (ref) {
2033
- ref.current = node;
2034
- }
2035
- },
2036
- [ref]
2037
- );
2038
- return /* @__PURE__ */ jsxRuntime.jsx(
2039
- cmdk.Command.List,
2038
+ var CommandDebouncedInputBase = React33__namespace.forwardRef(
2039
+ ({
2040
+ className,
2041
+ testid: dataTestId = "command-input",
2042
+ onValueChange,
2043
+ value: propValue,
2044
+ onChange: propOnChange,
2045
+ search,
2046
+ onSearch,
2047
+ ...props
2048
+ }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2049
+ "div",
2040
2050
  {
2041
- ref: combinedRef,
2042
- className: cn(
2043
- "max-h-[300px] overflow-y-auto overflow-x-hidden scroll-smooth [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar-thumb]:bg-muted [&::-webkit-scrollbar-thumb]:rounded-full hover:[&::-webkit-scrollbar-thumb]:bg-muted-foreground/50",
2044
- className
2045
- ),
2046
- "data-testid": dataTestId,
2047
- style: {
2048
- overscrollBehavior: "contain",
2049
- WebkitOverflowScrolling: "touch",
2050
- touchAction: "pan-y",
2051
- scrollbarWidth: "thin",
2052
- scrollbarColor: "hsl(var(--muted)) transparent",
2053
- overflowY: "auto",
2054
- willChange: "scroll-position",
2055
- transform: "translateZ(0)"
2056
- },
2057
- ...props
2051
+ className: "flex items-center px-3 border-border border-b",
2052
+ "cmdk-input-wrapper": "",
2053
+ children: [
2054
+ /* @__PURE__ */ jsxRuntime.jsx(react.MagnifyingGlassIcon, { className: "mr-2 h-4 w-4 shrink-0 text-primary" }),
2055
+ /* @__PURE__ */ jsxRuntime.jsx(
2056
+ DebouncedInput_default,
2057
+ {
2058
+ ref,
2059
+ className: cn(
2060
+ "flex h-10 border-transparent w-full rounded-md bg-transparent text-sm outline-none text-primary placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
2061
+ className
2062
+ ),
2063
+ "data-testid": dataTestId,
2064
+ "cmdk-input": "",
2065
+ value: search ?? propValue ?? "",
2066
+ ...props,
2067
+ onChange: (value) => {
2068
+ onValueChange?.(value);
2069
+ propOnChange?.(value);
2070
+ onSearch?.(value);
2071
+ }
2072
+ }
2073
+ )
2074
+ ]
2058
2075
  }
2059
- );
2060
- });
2076
+ )
2077
+ );
2078
+ CommandDebouncedInputBase.displayName = "CommandDebouncedInputBase";
2079
+ var CommandListBase = React33__namespace.forwardRef(
2080
+ ({ className, testid: dataTestId = "command-list", onEndReached, ...props }, ref) => {
2081
+ const listRef = React33__namespace.useRef(null);
2082
+ React33__namespace.useEffect(() => {
2083
+ const element = listRef.current;
2084
+ if (!element) return;
2085
+ const handleWheel = (e) => {
2086
+ const target = e.currentTarget;
2087
+ const { scrollTop, scrollHeight, clientHeight } = target;
2088
+ const isScrollingDown = e.deltaY > 0;
2089
+ const isScrollingUp = e.deltaY < 0;
2090
+ const isAtBottom = scrollTop + clientHeight >= scrollHeight - 1;
2091
+ const isAtTop = scrollTop <= 1;
2092
+ if (isScrollingDown && isAtBottom && onEndReached) {
2093
+ onEndReached();
2094
+ }
2095
+ if (isScrollingDown && !isAtBottom || isScrollingUp && !isAtTop) {
2096
+ e.stopPropagation();
2097
+ }
2098
+ };
2099
+ const handleScroll = (e) => {
2100
+ const target = e.currentTarget;
2101
+ const { scrollTop, scrollHeight, clientHeight } = target;
2102
+ const isAtBottom = scrollTop + clientHeight >= scrollHeight - 1;
2103
+ if (isAtBottom && onEndReached) {
2104
+ onEndReached();
2105
+ }
2106
+ };
2107
+ let touchStartY = 0;
2108
+ const handleTouchStart = (e) => {
2109
+ touchStartY = e.touches[0].clientY;
2110
+ e.stopPropagation();
2111
+ };
2112
+ const handleTouchMove = (e) => {
2113
+ const target = e.currentTarget;
2114
+ const { scrollTop, scrollHeight, clientHeight } = target;
2115
+ const touchCurrentY = e.touches[0].clientY;
2116
+ const touchDeltaY = touchStartY - touchCurrentY;
2117
+ const isScrollingDown = touchDeltaY > 0;
2118
+ const isScrollingUp = touchDeltaY < 0;
2119
+ const isAtBottom = scrollTop + clientHeight >= scrollHeight - 1;
2120
+ const isAtTop = scrollTop <= 1;
2121
+ if (isScrollingDown && isAtBottom && onEndReached) {
2122
+ onEndReached();
2123
+ }
2124
+ if (isScrollingDown && !isAtBottom || isScrollingUp && !isAtTop) {
2125
+ e.stopPropagation();
2126
+ } else if (isScrollingDown && isAtBottom || isScrollingUp && isAtTop) {
2127
+ e.preventDefault();
2128
+ }
2129
+ };
2130
+ element.addEventListener("wheel", handleWheel, { passive: false });
2131
+ element.addEventListener("scroll", handleScroll);
2132
+ element.addEventListener("touchstart", handleTouchStart, {
2133
+ passive: false
2134
+ });
2135
+ element.addEventListener("touchmove", handleTouchMove, {
2136
+ passive: false
2137
+ });
2138
+ return () => {
2139
+ element.removeEventListener("wheel", handleWheel);
2140
+ element.removeEventListener("scroll", handleScroll);
2141
+ element.removeEventListener("touchmove", handleTouchMove);
2142
+ element.removeEventListener("touchstart", handleTouchStart);
2143
+ };
2144
+ }, [onEndReached]);
2145
+ const combinedRef = React33__namespace.useCallback(
2146
+ (node) => {
2147
+ listRef.current = node;
2148
+ if (typeof ref === "function") {
2149
+ ref(node);
2150
+ } else if (ref) {
2151
+ ref.current = node;
2152
+ }
2153
+ },
2154
+ [ref]
2155
+ );
2156
+ return /* @__PURE__ */ jsxRuntime.jsx(
2157
+ cmdk.Command.List,
2158
+ {
2159
+ ref: combinedRef,
2160
+ className: cn(
2161
+ "max-h-[300px] overflow-y-auto overflow-x-hidden scroll-smooth [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar-thumb]:bg-muted [&::-webkit-scrollbar-thumb]:rounded-full hover:[&::-webkit-scrollbar-thumb]:bg-muted-foreground/50",
2162
+ className
2163
+ ),
2164
+ "data-testid": dataTestId,
2165
+ style: {
2166
+ overscrollBehavior: "contain",
2167
+ WebkitOverflowScrolling: "touch",
2168
+ touchAction: "pan-y",
2169
+ scrollbarWidth: "thin",
2170
+ scrollbarColor: "hsl(var(--muted)) transparent",
2171
+ overflowY: "auto",
2172
+ willChange: "scroll-position",
2173
+ transform: "translateZ(0)"
2174
+ },
2175
+ ...props
2176
+ }
2177
+ );
2178
+ }
2179
+ );
2061
2180
  CommandListBase.displayName = cmdk.Command.List.displayName;
2062
2181
  var CommandEmptyBase = React33__namespace.forwardRef(({ testid: dataTestId = "command-empty", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2063
2182
  cmdk.Command.Empty,
@@ -3636,7 +3755,7 @@ var FileUploader = React33__namespace.forwardRef(
3636
3755
  showPreview = true,
3637
3756
  dropzoneText = "Arraste arquivos aqui ou clique para selecionar",
3638
3757
  dropzoneSubtext,
3639
- animate = true,
3758
+ animate: animate2 = true,
3640
3759
  ...props
3641
3760
  }, ref) => {
3642
3761
  const [isDragging, setIsDragging] = React33__namespace.useState(false);
@@ -3844,7 +3963,7 @@ var FileUploader = React33__namespace.forwardRef(
3844
3963
  framerMotion.motion.p,
3845
3964
  {
3846
3965
  className: "mb-2 text-base font-semibold text-foreground",
3847
- initial: animate ? { opacity: 0, y: -10 } : false,
3966
+ initial: animate2 ? { opacity: 0, y: -10 } : false,
3848
3967
  animate: { opacity: 1, y: 0 },
3849
3968
  transition: { delay: 0.1 },
3850
3969
  children: dropzoneText
@@ -3854,7 +3973,7 @@ var FileUploader = React33__namespace.forwardRef(
3854
3973
  framerMotion.motion.p,
3855
3974
  {
3856
3975
  className: "text-sm text-muted-foreground",
3857
- initial: animate ? { opacity: 0, y: -10 } : false,
3976
+ initial: animate2 ? { opacity: 0, y: -10 } : false,
3858
3977
  animate: { opacity: 1, y: 0 },
3859
3978
  transition: { delay: 0.2 },
3860
3979
  children: defaultSubtext
@@ -3898,7 +4017,7 @@ var FileUploader = React33__namespace.forwardRef(
3898
4017
  framerMotion.motion.div,
3899
4018
  {
3900
4019
  className: "mt-6 w-full",
3901
- initial: animate ? { opacity: 0, y: 10 } : false,
4020
+ initial: animate2 ? { opacity: 0, y: 10 } : false,
3902
4021
  animate: { opacity: 1, y: 0 },
3903
4022
  transition: { delay: 0.3 },
3904
4023
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
@@ -3913,7 +4032,7 @@ var FileUploader = React33__namespace.forwardRef(
3913
4032
  framerMotion.motion.div,
3914
4033
  {
3915
4034
  layout: true,
3916
- initial: animate ? { opacity: 0, x: -20 } : false,
4035
+ initial: animate2 ? { opacity: 0, x: -20 } : false,
3917
4036
  animate: { opacity: 1, x: 0 },
3918
4037
  exit: {
3919
4038
  opacity: 0,
@@ -3921,7 +4040,7 @@ var FileUploader = React33__namespace.forwardRef(
3921
4040
  transition: { duration: 0.2 }
3922
4041
  },
3923
4042
  transition: {
3924
- delay: animate ? index * 0.05 : 0,
4043
+ delay: animate2 ? index * 0.05 : 0,
3925
4044
  layout: { duration: 0.2 }
3926
4045
  },
3927
4046
  className: cn(
@@ -5159,201 +5278,6 @@ var TextAreaBase = React33__namespace.forwardRef(
5159
5278
  }
5160
5279
  );
5161
5280
  TextAreaBase.displayName = "TextAreaBase";
5162
- var CarouselContext = React33__namespace.createContext(null);
5163
- function useCarousel() {
5164
- const context = React33__namespace.useContext(CarouselContext);
5165
- if (!context) {
5166
- throw new Error("useCarousel must be used within a <CarouselBase />");
5167
- }
5168
- return context;
5169
- }
5170
- function CarouselBase({
5171
- orientation = "horizontal",
5172
- opts,
5173
- setApi,
5174
- plugins,
5175
- className,
5176
- children,
5177
- ...props
5178
- }) {
5179
- const [carouselRef, api] = useEmblaCarousel__default.default(
5180
- {
5181
- ...opts,
5182
- axis: orientation === "horizontal" ? "x" : "y"
5183
- },
5184
- plugins
5185
- );
5186
- const [canScrollPrev, setCanScrollPrev] = React33__namespace.useState(false);
5187
- const [canScrollNext, setCanScrollNext] = React33__namespace.useState(false);
5188
- const onSelect = React33__namespace.useCallback((api2) => {
5189
- if (!api2) return;
5190
- setCanScrollPrev(api2.canScrollPrev());
5191
- setCanScrollNext(api2.canScrollNext());
5192
- }, []);
5193
- const scrollPrev = React33__namespace.useCallback(() => {
5194
- api?.scrollPrev();
5195
- }, [api]);
5196
- const scrollNext = React33__namespace.useCallback(() => {
5197
- api?.scrollNext();
5198
- }, [api]);
5199
- const handleKeyDown = React33__namespace.useCallback(
5200
- (event) => {
5201
- if (event.key === "ArrowLeft") {
5202
- event.preventDefault();
5203
- scrollPrev();
5204
- } else if (event.key === "ArrowRight") {
5205
- event.preventDefault();
5206
- scrollNext();
5207
- }
5208
- },
5209
- [scrollPrev, scrollNext]
5210
- );
5211
- React33__namespace.useEffect(() => {
5212
- if (!api || !setApi) return;
5213
- setApi(api);
5214
- }, [api, setApi]);
5215
- React33__namespace.useEffect(() => {
5216
- if (!api) return;
5217
- onSelect(api);
5218
- api.on("reInit", onSelect);
5219
- api.on("select", onSelect);
5220
- return () => {
5221
- api?.off("select", onSelect);
5222
- };
5223
- }, [api, onSelect]);
5224
- return /* @__PURE__ */ jsxRuntime.jsx(
5225
- CarouselContext.Provider,
5226
- {
5227
- value: {
5228
- carouselRef,
5229
- api,
5230
- opts,
5231
- orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
5232
- scrollPrev,
5233
- scrollNext,
5234
- canScrollPrev,
5235
- canScrollNext
5236
- },
5237
- children: /* @__PURE__ */ jsxRuntime.jsx(
5238
- "div",
5239
- {
5240
- onKeyDownCapture: handleKeyDown,
5241
- className: cn("relative", className),
5242
- role: "region",
5243
- "aria-roledescription": "carousel",
5244
- "data-slot": "carousel",
5245
- ...props,
5246
- children
5247
- }
5248
- )
5249
- }
5250
- );
5251
- }
5252
- function CarouselContentBase({
5253
- className,
5254
- ...props
5255
- }) {
5256
- const { carouselRef, orientation } = useCarousel();
5257
- return /* @__PURE__ */ jsxRuntime.jsx(
5258
- "div",
5259
- {
5260
- ref: carouselRef,
5261
- className: "overflow-hidden",
5262
- "data-slot": "carousel-content",
5263
- children: /* @__PURE__ */ jsxRuntime.jsx(
5264
- "div",
5265
- {
5266
- className: cn(
5267
- "flex",
5268
- orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
5269
- className
5270
- ),
5271
- ...props
5272
- }
5273
- )
5274
- }
5275
- );
5276
- }
5277
- function CarouselItemBase({
5278
- className,
5279
- ...props
5280
- }) {
5281
- const { orientation } = useCarousel();
5282
- return /* @__PURE__ */ jsxRuntime.jsx(
5283
- "div",
5284
- {
5285
- role: "group",
5286
- "aria-roledescription": "slide",
5287
- "data-slot": "carousel-item",
5288
- className: cn(
5289
- "min-w-0 shrink-0 grow-0 basis-full",
5290
- orientation === "horizontal" ? "pl-4" : "pt-4",
5291
- className
5292
- ),
5293
- ...props
5294
- }
5295
- );
5296
- }
5297
- function CarouselPreviousBase({
5298
- className,
5299
- variant = "outline",
5300
- size = "icon",
5301
- ...props
5302
- }) {
5303
- const { orientation, scrollPrev, canScrollPrev } = useCarousel();
5304
- const btnRef = React33__namespace.useRef(null);
5305
- return /* @__PURE__ */ jsxRuntime.jsxs(
5306
- ButtonBase,
5307
- {
5308
- "data-slot": "carousel-previous",
5309
- variant,
5310
- size,
5311
- ref: btnRef,
5312
- className: cn(
5313
- "absolute size-8 rounded-l-3xl px-6",
5314
- orientation === "horizontal" ? "top-2 right-1" : "bottom-64 left-1/3 rotate-90",
5315
- className
5316
- ),
5317
- disabled: !canScrollPrev,
5318
- onClick: scrollPrev,
5319
- ...props,
5320
- children: [
5321
- /* @__PURE__ */ jsxRuntime.jsx(react.ArrowLeftIcon, {}),
5322
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Previous slide" })
5323
- ]
5324
- }
5325
- );
5326
- }
5327
- function CarouselNextBase({
5328
- className,
5329
- variant = "outline",
5330
- size = "icon",
5331
- ...props
5332
- }) {
5333
- const { orientation, scrollNext, canScrollNext } = useCarousel();
5334
- const btnRef = React33__namespace.useRef(null);
5335
- return /* @__PURE__ */ jsxRuntime.jsxs(
5336
- ButtonBase,
5337
- {
5338
- "data-slot": "carousel-next",
5339
- variant,
5340
- size,
5341
- ref: btnRef,
5342
- className: cn(
5343
- "absolute size-8 rounded-r-3xl px-6",
5344
- orientation === "horizontal" ? "top-2" : "left-14 -translate-x-1/2 rotate-90",
5345
- className
5346
- ),
5347
- disabled: !canScrollNext,
5348
- onClick: scrollNext,
5349
- ...props,
5350
- children: [
5351
- /* @__PURE__ */ jsxRuntime.jsx(react.ArrowRightIcon, {}),
5352
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Next slide" })
5353
- ]
5354
- }
5355
- );
5356
- }
5357
5281
  var ScrollAreaBase = React33__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
5358
5282
  ScrollAreaPrimitive__namespace.Root,
5359
5283
  {
@@ -7323,58 +7247,6 @@ function StatusIndicator({
7323
7247
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0", children })
7324
7248
  ] });
7325
7249
  }
7326
- function DebouncedInput({
7327
- value: initialValue,
7328
- onChange,
7329
- debounce: debounce2 = 500,
7330
- label,
7331
- labelClassname,
7332
- leftIcon,
7333
- rightIcon,
7334
- showLoadingIndicator = false,
7335
- className,
7336
- error,
7337
- ...props
7338
- }) {
7339
- const [value, setValue] = React33.useState(initialValue);
7340
- const [isDebouncing, setIsDebouncing] = React33.useState(false);
7341
- React33.useEffect(() => {
7342
- setValue(initialValue);
7343
- }, [initialValue]);
7344
- React33.useEffect(() => {
7345
- if (value !== initialValue) {
7346
- setIsDebouncing(true);
7347
- }
7348
- const timeout = setTimeout(() => {
7349
- onChange(value);
7350
- setIsDebouncing(false);
7351
- }, debounce2);
7352
- return () => {
7353
- clearTimeout(timeout);
7354
- setIsDebouncing(false);
7355
- };
7356
- }, [debounce2, initialValue, onChange, value]);
7357
- const renderRightIcon = () => {
7358
- if (showLoadingIndicator && isDebouncing) {
7359
- return /* @__PURE__ */ jsxRuntime.jsx(react.CircleNotchIcon, { className: "h-4 w-4 animate-spin text-muted-foreground" });
7360
- }
7361
- return rightIcon;
7362
- };
7363
- return /* @__PURE__ */ jsxRuntime.jsx(
7364
- InputBase,
7365
- {
7366
- ...props,
7367
- label,
7368
- labelClassname,
7369
- leftIcon,
7370
- rightIcon: renderRightIcon(),
7371
- className: cn("transition-all duration-200", className),
7372
- value,
7373
- onChange: (e) => setValue(e.target.value),
7374
- error
7375
- }
7376
- );
7377
- }
7378
7250
  function useCheckboxTree(initialTree) {
7379
7251
  const initialCheckedNodes = React33.useMemo(() => {
7380
7252
  const checkedSet = /* @__PURE__ */ new Set();
@@ -9144,19 +9016,19 @@ function getEventColorClassesAgenda(color) {
9144
9016
  const eventColor = color || "sky";
9145
9017
  switch (eventColor) {
9146
9018
  case "sky":
9147
- return "bg-sky-200/50 hover:bg-sky-200/40 text-sky-950/80 dark:bg-sky-400/25 dark:hover:bg-sky-400/20 dark:text-sky-200 shadow-sky-700/8";
9019
+ return "bg-sky-100 hover:bg-sky-200 text-sky-900 border dark:bg-sky-500/30 dark:hover:bg-sky-500/40 dark:text-sky-50 dark:border-sky-400/40 shadow-sky-500/15 hover:shadow-sky-500/25 transition-all duration-200";
9148
9020
  case "amber":
9149
- return "bg-amber-200/50 hover:bg-amber-200/40 text-amber-950/80 dark:bg-amber-400/25 dark:hover:bg-amber-400/20 dark:text-amber-200 shadow-amber-700/8";
9021
+ return "bg-amber-100 hover:bg-amber-200 text-amber-900 border dark:bg-amber-500/30 dark:hover:bg-amber-500/40 dark:text-amber-50 dark:border-amber-400/40 shadow-amber-500/15 hover:shadow-amber-500/25 transition-all duration-200";
9150
9022
  case "violet":
9151
- return "bg-violet-200/50 hover:bg-violet-200/40 text-violet-950/80 dark:bg-violet-400/25 dark:hover:bg-violet-400/20 dark:text-violet-200 shadow-violet-700/8";
9023
+ return "bg-violet-100 hover:bg-violet-200 text-violet-900 border dark:bg-violet-500/30 dark:hover:bg-violet-500/40 dark:text-violet-50 dark:border-violet-400/40 shadow-violet-500/15 hover:shadow-violet-500/25 transition-all duration-200";
9152
9024
  case "rose":
9153
- return "bg-rose-200/50 hover:bg-rose-200/40 text-rose-950/80 dark:bg-rose-400/25 dark:hover:bg-rose-400/20 dark:text-rose-200 shadow-rose-700/8";
9025
+ return "bg-rose-100 hover:bg-rose-200 text-rose-900 border dark:bg-rose-500/30 dark:hover:bg-rose-500/40 dark:text-rose-50 dark:border-rose-400/40 shadow-rose-500/15 hover:shadow-rose-500/25 transition-all duration-200";
9154
9026
  case "emerald":
9155
- return "bg-emerald-200/50 hover:bg-emerald-200/40 text-emerald-950/80 dark:bg-emerald-400/25 dark:hover:bg-emerald-400/20 dark:text-emerald-200 shadow-emerald-700/8";
9027
+ return "bg-emerald-100 hover:bg-emerald-200 text-emerald-900 border dark:bg-emerald-500/30 dark:hover:bg-emerald-500/40 dark:text-emerald-50 dark:border-emerald-400/40 shadow-emerald-500/15 hover:shadow-emerald-500/25 transition-all duration-200";
9156
9028
  case "orange":
9157
- return "bg-orange-200/50 hover:bg-orange-200/40 text-orange-950/80 dark:bg-orange-400/25 dark:hover:bg-orange-400/20 dark:text-orange-200 shadow-orange-700/8";
9029
+ return "bg-orange-100 hover:bg-orange-200 text-orange-900 border dark:bg-orange-500/30 dark:hover:bg-orange-500/40 dark:text-orange-50 dark:border-orange-400/40 shadow-orange-500/15 hover:shadow-orange-500/25 transition-all duration-200";
9158
9030
  default:
9159
- return "bg-sky-200/50 hover:bg-sky-200/40 text-sky-950/80 dark:bg-sky-400/25 dark:hover:bg-sky-400/20 dark:text-sky-200 shadow-sky-700/8";
9031
+ return "bg-sky-100 hover:bg-sky-200 text-sky-900 border dark:bg-sky-500/30 dark:hover:bg-sky-500/40 dark:text-sky-50 dark:border-sky-400/40 shadow-sky-500/15 hover:shadow-sky-500/25 transition-all duration-200";
9160
9032
  }
9161
9033
  }
9162
9034
  function getBorderRadiusClassesAgenda(isFirstDay, isLastDay) {
@@ -9175,7 +9047,7 @@ function isMultiDayEventAgenda(event) {
9175
9047
  const eventStart = getEventStartDate(event);
9176
9048
  const eventEnd = getEventEndDate(event);
9177
9049
  if (!eventStart || !eventEnd) return !!event.allDay;
9178
- return event.allDay || eventStart.getDate() !== eventEnd.getDate();
9050
+ return event.allDay || !dateFns.isSameDay(eventStart, eventEnd);
9179
9051
  }
9180
9052
  function getEventsForDayAgenda(events, day) {
9181
9053
  return events.filter((event) => {
@@ -9331,12 +9203,13 @@ function EventWrapper({
9331
9203
  return void 0;
9332
9204
  })();
9333
9205
  const isEventInPast = displayEnd ? dateFns.isPast(displayEnd) : false;
9334
- const colorClasses = hasValidTimeForWrapper ? getEventColorClassesAgenda(event.color) : "bg-gray-200/50 hover:bg-gray-200/40 text-gray-900/80 dark:bg-gray-700/25 dark:text-gray-200/90 shadow-none";
9206
+ const colorClasses = hasValidTimeForWrapper ? getEventColorClassesAgenda(event.color) : "bg-gray-200/50 hover:bg-gray-200/40 text-gray-900/80 dark:bg-gray-700/25 dark:text-gray-200/90 shadow-none ";
9335
9207
  return /* @__PURE__ */ jsxRuntime.jsx(
9336
9208
  "button",
9337
9209
  {
9338
9210
  className: cn(
9339
- "flex w-full select-none overflow-hidden px-3 py-1 text-left font-medium outline-none transition-transform duration-150 ease-out backdrop-blur-sm focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:border-ring data-dragging:cursor-grabbing data-past-event:line-through data-dragging:shadow-lg sm:px-3 rounded-lg shadow-sm hover:shadow-md border",
9211
+ "flex w-full select-none px-3 py-1 text-left font-medium outline-none transition-transform duration-150 ease-out backdrop-blur-sm focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:border-ring data-dragging:cursor-grabbing data-past-event:line-through data-dragging:shadow-lg sm:px-3 rounded-lg shadow-sm hover:shadow-md border ",
9212
+ className?.includes("overflow-visible") ? "" : "overflow-hidden",
9340
9213
  colorClasses,
9341
9214
  getBorderRadiusClassesAgenda(isFirstDay, isLastDay),
9342
9215
  className
@@ -9961,7 +9834,7 @@ function Select({
9961
9834
  ]
9962
9835
  }
9963
9836
  ),
9964
- /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaBase, { "data-testid": testIds.scrollarea ?? "select-scrollarea", children: /* @__PURE__ */ jsxRuntime.jsx(SelectContentBase, { "data-testid": testIds.content ?? "select-content", children: pagination && pagination > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
9837
+ /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaBase, { "data-testid": testIds.scrollarea ?? "select-scrollarea", children: /* @__PURE__ */ jsxRuntime.jsx(SelectContentBase, { "data-testid": testIds.content ?? "select-content", className: "border-border", children: pagination && pagination > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
9965
9838
  /* @__PURE__ */ jsxRuntime.jsx(
9966
9839
  "div",
9967
9840
  {
@@ -10459,7 +10332,7 @@ function MonthViewAgenda({
10459
10332
  "div",
10460
10333
  {
10461
10334
  className: tailwindMerge.twMerge(
10462
- `mt-1 inline-flex w-6 h-6 sm:w-7 sm:h-7 items-center justify-center rounded-full text-xs sm:text-sm font-semibold text-muted-foreground`,
10335
+ `mt-1 inline-flex w-6 h-6 sm:w-7 sm:h-7 items-center justify-center border rounded-md text-xs sm:text-sm font-semibold text-muted-foreground`,
10463
10336
  dateFns.isToday(day) ? "bg-blue-500 text-white" : ""
10464
10337
  ),
10465
10338
  children: dateFns.format(day, "d")
@@ -10492,21 +10365,19 @@ function MonthViewAgenda({
10492
10365
  isLastDay,
10493
10366
  onClick: (e) => handleEventClick(event, e),
10494
10367
  view: "month",
10495
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1 truncate text-[12px] text-foreground", children: [
10496
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[11px] opacity-80", children: "\u2192" }),
10497
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-medium", children: event.title })
10498
- ] })
10368
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1 truncate text-[12px] text-foreground" })
10499
10369
  }
10500
10370
  )
10501
10371
  },
10502
10372
  `spanning-${event.id}-${day.toISOString().slice(0, 10)}`
10503
10373
  );
10504
10374
  }
10375
+ const isMultiDay = !isLastDay;
10505
10376
  return /* @__PURE__ */ jsxRuntime.jsx(
10506
10377
  "div",
10507
10378
  {
10508
10379
  "aria-hidden": isHidden ? "true" : void 0,
10509
- className: "aria-hidden:hidden",
10380
+ className: "aria-hidden:hidden relative",
10510
10381
  children: /* @__PURE__ */ jsxRuntime.jsx(
10511
10382
  EventItemAgenda,
10512
10383
  {
@@ -10515,9 +10386,16 @@ function MonthViewAgenda({
10515
10386
  isLastDay,
10516
10387
  onClick: (e) => handleEventClick(event, e),
10517
10388
  view: "month",
10518
- children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 sm:gap-2 truncate text-[12px] text-foreground", children: [
10389
+ className: isMultiDay ? "overflow-visible" : "",
10390
+ children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 sm:gap-2 truncate text-[12px] text-foreground relative z-10", children: [
10519
10391
  !event.allDay && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-normal opacity-80 text-[10px] sm:text-[11px] bg-white/10 px-1 py-0.5 rounded-full", children: dateFns.format(eventStart, "HH:mm") }),
10520
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-medium text-xs sm:text-sm", children: event.title })
10392
+ /* @__PURE__ */ jsxRuntime.jsx(
10393
+ "span",
10394
+ {
10395
+ className: `font-medium text-xs sm:text-sm ${isMultiDay ? "whitespace-nowrap" : "truncate"}`,
10396
+ children: event.title
10397
+ }
10398
+ )
10521
10399
  ] })
10522
10400
  }
10523
10401
  )
@@ -13283,13 +13161,13 @@ function getEventColorClasses(color) {
13283
13161
  }
13284
13162
  function getBorderRadiusClasses(isFirstDay, isLastDay) {
13285
13163
  if (isFirstDay && isLastDay) {
13286
- return "rounded";
13164
+ return "rounded-lg";
13287
13165
  }
13288
13166
  if (isFirstDay) {
13289
- return "rounded-l rounded-r-none";
13167
+ return "rounded-l-lg rounded-r-none";
13290
13168
  }
13291
13169
  if (isLastDay) {
13292
- return "rounded-r rounded-l-none";
13170
+ return "rounded-r-lg rounded-l-none";
13293
13171
  }
13294
13172
  return "rounded-none";
13295
13173
  }
@@ -15123,7 +15001,7 @@ var DraggableTooltipComponent = ({
15123
15001
  /* @__PURE__ */ jsxRuntime.jsx(
15124
15002
  framerMotion.motion.div,
15125
15003
  {
15126
- className: "fixed pointer-events-none z-30",
15004
+ className: "fixed pointer-events-none z-[9998]",
15127
15005
  variants: guideVariants,
15128
15006
  initial: "hidden",
15129
15007
  animate: "visible",
@@ -15145,7 +15023,7 @@ var DraggableTooltipComponent = ({
15145
15023
  /* @__PURE__ */ jsxRuntime.jsx(
15146
15024
  framerMotion.motion.div,
15147
15025
  {
15148
- className: "fixed pointer-events-none z-31",
15026
+ className: "fixed pointer-events-none z-[9999]",
15149
15027
  variants: guideDotVariants,
15150
15028
  initial: "hidden",
15151
15029
  animate: "visible",
@@ -15185,7 +15063,7 @@ var DraggableTooltipComponent = ({
15185
15063
  /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: /* @__PURE__ */ jsxRuntime.jsxs(
15186
15064
  framerMotion.motion.div,
15187
15065
  {
15188
- className: "fixed bg-card border border-border rounded-lg shadow-lg z-50 min-w-80 select-none",
15066
+ className: "fixed bg-card border border-border rounded-lg shadow-lg z-[10000] min-w-80 select-none",
15189
15067
  variants: tooltipVariants,
15190
15068
  initial: "hidden",
15191
15069
  animate: "visible",
@@ -15417,7 +15295,7 @@ var RechartTooltipWithTotal = ({
15417
15295
  {
15418
15296
  role: "dialog",
15419
15297
  "aria-label": `Tooltip ${label ?? ""}`,
15420
- className: "bg-card border border-border rounded-lg p-3 shadow-2xl max-w-xs z-9999",
15298
+ className: "bg-card border border-border rounded-lg p-3 shadow-2xl max-w-xs z-[10000]",
15421
15299
  style: { minWidth: 220 },
15422
15300
  children: [
15423
15301
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between mb-2", children: [
@@ -15530,7 +15408,7 @@ var TooltipSimple = ({
15530
15408
  {
15531
15409
  role: "dialog",
15532
15410
  "aria-label": `Tooltip ${label ?? ""}`,
15533
- className: "bg-card border border-border rounded-lg p-3 shadow-2xl max-w-[280px] z-9999",
15411
+ className: "bg-card border border-border rounded-lg p-3 shadow-2xl max-w-[280px] z-[10000]",
15534
15412
  style: { minWidth: 220 },
15535
15413
  children: [
15536
15414
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-between gap-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
@@ -15719,7 +15597,7 @@ var SystemTooltip = ({
15719
15597
  return /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: /* @__PURE__ */ jsxRuntime.jsxs(
15720
15598
  framerMotion.motion.div,
15721
15599
  {
15722
- className: "fixed bg-card/95 backdrop-blur-md border border-border/50 rounded-xl shadow-2xl z-50 w-80 overflow-hidden",
15600
+ className: "fixed bg-card/95 backdrop-blur-md border border-border/50 rounded-xl shadow-2xl z-[10000] w-80 overflow-hidden",
15723
15601
  variants: tooltipVariants2,
15724
15602
  initial: "hidden",
15725
15603
  animate: "visible",
@@ -15794,7 +15672,9 @@ var SystemTooltip = ({
15794
15672
  "div",
15795
15673
  {
15796
15674
  className: "group flex items-center justify-between p-2 rounded-lg bg-emerald-500/5 border border-emerald-500/10 hover:border-emerald-500/30 transition-all cursor-pointer",
15797
- onClick: () => setExpandedId(expandedId === conn.id ? null : conn.id),
15675
+ onClick: () => setExpandedId(
15676
+ expandedId === conn.id ? null : conn.id
15677
+ ),
15798
15678
  children: [
15799
15679
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium truncate", children: conn.name }) }),
15800
15680
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -15856,7 +15736,9 @@ var SystemTooltip = ({
15856
15736
  "div",
15857
15737
  {
15858
15738
  className: "group flex items-center justify-between p-2 rounded-lg bg-blue-500/5 border border-blue-500/10 hover:border-blue-500/30 transition-all cursor-pointer",
15859
- onClick: () => setExpandedId(expandedId === conn.id ? null : conn.id),
15739
+ onClick: () => setExpandedId(
15740
+ expandedId === conn.id ? null : conn.id
15741
+ ),
15860
15742
  children: [
15861
15743
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium truncate", children: conn.name }) }),
15862
15744
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -15917,6 +15799,35 @@ var SystemTooltip = ({
15917
15799
  ) });
15918
15800
  };
15919
15801
  var SystemTooltip_default = SystemTooltip;
15802
+
15803
+ // src/components/ui/charts/components/tooltips/systemTooltipUtils.ts
15804
+ function processNeo4jData(integrations, targetSystemName) {
15805
+ const connections = [];
15806
+ integrations.forEach((integration) => {
15807
+ const origemNome = integration.origem.properties.nome;
15808
+ const destinoNome = integration.destino.properties.nome;
15809
+ if (origemNome === targetSystemName) {
15810
+ connections.push({
15811
+ id: integration.r.elementId,
15812
+ name: destinoNome,
15813
+ type: "saida",
15814
+ integration: integration.r.properties
15815
+ });
15816
+ }
15817
+ if (destinoNome === targetSystemName) {
15818
+ connections.push({
15819
+ id: integration.r.elementId,
15820
+ name: origemNome,
15821
+ type: "entrada",
15822
+ integration: integration.r.properties
15823
+ });
15824
+ }
15825
+ });
15826
+ return {
15827
+ name: targetSystemName,
15828
+ connections
15829
+ };
15830
+ }
15920
15831
  var Brush = ({
15921
15832
  data,
15922
15833
  legend,
@@ -16621,7 +16532,7 @@ var NoData = ({
16621
16532
  /* @__PURE__ */ jsxRuntime.jsxs(
16622
16533
  "svg",
16623
16534
  {
16624
- className: "w-full h-[var(--svg-h)] opacity-40",
16535
+ className: "w-full h-full opacity-40",
16625
16536
  viewBox: `0 0 900 ${h}`,
16626
16537
  preserveAspectRatio: "none",
16627
16538
  children: [
@@ -17391,6 +17302,16 @@ var Chart = ({
17391
17302
  // horizontal removido
17392
17303
  // orderBy removido
17393
17304
  }) => {
17305
+ const usesFullHeight = typeof height === "string" && (height === "100%" || height === "100vh") || typeof className === "string" && /\bh-full\b/.test(className || "");
17306
+ const responsiveHeight = usesFullHeight ? "100%" : height;
17307
+ const wrapperClass = cn(
17308
+ "w-full min-w-0 rounded-lg border-border",
17309
+ className,
17310
+ "overflow-hidden"
17311
+ );
17312
+ const wrapperStyle = usesFullHeight ? void 0 : {
17313
+ height: typeof responsiveHeight === "number" ? `${responsiveHeight}px` : responsiveHeight
17314
+ };
17394
17315
  const { xAxisConfig, mapperConfig } = React33.useMemo(() => {
17395
17316
  return fnSmartConfig({ xAxis, data, labelMap });
17396
17317
  }, [data, xAxis, labelMap]);
@@ -17534,6 +17455,10 @@ var Chart = ({
17534
17455
  maxTooltips,
17535
17456
  effectiveChartWidth
17536
17457
  });
17458
+ const legendSpace = showLegend ? 44 : 0;
17459
+ const xAxisLabelSpace = xAxisLabel ? 18 : 0;
17460
+ const brushSpace = timeSeriesConfig?.height ? 200 : 0;
17461
+ const bottomMargin = 10 + legendSpace + xAxisLabelSpace + brushSpace;
17537
17462
  if (!data && !isLoading) return null;
17538
17463
  if (isLoading) {
17539
17464
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -17557,16 +17482,13 @@ var Chart = ({
17557
17482
  }
17558
17483
  );
17559
17484
  }
17560
- return /* @__PURE__ */ jsxRuntime.jsxs(
17561
- "div",
17562
- {
17563
- ref: wrapperRef,
17564
- className: cn(
17565
- "w-full overflow-hidden min-w-0 rounded-lg border-border h-full",
17566
- className
17567
- ),
17568
- children: [
17569
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg bg-card relative w-full max-w-full min-w-0 py-1", children: [
17485
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: wrapperRef, className: wrapperClass, style: wrapperStyle, children: [
17486
+ /* @__PURE__ */ jsxRuntime.jsxs(
17487
+ "div",
17488
+ {
17489
+ className: "rounded-lg bg-card relative w-full max-w-full min-w-0 py-1",
17490
+ style: usesFullHeight ? { height: "100%" } : void 0,
17491
+ children: [
17570
17492
  /* @__PURE__ */ jsxRuntime.jsx(
17571
17493
  ChartHeader,
17572
17494
  {
@@ -17628,16 +17550,15 @@ var Chart = ({
17628
17550
  )
17629
17551
  }
17630
17552
  ),
17631
- /* @__PURE__ */ jsxRuntime.jsx(recharts.ResponsiveContainer, { width: "100%", height, className: "h-full", children: /* @__PURE__ */ jsxRuntime.jsxs(
17553
+ /* @__PURE__ */ jsxRuntime.jsx(recharts.ResponsiveContainer, { width: "100%", height: responsiveHeight, children: /* @__PURE__ */ jsxRuntime.jsxs(
17632
17554
  recharts.ComposedChart,
17633
17555
  {
17634
17556
  data: processedData,
17635
- height,
17636
17557
  margin: {
17637
17558
  top: 10,
17638
17559
  right: finalChartRightMargin,
17639
17560
  left: finalChartLeftMargin,
17640
- bottom: 10
17561
+ bottom: bottomMargin
17641
17562
  },
17642
17563
  onClick: handleChartClick,
17643
17564
  children: [
@@ -17918,67 +17839,67 @@ var Chart = ({
17918
17839
  ]
17919
17840
  }
17920
17841
  ) })
17921
- ] }),
17922
- enableDraggableTooltips && activeTooltips.map((tooltip) => /* @__PURE__ */ jsxRuntime.jsx(
17923
- DraggableTooltip_default,
17924
- {
17925
- id: tooltip.id,
17926
- data: adaptDataForTooltip(tooltip.data, xAxisConfig.dataKey),
17927
- position: tooltip.position,
17928
- title,
17929
- dataKeys: allKeys,
17930
- finalColors,
17931
- highlightedSeries,
17932
- toggleHighlight,
17933
- showOnlyHighlighted,
17934
- onClose: (id) => setActiveTooltips((prev) => prev.filter((t) => t.id !== id)),
17935
- onPositionChange: onTooltipPositionChange,
17936
- periodLabel,
17937
- dataLabel: "Dados do Per\xEDodo",
17938
- valueFormatter: finalValueFormatter,
17939
- categoryFormatter,
17940
- globalTooltipCount: activeTooltips.length,
17941
- onCloseAll: () => window.dispatchEvent(new Event("closeAllTooltips")),
17942
- closeAllButtonPosition: "top-center",
17943
- closeAllButtonVariant: "floating"
17944
- },
17945
- tooltip.id
17946
- )),
17947
- enableDraggableTooltips && activeTooltips.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
17948
- CloseAllButton_default,
17949
- {
17950
- count: activeTooltips.length,
17951
- onCloseAll: () => window.dispatchEvent(new Event("closeAllTooltips")),
17952
- position: "top-center",
17953
- variant: "floating"
17954
- }
17955
- ),
17956
- timeSeriesConfig && /* @__PURE__ */ jsxRuntime.jsx(
17957
- Brush_default,
17958
- {
17959
- legend: timeSeriesLegend,
17960
- data,
17961
- startIndex,
17962
- endIndex,
17963
- onMouseDown: handleMouseDown,
17964
- brushRef,
17965
- xAxisKey: xAxisConfig.dataKey,
17966
- seriesOrder,
17967
- finalColors,
17968
- brushHeight: timeSeriesConfig.height,
17969
- brushColor: timeSeriesConfig.brushColor,
17970
- miniChartOpacity: timeSeriesConfig.miniChartOpacity,
17971
- showGrid,
17972
- gridColor,
17973
- margin: {
17974
- left: finalChartLeftMargin,
17975
- right: finalChartRightMargin
17976
- }
17977
- }
17978
- )
17979
- ]
17980
- }
17981
- );
17842
+ ]
17843
+ }
17844
+ ),
17845
+ enableDraggableTooltips && activeTooltips.map((tooltip) => /* @__PURE__ */ jsxRuntime.jsx(
17846
+ DraggableTooltip_default,
17847
+ {
17848
+ id: tooltip.id,
17849
+ data: adaptDataForTooltip(tooltip.data, xAxisConfig.dataKey),
17850
+ position: tooltip.position,
17851
+ title,
17852
+ dataKeys: allKeys,
17853
+ finalColors,
17854
+ highlightedSeries,
17855
+ toggleHighlight,
17856
+ showOnlyHighlighted,
17857
+ onClose: (id) => setActiveTooltips((prev) => prev.filter((t) => t.id !== id)),
17858
+ onPositionChange: onTooltipPositionChange,
17859
+ periodLabel,
17860
+ dataLabel: "Dados do Per\xEDodo",
17861
+ valueFormatter: finalValueFormatter,
17862
+ categoryFormatter,
17863
+ globalTooltipCount: activeTooltips.length,
17864
+ onCloseAll: () => window.dispatchEvent(new Event("closeAllTooltips")),
17865
+ closeAllButtonPosition: "top-center",
17866
+ closeAllButtonVariant: "floating"
17867
+ },
17868
+ tooltip.id
17869
+ )),
17870
+ enableDraggableTooltips && activeTooltips.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
17871
+ CloseAllButton_default,
17872
+ {
17873
+ count: activeTooltips.length,
17874
+ onCloseAll: () => window.dispatchEvent(new Event("closeAllTooltips")),
17875
+ position: "top-center",
17876
+ variant: "floating"
17877
+ }
17878
+ ),
17879
+ timeSeriesConfig && /* @__PURE__ */ jsxRuntime.jsx(
17880
+ Brush_default,
17881
+ {
17882
+ legend: timeSeriesLegend,
17883
+ data,
17884
+ startIndex,
17885
+ endIndex,
17886
+ onMouseDown: handleMouseDown,
17887
+ brushRef,
17888
+ xAxisKey: xAxisConfig.dataKey,
17889
+ seriesOrder,
17890
+ finalColors,
17891
+ brushHeight: timeSeriesConfig.height,
17892
+ brushColor: timeSeriesConfig.brushColor,
17893
+ miniChartOpacity: timeSeriesConfig.miniChartOpacity,
17894
+ showGrid,
17895
+ gridColor,
17896
+ margin: {
17897
+ left: finalChartLeftMargin,
17898
+ right: finalChartRightMargin
17899
+ }
17900
+ }
17901
+ )
17902
+ ] });
17982
17903
  };
17983
17904
  var Chart_default = Chart;
17984
17905
  var DEFAULT_COLORS3 = ["#0d1136", "#666655", "#1a1a1a"];
@@ -18769,11 +18690,6 @@ exports.CardDescriptionBase = CardDescriptionBase;
18769
18690
  exports.CardFooterBase = CardFooterBase;
18770
18691
  exports.CardHeaderBase = CardHeaderBase;
18771
18692
  exports.CardTitleBase = CardTitleBase;
18772
- exports.CarouselBase = CarouselBase;
18773
- exports.CarouselContentBase = CarouselContentBase;
18774
- exports.CarouselItemBase = CarouselItemBase;
18775
- exports.CarouselNextBase = CarouselNextBase;
18776
- exports.CarouselPreviousBase = CarouselPreviousBase;
18777
18693
  exports.ChangeButton = ChangeButton;
18778
18694
  exports.Chart = Chart_default;
18779
18695
  exports.ChartControls = ChartControls;
@@ -18790,6 +18706,7 @@ exports.CollapsibleContentBase = CollapsibleContentBase;
18790
18706
  exports.CollapsibleTriggerBase = CollapsibleTriggerBase;
18791
18707
  exports.Combobox = Combobox;
18792
18708
  exports.CommandBase = CommandBase;
18709
+ exports.CommandDebouncedInputBase = CommandDebouncedInputBase;
18793
18710
  exports.CommandDialogBase = CommandDialogBase;
18794
18711
  exports.CommandEmptyBase = CommandEmptyBase;
18795
18712
  exports.CommandGroupBase = CommandGroupBase;
@@ -19092,6 +19009,7 @@ exports.isValidHour = isValidHour;
19092
19009
  exports.isValidMinuteOrSecond = isValidMinuteOrSecond;
19093
19010
  exports.niceCeil = niceCeil;
19094
19011
  exports.normalizeAttendDate = normalizeAttendDate;
19012
+ exports.processNeo4jData = processNeo4jData;
19095
19013
  exports.renderInsideBarLabel = renderInsideBarLabel;
19096
19014
  exports.renderPillLabel = pillLabelRenderer_default;
19097
19015
  exports.resolveChartMargins = resolveChartMargins;