@levo-so/studio 0.1.6 → 0.1.8

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.
Files changed (67) hide show
  1. package/dist/{Beams-sX-ed8H5.js → Beams-B2rZmhLI.js} +40 -27
  2. package/dist/Dots-OyX1E9Ts.js +164 -0
  3. package/dist/Gradient-DOFsccBS.js +50 -0
  4. package/dist/Grid-DRZu52wi.js +191 -0
  5. package/dist/Waves-DzqlDCGx.js +183 -0
  6. package/dist/bridge/constants.d.ts +12 -0
  7. package/dist/bridge/index.d.ts +1 -0
  8. package/dist/bridge/utils.d.ts +1 -0
  9. package/dist/components/ActionWrapper.d.ts +1 -1
  10. package/dist/components/LoginForm/ErrorDisplay.d.ts +8 -0
  11. package/dist/components/LoginForm/GoogleOAuth.d.ts +10 -0
  12. package/dist/components/LoginForm/index.d.ts +7 -0
  13. package/dist/components/LoginModal/index.d.ts +7 -0
  14. package/dist/components/accessCard/EntryCard/index.d.ts +11 -0
  15. package/dist/components/accessCard/LoginCard/index.d.ts +7 -0
  16. package/dist/components/accessCard/MessageCard/index.d.ts +8 -0
  17. package/dist/components/accessCard/MessageFooter/index.d.ts +3 -0
  18. package/dist/components/accessCard/card/index.d.ts +10 -0
  19. package/dist/components/backgroundPresets/Gradient.d.ts +1 -1
  20. package/dist/components/backgroundPresets/presetSystem.d.ts +1 -1
  21. package/dist/components/shared/EmailInput/index.d.ts +10 -0
  22. package/dist/components/shared/OTPInput/index.d.ts +11 -0
  23. package/dist/components/ui/StatefulButton/index.d.ts +15 -0
  24. package/dist/contentEngine/themeUtils.d.ts +1 -1
  25. package/dist/context/ModalManager.d.ts +21 -0
  26. package/dist/core/AccessManager/index.d.ts +7 -0
  27. package/dist/elements/Container.d.ts +1 -0
  28. package/dist/elements/UserMenu.d.ts +8 -0
  29. package/dist/elements/accordion/index.d.ts +1 -1
  30. package/dist/elements/dialog/index.d.ts +16 -0
  31. package/dist/elements/index.d.ts +1 -0
  32. package/dist/elements/popover/index.d.ts +1 -1
  33. package/dist/hooks/useLogin.d.ts +29 -0
  34. package/dist/{index-DXb2tXBX.js → index-2NFcpkxw.js} +3545 -2706
  35. package/dist/index-BcbNOVub.js +30 -0
  36. package/dist/index-Ce2VNBY0.js +49 -0
  37. package/dist/index-QRx1kG5G.js +38 -0
  38. package/dist/index-RdFZytGV.js +54 -0
  39. package/dist/index-vDaUilga.js +23 -0
  40. package/dist/index.css +1 -1
  41. package/dist/index.js +82 -78
  42. package/dist/index2.css +1 -0
  43. package/dist/index3.css +1 -0
  44. package/dist/index4.css +1 -0
  45. package/dist/index5.css +1 -0
  46. package/dist/index6.css +1 -0
  47. package/dist/interfaces/block.d.ts +1 -1
  48. package/dist/interfaces/contentSchema.d.ts +11 -9
  49. package/dist/interfaces/levoBlock.d.ts +3 -2
  50. package/dist/interfaces/site.d.ts +6 -5
  51. package/dist/pixel/constants/borderRadius.d.ts +30 -0
  52. package/dist/pixel/constants/colorOptions.d.ts +30 -25
  53. package/dist/pixel/constants/fontSizeOptions.d.ts +5 -0
  54. package/dist/pixel/index.d.ts +1 -1
  55. package/dist/pixel/optionsMap.d.ts +5 -1
  56. package/dist/pixel/parserUtil.d.ts +15 -0
  57. package/dist/pixel/propertyMap.d.ts +1 -1
  58. package/dist/providers/AuthProvider.d.ts +8 -10
  59. package/dist/utils/index.d.ts +1 -1
  60. package/dist/utils/levoClient.d.ts +5 -0
  61. package/dist/utils/withBlockPropsUtils.d.ts +3 -2
  62. package/package.json +4 -4
  63. package/dist/Dots-CIprNvGi.js +0 -140
  64. package/dist/Gradient-DIn_uQLE.js +0 -42
  65. package/dist/Grid-DXjfqDT3.js +0 -162
  66. package/dist/Waves-CCDZf3yc.js +0 -127
  67. package/dist/utils/blocksLevoClient.d.ts +0 -5
