@brunoalz/smartgesti-site-editor 0.2.2 → 1.1.0
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/editor/BlockSelector.d.ts +2 -1
- package/dist/editor/BlockSelector.d.ts.map +1 -1
- package/dist/editor/BlockSelector.js +55 -64
- package/dist/editor/BlockSelector.js.map +1 -1
- package/dist/editor/LandingPageEditor.d.ts +19 -0
- package/dist/editor/LandingPageEditor.d.ts.map +1 -0
- package/dist/editor/LandingPageEditor.js +239 -0
- package/dist/editor/LandingPageEditor.js.map +1 -0
- package/dist/editor/PageTabBar.d.ts +4 -1
- package/dist/editor/PageTabBar.d.ts.map +1 -1
- package/dist/editor/PageTabBar.js +179 -41
- package/dist/editor/PageTabBar.js.map +1 -1
- package/dist/editor/PropertyEditor/BlockPropertyEditor.d.ts +5 -3
- package/dist/editor/PropertyEditor/BlockPropertyEditor.d.ts.map +1 -1
- package/dist/editor/PropertyEditor/BlockPropertyEditor.js +60 -113
- package/dist/editor/PropertyEditor/BlockPropertyEditor.js.map +1 -1
- package/dist/editor/PropertyEditor/CollapsiblePropertyGroup.d.ts +3 -1
- package/dist/editor/PropertyEditor/CollapsiblePropertyGroup.d.ts.map +1 -1
- package/dist/editor/PropertyEditor/CollapsiblePropertyGroup.js +47 -33
- package/dist/editor/PropertyEditor/CollapsiblePropertyGroup.js.map +1 -1
- package/dist/editor/PropertyEditor/PropertyGroup.d.ts +1 -1
- package/dist/editor/PropertyEditor/PropertyGroup.d.ts.map +1 -1
- package/dist/editor/PropertyEditor/VariationSelector.d.ts +2 -1
- package/dist/editor/PropertyEditor/VariationSelector.d.ts.map +1 -1
- package/dist/editor/PropertyEditor/VariationSelector.js +35 -31
- package/dist/editor/PropertyEditor/VariationSelector.js.map +1 -1
- package/dist/editor/PropertyEditor/index.js +30 -28
- package/dist/editor/PropertyEditor/inputs/CarouselImagesInput.d.ts +16 -0
- package/dist/editor/PropertyEditor/inputs/CarouselImagesInput.d.ts.map +1 -0
- package/dist/editor/PropertyEditor/inputs/CarouselImagesInput.js +170 -0
- package/dist/editor/PropertyEditor/inputs/CarouselImagesInput.js.map +1 -0
- package/dist/editor/PropertyEditor/inputs/ImageGridInput.d.ts +1 -1
- package/dist/editor/PropertyEditor/inputs/ImageGridInput.d.ts.map +1 -1
- package/dist/editor/PropertyEditor/inputs/ImageGridInput.js +148 -121
- package/dist/editor/PropertyEditor/inputs/ImageGridInput.js.map +1 -1
- package/dist/editor/PropertyEditor/inputs/ImageInput.d.ts.map +1 -0
- package/dist/{components → editor/PropertyEditor}/inputs/ImageInput.js +41 -39
- package/dist/editor/PropertyEditor/inputs/ImageInput.js.map +1 -0
- package/dist/editor/PropertyEditor/inputs/TypographyInput.js +41 -44
- package/dist/editor/PropertyEditor/inputs/TypographyInput.js.map +1 -1
- package/dist/editor/PropertyEditor/inputs/index.d.ts +2 -0
- package/dist/editor/PropertyEditor/inputs/index.d.ts.map +1 -1
- package/dist/editor/PropertyEditor/renderPropertyInput.d.ts +1 -1
- package/dist/editor/PropertyEditor/renderPropertyInput.d.ts.map +1 -1
- package/dist/editor/PropertyEditor/renderPropertyInput.js +167 -139
- package/dist/editor/PropertyEditor/renderPropertyInput.js.map +1 -1
- package/dist/editor/components/CenterPanel.d.ts +13 -4
- package/dist/editor/components/CenterPanel.d.ts.map +1 -1
- package/dist/editor/components/CenterPanel.js +40 -31
- package/dist/editor/components/CenterPanel.js.map +1 -1
- package/dist/editor/components/LeftPanel.d.ts +2 -1
- package/dist/editor/components/LeftPanel.d.ts.map +1 -1
- package/dist/editor/components/LeftPanel.js +13 -12
- package/dist/editor/components/LeftPanel.js.map +1 -1
- package/dist/editor/components/LoadingSpinner.d.ts.map +1 -0
- package/dist/editor/components/LoadingSpinner.js.map +1 -0
- package/dist/editor/components/RightPanel.d.ts +8 -2
- package/dist/editor/components/RightPanel.d.ts.map +1 -1
- package/dist/editor/components/RightPanel.js +24 -19
- package/dist/editor/components/RightPanel.js.map +1 -1
- package/dist/editor/components/Toolbar.d.ts +5 -1
- package/dist/editor/components/Toolbar.d.ts.map +1 -1
- package/dist/editor/components/Toolbar.js +56 -40
- package/dist/editor/components/Toolbar.js.map +1 -1
- package/dist/engine/export/exportHtml.d.ts +10 -5
- package/dist/engine/export/exportHtml.d.ts.map +1 -1
- package/dist/engine/export/exportHtml.js +38 -40
- package/dist/engine/export/exportHtml.js.map +1 -1
- package/dist/engine/export/exporters/content/HeadingExporter.d.ts.map +1 -1
- package/dist/engine/export/exporters/content/HeadingExporter.js +6 -6
- package/dist/engine/export/exporters/content/HeadingExporter.js.map +1 -1
- package/dist/engine/export/exporters/content/LinkExporter.d.ts.map +1 -1
- package/dist/engine/export/exporters/content/LinkExporter.js +6 -6
- package/dist/engine/export/exporters/content/LinkExporter.js.map +1 -1
- package/dist/engine/export/exporters/content/TextExporter.d.ts.map +1 -1
- package/dist/engine/export/exporters/content/TextExporter.js +7 -7
- package/dist/engine/export/exporters/content/TextExporter.js.map +1 -1
- package/dist/engine/export/exporters/sections/BlogPostExporters.d.ts +6 -0
- package/dist/engine/export/exporters/sections/BlogPostExporters.d.ts.map +1 -0
- package/dist/engine/export/exporters/sections/BlogPostExporters.js +101 -0
- package/dist/engine/export/exporters/sections/BlogPostExporters.js.map +1 -0
- package/dist/engine/export/exporters/sections/FooterExporter.d.ts.map +1 -1
- package/dist/engine/export/exporters/sections/FooterExporter.js +33 -40
- package/dist/engine/export/exporters/sections/FooterExporter.js.map +1 -1
- package/dist/engine/export/exporters/sections/HeroExporter.d.ts.map +1 -1
- package/dist/engine/export/exporters/sections/HeroExporter.js +222 -218
- package/dist/engine/export/exporters/sections/HeroExporter.js.map +1 -1
- package/dist/engine/export/exporters/sections/MarketingExporters.js +88 -88
- package/dist/engine/export/exporters/sections/MarketingExporters.js.map +1 -1
- package/dist/engine/export/exporters/sections/NavbarExporter.js +34 -34
- package/dist/engine/export/exporters/sections/NavbarExporter.js.map +1 -1
- package/dist/engine/export/exporters/sections/index.d.ts.map +1 -1
- package/dist/engine/export/exporters/sections/index.js +29 -22
- package/dist/engine/export/exporters/sections/index.js.map +1 -1
- package/dist/engine/export/sanitizeHtml.d.ts.map +1 -1
- package/dist/engine/export/sanitizeHtml.js +65 -18
- package/dist/engine/export/sanitizeHtml.js.map +1 -1
- package/dist/engine/export/styleResolver.d.ts.map +1 -1
- package/dist/engine/export/styleResolver.js +33 -33
- package/dist/engine/export/styleResolver.js.map +1 -1
- package/dist/engine/generators/generateLandingPage.d.ts +4 -4
- package/dist/engine/generators/generateLandingPage.d.ts.map +1 -1
- package/dist/engine/generators/generateLandingPage.js.map +1 -1
- package/dist/engine/index.d.ts +6 -3
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +99 -89
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/patch/PatchBuilder.d.ts +11 -11
- package/dist/engine/patch/PatchBuilder.d.ts.map +1 -1
- package/dist/engine/patch/PatchBuilder.js +92 -93
- package/dist/engine/patch/PatchBuilder.js.map +1 -1
- package/dist/engine/patch/applyPatch.js.map +1 -1
- package/dist/engine/plugins/builtin/blog/index.d.ts +3 -0
- package/dist/engine/plugins/builtin/blog/index.d.ts.map +1 -0
- package/dist/engine/plugins/builtin/blog/manifest.d.ts +3 -0
- package/dist/engine/plugins/builtin/blog/manifest.d.ts.map +1 -0
- package/dist/engine/plugins/builtin/blog/manifest.js +273 -0
- package/dist/engine/plugins/builtin/blog/manifest.js.map +1 -0
- package/dist/engine/plugins/builtin/blog/mockContentProvider.d.ts +7 -0
- package/dist/engine/plugins/builtin/blog/mockContentProvider.d.ts.map +1 -0
- package/dist/engine/plugins/builtin/blog/mockContentProvider.js +135 -0
- package/dist/engine/plugins/builtin/blog/mockContentProvider.js.map +1 -0
- package/dist/engine/plugins/contentHydration.d.ts +17 -0
- package/dist/engine/plugins/contentHydration.d.ts.map +1 -0
- package/dist/engine/plugins/contentHydration.js +121 -0
- package/dist/engine/plugins/contentHydration.js.map +1 -0
- package/dist/engine/plugins/dynamicPageResolver.d.ts +25 -0
- package/dist/engine/plugins/dynamicPageResolver.d.ts.map +1 -0
- package/dist/engine/plugins/dynamicPageResolver.js +32 -0
- package/dist/engine/plugins/dynamicPageResolver.js.map +1 -0
- package/dist/engine/plugins/index.d.ts +11 -0
- package/dist/engine/plugins/index.d.ts.map +1 -0
- package/dist/engine/plugins/pluginRegistry.d.ts +37 -0
- package/dist/engine/plugins/pluginRegistry.d.ts.map +1 -0
- package/dist/engine/plugins/pluginRegistry.js +134 -0
- package/dist/engine/plugins/pluginRegistry.js.map +1 -0
- package/dist/engine/plugins/types.d.ts +180 -0
- package/dist/engine/plugins/types.d.ts.map +1 -0
- package/dist/engine/presets/heroVariations.d.ts +5 -0
- package/dist/engine/presets/heroVariations.d.ts.map +1 -1
- package/dist/engine/presets/heroVariations.js +50 -6
- package/dist/engine/presets/heroVariations.js.map +1 -1
- package/dist/engine/preview/Preview.d.ts +19 -0
- package/dist/engine/preview/Preview.d.ts.map +1 -0
- package/dist/engine/preview/Preview.js +418 -0
- package/dist/engine/preview/Preview.js.map +1 -0
- package/dist/engine/registry/blocks/sections/blogPostCard.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/blogPostCard.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/blogPostCard.js +53 -0
- package/dist/engine/registry/blocks/sections/blogPostCard.js.map +1 -0
- package/dist/engine/registry/blocks/sections/blogPostDetail.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/blogPostDetail.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/blogPostDetail.js +49 -0
- package/dist/engine/registry/blocks/sections/blogPostDetail.js.map +1 -0
- package/dist/engine/registry/blocks/sections/blogPostGrid.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/blogPostGrid.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/blogPostGrid.js +89 -0
- package/dist/engine/registry/blocks/sections/blogPostGrid.js.map +1 -0
- package/dist/engine/registry/blocks/sections/hero.d.ts.map +1 -1
- package/dist/engine/registry/blocks/sections/hero.js +67 -14
- package/dist/engine/registry/blocks/sections/hero.js.map +1 -1
- package/dist/engine/registry/blocks/sections/index.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/index.d.ts.map +1 -1
- package/dist/engine/registry/blocks/sections/navbar.d.ts.map +1 -1
- package/dist/engine/registry/blocks/sections/navbar.js +2 -1
- package/dist/engine/registry/blocks/sections/navbar.js.map +1 -1
- package/dist/engine/registry/registry.d.ts.map +1 -1
- package/dist/engine/registry/registry.js +39 -36
- package/dist/engine/registry/registry.js.map +1 -1
- package/dist/engine/registry/types.d.ts +17 -13
- package/dist/engine/registry/types.d.ts.map +1 -1
- package/dist/engine/render/renderNodeImpl.js +85 -85
- package/dist/engine/render/renderNodeImpl.js.map +1 -1
- package/dist/engine/render/renderPage.d.ts +3 -3
- package/dist/engine/render/renderPage.d.ts.map +1 -1
- package/dist/engine/render/renderPage.js.map +1 -1
- package/dist/engine/render/renderers/composition/CardRenderer.js +4 -4
- package/dist/engine/render/renderers/content/LinkRenderer.d.ts.map +1 -1
- package/dist/engine/render/renderers/content/LinkRenderer.js +41 -16
- package/dist/engine/render/renderers/content/LinkRenderer.js.map +1 -1
- package/dist/engine/render/renderers/content/SocialLinksRenderer.d.ts.map +1 -1
- package/dist/engine/render/renderers/content/SocialLinksRenderer.js +16 -23
- package/dist/engine/render/renderers/content/SocialLinksRenderer.js.map +1 -1
- package/dist/engine/render/renderers/forms/FormRenderer.js +6 -6
- package/dist/engine/render/renderers/layout/GridRenderer.js +3 -3
- package/dist/engine/render/renderers/sections/BlogPostCardRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/BlogPostCardRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/BlogPostCardRenderer.js +199 -0
- package/dist/engine/render/renderers/sections/BlogPostCardRenderer.js.map +1 -0
- package/dist/engine/render/renderers/sections/BlogPostDetailRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/BlogPostDetailRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/BlogPostDetailRenderer.js +293 -0
- package/dist/engine/render/renderers/sections/BlogPostDetailRenderer.js.map +1 -0
- package/dist/engine/render/renderers/sections/BlogPostGridRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/BlogPostGridRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/BlogPostGridRenderer.js +101 -0
- package/dist/engine/render/renderers/sections/BlogPostGridRenderer.js.map +1 -0
- package/dist/engine/render/renderers/sections/CtaRenderer.d.ts.map +1 -1
- package/dist/engine/render/renderers/sections/CtaRenderer.js +33 -31
- package/dist/engine/render/renderers/sections/CtaRenderer.js.map +1 -1
- package/dist/engine/render/renderers/sections/FaqItemRenderer.d.ts.map +1 -1
- package/dist/engine/render/renderers/sections/FaqItemRenderer.js +7 -6
- package/dist/engine/render/renderers/sections/FaqItemRenderer.js.map +1 -1
- package/dist/engine/render/renderers/sections/FaqRenderer.js +7 -7
- package/dist/engine/render/renderers/sections/FaqRenderer.js.map +1 -1
- package/dist/engine/render/renderers/sections/FeatureGridRenderer.d.ts.map +1 -1
- package/dist/engine/render/renderers/sections/FeatureGridRenderer.js +19 -18
- package/dist/engine/render/renderers/sections/FeatureGridRenderer.js.map +1 -1
- package/dist/engine/render/renderers/sections/FeatureRenderer.d.ts.map +1 -1
- package/dist/engine/render/renderers/sections/FeatureRenderer.js +5 -4
- package/dist/engine/render/renderers/sections/FeatureRenderer.js.map +1 -1
- package/dist/engine/render/renderers/sections/FooterRenderer.d.ts.map +1 -1
- package/dist/engine/render/renderers/sections/FooterRenderer.js +25 -30
- package/dist/engine/render/renderers/sections/FooterRenderer.js.map +1 -1
- package/dist/engine/render/renderers/sections/HeroRenderer.d.ts.map +1 -1
- package/dist/engine/render/renderers/sections/HeroRenderer.js +293 -229
- package/dist/engine/render/renderers/sections/HeroRenderer.js.map +1 -1
- package/dist/engine/render/renderers/sections/NavbarRenderer.d.ts.map +1 -1
- package/dist/engine/render/renderers/sections/NavbarRenderer.js +23 -22
- package/dist/engine/render/renderers/sections/NavbarRenderer.js.map +1 -1
- package/dist/engine/render/renderers/sections/PricingCardRenderer.d.ts.map +1 -1
- package/dist/engine/render/renderers/sections/PricingCardRenderer.js +7 -6
- package/dist/engine/render/renderers/sections/PricingCardRenderer.js.map +1 -1
- package/dist/engine/render/renderers/sections/PricingRenderer.js +9 -9
- package/dist/engine/render/renderers/sections/PricingRenderer.js.map +1 -1
- package/dist/engine/render/renderers/sections/TestimonialGridRenderer.d.ts.map +1 -1
- package/dist/engine/render/renderers/sections/TestimonialGridRenderer.js +17 -16
- package/dist/engine/render/renderers/sections/TestimonialGridRenderer.js.map +1 -1
- package/dist/engine/render/renderers/sections/TestimonialRenderer.d.ts.map +1 -1
- package/dist/engine/render/renderers/sections/TestimonialRenderer.js +11 -10
- package/dist/engine/render/renderers/sections/TestimonialRenderer.js.map +1 -1
- package/dist/engine/render/renderers/sections/index.js +24 -18
- package/dist/engine/render/renderers/sections/index.js.map +1 -1
- package/dist/engine/schema/siteDocument.d.ts +118 -7
- package/dist/engine/schema/siteDocument.d.ts.map +1 -1
- package/dist/engine/schema/siteDocument.js +1 -1
- package/dist/engine/schema/siteDocument.js.map +1 -1
- package/dist/engine/schema/themeTokens.d.ts +1 -1
- package/dist/engine/schema/themeTokens.js.map +1 -1
- package/dist/engine/shared/carouselAnimation.d.ts +20 -0
- package/dist/engine/shared/carouselAnimation.d.ts.map +1 -0
- package/dist/engine/shared/carouselAnimation.js +62 -0
- package/dist/engine/shared/carouselAnimation.js.map +1 -0
- package/dist/engine/shared/imageGrid/presets.js +4 -12
- package/dist/engine/shared/imageGrid/presets.js.map +1 -1
- package/dist/engine/shared/imageGrid/types.d.ts +2 -0
- package/dist/engine/shared/imageGrid/types.d.ts.map +1 -1
- package/dist/engine/shared/layoutConstants.d.ts +13 -0
- package/dist/engine/shared/layoutConstants.d.ts.map +1 -0
- package/dist/engine/shared/layoutConstants.js +14 -0
- package/dist/engine/shared/layoutConstants.js.map +1 -0
- package/dist/engine/shared/shadowConstants.d.ts +5 -0
- package/dist/engine/shared/shadowConstants.d.ts.map +1 -0
- package/dist/engine/shared/shadowConstants.js +11 -0
- package/dist/engine/shared/shadowConstants.js.map +1 -0
- package/dist/engine/shared/showWhen.d.ts +44 -0
- package/dist/engine/shared/showWhen.d.ts.map +1 -0
- package/dist/engine/shared/showWhen.js +33 -0
- package/dist/engine/shared/showWhen.js.map +1 -0
- package/dist/engine/shared/socialIcons.d.ts +6 -0
- package/dist/engine/shared/socialIcons.d.ts.map +1 -0
- package/dist/engine/shared/socialIcons.js +13 -0
- package/dist/engine/shared/socialIcons.js.map +1 -0
- package/dist/engine/shared/typeGuards.d.ts +11 -0
- package/dist/engine/shared/typeGuards.d.ts.map +1 -0
- package/dist/hooks/useEditorState.d.ts +8 -5
- package/dist/hooks/useEditorState.d.ts.map +1 -1
- package/dist/hooks/useEditorState.js +150 -194
- package/dist/hooks/useEditorState.js.map +1 -1
- package/dist/hooks/useNavbarAutoSync.d.ts +2 -2
- package/dist/hooks/useNavbarAutoSync.d.ts.map +1 -1
- package/dist/hooks/useNavbarAutoSync.js.map +1 -1
- package/dist/index.d.ts +60 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +109 -124
- package/dist/index.js.map +1 -1
- package/dist/shared/index.d.ts +2 -2
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/schema.d.ts +4 -4
- package/dist/shared/schema.d.ts.map +1 -1
- package/dist/shared/schema.js.map +1 -1
- package/dist/shared/templates/escola-blog.d.ts +3 -0
- package/dist/shared/templates/escola-blog.d.ts.map +1 -0
- package/dist/shared/templates/escola-blog.js +160 -0
- package/dist/shared/templates/escola-blog.js.map +1 -0
- package/dist/shared/templates/escola-edvi.d.ts +2 -2
- package/dist/shared/templates/escola-edvi.d.ts.map +1 -1
- package/dist/shared/templates/escola-edvi.js.map +1 -1
- package/dist/shared/templates/escola-premium.d.ts +2 -2
- package/dist/shared/templates/escola-premium.d.ts.map +1 -1
- package/dist/shared/templates/escola-premium.js.map +1 -1
- package/dist/shared/templates/escola-zilom.d.ts +2 -2
- package/dist/shared/templates/escola-zilom.d.ts.map +1 -1
- package/dist/shared/templates/escola-zilom.js.map +1 -1
- package/dist/shared/templates/index.d.ts +7 -5
- package/dist/shared/templates/index.d.ts.map +1 -1
- package/dist/shared/templates/index.js +30 -12
- package/dist/shared/templates/index.js.map +1 -1
- package/dist/shared/validators.d.ts +3 -3
- package/dist/shared/validators.d.ts.map +1 -1
- package/dist/shared/validators.js.map +1 -1
- package/dist/site/BlockRenderer.d.ts +1 -1
- package/dist/site/BlockRenderer.d.ts.map +1 -1
- package/dist/site/BlockRenderer.js +22 -26
- package/dist/site/BlockRenderer.js.map +1 -1
- package/dist/site/blocks/Button.js +15 -17
- package/dist/site/blocks/Button.js.map +1 -1
- package/dist/site/blocks/Card.js +13 -15
- package/dist/site/blocks/Card.js.map +1 -1
- package/dist/site/blocks/Features.js +15 -17
- package/dist/site/blocks/Features.js.map +1 -1
- package/dist/site/blocks/Footer.js +10 -12
- package/dist/site/blocks/Footer.js.map +1 -1
- package/dist/site/blocks/Hero.js +12 -14
- package/dist/site/blocks/Hero.js.map +1 -1
- package/dist/site/blocks/Navbar.js +13 -15
- package/dist/site/blocks/Navbar.js.map +1 -1
- package/dist/site/blocks/Section.js +9 -11
- package/dist/site/blocks/Section.js.map +1 -1
- package/dist/site/blocks/SectionHeader.js +9 -11
- package/dist/site/blocks/SectionHeader.js.map +1 -1
- package/dist/site/blocks/SiteRoot.js +9 -12
- package/dist/site/blocks/SiteRoot.js.map +1 -1
- package/dist/site/index.js +73 -73
- package/dist/styles/site/sections.css.d.ts +1 -1
- package/dist/utils/blockUtils.d.ts +2 -2
- package/dist/utils/blockUtils.d.ts.map +1 -1
- package/dist/utils/blockUtils.js.map +1 -1
- package/dist/utils/changeDetector.d.ts +3 -2
- package/dist/utils/changeDetector.d.ts.map +1 -1
- package/dist/utils/changeDetector.js +39 -39
- package/dist/utils/changeDetector.js.map +1 -1
- package/dist/utils/cn.js +2 -2
- package/dist/utils/dataURLUtils.d.ts +24 -0
- package/dist/utils/dataURLUtils.d.ts.map +1 -0
- package/dist/utils/dataURLUtils.js +47 -0
- package/dist/utils/dataURLUtils.js.map +1 -0
- package/dist/utils/documentHash.d.ts +2 -2
- package/dist/utils/documentHash.d.ts.map +1 -1
- package/dist/utils/documentHash.js +8 -7
- package/dist/utils/documentHash.js.map +1 -1
- package/dist/utils/logger.d.ts +13 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +13 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/navbarSync.d.ts +3 -3
- package/dist/utils/navbarSync.d.ts.map +1 -1
- package/dist/utils/navbarSync.js +25 -24
- package/dist/utils/navbarSync.js.map +1 -1
- package/dist/utils/sharedTemplateToEngine.d.ts +7 -8
- package/dist/utils/sharedTemplateToEngine.d.ts.map +1 -1
- package/dist/utils/sharedTemplateToEngine.js +14 -87
- package/dist/utils/sharedTemplateToEngine.js.map +1 -1
- package/dist/viewer/LandingPageViewer.d.ts +32 -0
- package/dist/viewer/LandingPageViewer.d.ts.map +1 -0
- package/dist/viewer/LandingPageViewer.js +300 -0
- package/dist/viewer/LandingPageViewer.js.map +1 -0
- package/package.json +10 -5
- package/dist/components/ComponentPalette/definitions.d.ts +0 -3
- package/dist/components/ComponentPalette/definitions.d.ts.map +0 -1
- package/dist/components/ComponentPalette/definitions.js +0 -206
- package/dist/components/ComponentPalette/definitions.js.map +0 -1
- package/dist/components/ComponentPalette/index.d.ts +0 -7
- package/dist/components/ComponentPalette/index.d.ts.map +0 -1
- package/dist/components/ComponentPalette/index.js +0 -86
- package/dist/components/ComponentPalette/index.js.map +0 -1
- package/dist/components/LoadingSpinner.d.ts.map +0 -1
- package/dist/components/LoadingSpinner.js.map +0 -1
- package/dist/components/PreviewPanel/index.d.ts +0 -12
- package/dist/components/PreviewPanel/index.d.ts.map +0 -1
- package/dist/components/PreviewPanel/index.js +0 -140
- package/dist/components/PreviewPanel/index.js.map +0 -1
- package/dist/components/PropertyPanel/index.d.ts +0 -8
- package/dist/components/PropertyPanel/index.d.ts.map +0 -1
- package/dist/components/PropertyPanel/index.js +0 -223
- package/dist/components/PropertyPanel/index.js.map +0 -1
- package/dist/components/SiteEditor/index.d.ts +0 -3
- package/dist/components/SiteEditor/index.d.ts.map +0 -1
- package/dist/components/SiteEditor/index.js +0 -251
- package/dist/components/SiteEditor/index.js.map +0 -1
- package/dist/components/SiteViewer/index.d.ts +0 -3
- package/dist/components/SiteViewer/index.d.ts.map +0 -1
- package/dist/components/SiteViewer/index.js +0 -55
- package/dist/components/SiteViewer/index.js.map +0 -1
- package/dist/components/TemplateSelector/index.d.ts +0 -7
- package/dist/components/TemplateSelector/index.d.ts.map +0 -1
- package/dist/components/TemplateSelector/index.js +0 -109
- package/dist/components/TemplateSelector/index.js.map +0 -1
- package/dist/components/Toolbar/index.d.ts +0 -15
- package/dist/components/Toolbar/index.d.ts.map +0 -1
- package/dist/components/Toolbar/index.js +0 -113
- package/dist/components/Toolbar/index.js.map +0 -1
- package/dist/components/editors/PaletteSelector.d.ts +0 -14
- package/dist/components/editors/PaletteSelector.d.ts.map +0 -1
- package/dist/components/editors/PaletteSelector.js +0 -175
- package/dist/components/editors/PaletteSelector.js.map +0 -1
- package/dist/components/effects/SectionGlow.d.ts +0 -12
- package/dist/components/effects/SectionGlow.d.ts.map +0 -1
- package/dist/components/effects/SectionGlow.js +0 -139
- package/dist/components/effects/SectionGlow.js.map +0 -1
- package/dist/components/inputs/CheckboxInput.d.ts +0 -3
- package/dist/components/inputs/CheckboxInput.d.ts.map +0 -1
- package/dist/components/inputs/CheckboxInput.js +0 -46
- package/dist/components/inputs/CheckboxInput.js.map +0 -1
- package/dist/components/inputs/ColorInput.d.ts +0 -7
- package/dist/components/inputs/ColorInput.d.ts.map +0 -1
- package/dist/components/inputs/ColorInput.js +0 -180
- package/dist/components/inputs/ColorInput.js.map +0 -1
- package/dist/components/inputs/GradientInput.d.ts +0 -7
- package/dist/components/inputs/GradientInput.d.ts.map +0 -1
- package/dist/components/inputs/GradientInput.js +0 -78
- package/dist/components/inputs/GradientInput.js.map +0 -1
- package/dist/components/inputs/ImageInput.d.ts.map +0 -1
- package/dist/components/inputs/ImageInput.js.map +0 -1
- package/dist/components/inputs/SelectInput.d.ts +0 -7
- package/dist/components/inputs/SelectInput.d.ts.map +0 -1
- package/dist/components/inputs/SelectInput.js +0 -97
- package/dist/components/inputs/SelectInput.js.map +0 -1
- package/dist/components/inputs/SliderInput.d.ts +0 -8
- package/dist/components/inputs/SliderInput.d.ts.map +0 -1
- package/dist/components/inputs/SliderInput.js +0 -77
- package/dist/components/inputs/SliderInput.js.map +0 -1
- package/dist/components/inputs/index.d.ts +0 -11
- package/dist/components/inputs/index.d.ts.map +0 -1
- package/dist/components/inputs/types.d.ts +0 -48
- package/dist/components/inputs/types.d.ts.map +0 -1
- package/dist/components/inputs/types.js +0 -9
- package/dist/components/inputs/types.js.map +0 -1
- package/dist/components/renderers/ComponentRenderer.d.ts +0 -8
- package/dist/components/renderers/ComponentRenderer.d.ts.map +0 -1
- package/dist/components/renderers/ComponentRenderer.js +0 -13
- package/dist/components/renderers/ComponentRenderer.js.map +0 -1
- package/dist/components/renderers/HeroRenderer.d.ts +0 -3
- package/dist/components/renderers/HeroRenderer.d.ts.map +0 -1
- package/dist/components/renderers/HeroRenderer.js +0 -10
- package/dist/components/renderers/HeroRenderer.js.map +0 -1
- package/dist/components/renderers/hero/HeroBanner.d.ts +0 -3
- package/dist/components/renderers/hero/HeroBanner.d.ts.map +0 -1
- package/dist/components/renderers/hero/HeroBanner.js +0 -122
- package/dist/components/renderers/hero/HeroBanner.js.map +0 -1
- package/dist/components/renderers/hero/HeroCinematic.d.ts +0 -3
- package/dist/components/renderers/hero/HeroCinematic.d.ts.map +0 -1
- package/dist/components/renderers/hero/HeroCinematic.js +0 -141
- package/dist/components/renderers/hero/HeroCinematic.js.map +0 -1
- package/dist/components/renderers/hero/HeroClassic.d.ts +0 -3
- package/dist/components/renderers/hero/HeroClassic.d.ts.map +0 -1
- package/dist/components/renderers/hero/HeroClassic.js +0 -241
- package/dist/components/renderers/hero/HeroClassic.js.map +0 -1
- package/dist/components/renderers/hero/HeroCollage.d.ts +0 -3
- package/dist/components/renderers/hero/HeroCollage.d.ts.map +0 -1
- package/dist/components/renderers/hero/HeroCollage.js +0 -131
- package/dist/components/renderers/hero/HeroCollage.js.map +0 -1
- package/dist/components/renderers/hero/HeroColumns.d.ts +0 -3
- package/dist/components/renderers/hero/HeroColumns.d.ts.map +0 -1
- package/dist/components/renderers/hero/HeroColumns.js +0 -114
- package/dist/components/renderers/hero/HeroColumns.js.map +0 -1
- package/dist/components/renderers/hero/HeroGlass.d.ts +0 -3
- package/dist/components/renderers/hero/HeroGlass.d.ts.map +0 -1
- package/dist/components/renderers/hero/HeroGlass.js +0 -119
- package/dist/components/renderers/hero/HeroGlass.js.map +0 -1
- package/dist/components/renderers/hero/HeroNeon.d.ts +0 -3
- package/dist/components/renderers/hero/HeroNeon.d.ts.map +0 -1
- package/dist/components/renderers/hero/HeroNeon.js +0 -136
- package/dist/components/renderers/hero/HeroNeon.js.map +0 -1
- package/dist/components/renderers/hero/HeroParallax.d.ts +0 -3
- package/dist/components/renderers/hero/HeroParallax.d.ts.map +0 -1
- package/dist/components/renderers/hero/HeroParallax.js +0 -99
- package/dist/components/renderers/hero/HeroParallax.js.map +0 -1
- package/dist/components/renderers/hero/HeroSplit.d.ts +0 -3
- package/dist/components/renderers/hero/HeroSplit.d.ts.map +0 -1
- package/dist/components/renderers/hero/HeroSplit.js +0 -142
- package/dist/components/renderers/hero/HeroSplit.js.map +0 -1
- package/dist/components/renderers/hero/HeroSpotlight.d.ts +0 -3
- package/dist/components/renderers/hero/HeroSpotlight.d.ts.map +0 -1
- package/dist/components/renderers/hero/HeroSpotlight.js +0 -213
- package/dist/components/renderers/hero/HeroSpotlight.js.map +0 -1
- package/dist/components/renderers/hero/index.d.ts +0 -14
- package/dist/components/renderers/hero/index.d.ts.map +0 -1
- package/dist/components/renderers/index.d.ts +0 -8
- package/dist/components/renderers/index.d.ts.map +0 -1
- package/dist/components/renderers/index.js +0 -89
- package/dist/components/renderers/index.js.map +0 -1
- package/dist/components/renderers/types.d.ts +0 -11
- package/dist/components/renderers/types.d.ts.map +0 -1
- package/dist/editor/LandingPageEditorV2.d.ts +0 -19
- package/dist/editor/LandingPageEditorV2.d.ts.map +0 -1
- package/dist/editor/LandingPageEditorV2.js +0 -311
- package/dist/editor/LandingPageEditorV2.js.map +0 -1
- package/dist/editor/PropertyEditor/PropertyGroup.js +0 -23
- package/dist/editor/PropertyEditor/PropertyGroup.js.map +0 -1
- package/dist/engine/preview/PreviewV2.d.ts +0 -15
- package/dist/engine/preview/PreviewV2.d.ts.map +0 -1
- package/dist/engine/preview/PreviewV2.js +0 -242
- package/dist/engine/preview/PreviewV2.js.map +0 -1
- package/dist/modules/registry.d.ts +0 -31
- package/dist/modules/registry.d.ts.map +0 -1
- package/dist/modules/registry.js +0 -67
- package/dist/modules/registry.js.map +0 -1
- package/dist/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js +0 -57
- package/dist/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js.map +0 -1
- package/dist/node_modules/@dnd-kit/core/dist/core.esm.js +0 -2345
- package/dist/node_modules/@dnd-kit/core/dist/core.esm.js.map +0 -1
- package/dist/node_modules/@dnd-kit/sortable/dist/sortable.esm.js +0 -440
- package/dist/node_modules/@dnd-kit/sortable/dist/sortable.esm.js.map +0 -1
- package/dist/node_modules/@dnd-kit/utilities/dist/utilities.esm.js +0 -236
- package/dist/node_modules/@dnd-kit/utilities/dist/utilities.esm.js.map +0 -1
- package/dist/node_modules/clsx/dist/clsx.js +0 -17
- package/dist/node_modules/clsx/dist/clsx.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/Icon.js +0 -35
- package/dist/node_modules/lucide-react/dist/esm/Icon.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js +0 -18
- package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js +0 -15
- package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-right.js +0 -9
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-right.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/briefcase.js +0 -9
- package/dist/node_modules/lucide-react/dist/esm/icons/briefcase.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/check.js +0 -6
- package/dist/node_modules/lucide-react/dist/esm/icons/check.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.js +0 -8
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js +0 -8
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js +0 -6
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/eye.js +0 -15
- package/dist/node_modules/lucide-react/dist/esm/icons/eye.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/file-text.js +0 -12
- package/dist/node_modules/lucide-react/dist/esm/icons/file-text.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/globe.js +0 -10
- package/dist/node_modules/lucide-react/dist/esm/icons/globe.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/grid-3x3.js +0 -12
- package/dist/node_modules/lucide-react/dist/esm/icons/grid-3x3.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/grip-vertical.js +0 -13
- package/dist/node_modules/lucide-react/dist/esm/icons/grip-vertical.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/heading.js +0 -10
- package/dist/node_modules/lucide-react/dist/esm/icons/heading.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/image.js +0 -10
- package/dist/node_modules/lucide-react/dist/esm/icons/image.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/images.js +0 -11
- package/dist/node_modules/lucide-react/dist/esm/icons/images.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/list.js +0 -13
- package/dist/node_modules/lucide-react/dist/esm/icons/list.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.js +0 -8
- package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/minus.js +0 -6
- package/dist/node_modules/lucide-react/dist/esm/icons/minus.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/mouse-pointer-click.js +0 -18
- package/dist/node_modules/lucide-react/dist/esm/icons/mouse-pointer-click.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/navigation.js +0 -8
- package/dist/node_modules/lucide-react/dist/esm/icons/navigation.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.js +0 -10
- package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/phone.js +0 -14
- package/dist/node_modules/lucide-react/dist/esm/icons/phone.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/plus.js +0 -9
- package/dist/node_modules/lucide-react/dist/esm/icons/plus.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/redo-2.js +0 -9
- package/dist/node_modules/lucide-react/dist/esm/icons/redo-2.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/redo.js +0 -9
- package/dist/node_modules/lucide-react/dist/esm/icons/redo.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/rotate-ccw.js +0 -9
- package/dist/node_modules/lucide-react/dist/esm/icons/rotate-ccw.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/save.js +0 -16
- package/dist/node_modules/lucide-react/dist/esm/icons/save.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/square.js +0 -8
- package/dist/node_modules/lucide-react/dist/esm/icons/square.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/star.js +0 -14
- package/dist/node_modules/lucide-react/dist/esm/icons/star.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/trash-2.js +0 -12
- package/dist/node_modules/lucide-react/dist/esm/icons/trash-2.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/type.js +0 -10
- package/dist/node_modules/lucide-react/dist/esm/icons/type.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/undo-2.js +0 -9
- package/dist/node_modules/lucide-react/dist/esm/icons/undo-2.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/undo.js +0 -9
- package/dist/node_modules/lucide-react/dist/esm/icons/undo.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/user.js +0 -9
- package/dist/node_modules/lucide-react/dist/esm/icons/user.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js +0 -6
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js.map +0 -1
- package/dist/node_modules/react-colorful/dist/index.js +0 -167
- package/dist/node_modules/react-colorful/dist/index.js.map +0 -1
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +0 -2266
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +0 -1
- package/dist/types/index.d.ts +0 -99
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/module.d.ts +0 -25
- package/dist/types/module.d.ts.map +0 -1
- package/dist/utils/htmlExporter.d.ts +0 -6
- package/dist/utils/htmlExporter.d.ts.map +0 -1
- package/dist/utils/htmlExporter.js +0 -92
- package/dist/utils/htmlExporter.js.map +0 -1
- package/dist/utils/themeApplier.d.ts +0 -11
- package/dist/utils/themeApplier.d.ts.map +0 -1
- package/dist/utils/themeApplier.js +0 -29
- package/dist/utils/themeApplier.js.map +0 -1
- package/dist/utils/useDebounce.d.ts +0 -12
- package/dist/utils/useDebounce.d.ts.map +0 -1
- package/dist/viewer/LandingPageViewerV2.d.ts +0 -25
- package/dist/viewer/LandingPageViewerV2.d.ts.map +0 -1
- package/dist/viewer/LandingPageViewerV2.js +0 -253
- package/dist/viewer/LandingPageViewerV2.js.map +0 -1
- /package/dist/{components → editor/PropertyEditor}/inputs/ImageInput.d.ts +0 -0
- /package/dist/{components → editor/components}/LoadingSpinner.d.ts +0 -0
- /package/dist/{components → editor/components}/LoadingSpinner.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEditorState.js","sources":["../../src/hooks/useEditorState.ts"],"sourcesContent":["/**\n * useEditorState Hook\n * Gerencia todo o estado do editor de landing pages\n */\n\nimport { useState, useMemo, useCallback } from \"react\";\nimport {\n SiteDocumentV2,\n SitePage,\n Block,\n BlockType,\n HistoryManager,\n createHistoryManager,\n applyPatch,\n PatchBuilder,\n componentRegistry,\n} from \"../engine\";\nimport {\n findBlockInStructure,\n cleanDocumentStructure,\n} from \"../utils/blockUtils\";\nimport {\n createDefaultPageStructure,\n generateUniqueSlug,\n} from \"../utils/pageTemplateFactory\";\nimport { useNavbarAutoSync } from \"./useNavbarAutoSync\";\n\ninterface UseEditorStateOptions {\n initialData?: SiteDocumentV2 | null;\n}\n\ninterface UseEditorStateReturn {\n // Estado\n document: SiteDocumentV2 | null;\n currentPageId: string;\n currentPage: ReturnType<typeof useMemo>;\n selectedBlockId: string | null;\n selectedBlock: Block | null;\n history: HistoryManager;\n\n // Ações\n setDocument: (doc: SiteDocumentV2) => void;\n loadDocument: (doc: SiteDocumentV2) => void;\n setCurrentPageId: (id: string) => void;\n addPage: (pageId: string, name: string, slug: string) => void;\n removePage: (pageId: string) => void;\n setSelectedBlockId: (id: string | null) => void;\n handleUndo: () => void;\n handleRedo: () => void;\n handleAddBlock: (\n blockType: BlockType,\n parentBlockId?: string,\n position?: number,\n ) => void;\n handleDeleteBlock: (blockId: string) => void;\n handleUpdateBlock: (updates: Record<string, any>) => void;\n applyChange: (patch: any[], description?: string) => void;\n resetToTemplate: () => void;\n\n // Estado derivado\n isPaletteSelected: boolean;\n isTemplateSelected: boolean;\n canRemovePage: (pageId: string) => boolean;\n}\n\n/**\n * Hook para gerenciar estado do editor\n */\nexport function useEditorState(\n options: UseEditorStateOptions = {},\n): UseEditorStateReturn {\n const { initialData } = options;\n\n // Sem initialData: documento null até o usuário escolher um template\n const initialDocument = useMemo(() => {\n if (initialData) {\n return initialData;\n }\n return null;\n }, [initialData]);\n\n // Estados\n const [document, setDocument] = useState<SiteDocumentV2 | null>(\n initialDocument,\n );\n const [currentPageId, setCurrentPageIdState] = useState<string>(\"home\");\n const [history] = useState<HistoryManager>(() => createHistoryManager(50));\n const [selectedBlockId, setSelectedBlockId] = useState<string | null>(null);\n\n // Aplicar mudanças via patches (precisa ser declarado antes de useNavbarAutoSync)\n const applyChange = useCallback(\n (patch: any[], description?: string) => {\n if (!document) return;\n if (!patch?.length) return;\n\n // IMPORTANTE: Capturar histórico ANTES de aplicar patch\n history.push(document, patch, description || \"User edit\");\n\n const result = applyPatch(document, patch);\n console.log(\"[applyChange] Patch result:\", result);\n console.log(\n \"[applyChange] Result document structure length:\",\n result.document?.pages[0]?.structure?.length,\n );\n\n if (result.success && result.document) {\n const cleanedDocument = cleanDocumentStructure(result.document);\n setDocument(cleanedDocument);\n } else {\n // Se falhar, reverter histórico\n if (history.canUndo()) {\n const undoResult = history.undo(document);\n if (!undoResult.success) {\n console.error(\"[applyChange] Failed to undo after patch error\");\n }\n }\n }\n },\n [document, history],\n );\n\n // Hook de sincronização automática do navbar\n useNavbarAutoSync(document, applyChange);\n\n // Página atual (derivada de currentPageId; sem navegação, só edição)\n const currentPage = useMemo(() => {\n if (!document?.pages?.length) return null;\n const page =\n document.pages.find((p) => p?.id === currentPageId) ?? document.pages[0];\n if (page && !Array.isArray(page.structure)) {\n page.structure = [];\n }\n return page;\n }, [document, currentPageId]);\n\n // Bloco selecionado\n const selectedBlock = useMemo(() => {\n if (!selectedBlockId || !currentPage) return null;\n if (\n selectedBlockId === \"palette-selector\" ||\n selectedBlockId === \"template-selector\"\n ) {\n return null;\n }\n return findBlockInStructure(currentPage.structure, selectedBlockId);\n }, [selectedBlockId, currentPage]);\n\n // Estados derivados\n const isPaletteSelected = selectedBlockId === \"palette-selector\";\n const isTemplateSelected = selectedBlockId === \"template-selector\";\n\n // Undo/Redo\n const handleUndo = useCallback(() => {\n if (!document) return;\n const result = history.undo(document);\n if (result.success && result.document) {\n setDocument(result.document);\n }\n }, [document, history]);\n\n const handleRedo = useCallback(() => {\n if (!document) return;\n const result = history.redo(document);\n if (result.success && result.document) {\n setDocument(result.document);\n }\n }, [document, history]);\n\n // Criar bloco\n const createBlockFromType = useCallback(\n (blockType: BlockType): Block | null => {\n const definition = componentRegistry.get(blockType);\n if (!definition) {\n console.error(\n `[createBlockFromType] Block type \"${blockType}\" not found in registry`,\n );\n console.log(\n \"[createBlockFromType] Available types:\",\n componentRegistry.getAll().map((d) => d.type),\n );\n return null;\n }\n\n const id = `${blockType}-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;\n\n return {\n id,\n type: blockType,\n props: {\n ...definition.defaultProps,\n ...(definition.defaultChildren && {\n children: definition.defaultChildren,\n }),\n },\n } as Block;\n },\n [],\n );\n\n // Adicionar bloco (mantido para API; editor template-based não exibe paleta de blocos)\n const handleAddBlock = useCallback(\n (blockType: BlockType, parentBlockId?: string, position?: number) => {\n if (!document || !currentPage) return;\n\n try {\n const newBlock = createBlockFromType(blockType);\n if (!newBlock) {\n console.error(\n \"[handleAddBlock] Failed to create block of type:\",\n blockType,\n );\n return;\n }\n\n console.log(\"[handleAddBlock] Created block:\", newBlock.id);\n const patch = PatchBuilder.addBlock(\n document,\n currentPage.id,\n newBlock,\n parentBlockId,\n position,\n );\n console.log(\"[handleAddBlock] Patch:\", patch);\n\n applyChange(patch, `Add ${blockType} block`);\n setSelectedBlockId(newBlock.id);\n console.log(\"[handleAddBlock] Block added successfully\");\n } catch (error) {\n console.error(\"[handleAddBlock] Error adding block:\", error);\n }\n },\n [currentPage, document, createBlockFromType, applyChange],\n );\n\n // Deletar bloco\n const handleDeleteBlock = useCallback(\n (blockId: string) => {\n if (!document || !currentPage) return;\n\n try {\n if (selectedBlockId === blockId) {\n setSelectedBlockId(null);\n }\n const patch = PatchBuilder.removeBlock(\n document,\n currentPage.id,\n blockId,\n );\n applyChange(patch, \"Delete block\");\n } catch (error) {\n console.error(\"Error deleting block:\", error);\n if (selectedBlockId === blockId) {\n setSelectedBlockId(null);\n }\n }\n },\n [document, currentPage, selectedBlockId, applyChange],\n );\n\n // Atualizar propriedades do bloco\n const handleUpdateBlock = useCallback(\n (updates: Record<string, any>) => {\n if (!document || !selectedBlockId || !currentPage) return;\n if (\n selectedBlockId === \"palette-selector\" ||\n selectedBlockId === \"template-selector\"\n )\n return;\n\n try {\n const patch = PatchBuilder.updateBlockProps(\n document,\n currentPage.id,\n selectedBlockId,\n updates,\n );\n if (patch?.length) {\n applyChange(patch, \"Update block properties\");\n }\n } catch (error) {\n console.error(\"Error updating block:\", error);\n }\n },\n [document, selectedBlockId, currentPage, applyChange],\n );\n\n // Voltar ao seletor de templates (document = null)\n const resetToTemplate = useCallback(() => {\n setDocument(null);\n setCurrentPageIdState(\"home\");\n history.clear();\n setSelectedBlockId(null);\n }, [history]);\n\n // Carregar um documento completo (ex: gerado por IA)\n const loadDocument = useCallback(\n (doc: SiteDocumentV2) => {\n setDocument(doc);\n setCurrentPageIdState(doc.pages?.[0]?.id ?? \"home\");\n history.clear();\n setSelectedBlockId(null);\n if (doc.pages?.[0]?.structure?.length > 0) {\n setSelectedBlockId(doc.pages[0].structure[0].id);\n }\n },\n [history],\n );\n\n const setCurrentPageId = useCallback((id: string) => {\n setCurrentPageIdState(id);\n setSelectedBlockId(null);\n }, []);\n\n // Adicionar página (ex.: Avisos) com estrutura mínima\n const addPage = useCallback(\n (pageId: string, name: string, slug: string) => {\n if (!document) return;\n const existing = document.pages.find((p) => p.id === pageId);\n if (existing) return;\n\n // Gera slug único se necessário\n const uniqueSlug = generateUniqueSlug(slug, document.pages);\n\n // Cria página com estrutura padrão (navbar + conteúdo + footer)\n const newPage: SitePage = createDefaultPageStructure(\n pageId,\n name,\n uniqueSlug,\n [...document.pages, { id: pageId, name, slug: uniqueSlug, structure: [] }]\n );\n\n // Patch para adicionar página\n const addPagePatch = PatchBuilder.addPage(document, newPage);\n\n // Aplicar mudança - o hook useNavbarAutoSync irá detectar e sincronizar automaticamente\n applyChange(addPagePatch, `Adicionar página ${name}`);\n setCurrentPageIdState(pageId);\n setSelectedBlockId(null);\n },\n [document, applyChange],\n );\n\n // Remover página (não permite remover home; exige pelo menos uma página)\n const removePage = useCallback(\n (pageId: string) => {\n if (!document) return;\n if (pageId === \"home\") return;\n if (document.pages.length <= 1) return;\n\n const removePagePatch = PatchBuilder.removePage(document, pageId);\n\n // Aplicar mudança - o hook useNavbarAutoSync irá detectar e sincronizar automaticamente\n applyChange(removePagePatch, \"Remover página\");\n\n if (currentPageId === pageId) {\n const updatedPages = document.pages.filter(p => p.id !== pageId);\n setCurrentPageIdState(updatedPages[0]?.id ?? \"home\");\n }\n setSelectedBlockId(null);\n },\n [document, currentPageId, applyChange],\n );\n\n const canRemovePage = useCallback(\n (pageId: string) => {\n if (!document) return false;\n return pageId !== \"home\" && document.pages.length > 1;\n },\n [document],\n );\n\n return {\n // Estado\n document,\n currentPageId,\n currentPage,\n selectedBlockId,\n selectedBlock,\n history,\n\n // Ações\n setDocument,\n loadDocument,\n setCurrentPageId,\n addPage,\n removePage,\n setSelectedBlockId,\n handleUndo,\n handleRedo,\n handleAddBlock,\n handleDeleteBlock,\n handleUpdateBlock,\n applyChange,\n resetToTemplate,\n\n // Estado derivado\n isPaletteSelected,\n isTemplateSelected,\n canRemovePage,\n };\n}\n"],"names":["useEditorState","options","initialData","initialDocument","useMemo","document","setDocument","useState","currentPageId","setCurrentPageIdState","history","createHistoryManager","selectedBlockId","setSelectedBlockId","applyChange","useCallback","patch","description","result","applyPatch","cleanedDocument","cleanDocumentStructure","useNavbarAutoSync","currentPage","page","p","selectedBlock","findBlockInStructure","isPaletteSelected","isTemplateSelected","handleUndo","handleRedo","createBlockFromType","blockType","definition","componentRegistry","d","handleAddBlock","parentBlockId","position","newBlock","PatchBuilder","error","handleDeleteBlock","blockId","handleUpdateBlock","updates","resetToTemplate","loadDocument","doc","setCurrentPageId","id","addPage","pageId","name","slug","uniqueSlug","generateUniqueSlug","newPage","createDefaultPageStructure","addPagePatch","removePage","removePagePatch","updatedPages","canRemovePage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useEditorState.js","sources":["../../src/hooks/useEditorState.ts"],"sourcesContent":["/**\n * useEditorState Hook\n * Gerencia todo o estado do editor de landing pages\n */\n\nimport { useState, useMemo, useCallback } from \"react\";\nimport {\n SiteDocument,\n SitePage,\n Block,\n BlockType,\n HistoryManager,\n createHistoryManager,\n applyPatch,\n PatchBuilder,\n componentRegistry,\n pluginRegistry,\n} from \"../engine\";\nimport {\n findBlockInStructure,\n cleanDocumentStructure,\n} from \"../utils/blockUtils\";\nimport { logger } from \"../utils/logger\";\nimport {\n createDefaultPageStructure,\n generateUniqueSlug,\n} from \"../utils/pageTemplateFactory\";\nimport { useNavbarAutoSync } from \"./useNavbarAutoSync\";\n\ninterface UseEditorStateOptions {\n initialData?: SiteDocument | null;\n}\n\ninterface UseEditorStateReturn {\n // Estado\n document: SiteDocument | null;\n currentPageId: string;\n currentPage: ReturnType<typeof useMemo>;\n selectedBlockId: string | null;\n selectedBlock: Block | null;\n history: HistoryManager;\n\n // Ações\n setDocument: (doc: SiteDocument) => void;\n loadDocument: (doc: SiteDocument) => void;\n setCurrentPageId: (id: string) => void;\n addPage: (pageId: string, name: string, slug: string) => void;\n removePage: (pageId: string) => void;\n setSelectedBlockId: (id: string | null) => void;\n handleUndo: () => void;\n handleRedo: () => void;\n handleAddBlock: (\n blockType: BlockType,\n parentBlockId?: string,\n position?: number,\n ) => void;\n handleDeleteBlock: (blockId: string) => void;\n handleUpdateBlock: (updates: Record<string, any>) => void;\n applyChange: (patch: any[], description?: string) => void;\n resetToTemplate: () => void;\n\n // Estado derivado\n isPaletteSelected: boolean;\n isTemplateSelected: boolean;\n canRemovePage: (pageId: string) => boolean;\n\n // Plugins\n activePlugins: string[];\n activatePlugin: (pluginId: string) => void;\n deactivatePlugin: (pluginId: string) => void;\n}\n\n/**\n * Hook para gerenciar estado do editor\n */\nexport function useEditorState(\n options: UseEditorStateOptions = {},\n): UseEditorStateReturn {\n const { initialData } = options;\n\n // Sem initialData: documento null até o usuário escolher um template\n const initialDocument = useMemo(() => {\n if (initialData) {\n return initialData;\n }\n return null;\n }, [initialData]);\n\n // Estados\n const [document, setDocument] = useState<SiteDocument | null>(\n initialDocument,\n );\n const [currentPageId, setCurrentPageIdState] = useState<string>(\"home\");\n const [history] = useState<HistoryManager>(() => createHistoryManager(50));\n const [selectedBlockId, setSelectedBlockId] = useState<string | null>(null);\n\n // Aplicar mudanças via patches (precisa ser declarado antes de useNavbarAutoSync)\n const applyChange = useCallback(\n (patch: any[], description?: string) => {\n if (!document) return;\n if (!patch?.length) return;\n\n // IMPORTANTE: Capturar histórico ANTES de aplicar patch\n history.push(document, patch, description || \"User edit\");\n\n const result = applyPatch(document, patch);\n logger.debug(\"[applyChange] Patch result:\", result);\n\n if (result.success && result.document) {\n const cleanedDocument = cleanDocumentStructure(result.document);\n setDocument(cleanedDocument);\n } else {\n // Se falhar, reverter histórico\n if (history.canUndo()) {\n const undoResult = history.undo(document);\n if (!undoResult.success) {\n logger.error(\"[applyChange] Failed to undo after patch error\");\n }\n }\n }\n },\n [document, history],\n );\n\n // Hook de sincronização automática do navbar\n useNavbarAutoSync(document, applyChange);\n\n // Página atual (derivada de currentPageId; sem navegação, só edição)\n const currentPage = useMemo(() => {\n if (!document?.pages?.length) return null;\n const page =\n document.pages.find((p) => p?.id === currentPageId) ?? document.pages[0];\n if (page && !Array.isArray(page.structure)) {\n page.structure = [];\n }\n return page;\n }, [document, currentPageId]);\n\n // Bloco selecionado\n const selectedBlock = useMemo(() => {\n if (!selectedBlockId || !currentPage) return null;\n if (\n selectedBlockId === \"palette-selector\" ||\n selectedBlockId === \"template-selector\"\n ) {\n return null;\n }\n return findBlockInStructure(currentPage.structure, selectedBlockId);\n }, [selectedBlockId, currentPage]);\n\n // Estados derivados\n const isPaletteSelected = selectedBlockId === \"palette-selector\";\n const isTemplateSelected = selectedBlockId === \"template-selector\";\n\n // Undo/Redo\n const handleUndo = useCallback(() => {\n if (!document) return;\n const result = history.undo(document);\n if (result.success && result.document) {\n setDocument(result.document);\n }\n }, [document, history]);\n\n const handleRedo = useCallback(() => {\n if (!document) return;\n const result = history.redo(document);\n if (result.success && result.document) {\n setDocument(result.document);\n }\n }, [document, history]);\n\n // Criar bloco\n const createBlockFromType = useCallback(\n (blockType: BlockType): Block | null => {\n const definition = componentRegistry.get(blockType);\n if (!definition) {\n logger.error(\n `[createBlockFromType] Block type \"${blockType}\" not found in registry`,\n );\n return null;\n }\n\n const id = `${blockType}-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;\n\n return {\n id,\n type: blockType,\n props: {\n ...definition.defaultProps,\n ...(definition.defaultChildren && {\n children: definition.defaultChildren,\n }),\n },\n } as Block;\n },\n [],\n );\n\n // Adicionar bloco (mantido para API; editor template-based não exibe paleta de blocos)\n const handleAddBlock = useCallback(\n (blockType: BlockType, parentBlockId?: string, position?: number) => {\n if (!document || !currentPage) return;\n\n try {\n const newBlock = createBlockFromType(blockType);\n if (!newBlock) {\n logger.error(\"[handleAddBlock] Failed to create block:\", blockType);\n return;\n }\n\n const patch = PatchBuilder.addBlock(\n document,\n currentPage.id,\n newBlock,\n parentBlockId,\n position,\n );\n\n applyChange(patch, `Add ${blockType} block`);\n setSelectedBlockId(newBlock.id);\n } catch (error) {\n logger.error(\"[handleAddBlock] Error adding block:\", error);\n }\n },\n [currentPage, document, createBlockFromType, applyChange],\n );\n\n // Deletar bloco\n const handleDeleteBlock = useCallback(\n (blockId: string) => {\n if (!document || !currentPage) return;\n\n try {\n if (selectedBlockId === blockId) {\n setSelectedBlockId(null);\n }\n const patch = PatchBuilder.removeBlock(\n document,\n currentPage.id,\n blockId,\n );\n applyChange(patch, \"Delete block\");\n } catch (error) {\n logger.error(\"Error deleting block:\", error);\n if (selectedBlockId === blockId) {\n setSelectedBlockId(null);\n }\n }\n },\n [document, currentPage, selectedBlockId, applyChange],\n );\n\n // Atualizar propriedades do bloco\n const handleUpdateBlock = useCallback(\n (updates: Record<string, any>) => {\n if (!document || !selectedBlockId || !currentPage) return;\n if (\n selectedBlockId === \"palette-selector\" ||\n selectedBlockId === \"template-selector\"\n )\n return;\n\n try {\n const patch = PatchBuilder.updateBlockProps(\n document,\n currentPage.id,\n selectedBlockId,\n updates,\n );\n if (patch?.length) {\n applyChange(patch, \"Update block properties\");\n }\n } catch (error) {\n logger.error(\"Error updating block:\", error);\n }\n },\n [document, selectedBlockId, currentPage, applyChange],\n );\n\n // Voltar ao seletor de templates (document = null)\n const resetToTemplate = useCallback(() => {\n setDocument(null);\n setCurrentPageIdState(\"home\");\n history.clear();\n setSelectedBlockId(null);\n }, [history]);\n\n // Carregar um documento completo (ex: gerado por IA)\n const loadDocument = useCallback(\n (doc: SiteDocument) => {\n setDocument(doc);\n setCurrentPageIdState(doc.pages?.[0]?.id ?? \"home\");\n history.clear();\n setSelectedBlockId(null);\n if (doc.pages?.[0]?.structure?.length > 0) {\n setSelectedBlockId(doc.pages[0].structure[0].id);\n }\n },\n [history],\n );\n\n const setCurrentPageId = useCallback((id: string) => {\n setCurrentPageIdState(id);\n setSelectedBlockId(null);\n }, []);\n\n // Adicionar página (ex.: Avisos) com estrutura mínima\n const addPage = useCallback(\n (pageId: string, name: string, slug: string) => {\n if (!document) return;\n const existing = document.pages.find((p) => p.id === pageId);\n if (existing) return;\n\n // Gera slug único se necessário\n const uniqueSlug = generateUniqueSlug(slug, document.pages);\n\n // Cria página com estrutura padrão (navbar + conteúdo + footer)\n const newPage: SitePage = createDefaultPageStructure(\n pageId,\n name,\n uniqueSlug,\n [...document.pages, { id: pageId, name, slug: uniqueSlug, structure: [] }]\n );\n\n // Patch para adicionar página\n const addPagePatch = PatchBuilder.addPage(document, newPage);\n\n // Aplicar mudança - o hook useNavbarAutoSync irá detectar e sincronizar automaticamente\n applyChange(addPagePatch, `Adicionar página ${name}`);\n setCurrentPageIdState(pageId);\n setSelectedBlockId(null);\n },\n [document, applyChange],\n );\n\n // Remover página (não permite remover home; exige pelo menos uma página)\n const removePage = useCallback(\n (pageId: string) => {\n if (!document) return;\n if (pageId === \"home\") return;\n if (document.pages.length <= 1) return;\n\n const removePagePatch = PatchBuilder.removePage(document, pageId);\n\n // Aplicar mudança - o hook useNavbarAutoSync irá detectar e sincronizar automaticamente\n applyChange(removePagePatch, \"Remover página\");\n\n if (currentPageId === pageId) {\n const updatedPages = document.pages.filter(p => p.id !== pageId);\n setCurrentPageIdState(updatedPages[0]?.id ?? \"home\");\n }\n setSelectedBlockId(null);\n },\n [document, currentPageId, applyChange],\n );\n\n const canRemovePage = useCallback(\n (pageId: string) => {\n if (!document) return false;\n return pageId !== \"home\" && document.pages.length > 1;\n },\n [document],\n );\n\n // Plugins: estado derivado\n const activePlugins = useMemo(\n () => document?.plugins?.active ?? [],\n [document],\n );\n\n // Ativar plugin\n const activatePlugin = useCallback(\n (pluginId: string) => {\n if (!document) return;\n const updatedDocument = pluginRegistry.activate(document, pluginId);\n if (updatedDocument !== document) {\n setDocument(updatedDocument);\n }\n },\n [document],\n );\n\n // Desativar plugin\n const deactivatePlugin = useCallback(\n (pluginId: string) => {\n if (!document) return;\n const updatedDocument = pluginRegistry.deactivate(document, pluginId);\n if (updatedDocument !== document) {\n setDocument(updatedDocument);\n }\n },\n [document],\n );\n\n return {\n // Estado\n document,\n currentPageId,\n currentPage,\n selectedBlockId,\n selectedBlock,\n history,\n\n // Ações\n setDocument,\n loadDocument,\n setCurrentPageId,\n addPage,\n removePage,\n setSelectedBlockId,\n handleUndo,\n handleRedo,\n handleAddBlock,\n handleDeleteBlock,\n handleUpdateBlock,\n applyChange,\n resetToTemplate,\n\n // Estado derivado\n isPaletteSelected,\n isTemplateSelected,\n canRemovePage,\n\n // Plugins\n activePlugins,\n activatePlugin,\n deactivatePlugin,\n };\n}\n"],"names":["useEditorState","options","initialData","initialDocument","useMemo","document","setDocument","useState","currentPageId","setCurrentPageIdState","history","createHistoryManager","selectedBlockId","setSelectedBlockId","applyChange","useCallback","patch","description","result","applyPatch","logger","cleanedDocument","cleanDocumentStructure","useNavbarAutoSync","currentPage","page","p","selectedBlock","findBlockInStructure","isPaletteSelected","isTemplateSelected","handleUndo","handleRedo","createBlockFromType","blockType","definition","componentRegistry","handleAddBlock","parentBlockId","position","newBlock","PatchBuilder","error","handleDeleteBlock","blockId","handleUpdateBlock","updates","resetToTemplate","loadDocument","doc","setCurrentPageId","id","addPage","pageId","name","slug","uniqueSlug","generateUniqueSlug","newPage","createDefaultPageStructure","addPagePatch","removePage","removePagePatch","updatedPages","canRemovePage","activePlugins","activatePlugin","pluginId","updatedDocument","pluginRegistry","deactivatePlugin"],"mappings":";;;;;;;;;;AA2EO,SAASA,GACdC,IAAiC,IACX;AACtB,QAAM,EAAE,aAAAC,MAAgBD,GAGlBE,IAAkBC,EAAQ,MAC1BF,KAGG,MACN,CAACA,CAAW,CAAC,GAGV,CAACG,GAAUC,CAAW,IAAIC;AAAA,IAC9BJ;AAAA,EAAA,GAEI,CAACK,GAAeC,CAAqB,IAAIF,EAAiB,MAAM,GAChE,CAACG,CAAO,IAAIH,EAAyB,MAAMI,EAAqB,EAAE,CAAC,GACnE,CAACC,GAAiBC,CAAkB,IAAIN,EAAwB,IAAI,GAGpEO,IAAcC;AAAA,IAClB,CAACC,GAAcC,MAAyB;AAEtC,UADI,CAACZ,KACD,CAACW,GAAO,OAAQ;AAGpB,MAAAN,EAAQ,KAAKL,GAAUW,GAAOC,KAAe,WAAW;AAExD,YAAMC,IAASC,EAAWd,GAAUW,CAAK;AAGzC,UAFAI,EAAO,MAAM,+BAA+BF,CAAM,GAE9CA,EAAO,WAAWA,EAAO,UAAU;AACrC,cAAMG,IAAkBC,EAAuBJ,EAAO,QAAQ;AAC9D,QAAAZ,EAAYe,CAAe;AAAA,MAC7B;AAEE,QAAIX,EAAQ,cACSA,EAAQ,KAAKL,CAAQ,EACxB,WACde,EAAO,MAAM,gDAAgD;AAAA,IAIrE;AAAA,IACA,CAACf,GAAUK,CAAO;AAAA,EAAA;AAIpB,EAAAa,EAAkBlB,GAAUS,CAAW;AAGvC,QAAMU,IAAcpB,EAAQ,MAAM;AAChC,QAAI,CAACC,GAAU,OAAO,OAAQ,QAAO;AACrC,UAAMoB,IACJpB,EAAS,MAAM,KAAK,CAACqB,MAAMA,GAAG,OAAOlB,CAAa,KAAKH,EAAS,MAAM,CAAC;AACzE,WAAIoB,KAAQ,CAAC,MAAM,QAAQA,EAAK,SAAS,MACvCA,EAAK,YAAY,CAAA,IAEZA;AAAA,EACT,GAAG,CAACpB,GAAUG,CAAa,CAAC,GAGtBmB,IAAgBvB,EAAQ,MACxB,CAACQ,KAAmB,CAACY,KAEvBZ,MAAoB,sBACpBA,MAAoB,sBAEb,OAEFgB,EAAqBJ,EAAY,WAAWZ,CAAe,GACjE,CAACA,GAAiBY,CAAW,CAAC,GAG3BK,IAAoBjB,MAAoB,oBACxCkB,IAAqBlB,MAAoB,qBAGzCmB,IAAahB,EAAY,MAAM;AACnC,QAAI,CAACV,EAAU;AACf,UAAMa,IAASR,EAAQ,KAAKL,CAAQ;AACpC,IAAIa,EAAO,WAAWA,EAAO,YAC3BZ,EAAYY,EAAO,QAAQ;AAAA,EAE/B,GAAG,CAACb,GAAUK,CAAO,CAAC,GAEhBsB,IAAajB,EAAY,MAAM;AACnC,QAAI,CAACV,EAAU;AACf,UAAMa,IAASR,EAAQ,KAAKL,CAAQ;AACpC,IAAIa,EAAO,WAAWA,EAAO,YAC3BZ,EAAYY,EAAO,QAAQ;AAAA,EAE/B,GAAG,CAACb,GAAUK,CAAO,CAAC,GAGhBuB,IAAsBlB;AAAA,IAC1B,CAACmB,MAAuC;AACtC,YAAMC,IAAaC,EAAkB,IAAIF,CAAS;AAClD,aAAKC,IASE;AAAA,QACL,IAHS,GAAGD,CAAS,IAAI,KAAK,KAAK,IAAI,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,OAAO,GAAG,CAAC,CAAC;AAAA,QAI9E,MAAMA;AAAA,QACN,OAAO;AAAA,UACL,GAAGC,EAAW;AAAA,UACd,GAAIA,EAAW,mBAAmB;AAAA,YAChC,UAAUA,EAAW;AAAA,UAAA;AAAA,QACvB;AAAA,MACF,KAhBAf,EAAO;AAAA,QACL,qCAAqCc,CAAS;AAAA,MAAA,GAEzC;AAAA,IAeX;AAAA,IACA,CAAA;AAAA,EAAC,GAIGG,IAAiBtB;AAAA,IACrB,CAACmB,GAAsBI,GAAwBC,MAAsB;AACnE,UAAI,GAAClC,KAAY,CAACmB;AAElB,YAAI;AACF,gBAAMgB,IAAWP,EAAoBC,CAAS;AAC9C,cAAI,CAACM,GAAU;AACb,YAAApB,EAAO,MAAM,4CAA4Cc,CAAS;AAClE;AAAA,UACF;AAEA,gBAAMlB,IAAQyB,EAAa;AAAA,YACzBpC;AAAA,YACAmB,EAAY;AAAA,YACZgB;AAAA,YACAF;AAAA,YACAC;AAAA,UAAA;AAGF,UAAAzB,EAAYE,GAAO,OAAOkB,CAAS,QAAQ,GAC3CrB,EAAmB2B,EAAS,EAAE;AAAA,QAChC,SAASE,GAAO;AACd,UAAAtB,EAAO,MAAM,wCAAwCsB,CAAK;AAAA,QAC5D;AAAA,IACF;AAAA,IACA,CAAClB,GAAanB,GAAU4B,GAAqBnB,CAAW;AAAA,EAAA,GAIpD6B,IAAoB5B;AAAA,IACxB,CAAC6B,MAAoB;AACnB,UAAI,GAACvC,KAAY,CAACmB;AAElB,YAAI;AACF,UAAIZ,MAAoBgC,KACtB/B,EAAmB,IAAI;AAEzB,gBAAMG,IAAQyB,EAAa;AAAA,YACzBpC;AAAA,YACAmB,EAAY;AAAA,YACZoB;AAAA,UAAA;AAEF,UAAA9B,EAAYE,GAAO,cAAc;AAAA,QACnC,SAAS0B,GAAO;AACd,UAAAtB,EAAO,MAAM,yBAAyBsB,CAAK,GACvC9B,MAAoBgC,KACtB/B,EAAmB,IAAI;AAAA,QAE3B;AAAA,IACF;AAAA,IACA,CAACR,GAAUmB,GAAaZ,GAAiBE,CAAW;AAAA,EAAA,GAIhD+B,IAAoB9B;AAAA,IACxB,CAAC+B,MAAiC;AAChC,UAAI,GAACzC,KAAY,CAACO,KAAmB,CAACY,MAEpC,EAAAZ,MAAoB,sBACpBA,MAAoB;AAItB,YAAI;AACF,gBAAMI,IAAQyB,EAAa;AAAA,YACzBpC;AAAA,YACAmB,EAAY;AAAA,YACZZ;AAAA,YACAkC;AAAA,UAAA;AAEF,UAAI9B,GAAO,UACTF,EAAYE,GAAO,yBAAyB;AAAA,QAEhD,SAAS0B,GAAO;AACd,UAAAtB,EAAO,MAAM,yBAAyBsB,CAAK;AAAA,QAC7C;AAAA,IACF;AAAA,IACA,CAACrC,GAAUO,GAAiBY,GAAaV,CAAW;AAAA,EAAA,GAIhDiC,IAAkBhC,EAAY,MAAM;AACxC,IAAAT,EAAY,IAAI,GAChBG,EAAsB,MAAM,GAC5BC,EAAQ,MAAA,GACRG,EAAmB,IAAI;AAAA,EACzB,GAAG,CAACH,CAAO,CAAC,GAGNsC,IAAejC;AAAA,IACnB,CAACkC,MAAsB;AACrB,MAAA3C,EAAY2C,CAAG,GACfxC,EAAsBwC,EAAI,QAAQ,CAAC,GAAG,MAAM,MAAM,GAClDvC,EAAQ,MAAA,GACRG,EAAmB,IAAI,GACnBoC,EAAI,QAAQ,CAAC,GAAG,WAAW,SAAS,KACtCpC,EAAmBoC,EAAI,MAAM,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE;AAAA,IAEnD;AAAA,IACA,CAACvC,CAAO;AAAA,EAAA,GAGJwC,IAAmBnC,EAAY,CAACoC,MAAe;AACnD,IAAA1C,EAAsB0C,CAAE,GACxBtC,EAAmB,IAAI;AAAA,EACzB,GAAG,CAAA,CAAE,GAGCuC,IAAUrC;AAAA,IACd,CAACsC,GAAgBC,GAAcC,MAAiB;AAG9C,UAFI,CAAClD,KACYA,EAAS,MAAM,KAAK,CAACqB,MAAMA,EAAE,OAAO2B,CAAM,EAC7C;AAGd,YAAMG,IAAaC,EAAmBF,GAAMlD,EAAS,KAAK,GAGpDqD,IAAoBC;AAAA,QACxBN;AAAA,QACAC;AAAA,QACAE;AAAA,QACA,CAAC,GAAGnD,EAAS,OAAO,EAAE,IAAIgD,GAAQ,MAAAC,GAAM,MAAME,GAAY,WAAW,IAAI;AAAA,MAAA,GAIrEI,IAAenB,EAAa,QAAQpC,GAAUqD,CAAO;AAG3D,MAAA5C,EAAY8C,GAAc,oBAAoBN,CAAI,EAAE,GACpD7C,EAAsB4C,CAAM,GAC5BxC,EAAmB,IAAI;AAAA,IACzB;AAAA,IACA,CAACR,GAAUS,CAAW;AAAA,EAAA,GAIlB+C,IAAa9C;AAAA,IACjB,CAACsC,MAAmB;AAGlB,UAFI,CAAChD,KACDgD,MAAW,UACXhD,EAAS,MAAM,UAAU,EAAG;AAEhC,YAAMyD,IAAkBrB,EAAa,WAAWpC,GAAUgD,CAAM;AAKhE,UAFAvC,EAAYgD,GAAiB,gBAAgB,GAEzCtD,MAAkB6C,GAAQ;AAC5B,cAAMU,IAAe1D,EAAS,MAAM,OAAO,CAAAqB,MAAKA,EAAE,OAAO2B,CAAM;AAC/D,QAAA5C,EAAsBsD,EAAa,CAAC,GAAG,MAAM,MAAM;AAAA,MACrD;AACA,MAAAlD,EAAmB,IAAI;AAAA,IACzB;AAAA,IACA,CAACR,GAAUG,GAAeM,CAAW;AAAA,EAAA,GAGjCkD,IAAgBjD;AAAA,IACpB,CAACsC,MACMhD,IACEgD,MAAW,UAAUhD,EAAS,MAAM,SAAS,IAD9B;AAAA,IAGxB,CAACA,CAAQ;AAAA,EAAA,GAIL4D,IAAgB7D;AAAA,IACpB,MAAMC,GAAU,SAAS,UAAU,CAAA;AAAA,IACnC,CAACA,CAAQ;AAAA,EAAA,GAIL6D,IAAiBnD;AAAA,IACrB,CAACoD,MAAqB;AACpB,UAAI,CAAC9D,EAAU;AACf,YAAM+D,IAAkBC,EAAe,SAAShE,GAAU8D,CAAQ;AAClE,MAAIC,MAAoB/D,KACtBC,EAAY8D,CAAe;AAAA,IAE/B;AAAA,IACA,CAAC/D,CAAQ;AAAA,EAAA,GAILiE,IAAmBvD;AAAA,IACvB,CAACoD,MAAqB;AACpB,UAAI,CAAC9D,EAAU;AACf,YAAM+D,IAAkBC,EAAe,WAAWhE,GAAU8D,CAAQ;AACpE,MAAIC,MAAoB/D,KACtBC,EAAY8D,CAAe;AAAA,IAE/B;AAAA,IACA,CAAC/D,CAAQ;AAAA,EAAA;AAGX,SAAO;AAAA;AAAA,IAEL,UAAAA;AAAA,IACA,eAAAG;AAAA,IACA,aAAAgB;AAAA,IACA,iBAAAZ;AAAA,IACA,eAAAe;AAAA,IACA,SAAAjB;AAAA;AAAA,IAGA,aAAAJ;AAAA,IACA,cAAA0C;AAAA,IACA,kBAAAE;AAAA,IACA,SAAAE;AAAA,IACA,YAAAS;AAAA,IACA,oBAAAhD;AAAA,IACA,YAAAkB;AAAA,IACA,YAAAC;AAAA,IACA,gBAAAK;AAAA,IACA,mBAAAM;AAAA,IACA,mBAAAE;AAAA,IACA,aAAA/B;AAAA,IACA,iBAAAiC;AAAA;AAAA,IAGA,mBAAAlB;AAAA,IACA,oBAAAC;AAAA,IACA,eAAAkC;AAAA;AAAA,IAGA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,kBAAAI;AAAA,EAAA;AAEJ;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SiteDocument } from '../engine/schema/siteDocument';
|
|
2
2
|
/**
|
|
3
3
|
* Hook para sincronização automática de links do navbar
|
|
4
4
|
* Detecta mudanças nas páginas e atualiza navbar automaticamente
|
|
5
5
|
*/
|
|
6
|
-
export declare function useNavbarAutoSync(document:
|
|
6
|
+
export declare function useNavbarAutoSync(document: SiteDocument | null, applyChange: (patch: any[], description?: string) => void): void;
|
|
7
7
|
//# sourceMappingURL=useNavbarAutoSync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavbarAutoSync.d.ts","sourceRoot":"","sources":["../../src/hooks/useNavbarAutoSync.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useNavbarAutoSync.d.ts","sourceRoot":"","sources":["../../src/hooks/useNavbarAutoSync.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,YAAY,GAAG,IAAI,EAC7B,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,QAsB1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavbarAutoSync.js","sources":["../../src/hooks/useNavbarAutoSync.ts"],"sourcesContent":["/**\n * useNavbarAutoSync Hook\n * Hook para sincronização automática de links do navbar\n * Detecta mudanças nas páginas e atualiza navbar automaticamente\n */\n\nimport { useEffect, useRef } from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"useNavbarAutoSync.js","sources":["../../src/hooks/useNavbarAutoSync.ts"],"sourcesContent":["/**\n * useNavbarAutoSync Hook\n * Hook para sincronização automática de links do navbar\n * Detecta mudanças nas páginas e atualiza navbar automaticamente\n */\n\nimport { useEffect, useRef } from \"react\";\nimport { SiteDocument } from \"../engine/schema/siteDocument\";\nimport { syncNavbarLinks } from \"../utils/navbarSync\";\n\n/**\n * Hook para sincronização automática de links do navbar\n * Detecta mudanças nas páginas e atualiza navbar automaticamente\n */\nexport function useNavbarAutoSync(\n document: SiteDocument | null,\n applyChange: (patch: any[], description?: string) => void\n) {\n const previousPagesRef = useRef<string>(\"\");\n\n useEffect(() => {\n if (!document) return;\n\n // Criar hash das páginas (id, name, slug)\n const pagesHash = JSON.stringify(\n document.pages.map((p) => ({ id: p.id, name: p.name, slug: p.slug }))\n );\n\n // Se mudou, sincronizar navbar\n if (previousPagesRef.current && previousPagesRef.current !== pagesHash) {\n const patches = syncNavbarLinks(document);\n if (patches.length > 0) {\n applyChange(patches, \"Auto-sync navbar links\");\n }\n }\n\n previousPagesRef.current = pagesHash;\n }, [document, applyChange]);\n}\n"],"names":["useNavbarAutoSync","document","applyChange","previousPagesRef","useRef","useEffect","pagesHash","p","patches","syncNavbarLinks"],"mappings":";;AAcO,SAASA,EACdC,GACAC,GACA;AACA,QAAMC,IAAmBC,EAAe,EAAE;AAE1C,EAAAC,EAAU,MAAM;AACd,QAAI,CAACJ,EAAU;AAGf,UAAMK,IAAY,KAAK;AAAA,MACrBL,EAAS,MAAM,IAAI,CAACM,OAAO,EAAE,IAAIA,EAAE,IAAI,MAAMA,EAAE,MAAM,MAAMA,EAAE,OAAO;AAAA,IAAA;AAItE,QAAIJ,EAAiB,WAAWA,EAAiB,YAAYG,GAAW;AACtE,YAAME,IAAUC,EAAgBR,CAAQ;AACxC,MAAIO,EAAQ,SAAS,KACnBN,EAAYM,GAAS,wBAAwB;AAAA,IAEjD;AAEA,IAAAL,EAAiB,UAAUG;AAAA,EAC7B,GAAG,CAACL,GAAUC,CAAW,CAAC;AAC5B;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,18 +2,64 @@
|
|
|
2
2
|
* SmartGesti Site Editor
|
|
3
3
|
* Editor de sites compartilhado para projetos SmartGesti
|
|
4
4
|
*/
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export
|
|
12
|
-
export {
|
|
13
|
-
export {
|
|
14
|
-
export type {
|
|
15
|
-
export {
|
|
16
|
-
export type {
|
|
17
|
-
export type {
|
|
18
|
-
export
|
|
5
|
+
export { LandingPageEditor } from './editor/LandingPageEditor';
|
|
6
|
+
export type { UploadConfig, LandingPageEditorProps } from './editor/LandingPageEditor';
|
|
7
|
+
export { LandingPageViewer } from './viewer/LandingPageViewer';
|
|
8
|
+
export type { BlockType, Block, BlockBase, ContainerBlock, StackBlock, GridBlock, BoxBlock, SpacerBlock, HeadingBlock, TextBlock, ImageBlock, ButtonBlock, LinkBlock, DividerBlock, BadgeBlock, IconBlock, AvatarBlock, VideoBlock, CardBlock, SectionBlock, HeroBlock, HeroVariationId, NavbarBlock, NavbarLink, NavbarVariationId, FooterBlock, FeatureBlock, FeatureGridBlock, PricingCardBlock, PricingBlock, TestimonialBlock, TestimonialGridBlock, FaqItemBlock, FaqBlock, CtaBlock, StatItemBlock, StatsBlock, LogoCloudBlock, CountdownBlock, CarouselBlock, BlogCardBlock, BlogCardGridBlock, TeamCardBlock, TeamGridBlock, CourseCardGridBlock, CategoryCardGridBlock, SocialLinksBlock, BlogPostCardBlock, BlogPostGridBlock, BlogPostDetailBlock, FormBlock, InputBlock, SiteDocument, SitePage, ImageGridItem, ImageGridPreset, TypographyConfig, } from './engine/schema/siteDocument';
|
|
9
|
+
export { createEmptySiteDocument, } from './engine/schema/siteDocument';
|
|
10
|
+
export type { RadiusScale, ShadowScale, SpacingScale, MotionLevel, BackgroundStyle, GradientDirection, ColorTokens, TypographyTokens, EffectTokens, LayoutTokens, ComponentTokens, ThemeTokens, } from './engine/schema/themeTokens';
|
|
11
|
+
export { radiusScaleMap, shadowScaleMap, spacingScaleMap, gradientDirectionMap, defaultEffectTokens, defaultLayoutTokens, defaultComponentTokens, defaultThemeTokens, darkThemeTokens, gradientThemeTokens, corporateThemeTokens, playfulThemeTokens, generateThemeCSSVariables, } from './engine/schema/themeTokens';
|
|
12
|
+
export type { InspectorMeta, BlockConstraint, SlotDefinition, BlockVariation, BlockDefinition, ComponentRegistry, } from './engine/registry/types';
|
|
13
|
+
export { componentRegistry } from './engine/registry/registry';
|
|
14
|
+
export type { BlockDefinition as BlockDef } from './engine/registry/blocks';
|
|
15
|
+
export { componentRegistry as blockRegistry } from './engine/registry/blocks';
|
|
16
|
+
export type { RenderNodeProps, } from './engine/render/renderNode';
|
|
17
|
+
export type { RenderPageProps, } from './engine/render/renderPage';
|
|
18
|
+
export { RenderNode, renderNode, } from './engine/render/renderNode';
|
|
19
|
+
export { RenderPage, renderPage, } from './engine/render/renderPage';
|
|
20
|
+
export type { ExportPageToHtmlOptions, } from './engine/export/exportHtml';
|
|
21
|
+
export { exportPageToHtml, exportBlockToHtml, clearHtmlCache, exportDocumentToHtml, generateAssetsManifest, } from './engine/export/exportHtml';
|
|
22
|
+
export { sanitizeHtml, isSafeUrl, } from './engine/export/sanitizeHtml';
|
|
23
|
+
export type { PreviewProps, } from './engine/preview/Preview';
|
|
24
|
+
export { Preview, } from './engine/preview/Preview';
|
|
25
|
+
export type { PatchOperation, AddOperation, RemoveOperation, ReplaceOperation, MoveOperation, CopyOperation, TestOperation, Patch, PatchResult, } from './engine/patch/types';
|
|
26
|
+
export { applyPatch, createAddPatch, createRemovePatch, createReplacePatch, createMovePatch, createCopyPatch, } from './engine/patch/applyPatch';
|
|
27
|
+
export type { HistoryEntry, } from './engine/patch/history';
|
|
28
|
+
export { HistoryManager, createHistoryManager, } from './engine/patch/history';
|
|
29
|
+
export { PatchBuilder, } from './engine/patch/PatchBuilder';
|
|
30
|
+
export type { SiteThemeTokens, PartialSiteThemeTokens, SiteThemeColors, SiteThemeSpacing, SiteThemeTypography, SiteThemeBorderRadius, SiteThemeShadows, SiteThemeBreakpoints, } from './engine/theme';
|
|
31
|
+
export { siteDefaultTheme, siteDarkTheme, generateSiteCSSVariables, generateSiteCSSVariablesObject, createSiteThemeStyle, mergeSiteThemeTokens, } from './engine/theme';
|
|
32
|
+
export type { ThemePreset, } from './engine/presets/themePresets';
|
|
33
|
+
export { cleanPreset, neonPreset, pastelPreset, corporatePreset, playfulKidsPreset, glassPreset, minimalPreset, classicPreset, themePresets, getPreset, getAllPresets, applyOverrides, validateContrast, } from './engine/presets/themePresets';
|
|
34
|
+
export type { HeroVariationPreset, } from './engine/presets/heroVariations';
|
|
35
|
+
export { heroVariations, heroVariationIds, getHeroVariation, HERO_IMAGE_NAMES, PLACEHOLDER_IMAGE_URL, CAROUSEL_PLACEHOLDER_IMAGES, } from './engine/presets/heroVariations';
|
|
36
|
+
export type { NavbarVariationPreset, } from './engine/presets/navbarVariations';
|
|
37
|
+
export { navbarVariations, navbarVariationIds, getNavbarVariation, } from './engine/presets/navbarVariations';
|
|
38
|
+
export { generateCompleteLandingPage, generatePatchesForLandingPage, generateModernLandingPage, } from './engine/generators/generateLandingPage';
|
|
39
|
+
export type { ImageGridItem as EngineImageGridItem, ImageGridPreset as EngineImageGridPreset, } from './engine/shared/imageGrid';
|
|
40
|
+
export { evaluateShowWhen } from './engine/shared/showWhen';
|
|
41
|
+
export type { ShowWhenCondition, ShowWhenFieldCondition, ShowWhenAndCondition, ShowWhenOrCondition, ShowWhenContext, } from './engine/shared/showWhen';
|
|
42
|
+
export { pluginRegistry } from './engine/plugins/pluginRegistry';
|
|
43
|
+
export type { PluginRegistry } from './engine/plugins/pluginRegistry';
|
|
44
|
+
export type { DataSchemaField, DataSchema, ContentListParams, ContentItem, ContentListResult, ContentProvider, PageDataSource, PageEditRestrictions, PageTemplate, EditorRestriction, PluginManifest, PluginRegistration, SitePluginsConfig, } from './engine/plugins/types';
|
|
45
|
+
export { hydratePageWithContent } from './engine/plugins/contentHydration';
|
|
46
|
+
export type { ContentProviderMap } from './engine/plugins/contentHydration';
|
|
47
|
+
export { matchDynamicPage } from './engine/plugins/dynamicPageResolver';
|
|
48
|
+
export type { DynamicPageMatch } from './engine/plugins/dynamicPageResolver';
|
|
49
|
+
export { blogPlugin } from './engine/plugins/builtin/blog';
|
|
50
|
+
export { mockBlogContentProvider } from './engine/plugins/builtin/blog';
|
|
51
|
+
/** @deprecated Use SiteDocument */
|
|
52
|
+
export type { SiteDocument as SiteDocumentV2 } from './engine/schema/siteDocument';
|
|
53
|
+
/** @deprecated Use createEmptySiteDocument */
|
|
54
|
+
export { createEmptySiteDocument as createEmptySiteDocumentV2 } from './engine/schema/siteDocument';
|
|
55
|
+
/** @deprecated Use LandingPageEditor */
|
|
56
|
+
export { LandingPageEditor as LandingPageEditorV2 } from './editor/LandingPageEditor';
|
|
57
|
+
/** @deprecated Use LandingPageEditorProps */
|
|
58
|
+
export type { LandingPageEditorProps as LandingPageEditorV2Props } from './editor/LandingPageEditor';
|
|
59
|
+
/** @deprecated Use LandingPageViewer */
|
|
60
|
+
export { LandingPageViewer as LandingPageViewerV2 } from './viewer/LandingPageViewer';
|
|
61
|
+
/** @deprecated Use Preview */
|
|
62
|
+
export { Preview as PreviewV2 } from './engine/preview/Preview';
|
|
63
|
+
/** @deprecated Use PreviewProps */
|
|
64
|
+
export type { PreviewProps as PreviewV2Props } from './engine/preview/Preview';
|
|
19
65
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,22 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { exportSiteToHtml as Y } from "./utils/htmlExporter.js";
|
|
4
|
-
import { applySiteTheme as $, removeSiteTheme as ee } from "./utils/themeApplier.js";
|
|
5
|
-
import { PaletteSelector as te, defaultColorPalettes as oe } from "./components/editors/PaletteSelector.js";
|
|
6
|
-
import { SectionGlow as me } from "./components/effects/SectionGlow.js";
|
|
7
|
-
import { ColorInput as pe } from "./components/inputs/ColorInput.js";
|
|
8
|
-
import { ImageInput as se } from "./components/inputs/ImageInput.js";
|
|
9
|
-
import { SliderInput as fe } from "./components/inputs/SliderInput.js";
|
|
10
|
-
import { SelectInput as ce } from "./components/inputs/SelectInput.js";
|
|
11
|
-
import { CheckboxInput as xe } from "./components/inputs/CheckboxInput.js";
|
|
12
|
-
import { GradientInput as Se } from "./components/inputs/GradientInput.js";
|
|
13
|
-
import { VALUE_FORMATTERS as he } from "./components/inputs/types.js";
|
|
14
|
-
import { createModule as Ve, moduleRegistry as ke } from "./modules/registry.js";
|
|
15
|
-
import { LandingPageEditorV2 as Ce } from "./editor/LandingPageEditorV2.js";
|
|
16
|
-
import { LandingPageViewerV2 as Ie } from "./viewer/LandingPageViewerV2.js";
|
|
17
|
-
import { createEmptySiteDocumentV2 as be } from "./engine/schema/siteDocument.js";
|
|
18
|
-
import { corporateThemeTokens as Re, darkThemeTokens as Le, defaultComponentTokens as ve, defaultEffectTokens as Ae, defaultLayoutTokens as De, defaultThemeTokens as Ge, generateThemeCSSVariables as Oe, gradientDirectionMap as we, gradientThemeTokens as Ne, playfulThemeTokens as _e, radiusScaleMap as Be, shadowScaleMap as Fe, spacingScaleMap as Ue } from "./engine/schema/themeTokens.js";
|
|
19
|
-
import { componentRegistry as ze } from "./engine/registry/registry.js";
|
|
1
|
+
import { LandingPageEditor as X, LandingPageEditor as Y } from "./editor/LandingPageEditor.js";
|
|
2
|
+
import { LandingPageViewer as $, LandingPageViewer as ee } from "./viewer/LandingPageViewer.js";
|
|
20
3
|
import "./engine/registry/blocks/layout/container.js";
|
|
21
4
|
import "./engine/registry/blocks/layout/stack.js";
|
|
22
5
|
import "./engine/registry/blocks/layout/grid.js";
|
|
@@ -58,115 +41,117 @@ import "./engine/registry/blocks/sections/teamCard.js";
|
|
|
58
41
|
import "./engine/registry/blocks/sections/teamGrid.js";
|
|
59
42
|
import "./engine/registry/blocks/sections/courseCardGrid.js";
|
|
60
43
|
import "./engine/registry/blocks/sections/categoryCardGrid.js";
|
|
44
|
+
import "./engine/registry/blocks/sections/blogPostCard.js";
|
|
45
|
+
import "./engine/registry/blocks/sections/blogPostGrid.js";
|
|
46
|
+
import "./engine/registry/blocks/sections/blogPostDetail.js";
|
|
61
47
|
import "./engine/registry/blocks/forms/form.js";
|
|
62
48
|
import "./engine/registry/blocks/forms/input.js";
|
|
63
49
|
import "./engine/registry/blocks/forms/textarea.js";
|
|
64
50
|
import "./engine/registry/blocks/forms/select.js";
|
|
65
|
-
import {
|
|
66
|
-
import {
|
|
67
|
-
import {
|
|
68
|
-
import {
|
|
69
|
-
import {
|
|
70
|
-
import {
|
|
71
|
-
import {
|
|
72
|
-
import {
|
|
73
|
-
import {
|
|
74
|
-
import {
|
|
75
|
-
import {
|
|
76
|
-
import {
|
|
77
|
-
import {
|
|
78
|
-
import {
|
|
79
|
-
import {
|
|
80
|
-
import {
|
|
51
|
+
import { componentRegistry as te, componentRegistry as oe } from "./engine/registry/registry.js";
|
|
52
|
+
import { createEmptySiteDocument as ie, createEmptySiteDocument as me } from "./engine/schema/siteDocument.js";
|
|
53
|
+
import { corporateThemeTokens as ne, darkThemeTokens as se, defaultComponentTokens as ge, defaultEffectTokens as le, defaultLayoutTokens as ce, defaultThemeTokens as de, generateThemeCSSVariables as Pe, gradientDirectionMap as fe, gradientThemeTokens as he, playfulThemeTokens as xe, radiusScaleMap as Se, shadowScaleMap as Te, spacingScaleMap as ye } from "./engine/schema/themeTokens.js";
|
|
54
|
+
import { RenderNode as Ve } from "./engine/render/renderNode.js";
|
|
55
|
+
import { RenderPage as Ee, renderPage as Le } from "./engine/render/renderPage.js";
|
|
56
|
+
import { clearHtmlCache as Me, exportBlockToHtml as Re, exportDocumentToHtml as be, exportPageToHtml as ve, generateAssetsManifest as He } from "./engine/export/exportHtml.js";
|
|
57
|
+
import { isSafeUrl as De, sanitizeHtml as we } from "./engine/export/sanitizeHtml.js";
|
|
58
|
+
import { Preview as _e, Preview as Ie } from "./engine/preview/Preview.js";
|
|
59
|
+
import { applyPatch as Be, createAddPatch as Ge, createCopyPatch as Ue, createMovePatch as je, createRemovePatch as We, createReplacePatch as ze } from "./engine/patch/applyPatch.js";
|
|
60
|
+
import { HistoryManager as Ke, createHistoryManager as qe } from "./engine/patch/history.js";
|
|
61
|
+
import { PatchBuilder as Qe } from "./engine/patch/PatchBuilder.js";
|
|
62
|
+
import { applyOverrides as Ye, classicPreset as Ze, cleanPreset as $e, corporatePreset as er, getAllPresets as rr, getPreset as tr, glassPreset as or, minimalPreset as ar, neonPreset as ir, pastelPreset as mr, playfulKidsPreset as pr, themePresets as nr, validateContrast as sr } from "./engine/presets/themePresets.js";
|
|
63
|
+
import { CAROUSEL_PLACEHOLDER_IMAGES as lr, HERO_IMAGE_NAMES as cr, PLACEHOLDER_IMAGE_URL as dr, getHeroVariation as Pr, heroVariationIds as fr, heroVariations as hr } from "./engine/presets/heroVariations.js";
|
|
64
|
+
import { getNavbarVariation as Sr, navbarVariationIds as Tr, navbarVariations as yr } from "./engine/presets/navbarVariations.js";
|
|
65
|
+
import { generateCompleteLandingPage as Vr, generateModernLandingPage as kr, generatePatchesForLandingPage as Er } from "./engine/generators/generateLandingPage.js";
|
|
66
|
+
import { evaluateShowWhen as Cr } from "./engine/shared/showWhen.js";
|
|
67
|
+
import { pluginRegistry as Rr } from "./engine/plugins/pluginRegistry.js";
|
|
68
|
+
import { hydratePageWithContent as vr } from "./engine/plugins/contentHydration.js";
|
|
69
|
+
import { matchDynamicPage as Ar } from "./engine/plugins/dynamicPageResolver.js";
|
|
70
|
+
import { blogPlugin as wr } from "./engine/plugins/builtin/blog/manifest.js";
|
|
71
|
+
import { mockBlogContentProvider as _r } from "./engine/plugins/builtin/blog/mockContentProvider.js";
|
|
72
|
+
import { createThemeStyle as Nr, generateCSSVariables as Br, generateCSSVariablesObject as Gr, mergeThemeTokens as Ur } from "./engine/theme/generateCSSVariables.js";
|
|
73
|
+
import { renderBlockNode as Wr } from "./engine/render/renderNodeImpl.js";
|
|
74
|
+
import { darkTheme as Fr, defaultTheme as Kr } from "./engine/theme/defaultTheme.js";
|
|
81
75
|
export {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
ve as
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
rr as
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
pt as renderNode,
|
|
163
|
-
We as renderPage,
|
|
164
|
-
ar as sanitizeHtml,
|
|
165
|
-
Fe as shadowScaleMap,
|
|
166
|
-
ur as siteDarkTheme,
|
|
167
|
-
Vr as siteDefaultTheme,
|
|
168
|
-
Ue as spacingScaleMap,
|
|
169
|
-
_r as themePresets,
|
|
170
|
-
Br as validateContrast
|
|
76
|
+
lr as CAROUSEL_PLACEHOLDER_IMAGES,
|
|
77
|
+
cr as HERO_IMAGE_NAMES,
|
|
78
|
+
Ke as HistoryManager,
|
|
79
|
+
X as LandingPageEditor,
|
|
80
|
+
Y as LandingPageEditorV2,
|
|
81
|
+
$ as LandingPageViewer,
|
|
82
|
+
ee as LandingPageViewerV2,
|
|
83
|
+
dr as PLACEHOLDER_IMAGE_URL,
|
|
84
|
+
Qe as PatchBuilder,
|
|
85
|
+
_e as Preview,
|
|
86
|
+
Ie as PreviewV2,
|
|
87
|
+
Ve as RenderNode,
|
|
88
|
+
Ee as RenderPage,
|
|
89
|
+
Ye as applyOverrides,
|
|
90
|
+
Be as applyPatch,
|
|
91
|
+
te as blockRegistry,
|
|
92
|
+
wr as blogPlugin,
|
|
93
|
+
Ze as classicPreset,
|
|
94
|
+
$e as cleanPreset,
|
|
95
|
+
Me as clearHtmlCache,
|
|
96
|
+
oe as componentRegistry,
|
|
97
|
+
er as corporatePreset,
|
|
98
|
+
ne as corporateThemeTokens,
|
|
99
|
+
Ge as createAddPatch,
|
|
100
|
+
Ue as createCopyPatch,
|
|
101
|
+
ie as createEmptySiteDocument,
|
|
102
|
+
me as createEmptySiteDocumentV2,
|
|
103
|
+
qe as createHistoryManager,
|
|
104
|
+
je as createMovePatch,
|
|
105
|
+
We as createRemovePatch,
|
|
106
|
+
ze as createReplacePatch,
|
|
107
|
+
Nr as createSiteThemeStyle,
|
|
108
|
+
se as darkThemeTokens,
|
|
109
|
+
ge as defaultComponentTokens,
|
|
110
|
+
le as defaultEffectTokens,
|
|
111
|
+
ce as defaultLayoutTokens,
|
|
112
|
+
de as defaultThemeTokens,
|
|
113
|
+
Cr as evaluateShowWhen,
|
|
114
|
+
Re as exportBlockToHtml,
|
|
115
|
+
be as exportDocumentToHtml,
|
|
116
|
+
ve as exportPageToHtml,
|
|
117
|
+
He as generateAssetsManifest,
|
|
118
|
+
Vr as generateCompleteLandingPage,
|
|
119
|
+
kr as generateModernLandingPage,
|
|
120
|
+
Er as generatePatchesForLandingPage,
|
|
121
|
+
Br as generateSiteCSSVariables,
|
|
122
|
+
Gr as generateSiteCSSVariablesObject,
|
|
123
|
+
Pe as generateThemeCSSVariables,
|
|
124
|
+
rr as getAllPresets,
|
|
125
|
+
Pr as getHeroVariation,
|
|
126
|
+
Sr as getNavbarVariation,
|
|
127
|
+
tr as getPreset,
|
|
128
|
+
or as glassPreset,
|
|
129
|
+
fe as gradientDirectionMap,
|
|
130
|
+
he as gradientThemeTokens,
|
|
131
|
+
fr as heroVariationIds,
|
|
132
|
+
hr as heroVariations,
|
|
133
|
+
vr as hydratePageWithContent,
|
|
134
|
+
De as isSafeUrl,
|
|
135
|
+
Ar as matchDynamicPage,
|
|
136
|
+
Ur as mergeSiteThemeTokens,
|
|
137
|
+
ar as minimalPreset,
|
|
138
|
+
_r as mockBlogContentProvider,
|
|
139
|
+
Tr as navbarVariationIds,
|
|
140
|
+
yr as navbarVariations,
|
|
141
|
+
ir as neonPreset,
|
|
142
|
+
mr as pastelPreset,
|
|
143
|
+
pr as playfulKidsPreset,
|
|
144
|
+
xe as playfulThemeTokens,
|
|
145
|
+
Rr as pluginRegistry,
|
|
146
|
+
Se as radiusScaleMap,
|
|
147
|
+
Wr as renderNode,
|
|
148
|
+
Le as renderPage,
|
|
149
|
+
we as sanitizeHtml,
|
|
150
|
+
Te as shadowScaleMap,
|
|
151
|
+
Fr as siteDarkTheme,
|
|
152
|
+
Kr as siteDefaultTheme,
|
|
153
|
+
ye as spacingScaleMap,
|
|
154
|
+
nr as themePresets,
|
|
155
|
+
sr as validateContrast
|
|
171
156
|
};
|
|
172
157
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/shared/index.d.ts
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Uso:
|
|
8
8
|
* import {
|
|
9
|
-
*
|
|
9
|
+
* SiteDocument,
|
|
10
10
|
* validateDocument,
|
|
11
11
|
* templates
|
|
12
12
|
* } from '@smartgesti/site-editor/shared'
|
|
13
13
|
*/
|
|
14
|
-
export type { BlockType, BlockBase, Block,
|
|
14
|
+
export type { BlockType, BlockBase, Block, SiteDocument, DocumentMeta, ContainerBlock, StackBlock, GridBlock, BoxBlock, SpacerBlock, HeadingBlock, TextBlock, ImageBlock, ButtonBlock, LinkBlock, DividerBlock, BadgeBlock, IconBlock, AvatarBlock, VideoBlock, SocialLinksBlock, CardBlock, SectionBlock, HeroBlock, FeatureBlock, FeatureGridBlock, PricingBlock, PricingCardBlock, TestimonialBlock, TestimonialGridBlock, FAQBlock, FAQItemBlock, CTABlock, StatsBlock, StatItemBlock, LogoCloudBlock, NavbarBlock, FormBlock, InputBlock, TextareaBlock, FormSelectBlock, ThemeTokens, ColorTokens, TypographyTokens, SpacingTokens, EffectTokens, LayoutTokens, ComponentTokens, ThemePreset, } from './schema';
|
|
15
15
|
export { defaultThemeTokens, generateThemeCSSVariables, themePresets, generateBlockId, } from './schema';
|
|
16
16
|
export { validateDocument, sanitizeDocument, ensureBlockIds, } from './validators';
|
|
17
17
|
export type { ValidationError, ValidationResult } from './validators';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,YAAY,EAEV,SAAS,EACT,SAAS,EACT,KAAK,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,YAAY,EAEV,SAAS,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,EAEZ,cAAc,EACd,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EAEX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,WAAW,EACX,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,gBAAgB,EAEhB,SAAS,EACT,YAAY,EAEZ,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,aAAa,EACb,cAAc,EACd,WAAW,EAEX,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EAEf,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,WAAW,GACZ,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,eAAe,GAChB,MAAM,UAAU,CAAC;AAKlB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAKtE,OAAO,EAEL,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EAEnB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/shared/schema.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export interface BlockBase {
|
|
|
13
13
|
type: BlockType;
|
|
14
14
|
}
|
|
15
15
|
export interface Block extends BlockBase {
|
|
16
|
-
props: Record<string,
|
|
16
|
+
props: Record<string, any>;
|
|
17
17
|
}
|
|
18
18
|
export interface ContainerBlock extends BlockBase {
|
|
19
19
|
type: "container";
|
|
@@ -554,7 +554,7 @@ export interface DocumentMeta {
|
|
|
554
554
|
favicon?: string;
|
|
555
555
|
language?: string;
|
|
556
556
|
}
|
|
557
|
-
export interface
|
|
557
|
+
export interface SiteDocument {
|
|
558
558
|
meta: DocumentMeta;
|
|
559
559
|
theme: SimpleThemeTokens;
|
|
560
560
|
structure: Block[];
|
|
@@ -567,8 +567,8 @@ export type TypographyTokens = SimpleTypographyTokens;
|
|
|
567
567
|
export type SpacingTokens = SimpleSpacingTokens;
|
|
568
568
|
export type EffectTokens = SimpleEffectTokens;
|
|
569
569
|
export type ThemeTokens = SimpleThemeTokens;
|
|
570
|
-
export type LayoutTokens = Record<string,
|
|
571
|
-
export type ComponentTokens = Record<string,
|
|
570
|
+
export type LayoutTokens = Record<string, any>;
|
|
571
|
+
export type ComponentTokens = Record<string, any>;
|
|
572
572
|
export type ThemePreset = string;
|
|
573
573
|
export declare const themePresets: Record<string, SimpleThemeTokens>;
|
|
574
574
|
//# sourceMappingURL=schema.d.ts.map
|