@cn-ui/core
Version:
The @cn-ui/core is a collection of UI components and utilities for building modern web applications with SolidJS.
38 lines (37 loc) • 1.54 kB
TypeScript
import { type Atom, type JSXSlot } from "@cn-ui/reactive";
import { type ModalListPosition } from "../Modal";
import { type AlertProps } from "./Alert";
import { FloatingArea } from "./runtime";
export interface MessageInfo extends Partial<AlertProps> {
id?: string;
title: JSXSlot;
description?: JSXSlot;
duration?: number;
type: "info" | "success" | "error" | "warning";
position?: ModalListPosition;
closable?: boolean;
}
interface MessageRenderProps {
store: MessageControl["PStore"];
}
export declare class MessageControl extends FloatingArea<MessageRenderProps> {
id: string;
constructor(id: string);
PStore: Record<ModalListPosition, Atom<MessageInfo[]>>;
removeMessage(id: string): MessageInfo[];
render(): import("solid-js").JSX.Element;
private autoKey;
getPosFromInfo(info: {
position?: ModalListPosition;
}): "bottom" | "top" | "top-left" | "top-right" | "bottom-left" | "bottom-right";
getPosFromId(id: string): ModalListPosition;
create(message: JSXSlot, type: MessageInfo["type"], options?: Partial<MessageInfo>): MessageInfo;
close(item: MessageInfo): void;
private durationClose;
info(message: JSXSlot, options?: Partial<MessageInfo>): MessageInfo;
success(message: JSXSlot, options?: Partial<MessageInfo>): MessageInfo;
warning(message: JSXSlot, options?: Partial<MessageInfo>): MessageInfo;
error(message: JSXSlot, options?: Partial<MessageInfo>): MessageInfo;
}
export declare const Message: MessageControl;
export {};