analytica-frontend-lib 1.1.73 → 1.1.74

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
@@ -2457,20 +2457,19 @@ var DropdownMenu = ({
2457
2457
  };
2458
2458
  (0, import_react13.useEffect)(() => {
2459
2459
  if (open) {
2460
- document.addEventListener("mousedown", handleClickOutside);
2460
+ document.addEventListener("pointerdown", handleClickOutside);
2461
2461
  document.addEventListener("keydown", handleDownkey);
2462
2462
  }
2463
2463
  return () => {
2464
- document.removeEventListener("mousedown", handleClickOutside);
2464
+ document.removeEventListener("pointerdown", handleClickOutside);
2465
2465
  document.removeEventListener("keydown", handleDownkey);
2466
2466
  };
2467
2467
  }, [open]);
2468
2468
  (0, import_react13.useEffect)(() => {
2469
- setOpen(open);
2470
2469
  onOpenChange?.(open);
2471
2470
  }, [open, onOpenChange]);
2472
2471
  (0, import_react13.useEffect)(() => {
2473
- if (propOpen) {
2472
+ if (propOpen !== void 0) {
2474
2473
  setOpen(propOpen);
2475
2474
  }
2476
2475
  }, [propOpen]);
@@ -2597,6 +2596,7 @@ var DropdownMenuItem = (0, import_react13.forwardRef)(
2597
2596
  onClick,
2598
2597
  variant = "menu",
2599
2598
  store: externalStore,
2599
+ preventClose = false,
2600
2600
  ...props
2601
2601
  }, ref) => {
2602
2602
  const store = useDropdownStore(externalStore);
@@ -2608,8 +2608,17 @@ var DropdownMenuItem = (0, import_react13.forwardRef)(
2608
2608
  e.stopPropagation();
2609
2609
  return;
2610
2610
  }
2611
- onClick?.(e);
2612
- setOpen(false);
2611
+ if (e.type === "click") {
2612
+ onClick?.(e);
2613
+ } else if (e.type === "keydown") {
2614
+ if (e.key === "Enter" || e.key === " ") {
2615
+ onClick?.(e);
2616
+ }
2617
+ props.onKeyDown?.(e);
2618
+ }
2619
+ if (!preventClose) {
2620
+ setOpen(false);
2621
+ }
2613
2622
  };
2614
2623
  const getVariantClasses = () => {
2615
2624
  if (variant === "profile") {
@@ -2636,7 +2645,11 @@ var DropdownMenuItem = (0, import_react13.forwardRef)(
2636
2645
  `,
2637
2646
  onClick: handleClick,
2638
2647
  onKeyDown: (e) => {
2639
- if (e.key === "Enter" || e.key === " ") handleClick(e);
2648
+ if (e.key === "Enter" || e.key === " ") {
2649
+ e.preventDefault();
2650
+ e.stopPropagation();
2651
+ handleClick(e);
2652
+ }
2640
2653
  },
2641
2654
  tabIndex: disabled ? -1 : 0,
2642
2655
  ...props,
@@ -2702,10 +2715,17 @@ var ProfileMenuHeader = (0, import_react13.forwardRef)(({ className, name, email
2702
2715
  );
2703
2716
  });
2704
2717
  ProfileMenuHeader.displayName = "ProfileMenuHeader";
2705
- var ProfileToggleTheme = ({ ...props }) => {
2718
+ var ProfileToggleTheme = ({
2719
+ store: externalStore,
2720
+ ...props
2721
+ }) => {
2706
2722
  const { themeMode, setTheme } = useTheme();
2707
2723
  const [modalThemeToggle, setModalThemeToggle] = (0, import_react13.useState)(false);
2708
2724
  const [selectedTheme, setSelectedTheme] = (0, import_react13.useState)(themeMode);
2725
+ const internalStoreRef = (0, import_react13.useRef)(null);
2726
+ internalStoreRef.current ??= createDropdownStore();
2727
+ const store = externalStore ?? internalStoreRef.current;
2728
+ const setOpen = (0, import_zustand5.useStore)(store, (s) => s.setOpen);
2709
2729
  const handleClick = (e) => {
2710
2730
  e.preventDefault();
2711
2731
  e.stopPropagation();
@@ -2714,12 +2734,20 @@ var ProfileToggleTheme = ({ ...props }) => {
2714
2734
  const handleSave = () => {
2715
2735
  setTheme(selectedTheme);
2716
2736
  setModalThemeToggle(false);
2737
+ setOpen(false);
2738
+ };
2739
+ const handleCancel = () => {
2740
+ setSelectedTheme(themeMode);
2741
+ setModalThemeToggle(false);
2742
+ setOpen(false);
2717
2743
  };
2718
2744
  return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
2719
2745
  /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2720
2746
  DropdownMenuItem,
2721
2747
  {
2722
2748
  variant: "profile",
2749
+ preventClose: true,
2750
+ store,
2723
2751
  iconLeft: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2724
2752
  "svg",
2725
2753
  {
@@ -2754,19 +2782,12 @@ var ProfileToggleTheme = ({ ...props }) => {
2754
2782
  Modal_default,
2755
2783
  {
2756
2784
  isOpen: modalThemeToggle,
2757
- onClose: () => setModalThemeToggle(false),
2785
+ onClose: handleCancel,
2758
2786
  title: "Apar\xEAncia",
2759
2787
  size: "md",
2760
2788
  footer: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex gap-3", children: [
2761
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2762
- Button_default,
2763
- {
2764
- variant: "outline",
2765
- onClick: () => setModalThemeToggle(false),
2766
- children: "Cancelar"
2767
- }
2768
- ),
2769
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Button_default, { variant: "solid", onClick: () => handleSave(), children: "Salvar" })
2789
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Button_default, { variant: "outline", onClick: handleCancel, children: "Cancelar" }),
2790
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Button_default, { variant: "solid", onClick: handleSave, children: "Salvar" })
2770
2791
  ] }),
2771
2792
  children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex flex-col", children: [
2772
2793
  /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "text-sm text-text-500", children: "Escolha o tema:" }),