@mondrianai/runyourai-design-system 0.0.28 → 0.0.29
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 +17 -1
- package/dist/index.d.ts +17 -1
- package/dist/index.js +20 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +20 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -635,6 +635,15 @@ interface ModalProps {
|
|
|
635
635
|
open?: boolean;
|
|
636
636
|
/** controlled 모드에서 열림 상태 변경 콜백 */
|
|
637
637
|
onOpenChange?: (open: boolean) => void;
|
|
638
|
+
/**
|
|
639
|
+
* 포커스·배경 상호작용 격리 여부 (기본: true).
|
|
640
|
+
* 외부 SDK가 별도 포털/iframe을 열면 false로 설정한다. 외부 포커스/클릭으로
|
|
641
|
+
* 원본 콘텐츠를 닫지 않으며, 딤 클릭은 closeOnOverlayClick을 따른다.
|
|
642
|
+
* SDK가 초기 포커스를, 소비 앱이 SDK 종료 후 포커스 복구를 담당한다.
|
|
643
|
+
* false에서는 배경의 키보드 상호작용도 소비 앱이 별도로 차단해야 한다.
|
|
644
|
+
* 열린 동안 값을 변경하면 콘텐츠가 재마운트되므로 고정해서 사용한다.
|
|
645
|
+
*/
|
|
646
|
+
modal?: boolean;
|
|
638
647
|
/**
|
|
639
648
|
* footer 버튼 렌더 방식
|
|
640
649
|
* confirm — 취소 + default(검정) 확인 버튼
|
|
@@ -664,10 +673,17 @@ interface ModalProps {
|
|
|
664
673
|
onCancel?: () => void;
|
|
665
674
|
/** 오버레이 클릭 시 닫기 (기본: true) */
|
|
666
675
|
closeOnOverlayClick?: boolean;
|
|
676
|
+
/** 모달 오버레이에 추가할 className (예: 외부 포털보다 낮은 stacking level 지정) */
|
|
677
|
+
overlayClassName?: string;
|
|
667
678
|
/** 모달 패널에 추가할 className */
|
|
668
679
|
className?: string;
|
|
669
680
|
}
|
|
670
|
-
|
|
681
|
+
/**
|
|
682
|
+
* 앱의 확인/입력 다이얼로그를 렌더링한다. 기본은 모달이며, 외부 SDK 연동 시
|
|
683
|
+
* modal=false로 모달 격리를 해제하고 SDK를 소유한 원본 콘텐츠를 유지한다.
|
|
684
|
+
* 외부 포털과 stacking level을 조율할 때는 className과 overlayClassName을 함께 사용한다.
|
|
685
|
+
*/
|
|
686
|
+
declare function Modal({ id, trigger, open: openProp, onOpenChange, modal, variant, title, description, showCloseButton, children, cancelButtonProps, confirmButtonProps, onConfirm, onCancel, closeOnOverlayClick, overlayClassName, className, }: ModalProps): react_jsx_runtime.JSX.Element;
|
|
671
687
|
|
|
672
688
|
declare const Menubar: React$1.ForwardRefExoticComponent<Omit<Menubar$1.MenubarProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
673
689
|
declare const MenubarMenu: {
|
package/dist/index.d.ts
CHANGED
|
@@ -635,6 +635,15 @@ interface ModalProps {
|
|
|
635
635
|
open?: boolean;
|
|
636
636
|
/** controlled 모드에서 열림 상태 변경 콜백 */
|
|
637
637
|
onOpenChange?: (open: boolean) => void;
|
|
638
|
+
/**
|
|
639
|
+
* 포커스·배경 상호작용 격리 여부 (기본: true).
|
|
640
|
+
* 외부 SDK가 별도 포털/iframe을 열면 false로 설정한다. 외부 포커스/클릭으로
|
|
641
|
+
* 원본 콘텐츠를 닫지 않으며, 딤 클릭은 closeOnOverlayClick을 따른다.
|
|
642
|
+
* SDK가 초기 포커스를, 소비 앱이 SDK 종료 후 포커스 복구를 담당한다.
|
|
643
|
+
* false에서는 배경의 키보드 상호작용도 소비 앱이 별도로 차단해야 한다.
|
|
644
|
+
* 열린 동안 값을 변경하면 콘텐츠가 재마운트되므로 고정해서 사용한다.
|
|
645
|
+
*/
|
|
646
|
+
modal?: boolean;
|
|
638
647
|
/**
|
|
639
648
|
* footer 버튼 렌더 방식
|
|
640
649
|
* confirm — 취소 + default(검정) 확인 버튼
|
|
@@ -664,10 +673,17 @@ interface ModalProps {
|
|
|
664
673
|
onCancel?: () => void;
|
|
665
674
|
/** 오버레이 클릭 시 닫기 (기본: true) */
|
|
666
675
|
closeOnOverlayClick?: boolean;
|
|
676
|
+
/** 모달 오버레이에 추가할 className (예: 외부 포털보다 낮은 stacking level 지정) */
|
|
677
|
+
overlayClassName?: string;
|
|
667
678
|
/** 모달 패널에 추가할 className */
|
|
668
679
|
className?: string;
|
|
669
680
|
}
|
|
670
|
-
|
|
681
|
+
/**
|
|
682
|
+
* 앱의 확인/입력 다이얼로그를 렌더링한다. 기본은 모달이며, 외부 SDK 연동 시
|
|
683
|
+
* modal=false로 모달 격리를 해제하고 SDK를 소유한 원본 콘텐츠를 유지한다.
|
|
684
|
+
* 외부 포털과 stacking level을 조율할 때는 className과 overlayClassName을 함께 사용한다.
|
|
685
|
+
*/
|
|
686
|
+
declare function Modal({ id, trigger, open: openProp, onOpenChange, modal, variant, title, description, showCloseButton, children, cancelButtonProps, confirmButtonProps, onConfirm, onCancel, closeOnOverlayClick, overlayClassName, className, }: ModalProps): react_jsx_runtime.JSX.Element;
|
|
671
687
|
|
|
672
688
|
declare const Menubar: React$1.ForwardRefExoticComponent<Omit<Menubar$1.MenubarProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
673
689
|
declare const MenubarMenu: {
|
package/dist/index.js
CHANGED
|
@@ -4398,6 +4398,7 @@ function Modal({
|
|
|
4398
4398
|
trigger,
|
|
4399
4399
|
open: openProp,
|
|
4400
4400
|
onOpenChange,
|
|
4401
|
+
modal = true,
|
|
4401
4402
|
variant = "confirm",
|
|
4402
4403
|
title,
|
|
4403
4404
|
description,
|
|
@@ -4408,6 +4409,7 @@ function Modal({
|
|
|
4408
4409
|
onConfirm,
|
|
4409
4410
|
onCancel,
|
|
4410
4411
|
closeOnOverlayClick = true,
|
|
4412
|
+
overlayClassName,
|
|
4411
4413
|
className
|
|
4412
4414
|
}) {
|
|
4413
4415
|
const {
|
|
@@ -4430,6 +4432,7 @@ function Modal({
|
|
|
4430
4432
|
const [openState, setOpenState] = React19.useState(false);
|
|
4431
4433
|
const open = isControlled ? openProp : openState;
|
|
4432
4434
|
const [loading, setLoading] = React19.useState(false);
|
|
4435
|
+
const Overlay = modal ? import_radix_ui12.Dialog.Overlay : "div";
|
|
4433
4436
|
const setOpen = React19.useCallback(
|
|
4434
4437
|
(next) => {
|
|
4435
4438
|
if (!isControlled) setOpenState(next);
|
|
@@ -4472,17 +4475,25 @@ function Modal({
|
|
|
4472
4475
|
);
|
|
4473
4476
|
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
|
|
4474
4477
|
trigger == null ? void 0 : trigger(() => setOpen(true)),
|
|
4475
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_radix_ui12.Dialog.Root, { open, onOpenChange: handleRootOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_radix_ui12.Dialog.Portal, { children: [
|
|
4478
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_radix_ui12.Dialog.Root, { open, onOpenChange: handleRootOpenChange, modal, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_radix_ui12.Dialog.Portal, { children: [
|
|
4476
4479
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
4477
|
-
|
|
4478
|
-
{
|
|
4480
|
+
Overlay,
|
|
4481
|
+
__spreadProps(__spreadValues({}, !modal ? {
|
|
4482
|
+
"data-state": open ? "open" : "closed",
|
|
4483
|
+
"aria-hidden": true
|
|
4484
|
+
} : {}), {
|
|
4485
|
+
onClick: !modal ? (event) => {
|
|
4486
|
+
event.stopPropagation();
|
|
4487
|
+
if (open && closeOnOverlayClick) handleClose();
|
|
4488
|
+
} : void 0,
|
|
4479
4489
|
className: cn(
|
|
4480
4490
|
"fixed inset-0 z-50 bg-black/[0.32]",
|
|
4481
4491
|
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
4482
4492
|
"data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0",
|
|
4483
|
-
"duration-200 data-[state=closed]:duration-150"
|
|
4493
|
+
"duration-200 data-[state=closed]:duration-150",
|
|
4494
|
+
overlayClassName
|
|
4484
4495
|
)
|
|
4485
|
-
}
|
|
4496
|
+
})
|
|
4486
4497
|
),
|
|
4487
4498
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
4488
4499
|
import_radix_ui12.Dialog.Content,
|
|
@@ -4493,6 +4504,10 @@ function Modal({
|
|
|
4493
4504
|
if (loadingRef.current) e.preventDefault();
|
|
4494
4505
|
},
|
|
4495
4506
|
onInteractOutside: (e) => {
|
|
4507
|
+
if (!modal) {
|
|
4508
|
+
e.preventDefault();
|
|
4509
|
+
return;
|
|
4510
|
+
}
|
|
4496
4511
|
if (!closeOnOverlayClick || loadingRef.current) e.preventDefault();
|
|
4497
4512
|
},
|
|
4498
4513
|
className: cn(
|