digital-rabbit-cl 1.3.15 → 1.4.0
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/components/Modal/Modal.d.ts +30 -0
- package/dist/components/Modal/Modal.d.ts.map +1 -0
- package/dist/components/Modal/ModalContext.d.ts +81 -0
- package/dist/components/Modal/ModalContext.d.ts.map +1 -0
- package/dist/components/Modal/index.d.ts +5 -0
- package/dist/components/Modal/index.d.ts.map +1 -0
- package/dist/digital-rabbit-cl.es.js +1447 -1242
- package/dist/digital-rabbit-cl.umd.js +4 -4
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface ModalAction {
|
|
3
|
+
label: string;
|
|
4
|
+
value?: unknown;
|
|
5
|
+
variant?: 'primary' | 'outline';
|
|
6
|
+
color?: string;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
onClick?: (closeWithValue: (value?: unknown) => void) => void | Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
export interface ModalProps {
|
|
11
|
+
isOpen: boolean;
|
|
12
|
+
onClose: () => void;
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
title?: string;
|
|
15
|
+
hideCloseButton?: boolean;
|
|
16
|
+
closeOnBackdropClick?: boolean;
|
|
17
|
+
closeOnEscape?: boolean;
|
|
18
|
+
actions?: ModalAction[];
|
|
19
|
+
resolveModal?: (value?: unknown) => void;
|
|
20
|
+
width?: string;
|
|
21
|
+
maxWidth?: string;
|
|
22
|
+
backgroundColor?: string;
|
|
23
|
+
backdropColor?: string;
|
|
24
|
+
className?: string;
|
|
25
|
+
style?: React.CSSProperties;
|
|
26
|
+
divProps?: Omit<React.HTMLAttributes<HTMLDivElement>, 'className' | 'style' | 'children'>;
|
|
27
|
+
}
|
|
28
|
+
declare const Modal: React.FC<ModalProps>;
|
|
29
|
+
export default Modal;
|
|
30
|
+
//# sourceMappingURL=Modal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AASjD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC;CAC3F;AAED,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAyK/B,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
import { ModalProps, ModalAction } from './Modal';
|
|
3
|
+
export interface ModalConfig {
|
|
4
|
+
title?: string;
|
|
5
|
+
content: ReactNode | ((resolve: (value?: unknown) => void) => ReactNode);
|
|
6
|
+
actions?: ModalAction[];
|
|
7
|
+
options?: Partial<Omit<ModalProps, 'isOpen' | 'onClose' | 'children' | 'title' | 'actions' | 'resolveModal'>>;
|
|
8
|
+
}
|
|
9
|
+
export interface ConfirmConfig {
|
|
10
|
+
title?: string;
|
|
11
|
+
message: ReactNode;
|
|
12
|
+
confirmLabel?: string;
|
|
13
|
+
cancelLabel?: string;
|
|
14
|
+
confirmColor?: string;
|
|
15
|
+
options?: Partial<Omit<ModalProps, 'isOpen' | 'onClose' | 'children' | 'title' | 'actions' | 'resolveModal'>>;
|
|
16
|
+
}
|
|
17
|
+
export interface AlertConfig {
|
|
18
|
+
title?: string;
|
|
19
|
+
message: ReactNode;
|
|
20
|
+
okLabel?: string;
|
|
21
|
+
okColor?: string;
|
|
22
|
+
options?: Partial<Omit<ModalProps, 'isOpen' | 'onClose' | 'children' | 'title' | 'actions' | 'resolveModal'>>;
|
|
23
|
+
}
|
|
24
|
+
interface ModalContextValue {
|
|
25
|
+
show: <T = any>(config: ModalConfig) => Promise<T>;
|
|
26
|
+
resolve: (value?: unknown) => void;
|
|
27
|
+
confirm: (config: ConfirmConfig) => Promise<boolean>;
|
|
28
|
+
alert: (config: AlertConfig) => Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
export interface ModalProviderProps {
|
|
31
|
+
children: ReactNode;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* ModalProvider - Provides modal context API to all child components
|
|
35
|
+
*
|
|
36
|
+
* Wrap your app with this provider to enable programmatic modal usage
|
|
37
|
+
* via the useModal() hook.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```jsx
|
|
41
|
+
* <ModalProvider>
|
|
42
|
+
* <App />
|
|
43
|
+
* </ModalProvider>
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare const ModalProvider: React.FC<ModalProviderProps>;
|
|
47
|
+
/**
|
|
48
|
+
* useModal - Hook to access modal context API
|
|
49
|
+
*
|
|
50
|
+
* Provides methods to show modals programmatically:
|
|
51
|
+
* - show(config): Show custom modal with content and actions
|
|
52
|
+
* - resolve(value): Close modal and resolve promise with value
|
|
53
|
+
* - confirm(config): Show Yes/No confirmation dialog
|
|
54
|
+
* - alert(config): Show OK alert dialog
|
|
55
|
+
*
|
|
56
|
+
* @throws Error if used outside ModalProvider
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```jsx
|
|
60
|
+
* const modal = useModal();
|
|
61
|
+
*
|
|
62
|
+
* // Custom modal
|
|
63
|
+
* const result = await modal.show({
|
|
64
|
+
* title: 'Edit User',
|
|
65
|
+
* content: <UserForm />,
|
|
66
|
+
* actions: [
|
|
67
|
+
* { label: 'Cancel', variant: 'outline', onClick: (close) => close(null) },
|
|
68
|
+
* { label: 'Save', onClick: (close) => close({ name: 'John' }) },
|
|
69
|
+
* ],
|
|
70
|
+
* });
|
|
71
|
+
*
|
|
72
|
+
* // Confirmation dialog
|
|
73
|
+
* const confirmed = await modal.confirm({ message: 'Delete user?' });
|
|
74
|
+
*
|
|
75
|
+
* // Alert dialog
|
|
76
|
+
* await modal.alert({ message: 'Operation complete!' });
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export declare const useModal: () => ModalContextValue;
|
|
80
|
+
export {};
|
|
81
|
+
//# sourceMappingURL=ModalContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalContext.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/ModalContext.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAuC,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,KAAK,SAAS,CAAC,CAAC;IACzE,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CACf,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,CAAC,CAC3F,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CACf,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,CAAC,CAC3F,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CACf,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,CAAC,CAC3F,CAAC;CACH;AAcD,UAAU,iBAAiB;IAEzB,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAID,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAwGtD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,QAAQ,QAAO,iBAM3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|