@cnc-ti/layout-basic 8.8.1 → 9.0.0

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
@@ -3175,7 +3175,8 @@ var availableApps = {
3175
3175
  CDD: { name: "Or\xE1culoS", url: process.env.NEXT_PUBLIC_CDD_APP_URL ?? "https://oraculos.cnc.org.br/", icon: "fa-solid fa-database", color: "#00B8D9" }
3176
3176
  };
3177
3177
  function AppsMenu({
3178
- apps = Object.keys(availableApps).map((key) => ({ code: key, url: availableApps[key].url }))
3178
+ apps = Object.keys(availableApps).map((key) => ({ code: key, url: availableApps[key].url })),
3179
+ show = false
3179
3180
  }) {
3180
3181
  const [isOpen, setIsOpen] = useState(false);
3181
3182
  const menuRef = useRef(null);
@@ -3197,6 +3198,9 @@ function AppsMenu({
3197
3198
  document.removeEventListener("mousedown", handleClickOutside);
3198
3199
  };
3199
3200
  }, [isOpen]);
3201
+ if (!show) {
3202
+ return null;
3203
+ }
3200
3204
  return /* @__PURE__ */ jsxs4("div", { className: "cnc-relative cnc-flex cnc-items-center cnc-h-full", ref: menuRef, children: [
3201
3205
  /* @__PURE__ */ jsx4(
3202
3206
  "button",
@@ -3384,7 +3388,7 @@ var ModalMudancaEntidade = ({
3384
3388
  // src/components/Sidebar/index.tsx
3385
3389
  import * as Accordion from "@radix-ui/react-accordion";
3386
3390
  import { Slot as Slot2 } from "@radix-ui/react-slot";
3387
- import {
3391
+ import React8, {
3388
3392
  cloneElement,
3389
3393
  isValidElement
3390
3394
  } from "react";
@@ -3555,90 +3559,341 @@ function LogotipoDefault() {
3555
3559
  );
3556
3560
  }
3557
3561
 
3562
+ // src/components/molecules/overlay/popover.tsx
3563
+ import * as React5 from "react";
3564
+ import * as PopoverPrimitive from "@radix-ui/react-popover";
3565
+ import { jsx as jsx9 } from "react/jsx-runtime";
3566
+ var Popover = PopoverPrimitive.Root;
3567
+ var PopoverTrigger = PopoverPrimitive.Trigger;
3568
+ var PopoverContent = React5.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx9(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx9(
3569
+ PopoverPrimitive.Content,
3570
+ {
3571
+ ref,
3572
+ align,
3573
+ sideOffset,
3574
+ className: cn(
3575
+ "cnc-z-50 cnc-w-72 cnc-rounded-md cnc-border cnc-bg-popover cnc-p-4 cnc-text-popover-foreground cnc-shadow-md cnc-outline-none data-[state=open]:cnc-animate-in data-[state=closed]:cnc-animate-out data-[state=closed]:cnc-fade-out-0 data-[state=open]:cnc-fade-in-0 data-[state=closed]:cnc-zoom-out-95 data-[state=open]:cnc-zoom-in-95 data-[side=bottom]:cnc-slide-in-from-top-2 data-[side=left]:cnc-slide-in-from-right-2 data-[side=right]:cnc-slide-in-from-left-2 data-[side=top]:cnc-slide-in-from-bottom-2 cnc-origin-[--radix-popover-content-transform-origin]",
3576
+ className
3577
+ ),
3578
+ ...props
3579
+ }
3580
+ ) }));
3581
+ PopoverContent.displayName = PopoverPrimitive.Content.displayName;
3582
+
3583
+ // src/components/Sidebar/sidebar-context.tsx
3584
+ import * as React6 from "react";
3585
+ var SidebarContext = React6.createContext(void 0);
3586
+ var FALLBACK = {
3587
+ variant: "expanded",
3588
+ isMobile: false,
3589
+ requestState: () => void 0
3590
+ };
3591
+ function useSidebar() {
3592
+ return React6.useContext(SidebarContext) ?? FALLBACK;
3593
+ }
3594
+
3595
+ // src/components/Sidebar/use-sidebar-breakpoint.ts
3596
+ import * as React7 from "react";
3597
+ var SIDEBAR_MOBILE_BREAKPOINT = 768;
3598
+ function useSidebarBreakpoint(options = {}) {
3599
+ const {
3600
+ mobileBreakpoint = SIDEBAR_MOBILE_BREAKPOINT,
3601
+ defaultState = "expanded"
3602
+ } = options;
3603
+ const [isMobile, setIsMobile] = React7.useState(false);
3604
+ React7.useEffect(() => {
3605
+ if (typeof window === "undefined") return;
3606
+ const query = window.matchMedia(`(max-width: ${mobileBreakpoint - 1}px)`);
3607
+ const sync = () => setIsMobile(query.matches);
3608
+ sync();
3609
+ if (query.addEventListener) {
3610
+ query.addEventListener("change", sync);
3611
+ return () => query.removeEventListener("change", sync);
3612
+ }
3613
+ query.addListener(sync);
3614
+ return () => query.removeListener(sync);
3615
+ }, [mobileBreakpoint]);
3616
+ const getNextState = React7.useCallback(
3617
+ (current) => {
3618
+ if (isMobile) {
3619
+ return current === "closed" ? "expanded" : "closed";
3620
+ }
3621
+ return current === "expanded" ? "mini" : "expanded";
3622
+ },
3623
+ [isMobile]
3624
+ );
3625
+ const suggested = isMobile ? "closed" : defaultState;
3626
+ return { isMobile, suggested, getNextState };
3627
+ }
3628
+
3558
3629
  // src/components/Sidebar/index.tsx
3559
- import { jsx as jsx9, jsxs as jsxs9 } from "react/jsx-runtime";
3630
+ import { Fragment as Fragment5, jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
3631
+ var MINI_WIDTH = "4rem";
3632
+ var EXPANDED_WIDTH = "280px";
3633
+ function resolveVariant(variant, isOpen) {
3634
+ if (variant) return variant;
3635
+ if (isOpen === false) return "closed";
3636
+ return "expanded";
3637
+ }
3560
3638
  function SidebarContainer({
3561
- isOpen = true,
3639
+ isOpen,
3640
+ variant,
3641
+ onVariantChange,
3642
+ mobileBreakpoint = SIDEBAR_MOBILE_BREAKPOINT,
3643
+ className,
3644
+ style,
3645
+ children,
3562
3646
  ...rest
3563
3647
  }) {
3564
- return /* @__PURE__ */ jsx9(
3648
+ const { isMobile } = useSidebarBreakpoint({ mobileBreakpoint });
3649
+ const resolved = resolveVariant(variant, isOpen);
3650
+ const requestState = React8.useCallback(
3651
+ (next) => onVariantChange?.(next),
3652
+ [onVariantChange]
3653
+ );
3654
+ const context = React8.useMemo(
3655
+ () => ({ variant: resolved, isMobile, requestState }),
3656
+ [resolved, isMobile, requestState]
3657
+ );
3658
+ if (resolved === "closed") {
3659
+ return /* @__PURE__ */ jsx10(SidebarContext.Provider, { value: context });
3660
+ }
3661
+ const width = resolved === "mini" ? MINI_WIDTH : isMobile ? "100vw" : EXPANDED_WIDTH;
3662
+ return /* @__PURE__ */ jsx10(SidebarContext.Provider, { value: context, children: /* @__PURE__ */ jsx10(
3565
3663
  "div",
3566
3664
  {
3567
- "data-is-open": isOpen,
3568
- style: { width: isOpen ? "100%" : "0" },
3569
- className: `cnc-w-full cnc-max-w-full cnc-transition-all cnc-duration-300 cnc-ease-in-out cnc-sidebar-container cnc-bg-brand-blue-400 data-[is-open=true]:w-0`,
3570
- ...rest
3665
+ "data-is-open": true,
3666
+ "data-state": resolved,
3667
+ style: { width, ...style },
3668
+ className: cn(
3669
+ "cnc-flex cnc-flex-col cnc-h-screen cnc-overflow-hidden",
3670
+ "cnc-transition-all cnc-duration-300 cnc-ease-in-out",
3671
+ "cnc-sidebar-container cnc-bg-primary-800",
3672
+ className
3673
+ ),
3674
+ ...rest,
3675
+ children
3571
3676
  }
3572
- );
3677
+ ) });
3573
3678
  }
3574
3679
  function SidebarImageBrand({
3575
3680
  asChild = false,
3576
3681
  onChangeToggle,
3682
+ onToggleRequest,
3683
+ showToggle = true,
3577
3684
  img,
3578
3685
  children
3579
3686
  }) {
3580
- return /* @__PURE__ */ jsxs9("div", { className: "cnc-flex cnc-items-center cnc-justify-between cnc-bg-primary-900 cnc-w-full cnc-h-full cnc-max-h-[70px] cnc-py-5 cnc-px-6 cnc-transition-all cnc-duration-300 cnc-ease-in-out cnc-sidebar-child-w-0", children: [
3581
- /* @__PURE__ */ jsx9("span", { className: "cnc-sidebar-child-hidden", children: asChild && !img ? children : img && img.src ? /* @__PURE__ */ jsx9(
3582
- "img",
3583
- {
3584
- src: img.src,
3585
- alt: img?.alt,
3586
- className: "cnc-w-[159px] cnc-h-[28px] cnc-object-contain"
3587
- }
3588
- ) : /* @__PURE__ */ jsx9(LogotipoDefault, {}) }),
3589
- onChangeToggle && /* @__PURE__ */ jsx9(
3590
- "button",
3591
- {
3592
- onClick: onChangeToggle,
3593
- className: "hover:cnc-brightness-75 cnc-sidebar-child-hidden",
3594
- children: /* @__PURE__ */ jsx9(
3595
- "svg",
3687
+ const { variant, isMobile, requestState } = useSidebar();
3688
+ const isMini = variant === "mini";
3689
+ const handleToggle = () => {
3690
+ const next = isMobile ? variant === "closed" ? "expanded" : "closed" : variant === "expanded" ? "mini" : "expanded";
3691
+ onChangeToggle?.();
3692
+ if (onToggleRequest) {
3693
+ onToggleRequest(next);
3694
+ return;
3695
+ }
3696
+ requestState(next);
3697
+ };
3698
+ return /* @__PURE__ */ jsxs9(
3699
+ "div",
3700
+ {
3701
+ className: cn(
3702
+ "cnc-flex cnc-items-center cnc-shrink-0 cnc-bg-primary-900",
3703
+ "cnc-w-full cnc-max-h-[70px] cnc-py-5 cnc-px-6",
3704
+ "cnc-transition-all cnc-duration-300 cnc-ease-in-out",
3705
+ isMini ? "cnc-justify-center cnc-px-0" : "cnc-justify-between cnc-sidebar-child-w-0"
3706
+ ),
3707
+ children: [
3708
+ !isMini && /* @__PURE__ */ jsx10("span", { className: "cnc-sidebar-child-hidden", children: asChild && !img ? children : img && img.src ? /* @__PURE__ */ jsx10(
3709
+ "img",
3710
+ {
3711
+ src: img.src,
3712
+ alt: img?.alt,
3713
+ className: "cnc-w-[159px] cnc-h-[28px] cnc-object-contain"
3714
+ }
3715
+ ) : /* @__PURE__ */ jsx10(LogotipoDefault, {}) }),
3716
+ showToggle && /* @__PURE__ */ jsx10(
3717
+ "button",
3596
3718
  {
3597
- stroke: "currentColor",
3598
- fill: "currentColor",
3599
- strokeWidth: "0",
3600
- viewBox: "0 0 512 512",
3601
- className: "cnc-size-6 cnc-text-white",
3602
- height: "1em",
3603
- width: "1em",
3604
- xmlns: "http://www.w3.org/2000/svg",
3605
- children: /* @__PURE__ */ jsx9(
3606
- "path",
3719
+ type: "button",
3720
+ onClick: handleToggle,
3721
+ "aria-label": "Alternar barra lateral",
3722
+ className: cn(
3723
+ "hover:cnc-brightness-75 cnc-cursor-pointer",
3724
+ !isMini && "cnc-sidebar-child-hidden"
3725
+ ),
3726
+ children: /* @__PURE__ */ jsx10(
3727
+ "svg",
3607
3728
  {
3608
- fill: "none",
3609
- strokeLinecap: "round",
3610
- strokeMiterlimit: "10",
3611
- strokeWidth: "48",
3612
- d: "M88 152h336M88 256h336M88 360h336"
3729
+ stroke: "currentColor",
3730
+ fill: "currentColor",
3731
+ strokeWidth: "0",
3732
+ viewBox: "0 0 512 512",
3733
+ className: "cnc-size-6 cnc-text-white",
3734
+ height: "1em",
3735
+ width: "1em",
3736
+ xmlns: "http://www.w3.org/2000/svg",
3737
+ children: /* @__PURE__ */ jsx10(
3738
+ "path",
3739
+ {
3740
+ fill: "none",
3741
+ strokeLinecap: "round",
3742
+ strokeMiterlimit: "10",
3743
+ strokeWidth: "48",
3744
+ d: "M88 152h336M88 256h336M88 360h336"
3745
+ }
3746
+ )
3613
3747
  }
3614
3748
  )
3615
3749
  }
3616
3750
  )
3617
- }
3618
- )
3619
- ] });
3751
+ ]
3752
+ }
3753
+ );
3620
3754
  }
3621
- function Sidebar({ children, ...rest }) {
3622
- return /* @__PURE__ */ jsx9(Accordion.Root, { ...rest, children: /* @__PURE__ */ jsx9(
3623
- "div",
3755
+ function Sidebar({ children, className, ...rest }) {
3756
+ const { variant } = useSidebar();
3757
+ const isMini = variant === "mini";
3758
+ return /* @__PURE__ */ jsx10(Accordion.Root, { ...rest, children: /* @__PURE__ */ jsx10(
3759
+ "nav",
3624
3760
  {
3625
- className: "cnc-w-full cnc-h-screen-minus-70 cnc-flex cnc-flex-col cnc-py-8 cnc-bg-primary-800 cnc-px-5 \n cnc-scroll-smooth cnc-overflow-y-auto\n [&::-webkit-scrollbar]:cnc-w-1\n [&::-webkit-scrollbar-track]:cnc-bg-brand-blue-500\n [&::-webkit-scrollbar-thumb]:cnc-rounded\n [&::-webkit-scrollbar-thumb]:cnc-border\n [&::-webkit-scrollbar-thumb]:cnc-border-solid\n [&::-webkit-scrollbar-thumb]:cnc-border-brand-gray-400\n [&::-webkit-scrollbar-thumb]:cnc-bg-brand-gray-200\n cnc-sidebar-child-w-0",
3761
+ className: cn(
3762
+ "cnc-w-full cnc-flex-1 cnc-flex cnc-flex-col cnc-py-8 cnc-bg-primary-800",
3763
+ "cnc-scroll-smooth cnc-overflow-y-auto cnc-overflow-x-hidden",
3764
+ "[&::-webkit-scrollbar]:cnc-w-1",
3765
+ "[&::-webkit-scrollbar-track]:cnc-bg-brand-blue-500",
3766
+ "[&::-webkit-scrollbar-thumb]:cnc-rounded",
3767
+ "[&::-webkit-scrollbar-thumb]:cnc-border",
3768
+ "[&::-webkit-scrollbar-thumb]:cnc-border-solid",
3769
+ "[&::-webkit-scrollbar-thumb]:cnc-border-brand-gray-400",
3770
+ "[&::-webkit-scrollbar-thumb]:cnc-bg-brand-gray-200",
3771
+ isMini ? "cnc-px-2" : "cnc-px-5 cnc-sidebar-child-w-0",
3772
+ className
3773
+ ),
3626
3774
  children
3627
3775
  }
3628
3776
  ) });
3629
3777
  }
3778
+ function renderIconItem(icon) {
3779
+ if (!icon) return null;
3780
+ if (isValidElement(icon) && icon.type === "svg") {
3781
+ const svgIcon = icon;
3782
+ return cloneElement(svgIcon, {
3783
+ height: 20,
3784
+ width: 20
3785
+ });
3786
+ }
3787
+ return /* @__PURE__ */ jsx10("span", { className: "cnc-w-5 cnc-h-5 cnc-shrink-0 cnc-flex cnc-items-center cnc-justify-center cnc-overflow-hidden", children: icon });
3788
+ }
3789
+ var legacyWarned = /* @__PURE__ */ new Set();
3790
+ function warnLegacyChildren(context) {
3791
+ if (process.env.NODE_ENV === "production") return;
3792
+ if (legacyWarned.has(context)) return;
3793
+ legacyWarned.add(context);
3794
+ console.warn(
3795
+ `[layout-basic] ${context}: passar \xEDcone e texto como "children" est\xE1 obsoleto desde a v9. Use as props "icon" e "label" \u2014 sem elas o estado "mini" n\xE3o consegue ocultar o r\xF3tulo nem exibir o tooltip.`
3796
+ );
3797
+ }
3798
+ function MiniTooltip({ label }) {
3799
+ return /* @__PURE__ */ jsx10(
3800
+ "span",
3801
+ {
3802
+ role: "tooltip",
3803
+ className: cn(
3804
+ "cnc-pointer-events-none cnc-absolute cnc-left-full cnc-top-1/2",
3805
+ "cnc--translate-y-1/2 cnc-ml-2 cnc-z-50 cnc-whitespace-nowrap",
3806
+ "cnc-rounded-md cnc-bg-gray-900 cnc-px-2.5 cnc-py-1.5",
3807
+ "cnc-text-xs cnc-font-medium cnc-text-white cnc-shadow-lg",
3808
+ "cnc-opacity-0 cnc-transition-opacity cnc-duration-150",
3809
+ "group-hover:cnc-opacity-100 group-focus-within:cnc-opacity-100"
3810
+ ),
3811
+ children: label
3812
+ }
3813
+ );
3814
+ }
3630
3815
  function SidebarNavLink({
3631
3816
  asChild = false,
3632
3817
  type = "primary",
3818
+ icon,
3819
+ label,
3820
+ ativo = false,
3821
+ disabled = false,
3822
+ keepOpenOnClick = false,
3823
+ className,
3824
+ children,
3825
+ onClick,
3633
3826
  ...rest
3634
3827
  }) {
3828
+ const { variant, isMobile, requestState } = useSidebar();
3829
+ const isMini = variant === "mini";
3830
+ const usesLegacyChildren = !icon && !label && children != null;
3831
+ React8.useEffect(() => {
3832
+ if (usesLegacyChildren) warnLegacyChildren("SidebarNavLink");
3833
+ }, [usesLegacyChildren]);
3635
3834
  const Component = asChild ? Slot2 : "a";
3636
- return /* @__PURE__ */ jsx9(
3835
+ const handleClick = (event) => {
3836
+ if (disabled) {
3837
+ event.preventDefault();
3838
+ return;
3839
+ }
3840
+ onClick?.(event);
3841
+ if (isMobile && !keepOpenOnClick && !event.defaultPrevented) {
3842
+ requestState("closed");
3843
+ }
3844
+ };
3845
+ const content = usesLegacyChildren ? children : /* @__PURE__ */ jsxs9(Fragment5, { children: [
3846
+ renderIconItem(icon),
3847
+ !isMini && label != null && /* @__PURE__ */ jsx10("span", { className: "cnc-truncate", children: label })
3848
+ ] });
3849
+ const link = /* @__PURE__ */ jsx10(
3637
3850
  Component,
3638
3851
  {
3639
3852
  "data-type": type,
3640
- className: "cnc-sidebar-item cnc-w-full cnc-py-4 cnc-text-white cnc-flex cnc-gap-2 cnc-items-center cnc-text-base hover:cnc-text-blue-600 data-[type=secondary]:cnc-pl-0 data-[type=secondary]:cnc-text-sm data-[type=secondary]:cnc-py-0 data-[type=secondary]:cnc-my-2 cnc-sidebar-child-hidden",
3641
- ...rest
3853
+ "data-active": ativo || void 0,
3854
+ "aria-current": ativo ? "page" : void 0,
3855
+ "aria-disabled": disabled || void 0,
3856
+ tabIndex: disabled ? -1 : void 0,
3857
+ onClick: handleClick,
3858
+ className: cn(
3859
+ "cnc-sidebar-item cnc-w-full cnc-flex cnc-items-center cnc-gap-2",
3860
+ "cnc-text-base cnc-text-white cnc-no-underline",
3861
+ "cnc-transition-colors cnc-duration-200",
3862
+ "hover:cnc-text-blue-600",
3863
+ "data-[type=secondary]:cnc-pl-0 data-[type=secondary]:cnc-text-sm",
3864
+ "data-[type=secondary]:cnc-py-0 data-[type=secondary]:cnc-my-2",
3865
+ isMini ? "cnc-justify-center cnc-rounded-md cnc-px-2 cnc-py-2.5" : "cnc-py-4 cnc-sidebar-child-hidden",
3866
+ ativo && "cnc-bg-white/20 cnc-rounded-md",
3867
+ disabled && "cnc-opacity-60 cnc-pointer-events-none",
3868
+ className
3869
+ ),
3870
+ ...rest,
3871
+ children: content
3872
+ }
3873
+ );
3874
+ if (isMini && label != null) {
3875
+ return /* @__PURE__ */ jsxs9("div", { className: "cnc-relative cnc-group cnc-mb-1", children: [
3876
+ link,
3877
+ /* @__PURE__ */ jsx10(MiniTooltip, { label })
3878
+ ] });
3879
+ }
3880
+ return link;
3881
+ }
3882
+ function ChevronIcon({ className }) {
3883
+ return /* @__PURE__ */ jsx10(
3884
+ "svg",
3885
+ {
3886
+ xmlns: "http://www.w3.org/2000/svg",
3887
+ width: "24",
3888
+ height: "24",
3889
+ viewBox: "0 0 24 24",
3890
+ fill: "none",
3891
+ stroke: "currentColor",
3892
+ strokeWidth: "2",
3893
+ strokeLinecap: "round",
3894
+ strokeLinejoin: "round",
3895
+ className,
3896
+ children: /* @__PURE__ */ jsx10("path", { d: "m9 18 6-6-6-6" })
3642
3897
  }
3643
3898
  );
3644
3899
  }
@@ -3646,57 +3901,62 @@ function SidebarNavCollapse({
3646
3901
  children,
3647
3902
  title,
3648
3903
  icon,
3904
+ className,
3649
3905
  ...rest
3650
3906
  }) {
3651
- return /* @__PURE__ */ jsxs9(Accordion.Item, { ...rest, className: "cnc-sidebar-item", children: [
3907
+ const { variant } = useSidebar();
3908
+ if (variant === "mini") {
3909
+ return /* @__PURE__ */ jsxs9(Popover, { children: [
3910
+ /* @__PURE__ */ jsx10(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx10(
3911
+ "button",
3912
+ {
3913
+ type: "button",
3914
+ "aria-label": title,
3915
+ className: cn(
3916
+ "cnc-sidebar-item cnc-w-full cnc-mb-1 cnc-flex cnc-items-center",
3917
+ "cnc-justify-center cnc-rounded-md cnc-px-2 cnc-py-2.5",
3918
+ "cnc-text-white cnc-transition-colors cnc-duration-200",
3919
+ "hover:cnc-bg-white/10 hover:cnc-text-blue-600",
3920
+ className
3921
+ ),
3922
+ children: renderIconItem(icon)
3923
+ }
3924
+ ) }),
3925
+ /* @__PURE__ */ jsxs9(
3926
+ PopoverContent,
3927
+ {
3928
+ side: "right",
3929
+ align: "start",
3930
+ sideOffset: 8,
3931
+ className: "cnc-w-56 cnc-bg-primary-800 cnc-border-primary-200 cnc-p-2",
3932
+ children: [
3933
+ /* @__PURE__ */ jsx10("p", { className: "cnc-px-2 cnc-pb-2 cnc-text-xs cnc-font-semibold cnc-text-white/70", children: title }),
3934
+ /* @__PURE__ */ jsx10("div", { className: "cnc-flex cnc-flex-col", children })
3935
+ ]
3936
+ }
3937
+ )
3938
+ ] });
3939
+ }
3940
+ return /* @__PURE__ */ jsxs9(Accordion.Item, { ...rest, className: cn("cnc-sidebar-item", className), children: [
3652
3941
  /* @__PURE__ */ jsxs9(Accordion.Trigger, { className: "group cnc-w-full cnc-py-4 cnc-text-base cnc-text-white cnc-flex cnc-gap-2 cnc-items-center cnc-justify-between hover:cnc-text-blue-600 cnc-sidebar-child-hidden", children: [
3653
3942
  /* @__PURE__ */ jsxs9("div", { className: "cnc-flex cnc-items-center cnc-gap-2", children: [
3654
- icon && renderIconItem(icon),
3943
+ renderIconItem(icon),
3655
3944
  title
3656
3945
  ] }),
3657
- /* @__PURE__ */ jsx9("div", { className: "cnc-w-4 cnc-h-4", children: /* @__PURE__ */ jsx9(
3658
- "svg",
3659
- {
3660
- xmlns: "http://www.w3.org/2000/svg",
3661
- width: "24",
3662
- height: "24",
3663
- viewBox: "0 0 24 24",
3664
- fill: "none",
3665
- stroke: "currentColor",
3666
- strokeWidth: "2",
3667
- strokeLinecap: "round",
3668
- strokeLinejoin: "round",
3669
- className: "cnc-w-full cnc-h-full cnc-text-violet10 cnc-transition-transform cnc-duration-300 cnc-ease-[cubic-bezier(0.87,_0,_0.13,_1)] group-data-[state=open]:cnc-rotate-90",
3670
- children: /* @__PURE__ */ jsx9("path", { d: "m9 18 6-6-6-6" })
3671
- }
3672
- ) })
3946
+ /* @__PURE__ */ jsx10("div", { className: "cnc-w-4 cnc-h-4", children: /* @__PURE__ */ jsx10(ChevronIcon, { className: "cnc-w-full cnc-h-full cnc-text-violet10 cnc-transition-transform cnc-duration-300 cnc-ease-[cubic-bezier(0.87,_0,_0.13,_1)] group-data-[state=open]:cnc-rotate-90" }) })
3673
3947
  ] }),
3674
- /* @__PURE__ */ jsx9(Accordion.Content, { className: "cnc-overflow-hidden data-[state=closed]:cnc-animate-slideUp data-[state=open]:cnc-animate-slideDown cnc-py-2", children: /* @__PURE__ */ jsx9("div", { className: "cnc-bg-white/10 cnc-rounded-md cnc-font-normal cnc-px-5 cnc-py-3", children }) })
3948
+ /* @__PURE__ */ jsx10(Accordion.Content, { className: "cnc-overflow-hidden data-[state=closed]:cnc-animate-slideUp data-[state=open]:cnc-animate-slideDown cnc-py-2", children: /* @__PURE__ */ jsx10("div", { className: "cnc-bg-white/10 cnc-rounded-md cnc-font-normal cnc-px-5 cnc-py-3", children }) })
3675
3949
  ] });
3676
3950
  }
3677
- function renderIconItem(icon) {
3678
- if (!icon) return null;
3679
- if (isValidElement(icon) && icon.type === "svg") {
3680
- const svgIcon = icon;
3681
- return cloneElement(svgIcon, {
3682
- height: 20,
3683
- width: 20
3684
- });
3685
- }
3686
- if (isValidElement(icon)) {
3687
- return /* @__PURE__ */ jsx9("span", { className: "cnc-w-5 cnc-h-5 cnc-overflow-hidden", children: icon });
3688
- }
3689
- return /* @__PURE__ */ jsx9("span", { className: "cnc-w-5 cnc-h-5 cnc-overflow-hidden", children: icon });
3690
- }
3691
3951
 
3692
3952
  // src/components/Popover/index.tsx
3693
- import * as PopoverPrimitive from "@radix-ui/react-popover";
3694
- import * as React6 from "react";
3695
- import { jsx as jsx10 } from "react/jsx-runtime";
3696
- var Popover = PopoverPrimitive.Root;
3697
- var PopoverTrigger = PopoverPrimitive.Trigger;
3698
- var PopoverContent = React6.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx10(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx10(
3699
- PopoverPrimitive.Content,
3953
+ import * as PopoverPrimitive2 from "@radix-ui/react-popover";
3954
+ import * as React9 from "react";
3955
+ import { jsx as jsx11 } from "react/jsx-runtime";
3956
+ var Popover2 = PopoverPrimitive2.Root;
3957
+ var PopoverTrigger2 = PopoverPrimitive2.Trigger;
3958
+ var PopoverContent2 = React9.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx11(PopoverPrimitive2.Portal, { children: /* @__PURE__ */ jsx11(
3959
+ PopoverPrimitive2.Content,
3700
3960
  {
3701
3961
  ref,
3702
3962
  align,
@@ -3708,18 +3968,18 @@ var PopoverContent = React6.forwardRef(({ className, align = "center", sideOffse
3708
3968
  ...props
3709
3969
  }
3710
3970
  ) }));
3711
- PopoverContent.displayName = PopoverPrimitive.Content.displayName;
3971
+ PopoverContent2.displayName = PopoverPrimitive2.Content.displayName;
3712
3972
 
3713
3973
  // src/components/Select/index.tsx
3714
- import * as React7 from "react";
3974
+ import * as React10 from "react";
3715
3975
  import * as SelectPrimitive from "@radix-ui/react-select";
3716
- import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
3976
+ import { jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
3717
3977
  var Select = SelectPrimitive.Root;
3718
3978
  var SelectGroup = SelectPrimitive.Group;
3719
3979
  var SelectValue = SelectPrimitive.Value;
3720
3980
  var SelectPortal = SelectPrimitive.Portal;
3721
3981
  var SelectViewport = SelectPrimitive.Viewport;
3722
- var SelectTrigger = React7.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
3982
+ var SelectTrigger = React10.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
3723
3983
  SelectPrimitive.Trigger,
3724
3984
  {
3725
3985
  ref,
@@ -3730,12 +3990,12 @@ var SelectTrigger = React7.forwardRef(({ className, children, ...props }, ref) =
3730
3990
  ...props,
3731
3991
  children: [
3732
3992
  children,
3733
- /* @__PURE__ */ jsx11(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx11(ChevronDown, { className: "h-4 w-4 opacity-50" }) })
3993
+ /* @__PURE__ */ jsx12(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx12(ChevronDown, { className: "h-4 w-4 opacity-50" }) })
3734
3994
  ]
3735
3995
  }
3736
3996
  ));
3737
3997
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
3738
- var SelectScrollUpButton = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
3998
+ var SelectScrollUpButton = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
3739
3999
  SelectPrimitive.ScrollUpButton,
3740
4000
  {
3741
4001
  ref,
@@ -3744,11 +4004,11 @@ var SelectScrollUpButton = React7.forwardRef(({ className, ...props }, ref) => /
3744
4004
  className
3745
4005
  ),
3746
4006
  ...props,
3747
- children: /* @__PURE__ */ jsx11(ChevronUp, { className: "cnc-h-4 cnc-w-4" })
4007
+ children: /* @__PURE__ */ jsx12(ChevronUp, { className: "cnc-h-4 cnc-w-4" })
3748
4008
  }
3749
4009
  ));
3750
4010
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
3751
- var SelectScrollDownButton = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
4011
+ var SelectScrollDownButton = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
3752
4012
  SelectPrimitive.ScrollDownButton,
3753
4013
  {
3754
4014
  ref,
@@ -3757,11 +4017,11 @@ var SelectScrollDownButton = React7.forwardRef(({ className, ...props }, ref) =>
3757
4017
  className
3758
4018
  ),
3759
4019
  ...props,
3760
- children: /* @__PURE__ */ jsx11(ChevronDown, { className: "cnc-h-4 cnc-w-4" })
4020
+ children: /* @__PURE__ */ jsx12(ChevronDown, { className: "cnc-h-4 cnc-w-4" })
3761
4021
  }
3762
4022
  ));
3763
4023
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
3764
- var SelectContent = React7.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx11(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs10(
4024
+ var SelectContent = React10.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx12(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs10(
3765
4025
  SelectPrimitive.Content,
3766
4026
  {
3767
4027
  ref,
@@ -3773,8 +4033,8 @@ var SelectContent = React7.forwardRef(({ className, children, position = "popper
3773
4033
  position,
3774
4034
  ...props,
3775
4035
  children: [
3776
- /* @__PURE__ */ jsx11(SelectScrollUpButton, {}),
3777
- /* @__PURE__ */ jsx11(
4036
+ /* @__PURE__ */ jsx12(SelectScrollUpButton, {}),
4037
+ /* @__PURE__ */ jsx12(
3778
4038
  SelectPrimitive.Viewport,
3779
4039
  {
3780
4040
  className: cn(
@@ -3784,12 +4044,12 @@ var SelectContent = React7.forwardRef(({ className, children, position = "popper
3784
4044
  children
3785
4045
  }
3786
4046
  ),
3787
- /* @__PURE__ */ jsx11(SelectScrollDownButton, {})
4047
+ /* @__PURE__ */ jsx12(SelectScrollDownButton, {})
3788
4048
  ]
3789
4049
  }
3790
4050
  ) }));
3791
4051
  SelectContent.displayName = SelectPrimitive.Content.displayName;
3792
- var SelectLabel = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
4052
+ var SelectLabel = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
3793
4053
  SelectPrimitive.Label,
3794
4054
  {
3795
4055
  ref,
@@ -3801,7 +4061,7 @@ var SelectLabel = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE
3801
4061
  }
3802
4062
  ));
3803
4063
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
3804
- var SelectItem = React7.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
4064
+ var SelectItem = React10.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
3805
4065
  SelectPrimitive.Item,
3806
4066
  {
3807
4067
  ref,
@@ -3811,13 +4071,13 @@ var SelectItem = React7.forwardRef(({ className, children, ...props }, ref) => /
3811
4071
  ),
3812
4072
  ...props,
3813
4073
  children: [
3814
- /* @__PURE__ */ jsx11("span", { className: "cnc-absolute cnc-left-2 cnc-flex cnc-h-3.5 cnc-w-3.5 cnc-cnc-items-center cnc-justify-center", children: /* @__PURE__ */ jsx11(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx11(Check, { className: "cnc-h-4 cnc-w-4" }) }) }),
3815
- /* @__PURE__ */ jsx11(SelectPrimitive.ItemText, { children })
4074
+ /* @__PURE__ */ jsx12("span", { className: "cnc-absolute cnc-left-2 cnc-flex cnc-h-3.5 cnc-w-3.5 cnc-cnc-items-center cnc-justify-center", children: /* @__PURE__ */ jsx12(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx12(Check, { className: "cnc-h-4 cnc-w-4" }) }) }),
4075
+ /* @__PURE__ */ jsx12(SelectPrimitive.ItemText, { children })
3816
4076
  ]
3817
4077
  }
3818
4078
  ));
3819
4079
  SelectItem.displayName = SelectPrimitive.Item.displayName;
3820
- var SelectSeparator = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
4080
+ var SelectSeparator = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
3821
4081
  SelectPrimitive.Separator,
3822
4082
  {
3823
4083
  ref,
@@ -3829,11 +4089,11 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
3829
4089
 
3830
4090
  // src/components/Tabs/index.tsx
3831
4091
  import * as TabsPrimitive from "@radix-ui/react-tabs";
3832
- import * as React8 from "react";
3833
- import { jsx as jsx12 } from "react/jsx-runtime";
4092
+ import * as React11 from "react";
4093
+ import { jsx as jsx13 } from "react/jsx-runtime";
3834
4094
  var Tabs = TabsPrimitive.Root;
3835
- var TabsList = React8.forwardRef(({ className, ...props }, ref) => {
3836
- return /* @__PURE__ */ jsx12(
4095
+ var TabsList = React11.forwardRef(({ className, ...props }, ref) => {
4096
+ return /* @__PURE__ */ jsx13(
3837
4097
  TabsPrimitive.List,
3838
4098
  {
3839
4099
  ref,
@@ -3843,7 +4103,7 @@ var TabsList = React8.forwardRef(({ className, ...props }, ref) => {
3843
4103
  );
3844
4104
  });
3845
4105
  TabsList.displayName = TabsPrimitive.List.displayName;
3846
- var TabsTrigger = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
4106
+ var TabsTrigger = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
3847
4107
  TabsPrimitive.Trigger,
3848
4108
  {
3849
4109
  ref,
@@ -3855,8 +4115,8 @@ var TabsTrigger = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE
3855
4115
  }
3856
4116
  ));
3857
4117
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
3858
- var TabsContent = React8.forwardRef(({ className, children, ...props }, ref) => {
3859
- return /* @__PURE__ */ jsx12(
4118
+ var TabsContent = React11.forwardRef(({ className, children, ...props }, ref) => {
4119
+ return /* @__PURE__ */ jsx13(
3860
4120
  TabsPrimitive.Content,
3861
4121
  {
3862
4122
  ref,
@@ -3872,9 +4132,9 @@ var TabsContent = React8.forwardRef(({ className, children, ...props }, ref) =>
3872
4132
  TabsContent.displayName = TabsPrimitive.Content.displayName;
3873
4133
 
3874
4134
  // src/components/atoms/forms/input.tsx
3875
- import * as React9 from "react";
3876
- import { jsx as jsx13, jsxs as jsxs11 } from "react/jsx-runtime";
3877
- var Input = React9.forwardRef(
4135
+ import * as React12 from "react";
4136
+ import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
4137
+ var Input = React12.forwardRef(
3878
4138
  ({ className, type, id, label, required, ...props }, ref) => {
3879
4139
  const idGenerate = id ? id : label && `field-${Date.now()}-${Math.random() * 1e5}`;
3880
4140
  return /* @__PURE__ */ jsxs11("div", { className: "cnc-w-full", children: [
@@ -3885,11 +4145,11 @@ var Input = React9.forwardRef(
3885
4145
  className: "cnc-block cnc-text-sm cnc-mb-1 cnc-font-medium cnc-text-brand-gray-600",
3886
4146
  children: [
3887
4147
  label,
3888
- required && /* @__PURE__ */ jsx13("span", { className: "text-red-500", children: " *" })
4148
+ required && /* @__PURE__ */ jsx14("span", { className: "text-red-500", children: " *" })
3889
4149
  ]
3890
4150
  }
3891
4151
  ),
3892
- /* @__PURE__ */ jsx13(
4152
+ /* @__PURE__ */ jsx14(
3893
4153
  "input",
3894
4154
  {
3895
4155
  type,
@@ -3911,9 +4171,9 @@ var Input = React9.forwardRef(
3911
4171
  Input.displayName = "Input";
3912
4172
 
3913
4173
  // src/components/atoms/forms/textarea.tsx
3914
- import * as React10 from "react";
3915
- import { jsx as jsx14, jsxs as jsxs12 } from "react/jsx-runtime";
3916
- var Textarea = React10.forwardRef(
4174
+ import * as React13 from "react";
4175
+ import { jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
4176
+ var Textarea = React13.forwardRef(
3917
4177
  ({ className, id, label, required, ...props }, ref) => {
3918
4178
  const idGenerate = id ? id : label && `field-${Date.now()}-${Math.random() * 1e5}`;
3919
4179
  return /* @__PURE__ */ jsxs12("div", { className: "cnc-w-full", children: [
@@ -3924,11 +4184,11 @@ var Textarea = React10.forwardRef(
3924
4184
  className: "cnc-block cnc-text-sm cnc-mb-1 cnc-font-medium cnc-text-brand-gray-600",
3925
4185
  children: [
3926
4186
  label,
3927
- required && /* @__PURE__ */ jsx14("span", { className: "text-red-500", children: " *" })
4187
+ required && /* @__PURE__ */ jsx15("span", { className: "text-red-500", children: " *" })
3928
4188
  ]
3929
4189
  }
3930
4190
  ),
3931
- /* @__PURE__ */ jsx14(
4191
+ /* @__PURE__ */ jsx15(
3932
4192
  "textarea",
3933
4193
  {
3934
4194
  id: idGenerate,
@@ -3949,14 +4209,14 @@ var Textarea = React10.forwardRef(
3949
4209
  Textarea.displayName = "Textarea";
3950
4210
 
3951
4211
  // src/components/atoms/forms/checkbox.tsx
3952
- import * as React11 from "react";
3953
- import { jsx as jsx15, jsxs as jsxs13 } from "react/jsx-runtime";
3954
- var Checkbox = React11.forwardRef(
4212
+ import * as React14 from "react";
4213
+ import { jsx as jsx16, jsxs as jsxs13 } from "react/jsx-runtime";
4214
+ var Checkbox = React14.forwardRef(
3955
4215
  ({ className, id, label, ...props }, ref) => {
3956
4216
  console.log();
3957
4217
  const idGenerate = id ? id : label && `field-${Date.now()}-${Math.random() * 1e5}`;
3958
4218
  return /* @__PURE__ */ jsxs13("div", { className: "cnc-w-full cnc-flex cnc-flex-row", children: [
3959
- /* @__PURE__ */ jsx15(
4219
+ /* @__PURE__ */ jsx16(
3960
4220
  "input",
3961
4221
  {
3962
4222
  type: "checkbox",
@@ -3966,7 +4226,7 @@ var Checkbox = React11.forwardRef(
3966
4226
  ...props
3967
4227
  }
3968
4228
  ),
3969
- label && /* @__PURE__ */ jsx15(
4229
+ label && /* @__PURE__ */ jsx16(
3970
4230
  "label",
3971
4231
  {
3972
4232
  htmlFor: idGenerate,
@@ -3980,9 +4240,9 @@ var Checkbox = React11.forwardRef(
3980
4240
  Checkbox.displayName = "Checkbox";
3981
4241
 
3982
4242
  // src/components/atoms/forms/switch.tsx
3983
- import * as React12 from "react";
3984
- import { jsx as jsx16, jsxs as jsxs14 } from "react/jsx-runtime";
3985
- var Switch = React12.forwardRef(
4243
+ import * as React15 from "react";
4244
+ import { jsx as jsx17, jsxs as jsxs14 } from "react/jsx-runtime";
4245
+ var Switch = React15.forwardRef(
3986
4246
  ({
3987
4247
  className,
3988
4248
  id,
@@ -3996,12 +4256,12 @@ var Switch = React12.forwardRef(
3996
4256
  name,
3997
4257
  "aria-label": ariaLabel
3998
4258
  }, ref) => {
3999
- const [internalChecked, setInternalChecked] = React12.useState(
4259
+ const [internalChecked, setInternalChecked] = React15.useState(
4000
4260
  defaultChecked ?? false
4001
4261
  );
4002
4262
  const isControlled = checked !== void 0;
4003
4263
  const isChecked = isControlled ? checked : internalChecked;
4004
- const reactId = React12.useId();
4264
+ const reactId = React15.useId();
4005
4265
  const fieldId = id || reactId;
4006
4266
  const handleToggle = () => {
4007
4267
  if (disabled) return;
@@ -4012,7 +4272,7 @@ var Switch = React12.forwardRef(
4012
4272
  onChange?.(newValue);
4013
4273
  };
4014
4274
  return /* @__PURE__ */ jsxs14("div", { className: cn("cnc-flex cnc-items-center cnc-gap-2", className), children: [
4015
- /* @__PURE__ */ jsx16(
4275
+ /* @__PURE__ */ jsx17(
4016
4276
  "input",
4017
4277
  {
4018
4278
  type: "checkbox",
@@ -4024,7 +4284,7 @@ var Switch = React12.forwardRef(
4024
4284
  "aria-hidden": "true"
4025
4285
  }
4026
4286
  ),
4027
- /* @__PURE__ */ jsx16(
4287
+ /* @__PURE__ */ jsx17(
4028
4288
  "button",
4029
4289
  {
4030
4290
  ref,
@@ -4042,7 +4302,7 @@ var Switch = React12.forwardRef(
4042
4302
  "disabled:cnc-cursor-not-allowed disabled:cnc-opacity-50",
4043
4303
  isChecked ? "cnc-bg-brand-blue-400 cnc-border-brand-blue-500" : "cnc-bg-brand-gray-20 cnc-border-brand-gray-100"
4044
4304
  ),
4045
- children: /* @__PURE__ */ jsx16(
4305
+ children: /* @__PURE__ */ jsx17(
4046
4306
  "span",
4047
4307
  {
4048
4308
  className: cn(
@@ -4060,7 +4320,7 @@ var Switch = React12.forwardRef(
4060
4320
  className: "cnc-text-sm cnc-font-medium cnc-text-brand-gray-600 cnc-cursor-pointer",
4061
4321
  children: [
4062
4322
  label,
4063
- required && /* @__PURE__ */ jsx16("span", { className: "cnc-text-red-500", children: " *" })
4323
+ required && /* @__PURE__ */ jsx17("span", { className: "cnc-text-red-500", children: " *" })
4064
4324
  ]
4065
4325
  }
4066
4326
  )
@@ -4070,7 +4330,7 @@ var Switch = React12.forwardRef(
4070
4330
  Switch.displayName = "Switch";
4071
4331
 
4072
4332
  // src/components/atoms/display/badge.tsx
4073
- import { jsx as jsx17 } from "react/jsx-runtime";
4333
+ import { jsx as jsx18 } from "react/jsx-runtime";
4074
4334
  var Badge = ({
4075
4335
  variant = "default",
4076
4336
  rounded = true,
@@ -4092,7 +4352,7 @@ var Badge = ({
4092
4352
  md: "cnc-text-sm cnc-px-3 cnc-py-1",
4093
4353
  lg: "cnc-text-base cnc-px-4 cnc-py-2"
4094
4354
  };
4095
- return /* @__PURE__ */ jsx17(
4355
+ return /* @__PURE__ */ jsx18(
4096
4356
  "span",
4097
4357
  {
4098
4358
  className: cn(
@@ -4108,8 +4368,8 @@ var Badge = ({
4108
4368
  };
4109
4369
 
4110
4370
  // src/components/atoms/display/avatar.tsx
4111
- import * as React13 from "react";
4112
- import { jsx as jsx18 } from "react/jsx-runtime";
4371
+ import * as React16 from "react";
4372
+ import { jsx as jsx19 } from "react/jsx-runtime";
4113
4373
  var avatarSizeClasses = {
4114
4374
  sm: "cnc-size-8 cnc-text-[10px]",
4115
4375
  md: "cnc-size-12 cnc-text-xs",
@@ -4131,14 +4391,14 @@ function Avatar({
4131
4391
  className,
4132
4392
  ...props
4133
4393
  }) {
4134
- const [hasError, setHasError] = React13.useState(false);
4394
+ const [hasError, setHasError] = React16.useState(false);
4135
4395
  const baseClasses = cn(
4136
4396
  "cnc-flex cnc-shrink-0 cnc-items-center cnc-justify-center cnc-overflow-hidden cnc-rounded-full cnc-border-2 cnc-border-brand-gray-50 cnc-bg-brand-gray-10 cnc-text-brand-gray-200",
4137
4397
  avatarSizeClasses[size],
4138
4398
  className
4139
4399
  );
4140
4400
  if (isLoading) {
4141
- return /* @__PURE__ */ jsx18(
4401
+ return /* @__PURE__ */ jsx19(
4142
4402
  "span",
4143
4403
  {
4144
4404
  className: cn(baseClasses, "cnc-animate-pulse cnc-bg-brand-gray-50"),
@@ -4149,7 +4409,7 @@ function Avatar({
4149
4409
  );
4150
4410
  }
4151
4411
  const showImage = src && !hasError;
4152
- return /* @__PURE__ */ jsx18("span", { className: baseClasses, ...props, children: showImage ? /* @__PURE__ */ jsx18(
4412
+ return /* @__PURE__ */ jsx19("span", { className: baseClasses, ...props, children: showImage ? /* @__PURE__ */ jsx19(
4153
4413
  "img",
4154
4414
  {
4155
4415
  src,
@@ -4157,7 +4417,7 @@ function Avatar({
4157
4417
  className: "cnc-h-full cnc-w-full cnc-object-cover",
4158
4418
  onError: () => setHasError(true)
4159
4419
  }
4160
- ) : fallback ? /* @__PURE__ */ jsx18("span", { className: "cnc-font-bold", children: fallback }) : /* @__PURE__ */ jsx18(
4420
+ ) : fallback ? /* @__PURE__ */ jsx19("span", { className: "cnc-font-bold", children: fallback }) : /* @__PURE__ */ jsx19(
4161
4421
  User,
4162
4422
  {
4163
4423
  className: "cnc-shrink-0",
@@ -4168,12 +4428,12 @@ function Avatar({
4168
4428
  }
4169
4429
 
4170
4430
  // src/components/molecules/card.tsx
4171
- import { jsx as jsx19 } from "react/jsx-runtime";
4431
+ import { jsx as jsx20 } from "react/jsx-runtime";
4172
4432
  function Card({
4173
4433
  className,
4174
4434
  ...rest
4175
4435
  }) {
4176
- return /* @__PURE__ */ jsx19(
4436
+ return /* @__PURE__ */ jsx20(
4177
4437
  "div",
4178
4438
  {
4179
4439
  className: cn(
@@ -4188,7 +4448,7 @@ function CardHeader({
4188
4448
  className,
4189
4449
  ...rest
4190
4450
  }) {
4191
- return /* @__PURE__ */ jsx19("div", { className: "cnc-px-6 cnc-pt-6", children: /* @__PURE__ */ jsx19(
4451
+ return /* @__PURE__ */ jsx20("div", { className: "cnc-px-6 cnc-pt-6", children: /* @__PURE__ */ jsx20(
4192
4452
  "div",
4193
4453
  {
4194
4454
  className: cn(
@@ -4203,13 +4463,13 @@ function CardContent({
4203
4463
  className,
4204
4464
  ...rest
4205
4465
  }) {
4206
- return /* @__PURE__ */ jsx19("div", { className: cn("cnc-px-6 cnc-py-2", className), ...rest });
4466
+ return /* @__PURE__ */ jsx20("div", { className: cn("cnc-px-6 cnc-py-2", className), ...rest });
4207
4467
  }
4208
4468
  function CardFooter({
4209
4469
  className,
4210
4470
  ...rest
4211
4471
  }) {
4212
- return /* @__PURE__ */ jsx19(
4472
+ return /* @__PURE__ */ jsx20(
4213
4473
  "div",
4214
4474
  {
4215
4475
  className: cn(
@@ -4224,7 +4484,7 @@ function CardFooterItem({
4224
4484
  className,
4225
4485
  ...rest
4226
4486
  }) {
4227
- return /* @__PURE__ */ jsx19(
4487
+ return /* @__PURE__ */ jsx20(
4228
4488
  "div",
4229
4489
  {
4230
4490
  className: cn(
@@ -4238,7 +4498,7 @@ function CardFooterItem({
4238
4498
 
4239
4499
  // src/components/molecules/collapsible.tsx
4240
4500
  import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
4241
- import { jsx as jsx20 } from "react/jsx-runtime";
4501
+ import { jsx as jsx21 } from "react/jsx-runtime";
4242
4502
  var Collapsible = CollapsiblePrimitive.Root;
4243
4503
  var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
4244
4504
  var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
@@ -4246,16 +4506,16 @@ var AnimatedCollapsibleContent = ({
4246
4506
  className,
4247
4507
  ...rest
4248
4508
  }) => {
4249
- return /* @__PURE__ */ jsx20(CollapsibleContent2, { className: "cnc-collapsible-content", ...rest });
4509
+ return /* @__PURE__ */ jsx21(CollapsibleContent2, { className: "cnc-collapsible-content", ...rest });
4250
4510
  };
4251
4511
 
4252
4512
  // src/components/molecules/display/page-header.tsx
4253
- import { jsx as jsx21, jsxs as jsxs15 } from "react/jsx-runtime";
4513
+ import { jsx as jsx22, jsxs as jsxs15 } from "react/jsx-runtime";
4254
4514
  function PageHeader({
4255
4515
  children,
4256
4516
  className
4257
4517
  }) {
4258
- return /* @__PURE__ */ jsx21(
4518
+ return /* @__PURE__ */ jsx22(
4259
4519
  "header",
4260
4520
  {
4261
4521
  className: cn(
@@ -4270,7 +4530,7 @@ function PageHeaderTitleContent({
4270
4530
  children,
4271
4531
  className
4272
4532
  }) {
4273
- return /* @__PURE__ */ jsx21(
4533
+ return /* @__PURE__ */ jsx22(
4274
4534
  "div",
4275
4535
  {
4276
4536
  className: cn(
@@ -4288,15 +4548,15 @@ function PageHeaderTitle({
4288
4548
  }) {
4289
4549
  const ComponentTitle = titleAs;
4290
4550
  return /* @__PURE__ */ jsxs15("div", { children: [
4291
- /* @__PURE__ */ jsx21(ComponentTitle, { className: "cnc-text-2xl cnc-font-semibold cnc-text-brand-blue-600", children: title }),
4292
- description && /* @__PURE__ */ jsx21("p", { className: "cnc-text-sm cnc-text-brand-gray-500", children: description })
4551
+ /* @__PURE__ */ jsx22(ComponentTitle, { className: "cnc-text-2xl cnc-font-semibold cnc-text-brand-blue-600", children: title }),
4552
+ description && /* @__PURE__ */ jsx22("p", { className: "cnc-text-sm cnc-text-brand-gray-500", children: description })
4293
4553
  ] });
4294
4554
  }
4295
4555
  function PageHeaderActionsContainer({
4296
4556
  children,
4297
4557
  className
4298
4558
  }) {
4299
- return /* @__PURE__ */ jsx21(
4559
+ return /* @__PURE__ */ jsx22(
4300
4560
  "div",
4301
4561
  {
4302
4562
  className: cn(
@@ -4308,11 +4568,11 @@ function PageHeaderActionsContainer({
4308
4568
  );
4309
4569
  }
4310
4570
  function Title2({ title, as: Component = "h1" }) {
4311
- return /* @__PURE__ */ jsx21(Component, { className: "cnc-text-[24px] cnc-text-[#1F2C4D] cnc-font-bold cnc-mt-2 cnc-mb-4 text-center md:cnc-text-[28px] md:cnc-text-left", children: title });
4571
+ return /* @__PURE__ */ jsx22(Component, { className: "cnc-text-[24px] cnc-text-[#1F2C4D] cnc-font-bold cnc-mt-2 cnc-mb-4 text-center md:cnc-text-[28px] md:cnc-text-left", children: title });
4312
4572
  }
4313
4573
 
4314
4574
  // src/components/molecules/display/empty-state.tsx
4315
- import { jsx as jsx22, jsxs as jsxs16 } from "react/jsx-runtime";
4575
+ import { jsx as jsx23, jsxs as jsxs16 } from "react/jsx-runtime";
4316
4576
  function EmptyState({
4317
4577
  icon,
4318
4578
  title,
@@ -4332,17 +4592,17 @@ function EmptyState({
4332
4592
  ),
4333
4593
  ...props,
4334
4594
  children: [
4335
- /* @__PURE__ */ jsx22("div", { className: "cnc-mb-3 cnc-text-brand-gray-200", children: icon ?? /* @__PURE__ */ jsx22(FolderOpen, { className: "cnc-h-10 cnc-w-10" }) }),
4336
- /* @__PURE__ */ jsx22("p", { className: "cnc-text-sm cnc-font-medium cnc-text-brand-blue-600", children: title }),
4337
- description ? /* @__PURE__ */ jsx22("p", { className: "cnc-mt-1 cnc-max-w-md cnc-text-sm cnc-text-brand-gray-200", children: description }) : null,
4338
- action ? /* @__PURE__ */ jsx22("div", { className: "cnc-mt-4", children: action }) : null
4595
+ /* @__PURE__ */ jsx23("div", { className: "cnc-mb-3 cnc-text-brand-gray-200", children: icon ?? /* @__PURE__ */ jsx23(FolderOpen, { className: "cnc-h-10 cnc-w-10" }) }),
4596
+ /* @__PURE__ */ jsx23("p", { className: "cnc-text-sm cnc-font-medium cnc-text-brand-blue-600", children: title }),
4597
+ description ? /* @__PURE__ */ jsx23("p", { className: "cnc-mt-1 cnc-max-w-md cnc-text-sm cnc-text-brand-gray-200", children: description }) : null,
4598
+ action ? /* @__PURE__ */ jsx23("div", { className: "cnc-mt-4", children: action }) : null
4339
4599
  ]
4340
4600
  }
4341
4601
  );
4342
4602
  }
4343
4603
 
4344
4604
  // src/components/molecules/display/result-metadata.tsx
4345
- import { jsx as jsx23, jsxs as jsxs17 } from "react/jsx-runtime";
4605
+ import { jsx as jsx24, jsxs as jsxs17 } from "react/jsx-runtime";
4346
4606
  function encontradosSuffix(resourceName, forceWordGender) {
4347
4607
  if (forceWordGender === "masc") return "o";
4348
4608
  if (forceWordGender === "fem") return "a";
@@ -4367,10 +4627,10 @@ function ResultMetadata({
4367
4627
  "aria-live": "polite",
4368
4628
  ...props,
4369
4629
  children: [
4370
- /* @__PURE__ */ jsx23("div", { className: "cnc-text-base cnc-font-bold cnc-text-brand-blue-100", children: `${resourceName} encontrad${encontradVogal}s | ${isLoading ? "carregando ..." : total?.toLocaleString("pt-BR")}` }),
4630
+ /* @__PURE__ */ jsx24("div", { className: "cnc-text-base cnc-font-bold cnc-text-brand-blue-100", children: `${resourceName} encontrad${encontradVogal}s | ${isLoading ? "carregando ..." : total?.toLocaleString("pt-BR")}` }),
4371
4631
  displayed >= truncationThreshold && /* @__PURE__ */ jsxs17("div", { children: [
4372
4632
  "Exibindo os ",
4373
- /* @__PURE__ */ jsx23("span", { className: "cnc-font-bold", children: displayed }),
4633
+ /* @__PURE__ */ jsx24("span", { className: "cnc-font-bold", children: displayed }),
4374
4634
  " primeiros registros. Utilize os filtros para refinar sua busca."
4375
4635
  ] })
4376
4636
  ]
@@ -4379,7 +4639,7 @@ function ResultMetadata({
4379
4639
  }
4380
4640
 
4381
4641
  // src/components/molecules/display/label-value.tsx
4382
- import { jsx as jsx24, jsxs as jsxs18 } from "react/jsx-runtime";
4642
+ import { jsx as jsx25, jsxs as jsxs18 } from "react/jsx-runtime";
4383
4643
  function LabelValue({
4384
4644
  label,
4385
4645
  value,
@@ -4388,7 +4648,7 @@ function LabelValue({
4388
4648
  valueClassName
4389
4649
  }) {
4390
4650
  return /* @__PURE__ */ jsxs18("div", { className, children: [
4391
- /* @__PURE__ */ jsx24("div", { className: "cnc-mb-2 cnc-text-sm cnc-font-bold cnc-leading-4 cnc-text-primary", children: label }),
4651
+ /* @__PURE__ */ jsx25("div", { className: "cnc-mb-2 cnc-text-sm cnc-font-bold cnc-leading-4 cnc-text-primary", children: label }),
4392
4652
  /* @__PURE__ */ jsxs18(
4393
4653
  "div",
4394
4654
  {
@@ -4398,7 +4658,7 @@ function LabelValue({
4398
4658
  ),
4399
4659
  children: [
4400
4660
  value ?? "-",
4401
- href && /* @__PURE__ */ jsx24(
4661
+ href && /* @__PURE__ */ jsx25(
4402
4662
  "a",
4403
4663
  {
4404
4664
  href,
@@ -4406,7 +4666,7 @@ function LabelValue({
4406
4666
  rel: "noopener noreferrer",
4407
4667
  className: "cnc-inline-flex cnc-items-center cnc-text-brand-blue-500 hover:cnc-opacity-80",
4408
4668
  "aria-label": `Abrir link externo de ${label}`,
4409
- children: /* @__PURE__ */ jsx24(ExternalLink, { className: "cnc-size-4" })
4669
+ children: /* @__PURE__ */ jsx25(ExternalLink, { className: "cnc-size-4" })
4410
4670
  }
4411
4671
  )
4412
4672
  ]
@@ -4416,10 +4676,10 @@ function LabelValue({
4416
4676
  }
4417
4677
 
4418
4678
  // src/components/molecules/forms/combobox.tsx
4419
- import * as React16 from "react";
4679
+ import * as React18 from "react";
4420
4680
 
4421
4681
  // src/components/molecules/forms/combobox-footer.tsx
4422
- import { jsx as jsx25 } from "react/jsx-runtime";
4682
+ import { jsx as jsx26 } from "react/jsx-runtime";
4423
4683
  function ComboboxDropdownFooter({
4424
4684
  footerAction,
4425
4685
  renderFooter,
@@ -4428,10 +4688,10 @@ function ComboboxDropdownFooter({
4428
4688
  }) {
4429
4689
  if (hidden) return null;
4430
4690
  if (renderFooter) {
4431
- return /* @__PURE__ */ jsx25("div", { className: "cnc-border-t cnc-border-brand-gray-50 cnc-p-2", children: renderFooter({ close }) });
4691
+ return /* @__PURE__ */ jsx26("div", { className: "cnc-border-t cnc-border-brand-gray-50 cnc-p-2", children: renderFooter({ close }) });
4432
4692
  }
4433
4693
  if (!footerAction) return null;
4434
- return /* @__PURE__ */ jsx25("div", { className: "cnc-border-t cnc-border-brand-gray-50 cnc-p-2", children: /* @__PURE__ */ jsx25(
4694
+ return /* @__PURE__ */ jsx26("div", { className: "cnc-border-t cnc-border-brand-gray-50 cnc-p-2", children: /* @__PURE__ */ jsx26(
4435
4695
  Button,
4436
4696
  {
4437
4697
  type: "button",
@@ -4449,10 +4709,10 @@ function ComboboxDropdownFooter({
4449
4709
  }
4450
4710
 
4451
4711
  // src/components/molecules/overlay/command.tsx
4452
- import * as React14 from "react";
4712
+ import * as React17 from "react";
4453
4713
  import { Command as CommandPrimitive } from "cmdk";
4454
- import { jsx as jsx26, jsxs as jsxs19 } from "react/jsx-runtime";
4455
- var Command = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
4714
+ import { jsx as jsx27, jsxs as jsxs19 } from "react/jsx-runtime";
4715
+ var Command = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
4456
4716
  CommandPrimitive,
4457
4717
  {
4458
4718
  ref,
@@ -4465,16 +4725,16 @@ var Command = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__
4465
4725
  ));
4466
4726
  Command.displayName = CommandPrimitive.displayName;
4467
4727
  var CommandDialog = ({ children, ...props }) => {
4468
- return /* @__PURE__ */ jsx26(Dialog, { ...props, children: /* @__PURE__ */ jsx26(DialogContent, { className: "cnc-overflow-hidden cnc-p-0", children: /* @__PURE__ */ jsx26(Command, { className: "cnc-[&_cmdk-group-heading]:cnc-px-2 cnc-[&_cmdk-group-heading]:cnc-font-medium cnc-[&_cmdk-group-heading]:cnc-text-muted-foreground cnc-[&_cmdk-group]:not([hidden])~[cmdk-group]:cnc-pt-0 cnc-[&_cmdk-group]:cnc-px-2 cnc-[&_cmdk-input-wrapper]_svg:cnc-h-5 cnc-[&_cmdk-input-wrapper]_svg:cnc-w-5 cnc-[&_cmdk-input]:cnc-h-12 cnc-[&_cmdk-item]:cnc-px-2 cnc-[&_cmdk-item]:cnc-py-3 cnc-[&_cmdk-item]_svg:cnc-h-5 cnc-[&_cmdk-item]_svg:cnc-w-5", children }) }) });
4728
+ return /* @__PURE__ */ jsx27(Dialog, { ...props, children: /* @__PURE__ */ jsx27(DialogContent, { className: "cnc-overflow-hidden cnc-p-0", children: /* @__PURE__ */ jsx27(Command, { className: "cnc-[&_cmdk-group-heading]:cnc-px-2 cnc-[&_cmdk-group-heading]:cnc-font-medium cnc-[&_cmdk-group-heading]:cnc-text-muted-foreground cnc-[&_cmdk-group]:not([hidden])~[cmdk-group]:cnc-pt-0 cnc-[&_cmdk-group]:cnc-px-2 cnc-[&_cmdk-input-wrapper]_svg:cnc-h-5 cnc-[&_cmdk-input-wrapper]_svg:cnc-w-5 cnc-[&_cmdk-input]:cnc-h-12 cnc-[&_cmdk-item]:cnc-px-2 cnc-[&_cmdk-item]:cnc-py-3 cnc-[&_cmdk-item]_svg:cnc-h-5 cnc-[&_cmdk-item]_svg:cnc-w-5", children }) }) });
4469
4729
  };
4470
- var CommandInput = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs19(
4730
+ var CommandInput = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs19(
4471
4731
  "div",
4472
4732
  {
4473
4733
  className: "cnc-flex cnc-items-center cnc-border-b cnc-px-3",
4474
4734
  "cmdk-input-wrapper": "",
4475
4735
  children: [
4476
- /* @__PURE__ */ jsx26(Search, { className: "cnc-mr-2 cnc-h-4 cnc-w-4 cnc-shrink-0 cnc-opacity-50" }),
4477
- /* @__PURE__ */ jsx26(
4736
+ /* @__PURE__ */ jsx27(Search, { className: "cnc-mr-2 cnc-h-4 cnc-w-4 cnc-shrink-0 cnc-opacity-50" }),
4737
+ /* @__PURE__ */ jsx27(
4478
4738
  CommandPrimitive.Input,
4479
4739
  {
4480
4740
  ref,
@@ -4489,7 +4749,7 @@ var CommandInput = React14.forwardRef(({ className, ...props }, ref) => /* @__PU
4489
4749
  }
4490
4750
  ));
4491
4751
  CommandInput.displayName = CommandPrimitive.Input.displayName;
4492
- var CommandList = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
4752
+ var CommandList = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
4493
4753
  CommandPrimitive.List,
4494
4754
  {
4495
4755
  ref,
@@ -4501,7 +4761,7 @@ var CommandList = React14.forwardRef(({ className, ...props }, ref) => /* @__PUR
4501
4761
  }
4502
4762
  ));
4503
4763
  CommandList.displayName = CommandPrimitive.List.displayName;
4504
- var CommandEmpty = React14.forwardRef((props, ref) => /* @__PURE__ */ jsx26(
4764
+ var CommandEmpty = React17.forwardRef((props, ref) => /* @__PURE__ */ jsx27(
4505
4765
  CommandPrimitive.Empty,
4506
4766
  {
4507
4767
  ref,
@@ -4510,7 +4770,7 @@ var CommandEmpty = React14.forwardRef((props, ref) => /* @__PURE__ */ jsx26(
4510
4770
  }
4511
4771
  ));
4512
4772
  CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
4513
- var CommandGroup = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
4773
+ var CommandGroup = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
4514
4774
  CommandPrimitive.Group,
4515
4775
  {
4516
4776
  ref,
@@ -4522,7 +4782,7 @@ var CommandGroup = React14.forwardRef(({ className, ...props }, ref) => /* @__PU
4522
4782
  }
4523
4783
  ));
4524
4784
  CommandGroup.displayName = CommandPrimitive.Group.displayName;
4525
- var CommandSeparator = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
4785
+ var CommandSeparator = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
4526
4786
  CommandPrimitive.Separator,
4527
4787
  {
4528
4788
  ref,
@@ -4531,7 +4791,7 @@ var CommandSeparator = React14.forwardRef(({ className, ...props }, ref) => /* @
4531
4791
  }
4532
4792
  ));
4533
4793
  CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
4534
- var CommandItem = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
4794
+ var CommandItem = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
4535
4795
  CommandPrimitive.Item,
4536
4796
  {
4537
4797
  ref,
@@ -4547,7 +4807,7 @@ var CommandShortcut = ({
4547
4807
  className,
4548
4808
  ...props
4549
4809
  }) => {
4550
- return /* @__PURE__ */ jsx26(
4810
+ return /* @__PURE__ */ jsx27(
4551
4811
  "span",
4552
4812
  {
4553
4813
  className: cn(
@@ -4560,27 +4820,6 @@ var CommandShortcut = ({
4560
4820
  };
4561
4821
  CommandShortcut.displayName = "CommandShortcut";
4562
4822
 
4563
- // src/components/molecules/overlay/popover.tsx
4564
- import * as React15 from "react";
4565
- import * as PopoverPrimitive2 from "@radix-ui/react-popover";
4566
- import { jsx as jsx27 } from "react/jsx-runtime";
4567
- var Popover2 = PopoverPrimitive2.Root;
4568
- var PopoverTrigger2 = PopoverPrimitive2.Trigger;
4569
- var PopoverContent2 = React15.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx27(PopoverPrimitive2.Portal, { children: /* @__PURE__ */ jsx27(
4570
- PopoverPrimitive2.Content,
4571
- {
4572
- ref,
4573
- align,
4574
- sideOffset,
4575
- className: cn(
4576
- "cnc-z-50 cnc-w-72 cnc-rounded-md cnc-border cnc-bg-popover cnc-p-4 cnc-text-popover-foreground cnc-shadow-md cnc-outline-none data-[state=open]:cnc-animate-in data-[state=closed]:cnc-animate-out data-[state=closed]:cnc-fade-out-0 data-[state=open]:cnc-fade-in-0 data-[state=closed]:cnc-zoom-out-95 data-[state=open]:cnc-zoom-in-95 data-[side=bottom]:cnc-slide-in-from-top-2 data-[side=left]:cnc-slide-in-from-right-2 data-[side=right]:cnc-slide-in-from-left-2 data-[side=top]:cnc-slide-in-from-bottom-2 cnc-origin-[--radix-popover-content-transform-origin]",
4577
- className
4578
- ),
4579
- ...props
4580
- }
4581
- ) }));
4582
- PopoverContent2.displayName = PopoverPrimitive2.Content.displayName;
4583
-
4584
4823
  // src/components/molecules/forms/combobox.tsx
4585
4824
  import { jsx as jsx28, jsxs as jsxs20 } from "react/jsx-runtime";
4586
4825
  function Combobox({
@@ -4597,9 +4836,9 @@ function Combobox({
4597
4836
  footerAction,
4598
4837
  renderFooter
4599
4838
  }) {
4600
- const [open, setOpen] = React16.useState(false);
4601
- return /* @__PURE__ */ jsxs20(Popover2, { open, onOpenChange: setOpen, modal, children: [
4602
- /* @__PURE__ */ jsx28(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ jsxs20(
4839
+ const [open, setOpen] = React18.useState(false);
4840
+ return /* @__PURE__ */ jsxs20(Popover, { open, onOpenChange: setOpen, modal, children: [
4841
+ /* @__PURE__ */ jsx28(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs20(
4603
4842
  Button,
4604
4843
  {
4605
4844
  variant: "outline",
@@ -4617,7 +4856,7 @@ function Combobox({
4617
4856
  }
4618
4857
  ) }),
4619
4858
  /* @__PURE__ */ jsxs20(
4620
- PopoverContent2,
4859
+ PopoverContent,
4621
4860
  {
4622
4861
  align: "start",
4623
4862
  className: cn(
@@ -4679,7 +4918,7 @@ function Combobox({
4679
4918
  }
4680
4919
 
4681
4920
  // src/components/molecules/forms/multi-select.tsx
4682
- import * as React17 from "react";
4921
+ import * as React19 from "react";
4683
4922
  import { jsx as jsx29, jsxs as jsxs21 } from "react/jsx-runtime";
4684
4923
  function MultiSelect({
4685
4924
  options,
@@ -4696,7 +4935,7 @@ function MultiSelect({
4696
4935
  footerAction,
4697
4936
  renderFooter
4698
4937
  }) {
4699
- const [open, setOpen] = React17.useState(false);
4938
+ const [open, setOpen] = React19.useState(false);
4700
4939
  const buttonText = (() => {
4701
4940
  if (value.length === 0) return placeholder;
4702
4941
  if (value.length === 1) {
@@ -4710,8 +4949,8 @@ function MultiSelect({
4710
4949
  value.includes(optionValue) ? value.filter((item) => item !== optionValue) : [...value, optionValue]
4711
4950
  );
4712
4951
  };
4713
- return /* @__PURE__ */ jsxs21(Popover2, { open, onOpenChange: setOpen, modal, children: [
4714
- /* @__PURE__ */ jsx29(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ jsxs21(
4952
+ return /* @__PURE__ */ jsxs21(Popover, { open, onOpenChange: setOpen, modal, children: [
4953
+ /* @__PURE__ */ jsx29(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs21(
4715
4954
  Button,
4716
4955
  {
4717
4956
  type: "button",
@@ -4731,7 +4970,7 @@ function MultiSelect({
4731
4970
  }
4732
4971
  ) }),
4733
4972
  /* @__PURE__ */ jsxs21(
4734
- PopoverContent2,
4973
+ PopoverContent,
4735
4974
  {
4736
4975
  align: "start",
4737
4976
  className: cn(
@@ -4786,7 +5025,7 @@ function MultiSelect({
4786
5025
  }
4787
5026
 
4788
5027
  // src/components/molecules/overlay/confirm-dialog.tsx
4789
- import * as React18 from "react";
5028
+ import * as React20 from "react";
4790
5029
  import { jsx as jsx30, jsxs as jsxs22 } from "react/jsx-runtime";
4791
5030
  function ConfirmDialog({
4792
5031
  open,
@@ -4805,7 +5044,7 @@ function ConfirmDialog({
4805
5044
  isLoading,
4806
5045
  className
4807
5046
  }) {
4808
- const [localLoading, setLocalLoading] = React18.useState(false);
5047
+ const [localLoading, setLocalLoading] = React20.useState(false);
4809
5048
  const isBusy = isLoading ?? localLoading;
4810
5049
  const handleConfirm = async () => {
4811
5050
  if (isLoading !== void 0) {
@@ -4895,7 +5134,7 @@ function Tooltip({
4895
5134
  }
4896
5135
 
4897
5136
  // src/components/organisms/filter/index.tsx
4898
- import * as React19 from "react";
5137
+ import * as React21 from "react";
4899
5138
  import {
4900
5139
  Controller,
4901
5140
  useForm,
@@ -4929,7 +5168,7 @@ function buildValidationRules(field) {
4929
5168
  }
4930
5169
  };
4931
5170
  }
4932
- var FilterFieldItem = React19.memo(function FilterFieldItem2({
5171
+ var FilterFieldItem = React21.memo(function FilterFieldItem2({
4933
5172
  field,
4934
5173
  register,
4935
5174
  control,
@@ -5011,7 +5250,7 @@ var FilterFieldItem = React19.memo(function FilterFieldItem2({
5011
5250
  });
5012
5251
  function CleanButton({ control, onClean }) {
5013
5252
  const values = useWatch({ control });
5014
- const hasActiveFilters = React19.useMemo(() => {
5253
+ const hasActiveFilters = React21.useMemo(() => {
5015
5254
  const keys = Object.keys(values);
5016
5255
  return keys.some((key) => {
5017
5256
  const val = values[key];
@@ -5035,7 +5274,7 @@ function CleanButton({ control, onClean }) {
5035
5274
  }
5036
5275
  );
5037
5276
  }
5038
- var Filter = React19.forwardRef(
5277
+ var Filter = React21.forwardRef(
5039
5278
  function Filter2({
5040
5279
  fields,
5041
5280
  collapsibleFields,
@@ -5045,12 +5284,12 @@ var Filter = React19.forwardRef(
5045
5284
  isLoading = false,
5046
5285
  className
5047
5286
  }, ref) {
5048
- const [isCollapsibleOpen, setIsCollapsibleOpen] = React19.useState(false);
5049
- const allFields = React19.useMemo(
5287
+ const [isCollapsibleOpen, setIsCollapsibleOpen] = React21.useState(false);
5288
+ const allFields = React21.useMemo(
5050
5289
  () => [...fields, ...collapsibleFields || []],
5051
5290
  [fields, collapsibleFields]
5052
5291
  );
5053
- const defaultValues = React19.useMemo(
5292
+ const defaultValues = React21.useMemo(
5054
5293
  () => buildDefaultValues(allFields),
5055
5294
  [allFields]
5056
5295
  );
@@ -5061,7 +5300,7 @@ var Filter = React19.forwardRef(
5061
5300
  reset,
5062
5301
  formState: { errors }
5063
5302
  } = useForm({ defaultValues });
5064
- React19.useEffect(() => {
5303
+ React21.useEffect(() => {
5065
5304
  if (collapsibleFields?.some((f) => errors[f.name])) {
5066
5305
  setIsCollapsibleOpen(true);
5067
5306
  }
@@ -5069,7 +5308,7 @@ var Filter = React19.forwardRef(
5069
5308
  const onSubmit = (data) => {
5070
5309
  onSearch(data);
5071
5310
  };
5072
- const handleClean = React19.useCallback(() => {
5311
+ const handleClean = React21.useCallback(() => {
5073
5312
  const emptyValues = {};
5074
5313
  for (const field of allFields) {
5075
5314
  emptyValues[field.name] = field.type === "switch" ? false : "";
@@ -5150,7 +5389,7 @@ var Filter = React19.forwardRef(
5150
5389
  );
5151
5390
 
5152
5391
  // src/components/organisms/card-list/index.tsx
5153
- import * as React20 from "react";
5392
+ import * as React22 from "react";
5154
5393
  import { jsx as jsx33, jsxs as jsxs25 } from "react/jsx-runtime";
5155
5394
  function CardList({
5156
5395
  items,
@@ -5210,20 +5449,20 @@ function CardList({
5210
5449
  {
5211
5450
  className: cn("cnc-grid cnc-w-full", gap, className),
5212
5451
  style: gridStyle,
5213
- children: items.map((item, index) => /* @__PURE__ */ jsx33(React20.Fragment, { children: renderCard(item, index) }, getKey ? getKey(item, index) : index))
5452
+ children: items.map((item, index) => /* @__PURE__ */ jsx33(React22.Fragment, { children: renderCard(item, index) }, getKey ? getKey(item, index) : index))
5214
5453
  }
5215
5454
  );
5216
5455
  }
5217
5456
 
5218
5457
  // src/components/organisms/drawer/drawer.tsx
5219
5458
  import * as DialogPrimitive2 from "@radix-ui/react-dialog";
5220
- import * as React21 from "react";
5459
+ import * as React23 from "react";
5221
5460
  import { jsx as jsx34, jsxs as jsxs26 } from "react/jsx-runtime";
5222
5461
  var Drawer = DialogPrimitive2.Root;
5223
5462
  var DrawerTrigger = DialogPrimitive2.Trigger;
5224
5463
  var DrawerPortal = DialogPrimitive2.Portal;
5225
5464
  var DrawerClose = DialogPrimitive2.Close;
5226
- var DrawerOverlay = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
5465
+ var DrawerOverlay = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
5227
5466
  DialogPrimitive2.Overlay,
5228
5467
  {
5229
5468
  ref,
@@ -5242,7 +5481,7 @@ var drawerSizeToWidth = {
5242
5481
  xl: "48rem",
5243
5482
  full: "100vw"
5244
5483
  };
5245
- var DrawerContent = React21.forwardRef(
5484
+ var DrawerContent = React23.forwardRef(
5246
5485
  ({
5247
5486
  className,
5248
5487
  children,
@@ -5306,7 +5545,7 @@ var DrawerFooter = ({
5306
5545
  ...props
5307
5546
  }) => /* @__PURE__ */ jsx34("div", { className: cn("cnc-border-t cnc-p-6", className), ...props });
5308
5547
  DrawerFooter.displayName = "DrawerFooter";
5309
- var DrawerTitle = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
5548
+ var DrawerTitle = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
5310
5549
  DialogPrimitive2.Title,
5311
5550
  {
5312
5551
  ref,
@@ -5318,7 +5557,7 @@ var DrawerTitle = React21.forwardRef(({ className, ...props }, ref) => /* @__PUR
5318
5557
  }
5319
5558
  ));
5320
5559
  DrawerTitle.displayName = DialogPrimitive2.Title.displayName;
5321
- var DrawerDescription = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
5560
+ var DrawerDescription = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
5322
5561
  DialogPrimitive2.Description,
5323
5562
  {
5324
5563
  ref,
@@ -5329,24 +5568,24 @@ var DrawerDescription = React21.forwardRef(({ className, ...props }, ref) => /*
5329
5568
  DrawerDescription.displayName = DialogPrimitive2.Description.displayName;
5330
5569
 
5331
5570
  // src/components/organisms/drawer/drawer-context.tsx
5332
- import * as React22 from "react";
5571
+ import * as React24 from "react";
5333
5572
  import { jsx as jsx35 } from "react/jsx-runtime";
5334
- var DrawerContext = React22.createContext(
5573
+ var DrawerContext = React24.createContext(
5335
5574
  void 0
5336
5575
  );
5337
5576
  function DrawerProvider({ children }) {
5338
- const [activeDrawer, setActiveDrawer] = React22.useState(null);
5339
- const openDrawer = React22.useCallback((drawerId) => {
5577
+ const [activeDrawer, setActiveDrawer] = React24.useState(null);
5578
+ const openDrawer = React24.useCallback((drawerId) => {
5340
5579
  setActiveDrawer(drawerId);
5341
5580
  }, []);
5342
- const closeDrawer = React22.useCallback(() => {
5581
+ const closeDrawer = React24.useCallback(() => {
5343
5582
  setActiveDrawer(null);
5344
5583
  }, []);
5345
- const isOpen = React22.useCallback(
5584
+ const isOpen = React24.useCallback(
5346
5585
  (drawerId) => activeDrawer === drawerId,
5347
5586
  [activeDrawer]
5348
5587
  );
5349
- const value = React22.useMemo(
5588
+ const value = React24.useMemo(
5350
5589
  () => ({ activeDrawer, openDrawer, closeDrawer, isOpen }),
5351
5590
  [activeDrawer, openDrawer, closeDrawer, isOpen]
5352
5591
  );
@@ -5354,9 +5593,9 @@ function DrawerProvider({ children }) {
5354
5593
  }
5355
5594
 
5356
5595
  // src/components/organisms/drawer/use-drawer.ts
5357
- import * as React23 from "react";
5596
+ import * as React25 from "react";
5358
5597
  function useDrawer() {
5359
- const context = React23.useContext(DrawerContext);
5598
+ const context = React25.useContext(DrawerContext);
5360
5599
  if (!context) {
5361
5600
  throw new Error("useDrawer deve ser usado dentro de um DrawerProvider");
5362
5601
  }
@@ -5364,7 +5603,7 @@ function useDrawer() {
5364
5603
  }
5365
5604
 
5366
5605
  // src/components/organisms/upload/file-upload.tsx
5367
- import * as React24 from "react";
5606
+ import * as React26 from "react";
5368
5607
 
5369
5608
  // src/components/organisms/upload/utils.ts
5370
5609
  function formatSizeLimit(bytes) {
@@ -5435,7 +5674,7 @@ function validateFiles({
5435
5674
  }
5436
5675
 
5437
5676
  // src/components/organisms/upload/file-list.tsx
5438
- import { Fragment as Fragment6, jsx as jsx36, jsxs as jsxs27 } from "react/jsx-runtime";
5677
+ import { Fragment as Fragment7, jsx as jsx36, jsxs as jsxs27 } from "react/jsx-runtime";
5439
5678
  function FileList({
5440
5679
  items,
5441
5680
  onRemove,
@@ -5448,7 +5687,7 @@ function FileList({
5448
5687
  ...props
5449
5688
  }) {
5450
5689
  if (items.length === 0) {
5451
- return emptyState ? /* @__PURE__ */ jsx36(Fragment6, { children: emptyState }) : null;
5690
+ return emptyState ? /* @__PURE__ */ jsx36(Fragment7, { children: emptyState }) : null;
5452
5691
  }
5453
5692
  return /* @__PURE__ */ jsx36(
5454
5693
  "ul",
@@ -5539,7 +5778,7 @@ function fileToListItem(file, index) {
5539
5778
  status: "pending"
5540
5779
  };
5541
5780
  }
5542
- var FileUpload = React24.forwardRef(
5781
+ var FileUpload = React26.forwardRef(
5543
5782
  ({
5544
5783
  value = [],
5545
5784
  onChange,
@@ -5560,9 +5799,9 @@ var FileUpload = React24.forwardRef(
5560
5799
  listClassName,
5561
5800
  ...props
5562
5801
  }, ref) => {
5563
- const fileInputRef = React24.useRef(null);
5564
- const hintId = React24.useId();
5565
- React24.useImperativeHandle(ref, () => fileInputRef.current, []);
5802
+ const fileInputRef = React26.useRef(null);
5803
+ const hintId = React26.useId();
5804
+ React26.useImperativeHandle(ref, () => fileInputRef.current, []);
5566
5805
  const isBusy = disabled || isLoading;
5567
5806
  const items = value.map(fileToListItem);
5568
5807
  const clearInput = () => {
@@ -5721,8 +5960,8 @@ function formatDayAriaLabel(date) {
5721
5960
  }
5722
5961
 
5723
5962
  // src/components/organisms/calendar/mini-month-calendar.tsx
5724
- import * as React25 from "react";
5725
- import { Fragment as Fragment7, jsx as jsx38, jsxs as jsxs29 } from "react/jsx-runtime";
5963
+ import * as React27 from "react";
5964
+ import { Fragment as Fragment8, jsx as jsx38, jsxs as jsxs29 } from "react/jsx-runtime";
5726
5965
  function MiniMonthCalendar({
5727
5966
  month: monthProp,
5728
5967
  onMonthChange,
@@ -5736,8 +5975,8 @@ function MiniMonthCalendar({
5736
5975
  nextLabel = "Pr\xF3ximo m\xEAs",
5737
5976
  className
5738
5977
  }) {
5739
- const month = React25.useMemo(() => toLocalNoon(monthProp ?? /* @__PURE__ */ new Date()), [monthProp]);
5740
- const cells = React25.useMemo(
5978
+ const month = React27.useMemo(() => toLocalNoon(monthProp ?? /* @__PURE__ */ new Date()), [monthProp]);
5979
+ const cells = React27.useMemo(
5741
5980
  () => buildMonthDays(month, selectedDate, hasItems),
5742
5981
  [month, selectedDate, hasItems]
5743
5982
  );
@@ -5795,7 +6034,7 @@ function MiniMonthCalendar({
5795
6034
  cell.isSelected ? "cnc-bg-primary cnc-text-white" : "cnc-text-brand-gray-600 hover:cnc-bg-brand-blue-50 hover:cnc-text-primary",
5796
6035
  cell.isToday && !cell.isSelected && "cnc-underline cnc-decoration-primary cnc-decoration-2 cnc-underline-offset-4"
5797
6036
  ),
5798
- children: renderDay ? renderDay(cell) : /* @__PURE__ */ jsxs29(Fragment7, { children: [
6037
+ children: renderDay ? renderDay(cell) : /* @__PURE__ */ jsxs29(Fragment8, { children: [
5799
6038
  /* @__PURE__ */ jsx38("span", { className: "cnc-text-xs cnc-font-semibold", children: cell.number }),
5800
6039
  cell.hasItems && /* @__PURE__ */ jsx38("span", { className: "cnc-absolute cnc-bottom-1 cnc-size-1 cnc-rounded-full cnc-bg-primary group-aria-pressed:cnc-bg-white" })
5801
6040
  ] })
@@ -5808,7 +6047,7 @@ function MiniMonthCalendar({
5808
6047
  }
5809
6048
 
5810
6049
  // src/components/organisms/calendar/month-year-picker.tsx
5811
- import * as React26 from "react";
6050
+ import * as React28 from "react";
5812
6051
  import { jsx as jsx39, jsxs as jsxs30 } from "react/jsx-runtime";
5813
6052
  function MonthYearPicker({
5814
6053
  value,
@@ -5821,9 +6060,9 @@ function MonthYearPicker({
5821
6060
  triggerClassName,
5822
6061
  contentClassName
5823
6062
  }) {
5824
- const [open, setOpen] = React26.useState(false);
5825
- const [viewYear, setViewYear] = React26.useState(() => value.getFullYear());
5826
- React26.useEffect(() => {
6063
+ const [open, setOpen] = React28.useState(false);
6064
+ const [viewYear, setViewYear] = React28.useState(() => value.getFullYear());
6065
+ React28.useEffect(() => {
5827
6066
  if (open) setViewYear(value.getFullYear());
5828
6067
  }, [open, value]);
5829
6068
  const isSelectedMonth = (monthIndex) => value.getFullYear() === viewYear && value.getMonth() === monthIndex;
@@ -5833,8 +6072,8 @@ function MonthYearPicker({
5833
6072
  onChange(new Date(viewYear, monthIndex, day));
5834
6073
  setOpen(false);
5835
6074
  };
5836
- return /* @__PURE__ */ jsxs30(Popover2, { open, onOpenChange: setOpen, children: [
5837
- /* @__PURE__ */ jsx39(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ jsxs30(
6075
+ return /* @__PURE__ */ jsxs30(Popover, { open, onOpenChange: setOpen, children: [
6076
+ /* @__PURE__ */ jsx39(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs30(
5838
6077
  Button,
5839
6078
  {
5840
6079
  type: "button",
@@ -5860,7 +6099,7 @@ function MonthYearPicker({
5860
6099
  }
5861
6100
  ) }),
5862
6101
  /* @__PURE__ */ jsxs30(
5863
- PopoverContent2,
6102
+ PopoverContent,
5864
6103
  {
5865
6104
  align: "start",
5866
6105
  className: cn("cnc-w-72 cnc-p-4", className, contentClassName),
@@ -5909,7 +6148,7 @@ function MonthYearPicker({
5909
6148
  }
5910
6149
 
5911
6150
  // src/components/organisms/period-range-list/index.tsx
5912
- import * as React27 from "react";
6151
+ import * as React29 from "react";
5913
6152
  import { jsx as jsx40, jsxs as jsxs31 } from "react/jsx-runtime";
5914
6153
  var DEFAULT_LABELS = {
5915
6154
  start: "In\xEDcio",
@@ -5970,9 +6209,9 @@ function PeriodRangeList({
5970
6209
  const labels = { ...DEFAULT_LABELS, ...labelsProp };
5971
6210
  const endAfterStart = validate?.endAfterStart ?? true;
5972
6211
  const noDuplicates = validate?.noDuplicates ?? true;
5973
- const [startDraft, setStartDraft] = React27.useState("");
5974
- const [endDraft, setEndDraft] = React27.useState("");
5975
- const periods = React27.useMemo(() => normalizePeriods(value), [value]);
6212
+ const [startDraft, setStartDraft] = React29.useState("");
6213
+ const [endDraft, setEndDraft] = React29.useState("");
6214
+ const periods = React29.useMemo(() => normalizePeriods(value), [value]);
5976
6215
  const isInvalidRange = Boolean(startDraft && endDraft) && endAfterStart && startDraft >= endDraft;
5977
6216
  const isDuplicate = Boolean(startDraft && endDraft) && noDuplicates && periods.some(
5978
6217
  (period) => period.start === startDraft && period.end === endDraft
@@ -6089,7 +6328,7 @@ function PeriodRangeList({
6089
6328
  var DateTimeRangeList = PeriodRangeList;
6090
6329
 
6091
6330
  // src/components/organisms/header-notifications/index.tsx
6092
- import * as React29 from "react";
6331
+ import * as React31 from "react";
6093
6332
 
6094
6333
  // src/components/organisms/header-notifications/cliente.ts
6095
6334
  var URL_PADRAO_NOTIFICACOES = "https://dev-apinotificacoes-b5feekb4bdfyb7c2.eastus2-01.azurewebsites.net/v1";
@@ -6343,7 +6582,7 @@ function ModalLembretes({
6343
6582
  }
6344
6583
 
6345
6584
  // src/components/organisms/header-notifications/usar-notificacoes.ts
6346
- import * as React28 from "react";
6585
+ import * as React30 from "react";
6347
6586
  function foiAbortado(erro) {
6348
6587
  return erro?.name === "AbortError";
6349
6588
  }
@@ -6356,20 +6595,20 @@ function usarNotificacoes({
6356
6595
  habilitado = true,
6357
6596
  onErro
6358
6597
  }) {
6359
- const [notificacoes, setNotificacoes] = React28.useState([]);
6360
- const [carregando, setCarregando] = React28.useState(habilitado);
6361
- const notificacoesRef = React28.useRef(notificacoes);
6362
- const controladorRef = React28.useRef(null);
6363
- const jaCarregouRef = React28.useRef(false);
6364
- const onErroRef = React28.useRef(onErro);
6365
- React28.useEffect(() => {
6598
+ const [notificacoes, setNotificacoes] = React30.useState([]);
6599
+ const [carregando, setCarregando] = React30.useState(habilitado);
6600
+ const notificacoesRef = React30.useRef(notificacoes);
6601
+ const controladorRef = React30.useRef(null);
6602
+ const jaCarregouRef = React30.useRef(false);
6603
+ const onErroRef = React30.useRef(onErro);
6604
+ React30.useEffect(() => {
6366
6605
  notificacoesRef.current = notificacoes;
6367
6606
  }, [notificacoes]);
6368
- React28.useEffect(() => {
6607
+ React30.useEffect(() => {
6369
6608
  onErroRef.current = onErro;
6370
6609
  }, [onErro]);
6371
6610
  const chaveFiltros = JSON.stringify(filtros ?? {});
6372
- const atualizar = React28.useCallback(() => {
6611
+ const atualizar = React30.useCallback(() => {
6373
6612
  if (!habilitado) return;
6374
6613
  controladorRef.current?.abort();
6375
6614
  const controlador = new AbortController();
@@ -6396,7 +6635,7 @@ function usarNotificacoes({
6396
6635
  }
6397
6636
  })();
6398
6637
  }, [baseUrl, email, sistema, chaveFiltros, habilitado]);
6399
- React28.useEffect(() => {
6638
+ React30.useEffect(() => {
6400
6639
  if (!habilitado) {
6401
6640
  setCarregando(false);
6402
6641
  return;
@@ -6405,7 +6644,7 @@ function usarNotificacoes({
6405
6644
  atualizar();
6406
6645
  return () => controladorRef.current?.abort();
6407
6646
  }, [atualizar, habilitado]);
6408
- React28.useEffect(() => {
6647
+ React30.useEffect(() => {
6409
6648
  if (!habilitado || !intervaloAtualizacao) return;
6410
6649
  const temporizador = window.setInterval(() => {
6411
6650
  if (typeof document !== "undefined" && document.hidden) return;
@@ -6413,7 +6652,7 @@ function usarNotificacoes({
6413
6652
  }, intervaloAtualizacao);
6414
6653
  return () => window.clearInterval(temporizador);
6415
6654
  }, [atualizar, habilitado, intervaloAtualizacao]);
6416
- const aplicarLeitura = React28.useCallback((ids) => {
6655
+ const aplicarLeitura = React30.useCallback((ids) => {
6417
6656
  const alvos = new Set(ids.map(String));
6418
6657
  setNotificacoes(
6419
6658
  (atuais) => atuais.map(
@@ -6421,7 +6660,7 @@ function usarNotificacoes({
6421
6660
  )
6422
6661
  );
6423
6662
  }, []);
6424
- const reverterLeitura = React28.useCallback((anteriores) => {
6663
+ const reverterLeitura = React30.useCallback((anteriores) => {
6425
6664
  const original = new Map(
6426
6665
  anteriores.map((notificacao) => [String(notificacao.id), notificacao])
6427
6666
  );
@@ -6436,7 +6675,7 @@ function usarNotificacoes({
6436
6675
  })
6437
6676
  );
6438
6677
  }, []);
6439
- const marcarUmaComoLida = React28.useCallback(
6678
+ const marcarUmaComoLida = React30.useCallback(
6440
6679
  (id) => {
6441
6680
  const alvo = notificacoesRef.current.find(
6442
6681
  (notificacao) => String(notificacao.id) === String(id)
@@ -6450,7 +6689,7 @@ function usarNotificacoes({
6450
6689
  },
6451
6690
  [baseUrl, aplicarLeitura, reverterLeitura]
6452
6691
  );
6453
- const marcarComoLidas = React28.useCallback(
6692
+ const marcarComoLidas = React30.useCallback(
6454
6693
  (ids) => {
6455
6694
  const alvos = new Set(ids.map(String));
6456
6695
  const naoLidas = notificacoesRef.current.filter(
@@ -6468,10 +6707,10 @@ function usarNotificacoes({
6468
6707
  },
6469
6708
  [baseUrl, aplicarLeitura, reverterLeitura]
6470
6709
  );
6471
- const marcarTodasComoLidas = React28.useCallback(() => {
6710
+ const marcarTodasComoLidas = React30.useCallback(() => {
6472
6711
  marcarComoLidas(notificacoesRef.current.map((notificacao) => notificacao.id));
6473
6712
  }, [marcarComoLidas]);
6474
- const marcarUmaComoNaoLida = React28.useCallback(
6713
+ const marcarUmaComoNaoLida = React30.useCallback(
6475
6714
  (id) => {
6476
6715
  const alvo = notificacoesRef.current.find(
6477
6716
  (notificacao) => String(notificacao.id) === String(id)
@@ -6489,7 +6728,7 @@ function usarNotificacoes({
6489
6728
  },
6490
6729
  [baseUrl, reverterLeitura]
6491
6730
  );
6492
- const excluir = React28.useCallback(
6731
+ const excluir = React30.useCallback(
6493
6732
  (id) => {
6494
6733
  const alvo = notificacoesRef.current.find(
6495
6734
  (notificacao) => String(notificacao.id) === String(id)
@@ -6518,7 +6757,7 @@ function usarNotificacoes({
6518
6757
  }
6519
6758
 
6520
6759
  // src/components/organisms/header-notifications/index.tsx
6521
- import { Fragment as Fragment8, jsx as jsx42, jsxs as jsxs33 } from "react/jsx-runtime";
6760
+ import { Fragment as Fragment9, jsx as jsx42, jsxs as jsxs33 } from "react/jsx-runtime";
6522
6761
  function HeaderNotifications(props) {
6523
6762
  const {
6524
6763
  items = [],
@@ -6550,11 +6789,11 @@ function HeaderNotifications(props) {
6550
6789
  tituloLembretes,
6551
6790
  rotuloDispensarLembretes
6552
6791
  } = props;
6553
- const [aberto, setAberto] = React29.useState(false);
6554
- const [lembretesEmAlerta, setLembretesEmAlerta] = React29.useState(
6792
+ const [aberto, setAberto] = React31.useState(false);
6793
+ const [lembretesEmAlerta, setLembretesEmAlerta] = React31.useState(
6555
6794
  []
6556
6795
  );
6557
- const avaliouLembretesRef = React29.useRef(false);
6796
+ const avaliouLembretesRef = React31.useRef(false);
6558
6797
  const conectado = Boolean(email && sistema);
6559
6798
  const remoto = usarNotificacoes({
6560
6799
  email: email ?? "",
@@ -6565,17 +6804,17 @@ function HeaderNotifications(props) {
6565
6804
  habilitado: conectado,
6566
6805
  onErro
6567
6806
  });
6568
- const elegiveis = React29.useMemo(
6807
+ const elegiveis = React31.useMemo(
6569
6808
  () => conectado ? selecionarVisiveis(remoto.notificacoes) : [],
6570
6809
  [conectado, remoto.notificacoes]
6571
6810
  );
6572
- const itensRemotos = React29.useMemo(
6811
+ const itensRemotos = React31.useMemo(
6573
6812
  () => elegiveis.slice(0, limite).map((notificacao) => mapearParaItem(notificacao, getHref)),
6574
6813
  [elegiveis, limite, getHref]
6575
6814
  );
6576
6815
  const itens = conectado ? itensRemotos : items;
6577
6816
  const carregandoLista = conectado ? remoto.carregando : isLoading;
6578
- React29.useEffect(() => {
6817
+ React31.useEffect(() => {
6579
6818
  if (!conectado || !alertarLembretes) return;
6580
6819
  if (remoto.carregando || avaliouLembretesRef.current) return;
6581
6820
  avaliouLembretesRef.current = true;
@@ -6730,7 +6969,7 @@ function HeaderNotifications(props) {
6730
6969
  }) });
6731
6970
  };
6732
6971
  const temRodapePadrao = podeMarcarTodas && naoLidas > 0;
6733
- return /* @__PURE__ */ jsxs33(Fragment8, { children: [
6972
+ return /* @__PURE__ */ jsxs33(Fragment9, { children: [
6734
6973
  alertarLembretes && /* @__PURE__ */ jsx42(
6735
6974
  ModalLembretes,
6736
6975
  {
@@ -6741,8 +6980,8 @@ function HeaderNotifications(props) {
6741
6980
  rotuloDispensar: rotuloDispensarLembretes
6742
6981
  }
6743
6982
  ),
6744
- /* @__PURE__ */ jsxs33(Popover, { open: aberto, onOpenChange: alterarAbertura, children: [
6745
- /* @__PURE__ */ jsx42(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs33(
6983
+ /* @__PURE__ */ jsxs33(Popover2, { open: aberto, onOpenChange: alterarAbertura, children: [
6984
+ /* @__PURE__ */ jsx42(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ jsxs33(
6746
6985
  "button",
6747
6986
  {
6748
6987
  type: "button",
@@ -6772,7 +7011,7 @@ function HeaderNotifications(props) {
6772
7011
  }
6773
7012
  ) }),
6774
7013
  /* @__PURE__ */ jsxs33(
6775
- PopoverContent,
7014
+ PopoverContent2,
6776
7015
  {
6777
7016
  align,
6778
7017
  sideOffset: 20,
@@ -6808,10 +7047,10 @@ function HeaderNotifications(props) {
6808
7047
  }
6809
7048
 
6810
7049
  // src/alertas/alertas.tsx
6811
- import * as React32 from "react";
7050
+ import * as React34 from "react";
6812
7051
 
6813
7052
  // src/alertas/formulario-alerta.tsx
6814
- import * as React30 from "react";
7053
+ import * as React32 from "react";
6815
7054
 
6816
7055
  // src/alertas/date-utils.ts
6817
7056
  function obterHojeDataHoraIsoLocal() {
@@ -6945,15 +7184,15 @@ function FormularioAlerta({
6945
7184
  onSalvar,
6946
7185
  onCancelar
6947
7186
  }) {
6948
- const [values, setValues] = React30.useState(
7187
+ const [values, setValues] = React32.useState(
6949
7188
  () => alertaEmEdicao ? preencherFormDoAlerta(alertaEmEdicao) : FORM_VAZIO
6950
7189
  );
6951
- const [erro, setErro] = React30.useState("");
6952
- const [hojeDataHoraIso, setHojeDataHoraIso] = React30.useState("");
6953
- React30.useEffect(() => {
7190
+ const [erro, setErro] = React32.useState("");
7191
+ const [hojeDataHoraIso, setHojeDataHoraIso] = React32.useState("");
7192
+ React32.useEffect(() => {
6954
7193
  setHojeDataHoraIso(obterHojeDataHoraIsoLocal());
6955
7194
  }, []);
6956
- React30.useEffect(() => {
7195
+ React32.useEffect(() => {
6957
7196
  setValues(alertaEmEdicao ? preencherFormDoAlerta(alertaEmEdicao) : FORM_VAZIO);
6958
7197
  setErro("");
6959
7198
  }, [alertaEmEdicao]);
@@ -7310,7 +7549,7 @@ function AlertaItem({
7310
7549
  }
7311
7550
 
7312
7551
  // src/alertas/usar-alertas.ts
7313
- import * as React31 from "react";
7552
+ import * as React33 from "react";
7314
7553
 
7315
7554
  // src/alertas/cliente.ts
7316
7555
  var ErroAlertas = class _ErroAlertas extends Error {
@@ -7362,25 +7601,25 @@ function usarAlertas({
7362
7601
  habilitado = true,
7363
7602
  onErro
7364
7603
  }) {
7365
- const [alertas, setAlertas] = React31.useState([]);
7366
- const [carregando, setCarregando] = React31.useState(habilitado);
7367
- const controladorRef = React31.useRef(null);
7368
- const jaCarregouRef = React31.useRef(false);
7369
- const onErroRef = React31.useRef(onErro);
7370
- const fetchFnRef = React31.useRef(fetchFn);
7371
- const filtrosRef = React31.useRef(filtros);
7372
- React31.useEffect(() => {
7604
+ const [alertas, setAlertas] = React33.useState([]);
7605
+ const [carregando, setCarregando] = React33.useState(habilitado);
7606
+ const controladorRef = React33.useRef(null);
7607
+ const jaCarregouRef = React33.useRef(false);
7608
+ const onErroRef = React33.useRef(onErro);
7609
+ const fetchFnRef = React33.useRef(fetchFn);
7610
+ const filtrosRef = React33.useRef(filtros);
7611
+ React33.useEffect(() => {
7373
7612
  onErroRef.current = onErro;
7374
7613
  }, [onErro]);
7375
- React31.useEffect(() => {
7614
+ React33.useEffect(() => {
7376
7615
  fetchFnRef.current = fetchFn;
7377
7616
  }, [fetchFn]);
7378
- React31.useEffect(() => {
7617
+ React33.useEffect(() => {
7379
7618
  filtrosRef.current = filtros;
7380
7619
  }, [filtros]);
7381
7620
  const pronto = baseUrl !== void 0 && sistema !== void 0 && email !== void 0;
7382
7621
  const filtrosChave = filtros ? JSON.stringify(filtros) : "";
7383
- const atualizar = React31.useCallback(() => {
7622
+ const atualizar = React33.useCallback(() => {
7384
7623
  if (!habilitado || !pronto) return;
7385
7624
  controladorRef.current?.abort();
7386
7625
  const controlador = new AbortController();
@@ -7409,7 +7648,7 @@ function usarAlertas({
7409
7648
  }
7410
7649
  })();
7411
7650
  }, [baseUrl, sistema, email, eventoId, filtrosChave, habilitado, pronto]);
7412
- React31.useEffect(() => {
7651
+ React33.useEffect(() => {
7413
7652
  if (!habilitado || !pronto) {
7414
7653
  setCarregando(false);
7415
7654
  return;
@@ -7445,10 +7684,10 @@ function Alertas({
7445
7684
  filtros,
7446
7685
  onErro
7447
7686
  }) {
7448
- const [formAberto, setFormAberto] = React32.useState(false);
7449
- const [alertaEmEdicao, setAlertaEmEdicao] = React32.useState(null);
7450
- const [salvandoLocal, setSalvandoLocal] = React32.useState(false);
7451
- const [removendoLocal, setRemovendoLocal] = React32.useState(false);
7687
+ const [formAberto, setFormAberto] = React34.useState(false);
7688
+ const [alertaEmEdicao, setAlertaEmEdicao] = React34.useState(null);
7689
+ const [salvandoLocal, setSalvandoLocal] = React34.useState(false);
7690
+ const [removendoLocal, setRemovendoLocal] = React34.useState(false);
7452
7691
  const conectado = Boolean(sistema && email);
7453
7692
  const remoto = usarAlertas({
7454
7693
  baseUrl,
@@ -7662,10 +7901,11 @@ export {
7662
7901
  PageHeaderTitle,
7663
7902
  PageHeaderTitleContent,
7664
7903
  PeriodRangeList,
7665
- Popover,
7666
- PopoverContent,
7667
- PopoverTrigger,
7904
+ Popover2 as Popover,
7905
+ PopoverContent2 as PopoverContent,
7906
+ PopoverTrigger2 as PopoverTrigger,
7668
7907
  ResultMetadata,
7908
+ SIDEBAR_MOBILE_BREAKPOINT,
7669
7909
  Select,
7670
7910
  SelectContent,
7671
7911
  SelectGroup,
@@ -7706,6 +7946,8 @@ export {
7706
7946
  toLocalNoon,
7707
7947
  usarAlertas,
7708
7948
  useDrawer,
7949
+ useSidebar,
7950
+ useSidebarBreakpoint,
7709
7951
  validateFiles
7710
7952
  };
7711
7953
  /*! Bundled license information: