analytica-frontend-lib 1.0.52 → 1.0.54

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
@@ -35,6 +35,7 @@ __export(src_exports, {
35
35
  Chips: () => Chips_default,
36
36
  Divider: () => Divider_default,
37
37
  DropdownMenu: () => DropdownMenu_default,
38
+ DropdownMenuContent: () => DropdownMenuContent,
38
39
  DropdownMenuItem: () => DropdownMenuItem,
39
40
  DropdownMenuSeparator: () => DropdownMenuSeparator,
40
41
  DropdownMenuTrigger: () => DropdownMenuTrigger,
@@ -45,6 +46,7 @@ __export(src_exports, {
45
46
  MenuContent: () => MenuContent,
46
47
  MenuItem: () => MenuItem,
47
48
  MenuLabel: () => MenuLabel,
49
+ MenuOverflow: () => MenuOverflow,
48
50
  MenuSeparator: () => MenuSeparator,
49
51
  Modal: () => Modal_default,
50
52
  NavButton: () => NavButton_default,
@@ -1032,6 +1034,7 @@ var Radio_default = Radio;
1032
1034
 
1033
1035
  // src/components/TextArea/TextArea.tsx
1034
1036
  var import_react7 = require("react");
1037
+ var import_phosphor_react4 = require("phosphor-react");
1035
1038
  var import_jsx_runtime12 = require("react/jsx-runtime");
1036
1039
  var SIZE_CLASSES5 = {
1037
1040
  small: {
@@ -1146,7 +1149,11 @@ var TextArea = (0, import_react7.forwardRef)(
1146
1149
  ...props
1147
1150
  }
1148
1151
  ),
1149
- errorMessage && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Text_default, { size: "sm", weight: "normal", className: "mt-1.5 text-error-600", children: errorMessage }),
1152
+ errorMessage && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("p", { className: "flex gap-1 items-center text-sm text-indicator-error mt-1.5", children: [
1153
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_phosphor_react4.WarningCircle, { size: 16 }),
1154
+ " ",
1155
+ errorMessage
1156
+ ] }),
1150
1157
  helperMessage && !errorMessage && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Text_default, { size: "sm", weight: "normal", className: "mt-1.5 text-text-500", children: helperMessage })
1151
1158
  ] });
1152
1159
  }
@@ -1155,7 +1162,7 @@ TextArea.displayName = "TextArea";
1155
1162
  var TextArea_default = TextArea;
1156
1163
 
1157
1164
  // src/components/Toast/Toast.tsx
1158
- var import_phosphor_react4 = require("phosphor-react");
1165
+ var import_phosphor_react5 = require("phosphor-react");
1159
1166
  var import_jsx_runtime13 = require("react/jsx-runtime");
1160
1167
  var VARIANT_ACTION_CLASSES4 = {
1161
1168
  solid: {
@@ -1170,9 +1177,9 @@ var VARIANT_ACTION_CLASSES4 = {
1170
1177
  }
1171
1178
  };
1172
1179
  var iconMap = {
1173
- success: import_phosphor_react4.CheckCircle,
1174
- info: import_phosphor_react4.Info,
1175
- warning: import_phosphor_react4.WarningCircle
1180
+ success: import_phosphor_react5.CheckCircle,
1181
+ info: import_phosphor_react5.Info,
1182
+ warning: import_phosphor_react5.WarningCircle
1176
1183
  };
1177
1184
  var Toast = ({
1178
1185
  variant = "outlined",
@@ -1218,7 +1225,7 @@ var Toast = ({
1218
1225
  onClick: onClose,
1219
1226
  "aria-label": "Dismiss notification",
1220
1227
  className: "text-background-500 cursor-pointer opacity-0 group-hover:opacity-100 transition-opacity",
1221
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_phosphor_react4.X, {})
1228
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_phosphor_react5.X, {})
1222
1229
  }
1223
1230
  )
1224
1231
  ]
