@mlw-packages/react-components 1.5.8 → 1.5.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.mjs CHANGED
@@ -493,19 +493,19 @@ import { Slot } from "@radix-ui/react-slot";
493
493
  import { cva } from "class-variance-authority";
494
494
  import { jsx } from "react/jsx-runtime";
495
495
  var buttonVariantsBase = cva(
496
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
496
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive active:scale-95",
497
497
  {
498
498
  variants: {
499
499
  variant: {
500
500
  default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
501
501
  destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
502
- outline: "bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
502
+ outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-background dark:border-input dark:hover:bg-background/95",
503
503
  secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
504
504
  ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
505
505
  link: "text-primary underline-offset-4 hover:underline"
506
506
  },
507
507
  size: {
508
- default: " px-4 py-2 has-[>svg]:px-3",
508
+ default: "h-9 py-2 px-4 has-[>svg]:px-3",
509
509
  sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
510
510
  lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
511
511
  icon: "size-9"
@@ -2131,7 +2131,7 @@ var InputBase = React12.forwardRef(
2131
2131
  "div",
2132
2132
  {
2133
2133
  className: cn(
2134
- "flex items-center rounded-md transition focus-within:ring-1 focus-within:ring-ring focus-within:border-ring bg-background overflow-hidden",
2134
+ "flex items-center rounded-md transition h-9 focus-within:ring-1 focus-within:ring-ring focus-within:border-ring bg-background overflow-hidden",
2135
2135
  type !== "file" && "border border-input"
2136
2136
  ),
2137
2137
  children: [
@@ -2141,7 +2141,7 @@ var InputBase = React12.forwardRef(
2141
2141
  {
2142
2142
  type,
2143
2143
  className: cn(
2144
- "w-full flex-1 text-sm py-2 px-3 focus:outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 bg-background text-foreground",
2144
+ "w-full flex-1 text-sm p-1.5 px-3 focus:outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 bg-background text-foreground",
2145
2145
  className
2146
2146
  ),
2147
2147
  ref,
@@ -2216,7 +2216,7 @@ function ComboboxBase({
2216
2216
  role: "combobox",
2217
2217
  "aria-expanded": open,
2218
2218
  className: cn(
2219
- "flex items-start gap-2 justify-between h-full border border-input",
2219
+ "flex items-start gap-2 justify-between",
2220
2220
  errorMessage && "border-red-500"
2221
2221
  ),
2222
2222
  "data-testid": testIds.trigger ?? "combobox-trigger",
@@ -2887,34 +2887,78 @@ function NavigationMenuIndicatorBase({
2887
2887
  import * as React17 from "react";
2888
2888
  import * as ProgressPrimitive from "@radix-ui/react-progress";
2889
2889
  import { jsx as jsx28, jsxs as jsxs18 } from "react/jsx-runtime";
2890
- var ProgressBase = React17.forwardRef(({ className, value, label, leftIcon, rightIcon, ...props }, ref) => {
2891
- return /* @__PURE__ */ jsxs18("div", { className: "flex flex-col gap-1 w-full min-w-[150px]", children: [
2892
- label && /* @__PURE__ */ jsx28(LabelBase_default, { className: "py-2", children: label }),
2893
- /* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-2", children: [
2894
- leftIcon && /* @__PURE__ */ jsx28("div", { className: "flex items-center justify-center", children: leftIcon }),
2895
- /* @__PURE__ */ jsx28(
2896
- ProgressPrimitive.Root,
2897
- {
2898
- ref,
2899
- className: cn(
2900
- "relative h-3 w-full overflow-hidden rounded-full bg-zinc-200 dark:bg-zinc-800 shadow-inner transition-all",
2901
- className
2902
- ),
2903
- value,
2904
- ...props,
2905
- children: /* @__PURE__ */ jsx28(
2906
- ProgressPrimitive.Indicator,
2907
- {
2908
- className: "h-full w-full flex-1 bg-primary transition-all duration-500 ease-in-out",
2909
- style: { transform: `translateX(-${100 - (value || 0)}%)` }
2910
- }
2911
- )
2912
- }
2913
- ),
2914
- rightIcon && /* @__PURE__ */ jsx28("div", { className: "flex items-center justify-center", children: rightIcon })
2915
- ] })
2916
- ] });
2917
- });
2890
+ var ProgressBase = React17.forwardRef(
2891
+ ({
2892
+ className,
2893
+ value,
2894
+ label,
2895
+ leftIcon,
2896
+ rightIcon,
2897
+ variant = "bar",
2898
+ segments = 5,
2899
+ steps = [],
2900
+ currentStep = 0,
2901
+ ...props
2902
+ }, ref) => {
2903
+ switch (variant) {
2904
+ case "segments":
2905
+ return /* @__PURE__ */ jsx28(
2906
+ ProgressSegmentsBase,
2907
+ {
2908
+ label,
2909
+ segments,
2910
+ value: value || 0
2911
+ }
2912
+ );
2913
+ case "panels":
2914
+ return /* @__PURE__ */ jsx28(
2915
+ ProgressPanelsBase,
2916
+ {
2917
+ label,
2918
+ steps,
2919
+ currentStep
2920
+ }
2921
+ );
2922
+ case "circles":
2923
+ return /* @__PURE__ */ jsx28(
2924
+ ProgressCirclesBase,
2925
+ {
2926
+ label,
2927
+ steps,
2928
+ currentStep
2929
+ }
2930
+ );
2931
+ case "bar":
2932
+ default:
2933
+ return /* @__PURE__ */ jsxs18("div", { className: "flex flex-col gap-1 w-full min-w-[150px]", children: [
2934
+ label && /* @__PURE__ */ jsx28(LabelBase_default, { className: "py-2", children: label }),
2935
+ /* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-2", children: [
2936
+ leftIcon && /* @__PURE__ */ jsx28("div", { className: "flex items-center justify-center", children: leftIcon }),
2937
+ /* @__PURE__ */ jsx28(
2938
+ ProgressPrimitive.Root,
2939
+ {
2940
+ ref,
2941
+ className: cn(
2942
+ "relative h-3 w-full overflow-hidden rounded-full bg-zinc-200 dark:bg-zinc-800 shadow-inner transition-all",
2943
+ className
2944
+ ),
2945
+ value,
2946
+ ...props,
2947
+ children: /* @__PURE__ */ jsx28(
2948
+ ProgressPrimitive.Indicator,
2949
+ {
2950
+ className: "h-full w-full flex-1 bg-primary transition-all duration-500 ease-in-out",
2951
+ style: { transform: `translateX(-${100 - (value || 0)}%)` }
2952
+ }
2953
+ )
2954
+ }
2955
+ ),
2956
+ rightIcon && /* @__PURE__ */ jsx28("div", { className: "flex items-center justify-center", children: rightIcon })
2957
+ ] })
2958
+ ] });
2959
+ }
2960
+ }
2961
+ );
2918
2962
  ProgressBase.displayName = "ProgressBase";
2919
2963
  var ProgressSegmentsBase = ({
2920
2964
  label,
@@ -4223,7 +4267,8 @@ var TabsListBase = React27.forwardRef(({ className, ...props }, ref) => /* @__PU
4223
4267
  {
4224
4268
  ref,
4225
4269
  className: cn(
4226
- "relative flex w-full items-center justify-start gap-4 border-b-2 border-border",
4270
+ "relative flex w-full items-center justify-start gap-2 border-b border-border",
4271
+ "bg-transparent",
4227
4272
  className
4228
4273
  ),
4229
4274
  ...props
@@ -4235,13 +4280,15 @@ var TabsTriggerBase = React27.forwardRef(({ className, ...props }, ref) => /* @_
4235
4280
  {
4236
4281
  ref,
4237
4282
  className: cn(
4238
- "relative inline-flex items-center justify-center whitespace-nowrap px-3 py-2 text-sm font-medium transition-colors",
4239
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-3",
4283
+ "relative inline-flex items-center justify-center whitespace-nowrap px-4 py-2 text-sm font-medium",
4284
+ "text-muted-foreground hover:text-foreground",
4285
+ "transition-colors duration-300 ease-in-out",
4286
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
4240
4287
  "disabled:pointer-events-none disabled:opacity-50",
4241
4288
  "data-[state=active]:text-primary",
4242
- "after:absolute after:bottom-0 after:left-0 after:h-[1.5px] after:w-full",
4289
+ "after:absolute after:bottom-0 after:left-0 after:h-[2px] after:w-full",
4243
4290
  "after:scale-x-0 after:bg-primary after:origin-left",
4244
- "after:transition-transform after:duration-300 after:ease-[cubic-bezier(0.65,0,0.35,1)]",
4291
+ "after:transition-transform after:duration-500 after:ease-[cubic-bezier(0.34,1.56,0.64,1)]",
4245
4292
  "data-[state=active]:after:scale-x-100",
4246
4293
  className
4247
4294
  ),
@@ -4253,8 +4300,8 @@ var TabsContentBase = React27.forwardRef(({ className, ...props }, ref) => /* @_
4253
4300
  {
4254
4301
  ref,
4255
4302
  className: cn(
4256
- "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
4257
- "animate-fade-in",
4303
+ "mt-4 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
4304
+ "animate-in fade-in-0 duration-500 ease-in-out",
4258
4305
  className
4259
4306
  ),
4260
4307
  ...props
@@ -4264,27 +4311,184 @@ TabsContentBase.displayName = TabsPrimitive.Content.displayName;
4264
4311
 
4265
4312
  // src/components/ui/TextAreaBase.tsx
4266
4313
  import * as React28 from "react";
4267
- import { jsx as jsx40 } from "react/jsx-runtime";
4268
- var TextAreaBase = React28.forwardRef(({ className, ...props }, ref) => {
4269
- return /* @__PURE__ */ jsx40(
4270
- "textarea",
4271
- {
4272
- className: cn(
4273
- "flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
4274
- className
4314
+ import { motion as motion6 } from "framer-motion";
4315
+ import { TrashIcon as TrashIcon2 } from "@phosphor-icons/react";
4316
+ import { jsx as jsx40, jsxs as jsxs24 } from "react/jsx-runtime";
4317
+ var TextAreaBase = React28.forwardRef(
4318
+ ({ className, clearable = false, onClear, ...props }, ref) => {
4319
+ const [isFocused, setIsFocused] = React28.useState(false);
4320
+ const [hasContent, setHasContent] = React28.useState(
4321
+ !!props.value || !!props.defaultValue
4322
+ );
4323
+ const [showConfirmTooltip, setShowConfirmTooltip] = React28.useState(false);
4324
+ const textareaRef = React28.useRef(null);
4325
+ const handleFocus = (e) => {
4326
+ setIsFocused(true);
4327
+ props.onFocus?.(e);
4328
+ };
4329
+ const handleBlur = (e) => {
4330
+ setIsFocused(false);
4331
+ props.onBlur?.(e);
4332
+ };
4333
+ const handleChange = (e) => {
4334
+ setHasContent(e.target.value.length > 0);
4335
+ props.onChange?.(e);
4336
+ };
4337
+ const handleClearClick = () => {
4338
+ setShowConfirmTooltip(true);
4339
+ };
4340
+ const handleConfirmClear = () => {
4341
+ if (textareaRef.current) {
4342
+ const nativeInputValueSetter = Object.getOwnPropertyDescriptor(
4343
+ window.HTMLTextAreaElement.prototype,
4344
+ "value"
4345
+ )?.set;
4346
+ if (nativeInputValueSetter) {
4347
+ nativeInputValueSetter.call(textareaRef.current, "");
4348
+ const event = new Event("input", { bubbles: true });
4349
+ textareaRef.current.dispatchEvent(event);
4350
+ }
4351
+ setHasContent(false);
4352
+ setShowConfirmTooltip(false);
4353
+ textareaRef.current.focus();
4354
+ onClear?.();
4355
+ }
4356
+ };
4357
+ const handleCancelClear = () => {
4358
+ setShowConfirmTooltip(false);
4359
+ };
4360
+ React28.useImperativeHandle(ref, () => textareaRef.current);
4361
+ React28.useEffect(() => {
4362
+ setHasContent(!!props.value || !!props.defaultValue);
4363
+ }, [props.value, props.defaultValue]);
4364
+ return /* @__PURE__ */ jsxs24("div", { className: "relative", children: [
4365
+ /* @__PURE__ */ jsx40(
4366
+ "textarea",
4367
+ {
4368
+ className: cn(
4369
+ "peer flex min-h-[80px] min-w-[200px] w-full rounded-lg border border-input bg-background/50 backdrop-blur-sm",
4370
+ "px-4 py-3 text-base shadow-sm placeholder:text-muted-foreground/60",
4371
+ "transition-all duration-300 ease-out",
4372
+ "hover:border-input/80 hover:shadow-md",
4373
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/30 focus-visible:border-ring",
4374
+ "focus-visible:shadow-lg focus-visible:bg-background",
4375
+ "disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-muted/30",
4376
+ "resize",
4377
+ "md:text-sm",
4378
+ clearable && hasContent && "pr-10",
4379
+ className
4380
+ ),
4381
+ ref: textareaRef,
4382
+ onFocus: handleFocus,
4383
+ onBlur: handleBlur,
4384
+ onChange: handleChange,
4385
+ ...props
4386
+ }
4275
4387
  ),
4276
- ref,
4277
- ...props
4278
- }
4279
- );
4280
- });
4388
+ clearable && hasContent && /* @__PURE__ */ jsx40(TooltipProviderBase, { children: /* @__PURE__ */ jsxs24(
4389
+ TooltipBase,
4390
+ {
4391
+ open: showConfirmTooltip,
4392
+ onOpenChange: setShowConfirmTooltip,
4393
+ children: [
4394
+ /* @__PURE__ */ jsx40(TooltipTriggerBase, { asChild: true, children: /* @__PURE__ */ jsx40(
4395
+ motion6.button,
4396
+ {
4397
+ type: "button",
4398
+ initial: { opacity: 0, scale: 0.8 },
4399
+ animate: { opacity: 1, scale: 1 },
4400
+ exit: { opacity: 0, scale: 0.8 },
4401
+ transition: { duration: 0.2 },
4402
+ onClick: handleClearClick,
4403
+ className: cn(
4404
+ "absolute top-3 right-3 p-1.5 rounded-md",
4405
+ "text-muted-foreground/50 hover:text-destructive hover:bg-destructive/10",
4406
+ "transition-all duration-200",
4407
+ "focus:outline-none focus:ring-2 focus:ring-destructive/30",
4408
+ "disabled:opacity-50 disabled:cursor-not-allowed"
4409
+ ),
4410
+ disabled: props.disabled,
4411
+ "aria-label": "Limpar texto",
4412
+ children: /* @__PURE__ */ jsx40(TrashIcon2, { size: 16, weight: "regular" })
4413
+ }
4414
+ ) }),
4415
+ /* @__PURE__ */ jsxs24(
4416
+ TooltipContentBase,
4417
+ {
4418
+ side: "left",
4419
+ className: "bg-background border border-border shadow-lg p-3 flex flex-col gap-2",
4420
+ children: [
4421
+ /* @__PURE__ */ jsx40("p", { className: "text-sm text-foreground font-medium mb-1", children: "Limpar todo o texto?" }),
4422
+ /* @__PURE__ */ jsxs24("div", { className: "flex gap-2", children: [
4423
+ /* @__PURE__ */ jsx40(
4424
+ "button",
4425
+ {
4426
+ type: "button",
4427
+ onClick: handleConfirmClear,
4428
+ className: cn(
4429
+ "px-3 py-1.5 text-xs rounded-md font-medium",
4430
+ "bg-destructive text-destructive-foreground",
4431
+ "hover:bg-destructive/90",
4432
+ "transition-colors"
4433
+ ),
4434
+ children: "Confirmar"
4435
+ }
4436
+ ),
4437
+ /* @__PURE__ */ jsx40(
4438
+ "button",
4439
+ {
4440
+ type: "button",
4441
+ onClick: handleCancelClear,
4442
+ className: cn(
4443
+ "px-3 py-1.5 text-xs rounded-md font-medium",
4444
+ "bg-secondary text-secondary-foreground",
4445
+ "hover:bg-secondary/80",
4446
+ "transition-colors"
4447
+ ),
4448
+ children: "Cancelar"
4449
+ }
4450
+ )
4451
+ ] })
4452
+ ]
4453
+ }
4454
+ )
4455
+ ]
4456
+ }
4457
+ ) }),
4458
+ /* @__PURE__ */ jsx40(
4459
+ motion6.div,
4460
+ {
4461
+ className: "pointer-events-none absolute inset-0 rounded-lg",
4462
+ initial: { opacity: 0 },
4463
+ animate: { opacity: isFocused ? 1 : 0 },
4464
+ transition: { duration: 0.3 },
4465
+ children: /* @__PURE__ */ jsx40("div", { className: "absolute inset-0 rounded-lg bg-gradient-to-r from-ring/20 via-ring/10 to-ring/20 blur-sm" })
4466
+ }
4467
+ ),
4468
+ isFocused && hasContent && props.maxLength && /* @__PURE__ */ jsxs24(
4469
+ motion6.div,
4470
+ {
4471
+ initial: { opacity: 0, y: -10 },
4472
+ animate: { opacity: 1, y: 0 },
4473
+ exit: { opacity: 0, y: -10 },
4474
+ className: "absolute bottom-2 right-3 text-xs text-muted-foreground/70 font-medium",
4475
+ children: [
4476
+ props.value?.length || 0,
4477
+ " / ",
4478
+ props.maxLength
4479
+ ]
4480
+ }
4481
+ )
4482
+ ] });
4483
+ }
4484
+ );
4281
4485
  TextAreaBase.displayName = "TextAreaBase";
4282
4486
 
4283
4487
  // src/components/mode-toggle.tsx
4284
4488
  import { CheckIcon as CheckIcon6, MoonIcon, SunIcon } from "@phosphor-icons/react";
4285
4489
 
4286
4490
  // src/components/theme-provider.tsx
4287
- import { createContext as createContext3, useContext as useContext4, useEffect as useEffect6, useState as useState6 } from "react";
4491
+ import { createContext as createContext3, useContext as useContext4, useEffect as useEffect7, useState as useState7 } from "react";
4288
4492
  import { jsx as jsx41 } from "react/jsx-runtime";
4289
4493
  var initialState = {
4290
4494
  theme: "system",
@@ -4297,8 +4501,8 @@ function ThemeProviderBase({
4297
4501
  storageKey = "app-ui-theme",
4298
4502
  ...props
4299
4503
  }) {
4300
- const [theme, setThemeState] = useState6(defaultTheme);
4301
- useEffect6(() => {
4504
+ const [theme, setThemeState] = useState7(defaultTheme);
4505
+ useEffect7(() => {
4302
4506
  const root = window.document.documentElement;
4303
4507
  root.classList.remove(
4304
4508
  "light",
@@ -4324,7 +4528,7 @@ function ThemeProviderBase({
4324
4528
  document.body.style.color = "";
4325
4529
  }
4326
4530
  }, [theme]);
4327
- useEffect6(() => {
4531
+ useEffect7(() => {
4328
4532
  const stored = localStorage.getItem(storageKey);
4329
4533
  if (stored) setThemeState(stored);
4330
4534
  }, [storageKey]);
@@ -4345,7 +4549,7 @@ var useTheme = () => {
4345
4549
  };
4346
4550
 
4347
4551
  // src/components/mode-toggle.tsx
4348
- import { Fragment as Fragment3, jsx as jsx42, jsxs as jsxs24 } from "react/jsx-runtime";
4552
+ import { Fragment as Fragment3, jsx as jsx42, jsxs as jsxs25 } from "react/jsx-runtime";
4349
4553
  var themeLabels = {
4350
4554
  light: "Light",
4351
4555
  dark: "Dark",
@@ -4362,15 +4566,15 @@ function ModeToggleBase({
4362
4566
  }) {
4363
4567
  const { setTheme, theme: currentTheme } = useTheme();
4364
4568
  const isDark = currentTheme?.includes("dark") || currentTheme === "system" && typeof window !== "undefined" && window.matchMedia("(prefers-color-scheme: dark)").matches;
4365
- return /* @__PURE__ */ jsxs24(DropDownMenuBase, { children: [
4366
- /* @__PURE__ */ jsx42(DropDownMenuTriggerBase, { asChild: true, children: /* @__PURE__ */ jsxs24(
4569
+ return /* @__PURE__ */ jsxs25(DropDownMenuBase, { children: [
4570
+ /* @__PURE__ */ jsx42(DropDownMenuTriggerBase, { asChild: true, children: /* @__PURE__ */ jsxs25(
4367
4571
  ButtonBase,
4368
4572
  {
4369
4573
  variant: "ghost",
4370
4574
  size: "icon",
4371
4575
  className: "relative overflow-hidden border-transparent",
4372
4576
  children: [
4373
- /* @__PURE__ */ jsxs24(Fragment3, { children: [
4577
+ /* @__PURE__ */ jsxs25(Fragment3, { children: [
4374
4578
  /* @__PURE__ */ jsx42(SunIcon, { className: `h-[1.2rem] w-[1.2rem] transition-transform duration-300 ${isDark ? "rotate-90 scale-0" : "rotate-0 scale-100"}` }),
4375
4579
  /* @__PURE__ */ jsx42(MoonIcon, { className: `absolute h-[1.2rem] w-[1.2rem] transition-transform duration-300 ${isDark ? "rotate-0 scale-100" : "rotate-90 scale-0"}` })
4376
4580
  ] }),
@@ -4378,7 +4582,7 @@ function ModeToggleBase({
4378
4582
  ]
4379
4583
  }
4380
4584
  ) }),
4381
- /* @__PURE__ */ jsx42(DropDownMenuContentBase, { align: "end", className: "border-border bg-popover text-popover-foreground", children: themes.map((theme) => /* @__PURE__ */ jsxs24(
4585
+ /* @__PURE__ */ jsx42(DropDownMenuContentBase, { align: "end", className: "border-border bg-popover text-popover-foreground", children: themes.map((theme) => /* @__PURE__ */ jsxs25(
4382
4586
  DropDownMenuItemBase,
4383
4587
  {
4384
4588
  onClick: () => setTheme(theme),
@@ -4396,7 +4600,7 @@ function ModeToggleBase({
4396
4600
  // src/components/ui/DestructiveDialog.tsx
4397
4601
  import * as React29 from "react";
4398
4602
  import { XCircleIcon as XCircleIcon2 } from "@phosphor-icons/react";
4399
- import { jsx as jsx43, jsxs as jsxs25 } from "react/jsx-runtime";
4603
+ import { jsx as jsx43, jsxs as jsxs26 } from "react/jsx-runtime";
4400
4604
  var DestructiveDialog = ({
4401
4605
  title,
4402
4606
  description,
@@ -4408,9 +4612,9 @@ var DestructiveDialog = ({
4408
4612
  const titleId = "destructive-dialog-title";
4409
4613
  const descriptionId = "destructive-dialog-description";
4410
4614
  const triggerEl = React29.isValidElement(children) ? /* @__PURE__ */ jsx43(AlertDialogTriggerBase, { asChild: true, children }) : /* @__PURE__ */ jsx43(AlertDialogTriggerBase, { children: /* @__PURE__ */ jsx43(ButtonBase, { variant: "destructive", children: triggerContent ?? "Excluir" }) });
4411
- return /* @__PURE__ */ jsxs25(AlertDialogBase, { children: [
4615
+ return /* @__PURE__ */ jsxs26(AlertDialogBase, { children: [
4412
4616
  triggerEl,
4413
- /* @__PURE__ */ jsxs25(
4617
+ /* @__PURE__ */ jsxs26(
4414
4618
  AlertDialogContentBase,
4415
4619
  {
4416
4620
  role: "alertdialog",
@@ -4419,9 +4623,9 @@ var DestructiveDialog = ({
4419
4623
  "aria-describedby": descriptionId,
4420
4624
  className: cn("border border-destructive bg-background"),
4421
4625
  children: [
4422
- /* @__PURE__ */ jsxs25("div", { className: "flex items-start gap-4", children: [
4626
+ /* @__PURE__ */ jsxs26("div", { className: "flex items-start gap-4", children: [
4423
4627
  /* @__PURE__ */ jsx43("div", { className: "flex items-center justify-center w-10 h-10 rounded-full ring-1 ring-destructive/30", children: /* @__PURE__ */ jsx43(XCircleIcon2, { className: "w-6 h-6 text-destructive" }) }),
4424
- /* @__PURE__ */ jsxs25("div", { className: "flex-1", children: [
4628
+ /* @__PURE__ */ jsxs26("div", { className: "flex-1", children: [
4425
4629
  /* @__PURE__ */ jsx43(
4426
4630
  AlertDialogTitleBase,
4427
4631
  {
@@ -4440,7 +4644,7 @@ var DestructiveDialog = ({
4440
4644
  )
4441
4645
  ] })
4442
4646
  ] }),
4443
- /* @__PURE__ */ jsxs25(AlertDialogFooterBase, { className: "mt-2 flex justify-end gap-3", children: [
4647
+ /* @__PURE__ */ jsxs26(AlertDialogFooterBase, { className: "mt-2 flex justify-end gap-3", children: [
4444
4648
  /* @__PURE__ */ jsx43(
4445
4649
  AlertDialogCancelBase,
4446
4650
  {
@@ -4482,7 +4686,7 @@ import {
4482
4686
  CalendarIcon
4483
4687
  } from "@phosphor-icons/react";
4484
4688
  import { AnimatePresence as AnimatePresence4 } from "framer-motion";
4485
- import { jsx as jsx44, jsxs as jsxs26 } from "react/jsx-runtime";
4689
+ import { jsx as jsx44, jsxs as jsxs27 } from "react/jsx-runtime";
4486
4690
  function CalendarBase2({
4487
4691
  className,
4488
4692
  classNames,
@@ -4503,7 +4707,7 @@ function CalendarBase2({
4503
4707
  "div",
4504
4708
  {
4505
4709
  className: cn(
4506
- "rounded-2xl border bg-background p-4 shadow-lg overflow-hidden w-full h-full flex flex-col",
4710
+ "rounded-md border bg-background p-4 shadow-lg overflow-hidden w-full h-full flex flex-col",
4507
4711
  className
4508
4712
  ),
4509
4713
  children: /* @__PURE__ */ jsx44("div", { className: "relative flex-1 flex flex-col min-h-0", children: /* @__PURE__ */ jsx44(AnimatePresence4, { initial: false, mode: "wait", custom: direction, children: /* @__PURE__ */ jsx44(
@@ -4575,10 +4779,10 @@ CalendarBase2.displayName = "CalendarBase";
4575
4779
 
4576
4780
  // src/components/date-time-picker/DateTimePicker.tsx
4577
4781
  import { ptBR } from "date-fns/locale";
4578
- import { useEffect as useEffect7, useState as useState8 } from "react";
4782
+ import { useEffect as useEffect8, useState as useState9 } from "react";
4579
4783
 
4580
4784
  // src/components/date-time-picker/TimePicker.tsx
4581
- import { motion as motion6, AnimatePresence as AnimatePresence5 } from "framer-motion";
4785
+ import { motion as motion7, AnimatePresence as AnimatePresence5 } from "framer-motion";
4582
4786
  import * as React32 from "react";
4583
4787
 
4584
4788
  // src/components/date-time-picker/TimePickerInput.tsx
@@ -4725,7 +4929,7 @@ function display12HourValue(hours) {
4725
4929
  }
4726
4930
 
4727
4931
  // src/components/date-time-picker/TimePickerInput.tsx
4728
- import { jsx as jsx45, jsxs as jsxs27 } from "react/jsx-runtime";
4932
+ import { jsx as jsx45, jsxs as jsxs28 } from "react/jsx-runtime";
4729
4933
  var TimePickerInput = React31.forwardRef(
4730
4934
  ({
4731
4935
  className,
@@ -4812,7 +5016,7 @@ var TimePickerInput = React31.forwardRef(
4812
5016
  const baseLabel = getPickerLabel();
4813
5017
  return `${baseLabel}, valor atual: ${calculatedValue}.`;
4814
5018
  };
4815
- return /* @__PURE__ */ jsxs27("div", { className: "relative group flex flex-col items-center", children: [
5019
+ return /* @__PURE__ */ jsxs28("div", { className: "relative group flex flex-col items-center", children: [
4816
5020
  getPickerLabel() && /* @__PURE__ */ jsx45(
4817
5021
  "label",
4818
5022
  {
@@ -4821,7 +5025,7 @@ var TimePickerInput = React31.forwardRef(
4821
5025
  children: getPickerLabel()
4822
5026
  }
4823
5027
  ),
4824
- /* @__PURE__ */ jsxs27(
5028
+ /* @__PURE__ */ jsxs28(
4825
5029
  "div",
4826
5030
  {
4827
5031
  className: cn(
@@ -4848,7 +5052,7 @@ var TimePickerInput = React31.forwardRef(
4848
5052
  children: /* @__PURE__ */ jsx45(CaretUpIcon2, { size: 14, className: "sm:w-4 sm:h-4" })
4849
5053
  }
4850
5054
  ),
4851
- /* @__PURE__ */ jsxs27("div", { className: "relative", children: [
5055
+ /* @__PURE__ */ jsxs28("div", { className: "relative", children: [
4852
5056
  /* @__PURE__ */ jsx45(
4853
5057
  "input",
4854
5058
  {
@@ -4924,7 +5128,7 @@ var TimePickerInput = React31.forwardRef(
4924
5128
  TimePickerInput.displayName = "TimePickerInput";
4925
5129
 
4926
5130
  // src/components/date-time-picker/TimePicker.tsx
4927
- import { Fragment as Fragment4, jsx as jsx46, jsxs as jsxs28 } from "react/jsx-runtime";
5131
+ import { Fragment as Fragment4, jsx as jsx46, jsxs as jsxs29 } from "react/jsx-runtime";
4928
5132
  function TimePicker({
4929
5133
  date,
4930
5134
  setDate,
@@ -4949,8 +5153,8 @@ function TimePicker({
4949
5153
  hidden: { opacity: 0, y: 10 },
4950
5154
  visible: { opacity: 1, y: 0 }
4951
5155
  };
4952
- return /* @__PURE__ */ jsxs28(
4953
- motion6.div,
5156
+ return /* @__PURE__ */ jsxs29(
5157
+ motion7.div,
4954
5158
  {
4955
5159
  variants: containerVariants,
4956
5160
  initial: "hidden",
@@ -4958,7 +5162,7 @@ function TimePicker({
4958
5162
  className: "flex items-end justify-center gap-2 sm:gap-3 p-2 sm:p-3 md:p-4 rounded-lg bg-muted/20 border border-border/50 w-full max-w-full overflow-hidden",
4959
5163
  children: [
4960
5164
  /* @__PURE__ */ jsx46(
4961
- motion6.div,
5165
+ motion7.div,
4962
5166
  {
4963
5167
  variants: itemVariants2,
4964
5168
  className: "grid gap-1 sm:gap-2 text-center flex-shrink-0 min-w-0",
@@ -4976,7 +5180,7 @@ function TimePicker({
4976
5180
  }
4977
5181
  ),
4978
5182
  /* @__PURE__ */ jsx46(
4979
- motion6.div,
5183
+ motion7.div,
4980
5184
  {
4981
5185
  variants: itemVariants2,
4982
5186
  className: "grid gap-1 sm:gap-2 text-center flex-shrink-0 min-w-0",
@@ -4995,7 +5199,7 @@ function TimePicker({
4995
5199
  }
4996
5200
  ),
4997
5201
  /* @__PURE__ */ jsx46(AnimatePresence5, { children: !hideSeconds && /* @__PURE__ */ jsx46(Fragment4, { children: /* @__PURE__ */ jsx46(
4998
- motion6.div,
5202
+ motion7.div,
4999
5203
  {
5000
5204
  variants: itemVariants2,
5001
5205
  initial: "hidden",
@@ -5022,7 +5226,7 @@ function TimePicker({
5022
5226
 
5023
5227
  // src/components/date-time-picker/DateTimePicker.tsx
5024
5228
  import { CalendarBlankIcon, ClockIcon } from "@phosphor-icons/react";
5025
- import { jsx as jsx47, jsxs as jsxs29 } from "react/jsx-runtime";
5229
+ import { jsx as jsx47, jsxs as jsxs30 } from "react/jsx-runtime";
5026
5230
  function DateTimePicker({
5027
5231
  label,
5028
5232
  date,
@@ -5035,9 +5239,9 @@ function DateTimePicker({
5035
5239
  disabled,
5036
5240
  className
5037
5241
  }) {
5038
- const [internalDate, setInternalDate] = useState8(date);
5039
- const [open, setOpen] = useState8(false);
5040
- const [timePickerOpen, setTimePickerOpen] = useState8(false);
5242
+ const [internalDate, setInternalDate] = useState9(date);
5243
+ const [open, setOpen] = useState9(false);
5244
+ const [timePickerOpen, setTimePickerOpen] = useState9(false);
5041
5245
  const handleSelect = (newDay) => {
5042
5246
  if (!newDay) return;
5043
5247
  if (!internalDate) {
@@ -5066,22 +5270,21 @@ function DateTimePicker({
5066
5270
  if (!timeFormat) return "PPP";
5067
5271
  return `PPP - ${timeFormat}`;
5068
5272
  };
5069
- useEffect7(() => {
5273
+ useEffect8(() => {
5070
5274
  if (date) {
5071
5275
  setInternalDate(date);
5072
5276
  }
5073
5277
  }, [date, open]);
5074
- return /* @__PURE__ */ jsxs29("div", { className: cn("space-y-2 w-full sm:w-auto", className), children: [
5278
+ return /* @__PURE__ */ jsxs30("div", { className: cn("space-y-2 w-full sm:w-auto", className), children: [
5075
5279
  label && /* @__PURE__ */ jsx47(LabelBase_default, { children: label }),
5076
- /* @__PURE__ */ jsxs29(PopoverBase, { open, onOpenChange: setOpen, children: [
5077
- /* @__PURE__ */ jsx47(PopoverTriggerBase, { disabled, asChild: true, children: /* @__PURE__ */ jsxs29(
5280
+ /* @__PURE__ */ jsxs30(PopoverBase, { open, onOpenChange: setOpen, children: [
5281
+ /* @__PURE__ */ jsx47(PopoverTriggerBase, { disabled, asChild: true, children: /* @__PURE__ */ jsxs30(
5078
5282
  ButtonBase,
5079
5283
  {
5080
5284
  variant: "outline",
5081
- size: "lg",
5082
5285
  className: cn(
5083
5286
  "w-full justify-start text-left min-w-0 overflow-hidden",
5084
- "min-h-[44px] sm:min-h-[48px] px-3 sm:px-4",
5287
+ "",
5085
5288
  "text-sm sm:text-base",
5086
5289
  !date && "text-muted-foreground"
5087
5290
  ),
@@ -5100,7 +5303,7 @@ function DateTimePicker({
5100
5303
  side: "bottom",
5101
5304
  avoidCollisions: true,
5102
5305
  collisionPadding: 8,
5103
- children: /* @__PURE__ */ jsxs29("div", { className: "flex flex-col space-y-2 sm:space-y-3 p-2 sm:p-3 md:p-4 max-h-[calc(100vh-4rem)] overflow-y-auto", children: [
5306
+ children: /* @__PURE__ */ jsxs30("div", { className: "flex flex-col space-y-2 sm:space-y-3 p-2 sm:p-3 md:p-4 max-h-[calc(100vh-4rem)] overflow-y-auto", children: [
5104
5307
  /* @__PURE__ */ jsx47(
5105
5308
  CalendarBase2,
5106
5309
  {
@@ -5114,13 +5317,13 @@ function DateTimePicker({
5114
5317
  className: "w-full"
5115
5318
  }
5116
5319
  ),
5117
- !(hideHour && hideMinute) && /* @__PURE__ */ jsx47("div", { className: "flex justify-center w-full px-2", children: /* @__PURE__ */ jsxs29(
5320
+ !(hideHour && hideMinute) && /* @__PURE__ */ jsx47("div", { className: "flex justify-center w-full px-2", children: /* @__PURE__ */ jsxs30(
5118
5321
  PopoverBase,
5119
5322
  {
5120
5323
  open: timePickerOpen,
5121
5324
  onOpenChange: setTimePickerOpen,
5122
5325
  children: [
5123
- /* @__PURE__ */ jsx47(PopoverTriggerBase, { asChild: true, children: /* @__PURE__ */ jsxs29(
5326
+ /* @__PURE__ */ jsx47(PopoverTriggerBase, { asChild: true, children: /* @__PURE__ */ jsxs30(
5124
5327
  ButtonBase,
5125
5328
  {
5126
5329
  variant: "outline",
@@ -5130,13 +5333,13 @@ function DateTimePicker({
5130
5333
  "px-2 sm:px-3 py-1.5 sm:py-2",
5131
5334
  "text-sm sm:text-base font-semibold w-full max-w-xs",
5132
5335
  "border-2 border-primary/20 rounded-lg",
5133
- "bg-primary/5 hover:bg-primary/10 hover:border-primary/30",
5336
+ "bg-background hover:bg-primary/10 hover:border-primary/30",
5134
5337
  "transition-all duration-200",
5135
5338
  "shadow-sm hover:shadow-md active:scale-[0.98]",
5136
5339
  "min-h-[36px] sm:min-h-[40px]"
5137
5340
  ),
5138
5341
  children: [
5139
- /* @__PURE__ */ jsx47(ClockIcon, { className: "text-primary/70 flex-shrink-0 w-4 h-4 sm:w-5 sm:h-5" }),
5342
+ /* @__PURE__ */ jsx47(ClockIcon, { className: "text-primary flex-shrink-0 w-4 h-4 sm:w-5 sm:h-5" }),
5140
5343
  /* @__PURE__ */ jsx47("span", { className: "text-foreground truncate", children: internalDate ? format(internalDate, getTimeFormat() || "HH:mm", {
5141
5344
  locale: ptBR
5142
5345
  }) : "00:00" })
@@ -5152,7 +5355,7 @@ function DateTimePicker({
5152
5355
  sideOffset: 8,
5153
5356
  avoidCollisions: true,
5154
5357
  collisionPadding: 8,
5155
- children: /* @__PURE__ */ jsxs29("div", { className: "flex flex-col items-center space-y-2 sm:space-y-3", children: [
5358
+ children: /* @__PURE__ */ jsxs30("div", { className: "flex flex-col items-center space-y-2 sm:space-y-3", children: [
5156
5359
  /* @__PURE__ */ jsx47("h4", { className: "text-sm sm:text-base font-medium text-center", children: "Alterar Hor\xE1rio" }),
5157
5360
  /* @__PURE__ */ jsx47(
5158
5361
  TimePicker,
@@ -5186,7 +5389,7 @@ function DateTimePicker({
5186
5389
  }
5187
5390
 
5188
5391
  // src/components/selects/Select.tsx
5189
- import { Fragment as Fragment5, jsx as jsx48, jsxs as jsxs30 } from "react/jsx-runtime";
5392
+ import { Fragment as Fragment5, jsx as jsx48, jsxs as jsxs31 } from "react/jsx-runtime";
5190
5393
  function Select({
5191
5394
  items,
5192
5395
  groupItems,
@@ -5195,8 +5398,8 @@ function Select({
5195
5398
  errorMessage,
5196
5399
  testIds = {}
5197
5400
  }) {
5198
- return /* @__PURE__ */ jsxs30("div", { "data-testid": testIds.root ?? "select-root", children: [
5199
- /* @__PURE__ */ jsxs30(SelectBase, { onValueChange: onChange, "data-testid": testIds.base ?? "select-base", children: [
5401
+ return /* @__PURE__ */ jsxs31("div", { "data-testid": testIds.root ?? "select-root", children: [
5402
+ /* @__PURE__ */ jsxs31(SelectBase, { onValueChange: onChange, "data-testid": testIds.base ?? "select-base", children: [
5200
5403
  /* @__PURE__ */ jsx48(
5201
5404
  SelectTriggerBase,
5202
5405
  {
@@ -5214,7 +5417,7 @@ function Select({
5214
5417
  )
5215
5418
  }
5216
5419
  ),
5217
- /* @__PURE__ */ jsx48(ScrollAreaBase, { "data-testid": testIds.scrollarea ?? "select-scrollarea", children: /* @__PURE__ */ jsx48(SelectContentBase, { "data-testid": testIds.content ?? "select-content", children: groupItems ? /* @__PURE__ */ jsx48(Fragment5, { children: Object.keys(groupItems).map((key) => /* @__PURE__ */ jsxs30(SelectGroupBase, { "data-testid": testIds.group ?? "select-group", children: [
5420
+ /* @__PURE__ */ jsx48(ScrollAreaBase, { "data-testid": testIds.scrollarea ?? "select-scrollarea", children: /* @__PURE__ */ jsx48(SelectContentBase, { "data-testid": testIds.content ?? "select-content", children: groupItems ? /* @__PURE__ */ jsx48(Fragment5, { children: Object.keys(groupItems).map((key) => /* @__PURE__ */ jsxs31(SelectGroupBase, { "data-testid": testIds.group ?? "select-group", children: [
5218
5421
  /* @__PURE__ */ jsx48(SelectLabelBase, { "data-testid": testIds.label ?? "select-label", children: key }),
5219
5422
  groupItems[key].map((item) => /* @__PURE__ */ jsx48(
5220
5423
  SelectItemBase,
@@ -5248,11 +5451,11 @@ function Select({
5248
5451
 
5249
5452
  // src/components/charts/Chart.tsx
5250
5453
  import {
5251
- useState as useState11,
5252
- useEffect as useEffect10,
5454
+ useState as useState12,
5455
+ useEffect as useEffect11,
5253
5456
  useCallback as useCallback7,
5254
5457
  useMemo as useMemo6,
5255
- useRef as useRef4,
5458
+ useRef as useRef5,
5256
5459
  useLayoutEffect
5257
5460
  } from "react";
5258
5461
  import {
@@ -5415,11 +5618,11 @@ var resolveChartMargins = (margins, chartMargins, showLabels) => {
5415
5618
  import { toast as toast2 } from "sonner";
5416
5619
 
5417
5620
  // src/components/charts/components/controls/PeriodsDropdown.tsx
5418
- import { useState as useState9, useRef as useRef2, useEffect as useEffect8 } from "react";
5419
- import { motion as motion7, AnimatePresence as AnimatePresence6 } from "framer-motion";
5621
+ import { useState as useState10, useRef as useRef3, useEffect as useEffect9 } from "react";
5622
+ import { motion as motion8, AnimatePresence as AnimatePresence6 } from "framer-motion";
5420
5623
  import { DotsThreeIcon as DotsThreeIcon2 } from "@phosphor-icons/react/dist/ssr";
5421
5624
  import { Check } from "@phosphor-icons/react/dist/ssr";
5422
- import { jsx as jsx49, jsxs as jsxs31 } from "react/jsx-runtime";
5625
+ import { jsx as jsx49, jsxs as jsxs32 } from "react/jsx-runtime";
5423
5626
  var menuVariants = {
5424
5627
  hidden: { opacity: 0, y: -6, scale: 0.98 },
5425
5628
  visible: { opacity: 1, y: 0, scale: 1 },
@@ -5438,11 +5641,11 @@ function PeriodsDropdown({
5438
5641
  activePeriods
5439
5642
  }) {
5440
5643
  const periods = processedData.map((d) => String(d.name));
5441
- const [open, setOpen] = useState9(false);
5442
- const wrapperRef = useRef2(null);
5443
- const firstItemRef = useRef2(null);
5444
- const listRef = useRef2(null);
5445
- useEffect8(() => {
5644
+ const [open, setOpen] = useState10(false);
5645
+ const wrapperRef = useRef3(null);
5646
+ const firstItemRef = useRef3(null);
5647
+ const listRef = useRef3(null);
5648
+ useEffect9(() => {
5446
5649
  const handleClickOutside = (e) => {
5447
5650
  if (!wrapperRef.current) return;
5448
5651
  if (!wrapperRef.current.contains(e.target)) setOpen(false);
@@ -5457,7 +5660,7 @@ function PeriodsDropdown({
5457
5660
  document.removeEventListener("keydown", handleEscape);
5458
5661
  };
5459
5662
  }, []);
5460
- useEffect8(() => {
5663
+ useEffect9(() => {
5461
5664
  if (open && firstItemRef.current) {
5462
5665
  firstItemRef.current.focus();
5463
5666
  }
@@ -5467,8 +5670,8 @@ function PeriodsDropdown({
5467
5670
  setOpen(false);
5468
5671
  }
5469
5672
  const containerStyle = typeof rightOffset === "number" ? { position: "relative", zIndex: 30 } : { position: "relative", zIndex: 30 };
5470
- return /* @__PURE__ */ jsxs31("div", { ref: wrapperRef, style: containerStyle, className: "mr-4", children: [
5471
- /* @__PURE__ */ jsxs31(
5673
+ return /* @__PURE__ */ jsxs32("div", { ref: wrapperRef, style: containerStyle, className: "mr-4", children: [
5674
+ /* @__PURE__ */ jsxs32(
5472
5675
  "button",
5473
5676
  {
5474
5677
  className: "relative p-2.5 rounded-md hover:bg-accent/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-accent/50 transition flex items-center justify-center",
@@ -5491,8 +5694,8 @@ function PeriodsDropdown({
5491
5694
  ]
5492
5695
  }
5493
5696
  ),
5494
- /* @__PURE__ */ jsx49(AnimatePresence6, { children: open && /* @__PURE__ */ jsxs31(
5495
- motion7.div,
5697
+ /* @__PURE__ */ jsx49(AnimatePresence6, { children: open && /* @__PURE__ */ jsxs32(
5698
+ motion8.div,
5496
5699
  {
5497
5700
  initial: "hidden",
5498
5701
  animate: "visible",
@@ -5520,8 +5723,8 @@ function PeriodsDropdown({
5520
5723
  ref: listRef,
5521
5724
  className: "flex flex-col p-2 gap-1",
5522
5725
  style: { maxHeight: 200, overflowY: "auto" },
5523
- children: periods.map((p, idx) => /* @__PURE__ */ jsxs31(
5524
- motion7.button,
5726
+ children: periods.map((p, idx) => /* @__PURE__ */ jsxs32(
5727
+ motion8.button,
5525
5728
  {
5526
5729
  className: "flex items-center justify-between w-full text-left px-3 py-2.5 rounded focus:outline-none transition-colors " + (activePeriods && activePeriods.includes(p) || p === activePeriod ? "bg-accent/10 font-medium" : "hover:bg-accent/15 focus-visible:ring-2 focus-visible:ring-accent/30"),
5527
5730
  variants: itemVariants,
@@ -5549,9 +5752,9 @@ function PeriodsDropdown({
5549
5752
  var PeriodsDropdown_default = PeriodsDropdown;
5550
5753
 
5551
5754
  // src/components/charts/components/controls/ShowOnly.tsx
5552
- import { motion as motion8 } from "framer-motion";
5755
+ import { motion as motion9 } from "framer-motion";
5553
5756
  import { Eye, EyeSlash } from "@phosphor-icons/react";
5554
- import { Fragment as Fragment6, jsx as jsx50, jsxs as jsxs32 } from "react/jsx-runtime";
5757
+ import { Fragment as Fragment6, jsx as jsx50, jsxs as jsxs33 } from "react/jsx-runtime";
5555
5758
  var ShowOnly = ({
5556
5759
  showOnlyHighlighted,
5557
5760
  setShowOnlyHighlighted,
@@ -5560,7 +5763,7 @@ var ShowOnly = ({
5560
5763
  const hasHighlights = highlightedSeriesSize > 0;
5561
5764
  if (!hasHighlights) return null;
5562
5765
  return /* @__PURE__ */ jsx50("div", { className: "ml-auto flex items-center gap-2", children: /* @__PURE__ */ jsx50(
5563
- motion8.div,
5766
+ motion9.div,
5564
5767
  {
5565
5768
  whileTap: { scale: hasHighlights ? 0.985 : 1 },
5566
5769
  whileHover: { y: hasHighlights ? -2 : 0 },
@@ -5578,10 +5781,10 @@ var ShowOnly = ({
5578
5781
  "focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary/60",
5579
5782
  !hasHighlights ? "opacity-60 cursor-not-allowed pointer-events-none" : showOnlyHighlighted ? "bg-primary/10 text-primary shadow-sm border border-primary/20" : "bg-transparent text-muted-foreground border border-transparent hover:bg-muted/10 hover:text-foreground"
5580
5783
  ),
5581
- children: showOnlyHighlighted ? /* @__PURE__ */ jsxs32(Fragment6, { children: [
5784
+ children: showOnlyHighlighted ? /* @__PURE__ */ jsxs33(Fragment6, { children: [
5582
5785
  /* @__PURE__ */ jsx50(EyeSlash, { size: 16, weight: "regular" }),
5583
5786
  /* @__PURE__ */ jsx50("span", { className: "sr-only", children: "Exibir todos" })
5584
- ] }) : /* @__PURE__ */ jsxs32(Fragment6, { children: [
5787
+ ] }) : /* @__PURE__ */ jsxs33(Fragment6, { children: [
5585
5788
  /* @__PURE__ */ jsx50(Eye, { size: 16, weight: "bold" }),
5586
5789
  /* @__PURE__ */ jsx50("span", { className: "sr-only", children: "Mostrar somente destacados" })
5587
5790
  ] })
@@ -5593,9 +5796,9 @@ var ShowOnly = ({
5593
5796
  var ShowOnly_default = ShowOnly;
5594
5797
 
5595
5798
  // src/components/charts/components/controls/Highlights.tsx
5596
- import { motion as motion9, AnimatePresence as AnimatePresence7 } from "framer-motion";
5799
+ import { motion as motion10, AnimatePresence as AnimatePresence7 } from "framer-motion";
5597
5800
  import { CheckIcon as CheckIcon7 } from "@phosphor-icons/react/dist/ssr";
5598
- import { jsx as jsx51, jsxs as jsxs33 } from "react/jsx-runtime";
5801
+ import { jsx as jsx51, jsxs as jsxs34 } from "react/jsx-runtime";
5599
5802
  var Highlights = ({
5600
5803
  allKeys,
5601
5804
  mapperConfig,
@@ -5614,7 +5817,7 @@ var Highlights = ({
5614
5817
  visible: { opacity: 1, transition: { staggerChildren: 0.03 } }
5615
5818
  };
5616
5819
  return /* @__PURE__ */ jsx51(
5617
- motion9.div,
5820
+ motion10.div,
5618
5821
  {
5619
5822
  className: "flex-1 flex items-center gap-2 flex-wrap",
5620
5823
  initial: "hidden",
@@ -5630,7 +5833,7 @@ var Highlights = ({
5630
5833
  isHighlighted ? "bg-card/95 border-2 text-foreground shadow-[0_6px_18px_rgba(0,0,0,0.12)]" : "bg-muted/10 border-border text-muted-foreground hover:bg-muted/5"
5631
5834
  );
5632
5835
  return /* @__PURE__ */ jsx51(
5633
- motion9.div,
5836
+ motion10.div,
5634
5837
  {
5635
5838
  layout: true,
5636
5839
  initial: "hidden",
@@ -5646,8 +5849,8 @@ var Highlights = ({
5646
5849
  className: pillClasses,
5647
5850
  style: { minWidth: showFullLabel ? void 0 : 36 },
5648
5851
  "aria-pressed": isHighlighted,
5649
- children: /* @__PURE__ */ jsxs33(
5650
- motion9.button,
5852
+ children: /* @__PURE__ */ jsxs34(
5853
+ motion10.button,
5651
5854
  {
5652
5855
  whileHover: { scale: isHighlighted ? 1.04 : 1.03 },
5653
5856
  whileTap: { scale: 0.96 },
@@ -5655,7 +5858,7 @@ var Highlights = ({
5655
5858
  className: "flex items-center gap-2 min-w-0 pr-2",
5656
5859
  children: [
5657
5860
  /* @__PURE__ */ jsx51(
5658
- motion9.span,
5861
+ motion10.span,
5659
5862
  {
5660
5863
  className: cn("w-3 h-3 rounded-sm flex-shrink-0 border"),
5661
5864
  style: {
@@ -5669,8 +5872,8 @@ var Highlights = ({
5669
5872
  transition: { type: "spring", stiffness: 400, damping: 30 }
5670
5873
  }
5671
5874
  ),
5672
- showFullLabel ? /* @__PURE__ */ jsx51(motion9.span, { className: "truncate max-w-[10rem] pr-2", layout: true, children: label }) : showShortLabel ? /* @__PURE__ */ jsx51(
5673
- motion9.span,
5875
+ showFullLabel ? /* @__PURE__ */ jsx51(motion10.span, { className: "truncate max-w-[10rem] pr-2", layout: true, children: label }) : showShortLabel ? /* @__PURE__ */ jsx51(
5876
+ motion10.span,
5674
5877
  {
5675
5878
  className: "truncate max-w-[6rem] text-xs pr-2",
5676
5879
  layout: true,
@@ -5678,7 +5881,7 @@ var Highlights = ({
5678
5881
  }
5679
5882
  ) : null,
5680
5883
  /* @__PURE__ */ jsx51(
5681
- motion9.span,
5884
+ motion10.span,
5682
5885
  {
5683
5886
  "aria-hidden": true,
5684
5887
  initial: { opacity: 0, scale: 0.6 },
@@ -5708,7 +5911,7 @@ var Highlights_default = Highlights;
5708
5911
 
5709
5912
  // src/components/charts/components/controls/CloseAllButton.tsx
5710
5913
  import { XIcon as XIcon5 } from "@phosphor-icons/react/dist/ssr";
5711
- import { jsx as jsx52, jsxs as jsxs34 } from "react/jsx-runtime";
5914
+ import { jsx as jsx52, jsxs as jsxs35 } from "react/jsx-runtime";
5712
5915
  var CloseAllButton = ({
5713
5916
  count,
5714
5917
  onCloseAll,
@@ -5744,7 +5947,7 @@ var CloseAllButton = ({
5744
5947
  `;
5745
5948
  };
5746
5949
  if (variant === "inline") {
5747
- return /* @__PURE__ */ jsx52("div", { className: "absolute top-4 right-4 z-30", children: /* @__PURE__ */ jsxs34(
5950
+ return /* @__PURE__ */ jsx52("div", { className: "absolute top-4 right-4 z-30", children: /* @__PURE__ */ jsxs35(
5748
5951
  ButtonBase,
5749
5952
  {
5750
5953
  variant: "ghost",
@@ -5762,7 +5965,7 @@ var CloseAllButton = ({
5762
5965
  "div",
5763
5966
  {
5764
5967
  className: `${getPositionClasses()} animate-in fade-in slide-in-from-top-2 duration-300`,
5765
- children: /* @__PURE__ */ jsx52("div", { children: /* @__PURE__ */ jsxs34(
5968
+ children: /* @__PURE__ */ jsx52("div", { children: /* @__PURE__ */ jsxs35(
5766
5969
  ButtonBase,
5767
5970
  {
5768
5971
  onClick: onCloseAll,
@@ -5788,16 +5991,16 @@ var CloseAllButton_default = CloseAllButton;
5788
5991
 
5789
5992
  // src/components/charts/components/tooltips/DraggableTooltip.tsx
5790
5993
  import React34, {
5791
- useEffect as useEffect9,
5792
- useRef as useRef3,
5793
- useState as useState10,
5994
+ useEffect as useEffect10,
5995
+ useRef as useRef4,
5996
+ useState as useState11,
5794
5997
  useCallback as useCallback6,
5795
5998
  useMemo as useMemo5
5796
5999
  } from "react";
5797
- import { motion as motion10, AnimatePresence as AnimatePresence8 } from "framer-motion";
6000
+ import { motion as motion11, AnimatePresence as AnimatePresence8 } from "framer-motion";
5798
6001
  import { DotsSixVerticalIcon } from "@phosphor-icons/react";
5799
6002
  import { XIcon as XIcon6 } from "@phosphor-icons/react/dist/ssr";
5800
- import { Fragment as Fragment7, jsx as jsx53, jsxs as jsxs35 } from "react/jsx-runtime";
6003
+ import { Fragment as Fragment7, jsx as jsx53, jsxs as jsxs36 } from "react/jsx-runtime";
5801
6004
  var ALIGNMENT_THRESHOLD = 25;
5802
6005
  var GUIDE_THRESHOLD = 60;
5803
6006
  var STRONG_SNAP_THRESHOLD = 35;
@@ -5882,7 +6085,7 @@ var DraggableTooltipComponent = ({
5882
6085
  const numeric = visibleKeys2.map((k) => data2[k]).filter((v) => typeof v === "number");
5883
6086
  return numeric.reduce((s, v) => s + (v || 0), 0);
5884
6087
  }, [data2, visibleKeys2]);
5885
- return /* @__PURE__ */ jsxs35("div", { className: "text-sm", children: [
6088
+ return /* @__PURE__ */ jsxs36("div", { className: "text-sm", children: [
5886
6089
  /* @__PURE__ */ jsx53("div", { className: "text-sm text-muted-foreground", children: "Total" }),
5887
6090
  /* @__PURE__ */ jsx53(
5888
6091
  "div",
@@ -5894,13 +6097,13 @@ var DraggableTooltipComponent = ({
5894
6097
  ] });
5895
6098
  }
5896
6099
  );
5897
- const [localPos, setLocalPos] = useState10(position);
5898
- const [dragging, setDragging] = useState10(false);
5899
- const offsetRef = useRef3({ x: 0, y: 0 });
5900
- const lastMouse = useRef3({ x: 0, y: 0 });
5901
- const [alignmentGuides, setAlignmentGuides] = useState10([]);
5902
- const [globalTooltipCountLocal, setGlobalTooltipCountLocal] = useState10(0);
5903
- useEffect9(() => setLocalPos(position), [position]);
6100
+ const [localPos, setLocalPos] = useState11(position);
6101
+ const [dragging, setDragging] = useState11(false);
6102
+ const offsetRef = useRef4({ x: 0, y: 0 });
6103
+ const lastMouse = useRef4({ x: 0, y: 0 });
6104
+ const [alignmentGuides, setAlignmentGuides] = useState11([]);
6105
+ const [globalTooltipCountLocal, setGlobalTooltipCountLocal] = useState11(0);
6106
+ useEffect10(() => setLocalPos(position), [position]);
5904
6107
  const getAllTooltips = useCallback6(() => {
5905
6108
  const response = [];
5906
6109
  const ev = new CustomEvent("requestGlobalTooltips", {
@@ -6005,7 +6208,7 @@ var DraggableTooltipComponent = ({
6005
6208
  },
6006
6209
  [alignmentGuides]
6007
6210
  );
6008
- useEffect9(() => {
6211
+ useEffect10(() => {
6009
6212
  let rafId = null;
6010
6213
  const handleMouseMove = (e) => {
6011
6214
  if (!dragging) return;
@@ -6047,7 +6250,7 @@ var DraggableTooltipComponent = ({
6047
6250
  document.body.style.userSelect = "";
6048
6251
  };
6049
6252
  }, [dragging, snapToGuides, updateAlignmentGuides, id, onPositionChange]);
6050
- useEffect9(() => {
6253
+ useEffect10(() => {
6051
6254
  const handleCloseAll = () => onClose(id);
6052
6255
  const handleRequestTooltipCount = () => {
6053
6256
  window.dispatchEvent(
@@ -6078,7 +6281,7 @@ var DraggableTooltipComponent = ({
6078
6281
  });
6079
6282
  };
6080
6283
  }, [id, localPos, onClose]);
6081
- useEffect9(() => {
6284
+ useEffect10(() => {
6082
6285
  if (dragging) return;
6083
6286
  let total = 0;
6084
6287
  const timeoutId = setTimeout(() => {
@@ -6096,7 +6299,7 @@ var DraggableTooltipComponent = ({
6096
6299
  }, 0);
6097
6300
  return () => clearTimeout(timeoutId);
6098
6301
  }, [localPos, dragging]);
6099
- useEffect9(() => {
6302
+ useEffect10(() => {
6100
6303
  const recount = () => {
6101
6304
  if (dragging) return;
6102
6305
  let total = 0;
@@ -6147,7 +6350,7 @@ var DraggableTooltipComponent = ({
6147
6350
  },
6148
6351
  [id, onClose]
6149
6352
  );
6150
- return /* @__PURE__ */ jsxs35(Fragment7, { children: [
6353
+ return /* @__PURE__ */ jsxs36(Fragment7, { children: [
6151
6354
  dragging && alignmentGuides.map((guide, index) => {
6152
6355
  const isHorizontal = guide.type === "horizontal";
6153
6356
  const color = isHorizontal ? "#3b82f6" : "#ef4444";
@@ -6167,9 +6370,9 @@ var DraggableTooltipComponent = ({
6167
6370
  guide.sourceTooltip.top + guide.sourceTooltip.height / 2,
6168
6371
  guide.targetTooltip.top + guide.targetTooltip.height / 2
6169
6372
  );
6170
- return /* @__PURE__ */ jsxs35("div", { children: [
6373
+ return /* @__PURE__ */ jsxs36("div", { children: [
6171
6374
  /* @__PURE__ */ jsx53(
6172
- motion10.div,
6375
+ motion11.div,
6173
6376
  {
6174
6377
  className: "fixed pointer-events-none z-30",
6175
6378
  variants: guideVariants,
@@ -6191,7 +6394,7 @@ var DraggableTooltipComponent = ({
6191
6394
  }
6192
6395
  ),
6193
6396
  /* @__PURE__ */ jsx53(
6194
- motion10.div,
6397
+ motion11.div,
6195
6398
  {
6196
6399
  className: "fixed pointer-events-none z-31",
6197
6400
  variants: guideDotVariants,
@@ -6210,7 +6413,7 @@ var DraggableTooltipComponent = ({
6210
6413
  }
6211
6414
  ),
6212
6415
  /* @__PURE__ */ jsx53(
6213
- motion10.div,
6416
+ motion11.div,
6214
6417
  {
6215
6418
  className: "fixed pointer-events-none z-31",
6216
6419
  variants: guideDotVariants,
@@ -6230,8 +6433,8 @@ var DraggableTooltipComponent = ({
6230
6433
  )
6231
6434
  ] }, index);
6232
6435
  }),
6233
- /* @__PURE__ */ jsx53(AnimatePresence8, { children: /* @__PURE__ */ jsxs35(
6234
- motion10.div,
6436
+ /* @__PURE__ */ jsx53(AnimatePresence8, { children: /* @__PURE__ */ jsxs36(
6437
+ motion11.div,
6235
6438
  {
6236
6439
  className: "fixed bg-card border border-border rounded-lg shadow-lg z-50 min-w-80 select-none",
6237
6440
  variants: tooltipVariants,
@@ -6248,7 +6451,7 @@ var DraggableTooltipComponent = ({
6248
6451
  role: "dialog",
6249
6452
  "aria-label": title ? `Tooltip ${title}` : `Tooltip ${data.name}`,
6250
6453
  children: [
6251
- /* @__PURE__ */ jsxs35(
6454
+ /* @__PURE__ */ jsxs36(
6252
6455
  "div",
6253
6456
  {
6254
6457
  className: "flex items-center justify-between p-3 pb-2 border-b bg-muted/20 rounded-t-lg",
@@ -6270,14 +6473,14 @@ var DraggableTooltipComponent = ({
6270
6473
  ]
6271
6474
  }
6272
6475
  ),
6273
- /* @__PURE__ */ jsx53("div", { className: "px-3 py-2 bg-accent/5 border-l-4 border-primary", children: /* @__PURE__ */ jsxs35("div", { className: "flex items-center justify-between gap-2", children: [
6274
- /* @__PURE__ */ jsxs35("div", { children: [
6476
+ /* @__PURE__ */ jsx53("div", { className: "px-3 py-2 bg-accent/5 border-l-4 border-primary", children: /* @__PURE__ */ jsxs36("div", { className: "flex items-center justify-between gap-2", children: [
6477
+ /* @__PURE__ */ jsxs36("div", { children: [
6275
6478
  /* @__PURE__ */ jsx53("span", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide", children: periodLabel }),
6276
6479
  /* @__PURE__ */ jsx53("p", { className: "font-bold text-lg text-foreground mt-1 truncate", children: data.name })
6277
6480
  ] }),
6278
6481
  /* @__PURE__ */ jsx53("div", { className: "text-right", children: /* @__PURE__ */ jsx53(TotalDisplay, { data, visibleKeys }) })
6279
6482
  ] }) }),
6280
- /* @__PURE__ */ jsxs35("div", { className: "p-3 pt-2 space-y-2", children: [
6483
+ /* @__PURE__ */ jsxs36("div", { className: "p-3 pt-2 space-y-2", children: [
6281
6484
  /* @__PURE__ */ jsx53("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-2", children: dataLabel }),
6282
6485
  useMemo5(
6283
6486
  () => visibleKeys.map((key) => {
@@ -6294,7 +6497,7 @@ var DraggableTooltipComponent = ({
6294
6497
  const pct = absDenominator > 0 ? Math.abs(val) / absDenominator * 100 : 0;
6295
6498
  const isDimmed = highlightedSeries && highlightedSeries.size > 0 && !highlightedSeries.has(key);
6296
6499
  const isHighlighted = highlightedSeries && highlightedSeries.has(key);
6297
- return /* @__PURE__ */ jsxs35(
6500
+ return /* @__PURE__ */ jsxs36(
6298
6501
  "div",
6299
6502
  {
6300
6503
  role: "button",
@@ -6312,8 +6515,8 @@ var DraggableTooltipComponent = ({
6312
6515
  border: isHighlighted ? `1px solid ${finalColors[key] || "#666"}22` : void 0
6313
6516
  },
6314
6517
  children: [
6315
- /* @__PURE__ */ jsxs35("div", { className: "flex items-center justify-between", children: [
6316
- /* @__PURE__ */ jsxs35("div", { className: "flex items-center gap-2", children: [
6518
+ /* @__PURE__ */ jsxs36("div", { className: "flex items-center justify-between", children: [
6519
+ /* @__PURE__ */ jsxs36("div", { className: "flex items-center gap-2", children: [
6317
6520
  /* @__PURE__ */ jsx53(
6318
6521
  "div",
6319
6522
  {
@@ -6331,7 +6534,7 @@ var DraggableTooltipComponent = ({
6331
6534
  }
6332
6535
  )
6333
6536
  ] }),
6334
- /* @__PURE__ */ jsxs35("div", { className: "flex items-baseline gap-2", children: [
6537
+ /* @__PURE__ */ jsxs36("div", { className: "flex items-baseline gap-2", children: [
6335
6538
  /* @__PURE__ */ jsx53(
6336
6539
  "span",
6337
6540
  {
@@ -6368,7 +6571,7 @@ var DraggableTooltipComponent = ({
6368
6571
  finalColors
6369
6572
  ]
6370
6573
  ),
6371
- /* @__PURE__ */ jsx53("div", { className: "mt-3 pt-2 border-t", children: /* @__PURE__ */ jsxs35("p", { className: "text-xs text-muted-foreground flex items-center gap-1", children: [
6574
+ /* @__PURE__ */ jsx53("div", { className: "mt-3 pt-2 border-t", children: /* @__PURE__ */ jsxs36("p", { className: "text-xs text-muted-foreground flex items-center gap-1", children: [
6372
6575
  "Clique no ",
6373
6576
  /* @__PURE__ */ jsx53(XIcon6, { size: 12 }),
6374
6577
  " para remover"
@@ -6394,7 +6597,7 @@ DraggableTooltip.displayName = "DraggableTooltip";
6394
6597
  var DraggableTooltip_default = DraggableTooltip;
6395
6598
 
6396
6599
  // src/components/charts/components/tooltips/TooltipWithTotal.tsx
6397
- import { jsx as jsx54, jsxs as jsxs36 } from "react/jsx-runtime";
6600
+ import { jsx as jsx54, jsxs as jsxs37 } from "react/jsx-runtime";
6398
6601
  var RechartTooltipWithTotal = ({
6399
6602
  active,
6400
6603
  payload,
@@ -6413,7 +6616,7 @@ var RechartTooltipWithTotal = ({
6413
6616
  (sum, p) => sum + Math.abs(typeof p.value === "number" ? p.value : 0),
6414
6617
  0
6415
6618
  );
6416
- return /* @__PURE__ */ jsxs36(
6619
+ return /* @__PURE__ */ jsxs37(
6417
6620
  "div",
6418
6621
  {
6419
6622
  role: "dialog",
@@ -6421,12 +6624,12 @@ var RechartTooltipWithTotal = ({
6421
6624
  className: "bg-card border border-border rounded-lg p-3 shadow-2xl max-w-xs",
6422
6625
  style: { minWidth: 220 },
6423
6626
  children: [
6424
- /* @__PURE__ */ jsxs36("div", { className: "flex items-start justify-between mb-2", children: [
6425
- /* @__PURE__ */ jsxs36("div", { className: "pr-2", children: [
6627
+ /* @__PURE__ */ jsxs37("div", { className: "flex items-start justify-between mb-2", children: [
6628
+ /* @__PURE__ */ jsxs37("div", { className: "pr-2", children: [
6426
6629
  /* @__PURE__ */ jsx54("p", { className: "text-xs text-muted-foreground", children: periodLabel }),
6427
6630
  /* @__PURE__ */ jsx54("p", { className: "font-medium text-foreground truncate", children: label })
6428
6631
  ] }),
6429
- /* @__PURE__ */ jsxs36("div", { className: "text-right ml-3", children: [
6632
+ /* @__PURE__ */ jsxs37("div", { className: "text-right ml-3", children: [
6430
6633
  /* @__PURE__ */ jsx54("p", { className: "text-xs text-muted-foreground", children: totalLabel }),
6431
6634
  /* @__PURE__ */ jsx54(
6432
6635
  "p",
@@ -6442,9 +6645,9 @@ var RechartTooltipWithTotal = ({
6442
6645
  const pct = absDenominator > 0 ? Math.abs(value) / absDenominator * 100 : 0;
6443
6646
  const baseColor = finalColors[entry.dataKey] || entry.color || "#999";
6444
6647
  const isNeg = value < 0;
6445
- return /* @__PURE__ */ jsxs36("div", { className: "flex flex-col gap-1", children: [
6446
- /* @__PURE__ */ jsxs36("div", { className: "flex items-center justify-between text-sm", children: [
6447
- /* @__PURE__ */ jsxs36("div", { className: "flex items-center gap-2 truncate", children: [
6648
+ return /* @__PURE__ */ jsxs37("div", { className: "flex flex-col gap-1", children: [
6649
+ /* @__PURE__ */ jsxs37("div", { className: "flex items-center justify-between text-sm", children: [
6650
+ /* @__PURE__ */ jsxs37("div", { className: "flex items-center gap-2 truncate", children: [
6448
6651
  /* @__PURE__ */ jsx54(
6449
6652
  "span",
6450
6653
  {
@@ -6455,7 +6658,7 @@ var RechartTooltipWithTotal = ({
6455
6658
  ),
6456
6659
  /* @__PURE__ */ jsx54("span", { className: "text-muted-foreground truncate", children: entry.name })
6457
6660
  ] }),
6458
- /* @__PURE__ */ jsxs36("div", { className: "flex items-baseline gap-3 ml-3", children: [
6661
+ /* @__PURE__ */ jsxs37("div", { className: "flex items-baseline gap-3 ml-3", children: [
6459
6662
  /* @__PURE__ */ jsx54(
6460
6663
  "span",
6461
6664
  {
@@ -6485,7 +6688,7 @@ var RechartTooltipWithTotal = ({
6485
6688
  var TooltipWithTotal_default = RechartTooltipWithTotal;
6486
6689
 
6487
6690
  // src/components/charts/components/tooltips/TooltipSimple.tsx
6488
- import { jsx as jsx55, jsxs as jsxs37 } from "react/jsx-runtime";
6691
+ import { jsx as jsx55, jsxs as jsxs38 } from "react/jsx-runtime";
6489
6692
  var TooltipSimple = ({
6490
6693
  active,
6491
6694
  payload,
@@ -6494,7 +6697,7 @@ var TooltipSimple = ({
6494
6697
  periodLabel = "Per\xEDodo"
6495
6698
  }) => {
6496
6699
  if (!active || !payload || payload.length === 0) return null;
6497
- return /* @__PURE__ */ jsxs37(
6700
+ return /* @__PURE__ */ jsxs38(
6498
6701
  "div",
6499
6702
  {
6500
6703
  role: "dialog",
@@ -6502,19 +6705,19 @@ var TooltipSimple = ({
6502
6705
  className: "bg-card border border-border rounded-lg p-3 shadow-2xl max-w-[280px]",
6503
6706
  style: { minWidth: 220 },
6504
6707
  children: [
6505
- /* @__PURE__ */ jsx55("div", { className: "mb-2", children: /* @__PURE__ */ jsx55("div", { className: "flex items-center justify-between gap-3", children: /* @__PURE__ */ jsxs37("div", { className: "min-w-0", children: [
6708
+ /* @__PURE__ */ jsx55("div", { className: "mb-2", children: /* @__PURE__ */ jsx55("div", { className: "flex items-center justify-between gap-3", children: /* @__PURE__ */ jsxs38("div", { className: "min-w-0", children: [
6506
6709
  /* @__PURE__ */ jsx55("p", { className: "text-xs text-muted-foreground", children: periodLabel }),
6507
6710
  /* @__PURE__ */ jsx55("p", { className: "font-medium text-foreground truncate", children: label })
6508
6711
  ] }) }) }),
6509
6712
  /* @__PURE__ */ jsx55("div", { className: "divide-y divide-border rounded-md overflow-hidden", children: payload.map((entry, index) => {
6510
6713
  const value = typeof entry.value === "number" ? entry.value : 0;
6511
6714
  const color = finalColors[entry.dataKey] || entry.color || "#999";
6512
- return /* @__PURE__ */ jsxs37(
6715
+ return /* @__PURE__ */ jsxs38(
6513
6716
  "div",
6514
6717
  {
6515
6718
  className: "flex items-center justify-between text-sm px-2 py-2 bg-card/0 hover:bg-muted transition-colors",
6516
6719
  children: [
6517
- /* @__PURE__ */ jsxs37("div", { className: "flex items-center gap-3 min-w-0", children: [
6720
+ /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-3 min-w-0", children: [
6518
6721
  /* @__PURE__ */ jsx55(
6519
6722
  "span",
6520
6723
  {
@@ -6544,7 +6747,7 @@ var TooltipSimple = ({
6544
6747
  var TooltipSimple_default = TooltipSimple;
6545
6748
 
6546
6749
  // src/components/charts/utils/pillLabelRenderer.tsx
6547
- import { jsx as jsx56, jsxs as jsxs38 } from "react/jsx-runtime";
6750
+ import { jsx as jsx56, jsxs as jsxs39 } from "react/jsx-runtime";
6548
6751
  var formatCompactNumber = (value) => {
6549
6752
  const isNegative = value < 0;
6550
6753
  const absValue = Math.abs(value);
@@ -6625,7 +6828,7 @@ var renderPillLabel = (color, variant) => {
6625
6828
  textColor = "#374151";
6626
6829
  }
6627
6830
  }
6628
- return /* @__PURE__ */ jsxs38("g", { children: [
6831
+ return /* @__PURE__ */ jsxs39("g", { children: [
6629
6832
  /* @__PURE__ */ jsx56(
6630
6833
  "rect",
6631
6834
  {
@@ -6659,7 +6862,7 @@ var renderPillLabel = (color, variant) => {
6659
6862
  var pillLabelRenderer_default = renderPillLabel;
6660
6863
 
6661
6864
  // src/components/charts/Chart.tsx
6662
- import { jsx as jsx57, jsxs as jsxs39 } from "react/jsx-runtime";
6865
+ import { jsx as jsx57, jsxs as jsxs40 } from "react/jsx-runtime";
6663
6866
  var DEFAULT_COLORS = ["#55af7d", "#8e68ff", "#2273e1"];
6664
6867
  var Chart = ({
6665
6868
  data,
@@ -6709,12 +6912,12 @@ var Chart = ({
6709
6912
  return { xAxisConfig: xAxisConfig2, mapperConfig: mapperConfig2 };
6710
6913
  }, [data, xAxis, labelMap]);
6711
6914
  const { xAxisConfig, mapperConfig } = smartConfig;
6712
- const [activeTooltips, setActiveTooltips] = useState11([]);
6713
- const [highlightedSeries, setHighlightedSeries] = useState11(
6915
+ const [activeTooltips, setActiveTooltips] = useState12([]);
6916
+ const [highlightedSeries, setHighlightedSeries] = useState12(
6714
6917
  /* @__PURE__ */ new Set()
6715
6918
  );
6716
- const [showOnlyHighlighted, setShowOnlyHighlighted] = useState11(false);
6717
- useEffect10(() => {
6919
+ const [showOnlyHighlighted, setShowOnlyHighlighted] = useState12(false);
6920
+ useEffect11(() => {
6718
6921
  if (highlightedSeries.size === 0 && showOnlyHighlighted) {
6719
6922
  setShowOnlyHighlighted(false);
6720
6923
  }
@@ -6723,8 +6926,8 @@ var Chart = ({
6723
6926
  ...item,
6724
6927
  name: String(item[xAxisConfig.dataKey] || "N/A")
6725
6928
  }));
6726
- const wrapperRef = useRef4(null);
6727
- const [measuredWidth, setMeasuredWidth] = useState11(null);
6929
+ const wrapperRef = useRef5(null);
6930
+ const [measuredWidth, setMeasuredWidth] = useState12(null);
6728
6931
  useLayoutEffect(() => {
6729
6932
  const el = wrapperRef.current;
6730
6933
  if (!el) return;
@@ -6778,7 +6981,7 @@ var Chart = ({
6778
6981
  () => activeTooltips.map((t) => adaptDataForTooltip(t.data).name),
6779
6982
  [activeTooltips, adaptDataForTooltip]
6780
6983
  );
6781
- useEffect10(() => {
6984
+ useEffect11(() => {
6782
6985
  window.dispatchEvent(new Event("recountTooltips"));
6783
6986
  }, [activeTooltips.length]);
6784
6987
  const toggleHighlight = useCallback7((key) => {
@@ -7021,7 +7224,7 @@ var Chart = ({
7021
7224
  overflowY: "hidden",
7022
7225
  minWidth: 0
7023
7226
  },
7024
- children: /* @__PURE__ */ jsxs39(
7227
+ children: /* @__PURE__ */ jsxs40(
7025
7228
  "div",
7026
7229
  {
7027
7230
  className: cn("rounded-lg bg-card p-2 relative", className),
@@ -7042,7 +7245,7 @@ var Chart = ({
7042
7245
  children: /* @__PURE__ */ jsx57("h3", { className: titleClassName, children: title })
7043
7246
  }
7044
7247
  ),
7045
- allKeys.length > 0 && (finalEnableHighlights || finalEnableShowOnly) && /* @__PURE__ */ jsxs39(
7248
+ allKeys.length > 0 && (finalEnableHighlights || finalEnableShowOnly) && /* @__PURE__ */ jsxs40(
7046
7249
  "div",
7047
7250
  {
7048
7251
  className: "flex items-center w-full",
@@ -7117,7 +7320,7 @@ var Chart = ({
7117
7320
  )
7118
7321
  }
7119
7322
  ),
7120
- /* @__PURE__ */ jsx57(ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxs39(
7323
+ /* @__PURE__ */ jsx57(ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxs40(
7121
7324
  ComposedChart,
7122
7325
  {
7123
7326
  data: processedData,
@@ -7331,7 +7534,7 @@ var Chart = ({
7331
7534
  var Chart_default = Chart;
7332
7535
 
7333
7536
  // src/components/charts/BarChart.tsx
7334
- import { useState as useState12, useEffect as useEffect11, useCallback as useCallback8, useMemo as useMemo7 } from "react";
7537
+ import { useState as useState13, useEffect as useEffect12, useCallback as useCallback8, useMemo as useMemo7 } from "react";
7335
7538
  import {
7336
7539
  BarChart as RechartsBarChart,
7337
7540
  Bar as Bar2,
@@ -7343,7 +7546,7 @@ import {
7343
7546
  Legend as Legend2,
7344
7547
  LabelList as LabelList2
7345
7548
  } from "recharts";
7346
- import { jsx as jsx58, jsxs as jsxs40 } from "react/jsx-runtime";
7549
+ import { jsx as jsx58, jsxs as jsxs41 } from "react/jsx-runtime";
7347
7550
  var DEFAULT_COLORS2 = ["#55af7d", "#8e68ff", "#2273e1"];
7348
7551
  var BarChart = ({
7349
7552
  data,
@@ -7423,14 +7626,14 @@ var BarChart = ({
7423
7626
  return { xAxisConfig: xAxisConfig2, mapperConfig: mapperConfig2 };
7424
7627
  }, [data, xAxis, mapper, yAxis, autoDetect, labelMap]);
7425
7628
  const { xAxisConfig, mapperConfig } = smartConfig;
7426
- const [activeTooltips, setActiveTooltips] = useState12([]);
7427
- const [isDragging, setIsDragging] = useState12(null);
7428
- const [dragOffset, setDragOffset] = useState12({
7629
+ const [activeTooltips, setActiveTooltips] = useState13([]);
7630
+ const [isDragging, setIsDragging] = useState13(null);
7631
+ const [dragOffset, setDragOffset] = useState13({
7429
7632
  x: 0,
7430
7633
  y: 0
7431
7634
  });
7432
- const [globalTooltipCount, setGlobalTooltipCount] = useState12(0);
7433
- const [alignmentGuides, setAlignmentGuides] = useState12([]);
7635
+ const [globalTooltipCount, setGlobalTooltipCount] = useState13(0);
7636
+ const [alignmentGuides, setAlignmentGuides] = useState13([]);
7434
7637
  const processedData = data.map((item) => ({
7435
7638
  ...item,
7436
7639
  name: String(item[xAxisConfig.dataKey] || "N/A")
@@ -7633,7 +7836,7 @@ var BarChart = ({
7633
7836
  setIsDragging(tooltipId);
7634
7837
  setDragOffset({ x: offsetX, y: offsetY });
7635
7838
  };
7636
- useEffect11(() => {
7839
+ useEffect12(() => {
7637
7840
  let rafId;
7638
7841
  let lastMousePosition = { x: 0, y: 0 };
7639
7842
  const handleGlobalMouseMove = (e) => {
@@ -7691,7 +7894,7 @@ var BarChart = ({
7691
7894
  updateAlignmentGuides,
7692
7895
  snapToGuides
7693
7896
  ]);
7694
- useEffect11(() => {
7897
+ useEffect12(() => {
7695
7898
  const handleCloseAllTooltips = () => {
7696
7899
  setActiveTooltips([]);
7697
7900
  setGlobalTooltipCount(0);
@@ -7701,7 +7904,7 @@ var BarChart = ({
7701
7904
  window.removeEventListener("closeAllTooltips", handleCloseAllTooltips);
7702
7905
  };
7703
7906
  }, []);
7704
- useEffect11(() => {
7907
+ useEffect12(() => {
7705
7908
  const handleTooltipCountRequest = () => {
7706
7909
  window.dispatchEvent(
7707
7910
  new CustomEvent("tooltipCountResponse", {
@@ -7740,7 +7943,7 @@ var BarChart = ({
7740
7943
  );
7741
7944
  };
7742
7945
  }, [activeTooltips]);
7743
- useEffect11(() => {
7946
+ useEffect12(() => {
7744
7947
  if (isDragging) return;
7745
7948
  let totalCount = 0;
7746
7949
  const handleCountResponse = (event) => {
@@ -7764,10 +7967,10 @@ var BarChart = ({
7764
7967
  label
7765
7968
  }) => {
7766
7969
  if (!active || !payload) return null;
7767
- return /* @__PURE__ */ jsxs40("div", { className: "bg-card border border-border rounded-lg p-3 shadow-lg", children: [
7970
+ return /* @__PURE__ */ jsxs41("div", { className: "bg-card border border-border rounded-lg p-3 shadow-lg", children: [
7768
7971
  /* @__PURE__ */ jsx58("p", { className: "font-medium text-foreground mb-2", children: label }),
7769
7972
  payload.map(
7770
- (entry, index) => /* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-2 text-sm", children: [
7973
+ (entry, index) => /* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-2 text-sm", children: [
7771
7974
  /* @__PURE__ */ jsx58(
7772
7975
  "div",
7773
7976
  {
@@ -7775,7 +7978,7 @@ var BarChart = ({
7775
7978
  style: { backgroundColor: entry.color }
7776
7979
  }
7777
7980
  ),
7778
- /* @__PURE__ */ jsxs40("span", { className: "text-muted-foreground", children: [
7981
+ /* @__PURE__ */ jsxs41("span", { className: "text-muted-foreground", children: [
7779
7982
  entry.name,
7780
7983
  ":"
7781
7984
  ] }),
@@ -7796,7 +7999,7 @@ var BarChart = ({
7796
7999
  return `${baseClasses} text-left`;
7797
8000
  }
7798
8001
  };
7799
- return /* @__PURE__ */ jsxs40(
8002
+ return /* @__PURE__ */ jsxs41(
7800
8003
  "div",
7801
8004
  {
7802
8005
  className: cn("rounded-lg bg-card p-4 relative", className),
@@ -7806,7 +8009,7 @@ var BarChart = ({
7806
8009
  },
7807
8010
  children: [
7808
8011
  title && /* @__PURE__ */ jsx58("div", { style: { paddingLeft: `${resolvedContainerPaddingLeft}px` }, children: /* @__PURE__ */ jsx58("h3", { className: getTitleClassName(titlePosition), children: title }) }),
7809
- /* @__PURE__ */ jsxs40(
8012
+ /* @__PURE__ */ jsxs41(
7810
8013
  RechartsBarChart,
7811
8014
  {
7812
8015
  data: processedData,
@@ -7919,7 +8122,7 @@ var BarChart = ({
7919
8122
  guide.sourceTooltip.top + guide.sourceTooltip.height / 2,
7920
8123
  guide.targetTooltip.top + guide.targetTooltip.height / 2
7921
8124
  );
7922
- return /* @__PURE__ */ jsxs40("div", { children: [
8125
+ return /* @__PURE__ */ jsxs41("div", { children: [
7923
8126
  /* @__PURE__ */ jsx58(
7924
8127
  "div",
7925
8128
  {
@@ -8006,7 +8209,7 @@ var BarChart = ({
8006
8209
  var BarChart_default = BarChart;
8007
8210
 
8008
8211
  // src/components/charts/LineChart.tsx
8009
- import { useState as useState13, useEffect as useEffect12, useCallback as useCallback9, useMemo as useMemo8 } from "react";
8212
+ import { useState as useState14, useEffect as useEffect13, useCallback as useCallback9, useMemo as useMemo8 } from "react";
8010
8213
  import {
8011
8214
  LineChart as RechartsLineChart,
8012
8215
  Line as Line2,
@@ -8017,7 +8220,7 @@ import {
8017
8220
  Legend as Legend3,
8018
8221
  LabelList as LabelList3
8019
8222
  } from "recharts";
8020
- import { jsx as jsx59, jsxs as jsxs41 } from "react/jsx-runtime";
8223
+ import { jsx as jsx59, jsxs as jsxs42 } from "react/jsx-runtime";
8021
8224
  var defaultData = [
8022
8225
  { name: "A", value: 100 },
8023
8226
  { name: "B", value: 200 },
@@ -8049,14 +8252,14 @@ var CustomLineChart = ({
8049
8252
  containerPaddingLeft,
8050
8253
  16
8051
8254
  );
8052
- const [activeTooltips, setActiveTooltips] = useState13([]);
8053
- const [isDragging, setIsDragging] = useState13(null);
8054
- const [dragOffset, setDragOffset] = useState13({
8255
+ const [activeTooltips, setActiveTooltips] = useState14([]);
8256
+ const [isDragging, setIsDragging] = useState14(null);
8257
+ const [dragOffset, setDragOffset] = useState14({
8055
8258
  x: 0,
8056
8259
  y: 0
8057
8260
  });
8058
- const [globalTooltipCount, setGlobalTooltipCount] = useState13(0);
8059
- const [alignmentGuides, setAlignmentGuides] = useState13([]);
8261
+ const [globalTooltipCount, setGlobalTooltipCount] = useState14(0);
8262
+ const [alignmentGuides, setAlignmentGuides] = useState14([]);
8060
8263
  const generateColors = (dataKeys2) => {
8061
8264
  const colorMap = {};
8062
8265
  const allColors = generateAdditionalColors(colors2, dataKeys2.length);
@@ -8270,7 +8473,7 @@ var CustomLineChart = ({
8270
8473
  setIsDragging(tooltipId);
8271
8474
  setDragOffset({ x: offsetX, y: offsetY });
8272
8475
  };
8273
- useEffect12(() => {
8476
+ useEffect13(() => {
8274
8477
  let rafId;
8275
8478
  let lastMousePosition = { x: 0, y: 0 };
8276
8479
  const handleGlobalMouseMove = (e) => {
@@ -8317,7 +8520,7 @@ var CustomLineChart = ({
8317
8520
  updateAlignmentGuides,
8318
8521
  snapToGuides
8319
8522
  ]);
8320
- useEffect12(() => {
8523
+ useEffect13(() => {
8321
8524
  const handleCloseAllTooltips2 = () => {
8322
8525
  setActiveTooltips([]);
8323
8526
  setGlobalTooltipCount(0);
@@ -8327,7 +8530,7 @@ var CustomLineChart = ({
8327
8530
  window.removeEventListener("closeAllTooltips", handleCloseAllTooltips2);
8328
8531
  };
8329
8532
  }, []);
8330
- useEffect12(() => {
8533
+ useEffect13(() => {
8331
8534
  const handleTooltipCountRequest = () => {
8332
8535
  window.dispatchEvent(
8333
8536
  new CustomEvent("tooltipCountResponse", {
@@ -8371,7 +8574,7 @@ var CustomLineChart = ({
8371
8574
  );
8372
8575
  };
8373
8576
  }, [activeTooltips]);
8374
- useEffect12(() => {
8577
+ useEffect13(() => {
8375
8578
  if (isDragging) return;
8376
8579
  let totalCount = 0;
8377
8580
  const handleCountResponse = (event) => {
@@ -8399,7 +8602,7 @@ var CustomLineChart = ({
8399
8602
  return "text-left";
8400
8603
  }
8401
8604
  };
8402
- return /* @__PURE__ */ jsx59("div", { className: cn("relative", className), children: /* @__PURE__ */ jsxs41(
8605
+ return /* @__PURE__ */ jsx59("div", { className: cn("relative", className), children: /* @__PURE__ */ jsxs42(
8403
8606
  "div",
8404
8607
  {
8405
8608
  className: "rounded-lg bg-card p-4 relative border border-border",
@@ -8410,7 +8613,7 @@ var CustomLineChart = ({
8410
8613
  onClick: handleChartBackgroundClick,
8411
8614
  children: [
8412
8615
  title && /* @__PURE__ */ jsx59("div", { style: { paddingLeft: `${resolvedContainerPaddingLeft}px` }, children: /* @__PURE__ */ jsx59("div", { className: cn("mb-4", getTitleClass()), children: /* @__PURE__ */ jsx59("h3", { className: "text-lg font-semibold text-foreground", children: title }) }) }),
8413
- /* @__PURE__ */ jsxs41(
8616
+ /* @__PURE__ */ jsxs42(
8414
8617
  RechartsLineChart,
8415
8618
  {
8416
8619
  data,
@@ -8501,7 +8704,7 @@ var CustomLineChart = ({
8501
8704
  guide.sourceTooltip.top + guide.sourceTooltip.height / 2,
8502
8705
  guide.targetTooltip.top + guide.targetTooltip.height / 2
8503
8706
  );
8504
- return /* @__PURE__ */ jsxs41("div", { children: [
8707
+ return /* @__PURE__ */ jsxs42("div", { children: [
8505
8708
  /* @__PURE__ */ jsx59(
8506
8709
  "div",
8507
8710
  {
@@ -8594,7 +8797,7 @@ import {
8594
8797
  Tooltip as Tooltip4,
8595
8798
  Legend as Legend4
8596
8799
  } from "recharts";
8597
- import { jsx as jsx60, jsxs as jsxs42 } from "react/jsx-runtime";
8800
+ import { jsx as jsx60, jsxs as jsxs43 } from "react/jsx-runtime";
8598
8801
  var defaultData2 = [
8599
8802
  { name: "Vendas", value: 4e3 },
8600
8803
  { name: "Marketing", value: 3e3 },
@@ -8661,7 +8864,7 @@ var CustomPieChart = ({
8661
8864
  centerY = "50%"
8662
8865
  }) => {
8663
8866
  const finalColors = colors2 || DEFAULT_COLORS4;
8664
- return /* @__PURE__ */ jsx60("div", { className: cn("w-full rounded-lg bg-card p-4", className), children: /* @__PURE__ */ jsx60(ResponsiveContainer2, { width, height, children: /* @__PURE__ */ jsxs42(RechartsPieChart, { children: [
8867
+ return /* @__PURE__ */ jsx60("div", { className: cn("w-full rounded-lg bg-card p-4", className), children: /* @__PURE__ */ jsx60(ResponsiveContainer2, { width, height, children: /* @__PURE__ */ jsxs43(RechartsPieChart, { children: [
8665
8868
  /* @__PURE__ */ jsx60(
8666
8869
  Pie,
8667
8870
  {
@@ -8700,12 +8903,12 @@ var CustomPieChart = ({
8700
8903
  var PieChart_default = CustomPieChart;
8701
8904
 
8702
8905
  // src/components/charts/hooks/useChartHighlights.tsx
8703
- import { useState as useState14, useCallback as useCallback10 } from "react";
8906
+ import { useState as useState15, useCallback as useCallback10 } from "react";
8704
8907
  var useChartHighlights = () => {
8705
- const [highlightedSeries, setHighlightedSeries] = useState14(
8908
+ const [highlightedSeries, setHighlightedSeries] = useState15(
8706
8909
  /* @__PURE__ */ new Set()
8707
8910
  );
8708
- const [showOnlyHighlighted, setShowOnlyHighlighted] = useState14(false);
8911
+ const [showOnlyHighlighted, setShowOnlyHighlighted] = useState15(false);
8709
8912
  const toggleHighlight = useCallback10((key) => {
8710
8913
  setHighlightedSeries((prev) => {
8711
8914
  const next = new Set(prev);
@@ -8773,12 +8976,12 @@ var useChartHighlights = () => {
8773
8976
  };
8774
8977
 
8775
8978
  // src/hooks/use-drag.tsx
8776
- import { useState as useState15, useCallback as useCallback11, useRef as useRef5, useEffect as useEffect13 } from "react";
8979
+ import { useState as useState16, useCallback as useCallback11, useRef as useRef6, useEffect as useEffect14 } from "react";
8777
8980
  var useDrag = (options = {}) => {
8778
- const [isDragging, setIsDragging] = useState15(null);
8779
- const [positions, setPositions] = useState15({});
8780
- const dragStartPos = useRef5(null);
8781
- const dragId = useRef5(null);
8981
+ const [isDragging, setIsDragging] = useState16(null);
8982
+ const [positions, setPositions] = useState16({});
8983
+ const dragStartPos = useRef6(null);
8984
+ const dragId = useRef6(null);
8782
8985
  const handleMouseDown = useCallback11((id, e) => {
8783
8986
  e.preventDefault();
8784
8987
  const currentPosition = positions[id] || { top: 0, left: 0 };
@@ -8816,7 +9019,7 @@ var useDrag = (options = {}) => {
8816
9019
  dragStartPos.current = null;
8817
9020
  dragId.current = null;
8818
9021
  }, [options]);
8819
- useEffect13(() => {
9022
+ useEffect14(() => {
8820
9023
  if (isDragging) {
8821
9024
  document.addEventListener("mousemove", handleMouseMove);
8822
9025
  document.addEventListener("mouseup", handleMouseUp);