@levo-so/studio 0.1.82 → 0.1.83

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 (414) hide show
  1. package/dist/AuthProvider-Ch5Ny0il.js +118 -0
  2. package/dist/Beams-BqUps11n.js +118 -0
  3. package/dist/BillingStep-DifEK8oa.js +181 -0
  4. package/dist/Button-Ct2fjM5v.js +1078 -0
  5. package/dist/Dots-BKqlE-Rv.js +137 -0
  6. package/dist/EntryCard-UWxVYAD_.js +52 -0
  7. package/dist/Gradient-hC5P0PfD.js +41 -0
  8. package/dist/Grid-DqZKCasl.js +145 -0
  9. package/dist/LoginCard-BKq_s4ZT.js +47 -0
  10. package/dist/LoginForm-54dtpOlx.js +793 -0
  11. package/dist/LoginModal-DTSAYZLC.js +48 -0
  12. package/dist/MessageCard-YUS-pnpe.js +54 -0
  13. package/dist/MessageFooter-DrJ6jZ_n.js +28 -0
  14. package/dist/ModalManager-DLxbnq-i.js +32 -0
  15. package/dist/PendingApprovalCard-BnteoK24.js +81 -0
  16. package/dist/StripePaymentModal-Kk0GUsIU.js +56 -0
  17. package/dist/Waves-CzQRk01F.js +169 -0
  18. package/dist/bookingCard-BSYtboqu.js +577 -0
  19. package/dist/card-oIl95-_C.js +37 -0
  20. package/dist/dialog-BRgfpVtv.js +92 -0
  21. package/dist/index.d.ts +2561 -22
  22. package/dist/index.js +78144 -176
  23. package/dist/studio.css +2 -1
  24. package/package.json +22 -24
  25. package/dist/Beams-Bg-dVxl6.js +0 -187
  26. package/dist/BillingStep-DcZbhRY9.js +0 -203
  27. package/dist/Dots-BcyEjNOn.js +0 -173
  28. package/dist/Gradient-BAEhRmAX.js +0 -50
  29. package/dist/Grid-PY2gXiCU.js +0 -174
  30. package/dist/MessageCard-B-uaKUq5.js +0 -45
  31. package/dist/Waves-CZHzs7wt.js +0 -144
  32. package/dist/blockSmith/ContentSchemaGenerator.d.ts +0 -4
  33. package/dist/blockSmith/ContentSchemaGenerator.d.ts.map +0 -1
  34. package/dist/blockSmith/DefaultContentGenerator.d.ts +0 -2
  35. package/dist/blockSmith/DefaultContentGenerator.d.ts.map +0 -1
  36. package/dist/blockSmith/DefaultStylesGenerator.d.ts +0 -2
  37. package/dist/blockSmith/DefaultStylesGenerator.d.ts.map +0 -1
  38. package/dist/blockSmith/index.d.ts +0 -3
  39. package/dist/blockSmith/index.d.ts.map +0 -1
  40. package/dist/blockSmith/variablePropertMap.d.ts +0 -2
  41. package/dist/blockSmith/variablePropertMap.d.ts.map +0 -1
  42. package/dist/bridge/Highlighter.d.ts +0 -14
  43. package/dist/bridge/Highlighter.d.ts.map +0 -1
  44. package/dist/bridge/PreviewHighlighter.d.ts +0 -9
  45. package/dist/bridge/PreviewHighlighter.d.ts.map +0 -1
  46. package/dist/bridge/StudioBlockPreview.d.ts +0 -9
  47. package/dist/bridge/StudioBlockPreview.d.ts.map +0 -1
  48. package/dist/bridge/StudioPagePreview.d.ts +0 -23
  49. package/dist/bridge/StudioPagePreview.d.ts.map +0 -1
  50. package/dist/bridge/StudioPreview.d.ts +0 -26
  51. package/dist/bridge/StudioPreview.d.ts.map +0 -1
  52. package/dist/bridge/constants.d.ts +0 -23
  53. package/dist/bridge/constants.d.ts.map +0 -1
  54. package/dist/bridge/hooks/useElementTracker.d.ts +0 -9
  55. package/dist/bridge/hooks/useElementTracker.d.ts.map +0 -1
  56. package/dist/bridge/index.d.ts +0 -6
  57. package/dist/bridge/index.d.ts.map +0 -1
  58. package/dist/bridge/types.d.ts +0 -60
  59. package/dist/bridge/types.d.ts.map +0 -1
  60. package/dist/bridge/utils.d.ts +0 -13
  61. package/dist/bridge/utils.d.ts.map +0 -1
  62. package/dist/components/ActionWrapper.d.ts +0 -8
  63. package/dist/components/ActionWrapper.d.ts.map +0 -1
  64. package/dist/components/AnimatedBlock.d.ts +0 -50
  65. package/dist/components/AnimatedBlock.d.ts.map +0 -1
  66. package/dist/components/BackgroundVideo.d.ts +0 -6
  67. package/dist/components/BackgroundVideo.d.ts.map +0 -1
  68. package/dist/components/LoginForm/AuthMethodRenderer.d.ts +0 -13
  69. package/dist/components/LoginForm/AuthMethodRenderer.d.ts.map +0 -1
  70. package/dist/components/LoginForm/ErrorDisplay.d.ts +0 -8
  71. package/dist/components/LoginForm/ErrorDisplay.d.ts.map +0 -1
  72. package/dist/components/LoginForm/GoogleOAuth.d.ts +0 -11
  73. package/dist/components/LoginForm/GoogleOAuth.d.ts.map +0 -1
  74. package/dist/components/LoginForm/MagicLinkAuthForm.d.ts +0 -7
  75. package/dist/components/LoginForm/MagicLinkAuthForm.d.ts.map +0 -1
  76. package/dist/components/LoginForm/OAuthSection.d.ts +0 -11
  77. package/dist/components/LoginForm/OAuthSection.d.ts.map +0 -1
  78. package/dist/components/LoginForm/OtpAuthForm.d.ts +0 -6
  79. package/dist/components/LoginForm/OtpAuthForm.d.ts.map +0 -1
  80. package/dist/components/LoginForm/WhatsAppAuthForm.d.ts +0 -6
  81. package/dist/components/LoginForm/WhatsAppAuthForm.d.ts.map +0 -1
  82. package/dist/components/LoginForm/index.d.ts +0 -13
  83. package/dist/components/LoginForm/index.d.ts.map +0 -1
  84. package/dist/components/LoginModal/index.d.ts +0 -7
  85. package/dist/components/LoginModal/index.d.ts.map +0 -1
  86. package/dist/components/accessCard/EntryCard/index.d.ts +0 -11
  87. package/dist/components/accessCard/EntryCard/index.d.ts.map +0 -1
  88. package/dist/components/accessCard/LoginCard/index.d.ts +0 -9
  89. package/dist/components/accessCard/LoginCard/index.d.ts.map +0 -1
  90. package/dist/components/accessCard/MessageCard.d.ts +0 -10
  91. package/dist/components/accessCard/MessageCard.d.ts.map +0 -1
  92. package/dist/components/accessCard/MessageFooter/index.d.ts +0 -3
  93. package/dist/components/accessCard/MessageFooter/index.d.ts.map +0 -1
  94. package/dist/components/accessCard/PendingApprovalCard/index.d.ts +0 -11
  95. package/dist/components/accessCard/PendingApprovalCard/index.d.ts.map +0 -1
  96. package/dist/components/accessCard/card/index.d.ts +0 -10
  97. package/dist/components/accessCard/card/index.d.ts.map +0 -1
  98. package/dist/components/backgroundPresets/Beams.d.ts +0 -10
  99. package/dist/components/backgroundPresets/Beams.d.ts.map +0 -1
  100. package/dist/components/backgroundPresets/Dots.d.ts +0 -12
  101. package/dist/components/backgroundPresets/Dots.d.ts.map +0 -1
  102. package/dist/components/backgroundPresets/Gradient.d.ts +0 -10
  103. package/dist/components/backgroundPresets/Gradient.d.ts.map +0 -1
  104. package/dist/components/backgroundPresets/Grid.d.ts +0 -14
  105. package/dist/components/backgroundPresets/Grid.d.ts.map +0 -1
  106. package/dist/components/backgroundPresets/Waves.d.ts +0 -12
  107. package/dist/components/backgroundPresets/Waves.d.ts.map +0 -1
  108. package/dist/components/backgroundPresets/exports.d.ts +0 -5
  109. package/dist/components/backgroundPresets/exports.d.ts.map +0 -1
  110. package/dist/components/backgroundPresets/index.d.ts +0 -9
  111. package/dist/components/backgroundPresets/index.d.ts.map +0 -1
  112. package/dist/components/backgroundPresets/presetSystem.d.ts +0 -10
  113. package/dist/components/backgroundPresets/presetSystem.d.ts.map +0 -1
  114. package/dist/components/backgroundPresets/presetUtils.d.ts +0 -19
  115. package/dist/components/backgroundPresets/presetUtils.d.ts.map +0 -1
  116. package/dist/components/backgroundPresets/presets.d.ts +0 -39
  117. package/dist/components/backgroundPresets/presets.d.ts.map +0 -1
  118. package/dist/components/bookingCard/BillingStep.d.ts +0 -35
  119. package/dist/components/bookingCard/BillingStep.d.ts.map +0 -1
  120. package/dist/components/bookingCard/BookingCard.d.ts +0 -81
  121. package/dist/components/bookingCard/BookingCard.d.ts.map +0 -1
  122. package/dist/components/bookingCard/index.d.ts +0 -3
  123. package/dist/components/bookingCard/index.d.ts.map +0 -1
  124. package/dist/components/bookingModal/BookingConfirmation.d.ts +0 -48
  125. package/dist/components/bookingModal/BookingConfirmation.d.ts.map +0 -1
  126. package/dist/components/bookingModal/BookingModal.d.ts +0 -19
  127. package/dist/components/bookingModal/BookingModal.d.ts.map +0 -1
  128. package/dist/components/bookingModal/BookingSummary.d.ts +0 -34
  129. package/dist/components/bookingModal/BookingSummary.d.ts.map +0 -1
  130. package/dist/components/bookingModal/index.d.ts +0 -4
  131. package/dist/components/bookingModal/index.d.ts.map +0 -1
  132. package/dist/components/globalSearch/GlobalSearch.d.ts +0 -7
  133. package/dist/components/globalSearch/GlobalSearch.d.ts.map +0 -1
  134. package/dist/components/globalSearch/GlobalSearchDialog.d.ts +0 -6
  135. package/dist/components/globalSearch/GlobalSearchDialog.d.ts.map +0 -1
  136. package/dist/components/globalSearch/index.d.ts +0 -2
  137. package/dist/components/globalSearch/index.d.ts.map +0 -1
  138. package/dist/components/index.d.ts +0 -4
  139. package/dist/components/index.d.ts.map +0 -1
  140. package/dist/components/integrationFilters/FieldRenderer.d.ts +0 -10
  141. package/dist/components/integrationFilters/FieldRenderer.d.ts.map +0 -1
  142. package/dist/components/integrationFilters/IntegrationFilters.d.ts +0 -11
  143. package/dist/components/integrationFilters/IntegrationFilters.d.ts.map +0 -1
  144. package/dist/components/integrationFilters/fields/DropdownField.d.ts +0 -8
  145. package/dist/components/integrationFilters/fields/DropdownField.d.ts.map +0 -1
  146. package/dist/components/integrationFilters/fields/TextField.d.ts +0 -7
  147. package/dist/components/integrationFilters/fields/TextField.d.ts.map +0 -1
  148. package/dist/components/registerModal/AttendeeForm.d.ts +0 -27
  149. package/dist/components/registerModal/AttendeeForm.d.ts.map +0 -1
  150. package/dist/components/registerModal/CouponView.d.ts +0 -14
  151. package/dist/components/registerModal/CouponView.d.ts.map +0 -1
  152. package/dist/components/registerModal/RegisterModal.d.ts +0 -7
  153. package/dist/components/registerModal/RegisterModal.d.ts.map +0 -1
  154. package/dist/components/registerModal/RegistrationConfirmationModal.d.ts +0 -8
  155. package/dist/components/registerModal/RegistrationConfirmationModal.d.ts.map +0 -1
  156. package/dist/components/registerModal/TicketSelectionStep.d.ts +0 -15
  157. package/dist/components/registerModal/TicketSelectionStep.d.ts.map +0 -1
  158. package/dist/components/registerModal/useCustomDisclosure.d.ts +0 -18
  159. package/dist/components/registerModal/useCustomDisclosure.d.ts.map +0 -1
  160. package/dist/components/registerModal/utils.d.ts +0 -86
  161. package/dist/components/registerModal/utils.d.ts.map +0 -1
  162. package/dist/components/shared/EmailInput/index.d.ts +0 -10
  163. package/dist/components/shared/EmailInput/index.d.ts.map +0 -1
  164. package/dist/components/shared/MagicLinkSuccess/index.d.ts +0 -7
  165. package/dist/components/shared/MagicLinkSuccess/index.d.ts.map +0 -1
  166. package/dist/components/shared/OTPInput/index.d.ts +0 -11
  167. package/dist/components/shared/OTPInput/index.d.ts.map +0 -1
  168. package/dist/components/shared/PhoneInput/index.d.ts +0 -10
  169. package/dist/components/shared/PhoneInput/index.d.ts.map +0 -1
  170. package/dist/components/stripePaymentModal/StripePaymentModal.d.ts +0 -22
  171. package/dist/components/stripePaymentModal/StripePaymentModal.d.ts.map +0 -1
  172. package/dist/components/stripePaymentModal/index.d.ts +0 -3
  173. package/dist/components/stripePaymentModal/index.d.ts.map +0 -1
  174. package/dist/components/ui/Calendar.d.ts +0 -5
  175. package/dist/components/ui/Calendar.d.ts.map +0 -1
  176. package/dist/components/ui/FlippingText.d.ts +0 -6
  177. package/dist/components/ui/FlippingText.d.ts.map +0 -1
  178. package/dist/components/ui/StatefulButton/index.d.ts +0 -15
  179. package/dist/components/ui/StatefulButton/index.d.ts.map +0 -1
  180. package/dist/components/ui/base/avatar.d.ts +0 -13
  181. package/dist/components/ui/base/avatar.d.ts.map +0 -1
  182. package/dist/components/ui/base/index.d.ts +0 -6
  183. package/dist/components/ui/base/index.d.ts.map +0 -1
  184. package/dist/components/ui/base/input.d.ts +0 -4
  185. package/dist/components/ui/base/input.d.ts.map +0 -1
  186. package/dist/components/ui/base/kbd.d.ts +0 -4
  187. package/dist/components/ui/base/kbd.d.ts.map +0 -1
  188. package/dist/components/ui/base/skeleton.d.ts +0 -3
  189. package/dist/components/ui/base/skeleton.d.ts.map +0 -1
  190. package/dist/components/ui/base/textarea.d.ts +0 -4
  191. package/dist/components/ui/base/textarea.d.ts.map +0 -1
  192. package/dist/components/ui/base/tooltip.d.ts +0 -17
  193. package/dist/components/ui/base/tooltip.d.ts.map +0 -1
  194. package/dist/components/ui/form/FormInput.d.ts +0 -17
  195. package/dist/components/ui/form/FormInput.d.ts.map +0 -1
  196. package/dist/components/ui/form/FormSelect.d.ts +0 -17
  197. package/dist/components/ui/form/FormSelect.d.ts.map +0 -1
  198. package/dist/components/ui/form/FormTextarea.d.ts +0 -15
  199. package/dist/components/ui/form/FormTextarea.d.ts.map +0 -1
  200. package/dist/components/ui/form/utils/FieldError.d.ts +0 -5
  201. package/dist/components/ui/form/utils/FieldError.d.ts.map +0 -1
  202. package/dist/components/ui/form/utils/FieldWrapper.d.ts +0 -19
  203. package/dist/components/ui/form/utils/FieldWrapper.d.ts.map +0 -1
  204. package/dist/components/ui/form/utils/FormHelperText.d.ts +0 -7
  205. package/dist/components/ui/form/utils/FormHelperText.d.ts.map +0 -1
  206. package/dist/components/ui/form/utils/FormLabel.d.ts +0 -8
  207. package/dist/components/ui/form/utils/FormLabel.d.ts.map +0 -1
  208. package/dist/components/ui/index.d.ts +0 -5
  209. package/dist/components/ui/index.d.ts.map +0 -1
  210. package/dist/components/withBlockProps.d.ts +0 -53
  211. package/dist/components/withBlockProps.d.ts.map +0 -1
  212. package/dist/constants/animation.d.ts +0 -10
  213. package/dist/constants/animation.d.ts.map +0 -1
  214. package/dist/constants/authentication.d.ts +0 -45
  215. package/dist/constants/authentication.d.ts.map +0 -1
  216. package/dist/contentEngine/cache.d.ts +0 -5
  217. package/dist/contentEngine/cache.d.ts.map +0 -1
  218. package/dist/contentEngine/content.d.ts +0 -57
  219. package/dist/contentEngine/content.d.ts.map +0 -1
  220. package/dist/contentEngine/getPage.d.ts +0 -11
  221. package/dist/contentEngine/getPage.d.ts.map +0 -1
  222. package/dist/contentEngine/head_code.d.ts +0 -3
  223. package/dist/contentEngine/head_code.d.ts.map +0 -1
  224. package/dist/contentEngine/index.d.ts +0 -12
  225. package/dist/contentEngine/index.d.ts.map +0 -1
  226. package/dist/contentEngine/sourceFetcher.d.ts +0 -17
  227. package/dist/contentEngine/sourceFetcher.d.ts.map +0 -1
  228. package/dist/contentEngine/themeUtils.d.ts +0 -150
  229. package/dist/contentEngine/themeUtils.d.ts.map +0 -1
  230. package/dist/contentEngine/types.d.ts +0 -29
  231. package/dist/contentEngine/types.d.ts.map +0 -1
  232. package/dist/contentEngine/urlBuilder.d.ts +0 -9
  233. package/dist/contentEngine/urlBuilder.d.ts.map +0 -1
  234. package/dist/contentEngine/useContentEngine.d.ts +0 -9
  235. package/dist/contentEngine/useContentEngine.d.ts.map +0 -1
  236. package/dist/contentEngine/useContextEngine.d.ts +0 -12
  237. package/dist/contentEngine/useContextEngine.d.ts.map +0 -1
  238. package/dist/contentEngine/usePageContext.d.ts +0 -4
  239. package/dist/contentEngine/usePageContext.d.ts.map +0 -1
  240. package/dist/context/ForumContext.d.ts +0 -48
  241. package/dist/context/ForumContext.d.ts.map +0 -1
  242. package/dist/context/ModalManager.d.ts +0 -21
  243. package/dist/context/ModalManager.d.ts.map +0 -1
  244. package/dist/core/AccessManager/index.d.ts +0 -11
  245. package/dist/core/AccessManager/index.d.ts.map +0 -1
  246. package/dist/core/BlockRegistry.d.ts +0 -20
  247. package/dist/core/BlockRegistry.d.ts.map +0 -1
  248. package/dist/core/LevoBlock.d.ts +0 -17
  249. package/dist/core/LevoBlock.d.ts.map +0 -1
  250. package/dist/core/LevoPage.d.ts +0 -19
  251. package/dist/core/LevoPage.d.ts.map +0 -1
  252. package/dist/core/index.d.ts +0 -4
  253. package/dist/core/index.d.ts.map +0 -1
  254. package/dist/elements/AlertDialog/index.d.ts +0 -23
  255. package/dist/elements/AlertDialog/index.d.ts.map +0 -1
  256. package/dist/elements/BlogContent.d.ts +0 -12
  257. package/dist/elements/BlogContent.d.ts.map +0 -1
  258. package/dist/elements/Box.d.ts +0 -7
  259. package/dist/elements/Box.d.ts.map +0 -1
  260. package/dist/elements/Button.d.ts +0 -10
  261. package/dist/elements/Button.d.ts.map +0 -1
  262. package/dist/elements/Carousel.d.ts +0 -27
  263. package/dist/elements/Carousel.d.ts.map +0 -1
  264. package/dist/elements/Container.d.ts +0 -7
  265. package/dist/elements/Container.d.ts.map +0 -1
  266. package/dist/elements/EditForm.d.ts +0 -11
  267. package/dist/elements/EditForm.d.ts.map +0 -1
  268. package/dist/elements/Form.d.ts +0 -9
  269. package/dist/elements/Form.d.ts.map +0 -1
  270. package/dist/elements/Heading.d.ts +0 -7
  271. package/dist/elements/Heading.d.ts.map +0 -1
  272. package/dist/elements/Icon.d.ts +0 -10
  273. package/dist/elements/Icon.d.ts.map +0 -1
  274. package/dist/elements/Iframe.d.ts +0 -7
  275. package/dist/elements/Iframe.d.ts.map +0 -1
  276. package/dist/elements/Image.d.ts +0 -17
  277. package/dist/elements/Image.d.ts.map +0 -1
  278. package/dist/elements/Link.d.ts +0 -6
  279. package/dist/elements/Link.d.ts.map +0 -1
  280. package/dist/elements/Media.d.ts +0 -22
  281. package/dist/elements/Media.d.ts.map +0 -1
  282. package/dist/elements/Section.d.ts +0 -8
  283. package/dist/elements/Section.d.ts.map +0 -1
  284. package/dist/elements/Tabs.d.ts +0 -21
  285. package/dist/elements/Tabs.d.ts.map +0 -1
  286. package/dist/elements/Typography.d.ts +0 -8
  287. package/dist/elements/Typography.d.ts.map +0 -1
  288. package/dist/elements/UserMenu.d.ts +0 -8
  289. package/dist/elements/UserMenu.d.ts.map +0 -1
  290. package/dist/elements/accordion/index.d.ts +0 -20
  291. package/dist/elements/accordion/index.d.ts.map +0 -1
  292. package/dist/elements/dialog/index.d.ts +0 -16
  293. package/dist/elements/dialog/index.d.ts.map +0 -1
  294. package/dist/elements/forum/ForumPost.d.ts +0 -19
  295. package/dist/elements/forum/ForumPost.d.ts.map +0 -1
  296. package/dist/elements/forum/ForumPostContentRenderer.d.ts +0 -8
  297. package/dist/elements/forum/ForumPostContentRenderer.d.ts.map +0 -1
  298. package/dist/elements/forum/SearchInput.d.ts +0 -5
  299. package/dist/elements/forum/SearchInput.d.ts.map +0 -1
  300. package/dist/elements/forum/categoryFilter/CategoryFilter.d.ts +0 -16
  301. package/dist/elements/forum/categoryFilter/CategoryFilter.d.ts.map +0 -1
  302. package/dist/elements/forum/categoryFilter/index.d.ts +0 -2
  303. package/dist/elements/forum/categoryFilter/index.d.ts.map +0 -1
  304. package/dist/elements/forum/comments/Comment.d.ts +0 -14
  305. package/dist/elements/forum/comments/Comment.d.ts.map +0 -1
  306. package/dist/elements/forum/comments/Comments.d.ts +0 -9
  307. package/dist/elements/forum/comments/Comments.d.ts.map +0 -1
  308. package/dist/elements/forum/comments/ReplyBox.d.ts +0 -11
  309. package/dist/elements/forum/comments/ReplyBox.d.ts.map +0 -1
  310. package/dist/elements/forum/comments/commentUtility.d.ts +0 -25
  311. package/dist/elements/forum/comments/commentUtility.d.ts.map +0 -1
  312. package/dist/elements/forum/comments/index.d.ts +0 -2
  313. package/dist/elements/forum/comments/index.d.ts.map +0 -1
  314. package/dist/elements/forum/createForumPost/CreateForumPost.d.ts +0 -9
  315. package/dist/elements/forum/createForumPost/CreateForumPost.d.ts.map +0 -1
  316. package/dist/elements/forum/createForumPost/CreateForumPostModal.d.ts +0 -87
  317. package/dist/elements/forum/createForumPost/CreateForumPostModal.d.ts.map +0 -1
  318. package/dist/elements/forum/createForumPost/index.d.ts +0 -2
  319. package/dist/elements/forum/createForumPost/index.d.ts.map +0 -1
  320. package/dist/elements/forum/index.d.ts +0 -8
  321. package/dist/elements/forum/index.d.ts.map +0 -1
  322. package/dist/elements/forum/restrictionOverlays/CommentsRestrictionOverlay.d.ts +0 -16
  323. package/dist/elements/forum/restrictionOverlays/CommentsRestrictionOverlay.d.ts.map +0 -1
  324. package/dist/elements/forum/restrictionOverlays/JoinRequestForm.d.ts +0 -14
  325. package/dist/elements/forum/restrictionOverlays/JoinRequestForm.d.ts.map +0 -1
  326. package/dist/elements/forum/restrictionOverlays/PendingRequestState.d.ts +0 -11
  327. package/dist/elements/forum/restrictionOverlays/PendingRequestState.d.ts.map +0 -1
  328. package/dist/elements/forum/restrictionOverlays/PostsRestrictionOverlay.d.ts +0 -16
  329. package/dist/elements/forum/restrictionOverlays/PostsRestrictionOverlay.d.ts.map +0 -1
  330. package/dist/elements/forum/restrictionOverlays/index.d.ts +0 -5
  331. package/dist/elements/forum/restrictionOverlays/index.d.ts.map +0 -1
  332. package/dist/elements/forum/utility/Video.d.ts +0 -16
  333. package/dist/elements/forum/utility/Video.d.ts.map +0 -1
  334. package/dist/elements/forum/utility/index.d.ts +0 -49
  335. package/dist/elements/forum/utility/index.d.ts.map +0 -1
  336. package/dist/elements/index.d.ts +0 -21
  337. package/dist/elements/index.d.ts.map +0 -1
  338. package/dist/elements/popover/index.d.ts +0 -17
  339. package/dist/elements/popover/index.d.ts.map +0 -1
  340. package/dist/hooks/index.d.ts +0 -3
  341. package/dist/hooks/index.d.ts.map +0 -1
  342. package/dist/hooks/useLogin.d.ts +0 -22
  343. package/dist/hooks/useLogin.d.ts.map +0 -1
  344. package/dist/hooks/useStripePayment.d.ts +0 -49
  345. package/dist/hooks/useStripePayment.d.ts.map +0 -1
  346. package/dist/index-BM9B_-Oa.js +0 -56
  347. package/dist/index-Btn2IEPB.js +0 -23
  348. package/dist/index-CjQJ_4Xf.js +0 -29
  349. package/dist/index-D6LjzTKx.js +0 -422
  350. package/dist/index-DvqlCYn2.js +0 -11124
  351. package/dist/index-IcG2wuuE.js +0 -31
  352. package/dist/index-ekxl-RSq.js +0 -43
  353. package/dist/index-qvImrx6Q.js +0 -83
  354. package/dist/index-vtvLeTPv.js +0 -793
  355. package/dist/interfaces/block.d.ts +0 -50
  356. package/dist/interfaces/block.d.ts.map +0 -1
  357. package/dist/interfaces/contentSchema.d.ts +0 -40
  358. package/dist/interfaces/contentSchema.d.ts.map +0 -1
  359. package/dist/interfaces/form.d.ts +0 -33
  360. package/dist/interfaces/form.d.ts.map +0 -1
  361. package/dist/interfaces/index.d.ts +0 -7
  362. package/dist/interfaces/index.d.ts.map +0 -1
  363. package/dist/interfaces/levoBlock.d.ts +0 -285
  364. package/dist/interfaces/levoBlock.d.ts.map +0 -1
  365. package/dist/interfaces/site.d.ts +0 -2
  366. package/dist/interfaces/site.d.ts.map +0 -1
  367. package/dist/interfaces/sites.d.ts +0 -245
  368. package/dist/interfaces/sites.d.ts.map +0 -1
  369. package/dist/interfaces/theme.d.ts +0 -146
  370. package/dist/interfaces/theme.d.ts.map +0 -1
  371. package/dist/pixel/constants/borderRadius.d.ts +0 -73
  372. package/dist/pixel/constants/borderRadius.d.ts.map +0 -1
  373. package/dist/pixel/constants/colorOptions.d.ts +0 -83
  374. package/dist/pixel/constants/colorOptions.d.ts.map +0 -1
  375. package/dist/pixel/constants/fontSizeOptions.d.ts +0 -63
  376. package/dist/pixel/constants/fontSizeOptions.d.ts.map +0 -1
  377. package/dist/pixel/constants/marginOptions.d.ts +0 -183
  378. package/dist/pixel/constants/marginOptions.d.ts.map +0 -1
  379. package/dist/pixel/constants/spaceOptions.d.ts +0 -178
  380. package/dist/pixel/constants/spaceOptions.d.ts.map +0 -1
  381. package/dist/pixel/index.d.ts +0 -4
  382. package/dist/pixel/index.d.ts.map +0 -1
  383. package/dist/pixel/optionsMap.d.ts +0 -17
  384. package/dist/pixel/optionsMap.d.ts.map +0 -1
  385. package/dist/pixel/parserUtil.d.ts +0 -16
  386. package/dist/pixel/parserUtil.d.ts.map +0 -1
  387. package/dist/pixel/propertyMap.d.ts +0 -2
  388. package/dist/pixel/propertyMap.d.ts.map +0 -1
  389. package/dist/providers/AuthProvider.d.ts +0 -29
  390. package/dist/providers/AuthProvider.d.ts.map +0 -1
  391. package/dist/providers/BlockContext.d.ts +0 -19
  392. package/dist/providers/BlockContext.d.ts.map +0 -1
  393. package/dist/providers/LazyMotionProvider.d.ts +0 -15
  394. package/dist/providers/LazyMotionProvider.d.ts.map +0 -1
  395. package/dist/providers/index.d.ts +0 -4
  396. package/dist/providers/index.d.ts.map +0 -1
  397. package/dist/schemas/authSchemas.d.ts +0 -46
  398. package/dist/schemas/authSchemas.d.ts.map +0 -1
  399. package/dist/theme/defaultTheme.d.ts +0 -3
  400. package/dist/theme/defaultTheme.d.ts.map +0 -1
  401. package/dist/utils/blockHelpers.d.ts +0 -5
  402. package/dist/utils/blockHelpers.d.ts.map +0 -1
  403. package/dist/utils/colorUtils.d.ts +0 -66
  404. package/dist/utils/colorUtils.d.ts.map +0 -1
  405. package/dist/utils/findFieldSchema.d.ts +0 -6
  406. package/dist/utils/findFieldSchema.d.ts.map +0 -1
  407. package/dist/utils/getKeysWithValue.d.ts +0 -3
  408. package/dist/utils/getKeysWithValue.d.ts.map +0 -1
  409. package/dist/utils/index.d.ts +0 -5
  410. package/dist/utils/index.d.ts.map +0 -1
  411. package/dist/utils/string.d.ts +0 -7
  412. package/dist/utils/string.d.ts.map +0 -1
  413. package/dist/utils/withBlockPropsUtils.d.ts +0 -107
  414. package/dist/utils/withBlockPropsUtils.d.ts.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,22 +1,2561 @@
