analytica-frontend-lib 1.1.73 → 1.1.75

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
@@ -2333,20 +2333,19 @@ var DropdownMenu = ({
2333
2333
  };
2334
2334
  useEffect6(() => {
2335
2335
  if (open) {
2336
- document.addEventListener("mousedown", handleClickOutside);
2336
+ document.addEventListener("pointerdown", handleClickOutside);
2337
2337
  document.addEventListener("keydown", handleDownkey);
2338
2338
  }
2339
2339
  return () => {
2340
- document.removeEventListener("mousedown", handleClickOutside);
2340
+ document.removeEventListener("pointerdown", handleClickOutside);
2341
2341
  document.removeEventListener("keydown", handleDownkey);
2342
2342
  };
2343
2343
  }, [open]);
2344
2344
  useEffect6(() => {
2345
- setOpen(open);
2346
2345
  onOpenChange?.(open);
2347
2346
  }, [open, onOpenChange]);
2348
2347
  useEffect6(() => {
2349
- if (propOpen) {
2348
+ if (propOpen !== void 0) {
2350
2349
  setOpen(propOpen);
2351
2350
  }
2352
2351
  }, [propOpen]);
@@ -2473,6 +2472,7 @@ var DropdownMenuItem = forwardRef10(
2473
2472
  onClick,
2474
2473
  variant = "menu",
2475
2474
  store: externalStore,
2475
+ preventClose = false,
2476
2476
  ...props
2477
2477
  }, ref) => {
2478
2478
  const store = useDropdownStore(externalStore);
@@ -2484,8 +2484,17 @@ var DropdownMenuItem = forwardRef10(
2484
2484
  e.stopPropagation();
2485
2485
  return;
2486
2486
  }
2487
- onClick?.(e);
2488
- setOpen(false);
2487
+ if (e.type === "click") {
2488
+ onClick?.(e);
2489
+ } else if (e.type === "keydown") {
2490
+ if (e.key === "Enter" || e.key === " ") {
2491
+ onClick?.(e);
2492
+ }
2493
+ props.onKeyDown?.(e);
2494
+ }
2495
+ if (!preventClose) {
2496
+ setOpen(false);
2497
+ }
2489
2498
  };
2490
2499
  const getVariantClasses = () => {
2491
2500
  if (variant === "profile") {
@@ -2512,7 +2521,11 @@ var DropdownMenuItem = forwardRef10(
2512
2521
  `,
2513
2522
  onClick: handleClick,
2514
2523
  onKeyDown: (e) => {
2515
- if (e.key === "Enter" || e.key === " ") handleClick(e);
2524
+ if (e.key === "Enter" || e.key === " ") {
2525
+ e.preventDefault();
2526
+ e.stopPropagation();
2527
+ handleClick(e);
2528
+ }
2516
2529
  },
2517
2530
  tabIndex: disabled ? -1 : 0,
2518
2531
  ...props,
@@ -2578,10 +2591,17 @@ var ProfileMenuHeader = forwardRef10(({ className, name, email, store: _store, .
2578
2591
  );
2579
2592
  });
2580
2593
  ProfileMenuHeader.displayName = "ProfileMenuHeader";
2581
- var ProfileToggleTheme = ({ ...props }) => {
2594
+ var ProfileToggleTheme = ({
2595
+ store: externalStore,
2596
+ ...props
2597
+ }) => {
2582
2598
  const { themeMode, setTheme } = useTheme();
2583
2599
  const [modalThemeToggle, setModalThemeToggle] = useState6(false);
2584
2600
  const [selectedTheme, setSelectedTheme] = useState6(themeMode);
2601
+ const internalStoreRef = useRef3(null);
2602
+ internalStoreRef.current ??= createDropdownStore();
2603
+ const store = externalStore ?? internalStoreRef.current;
2604
+ const setOpen = useStore3(store, (s) => s.setOpen);
2585
2605
  const handleClick = (e) => {
2586
2606
  e.preventDefault();
2587
2607
  e.stopPropagation();
@@ -2590,12 +2610,20 @@ var ProfileToggleTheme = ({ ...props }) => {
2590
2610
  const handleSave = () => {
2591
2611
  setTheme(selectedTheme);
2592
2612
  setModalThemeToggle(false);
2613
+ setOpen(false);
2614
+ };
2615
+ const handleCancel = () => {
2616
+ setSelectedTheme(themeMode);
2617
+ setModalThemeToggle(false);
2618
+ setOpen(false);
2593
2619
  };
2594
2620
  return /* @__PURE__ */ jsxs13(Fragment2, { children: [
2595
2621
  /* @__PURE__ */ jsx20(
2596
2622
  DropdownMenuItem,
2597
2623
  {
2598
2624
  variant: "profile",
2625
+ preventClose: true,
2626
+ store,
2599
2627
  iconLeft: /* @__PURE__ */ jsx20(
2600
2628
  "svg",
2601
2629
  {
@@ -2630,19 +2658,12 @@ var ProfileToggleTheme = ({ ...props }) => {
2630
2658
  Modal_default,
2631
2659
  {
2632
2660
  isOpen: modalThemeToggle,
2633
- onClose: () => setModalThemeToggle(false),
2661
+ onClose: handleCancel,
2634
2662
  title: "Apar\xEAncia",
2635
2663
  size: "md",
2636
2664
  footer: /* @__PURE__ */ jsxs13("div", { className: "flex gap-3", children: [
2637
- /* @__PURE__ */ jsx20(
2638
- Button_default,
2639
- {
2640
- variant: "outline",
2641
- onClick: () => setModalThemeToggle(false),
2642
- children: "Cancelar"
2643
- }
2644
- ),
2645
- /* @__PURE__ */ jsx20(Button_default, { variant: "solid", onClick: () => handleSave(), children: "Salvar" })
2665
+ /* @__PURE__ */ jsx20(Button_default, { variant: "outline", onClick: handleCancel, children: "Cancelar" }),
2666
+ /* @__PURE__ */ jsx20(Button_default, { variant: "solid", onClick: handleSave, children: "Salvar" })
2646
2667
  ] }),
2647
2668
  children: /* @__PURE__ */ jsxs13("div", { className: "flex flex-col", children: [
2648
2669
  /* @__PURE__ */ jsx20("p", { className: "text-sm text-text-500", children: "Escolha o tema:" }),
@@ -10345,7 +10366,7 @@ var QuizHeader = () => {
10345
10366
  }
10346
10367
  );
10347
10368
  };
10348
- var QuizContent = forwardRef20(({ paddingBottom }) => {
10369
+ var QuizContent = ({ paddingBottom }) => {
10349
10370
  const { getCurrentQuestion } = useQuizStore();
10350
10371
  const currentQuestion = getCurrentQuestion();
10351
10372
  const questionComponents = {
@@ -10359,7 +10380,7 @@ var QuizContent = forwardRef20(({ paddingBottom }) => {
10359
10380
  };
10360
10381
  const QuestionComponent = currentQuestion ? questionComponents[currentQuestion.questionType] : null;
10361
10382
  return QuestionComponent ? /* @__PURE__ */ jsx48(QuestionComponent, { paddingBottom }) : null;
10362
- });
10383
+ };
10363
10384
  var QuizQuestionList = ({
10364
10385
  filterType = "all",
10365
10386
  onQuestionClick