@@ -0,0 +1,183 @@
1
+ "use client";
2
+ import { jsx as e, jsxs as a } from "react/jsx-runtime";
3
+ import u from "react";
4
+ import { m as d } from "./index-2NFcpkxw.js";
5
+ const g = u.memo(
6
+ ({
7
+ className: p,
8
+ primaryColor: o = "#3b82f6",
9
+ secondaryColor: n = "#8b5cf6",
10
+ amplitude: l = 50,
11
+ frequency: c = 0.02,
12
+ speed: h = 1
13
+ }) => {
14
+ const f = Array.from({ length: 3 }, (t, i) => i), s = (t) => {
15
+ const i = [], m = t * 60;
16
+ for (let r = 0; r <= 1e3; r += 10) {
17
+ const y = 200 + Math.sin(r * c + m) * l;
18
+ i.push(`${r},${y}`);
19
+ }
20
+ return `M 0,200 Q ${i.join(" ")} 1000,200 L 1000,400 L 0,400 Z`;
21
+ };
22
+ return /* @__PURE__ */ e(
23
+ "div",
24
+ {
25
+ className: p,
26
+ style: {
27
+ position: "absolute",
28
+ inset: 0,
29
+ display: "flex",
30
+ height: "100%",
31
+ width: "100%",
32
+ alignItems: "center",
33
+ justifyContent: "center",
34
+ overflow: "hidden",
35
+ zIndex: -1
36
+ },
37
+ children: /* @__PURE__ */ a(
38
+ "svg",
39
+ {
40
+ style: {
41
+ pointerEvents: "none",
42
+ position: "absolute",
43
+ zIndex: 0,
44
+ height: "100%",
45
+ width: "100%"
46
+ },
47
+ width: "100%",
48
+ height: "100%",
49
+ viewBox: "0 0 1000 400",
50
+ preserveAspectRatio: "xMidYMid slice",
51
+ xmlns: "http://www.w3.org/2000/svg",
52
+ children: [
53
+ /* @__PURE__ */ a("defs", { children: [
54
+ /* @__PURE__ */ a(
55
+ "linearGradient",
56
+ {
57
+ id: "waveGradient1",
58
+ x1: "0%",
59
+ y1: "0%",
60
+ x2: "100%",
61
+ y2: "100%",
62
+ children: [
63
+ /* @__PURE__ */ e("stop", { offset: "0%", stopColor: o, stopOpacity: "0.3" }),
64
+ /* @__PURE__ */ e(
65
+ "stop",
66
+ {
67
+ offset: "100%",
68
+ stopColor: n,
69
+ stopOpacity: "0.1"
70
+ }
71
+ )
72
+ ]
73
+ }
74
+ ),
75
+ /* @__PURE__ */ a(
76
+ "linearGradient",
77
+ {
78
+ id: "waveGradient2",
79
+ x1: "0%",
80
+ y1: "0%",
81
+ x2: "100%",
82
+ y2: "100%",
83
+ children: [
84
+ /* @__PURE__ */ e("stop", { offset: "0%", stopColor: n, stopOpacity: "0.2" }),
85
+ /* @__PURE__ */ e("stop", { offset: "100%", stopColor: o, stopOpacity: "0.05" })
86
+ ]
87
+ }
88
+ ),
89
+ /* @__PURE__ */ a(
90
+ "linearGradient",
91
+ {
92
+ id: "waveGradient3",
93
+ x1: "0%",
94
+ y1: "0%",
95
+ x2: "100%",
96
+ y2: "100%",
97
+ children: [
98
+ /* @__PURE__ */ e("stop", { offset: "0%", stopColor: o, stopOpacity: "0.1" }),
99
+ /* @__PURE__ */ e(
100
+ "stop",
101
+ {
102
+ offset: "100%",
103
+ stopColor: n,
104
+ stopOpacity: "0.3"
105
+ }
106
+ )
107
+ ]
108
+ }
109
+ )
110
+ ] }),
111
+ f.map((t) => /* @__PURE__ */ e(
112
+ d.path,
113
+ {
114
+ d: s(t),
115
+ fill: `url(#waveGradient${t + 1})`,
116
+ initial: { x: -100 },
117
+ animate: {
118
+ x: [-100, 100],
119
+ d: [
120
+ s(t),
121
+ s(t + 0.5),
122
+ s(t)
123
+ ]
124
+ },
125
+ transition: {
126
+ x: {
127
+ duration: 20 / h,
128
+ repeat: 1 / 0,
129
+ ease: "linear"
130
+ },
131
+ d: {
132
+ duration: 8 / h,
133
+ repeat: 1 / 0,
134
+ ease: "easeInOut"
135
+ }
136
+ },
137
+ style: {
138
+ filter: `blur(${t * 0.5}px)`
139
+ }
140
+ },
141
+ `wave-${t}`
142
+ )),
143
+ Array.from({ length: 15 }, (t, i) => /* @__PURE__ */ e(
144
+ d.circle,
145
+ {
146
+ cx: Math.random() * 1e3,
147
+ cy: Math.random() * 400,
148
+ r: Math.random() * 3 + 1,
149
+ fill: i % 2 === 0 ? o : n,
150
+ initial: { opacity: 0.3 },
151
+ animate: {
152
+ opacity: [0.3, 0.8, 0.3],
153
+ cy: [
154
+ Math.random() * 400,
155
+ Math.random() * 400,
156
+ Math.random() * 400
157
+ ],
158
+ cx: [
159
+ Math.random() * 1e3,
160
+ Math.random() * 1e3,
161
+ Math.random() * 1e3
162
+ ]
163
+ },
164
+ transition: {
165
+ duration: Math.random() * 10 + 5,
166
+ repeat: 1 / 0,
167
+ ease: "easeInOut",
168
+ delay: Math.random() * 5
169
+ }
170
+ },
171
+ `particle-${i}`
172
+ ))
173
+ ]
174
+ }
175
+ )
176
+ }
177
+ );
178
+ }
179
+ );
180
+ g.displayName = "BackgroundWaves";
181
+ export {
182
+ g as BackgroundWaves
183
+ };
@@ -4,4 +4,16 @@ export declare const DATA_ATTRIBUTES: {
4
4
  readonly ITEM: "data-levo_group_item";
5
5
  readonly GROUP: "data-levo_group";
6
6
  };
