@lerx/promise-modal 0.0.1
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/LICENSE +21 -0
- package/README.md +43 -0
- package/dist/app/ModalManager.d.ts +9 -0
- package/dist/app/ModalManager.d.ts.map +1 -0
- package/dist/app/constant.d.ts +3 -0
- package/dist/app/constant.d.ts.map +1 -0
- package/dist/components/Anchor/Anchor.d.ts +2 -0
- package/dist/components/Anchor/Anchor.d.ts.map +1 -0
- package/dist/components/Anchor/index.d.ts +2 -0
- package/dist/components/Anchor/index.d.ts.map +1 -0
- package/dist/components/Background/Background.d.ts +3 -0
- package/dist/components/Background/Background.d.ts.map +1 -0
- package/dist/components/Background/index.d.ts +2 -0
- package/dist/components/Background/index.d.ts.map +1 -0
- package/dist/components/FallbackComponents/FallbackContent.d.ts +3 -0
- package/dist/components/FallbackComponents/FallbackContent.d.ts.map +1 -0
- package/dist/components/FallbackComponents/FallbackFooter.d.ts +3 -0
- package/dist/components/FallbackComponents/FallbackFooter.d.ts.map +1 -0
- package/dist/components/FallbackComponents/FallbackForegroundFrame.d.ts +5 -0
- package/dist/components/FallbackComponents/FallbackForegroundFrame.d.ts.map +1 -0
- package/dist/components/FallbackComponents/FallbackSubtitle.d.ts +3 -0
- package/dist/components/FallbackComponents/FallbackSubtitle.d.ts.map +1 -0
- package/dist/components/FallbackComponents/FallbackTitle.d.ts +3 -0
- package/dist/components/FallbackComponents/FallbackTitle.d.ts.map +1 -0
- package/dist/components/FallbackComponents/index.d.ts +6 -0
- package/dist/components/FallbackComponents/index.d.ts.map +1 -0
- package/dist/components/Foreground/Foreground.d.ts +3 -0
- package/dist/components/Foreground/Foreground.d.ts.map +1 -0
- package/dist/components/Foreground/components/AlertInner.d.ts +9 -0
- package/dist/components/Foreground/components/AlertInner.d.ts.map +1 -0
- package/dist/components/Foreground/components/ConfirmInner.d.ts +9 -0
- package/dist/components/Foreground/components/ConfirmInner.d.ts.map +1 -0
- package/dist/components/Foreground/components/PromptInner.d.ts +9 -0
- package/dist/components/Foreground/components/PromptInner.d.ts.map +1 -0
- package/dist/components/Foreground/components/index.d.ts +4 -0
- package/dist/components/Foreground/components/index.d.ts.map +1 -0
- package/dist/components/Foreground/index.d.ts +2 -0
- package/dist/components/Foreground/index.d.ts.map +1 -0
- package/dist/components/Presenter/Presenter.d.ts +3 -0
- package/dist/components/Presenter/Presenter.d.ts.map +1 -0
- package/dist/components/Presenter/index.d.ts +2 -0
- package/dist/components/Presenter/index.d.ts.map +1 -0
- package/dist/core/handle/alert.d.ts +15 -0
- package/dist/core/handle/alert.d.ts.map +1 -0
- package/dist/core/handle/confirm.d.ts +15 -0
- package/dist/core/handle/confirm.d.ts.map +1 -0
- package/dist/core/handle/index.d.ts +4 -0
- package/dist/core/handle/index.d.ts.map +1 -0
- package/dist/core/handle/prompt.d.ts +18 -0
- package/dist/core/handle/prompt.d.ts.map +1 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/node/ModalNode/AbstractBaseNode.d.ts +26 -0
- package/dist/core/node/ModalNode/AbstractBaseNode.d.ts.map +1 -0
- package/dist/core/node/ModalNode/AlertNode.d.ts +15 -0
- package/dist/core/node/ModalNode/AlertNode.d.ts.map +1 -0
- package/dist/core/node/ModalNode/ConfirmNode.d.ts +15 -0
- package/dist/core/node/ModalNode/ConfirmNode.d.ts.map +1 -0
- package/dist/core/node/ModalNode/PromptNode.d.ts +20 -0
- package/dist/core/node/ModalNode/PromptNode.d.ts.map +1 -0
- package/dist/core/node/ModalNode/index.d.ts +4 -0
- package/dist/core/node/ModalNode/index.d.ts.map +1 -0
- package/dist/core/node/index.d.ts +3 -0
- package/dist/core/node/index.d.ts.map +1 -0
- package/dist/core/node/nodeFactory.d.ts +4 -0
- package/dist/core/node/nodeFactory.d.ts.map +1 -0
- package/dist/core/node/type.d.ts +4 -0
- package/dist/core/node/type.d.ts.map +1 -0
- package/dist/helpers/getMillisecondsFromDuration.d.ts +2 -0
- package/dist/helpers/getMillisecondsFromDuration.d.ts.map +1 -0
- package/dist/hooks/useActiveModalCount.d.ts +2 -0
- package/dist/hooks/useActiveModalCount.d.ts.map +1 -0
- package/dist/hooks/useDefaultPathname.d.ts +4 -0
- package/dist/hooks/useDefaultPathname.d.ts.map +1 -0
- package/dist/hooks/useDestroyAfter.d.ts +3 -0
- package/dist/hooks/useDestroyAfter.d.ts.map +1 -0
- package/dist/hooks/useSubscribeModal.d.ts +3 -0
- package/dist/hooks/useSubscribeModal.d.ts.map +1 -0
- package/dist/hooks/useWindowSize.d.ts +5 -0
- package/dist/hooks/useWindowSize.d.ts.map +1 -0
- package/dist/index.cjs.js +18 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.js +18 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/providers/ModalContext/ModalContext.d.ts +18 -0
- package/dist/providers/ModalContext/ModalContext.d.ts.map +1 -0
- package/dist/providers/ModalContext/ModalContextProvider.d.ts +22 -0
- package/dist/providers/ModalContext/ModalContextProvider.d.ts.map +1 -0
- package/dist/providers/ModalContext/index.d.ts +3 -0
- package/dist/providers/ModalContext/index.d.ts.map +1 -0
- package/dist/providers/ModalContext/useModalContext.d.ts +13 -0
- package/dist/providers/ModalContext/useModalContext.d.ts.map +1 -0
- package/dist/providers/ModalDataContext/ModalDataContext.d.ts +10 -0
- package/dist/providers/ModalDataContext/ModalDataContext.d.ts.map +1 -0
- package/dist/providers/ModalDataContext/ModalDataContextProvider.d.ts +7 -0
- package/dist/providers/ModalDataContext/ModalDataContextProvider.d.ts.map +1 -0
- package/dist/providers/ModalDataContext/index.d.ts +3 -0
- package/dist/providers/ModalDataContext/index.d.ts.map +1 -0
- package/dist/providers/ModalDataContext/useModalDataContext.d.ts +4 -0
- package/dist/providers/ModalDataContext/useModalDataContext.d.ts.map +1 -0
- package/dist/providers/index.d.ts +3 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/types/alert.d.ts +13 -0
- package/dist/types/alert.d.ts.map +1 -0
- package/dist/types/background.d.ts +4 -0
- package/dist/types/background.d.ts.map +1 -0
- package/dist/types/base.d.ts +30 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/confirm.d.ts +14 -0
- package/dist/types/confirm.d.ts.map +1 -0
- package/dist/types/function.d.ts +16 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/modal.d.ts +46 -0
- package/dist/types/modal.d.ts.map +1 -0
- package/dist/types/object.d.ts +14 -0
- package/dist/types/prompt.d.ts +26 -0
- package/dist/types/prompt.d.ts.map +1 -0
- package/dist/types/styles.d.ts +4 -0
- package/dist/types/units.d.ts +21 -0
- package/dist/types/utility.d.ts +45 -0
- package/package.json +97 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type ComponentType, type PropsWithChildren } from 'react';
|
|
2
|
+
import type { FooterComponentProps, ModalFrameProps } from '../../types';
|
|
3
|
+
interface ModalContextProviderProps {
|
|
4
|
+
BackgroundComponent?: ComponentType<ModalFrameProps>;
|
|
5
|
+
ForegroundComponent?: ComponentType<ModalFrameProps>;
|
|
6
|
+
TitleComponent?: ComponentType<PropsWithChildren>;
|
|
7
|
+
SubtitleComponent?: ComponentType<PropsWithChildren>;
|
|
8
|
+
ContentComponent?: ComponentType<PropsWithChildren>;
|
|
9
|
+
FooterComponent?: ComponentType<FooterComponentProps>;
|
|
10
|
+
options?: {
|
|
11
|
+
duration?: Duration;
|
|
12
|
+
backdrop?: Color;
|
|
13
|
+
manualDestroy?: boolean;
|
|
14
|
+
closeOnBackdropClick?: boolean;
|
|
15
|
+
};
|
|
16
|
+
usePathname?: () => {
|
|
17
|
+
pathname: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export declare const ModalContextProvider: import("react").MemoExoticComponent<({ ForegroundComponent, BackgroundComponent, TitleComponent, SubtitleComponent, ContentComponent, FooterComponent, options, usePathname, children, }: PropsWithChildren<ModalContextProviderProps>) => import("react/jsx-runtime").JSX.Element>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=ModalContextProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalContextProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/ModalContext/ModalContextProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAIvB,MAAM,OAAO,CAAC;AAoBf,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAK/B,UAAU,yBAAyB;IACjC,mBAAmB,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACrD,mBAAmB,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACrD,cAAc,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAClD,iBAAiB,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACrD,gBAAgB,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACpD,eAAe,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACtD,OAAO,CAAC,EAAE;QAER,QAAQ,CAAC,EAAE,QAAQ,CAAC;QAEpB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAEjB,aAAa,CAAC,EAAE,OAAO,CAAC;QAExB,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;IACF,WAAW,CAAC,EAAE,MAAM;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED,eAAO,MAAM,oBAAoB,4LAW5B,iBAAiB,CAAC,yBAAyB,CAAC,6CAuDhD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ModalContext/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const useModalContext: () => import("./ModalContext").ModalContextProps;
|
|
2
|
+
export declare const useModalOptions: () => {
|
|
3
|
+
duration: Duration;
|
|
4
|
+
backdrop: Color;
|
|
5
|
+
manualDestroy: boolean;
|
|
6
|
+
closeOnBackdropClick: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare const useModalDuration: () => {
|
|
9
|
+
duration: Duration;
|
|
10
|
+
milliseconds: number;
|
|
11
|
+
};
|
|
12
|
+
export declare const useModalBackdrop: () => Color;
|
|
13
|
+
//# sourceMappingURL=useModalContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useModalContext.d.ts","sourceRoot":"","sources":["../../../src/providers/ModalContext/useModalContext.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,kDAAiC,CAAC;AAE9D,eAAO,MAAM,eAAe;;;;;CAG3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAG5B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ModalNode } from '../../core';
|
|
2
|
+
import type { ModalActions, ModalHandlersWithId } from '../../types';
|
|
3
|
+
export interface ModalDataContextProps extends ModalHandlersWithId {
|
|
4
|
+
modalIds: ModalNode['id'][];
|
|
5
|
+
getModal: Fn<[id: ModalNode['id']], ModalActions>;
|
|
6
|
+
getModalNode: Fn<[id: ModalNode['id']], ModalNode | undefined>;
|
|
7
|
+
setUpdater: Fn<[updater: Fn]>;
|
|
8
|
+
}
|
|
9
|
+
export declare const ModalDataContext: import("react").Context<ModalDataContextProps>;
|
|
10
|
+
//# sourceMappingURL=ModalDataContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalDataContext.d.ts","sourceRoot":"","sources":["../../../src/providers/ModalDataContext/ModalDataContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5B,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAClD,YAAY,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;IAC/D,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;CAC/B;AAED,eAAO,MAAM,gBAAgB,gDAe3B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type PropsWithChildren } from 'react';
|
|
2
|
+
interface ModalDataContextProviderProps {
|
|
3
|
+
pathname: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const ModalDataContextProvider: import("react").MemoExoticComponent<({ pathname, children, }: PropsWithChildren<ModalDataContextProviderProps>) => import("react/jsx-runtime").JSX.Element>;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=ModalDataContextProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalDataContextProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/ModalDataContext/ModalDataContextProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EAOvB,MAAM,OAAO,CAAC;AAYf,UAAU,6BAA6B;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,wBAAwB,gEAIhC,iBAAiB,CAAC,6BAA6B,CAAC,6CAsKpD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ModalDataContext/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ManagedModal } from '../../types';
|
|
2
|
+
export declare const useModalDataContext: () => import("./ModalDataContext").ModalDataContextProps;
|
|
3
|
+
export declare const useModal: (id: ManagedModal["id"]) => import("../../types").ModalActions;
|
|
4
|
+
//# sourceMappingURL=useModalDataContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useModalDataContext.d.ts","sourceRoot":"","sources":["../../../src/providers/ModalDataContext/useModalDataContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,eAAO,MAAM,mBAAmB,0DAAqC,CAAC;AAEtE,eAAO,MAAM,QAAQ,OAAQ,YAAY,CAAC,IAAI,CAAC,iDAG9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,QAAQ,GACT,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ComponentType, ReactNode } from 'react';
|
|
2
|
+
import type { BaseModal, ContentComponentProps, FooterOptions } from './base';
|
|
3
|
+
export type AlertFooterRender = (props: {
|
|
4
|
+
onConfirm: VoidFunction;
|
|
5
|
+
}) => ReactNode;
|
|
6
|
+
export type AlertContentProps = Pick<ContentComponentProps, 'onConfirm'>;
|
|
7
|
+
export interface AlertModal<B> extends BaseModal<void, B> {
|
|
8
|
+
type: 'alert';
|
|
9
|
+
subtype?: 'info' | 'success' | 'warning' | 'error';
|
|
10
|
+
content?: ReactNode | ComponentType<AlertContentProps>;
|
|
11
|
+
footer?: AlertFooterRender | Pick<FooterOptions, 'confirm' | 'hideConfirm'> | false;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=alert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../src/types/alert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE9E,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,YAAY,CAAC;CACzB,KAAK,SAAS,CAAC;AAEhB,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;AAEzE,MAAM,WAAW,UAAU,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACnD,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACvD,MAAM,CAAC,EACH,iBAAiB,GACjB,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,aAAa,CAAC,GAC9C,KAAK,CAAC;CACX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../src/types/background.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,CAAC;CACV"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { ModalBackground } from './background';
|
|
3
|
+
export interface BaseModal<T, B> {
|
|
4
|
+
title?: ReactNode;
|
|
5
|
+
subtitle?: ReactNode;
|
|
6
|
+
background?: ModalBackground<B>;
|
|
7
|
+
manualDestroy?: boolean;
|
|
8
|
+
closeOnBackdropClick?: boolean;
|
|
9
|
+
resolve: (result: T | null) => void;
|
|
10
|
+
}
|
|
11
|
+
export interface ContentComponentProps {
|
|
12
|
+
onConfirm: VoidFunction;
|
|
13
|
+
onCancel: VoidFunction;
|
|
14
|
+
}
|
|
15
|
+
export interface FooterOptions {
|
|
16
|
+
confirm?: string;
|
|
17
|
+
hideConfirm?: boolean;
|
|
18
|
+
cancel?: string;
|
|
19
|
+
hideCancel?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export type FooterComponentProps = {
|
|
22
|
+
confirmLabel?: string;
|
|
23
|
+
hideConfirm?: boolean;
|
|
24
|
+
cancelLabel?: string;
|
|
25
|
+
hideCancel?: boolean;
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
onConfirm: VoidFunction;
|
|
28
|
+
onCancel?: VoidFunction;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,YAAY,CAAC;IACxB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ComponentType, ReactNode } from 'react';
|
|
2
|
+
import type { BaseModal, ContentComponentProps, FooterOptions } from './base';
|
|
3
|
+
export type ConfirmFooterRender = (props: {
|
|
4
|
+
onConfirm: VoidFunction;
|
|
5
|
+
onCancel: VoidFunction;
|
|
6
|
+
}) => ReactNode;
|
|
7
|
+
export type ConfirmContentProps = ContentComponentProps;
|
|
8
|
+
export interface ConfirmModal<B> extends BaseModal<boolean, B> {
|
|
9
|
+
type: 'confirm';
|
|
10
|
+
subtype?: 'info' | 'success' | 'warning' | 'error';
|
|
11
|
+
content?: ReactNode | ComponentType<ConfirmContentProps>;
|
|
12
|
+
footer?: ConfirmFooterRender | FooterOptions | false;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=confirm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirm.d.ts","sourceRoot":"","sources":["../../src/types/confirm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE9E,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE;IACxC,SAAS,EAAE,YAAY,CAAC;IACxB,QAAQ,EAAE,YAAY,CAAC;CACxB,KAAK,SAAS,CAAC;AAEhB,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAExD,MAAM,WAAW,YAAY,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5D,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACnD,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;IACzD,MAAM,CAAC,EAAE,mBAAmB,GAAG,aAAa,GAAG,KAAK,CAAC;CACtD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare interface Fn<Params extends Array<any> = [], Return = void> {
|
|
2
|
+
(...props: Params): Return;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
declare interface AsyncFn<Params extends Array<any>, Return = void> {
|
|
6
|
+
(...props: Params): Promise<Return>;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
declare type SetStateFn<S = unknown> = (
|
|
10
|
+
value: S | ((prevState: S) => S),
|
|
11
|
+
) => void;
|
|
12
|
+
|
|
13
|
+
declare type Parameter<
|
|
14
|
+
F extends Fn<[any]> | SetStateFn<any> | undefined,
|
|
15
|
+
I extends number = 0,
|
|
16
|
+
> = Parameters<NonNullable<F>>[I];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { ModalNode } from '../core';
|
|
2
|
+
import type { AlertModal } from './alert';
|
|
3
|
+
import type { ModalBackground } from './background';
|
|
4
|
+
import type { ConfirmModal } from './confirm';
|
|
5
|
+
import type { PromptModal } from './prompt';
|
|
6
|
+
export type Modal<T = any, B = any> = AlertModal<B> | ConfirmModal<B> | PromptModal<T, B>;
|
|
7
|
+
export type ManagedEntity = {
|
|
8
|
+
id: number;
|
|
9
|
+
initiator: string;
|
|
10
|
+
};
|
|
11
|
+
export type ManagedModal<T = any, B = any> = ManagedEntity & Modal<T, B>;
|
|
12
|
+
export type ModalFrameProps<B = any> = {
|
|
13
|
+
id: number;
|
|
14
|
+
type: 'alert' | 'confirm' | 'prompt';
|
|
15
|
+
alive: boolean;
|
|
16
|
+
visible: boolean;
|
|
17
|
+
initiator: string;
|
|
18
|
+
manualDestroy: boolean;
|
|
19
|
+
closeOnBackdropClick: boolean;
|
|
20
|
+
background?: ModalBackground<B>;
|
|
21
|
+
onConfirm: () => void;
|
|
22
|
+
onClose: () => void;
|
|
23
|
+
onChange: (value: any) => void;
|
|
24
|
+
onDestroy: () => void;
|
|
25
|
+
onChangeOrder: Fn;
|
|
26
|
+
};
|
|
27
|
+
export interface ModalIdProps {
|
|
28
|
+
modalId: ModalNode['id'];
|
|
29
|
+
}
|
|
30
|
+
export interface ModalLayerProps extends ModalIdProps {
|
|
31
|
+
onChangeOrder: Fn;
|
|
32
|
+
}
|
|
33
|
+
export interface ModalHandlersWithId {
|
|
34
|
+
onConfirm: (modalId: ModalNode['id']) => void;
|
|
35
|
+
onClose: (modalId: ModalNode['id']) => void;
|
|
36
|
+
onChange: (modalId: ModalNode['id'], value: any) => void;
|
|
37
|
+
onDestroy: (modalId: ModalNode['id']) => void;
|
|
38
|
+
}
|
|
39
|
+
export type ModalActions = {
|
|
40
|
+
modal: ModalNode | undefined;
|
|
41
|
+
onConfirm: () => void;
|
|
42
|
+
onClose: () => void;
|
|
43
|
+
onChange: (value: any) => void;
|
|
44
|
+
onDestroy: () => void;
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=modal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/types/modal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,MAAM,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAC9B,UAAU,CAAC,CAAC,CAAC,GACb,YAAY,CAAC,CAAC,CAAC,GACf,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEtB,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,aAAa,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEzE,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,aAAa,EAAE,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,aAAa,EAAE,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC9C,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC5C,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACzD,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare type PropertyKey = string | number | symbol;
|
|
2
|
+
|
|
3
|
+
declare type Dictionary<T = any> = Record<string, T>;
|
|
4
|
+
|
|
5
|
+
declare type StringDictionary = Dictionary<string>;
|
|
6
|
+
|
|
7
|
+
/** 중첩된 객체 구조를 가진 타입 T를 입력받아서 내부 필드들이 모두 필수인 타입을 반환 */
|
|
8
|
+
declare type DeepRequired<T> = {
|
|
9
|
+
[P in keyof T]-?: NonNullable<T[P]> extends object
|
|
10
|
+
? NonNullable<T[P]> extends any[]
|
|
11
|
+
? DeepRequired<NonNullable<T[P]>[number]>[]
|
|
12
|
+
: DeepRequired<NonNullable<T[P]>>
|
|
13
|
+
: T[P];
|
|
14
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ComponentType, ReactNode } from 'react';
|
|
2
|
+
import type { BaseModal, ContentComponentProps, FooterOptions } from './base';
|
|
3
|
+
export type PromptFooterRender<T> = (props: {
|
|
4
|
+
onConfirm: VoidFunction;
|
|
5
|
+
onCancel: VoidFunction;
|
|
6
|
+
value: T | undefined;
|
|
7
|
+
onChange: SetStateFn<T | undefined>;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
}) => ReactNode;
|
|
10
|
+
export interface PromptInputProps<T> {
|
|
11
|
+
value?: T;
|
|
12
|
+
defaultValue?: T;
|
|
13
|
+
onChange: SetStateFn<T | undefined>;
|
|
14
|
+
onConfirm?: VoidFunction;
|
|
15
|
+
}
|
|
16
|
+
export type PromptContentProps = ContentComponentProps;
|
|
17
|
+
export interface PromptModal<T = any, B = any> extends BaseModal<T, B> {
|
|
18
|
+
type: 'prompt';
|
|
19
|
+
content?: ReactNode | ComponentType<PromptContentProps>;
|
|
20
|
+
defaultValue?: T;
|
|
21
|
+
Input: (props: PromptInputProps<T>) => ReactNode;
|
|
22
|
+
disabled?: (value: T | undefined) => boolean;
|
|
23
|
+
returnOnCancel?: boolean;
|
|
24
|
+
footer?: PromptFooterRender<T> | FooterOptions | false;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/types/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE9E,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;IAC1C,SAAS,EAAE,YAAY,CAAC;IACxB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,QAAQ,EAAE,OAAO,CAAC;CACnB,KAAK,SAAS,CAAC;AAEhB,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,YAAY,CAAC;CAC1B;AAED,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAEvD,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IACpE,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACxD,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,KAAK,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;IACjD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,KAAK,OAAO,CAAC;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,KAAK,CAAC;CACxD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
declare type DomSize =
|
|
2
|
+
| number
|
|
3
|
+
| `${number}%`
|
|
4
|
+
| `${number}px`
|
|
5
|
+
| `${number}rem`
|
|
6
|
+
| `${number}em`
|
|
7
|
+
| `${number}vh`
|
|
8
|
+
| `${number}vw`
|
|
9
|
+
| `calc(${string})`;
|
|
10
|
+
|
|
11
|
+
declare type Color =
|
|
12
|
+
| `#${string}`
|
|
13
|
+
| `rgb(${number}, ${number}, ${number})`
|
|
14
|
+
| `rgba(${number}, ${number}, ${number}, ${number})`
|
|
15
|
+
| `var(--${string})`;
|
|
16
|
+
|
|
17
|
+
declare type Duration = `${number}ms` | `${number}s`;
|
|
18
|
+
|
|
19
|
+
declare type Params<T extends Array<string>> = Record<T[number], string>;
|
|
20
|
+
|
|
21
|
+
declare type Roll<T> = { [K in keyof T]: T[K] };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
declare type Nullish<T> = T | null | undefined;
|
|
2
|
+
|
|
3
|
+
/** T에서 key in K를 추출하고, 이를 Required로 설정 */
|
|
4
|
+
declare type PickRequired<T, K extends keyof T> = Required<Pick<T, K>>;
|
|
5
|
+
|
|
6
|
+
/** T에서 key in K를 추출하고, 이를 Partial로 설정 */
|
|
7
|
+
declare type PickPartial<T, K extends keyof T> = Partial<Pick<T, K>>;
|
|
8
|
+
|
|
9
|
+
/** T에서 key in K를 제거하고, 나머지를 Required로 설정 */
|
|
10
|
+
declare type OmitRequired<T, K extends keyof T> = Required<Omit<T, K>>;
|
|
11
|
+
|
|
12
|
+
/** T에서 key in K를 제거하고, 나머지를 Partial로 설정 */
|
|
13
|
+
declare type OmitPartial<T, K extends keyof T> = Partial<Omit<T, K>>;
|
|
14
|
+
|
|
15
|
+
/** T에서 key in K는 Required로 설정하고, 나머지는 Partial로 설정 */
|
|
16
|
+
declare type PickAndPartial<T, K extends keyof T> = PickRequired<T, K> &
|
|
17
|
+
OmitPartial<T, K>;
|
|
18
|
+
|
|
19
|
+
/** T에서 K를 Required로 설정하고, 나머지는 유지 */
|
|
20
|
+
declare type RequiredBy<T, K extends keyof T> = PickRequired<T, K> & T;
|
|
21
|
+
|
|
22
|
+
/** T에서 K를 Partial로 설정하고, 나머지는 유지 */
|
|
23
|
+
declare type PartialBy<T, K extends keyof T> = PickPartial<T, K> & Omit<T, K>;
|
|
24
|
+
|
|
25
|
+
declare type Roll<T> = { [K in keyof T]: T[K] };
|
|
26
|
+
|
|
27
|
+
type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
|
|
28
|
+
|
|
29
|
+
type ExpandRecursively<T> = T extends object
|
|
30
|
+
? T extends infer O
|
|
31
|
+
? { [K in keyof O]: ExpandRecursively<O[K]> }
|
|
32
|
+
: never
|
|
33
|
+
: T;
|
|
34
|
+
|
|
35
|
+
declare type WithKey<T> = T & { key: string };
|
|
36
|
+
|
|
37
|
+
declare type ElementOf<T extends any[]> = T[number];
|
|
38
|
+
|
|
39
|
+
declare type DeepRequired<T> = {
|
|
40
|
+
[P in keyof T]-?: NonNullable<T[P]> extends object
|
|
41
|
+
? NonNullable<T[P]> extends any[]
|
|
42
|
+
? DeepRequired<NonNullable<T[P]>[number]>[]
|
|
43
|
+
: DeepRequired<NonNullable<T[P]>>
|
|
44
|
+
: T[P];
|
|
45
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lerx/promise-modal",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"repository": {
|
|
5
|
+
"type": "git",
|
|
6
|
+
"url": "https://github.com/vincent-kk/aileron.git",
|
|
7
|
+
"directory": "packages/promise-modal"
|
|
8
|
+
},
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"author": {
|
|
11
|
+
"name": "Vincent K. Kelvin",
|
|
12
|
+
"email": "lunox273@gmail.com"
|
|
13
|
+
},
|
|
14
|
+
"main": "dist/index.cjs.js",
|
|
15
|
+
"module": "dist/index.esm.js",
|
|
16
|
+
"types": "dist/index.d.ts",
|
|
17
|
+
"files": [
|
|
18
|
+
"dist",
|
|
19
|
+
"README.md"
|
|
20
|
+
],
|
|
21
|
+
"sideEffects": false,
|
|
22
|
+
"scripts": {
|
|
23
|
+
"format": "prettier --write \"src/**/*.ts\" \"src/**/*.tsx\"",
|
|
24
|
+
"clean": "rm -rf dist",
|
|
25
|
+
"dependencies:build": "yarn workspace @winglet/common-utils build && yarn workspace @winglet/react-utils build:only",
|
|
26
|
+
"test": "yarn dependencies:build && vitest",
|
|
27
|
+
"build:only": "yarn clean && rollup -c && tsc-alias",
|
|
28
|
+
"build": "yarn dependencies:build && yarn build:only",
|
|
29
|
+
"build:watch": "yarn clean && yarn build:only -w",
|
|
30
|
+
"start": "yarn build && yarn storybook",
|
|
31
|
+
"lint": "eslint \"src/**/*.{ts,tsx}\" --report-unused-disable-directives --max-warnings 0",
|
|
32
|
+
"size-limit": "size-limit",
|
|
33
|
+
"make-dependency-graph": "npx depcruise src --config .dependency-cruiser.js --output-type dot > dependency-graph.dot && dot -Tpng dependency-graph.dot -o dependency-graph.png",
|
|
34
|
+
"storybook": "storybook dev -p 6006",
|
|
35
|
+
"build-storybook": "storybook build",
|
|
36
|
+
"publish:npm": "yarn build && yarn npm publish --access public"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@winglet/common-utils": "0.0.1",
|
|
40
|
+
"@winglet/react-utils": "0.0.1",
|
|
41
|
+
"clsx": "^2.0.0"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@chromatic-com/storybook": "^3.2.2",
|
|
45
|
+
"@rollup/plugin-commonjs": "^28.0.1",
|
|
46
|
+
"@rollup/plugin-node-resolve": "^15.3.0",
|
|
47
|
+
"@rollup/plugin-replace": "^6.0.1",
|
|
48
|
+
"@size-limit/preset-app": "^11.1.6",
|
|
49
|
+
"@size-limit/preset-big-lib": "^11.1.6",
|
|
50
|
+
"@size-limit/preset-small-lib": "^11.1.6",
|
|
51
|
+
"@storybook/addon-essentials": "^8.4.7",
|
|
52
|
+
"@storybook/addon-interactions": "^8.4.7",
|
|
53
|
+
"@storybook/blocks": "^8.4.7",
|
|
54
|
+
"@storybook/react": "^8.4.7",
|
|
55
|
+
"@storybook/react-vite": "^8.4.7",
|
|
56
|
+
"@storybook/test": "^8.4.7",
|
|
57
|
+
"@testing-library/jest-dom": "^6.6.3",
|
|
58
|
+
"@testing-library/react": "^16.0.1",
|
|
59
|
+
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
|
|
60
|
+
"@types/react": "^18.3.12",
|
|
61
|
+
"@types/react-dom": "^18.3.1",
|
|
62
|
+
"@types/rollup-plugin-peer-deps-external": "^2.2.5",
|
|
63
|
+
"@typescript-eslint/eslint-plugin": "^8.14.0",
|
|
64
|
+
"@typescript-eslint/parser": "^8.14.0",
|
|
65
|
+
"antd": "^5.22.5",
|
|
66
|
+
"autoprefixer": "^10.4.20",
|
|
67
|
+
"cssnano": "^7.0.6",
|
|
68
|
+
"dependency-cruiser": "^16.7.0",
|
|
69
|
+
"eslint": "^8.56.0",
|
|
70
|
+
"eslint-plugin-react": "^7.37.2",
|
|
71
|
+
"eslint-plugin-react-hooks": "^5.0.0",
|
|
72
|
+
"eslint-plugin-react-refresh": "^0.4.14",
|
|
73
|
+
"eslint-plugin-storybook": "^0.11.1",
|
|
74
|
+
"jsdom": "^25.0.1",
|
|
75
|
+
"prettier": "^3.3.3",
|
|
76
|
+
"react": "^18.3.1",
|
|
77
|
+
"react-dom": "^18.3.1",
|
|
78
|
+
"rollup": "^4.27.4",
|
|
79
|
+
"rollup-plugin-copy": "^3.5.0",
|
|
80
|
+
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
81
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
82
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
83
|
+
"rollup-plugin-typescript2": "^0.36.0",
|
|
84
|
+
"rollup-plugin-visualizer": "^5.12.0",
|
|
85
|
+
"sass-embedded": "^1.83.0",
|
|
86
|
+
"size-limit": "^11.1.6",
|
|
87
|
+
"storybook": "^8.4.7",
|
|
88
|
+
"tsc-alias": "^1.8.10",
|
|
89
|
+
"typescript": "^5.7.2",
|
|
90
|
+
"vite": "^5.4.11",
|
|
91
|
+
"vitest": "^2.1.5"
|
|
92
|
+
},
|
|
93
|
+
"peerDependencies": {
|
|
94
|
+
"react": ">=16 <19",
|
|
95
|
+
"react-dom": ">=16 <19"
|
|
96
|
+
}
|
|
97
|
+
}
|