@brunoalz/smartgesti-site-editor 0.1.1 → 0.1.3
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/README.md +336 -84
- package/dist/components/ComponentPalette/definitions.d.ts +3 -0
- package/dist/components/ComponentPalette/definitions.d.ts.map +1 -0
- package/dist/components/ComponentPalette/index.d.ts +7 -0
- package/dist/components/ComponentPalette/index.d.ts.map +1 -0
- package/dist/components/LoadingSpinner.d.ts +6 -0
- package/dist/components/LoadingSpinner.d.ts.map +1 -0
- package/dist/components/PreviewPanel/index.d.ts +12 -0
- package/dist/components/PreviewPanel/index.d.ts.map +1 -0
- package/dist/components/PropertyPanel/index.d.ts +8 -0
- package/dist/components/PropertyPanel/index.d.ts.map +1 -0
- package/dist/components/SiteEditor/index.d.ts +3 -0
- package/dist/components/SiteEditor/index.d.ts.map +1 -0
- package/dist/components/SiteViewer/index.d.ts +3 -0
- package/dist/components/SiteViewer/index.d.ts.map +1 -0
- package/dist/components/TemplateSelector/index.d.ts +7 -0
- package/dist/components/TemplateSelector/index.d.ts.map +1 -0
- package/dist/components/Toolbar/index.d.ts +15 -0
- package/dist/components/Toolbar/index.d.ts.map +1 -0
- package/dist/components/editors/PaletteSelector.d.ts +14 -0
- package/dist/components/editors/PaletteSelector.d.ts.map +1 -0
- package/dist/components/effects/SectionGlow.d.ts +12 -0
- package/dist/components/effects/SectionGlow.d.ts.map +1 -0
- package/dist/components/inputs/CheckboxInput.d.ts +3 -0
- package/dist/components/inputs/CheckboxInput.d.ts.map +1 -0
- package/dist/components/inputs/ColorInput.d.ts +7 -0
- package/dist/components/inputs/ColorInput.d.ts.map +1 -0
- package/dist/components/inputs/GradientInput.d.ts +7 -0
- package/dist/components/inputs/GradientInput.d.ts.map +1 -0
- package/dist/components/inputs/ImageInput.d.ts +19 -0
- package/dist/components/inputs/ImageInput.d.ts.map +1 -0
- package/dist/components/inputs/ImageInput.js +67 -48
- package/dist/components/inputs/ImageInput.js.map +1 -1
- package/dist/components/inputs/SelectInput.d.ts +7 -0
- package/dist/components/inputs/SelectInput.d.ts.map +1 -0
- package/dist/components/inputs/SliderInput.d.ts +8 -0
- package/dist/components/inputs/SliderInput.d.ts.map +1 -0
- package/dist/components/inputs/index.d.ts +11 -0
- package/dist/components/inputs/index.d.ts.map +1 -0
- package/dist/components/inputs/types.d.ts +48 -0
- package/dist/components/inputs/types.d.ts.map +1 -0
- package/dist/components/renderers/ComponentRenderer.d.ts +8 -0
- package/dist/components/renderers/ComponentRenderer.d.ts.map +1 -0
- package/dist/components/renderers/HeroRenderer.d.ts +3 -0
- package/dist/components/renderers/HeroRenderer.d.ts.map +1 -0
- package/dist/components/renderers/hero/HeroBanner.d.ts +3 -0
- package/dist/components/renderers/hero/HeroBanner.d.ts.map +1 -0
- package/dist/components/renderers/hero/HeroCinematic.d.ts +3 -0
- package/dist/components/renderers/hero/HeroCinematic.d.ts.map +1 -0
- package/dist/components/renderers/hero/HeroClassic.d.ts +3 -0
- package/dist/components/renderers/hero/HeroClassic.d.ts.map +1 -0
- package/dist/components/renderers/hero/HeroCollage.d.ts +3 -0
- package/dist/components/renderers/hero/HeroCollage.d.ts.map +1 -0
- package/dist/components/renderers/hero/HeroColumns.d.ts +3 -0
- package/dist/components/renderers/hero/HeroColumns.d.ts.map +1 -0
- package/dist/components/renderers/hero/HeroGlass.d.ts +3 -0
- package/dist/components/renderers/hero/HeroGlass.d.ts.map +1 -0
- package/dist/components/renderers/hero/HeroNeon.d.ts +3 -0
- package/dist/components/renderers/hero/HeroNeon.d.ts.map +1 -0
- package/dist/components/renderers/hero/HeroParallax.d.ts +3 -0
- package/dist/components/renderers/hero/HeroParallax.d.ts.map +1 -0
- package/dist/components/renderers/hero/HeroSplit.d.ts +3 -0
- package/dist/components/renderers/hero/HeroSplit.d.ts.map +1 -0
- package/dist/components/renderers/hero/HeroSpotlight.d.ts +3 -0
- package/dist/components/renderers/hero/HeroSpotlight.d.ts.map +1 -0
- package/dist/components/renderers/hero/index.d.ts +14 -0
- package/dist/components/renderers/hero/index.d.ts.map +1 -0
- package/dist/components/renderers/index.d.ts +8 -0
- package/dist/components/renderers/index.d.ts.map +1 -0
- package/dist/components/renderers/types.d.ts +11 -0
- package/dist/components/renderers/types.d.ts.map +1 -0
- package/dist/demo.d.ts +1 -0
- package/dist/demo.d.ts.map +1 -0
- package/dist/editor/BlockPalette.d.ts +8 -0
- package/dist/editor/BlockPalette.d.ts.map +1 -0
- package/dist/editor/BlockPropertyEditor.d.ts +6 -0
- package/dist/editor/BlockPropertyEditor.d.ts.map +1 -0
- package/dist/editor/BlockSelector.d.ts +10 -0
- package/dist/editor/BlockSelector.d.ts.map +1 -0
- package/dist/editor/LandingPageEditorV2.d.ts +19 -0
- package/dist/editor/LandingPageEditorV2.d.ts.map +1 -0
- package/dist/editor/LandingPageEditorV2.js +50 -48
- package/dist/editor/LandingPageEditorV2.js.map +1 -1
- package/dist/editor/PageTabBar.d.ts +11 -0
- package/dist/editor/PageTabBar.d.ts.map +1 -0
- package/dist/editor/PaletteSelector.d.ts +24 -0
- package/dist/editor/PaletteSelector.d.ts.map +1 -0
- package/dist/editor/PropertyEditor/BlockPropertyEditor.d.ts +16 -0
- package/dist/editor/PropertyEditor/BlockPropertyEditor.d.ts.map +1 -0
- package/dist/editor/PropertyEditor/BlockPropertyEditor.js +14 -12
- package/dist/editor/PropertyEditor/BlockPropertyEditor.js.map +1 -1
- package/dist/editor/PropertyEditor/PropertyGroup.d.ts +19 -0
- package/dist/editor/PropertyEditor/PropertyGroup.d.ts.map +1 -0
- package/dist/editor/PropertyEditor/PropertyGroup.js +12 -10
- package/dist/editor/PropertyEditor/PropertyGroup.js.map +1 -1
- package/dist/editor/PropertyEditor/VariationSelector.d.ts +12 -0
- package/dist/editor/PropertyEditor/VariationSelector.d.ts.map +1 -0
- package/dist/editor/PropertyEditor/index.d.ts +6 -0
- package/dist/editor/PropertyEditor/index.d.ts.map +1 -0
- package/dist/editor/PropertyEditor/inputs/CheckboxInput.d.ts +13 -0
- package/dist/editor/PropertyEditor/inputs/CheckboxInput.d.ts.map +1 -0
- package/dist/editor/PropertyEditor/inputs/ColorInput.d.ts +13 -0
- package/dist/editor/PropertyEditor/inputs/ColorInput.d.ts.map +1 -0
- package/dist/editor/PropertyEditor/inputs/NumberInput.d.ts +16 -0
- package/dist/editor/PropertyEditor/inputs/NumberInput.d.ts.map +1 -0
- package/dist/editor/PropertyEditor/inputs/SelectInput.d.ts +17 -0
- package/dist/editor/PropertyEditor/inputs/SelectInput.d.ts.map +1 -0
- package/dist/editor/PropertyEditor/inputs/SliderInput.d.ts +15 -0
- package/dist/editor/PropertyEditor/inputs/SliderInput.d.ts.map +1 -0
- package/dist/editor/PropertyEditor/inputs/TextAreaInput.d.ts +14 -0
- package/dist/editor/PropertyEditor/inputs/TextAreaInput.d.ts.map +1 -0
- package/dist/editor/PropertyEditor/inputs/TextInput.d.ts +13 -0
- package/dist/editor/PropertyEditor/inputs/TextInput.d.ts.map +1 -0
- package/dist/editor/PropertyEditor/inputs/index.d.ts +8 -0
- package/dist/editor/PropertyEditor/inputs/index.d.ts.map +1 -0
- package/dist/editor/PropertyEditor/renderPropertyInput.d.ts +8 -0
- package/dist/editor/PropertyEditor/renderPropertyInput.d.ts.map +1 -0
- package/dist/editor/PropertyEditor/renderPropertyInput.js +63 -56
- package/dist/editor/PropertyEditor/renderPropertyInput.js.map +1 -1
- package/dist/editor/TemplatePicker.d.ts +7 -0
- package/dist/editor/TemplatePicker.d.ts.map +1 -0
- package/dist/editor/components/CenterPanel.d.ts +15 -0
- package/dist/editor/components/CenterPanel.d.ts.map +1 -0
- package/dist/editor/components/LeftPanel.d.ts +10 -0
- package/dist/editor/components/LeftPanel.d.ts.map +1 -0
- package/dist/editor/components/RightPanel.d.ts +11 -0
- package/dist/editor/components/RightPanel.d.ts.map +1 -0
- package/dist/editor/components/RightPanel.js +19 -11
- package/dist/editor/components/RightPanel.js.map +1 -1
- package/dist/editor/components/Toolbar.d.ts +12 -0
- package/dist/editor/components/Toolbar.d.ts.map +1 -0
- package/dist/editor/components/index.d.ts +5 -0
- package/dist/editor/components/index.d.ts.map +1 -0
- package/dist/engine/export/exportHtml.d.ts +32 -0
- package/dist/engine/export/exportHtml.d.ts.map +1 -0
- package/dist/engine/export/exporters/HtmlExporter.d.ts +34 -0
- package/dist/engine/export/exporters/HtmlExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/content/AvatarExporter.d.ts +4 -0
- package/dist/engine/export/exporters/content/AvatarExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/content/BadgeExporter.d.ts +4 -0
- package/dist/engine/export/exporters/content/BadgeExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/content/ButtonExporter.d.ts +4 -0
- package/dist/engine/export/exporters/content/ButtonExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/content/CardExporter.d.ts +4 -0
- package/dist/engine/export/exporters/content/CardExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/content/DividerExporter.d.ts +4 -0
- package/dist/engine/export/exporters/content/DividerExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/content/HeadingExporter.d.ts +4 -0
- package/dist/engine/export/exporters/content/HeadingExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/content/IconExporter.d.ts +4 -0
- package/dist/engine/export/exporters/content/IconExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/content/ImageExporter.d.ts +4 -0
- package/dist/engine/export/exporters/content/ImageExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/content/LinkExporter.d.ts +4 -0
- package/dist/engine/export/exporters/content/LinkExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/content/SpacerExporter.d.ts +4 -0
- package/dist/engine/export/exporters/content/SpacerExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/content/TextExporter.d.ts +4 -0
- package/dist/engine/export/exporters/content/TextExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/content/VideoExporter.d.ts +4 -0
- package/dist/engine/export/exporters/content/VideoExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/content/index.d.ts +4 -0
- package/dist/engine/export/exporters/content/index.d.ts.map +1 -0
- package/dist/engine/export/exporters/forms/FormExporters.d.ts +7 -0
- package/dist/engine/export/exporters/forms/FormExporters.d.ts.map +1 -0
- package/dist/engine/export/exporters/forms/index.d.ts +4 -0
- package/dist/engine/export/exporters/forms/index.d.ts.map +1 -0
- package/dist/engine/export/exporters/index.d.ts +8 -0
- package/dist/engine/export/exporters/index.d.ts.map +1 -0
- package/dist/engine/export/exporters/layout/BoxExporter.d.ts +4 -0
- package/dist/engine/export/exporters/layout/BoxExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/layout/ContainerExporter.d.ts +4 -0
- package/dist/engine/export/exporters/layout/ContainerExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/layout/GridExporter.d.ts +4 -0
- package/dist/engine/export/exporters/layout/GridExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/layout/SectionExporter.d.ts +4 -0
- package/dist/engine/export/exporters/layout/SectionExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/layout/StackExporter.d.ts +4 -0
- package/dist/engine/export/exporters/layout/StackExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/layout/index.d.ts +4 -0
- package/dist/engine/export/exporters/layout/index.d.ts.map +1 -0
- package/dist/engine/export/exporters/sections/ContentGridExporters.d.ts +10 -0
- package/dist/engine/export/exporters/sections/ContentGridExporters.d.ts.map +1 -0
- package/dist/engine/export/exporters/sections/FooterExporter.d.ts +4 -0
- package/dist/engine/export/exporters/sections/FooterExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/sections/HeroExporter.d.ts +4 -0
- package/dist/engine/export/exporters/sections/HeroExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/sections/MarketingExporters.d.ts +16 -0
- package/dist/engine/export/exporters/sections/MarketingExporters.d.ts.map +1 -0
- package/dist/engine/export/exporters/sections/NavbarExporter.d.ts +4 -0
- package/dist/engine/export/exporters/sections/NavbarExporter.d.ts.map +1 -0
- package/dist/engine/export/exporters/sections/index.d.ts +4 -0
- package/dist/engine/export/exporters/sections/index.d.ts.map +1 -0
- package/dist/engine/export/sanitizeHtml.d.ts +13 -0
- package/dist/engine/export/sanitizeHtml.d.ts.map +1 -0
- package/dist/engine/export/shared/buttonStyles.d.ts +17 -0
- package/dist/engine/export/shared/buttonStyles.d.ts.map +1 -0
- package/dist/engine/export/shared/htmlHelpers.d.ts +31 -0
- package/dist/engine/export/shared/htmlHelpers.d.ts.map +1 -0
- package/dist/engine/export/shared/stylesToString.d.ts +9 -0
- package/dist/engine/export/shared/stylesToString.d.ts.map +1 -0
- package/dist/engine/export/styleResolver.d.ts +65 -0
- package/dist/engine/export/styleResolver.d.ts.map +1 -0
- package/dist/engine/generators/generateLandingPage.d.ts +35 -0
- package/dist/engine/generators/generateLandingPage.d.ts.map +1 -0
- package/dist/engine/index.d.ts +24 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/engine/patch/PatchBuilder.d.ts +52 -0
- package/dist/engine/patch/PatchBuilder.d.ts.map +1 -0
- package/dist/engine/patch/applyPatch.d.ts +26 -0
- package/dist/engine/patch/applyPatch.d.ts.map +1 -0
- package/dist/engine/patch/history.d.ts +76 -0
- package/dist/engine/patch/history.d.ts.map +1 -0
- package/dist/engine/patch/types.d.ts +43 -0
- package/dist/engine/patch/types.d.ts.map +1 -0
- package/dist/engine/presets/heroVariations.d.ts +32 -0
- package/dist/engine/presets/heroVariations.d.ts.map +1 -0
- package/dist/engine/presets/heroVariations.js +9 -9
- package/dist/engine/presets/heroVariations.js.map +1 -1
- package/dist/engine/presets/navbarVariations.d.ts +28 -0
- package/dist/engine/presets/navbarVariations.d.ts.map +1 -0
- package/dist/engine/presets/themePresets.d.ts +64 -0
- package/dist/engine/presets/themePresets.d.ts.map +1 -0
- package/dist/engine/preview/PreviewV2.d.ts +15 -0
- package/dist/engine/preview/PreviewV2.d.ts.map +1 -0
- package/dist/engine/registry/blocks/composition/card.d.ts +3 -0
- package/dist/engine/registry/blocks/composition/card.d.ts.map +1 -0
- package/dist/engine/registry/blocks/composition/index.d.ts +3 -0
- package/dist/engine/registry/blocks/composition/index.d.ts.map +1 -0
- package/dist/engine/registry/blocks/composition/section.d.ts +3 -0
- package/dist/engine/registry/blocks/composition/section.d.ts.map +1 -0
- package/dist/engine/registry/blocks/content/avatar.d.ts +3 -0
- package/dist/engine/registry/blocks/content/avatar.d.ts.map +1 -0
- package/dist/engine/registry/blocks/content/badge.d.ts +3 -0
- package/dist/engine/registry/blocks/content/badge.d.ts.map +1 -0
- package/dist/engine/registry/blocks/content/button.d.ts +3 -0
- package/dist/engine/registry/blocks/content/button.d.ts.map +1 -0
- package/dist/engine/registry/blocks/content/divider.d.ts +3 -0
- package/dist/engine/registry/blocks/content/divider.d.ts.map +1 -0
- package/dist/engine/registry/blocks/content/heading.d.ts +3 -0
- package/dist/engine/registry/blocks/content/heading.d.ts.map +1 -0
- package/dist/engine/registry/blocks/content/icon.d.ts +3 -0
- package/dist/engine/registry/blocks/content/icon.d.ts.map +1 -0
- package/dist/engine/registry/blocks/content/image.d.ts +3 -0
- package/dist/engine/registry/blocks/content/image.d.ts.map +1 -0
- package/dist/engine/registry/blocks/content/index.d.ts +12 -0
- package/dist/engine/registry/blocks/content/index.d.ts.map +1 -0
- package/dist/engine/registry/blocks/content/link.d.ts +3 -0
- package/dist/engine/registry/blocks/content/link.d.ts.map +1 -0
- package/dist/engine/registry/blocks/content/socialLinks.d.ts +3 -0
- package/dist/engine/registry/blocks/content/socialLinks.d.ts.map +1 -0
- package/dist/engine/registry/blocks/content/text.d.ts +3 -0
- package/dist/engine/registry/blocks/content/text.d.ts.map +1 -0
- package/dist/engine/registry/blocks/content/video.d.ts +3 -0
- package/dist/engine/registry/blocks/content/video.d.ts.map +1 -0
- package/dist/engine/registry/blocks/forms/form.d.ts +3 -0
- package/dist/engine/registry/blocks/forms/form.d.ts.map +1 -0
- package/dist/engine/registry/blocks/forms/index.d.ts +5 -0
- package/dist/engine/registry/blocks/forms/index.d.ts.map +1 -0
- package/dist/engine/registry/blocks/forms/input.d.ts +3 -0
- package/dist/engine/registry/blocks/forms/input.d.ts.map +1 -0
- package/dist/engine/registry/blocks/forms/select.d.ts +3 -0
- package/dist/engine/registry/blocks/forms/select.d.ts.map +1 -0
- package/dist/engine/registry/blocks/forms/textarea.d.ts +3 -0
- package/dist/engine/registry/blocks/forms/textarea.d.ts.map +1 -0
- package/dist/engine/registry/blocks/index.d.ts +3 -0
- package/dist/engine/registry/blocks/index.d.ts.map +1 -0
- package/dist/engine/registry/blocks/layout/box.d.ts +3 -0
- package/dist/engine/registry/blocks/layout/box.d.ts.map +1 -0
- package/dist/engine/registry/blocks/layout/container.d.ts +3 -0
- package/dist/engine/registry/blocks/layout/container.d.ts.map +1 -0
- package/dist/engine/registry/blocks/layout/grid.d.ts +3 -0
- package/dist/engine/registry/blocks/layout/grid.d.ts.map +1 -0
- package/dist/engine/registry/blocks/layout/index.d.ts +6 -0
- package/dist/engine/registry/blocks/layout/index.d.ts.map +1 -0
- package/dist/engine/registry/blocks/layout/spacer.d.ts +3 -0
- package/dist/engine/registry/blocks/layout/spacer.d.ts.map +1 -0
- package/dist/engine/registry/blocks/layout/stack.d.ts +3 -0
- package/dist/engine/registry/blocks/layout/stack.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/blogCard.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/blogCard.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/blogCardGrid.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/blogCardGrid.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/carousel.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/carousel.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/categoryCardGrid.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/categoryCardGrid.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/countdown.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/countdown.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/courseCardGrid.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/courseCardGrid.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/cta.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/cta.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/faq.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/faq.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/faqItem.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/faqItem.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/feature.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/feature.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/featureGrid.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/featureGrid.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/footer.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/footer.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/footer.js +5 -0
- package/dist/engine/registry/blocks/sections/footer.js.map +1 -1
- package/dist/engine/registry/blocks/sections/hero.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/hero.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/index.d.ts +24 -0
- package/dist/engine/registry/blocks/sections/index.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/logoCloud.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/logoCloud.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/navbar.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/navbar.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/pricing.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/pricing.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/pricingCard.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/pricingCard.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/statItem.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/statItem.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/stats.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/stats.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/teamCard.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/teamCard.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/teamGrid.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/teamGrid.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/testimonial.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/testimonial.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/testimonialGrid.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/testimonialGrid.d.ts.map +1 -0
- package/dist/engine/registry/registry.d.ts +3 -0
- package/dist/engine/registry/registry.d.ts.map +1 -0
- package/dist/engine/registry/types.d.ts +77 -0
- package/dist/engine/registry/types.d.ts.map +1 -0
- package/dist/engine/render/cssVariables.d.ts +8 -0
- package/dist/engine/render/cssVariables.d.ts.map +1 -0
- package/dist/engine/render/registry/renderRegistry.d.ts +17 -0
- package/dist/engine/render/registry/renderRegistry.d.ts.map +1 -0
- package/dist/engine/render/renderNode.d.ts +15 -0
- package/dist/engine/render/renderNode.d.ts.map +1 -0
- package/dist/engine/render/renderNodeImpl.d.ts +8 -0
- package/dist/engine/render/renderNodeImpl.d.ts.map +1 -0
- package/dist/engine/render/renderPage.d.ts +16 -0
- package/dist/engine/render/renderPage.d.ts.map +1 -0
- package/dist/engine/render/renderers/composition/CardRenderer.d.ts +4 -0
- package/dist/engine/render/renderers/composition/CardRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/composition/SectionRenderer.d.ts +4 -0
- package/dist/engine/render/renderers/composition/SectionRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/composition/index.d.ts +6 -0
- package/dist/engine/render/renderers/composition/index.d.ts.map +1 -0
- package/dist/engine/render/renderers/content/AvatarRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/content/AvatarRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/content/BadgeRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/content/BadgeRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/content/ButtonRenderer.d.ts +4 -0
- package/dist/engine/render/renderers/content/ButtonRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/content/DividerRenderer.d.ts +4 -0
- package/dist/engine/render/renderers/content/DividerRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/content/HeadingRenderer.d.ts +4 -0
- package/dist/engine/render/renderers/content/HeadingRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/content/IconRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/content/IconRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/content/ImageRenderer.d.ts +4 -0
- package/dist/engine/render/renderers/content/ImageRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/content/LinkRenderer.d.ts +4 -0
- package/dist/engine/render/renderers/content/LinkRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/content/SocialLinksRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/content/SocialLinksRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/content/TextRenderer.d.ts +4 -0
- package/dist/engine/render/renderers/content/TextRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/content/VideoRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/content/VideoRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/content/index.d.ts +6 -0
- package/dist/engine/render/renderers/content/index.d.ts.map +1 -0
- package/dist/engine/render/renderers/forms/FormRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/forms/FormRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/forms/InputRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/forms/InputRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/forms/SelectRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/forms/SelectRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/forms/TextareaRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/forms/TextareaRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/forms/index.d.ts +6 -0
- package/dist/engine/render/renderers/forms/index.d.ts.map +1 -0
- package/dist/engine/render/renderers/index.d.ts +2 -0
- package/dist/engine/render/renderers/index.d.ts.map +1 -0
- package/dist/engine/render/renderers/layout/BoxRenderer.d.ts +4 -0
- package/dist/engine/render/renderers/layout/BoxRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/layout/ContainerRenderer.d.ts +4 -0
- package/dist/engine/render/renderers/layout/ContainerRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/layout/GridRenderer.d.ts +4 -0
- package/dist/engine/render/renderers/layout/GridRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/layout/SpacerRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/layout/SpacerRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/layout/StackRenderer.d.ts +4 -0
- package/dist/engine/render/renderers/layout/StackRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/layout/index.d.ts +6 -0
- package/dist/engine/render/renderers/layout/index.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/CtaRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/CtaRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/FaqItemRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/FaqItemRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/FaqRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/FaqRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/FeatureGridRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/FeatureGridRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/FeatureRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/FeatureRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/FooterRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/FooterRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/HeroRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/HeroRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/LogoCloudRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/LogoCloudRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/NavbarRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/NavbarRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/PricingCardRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/PricingCardRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/PricingRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/PricingRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/StatItemRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/StatItemRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/StatsRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/StatsRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/TestimonialGridRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/TestimonialGridRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/TestimonialRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/TestimonialRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/index.d.ts +6 -0
- package/dist/engine/render/renderers/sections/index.d.ts.map +1 -0
- package/dist/engine/schema/siteDocument.d.ts +783 -0
- package/dist/engine/schema/siteDocument.d.ts.map +1 -0
- package/dist/engine/schema/themeTokens.d.ts +219 -0
- package/dist/engine/schema/themeTokens.d.ts.map +1 -0
- package/dist/engine/theme/defaultTheme.d.ts +13 -0
- package/dist/engine/theme/defaultTheme.d.ts.map +1 -0
- package/dist/engine/theme/generateCSSVariables.d.ts +37 -0
- package/dist/engine/theme/generateCSSVariables.d.ts.map +1 -0
- package/dist/engine/theme/index.d.ts +4 -0
- package/dist/engine/theme/index.d.ts.map +1 -0
- package/dist/engine/theme/themeTokens.d.ts +152 -0
- package/dist/engine/theme/themeTokens.d.ts.map +1 -0
- package/dist/hooks/useEditorState.d.ts +35 -0
- package/dist/hooks/useEditorState.d.ts.map +1 -0
- package/dist/hooks/useKeyboardShortcuts.d.ts +37 -0
- package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/hooks/useNavbarAutoSync.d.ts +7 -0
- package/dist/hooks/useNavbarAutoSync.d.ts.map +1 -0
- package/dist/index.d.ts +19 -600
- package/dist/index.d.ts.map +1 -0
- package/dist/modules/registry.d.ts +31 -0
- package/dist/modules/registry.d.ts.map +1 -0
- package/dist/shared/index.d.ts +20 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/schema.d.ts +574 -0
- package/dist/shared/schema.d.ts.map +1 -0
- package/dist/shared/templates/escola-edvi.d.ts +3 -0
- package/dist/shared/templates/escola-edvi.d.ts.map +1 -0
- package/dist/shared/templates/escola-premium.d.ts +3 -0
- package/dist/shared/templates/escola-premium.d.ts.map +1 -0
- package/dist/shared/templates/escola-zilom.d.ts +3 -0
- package/dist/shared/templates/escola-zilom.d.ts.map +1 -0
- package/dist/shared/templates/index.d.ts +49 -0
- package/dist/shared/templates/index.d.ts.map +1 -0
- package/dist/shared/validators.d.ts +24 -0
- package/dist/shared/validators.d.ts.map +1 -0
- package/dist/shared.d.ts +2 -598
- package/dist/site/BlockRenderer.d.ts +55 -0
- package/dist/site/BlockRenderer.d.ts.map +1 -0
- package/dist/site/blocks/Button.d.ts +3 -0
- package/dist/site/blocks/Button.d.ts.map +1 -0
- package/dist/site/blocks/Card.d.ts +3 -0
- package/dist/site/blocks/Card.d.ts.map +1 -0
- package/dist/site/blocks/Features.d.ts +3 -0
- package/dist/site/blocks/Features.d.ts.map +1 -0
- package/dist/site/blocks/Footer.d.ts +3 -0
- package/dist/site/blocks/Footer.d.ts.map +1 -0
- package/dist/site/blocks/Hero.d.ts +3 -0
- package/dist/site/blocks/Hero.d.ts.map +1 -0
- package/dist/site/blocks/Navbar.d.ts +3 -0
- package/dist/site/blocks/Navbar.d.ts.map +1 -0
- package/dist/site/blocks/Section.d.ts +3 -0
- package/dist/site/blocks/Section.d.ts.map +1 -0
- package/dist/site/blocks/SectionHeader.d.ts +3 -0
- package/dist/site/blocks/SectionHeader.d.ts.map +1 -0
- package/dist/site/blocks/SiteRoot.d.ts +10 -0
- package/dist/site/blocks/SiteRoot.d.ts.map +1 -0
- package/dist/site/blocks/index.d.ts +18 -0
- package/dist/site/blocks/index.d.ts.map +1 -0
- package/dist/site/blocks/types.d.ts +122 -0
- package/dist/site/blocks/types.d.ts.map +1 -0
- package/dist/site/index.d.ts.map +1 -0
- package/dist/site-styles.d.ts +2 -163
- package/dist/styles/site/base.css.d.ts +8 -0
- package/dist/styles/site/base.css.d.ts.map +1 -0
- package/dist/styles/site/index.d.ts +10 -0
- package/dist/styles/site/index.d.ts.map +1 -0
- package/dist/styles/site/sections.css.d.ts +44 -0
- package/dist/styles/site/sections.css.d.ts.map +1 -0
- package/dist/styles/site/tokens.css.d.ts +74 -0
- package/dist/styles/site/tokens.css.d.ts.map +1 -0
- package/dist/types/index.d.ts +99 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/module.d.ts +25 -0
- package/dist/types/module.d.ts.map +1 -0
- package/dist/utils/blockUtils.d.ts +22 -0
- package/dist/utils/blockUtils.d.ts.map +1 -0
- package/dist/utils/changeDetector.d.ts +35 -0
- package/dist/utils/changeDetector.d.ts.map +1 -0
- package/dist/utils/cn.d.ts +6 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/dist/utils/colorUtils.d.ts +29 -0
- package/dist/utils/colorUtils.d.ts.map +1 -0
- package/dist/utils/documentHash.d.ts +12 -0
- package/dist/utils/documentHash.d.ts.map +1 -0
- package/dist/utils/htmlExporter.d.ts +6 -0
- package/dist/utils/htmlExporter.d.ts.map +1 -0
- package/dist/utils/navbarSync.d.ts +32 -0
- package/dist/utils/navbarSync.d.ts.map +1 -0
- package/dist/utils/pageTemplateFactory.d.ts +23 -0
- package/dist/utils/pageTemplateFactory.d.ts.map +1 -0
- package/dist/utils/sharedTemplateToEngine.d.ts +13 -0
- package/dist/utils/sharedTemplateToEngine.d.ts.map +1 -0
- package/dist/utils/themeApplier.d.ts +11 -0
- package/dist/utils/themeApplier.d.ts.map +1 -0
- package/dist/utils/useDebounce.d.ts +12 -0
- package/dist/utils/useDebounce.d.ts.map +1 -0
- package/dist/viewer/LandingPageViewerV2.d.ts +25 -0
- package/dist/viewer/LandingPageViewerV2.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as m, jsxs as C } from "react/jsx-runtime";
|
|
2
|
-
import { useState as T, useCallback as
|
|
3
|
-
import { TemplatePicker as
|
|
4
|
-
import { Toolbar as
|
|
5
|
-
import { LeftPanel as
|
|
6
|
-
import { CenterPanel as
|
|
7
|
-
import { RightPanel as
|
|
8
|
-
import { useEditorState as
|
|
9
|
-
import { useKeyboardShortcuts as
|
|
2
|
+
import { useState as T, useCallback as J, useEffect as B } from "react";
|
|
3
|
+
import { TemplatePicker as O } from "./TemplatePicker.js";
|
|
4
|
+
import { Toolbar as Q } from "./components/Toolbar.js";
|
|
5
|
+
import { LeftPanel as X } from "./components/LeftPanel.js";
|
|
6
|
+
import { CenterPanel as Y } from "./components/CenterPanel.js";
|
|
7
|
+
import { RightPanel as Z } from "./components/RightPanel.js";
|
|
8
|
+
import { useEditorState as _ } from "../hooks/useEditorState.js";
|
|
9
|
+
import { useKeyboardShortcuts as $ } from "../hooks/useKeyboardShortcuts.js";
|
|
10
10
|
import "../engine/schema/themeTokens.js";
|
|
11
11
|
import "../engine/registry/blocks/layout/container.js";
|
|
12
12
|
import "../engine/registry/blocks/layout/stack.js";
|
|
@@ -62,46 +62,47 @@ import "../engine/export/exporters/layout/index.js";
|
|
|
62
62
|
import "../engine/export/exporters/content/index.js";
|
|
63
63
|
import "../engine/export/exporters/sections/index.js";
|
|
64
64
|
import "../engine/export/exporters/forms/index.js";
|
|
65
|
-
import { PatchBuilder as
|
|
65
|
+
import { PatchBuilder as oo } from "../engine/patch/PatchBuilder.js";
|
|
66
66
|
import "../engine/theme/defaultTheme.js";
|
|
67
67
|
import { getTemplate as w } from "../shared/templates/index.js";
|
|
68
68
|
import { sharedTemplateToEngineDocument as L } from "../utils/sharedTemplateToEngine.js";
|
|
69
|
-
import { findBlockInStructure as
|
|
69
|
+
import { findBlockInStructure as ro } from "../utils/blockUtils.js";
|
|
70
70
|
import { isLightColor as D } from "../utils/colorUtils.js";
|
|
71
|
-
function
|
|
71
|
+
function yr({
|
|
72
72
|
initialData: E,
|
|
73
73
|
defaultTemplateId: d,
|
|
74
74
|
onSave: u,
|
|
75
|
-
onPublish: f
|
|
75
|
+
onPublish: f,
|
|
76
|
+
uploadConfig: R
|
|
76
77
|
}) {
|
|
77
78
|
const {
|
|
78
79
|
document: r,
|
|
79
|
-
currentPageId:
|
|
80
|
+
currentPageId: U,
|
|
80
81
|
currentPage: g,
|
|
81
82
|
selectedBlockId: c,
|
|
82
|
-
selectedBlock:
|
|
83
|
-
history:
|
|
83
|
+
selectedBlock: I,
|
|
84
|
+
history: N,
|
|
84
85
|
setCurrentPageId: s,
|
|
85
|
-
addPage:
|
|
86
|
-
removePage:
|
|
87
|
-
canRemovePage:
|
|
86
|
+
addPage: j,
|
|
87
|
+
removePage: A,
|
|
88
|
+
canRemovePage: K,
|
|
88
89
|
setSelectedBlockId: a,
|
|
89
90
|
handleUndo: k,
|
|
90
91
|
handleRedo: v,
|
|
91
92
|
handleDeleteBlock: y,
|
|
92
|
-
handleUpdateBlock:
|
|
93
|
-
applyChange:
|
|
94
|
-
resetToTemplate:
|
|
93
|
+
handleUpdateBlock: M,
|
|
94
|
+
applyChange: V,
|
|
95
|
+
resetToTemplate: W,
|
|
95
96
|
isPaletteSelected: P,
|
|
96
97
|
loadDocument: h
|
|
97
|
-
} =
|
|
98
|
+
} = _({ initialData: E }), [q, p] = T(!1), [x, z] = T(
|
|
98
99
|
null
|
|
99
|
-
), b =
|
|
100
|
+
), b = J(
|
|
100
101
|
(o) => {
|
|
101
102
|
const e = w(o);
|
|
102
103
|
if (!e) return;
|
|
103
104
|
const t = L(e);
|
|
104
|
-
h(t),
|
|
105
|
+
h(t), z(o);
|
|
105
106
|
},
|
|
106
107
|
[h]
|
|
107
108
|
);
|
|
@@ -119,7 +120,7 @@ function vr({
|
|
|
119
120
|
p(!1);
|
|
120
121
|
}
|
|
121
122
|
}
|
|
122
|
-
},
|
|
123
|
+
}, F = async () => {
|
|
123
124
|
if (!(!r || !f)) {
|
|
124
125
|
p(!0);
|
|
125
126
|
try {
|
|
@@ -130,9 +131,9 @@ function vr({
|
|
|
130
131
|
p(!1);
|
|
131
132
|
}
|
|
132
133
|
}
|
|
133
|
-
},
|
|
134
|
+
}, G = (o) => {
|
|
134
135
|
if (!r) return;
|
|
135
|
-
const e = D(o.background ?? "#ffffff"), t = D(o.primary ?? "#3b82f6"), l = e ? "#6b7280" : "#9ca3af", n = t ? "#1f2937" : "#ffffff", i =
|
|
136
|
+
const e = D(o.background ?? "#ffffff"), t = D(o.primary ?? "#3b82f6"), l = e ? "#6b7280" : "#9ca3af", n = t ? "#1f2937" : "#ffffff", i = oo.updateTheme(r, {
|
|
136
137
|
colors: {
|
|
137
138
|
...r.theme.colors,
|
|
138
139
|
primary: o.primary,
|
|
@@ -149,9 +150,9 @@ function vr({
|
|
|
149
150
|
// Links do menu navbar
|
|
150
151
|
}
|
|
151
152
|
});
|
|
152
|
-
|
|
153
|
+
V(i, "Update color palette");
|
|
153
154
|
};
|
|
154
|
-
return
|
|
155
|
+
return $({
|
|
155
156
|
onUndo: k,
|
|
156
157
|
onRedo: v,
|
|
157
158
|
onSave: S,
|
|
@@ -166,14 +167,14 @@ function vr({
|
|
|
166
167
|
if (!r) return;
|
|
167
168
|
const l = t.match(/^(?:\/site)?\/p\/([^#?]+)/);
|
|
168
169
|
if (l) {
|
|
169
|
-
const n = l[1], i = r.pages.find((
|
|
170
|
+
const n = l[1], i = r.pages.find((H) => H.slug === n);
|
|
170
171
|
i && s(i.id);
|
|
171
172
|
return;
|
|
172
173
|
}
|
|
173
174
|
if (t.startsWith("#")) {
|
|
174
175
|
const n = t.slice(1);
|
|
175
176
|
for (const i of r.pages)
|
|
176
|
-
if (
|
|
177
|
+
if (ro(i.structure || [], n)) {
|
|
177
178
|
s(i.id), a(n);
|
|
178
179
|
break;
|
|
179
180
|
}
|
|
@@ -182,23 +183,23 @@ function vr({
|
|
|
182
183
|
return window.addEventListener("message", o), () => window.removeEventListener("message", o);
|
|
183
184
|
}, [r, s, a]), r ? /* @__PURE__ */ C("div", { className: "h-[91vh] max-h-[91vh] flex flex-col bg-background overflow-hidden", children: [
|
|
184
185
|
/* @__PURE__ */ m(
|
|
185
|
-
|
|
186
|
+
Q,
|
|
186
187
|
{
|
|
187
|
-
history:
|
|
188
|
-
isSaving:
|
|
188
|
+
history: N,
|
|
189
|
+
isSaving: q,
|
|
189
190
|
onUndo: k,
|
|
190
191
|
onRedo: v,
|
|
191
192
|
onSave: S,
|
|
192
|
-
onPublish: f ?
|
|
193
|
+
onPublish: f ? F : void 0,
|
|
193
194
|
onReset: x ? () => {
|
|
194
195
|
const o = w(x);
|
|
195
196
|
o && h(L(o));
|
|
196
|
-
} :
|
|
197
|
+
} : W
|
|
197
198
|
}
|
|
198
199
|
),
|
|
199
200
|
/* @__PURE__ */ C("div", { className: "flex-1 flex overflow-hidden min-h-0 max-h-full", children: [
|
|
200
201
|
/* @__PURE__ */ m(
|
|
201
|
-
|
|
202
|
+
X,
|
|
202
203
|
{
|
|
203
204
|
currentPage: g,
|
|
204
205
|
selectedBlockId: c,
|
|
@@ -208,10 +209,10 @@ function vr({
|
|
|
208
209
|
}
|
|
209
210
|
),
|
|
210
211
|
/* @__PURE__ */ m(
|
|
211
|
-
|
|
212
|
+
Y,
|
|
212
213
|
{
|
|
213
214
|
document: r,
|
|
214
|
-
currentPageId:
|
|
215
|
+
currentPageId: U,
|
|
215
216
|
currentPage: g,
|
|
216
217
|
selectedBlockId: c,
|
|
217
218
|
onBlockClick: a,
|
|
@@ -220,25 +221,26 @@ function vr({
|
|
|
220
221
|
const o = prompt("Nome da página:");
|
|
221
222
|
if (!o) return;
|
|
222
223
|
const e = o.toLowerCase().replace(/\s+/g, "-");
|
|
223
|
-
|
|
224
|
+
j(e, o, e);
|
|
224
225
|
},
|
|
225
|
-
onRemovePage:
|
|
226
|
-
canRemovePage:
|
|
226
|
+
onRemovePage: A,
|
|
227
|
+
canRemovePage: K
|
|
227
228
|
}
|
|
228
229
|
),
|
|
229
230
|
/* @__PURE__ */ m(
|
|
230
|
-
|
|
231
|
+
Z,
|
|
231
232
|
{
|
|
232
233
|
isPaletteSelected: P,
|
|
233
|
-
selectedBlock:
|
|
234
|
-
onPaletteChange:
|
|
235
|
-
onUpdateBlock:
|
|
234
|
+
selectedBlock: I,
|
|
235
|
+
onPaletteChange: G,
|
|
236
|
+
onUpdateBlock: M,
|
|
237
|
+
uploadConfig: R
|
|
236
238
|
}
|
|
237
239
|
)
|
|
238
240
|
] })
|
|
239
|
-
] }) : /* @__PURE__ */ m("div", { className: "h-[91vh] max-h-[91vh] flex flex-col bg-background overflow-hidden", children: /* @__PURE__ */ m(
|
|
241
|
+
] }) : /* @__PURE__ */ m("div", { className: "h-[91vh] max-h-[91vh] flex flex-col bg-background overflow-hidden", children: /* @__PURE__ */ m(O, { onSelectTemplate: b }) });
|
|
240
242
|
}
|
|
241
243
|
export {
|
|
242
|
-
|
|
244
|
+
yr as LandingPageEditorV2
|
|
243
245
|
};
|
|
244
246
|
//# sourceMappingURL=LandingPageEditorV2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LandingPageEditorV2.js","sources":["../../src/editor/LandingPageEditorV2.tsx"],"sourcesContent":["/**\n * Landing Page Editor V2 - Refatorado\n * Editor de landing pages usando engine V2\n */\n\nimport { useState, useCallback, useEffect, lazy, Suspense } from \"react\";\nimport { TemplatePicker } from \"./TemplatePicker\";\nimport { Toolbar, LeftPanel, CenterPanel, RightPanel } from \"./components\";\nimport { useEditorState } from \"../hooks/useEditorState\";\nimport { useKeyboardShortcuts } from \"../hooks/useKeyboardShortcuts\";\nimport { LoadingSpinner } from \"../components/LoadingSpinner\";\nimport { SiteDocumentV2, PatchBuilder } from \"../engine\";\nimport { getTemplate } from \"../shared/templates\";\nimport type { TemplateId } from \"../shared/templates\";\nimport { sharedTemplateToEngineDocument } from \"../utils/sharedTemplateToEngine\";\nimport { findBlockInStructure } from \"../utils/blockUtils\";\nimport { isLightColor } from \"../utils/colorUtils\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\ninterface LandingPageEditorV2Props {\n initialData?: SiteDocumentV2;\n /** ID do template a carregar quando não houver initialData (ex.: \"escola-edvi\") */\n defaultTemplateId?: TemplateId;\n onSave?: (data: SiteDocumentV2) => Promise<void>;\n onPublish?: (data: SiteDocumentV2) => Promise<void>;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport function LandingPageEditorV2({\n initialData,\n defaultTemplateId,\n onSave,\n onPublish,\n}: LandingPageEditorV2Props) {\n // Hook de estado do editor (edição por páginas; sem navegação)\n const {\n document,\n currentPageId,\n currentPage,\n selectedBlockId,\n selectedBlock,\n history,\n setCurrentPageId,\n addPage,\n removePage,\n canRemovePage,\n setSelectedBlockId,\n handleUndo,\n handleRedo,\n handleDeleteBlock,\n handleUpdateBlock,\n applyChange,\n resetToTemplate,\n isPaletteSelected,\n loadDocument,\n } = useEditorState({ initialData });\n\n // Estado local da UI\n const [isSaving, setIsSaving] = useState(false);\n const [currentTemplateId, setCurrentTemplateId] = useState<TemplateId | null>(\n null,\n );\n\n // Carregar template escolhido (converter shared → engine e carregar no editor)\n const handleSelectTemplate = useCallback(\n (templateId: TemplateId) => {\n const sharedDoc = getTemplate(templateId);\n if (!sharedDoc) return;\n const engineDoc = sharedTemplateToEngineDocument(sharedDoc);\n loadDocument(engineDoc);\n setCurrentTemplateId(templateId);\n },\n [loadDocument],\n );\n\n // Ao montar sem documento: carregar defaultTemplateId se informado\n useEffect(() => {\n if (!document && defaultTemplateId) {\n handleSelectTemplate(defaultTemplateId);\n }\n }, [defaultTemplateId]); // eslint-disable-line react-hooks/exhaustive-deps -- carregar só uma vez quando defaultTemplateId existe\n\n // Handlers de save/publish\n const handleSave = async () => {\n if (!document || !onSave) return;\n setIsSaving(true);\n try {\n await onSave(document);\n } catch (error) {\n console.error(\"Error saving:\", error);\n } finally {\n setIsSaving(false);\n }\n };\n\n const handlePublish = async () => {\n if (!document || !onPublish) return;\n setIsSaving(true);\n try {\n await onPublish(document);\n } catch (error) {\n console.error(\"Error publishing:\", error);\n } finally {\n setIsSaving(false);\n }\n };\n\n // Handler para atualizar paleta de cores (inclui mutedText, primaryText, linkColor e menuLinkColor)\n const handlePaletteChange = (palette: any) => {\n if (!document) return;\n const bgLight = isLightColor(palette.background ?? \"#ffffff\");\n const primaryLight = isLightColor(palette.primary ?? \"#3b82f6\");\n const mutedText = bgLight ? \"#6b7280\" : \"#9ca3af\";\n const primaryText = primaryLight ? \"#1f2937\" : \"#ffffff\";\n const patch = PatchBuilder.updateTheme(document, {\n colors: {\n ...document.theme.colors,\n primary: palette.primary,\n secondary: palette.secondary,\n accent: palette.accent,\n bg: palette.background,\n surface: palette.surface || document.theme.colors.surface,\n text: palette.text || document.theme.colors.text,\n mutedText,\n primaryText,\n linkColor: palette.linkColor || palette.primary, // Links gerais\n menuLinkColor: palette.menuLinkColor || palette.primary, // Links do menu navbar\n },\n });\n applyChange(patch, \"Update color palette\");\n };\n\n // No editor: cliques em links no preview não navegam; trocam a página em edição\n // Keyboard shortcuts\n useKeyboardShortcuts({\n onUndo: handleUndo,\n onRedo: handleRedo,\n onSave: handleSave,\n onDelete: () => {\n if (selectedBlockId) {\n handleDeleteBlock(selectedBlockId);\n }\n },\n onDeselect: () => setSelectedBlockId(null),\n });\n\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (event.data?.type !== \"editor-navigate\" || !event.data.href) return;\n const href = String(event.data.href);\n if (!document) return;\n // Links internos: /site/p/:slug ou /p/:slug\n const match = href.match(/^(?:\\/site)?\\/p\\/([^#?]+)/);\n if (match) {\n const slug = match[1];\n const page = document.pages.find((p) => p.slug === slug);\n if (page) setCurrentPageId(page.id);\n return;\n }\n // Âncora #id: selecionar bloco com esse id e trocar para a página que o contém\n if (href.startsWith(\"#\")) {\n const id = href.slice(1);\n for (const p of document.pages) {\n if (findBlockInStructure(p.structure || [], id)) {\n setCurrentPageId(p.id);\n setSelectedBlockId(id);\n break;\n }\n }\n }\n };\n window.addEventListener(\"message\", handleMessage);\n return () => window.removeEventListener(\"message\", handleMessage);\n }, [document, setCurrentPageId, setSelectedBlockId]);\n\n // Sem documento: mostrar seletor de templates\n if (!document) {\n return (\n <div className=\"h-[91vh] max-h-[91vh] flex flex-col bg-background overflow-hidden\">\n <TemplatePicker onSelectTemplate={handleSelectTemplate} />\n </div>\n );\n }\n\n return (\n <div className=\"h-[91vh] max-h-[91vh] flex flex-col bg-background overflow-hidden\">\n {/* Toolbar */}\n <Toolbar\n history={history}\n isSaving={isSaving}\n onUndo={handleUndo}\n onRedo={handleRedo}\n onSave={handleSave}\n onPublish={onPublish ? handlePublish : undefined}\n onReset={\n currentTemplateId\n ? () => {\n // Recarregar o mesmo template\n const sharedDoc = getTemplate(currentTemplateId);\n if (sharedDoc)\n loadDocument(sharedTemplateToEngineDocument(sharedDoc));\n }\n : resetToTemplate\n }\n />\n\n {/* Main Content - 3 Columns */}\n <div className=\"flex-1 flex overflow-hidden min-h-0 max-h-full\">\n {/* Left: Block Selector + Paletas */}\n <LeftPanel\n currentPage={currentPage}\n selectedBlockId={selectedBlockId}\n isPaletteSelected={isPaletteSelected}\n onSelectBlock={setSelectedBlockId}\n onDeleteBlock={handleDeleteBlock}\n />\n\n {/* Center: Preview (apenas a página em edição) */}\n <CenterPanel\n document={document}\n currentPageId={currentPageId}\n currentPage={currentPage}\n selectedBlockId={selectedBlockId}\n onBlockClick={setSelectedBlockId}\n onSelectPage={setCurrentPageId}\n onAddPage={() => {\n const name = prompt(\"Nome da página:\");\n if (!name) return;\n const slug = name.toLowerCase().replace(/\\s+/g, \"-\");\n const id = slug;\n addPage(id, name, slug);\n }}\n onRemovePage={removePage}\n canRemovePage={canRemovePage}\n />\n\n {/* Right: Editor Panel */}\n <RightPanel\n isPaletteSelected={isPaletteSelected}\n selectedBlock={selectedBlock}\n onPaletteChange={handlePaletteChange}\n onUpdateBlock={handleUpdateBlock}\n />\n </div>\n </div>\n );\n}\n"],"names":["LandingPageEditorV2","initialData","defaultTemplateId","onSave","onPublish","document","currentPageId","currentPage","selectedBlockId","selectedBlock","history","setCurrentPageId","addPage","removePage","canRemovePage","setSelectedBlockId","handleUndo","handleRedo","handleDeleteBlock","handleUpdateBlock","applyChange","resetToTemplate","isPaletteSelected","loadDocument","useEditorState","isSaving","setIsSaving","useState","currentTemplateId","setCurrentTemplateId","handleSelectTemplate","useCallback","templateId","sharedDoc","getTemplate","engineDoc","sharedTemplateToEngineDocument","useEffect","handleSave","error","handlePublish","handlePaletteChange","palette","bgLight","isLightColor","primaryLight","mutedText","primaryText","patch","PatchBuilder","useKeyboardShortcuts","handleMessage","event","href","match","slug","page","p","id","findBlockInStructure","jsxs","jsx","Toolbar","LeftPanel","CenterPanel","name","RightPanel","TemplatePicker"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LandingPageEditorV2.js","sources":["../../src/editor/LandingPageEditorV2.tsx"],"sourcesContent":["/**\n * Landing Page Editor V2 - Refatorado\n * Editor de landing pages usando engine V2\n */\n\nimport { useState, useCallback, useEffect, lazy, Suspense } from \"react\";\nimport { TemplatePicker } from \"./TemplatePicker\";\nimport { Toolbar, LeftPanel, CenterPanel, RightPanel } from \"./components\";\nimport { useEditorState } from \"../hooks/useEditorState\";\nimport { useKeyboardShortcuts } from \"../hooks/useKeyboardShortcuts\";\nimport { LoadingSpinner } from \"../components/LoadingSpinner\";\nimport { SiteDocumentV2, PatchBuilder } from \"../engine\";\nimport { getTemplate } from \"../shared/templates\";\nimport type { TemplateId } from \"../shared/templates\";\nimport { sharedTemplateToEngineDocument } from \"../utils/sharedTemplateToEngine\";\nimport { findBlockInStructure } from \"../utils/blockUtils\";\nimport { isLightColor } from \"../utils/colorUtils\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface UploadConfig {\n tenantId?: string;\n schoolId?: string;\n siteId?: string | null;\n authToken?: string;\n}\n\nexport interface LandingPageEditorV2Props {\n initialData?: SiteDocumentV2;\n /** ID do template a carregar quando não houver initialData (ex.: \"escola-edvi\") */\n defaultTemplateId?: TemplateId;\n onSave?: (data: SiteDocumentV2) => Promise<void>;\n onPublish?: (data: SiteDocumentV2) => Promise<void>;\n /** Configuração para upload seguro de imagens/vídeos */\n uploadConfig?: UploadConfig;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport function LandingPageEditorV2({\n initialData,\n defaultTemplateId,\n onSave,\n onPublish,\n uploadConfig,\n}: LandingPageEditorV2Props) {\n // Hook de estado do editor (edição por páginas; sem navegação)\n const {\n document,\n currentPageId,\n currentPage,\n selectedBlockId,\n selectedBlock,\n history,\n setCurrentPageId,\n addPage,\n removePage,\n canRemovePage,\n setSelectedBlockId,\n handleUndo,\n handleRedo,\n handleDeleteBlock,\n handleUpdateBlock,\n applyChange,\n resetToTemplate,\n isPaletteSelected,\n loadDocument,\n } = useEditorState({ initialData });\n\n // Estado local da UI\n const [isSaving, setIsSaving] = useState(false);\n const [currentTemplateId, setCurrentTemplateId] = useState<TemplateId | null>(\n null,\n );\n\n // Carregar template escolhido (converter shared → engine e carregar no editor)\n const handleSelectTemplate = useCallback(\n (templateId: TemplateId) => {\n const sharedDoc = getTemplate(templateId);\n if (!sharedDoc) return;\n const engineDoc = sharedTemplateToEngineDocument(sharedDoc);\n loadDocument(engineDoc);\n setCurrentTemplateId(templateId);\n },\n [loadDocument],\n );\n\n // Ao montar sem documento: carregar defaultTemplateId se informado\n useEffect(() => {\n if (!document && defaultTemplateId) {\n handleSelectTemplate(defaultTemplateId);\n }\n }, [defaultTemplateId]); // eslint-disable-line react-hooks/exhaustive-deps -- carregar só uma vez quando defaultTemplateId existe\n\n // Handlers de save/publish\n const handleSave = async () => {\n if (!document || !onSave) return;\n setIsSaving(true);\n try {\n await onSave(document);\n } catch (error) {\n console.error(\"Error saving:\", error);\n } finally {\n setIsSaving(false);\n }\n };\n\n const handlePublish = async () => {\n if (!document || !onPublish) return;\n setIsSaving(true);\n try {\n await onPublish(document);\n } catch (error) {\n console.error(\"Error publishing:\", error);\n } finally {\n setIsSaving(false);\n }\n };\n\n // Handler para atualizar paleta de cores (inclui mutedText, primaryText, linkColor e menuLinkColor)\n const handlePaletteChange = (palette: any) => {\n if (!document) return;\n const bgLight = isLightColor(palette.background ?? \"#ffffff\");\n const primaryLight = isLightColor(palette.primary ?? \"#3b82f6\");\n const mutedText = bgLight ? \"#6b7280\" : \"#9ca3af\";\n const primaryText = primaryLight ? \"#1f2937\" : \"#ffffff\";\n const patch = PatchBuilder.updateTheme(document, {\n colors: {\n ...document.theme.colors,\n primary: palette.primary,\n secondary: palette.secondary,\n accent: palette.accent,\n bg: palette.background,\n surface: palette.surface || document.theme.colors.surface,\n text: palette.text || document.theme.colors.text,\n mutedText,\n primaryText,\n linkColor: palette.linkColor || palette.primary, // Links gerais\n menuLinkColor: palette.menuLinkColor || palette.primary, // Links do menu navbar\n },\n });\n applyChange(patch, \"Update color palette\");\n };\n\n // No editor: cliques em links no preview não navegam; trocam a página em edição\n // Keyboard shortcuts\n useKeyboardShortcuts({\n onUndo: handleUndo,\n onRedo: handleRedo,\n onSave: handleSave,\n onDelete: () => {\n if (selectedBlockId) {\n handleDeleteBlock(selectedBlockId);\n }\n },\n onDeselect: () => setSelectedBlockId(null),\n });\n\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (event.data?.type !== \"editor-navigate\" || !event.data.href) return;\n const href = String(event.data.href);\n if (!document) return;\n // Links internos: /site/p/:slug ou /p/:slug\n const match = href.match(/^(?:\\/site)?\\/p\\/([^#?]+)/);\n if (match) {\n const slug = match[1];\n const page = document.pages.find((p) => p.slug === slug);\n if (page) setCurrentPageId(page.id);\n return;\n }\n // Âncora #id: selecionar bloco com esse id e trocar para a página que o contém\n if (href.startsWith(\"#\")) {\n const id = href.slice(1);\n for (const p of document.pages) {\n if (findBlockInStructure(p.structure || [], id)) {\n setCurrentPageId(p.id);\n setSelectedBlockId(id);\n break;\n }\n }\n }\n };\n window.addEventListener(\"message\", handleMessage);\n return () => window.removeEventListener(\"message\", handleMessage);\n }, [document, setCurrentPageId, setSelectedBlockId]);\n\n // Sem documento: mostrar seletor de templates\n if (!document) {\n return (\n <div className=\"h-[91vh] max-h-[91vh] flex flex-col bg-background overflow-hidden\">\n <TemplatePicker onSelectTemplate={handleSelectTemplate} />\n </div>\n );\n }\n\n return (\n <div className=\"h-[91vh] max-h-[91vh] flex flex-col bg-background overflow-hidden\">\n {/* Toolbar */}\n <Toolbar\n history={history}\n isSaving={isSaving}\n onUndo={handleUndo}\n onRedo={handleRedo}\n onSave={handleSave}\n onPublish={onPublish ? handlePublish : undefined}\n onReset={\n currentTemplateId\n ? () => {\n // Recarregar o mesmo template\n const sharedDoc = getTemplate(currentTemplateId);\n if (sharedDoc)\n loadDocument(sharedTemplateToEngineDocument(sharedDoc));\n }\n : resetToTemplate\n }\n />\n\n {/* Main Content - 3 Columns */}\n <div className=\"flex-1 flex overflow-hidden min-h-0 max-h-full\">\n {/* Left: Block Selector + Paletas */}\n <LeftPanel\n currentPage={currentPage}\n selectedBlockId={selectedBlockId}\n isPaletteSelected={isPaletteSelected}\n onSelectBlock={setSelectedBlockId}\n onDeleteBlock={handleDeleteBlock}\n />\n\n {/* Center: Preview (apenas a página em edição) */}\n <CenterPanel\n document={document}\n currentPageId={currentPageId}\n currentPage={currentPage}\n selectedBlockId={selectedBlockId}\n onBlockClick={setSelectedBlockId}\n onSelectPage={setCurrentPageId}\n onAddPage={() => {\n const name = prompt(\"Nome da página:\");\n if (!name) return;\n const slug = name.toLowerCase().replace(/\\s+/g, \"-\");\n const id = slug;\n addPage(id, name, slug);\n }}\n onRemovePage={removePage}\n canRemovePage={canRemovePage}\n />\n\n {/* Right: Editor Panel */}\n <RightPanel\n isPaletteSelected={isPaletteSelected}\n selectedBlock={selectedBlock}\n onPaletteChange={handlePaletteChange}\n onUpdateBlock={handleUpdateBlock}\n uploadConfig={uploadConfig}\n />\n </div>\n </div>\n );\n}\n"],"names":["LandingPageEditorV2","initialData","defaultTemplateId","onSave","onPublish","uploadConfig","document","currentPageId","currentPage","selectedBlockId","selectedBlock","history","setCurrentPageId","addPage","removePage","canRemovePage","setSelectedBlockId","handleUndo","handleRedo","handleDeleteBlock","handleUpdateBlock","applyChange","resetToTemplate","isPaletteSelected","loadDocument","useEditorState","isSaving","setIsSaving","useState","currentTemplateId","setCurrentTemplateId","handleSelectTemplate","useCallback","templateId","sharedDoc","getTemplate","engineDoc","sharedTemplateToEngineDocument","useEffect","handleSave","error","handlePublish","handlePaletteChange","palette","bgLight","isLightColor","primaryLight","mutedText","primaryText","patch","PatchBuilder","useKeyboardShortcuts","handleMessage","event","href","match","slug","page","p","id","findBlockInStructure","jsxs","jsx","Toolbar","LeftPanel","CenterPanel","name","RightPanel","TemplatePicker"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SitePage } from '../engine/schema/siteDocument';
|
|
2
|
+
export interface PageTabBarProps {
|
|
3
|
+
pages: SitePage[];
|
|
4
|
+
currentPageId: string;
|
|
5
|
+
onSelectPage: (id: string) => void;
|
|
6
|
+
onAddPage: () => void;
|
|
7
|
+
onRemovePage: (id: string) => void;
|
|
8
|
+
canRemovePage: (id: string) => boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function PageTabBar({ pages, currentPageId, onSelectPage, onAddPage, onRemovePage, canRemovePage, }: PageTabBarProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=PageTabBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageTabBar.d.ts","sourceRoot":"","sources":["../../src/editor/PageTabBar.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;CACxC;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,aAAa,EACb,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,aAAa,GACd,EAAE,eAAe,2CA+GjB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Palette Selector
|
|
3
|
+
* Seletor de paletas de cores para o editor
|
|
4
|
+
*/
|
|
5
|
+
export interface ColorPalette {
|
|
6
|
+
name: string;
|
|
7
|
+
primary: string;
|
|
8
|
+
secondary: string;
|
|
9
|
+
accent: string;
|
|
10
|
+
background: string;
|
|
11
|
+
surface?: string;
|
|
12
|
+
text: string;
|
|
13
|
+
linkColor?: string;
|
|
14
|
+
menuLinkColor?: string;
|
|
15
|
+
gradient: string[];
|
|
16
|
+
}
|
|
17
|
+
export declare const colorPalettes: ColorPalette[];
|
|
18
|
+
interface PaletteSelectorProps {
|
|
19
|
+
selectedPalette?: ColorPalette;
|
|
20
|
+
onPaletteChange: (palette: ColorPalette) => void;
|
|
21
|
+
}
|
|
22
|
+
export declare function PaletteSelector({ selectedPalette, onPaletteChange, }: PaletteSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=PaletteSelector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaletteSelector.d.ts","sourceRoot":"","sources":["../../src/editor/PaletteSelector.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAMD,eAAO,MAAM,aAAa,EAAE,YAAY,EAuJvC,CAAC;AAMF,UAAU,oBAAoB;IAC5B,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,eAAe,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,eAAe,CAAC,EAC9B,eAAe,EACf,eAAe,GAChB,EAAE,oBAAoB,2CAmCtB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Block, SiteDocumentV2 } from '../../engine';
|
|
2
|
+
import { UploadConfig } from '../LandingPageEditorV2';
|
|
3
|
+
interface BlockPropertyEditorProps {
|
|
4
|
+
block: Block | null;
|
|
5
|
+
document?: SiteDocumentV2;
|
|
6
|
+
currentPageId?: string;
|
|
7
|
+
onUpdate: (updates: Record<string, any>) => void;
|
|
8
|
+
uploadConfig?: UploadConfig;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Componente principal do editor de propriedades
|
|
12
|
+
* Memoizado para performance
|
|
13
|
+
*/
|
|
14
|
+
export declare const BlockPropertyEditor: import('react').NamedExoticComponent<BlockPropertyEditorProps>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=BlockPropertyEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockPropertyEditor.d.ts","sourceRoot":"","sources":["../../../src/editor/PropertyEditor/BlockPropertyEditor.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,KAAK,EAAE,cAAc,EAAoC,MAAM,cAAc,CAAC;AAGvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,UAAU,wBAAwB;IAChC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,gEA6F9B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as e, jsxs as a } from "react/jsx-runtime";
|
|
2
|
-
import { memo as
|
|
2
|
+
import { memo as u, useMemo as d, useCallback as g } from "react";
|
|
3
3
|
import "../../engine/schema/themeTokens.js";
|
|
4
|
-
import { componentRegistry as
|
|
4
|
+
import { componentRegistry as y } from "../../engine/registry/registry.js";
|
|
5
5
|
import "../../engine/registry/blocks/layout/container.js";
|
|
6
6
|
import "../../engine/registry/blocks/layout/stack.js";
|
|
7
7
|
import "../../engine/registry/blocks/layout/grid.js";
|
|
@@ -57,13 +57,14 @@ import "../../engine/export/exporters/content/index.js";
|
|
|
57
57
|
import "../../engine/export/exporters/sections/index.js";
|
|
58
58
|
import "../../engine/export/exporters/forms/index.js";
|
|
59
59
|
import "../../engine/theme/defaultTheme.js";
|
|
60
|
-
import { VariationSelector as
|
|
61
|
-
import { PropertyGroup as
|
|
62
|
-
const
|
|
60
|
+
import { VariationSelector as f } from "./VariationSelector.js";
|
|
61
|
+
import { PropertyGroup as h } from "./PropertyGroup.js";
|
|
62
|
+
const kr = u(function({
|
|
63
63
|
block: r,
|
|
64
|
-
onUpdate: p
|
|
64
|
+
onUpdate: p,
|
|
65
|
+
uploadConfig: l
|
|
65
66
|
}) {
|
|
66
|
-
const o = d(() => r ?
|
|
67
|
+
const o = d(() => r ? y.get(r.type) : null, [r]), n = d(() => {
|
|
67
68
|
if (!r || !o?.inspectorMeta) return {};
|
|
68
69
|
const i = r.props, t = {};
|
|
69
70
|
for (const [s, c] of Object.entries(
|
|
@@ -85,7 +86,7 @@ const Or = x(function({
|
|
|
85
86
|
"Tipo de bloco desconhecido: ",
|
|
86
87
|
r.type
|
|
87
88
|
] });
|
|
88
|
-
const
|
|
89
|
+
const x = g((i, t) => {
|
|
89
90
|
p({ [i]: t });
|
|
90
91
|
}, [p]);
|
|
91
92
|
return /* @__PURE__ */ a("div", { className: "p-3 space-y-4", children: [
|
|
@@ -93,19 +94,20 @@ const Or = x(function({
|
|
|
93
94
|
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold text-gray-800 dark:text-gray-100", children: o.name }),
|
|
94
95
|
/* @__PURE__ */ e("p", { className: "text-xs text-gray-500 dark:text-gray-400 mt-0.5", children: o.description })
|
|
95
96
|
] }),
|
|
96
|
-
o.variations && /* @__PURE__ */ e(
|
|
97
|
+
o.variations && /* @__PURE__ */ e(f, { block: r, onUpdate: p }),
|
|
97
98
|
Object.keys(n).length === 0 ? /* @__PURE__ */ e("div", { className: "text-center text-gray-500 dark:text-gray-400 text-xs py-4", children: "Nenhuma propriedade configurável" }) : Object.entries(n).map(([i, t]) => /* @__PURE__ */ e(
|
|
98
|
-
|
|
99
|
+
h,
|
|
99
100
|
{
|
|
100
101
|
groupName: i,
|
|
101
102
|
props: t,
|
|
102
|
-
onPropChange:
|
|
103
|
+
onPropChange: x,
|
|
104
|
+
uploadConfig: l
|
|
103
105
|
},
|
|
104
106
|
i
|
|
105
107
|
))
|
|
106
108
|
] });
|
|
107
109
|
});
|
|
108
110
|
export {
|
|
109
|
-
|
|
111
|
+
kr as BlockPropertyEditor
|
|
110
112
|
};
|
|
111
113
|
//# sourceMappingURL=BlockPropertyEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockPropertyEditor.js","sources":["../../../src/editor/PropertyEditor/BlockPropertyEditor.tsx"],"sourcesContent":["/**\n * Block Property Editor - Refatorado\n * Editor dinâmico de propriedades baseado em inspectorMeta\n */\n\nimport { memo, useMemo, useCallback } from \"react\";\nimport { Block, SiteDocumentV2, componentRegistry, InspectorMeta } from \"../../engine\";\nimport { VariationSelector } from \"./VariationSelector\";\nimport { PropertyGroup } from \"./PropertyGroup\";\n\ninterface BlockPropertyEditorProps {\n block: Block | null;\n document?: SiteDocumentV2;\n currentPageId?: string;\n onUpdate: (updates: Record<string, any>) => void;\n}\n\n/**\n * Componente principal do editor de propriedades\n * Memoizado para performance\n */\nexport const BlockPropertyEditor = memo(function BlockPropertyEditor({\n block,\n onUpdate,\n}: BlockPropertyEditorProps) {\n // Obter definição do bloco do registry\n const blockDefinition = useMemo(() => {\n if (!block) return null;\n return componentRegistry.get(block.type);\n }, [block]);\n\n // Agrupar propriedades por grupo\n const groupedProps = useMemo(() => {\n if (!block || !blockDefinition?.inspectorMeta) return {};\n\n const props = block.props as Record<string, any>;\n const groups: Record<\n string,\n Array<{ propName: string; meta: InspectorMeta; value: any }>\n > = {};\n\n for (const [propName, meta] of Object.entries(\n blockDefinition.inspectorMeta,\n )) {\n const group = meta.group || \"Geral\";\n if (!groups[group]) {\n groups[group] = [];\n }\n groups[group].push({\n propName,\n meta,\n value: props[propName],\n });\n }\n\n return groups;\n }, [block, blockDefinition]);\n\n if (!block) {\n return (\n <div className=\"p-4 text-center text-gray-500 dark:text-gray-400 text-sm\">\n Selecione um bloco para editar\n </div>\n );\n }\n\n if (!blockDefinition) {\n return (\n <div className=\"p-4 text-center text-red-500 text-sm\">\n Tipo de bloco desconhecido: {block.type}\n </div>\n );\n }\n\n const handlePropChange = useCallback((propName: string, value: any) => {\n onUpdate({ [propName]: value });\n }, [onUpdate]);\n\n return (\n <div className=\"p-3 space-y-4\">\n {/* Header com nome do bloco */}\n <div className=\"pb-2 border-b border-gray-200 dark:border-gray-700\">\n <h3 className=\"text-sm font-semibold text-gray-800 dark:text-gray-100\">\n {blockDefinition.name}\n </h3>\n <p className=\"text-xs text-gray-500 dark:text-gray-400 mt-0.5\">\n {blockDefinition.description}\n </p>\n </div>\n\n {/* Seletor de variações (Hero/Navbar) */}\n {blockDefinition.variations && (\n <VariationSelector block={block} onUpdate={onUpdate} />\n )}\n\n {/* Propriedades agrupadas */}\n {Object.keys(groupedProps).length === 0 ? (\n <div className=\"text-center text-gray-500 dark:text-gray-400 text-xs py-4\">\n Nenhuma propriedade configurável\n </div>\n ) : (\n Object.entries(groupedProps).map(([groupName, props]) => (\n <PropertyGroup\n key={groupName}\n groupName={groupName}\n props={props}\n onPropChange={handlePropChange}\n />\n ))\n )}\n </div>\n );\n});\n"],"names":["BlockPropertyEditor","memo","block","onUpdate","blockDefinition","useMemo","componentRegistry","groupedProps","props","groups","propName","meta","group","jsx","jsxs","handlePropChange","useCallback","value","VariationSelector","groupName","PropertyGroup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"BlockPropertyEditor.js","sources":["../../../src/editor/PropertyEditor/BlockPropertyEditor.tsx"],"sourcesContent":["/**\n * Block Property Editor - Refatorado\n * Editor dinâmico de propriedades baseado em inspectorMeta\n */\n\nimport { memo, useMemo, useCallback } from \"react\";\nimport { Block, SiteDocumentV2, componentRegistry, InspectorMeta } from \"../../engine\";\nimport { VariationSelector } from \"./VariationSelector\";\nimport { PropertyGroup } from \"./PropertyGroup\";\nimport type { UploadConfig } from \"../LandingPageEditorV2\";\n\ninterface BlockPropertyEditorProps {\n block: Block | null;\n document?: SiteDocumentV2;\n currentPageId?: string;\n onUpdate: (updates: Record<string, any>) => void;\n uploadConfig?: UploadConfig;\n}\n\n/**\n * Componente principal do editor de propriedades\n * Memoizado para performance\n */\nexport const BlockPropertyEditor = memo(function BlockPropertyEditor({\n block,\n onUpdate,\n uploadConfig,\n}: BlockPropertyEditorProps) {\n // Obter definição do bloco do registry\n const blockDefinition = useMemo(() => {\n if (!block) return null;\n return componentRegistry.get(block.type);\n }, [block]);\n\n // Agrupar propriedades por grupo\n const groupedProps = useMemo(() => {\n if (!block || !blockDefinition?.inspectorMeta) return {};\n\n const props = block.props as Record<string, any>;\n const groups: Record<\n string,\n Array<{ propName: string; meta: InspectorMeta; value: any }>\n > = {};\n\n for (const [propName, meta] of Object.entries(\n blockDefinition.inspectorMeta,\n )) {\n const group = meta.group || \"Geral\";\n if (!groups[group]) {\n groups[group] = [];\n }\n groups[group].push({\n propName,\n meta,\n value: props[propName],\n });\n }\n\n return groups;\n }, [block, blockDefinition]);\n\n if (!block) {\n return (\n <div className=\"p-4 text-center text-gray-500 dark:text-gray-400 text-sm\">\n Selecione um bloco para editar\n </div>\n );\n }\n\n if (!blockDefinition) {\n return (\n <div className=\"p-4 text-center text-red-500 text-sm\">\n Tipo de bloco desconhecido: {block.type}\n </div>\n );\n }\n\n const handlePropChange = useCallback((propName: string, value: any) => {\n onUpdate({ [propName]: value });\n }, [onUpdate]);\n\n return (\n <div className=\"p-3 space-y-4\">\n {/* Header com nome do bloco */}\n <div className=\"pb-2 border-b border-gray-200 dark:border-gray-700\">\n <h3 className=\"text-sm font-semibold text-gray-800 dark:text-gray-100\">\n {blockDefinition.name}\n </h3>\n <p className=\"text-xs text-gray-500 dark:text-gray-400 mt-0.5\">\n {blockDefinition.description}\n </p>\n </div>\n\n {/* Seletor de variações (Hero/Navbar) */}\n {blockDefinition.variations && (\n <VariationSelector block={block} onUpdate={onUpdate} />\n )}\n\n {/* Propriedades agrupadas */}\n {Object.keys(groupedProps).length === 0 ? (\n <div className=\"text-center text-gray-500 dark:text-gray-400 text-xs py-4\">\n Nenhuma propriedade configurável\n </div>\n ) : (\n Object.entries(groupedProps).map(([groupName, props]) => (\n <PropertyGroup\n key={groupName}\n groupName={groupName}\n props={props}\n onPropChange={handlePropChange}\n uploadConfig={uploadConfig}\n />\n ))\n )}\n </div>\n );\n});\n"],"names":["BlockPropertyEditor","memo","block","onUpdate","uploadConfig","blockDefinition","useMemo","componentRegistry","groupedProps","props","groups","propName","meta","group","jsx","jsxs","handlePropChange","useCallback","value","VariationSelector","groupName","PropertyGroup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBO,MAAMA,KAAsBC,EAAK,SAA6B;AAAA,EACnE,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AACF,GAA6B;AAE3B,QAAMC,IAAkBC,EAAQ,MACzBJ,IACEK,EAAkB,IAAIL,EAAM,IAAI,IADpB,MAElB,CAACA,CAAK,CAAC,GAGJM,IAAeF,EAAQ,MAAM;AACjC,QAAI,CAACJ,KAAS,CAACG,GAAiB,sBAAsB,CAAA;AAEtD,UAAMI,IAAQP,EAAM,OACdQ,IAGF,CAAA;AAEJ,eAAW,CAACC,GAAUC,CAAI,KAAK,OAAO;AAAA,MACpCP,EAAgB;AAAA,IAAA,GACf;AACD,YAAMQ,IAAQD,EAAK,SAAS;AAC5B,MAAKF,EAAOG,CAAK,MACfH,EAAOG,CAAK,IAAI,CAAA,IAElBH,EAAOG,CAAK,EAAE,KAAK;AAAA,QACjB,UAAAF;AAAA,QACA,MAAAC;AAAA,QACA,OAAOH,EAAME,CAAQ;AAAA,MAAA,CACtB;AAAA,IACH;AAEA,WAAOD;AAAA,EACT,GAAG,CAACR,GAAOG,CAAe,CAAC;AAE3B,MAAI,CAACH;AACH,WACE,gBAAAY,EAAC,OAAA,EAAI,WAAU,4DAA2D,UAAA,kCAE1E;AAIJ,MAAI,CAACT;AACH,WACE,gBAAAU,EAAC,OAAA,EAAI,WAAU,wCAAuC,UAAA;AAAA,MAAA;AAAA,MACvBb,EAAM;AAAA,IAAA,GACrC;AAIJ,QAAMc,IAAmBC,EAAY,CAACN,GAAkBO,MAAe;AACrE,IAAAf,EAAS,EAAE,CAACQ,CAAQ,GAAGO,GAAO;AAAA,EAChC,GAAG,CAACf,CAAQ,CAAC;AAEb,SACE,gBAAAY,EAAC,OAAA,EAAI,WAAU,iBAEb,UAAA;AAAA,IAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,sDACb,UAAA;AAAA,MAAA,gBAAAD,EAAC,MAAA,EAAG,WAAU,0DACX,UAAAT,EAAgB,MACnB;AAAA,MACA,gBAAAS,EAAC,KAAA,EAAE,WAAU,mDACV,YAAgB,YAAA,CACnB;AAAA,IAAA,GACF;AAAA,IAGCT,EAAgB,cACf,gBAAAS,EAACK,GAAA,EAAkB,OAAAjB,GAAc,UAAAC,GAAoB;AAAA,IAItD,OAAO,KAAKK,CAAY,EAAE,WAAW,IACpC,gBAAAM,EAAC,SAAI,WAAU,6DAA4D,8CAE3E,IAEA,OAAO,QAAQN,CAAY,EAAE,IAAI,CAAC,CAACY,GAAWX,CAAK,MACjD,gBAAAK;AAAA,MAACO;AAAA,MAAA;AAAA,QAEC,WAAAD;AAAA,QACA,OAAAX;AAAA,QACA,cAAcO;AAAA,QACd,cAAAZ;AAAA,MAAA;AAAA,MAJKgB;AAAA,IAAA,CAMR;AAAA,EAAA,GAEL;AAEJ,CAAC;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { InspectorMeta } from '../../engine';
|
|
2
|
+
import { UploadConfig } from '../LandingPageEditorV2';
|
|
3
|
+
interface PropertyGroupProps {
|
|
4
|
+
groupName: string;
|
|
5
|
+
props: Array<{
|
|
6
|
+
propName: string;
|
|
7
|
+
meta: InspectorMeta;
|
|
8
|
+
value: any;
|
|
9
|
+
}>;
|
|
10
|
+
onPropChange: (propName: string, value: any) => void;
|
|
11
|
+
uploadConfig?: UploadConfig;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Componente para agrupar propriedades relacionadas
|
|
15
|
+
* Memoizado para evitar re-renders desnecessários
|
|
16
|
+
*/
|
|
17
|
+
export declare const PropertyGroup: import('react').NamedExoticComponent<PropertyGroupProps>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=PropertyGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyGroup.d.ts","sourceRoot":"","sources":["../../../src/editor/PropertyEditor/PropertyGroup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,UAAU,kBAAkB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,aAAa,CAAC;QACpB,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC,CAAC;IACH,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACrD,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,0DA4BxB,CAAC"}
|
|
@@ -1,24 +1,26 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { memo as
|
|
3
|
-
import { renderPropertyInput as
|
|
4
|
-
const
|
|
1
|
+
import { jsxs as m, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { memo as p } from "react";
|
|
3
|
+
import { renderPropertyInput as l } from "./renderPropertyInput.js";
|
|
4
|
+
const f = p(function({
|
|
5
5
|
groupName: o,
|
|
6
6
|
props: r,
|
|
7
|
-
onPropChange: n
|
|
7
|
+
onPropChange: n,
|
|
8
|
+
uploadConfig: s
|
|
8
9
|
}) {
|
|
9
|
-
return r.length === 0 ? null : /* @__PURE__ */
|
|
10
|
+
return r.length === 0 ? null : /* @__PURE__ */ m("div", { className: "space-y-3", children: [
|
|
10
11
|
/* @__PURE__ */ t("h4", { className: "text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wide", children: o }),
|
|
11
12
|
/* @__PURE__ */ t("div", { className: "space-y-3", children: r.map(
|
|
12
|
-
({ propName: e, meta:
|
|
13
|
+
({ propName: e, meta: a, value: i }) => l(
|
|
13
14
|
e,
|
|
14
|
-
s,
|
|
15
15
|
a,
|
|
16
|
-
|
|
16
|
+
i,
|
|
17
|
+
(c) => n(e, c),
|
|
18
|
+
s
|
|
17
19
|
)
|
|
18
20
|
) })
|
|
19
21
|
] });
|
|
20
22
|
});
|
|
21
23
|
export {
|
|
22
|
-
|
|
24
|
+
f as PropertyGroup
|
|
23
25
|
};
|
|
24
26
|
//# sourceMappingURL=PropertyGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyGroup.js","sources":["../../../src/editor/PropertyEditor/PropertyGroup.tsx"],"sourcesContent":["import { memo } from \"react\";\nimport { InspectorMeta } from \"../../engine\";\nimport { renderPropertyInput } from \"./renderPropertyInput\";\n\ninterface PropertyGroupProps {\n groupName: string;\n props: Array<{\n propName: string;\n meta: InspectorMeta;\n value: any;\n }>;\n onPropChange: (propName: string, value: any) => void;\n}\n\n/**\n * Componente para agrupar propriedades relacionadas\n * Memoizado para evitar re-renders desnecessários\n */\nexport const PropertyGroup = memo(function PropertyGroup({\n groupName,\n props,\n onPropChange,\n}: PropertyGroupProps) {\n if (props.length === 0) {\n return null;\n }\n\n return (\n <div className=\"space-y-3\">\n <h4 className=\"text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wide\">\n {groupName}\n </h4>\n <div className=\"space-y-3\">\n {props.map(({ propName, meta, value }) =>\n renderPropertyInput(propName
|
|
1
|
+
{"version":3,"file":"PropertyGroup.js","sources":["../../../src/editor/PropertyEditor/PropertyGroup.tsx"],"sourcesContent":["import { memo } from \"react\";\nimport { InspectorMeta } from \"../../engine\";\nimport { renderPropertyInput } from \"./renderPropertyInput\";\nimport type { UploadConfig } from \"../LandingPageEditorV2\";\n\ninterface PropertyGroupProps {\n groupName: string;\n props: Array<{\n propName: string;\n meta: InspectorMeta;\n value: any;\n }>;\n onPropChange: (propName: string, value: any) => void;\n uploadConfig?: UploadConfig;\n}\n\n/**\n * Componente para agrupar propriedades relacionadas\n * Memoizado para evitar re-renders desnecessários\n */\nexport const PropertyGroup = memo(function PropertyGroup({\n groupName,\n props,\n onPropChange,\n uploadConfig,\n}: PropertyGroupProps) {\n if (props.length === 0) {\n return null;\n }\n\n return (\n <div className=\"space-y-3\">\n <h4 className=\"text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wide\">\n {groupName}\n </h4>\n <div className=\"space-y-3\">\n {props.map(({ propName, meta, value }) =>\n renderPropertyInput(\n propName,\n meta,\n value,\n (newValue) => onPropChange(propName, newValue),\n uploadConfig,\n ),\n )}\n </div>\n </div>\n );\n});\n"],"names":["PropertyGroup","memo","groupName","props","onPropChange","uploadConfig","jsxs","jsx","propName","meta","value","renderPropertyInput","newValue"],"mappings":";;;AAoBO,MAAMA,IAAgBC,EAAK,SAAuB;AAAA,EACvD,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AACF,GAAuB;AACrB,SAAIF,EAAM,WAAW,IACZ,OAIP,gBAAAG,EAAC,OAAA,EAAI,WAAU,aACb,UAAA;AAAA,IAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,kFACX,UAAAL,GACH;AAAA,IACA,gBAAAK,EAAC,OAAA,EAAI,WAAU,aACZ,UAAAJ,EAAM;AAAA,MAAI,CAAC,EAAE,UAAAK,GAAU,MAAAC,GAAM,OAAAC,QAC5BC;AAAA,QACEH;AAAA,QACAC;AAAA,QACAC;AAAA,QACA,CAACE,MAAaR,EAAaI,GAAUI,CAAQ;AAAA,QAC7CP;AAAA,MAAA;AAAA,IACF,EACF,CACF;AAAA,EAAA,GACF;AAEJ,CAAC;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Block } from '../../engine';
|
|
2
|
+
interface VariationSelectorProps {
|
|
3
|
+
block: Block;
|
|
4
|
+
onUpdate: (updates: Record<string, any>) => void;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Componente para selecionar variações de Hero e Navbar
|
|
8
|
+
* Preserva props customizadas ao trocar variação
|
|
9
|
+
*/
|
|
10
|
+
export declare function VariationSelector({ block, onUpdate }: VariationSelectorProps): import("react/jsx-runtime").JSX.Element | null;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=VariationSelector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VariationSelector.d.ts","sourceRoot":"","sources":["../../../src/editor/PropertyEditor/VariationSelector.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAUrC,UAAU,sBAAsB;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CAClD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,sBAAsB,kDA0G5E"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { BlockPropertyEditor } from './BlockPropertyEditor';
|
|
2
|
+
export { VariationSelector } from './VariationSelector';
|
|
3
|
+
export { PropertyGroup } from './PropertyGroup';
|
|
4
|
+
export { renderPropertyInput } from './renderPropertyInput';
|
|
5
|
+
export * from './inputs';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/editor/PropertyEditor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface CheckboxInputProps {
|
|
2
|
+
value: boolean;
|
|
3
|
+
onChange: (value: boolean) => void;
|
|
4
|
+
label: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
propName: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Componente de checkbox
|
|
10
|
+
*/
|
|
11
|
+
export declare function CheckboxInput({ value, onChange, label, description, propName, }: CheckboxInputProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=CheckboxInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../../../src/editor/PropertyEditor/inputs/CheckboxInput.tsx"],"names":[],"mappings":"AACA,UAAU,kBAAkB;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,QAAQ,GACT,EAAE,kBAAkB,2CAyBpB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface ColorInputProps {
|
|
2
|
+
value: string;
|
|
3
|
+
onChange: (value: string) => void;
|
|
4
|
+
label: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Componente de input de cor com debounce para arrastar
|
|
9
|
+
* Memoizado para performance
|
|
10
|
+
*/
|
|
11
|
+
export declare const ColorInput: import('react').NamedExoticComponent<ColorInputProps>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=ColorInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColorInput.d.ts","sourceRoot":"","sources":["../../../../src/editor/PropertyEditor/inputs/ColorInput.tsx"],"names":[],"mappings":"AAGA,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,uDAiFrB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface NumberInputProps {
|
|
2
|
+
value: number | undefined;
|
|
3
|
+
onChange: (value: number | undefined) => void;
|
|
4
|
+
label: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
min?: number;
|
|
8
|
+
max?: number;
|
|
9
|
+
step?: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Componente de input numérico
|
|
13
|
+
*/
|
|
14
|
+
export declare function NumberInput({ value, onChange, label, description, placeholder, min, max, step, }: NumberInputProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=NumberInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberInput.d.ts","sourceRoot":"","sources":["../../../../src/editor/PropertyEditor/inputs/NumberInput.tsx"],"names":[],"mappings":"AAEA,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAW,EACX,GAAG,EACH,GAAG,EACH,IAAQ,GACT,EAAE,gBAAgB,2CA6BlB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
interface SelectOption {
|
|
2
|
+
label: string;
|
|
3
|
+
value: string | number | boolean;
|
|
4
|
+
}
|
|
5
|
+
interface SelectInputProps {
|
|
6
|
+
value: any;
|
|
7
|
+
onChange: (value: any) => void;
|
|
8
|
+
label: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
options: SelectOption[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Componente de select/dropdown
|
|
14
|
+
*/
|
|
15
|
+
export declare function SelectInput({ value, onChange, label, description, options, }: SelectInputProps): import("react/jsx-runtime").JSX.Element | null;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=SelectInput.d.ts.map
|