@yoopta/editor 4.0.0-rc.3 → 4.0.0-rc.4
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/UI/BlockOptions/BlockOptions.d.ts +8 -7
- package/dist/UI/BlockOptions/BlockOptions.d.ts.map +1 -1
- package/dist/UI/ExtendedBlockActions/ExtendedBlockActions.d.ts.map +1 -1
- package/dist/UI/index.d.ts +5 -5
- package/dist/YooptaEditor.d.ts +4 -5
- package/dist/YooptaEditor.d.ts.map +1 -1
- package/dist/components/Block/Block.d.ts.map +1 -1
- package/dist/components/Block/BlockActions.d.ts.map +1 -1
- package/dist/components/Editor/Editor.d.ts.map +1 -1
- package/dist/contexts/UltraYooptaContext/ToolsContext.d.ts +13 -19
- package/dist/contexts/UltraYooptaContext/ToolsContext.d.ts.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/plugins/SlateEditorComponent.d.ts.map +1 -1
- package/dist/utils/findSlateBySelectionPath.d.ts +2 -1
- package/dist/utils/findSlateBySelectionPath.d.ts.map +1 -1
- package/package.json +2 -5
- package/dist/tools/ActionMenuList/ActionMenuComponent.d.ts +0 -14
- package/dist/tools/ActionMenuList/ActionMenuComponent.d.ts.map +0 -1
- package/dist/tools/ActionMenuList/ActionMenuList.d.ts +0 -10
- package/dist/tools/ActionMenuList/ActionMenuList.d.ts.map +0 -1
- package/dist/tools/Toolbar/HighlightColor.d.ts +0 -14
- package/dist/tools/Toolbar/HighlightColor.d.ts.map +0 -1
- package/dist/tools/Toolbar/Toolbar.d.ts +0 -4
- package/dist/tools/Toolbar/Toolbar.d.ts.map +0 -1
- package/dist/tools/Toolbar/ToolbarComponent.d.ts +0 -9
- package/dist/tools/Toolbar/ToolbarComponent.d.ts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
2
|
declare const BlockOptionsMenuGroup: ({ children }: {
|
|
3
3
|
children: any;
|
|
4
4
|
}) => JSX.Element;
|
|
@@ -12,12 +12,13 @@ type BlockOptionsSeparatorProps = {
|
|
|
12
12
|
className?: string;
|
|
13
13
|
};
|
|
14
14
|
declare const BlockOptionsSeparator: ({ className }: BlockOptionsSeparatorProps) => JSX.Element;
|
|
15
|
-
|
|
16
|
-
isOpen:
|
|
17
|
-
onClose:
|
|
15
|
+
type BlockOptionsProps = {
|
|
16
|
+
isOpen: boolean;
|
|
17
|
+
onClose: () => void;
|
|
18
18
|
refs: any;
|
|
19
|
-
|
|
20
|
-
children
|
|
21
|
-
}
|
|
19
|
+
style: CSSProperties;
|
|
20
|
+
children?: React.ReactNode;
|
|
21
|
+
};
|
|
22
|
+
declare const BlockOptions: ({ isOpen, onClose, refs, style, children }: BlockOptionsProps) => JSX.Element | null;
|
|
22
23
|
export { BlockOptions, BlockOptionsMenuContent, BlockOptionsMenuGroup, BlockOptionsMenuItem, BlockOptionsSeparator };
|
|
23
24
|
//# sourceMappingURL=BlockOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockOptions.d.ts","sourceRoot":"","sources":["../../../src/UI/BlockOptions/BlockOptions.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"BlockOptions.d.ts","sourceRoot":"","sources":["../../../src/UI/BlockOptions/BlockOptions.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAY,MAAM,OAAO,CAAC;AAiBhD,QAAA,MAAM,qBAAqB;;iBAAoE,CAAC;AAEhG,QAAA,MAAM,uBAAuB;;iBAO5B,CAAC;AAEF,QAAA,MAAM,oBAAoB;;iBAIzB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,QAAA,MAAM,qBAAqB,kBAAmB,0BAA0B,gBAEvE,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,QAAA,MAAM,YAAY,+CAAgD,iBAAiB,uBAgIlF,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedBlockActions.d.ts","sourceRoot":"","sources":["../../../src/UI/ExtendedBlockActions/ExtendedBlockActions.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAG5C,KAAK,KAAK,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,CAAC;AAE5G,QAAA,MAAM,oBAAoB,4CAA6C,KAAK,
|
|
1
|
+
{"version":3,"file":"ExtendedBlockActions.d.ts","sourceRoot":"","sources":["../../../src/UI/ExtendedBlockActions/ExtendedBlockActions.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAG5C,KAAK,KAAK,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,CAAC;AAE5G,QAAA,MAAM,oBAAoB,4CAA6C,KAAK,gBAgD3E,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
package/dist/UI/index.d.ts
CHANGED
|
@@ -6,12 +6,12 @@ export declare const UI: {
|
|
|
6
6
|
onClick?: (() => void) | undefined;
|
|
7
7
|
children: import("react").ReactNode;
|
|
8
8
|
}) => JSX.Element;
|
|
9
|
-
BlockOptions: ({ isOpen, onClose, refs,
|
|
10
|
-
isOpen:
|
|
11
|
-
onClose:
|
|
9
|
+
BlockOptions: ({ isOpen, onClose, refs, style, children }: {
|
|
10
|
+
isOpen: boolean;
|
|
11
|
+
onClose: () => void;
|
|
12
12
|
refs: any;
|
|
13
|
-
|
|
14
|
-
children
|
|
13
|
+
style: import("react").CSSProperties;
|
|
14
|
+
children?: import("react").ReactNode;
|
|
15
15
|
}) => JSX.Element | null;
|
|
16
16
|
BlockOptionsMenuContent: ({ children }: {
|
|
17
17
|
children: any;
|
package/dist/YooptaEditor.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { YooEditor, YooptaChildrenValue } from './editor/types';
|
|
3
|
-
import {
|
|
3
|
+
import { Tools } from './contexts/UltraYooptaContext/ToolsContext';
|
|
4
4
|
import { YooptaPlugin } from './plugins';
|
|
5
5
|
import { YooptaMark } from './marks';
|
|
6
6
|
type Props = {
|
|
@@ -11,10 +11,9 @@ type Props = {
|
|
|
11
11
|
autoFocus?: boolean;
|
|
12
12
|
className?: string;
|
|
13
13
|
selectionBoxRoot?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
};
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
tools?: Tools;
|
|
17
16
|
};
|
|
18
|
-
declare const YooptaEditor: ({ editor, value, marks, plugins: pluginsProps, autoFocus, className, tools, selectionBoxRoot, }: Props) => JSX.Element;
|
|
17
|
+
declare const YooptaEditor: ({ editor, value, marks, plugins: pluginsProps, autoFocus, className, tools, selectionBoxRoot, children, }: Props) => JSX.Element;
|
|
19
18
|
export { YooptaEditor };
|
|
20
19
|
//# sourceMappingURL=YooptaEditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YooptaEditor.d.ts","sourceRoot":"","sources":["../src/YooptaEditor.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,SAAS,EAAmB,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGjF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"YooptaEditor.d.ts","sourceRoot":"","sources":["../src/YooptaEditor.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,SAAS,EAAmB,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGjF,OAAO,EAAE,KAAK,EAAiB,MAAM,4CAA4C,CAAC;AAQlF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACnF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAoBF,QAAA,MAAM,YAAY,8GAUf,KAAK,gBAsCP,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../../../src/components/Block/Block.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../../../src/components/Block/Block.tsx"],"names":[],"mappings":";AAMA,QAAA,MAAM,KAAK;;;;iBA+DV,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockActions.d.ts","sourceRoot":"","sources":["../../../src/components/Block/BlockActions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAmB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAajF,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,GAAG,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C,CAAC;AAMF,QAAA,MAAM,YAAY,yEAA0E,YAAY,
|
|
1
|
+
{"version":3,"file":"BlockActions.d.ts","sourceRoot":"","sources":["../../../src/components/Block/BlockActions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAmB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAajF,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,GAAG,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C,CAAC;AAMF,QAAA,MAAM,YAAY,yEAA0E,YAAY,gBA8EvG,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Editor.d.ts","sourceRoot":"","sources":["../../../src/components/Editor/Editor.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Editor.d.ts","sourceRoot":"","sources":["../../../src/components/Editor/Editor.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAazC,KAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACnF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAmBF,QAAA,MAAM,MAAM,sDAA8D,KAAK,gBAkQ9E,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -1,25 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
export type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
change: (...args: any[]) => void;
|
|
6
|
-
component: ReactNode;
|
|
7
|
-
state: any;
|
|
8
|
-
events?: {
|
|
9
|
-
[key: string]: (editor: any, slate: any, options: any) => (event: any) => void;
|
|
10
|
-
};
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export type ToolProps = {
|
|
3
|
+
render: React.ComponentType<any>;
|
|
4
|
+
tool: React.ComponentType<any>;
|
|
11
5
|
};
|
|
12
6
|
export type Tools = {
|
|
13
|
-
[key: string]:
|
|
7
|
+
[key: string]: ToolProps;
|
|
14
8
|
};
|
|
15
|
-
type ToolsContextType = {
|
|
16
|
-
|
|
17
|
-
registerTool: (name: string, tool: ToolAPI) => void;
|
|
18
|
-
unregisterTool: (name: string) => void;
|
|
9
|
+
export type ToolsContextType = {
|
|
10
|
+
[key: string]: ToolProps['render'];
|
|
19
11
|
};
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
12
|
+
type Props = {
|
|
13
|
+
tools?: Tools;
|
|
14
|
+
children: React.ReactNode;
|
|
15
|
+
};
|
|
16
|
+
export declare const ToolsProvider: ({ children, tools }: Props) => JSX.Element;
|
|
17
|
+
export declare const useYooptaTools: () => ToolsContextType;
|
|
24
18
|
export {};
|
|
25
19
|
//# sourceMappingURL=ToolsContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolsContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/UltraYooptaContext/ToolsContext.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ToolsContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/UltraYooptaContext/ToolsContext.tsx"],"names":[],"mappings":";AAEA,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;CACpC,CAAC;AAIF,KAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,aAAa,wBAAyB,KAAK,gBAwBvD,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,gBAOjC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,14 +2,16 @@ export { YooptaPlugin } from './plugins';
|
|
|
2
2
|
export { useYooptaEditor, useBlockData, useYooptaBlock, useYooptaPlugin, useYooptaPluginOptions, useBlockSelected, } from './contexts/UltraYooptaContext/UltraYooptaContext';
|
|
3
3
|
import { YooptaEditor } from './YooptaEditor';
|
|
4
4
|
export { UI } from './UI';
|
|
5
|
+
export { useYooptaTools, Tools } from './contexts/UltraYooptaContext/ToolsContext';
|
|
5
6
|
export { generateId } from './utils/generateId';
|
|
6
7
|
export { HOTKEYS } from './utils/hotkeys';
|
|
8
|
+
export { getRootBlockElementType, getRootBlockElement } from './utils/blockElements';
|
|
7
9
|
export { findPluginBlockBySelectionPath } from './utils/findPluginBlockBySelectionPath';
|
|
8
10
|
export { findSlateBySelectionPath } from './utils/findSlateBySelectionPath';
|
|
9
11
|
export { findPluginBlockByType } from './utils/findPluginBlockByType';
|
|
10
12
|
export { createYooptaEditor } from './editor';
|
|
11
13
|
export { createYooptaMark, YooptaMarkParams, YooptaMark } from './marks';
|
|
12
|
-
export { YooEditor, SlateElement, YooptaBlockData } from './editor/types';
|
|
14
|
+
export { YooEditor, SlateElement, YooptaBlockData, YooptaBlock } from './editor/types';
|
|
13
15
|
export { buildBlockData, buildBlockElement } from './components/Editor/utils';
|
|
14
16
|
export default YooptaEditor;
|
|
15
17
|
export { PluginElementRenderProps, PluginEventHandlerOptions, YooptaMarkProps } from './plugins/types';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,4CAA4C,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9E,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvG,OAAO,cAAc,CAAC"}
|