1
- export * from './blockSmith';
2
- export * from './bridge';
3
- export * from './components';
4
- export * from './components/backgroundPresets/exports';
5
- export { default as IntegrationFilters } from './components/integrationFilters/IntegrationFilters';
6
- export * from './components/registerModal/RegisterModal';
7
- export * from './constants/animation';
8
- export * from './constants/authentication';
9
- export * from './contentEngine';
10
- export * from './context/ForumContext';
11
- export * from './core';
12
- export * from './elements';
13
- export * from './hooks';
14
- export * from './interfaces';
15
- export * from './pixel/constants/colorOptions';
16
- export * from './pixel/optionsMap';
17
- export * from './pixel/propertyMap';
18
- export * from './providers';
19
- export * from './theme/defaultTheme';
20
- export * from './utils';
21
- export * from './utils/colorUtils';
22
- //# sourceMappingURL=index.d.ts.map
1
+ import { Accordion } from 'radix-ui';
2
+ import { Avatar as Avatar_2 } from 'radix-ui';
3
+ import { ComponentType } from 'react';
4
+ import { DayPicker } from 'react-day-picker';
5
+ import { default as default_2 } from 'react';
6
+ import { default as default_3 } from 'embla-carousel-react';
7
+ import { FormVariantType } from '@levo-so/react-collection';
8
+ import { ForwardRefExoticComponent } from 'react';
9
+ import { IComment } from '@levo-so/core';
10
+ import { IContactInfo } from '@levo-so/core';
11
+ import { IFaviconMediaObject } from '@levo-so/core';
12
+ import { IField } from '@levo-so/core';
13
+ import { IForum } from '@levo-so/core';
14
+ import { IForumJoinRequest } from '@levo-so/core';
15
+ import { IForumPost } from '@levo-so/core';
16
+ import { ILemaCollection } from '@levo-so/core';
17
+ import { ILevoClient } from '@levo-so/core';
18
+ import { ILevoFormContext } from '@levo-so/react-collection';
19
+ import { ILevoMembership } from '@levo-so/core';
20
+ import { IMedia } from '@levo-so/core';
21
+ import { IMediaObject } from '@levo-so/core';
22
+ import { IMeta } from '@levo-so/core';
23
+ import { IResponseMultiple } from '@levo-so/core';
24
+ import { IResponseSingle } from '@levo-so/core';
25
+ import { IWorkspace } from '@levo-so/core';
26
+ import { JSX } from 'react/jsx-runtime';
27
+ import { LazyExoticComponent } from 'react';
28
+ import { LevoError } from '@levo-so/core';
29
+ import { LevoQuery } from '@levo-so/core';
30
+ import { MotionProps } from 'motion/react';
31
+ import { Popover } from 'radix-ui';
32
+ import * as React_2 from 'react';
33
+ import { ReactElement } from 'react';
34
+ import { ReactNode } from 'react';
35
+ import { RefAttributes } from 'react';
36
+ import { Stripe } from '@stripe/stripe-js';
37
+ import { Tabs } from 'radix-ui';
38
+ import { Tooltip as Tooltip_2 } from 'radix-ui';
39
+ import { UseEmblaCarouselType } from 'embla-carousel-react';
40
+
41
+ export declare const AccordionContent: WithBlockPropsComponent<BaseAccordionContentProps>;
42
+
43
+ export declare const AccordionItem: WithBlockPropsComponent<BaseAccordionItemProps>;
44
+
45
+ export declare const AccordionRoot: WithBlockPropsComponent<BaseAccordionRootProps & {
46
+ collapsible?: boolean;
47
+ }>;
48
+
49
+ export declare const AccordionTrigger: WithBlockPropsComponent<BaseAccordionTriggerProps>;
50
+
51
+ /**
52
+ * Alternate method values for quick checking
53
+ */
54
+ export declare const ALTERNATE_METHOD_VALUES: ("linkedin" | "google" | "oauth" | "microsoft" | "otp" | "whatsapp" | "magiclink" | "password")[];
55
+
56
+ /**
57
+ * Alternate authentication methods (OAuth providers)
58
+ */
59
+ export declare const ALTERNATIVE_AUTH_METHODS: IAuthenticationOption[];
60
+
61
+ /** Animation configuration interface */
62
+ export declare interface AnimationConfig {
63
+ entry?: EntryAnimationConfig;
64
+ exit?: MutableDeep<MotionProps["exit"]>;
65
+ whileHover?: AnimationProperties & {
66
+ transition?: TransitionConfig;
67
+ };
68
+ scroll?: ScrollAnimationConfig;
69
+ }
70
+
71
+ /** Animation transform properties */
72
+ export declare interface AnimationProperties {
73
+ opacity?: number;
74
+ scale?: number;
75
+ rotate?: number;
76
+ rotateX?: number;
77
+ rotateY?: number;
78
+ x?: number;
79
+ y?: number;
80
+ skewX?: number;
81
+ skewY?: number;
82
+ }
83
+
84
+ declare type AuthenticationMethod = (typeof IMembershipAuthenticationMethods)[number];
85
+
86
+ /**
87
+ * All available authentication options
88
+ */
89
+ export declare const AuthenticationOptions: IAuthenticationOption[];
90
+
91
+ export declare const AuthProvider: React.FC<{
92
+ children: React.ReactNode;
93
+ workspace: IWorkspace | null;
94
+ authOverride?: IAuthOverride | null;
95
+ }>;
96
+
97
+ export declare function Avatar({ className, ...props }: React_2.ComponentProps<typeof Avatar_2.Root>): JSX.Element;
98
+
99
+ export declare function AvatarFallback({ className, isActive, ...props }: React_2.ComponentProps<typeof Avatar_2.Fallback> & {
100
+ isActive?: boolean;
101
+ }): JSX.Element;
102
+
103
+ export declare function AvatarFallbackV2({ className, ...props }: React_2.ComponentProps<typeof Avatar_2.Fallback>): JSX.Element;
104
+
105
+ export declare function AvatarImage({ className, isActive, ...props }: React_2.ComponentProps<typeof Avatar_2.Image> & {
106
+ isActive?: boolean;
107
+ }): JSX.Element;
108
+
109
+ export declare function AvatarImageV2({ className, ...props }: React_2.ComponentProps<typeof Avatar_2.Image>): JSX.Element;
110
+
111
+ export declare interface BackgroundEffectConfig {
112
+ type: "beams" | "dots" | "grid" | "gradient" | "waves";
113
+ colors?: {
114
+ primary?: string;
115
+ secondary?: string;
116
+ accent?: string;
117
+ };
118
+ settings?: {
119
+ size?: number;
120
+ spacing?: number;
121
+ direction?: string;
122
+ opacity?: number;
123
+ amplitude?: number;
124
+ frequency?: number;
125
+ speed?: number;
126
+ isInteractive?: boolean;
127
+ rows?: number;
128
+ cols?: number;
129
+ gridSize?: number;
130
+ hoverColor?: string;
131
+ lineWidth?: number;
132
+ };
133
+ }
134
+
135
+ export declare const BackgroundEffects: default_2.FC<BackgroundEffectsProps>;
136
+
137
+ declare interface BackgroundEffectsProps {
138
+ config?: BackgroundEffectConfig;
139
+ presetId?: string;
140
+ }
141
+
142
+ export declare interface BackgroundPreset {
143
+ id: string;
144
+ name: string;
145
+ description?: string;
146
+ category: "minimal" | "dynamic" | "interactive" | "custom";
147
+ effect: BackgroundEffectConfig;
148
+ thumbnail?: string;
149
+ }
150
+
151
+ declare interface BaseAccordionContentProps extends BaseElementProps, Omit<React_2.ComponentPropsWithoutRef<typeof Accordion.Content>, "content"> {
152
+ }
153
+
154
+ declare interface BaseAccordionItemProps extends BaseElementProps, Omit<React_2.ComponentPropsWithoutRef<typeof Accordion.Item>, "content"> {
155
+ }
156
+
157
+ declare interface BaseAccordionRootProps extends BaseElementProps, Omit<TypeAccordionComponentProps, "content"> {
158
+ }
159
+
160
+ declare interface BaseAccordionTriggerProps extends BaseElementProps, Omit<React_2.ComponentPropsWithoutRef<typeof Accordion.Trigger>, "content"> {
161
+ }
162
+
163
+ export declare const BaseBlogContent: {
164
+ ({ className, content, config, styles, elementKey, generatedClassName, ref, ...rest }: BaseBlogContentProps): JSX.Element | null;
165
+ displayName: string;
166
+ };
167
+
168
+ export declare interface BaseBlogContentProps extends BaseElementProps, Omit<default_2.HTMLAttributes<HTMLDivElement>, "content"> {
169
+ ref?: default_2.Ref<HTMLDivElement>;
170
+ }
171
+
172
+ declare interface BaseBoxProps extends BaseElementProps, Omit<default_2.HTMLAttributes<HTMLDivElement>, "content"> {
173
+ }
174
+
175
+ export declare const BaseButton: React_2.ForwardRefExoticComponent<BaseButtonProps & React_2.RefAttributes<HTMLButtonElement>>;
176
+
177
+ export declare interface BaseButtonProps extends React_2.ButtonHTMLAttributes<HTMLButtonElement>, Omit<BaseElementProps, "content"> {
178
+ loadingText?: string;
179
+ isLoading?: boolean;
180
+ }
181
+
182
+ export declare const BaseContainer: ForwardRefExoticComponent<BaseContainerProps & RefAttributes<HTMLDivElement>>;
183
+
184
+ declare interface BaseContainerProps extends BaseElementProps, Omit<React.HTMLAttributes<HTMLDivElement>, "content"> {
185
+ }
186
+
187
+ /**
188
+ * Base props interface for all studio elements
189
+ *
190
+ * These props are automatically injected by the withBlockProps HOC
191
+ * and provide access to element configuration, styling, and content
192
+ */
193
+ declare interface BaseElementProps {
194
+ elementKey: string;
195
+ styles?: IStyles;
196
+ config?: IFieldConfig;
197
+ content?: any;
198
+ generatedClassName?: string;
199
+ }
200
+
201
+ export declare const BaseHeading: ForwardRefExoticComponent<BaseHeadingProps & RefAttributes<HTMLHeadingElement>>;
202
+
203
+ declare interface BaseHeadingProps extends BaseElementProps, Omit<React.HTMLAttributes<HTMLHeadingElement>, "content"> {
204
+ }
205
+
206
+ declare type BaseIconProps = IconProps & HTMLElementProps & {
207
+ noElementKey?: boolean;
208
+ };
209
+
210
+ declare interface BaseIframeProps extends BaseElementProps, Omit<default_2.HTMLAttributes<HTMLDivElement>, "content"> {
211
+ }
212
+
213
+ declare type BaseImageProps = ImageProps & HTMLImageProps;
214
+
215
+ declare interface BaseLinkProps extends BaseElementProps, Omit<React.HTMLAttributes<HTMLAnchorElement>, "content"> {
216
+ }
217
+
218
+ declare interface BaseMediaProps extends BaseElementProps {
219
+ alt: string;
220
+ media?: MediaContent_2;
221
+ }
222
+
223
+ declare interface BasePopoverContentProps extends BaseElementProps, Omit<TypePopoverContentComponentProps, "content"> {
224
+ }
225
+
226
+ declare interface BasePopoverTriggerProps extends BaseElementProps, Omit<TypePopoverTriggerComponentProps, "content"> {
227
+ }
228
+
229
+ export declare const BaseSection: default_2.ForwardRefExoticComponent<BaseSectionProps & default_2.RefAttributes<HTMLElement>>;
230
+
231
+ declare interface BaseSectionProps extends BaseElementProps, Omit<default_2.HTMLAttributes<HTMLElement>, "content"> {
232
+ }
233
+
234
+ declare interface BaseTabsContentProps extends BaseElementProps, Omit<TypeTabsContentComponentProps, "content"> {
235
+ ref?: React_2.Ref<React_2.ElementRef<typeof Tabs.Content>>;
236
+ }
237
+
238
+ declare interface BaseTabsListProps extends BaseElementProps, Omit<TypeTabsListComponentProps, "content"> {
239
+ ref?: React_2.Ref<React_2.ElementRef<typeof Tabs.List>>;
240
+ }
241
+
242
+ declare interface BaseTabsTriggerProps extends BaseElementProps, Omit<TypeTabsTriggerComponentProps, "content"> {
243
+ ref?: React_2.Ref<React_2.ElementRef<typeof Tabs.Trigger>>;
244
+ }
245
+
246
+ export declare const BaseTypography: default_2.ForwardRefExoticComponent<BaseTypographyProps & default_2.RefAttributes<HTMLDivElement>>;
247
+
248
+ export declare interface BaseTypographyProps extends BaseElementProps, Omit<default_2.HTMLAttributes<HTMLDivElement>, "content"> {
249
+ }
250
+
251
+ export declare const BaseUserMenu: React_2.FC<BaseUserMenuProps>;
252
+
253
+ export declare interface BaseUserMenuProps extends React_2.HTMLAttributes<HTMLDivElement>, Omit<BaseElementProps, "content"> {
254
+ }
255
+
256
+ declare type BlockChildren = ReactNode;
257
+
258
+ export declare type BlockComponent = ComponentType<ILevoBlockBaseProps<any>> | LazyExoticComponent<ComponentType<ILevoBlockBaseProps<any>>>;
259
+
260
+ declare type BlockContextType = {
261
+ parsedBlockData?: IBlockInstance;
262
+ setParsedBlockData?: React.Dispatch<React.SetStateAction<IBlockInstance | undefined>>;
263
+ blockData?: IBlockInstance;
264
+ pageContext?: IPageContext;
265
+ blockContext?: IBlockContext;
266
+ isBuilder?: boolean;
267
+ workspace_id: string;
268
+ pageSource: IPage["source"];
269
+ };
270
+
271
+ export declare const BlockProvider: React.FC<{
272
+ children: React.ReactNode;
273
+ value: BlockContextType;
274
+ }>;
275
+
276
+ export declare const BlockSourceModuleList: readonly ["collection", "event", "blog", "community", "context", "form"];
277
+
278
+ export declare class BlocksRegistry {
279
+ private static instance;
280
+ private blocks;
281
+ private categories;
282
+ private constructor();
283
+ static getInstance(): BlocksRegistry;
284
+ registerBlocks(blocks: IBlock[]): void;
285
+ registerCategories(categories: IBlockCategory[]): void;
286
+ registerBlockToStudio(block: IBlock): void;
287
+ registerBlocksToStudio(blocks: IBlock[]): void;
288
+ registerCategoriesToStudio(categories: IBlockCategory[]): void;
289
+ private setupExternalBlockListener;
290
+ getBlocksFromCategory(category: string): IBlock[];
291
+ getSingleBlock(key: string, version?: string): IBlock | null;
292
+ getCategories(): IBlockCategory[];
293
+ getAllBlocks(): IBlock[];
294
+ }
295
+
296
+ export declare const blocksRegistry: BlocksRegistry;
297
+
298
+ export declare interface BlockTemplateOptions {
299
+ contentSkeleton: any;
300
+ blockFetchedContent: Record<string, any>;
301
+ blockSource?: IStudioSource;
302
+ pageContext?: Record<string, any>;
303
+ }
304
+
305
+ export declare const BlogContent: WithBlockPropsComponent<BaseBlogContentProps>;
306
+
307
+ /**
308
+ * BookingConfirmation
309
+ *
310
+ * Displays confirmation after successful booking:
311
+ * - Success icon and message
312
+ * - Booking ID
313
+ * - Booking details (name, dates, amount)
314
+ * - Close button
315
+ */
316
+ export declare const BookingConfirmation: default_2.FC<IBookingConfirmationProps>;
317
+
318
+ /**
319
+ * BookingModal
320
+ *
321
+ * Multi-step modal for booking payment flow:
322
+ * 1. Loading: Creates booking from content
323
+ * 2. Summary: Shows booking details and "Pay Now" button
324
+ * 3. Confirmation: Shows success message after payment
325
+ *
326
+ * For free bookings (unit_amount = 0), skips payment and goes directly to confirmation.
327
+ */
328
+ export declare const BookingModal: ({ isOpen, onClose, contentId, collectionKey }: BookingModalProps) => JSX.Element | null;
329
+
330
+ export declare interface BookingModalProps {
331
+ isOpen: boolean;
332
+ onClose: () => void;
333
+ contentId: string;
334
+ collectionKey: string;
335
+ }
336
+
337
+ /**
338
+ * BookingSummary
339
+ *
340
+ * Displays booking details before payment:
341
+ * - Cover image (if available)
342
+ * - Instance label (booking name)
343
+ * - Date/time (if available)
344
+ * - Quantity and pricing
345
+ * - Pay Now button
346
+ */
347
+ export declare const BookingSummary: default_2.FC<IBookingSummaryProps>;
348
+
349
+ export declare const Box: WithBlockPropsComponent<BaseBoxProps & default_2.RefAttributes<HTMLDivElement>>;
350
+
351
+ /**
352
+ * Built-in background effect presets organized by category
353
+ */
354
+ export declare const BUILT_IN_PRESETS: BackgroundPreset[];
355
+
356
+ export declare const Button: WithBlockPropsComponent<BaseButtonProps & React_2.RefAttributes<HTMLButtonElement>>;
357
+
358
+ export declare const Calendar: ({ className, classNames, showOutsideDays, captionLayout, formatters, components, ...props }: CalendarProps) => JSX.Element;
359
+
360
+ export declare type CalendarProps = React_2.ComponentProps<typeof DayPicker>;
361
+
362
+ export declare const Carousel: WithBlockPropsComponent<default_2.HTMLAttributes<HTMLDivElement> & CarouselProps & default_2.RefAttributes<HTMLDivElement>>;
363
+
364
+ export declare type CarouselApi = UseEmblaCarouselType[1];
365
+
366
+ export declare const CarouselContent: default_2.ForwardRefExoticComponent<default_2.HTMLAttributes<HTMLDivElement> & default_2.RefAttributes<HTMLDivElement>>;
367
+
368
+ export declare const CarouselDotButton: default_2.ForwardRefExoticComponent<Omit<default_2.DetailedHTMLProps<default_2.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & default_2.RefAttributes<HTMLButtonElement>>;
369
+
370
+ export declare const CarouselDots: default_2.ForwardRefExoticComponent<default_2.HTMLAttributes<HTMLDivElement> & default_2.RefAttributes<HTMLDivElement>>;
371
+
372
+ export declare const CarouselItem: default_2.ForwardRefExoticComponent<default_2.HTMLAttributes<HTMLDivElement> & default_2.RefAttributes<HTMLDivElement>>;
373
+
374
+ export declare const CarouselNext: default_2.ForwardRefExoticComponent<BaseButtonProps & default_2.RefAttributes<HTMLButtonElement>>;
375
+
376
+ declare type CarouselOptions = UseCarouselParameters[0];
377
+
378
+ export declare const CarouselPrevious: default_2.ForwardRefExoticComponent<BaseButtonProps & default_2.RefAttributes<HTMLButtonElement>>;
379
+
380
+ declare interface CarouselProps extends BaseElementProps {
381
+ opts?: CarouselOptions;
382
+ orientation?: "horizontal" | "vertical";
383
+ setApi?: (api: CarouselApi) => void;
384
+ }
385
+
386
+ /**
387
+ * CategoryFilter displays a list of selectable category pills for filtering forum posts.
388
+ * Fetches categories from the API and renders them as toggleable buttons.
389
+ */
390
+ export declare const CategoryFilter: React.FC<ICategoryFilterProps>;
391
+
392
+ export declare const colorOptions: {
393
+ readonly brand: {
394
+ readonly label: "Brand";
395
+ readonly value: "brand";
396
+ readonly css: "var(--color-brand)";
397
+ };
398
+ readonly brandForeground: {
399
+ readonly label: "Brand Foreground";
400
+ readonly value: "brandForeground";
401
+ readonly css: "var(--color-brand-foreground)";
402
+ };
403
+ readonly brandSecondary: {
404
+ readonly label: "Brand Secondary";
405
+ readonly value: "brandSecondary";
406
+ readonly css: "var(--color-brand-secondary)";
407
+ };
408
+ readonly brandSecondaryForeground: {
409
+ readonly label: "Brand Secondary Foreground";
410
+ readonly value: "brandSecondaryForeground";
411
+ readonly css: "var(--color-brand-secondary-foreground)";
412
+ };
413
+ readonly "text-1": {
414
+ readonly label: "Text 1";
415
+ readonly value: "text-1";
416
+ readonly css: "var(--color-text-1)";
417
+ };
418
+ readonly "text-2": {
419
+ readonly label: "Text 2";
420
+ readonly value: "text-2";
421
+ readonly css: "var(--color-text-2)";
422
+ };
423
+ readonly "text-3": {
424
+ readonly label: "Text 3";
425
+ readonly value: "text-3";
426
+ readonly css: "var(--color-text-3)";
427
+ };
428
+ readonly border: {
429
+ readonly label: "Border";
430
+ readonly value: "border";
431
+ readonly css: "var(--color-border)";
432
+ };
433
+ readonly "background-1": {
434
+ readonly label: "Background 1";
435
+ readonly value: "background-1";
436
+ readonly css: "var(--color-background-1)";
437
+ };
438
+ readonly "background-2": {
439
+ readonly label: "Background 2";
440
+ readonly value: "background-2";
441
+ readonly css: "var(--color-background-2)";
442
+ };
443
+ readonly "background-3": {
444
+ readonly label: "Background 3";
445
+ readonly value: "background-3";
446
+ readonly css: "var(--color-background-3)";
447
+ };
448
+ readonly page: {
449
+ readonly label: "Page";
450
+ readonly value: "page";
451
+ readonly css: "var(--color-page)";
452
+ };
453
+ readonly black: {
454
+ readonly label: "Black";
455
+ readonly value: "black";
456
+ readonly css: "#000000";
457
+ };
458
+ readonly white: {
459
+ readonly label: "White";
460
+ readonly value: "white";
461
+ readonly css: "#FFFFFF";
462
+ };
463
+ readonly "icon-primary": {
464
+ readonly label: "Icon Primary";
465
+ readonly value: "icon-primary";
466
+ readonly css: "var(--color-icon-primary)";
467
+ };
468
+ readonly "icon-secondary": {
469
+ readonly label: "Icon Secondary";
470
+ readonly value: "icon-secondary";
471
+ readonly css: "var(--color-icon-secondary)";
472
+ };
473
+ };
474
+
475
+ export declare const Comments: default_2.FC<{
476
+ forumKey: string;
477
+ post: IForumPost;
478
+ onCommentCountChange?: (delta: number) => void;
479
+ }>;
480
+
481
+ /**
482
+ * Absolutely positioned overlay shown over comments section
483
+ * when non-member cannot view comments in invite-only community
484
+ */
485
+ export declare const CommentsRestrictionOverlay: default_2.FC<ICommentsRestrictionOverlayProps>;
486
+
487
+ export declare const CommentStatusBadge: default_2.FC<{
488
+ comment: IComment;
489
+ }>;
490
+
491
+ export declare const Container: WithBlockPropsComponent<BaseContainerProps & RefAttributes<HTMLDivElement>>;
492
+
493
+ export declare type ContentHint = {
494
+ min_characters?: number;
495
+ min_words?: number;
496
+ max_characters?: number;
497
+ max_words?: number;
498
+ usecase?: ContentUsecase;
499
+ };
500
+
501
+ export declare 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";
502
+
503
+ export declare const convertKeysToPascalCase: (key: string) => string;
504
+
505
+ export declare const CreateForumPost: default_2.FC<ICreateForumPostProps>;
506
+
507
+ declare type CSSOption = {
508
+ label: string;
509
+ value: string;
510
+ css?: string;
511
+ };
512
+
513
+ export declare const cssOptionsMap: Partial<Record<CSSStyleKeys, {
514
+ options: CSSOptionsRecord;
515
+ parser?: (value: any) => ParseResult;
516
+ }>>;
517
+
518
+ export declare type CSSOptionsRecord = Record<string, CSSOption>;
519
+
520
+ export declare type CSSStyleKeys = "font-size" | "font-weight" | "text-align" | "text-decoration" | "text-transform" | "line-height" | "letter-spacing" | "color" | "display" | "flex-direction" | "justify-content" | "align-items" | "column-gap" | "row-gap" | "gap" | "grid-template-columns" | "grid-template-rows" | "width" | "min-width" | "max-width" | "height" | "filter" | "min-height" | "max-height" | "object-fit" | "border-radius" | "border-style" | "border-width" | "border-top-width" | "border-right-width" | "border-bottom-width" | "border-left-width" | "border-color" | "background-color" | "background-size" | "background-position" | "box-shadow" | "padding" | "padding-top" | "padding-bottom" | "padding-left" | "padding-right" | "margin" | "margin-top" | "margin-bottom" | "margin-left" | "margin-right" | "opacity" | "font" | "background-image" | "overflow" | "overflow-x" | "overflow-y" | "-webkit-line-clamp" | "-webkit-box-orient" | "font-family" | "number_of_slides" | "background_video_overlay_color" | "background_video_position";
521
+
522
+ export declare const DATA_ATTRIBUTES: {
523
+ readonly BLOCK: "data-levo-block-id";
524
+ readonly ELEMENT: "data-levo_element_key";
525
+ readonly ITEM: "data-levo_group_item";
526
+ readonly GROUP: "data-levo_group";
527
+ };
528
+
529
+ declare type DeepConfig<T> = T extends Array<infer U> ? IFieldConfig & {
530
+ [index: number]: DeepConfig<U>;
531
+ } : T extends object ? IFieldConfig & {
532
+ [K in keyof T]: DeepConfig<T[K]>;
533
+ } & {
534
+ [x: string]: IFieldConfig;
535
+ } : IFieldConfig;
536
+
537
+ declare type DeepStyles<T> = T extends Array<infer U> ? IStyles & {
538
+ [index: number]: DeepStyles<U>;
539
+ } : T extends object ? {
540
+ [K in keyof T]: DeepStyles<T[K]>;
541
+ } : IStyles;
542
+
543
+ /** Default "from" state for entry/scroll animations */
544
+ export declare const DEFAULT_FROM_STATE: AnimationProperties;
545
+
546
+ export declare const DEFAULT_THEME: ITheme;
547
+
548
+ /** Default transition config */
549
+ export declare const DEFAULT_TRANSITION: TransitionConfig;
550
+
551
+ /** Default viewport config for entry animations */
552
+ export declare const DEFAULT_VIEWPORT: ViewportConfig;
553
+
554
+ /** Default visible state - target for all animations */
555
+ export declare const DEFAULT_VISIBLE_STATE: AnimationProperties;
556
+
557
+ export declare const DEMO_SCHEMA: ILemaCollection;
558
+
559
+ export declare const EditForm: WithBlockPropsComponent<BaseElementProps & {
560
+ className?: string;
561
+ initialValues?: Record<string, any>;
562
+ theme?: ILevoFormContext["theme"];
563
+ onSubmit?: (values: any) => void;
564
+ isLoading?: boolean;
565
+ }>;
566
+
567
+ /** Entry animation configuration with from/to states */
568
+ export declare interface EntryAnimationConfig {
569
+ from?: AnimationProperties;
570
+ to?: AnimationProperties;
571
+ transition?: TransitionConfig;
572
+ viewport?: ViewportConfig;
573
+ }
574
+
575
+ /**
576
+ * Extended props interface for useCommonProps return type
577
+ */
578
+ export declare type ExtendedProps<P extends Record<string, unknown>> = P & {
579
+ elementKey: string;
580
+ config: unknown;
581
+ styles: unknown;
582
+ content: unknown;
583
+ generatedClassName: string;
584
+ };
585
+
586
+ export declare const fetchCollectionSchema: ({ levoClient, source, cookies, draft, }: {
587
+ levoClient: ILevoClient;
588
+ source: {
589
+ workspace_id: string;
590
+ collection_id: string;
591
+ };
592
+ cookies?: string;
593
+ draft?: boolean;
594
+ }) => Promise<{
595
+ content: {
596
+ data: ILemaCollection | null;
597
+ };
598
+ }>;
599
+
600
+ export declare const fetchSource: ({ levoClient, source, workspace_id, slugs, params, cookies, draft, }: SourceFetchOptions) => Promise<IResponseMultiple | IResponseSingle | null>;
601
+
602
+ /**
603
+ * Recursively searches content_schema for a field with matching key
604
+ */
605
+ export declare const findFieldSchema: (contentSchema: IStudioWidget[] | undefined, fieldKey: string | undefined) => IStudioWidget | undefined;
606
+
607
+ export declare const Form: WithBlockPropsComponent<BaseElementProps & {
608
+ className?: string;
609
+ initialValues?: Record<string, any>;
610
+ theme?: ILevoFormContext["theme"];
611
+ }>;
612
+
613
+ export declare const FormInput: React_2.ForwardRefExoticComponent<IInputProps & React_2.RefAttributes<HTMLInputElement>>;
614
+
615
+ export declare const FormTextarea: React_2.ForwardRefExoticComponent<ITextareaProps & React_2.RefAttributes<HTMLTextAreaElement>>;
616
+
617
+ export declare const ForumPost: default_2.FC<{
618
+ post: IForumPost;
619
+ postDetailPageURLPattern?: string | null;
620
+ postListingPageURL?: string | null;
621
+ isRenderedSolo?: boolean;
622
+ actionsLoadingState?: IPostActionsLoadingState;
623
+ forumKey?: string;
624
+ wrapperStyles?: string;
625
+ }>;
626
+
627
+ /**
628
+ * Forum provider
629
+ */
630
+ export declare const ForumProvider: default_2.FC<{
631
+ children: default_2.ReactNode;
632
+ forum: IForum | null;
633
+ isMember: boolean;
634
+ isLoadingMembership: boolean;
635
+ isInviteOnly: boolean;
636
+ canInteractWithPosts: boolean;
637
+ canInteractWithComments: boolean;
638
+ joinRequest?: IForumJoinRequest | null;
639
+ isJoinRequestPending?: boolean;
640
+ allowJoinRequests?: boolean;
641
+ submitJoinRequest?: (message?: string) => Promise<boolean>;
642
+ refreshMembershipStatus?: () => Promise<void>;
643
+ }>;
644
+
645
+ export declare const generateAccentColor: (oklch: OKLCHColor) => {
646
+ oklch: OKLCHColor;
647
+ hex: string;
648
+ };
649
+
650
+ export declare const generateDefaultContent: (contentSchema: any[]) => any;
651
+
652
+ export declare const generateSchemaFromJSX: (jsx: string) => IBlock["content_schema"];
653
+
654
+ /**
655
+ * Component Theme and Variant Style Generation
656
+ *
657
+ * This is the core function that transforms the component theme system into CSS.
658
+ * It generates styles for both default component styling and theme variants.
659
+ *
660
+ * CSS Selectors Generated:
661
+ * 1. [data-levo_element_type='ComponentName'] - Component default styles
662
+ * 2. .levo-variant-{groupId}-{variantId} - Theme variant styles
663
+ *
664
+ * Style Hierarchy:
665
+ * - Component defaults apply to all instances of that component type
666
+ * - Variant classes override defaults when selected via ThemeVariantSelector
667
+ * - Block-specific styles (from generateBlockStyles) have highest specificity
668
+ *
669
+ * Integration Points:
670
+ * - withBlockProps HOC generates the variant classes on elements
671
+ * - ThemeVariantSelector allows users to select variants in widget config
672
+ * - VariantGroupManager provides the theme editor interface
673
+ *
674
+ * @param theme - Complete theme configuration with component definitions
675
+ * @returns CSS string with component and variant selectors
676
+ */
677
+ export declare const generateThemeStyles: (theme?: ITheme, device?: IPreviewDevice) => string;
678
+
679
+ /**
680
+ * CSS Custom Properties Generation
681
+ *
682
+ * Converts primitive theme values (colors, fonts, sizes) into CSS custom
683
+ * properties that can be used throughout the application. These variables
684
+ * provide a foundation for consistent styling and easy theme switching.
685
+ *
686
+ * Generated variables are available as:
687
+ * - var(--color-brand) for theme colors
688
+ * - var(--font-heading) for theme fonts
689
+ * - var(--base-spacing) for theme sizes
690
+ * - var(--color-custom-{name}) for custom colors
691
+ *
692
+ * @param theme - Theme configuration object
693
+ * @returns Object mapping CSS property names to values
694
+ */
695
+ export declare const generateThemeVariables: (theme: ITheme) => {
696
+ "--color-brand": string;
697
+ "--color-brand-foreground": string;
698
+ "--color-brand-secondary": string;
699
+ "--color-brand-secondary-foreground": string;
700
+ "--color-text-1": string;
701
+ "--color-text-2": string;
702
+ "--color-text-3": string;
703
+ "--color-page": string;
704
+ "--color-border": string;
705
+ "--color-background-1": string;
706
+ "--color-background-2": string;
707
+ "--color-background-3": string;
708
+ "--color-icon-primary": string;
709
+ "--color-icon-secondary": string;
710
+ "--font-heading": string;
711
+ "--font-body": string;
712
+ "--base-radius": string;
713
+ "--base-spacing": string;
714
+ "--base-font-size": string;
715
+ "--default-shadow": string;
716
+ };
717
+
718
+ /**
719
+ * Generates variant CSS classes from selected variants configuration
720
+ *
721
+ * @param configValue - The field configuration containing selectedVariants
722
+ * @returns Array of variant class names
723
+ */
724
+ export declare const generateVariantClasses: (configValue: IFieldConfig | undefined) => string[];
725
+
726
+ /**
727
+ * Get all available preset categories
728
+ */
729
+ export declare function getAvailableCategories(): Array<BackgroundPreset["category"]>;
730
+
731
+ /**
732
+ * Get the effect configuration from a preset ID
733
+ * This is the main mapping function from preset ID to effect config
734
+ */
735
+ export declare const getEffectConfigFromPresetId: (presetId: string) => BackgroundEffectConfig | null;
736
+
737
+ export declare const getInitialPageContent: ({ levoClient, pageData, site, querySlugs, urlSlugs, minifyResponse, cookies, draft, }: {
738
+ levoClient: ILevoClient;
739
+ pageData: IPageExpanded;
740
+ site: ISite;
741
+ querySlugs: Record<string, string>;
742
+ urlSlugs: string[];
743
+ minifyResponse?: boolean;
744
+ cookies?: string;
745
+ draft?: boolean;
746
+ }) => Promise<{
747
+ parsedPageData: ILevoPageData;
748
+ transformedPageData: ILevoPageData;
749
+ context?: IPageDataContext;
750
+ notFound: boolean;
751
+ headCode: string;
752
+ }>;
753
+
754
+ /**
755
+ * Utility function to safely access nested object properties
756
+ *
757
+ * Handles dot-notation paths and array indices to extract values
758
+ * from deeply nested block data structures
759
+ *
760
+ * @param obj - The object to traverse
761
+ * @param path - Dot-notation path to the desired property
762
+ * @returns The value at the specified path or undefined if not found
763
+ *
764
+ * @example
765
+ * getNestedValue({ user: { profile: { name: 'John' } } }, 'user.profile.name') // 'John'
766
+ * getNestedValue({ items: [{ id: 1 }, { id: 2 }] }, 'items.0.id') // 1
767
+ */
768
+ export declare const getNestedValue: <P = unknown>(obj: Record<string, unknown>, path: string) => P | undefined;
769
+
770
+ export declare const getPageData: ({ levoClient, workspace, url, draft, visitorParams, cookies, }: {
771
+ levoClient: ILevoClient;
772
+ workspace: string;
773
+ url: string;
774
+ draft?: boolean;
775
+ visitorParams?: Record<string, unknown>;
776
+ cookies?: string;
777
+ }) => Promise<IPageFromPath | null>;
778
+
779
+ export declare const getPageSource: ({ levoClient, pageData, slugs, cookies, draft, }: {
780
+ levoClient: ILevoClient;
781
+ pageData: IPageExpanded;
782
+ slugs: Record<string, string>;
783
+ cookies?: string;
784
+ draft?: boolean;
785
+ }) => Promise<{
786
+ pageContext: IPageContext;
787
+ pageNotFound: boolean;
788
+ }>;
789
+
790
+ /**
791
+ * Get presets by category
792
+ */
793
+ export declare function getPresetsByCategory(category: BackgroundPreset["category"]): BackgroundPreset[];
794
+
795
+ /**
796
+ * Calculate WCAG 2.0 contrast ratio between two OKLCH colors
797
+ * Returns a number where higher values indicate better contrast
798
+ * WCAG AA requires 4.5:1 for normal text, 3:1 for large text
799
+ * WCAG AAA requires 7:1 for normal text, 4.5:1 for large text
800
+ */
801
+ export declare const getWcagContrast: (foreground: OKLCHColor, background: OKLCHColor) => number;
802
+
803
+ export declare const GlobalSearch: React.FC<IGlobalSearchProps>;
804
+
805
+ export declare type GroupHint = {
806
+ min_items?: number;
807
+ max_items?: number;
808
+ };
809
+
810
+ export declare const Heading: WithBlockPropsComponent<BaseHeadingProps & RefAttributes<HTMLHeadingElement>>;
811
+
812
+ /**
813
+ * Convert hex color string to OKLCH object format
814
+ * Returns default black color for invalid input
815
+ */
816
+ export declare const hexToOKLCH: (hexColor: string) => OKLCHColor;
817
+
818
+ export declare interface HighlightRect {
819
+ top: number;
820
+ left: number;
821
+ width: number;
822
+ height: number;
823
+ }
824
+
825
+ declare type HTMLElementProps = Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, keyof BaseElementProps>;
826
+
827
+ declare type HTMLImageProps = Omit<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, "src" | "alt" | keyof BaseElementProps>;
828
+
829
+ declare type HTMLImageProps_2 = Omit<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, "src" | "alt" | keyof BaseElementProps>;
830
+
831
+ declare type HTMLVideoProps = Omit<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "src" | keyof BaseElementProps>;
832
+
833
+ declare interface IAuthActions {
834
+ setAuthState: (updates: Partial<IAuthState>) => void;
835
+ resetAuth: () => void;
836
+ }
837
+
838
+ /**
839
+ * Authentication method configuration object
840
+ */
841
+ export declare interface IAuthenticationOption {
842
+ label: string;
843
+ value: AuthenticationMethod;
844
+ category: "primary" | "alternate";
845
+ [x: string]: unknown;
846
+ }
847
+
848
+ export declare interface IAuthOverride {
849
+ enabled: boolean;
850
+ isLoggedIn: boolean;
851
+ selectedAccount?: ILevoMembership.Account | null;
852
+ }
853
+
854
+ declare interface IAuthProviderInterface extends IAuthState, IAuthActions {
855
+ }
856
+
857
+ declare interface IAuthState {
858
+ isLoggedIn: boolean;
859
+ account: ILevoMembership.Account | null;
860
+ workspace: IWorkspace | null;
861
+ isAuthLoaded: boolean;
862
+ isAuthLoading: boolean;
863
+ isSignOutLoading: boolean;
864
+ isVerifying: boolean;
865
+ }
866
+
867
+ declare interface IBaseInputProps {
868
+ name: string;
869
+ id?: string;
870
+ value?: any;
871
+ placeholder?: string;
872
+ disabled?: boolean;
873
+ readOnly?: boolean;
874
+ label?: string;
875
+ isRequired?: boolean;
876
+ error?: any;
877
+ touched?: any;
878
+ helperText?: string;
879
+ labelStyles?: string;
880
+ containerStyles?: string;
881
+ helperTextStyles?: string;
882
+ }
883
+
884
+ export declare interface IBlock {
885
+ category_id: string;
886
+ title: string;
887
+ key: string;
888
+ version: string;
889
+ prompt_description?: string;
890
+ content_schema: IStudioWidget[];
891
+ layouts: IBlockLayouts[];
892
+ source?: ({
893
+ required: boolean;
894
+ module: IStudioSource["module"];
895
+ type: "block";
896
+ field_key: string;
897
+ } | {
898
+ required: boolean;
899
+ module: IStudioSource["module"];
900
+ type: "page";
901
+ })[];
902
+ }
903
+
904
+ export declare interface IBlockCategory {
905
+ id: string;
906
+ title: string;
907
+ description: string;
908
+ media?: any[];
909
+ }
910
+
911
+ export declare type IBlockCategoryExpanded = IBlockCategory & {
912
+ block: IBlock;
913
+ };
914
+
915
+ export declare type IBlockContext = Record<string, IResponseMultiple>;
916
+
917
+ export declare interface IBlockGenerationInfo {
918
+ id: string;
919
+ status: "pending" | "current" | null;
920
+ }
921
+
922
+ export declare interface IBlockInstance {
923
+ id: string;
924
+ workspace_id: string;
925
+ key: string;
926
+ version: string;
927
+ title: string;
928
+ status: string;
929
+ content: Record<string, any>;
930
+ source: IStudioSource[];
931
+ settings: {
932
+ [key: string]: any;
933
+ sources?: never;
934
+ };
935
+ layout: string | null;
936
+ category: string;
937
+ config: Record<string, IFieldConfig | Record<string, IFieldConfig>[]>;
938
+ styles: IElementStyle;
939
+ theme: Record<string, any>;
940
+ view_count: number;
941
+ impression_count: number;
942
+ page_count: number;
943
+ source_count: number;
944
+ generation_status: null | "current" | "pending";
945
+ created_at: string;
946
+ updated_at: string;
947
+ deleted_at: any;
948
+ site_version: "v1" | "v2";
949
+ }
950
+
951
+ export declare interface IBlockLayouts {
952
+ key: string;
953
+ title: string;
954
+ styles: IElementStyle;
955
+ content: any;
956
+ config: any;
957
+ }
958
+
959
+ declare interface IBookingConfirmationProps {
960
+ booking: IBookingRecord;
961
+ summary: IBookingSummaryData | null;
962
+ onClose: () => void;
963
+ }
964
+
965
+ declare interface IBookingRecord {
966
+ _id: string;
967
+ status: string;
968
+ paid: boolean;
969
+ unit_amount: number;
970
+ currency: string;
971
+ quantity: number;
972
+ instance_label?: string;
973
+ }
974
+
975
+ declare interface IBookingSummaryData {
976
+ _id: string;
977
+ instance_label: string;
978
+ cover_image: {
979
+ location: string;
980
+ } | null;
981
+ /** QR code image for check-in scanning */
982
+ qr_image: {
983
+ location: string;
984
+ } | null;
985
+ /** Invoice PDF file, null if not generated */
986
+ invoice: {
987
+ location: string;
988
+ } | null;
989
+ starts_at: string | null;
990
+ ends_at: string | null;
991
+ quantity: number;
992
+ currency: string;
993
+ unit_amount: number;
994
+ total_amount: number;
995
+ }
996
+
997
+ declare interface IBookingSummaryData_2 {
998
+ _id: string;
999
+ instance_label: string;
1000
+ cover_image: {
1001
+ location: string;
1002
+ } | null;
1003
+ starts_at: string | null;
1004
+ ends_at: string | null;
1005
+ quantity: number;
1006
+ currency: string;
1007
+ unit_amount: number;
1008
+ total_amount: number;
1009
+ status: string;
1010
+ paid: boolean;
1011
+ }
1012
+
1013
+ declare interface IBookingSummaryProps {
1014
+ summary: IBookingSummaryData_2;
1015
+ onPay: () => void;
1016
+ isLoading: boolean;
1017
+ }
1018
+
1019
+ export declare interface ICategoryFilterProps {
1020
+ /** The forum key/slug to fetch categories for */
1021
+ forumKey: string;
1022
+ /** Currently selected category IDs */
1023
+ selectedCategories: string[];
1024
+ /** Callback when category selection changes */
1025
+ onCategoryToggle: (categoryId: string) => void;
1026
+ /** Optional className for the container */
1027
+ className?: string;
1028
+ }
1029
+
1030
+ declare interface ICommentsRestrictionOverlayProps {
1031
+ communityName?: string;
1032
+ className?: string;
1033
+ }
1034
+
1035
+ /**
1036
+ * Complete theme configuration for a single component type
1037
+ *
1038
+ * Combines default styles that apply to all instances of the component
1039
+ * with variant groups that provide specific style options
1040
+ *
1041
+ * @example
1042
+ * // Heading component theme
1043
+ * {
1044
+ * defaultStyles: { fontFamily: "Inter", color: "#000" },
1045
+ * variantGroups: {
1046
+ * headingLevel: {
1047
+ * id: "headingLevel",
1048
+ * name: "Heading Level",
1049
+ * variants: {
1050
+ * h1: { fontSize: "32px", fontWeight: "bold" },
1051
+ * h2: { fontSize: "28px", fontWeight: "bold" }
1052
+ * }
1053
+ * }
1054
+ * }
1055
+ * }
1056
+ */
1057
+ export declare interface IComponentTheme {
1058
+ defaultStyles?: IElementStyle;
1059
+ variantGroups?: Record<string, IVariantGroupConfig>;
1060
+ }
1061
+
1062
+ export declare const Icon: WithBlockPropsComponent<Omit<BaseIconProps, "ref"> & RefAttributes<HTMLElement>>;
1063
+
1064
+ declare interface IconProps extends BaseElementProps, Omit<React.HTMLAttributes<HTMLElement>, "content"> {
1065
+ }
1066
+
1067
+ declare interface ICreateForumPostProps {
1068
+ forumKey: string;
1069
+ onPostCreated?: (post: IForumPost) => void;
1070
+ }
1071
+
1072
+ export declare type IElementStyle = Record<string, any>;
1073
+
1074
+ export declare interface IFieldConfig {
1075
+ selectedVariants?: Record<string, string>;
1076
+ enabled?: boolean;
1077
+ animation?: AnimationConfig;
1078
+ form?: {
1079
+ collection_id?: string;
1080
+ submit_button_label?: string;
1081
+ workspace_id?: string;
1082
+ schema?: ILemaCollection;
1083
+ hidden_fields?: string[];
1084
+ form_variant?: FormVariantType;
1085
+ redirect_url?: string;
1086
+ };
1087
+ filters?: {
1088
+ schema?: ILemaCollection;
1089
+ selected_fields?: string[];
1090
+ };
1091
+ action?: {
1092
+ type: "page" | "external_link" | "email" | "phone" | "login" | "none";
1093
+ value: string;
1094
+ options: {
1095
+ openInNewTab?: boolean;
1096
+ };
1097
+ };
1098
+ button_icons?: {
1099
+ left?: {
1100
+ enabled?: boolean;
1101
+ };
1102
+ right?: {
1103
+ enabled?: boolean;
1104
+ };
1105
+ };
1106
+ heading?: {
1107
+ level?: number;
1108
+ };
1109
+ backgroundVideo?: {
1110
+ media?: IMediaObject;
1111
+ };
1112
+ backgroundEffects?: BackgroundEffectConfig;
1113
+ backgroundPresetId?: string;
1114
+ carousel?: {
1115
+ autoScroll?: boolean;
1116
+ loop?: boolean;
1117
+ autoPlay?: boolean;
1118
+ speed?: number;
1119
+ time_per_slide?: number;
1120
+ stopOnFocusIn?: boolean;
1121
+ stopOnInteraction?: boolean;
1122
+ stopOnMouseEnter?: boolean;
1123
+ direction?: "ltr" | "rtl";
1124
+ };
1125
+ image?: {
1126
+ high_priority?: boolean;
1127
+ width?: string;
1128
+ height?: string;
1129
+ alt?: string;
1130
+ };
1131
+ media?: {
1132
+ autoPlay?: boolean;
1133
+ controls?: boolean;
1134
+ muted?: boolean;
1135
+ loop?: boolean;
1136
+ poster?: IMediaObject;
1137
+ high_priority?: boolean;
1138
+ width?: string;
1139
+ height?: string;
1140
+ alt?: string;
1141
+ };
1142
+ custom_html?: {
1143
+ before?: string;
1144
+ after?: string;
1145
+ };
1146
+ custom_fields?: Record<string, unknown>;
1147
+ }
1148
+
1149
+ /**
1150
+ * Forum context
1151
+ */
1152
+ declare interface IForumContext {
1153
+ forum: IForum | null;
1154
+ isMember: boolean;
1155
+ isLoadingMembership: boolean;
1156
+ isInviteOnly: boolean;
1157
+ /** Whether user can interact with posts (upvote/downvote) */
1158
+ canInteractWithPosts: boolean;
1159
+ /** Whether user can interact with comments (reply/vote) */
1160
+ canInteractWithComments: boolean;
1161
+ /** Current user's pending join request, if any */
1162
+ joinRequest: IForumJoinRequest | null;
1163
+ /** Whether user has a pending join request */
1164
+ isJoinRequestPending: boolean;
1165
+ /** Whether the forum allows join requests */
1166
+ allowJoinRequests: boolean;
1167
+ /** Submit a join request for the current user */
1168
+ submitJoinRequest: (message?: string) => Promise<boolean>;
1169
+ /** Refresh membership status from the server */
1170
+ refreshMembershipStatus: () => Promise<void>;
1171
+ }
1172
+
1173
+ export declare const Iframe: WithBlockPropsComponent<BaseIframeProps & default_2.RefAttributes<HTMLDivElement>>;
1174
+
1175
+ export declare interface IGenerationStatusOverlay {
1176
+ id: string;
1177
+ rect: HighlightRect | null;
1178
+ element: HTMLElement | null;
1179
+ status: "pending" | "current";
1180
+ }
1181
+
1182
+ declare interface IGlobalSearchProps {
1183
+ variant?: "default" | "icon";
1184
+ hideKeyboardKey?: boolean;
1185
+ }
1186
+
1187
+ /**
1188
+ * Group context interface for repeatable widget detection
1189
+ */
1190
+ export declare interface IGroupContext {
1191
+ isGroupItem: boolean;
1192
+ groupKey?: string;
1193
+ itemIndex?: number;
1194
+ childKey?: string;
1195
+ groupItemKey?: string;
1196
+ sharedPath?: string;
1197
+ }
1198
+
1199
+ export declare interface IInputProps extends IBaseInputProps {
1200
+ onChange?: (e: React_2.ChangeEvent<HTMLInputElement>) => void;
1201
+ onBlur?: (e: React_2.FocusEvent<HTMLInputElement>) => void;
1202
+ inputStyles?: string;
1203
+ type?: string;
1204
+ inputProps?: React_2.InputHTMLAttributes<HTMLInputElement>;
1205
+ leftIcon?: React_2.ReactNode;
1206
+ rightIcon?: React_2.ReactNode;
1207
+ leftIconBoxStyles?: string;
1208
+ rightIconBoxStyles?: string;
1209
+ inputContainerStyles?: string;
1210
+ }
1211
+
1212
+ declare interface IJoinRequestFormProps {
1213
+ onSubmit: (message?: string) => Promise<boolean>;
1214
+ isSubmitting: boolean;
1215
+ error: string | null;
1216
+ communityName?: string;
1217
+ className?: string;
1218
+ }
1219
+
1220
+ declare interface ILazyMotionProviderProps {
1221
+ children: ReactNode;
1222
+ /** Enforce m component usage - throws if motion component is used */
1223
+ strict?: boolean;
1224
+ }
1225
+
1226
+ export declare interface ILevoBlockBaseProps<ContentType = Record<string, any>> {
1227
+ content: ContentType & {
1228
+ [x: string]: any;
1229
+ };
1230
+ styles: DeepStyles<ContentType & {
1231
+ [x: string]: any;
1232
+ }>;
1233
+ config: DeepConfig<ContentType & {
1234
+ [x: string]: any;
1235
+ }>;
1236
+ id: string;
1237
+ }
1238
+
1239
+ export declare interface ILevoBlockProps<ContentType = Record<string, any>> extends ILevoBlockBaseProps<ContentType> {
1240
+ id: string;
1241
+ block_key: string;
1242
+ block_version: string;
1243
+ settings: ISettingsType;
1244
+ source: IStudioSource[];
1245
+ }
1246
+
1247
+ export declare type ILevoPageData = Pick<IPageExpanded, "id" | "workspace_id" | "blocks" | "source" | "title" | "description" | "access" | "style_config">;
1248
+
1249
+ export declare interface ILevoPageProps {
1250
+ pageData: ILevoPageData;
1251
+ parsedPageData: ILevoPageData;
1252
+ isBuilder?: boolean;
1253
+ context?: IPageDataContext;
1254
+ blocks: Record<string, BlockComponent>;
1255
+ workspace: IWorkspace;
1256
+ site: ISite;
1257
+ authOverride?: IAuthOverride | null;
1258
+ /** Wrap page content in a Suspense boundary (needed for React.lazy blocks). Auto-enabled when isBuilder is true. */
1259
+ enableSuspense?: boolean;
1260
+ }
1261
+
1262
+ export declare interface ILocalizedPage {
1263
+ id: string;
1264
+ language: string;
1265
+ title: string;
1266
+ status?: "published" | "draft";
1267
+ countries?: string[];
1268
+ url?: string;
1269
+ }
1270
+
1271
+ declare const Image_2: WithBlockPropsComponent<Omit<BaseImageProps, "ref"> & RefAttributes<HTMLImageElement>>;
1272
+ export { Image_2 as Image }
1273
+
1274
+ declare interface ImageProps extends BaseElementProps, Omit<React.HTMLAttributes<HTMLImageElement>, "content"> {
1275
+ alt: string;
1276
+ image?: MediaContent;
1277
+ }
1278
+
1279
+ export declare const IMembershipAuthenticationMethods: readonly ["linkedin", "google", "oauth", "microsoft", "otp", "whatsapp", "magiclink", "password"];
1280
+
1281
+ export declare interface IMyBlockPages {
1282
+ id: string;
1283
+ title: string;
1284
+ url: string;
1285
+ kind: string;
1286
+ status: string;
1287
+ }
1288
+
1289
+ export declare interface IMyCategory {
1290
+ name: string;
1291
+ count: number;
1292
+ }
1293
+
1294
+ export declare function Input({ className, type, ...props }: React_2.ComponentProps<"input">): JSX.Element;
1295
+
1296
+ export declare const IntegrationFilters: default_2.FC<{
1297
+ selectedFields: string[];
1298
+ schema: ILemaCollection;
1299
+ query: Record<string, any>;
1300
+ setQuery: (val: Record<string, any>) => void;
1301
+ enableSearch?: boolean;
1302
+ }>;
1303
+
1304
+ export declare interface IPage {
1305
+ id: string;
1306
+ workspace_id: string;
1307
+ site_id: string;
1308
+ site_version?: "v1" | "v2";
1309
+ title: string;
1310
+ description: string;
1311
+ key: string;
1312
+ url: string;
1313
+ live_url: string;
1314
+ domain: string;
1315
+ status: "published" | "draft";
1316
+ meta: IPageMeta;
1317
+ tags: IStudioTags[];
1318
+ pagespeed_score: IPageSpeedData;
1319
+ access: IPageAccess[];
1320
+ settings: IPageSettings;
1321
+ parent_id?: string;
1322
+ language?: string;
1323
+ is_generating?: boolean;
1324
+ localized_pages?: ILocalizedPage[];
1325
+ style_config?: ISiteStyleConfig | null;
1326
+ countries?: string[];
1327
+ theme: {
1328
+ colors: {
1329
+ brand: {
1330
+ main: string;
1331
+ foreground: string;
1332
+ background: string;
1333
+ };
1334
+ brandSecondary: {
1335
+ main: string;
1336
+ foreground: string;
1337
+ background: string;
1338
+ };
1339
+ text1: string;
1340
+ text2: string;
1341
+ text3: string;
1342
+ [x: string]: any;
1343
+ };
1344
+ };
1345
+ block_count: number;
1346
+ variable_count: number;
1347
+ source_count: number;
1348
+ url_count: number;
1349
+ created_at: string;
1350
+ edit_count?: number;
1351
+ updated_at: string;
1352
+ thumbnail_url?: string;
1353
+ thumbnail_url_mobile?: string;
1354
+ source?: IStudioSource[];
1355
+ kind: IPageKind;
1356
+ sample_url: string;
1357
+ insights: {
1358
+ bounce_rate: IPageStatMetric;
1359
+ page_views: IPageStatMetric;
1360
+ scroll_depth: IPageStatMetric;
1361
+ };
1362
+ published_at: string | null;
1363
+ }
1364
+
1365
+ export declare type IPageAccess = (IPageAccessGating | IPageAccessAuthentication) & {
1366
+ enabled: boolean;
1367
+ };
1368
+
1369
+ export declare type IPageAccessAuthentication = {
1370
+ kind: "authentication";
1371
+ options: IPageAccessAuthenticationOptions;
1372
+ };
1373
+
1374
+ export declare type IPageAccessAuthenticationCodes =
1375
+ /**
1376
+ * if `options.methods` is empty
1377
+ */
1378
+ "authentication.NOT_CONFIGURED"
1379
+ /**
1380
+ * if `getNullableAccount` returns `null`, when `kind: authentication` is not optional
1381
+ */
1382
+ | "authentication.NOT_LOGGED_IN" | "authentication.SUCCESS";
1383
+
1384
+ export declare interface IPageAccessAuthenticationOptions {
1385
+ methods: (typeof IMembershipAuthenticationMethods)[number][];
1386
+ primary_method: (typeof IMembershipAuthenticationMethods)[number];
1387
+ }
1388
+
1389
+ export declare interface IPageAccessCheck {
1390
+ has_access: boolean;
1391
+ code?: IPageAccessAuthenticationCodes | IPageAccessGatingCodes;
1392
+ message: string;
1393
+ options?: Pick<IPageAccessGatingOptions, "collection" | "field" | "content"> | IPageAccessAuthenticationOptions;
1394
+ }
1395
+
1396
+ export declare type IPageAccessGating = {
1397
+ kind: "gating";
1398
+ options: IPageAccessGatingOptions;
1399
+ };
1400
+
1401
+ export declare type IPageAccessGatingCodes =
1402
+ /**
1403
+ * if `options.collection` is empty
1404
+ */
1405
+ "gating.NOT_CONFIGURED"
1406
+ /**
1407
+ * if not `email` is given, and it could not fetched with authentication also
1408
+ */
1409
+ | "gating.IDENTIFIER_NOT_FOUND"
1410
+ /**
1411
+ * if `options.collection` does not have entry with the given `email`
1412
+ */
1413
+ | "gating.ENTRY_NOT_FOUND"
1414
+ /**
1415
+ * if `options.collection` has entry, but doesn't pass the `options.condition` criteria
1416
+ */
1417
+ | "gating.ENTRY_CONDITION_NOT_FULFILLED" | "gating.SUCCESS";
1418
+
1419
+ export declare interface IPageAccessGatingOptions {
1420
+ collection: string;
1421
+ field: string;
1422
+ condition?: LevoQuery.Where;
1423
+ default_value?: Record<string, any>;
1424
+ hidden?: string[];
1425
+ content?: {
1426
+ entryNotFound?: string;
1427
+ conditionNotFulfilled?: string;
1428
+ };
1429
+ }
1430
+
1431
+ export declare type IPageContext = Record<string, unknown>;
1432
+
1433
+ export declare interface IPageDataContext {
1434
+ page?: IPageContext;
1435
+ blocks: Record<string, IBlockContext>;
1436
+ }
1437
+
1438
+ export declare interface IPageExpanded extends IPage {
1439
+ source: IStudioSource[];
1440
+ kind: IPageKind;
1441
+ blocks: (IBlockInstance & {
1442
+ isPreview?: boolean;
1443
+ })[];
1444
+ access: IPageAccess[];
1445
+ }
1446
+
1447
+ export declare interface IPageFromPath {
1448
+ workspace: IWorkspace;
1449
+ site: ISite;
1450
+ query: Record<string, string>;
1451
+ data: IPageExpanded | null;
1452
+ access: IPageAccessCheck | null;
1453
+ }
1454
+
1455
+ export declare type IPageKind = "blog.page" | "collection.page" | "community.page" | "event.page" | "static";
1456
+
1457
+ export declare interface IPageMeta {
1458
+ meta_title: string;
1459
+ meta_description: string;
1460
+ og_title: string;
1461
+ og_description: string;
1462
+ og_image: IMediaObject | null;
1463
+ og_url: string;
1464
+ keywords: string;
1465
+ disable_indexing: boolean;
1466
+ use_thumbnail_as_og_image?: boolean;
1467
+ }
1468
+
1469
+ export declare interface IPageSettings {
1470
+ structured_data_json?: string;
1471
+ [key: string]: any;
1472
+ }
1473
+
1474
+ export declare interface IPageSpeedData {
1475
+ audit_id: string;
1476
+ mobile: Scores;
1477
+ desktop: Scores;
1478
+ completed_at: string;
1479
+ }
1480
+
1481
+ export declare interface IPageStatMetric {
1482
+ current: number | null;
1483
+ past: number | null;
1484
+ change: number | null;
1485
+ }
1486
+
1487
+ declare interface IPendingRequestStateProps {
1488
+ communityName?: string;
1489
+ className?: string;
1490
+ }
1491
+
1492
+ export declare interface IPostActionsLoadingState {
1493
+ engagements?: boolean;
1494
+ comments?: boolean;
1495
+ share?: boolean;
1496
+ }
1497
+
1498
+ declare interface IPostsRestrictionOverlayProps {
1499
+ isOpen: boolean;
1500
+ communityName?: string;
1501
+ className?: string;
1502
+ }
1503
+
1504
+ declare type IPreviewDevice = "desktop" | "tablet" | "mobile";
1505
+
1506
+ /**
1507
+ * Type guard to check if a method is alternate (OAuth)
1508
+ */
1509
+ export declare const isAlternateMethod: (method: AuthenticationMethod) => method is "google" | "linkedin" | "microsoft";
1510
+
1511
+ /**
1512
+ * Type guard to check if a config object has selectedVariants
1513
+ */
1514
+ export declare const isConfigWithVariants: (val: unknown) => val is {
1515
+ selectedVariants: Record<string, string>;
1516
+ };
1517
+
1518
+ export declare interface ISelection {
1519
+ blockId?: string;
1520
+ elementKey?: string;
1521
+ repeatableKey?: string;
1522
+ repeatableParentKey?: string;
1523
+ }
1524
+
1525
+ export declare interface ISendOTPParams {
1526
+ email?: string;
1527
+ phone?: string;
1528
+ medium?: "email" | "whatsapp";
1529
+ }
1530
+
1531
+ export declare type ISettingsField = {
1532
+ type: "custom";
1533
+ schema: {
1534
+ field_interface: string;
1535
+ settings?: Record<string, any>;
1536
+ };
1537
+ } | {
1538
+ type: "collection";
1539
+ schema: IField;
1540
+ };
1541
+
1542
+ export declare type ISettingsType = {
1543
+ [key: string]: any;
1544
+ };
1545
+
1546
+ export declare interface ISite {
1547
+ object: string;
1548
+ id: string;
1549
+ workspace_id: string;
1550
+ site_version: "v1" | "v2";
1551
+ name: string;
1552
+ slug: string;
1553
+ timezone: string;
1554
+ description: string;
1555
+ logo: IMediaObject | null;
1556
+ icon: IFaviconMediaObject | null;
1557
+ industry: string | null;
1558
+ domain: string | null;
1559
+ theme: ITheme;
1560
+ settings: {
1561
+ head_code?: string;
1562
+ studio_preview_url?: string;
1563
+ staging_preview_url?: string;
1564
+ contact_info?: IContactInfo;
1565
+ social_media?: {
1566
+ facebook?: string;
1567
+ twitter?: string;
1568
+ linkedin?: string;
1569
+ instagram?: string;
1570
+ };
1571
+ [key: string]: any;
1572
+ };
1573
+ page_count: number;
1574
+ domain_count: number;
1575
+ robots: ISitemapsSettings;
1576
+ is_default: boolean;
1577
+ is_proxied: boolean;
1578
+ host_domain: string | null;
1579
+ proxy_domain: string | null;
1580
+ style_config: ISiteStyleConfig | null;
1581
+ created_at: string;
1582
+ updated_at: string;
1583
+ }
1584
+
1585
+ export declare type ISiteCompact = Pick<ISite, "object" | "id" | "name" | "slug" | "icon" | "logo" | "domain" | "domain_count" | "is_default" | "created_at" | "updated_at">;
1586
+
1587
+ export declare interface ISitemap {
1588
+ created_at: string;
1589
+ filename: string;
1590
+ id: string;
1591
+ location: string;
1592
+ name: string;
1593
+ page_id: string | null;
1594
+ path: string;
1595
+ updated_at: string;
1596
+ url_count: number;
1597
+ workspace_id: string;
1598
+ }
1599
+
1600
+ export declare interface ISitemapsSettings {
1601
+ allow: string[];
1602
+ disallow: string[];
1603
+ sitemaps: string[];
1604
+ }
1605
+
1606
+ export declare interface ISiteStyleConfig {
1607
+ stylesheet_url: string | null;
1608
+ critical_css: string | null;
1609
+ }
1610
+
1611
+ export declare interface ISocketUser {
1612
+ id: string;
1613
+ first_name: string;
1614
+ display_email: string;
1615
+ profile_picture: IMediaObject;
1616
+ last_name: string;
1617
+ color: string;
1618
+ block_id?: string | null;
1619
+ }
1620
+
1621
+ /** Check if an error code indicates pending approval */
1622
+ export declare const isPendingApprovalError: (code?: string) => boolean;
1623
+
1624
+ /**
1625
+ * Type guard to check if a method is primary (passwordless)
1626
+ */
1627
+ export declare const isPrimaryMethod: (method: AuthenticationMethod) => method is "otp" | "magiclink" | "whatsapp";
1628
+
1629
+ /**
1630
+ * Config passed to StripePaymentModal
1631
+ */
1632
+ export declare interface IStripePaymentConfig {
1633
+ clientSecret: string;
1634
+ }
1635
+
1636
+ /**
1637
+ * Payment metadata from API - for Stripe Embedded Checkout
1638
+ */
1639
+ export declare interface IStripePaymentMeta {
1640
+ /** Stripe publishable key (pk_xxx) */
1641
+ key: string;
1642
+ /** Checkout Session client_secret (for embedded mode) */
1643
+ client_secret: string;
1644
+ /** Amount in smallest denomination (cents/paise) */
1645
+ amount: number;
1646
+ /** ISO currency code */
1647
+ currency: string;
1648
+ /** Payment provider */
1649
+ provider: "stripe";
1650
+ /** Internal reference ID */
1651
+ reference_id: string;
1652
+ }
1653
+
1654
+ export declare type IStudioSource = {
1655
+ id?: string;
1656
+ module: (typeof BlockSourceModuleList)[number];
1657
+ identifier: string;
1658
+ field_key: string;
1659
+ params?: Record<string, any>;
1660
+ options?: {
1661
+ sub_module?: "popular_posts" | "related_posts";
1662
+ blog_id?: string;
1663
+ context_key?: string;
1664
+ filters?: {
1665
+ enabled?: boolean;
1666
+ selected_fields?: string[];
1667
+ };
1668
+ };
1669
+ metadata?: Record<string, any>;
1670
+ filters?: string[];
1671
+ created_at?: string;
1672
+ updated_at?: string;
1673
+ block_instance_id?: string;
1674
+ page_id?: string;
1675
+ };
1676
+
1677
+ export declare interface IStudioTags {
1678
+ id: string;
1679
+ title: string;
1680
+ slug: string;
1681
+ }
1682
+
1683
+ export declare interface IStudioWidget {
1684
+ label: string;
1685
+ key: string;
1686
+ field_interface: (typeof StudioWidgetList)[number];
1687
+ kind?: (typeof KindList)[number];
1688
+ fields?: IStudioWidget[];
1689
+ options?: {
1690
+ module_field?: {
1691
+ module: (typeof BlockSourceModuleList)[number];
1692
+ key?: string;
1693
+ };
1694
+ };
1695
+ hint?: StudioHint;
1696
+ custom_fields?: IStudioWidget[];
1697
+ }
1698
+
1699
+ export declare type IStyles = {
1700
+ [key in CSSStyleKeys]?: string;
1701
+ } & {
1702
+ mobile?: {
1703
+ [key in CSSStyleKeys]?: string;
1704
+ };
1705
+ tablet?: {
1706
+ [key in CSSStyleKeys]?: string;
1707
+ };
1708
+ };
1709
+
1710
+ /**
1711
+ * Validate if a string is a valid OKLCH color
1712
+ * @returns {boolean} True if the string is a valid OKLCH color, false otherwise
1713
+ */
1714
+ export declare const isValidOKLCH: (colorString: string) => boolean;
1715
+
1716
+ export declare interface ITextareaProps extends IBaseInputProps {
1717
+ label?: string;
1718
+ isRequired?: boolean;
1719
+ labelStyles?: string;
1720
+ containerStyles?: string;
1721
+ textAreaProps?: React_2.TextareaHTMLAttributes<HTMLTextAreaElement>;
1722
+ textAreaStyles?: string;
1723
+ onChange?: (e: React_2.ChangeEvent<HTMLTextAreaElement>) => void;
1724
+ onBlur?: (e: React_2.FocusEvent<HTMLTextAreaElement>) => void;
1725
+ }
1726
+
1727
+ /**
1728
+ * Complete theme configuration for a workspace/page
1729
+ *
1730
+ * Combines legacy primitive theme properties (colors, fonts, sizes) with the new
1731
+ * component-based theme system for maximum flexibility and backward compatibility
1732
+ *
1733
+ * CSS Generation:
1734
+ * - Colors/fonts/sizes generate CSS custom properties (--color-brand, --font-heading, etc.)
1735
+ * - Component default styles generate [data-levo_element_type] selectors
1736
+ * - Component variants generate .levo-variant-{group}-{variant} class selectors
1737
+ *
1738
+ * @example
1739
+ * // Complete theme structure
1740
+ * {
1741
+ * colors: { brand: { main: "#007bff", foreground: "#fff" } },
1742
+ * fonts: { heading: "Inter", body: "Inter" },
1743
+ * sizes: { radius: "4px", spacing: "8px", fontSize: "14px" },
1744
+ * components: {
1745
+ * button: {
1746
+ * defaultStyles: { fontSize: "14px", borderRadius: "4px" },
1747
+ * variantGroups: {
1748
+ * variants: { variants: { primary: { backgroundColor: "#007bff" } } },
1749
+ * sizes: { variants: { large: { padding: "12px 20px" } } }
1750
+ * }
1751
+ * }
1752
+ * }
1753
+ * }
1754
+ */
1755
+ export declare interface ITheme {
1756
+ colors: {
1757
+ brand: {
1758
+ main: OKLCHColor;
1759
+ foreground: OKLCHColor;
1760
+ };
1761
+ brandSecondary: {
1762
+ main: OKLCHColor;
1763
+ foreground: OKLCHColor;
1764
+ };
1765
+ text1: OKLCHColor;
1766
+ text2: OKLCHColor;
1767
+ text3: OKLCHColor;
1768
+ page: OKLCHColor;
1769
+ border: OKLCHColor;
1770
+ background1: OKLCHColor;
1771
+ background2: OKLCHColor;
1772
+ background3: OKLCHColor;
1773
+ iconPrimary: OKLCHColor;
1774
+ iconSecondary: OKLCHColor;
1775
+ customColors?: Record<string, OKLCHColor>;
1776
+ };
1777
+ fonts: IThemeFonts;
1778
+ sizes: {
1779
+ radius: string;
1780
+ spacing: string;
1781
+ fontSize: string;
1782
+ };
1783
+ effects: {
1784
+ shadow: string;
1785
+ };
1786
+ components: IThemeComponents;
1787
+ [x: string]: unknown;
1788
+ }
1789
+
1790
+ /**
1791
+ * Container for all component themes in the system
1792
+ *
1793
+ * Pre-defines common component types while allowing custom components
1794
+ * through the index signature
1795
+ */
1796
+ export declare interface IThemeComponents {
1797
+ heading?: IComponentTheme;
1798
+ button?: IComponentTheme;
1799
+ typography?: IComponentTheme;
1800
+ container?: IComponentTheme;
1801
+ icon?: IComponentTheme;
1802
+ section?: IComponentTheme;
1803
+ }
1804
+
1805
+ /**
1806
+ * Font configuration for the theme system
1807
+ * Defines which fonts to use for different text elements
1808
+ */
1809
+ export declare type IThemeFonts = {
1810
+ heading: string;
1811
+ body: string;
1812
+ customFonts?: Record<string, string>;
1813
+ };
1814
+
1815
+ declare interface IUseDotButtonType {
1816
+ selectedIndex: number;
1817
+ scrollSnaps: number[];
1818
+ onDotButtonClick: (index: number) => void;
1819
+ }
1820
+
1821
+ export declare interface IUseLoginReturn {
1822
+ sendOTP: (params: ISendOTPParams) => Promise<void>;
1823
+ verifyOTP: (content: string, code: string) => Promise<ILevoMembership.Account | null>;
1824
+ resendOTP: (params: ISendOTPParams) => Promise<void>;
1825
+ sendMagicLink: (email: string) => Promise<void>;
1826
+ refetchLoginStatus: (onRefetchSuccess?: (user: ILevoMembership.Account) => void) => void;
1827
+ signOut: (onSignOutSuccess?: () => void, onSignOutError?: (error: LevoError) => void) => void;
1828
+ isLoggedIn: boolean;
1829
+ isAuthLoading: boolean;
1830
+ }
1831
+
1832
+ export declare interface IUserHighlight {
1833
+ id: string;
1834
+ blockId: string;
1835
+ color: string;
1836
+ rect: HighlightRect | null;
1837
+ element: HTMLElement | null;
1838
+ }
1839
+
1840
+ /**
1841
+ * Return type for useStripePayment hook
1842
+ */
1843
+ export declare interface IUseStripePaymentReturn {
1844
+ /** Stripe Promise for EmbeddedCheckoutProvider */
1845
+ stripePromise: Promise<Stripe | null> | null;
1846
+ /** Config for payment modal */
1847
+ config: IStripePaymentConfig | null;
1848
+ /** Whether modal is open */
1849
+ isOpen: boolean;
1850
+ /** Open the Stripe embedded checkout modal */
1851
+ openStripeCheckout: (meta: IStripePaymentMeta) => Promise<void>;
1852
+ /** Close the modal */
1853
+ closeStripeCheckout: () => void;
1854
+ /** Set completion callback */
1855
+ setOnComplete: (callback: () => void) => void;
1856
+ /** Completion callback */
1857
+ onComplete: (() => void) | null;
1858
+ }
1859
+
1860
+ /**
1861
+ * Configuration for a single variant group within a component theme
1862
+ *
1863
+ * Variant groups organize related style variations (e.g., "Button Sizes", "Heading Levels")
1864
+ * Each group contains multiple variants that users can select from
1865
+ *
1866
+ * @example
1867
+ * // Button sizes variant group
1868
+ * {
1869
+ * id: "sizes",
1870
+ * name: "Button Sizes",
1871
+ * variants: {
1872
+ * small: { fontSize: "12px", padding: "8px 12px" },
1873
+ * medium: { fontSize: "14px", padding: "10px 16px" },
1874
+ * large: { fontSize: "16px", padding: "12px 20px" }
1875
+ * }
1876
+ * }
1877
+ */
1878
+ export declare interface IVariantGroupConfig {
1879
+ id: string;
1880
+ name: string;
1881
+ variants: Record<string, IElementStyle>;
1882
+ }
1883
+
1884
+ /**
1885
+ * Form for submitting a join request to an invite-only community
1886
+ */
1887
+ export declare const JoinRequestForm: default_2.FC<IJoinRequestFormProps>;
1888
+
1889
+ export declare function Kbd({ className, ...props }: React.ComponentProps<"kbd">): JSX.Element;
1890
+
1891
+ export declare function KbdGroup({ className, ...props }: React.ComponentProps<"div">): JSX.Element;
1892
+
1893
+ export declare const KindList: readonly ["element", "group"];
1894
+
1895
+ /**
1896
+ * Provides LazyMotion context with domAnimation features for reduced bundle size.
1897
+ *
1898
+ * Wrap your studio content with this provider to enable animations using the
1899
+ * lighter `m` component instead of the full `motion` component (~18kb vs ~34kb).
1900
+ */
1901
+ export declare const LazyMotionProvider: React.FC<ILazyMotionProviderProps>;
1902
+
1903
+ export declare const LevoBlock: default_2.MemoExoticComponent<({ html_id, isBuilder, blocks, parsedBlockData, blockData, pageContext, blockContext, workspace_id, pageSource, }: LevoBlockProps) => JSX.Element>;
1904
+
1905
+ declare interface LevoBlockProps {
1906
+ html_id?: string;
1907
+ isBuilder?: boolean;
1908
+ blocks: Record<string, BlockComponent>;
1909
+ parsedBlockData: IBlockInstance;
1910
+ workspace_id: string;
1911
+ blockData?: IBlockInstance;
1912
+ pageContext?: IPageContext;
1913
+ blockContext?: IPageDataContext["blocks"][number];
1914
+ pageSource?: IPage["source"];
1915
+ }
1916
+
1917
+ export declare const LevoPage: default_2.FC<ILevoPageProps>;
1918
+
1919
+ export declare const Link: WithBlockPropsComponent<BaseLinkProps & RefAttributes<HTMLAnchorElement>>;
1920
+
1921
+ export declare const Media: WithBlockPropsComponent<(Omit<BaseMediaProps & HTMLImageProps_2 & {
1922
+ isVideo?: false;
1923
+ }, "ref"> | Omit<BaseMediaProps & HTMLVideoProps & {
1924
+ isVideo: true;
1925
+ }, "ref">) & RefAttributes<HTMLElement>>;
1926
+
1927
+ declare type MediaContent = {
1928
+ location: string;
1929
+ srcset?: {
1930
+ path: string;
1931
+ };
1932
+ } | IMedia;
1933
+
1934
+ declare type MediaContent_2 = {
1935
+ location: string;
1936
+ srcset?: {
1937
+ path: string;
1938
+ };
1939
+ type?: string;
1940
+ } | IMedia;
1941
+
1942
+ export declare type MediaHint = {
1943
+ orientation?: "landscape" | "portrait" | "square";
1944
+ size?: "icon" | "small" | "medium" | "large" | "cover";
1945
+ usecase?: "avatar" | "icon" | "hero" | "background" | "logo" | "other";
1946
+ };
1947
+
1948
+ export declare const MESSAGE_TYPES: {
1949
+ readonly PREVIEW_READY: "PREVIEW_READY";
1950
+ readonly PREVIEW_HOVER: "PREVIEW_HOVER";
1951
+ readonly PREVIEW_SELECT: "PREVIEW_SELECT";
1952
+ readonly PREVIEW_MOUSE_LEAVE: "PREVIEW_MOUSE_LEAVE";
1953
+ readonly PREVIEW_UNDO: "PREVIEW_UNDO";
1954
+ readonly PREVIEW_REDO: "PREVIEW_REDO";
1955
+ readonly STUDIO_SELECT: "STUDIO_SELECT";
1956
+ readonly STUDIO_HOVER: "STUDIO_HOVER";
1957
+ readonly STUDIO_AUTH_OVERRIDE: "STUDIO_AUTH_OVERRIDE";
1958
+ readonly PREVIEW_TYPE: "PREVIEW_TYPE";
1959
+ readonly LEVO_PAGE_DATA: "LEVO_PAGE_DATA";
1960
+ readonly LEVO_BLOCK_DATA: "LEVO_BLOCK_DATA";
1961
+ readonly FRAME_HEIGHT: "FRAME_HEIGHT";
1962
+ readonly LEVO_USERS: "LEVO_USERS";
1963
+ };
1964
+
1965
+ declare type MutableDeep<T> = T extends readonly (infer U)[] ? MutableDeep<U>[] : T extends object ? {
1966
+ -readonly [K in keyof T]: MutableDeep<T[K]>;
1967
+ } : T;
1968
+
1969
+ /**
1970
+ * Normalizes a custom color name to a valid CSS variable suffix
1971
+ * Replaces spaces with underscores, converts to lowercase
1972
+ * Example: "Primary Accent" -> "primary_accent"
1973
+ */
1974
+ export declare const normalizeColorName: (name: string) => string;
1975
+
1976
+ /**
1977
+ * Normalizes a custom font name to a valid CSS variable suffix
1978
+ * Replaces spaces with underscores, converts to lowercase
1979
+ * Example: "Code Font" -> "code_font"
1980
+ */
1981
+ export declare const normalizeFontName: (name: string) => string;
1982
+
1983
+ /**
1984
+ * OKLCH color representation for theme storage
1985
+ * Provides better color accuracy and perceptual uniformity than hex
1986
+ */
1987
+ export declare interface OKLCHColor {
1988
+ l: number;
1989
+ c: number;
1990
+ h: number;
1991
+ alpha?: number;
1992
+ }
1993
+
1994
+ /**
1995
+ * Convert OKLCH CSS string to RGBA CSS string format
1996
+ * Returns black color string for invalid input
1997
+ */
1998
+ export declare const oklchStringToRGBA: (oklch: string) => string;
1999
+
2000
+ /**
2001
+ * Convert OKLCH object or string to hexadecimal color format
2002
+ * Returns black color string for invalid input
2003
+ */
2004
+ export declare const oklchToHex: (oklchColor: OKLCHColor | string | undefined) => string;
2005
+
2006
+ /**
2007
+ * Convert OKLCH object to RGBA string format for color pickers
2008
+ * Returns black color string for invalid input
2009
+ */
2010
+ export declare const oklchToRGBA: (oklchColor: OKLCHColor) => string;
2011
+
2012
+ /**
2013
+ * Convert OKLCH object to OKLCH CSS string format
2014
+ */
2015
+ export declare const oklchToString: (oklchColor: OKLCHColor | string | undefined) => string;
2016
+
2017
+ /**
2018
+ * Parse element key to detect repeatable group context
2019
+ *
2020
+ * Searches backwards from the end to find the INNERMOST group pattern.
2021
+ * Works for single-level groups (events.0.title) and nested groups (tabs.0.faqs.0.question).
2022
+ *
2023
+ * @param elementKey - Element key like "events.0.title" or "tabs.0.faqs.0.question"
2024
+ * @returns Group context info or { isGroupItem: false }
2025
+ *
2026
+ * @example
2027
+ * // Single-level group
2028
+ * parseGroupContext("events.0.title")
2029
+ * // Returns: { isGroupItem: true, groupKey: "events", itemIndex: 0, childKey: "title",
2030
+ * // groupItemKey: "events_levoGroupItem", sharedPath: "events_levoGroupItem.title" }
2031
+ *
2032
+ * @example
2033
+ * // Nested group
2034
+ * parseGroupContext("tabs.0.faqs.0.question")
2035
+ * // Returns: { isGroupItem: true, groupKey: "faqs", itemIndex: 0, childKey: "question",
2036
+ * // groupItemKey: "faqs_levoGroupItem", sharedPath: "tabs_levoGroupItem.faqs_levoGroupItem.question" }
2037
+ */
2038
+ export declare const parseGroupContext: (elementKey: string) => IGroupContext;
2039
+
2040
+ /**
2041
+ * Parse OKLCH string back to object format
2042
+ * Returns default black color for invalid input
2043
+ */
2044
+ export declare const parseOKLCHString: (oklchString: string) => OKLCHColor;
2045
+
2046
+ declare type ParseResult = {
2047
+ value: string;
2048
+ prefix: string;
2049
+ };
2050
+
2051
+ export declare const parseVariablesFromResolvedSource: ({ levoClient, block, resolvedSources, pageContext, siteData, cookies, draft, workspace_id, }: {
2052
+ levoClient: ILevoClient;
2053
+ block: IBlockInstance;
2054
+ resolvedSources: IBlockInstance["source"];
2055
+ workspace_id: string;
2056
+ pageContext?: IPageContext;
2057
+ siteData?: Record<string, any>;
2058
+ cookies?: string;
2059
+ draft?: boolean;
2060
+ }) => Promise<[IBlockInstance, Record<string, IResponseMultiple<Record<string, unknown>>>]>;
2061
+
2062
+ /** Error code returned when account exists but is pending admin approval */
2063
+ export declare const PENDING_APPROVAL_ERROR_CODE = "membership.account.ACCOUNT_PENDING_APPROVAL";
2064
+
2065
+ /**
2066
+ * Display state shown when user has a pending join request
2067
+ */
2068
+ export declare const PendingRequestState: default_2.FC<IPendingRequestStateProps>;
2069
+
2070
+ export declare const PopoverContent: WithBlockPropsComponent<BasePopoverContentProps & {
2071
+ portalContainer?: Element | null;
2072
+ inPortal?: boolean;
2073
+ } & React_2.RefAttributes<HTMLDivElement>>;
2074
+
2075
+ export declare const PopoverRoot: React_2.FC<Popover.PopoverProps>;
2076
+
2077
+ export declare const PopoverTrigger: WithBlockPropsComponent<BasePopoverTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
2078
+
2079
+ export declare const PostActions: default_2.FC<{
2080
+ post: IForumPost;
2081
+ postDetailPageURLPattern?: string | null;
2082
+ isRenderedSolo?: boolean;
2083
+ actionsLoadingState?: IPostActionsLoadingState;
2084
+ forumKey: string;
2085
+ }>;
2086
+
2087
+ export declare const PostCategory: default_2.FC<{
2088
+ post: IForumPost;
2089
+ }>;
2090
+
2091
+ export declare const PostContent: default_2.FC<{
2092
+ post: IForumPost;
2093
+ }>;
2094
+
2095
+ export declare const PostGallery: default_2.FC<{
2096
+ post: IForumPost;
2097
+ isRenderedSolo?: boolean;
2098
+ }>;
2099
+
2100
+ export declare const PostHeader: default_2.FC<{
2101
+ post: IForumPost;
2102
+ isRenderedSolo?: boolean;
2103
+ forumKey?: string;
2104
+ postListingPageURL?: string | null;
2105
+ onEditClick?: () => void;
2106
+ onPostUpdated?: (updatedPost: IForumPost) => void;
2107
+ }>;
2108
+
2109
+ export declare const PostLink: default_2.FC<{
2110
+ post: IForumPost;
2111
+ }>;
2112
+
2113
+ export declare const PostLinkWrapper: default_2.FC<{
2114
+ post: IForumPost;
2115
+ postDetailPageURLPattern?: string | null;
2116
+ children: default_2.ReactNode;
2117
+ }>;
2118
+
2119
+ export declare const PostPoll: default_2.FC<{
2120
+ post: IForumPost;
2121
+ }>;
2122
+
2123
+ /**
2124
+ * Dialog overlay shown when non-member tries to view posts in invite-only community
2125
+ */
2126
+ export declare const PostsRestrictionOverlay: default_2.FC<IPostsRestrictionOverlayProps>;
2127
+
2128
+ export declare const PostStatusBadge: default_2.FC<{
2129
+ post: IForumPost;
2130
+ }>;
2131
+
2132
+ export declare const PostTitle: default_2.FC<{
2133
+ post: IForumPost;
2134
+ }>;
2135
+
2136
+ /**
2137
+ * Preset categories with metadata
2138
+ */
2139
+ export declare const PRESET_CATEGORIES: {
2140
+ readonly minimal: {
2141
+ readonly label: "Minimal";
2142
+ readonly description: "Clean, subtle effects that enhance without overwhelming";
2143
+ };
2144
+ readonly dynamic: {
2145
+ readonly label: "Dynamic";
2146
+ readonly description: "Animated effects that add movement and energy";
2147
+ };
2148
+ readonly interactive: {
2149
+ readonly label: "Interactive";
2150
+ readonly description: "Effects that respond to user interaction";
2151
+ };
2152
+ readonly custom: {
2153
+ readonly label: "Custom";
2154
+ readonly description: "User-created custom presets";
2155
+ };
2156
+ };
2157
+
2158
+ /**
2159
+ * Map of preset IDs to their configurations for quick lookup
2160
+ */
2161
+ export declare const PRESET_MAP: Record<string, BackgroundPreset>;
2162
+
2163
+ /**
2164
+ * Result type for preset operations
2165
+ */
2166
+ export declare interface PresetOperationResult {
2167
+ success: boolean;
2168
+ config?: BackgroundEffectConfig;
2169
+ error?: string;
2170
+ }
2171
+
2172
+ export declare const PreviewHighlighter: React.FC<PreviewHighlighterProps>;
2173
+
2174
+ declare interface PreviewHighlighterProps {
2175
+ isPageGenerating?: boolean;
2176
+ totalBlocksCount?: number;
2177
+ blocksGenerationInfo?: IBlockGenerationInfo[];
2178
+ }
2179
+
2180
+ /**
2181
+ * Primary authentication methods (passwordless: OTP, Magic Link, WhatsApp)
2182
+ */
2183
+ export declare const PRIMARY_AUTH_METHODS: IAuthenticationOption[];
2184
+
2185
+ /**
2186
+ * Primary method values for quick checking
2187
+ */
2188
+ export declare const PRIMARY_METHOD_VALUES: ("linkedin" | "google" | "oauth" | "microsoft" | "otp" | "whatsapp" | "magiclink" | "password")[];
2189
+
2190
+ /**
2191
+ * Font Processing and Google Fonts Integration
2192
+ *
2193
+ * Extracts font families from theme configuration and generates Google Fonts
2194
+ * URLs for loading. Handles deduplication and URL encoding.
2195
+ *
2196
+ * @param theme - Theme configuration containing font selections
2197
+ * @returns Object with font list and Google Fonts URL
2198
+ */
2199
+ export declare const processFonts: (theme: ITheme) => {
2200
+ fonts: string[];
2201
+ fontUrl: string;
2202
+ fontTags: string;
2203
+ };
2204
+
2205
+ /**
2206
+ * Complete Theme Processing and CSS Generation
2207
+ *
2208
+ * This is the main entry point for theme processing. It orchestrates the entire
2209
+ * CSS generation pipeline and produces the final CSS output for a page.
2210
+ *
2211
+ * Processing Steps:
2212
+ * 1. Font processing and Google Fonts URL generation
2213
+ * 2. CSS custom properties from primitive theme values
2214
+ * 3. Component default styles and variant styles from theme configuration
2215
+ * 4. Block-specific styles from individual block instances
2216
+ * 5. HTML generation with font loading and scoped CSS
2217
+ *
2218
+ * CSS Scoping:
2219
+ * All generated CSS is scoped to [data-levo-page-id='pageID'] to prevent
2220
+ * style conflicts between different pages or instances.
2221
+ *
2222
+ * Output Structure:
2223
+ * - Font preload and stylesheet links for performance
2224
+ * - Three style blocks: theme variables, default styles, block styles
2225
+ * - All CSS properly scoped and organized by purpose
2226
+ *
2227
+ * @param pageTheme - Complete theme configuration for the page
2228
+ * @param blocks - Array of block instances with styling data
2229
+ * @param pageID - Unique identifier for CSS scoping
2230
+ * @returns Object with processed theme data and HTML for injection
2231
+ */
2232
+ export declare const processTheme: ({ pageTheme, blocks, pageID, device, }: {
2233
+ pageTheme: ITheme;
2234
+ blocks?: IBlockInstance[];
2235
+ pageID?: string;
2236
+ device?: IPreviewDevice;
2237
+ }) => {
2238
+ theme: ITheme;
2239
+ fonts: string[];
2240
+ fontUrl: string;
2241
+ styles: {
2242
+ theme: string;
2243
+ default: string;
2244
+ blocks: string;
2245
+ };
2246
+ html: string;
2247
+ };
2248
+
2249
+ export declare const RegisterModal: ({ eventID, title, external, buttonText, }: {
2250
+ eventID: string;
2251
+ title?: string;
2252
+ external?: string;
2253
+ buttonText?: string;
2254
+ }) => JSX.Element;
2255
+
2256
+ export declare const resolveStyles: ({ skeleton, blockFetchedContent, blockSources, currentPath, }: {
2257
+ skeleton: any;
2258
+ blockFetchedContent: Record<string, any>;
2259
+ blockSources: IStudioSource[];
2260
+ currentPath?: string;
2261
+ }) => any;
2262
+
2263
+ export declare const resolveVariables: ({ skeleton, blockFetchedContent, blockSources, pageContext, siteData, currentPath, _resolvedKeys, _contextKeys, }: {
2264
+ skeleton: any;
2265
+ blockFetchedContent: Record<string, any>;
2266
+ blockSources: IStudioSource[];
2267
+ pageContext: Record<string, any>;
2268
+ siteData?: Record<string, any>;
2269
+ currentPath?: string;
2270
+ _resolvedKeys?: Record<string, any>;
2271
+ _contextKeys?: Record<string, any>;
2272
+ }) => any;
2273
+
2274
+ /**
2275
+ * Convert RGBA color to OKLCH object format for theme storage
2276
+ * Returns default black color for invalid input
2277
+ */
2278
+ export declare const rgbaToOKLCH: (rgba: {
2279
+ r: number;
2280
+ g: number;
2281
+ b: number;
2282
+ a?: number;
2283
+ }) => OKLCHColor;
2284
+
2285
+ /**
2286
+ * Convert RGBA to OKLCH CSS string format (for non-theme usage)
2287
+ */
2288
+ export declare const rgbaToOKLCHString: (rgba: {
2289
+ r: number;
2290
+ g: number;
2291
+ b: number;
2292
+ a?: number;
2293
+ }) => string;
2294
+
2295
+ /** Sample comment skeleton for background display */
2296
+ export declare const SampleCommentSkeleton: default_2.FC<{
2297
+ opacity?: number;
2298
+ }>;
2299
+
2300
+ /** Sample post skeleton for background display */
2301
+ export declare const SamplePostSkeleton: default_2.FC<{
2302
+ opacity?: number;
2303
+ }>;
2304
+
2305
+ /**
2306
+ * Sanitizes a background effect configuration by removing invalid values
2307
+ */
2308
+ export declare const sanitizeBackgroundEffectConfig: (config: BackgroundEffectConfig) => BackgroundEffectConfig;
2309
+
2310
+ /**
2311
+ * Sanitizes element key for use in CSS class names
2312
+ * Replaces dots with dashes and removes invalid characters
2313
+ */
2314
+ export declare const sanitizeElementKey: (elementKey: string) => string;
2315
+
2316
+ declare interface Scores {
2317
+ performance: number;
2318
+ seo: number;
2319
+ "best-practices": number;
2320
+ accessibility: number;
2321
+ }
2322
+
2323
+ /** Scroll-linked animation configuration with from/to states */
2324
+ export declare interface ScrollAnimationConfig {
2325
+ from?: AnimationProperties;
2326
+ to?: AnimationProperties;
2327
+ offset?: ScrollAnimationOffset;
2328
+ }
2329
+
2330
+ /** Scroll animation offset configuration */
2331
+ export declare interface ScrollAnimationOffset {
2332
+ start: ScrollOffsetPosition;
2333
+ end: ScrollOffsetPosition;
2334
+ }
2335
+
2336
+ /**
2337
+ * Valid scroll offset position strings for Motion's scroll() API
2338
+ * Format: "element-position viewport-position"
2339
+ * Examples: "start end" means animation starts when element's start meets viewport's end
2340
+ */
2341
+ declare type ScrollOffsetPosition = "start start" | "start center" | "start end" | "center start" | "center center" | "center end" | "end start" | "end center" | "end end" | `start ${number}%` | `center ${number}%` | `end ${number}%` | `${number}% start` | `${number}% center` | `${number}% end` | `${number}% ${number}%`;
2342
+
2343
+ export declare const SearchInput: default_2.FC<IInputProps>;
2344
+
2345
+ export declare const Section: WithBlockPropsComponent<BaseSectionProps & default_2.RefAttributes<HTMLElement>>;
2346
+
2347
+ export declare interface SelectableItem {
2348
+ type: SelectableType;
2349
+ rect: HighlightRect | null;
2350
+ element: HTMLElement | null;
2351
+ parentBlockId?: string;
2352
+ }
2353
+
2354
+ export declare type SelectableType = "block" | "element" | "repeatable" | "repeatableParent";
2355
+
2356
+ export declare interface SelectionState {
2357
+ selected: Record<SelectableType, SelectableItem | null>;
2358
+ hovered: Record<SelectableType, SelectableItem | null>;
2359
+ }
2360
+
2361
+ export declare const SimpleTooltipWrapper: React_2.FC<{
2362
+ children: React_2.ReactNode;
2363
+ label?: string | React_2.ReactElement;
2364
+ labelClassName?: string;
2365
+ asChild?: boolean;
2366
+ contentProps?: React_2.ComponentProps<typeof TooltipContent>;
2367
+ side?: "top" | "bottom" | "left" | "right";
2368
+ }>;
2369
+
2370
+ export declare function Skeleton({ className, ...props }: React.ComponentProps<"div">): JSX.Element;
2371
+
2372
+ export declare interface SourceFetchOptions {
2373
+ levoClient: ILevoClient;
2374
+ source: IStudioSource;
2375
+ workspace_id: string;
2376
+ slugs?: Record<string, string>;
2377
+ params?: Record<string, unknown>;
2378
+ cookies?: string;
2379
+ draft?: boolean;
2380
+ }
2381
+
2382
+ export declare interface SourceURL {
2383
+ baseUrl: string;
2384
+ path: string;
2385
+ query?: Record<string, unknown>;
2386
+ }
2387
+
2388
+ export declare const StatContainer: default_2.FC<default_2.ComponentProps<"div">>;
2389
+
2390
+ export declare type StudioData = {
2391
+ pageData?: {
2392
+ pageData: IPageExpanded;
2393
+ parsedPageData: IPageExpanded;
2394
+ context?: IPageDataContext;
2395
+ headCode?: string;
2396
+ };
2397
+ blockData?: {
2398
+ blockData: IBlockInstance;
2399
+ parsedBlockData: IBlockInstance;
2400
+ context?: IPageDataContext;
2401
+ theme?: ITheme;
2402
+ blockContext?: Record<string, any>;
2403
+ pageContext?: Record<string, any>;
2404
+ pageSource?: IStudioSource[];
2405
+ };
2406
+ workspace?: IWorkspace;
2407
+ site?: ISite;
2408
+ };
2409
+
2410
+ export declare type StudioHint = {
2411
+ prompt_description?: string;
2412
+ } & (MediaHint | ContentHint | GroupHint);
2413
+
2414
+ export declare const StudioPreview: React.FC<{
2415
+ blocks: Record<string, BlockComponent>;
2416
+ }>;
2417
+
2418
+ export declare interface StudioState {
2419
+ selected: ISelection;
2420
+ hovered: ISelection;
2421
+ actions: {
2422
+ openBlockEditor: (params: ISelection) => void;
2423
+ setHovered: (params: ISelection) => void;
2424
+ setSelected: (params: ISelection) => void;
2425
+ };
2426
+ }
2427
+
2428
+ export declare const StudioWidgetList: readonly ["BoxWidget", "ButtonWidget", "LayoutWidget", "HeadingWidget", "IframeWidget", "ImageWidget", "IconWidget", "MediaWidget", "TypographyWidget", "BlogContentWidget", "CarouselWidget", "FormWidget", "ContainerWidget", "UserMenuWidget", "TabsListWidget", "TabsTriggerWidget", "TabsContentWidget", "CardWidget", "TitleWidget", "TextWidget", "NumberWidget", "URLWidget", "ImageUploadWidget", "MultiImageUploadWidget", "TextareaWidget", "RichTextWidget", "DropdownWidget", "SwitchWidget", "DateWidget", "ArrayWidget", "RecordWidget"];
2429
+
2430
+ export declare const StudioWidgetMap: Record<"BoxWidget" | "ButtonWidget" | "LayoutWidget" | "HeadingWidget" | "IframeWidget" | "ImageWidget" | "IconWidget" | "MediaWidget" | "TypographyWidget" | "BlogContentWidget" | "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" | "BlogContentWidget" | "CarouselWidget" | "FormWidget" | "ContainerWidget" | "UserMenuWidget" | "TabsListWidget" | "TabsTriggerWidget" | "TabsContentWidget" | "CardWidget" | "TitleWidget" | "TextWidget" | "NumberWidget" | "URLWidget" | "ImageUploadWidget" | "MultiImageUploadWidget" | "TextareaWidget" | "RichTextWidget" | "DropdownWidget" | "SwitchWidget" | "DateWidget" | "ArrayWidget" | "RecordWidget">;
2431
+
2432
+ export declare const TabsContent: WithBlockPropsComponent<BaseTabsContentProps>;
2433
+
2434
+ export declare const TabsList: WithBlockPropsComponent<BaseTabsListProps>;
2435
+
2436
+ export declare const TabsRoot: React_2.ForwardRefExoticComponent<Tabs.TabsProps & React_2.RefAttributes<HTMLDivElement>>;
2437
+
2438
+ export declare const TabsTrigger: WithBlockPropsComponent<BaseTabsTriggerProps>;
2439
+
2440
+ export declare const Tooltip: React_2.FC<Tooltip_2.TooltipProps>;
2441
+
2442
+ export declare const TooltipContent: React_2.ForwardRefExoticComponent<Omit<Tooltip_2.TooltipContentProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
2443
+
2444
+ export declare const TooltipPortal: React_2.FC<Tooltip_2.TooltipPortalProps>;
2445
+
2446
+ export declare const TooltipProvider: React_2.FC<Tooltip_2.TooltipProviderProps>;
2447
+
2448
+ export declare const TooltipTrigger: React_2.ForwardRefExoticComponent<Tooltip_2.TooltipTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
2449
+
2450
+ /** Transition configuration for animations */
2451
+ export declare interface TransitionConfig {
2452
+ type?: "spring" | "tween" | "keyframes";
2453
+ duration?: number;
2454
+ delay?: number;
2455
+ /** Easing function for tween transitions */
2456
+ ease?: TweenEase;
2457
+ /** Bounce amount for spring transitions (0-1) */
2458
+ bounce?: number;
2459
+ }
2460
+
2461
+ /** Available easing functions for tween transitions */
2462
+ export declare type TweenEase = "linear" | "easeIn" | "easeOut" | "easeInOut" | "circIn" | "circOut" | "circInOut" | "backIn" | "backOut" | "backInOut" | "anticipate";
2463
+
2464
+ declare type TypeAccordionComponentProps = React_2.ComponentPropsWithoutRef<typeof Accordion.Root>;
2465
+
2466
+ declare type TypePopoverContentComponentProps = React_2.ComponentPropsWithoutRef<typeof Popover.Content>;
2467
+
2468
+ declare type TypePopoverTriggerComponentProps = React_2.ComponentPropsWithoutRef<typeof Popover.Trigger>;
2469
+
2470
+ declare type TypeTabsContentComponentProps = React_2.ComponentPropsWithoutRef<typeof Tabs.Content>;
2471
+
2472
+ declare type TypeTabsListComponentProps = React_2.ComponentPropsWithoutRef<typeof Tabs.List>;
2473
+
2474
+ declare type TypeTabsTriggerComponentProps = React_2.ComponentPropsWithoutRef<typeof Tabs.Trigger>;
2475
+
2476
+ export declare const Typography: WithBlockPropsComponent<BaseTypographyProps & default_2.RefAttributes<HTMLDivElement>>;
2477
+
2478
+ export declare const useAuth: () => IAuthProviderInterface;
2479
+
2480
+ export declare const useBlockContext: () => BlockContextType;
2481
+
2482
+ declare type UseCarouselParameters = Parameters<typeof default_3>;
2483
+
2484
+ /**
2485
+ * Hook to create memoized common props for components
2486
+ * Excludes frequently changing props that don't affect animation
2487
+ *
2488
+ * @param props - The original props object
2489
+ * @param elementKey - The element key
2490
+ * @param configValue - The field configuration
2491
+ * @param stylesValue - The styles value
2492
+ * @param contentValue - The content value
2493
+ * @param generatedClassName - The generated CSS class name
2494
+ * @returns Memoized common props object
2495
+ */
2496
+ export declare const useCommonProps: <P extends Record<string, unknown>>(props: P, elementKey: string, configValue: unknown, stylesValue: unknown, contentValue: unknown, generatedClassName: string) => ExtendedProps<P>;
2497
+
2498
+ export declare const useContentEngine: (field_key: string) => {
2499
+ query: Record<string, any>;
2500
+ setQuery: (newQuery: Record<string, any>) => void;
2501
+ loading: boolean;
2502
+ data: any;
2503
+ meta: IMeta | undefined;
2504
+ };
2505
+
2506
+ export declare const useContextEngine: <T = Record<string, unknown>, M extends IMeta = IMeta>(field_key: string) => {
2507
+ query: Record<string, any>;
2508
+ setQuery: (newQuery: Record<string, any>) => void;
2509
+ loading: boolean;
2510
+ response: {
2511
+ meta: M;
2512
+ data: T[];
2513
+ } | undefined;
2514
+ };
2515
+
2516
+ export declare const useDotButton: (emblaApi: CarouselApi | undefined) => IUseDotButtonType;
2517
+
2518
+ /**
2519
+ * Hook to use forum context
2520
+ */
2521
+ export declare const useForumContext: () => IForumContext;
2522
+
2523
+ /**
2524
+ * Hook to generate and memoize CSS class names for an element
2525
+ * Prevents unnecessary re-renders when class names haven't changed
2526
+ *
2527
+ * @param elementKey - The element key identifier
2528
+ * @param blockId - The block ID
2529
+ * @param configValue - The field configuration
2530
+ * @returns Memoized CSS class name string
2531
+ */
2532
+ export declare const useGeneratedClassName: (elementKey: string, blockId: string, configValue: IFieldConfig | undefined) => string;
2533
+
2534
+ /**
2535
+ * Pure API operations hook for authentication
2536
+ * All form state management moved to components with Formik
2537
+ */
2538
+ export declare const useLogin: () => IUseLoginReturn;
2539
+
2540
+ export declare const usePageContext: (module: IStudioSource["module"]) => any;
2541
+
2542
+ export declare const UserMenu: WithBlockPropsComponent<BaseUserMenuProps>;
2543
+
2544
+ /**
2545
+ * Hook for managing Stripe Embedded Checkout modal
2546
+ * Lazy loads Stripe SDK and manages modal state
2547
+ */
2548
+ export declare const useStripePayment: () => IUseStripePaymentReturn;
2549
+
2550
+ /** Viewport trigger configuration for entry animations */
2551
+ export declare interface ViewportConfig {
2552
+ once?: boolean;
2553
+ amount?: "some" | "all" | number;
2554
+ margin?: string;
2555
+ }
2556
+
2557
+ declare type WithBlockPropsComponent<P = {}> = (props: P & {
2558
+ children?: BlockChildren;
2559
+ }) => ReactElement | null;
2560
+
2561
+ export { }