@levo-so/studio 0.1.81 → 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.
- package/dist/AuthProvider-Ch5Ny0il.js +118 -0
- package/dist/Beams-BqUps11n.js +118 -0
- package/dist/BillingStep-DifEK8oa.js +181 -0
- package/dist/Button-Ct2fjM5v.js +1078 -0
- package/dist/Dots-BKqlE-Rv.js +137 -0
- package/dist/EntryCard-UWxVYAD_.js +52 -0
- package/dist/Gradient-hC5P0PfD.js +41 -0
- package/dist/Grid-DqZKCasl.js +145 -0
- package/dist/LoginCard-BKq_s4ZT.js +47 -0
- package/dist/LoginForm-54dtpOlx.js +793 -0
- package/dist/LoginModal-DTSAYZLC.js +48 -0
- package/dist/MessageCard-YUS-pnpe.js +54 -0
- package/dist/MessageFooter-DrJ6jZ_n.js +28 -0
- package/dist/ModalManager-DLxbnq-i.js +32 -0
- package/dist/PendingApprovalCard-BnteoK24.js +81 -0
- package/dist/StripePaymentModal-Kk0GUsIU.js +56 -0
- package/dist/Waves-CzQRk01F.js +169 -0
- package/dist/bookingCard-BSYtboqu.js +577 -0
- package/dist/card-oIl95-_C.js +37 -0
- package/dist/dialog-BRgfpVtv.js +92 -0
- package/dist/index.d.ts +2561 -22
- package/dist/index.js +78144 -174
- package/dist/studio.css +2 -1
- package/package.json +24 -24
- package/dist/Beams-Bg-dVxl6.js +0 -187
- package/dist/BillingStep-BbQdIZN7.js +0 -203
- package/dist/Dots-BcyEjNOn.js +0 -173
- package/dist/Gradient-BAEhRmAX.js +0 -50
- package/dist/Grid-PY2gXiCU.js +0 -174
- package/dist/MessageCard-BIF1Gvn5.js +0 -45
- package/dist/Waves-CZHzs7wt.js +0 -144
- package/dist/blockSmith/ContentSchemaGenerator.d.ts +0 -4
- package/dist/blockSmith/ContentSchemaGenerator.d.ts.map +0 -1
- package/dist/blockSmith/DefaultContentGenerator.d.ts +0 -2
- package/dist/blockSmith/DefaultContentGenerator.d.ts.map +0 -1
- package/dist/blockSmith/DefaultStylesGenerator.d.ts +0 -2
- package/dist/blockSmith/DefaultStylesGenerator.d.ts.map +0 -1
- package/dist/blockSmith/index.d.ts +0 -3
- package/dist/blockSmith/index.d.ts.map +0 -1
- package/dist/blockSmith/variablePropertMap.d.ts +0 -2
- package/dist/blockSmith/variablePropertMap.d.ts.map +0 -1
- package/dist/bridge/Highlighter.d.ts +0 -14
- package/dist/bridge/Highlighter.d.ts.map +0 -1
- package/dist/bridge/PreviewHighlighter.d.ts +0 -9
- package/dist/bridge/PreviewHighlighter.d.ts.map +0 -1
- package/dist/bridge/StudioBlockPreview.d.ts +0 -9
- package/dist/bridge/StudioBlockPreview.d.ts.map +0 -1
- package/dist/bridge/StudioPagePreview.d.ts +0 -23
- package/dist/bridge/StudioPagePreview.d.ts.map +0 -1
- package/dist/bridge/StudioPreview.d.ts +0 -26
- package/dist/bridge/StudioPreview.d.ts.map +0 -1
- package/dist/bridge/constants.d.ts +0 -23
- package/dist/bridge/constants.d.ts.map +0 -1
- package/dist/bridge/hooks/useElementTracker.d.ts +0 -9
- package/dist/bridge/hooks/useElementTracker.d.ts.map +0 -1
- package/dist/bridge/index.d.ts +0 -6
- package/dist/bridge/index.d.ts.map +0 -1
- package/dist/bridge/types.d.ts +0 -60
- package/dist/bridge/types.d.ts.map +0 -1
- package/dist/bridge/utils.d.ts +0 -13
- package/dist/bridge/utils.d.ts.map +0 -1
- package/dist/components/ActionWrapper.d.ts +0 -8
- package/dist/components/ActionWrapper.d.ts.map +0 -1
- package/dist/components/AnimatedBlock.d.ts +0 -50
- package/dist/components/AnimatedBlock.d.ts.map +0 -1
- package/dist/components/BackgroundVideo.d.ts +0 -6
- package/dist/components/BackgroundVideo.d.ts.map +0 -1
- package/dist/components/LoginForm/AuthMethodRenderer.d.ts +0 -12
- package/dist/components/LoginForm/AuthMethodRenderer.d.ts.map +0 -1
- package/dist/components/LoginForm/ErrorDisplay.d.ts +0 -8
- package/dist/components/LoginForm/ErrorDisplay.d.ts.map +0 -1
- package/dist/components/LoginForm/GoogleOAuth.d.ts +0 -11
- package/dist/components/LoginForm/GoogleOAuth.d.ts.map +0 -1
- package/dist/components/LoginForm/MagicLinkAuthForm.d.ts +0 -6
- package/dist/components/LoginForm/MagicLinkAuthForm.d.ts.map +0 -1
- package/dist/components/LoginForm/OAuthSection.d.ts +0 -11
- package/dist/components/LoginForm/OAuthSection.d.ts.map +0 -1
- package/dist/components/LoginForm/OtpAuthForm.d.ts +0 -2
- package/dist/components/LoginForm/OtpAuthForm.d.ts.map +0 -1
- package/dist/components/LoginForm/WhatsAppAuthForm.d.ts +0 -2
- package/dist/components/LoginForm/WhatsAppAuthForm.d.ts.map +0 -1
- package/dist/components/LoginForm/index.d.ts +0 -12
- package/dist/components/LoginForm/index.d.ts.map +0 -1
- package/dist/components/LoginModal/index.d.ts +0 -7
- package/dist/components/LoginModal/index.d.ts.map +0 -1
- package/dist/components/accessCard/EntryCard/index.d.ts +0 -11
- package/dist/components/accessCard/EntryCard/index.d.ts.map +0 -1
- package/dist/components/accessCard/LoginCard/index.d.ts +0 -9
- package/dist/components/accessCard/LoginCard/index.d.ts.map +0 -1
- package/dist/components/accessCard/MessageCard.d.ts +0 -10
- package/dist/components/accessCard/MessageCard.d.ts.map +0 -1
- package/dist/components/accessCard/MessageFooter/index.d.ts +0 -3
- package/dist/components/accessCard/MessageFooter/index.d.ts.map +0 -1
- package/dist/components/accessCard/card/index.d.ts +0 -10
- package/dist/components/accessCard/card/index.d.ts.map +0 -1
- package/dist/components/backgroundPresets/Beams.d.ts +0 -10
- package/dist/components/backgroundPresets/Beams.d.ts.map +0 -1
- package/dist/components/backgroundPresets/Dots.d.ts +0 -12
- package/dist/components/backgroundPresets/Dots.d.ts.map +0 -1
- package/dist/components/backgroundPresets/Gradient.d.ts +0 -10
- package/dist/components/backgroundPresets/Gradient.d.ts.map +0 -1
- package/dist/components/backgroundPresets/Grid.d.ts +0 -14
- package/dist/components/backgroundPresets/Grid.d.ts.map +0 -1
- package/dist/components/backgroundPresets/Waves.d.ts +0 -12
- package/dist/components/backgroundPresets/Waves.d.ts.map +0 -1
- package/dist/components/backgroundPresets/exports.d.ts +0 -5
- package/dist/components/backgroundPresets/exports.d.ts.map +0 -1
- package/dist/components/backgroundPresets/index.d.ts +0 -9
- package/dist/components/backgroundPresets/index.d.ts.map +0 -1
- package/dist/components/backgroundPresets/presetSystem.d.ts +0 -10
- package/dist/components/backgroundPresets/presetSystem.d.ts.map +0 -1
- package/dist/components/backgroundPresets/presetUtils.d.ts +0 -19
- package/dist/components/backgroundPresets/presetUtils.d.ts.map +0 -1
- package/dist/components/backgroundPresets/presets.d.ts +0 -39
- package/dist/components/backgroundPresets/presets.d.ts.map +0 -1
- package/dist/components/bookingCard/BillingStep.d.ts +0 -35
- package/dist/components/bookingCard/BillingStep.d.ts.map +0 -1
- package/dist/components/bookingCard/BookingCard.d.ts +0 -81
- package/dist/components/bookingCard/BookingCard.d.ts.map +0 -1
- package/dist/components/bookingCard/index.d.ts +0 -3
- package/dist/components/bookingCard/index.d.ts.map +0 -1
- package/dist/components/bookingModal/BookingConfirmation.d.ts +0 -48
- package/dist/components/bookingModal/BookingConfirmation.d.ts.map +0 -1
- package/dist/components/bookingModal/BookingModal.d.ts +0 -19
- package/dist/components/bookingModal/BookingModal.d.ts.map +0 -1
- package/dist/components/bookingModal/BookingSummary.d.ts +0 -34
- package/dist/components/bookingModal/BookingSummary.d.ts.map +0 -1
- package/dist/components/bookingModal/index.d.ts +0 -4
- package/dist/components/bookingModal/index.d.ts.map +0 -1
- package/dist/components/globalSearch/GlobalSearch.d.ts +0 -7
- package/dist/components/globalSearch/GlobalSearch.d.ts.map +0 -1
- package/dist/components/globalSearch/GlobalSearchDialog.d.ts +0 -6
- package/dist/components/globalSearch/GlobalSearchDialog.d.ts.map +0 -1
- package/dist/components/globalSearch/index.d.ts +0 -2
- package/dist/components/globalSearch/index.d.ts.map +0 -1
- package/dist/components/index.d.ts +0 -4
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/integrationFilters/FieldRenderer.d.ts +0 -10
- package/dist/components/integrationFilters/FieldRenderer.d.ts.map +0 -1
- package/dist/components/integrationFilters/IntegrationFilters.d.ts +0 -11
- package/dist/components/integrationFilters/IntegrationFilters.d.ts.map +0 -1
- package/dist/components/integrationFilters/fields/DropdownField.d.ts +0 -8
- package/dist/components/integrationFilters/fields/DropdownField.d.ts.map +0 -1
- package/dist/components/integrationFilters/fields/TextField.d.ts +0 -7
- package/dist/components/integrationFilters/fields/TextField.d.ts.map +0 -1
- package/dist/components/registerModal/AttendeeForm.d.ts +0 -27
- package/dist/components/registerModal/AttendeeForm.d.ts.map +0 -1
- package/dist/components/registerModal/CouponView.d.ts +0 -14
- package/dist/components/registerModal/CouponView.d.ts.map +0 -1
- package/dist/components/registerModal/RegisterModal.d.ts +0 -7
- package/dist/components/registerModal/RegisterModal.d.ts.map +0 -1
- package/dist/components/registerModal/RegistrationConfirmationModal.d.ts +0 -8
- package/dist/components/registerModal/RegistrationConfirmationModal.d.ts.map +0 -1
- package/dist/components/registerModal/TicketSelectionStep.d.ts +0 -15
- package/dist/components/registerModal/TicketSelectionStep.d.ts.map +0 -1
- package/dist/components/registerModal/useCustomDisclosure.d.ts +0 -18
- package/dist/components/registerModal/useCustomDisclosure.d.ts.map +0 -1
- package/dist/components/registerModal/utils.d.ts +0 -86
- package/dist/components/registerModal/utils.d.ts.map +0 -1
- package/dist/components/shared/EmailInput/index.d.ts +0 -10
- package/dist/components/shared/EmailInput/index.d.ts.map +0 -1
- package/dist/components/shared/MagicLinkSuccess/index.d.ts +0 -7
- package/dist/components/shared/MagicLinkSuccess/index.d.ts.map +0 -1
- package/dist/components/shared/OTPInput/index.d.ts +0 -11
- package/dist/components/shared/OTPInput/index.d.ts.map +0 -1
- package/dist/components/shared/PhoneInput/index.d.ts +0 -10
- package/dist/components/shared/PhoneInput/index.d.ts.map +0 -1
- package/dist/components/stripePaymentModal/StripePaymentModal.d.ts +0 -22
- package/dist/components/stripePaymentModal/StripePaymentModal.d.ts.map +0 -1
- package/dist/components/stripePaymentModal/index.d.ts +0 -3
- package/dist/components/stripePaymentModal/index.d.ts.map +0 -1
- package/dist/components/ui/Calendar.d.ts +0 -5
- package/dist/components/ui/Calendar.d.ts.map +0 -1
- package/dist/components/ui/FlippingText.d.ts +0 -6
- package/dist/components/ui/FlippingText.d.ts.map +0 -1
- package/dist/components/ui/StatefulButton/index.d.ts +0 -15
- package/dist/components/ui/StatefulButton/index.d.ts.map +0 -1
- package/dist/components/ui/base/avatar.d.ts +0 -13
- package/dist/components/ui/base/avatar.d.ts.map +0 -1
- package/dist/components/ui/base/index.d.ts +0 -6
- package/dist/components/ui/base/index.d.ts.map +0 -1
- package/dist/components/ui/base/input.d.ts +0 -4
- package/dist/components/ui/base/input.d.ts.map +0 -1
- package/dist/components/ui/base/kbd.d.ts +0 -4
- package/dist/components/ui/base/kbd.d.ts.map +0 -1
- package/dist/components/ui/base/skeleton.d.ts +0 -3
- package/dist/components/ui/base/skeleton.d.ts.map +0 -1
- package/dist/components/ui/base/textarea.d.ts +0 -4
- package/dist/components/ui/base/textarea.d.ts.map +0 -1
- package/dist/components/ui/base/tooltip.d.ts +0 -17
- package/dist/components/ui/base/tooltip.d.ts.map +0 -1
- package/dist/components/ui/form/FormInput.d.ts +0 -17
- package/dist/components/ui/form/FormInput.d.ts.map +0 -1
- package/dist/components/ui/form/FormSelect.d.ts +0 -17
- package/dist/components/ui/form/FormSelect.d.ts.map +0 -1
- package/dist/components/ui/form/FormTextarea.d.ts +0 -15
- package/dist/components/ui/form/FormTextarea.d.ts.map +0 -1
- package/dist/components/ui/form/utils/FieldError.d.ts +0 -5
- package/dist/components/ui/form/utils/FieldError.d.ts.map +0 -1
- package/dist/components/ui/form/utils/FieldWrapper.d.ts +0 -19
- package/dist/components/ui/form/utils/FieldWrapper.d.ts.map +0 -1
- package/dist/components/ui/form/utils/FormHelperText.d.ts +0 -7
- package/dist/components/ui/form/utils/FormHelperText.d.ts.map +0 -1
- package/dist/components/ui/form/utils/FormLabel.d.ts +0 -8
- package/dist/components/ui/form/utils/FormLabel.d.ts.map +0 -1
- package/dist/components/ui/index.d.ts +0 -5
- package/dist/components/ui/index.d.ts.map +0 -1
- package/dist/components/withBlockProps.d.ts +0 -53
- package/dist/components/withBlockProps.d.ts.map +0 -1
- package/dist/constants/animation.d.ts +0 -10
- package/dist/constants/animation.d.ts.map +0 -1
- package/dist/constants/authentication.d.ts +0 -41
- package/dist/constants/authentication.d.ts.map +0 -1
- package/dist/contentEngine/cache.d.ts +0 -5
- package/dist/contentEngine/cache.d.ts.map +0 -1
- package/dist/contentEngine/content.d.ts +0 -57
- package/dist/contentEngine/content.d.ts.map +0 -1
- package/dist/contentEngine/getPage.d.ts +0 -11
- package/dist/contentEngine/getPage.d.ts.map +0 -1
- package/dist/contentEngine/head_code.d.ts +0 -3
- package/dist/contentEngine/head_code.d.ts.map +0 -1
- package/dist/contentEngine/index.d.ts +0 -12
- package/dist/contentEngine/index.d.ts.map +0 -1
- package/dist/contentEngine/sourceFetcher.d.ts +0 -17
- package/dist/contentEngine/sourceFetcher.d.ts.map +0 -1
- package/dist/contentEngine/themeUtils.d.ts +0 -150
- package/dist/contentEngine/themeUtils.d.ts.map +0 -1
- package/dist/contentEngine/types.d.ts +0 -29
- package/dist/contentEngine/types.d.ts.map +0 -1
- package/dist/contentEngine/urlBuilder.d.ts +0 -9
- package/dist/contentEngine/urlBuilder.d.ts.map +0 -1
- package/dist/contentEngine/useContentEngine.d.ts +0 -9
- package/dist/contentEngine/useContentEngine.d.ts.map +0 -1
- package/dist/contentEngine/useContextEngine.d.ts +0 -12
- package/dist/contentEngine/useContextEngine.d.ts.map +0 -1
- package/dist/contentEngine/usePageContext.d.ts +0 -4
- package/dist/contentEngine/usePageContext.d.ts.map +0 -1
- package/dist/context/ForumContext.d.ts +0 -48
- package/dist/context/ForumContext.d.ts.map +0 -1
- package/dist/context/ModalManager.d.ts +0 -21
- package/dist/context/ModalManager.d.ts.map +0 -1
- package/dist/core/AccessManager/index.d.ts +0 -11
- package/dist/core/AccessManager/index.d.ts.map +0 -1
- package/dist/core/BlockRegistry.d.ts +0 -20
- package/dist/core/BlockRegistry.d.ts.map +0 -1
- package/dist/core/LevoBlock.d.ts +0 -17
- package/dist/core/LevoBlock.d.ts.map +0 -1
- package/dist/core/LevoPage.d.ts +0 -17
- package/dist/core/LevoPage.d.ts.map +0 -1
- package/dist/core/index.d.ts +0 -4
- package/dist/core/index.d.ts.map +0 -1
- package/dist/elements/AlertDialog/index.d.ts +0 -23
- package/dist/elements/AlertDialog/index.d.ts.map +0 -1
- package/dist/elements/BlogContent.d.ts +0 -12
- package/dist/elements/BlogContent.d.ts.map +0 -1
- package/dist/elements/Box.d.ts +0 -7
- package/dist/elements/Box.d.ts.map +0 -1
- package/dist/elements/Button.d.ts +0 -10
- package/dist/elements/Button.d.ts.map +0 -1
- package/dist/elements/Carousel.d.ts +0 -27
- package/dist/elements/Carousel.d.ts.map +0 -1
- package/dist/elements/Container.d.ts +0 -7
- package/dist/elements/Container.d.ts.map +0 -1
- package/dist/elements/EditForm.d.ts +0 -11
- package/dist/elements/EditForm.d.ts.map +0 -1
- package/dist/elements/Form.d.ts +0 -9
- package/dist/elements/Form.d.ts.map +0 -1
- package/dist/elements/Heading.d.ts +0 -7
- package/dist/elements/Heading.d.ts.map +0 -1
- package/dist/elements/Icon.d.ts +0 -10
- package/dist/elements/Icon.d.ts.map +0 -1
- package/dist/elements/Iframe.d.ts +0 -7
- package/dist/elements/Iframe.d.ts.map +0 -1
- package/dist/elements/Image.d.ts +0 -17
- package/dist/elements/Image.d.ts.map +0 -1
- package/dist/elements/Link.d.ts +0 -6
- package/dist/elements/Link.d.ts.map +0 -1
- package/dist/elements/Media.d.ts +0 -22
- package/dist/elements/Media.d.ts.map +0 -1
- package/dist/elements/Section.d.ts +0 -8
- package/dist/elements/Section.d.ts.map +0 -1
- package/dist/elements/Tabs.d.ts +0 -21
- package/dist/elements/Tabs.d.ts.map +0 -1
- package/dist/elements/Typography.d.ts +0 -8
- package/dist/elements/Typography.d.ts.map +0 -1
- package/dist/elements/UserMenu.d.ts +0 -8
- package/dist/elements/UserMenu.d.ts.map +0 -1
- package/dist/elements/accordion/index.d.ts +0 -20
- package/dist/elements/accordion/index.d.ts.map +0 -1
- package/dist/elements/dialog/index.d.ts +0 -16
- package/dist/elements/dialog/index.d.ts.map +0 -1
- package/dist/elements/forum/ForumPost.d.ts +0 -18
- package/dist/elements/forum/ForumPost.d.ts.map +0 -1
- package/dist/elements/forum/ForumPostContentRenderer.d.ts +0 -8
- package/dist/elements/forum/ForumPostContentRenderer.d.ts.map +0 -1
- package/dist/elements/forum/SearchInput.d.ts +0 -5
- package/dist/elements/forum/SearchInput.d.ts.map +0 -1
- package/dist/elements/forum/categoryFilter/CategoryFilter.d.ts +0 -16
- package/dist/elements/forum/categoryFilter/CategoryFilter.d.ts.map +0 -1
- package/dist/elements/forum/categoryFilter/index.d.ts +0 -2
- package/dist/elements/forum/categoryFilter/index.d.ts.map +0 -1
- package/dist/elements/forum/comments/Comment.d.ts +0 -14
- package/dist/elements/forum/comments/Comment.d.ts.map +0 -1
- package/dist/elements/forum/comments/Comments.d.ts +0 -9
- package/dist/elements/forum/comments/Comments.d.ts.map +0 -1
- package/dist/elements/forum/comments/ReplyBox.d.ts +0 -11
- package/dist/elements/forum/comments/ReplyBox.d.ts.map +0 -1
- package/dist/elements/forum/comments/commentUtility.d.ts +0 -25
- package/dist/elements/forum/comments/commentUtility.d.ts.map +0 -1
- package/dist/elements/forum/comments/index.d.ts +0 -2
- package/dist/elements/forum/comments/index.d.ts.map +0 -1
- package/dist/elements/forum/createForumPost/CreateForumPost.d.ts +0 -9
- package/dist/elements/forum/createForumPost/CreateForumPost.d.ts.map +0 -1
- package/dist/elements/forum/createForumPost/CreateForumPostModal.d.ts +0 -87
- package/dist/elements/forum/createForumPost/CreateForumPostModal.d.ts.map +0 -1
- package/dist/elements/forum/createForumPost/index.d.ts +0 -2
- package/dist/elements/forum/createForumPost/index.d.ts.map +0 -1
- package/dist/elements/forum/index.d.ts +0 -8
- package/dist/elements/forum/index.d.ts.map +0 -1
- package/dist/elements/forum/restrictionOverlays/CommentsRestrictionOverlay.d.ts +0 -16
- package/dist/elements/forum/restrictionOverlays/CommentsRestrictionOverlay.d.ts.map +0 -1
- package/dist/elements/forum/restrictionOverlays/JoinRequestForm.d.ts +0 -14
- package/dist/elements/forum/restrictionOverlays/JoinRequestForm.d.ts.map +0 -1
- package/dist/elements/forum/restrictionOverlays/PendingRequestState.d.ts +0 -11
- package/dist/elements/forum/restrictionOverlays/PendingRequestState.d.ts.map +0 -1
- package/dist/elements/forum/restrictionOverlays/PostsRestrictionOverlay.d.ts +0 -16
- package/dist/elements/forum/restrictionOverlays/PostsRestrictionOverlay.d.ts.map +0 -1
- package/dist/elements/forum/restrictionOverlays/index.d.ts +0 -5
- package/dist/elements/forum/restrictionOverlays/index.d.ts.map +0 -1
- package/dist/elements/forum/utility/Video.d.ts +0 -16
- package/dist/elements/forum/utility/Video.d.ts.map +0 -1
- package/dist/elements/forum/utility/index.d.ts +0 -49
- package/dist/elements/forum/utility/index.d.ts.map +0 -1
- package/dist/elements/index.d.ts +0 -21
- package/dist/elements/index.d.ts.map +0 -1
- package/dist/elements/popover/index.d.ts +0 -17
- package/dist/elements/popover/index.d.ts.map +0 -1
- package/dist/hooks/index.d.ts +0 -3
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/useLogin.d.ts +0 -22
- package/dist/hooks/useLogin.d.ts.map +0 -1
- package/dist/hooks/useStripePayment.d.ts +0 -49
- package/dist/hooks/useStripePayment.d.ts.map +0 -1
- package/dist/index-BHRWOQZs.js +0 -422
- package/dist/index-BJBZFS85.js +0 -35
- package/dist/index-BMInQJyD.js +0 -23
- package/dist/index-BuNQ7dUE.js +0 -765
- package/dist/index-Cch5jWlo.js +0 -29
- package/dist/index-Ch9QPTz1.js +0 -11100
- package/dist/index-DCDaZb-C.js +0 -56
- package/dist/index-IcG2wuuE.js +0 -31
- package/dist/interfaces/block.d.ts +0 -50
- package/dist/interfaces/block.d.ts.map +0 -1
- package/dist/interfaces/contentSchema.d.ts +0 -40
- package/dist/interfaces/contentSchema.d.ts.map +0 -1
- package/dist/interfaces/form.d.ts +0 -33
- package/dist/interfaces/form.d.ts.map +0 -1
- package/dist/interfaces/index.d.ts +0 -7
- package/dist/interfaces/index.d.ts.map +0 -1
- package/dist/interfaces/levoBlock.d.ts +0 -285
- package/dist/interfaces/levoBlock.d.ts.map +0 -1
- package/dist/interfaces/site.d.ts +0 -2
- package/dist/interfaces/site.d.ts.map +0 -1
- package/dist/interfaces/sites.d.ts +0 -244
- package/dist/interfaces/sites.d.ts.map +0 -1
- package/dist/interfaces/theme.d.ts +0 -146
- package/dist/interfaces/theme.d.ts.map +0 -1
- package/dist/pixel/constants/borderRadius.d.ts +0 -73
- package/dist/pixel/constants/borderRadius.d.ts.map +0 -1
- package/dist/pixel/constants/colorOptions.d.ts +0 -83
- package/dist/pixel/constants/colorOptions.d.ts.map +0 -1
- package/dist/pixel/constants/fontSizeOptions.d.ts +0 -63
- package/dist/pixel/constants/fontSizeOptions.d.ts.map +0 -1
- package/dist/pixel/constants/marginOptions.d.ts +0 -183
- package/dist/pixel/constants/marginOptions.d.ts.map +0 -1
- package/dist/pixel/constants/spaceOptions.d.ts +0 -178
- package/dist/pixel/constants/spaceOptions.d.ts.map +0 -1
- package/dist/pixel/index.d.ts +0 -4
- package/dist/pixel/index.d.ts.map +0 -1
- package/dist/pixel/optionsMap.d.ts +0 -17
- package/dist/pixel/optionsMap.d.ts.map +0 -1
- package/dist/pixel/parserUtil.d.ts +0 -16
- package/dist/pixel/parserUtil.d.ts.map +0 -1
- package/dist/pixel/propertyMap.d.ts +0 -2
- package/dist/pixel/propertyMap.d.ts.map +0 -1
- package/dist/providers/AuthProvider.d.ts +0 -29
- package/dist/providers/AuthProvider.d.ts.map +0 -1
- package/dist/providers/BlockContext.d.ts +0 -19
- package/dist/providers/BlockContext.d.ts.map +0 -1
- package/dist/providers/LazyMotionProvider.d.ts +0 -15
- package/dist/providers/LazyMotionProvider.d.ts.map +0 -1
- package/dist/providers/index.d.ts +0 -4
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/schemas/authSchemas.d.ts +0 -46
- package/dist/schemas/authSchemas.d.ts.map +0 -1
- package/dist/theme/defaultTheme.d.ts +0 -3
- package/dist/theme/defaultTheme.d.ts.map +0 -1
- package/dist/utils/blockHelpers.d.ts +0 -5
- package/dist/utils/blockHelpers.d.ts.map +0 -1
- package/dist/utils/colorUtils.d.ts +0 -66
- package/dist/utils/colorUtils.d.ts.map +0 -1
- package/dist/utils/findFieldSchema.d.ts +0 -6
- package/dist/utils/findFieldSchema.d.ts.map +0 -1
- package/dist/utils/getKeysWithValue.d.ts +0 -3
- package/dist/utils/getKeysWithValue.d.ts.map +0 -1
- package/dist/utils/index.d.ts +0 -5
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/string.d.ts +0 -7
- package/dist/utils/string.d.ts.map +0 -1
- package/dist/utils/withBlockPropsUtils.d.ts +0 -107
- package/dist/utils/withBlockPropsUtils.d.ts.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,22 +1,2561 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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 { }
|