@levo-so/studio 0.1.56 → 0.1.58

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 (85) hide show
  1. package/dist/{Beams-BZojhXPB.js → Beams-0Cg_3upg.js} +1 -1
  2. package/dist/{Dots-CcGlHm7F.js → Dots-turX9wMO.js} +1 -1
  3. package/dist/{Gradient-3UANzbFj.js → Gradient-Be4Kqh_1.js} +1 -1
  4. package/dist/{Grid-DNt6KikT.js → Grid-B0vqOT42.js} +28 -35
  5. package/dist/MessageCard-CCngWCHS.js +53 -0
  6. package/dist/{Waves-CzMQ6uqz.js → Waves-DL4kuojY.js} +1 -1
  7. package/dist/bridge/Highlighter.d.ts +9 -1
  8. package/dist/bridge/PreviewHighlighter.d.ts +8 -1
  9. package/dist/bridge/StudioPagePreview.d.ts +4 -0
  10. package/dist/bridge/constants.d.ts +2 -0
  11. package/dist/bridge/types.d.ts +27 -0
  12. package/dist/bridge/utils.d.ts +9 -1
  13. package/dist/components/LoginForm/AuthMethodRenderer.d.ts +12 -0
  14. package/dist/components/LoginForm/GoogleOAuth.d.ts +1 -0
  15. package/dist/components/LoginForm/MagicLinkAuthForm.d.ts +6 -0
  16. package/dist/components/LoginForm/OAuthSection.d.ts +11 -0
  17. package/dist/components/LoginForm/OtpAuthForm.d.ts +2 -0
  18. package/dist/components/LoginForm/WhatsAppAuthForm.d.ts +2 -0
  19. package/dist/components/LoginForm/index.d.ts +5 -0
  20. package/dist/components/accessCard/EntryCard/index.d.ts +2 -2
  21. package/dist/components/accessCard/LoginCard/index.d.ts +2 -0
  22. package/dist/components/accessCard/MessageCard.d.ts +10 -0
  23. package/dist/components/index.d.ts +2 -0
  24. package/dist/components/integrationFilters/FieldRenderer.d.ts +7 -0
  25. package/dist/components/integrationFilters/IntegrationFilters.d.ts +11 -0
  26. package/dist/components/integrationFilters/fields/DropdownField.d.ts +8 -0
  27. package/dist/components/integrationFilters/fields/TextField.d.ts +7 -0
  28. package/dist/components/shared/EmailInput/index.d.ts +1 -1
  29. package/dist/components/shared/MagicLinkSuccess/index.d.ts +7 -0
  30. package/dist/components/shared/PhoneInput/index.d.ts +10 -0
  31. package/dist/components/ui/Calendar.d.ts +5 -0
  32. package/dist/components/ui/FlippingText.d.ts +6 -0
  33. package/dist/components/ui/base/index.d.ts +2 -0
  34. package/dist/components/ui/base/input.d.ts +4 -0
  35. package/dist/components/ui/form/FormInput.d.ts +17 -0
  36. package/dist/components/ui/form/FormSelect.d.ts +17 -0
  37. package/dist/components/ui/form/utils/FieldError.d.ts +5 -0
  38. package/dist/components/ui/form/utils/FieldWrapper.d.ts +19 -0
  39. package/dist/components/ui/form/utils/FormHelperText.d.ts +7 -0
  40. package/dist/components/ui/form/utils/FormLabel.d.ts +8 -0
  41. package/dist/components/ui/index.d.ts +2 -0
  42. package/dist/constants/authentication.d.ts +41 -0
  43. package/dist/contentEngine/content.d.ts +21 -14
  44. package/dist/contentEngine/getPage.d.ts +2 -1
  45. package/dist/contentEngine/sourceFetcher.d.ts +4 -2
  46. package/dist/contentEngine/themeUtils.d.ts +57 -1
  47. package/dist/contentEngine/types.d.ts +3 -1
  48. package/dist/contentEngine/urlBuilder.d.ts +1 -1
  49. package/dist/core/AccessManager/index.d.ts +2 -0
  50. package/dist/core/LevoPage.d.ts +2 -0
  51. package/dist/elements/EditForm.d.ts +11 -0
  52. package/dist/elements/Form.d.ts +3 -0
  53. package/dist/elements/Section.d.ts +1 -0
  54. package/dist/elements/Tabs.d.ts +21 -0
  55. package/dist/elements/accordion/index.d.ts +4 -4
  56. package/dist/elements/index.d.ts +2 -0
  57. package/dist/hooks/useLogin.d.ts +18 -25
  58. package/dist/index-BdswdesP.js +36 -0
  59. package/dist/index-CPJI9a7D.js +13503 -0
  60. package/dist/index-CmNhuPZp.js +34 -0
  61. package/dist/index-kVKDoWCh.js +57 -0
  62. package/dist/index.d.ts +3 -0
  63. package/dist/index.js +112 -92
  64. package/dist/interfaces/contentSchema.d.ts +5 -2
  65. package/dist/interfaces/form.d.ts +33 -0
  66. package/dist/interfaces/levoBlock.d.ts +19 -6
  67. package/dist/interfaces/site.d.ts +21 -5
  68. package/dist/interfaces/sites.d.ts +8 -2
  69. package/dist/pixel/constants/colorOptions.d.ts +5 -0
  70. package/dist/pixel/index.d.ts +2 -1
  71. package/dist/pixel/optionsMap.d.ts +0 -1
  72. package/dist/providers/AuthProvider.d.ts +5 -0
  73. package/dist/schemas/authSchemas.d.ts +46 -0
  74. package/dist/studio.css +1 -1
  75. package/dist/utils/colorUtils.d.ts +5 -0
  76. package/dist/utils/findFieldSchema.d.ts +6 -0
  77. package/dist/utils/index.d.ts +3 -0
  78. package/package.json +9 -4
  79. package/dist/components/accessCard/MessageCard/index.d.ts +0 -8
  80. package/dist/contentEngine/config.d.ts +0 -7
  81. package/dist/index-BoqJQUB1.js +0 -49
  82. package/dist/index-ChtnTSnt.js +0 -10563
  83. package/dist/index-CncAiMll.js +0 -30
  84. package/dist/index-DEfqGdFN.js +0 -54
  85. package/dist/index-YYhmca3b.js +0 -23
