@levo-so/studio 0.1.57 → 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-CjOdmyD4.js → Beams-0Cg_3upg.js} +1 -1
  2. package/dist/{Dots-BlGBjcwD.js → Dots-turX9wMO.js} +1 -1
  3. package/dist/{Gradient-YhY9Pvdr.js → Gradient-Be4Kqh_1.js} +1 -1
  4. package/dist/{Grid-BO_h2CxQ.js → Grid-B0vqOT42.js} +1 -1
  5. package/dist/MessageCard-CCngWCHS.js +53 -0
  6. package/dist/{Waves-SaFLO-Gq.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 +1 -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 +18 -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-BFUEWnWU.js +0 -49
  82. package/dist/index-BP4Q9Ed6.js +0 -23
  83. package/dist/index-C5YVd5mP.js +0 -54
  84. package/dist/index-ChfbB6-A.js +0 -10565
  85. package/dist/index-DurprJto.js +0 -30
@@ -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-ChfbB6-A.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";
@@ -163,6 +173,7 @@ export interface IFieldConfig {
163
173
  before?: string;
164
174
  after?: string;
165
175
  };
176
+ custom_fields?: Record<string, unknown>;
166
177
  }
167
178
  export interface IBlockInstance {
168
179
  id: string;
@@ -186,6 +197,7 @@ export interface IBlockInstance {
186
197
  impression_count: number;
187
198
  page_count: number;
188
199
  source_count: number;
200
+ generation_status: null | "current" | "pending";
189
201
  created_at: string;
190
202
  updated_at: string;
191
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