@@ -1289,7 +1296,7 @@ var Divider = ({
1289
1296
  var Divider_default = Divider;
1290
1297
 
1291
1298
  // src/components/Input/Input.tsx
1292
- var import_phosphor_react5 = require("phosphor-react");
1299
+ var import_phosphor_react6 = require("phosphor-react");
1293
1300
  var import_react8 = require("react");
1294
1301
  var import_jsx_runtime16 = require("react/jsx-runtime");
1295
1302
  var SIZE_CLASSES6 = {
@@ -1330,7 +1337,7 @@ var getPasswordToggleConfig = (type, disabled, readOnly, showPassword, iconRight
1330
1337
  let actualIconRight = iconRight;
1331
1338
  let ariaLabel;
1332
1339
  if (shouldShowPasswordToggle) {
1333
- actualIconRight = showPassword ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_phosphor_react5.EyeSlash, {}) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_phosphor_react5.Eye, {});
1340
+ actualIconRight = showPassword ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_phosphor_react6.EyeSlash, {}) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_phosphor_react6.Eye, {});
1334
1341
  ariaLabel = showPassword ? "Ocultar senha" : "Mostrar senha";
1335
1342
  }
1336
1343
  return { shouldShowPasswordToggle, actualIconRight, ariaLabel };
@@ -1441,7 +1448,7 @@ var Input = (0, import_react8.forwardRef)(
1441
1448
  /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "mt-1.5 gap-1.5", children: [
1442
1449
  helperText && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: "text-sm text-text-500", children: helperText }),
1443
1450
  errorMessage && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("p", { className: "flex gap-1 items-center text-sm text-indicator-error", children: [
1444
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_phosphor_react5.WarningCircle, { size: 16 }),
1451
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_phosphor_react6.WarningCircle, { size: 16 }),
1445
1452
  " ",
1446
1453
  errorMessage
1447
1454
  ] })
@@ -1452,7 +1459,7 @@ var Input = (0, import_react8.forwardRef)(
1452
1459
  var Input_default = Input;
1453
1460
 
1454
1461
  // src/components/Chips/Chips.tsx
1455
- var import_phosphor_react6 = require("phosphor-react");
1462
+ var import_phosphor_react7 = require("phosphor-react");
1456
1463
  var import_jsx_runtime17 = require("react/jsx-runtime");
1457
1464
  var STATE_CLASSES5 = {
1458
1465
  default: "bg-background text-text-950 border border-border-100 hover:bg-secondary-50 hover:border-border-300",
@@ -1476,7 +1483,7 @@ var Chips = ({
1476
1483
  type,
1477
1484
  ...props,
1478
1485
  children: [
1479
- selected && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: `flex items-center`, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_phosphor_react6.Check, { weight: "bold", size: 16 }) }),
1486
+ selected && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: `flex items-center`, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_phosphor_react7.Check, { weight: "bold", size: 16 }) }),
1480
1487
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "flex-1", children })
1481
1488
  ]
1482
1489
  }