@@ -0,0 +1,34 @@
1
+ "use client";
2
+ import { jsxs as i, jsx as l } from "react/jsx-runtime";
3
+ import a from "libphonenumber-js";
4
+ import { u as g, a as f } from "./index-CPJI9a7D.js";
5
+ const m = "_footnote_v8hnh_1", h = "_footnoteText_v8hnh_11", d = "_logoutButton_v8hnh_17", t = {
6
+ footnote: m,
7
+ footnoteText: h,
8
+ logoutButton: d
9
+ }, x = () => {
10
+ var s;
11
+ const { account: o, isSignOutLoading: n } = g(), { signOut: r } = f(), u = () => {
12
+ r();
13
+ }, e = (o == null ? void 0 : o.email) || ((s = a(
14
+ o != null && o.mobile ? `+${o == null ? void 0 : o.mobile}` : ""
15
+ )) == null ? void 0 : s.formatInternational());
16
+ return e ? /* @__PURE__ */ i("div", { className: t.footnote, children: [
17
+ /* @__PURE__ */ i("span", { className: t.footnoteText, children: [
18
+ "You are signed in as ",
19
+ /* @__PURE__ */ l("strong", { children: e })
20
+ ] }),
21
+ /* @__PURE__ */ l(
22
+ "button",
23
+ {
24
+ className: t.logoutButton,
25
+ onClick: u,
26
+ disabled: n,
27
+ children: n ? "Signing out..." : "Sign out"
28
+ }
29
+ )
30
+ ] }) : null;
31
+ };
32
+ export {
33
+ x as M
34
+ };
@@ -0,0 +1,57 @@
1
+ "use client";
2
+ import { jsxs as l, jsx as t } from "react/jsx-runtime";
3
+ import { CollectionFormBuilder as o } from "@levo-so/react-collection";
4
+ import { A as m } from "./index-DHHPZcEh.js";
5
+ import { M as u } from "./index-CmNhuPZp.js";
6
+ import { u as h } from "./index-CPJI9a7D.js";
7
+ const _ = "_header_emo7t_1", f = "_title_emo7t_8", C = "_subtitle_emo7t_15", g = "_formContainer_emo7t_21", r = {
8
+ header: _,
9
+ title: f,
10
+ subtitle: C,
11
+ formContainer: g
12
+ }, N = ({
13
+ logo: n,
14
+ siteName: c,
15
+ workspaceId: a,
16
+ options: e,
17
+ onSuccess: d
18
+ }) => {
19
+ var s;
20
+ const { account: i } = h();
21
+ return /* @__PURE__ */ l(m, { logo: n, siteName: c, maxWidth: "md", children: [
22
+ /* @__PURE__ */ l("div", { className: r.header, children: [
23
+ /* @__PURE__ */ t("h1", { className: r.title, children: "Access Required" }),
24
+ /* @__PURE__ */ t(
25
+ "div",
26
+ {
27
+ className: r.subtitle,
28
+ dangerouslySetInnerHTML: {
29
+ __html: ((s = e == null ? void 0 : e.content) == null ? void 0 : s.entryNotFound) ?? `Please fill out this form to access content on <strong>${c}</strong>`
30
+ }
31
+ }
32
+ )
33
+ ] }),
34
+ /* @__PURE__ */ t(u, {}),
35
+ i && /* @__PURE__ */ t("div", { className: r.formContainer, children: /* @__PURE__ */ t(
36
+ o,
37
+ {
38
+ collection_id: (e == null ? void 0 : e.collection) || "",
39
+ workspace_id: a,
40
+ uiConfig: {
41
+ hideFormHeading: !0,
42
+ hideSectionHeadings: !0
43
+ },
44
+ submitButtonConfig: {
45
+ show: !0,
46
+ text: "Submit"
47
+ },
48
+ account: i,
49
+ hiddenFields: (e == null ? void 0 : e.hidden) ?? [],
50
+ onSuccess: d
51
+ }
52
+ ) })
53
+ ] });
54
+ };
55
+ export {
56
+ N as default
57
+ };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './elements';
2
+ export * from './components';
2
3
  export * from './providers';
