@exem-ui/react 0.3.4-next.20260612070750 → 0.3.4-next.20260617061749

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.d.mts CHANGED
@@ -567,7 +567,7 @@ declare function ScrollBar({ className, orientation, ...props }: React__default.
567
567
  */
568
568
  declare function ScrollArea({ className, children, onScroll, scrollRef, hideVerticalScrollbar, hideHorizontalScrollbar, disableHorizontalScroll, ...props }: ScrollAreaProps): react_jsx_runtime.JSX.Element;
569
569
 
570
- type ModalSize = 'small' | 'medium' | 'large' | 'xlarge' | 'fullsize';
570
+ type ModalSize = 'default' | 'fullsize';
571
571
  type ModalRootProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Root>;
572
572
  type ModalTriggerProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Trigger>;
573
573
  type ModalPortalProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>;
@@ -575,7 +575,7 @@ type ModalOverlayProps = React__default.ComponentPropsWithoutRef<typeof DialogPr
575
575
  type ModalContentProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {
576
576
  /**
577
577
  * 모달 크기
578
- * @default 'medium'
578
+ * @default 'default'
579
579
  */
580
580
  size?: ModalSize;
581
581
  };
@@ -587,10 +587,12 @@ type ModalHeaderProps = React__default.HTMLAttributes<HTMLDivElement> & {
587
587
  */
588
588
  line?: boolean;
589
589
  /**
590
- * 닫기 아이콘 표시 여부
591
- * @default true
590
+ * 헤더 오른쪽 영역에 렌더링할 콘텐츠
591
+ * - `undefined` (미전달): 기본 닫기(X) 아이콘 렌더링
592
+ * - `null`: 닫기 버튼 없이 빈 영역 (기존 `showCloseIcon={false}` 대응)
593
+ * - `ReactNode`: 전달된 콘텐츠로 대체 (닫기 동작이 필요하면 `Modal.Close`를 직접 포함)
592
594
  */
593
- showCloseIcon?: boolean;
595
+ rightSlot?: React__default.ReactNode;
594
596
  };
595
597
  type ModalBodyProps = React__default.HTMLAttributes<HTMLDivElement>;
596
598
  type ModalFooterProps = React__default.HTMLAttributes<HTMLDivElement> & {
@@ -617,8 +619,8 @@ type ModalActionProps = Omit<ButtonProps, 'color' | 'variant'> & {
617
619
  type ModalTitleProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;
618
620
  type ModalDescriptionProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>;
619
621
  type ModalComponent = typeof DialogPrimitive.Root & {
620
- Trigger: typeof DialogPrimitive.Trigger;
621
- Portal: typeof DialogPrimitive.Portal;
622
+ Trigger: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalTriggerProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Trigger>>>;
623
+ Portal: React__default.FC<ModalPortalProps>;
622
624
  Close: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalCloseProps> & React__default.RefAttributes<HTMLButtonElement>>;
623
625
  Overlay: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalOverlayProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Overlay>>>;
624
626
  Content: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalContentProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Content>>>;
@@ -631,30 +633,6 @@ type ModalComponent = typeof DialogPrimitive.Root & {
631
633
  Title: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalTitleProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Title>>>;
632
634
  Description: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalDescriptionProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Description>>>;
633
635
  };
634
- /**
635
- * 사용자 인터랙션이 필요한 오버레이 다이얼로그 컴포넌트입니다.
636
- * Compound Component 패턴으로 하위 컴포넌트와 함께 사용합니다.
637
- *
638
- * @example
639
- * ```tsx
640
- * <Modal>
641
- * <Modal.Trigger>열기</Modal.Trigger>
642
- * <Modal.Content size="medium">
643
- * <Modal.Header>
644
- * <Modal.Title>제목</Modal.Title>
645
- * </Modal.Header>
646
- * <Modal.Body>내용</Modal.Body>
647
- * <Modal.Footer>
648
- * <Modal.Actions>
649
- * <Modal.Close>닫기</Modal.Close>
650
- * </Modal.Actions>
651
- * </Modal.Footer>
652
- * </Modal.Content>
653
- * </Modal>
654
- * ```
655
- *
656
- * @see {@link ModalContentProps} Content props 상세
657
- */
658
636
  declare const Modal: ModalComponent;
659
637
 
660
638
  type SheetSide = 'top' | 'right' | 'bottom' | 'left';
@@ -669,7 +647,7 @@ type SheetContentProps = React__default.ComponentPropsWithoutRef<typeof DialogPr
669
647
  */
670
648
  side?: SheetSide;
671
649
  };
672
- type SheetCloseProps = ButtonProps;
650
+ type SheetCloseProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Close>;
673
651
  type SheetHeaderProps = React__default.HTMLAttributes<HTMLDivElement> & {
674
652
  /**
675
653
  * 하단 구분선 표시 여부
@@ -702,9 +680,9 @@ type SheetActionsProps = React__default.HTMLAttributes<HTMLDivElement>;
702
680
  type SheetTitleProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;
703
681
  type SheetDescriptionProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>;
704
682
  type SheetComponent = typeof DialogPrimitive.Root & {
705
- Trigger: typeof DialogPrimitive.Trigger;
706
- Portal: typeof DialogPrimitive.Portal;
707
- Close: typeof DialogPrimitive.Close;
683
+ Trigger: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<SheetTriggerProps> & React__default.RefAttributes<React__default.ComponentRef<typeof DialogPrimitive.Trigger>>>;
684
+ Portal: React__default.FC<SheetPortalProps>;
685
+ Close: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<SheetCloseProps> & React__default.RefAttributes<React__default.ComponentRef<typeof DialogPrimitive.Close>>>;
708
686
  Overlay: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<SheetOverlayProps> & React__default.RefAttributes<React__default.ComponentRef<typeof DialogPrimitive.Overlay>>>;
709
687
  Content: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<SheetContentProps> & React__default.RefAttributes<React__default.ComponentRef<typeof DialogPrimitive.Content>>>;
710
688
  Header: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<SheetHeaderProps> & React__default.RefAttributes<HTMLDivElement>>;
@@ -715,31 +693,6 @@ type SheetComponent = typeof DialogPrimitive.Root & {
715
693
  Title: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<SheetTitleProps> & React__default.RefAttributes<React__default.ComponentRef<typeof DialogPrimitive.Title>>>;
716
694
  Description: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<SheetDescriptionProps> & React__default.RefAttributes<React__default.ComponentRef<typeof DialogPrimitive.Description>>>;
717
695
  };
718
- /**
719
- * 화면 가장자리에서 슬라이드되어 열리는 패널 컴포넌트입니다.
720
- * Radix UI Dialog 기반이며 Compound Component 패턴으로 사용합니다.
721
- *
722
- * @example
723
- * ```tsx
724
- * <Sheet>
725
- * <Sheet.Trigger>열기</Sheet.Trigger>
726
- * <Sheet.Content side="right">
727
- * <Sheet.Header>
728
- * <Sheet.Title>제목</Sheet.Title>
729
- * </Sheet.Header>
730
- * <Sheet.Body>내용</Sheet.Body>
731
- * <Sheet.Footer>
732
- * <Sheet.Actions>
733
- * <Sheet.Close>닫기</Sheet.Close>
734
- * <Button>확인</Button>
735
- * </Sheet.Actions>
736
- * </Sheet.Footer>
737
- * </Sheet.Content>
738
- * </Sheet>
739
- * ```
740
- *
741
- * @see {@link SheetContentProps} Content props 상세
742
- */
743
696
  declare const Sheet: SheetComponent;
744
697
 
745
698
  type MessageBoxVariant = 'default' | 'critical';
@@ -758,7 +711,7 @@ type MessageBoxActionsProps = React__default.HTMLAttributes<HTMLDivElement>;
758
711
  type MessageBoxCancelProps = Omit<ButtonProps, 'color' | 'variant'>;
759
712
  type MessageBoxActionProps = Omit<ButtonProps, 'color' | 'variant'>;
760
713
  type MessageBoxComponent = React__default.FC<MessageBoxRootProps> & {
761
- Trigger: typeof DialogPrimitive.Trigger;
714
+ Trigger: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<MessageBoxTriggerProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Trigger>>>;
762
715
  Content: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<MessageBoxContentProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Content>>>;
763
716
  Title: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<MessageBoxTitleProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Title>>>;
764
717
  Description: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<MessageBoxDescriptionProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Description>>>;
package/dist/index.d.ts CHANGED
@@ -567,7 +567,7 @@ declare function ScrollBar({ className, orientation, ...props }: React__default.
567
567
  */
568
568
  declare function ScrollArea({ className, children, onScroll, scrollRef, hideVerticalScrollbar, hideHorizontalScrollbar, disableHorizontalScroll, ...props }: ScrollAreaProps): react_jsx_runtime.JSX.Element;
569
569
 
570
- type ModalSize = 'small' | 'medium' | 'large' | 'xlarge' | 'fullsize';
570
+ type ModalSize = 'default' | 'fullsize';
571
571
  type ModalRootProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Root>;
572
572
  type ModalTriggerProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Trigger>;
573
573
  type ModalPortalProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>;
@@ -575,7 +575,7 @@ type ModalOverlayProps = React__default.ComponentPropsWithoutRef<typeof DialogPr
575
575
  type ModalContentProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {
576
576
  /**
577
577
  * 모달 크기
578
- * @default 'medium'
578
+ * @default 'default'
579
579
  */
580
580
  size?: ModalSize;
581
581
  };
@@ -587,10 +587,12 @@ type ModalHeaderProps = React__default.HTMLAttributes<HTMLDivElement> & {
587
587
  */
588
588
  line?: boolean;
589
589
  /**
590
- * 닫기 아이콘 표시 여부
591
- * @default true
590
+ * 헤더 오른쪽 영역에 렌더링할 콘텐츠
591
+ * - `undefined` (미전달): 기본 닫기(X) 아이콘 렌더링
592
+ * - `null`: 닫기 버튼 없이 빈 영역 (기존 `showCloseIcon={false}` 대응)
593
+ * - `ReactNode`: 전달된 콘텐츠로 대체 (닫기 동작이 필요하면 `Modal.Close`를 직접 포함)
592
594
  */
593
- showCloseIcon?: boolean;
595
+ rightSlot?: React__default.ReactNode;
594
596
  };
595
597
  type ModalBodyProps = React__default.HTMLAttributes<HTMLDivElement>;
596
598
  type ModalFooterProps = React__default.HTMLAttributes<HTMLDivElement> & {
@@ -617,8 +619,8 @@ type ModalActionProps = Omit<ButtonProps, 'color' | 'variant'> & {
617
619
  type ModalTitleProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;
618
620
  type ModalDescriptionProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>;
619
621
  type ModalComponent = typeof DialogPrimitive.Root & {
620
- Trigger: typeof DialogPrimitive.Trigger;
621
- Portal: typeof DialogPrimitive.Portal;
622
+ Trigger: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalTriggerProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Trigger>>>;
623
+ Portal: React__default.FC<ModalPortalProps>;
622
624
  Close: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalCloseProps> & React__default.RefAttributes<HTMLButtonElement>>;
623
625
  Overlay: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalOverlayProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Overlay>>>;
624
626
  Content: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalContentProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Content>>>;
@@ -631,30 +633,6 @@ type ModalComponent = typeof DialogPrimitive.Root & {
631
633
  Title: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalTitleProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Title>>>;
632
634
  Description: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalDescriptionProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Description>>>;
633
635
  };
634
- /**
635
- * 사용자 인터랙션이 필요한 오버레이 다이얼로그 컴포넌트입니다.
636
- * Compound Component 패턴으로 하위 컴포넌트와 함께 사용합니다.
637
- *
638
- * @example
639
- * ```tsx
640
- * <Modal>
641
- * <Modal.Trigger>열기</Modal.Trigger>
642
- * <Modal.Content size="medium">
643
- * <Modal.Header>
644
- * <Modal.Title>제목</Modal.Title>
645
- * </Modal.Header>
646
- * <Modal.Body>내용</Modal.Body>
647
- * <Modal.Footer>
648
- * <Modal.Actions>
649
- * <Modal.Close>닫기</Modal.Close>
650
- * </Modal.Actions>
651
- * </Modal.Footer>
652
- * </Modal.Content>
653
- * </Modal>
654
- * ```
655
- *
656
- * @see {@link ModalContentProps} Content props 상세
657
- */
658
636
  declare const Modal: ModalComponent;
659
637
 
660
638
  type SheetSide = 'top' | 'right' | 'bottom' | 'left';
@@ -669,7 +647,7 @@ type SheetContentProps = React__default.ComponentPropsWithoutRef<typeof DialogPr
669
647
  */
670
648
  side?: SheetSide;
671
649
  };
672
- type SheetCloseProps = ButtonProps;
650
+ type SheetCloseProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Close>;
673
651
  type SheetHeaderProps = React__default.HTMLAttributes<HTMLDivElement> & {
674
652
  /**
675
653
  * 하단 구분선 표시 여부
@@ -702,9 +680,9 @@ type SheetActionsProps = React__default.HTMLAttributes<HTMLDivElement>;
702
680
  type SheetTitleProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;
703
681
  type SheetDescriptionProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>;
704
682
  type SheetComponent = typeof DialogPrimitive.Root & {
705
- Trigger: typeof DialogPrimitive.Trigger;
706
- Portal: typeof DialogPrimitive.Portal;
707
- Close: typeof DialogPrimitive.Close;
683
+ Trigger: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<SheetTriggerProps> & React__default.RefAttributes<React__default.ComponentRef<typeof DialogPrimitive.Trigger>>>;
684
+ Portal: React__default.FC<SheetPortalProps>;
685
+ Close: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<SheetCloseProps> & React__default.RefAttributes<React__default.ComponentRef<typeof DialogPrimitive.Close>>>;
708
686
  Overlay: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<SheetOverlayProps> & React__default.RefAttributes<React__default.ComponentRef<typeof DialogPrimitive.Overlay>>>;
709
687
  Content: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<SheetContentProps> & React__default.RefAttributes<React__default.ComponentRef<typeof DialogPrimitive.Content>>>;
710
688
  Header: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<SheetHeaderProps> & React__default.RefAttributes<HTMLDivElement>>;
@@ -715,31 +693,6 @@ type SheetComponent = typeof DialogPrimitive.Root & {
715
693
  Title: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<SheetTitleProps> & React__default.RefAttributes<React__default.ComponentRef<typeof DialogPrimitive.Title>>>;
716
694
  Description: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<SheetDescriptionProps> & React__default.RefAttributes<React__default.ComponentRef<typeof DialogPrimitive.Description>>>;
717
695
  };
718
- /**
719
- * 화면 가장자리에서 슬라이드되어 열리는 패널 컴포넌트입니다.
720
- * Radix UI Dialog 기반이며 Compound Component 패턴으로 사용합니다.
721
- *
722
- * @example
723
- * ```tsx
724
- * <Sheet>
725
- * <Sheet.Trigger>열기</Sheet.Trigger>
726
- * <Sheet.Content side="right">
727
- * <Sheet.Header>
728
- * <Sheet.Title>제목</Sheet.Title>
729
- * </Sheet.Header>
730
- * <Sheet.Body>내용</Sheet.Body>
731
- * <Sheet.Footer>
732
- * <Sheet.Actions>
733
- * <Sheet.Close>닫기</Sheet.Close>
734
- * <Button>확인</Button>
735
- * </Sheet.Actions>
736
- * </Sheet.Footer>
737
- * </Sheet.Content>
738
- * </Sheet>
739
- * ```
740
- *
741
- * @see {@link SheetContentProps} Content props 상세
742
- */
743
696
  declare const Sheet: SheetComponent;
744
697
 
745
698
  type MessageBoxVariant = 'default' | 'critical';
@@ -758,7 +711,7 @@ type MessageBoxActionsProps = React__default.HTMLAttributes<HTMLDivElement>;
758
711
  type MessageBoxCancelProps = Omit<ButtonProps, 'color' | 'variant'>;
759
712
  type MessageBoxActionProps = Omit<ButtonProps, 'color' | 'variant'>;
760
713
  type MessageBoxComponent = React__default.FC<MessageBoxRootProps> & {
761
- Trigger: typeof DialogPrimitive.Trigger;
714
+ Trigger: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<MessageBoxTriggerProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Trigger>>>;
762
715
  Content: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<MessageBoxContentProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Content>>>;
763
716
  Title: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<MessageBoxTitleProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Title>>>;
764
717
  Description: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<MessageBoxDescriptionProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Description>>>;
package/dist/index.js CHANGED
@@ -1682,10 +1682,13 @@ var MODAL_PADDING = {
1682
1682
  body: "px-4 pb-4",
1683
1683
  footer: "px-4 py-3"
1684
1684
  };
1685
- var ModalContext = React.createContext({ size: "medium" });
1686
- var Modal = DialogPrimitive__namespace.Root;
1687
- Modal.Trigger = DialogPrimitive__namespace.Trigger;
1688
- Modal.Portal = DialogPrimitive__namespace.Portal;
1685
+ var ModalContext = React.createContext({ size: "default" });
1686
+ var ModalRoot = (props) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Root, { ...props });
1687
+ var Modal = ModalRoot;
1688
+ Modal.Trigger = React.forwardRef(
1689
+ (props, ref) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Trigger, { ref, ...props })
1690
+ );
1691
+ Modal.Portal = (props) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Portal, { ...props });
1689
1692
  Modal.Close = React.forwardRef(({ size, ...props }, ref) => {
1690
1693
  const { size: modalSize } = React.useContext(ModalContext);
1691
1694
  return /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -1713,14 +1716,8 @@ Modal.Overlay = React.forwardRef(
1713
1716
  )
1714
1717
  );
1715
1718
  Modal.Content = React.forwardRef(
1716
- ({ className, children, size = "medium", onInteractOutside, onFocusOutside, ...props }, ref) => {
1719
+ ({ className, children, size = "default", onInteractOutside, onFocusOutside, ...props }, ref) => {
1717
1720
  const isFullSize = size === "fullsize";
1718
- const sizeWidthMap = {
1719
- small: "max-w-[640px]",
1720
- medium: "max-w-[800px]",
1721
- large: "max-w-[960px]",
1722
- xlarge: "max-w-[1120px]"
1723
- };
1724
1721
  const shouldPreventDismissForSelect = (target) => {
1725
1722
  const isSelectOpen = Boolean(
1726
1723
  document.querySelector('[data-radix-select-content][data-state="open"]')
@@ -1753,10 +1750,7 @@ Modal.Content = React.forwardRef(
1753
1750
  // fullsize일 때
1754
1751
  isFullSize ? "inset-0 m-10" : (
1755
1752
  // 일반 모달일 때
1756
- utils.cn(
1757
- "left-[50%] top-[50%] w-full max-h-[90vh] translate-x-[-50%] translate-y-[-50%] shadow-strong data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",
1758
- sizeWidthMap[size]
1759
- )
1753
+ "left-[50%] top-[50%] max-w-[calc(100vw-32px)] max-h-[calc(100vh-80px)] w-[800px] h-[560px] translate-x-[-50%] translate-y-[-50%] shadow-strong data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]"
1760
1754
  ),
1761
1755
  className
1762
1756
  ),
@@ -1769,34 +1763,30 @@ Modal.Content = React.forwardRef(
1769
1763
  }
1770
1764
  );
1771
1765
  Modal.Header = React.forwardRef(
1772
- ({ className, line = false, showCloseIcon = true, children, ...props }, ref) => {
1773
- const { size } = React.useContext(ModalContext);
1774
- return /* @__PURE__ */ jsxRuntime.jsxs(
1775
- "div",
1776
- {
1777
- ref,
1778
- className: utils.cn(
1779
- "flex shrink-0 flex-row items-center gap-2 pl-4 pr-3",
1780
- line && "border-b border-border-primary",
1781
- size === "fullsize" ? "h-16" : "h-14",
1782
- className
1783
- ),
1784
- ...props,
1785
- children: [
1786
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-1 flex-row items-center gap-1", children }),
1787
- showCloseIcon && /* @__PURE__ */ jsxRuntime.jsx(
1788
- DialogPrimitive__namespace.Close,
1789
- {
1790
- className: utils.cn(
1791
- "flex shrink-0 items-center justify-center size-8 rounded-medium text-icon-secondary transition-colors hover:bg-elevation-elevation-2 focus:outline-none disabled:pointer-events-none"
1792
- ),
1793
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkTAZFRRWT_js.X, { type: "regular", size: 20 })
1794
- }
1795
- )
1796
- ]
1797
- }
1798
- );
1799
- }
1766
+ ({ className, line = false, rightSlot, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1767
+ "div",
1768
+ {
1769
+ ref,
1770
+ className: utils.cn(
1771
+ "flex shrink-0 flex-row items-center gap-2 pl-4 pr-2 min-h-12",
1772
+ line && "border-b border-border-primary",
1773
+ className
1774
+ ),
1775
+ ...props,
1776
+ children: [
1777
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-1 flex-row items-center gap-1", children }),
1778
+ rightSlot === void 0 ? /* @__PURE__ */ jsxRuntime.jsx(
1779
+ DialogPrimitive__namespace.Close,
1780
+ {
1781
+ className: utils.cn(
1782
+ "flex shrink-0 items-center justify-center size-8 rounded-medium text-icon-secondary transition-colors hover:bg-elevation-elevation-2 focus:outline-none disabled:pointer-events-none"
1783
+ ),
1784
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkTAZFRRWT_js.X, { type: "regular", size: 20 })
1785
+ }
1786
+ ) : rightSlot
1787
+ ]
1788
+ }
1789
+ )
1800
1790
  );
1801
1791
  Modal.Body = React.forwardRef(
1802
1792
  ({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -1813,62 +1803,39 @@ Modal.Body = React.forwardRef(
1813
1803
  )
1814
1804
  );
1815
1805
  Modal.Footer = React.forwardRef(
1816
- ({ className, line = true, ...props }, ref) => {
1817
- const { size } = React.useContext(ModalContext);
1818
- return /* @__PURE__ */ jsxRuntime.jsx(
1819
- "div",
1820
- {
1821
- ref,
1822
- className: utils.cn(
1823
- "flex flex-row items-center justify-between",
1824
- line && "border-t border-border-primary",
1825
- size === "fullsize" ? "gap-3" : "h-14 gap-3",
1826
- MODAL_PADDING.footer,
1827
- className
1828
- ),
1829
- ...props
1830
- }
1831
- );
1832
- }
1806
+ ({ className, line = true, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1807
+ "div",
1808
+ {
1809
+ ref,
1810
+ className: utils.cn(
1811
+ "flex flex-row items-center justify-between min-h-14 gap-3",
1812
+ line && "border-t border-border-primary",
1813
+ MODAL_PADDING.footer,
1814
+ className
1815
+ ),
1816
+ ...props
1817
+ }
1818
+ )
1833
1819
  );
1834
1820
  Modal.FooterDescription = React.forwardRef(
1835
- ({ className, error = false, icon, children, ...props }, ref) => {
1836
- const { size } = React.useContext(ModalContext);
1837
- const isLargeFooter = size === "fullsize";
1838
- return /* @__PURE__ */ jsxRuntime.jsxs(
1839
- "div",
1840
- {
1841
- ref,
1842
- className: utils.cn(
1843
- "flex flex-row items-center gap-1",
1844
- isLargeFooter ? "text-body-2" : "text-body-3",
1845
- error ? "text-text-critical" : "text-text-tertiary",
1846
- className
1847
- ),
1848
- ...props,
1849
- children: [
1850
- icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex shrink-0 size-4 items-center justify-center [&>svg]:size-4", children: icon }),
1851
- children
1852
- ]
1853
- }
1854
- );
1855
- }
1856
- );
1857
- Modal.Actions = React.forwardRef(({ className, ...props }, ref) => {
1858
- const { size } = React.useContext(ModalContext);
1859
- return /* @__PURE__ */ jsxRuntime.jsx(
1821
+ ({ className, error = false, icon, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1860
1822
  "div",
1861
1823
  {
1862
1824
  ref,
1863
1825
  className: utils.cn(
1864
- "ml-auto flex flex-row items-center",
1865
- size === "fullsize" ? "gap-3" : "gap-2",
1826
+ "flex flex-row items-center gap-1 text-body-3",
1827
+ error ? "text-text-critical" : "text-text-tertiary",
1866
1828
  className
1867
1829
  ),
1868
- ...props
1830
+ ...props,
1831
+ children: [
1832
+ icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex shrink-0 size-4 items-center justify-center [&>svg]:size-4", children: icon }),
1833
+ children
1834
+ ]
1869
1835
  }
1870
- );
1871
- });
1836
+ )
1837
+ );
1838
+ Modal.Actions = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: utils.cn("ml-auto flex flex-row items-center gap-2", className), ...props }));
1872
1839
  Modal.Action = React.forwardRef(
1873
1840
  ({ color = "primary", size, ...props }, ref) => {
1874
1841
  const { size: modalSize } = React.useContext(ModalContext);
@@ -1927,10 +1894,15 @@ var SHEET_SIDE_CLASSES = {
1927
1894
  bottom: "inset-x-0 bottom-0 w-full h-auto max-h-[calc(100vh-var(--sheet-edge-gap))] border-t data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom"
1928
1895
  };
1929
1896
  var SheetContext = React.createContext({ side: "right" });
1930
- var Sheet = DialogPrimitive__namespace.Root;
1931
- Sheet.Trigger = DialogPrimitive__namespace.Trigger;
1932
- Sheet.Portal = DialogPrimitive__namespace.Portal;
1933
- Sheet.Close = DialogPrimitive__namespace.Close;
1897
+ var SheetRoot = (props) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Root, { ...props });
1898
+ var Sheet = SheetRoot;
1899
+ Sheet.Trigger = React.forwardRef(
1900
+ (props, ref) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Trigger, { ref, ...props })
1901
+ );
1902
+ Sheet.Portal = (props) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Portal, { ...props });
1903
+ Sheet.Close = React.forwardRef(
1904
+ (props, ref) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Close, { ref, ...props })
1905
+ );
1934
1906
  Sheet.Overlay = React.forwardRef(
1935
1907
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1936
1908
  DialogPrimitive__namespace.Overlay,
@@ -2113,7 +2085,7 @@ Sheet.Description.displayName = "Sheet.Description";
2113
2085
  var MessageBoxContext = React.createContext({ variant: "default" });
2114
2086
  var MessageBoxRoot = (props) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Root, { ...props });
2115
2087
  var MessageBox = MessageBoxRoot;
2116
- MessageBox.Trigger = DialogPrimitive__namespace.Trigger;
2088
+ MessageBox.Trigger = React.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Trigger, { ref, ...props }));
2117
2089
  MessageBox.Content = React.forwardRef(({ className, children, variant = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(MessageBoxContext.Provider, { value: { variant }, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Portal, { children: [
2118
2090
  /* @__PURE__ */ jsxRuntime.jsx(
2119
2091
  DialogPrimitive__namespace.Overlay,