analytica-frontend-lib 1.0.53 → 1.0.55

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
@@ -3094,7 +3094,7 @@ var MenuLabel = forwardRef9(({ className, inset, store: _store, ...props }, ref)
3094
3094
  );
3095
3095
  });
3096
3096
  MenuLabel.displayName = "MenuLabel";
3097
- var MenuContent = forwardRef9(
3097
+ var DropdownMenuContent = forwardRef9(
3098
3098
  ({
3099
3099
  className,
3100
3100
  align = "start",
@@ -3147,7 +3147,7 @@ var MenuContent = forwardRef9(
3147
3147
  );
3148
3148
  }
3149
3149
  );
3150
- MenuContent.displayName = "MenuContent";
3150
+ DropdownMenuContent.displayName = "DropdownMenuContent";
3151
3151
  var DropdownMenuItem = forwardRef9(
3152
3152
  ({
3153
3153
  className,
@@ -3676,7 +3676,7 @@ var useMenuStore = (externalStore) => {
3676
3676
  };
3677
3677
  var VARIANT_CLASSES5 = {
3678
3678
  menu: "bg-background shadow-soft-shadow-1",
3679
- menu2: "overflow-x-auto scroll-smooth",
3679
+ menu2: "",
3680
3680
  breadcrumb: ""
3681
3681
  };
3682
3682
  var Menu = forwardRef11(
@@ -3699,10 +3699,10 @@ var Menu = forwardRef11(
3699
3699
  useEffect5(() => {
3700
3700
  onValueChange?.(value);
3701
3701
  }, [value, onValueChange]);
3702
- const baseClasses = "w-full flex flex-row items-center gap-2 py-2 px-6";
3702
+ const baseClasses = "w-full py-2 px-6 flex flex-row items-center justify-center";
3703
3703
  const variantClasses = VARIANT_CLASSES5[variant];
3704
3704
  return /* @__PURE__ */ jsx25(
3705
- "ul",
3705
+ "div",
3706
3706
  {
3707
3707
  ref,
3708
3708
  className: `
@@ -3710,7 +3710,6 @@ var Menu = forwardRef11(
3710
3710
  ${variantClasses}
3711
3711
  ${className ?? ""}
3712
3712
  `,
3713
- style: variant === "menu2" ? { scrollbarWidth: "none", msOverflowStyle: "none" } : void 0,
3714
3713
  ...props,
3715
3714
  children: injectStore3(children, store)
3716
3715
  }
@@ -3718,6 +3717,27 @@ var Menu = forwardRef11(
3718
3717
  }
3719
3718
  );
3720
3719
  Menu.displayName = "Menu";
3720
+ var MenuContent = forwardRef11(
3721
+ ({ className, children, variant = "menu", ...props }, ref) => {
3722
+ const baseClasses = "w-full flex flex-row items-center gap-2";
3723
+ const variantClasses = variant === "menu2" ? "overflow-x-auto scroll-smooth" : "";
3724
+ return /* @__PURE__ */ jsx25(
3725
+ "ul",
3726
+ {
3727
+ ref,
3728
+ className: `
3729
+ ${baseClasses}
3730
+ ${variantClasses}
3731
+ ${className ?? ""}
3732
+ `,
3733
+ style: variant === "menu2" ? { scrollbarWidth: "none", msOverflowStyle: "none" } : void 0,
3734
+ ...props,
3735
+ children
3736
+ }
3737
+ );
3738
+ }
3739
+ );
3740
+ MenuContent.displayName = "MenuContent";
3721
3741
  var MenuItem = forwardRef11(
3722
3742
  ({
3723
3743
  className,
@@ -3818,6 +3838,90 @@ var MenuSeparator = forwardRef11(
3818
3838
  )
3819
3839
  );
3820
3840
  MenuSeparator.displayName = "MenuSeparator";
3841
+ var internalScroll = (container, direction) => {
3842
+ if (!container) return;
3843
+ container.scrollBy({
3844
+ left: direction === "left" ? -150 : 150,
3845
+ behavior: "smooth"
3846
+ });
3847
+ };
3848
+ var internalCheckScroll = (container, setShowLeftArrow, setShowRightArrow) => {
3849
+ if (!container) return;
3850
+ const { scrollLeft, scrollWidth, clientWidth } = container;
3851
+ setShowLeftArrow(scrollLeft > 0);
3852
+ setShowRightArrow(scrollLeft + clientWidth < scrollWidth);
3853
+ };
3854
+ var MenuOverflow = ({
3855
+ children,
3856
+ className,
3857
+ defaultValue,
3858
+ value,
3859
+ onValueChange,
3860
+ ...props
3861
+ }) => {
3862
+ const containerRef = useRef4(null);
3863
+ const [showLeftArrow, setShowLeftArrow] = useState7(false);
3864
+ const [showRightArrow, setShowRightArrow] = useState7(false);
3865
+ useEffect5(() => {
3866
+ const checkScroll = () => internalCheckScroll(
3867
+ containerRef.current,
3868
+ setShowLeftArrow,
3869
+ setShowRightArrow
3870
+ );
3871
+ checkScroll();
3872
+ const container = containerRef.current;
3873
+ container?.addEventListener("scroll", checkScroll);
3874
+ window.addEventListener("resize", checkScroll);
3875
+ return () => {
3876
+ container?.removeEventListener("scroll", checkScroll);
3877
+ window.removeEventListener("resize", checkScroll);
3878
+ };
3879
+ }, []);
3880
+ return /* @__PURE__ */ jsxs20(
3881
+ "div",
3882
+ {
3883
+ "data-testid": "menu-overflow-wrapper",
3884
+ className: `relative w-full overflow-hidden ${className ?? ""}`,
3885
+ children: [
3886
+ showLeftArrow && /* @__PURE__ */ jsxs20(
3887
+ "button",
3888
+ {
3889
+ onClick: () => internalScroll(containerRef.current, "left"),
3890
+ 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",
3891
+ "data-testid": "scroll-left-button",
3892
+ children: [
3893
+ /* @__PURE__ */ jsx25(CaretLeft, { size: 16 }),
3894
+ /* @__PURE__ */ jsx25("span", { className: "sr-only", children: "Scroll left" })
3895
+ ]
3896
+ }
3897
+ ),
3898
+ /* @__PURE__ */ jsx25(
3899
+ Menu,
3900
+ {
3901
+ defaultValue,
3902
+ onValueChange,
3903
+ value,
3904
+ variant: "menu2",
3905
+ ...props,
3906
+ children: /* @__PURE__ */ jsx25(MenuContent, { ref: containerRef, variant: "menu2", children })
3907
+ }
3908
+ ),
3909
+ showRightArrow && /* @__PURE__ */ jsxs20(
3910
+ "button",
3911
+ {
3912
+ onClick: () => internalScroll(containerRef.current, "right"),
3913
+ 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",
3914
+ "data-testid": "scroll-right-button",
3915
+ children: [
3916
+ /* @__PURE__ */ jsx25(CaretRight, { size: 16 }),
3917
+ /* @__PURE__ */ jsx25("span", { className: "sr-only", children: "Scroll right" })
3918
+ ]
3919
+ }
3920
+ )
3921
+ ]
3922
+ }
3923
+ );
3924
+ };
3821
3925
  var injectStore3 = (children, store) => Children3.map(children, (child) => {
3822
3926
  if (!isValidElement3(child)) return child;
3823
3927
  const typedChild = child;
@@ -3882,7 +3986,7 @@ var CardActivesResults = forwardRef12(
3882
3986
  "div",
3883
3987
  {
3884
3988
  ref,
3885
- className: `w-full flex flex-col border border-border-50 bg-background rounded-xl ${className}`,
3989
+ className: `w-full flex flex-col border border-border-50 bg-background rounded-xl ${className}`,
3886
3990
  ...props,
3887
3991
  children: [
3888
3992
  /* @__PURE__ */ jsxs21(
@@ -4016,7 +4120,7 @@ var CardProgress = forwardRef12(
4016
4120
  {
4017
4121
  ref,
4018
4122
  className: `
4019
- w-full flex border border-border-50 rounded-xl
4123
+ w-full flex border border-border-50 bg-background rounded-xl
4020
4124
  ${isHorizontal ? "flex-row h-20" : "flex-col"}
4021
4125
  ${className}
4022
4126
  `,
@@ -4066,7 +4170,7 @@ var CardTopic = forwardRef12(
4066
4170
  "div",
4067
4171
  {
4068
4172
  ref,
4069
- className: `w-full py-2 px-4 flex flex-col justify-center gap-2 border border-border-50 rounded-xl min-h-20 ${className}`,
4173
+ className: `w-full py-2 px-4 flex flex-col justify-center gap-2 bg-background border border-border-50 rounded-xl min-h-20 ${className}`,
4070
4174
  ...props,
4071
4175
  children: [
4072
4176
  subHead && /* @__PURE__ */ jsx26("span", { className: "text-text-600 text-2xs flex flex-row gap-1", children: subHead.map((text, index) => /* @__PURE__ */ jsxs21(Fragment4, { children: [
@@ -4143,7 +4247,7 @@ var CardResults = forwardRef12(
4143
4247
  {
4144
4248
  ref,
4145
4249
  className: `
4146
- w-full flex border border-border-50 rounded-xl min-h-20 flex-row items-center pr-4
4250
+ w-full flex border border-border-50 bg-background rounded-xl min-h-20 flex-row items-center pr-4
4147
4251
  ${className}
4148
4252
  `,
4149
4253
  ...props,
@@ -4213,7 +4317,7 @@ var CardStatus = forwardRef12(
4213
4317
  {
4214
4318
  ref,
4215
4319
  className: `
4216
- w-full flex border border-border-50 rounded-xl min-h-20 flex-row items-center pr-4
4320
+ w-full flex border border-border-50 bg-background rounded-xl min-h-20 flex-row items-center pr-4
4217
4321
  ${className}
4218
4322
  `,
4219
4323
  ...props,
@@ -4371,6 +4475,7 @@ export {
4371
4475
  Chips_default as Chips,
4372
4476
  Divider_default as Divider,
4373
4477
  DropdownMenu_default as DropdownMenu,
4478
+ DropdownMenuContent,
4374
4479
  DropdownMenuItem,
4375
4480
  DropdownMenuSeparator,
4376
4481
  DropdownMenuTrigger,
@@ -4381,6 +4486,7 @@ export {
4381
4486
  MenuContent,
4382
4487
  MenuItem,
4383
4488
  MenuLabel,
4489
+ MenuOverflow,
4384
4490
  MenuSeparator,
4385
4491
  Modal_default as Modal,
4386
4492
  NavButton_default as NavButton,