3
4
  export * from './utils';
4
5
  export * from './utils/colorUtils';
@@ -13,4 +14,6 @@ export * from './contentEngine';
13
14
  export * from './theme/defaultTheme';
14
15
  export * from './components/backgroundPresets/exports';
15
16
  export * from './components/registerModal/RegisterModal';
17
+ export * from './constants/authentication';
18
+ export { default as IntegrationFilters } from './components/integrationFilters/IntegrationFilters';
16
19
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,96 +1,116 @@
1
- import { q as s, o, A as t, p as r, w as n, ay as i, ax as g, b as l, d as c, j as C, n as u, v as d, x as S, a6 as T, ad as m, B as A, c as E, e as P, f as h, g as B, i as p, h as f, C as v, aj as k, aw as M, F as R, H as y, a7 as I, l as L, I as b, k as H, a3 as K, ab as O, ac as V, t as _, ah as x, M as F, az as D, aA as G, s as N, P as U, r as w, ai as z, aF as W, S as j, ak as q, a4 as J, a5 as X, T as Y, U as Q, ae as Z, ag as $, a9 as aa, af as ea, ar as sa, aq as oa, a2 as ta, J as ra, aa as na, O as ia, a8 as ga, au as la, N as ca, K as Ca, aC as ua, aD as da, ap as Sa, z as Ta, at as ma, an as Aa, aB as Ea, $ as Pa, D as ha, _ as Ba, Z as pa, a1 as fa, X as va, a0 as ka, ao as Ma, av as Ra, am as ya, al as Ia, W as La, Y as ba, aE as Ha, E as Ka, u as Oa, y as Va, V as _a, as as xa, Q as Fa, R as Da, G as Ga } from "./index-ChtnTSnt.js";
1
+ import { aX as e, aU as o, s as t, q as r, A as n, r as i, K as g, aV as l, aL as c, aK as T, b as C, d as u, j as A, o as E, p as S, x as d, N as m, ah as h, ao as P, B as M, c as p, J as B, e as R, f as H, g as L, i as f, h as I, C as v, au as _, aJ as O, Q as b, E as k, F as y, H as V, ai as D, n as F, k as U, l as K, I as N, ae as x, am as G, an as W, w as Y, as as w, M as z, aM as J, aN as X, aT as j, aW as q, v as Q, P as Z, t as $, at as aa, aS as sa, S as ea, av as oa, af as ta, ag as ra, G as na, z as ia, y as ga, D as la, T as ca, U as Ta, ap as Ca, ar as ua, ak as Aa, aq as Ea, aC as Sa, aB as da, R as ma, ad as ha, Z as Pa, al as Ma, a0 as pa, aj as Ba, aH as Ra, aG as Ha, $ as La, _ as fa, aP as Ia, aQ as va, aA as _a, V as Oa, aE as ba, ay as ka, aO as ya, a9 as Va, aZ as Da, W as Fa, aY as Ua, a8 as Ka, a7 as Na, ac as xa, ab as Ga, a5 as Wa, aa as Ya, az as wa, aF as za, aI as Ja, ax as Xa, aw as ja, a4 as qa, a6 as Qa, aR as Za, X as $a, u as as, O as ss, a3 as es, aD as os, a1 as ts, a2 as rs, Y as ns } from "./index-CPJI9a7D.js";
2
2
  export {
3
- s as AccordionContent,
4
- o as AccordionItem,
5
- t as AccordionRoot,
6
- r as AccordionTrigger,
7
- n as AuthProvider,
8
- i as BUILT_IN_PRESETS,
9
- g as BackgroundEffects,
10
- l as BaseButton,
11
- c as BaseContainer,
12
- C as BaseHeading,
13
- u as BaseTypography,
3
+ e as ALTERNATE_METHOD_VALUES,
4
+ o as ALTERNATIVE_AUTH_METHODS,
5
+ t as AccordionContent,
6
+ r as AccordionItem,
7
+ n as AccordionRoot,
8
+ i as AccordionTrigger,
9
+ g as AuthProvider,
10
+ l as AuthenticationOptions,
11
+ c as BUILT_IN_PRESETS,
12
+ T as BackgroundEffects,
13
+ C as BaseButton,
14
+ u as BaseContainer,
15
+ A as BaseHeading,
16
+ E as BaseSection,
17
+ S as BaseTypography,
14
18
  d as BaseUserMenu,
15
- S as BlockProvider,
16
- T as BlockSourceModuleList,
17
- m as BlocksRegistry,
18
- A as Box,
19
- E as Button,
20
- P as Carousel,
21
- h as CarouselContent,
22
- B as CarouselItem,
23
- p as CarouselNext,
24
- f as CarouselPrevious,
19
+ m as BlockProvider,
20
+ h as BlockSourceModuleList,
21
+ P as BlocksRegistry,
22
+ M as Box,
23
+ p as Button,
24
+ B as Calendar,
25
+ R as Carousel,
26
+ H as CarouselContent,
27
+ L as CarouselItem,
28
+ f as CarouselNext,
29
+ I as CarouselPrevious,
25
30
  v as Container,
26
- k as DATA_ATTRIBUTES,
27
- M as DEFAULT_THEME,
28
- R as Form,
29
- y as Heading,
30
- I as IMembershipAuthenticationMethods,
31
- L as Icon,
32
- b as Iframe,
33
- H as Image,
34
- K as KindList,
35
- O as LevoBlock,
36
- V as LevoPage,
37
- _ as Link,
38
- x as MESSAGE_TYPES,
39
- F as Media,
40
- D as PRESET_CATEGORIES,
41
- G as PRESET_MAP,
42
- N as PopoverContent,
43
- U as PopoverRoot,
44
- w as PopoverTrigger,
45
- z as PreviewHighlighter,
46
- W as RegisterModal,
47
- j as Section,
48
- q as StudioPreview,
49
- J as StudioWidgetList,
50
- X as StudioWidgetMap,
51
- Y as Typography,
52
- Q as UserMenu,
53
- Z as blocksRegistry,
54
- $ as colorOptions,
55
- aa as convertKeysToPascalCase,
56
- ea as cssOptionsMap,
57
- sa as fetchCollectionSchema,
58
- oa as fetchSource,
59
- ta as generateAccentColor,
60
- ra as generateAnimationProps,
61
- na as generateDefaultContent,
62
- ia as generateElementClassName,
63
- ga as generateSchemaFromJSX,
64
- la as generateThemeVariables,
65
- ca as generateVariantClasses,
66
- Ca as getAnimateValue,
67
- ua as getAvailableCategories,
68
- da as getEffectConfigFromPresetId,
69
- Sa as getInitialPageContent,
70
- Ta as getNestedValue,
71
- ma as getPageData,
72
- Aa as getPageSource,
73
- Ea as getPresetsByCategory,
74
- Pa as hexToOKLCH,
75
- ha as isConfigWithVariants,
76
- Ba as isValidOKLCH,
77
- pa as oklchStringToRGBA,
78
- fa as oklchToRGBA,
79
- va as oklchToString,
80
- ka as parseOKLCHString,
81
- Ma as parseVariablesFromResolvedSource,
82
- Ra as processTheme,
83
- ya as resolveStyles,
84
- Ia as resolveVariables,
85
- La as rgbaToOKLCH,
86
- ba as rgbaToOKLCHString,
87
- Ha as sanitizeBackgroundEffectConfig,
88
- Ka as sanitizeElementKey,
89
- Oa as useAuth,
90
- Va as useBlockContext,
91
- _a as useCommonProps,
92
- xa as useContentEngine,
93
- Fa as useGeneratedClassName,
94
- Da as useMotionComponent,
95
- Ga as useStableAnimationConfig
31
+ _ as DATA_ATTRIBUTES,
32
+ O as DEFAULT_THEME,
33
+ b as DEMO_SCHEMA,
34
+ k as EditForm,
35
+ y as Form,
36
+ V as Heading,
37
+ D as IMembershipAuthenticationMethods,
38
+ F as Icon,
39
+ U as Iframe,
40
+ K as Image,
41
+ N as IntegrationFilters,
42
+ x as KindList,
43
+ G as LevoBlock,
44
+ W as LevoPage,
45
+ Y as Link,
46
+ w as MESSAGE_TYPES,
47
+ z as Media,
48
+ J as PRESET_CATEGORIES,
49
+ X as PRESET_MAP,
50
+ j as PRIMARY_AUTH_METHODS,
51
+ q as PRIMARY_METHOD_VALUES,
52
+ Q as PopoverContent,
53
+ Z as PopoverRoot,
54
+ $ as PopoverTrigger,
55
+ aa as PreviewHighlighter,
56
+ sa as RegisterModal,
57
+ ea as Section,
58
+ oa as StudioPreview,
59
+ ta as StudioWidgetList,
60
+ ra as StudioWidgetMap,
61
+ na as TabsContent,
62
+ ia as TabsList,
63
+ ga as TabsRoot,
64
+ la as TabsTrigger,
65
+ ca as Typography,
66
+ Ta as UserMenu,
67
+ Ca as blocksRegistry,
68
+ ua as colorOptions,
69
+ Aa as convertKeysToPascalCase,
70
+ Ea as cssOptionsMap,
71
+ Sa as fetchCollectionSchema,
72
+ da as fetchSource,
73
+ ma as findFieldSchema,
74
+ ha as generateAccentColor,
75
+ Pa as generateAnimationProps,
76
+ Ma as generateDefaultContent,
77
+ pa as generateElementClassName,
78
+ Ba as generateSchemaFromJSX,
79
+ Ra as generateThemeStyles,
80
+ Ha as generateThemeVariables,
81
+ La as generateVariantClasses,
82
+ fa as getAnimateValue,
83
+ Ia as getAvailableCategories,
84
+ va as getEffectConfigFromPresetId,
85
+ _a as getInitialPageContent,
86
+ Oa as getNestedValue,
87
+ ba as getPageData,
88
+ ka as getPageSource,
89
+ ya as getPresetsByCategory,
90
+ Va as hexToOKLCH,
91
+ Da as isAlternateMethod,
92
+ Fa as isConfigWithVariants,
93
+ Ua as isPrimaryMethod,
94
+ Ka as isValidOKLCH,
95
+ Na as oklchStringToRGBA,
96
+ xa as oklchToHex,
97
+ Ga as oklchToRGBA,
98
+ Wa as oklchToString,
99
+ Ya as parseOKLCHString,
100
+ wa as parseVariablesFromResolvedSource,
101
+ za as processFonts,
102
+ Ja as processTheme,
103
+ Xa as resolveStyles,
104
+ ja as resolveVariables,
105
+ qa as rgbaToOKLCH,
106
+ Qa as rgbaToOKLCHString,
107
+ Za as sanitizeBackgroundEffectConfig,
108
+ $a as sanitizeElementKey,
109
+ as as useAuth,
110
+ ss as useBlockContext,
111
+ es as useCommonProps,
112
+ os as useContentEngine,
113
+ ts as useGeneratedClassName,
114
+ rs as useMotionComponent,
115
+ ns as useStableAnimationConfig
96
116
  };