@@ -2090,7 +2097,7 @@ var ProgressCircle = ({
2090
2097
  var ProgressCircle_default = ProgressCircle;
2091
2098
 
2092
2099
  // src/components/Stepper/Stepper.tsx
2093
- var import_phosphor_react7 = require("phosphor-react");
2100
+ var import_phosphor_react8 = require("phosphor-react");
2094
2101
  var import_jsx_runtime20 = require("react/jsx-runtime");
2095
2102
  var SIZE_CLASSES9 = {
2096
2103
  small: {
@@ -2261,7 +2268,7 @@ var Step = ({
2261
2268
  `,
2262
2269
  "aria-label": getAriaLabel(),
2263
2270
  children: isCompleted ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2264
- import_phosphor_react7.Check,
2271
+ import_phosphor_react8.Check,
2265
2272
  {
2266
2273
  weight: "bold",
2267
2274
  className: `
@@ -2457,7 +2464,7 @@ var getDayStyles = (day, variant, showActivities) => {
2457
2464
  let textStyle = "";
2458
2465
  if (variant === "selection" && day.isSelected) {
2459
2466
  dayStyle = "bg-primary-800";
2460
- textStyle = "text-white";
2467
+ textStyle = "text-text";
2461
2468
  } else if (day.isToday) {
2462
2469
  textStyle = "text-primary-800";
2463
2470
  } else if (variant === "navigation" && showActivities && day.activities?.length) {
@@ -2829,7 +2836,7 @@ var Calendar = ({
2829
2836
  )
2830
2837
  ] })
2831
2838
  ] }),
2832
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "grid grid-cols-7 gap-1 mb-2", children: WEEK_DAYS.map((day) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2839
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "grid grid-cols-7 mb-2", children: WEEK_DAYS.map((day) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2833
2840
  "div",
2834
2841
  {
2835
2842
  className: "h-4 flex items-center justify-center text-xs font-semibold text-text-500",
@@ -2837,7 +2844,7 @@ var Calendar = ({
2837
2844
  },
2838
2845
  day
2839
2846
  )) }),
2840
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "grid grid-cols-7 gap-1", children: calendarData.map((day) => {
2847
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "grid grid-cols-7", children: calendarData.map((day) => {
2841
2848
  if (!day.isCurrentMonth) {
2842
2849
  return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2843
2850
  "div",
@@ -2861,9 +2868,9 @@ var Calendar = ({
2861
2868
  "button",
2862
2869
  {
2863
2870
  className: `
2864
- w-10 h-10
2871
+ w-9 h-9
2865
2872
  flex items-center justify-center
2866
- text-xl font-normal
2873
+ text-lg font-normal
2867
2874
  cursor-pointer
2868
2875
  rounded-full
2869
2876
  focus:outline-none focus:ring-2 focus:ring-primary-600 focus:ring-offset-1
@@ -2887,7 +2894,7 @@ var Calendar_default = Calendar;
2887
2894
 
2888
2895
  // src/components/Modal/Modal.tsx
2889
2896
  var import_react10 = require("react");
2890
- var import_phosphor_react8 = require("phosphor-react");
2897
+ var import_phosphor_react9 = require("phosphor-react");
2891
2898
  var import_jsx_runtime22 = require("react/jsx-runtime");
2892
2899
  var SIZE_CLASSES10 = {
2893
2900
  xs: "max-w-[360px]",
@@ -2962,7 +2969,7 @@ var Modal = ({
2962
2969
  onClick: onClose,
2963
2970
  className: "p-1 text-text-500 hover:text-text-700 hover:bg-background-50 rounded-md transition-colors focus:outline-none focus:ring-2 focus:ring-indicator-info focus:ring-offset-2",
2964
2971
  "aria-label": "Fechar modal",
2965
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react8.X, { size: 18 })
2972
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react9.X, { size: 18 })
2966
2973
  }
2967
2974
  )
2968
2975
  ] }),
@@ -2975,7 +2982,7 @@ var Modal = ({
2975
2982
  var Modal_default = Modal;
2976
2983
 
2977
2984
  // src/components/DropdownMenu/DropdownMenu.tsx
2978
- var import_phosphor_react9 = require("phosphor-react");
2985
+ var import_phosphor_react10 = require("phosphor-react");
2979
2986
  var import_react11 = require("react");
2980
2987
  var import_zustand2 = require("zustand");
2981
2988
  var import_jsx_runtime23 = require("react/jsx-runtime");
@@ -3132,7 +3139,7 @@ var MenuLabel = (0, import_react11.forwardRef)(({ className, inset, store: _stor
3132
3139
  );
3133
3140
  });
3134
3141
  MenuLabel.displayName = "MenuLabel";
3135
- var MenuContent = (0, import_react11.forwardRef)(
3142
+ var DropdownMenuContent = (0, import_react11.forwardRef)(
3136
3143
  ({
3137
3144
  className,
3138
3145
  align = "start",
@@ -3185,7 +3192,7 @@ var MenuContent = (0, import_react11.forwardRef)(
3185
3192
  );
3186
3193
  }
3187
3194
  );
3188
- MenuContent.displayName = "MenuContent";
3195
+ DropdownMenuContent.displayName = "DropdownMenuContent";
3189
3196
  var DropdownMenuItem = (0, import_react11.forwardRef)(
3190
3197
  ({
3191
3198
  className,
@@ -3275,7 +3282,7 @@ var ProfileMenuTrigger = (0, import_react11.forwardRef)(({ className, onClick, s
3275
3282
  },
3276
3283
  "aria-expanded": open,
3277
3284
  ...props,
3278
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "size-6 rounded-full bg-background-100 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react9.User, { className: "text-background-950", size: 18 }) })
3285
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "size-6 rounded-full bg-background-100 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react10.User, { className: "text-background-950", size: 18 }) })
3279
3286
  }
3280
3287
  );
3281
3288
  });
@@ -3292,7 +3299,7 @@ var ProfileMenuHeader = (0, import_react11.forwardRef)(({ className, name, email
3292
3299
  `,
3293
3300
  ...props,
3294
3301
  children: [
3295
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "size-16 bg-background-100 rounded-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react9.User, { size: 34, className: "text-background-950" }) }),
3302
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "size-16 bg-background-100 rounded-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react10.User, { size: 34, className: "text-background-950" }) }),
3296
3303
  /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-col ", children: [
3297
3304
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-xl font-bold text-text-950", children: name }),
3298
3305
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-md text-text-600", children: email })
@@ -3338,7 +3345,7 @@ var ProfileMenuFooter = ({
3338
3345
  },
3339
3346
  ...props,
3340
3347
  children: [
3341
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "mr-2 flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react9.SignOut, {}) }),
3348
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "mr-2 flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react10.SignOut, {}) }),
3342
3349
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { children: "Sair" })
3343
3350
  ]
3344
3351
  }
@@ -3350,7 +3357,7 @@ var DropdownMenu_default = DropdownMenu;
3350
3357
  // src/components/Select/Select.tsx
3351
3358
  var import_zustand3 = require("zustand");
3352
3359
  var import_react12 = require("react");
3353
- var import_phosphor_react10 = require("phosphor-react");
3360
+ var import_phosphor_react11 = require("phosphor-react");
3354
3361
  var import_jsx_runtime24 = require("react/jsx-runtime");
3355
3362
  var VARIANT_CLASSES4 = {
3356
3363
  outlined: "border rounded-lg focus:border-primary-950",
@@ -3534,7 +3541,7 @@ var Select = ({
3534
3541
  /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "mt-1.5 gap-1.5", children: [
3535
3542
  helperText && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "text-sm text-text-500", children: helperText }),
3536
3543
  errorMessage && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("p", { className: "flex gap-1 items-center text-sm text-indicator-error", children: [
3537
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_phosphor_react10.WarningCircle, { size: 16 }),
3544
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_phosphor_react11.WarningCircle, { size: 16 }),
3538
3545
  " ",
3539
3546
  errorMessage
3540
3547
  ] })
@@ -3589,7 +3596,7 @@ var SelectTrigger = (0, import_react12.forwardRef)(
3589
3596
  children: [
3590
3597
  props.children,
3591
3598
  /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3592
- import_phosphor_react10.CaretDown,
3599
+ import_phosphor_react11.CaretDown,
3593
3600
  {
3594
3601
  className: `h-[1em] w-[1em] opacity-50 transition-transform ${open ? "rotate-180" : ""}`
3595
3602
  }
@@ -3673,7 +3680,7 @@ var SelectItem = (0, import_react12.forwardRef)(
3673
3680
  tabIndex: disabled ? -1 : 0,
3674
3681
  ...props,
3675
3682
  children: [
3676
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: selectedValue === value && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_phosphor_react10.Check, { className: "" }) }),
3683
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: selectedValue === value && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_phosphor_react11.Check, { className: "" }) }),
3677
3684
  children
3678
3685
  ]
3679
3686
  }
@@ -3686,7 +3693,7 @@ var Select_default = Select;
3686
3693
  // src/components/Menu/Menu.tsx
3687
3694
  var import_zustand4 = require("zustand");
3688
3695
  var import_react13 = require("react");
3689
- var import_phosphor_react11 = require("phosphor-react");
3696
+ var import_phosphor_react12 = require("phosphor-react");
3690
3697
  var import_jsx_runtime25 = require("react/jsx-runtime");
3691
3698
  var createMenuStore = () => (0, import_zustand4.create)((set) => ({
3692
3699
  value: "",
@@ -3698,7 +3705,7 @@ var useMenuStore = (externalStore) => {
3698
3705
  };
3699
3706
  var VARIANT_CLASSES5 = {
3700
3707
  menu: "bg-background shadow-soft-shadow-1",
3701
- menu2: "overflow-x-auto scroll-smooth",
3708
+ menu2: "",
3702
3709
  breadcrumb: ""
3703
3710
  };
3704
3711
  var Menu = (0, import_react13.forwardRef)(
@@ -3721,10 +3728,10 @@ var Menu = (0, import_react13.forwardRef)(
3721
3728
  (0, import_react13.useEffect)(() => {
3722
3729
  onValueChange?.(value);
3723
3730
  }, [value, onValueChange]);
3724
- const baseClasses = "w-full flex flex-row items-center gap-2 py-2 px-6";
3731
+ const baseClasses = "w-full py-2 px-6 flex flex-row items-center justify-center";
3725
3732
  const variantClasses = VARIANT_CLASSES5[variant];
3726
3733
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3727
- "ul",
3734
+ "div",
3728
3735
  {
3729
3736
  ref,
3730
3737
  className: `
@@ -3732,7 +3739,6 @@ var Menu = (0, import_react13.forwardRef)(
3732
3739
  ${variantClasses}
3733
3740
  ${className ?? ""}
3734
3741
  `,
3735
- style: variant === "menu2" ? { scrollbarWidth: "none", msOverflowStyle: "none" } : void 0,
3736
3742
  ...props,
3737
3743
  children: injectStore3(children, store)
3738
3744
  }
@@ -3740,6 +3746,27 @@ var Menu = (0, import_react13.forwardRef)(
3740
3746
  }
3741
3747
  );
3742
3748
  Menu.displayName = "Menu";
3749
+ var MenuContent = (0, import_react13.forwardRef)(
3750
+ ({ className, children, variant = "menu", ...props }, ref) => {
3751
+ const baseClasses = "w-full flex flex-row items-center gap-2";
3752
+ const variantClasses = variant === "menu2" ? "overflow-x-auto scroll-smooth" : "";
3753
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3754
+ "ul",
3755
+ {
3756
+ ref,
3757
+ className: `
3758
+ ${baseClasses}
3759
+ ${variantClasses}
3760
+ ${className ?? ""}
3761
+ `,
3762
+ style: variant === "menu2" ? { scrollbarWidth: "none", msOverflowStyle: "none" } : void 0,
3763
+ ...props,
3764
+ children
3765
+ }
3766
+ );
3767
+ }
3768
+ );
3769
+ MenuContent.displayName = "MenuContent";
3743
3770
  var MenuItem = (0, import_react13.forwardRef)(
3744
3771
  ({
3745
3772
  className,
@@ -3835,11 +3862,95 @@ var MenuSeparator = (0, import_react13.forwardRef)(
3835
3862
  "aria-hidden": "true",
3836
3863
  className: `[&>svg]:w-4 [&>svg]:h-4 text-text-600 ${className ?? ""}`,
3837
3864
  ...props,
3838
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_phosphor_react11.CaretRight, {})
3865
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_phosphor_react12.CaretRight, {})
3839
3866
  }
3840
3867
  )
3841
3868
  );
3842
3869
  MenuSeparator.displayName = "MenuSeparator";
3870
+ var internalScroll = (container, direction) => {
3871
+ if (!container) return;
3872
+ container.scrollBy({
3873
+ left: direction === "left" ? -150 : 150,
3874
+ behavior: "smooth"
3875
+ });
3876
+ };
3877
+ var internalCheckScroll = (container, setShowLeftArrow, setShowRightArrow) => {
3878
+ if (!container) return;
3879
+ const { scrollLeft, scrollWidth, clientWidth } = container;
3880
+ setShowLeftArrow(scrollLeft > 0);
3881
+ setShowRightArrow(scrollLeft + clientWidth < scrollWidth);
3882
+ };
3883
+ var MenuOverflow = ({
3884
+ children,
3885
+ className,
3886
+ defaultValue,
3887
+ value,
3888
+ onValueChange,
3889
+ ...props
3890
+ }) => {
3891
+ const containerRef = (0, import_react13.useRef)(null);
3892
+ const [showLeftArrow, setShowLeftArrow] = (0, import_react13.useState)(false);
3893
+ const [showRightArrow, setShowRightArrow] = (0, import_react13.useState)(false);
3894
+ (0, import_react13.useEffect)(() => {
3895
+ const checkScroll = () => internalCheckScroll(
3896
+ containerRef.current,
3897
+ setShowLeftArrow,
3898
+ setShowRightArrow
3899
+ );
3900
+ checkScroll();
3901
+ const container = containerRef.current;
3902
+ container?.addEventListener("scroll", checkScroll);
3903
+ window.addEventListener("resize", checkScroll);
3904
+ return () => {
3905
+ container?.removeEventListener("scroll", checkScroll);
3906
+ window.removeEventListener("resize", checkScroll);
3907
+ };
3908
+ }, []);
3909
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
3910
+ "div",
3911
+ {
3912
+ "data-testid": "menu-overflow-wrapper",
3913
+ className: `relative w-full overflow-hidden ${className ?? ""}`,
3914
+ children: [
3915
+ showLeftArrow && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
3916
+ "button",
3917
+ {
3918
+ onClick: () => internalScroll(containerRef.current, "left"),
3919
+ className: "absolute left-0 top-1/2 -translate-y-1/2 z-10 flex h-8 w-8 items-center justify-center rounded-full bg-white shadow-md cursor-pointer",
3920
+ "data-testid": "scroll-left-button",
3921
+ children: [
3922
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_phosphor_react12.CaretLeft, { size: 16 }),
3923
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "sr-only", children: "Scroll left" })
3924
+ ]
3925
+ }
3926
+ ),
3927
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3928
+ Menu,
3929
+ {
3930
+ defaultValue,
3931
+ onValueChange,
3932
+ value,
3933
+ variant: "menu2",
3934
+ ...props,
3935
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(MenuContent, { ref: containerRef, variant: "menu2", children })
3936
+ }
3937
+ ),
3938
+ showRightArrow && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
3939
+ "button",
3940
+ {
3941
+ onClick: () => internalScroll(containerRef.current, "right"),
3942
+ className: "absolute right-0 top-1/2 -translate-y-1/2 z-10 flex h-8 w-8 items-center justify-center rounded-full bg-white shadow-md cursor-pointer",
3943
+ "data-testid": "scroll-right-button",
3944
+ children: [
3945
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_phosphor_react12.CaretRight, { size: 16 }),
3946
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "sr-only", children: "Scroll right" })
3947
+ ]
3948
+ }
3949
+ )
3950
+ ]
3951
+ }
3952
+ );
3953
+ };
3843
3954
  var injectStore3 = (children, store) => import_react13.Children.map(children, (child) => {
3844
3955
  if (!(0, import_react13.isValidElement)(child)) return child;
3845
3956
  const typedChild = child;
@@ -3853,7 +3964,7 @@ var Menu_default = Menu;
3853
3964
 
3854
3965
  // src/components/Card/Card.tsx
3855
3966
  var import_react14 = require("react");
3856
- var import_phosphor_react12 = require("phosphor-react");
3967
+ var import_phosphor_react13 = require("phosphor-react");
3857
3968
  var import_jsx_runtime26 = require("react/jsx-runtime");
3858
3969
  var ACTION_CARD_CLASSES = {
3859
3970
  warning: "bg-warning-background",
@@ -4131,7 +4242,7 @@ var CardPerformance = (0, import_react14.forwardRef)(
4131
4242
  /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "w-full", children: hasProgress ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ProgressBar_default, { value: progress, label: `${progress}% corretas` }) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { className: "text-xs text-text-600", children: description }) })
