@thanhpv102/easy-email-editor 4.19.2 → 4.19.5

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.
@@ -1,11 +1,11 @@
1
1
  import { IEmailTemplate } from '../../../typings';
2
+ import { FormApi, FormState } from '../../../utils/formBridge';
2
3
  import React from 'react';
3
4
  import { PropsProviderProps } from '../PropsProvider';
4
- import { Config, FormApi, FormState } from 'final-form';
5
5
  export interface EmailEditorProviderProps<T extends IEmailTemplate = any> extends Omit<PropsProviderProps, 'children'> {
6
6
  data: T;
7
7
  children: (props: FormState<T>, helper: FormApi<IEmailTemplate, Partial<IEmailTemplate>>) => React.ReactNode;
8
- onSubmit?: Config<IEmailTemplate, Partial<IEmailTemplate>>['onSubmit'];
9
- validationSchema?: Config<IEmailTemplate, Partial<IEmailTemplate>>['validate'];
8
+ onSubmit?: (values: IEmailTemplate) => void | Promise<any>;
9
+ validationSchema?: (values: IEmailTemplate) => Record<string, any> | Promise<Record<string, any>>;
10
10
  }
11
- export declare const EmailEditorProvider: <T extends unknown>(props: EmailEditorProviderProps<any> & T) => React.JSX.Element | null;
11
+ export declare const EmailEditorProvider: <T extends any>(props: EmailEditorProviderProps & T) => React.JSX.Element | null;
@@ -70,6 +70,6 @@ export interface PropsProviderProps {
70
70
  };
71
71
  }
72
72
  export declare const EditorPropsContext: React.Context<PropsProviderProps & {
73
- mergeTagGenerate: Required<PropsProviderProps['mergeTagGenerate']>;
73
+ mergeTagGenerate: Required<PropsProviderProps["mergeTagGenerate"]>;
74
74
  }>;
75
75
  export declare const PropsProvider: React.FC<PropsProviderProps>;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { NamedExoticComponent } from 'react';
2
2
  import { Item } from './components/Item';
3
3
  type Spacing = 'extraTight' | 'tight' | 'loose' | 'extraLoose' | 'none';
4
4
  type Alignment = 'leading' | 'trailing' | 'center' | 'fill' | 'baseline';
@@ -17,7 +17,7 @@ export interface StackProps {
17
17
  /** Adjust horizontal alignment of elements */
18
18
  distribution?: Distribution;
19
19
  }
