analytica-frontend-lib 1.1.72 → 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.
@@ -681,20 +681,19 @@ var DropdownMenu = ({
681
681
  };
682
682
  useEffect4(() => {
683
683
  if (open) {
684
- document.addEventListener("mousedown", handleClickOutside);
684
+ document.addEventListener("pointerdown", handleClickOutside);
685
685
  document.addEventListener("keydown", handleDownkey);
686
686
  }
687
687
  return () => {
688
- document.removeEventListener("mousedown", handleClickOutside);
688
+ document.removeEventListener("pointerdown", handleClickOutside);
689
689
  document.removeEventListener("keydown", handleDownkey);
690
690
  };
691
691
  }, [open]);
692
692
  useEffect4(() => {
693
- setOpen(open);
694
693
  onOpenChange?.(open);
695
694
  }, [open, onOpenChange]);
696
695
  useEffect4(() => {
697
- if (propOpen) {
696
+ if (propOpen !== void 0) {
698
697
  setOpen(propOpen);
699
698
  }
700
699
  }, [propOpen]);
@@ -821,6 +820,7 @@ var DropdownMenuItem = forwardRef2(
821
820
  onClick,
822
821
  variant = "menu",
823
822
  store: externalStore,
823
+ preventClose = false,
824
824
  ...props
825
825
  }, ref) => {
826
826
  const store = useDropdownStore(externalStore);
@@ -832,8 +832,17 @@ var DropdownMenuItem = forwardRef2(
832
832
  e.stopPropagation();
833
833
  return;
834
834
  }
835
- onClick?.(e);
836
- setOpen(false);
835
+ if (e.type === "click") {
836
+ onClick?.(e);
837
+ } else if (e.type === "keydown") {
838
+ if (e.key === "Enter" || e.key === " ") {
839
+ onClick?.(e);
840
+ }
841
+ props.onKeyDown?.(e);
842
+ }
843
+ if (!preventClose) {
844
+ setOpen(false);
845
+ }
837
846
  };
838
847
  const getVariantClasses = () => {
839
848
  if (variant === "profile") {
@@ -860,7 +869,11 @@ var DropdownMenuItem = forwardRef2(
860
869
  `,
861
870
  onClick: handleClick,
862
871
  onKeyDown: (e) => {
863
- if (e.key === "Enter" || e.key === " ") handleClick(e);
872
+ if (e.key === "Enter" || e.key === " ") {
873
+ e.preventDefault();
874
+ e.stopPropagation();
875
+ handleClick(e);
876
+ }
864
877
  },
865
878
  tabIndex: disabled ? -1 : 0,
866
879
  ...props,
@@ -926,10 +939,17 @@ var ProfileMenuHeader = forwardRef2(({ className, name, email, store: _store, ..
926
939
  );
927
940
  });
928
941
  ProfileMenuHeader.displayName = "ProfileMenuHeader";
929
- var ProfileToggleTheme = ({ ...props }) => {
942
+ var ProfileToggleTheme = ({
943
+ store: externalStore,
944
+ ...props
945
+ }) => {
930
946
  const { themeMode, setTheme } = useTheme();
931
947
  const [modalThemeToggle, setModalThemeToggle] = useState2(false);
932
948
  const [selectedTheme, setSelectedTheme] = useState2(themeMode);
949
+ const internalStoreRef = useRef(null);
950
+ internalStoreRef.current ??= createDropdownStore();
951
+ const store = externalStore ?? internalStoreRef.current;
952
+ const setOpen = useStore(store, (s) => s.setOpen);
933
953
  const handleClick = (e) => {
934
954
  e.preventDefault();
935
955
  e.stopPropagation();
@@ -938,12 +958,20 @@ var ProfileToggleTheme = ({ ...props }) => {
938
958
  const handleSave = () => {
939
959
  setTheme(selectedTheme);
940
960
  setModalThemeToggle(false);
961
+ setOpen(false);
962
+ };
963
+ const handleCancel = () => {
964
+ setSelectedTheme(themeMode);
965
+ setModalThemeToggle(false);
966
+ setOpen(false);
941
967
  };
942
968
  return /* @__PURE__ */ jsxs4(Fragment, { children: [
943
969
  /* @__PURE__ */ jsx6(
944
970
  DropdownMenuItem,
945
971
  {
946
972
  variant: "profile",
973
+ preventClose: true,
974
+ store,
947
975
  iconLeft: /* @__PURE__ */ jsx6(
948
976
  "svg",
949
977
  {
@@ -978,19 +1006,12 @@ var ProfileToggleTheme = ({ ...props }) => {
978
1006
  Modal_default,
979
1007
  {
980
1008
  isOpen: modalThemeToggle,
981
- onClose: () => setModalThemeToggle(false),
1009
+ onClose: handleCancel,
982
1010
  title: "Apar\xEAncia",
983
1011
  size: "md",
984
1012
  footer: /* @__PURE__ */ jsxs4("div", { className: "flex gap-3", children: [
985
- /* @__PURE__ */ jsx6(
986
- Button_default,
987
- {
988
- variant: "outline",
989
- onClick: () => setModalThemeToggle(false),
990
- children: "Cancelar"
991
- }
992
- ),
993
- /* @__PURE__ */ jsx6(Button_default, { variant: "solid", onClick: () => handleSave(), children: "Salvar" })
1013
+ /* @__PURE__ */ jsx6(Button_default, { variant: "outline", onClick: handleCancel, children: "Cancelar" }),
1014
+ /* @__PURE__ */ jsx6(Button_default, { variant: "solid", onClick: handleSave, children: "Salvar" })
994
1015
  ] }),
995
1016
  children: /* @__PURE__ */ jsxs4("div", { className: "flex flex-col", children: [
996
1017
  /* @__PURE__ */ jsx6("p", { className: "text-sm text-text-500", children: "Escolha o tema:" }),