4132
4243
  ] }),
4133
4244
  !hasProgress && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
4134
- import_phosphor_react12.CaretRight,
4245
+ import_phosphor_react13.CaretRight,
4135
4246
  {
4136
4247
  className: "size-4.5 text-text-800",
4137
4248
  "data-testid": "caret-icon",
@@ -4193,7 +4304,7 @@ var CardResults = (0, import_react14.forwardRef)(
4193
4304
  action: "success",
4194
4305
  variant: "solid",
4195
4306
  size: "medium",
4196
- iconLeft: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react12.CheckCircle, {}),
4307
+ iconLeft: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react13.CheckCircle, {}),
4197
4308
  children: [
4198
4309
  correct_answers,
4199
4310
  " Corretas"
@@ -4206,7 +4317,7 @@ var CardResults = (0, import_react14.forwardRef)(
4206
4317
  action: "error",
4207
4318
  variant: "solid",
4208
4319
  size: "medium",
4209
- iconLeft: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react12.XCircle, {}),
4320
+ iconLeft: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react13.XCircle, {}),
4210
4321
  children: [
4211
4322
  incorrect_answers,
4212
4323
  " Incorretas"
@@ -4217,7 +4328,7 @@ var CardResults = (0, import_react14.forwardRef)(
4217
4328
  ]
4218
4329
  }