7
+ export declare const MESSAGE_TYPES: {
8
+ readonly PREVIEW_READY: "PREVIEW_READY";
9
+ readonly PREVIEW_HOVER: "PREVIEW_HOVER";
10
+ readonly PREVIEW_SELECT: "PREVIEW_SELECT";
11
+ readonly PREVIEW_MOUSE_LEAVE: "PREVIEW_MOUSE_LEAVE";
12
+ readonly STUDIO_SELECT: "STUDIO_SELECT";
13
+ readonly STUDIO_HOVER: "STUDIO_HOVER";
14
+ readonly PREVIEW_TYPE: "PREVIEW_TYPE";
15
+ readonly LEVO_PAGE_DATA: "LEVO_PAGE_DATA";
16
+ readonly LEVO_BLOCK_DATA: "LEVO_BLOCK_DATA";
17
+ readonly FRAME_HEIGHT: "FRAME_HEIGHT";
18
+ };
7
19
  //# sourceMappingURL=constants.d.ts.map
@@ -2,4 +2,5 @@ export * from './PreviewHighlighter';
2
2
  export * from './types';
3
3
  export * from './constants';
4
4
  export * from './StudioPreview';
5
+ export { MESSAGE_TYPES } from './constants';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -3,5 +3,6 @@ export declare function getElementCoordinates(element: HTMLElement): HighlightRe
3
3
  export declare function getSelectionFromElement(element: HTMLElement): ISelection | null;
