@agendize/design-system
Version:
Agendize web design system
46 lines • 1.65 kB
TypeScript
import { ButtonSize } from "../action/button/viewModel";
import { AutoFocusType } from "../../../utils/focus";
import { Ref } from "vue";
export interface ModalDialogBoxProps {
id?: string;
title: string;
subTitle?: string;
icon?: string;
primaryLabel?: string;
primaryAction?: Function;
primaryDisabled?: boolean;
primaryColor?: string;
neutralLabel?: string;
neutralAction?: Function;
neutralDisabled?: boolean;
neutralClass?: string;
neutralColor?: string;
closeOnBlurClick?: boolean;
closeDisabled?: boolean;
closeCrossSize?: ButtonSize;
hasFooter?: boolean;
hasNeutral?: boolean;
hasPadding?: boolean;
modalAutofocus?: AutoFocusType;
autoInProgressOnPrimary?: boolean;
size?: 350 | 600 | 700 | 900 | undefined;
maxHeight?: 600;
resize?: boolean;
fixedHeight?: boolean;
tapTrap?: boolean;
contentOverflow?: 'auto' | 'unset' | 'hidden';
autoHeight?: boolean;
}
export declare type ComponentCloseTriggerType = 'button' | 'escape' | 'blur';
export declare function ModalDialogBoxViewModel(props: ModalDialogBoxProps, emit: any, actionLocked: Ref<boolean>): {
inProgress: Ref<boolean | undefined, boolean | undefined>;
actionInProgress: (progress: boolean) => void;
onOpen: () => void;
onClose: (type?: ComponentCloseTriggerType) => void;
blurAction: () => void;
closeTrigger: (type?: ComponentCloseTriggerType) => void;
onNeutralClick: () => void;
onPrimaryClick: () => Promise<void>;
currentPrimaryDisabled: Ref<boolean | undefined, boolean | undefined>;
};
//# sourceMappingURL=viewModel.d.ts.map