4219
4330
  ),
4220
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react12.CaretRight, { className: "min-w-6 min-h-6 text-text-800" })
4331
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react13.CaretRight, { className: "min-w-6 min-h-6 text-text-800" })
4221
4332
  ]
4222
4333
  }
4223
4334
  );
@@ -4250,7 +4361,7 @@ var CardStatus = (0, import_react14.forwardRef)(
4250
4361
  action: status == "correct" ? "success" : "error",
4251
4362
  variant: "solid",
4252
4363
  size: "medium",
4253
- iconLeft: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react12.CheckCircle, {}),
4364
+ iconLeft: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react13.CheckCircle, {}),
4254
4365
  children: status == "correct" ? "Correta" : "Incorreta"
4255
4366
  }
4256
4367
  ),
@@ -4259,7 +4370,7 @@ var CardStatus = (0, import_react14.forwardRef)(
4259
4370
  ]
4260
4371
  }
4261
4372
  ),
4262
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react12.CaretRight, { className: "min-w-6 min-h-6 text-text-800" })
4373
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react13.CaretRight, { className: "min-w-6 min-h-6 text-text-800" })
4263
4374
  ]
4264
4375
  }
4265
4376
  );
@@ -4276,7 +4387,7 @@ var CardSettings = (0, import_react14.forwardRef)(
4276
4387
  children: [
4277
4388
  /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "[&>svg]:size-6", children: icon }),