4
4
  export declare function findElementBySelection(selection: ISelection): HTMLElement | null;
5
5
  export declare function createSelectionState(element: HTMLElement, type: "selected" | "hovered"): SelectionState;
6
+ export declare function findParentElement(currentSelections: SelectionState): HTMLElement | null;
6
7
  export declare function updateSelectionRects(selections: SelectionState): SelectionState;
7
8
  //# sourceMappingURL=utils.d.ts.map
@@ -1,5 +1,5 @@
1
- import { IFieldConfig } from '../interfaces';
2
1
  import { ReactNode } from 'react';
2
+ import { IFieldConfig } from '../interfaces';
3
3
  declare const ActionWrapper: React.FC<{
4
4
  children: ReactNode;
5
5
  config: IFieldConfig;
@@ -0,0 +1,8 @@
1
+ import { LevoError } from '@levo-so/core';
2
+ interface IErrorDisplayProps {
3
+ error: LevoError;
4
+ onDismiss?: () => void;
5
+ }
6
+ export declare const ErrorDisplay: React.FC<IErrorDisplayProps>;
7
+ export {};
8
+ //# sourceMappingURL=ErrorDisplay.d.ts.map
@@ -0,0 +1,10 @@
1
+ import { LevoError } from '@levo-so/core';
2
+ interface IGoogleOAuthProps {
3
+ otpSent: boolean;
4
+ oAuthTitle: string;
5
+ onOAuthSuccess?: () => void;
6
+ onOAuthError?: (error?: LevoError) => void;
7
+ }
8
+ export declare const GoogleOAuth: React.FC<IGoogleOAuthProps>;
9
+ export {};
10
+ //# sourceMappingURL=GoogleOAuth.d.ts.map
@@ -0,0 +1,7 @@
1
+ interface ILoginFormProps {
2
+ className?: string;
3
+ oAuthTitle?: string;
4
+ }
5
+ declare const LoginForm: React.FC<ILoginFormProps>;
6
+ export default LoginForm;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,7 @@
1
+ import { IModalConfig } from '../../context/ModalManager';
2
+ interface ILoginModalProps {
3
+ config?: IModalConfig;
4
+ }
5
+ declare const LoginModal: React.FC<ILoginModalProps>;
6
+ export default LoginModal;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,11 @@
1
+ import { IPageAccessGatingOptions, IPageAccessAuthenticationOptions } from '../../../interfaces';
2
+ interface IEntryCardProps {
3
+ logo?: string;
4
+ siteName?: string;
5
+ workspaceId: string;
6
+ options: IPageAccessGatingOptions | IPageAccessAuthenticationOptions | Record<string, unknown>;
7
+ onSuccess?: () => void;
8
+ }
9
+ declare const EntryCard: React.FC<IEntryCardProps>;
10
+ export default EntryCard;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,7 @@
1
+ interface ILoginCardProps {
2
+ logo?: string;
3
+ siteName?: string;
4
+ }
5
+ declare const LoginCard: React.FC<ILoginCardProps>;
6
+ export default LoginCard;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,8 @@
1
+ interface IMessageCardProps {
2
+ logo?: string;
3
+ siteName?: string;
4
+ message: string;
5
+ }
6
+ declare const MessageCard: React.FC<IMessageCardProps>;
7
+ export default MessageCard;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,3 @@
1
+ declare const MessageFooter: React.FC;
2
+ export default MessageFooter;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,10 @@
1
+ interface IAccessCardProps {
2
+ logo?: string;
3
+ siteName?: string;
4
+ children: React.ReactNode;
5
+ maxWidth?: "sm" | "md" | "lg";
6
+ className?: string;
7
+ }
8
+ declare const AccessCard: React.FC<IAccessCardProps>;
9
+ export default AccessCard;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -5,6 +5,6 @@ interface BackgroundGradientProps {
5
5
  toColor?: string;
6
6
  direction?: string;
7
7
  }
8
- export declare const BackgroundGradient: React.MemoExoticComponent<({ className, fromColor, toColor, direction }: BackgroundGradientProps) => import("react/jsx-runtime").JSX.Element>;
8
+ export declare const BackgroundGradient: React.MemoExoticComponent<({ className, fromColor, toColor, direction, }: BackgroundGradientProps) => import("react/jsx-runtime").JSX.Element>;
9
9
  export {};
10
10
  //# sourceMappingURL=Gradient.d.ts.map
@@ -6,5 +6,5 @@
6
6
  */
7
7
  export { BUILT_IN_PRESETS, PRESET_CATEGORIES, PRESET_MAP, getPresetsByCategory, getAvailableCategories, } from './presets';
8
8
  export { getEffectConfigFromPresetId, type PresetOperationResult, } from './presetUtils';
9
- export type { BackgroundPreset, BackgroundEffectConfig } from '../../interfaces';
9
+ export type { BackgroundPreset, BackgroundEffectConfig, } from '../../interfaces';
10
10
  //# sourceMappingURL=presetSystem.d.ts.map
@@ -0,0 +1,10 @@
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ interface IEmailInputProps {
3
+ email: string;
4
+ setEmail: Dispatch<SetStateAction<string>>;
5
+ otpSent: boolean;
6
+ handleReset: (skipEmailReset?: boolean) => void;
7
+ }
8
+ declare const EmailInput: React.FC<IEmailInputProps>;
9
+ export default EmailInput;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,11 @@
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ interface IOTPInputProps {
3
+ otpSent: boolean;
4
+ otp: string;
5
+ setOtp: Dispatch<SetStateAction<string>>;
6
+ isResendingOtp: boolean;
7
+ resendOTP: (onResentSuccess?: (() => void) | undefined) => void;
8
+ }
9
+ declare const OTPInput: React.FC<IOTPInputProps>;
10
+ export default OTPInput;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+ interface IStatefulButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
+ className?: string;
4
+ children: React.ReactNode;
5
+ isLoading?: boolean;
6
+ isError?: boolean;
7
+ loadingText?: string;
8
+ successText?: string;
9
+ errorText?: string;
10
+ variant?: "default" | "outline";
11
+ size?: "default" | "lg";
12
+ }
13
+ declare const StatefulButton: React.FC<IStatefulButtonProps>;
14
+ export default StatefulButton;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -66,7 +66,7 @@ export declare const generateThemeVariables: (theme: ITheme) => {
66
66
  export declare const processTheme: ({ pageTheme, blocks, pageID, }: {
67
67
  pageTheme: ITheme;
68
68
  blocks?: IBlockInstance[];
69
- pageID: string;
69
+ pageID?: string;
70
70
  }) => {
71
71
  theme: ITheme;
72
72
  fonts: string[];
@@ -0,0 +1,21 @@
1
+ import { default as React } from 'react';
2
+ export interface IModalConfig {
3
+ redirect_uri?: string;
4
+ oAuthTitle?: string;
5
+ }
6
+ interface IMMInterface {
7
+ availableModals: string[];
8
+ openModals: {
9
+ key: string | null;
10
+ config?: IModalConfig;
11
+ };
12
+ openModal: (key: string, config?: IModalConfig) => void;
13
+ closeModal: () => void;
14
+ }
15
+ declare const MMProvider: React.FC<{
16
+ children: React.ReactNode;
17
+ siteName?: string | null;
18
+ }>;
19
+ export default MMProvider;
20
+ export declare const useModalManager: () => IMMInterface;
21
+ //# sourceMappingURL=ModalManager.d.ts.map
@@ -0,0 +1,7 @@
1
+ import { IPageExpanded } from '../../interfaces';
2
+ declare const AccessManager: React.FC<{
3
+ page: IPageExpanded;
4
+ children: React.ReactNode;
5
+ }>;
6
+ export default AccessManager;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,7 @@
1
1
  import { BaseElementProps } from '../components/withBlockProps';
2
2
  interface BaseContainerProps extends BaseElementProps, Omit<React.HTMLAttributes<HTMLDivElement>, "content"> {
3
3
  }
4
+ export declare const BaseContainer: import('react').ForwardRefExoticComponent<BaseContainerProps & import('react').RefAttributes<HTMLDivElement>>;
4
5
  export declare const Container: import('../components/withBlockProps').WithBlockPropsComponent<BaseContainerProps & import('react').RefAttributes<HTMLDivElement>>;
5
6
  export default Container;
6
7
  //# sourceMappingURL=Container.d.ts.map
@@ -0,0 +1,8 @@
1
+ import { BaseElementProps } from '../components/withBlockProps';
2
+ import * as React from "react";
3
+ export interface BaseUserMenuProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BaseElementProps, "content"> {
4
+ }
5
+ export declare const BaseUserMenu: React.FC<BaseUserMenuProps>;
6
+ export declare const UserMenu: import('../components/withBlockProps').WithBlockPropsComponent<BaseUserMenuProps>;
7
+ export default UserMenu;
8
+ //# sourceMappingURL=UserMenu.d.ts.map
@@ -1,6 +1,6 @@
1
+ import { Accordion as AccordionPrimitive } from 'radix-ui';
1
2
  import { BaseElementProps } from '../../components/withBlockProps';
2
3
  import * as React from "react";
3
- import * as AccordionPrimitive from "@radix-ui/react-accordion";
4
4
  type TypeAccordionComponentProps = React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Root>;
5
5
  interface BaseAccordionRootProps extends BaseElementProps, Omit<TypeAccordionComponentProps, "content"> {
6
6
  }
@@ -0,0 +1,16 @@
1
+ import { Dialog as DialogPrimitive } from 'radix-ui';
2
+ import * as React from "react";
3
+ declare function Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
+ declare function DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
6
+ declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
7
+ declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
8
+ declare function DialogContent({ className, children, showCloseButton, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
9
+ showCloseButton?: boolean;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ declare function DialogHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
12
+ declare function DialogFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
13
+ declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
14
+ declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
15
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
16
+ //# sourceMappingURL=index.d.ts.map
@@ -13,4 +13,5 @@ export * from './accordion';
13
13
  export * from './popover';
14
14
  export * from './Link';
15
15
  export * from './Form';
16
+ export * from './UserMenu';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,5 @@
1
+ import { Popover as PopoverPrimitive } from 'radix-ui';
1
2
  import { BaseElementProps } from '../../components/withBlockProps';
2
- import * as PopoverPrimitive from "@radix-ui/react-popover";
3
3
  import * as React from "react";
4
4
  declare const PopoverRoot: React.FC<PopoverPrimitive.PopoverProps>;
5
5
  type TypePopoverTriggerComponentProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Trigger>;
@@ -0,0 +1,29 @@
1
+ import { ILevoMembership, LevoError } from '@levo-so/core';
2
+ export declare const useLogin: () => {
3
+ isLoading: boolean;
4
+ isSendingOtp: boolean;
5
+ resendOTP: (onResentSuccess?: () => void, onResentError?: (error: LevoError) => void) => void;
6
+ isVerifying: boolean;
7
+ isResendingOtp: boolean;
8
+ otpSent: boolean;
9
+ setOtpSent: import('react').Dispatch<import('react').SetStateAction<boolean>>;
10
+ otpResent: boolean;
11
+ setOtpResent: import('react').Dispatch<import('react').SetStateAction<boolean>>;
12
+ email: string;
13
+ setEmail: import('react').Dispatch<import('react').SetStateAction<string>>;
14
+ otp: string;
15
+ setOtp: import('react').Dispatch<import('react').SetStateAction<string>>;
16
+ isLoggedIn: boolean;
17
+ sendOTP: (onOTPSentSuccess?: () => void, onOTPSentError?: (error: LevoError) => void) => void;
18
+ verifyOTP: (config?: {
19
+ onLoginSuccess?: (account: ILevoMembership.Account | null) => void;
20
+ onLoginError?: (error: LevoError) => void;
21
+ }) => void;
22
+ handleReset: (skipEmailReset?: boolean) => void;
23
+ refetchLoginStatus: (onRefetchSuccess?: (user: ILevoMembership.Account) => void) => void;
24
+ signOut: (onSignOutSuccess?: () => void, onSignOutError?: (error: LevoError) => void) => void;
25
+ lastError: LevoError | null;
26
+ isAuthLoading: boolean;
27
+ clearError: () => void;
28
+ };
29
+ //# sourceMappingURL=useLogin.d.ts.map