@@ -1,6 +1,6 @@
1
1
  export declare const KindList: readonly ["element", "group"];
2
- export declare const StudioWidgetList: readonly ["BoxWidget", "ButtonWidget", "LayoutWidget", "HeadingWidget", "IframeWidget", "ImageWidget", "IconWidget", "MediaWidget", "TypographyWidget", "CarouselWidget", "FormWidget", "ContainerWidget", "UserMenuWidget", "CardWidget", "TitleWidget", "TextWidget", "NumberWidget", "URLWidget", "ImageUploadWidget", "MultiImageUploadWidget", "TextareaWidget", "RichTextWidget", "DropdownWidget", "SwitchWidget", "DateWidget", "ArrayWidget", "RecordWidget"];
3
- export declare const StudioWidgetMap: Record<"BoxWidget" | "ButtonWidget" | "LayoutWidget" | "HeadingWidget" | "IframeWidget" | "ImageWidget" | "IconWidget" | "MediaWidget" | "TypographyWidget" | "CarouselWidget" | "FormWidget" | "ContainerWidget" | "UserMenuWidget" | "CardWidget" | "TitleWidget" | "TextWidget" | "NumberWidget" | "URLWidget" | "ImageUploadWidget" | "MultiImageUploadWidget" | "TextareaWidget" | "RichTextWidget" | "DropdownWidget" | "SwitchWidget" | "DateWidget" | "ArrayWidget" | "RecordWidget", "BoxWidget" | "ButtonWidget" | "LayoutWidget" | "HeadingWidget" | "IframeWidget" | "ImageWidget" | "IconWidget" | "MediaWidget" | "TypographyWidget" | "CarouselWidget" | "FormWidget" | "ContainerWidget" | "UserMenuWidget" | "CardWidget" | "TitleWidget" | "TextWidget" | "NumberWidget" | "URLWidget" | "ImageUploadWidget" | "MultiImageUploadWidget" | "TextareaWidget" | "RichTextWidget" | "DropdownWidget" | "SwitchWidget" | "DateWidget" | "ArrayWidget" | "RecordWidget">;
2
+ export declare const StudioWidgetList: readonly ["BoxWidget", "ButtonWidget", "LayoutWidget", "HeadingWidget", "IframeWidget", "ImageWidget", "IconWidget", "MediaWidget", "TypographyWidget", "CarouselWidget", "FormWidget", "ContainerWidget", "UserMenuWidget", "TabsListWidget", "TabsTriggerWidget", "TabsContentWidget", "CardWidget", "TitleWidget", "TextWidget", "NumberWidget", "URLWidget", "ImageUploadWidget", "MultiImageUploadWidget", "TextareaWidget", "RichTextWidget", "DropdownWidget", "SwitchWidget", "DateWidget", "ArrayWidget", "RecordWidget"];
3
+ export declare const StudioWidgetMap: Record<"BoxWidget" | "ButtonWidget" | "LayoutWidget" | "HeadingWidget" | "IframeWidget" | "ImageWidget" | "IconWidget" | "MediaWidget" | "TypographyWidget" | "CarouselWidget" | "FormWidget" | "ContainerWidget" | "UserMenuWidget" | "TabsListWidget" | "TabsTriggerWidget" | "TabsContentWidget" | "CardWidget" | "TitleWidget" | "TextWidget" | "NumberWidget" | "URLWidget" | "ImageUploadWidget" | "MultiImageUploadWidget" | "TextareaWidget" | "RichTextWidget" | "DropdownWidget" | "SwitchWidget" | "DateWidget" | "ArrayWidget" | "RecordWidget", "BoxWidget" | "ButtonWidget" | "LayoutWidget" | "HeadingWidget" | "IframeWidget" | "ImageWidget" | "IconWidget" | "MediaWidget" | "TypographyWidget" | "CarouselWidget" | "FormWidget" | "ContainerWidget" | "UserMenuWidget" | "TabsListWidget" | "TabsTriggerWidget" | "TabsContentWidget" | "CardWidget" | "TitleWidget" | "TextWidget" | "NumberWidget" | "URLWidget" | "ImageUploadWidget" | "MultiImageUploadWidget" | "TextareaWidget" | "RichTextWidget" | "DropdownWidget" | "SwitchWidget" | "DateWidget" | "ArrayWidget" | "RecordWidget">;
4
4
  export type MediaHint = {
5
5
  orientation?: "landscape" | "portrait" | "square";
6
6
  size?: "icon" | "small" | "medium" | "large" | "cover";
@@ -9,7 +9,9 @@ export type MediaHint = {
9
9
  export type ContentUsecase = "main_title" | "sub_title" | "description" | "label" | "button" | "person_name" | "designation" | "testimonial" | "cta_button" | "price" | "currency" | "interval" | "feature" | "title" | "stat_number" | "stat_label" | "question" | "answer" | "category" | "date" | "reading_time" | "author" | "address" | "phone" | "email" | "link_url" | "link_text";
10
10
  export type ContentHint = {
11
11
  min_characters?: number;
12
+ min_words?: number;
12
13
  max_characters?: number;
14
+ max_words?: number;
13
15
  usecase?: ContentUsecase;
14
16
  };
15
17
  export type GroupHint = {
@@ -27,5 +29,6 @@ export interface IStudioWidget {
27
29
  fields?: IStudioWidget[];
28
30
  options?: Record<string, any>;
29
31
  hint?: StudioHint;
32
+ custom_fields?: IStudioWidget[];
30
33
  }
31
34
  //# sourceMappingURL=contentSchema.d.ts.map
@@ -0,0 +1,33 @@
1
+ import { ReactElement } from 'react';
2
+ export interface IFieldControlProps {
3
+ error?: any;
4
+ touched?: any;
5
+ helperText?: string;
6
+ children: ReactElement<any>;
7
+ isDisabled?: boolean;
8
+ isReadOnly?: boolean;
9
+ containerStyles?: string;
10
+ inputContainerStyles?: string;
11
+ }
12
+ export interface IBaseInputProps {
13
+ name: string;
14
+ id?: string;
15
+ value?: any;
16
+ placeholder?: string;
17
+ disabled?: boolean;
18
+ readOnly?: boolean;
19
+ label?: string;
20
+ isRequired?: boolean;
21
+ error?: any;
22
+ touched?: any;
23
+ helperText?: string;
24
+ labelStyles?: string;
25
+ containerStyles?: string;
26
+ helperTextStyles?: string;
27
+ }
28
+ export interface IFormSelectOptions {
29
+ label: string;
30
+ value: any;
31
+ [x: string]: unknown;
32
+ }
33
+ //# sourceMappingURL=form.d.ts.map
@@ -1,3 +1,4 @@
1
+ import { FormVariantType } from '@levo-so/react-collection';
1
2
  import { IField, ILemaCollection, IMediaObject } from '@levo-so/core';
2
3
  import { MotionProps } from 'motion/react';
3
4
  import { IStudioWidget } from './contentSchema';
@@ -23,7 +24,7 @@ export interface IBlockCategory {
23
24
  description: string;
24
25
  media?: any[];
25
26
  }
26
- export declare const BlockSourceModuleList: readonly ["collection", "event", "blog", "context"];
27
+ export declare const BlockSourceModuleList: readonly ["collection", "event", "blog", "context", "form"];
27
28
  export type IStudioSource = {
28
29
  id?: string;
29
30
  workspace_id: string;
@@ -35,6 +36,10 @@ export type IStudioSource = {
35
36
  sub_module?: "popular_posts" | "related_posts";
36
37
  blog_id?: string;
37
38
  context_key?: string;
39
+ filters?: {
40
+ enabled?: boolean;
41
+ selected_fields?: string[];
42
+ };
38
43
  };
39
44
  metadata?: Record<string, any>;
40
45
  filters?: string[];
@@ -101,12 +106,17 @@ export interface IFieldConfig {
101
106
  enabled?: boolean;
102
107
  animation?: AnimationConfig;
103
108
  form?: {
104
- collection_id: string;
105
- collection_name?: string;
109
+ collection_id?: string;
106
110
  submit_button_label?: string;
107
- workspace_id: string;
108
- schema: ILemaCollection;
109
- hidden_fields: string[];
111
+ workspace_id?: string;
112
+ schema?: ILemaCollection;
113
+ hidden_fields?: string[];
114
+ form_variant?: FormVariantType;
115
+ redirect_url?: string;
116
+ };
117
+ filters?: {
118
+ schema?: ILemaCollection;
119
+ selected_fields?: string[];
110
120
  };
111
121
  action?: {
112
122
  type: "page" | "external_link" | "email" | "phone" | "login" | "none";
@@ -140,6 +150,7 @@ export interface IFieldConfig {
140
150
  stopOnFocusIn?: boolean;
141
151
  stopOnInteraction?: boolean;
142
152
  stopOnMouseEnter?: boolean;
153
+ direction?: "ltr" | "rtl";
143
154
  };
144
155
  image?: {
145
156
  high_priority?: boolean;
@@ -162,6 +173,7 @@ export interface IFieldConfig {
162
173
  before?: string;
163
174
  after?: string;
164
175
  };
176
+ custom_fields?: Record<string, unknown>;
165
177
  }
166
178
  export interface IBlockInstance {
167
179
  id: string;
@@ -185,6 +197,7 @@ export interface IBlockInstance {
185
197
  impression_count: number;
186
198
  page_count: number;
187
199
  source_count: number;
200
+ generation_status: null | "current" | "pending";
188
201
  created_at: string;
189
202
  updated_at: string;
190
203
  deleted_at: any;
@@ -1,6 +1,6 @@
1
1
  import { IMediaObject, LevoQuery, IWorkspace } from '@levo-so/core';
2
- import { ISite } from './sites';
3
- import { IBlockInstance, IPageSource } from './levoBlock';
2
+ import { ISite, ISiteStyleConfig } from './sites';
3
+ import { IBlockInstance, IBlockSource, IPageSource } from './levoBlock';
4
4
  export interface IPageSpeedData {
5
5
  audit_id: string;
6
6
  mobile: Scores;
@@ -27,10 +27,16 @@ export interface IPageSettings {
27
27
  structured_data_json?: string;
28
28
  [key: string]: any;
29
29
  }
30
+ export interface ILocalizedPage {
31
+ id: string;
32
+ language: string;
33
+ title: string;
34
+ }
30
35
  export interface IPage {
31
36
  id: string;
32
37
  workspace_id: string;
33
38
  site_id: string;
39
+ site_version?: "v1" | "v2";
34
40
  title: string;
35
41
  description: string;
36
42
  key: string;
@@ -43,6 +49,12 @@ export interface IPage {
43
49
  pagespeed_score: IPageSpeedData;
44
50
  access: IPageAccess[];
45
51
  settings: IPageSettings;
52
+ parent_id?: string;
53
+ language?: string;
54
+ is_generating?: boolean;
55
+ localized_pages?: ILocalizedPage[];
56
+ style_config?: ISiteStyleConfig | null;
57
+ countries?: string[];
46
58
  theme: {
47
59
  colors: {
48
60
  brand: {
@@ -67,7 +79,7 @@ export interface IPage {
67
79
  url_count: number;
68
80
  created_at: string;
69
81
  updated_at: string;
70
- source?: IPageSource[];
82
+ source?: (IPageSource | IBlockSource)[];
71
83
  kind: IPageKind;
72
84
  sample_url: string;
73
85
  insights: {
@@ -108,8 +120,12 @@ export interface IPageAccessGatingOptions {
108
120
  condition?: LevoQuery.Where;
109
121
  default_value?: Record<string, any>;
110
122
  hidden?: string[];
123
+ content?: {
124
+ entryNotFound?: string;
125
+ conditionNotFulfilled?: string;
126
+ };
111
127
  }
112
- export declare const IMembershipAuthenticationMethods: readonly ["linkedin", "google", "otp", "magiclink", "password"];
128
+ export declare const IMembershipAuthenticationMethods: readonly ["linkedin", "google", "oauth", "microsoft", "otp", "whatsapp", "magiclink", "password"];
113
129
  export interface IPageAccessAuthenticationOptions {
114
130
  methods: (typeof IMembershipAuthenticationMethods)[number][];
115
131
  primary_method: (typeof IMembershipAuthenticationMethods)[number];
@@ -155,7 +171,7 @@ export interface IPageAccessCheck {
155
171
  has_access: boolean;
156
172
  code?: IPageAccessAuthenticationCodes | IPageAccessGatingCodes;
157
173
  message: string;
158
- options?: Pick<IPageAccessGatingOptions, "collection" | "field"> | IPageAccessAuthenticationOptions;
174
+ options?: Pick<IPageAccessGatingOptions, "collection" | "field" | "content"> | IPageAccessAuthenticationOptions;
159
175
  }
160
176
  export interface ISitemap {
161
177
  created_at: string;
@@ -1,17 +1,22 @@
1
- import { IMediaObject } from '@levo-so/core';
1
+ import { IMediaObject, IFaviconMediaObject } from '@levo-so/core';
2
2
  import { ITheme } from './theme';
3
3
  import { ISitemapsSettings } from './site';
4
4
  export type ISiteCompact = Pick<ISite, "object" | "id" | "name" | "slug" | "icon" | "logo" | "is_default" | "created_at" | "updated_at">;
5
+ export interface ISiteStyleConfig {
6
+ stylesheet_url: string | null;
7
+ critical_css: string | null;
8
+ }
5
9
  export interface ISite {
6
10
  object: string;
7
11
  id: string;
8
12
  workspace_id: string;
13
+ site_version: "v1" | "v2";
9
14
  name: string;
10
15
  slug: string;
11
16
  timezone: string;
12
17
  description: string;
13
18
  logo: IMediaObject | null;
14
- icon: IMediaObject | null;
19
+ icon: IFaviconMediaObject | null;
15
20
  industry: string | null;
16
21
  domain: string | null;
17
22
  theme: ITheme;
@@ -26,6 +31,7 @@ export interface ISite {
26
31
  is_proxied: boolean;
27
32
  host_domain: string | null;
28
33
  proxy_domain: string | null;
34
+ style_config: ISiteStyleConfig | null;
29
35
  created_at: string;
30
36
  updated_at: string;
31
37
  }
@@ -34,6 +34,11 @@ export declare const colorOptions: {
34
34
  readonly value: "text-3";
35
35
  readonly css: "var(--color-text-3)";
36
36
  };
37
+ readonly border: {
38
+ readonly label: "Border";
39
+ readonly value: "border";
40
+ readonly css: "var(--color-border)";
41
+ };
37
42
  readonly "background-1": {
38
43
  readonly label: "Background 1";
39
44
  readonly value: "background-1";
@@ -1,3 +1,4 @@
1
1
  import { CSSStyleKeys } from './propertyMap';
2
- export declare const styleObjectToCss: (styleObj: Record<CSSStyleKeys, unknown>, isNested?: boolean) => string;
2
+ export type IPreviewDevice = "desktop" | "tablet" | "mobile";
3
+ export declare const styleObjectToCss: (styleObj: Record<CSSStyleKeys, unknown>, isNested: boolean, selector?: string) => string;
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -11,7 +11,6 @@ type ParseResult = {
11
11
  };
12
12
  export declare const cssOptionsMap: Partial<Record<CSSStyleKeys, {
13
13
  options: CSSOptionsRecord;
14
- skip?: boolean;
15
14
  parser?: (value: any) => ParseResult;
16
15
  }>>;
17
16
  export default cssOptionsMap;
@@ -12,11 +12,16 @@ interface IAuthActions {
12
12
  setAuthState: (updates: Partial<IAuthState>) => void;
13
13
  resetAuth: () => void;
14
14
  }
15
+ export interface IAuthOverride {
16
+ enabled: boolean;
17
+ isLoggedIn: boolean;
18
+ }
15
19
  interface IAuthProviderInterface extends IAuthState, IAuthActions {
16
20
  }
17
21
  export declare const AuthProvider: React.FC<{
18
22
  children: React.ReactNode;
19
23
  workspace: IWorkspace | null;
24
+ authOverride?: IAuthOverride | null;
20
25
  }>;
21
26
  export default AuthProvider;
22
27
  export declare const useAuth: () => IAuthProviderInterface;
@@ -0,0 +1,46 @@
1
+ import * as yup from "yup";
2
+ /**
3
+ * Email validation schema
4
+ */
5
+ export declare const emailSchema: yup.ObjectSchema<{
6
+ email: string;
7
+ }, yup.AnyObject, {
8
+ email: undefined;
9
+ }, "">;
10
+ /**
11
+ * OTP verification schema for email
12
+ */
13
+ export declare const otpVerificationSchema: yup.ObjectSchema<{
14
+ email: string;
15
+ otp: string;
16
+ }, yup.AnyObject, {
17
+ email: undefined;
18
+ otp: undefined;
19
+ }, "">;
20
+ /**
21
+ * Phone number validation schema
22
+ */
23
+ export declare const phoneSchema: yup.ObjectSchema<{
24
+ phone: string;
25
+ }, yup.AnyObject, {
26
+ phone: undefined;
27
+ }, "">;
28
+ /**
29
+ * WhatsApp OTP verification schema
30
+ */
31
+ export declare const whatsappOtpVerificationSchema: yup.ObjectSchema<{
32
+ phone: string;
33
+ otp: string;
34
+ }, yup.AnyObject, {
35
+ phone: undefined;
36
+ otp: undefined;
37
+ }, "">;
38
+ /**
39
+ * Magic link validation schema (alias for emailSchema)
40
+ */
41
+ export declare const magicLinkSchema: yup.ObjectSchema<{
42
+ email: string;
43
+ }, yup.AnyObject, {
44
+ email: undefined;
45
+ }, "">;
46
+ //# sourceMappingURL=authSchemas.d.ts.map