4278
4389
  /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { className: "w-full text-md", children: header }),
4279
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react12.CaretRight, { size: 24 })
4390
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react13.CaretRight, { size: 24 })
4280
4391
  ]
4281
4392
  }
4282
4393
  );
@@ -4303,7 +4414,7 @@ var CardSupport = (0, import_react14.forwardRef)(
4303
4414
  ]
4304
4415
  }
4305
4416
  ),
4306
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react12.CaretRight, { className: "text-text-800", size: 24 })
4417
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react13.CaretRight, { className: "text-text-800", size: 24 })
4307
4418
  ]
4308
4419
  }
4309
4420
  );
@@ -4358,7 +4469,7 @@ var CardForum = (0, import_react14.forwardRef)(
4358
4469
  onClick: () => onClickComments?.(valueComments),
4359
4470
  className: "text-text-600 flex flex-row gap-2 items-center",
4360
4471
  children: [
4361
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react12.ChatCircleText, { "aria-hidden": "true", size: 16 }),
4472
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react13.ChatCircleText, { "aria-hidden": "true", size: 16 }),
4362
4473
  /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("p", { className: "text-xs", children: [
4363
4474
  comments,
4364
4475
  " respostas"
@@ -4389,6 +4500,7 @@ var CardForum = (0, import_react14.forwardRef)(
4389
4500
  Chips,
4390
4501
  Divider,
4391
4502
  DropdownMenu,
4503
+ DropdownMenuContent,
4392
4504
  DropdownMenuItem,
4393
4505
  DropdownMenuSeparator,
4394
4506
  DropdownMenuTrigger,
@@ -4399,6 +4511,7 @@ var CardForum = (0, import_react14.forwardRef)(
4399
4511
  MenuContent,
4400
4512
  MenuItem,
4401
4513
  MenuLabel,
4514
+ MenuOverflow,
4402
4515
  MenuSeparator,
4403
4516
  Modal,
4404
4517
  NavButton,