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.
@@ -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,5 @@
1
+ export { default } from './Modal';
2
+ export * from './Modal';
3
+ export { ModalProvider, useModal } from './ModalContext';
4
+ export type { ModalConfig, ConfirmConfig, AlertConfig } from './ModalContext';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}