20
- export declare const Stack: React.NamedExoticComponent<StackProps> & {
20
+ export declare const Stack: NamedExoticComponent<StackProps> & {
21
21
  Item: typeof Item;
22
22
  };
23
23
  export {};
@@ -14,5 +14,5 @@ interface ConditionalRenderProps {
14
14
  condition: boolean;
15
15
  children: any;
16
16
  }
17
- export declare function ConditionalRender({ condition, children, }: ConditionalRenderProps): JSX.Element;
17
+ export declare function ConditionalRender({ condition, children, }: ConditionalRenderProps): JSX.Element | null;
18
18
  export {};
@@ -1,12 +1,12 @@
1
- import { IBlockData } from '@thanhpv102/easy-email-core';
1
+ import { IBlockData } from 'easy-email-core';
2
2
  import { IEmailTemplate } from '../typings';
3
3
  export declare function useBlock(): {
4
- values: IEmailTemplate | undefined;
5
- change: <F extends string>(name: F, value?: any) => void;
4
+ values: IEmailTemplate;
5
+ change: (name: string, value?: any) => void;
6
6
  focusBlock: IBlockData<any, any> | null;
7
7
  setFocusBlock: import("lodash").DebouncedFunc<(val: any) => void>;
8
8
  setFocusBlockValue: import("lodash").DebouncedFunc<(val: any) => void>;
9
- setValueByIdx: import("lodash").DebouncedFunc<(<T extends IBlockData<any, any>>(idx: string, newVal: T) => void)>;
9
+ setValueByIdx: import("lodash").DebouncedFunc<(<T extends IBlockData>(idx: string, newVal: T) => void)>;
10
10
  addBlock: (params: {
11
11
  type: string;
12
12
  parentIdx: string;
@@ -1,4 +1,4 @@
1
1
  export declare function useDataTransfer(): {
2
2
  dataTransfer: import("../components/Provider/HoverIdxProvider").DataTransfer | null;
3
- setDataTransfer: import("lodash").DebouncedFunc<import("react").Dispatch<import("react").SetStateAction<import("../components/Provider/HoverIdxProvider").DataTransfer | null>>>;
3
+ setDataTransfer: import("react").Dispatch<import("react").SetStateAction<import("../components/Provider/HoverIdxProvider").DataTransfer | null>>;
4
4
  };
@@ -1,7 +1,7 @@
1
1
  export declare function useDomScrollHeight(): {
2
- scrollHeight: import("react").MutableRefObject<number>;
3
- viewElementRef: import("react").MutableRefObject<{
2
+ scrollHeight: React.MutableRefObject<number>;
3
+ viewElementRef: React.MutableRefObject<null | {
4
4
  selector: string;
5
5
  top: number;
6
- } | null>;
6
+ }>;
7
7
  };
@@ -1,8 +1,8 @@
1
1
  import { IEmailTemplate } from '../typings';
2
2
  export declare function useEditorContext(): {
3
- formState: import("final-form").FormState<IEmailTemplate, Partial<IEmailTemplate>>;
4
- formHelpers: import("final-form").FormApi<Record<string, any>, Partial<Record<string, any>>>;
3
+ formState: import("../utils/formBridge").FormState<IEmailTemplate>;
4
+ formHelpers: import("../utils/formBridge").FormApi<import("react-hook-form").FieldValues, Partial<import("react-hook-form").FieldValues>>;
5
5
  initialized: boolean;
6
6
  setInitialized: import("react").Dispatch<import("react").SetStateAction<boolean>>;
7
- pageData: import("@thanhpv102/easy-email-core").IPage | undefined;
7
+ pageData: import("../../../easy-email-core/lib").IPage;
8
8
  };
@@ -1,8 +1,8 @@
1
1
  export declare function useHoverIdx(): {
2
2
  hoverIdx: string;
3
- setHoverIdx: import("lodash").DebouncedFunc<import("react").Dispatch<import("react").SetStateAction<string>>>;
3
+ setHoverIdx: import("react").Dispatch<import("react").SetStateAction<string>>;
4
4
  isDragging: boolean;
5
5
  setIsDragging: import("react").Dispatch<import("react").SetStateAction<boolean>>;
6
6
  direction: string;
7
- setDirection: import("lodash").DebouncedFunc<import("react").Dispatch<import("react").SetStateAction<string>>>;
7
+ setDirection: import("react").Dispatch<import("react").SetStateAction<string>>;
8
8
  };
@@ -1,6 +1,6 @@
1
1
  export declare function usePreviewEmail(): {
2
2
  html: string;
3
- reactNode: import("react").ReactNode;
4
- errMsg: import("react").ReactNode;
3
+ reactNode: React.ReactNode | null;
4
+ errMsg: React.ReactNode;
5
5
  mobileWidth: number;
6
6
  };
package/lib/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export { MobileEmailPreview } from './components/EmailEditor/components/MobileEm
6
6
  export { DesktopEmailPreview } from './components/EmailEditor/components/DesktopEmailPreview';
7
7
  export { ToolsPanel } from './components/EmailEditor/components/ToolsPanel';
8
8
  export * from './utils/index';
9
+ export * from './utils/formBridge';
9
10
  export { useActiveTab } from './hooks/useActiveTab';
10
11
  export { useEditorProps } from './hooks/useEditorProps';
11
12
  export { useBlock } from './hooks/useBlock';