@sociallane/elements 1.0.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/.prettierignore +5 -0
- package/.prettierrc.json +8 -0
- package/.vite-dev +0 -0
- package/README.md +47 -0
- package/admin/js/widget-browser.js +124 -0
- package/admin/views/onboarding.php +62 -0
- package/admin/views/partials/category-tabs.php +39 -0
- package/admin/views/partials/step-complete.php +48 -0
- package/admin/views/partials/step-requirements.php +52 -0
- package/admin/views/partials/step-widgets.php +63 -0
- package/admin/views/partials/widget-card.php +67 -0
- package/admin/views/partials/widget-toolbar.php +28 -0
- package/admin/views/preview-embed.php +78 -0
- package/admin/views/preview-frame.php +183 -0
- package/admin/views/preview-index.php +74 -0
- package/admin/views/settings.php +94 -0
- package/admin/views/setup-widget-catalog-frontend.php +189 -0
- package/admin/views/setup-widget-catalog.php +164 -0
- package/assets/css/lenis.css +18 -0
- package/assets/css/tailwind.css +740 -0
- package/assets/dist/.vite/manifest.json +13 -0
- package/assets/dist/animations-BySooxN8.js +37 -0
- package/assets/dist/tailwind-DzIAfumJ.css +1 -0
- package/assets/js/animations.js +113 -0
- package/assets/js/utilities/hover-reveal.js +88 -0
- package/assets/js/utilities/pin.js +31 -0
- package/assets/js/utilities/reveal.js +59 -0
- package/assets/js/utilities/split-text.js +93 -0
- package/assets/js/utilities/stagger.js +48 -0
- package/assets/previews/.gitkeep +2 -0
- package/assets/previews/README.md +65 -0
- package/assets/svgs/components/accordion.svg +9 -0
- package/assets/svgs/components/alert.svg +6 -0
- package/assets/svgs/components/avatar.svg +4 -0
- package/assets/svgs/components/badge.svg +4 -0
- package/assets/svgs/components/breadcrumbs.svg +7 -0
- package/assets/svgs/components/button.svg +4 -0
- package/assets/svgs/components/calendar.svg +10 -0
- package/assets/svgs/components/card.svg +5 -0
- package/assets/svgs/widgets/bento-grid.svg +8 -0
- package/assets/svgs/widgets/bento-portfolio.svg +8 -0
- package/assets/svgs/widgets/content-block.svg +4 -0
- package/assets/svgs/widgets/faq.svg +11 -0
- package/assets/svgs/widgets/feature-grid.svg +14 -0
- package/assets/svgs/widgets/feature-list-cta.svg +10 -0
- package/assets/svgs/widgets/footer.svg +7 -0
- package/assets/svgs/widgets/grid-posts.svg +11 -0
- package/assets/svgs/widgets/grid-team.svg +8 -0
- package/assets/svgs/widgets/hero.svg +7 -0
- package/assets/svgs/widgets/intro-text.svg +3 -0
- package/assets/svgs/widgets/logo-grid.svg +12 -0
- package/assets/svgs/widgets/navigation.svg +10 -0
- package/assets/svgs/widgets/newsletter.svg +6 -0
- package/assets/svgs/widgets/pricing-table.svg +9 -0
- package/assets/svgs/widgets/social-proof.svg +7 -0
- package/docs/cursor-global-rule.md +24 -0
- package/docs/install-new-instance.md +92 -0
- package/docs/npm-widget-cheatsheet.md +178 -0
- package/docs/package-installation.md +127 -0
- package/docs/widgets/blog-grid.md +31 -0
- package/docs/widgets/card-hover-reveal.md +27 -0
- package/docs/widgets/cta-banner.md +31 -0
- package/docs/widgets/cta-split.md +26 -0
- package/docs/widgets/faq.md +31 -0
- package/docs/widgets/feature-list.md +21 -0
- package/docs/widgets/footer-links-contact.md +24 -0
- package/elements/.gitkeep +0 -0
- package/elements/button/button.php +161 -0
- package/elements/button/templates/render.php +89 -0
- package/elements/cta-group/templates/render.php +61 -0
- package/elements/image/image.php +113 -0
- package/elements/image/templates/render.php +43 -0
- package/elements/section-header/templates/render.php +103 -0
- package/includes/button-presets.php +71 -0
- package/includes/class-admin-settings.php +134 -0
- package/includes/class-disable-reset-css.php +78 -0
- package/includes/class-gravity-forms-styles.php +78 -0
- package/includes/class-onboarding.php +214 -0
- package/includes/class-setup-widget-catalog.php +37 -0
- package/includes/class-widget-manager.php +605 -0
- package/includes/class-widget-preview.php +101 -0
- package/includes/footer-menu-columns.php +85 -0
- package/includes/widget-preview-defaults.php +660 -0
- package/package.json +38 -0
- package/packages/core/assets/css/lenis.css +18 -0
- package/packages/core/assets/css/tailwind.css +704 -0
- package/packages/core/assets/dist/.vite/manifest.json +13 -0
- package/packages/core/assets/dist/animations-BySooxN8.js +37 -0
- package/packages/core/assets/dist/tailwind-BE97TLZW.css +1 -0
- package/packages/core/assets/js/animations.js +113 -0
- package/packages/core/assets/js/utilities/hover-reveal.js +88 -0
- package/packages/core/assets/js/utilities/pin.js +31 -0
- package/packages/core/assets/js/utilities/reveal.js +56 -0
- package/packages/core/assets/js/utilities/split-text.js +74 -0
- package/packages/core/assets/js/utilities/stagger.js +46 -0
- package/packages/core/includes/class-plugin.php +75 -0
- package/packages/core/includes/class-vite-assets.php +357 -0
- package/packages/core/includes/class-widgets-loader.php +195 -0
- package/packages/core/includes/helpers.php +407 -0
- package/packages/core/includes/traits/trait-animation-controls.php +194 -0
- package/packages/core/includes/traits/trait-common-controls.php +239 -0
- package/packages/core/package.json +25 -0
- package/packages/core/vite.config.js +123 -0
- package/packages/widgets/bento-grid/bento-grid.php +761 -0
- package/packages/widgets/bento-grid/data/view.php +327 -0
- package/packages/widgets/bento-grid/package.json +12 -0
- package/packages/widgets/bento-grid/templates/partials/cell1.php +45 -0
- package/packages/widgets/bento-grid/templates/partials/cell2.php +52 -0
- package/packages/widgets/bento-grid/templates/partials/cell3.php +45 -0
- package/packages/widgets/bento-grid/templates/partials/cell4.php +44 -0
- package/packages/widgets/bento-grid/templates/partials/default-grid.php +31 -0
- package/packages/widgets/bento-grid/templates/partials/tcsr-row1-left.php +68 -0
- package/packages/widgets/bento-grid/templates/partials/tcsr-row1-right.php +65 -0
- package/packages/widgets/bento-grid/templates/partials/tcsr-row2-center.php +41 -0
- package/packages/widgets/bento-grid/templates/partials/tcsr-row2-left.php +38 -0
- package/packages/widgets/bento-grid/templates/partials/tcsr-row2-right.php +38 -0
- package/packages/widgets/bento-grid/templates/partials/two-column-second-row-grid.php +35 -0
- package/packages/widgets/bento-grid/templates/partials/two-row-deploys.php +47 -0
- package/packages/widgets/bento-grid/templates/partials/two-row-grid.php +34 -0
- package/packages/widgets/bento-grid/templates/partials/two-row-integrations.php +40 -0
- package/packages/widgets/bento-grid/templates/partials/two-row-overview.php +67 -0
- package/packages/widgets/bento-grid/templates/partials/two-row-releases.php +29 -0
- package/packages/widgets/bento-grid/templates/partials/two-row-security.php +44 -0
- package/packages/widgets/bento-grid/templates/wrapper.php +72 -0
- package/packages/widgets/bento-grid-4/bento-grid-4.php +524 -0
- package/packages/widgets/bento-grid-4/data/view.php +127 -0
- package/packages/widgets/bento-grid-4/package.json +12 -0
- package/packages/widgets/bento-grid-4/templates/partials/cell1.php +45 -0
- package/packages/widgets/bento-grid-4/templates/partials/cell2.php +52 -0
- package/packages/widgets/bento-grid-4/templates/partials/cell3.php +45 -0
- package/packages/widgets/bento-grid-4/templates/partials/cell4.php +44 -0
- package/packages/widgets/bento-grid-4/templates/partials/default-grid.php +31 -0
- package/packages/widgets/bento-grid-4/templates/partials/tcsr-row1-left.php +68 -0
- package/packages/widgets/bento-grid-4/templates/partials/tcsr-row1-right.php +65 -0
- package/packages/widgets/bento-grid-4/templates/partials/tcsr-row2-center.php +41 -0
- package/packages/widgets/bento-grid-4/templates/partials/tcsr-row2-left.php +38 -0
- package/packages/widgets/bento-grid-4/templates/partials/tcsr-row2-right.php +38 -0
- package/packages/widgets/bento-grid-4/templates/partials/two-column-second-row-grid.php +35 -0
- package/packages/widgets/bento-grid-4/templates/partials/two-row-deploys.php +47 -0
- package/packages/widgets/bento-grid-4/templates/partials/two-row-grid.php +34 -0
- package/packages/widgets/bento-grid-4/templates/partials/two-row-integrations.php +40 -0
- package/packages/widgets/bento-grid-4/templates/partials/two-row-overview.php +67 -0
- package/packages/widgets/bento-grid-4/templates/partials/two-row-releases.php +29 -0
- package/packages/widgets/bento-grid-4/templates/partials/two-row-security.php +44 -0
- package/packages/widgets/bento-grid-4/templates/wrapper.php +65 -0
- package/packages/widgets/bento-grid-5/bento-grid-5.php +219 -0
- package/packages/widgets/bento-grid-5/data/view.php +136 -0
- package/packages/widgets/bento-grid-5/package.json +12 -0
- package/packages/widgets/bento-grid-5/templates/partials/cell1.php +45 -0
- package/packages/widgets/bento-grid-5/templates/partials/cell2.php +52 -0
- package/packages/widgets/bento-grid-5/templates/partials/cell3.php +45 -0
- package/packages/widgets/bento-grid-5/templates/partials/cell4.php +44 -0
- package/packages/widgets/bento-grid-5/templates/partials/default-grid.php +31 -0
- package/packages/widgets/bento-grid-5/templates/partials/tcsr-row1-left.php +68 -0
- package/packages/widgets/bento-grid-5/templates/partials/tcsr-row1-right.php +65 -0
- package/packages/widgets/bento-grid-5/templates/partials/tcsr-row2-center.php +41 -0
- package/packages/widgets/bento-grid-5/templates/partials/tcsr-row2-left.php +38 -0
- package/packages/widgets/bento-grid-5/templates/partials/tcsr-row2-right.php +38 -0
- package/packages/widgets/bento-grid-5/templates/partials/two-column-second-row-grid.php +35 -0
- package/packages/widgets/bento-grid-5/templates/partials/two-row-deploys.php +47 -0
- package/packages/widgets/bento-grid-5/templates/partials/two-row-grid.php +34 -0
- package/packages/widgets/bento-grid-5/templates/partials/two-row-integrations.php +40 -0
- package/packages/widgets/bento-grid-5/templates/partials/two-row-overview.php +67 -0
- package/packages/widgets/bento-grid-5/templates/partials/two-row-releases.php +29 -0
- package/packages/widgets/bento-grid-5/templates/partials/two-row-security.php +44 -0
- package/packages/widgets/bento-grid-5/templates/wrapper.php +65 -0
- package/packages/widgets/bento-grid-6/bento-grid-6.php +223 -0
- package/packages/widgets/bento-grid-6/data/view.php +158 -0
- package/packages/widgets/bento-grid-6/package.json +12 -0
- package/packages/widgets/bento-grid-6/templates/partials/cell1.php +45 -0
- package/packages/widgets/bento-grid-6/templates/partials/cell2.php +52 -0
- package/packages/widgets/bento-grid-6/templates/partials/cell3.php +45 -0
- package/packages/widgets/bento-grid-6/templates/partials/cell4.php +44 -0
- package/packages/widgets/bento-grid-6/templates/partials/default-grid.php +31 -0
- package/packages/widgets/bento-grid-6/templates/partials/tcsr-row1-left.php +68 -0
- package/packages/widgets/bento-grid-6/templates/partials/tcsr-row1-right.php +65 -0
- package/packages/widgets/bento-grid-6/templates/partials/tcsr-row2-center.php +41 -0
- package/packages/widgets/bento-grid-6/templates/partials/tcsr-row2-left.php +38 -0
- package/packages/widgets/bento-grid-6/templates/partials/tcsr-row2-right.php +38 -0
- package/packages/widgets/bento-grid-6/templates/partials/two-column-second-row-grid.php +35 -0
- package/packages/widgets/bento-grid-6/templates/partials/two-row-deploys.php +47 -0
- package/packages/widgets/bento-grid-6/templates/partials/two-row-grid.php +34 -0
- package/packages/widgets/bento-grid-6/templates/partials/two-row-integrations.php +40 -0
- package/packages/widgets/bento-grid-6/templates/partials/two-row-overview.php +67 -0
- package/packages/widgets/bento-grid-6/templates/partials/two-row-releases.php +29 -0
- package/packages/widgets/bento-grid-6/templates/partials/two-row-security.php +44 -0
- package/packages/widgets/bento-grid-6/templates/wrapper.php +65 -0
- package/packages/widgets/bento-portfolio/bento-portfolio.php +399 -0
- package/packages/widgets/bento-portfolio/data/view.php +102 -0
- package/packages/widgets/bento-portfolio/package.json +12 -0
- package/packages/widgets/bento-portfolio/templates/partials/portfolio-card.php +84 -0
- package/packages/widgets/bento-portfolio/templates/partials/portfolio-default-grid.php +35 -0
- package/packages/widgets/bento-portfolio/templates/partials/portfolio-two-column-second-row-grid.php +39 -0
- package/packages/widgets/bento-portfolio/templates/partials/portfolio-two-row-grid.php +35 -0
- package/packages/widgets/bento-portfolio/templates/wrapper.php +88 -0
- package/packages/widgets/bento-portfolio-4/bento-portfolio-4.php +382 -0
- package/packages/widgets/bento-portfolio-4/data/view.php +91 -0
- package/packages/widgets/bento-portfolio-4/package.json +12 -0
- package/packages/widgets/bento-portfolio-4/templates/partials/portfolio-card.php +84 -0
- package/packages/widgets/bento-portfolio-4/templates/partials/portfolio-default-grid.php +35 -0
- package/packages/widgets/bento-portfolio-4/templates/partials/portfolio-two-column-second-row-grid.php +39 -0
- package/packages/widgets/bento-portfolio-4/templates/partials/portfolio-two-row-grid.php +35 -0
- package/packages/widgets/bento-portfolio-4/templates/wrapper.php +78 -0
- package/packages/widgets/bento-portfolio-5/bento-portfolio-5.php +382 -0
- package/packages/widgets/bento-portfolio-5/data/view.php +91 -0
- package/packages/widgets/bento-portfolio-5/package.json +12 -0
- package/packages/widgets/bento-portfolio-5/templates/partials/portfolio-card.php +84 -0
- package/packages/widgets/bento-portfolio-5/templates/partials/portfolio-default-grid.php +35 -0
- package/packages/widgets/bento-portfolio-5/templates/partials/portfolio-two-column-second-row-grid.php +39 -0
- package/packages/widgets/bento-portfolio-5/templates/partials/portfolio-two-row-grid.php +35 -0
- package/packages/widgets/bento-portfolio-5/templates/wrapper.php +78 -0
- package/packages/widgets/bento-portfolio-6/bento-portfolio-6.php +382 -0
- package/packages/widgets/bento-portfolio-6/data/view.php +91 -0
- package/packages/widgets/bento-portfolio-6/package.json +12 -0
- package/packages/widgets/bento-portfolio-6/templates/partials/portfolio-card.php +84 -0
- package/packages/widgets/bento-portfolio-6/templates/partials/portfolio-default-grid.php +35 -0
- package/packages/widgets/bento-portfolio-6/templates/partials/portfolio-two-column-second-row-grid.php +39 -0
- package/packages/widgets/bento-portfolio-6/templates/partials/portfolio-two-row-grid.php +35 -0
- package/packages/widgets/bento-portfolio-6/templates/wrapper.php +78 -0
- package/packages/widgets/blog-grid/blog-grid.php +359 -0
- package/packages/widgets/blog-grid/data/view.php +192 -0
- package/packages/widgets/blog-grid/package.json +12 -0
- package/packages/widgets/blog-grid/templates/partials/card.php +73 -0
- package/packages/widgets/blog-grid/templates/wrapper.php +89 -0
- package/packages/widgets/card-hover-reveal/card-hover-reveal.php +329 -0
- package/packages/widgets/card-hover-reveal/data/view.php +108 -0
- package/packages/widgets/card-hover-reveal/package.json +12 -0
- package/packages/widgets/card-hover-reveal/templates/partials/card.php +86 -0
- package/packages/widgets/card-hover-reveal/templates/wrapper.php +80 -0
- package/packages/widgets/client-logos/client-logos.php +214 -0
- package/packages/widgets/client-logos/data/view.php +88 -0
- package/packages/widgets/client-logos/package.json +12 -0
- package/packages/widgets/client-logos/templates/partials/client-item.php +38 -0
- package/packages/widgets/client-logos/templates/wrapper.php +62 -0
- package/packages/widgets/content-block/content-block.php +280 -0
- package/packages/widgets/content-block/data/view.php +103 -0
- package/packages/widgets/content-block/package.json +12 -0
- package/packages/widgets/content-block/templates/partials/content.php +52 -0
- package/packages/widgets/content-block/templates/wrapper.php +73 -0
- package/packages/widgets/cta-banner/cta-banner.php +300 -0
- package/packages/widgets/cta-banner/data/view.php +96 -0
- package/packages/widgets/cta-banner/package.json +12 -0
- package/packages/widgets/cta-banner/templates/wrapper.php +131 -0
- package/packages/widgets/cta-notify/cta-notify.php +135 -0
- package/packages/widgets/cta-notify/data/view.php +48 -0
- package/packages/widgets/cta-notify/package.json +12 -0
- package/packages/widgets/cta-notify/templates/wrapper.php +69 -0
- package/packages/widgets/cta-split/cta-split.php +246 -0
- package/packages/widgets/cta-split/data/view.php +84 -0
- package/packages/widgets/cta-split/package.json +12 -0
- package/packages/widgets/cta-split/templates/wrapper.php +113 -0
- package/packages/widgets/faq-centered/data/view.php +87 -0
- package/packages/widgets/faq-centered/faq-centered.php +223 -0
- package/packages/widgets/faq-centered/package.json +12 -0
- package/packages/widgets/faq-centered/templates/partials/accordion.php +70 -0
- package/packages/widgets/faq-centered/templates/partials/layout-centered.php +41 -0
- package/packages/widgets/faq-centered/templates/partials/layout-split.php +47 -0
- package/packages/widgets/faq-centered/templates/partials/layout-stacked.php +57 -0
- package/packages/widgets/faq-centered/templates/wrapper.php +70 -0
- package/packages/widgets/faq-split/data/view.php +93 -0
- package/packages/widgets/faq-split/faq-split.php +236 -0
- package/packages/widgets/faq-split/package.json +12 -0
- package/packages/widgets/faq-split/templates/partials/accordion.php +70 -0
- package/packages/widgets/faq-split/templates/partials/layout-centered.php +41 -0
- package/packages/widgets/faq-split/templates/partials/layout-split.php +47 -0
- package/packages/widgets/faq-split/templates/partials/layout-stacked.php +57 -0
- package/packages/widgets/faq-split/templates/wrapper.php +70 -0
- package/packages/widgets/faq-stacked/data/view.php +92 -0
- package/packages/widgets/faq-stacked/faq-stacked.php +223 -0
- package/packages/widgets/faq-stacked/package.json +12 -0
- package/packages/widgets/faq-stacked/templates/partials/accordion.php +70 -0
- package/packages/widgets/faq-stacked/templates/partials/layout-centered.php +41 -0
- package/packages/widgets/faq-stacked/templates/partials/layout-split.php +47 -0
- package/packages/widgets/faq-stacked/templates/partials/layout-stacked.php +57 -0
- package/packages/widgets/faq-stacked/templates/wrapper.php +70 -0
- package/packages/widgets/feature-grid/data/view.php +80 -0
- package/packages/widgets/feature-grid/feature-grid.php +305 -0
- package/packages/widgets/feature-grid/package.json +12 -0
- package/packages/widgets/feature-grid/templates/partials/centered-2x2.php +69 -0
- package/packages/widgets/feature-grid/templates/partials/feature-item.php +54 -0
- package/packages/widgets/feature-grid/templates/wrapper.php +67 -0
- package/packages/widgets/feature-grid-centered/data/view.php +78 -0
- package/packages/widgets/feature-grid-centered/feature-grid-centered.php +278 -0
- package/packages/widgets/feature-grid-centered/package.json +12 -0
- package/packages/widgets/feature-grid-centered/templates/partials/centered-2x2.php +69 -0
- package/packages/widgets/feature-grid-centered/templates/partials/feature-item.php +54 -0
- package/packages/widgets/feature-grid-centered/templates/wrapper.php +35 -0
- package/packages/widgets/feature-list/data/view.php +49 -0
- package/packages/widgets/feature-list/feature-list.php +160 -0
- package/packages/widgets/feature-list/package.json +12 -0
- package/packages/widgets/feature-list/templates/wrapper.php +69 -0
- package/packages/widgets/feature-list-cta/data/view.php +62 -0
- package/packages/widgets/feature-list-cta/feature-list-cta.php +226 -0
- package/packages/widgets/feature-list-cta/package.json +12 -0
- package/packages/widgets/feature-list-cta/templates/partials/feature-item.php +49 -0
- package/packages/widgets/feature-list-cta/templates/wrapper.php +65 -0
- package/packages/widgets/footer/data/view.php +133 -0
- package/packages/widgets/footer/footer.php +389 -0
- package/packages/widgets/footer/package.json +12 -0
- package/packages/widgets/footer/templates/partials/bottom.php +77 -0
- package/packages/widgets/footer/templates/partials/cta.php +47 -0
- package/packages/widgets/footer/templates/partials/link-columns.php +52 -0
- package/packages/widgets/footer/templates/wrapper.php +53 -0
- package/packages/widgets/footer-brand/data/view.php +130 -0
- package/packages/widgets/footer-brand/footer-brand.php +278 -0
- package/packages/widgets/footer-brand/package.json +12 -0
- package/packages/widgets/footer-brand/templates/partials/brand.php +69 -0
- package/packages/widgets/footer-brand/templates/partials/link-columns.php +51 -0
- package/packages/widgets/footer-brand/templates/wrapper.php +59 -0
- package/packages/widgets/footer-links-contact/data/view.php +145 -0
- package/packages/widgets/footer-links-contact/footer-links-contact.php +361 -0
- package/packages/widgets/footer-links-contact/package.json +12 -0
- package/packages/widgets/footer-links-contact/templates/partials/bottom.php +70 -0
- package/packages/widgets/footer-links-contact/templates/partials/contact-column.php +66 -0
- package/packages/widgets/footer-links-contact/templates/partials/link-column.php +39 -0
- package/packages/widgets/footer-links-contact/templates/partials/logo-column.php +46 -0
- package/packages/widgets/footer-links-contact/templates/wrapper.php +68 -0
- package/packages/widgets/form-contact/data/view.php +96 -0
- package/packages/widgets/form-contact/form-contact.php +274 -0
- package/packages/widgets/form-contact/package.json +12 -0
- package/packages/widgets/form-contact/templates/partials/testimonial.php +83 -0
- package/packages/widgets/form-contact/templates/wrapper.php +98 -0
- package/packages/widgets/grid-case-studies/data/view.php +74 -0
- package/packages/widgets/grid-case-studies/grid-case-studies.php +262 -0
- package/packages/widgets/grid-case-studies/package.json +12 -0
- package/packages/widgets/grid-case-studies/templates/partials/card.php +66 -0
- package/packages/widgets/grid-case-studies/templates/wrapper.php +69 -0
- package/packages/widgets/grid-components/data/view.php +107 -0
- package/packages/widgets/grid-components/grid-components.php +323 -0
- package/packages/widgets/grid-components/package.json +12 -0
- package/packages/widgets/grid-components/templates/partials/component-card.php +81 -0
- package/packages/widgets/grid-components/templates/wrapper.php +55 -0
- package/packages/widgets/grid-team/data/view.php +67 -0
- package/packages/widgets/grid-team/grid-team.php +201 -0
- package/packages/widgets/grid-team/package.json +12 -0
- package/packages/widgets/grid-team/templates/partials/team-card.php +52 -0
- package/packages/widgets/grid-team/templates/wrapper.php +67 -0
- package/packages/widgets/hero-announcement/data/view.php +96 -0
- package/packages/widgets/hero-announcement/hero-announcement.php +270 -0
- package/packages/widgets/hero-announcement/package.json +12 -0
- package/packages/widgets/hero-announcement/templates/wrapper.php +111 -0
- package/packages/widgets/hero-centered-image/data/view.php +119 -0
- package/packages/widgets/hero-centered-image/hero-centered-image.php +297 -0
- package/packages/widgets/hero-centered-image/package.json +12 -0
- package/packages/widgets/hero-centered-image/templates/wrapper.php +123 -0
- package/packages/widgets/hero-collage/data/view.php +108 -0
- package/packages/widgets/hero-collage/hero-collage.php +151 -0
- package/packages/widgets/hero-collage/package.json +12 -0
- package/packages/widgets/hero-collage/templates/wrapper.php +102 -0
- package/packages/widgets/hero-overlay/data/view.php +117 -0
- package/packages/widgets/hero-overlay/hero-overlay.php +277 -0
- package/packages/widgets/hero-overlay/package.json +12 -0
- package/packages/widgets/hero-overlay/templates/wrapper.php +225 -0
- package/packages/widgets/hero-overlay-single/data/view.php +118 -0
- package/packages/widgets/hero-overlay-single/hero-overlay-single.php +221 -0
- package/packages/widgets/hero-overlay-single/package.json +12 -0
- package/packages/widgets/hero-overlay-single/templates/wrapper.php +225 -0
- package/packages/widgets/hero-overlay-slider/data/view.php +118 -0
- package/packages/widgets/hero-overlay-slider/hero-overlay-slider.php +262 -0
- package/packages/widgets/hero-overlay-slider/package.json +12 -0
- package/packages/widgets/hero-overlay-slider/templates/wrapper.php +225 -0
- package/packages/widgets/hero-saas-centered/data/view.php +79 -0
- package/packages/widgets/hero-saas-centered/hero-saas-centered.php +145 -0
- package/packages/widgets/hero-saas-centered/package.json +12 -0
- package/packages/widgets/hero-saas-centered/templates/partials/layout-centered.php +70 -0
- package/packages/widgets/hero-saas-centered/templates/partials/layout-split.php +76 -0
- package/packages/widgets/hero-saas-centered/templates/partials/layout-stacked.php +70 -0
- package/packages/widgets/hero-saas-centered/templates/wrapper.php +46 -0
- package/packages/widgets/hero-saas-split/data/view.php +83 -0
- package/packages/widgets/hero-saas-split/hero-saas-split.php +158 -0
- package/packages/widgets/hero-saas-split/package.json +12 -0
- package/packages/widgets/hero-saas-split/templates/partials/layout-centered.php +70 -0
- package/packages/widgets/hero-saas-split/templates/partials/layout-split.php +76 -0
- package/packages/widgets/hero-saas-split/templates/partials/layout-stacked.php +70 -0
- package/packages/widgets/hero-saas-split/templates/wrapper.php +46 -0
- package/packages/widgets/hero-saas-stacked/data/view.php +79 -0
- package/packages/widgets/hero-saas-stacked/hero-saas-stacked.php +145 -0
- package/packages/widgets/hero-saas-stacked/package.json +12 -0
- package/packages/widgets/hero-saas-stacked/templates/partials/layout-centered.php +70 -0
- package/packages/widgets/hero-saas-stacked/templates/partials/layout-split.php +76 -0
- package/packages/widgets/hero-saas-stacked/templates/partials/layout-stacked.php +70 -0
- package/packages/widgets/hero-saas-stacked/templates/wrapper.php +46 -0
- package/packages/widgets/hero-split/data/view.php +84 -0
- package/packages/widgets/hero-split/hero-split.php +127 -0
- package/packages/widgets/hero-split/package.json +12 -0
- package/packages/widgets/hero-split/templates/wrapper.php +86 -0
- package/packages/widgets/hero-stacked-image/data/view.php +137 -0
- package/packages/widgets/hero-stacked-image/hero-stacked-image.php +248 -0
- package/packages/widgets/hero-stacked-image/package.json +12 -0
- package/packages/widgets/hero-stacked-image/templates/wrapper.php +176 -0
- package/packages/widgets/intro-pattern/data/view.php +64 -0
- package/packages/widgets/intro-pattern/intro-pattern.php +161 -0
- package/packages/widgets/intro-pattern/package.json +12 -0
- package/packages/widgets/intro-pattern/templates/wrapper.php +61 -0
- package/packages/widgets/intro-text/data/view.php +79 -0
- package/packages/widgets/intro-text/intro-text.php +252 -0
- package/packages/widgets/intro-text/package.json +12 -0
- package/packages/widgets/intro-text/templates/wrapper.php +75 -0
- package/packages/widgets/logo-grid-centered/data/view.php +79 -0
- package/packages/widgets/logo-grid-centered/logo-grid-centered.php +254 -0
- package/packages/widgets/logo-grid-centered/package.json +12 -0
- package/packages/widgets/logo-grid-centered/templates/wrapper.php +95 -0
- package/packages/widgets/logo-grid-row/data/view.php +79 -0
- package/packages/widgets/logo-grid-row/logo-grid-row.php +254 -0
- package/packages/widgets/logo-grid-row/package.json +12 -0
- package/packages/widgets/logo-grid-row/templates/wrapper.php +108 -0
- package/packages/widgets/logo-grid-split/data/view.php +79 -0
- package/packages/widgets/logo-grid-split/logo-grid-split.php +254 -0
- package/packages/widgets/logo-grid-split/package.json +12 -0
- package/packages/widgets/logo-grid-split/templates/wrapper.php +97 -0
- package/packages/widgets/nav-centered/data/view.php +253 -0
- package/packages/widgets/nav-centered/nav-centered.php +350 -0
- package/packages/widgets/nav-centered/package.json +12 -0
- package/packages/widgets/nav-centered/templates/partials/desktop-mega-panel.php +109 -0
- package/packages/widgets/nav-centered/templates/partials/desktop-menu.php +102 -0
- package/packages/widgets/nav-centered/templates/partials/mobile-menu.php +104 -0
- package/packages/widgets/nav-centered/templates/wrapper.php +401 -0
- package/packages/widgets/nav-compact/data/view.php +253 -0
- package/packages/widgets/nav-compact/nav-compact.php +350 -0
- package/packages/widgets/nav-compact/package.json +12 -0
- package/packages/widgets/nav-compact/templates/partials/desktop-mega-panel.php +109 -0
- package/packages/widgets/nav-compact/templates/partials/desktop-menu.php +102 -0
- package/packages/widgets/nav-compact/templates/partials/mobile-menu.php +104 -0
- package/packages/widgets/nav-compact/templates/wrapper.php +401 -0
- package/packages/widgets/nav-default/data/view.php +254 -0
- package/packages/widgets/nav-default/nav-default.php +350 -0
- package/packages/widgets/nav-default/package.json +12 -0
- package/packages/widgets/nav-default/templates/partials/desktop-mega-panel.php +109 -0
- package/packages/widgets/nav-default/templates/partials/desktop-menu.php +102 -0
- package/packages/widgets/nav-default/templates/partials/mobile-menu.php +104 -0
- package/packages/widgets/nav-default/templates/wrapper.php +401 -0
- package/packages/widgets/nav-floating/data/view.php +253 -0
- package/packages/widgets/nav-floating/nav-floating.php +350 -0
- package/packages/widgets/nav-floating/package.json +12 -0
- package/packages/widgets/nav-floating/templates/partials/desktop-mega-panel.php +109 -0
- package/packages/widgets/nav-floating/templates/partials/desktop-menu.php +102 -0
- package/packages/widgets/nav-floating/templates/partials/mobile-menu.php +104 -0
- package/packages/widgets/nav-floating/templates/wrapper.php +401 -0
- package/packages/widgets/nav-minimal/data/view.php +253 -0
- package/packages/widgets/nav-minimal/nav-minimal.php +350 -0
- package/packages/widgets/nav-minimal/package.json +12 -0
- package/packages/widgets/nav-minimal/templates/partials/desktop-mega-panel.php +109 -0
- package/packages/widgets/nav-minimal/templates/partials/desktop-menu.php +102 -0
- package/packages/widgets/nav-minimal/templates/partials/mobile-menu.php +104 -0
- package/packages/widgets/nav-minimal/templates/wrapper.php +401 -0
- package/packages/widgets/newsletter/data/view.php +56 -0
- package/packages/widgets/newsletter/newsletter.php +210 -0
- package/packages/widgets/newsletter/package.json +12 -0
- package/packages/widgets/newsletter/templates/wrapper.php +137 -0
- package/packages/widgets/newsletter-card/data/view.php +55 -0
- package/packages/widgets/newsletter-card/newsletter-card.php +184 -0
- package/packages/widgets/newsletter-card/package.json +12 -0
- package/packages/widgets/newsletter-card/templates/wrapper.php +90 -0
- package/packages/widgets/newsletter-section/data/view.php +55 -0
- package/packages/widgets/newsletter-section/newsletter-section.php +184 -0
- package/packages/widgets/newsletter-section/package.json +12 -0
- package/packages/widgets/newsletter-section/templates/wrapper.php +87 -0
- package/packages/widgets/outreach-dashboard/data/view.php +176 -0
- package/packages/widgets/outreach-dashboard/outreach-dashboard.php +504 -0
- package/packages/widgets/outreach-dashboard/package.json +12 -0
- package/packages/widgets/outreach-dashboard/templates/partials/card-chat.php +69 -0
- package/packages/widgets/outreach-dashboard/templates/partials/card-engagement.php +60 -0
- package/packages/widgets/outreach-dashboard/templates/partials/card-integrations.php +39 -0
- package/packages/widgets/outreach-dashboard/templates/partials/card-meetings.php +43 -0
- package/packages/widgets/outreach-dashboard/templates/partials/card-networking.php +28 -0
- package/packages/widgets/outreach-dashboard/templates/wrapper.php +76 -0
- package/packages/widgets/page-hero-center/data/view.php +43 -0
- package/packages/widgets/page-hero-center/package.json +12 -0
- package/packages/widgets/page-hero-center/page-hero-center.php +120 -0
- package/packages/widgets/page-hero-center/templates/wrapper.php +54 -0
- package/packages/widgets/page-hero-left/data/view.php +43 -0
- package/packages/widgets/page-hero-left/package.json +12 -0
- package/packages/widgets/page-hero-left/page-hero-left.php +120 -0
- package/packages/widgets/page-hero-left/templates/wrapper.php +54 -0
- package/packages/widgets/pipeline-dashboard/data/view.php +131 -0
- package/packages/widgets/pipeline-dashboard/package.json +12 -0
- package/packages/widgets/pipeline-dashboard/pipeline-dashboard.php +407 -0
- package/packages/widgets/pipeline-dashboard/templates/partials/app-bar.php +31 -0
- package/packages/widgets/pipeline-dashboard/templates/partials/kanban.php +56 -0
- package/packages/widgets/pipeline-dashboard/templates/partials/pipeline-header.php +66 -0
- package/packages/widgets/pipeline-dashboard/templates/wrapper.php +64 -0
- package/packages/widgets/posts-grid/data/view.php +144 -0
- package/packages/widgets/posts-grid/package.json +12 -0
- package/packages/widgets/posts-grid/posts-grid.php +282 -0
- package/packages/widgets/posts-grid/templates/partials/card-overlay.php +58 -0
- package/packages/widgets/posts-grid/templates/partials/card.php +49 -0
- package/packages/widgets/posts-grid/templates/wrapper.php +55 -0
- package/packages/widgets/posts-grid-overlay/data/view.php +144 -0
- package/packages/widgets/posts-grid-overlay/package.json +12 -0
- package/packages/widgets/posts-grid-overlay/posts-grid-overlay.php +282 -0
- package/packages/widgets/posts-grid-overlay/templates/partials/card-overlay.php +58 -0
- package/packages/widgets/posts-grid-overlay/templates/partials/card.php +49 -0
- package/packages/widgets/posts-grid-overlay/templates/wrapper.php +55 -0
- package/packages/widgets/pricing-table/data/view.php +96 -0
- package/packages/widgets/pricing-table/package.json +12 -0
- package/packages/widgets/pricing-table/pricing-table.php +376 -0
- package/packages/widgets/pricing-table/templates/partials/pricing-card.php +125 -0
- package/packages/widgets/pricing-table/templates/wrapper.php +164 -0
- package/packages/widgets/sales-dashboard/data/view.php +158 -0
- package/packages/widgets/sales-dashboard/package.json +12 -0
- package/packages/widgets/sales-dashboard/sales-dashboard.php +434 -0
- package/packages/widgets/sales-dashboard/templates/partials/card-competitors.php +78 -0
- package/packages/widgets/sales-dashboard/templates/partials/card-feature.php +58 -0
- package/packages/widgets/sales-dashboard/templates/partials/card-profile.php +76 -0
- package/packages/widgets/sales-dashboard/templates/wrapper.php +74 -0
- package/packages/widgets/section-stats/data/view.php +90 -0
- package/packages/widgets/section-stats/package.json +12 -0
- package/packages/widgets/section-stats/section-stats.php +232 -0
- package/packages/widgets/section-stats/templates/partials/stat-card.php +44 -0
- package/packages/widgets/section-stats/templates/wrapper.php +87 -0
- package/packages/widgets/services/data/view.php +79 -0
- package/packages/widgets/services/package.json +12 -0
- package/packages/widgets/services/services.php +198 -0
- package/packages/widgets/services/templates/partials/service-item.php +35 -0
- package/packages/widgets/services/templates/wrapper.php +92 -0
- package/packages/widgets/simple-page-hero/data/view.php +43 -0
- package/packages/widgets/simple-page-hero/package.json +12 -0
- package/packages/widgets/simple-page-hero/simple-page-hero.php +147 -0
- package/packages/widgets/simple-page-hero/templates/wrapper.php +54 -0
- package/packages/widgets/social-proof/data/view.php +62 -0
- package/packages/widgets/social-proof/package.json +12 -0
- package/packages/widgets/social-proof/social-proof.php +271 -0
- package/packages/widgets/social-proof/templates/partials/layout-trust.php +73 -0
- package/packages/widgets/social-proof/templates/partials/stat-card.php +32 -0
- package/packages/widgets/social-proof/templates/partials/stat-item.php +35 -0
- package/packages/widgets/social-proof/templates/wrapper.php +87 -0
- package/packages/widgets/social-proof-trust/data/view.php +105 -0
- package/packages/widgets/social-proof-trust/package.json +12 -0
- package/packages/widgets/social-proof-trust/social-proof-trust.php +367 -0
- package/packages/widgets/social-proof-trust/templates/partials/layout-trust.php +73 -0
- package/packages/widgets/social-proof-trust/templates/partials/stat-card.php +32 -0
- package/packages/widgets/social-proof-trust/templates/partials/stat-item.php +35 -0
- package/packages/widgets/social-proof-trust/templates/wrapper.php +48 -0
- package/packages/widgets/testimonial-quote/data/view.php +57 -0
- package/packages/widgets/testimonial-quote/package.json +12 -0
- package/packages/widgets/testimonial-quote/templates/wrapper.php +66 -0
- package/packages/widgets/testimonial-quote/testimonial-quote.php +157 -0
- package/packages/widgets/testimonials-bento/data/view.php +110 -0
- package/packages/widgets/testimonials-bento/package.json +12 -0
- package/packages/widgets/testimonials-bento/templates/partials/layout-bento.php +36 -0
- package/packages/widgets/testimonials-bento/templates/partials/layout-masonry.php +74 -0
- package/packages/widgets/testimonials-bento/templates/partials/testimonial-card.php +85 -0
- package/packages/widgets/testimonials-bento/templates/wrapper.php +63 -0
- package/packages/widgets/testimonials-bento/testimonials-bento.php +322 -0
- package/packages/widgets/testimonials-grid/data/view.php +108 -0
- package/packages/widgets/testimonials-grid/package.json +12 -0
- package/packages/widgets/testimonials-grid/templates/partials/layout-bento.php +36 -0
- package/packages/widgets/testimonials-grid/templates/partials/layout-masonry.php +74 -0
- package/packages/widgets/testimonials-grid/templates/partials/testimonial-card.php +85 -0
- package/packages/widgets/testimonials-grid/templates/wrapper.php +74 -0
- package/packages/widgets/testimonials-grid/testimonials-grid.php +336 -0
- package/packages/widgets/testimonials-masonry/data/view.php +108 -0
- package/packages/widgets/testimonials-masonry/package.json +12 -0
- package/packages/widgets/testimonials-masonry/templates/partials/layout-bento.php +36 -0
- package/packages/widgets/testimonials-masonry/templates/partials/layout-masonry.php +74 -0
- package/packages/widgets/testimonials-masonry/templates/partials/testimonial-card.php +85 -0
- package/packages/widgets/testimonials-masonry/templates/wrapper.php +63 -0
- package/packages/widgets/testimonials-masonry/testimonials-masonry.php +336 -0
- package/packages/widgets/widget-filter/data/view.php +527 -0
- package/packages/widgets/widget-filter/package.json +12 -0
- package/packages/widgets/widget-filter/templates/wrapper.php +630 -0
- package/packages/widgets/widget-filter/widget-filter.php +123 -0
- package/scripts/scaffold-widget-packages.js +109 -0
- package/scripts/setup.sh +56 -0
- package/scripts/split-widget.js +176 -0
- package/scripts/sync-widgets.js +69 -0
- package/sociallane-elements.php +104 -0
- package/vite.config.js +129 -0
- package/widgets/.gitkeep +0 -0
- package/widgets/bento-grid/bento-grid.php +761 -0
- package/widgets/bento-grid/data/view.php +334 -0
- package/widgets/bento-grid/templates/partials/cell1.php +45 -0
- package/widgets/bento-grid/templates/partials/cell2.php +52 -0
- package/widgets/bento-grid/templates/partials/cell3.php +45 -0
- package/widgets/bento-grid/templates/partials/cell4.php +44 -0
- package/widgets/bento-grid/templates/partials/default-grid.php +31 -0
- package/widgets/bento-grid/templates/partials/tcsr-row1-left.php +68 -0
- package/widgets/bento-grid/templates/partials/tcsr-row1-right.php +65 -0
- package/widgets/bento-grid/templates/partials/tcsr-row2-center.php +41 -0
- package/widgets/bento-grid/templates/partials/tcsr-row2-left.php +38 -0
- package/widgets/bento-grid/templates/partials/tcsr-row2-right.php +38 -0
- package/widgets/bento-grid/templates/partials/two-column-second-row-grid.php +35 -0
- package/widgets/bento-grid/templates/partials/two-row-deploys.php +47 -0
- package/widgets/bento-grid/templates/partials/two-row-grid.php +34 -0
- package/widgets/bento-grid/templates/partials/two-row-integrations.php +40 -0
- package/widgets/bento-grid/templates/partials/two-row-overview.php +67 -0
- package/widgets/bento-grid/templates/partials/two-row-releases.php +29 -0
- package/widgets/bento-grid/templates/partials/two-row-security.php +44 -0
- package/widgets/bento-grid/templates/wrapper.php +72 -0
- package/widgets/bento-portfolio/bento-portfolio.php +399 -0
- package/widgets/bento-portfolio/data/view.php +124 -0
- package/widgets/bento-portfolio/templates/partials/portfolio-card.php +84 -0
- package/widgets/bento-portfolio/templates/partials/portfolio-default-grid.php +35 -0
- package/widgets/bento-portfolio/templates/partials/portfolio-two-column-second-row-grid.php +39 -0
- package/widgets/bento-portfolio/templates/partials/portfolio-two-row-grid.php +35 -0
- package/widgets/bento-portfolio/templates/wrapper.php +88 -0
- package/widgets/blog-grid/blog-grid.php +359 -0
- package/widgets/blog-grid/data/view.php +209 -0
- package/widgets/blog-grid/templates/partials/card.php +73 -0
- package/widgets/blog-grid/templates/wrapper.php +89 -0
- package/widgets/card-hover-reveal/card-hover-reveal.php +329 -0
- package/widgets/card-hover-reveal/data/view.php +141 -0
- package/widgets/card-hover-reveal/templates/partials/card.php +119 -0
- package/widgets/card-hover-reveal/templates/wrapper.php +80 -0
- package/widgets/client-logos/client-logos.php +214 -0
- package/widgets/client-logos/data/view.php +105 -0
- package/widgets/client-logos/templates/partials/client-item.php +38 -0
- package/widgets/client-logos/templates/wrapper.php +62 -0
- package/widgets/content-block/content-block.php +280 -0
- package/widgets/content-block/data/view.php +120 -0
- package/widgets/content-block/templates/partials/content.php +52 -0
- package/widgets/content-block/templates/wrapper.php +73 -0
- package/widgets/cta-banner/cta-banner.php +300 -0
- package/widgets/cta-banner/data/view.php +101 -0
- package/widgets/cta-banner/templates/wrapper.php +131 -0
- package/widgets/cta-notify/cta-notify.php +135 -0
- package/widgets/cta-notify/data/view.php +55 -0
- package/widgets/cta-notify/templates/wrapper.php +69 -0
- package/widgets/cta-split/cta-split.php +246 -0
- package/widgets/cta-split/data/view.php +86 -0
- package/widgets/cta-split/templates/wrapper.php +113 -0
- package/widgets/faq/data/view.php +105 -0
- package/widgets/faq/faq.php +253 -0
- package/widgets/faq/templates/partials/accordion.php +74 -0
- package/widgets/faq/templates/partials/layout-centered.php +41 -0
- package/widgets/faq/templates/partials/layout-split.php +47 -0
- package/widgets/faq/templates/partials/layout-stacked.php +57 -0
- package/widgets/faq/templates/wrapper.php +76 -0
- package/widgets/feature-grid/data/view.php +121 -0
- package/widgets/feature-grid/feature-grid.php +321 -0
- package/widgets/feature-grid/templates/partials/centered-2x2.php +69 -0
- package/widgets/feature-grid/templates/partials/feature-item.php +54 -0
- package/widgets/feature-grid/templates/wrapper.php +71 -0
- package/widgets/feature-list/data/view.php +56 -0
- package/widgets/feature-list/feature-list.php +160 -0
- package/widgets/feature-list/templates/wrapper.php +69 -0
- package/widgets/feature-list-cta/data/view.php +85 -0
- package/widgets/feature-list-cta/feature-list-cta.php +226 -0
- package/widgets/feature-list-cta/templates/partials/feature-item.php +49 -0
- package/widgets/feature-list-cta/templates/wrapper.php +65 -0
- package/widgets/footer/data/view.php +139 -0
- package/widgets/footer/footer.php +389 -0
- package/widgets/footer/templates/partials/bottom.php +77 -0
- package/widgets/footer/templates/partials/cta.php +47 -0
- package/widgets/footer/templates/partials/link-columns.php +52 -0
- package/widgets/footer/templates/wrapper.php +53 -0
- package/widgets/footer-brand/data/view.php +135 -0
- package/widgets/footer-brand/footer-brand.php +278 -0
- package/widgets/footer-brand/templates/partials/brand.php +69 -0
- package/widgets/footer-brand/templates/partials/link-columns.php +51 -0
- package/widgets/footer-brand/templates/wrapper.php +59 -0
- package/widgets/footer-links-contact/data/view.php +165 -0
- package/widgets/footer-links-contact/footer-links-contact.php +361 -0
- package/widgets/footer-links-contact/templates/partials/bottom.php +70 -0
- package/widgets/footer-links-contact/templates/partials/contact-column.php +66 -0
- package/widgets/footer-links-contact/templates/partials/link-column.php +39 -0
- package/widgets/footer-links-contact/templates/partials/logo-column.php +46 -0
- package/widgets/footer-links-contact/templates/wrapper.php +68 -0
- package/widgets/form-contact/data/view.php +133 -0
- package/widgets/form-contact/form-contact.php +274 -0
- package/widgets/form-contact/templates/partials/testimonial.php +83 -0
- package/widgets/form-contact/templates/wrapper.php +98 -0
- package/widgets/grid-case-studies/data/view.php +88 -0
- package/widgets/grid-case-studies/grid-case-studies.php +262 -0
- package/widgets/grid-case-studies/templates/partials/card.php +66 -0
- package/widgets/grid-case-studies/templates/wrapper.php +69 -0
- package/widgets/grid-components/data/view.php +131 -0
- package/widgets/grid-components/grid-components.php +316 -0
- package/widgets/grid-components/templates/partials/component-card.php +81 -0
- package/widgets/grid-components/templates/wrapper.php +55 -0
- package/widgets/grid-posts/data/view.php +159 -0
- package/widgets/grid-posts/grid-posts.php +295 -0
- package/widgets/grid-posts/templates/partials/card-overlay.php +58 -0
- package/widgets/grid-posts/templates/partials/card.php +49 -0
- package/widgets/grid-posts/templates/wrapper.php +59 -0
- package/widgets/grid-team/data/view.php +80 -0
- package/widgets/grid-team/grid-team.php +201 -0
- package/widgets/grid-team/templates/partials/team-card.php +52 -0
- package/widgets/grid-team/templates/wrapper.php +67 -0
- package/widgets/grid-testimonials/data/view.php +179 -0
- package/widgets/grid-testimonials/grid-testimonials.php +370 -0
- package/widgets/grid-testimonials/templates/partials/layout-bento.php +36 -0
- package/widgets/grid-testimonials/templates/partials/layout-masonry.php +74 -0
- package/widgets/grid-testimonials/templates/partials/testimonial-card.php +85 -0
- package/widgets/grid-testimonials/templates/wrapper.php +84 -0
- package/widgets/hero-announcement/data/view.php +98 -0
- package/widgets/hero-announcement/hero-announcement.php +270 -0
- package/widgets/hero-announcement/templates/wrapper.php +111 -0
- package/widgets/hero-centered-image/data/view.php +128 -0
- package/widgets/hero-centered-image/hero-centered-image.php +297 -0
- package/widgets/hero-centered-image/templates/wrapper.php +123 -0
- package/widgets/hero-collage/data/view.php +113 -0
- package/widgets/hero-collage/hero-collage.php +151 -0
- package/widgets/hero-collage/templates/wrapper.php +102 -0
- package/widgets/hero-overlay/data/view.php +121 -0
- package/widgets/hero-overlay/hero-overlay.php +277 -0
- package/widgets/hero-overlay/templates/wrapper.php +225 -0
- package/widgets/hero-saas/data/view.php +106 -0
- package/widgets/hero-saas/hero-saas.php +175 -0
- package/widgets/hero-saas/templates/partials/layout-centered.php +70 -0
- package/widgets/hero-saas/templates/partials/layout-split.php +76 -0
- package/widgets/hero-saas/templates/partials/layout-stacked.php +70 -0
- package/widgets/hero-saas/templates/wrapper.php +54 -0
- package/widgets/hero-split/data/view.php +92 -0
- package/widgets/hero-split/hero-split.php +127 -0
- package/widgets/hero-split/templates/wrapper.php +86 -0
- package/widgets/hero-stacked-image/data/view.php +142 -0
- package/widgets/hero-stacked-image/hero-stacked-image.php +248 -0
- package/widgets/hero-stacked-image/templates/wrapper.php +176 -0
- package/widgets/intro-pattern/data/view.php +73 -0
- package/widgets/intro-pattern/intro-pattern.php +161 -0
- package/widgets/intro-pattern/templates/wrapper.php +61 -0
- package/widgets/intro-text/data/view.php +97 -0
- package/widgets/intro-text/intro-text.php +252 -0
- package/widgets/intro-text/templates/wrapper.php +75 -0
- package/widgets/logo-grid/data/view.php +113 -0
- package/widgets/logo-grid/logo-grid.php +281 -0
- package/widgets/logo-grid/templates/wrapper.php +213 -0
- package/widgets/newsletter/data/view.php +75 -0
- package/widgets/newsletter/newsletter.php +210 -0
- package/widgets/newsletter/templates/wrapper.php +137 -0
- package/widgets/outreach-dashboard/data/view.php +176 -0
- package/widgets/outreach-dashboard/outreach-dashboard.php +504 -0
- package/widgets/outreach-dashboard/templates/partials/card-chat.php +69 -0
- package/widgets/outreach-dashboard/templates/partials/card-engagement.php +60 -0
- package/widgets/outreach-dashboard/templates/partials/card-integrations.php +39 -0
- package/widgets/outreach-dashboard/templates/partials/card-meetings.php +43 -0
- package/widgets/outreach-dashboard/templates/partials/card-networking.php +28 -0
- package/widgets/outreach-dashboard/templates/wrapper.php +76 -0
- package/widgets/pipeline-dashboard/data/view.php +131 -0
- package/widgets/pipeline-dashboard/pipeline-dashboard.php +407 -0
- package/widgets/pipeline-dashboard/templates/partials/app-bar.php +31 -0
- package/widgets/pipeline-dashboard/templates/partials/kanban.php +56 -0
- package/widgets/pipeline-dashboard/templates/partials/pipeline-header.php +66 -0
- package/widgets/pipeline-dashboard/templates/wrapper.php +64 -0
- package/widgets/pricing-table/data/view.php +133 -0
- package/widgets/pricing-table/pricing-table.php +376 -0
- package/widgets/pricing-table/templates/partials/pricing-card.php +125 -0
- package/widgets/pricing-table/templates/wrapper.php +164 -0
- package/widgets/sales-dashboard/data/view.php +158 -0
- package/widgets/sales-dashboard/sales-dashboard.php +434 -0
- package/widgets/sales-dashboard/templates/partials/card-competitors.php +78 -0
- package/widgets/sales-dashboard/templates/partials/card-feature.php +58 -0
- package/widgets/sales-dashboard/templates/partials/card-profile.php +76 -0
- package/widgets/sales-dashboard/templates/wrapper.php +74 -0
- package/widgets/section-stats/data/view.php +105 -0
- package/widgets/section-stats/section-stats.php +232 -0
- package/widgets/section-stats/templates/partials/stat-card.php +44 -0
- package/widgets/section-stats/templates/wrapper.php +87 -0
- package/widgets/services/data/view.php +91 -0
- package/widgets/services/services.php +198 -0
- package/widgets/services/templates/partials/service-item.php +35 -0
- package/widgets/services/templates/wrapper.php +92 -0
- package/widgets/simple-page-hero/data/view.php +52 -0
- package/widgets/simple-page-hero/simple-page-hero.php +147 -0
- package/widgets/simple-page-hero/templates/wrapper.php +54 -0
- package/widgets/social-proof/data/view.php +143 -0
- package/widgets/social-proof/social-proof.php +389 -0
- package/widgets/social-proof/templates/partials/layout-trust.php +73 -0
- package/widgets/social-proof/templates/partials/stat-card.php +32 -0
- package/widgets/social-proof/templates/partials/stat-item.php +35 -0
- package/widgets/social-proof/templates/wrapper.php +93 -0
- package/widgets/testimonial-quote/data/view.php +62 -0
- package/widgets/testimonial-quote/templates/wrapper.php +66 -0
- package/widgets/testimonial-quote/testimonial-quote.php +157 -0
- package/widgets.json +75 -0
- package/widgets.json.minimal +17 -0
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
/**
|
|
3
|
+
* Widget Preview — Frame with viewport toolbar and resizable iframe
|
|
4
|
+
* Tailwind UI Blocks–style: dark theme, preset buttons, drag handle to resize.
|
|
5
|
+
*
|
|
6
|
+
* @package SocialLane\Elements
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
if ( ! defined( 'ABSPATH' ) ) {
|
|
10
|
+
exit;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
$prev_error_level = error_reporting( E_ERROR | E_PARSE );
|
|
14
|
+
|
|
15
|
+
$slug = get_query_var( 'sociallane_preview', '' );
|
|
16
|
+
$registry = \SocialLane\Elements\Widget_Manager::get_widget_registry();
|
|
17
|
+
$widget = $registry[ $slug ] ?? null;
|
|
18
|
+
$name = $widget ? $widget['name'] : $slug;
|
|
19
|
+
$current_url = home_url( '/widget-preview/' . $slug . '/' );
|
|
20
|
+
$embed_url = add_query_arg( 'embed', '1', $current_url );
|
|
21
|
+
$overview_url = home_url( '/' );
|
|
22
|
+
?>
|
|
23
|
+
<!DOCTYPE html>
|
|
24
|
+
<html <?php language_attributes(); ?>>
|
|
25
|
+
<head>
|
|
26
|
+
<meta charset="<?php bloginfo( 'charset' ); ?>">
|
|
27
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
28
|
+
<title><?php echo esc_html( sprintf( __( 'Preview: %s', 'sociallane-elements' ), $name ) ); ?></title>
|
|
29
|
+
<?php wp_head(); ?>
|
|
30
|
+
<style>
|
|
31
|
+
.sociallane-preview-frame { min-height: 100vh; display: flex; flex-direction: column; background: #0f172a; color: #f1f5f9; }
|
|
32
|
+
.sociallane-preview-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 1.25rem; background: #020617; border-bottom: 1px solid #1e293b; flex-shrink: 0; }
|
|
33
|
+
.sociallane-preview-toolbar-left { display: flex; align-items: center; gap: 0.75rem; }
|
|
34
|
+
.sociallane-preview-toolbar h1 { margin: 0; font-size: 0.9375rem; font-weight: 600; color: #f8fafc; }
|
|
35
|
+
.sociallane-preview-pill { font-size: 0.75rem; font-weight: 500; padding: 0.25rem 0.625rem; border-radius: 9999px; background: #1e293b; color: #94a3b8; }
|
|
36
|
+
.sociallane-preview-viewports { display: flex; align-items: center; gap: 0.25rem; }
|
|
37
|
+
.sociallane-preview-viewports button { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; padding: 0; font-size: 0.875rem; background: transparent; color: #94a3b8; border: none; border-radius: 0.375rem; cursor: pointer; }
|
|
38
|
+
.sociallane-preview-viewports button:hover { color: #f1f5f9; background: #1e293b; }
|
|
39
|
+
.sociallane-preview-viewports button.active { color: #38bdf8; background: #0f172a; }
|
|
40
|
+
.sociallane-preview-main { flex: 1; display: flex; align-items: flex-start; justify-content: center; padding: 1.5rem; min-height: 0; overflow-y: auto; }
|
|
41
|
+
.sociallane-preview-viewport { position: relative; display: flex; align-items: flex-start; justify-content: center; background: #0f172a; border-radius: 0.5rem; overflow: visible; }
|
|
42
|
+
.sociallane-preview-iframe-wrap { position: relative; min-height: 800px; overflow: hidden; border-radius: 0.375rem; box-shadow: 0 25px 50px -12px rgba(0,0,0,0.4); }
|
|
43
|
+
.sociallane-preview-iframe-wrap iframe { display: block; border: none; background: #fff; min-height: 800px; }
|
|
44
|
+
.sociallane-preview-resize-handle { position: absolute; top: 0; right: -4px; bottom: 0; width: 8px; cursor: col-resize; z-index: 10; display: flex; align-items: center; justify-content: center; }
|
|
45
|
+
.sociallane-preview-resize-handle::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 2px; height: 48px; border-radius: 1px; background: #475569; opacity: 0.6; }
|
|
46
|
+
.sociallane-preview-resize-handle:hover::after { background: #38bdf8; opacity: 1; }
|
|
47
|
+
.sociallane-preview-back { position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 20; display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; font-size: 0.875rem; font-weight: 500; color: #f8fafc; background: #1e293b; border: 1px solid #334155; border-radius: 0.5rem; text-decoration: none; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.3); transition: background 0.2s, color 0.2s; }
|
|
48
|
+
.sociallane-preview-back:hover { background: #334155; color: #fff; }
|
|
49
|
+
.sociallane-preview-back:focus { outline: none; box-shadow: 0 0 0 2px #38bdf8; }
|
|
50
|
+
.sociallane-preview-back svg { flex-shrink: 0; }
|
|
51
|
+
</style>
|
|
52
|
+
</head>
|
|
53
|
+
<body class="sociallane-preview-body">
|
|
54
|
+
<div class="sociallane-preview-frame">
|
|
55
|
+
<header class="sociallane-preview-toolbar" role="banner">
|
|
56
|
+
<div class="sociallane-preview-toolbar-left">
|
|
57
|
+
<h1><?php echo esc_html( $name ); ?></h1>
|
|
58
|
+
<span class="sociallane-preview-pill"><?php esc_html_e( 'Preview', 'sociallane-elements' ); ?></span>
|
|
59
|
+
</div>
|
|
60
|
+
<div class="sociallane-preview-viewports" role="group" aria-label="<?php esc_attr_e( 'Viewport size', 'sociallane-elements' ); ?>">
|
|
61
|
+
<button type="button" data-viewport="1280" class="active" aria-pressed="true" aria-label="<?php esc_attr_e( 'Desktop', 'sociallane-elements' ); ?>">
|
|
62
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
|
|
63
|
+
</button>
|
|
64
|
+
<button type="button" data-viewport="768" aria-pressed="false" aria-label="<?php esc_attr_e( 'Tablet', 'sociallane-elements' ); ?>">
|
|
65
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="2" width="16" height="20" rx="2"/><line x1="12" y1="18" x2="12.01" y2="18"/></svg>
|
|
66
|
+
</button>
|
|
67
|
+
<button type="button" data-viewport="375" aria-pressed="false" aria-label="<?php esc_attr_e( 'Mobile', 'sociallane-elements' ); ?>">
|
|
68
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="5" y="2" width="14" height="20" rx="2"/><line x1="12" y1="18" x2="12.01" y2="18"/></svg>
|
|
69
|
+
</button>
|
|
70
|
+
</div>
|
|
71
|
+
</header>
|
|
72
|
+
<main class="sociallane-preview-main">
|
|
73
|
+
<div class="sociallane-preview-viewport">
|
|
74
|
+
<div class="sociallane-preview-iframe-wrap" id="sociallane-iframe-wrap" style="width: 1280px;">
|
|
75
|
+
<iframe
|
|
76
|
+
id="sociallane-preview-iframe"
|
|
77
|
+
src="<?php echo esc_url( $embed_url ); ?>"
|
|
78
|
+
title="<?php echo esc_attr( sprintf( __( 'Preview of %s', 'sociallane-elements' ), $name ) ); ?>"
|
|
79
|
+
style="width: 1280px;"
|
|
80
|
+
></iframe>
|
|
81
|
+
<div class="sociallane-preview-resize-handle" id="sociallane-resize-handle" role="separator" aria-orientation="vertical" aria-label="<?php esc_attr_e( 'Resize viewport', 'sociallane-elements' ); ?>"></div>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
</main>
|
|
85
|
+
<a href="<?php echo esc_url( $overview_url ); ?>" class="sociallane-preview-back" aria-label="<?php esc_attr_e( 'Back to overview', 'sociallane-elements' ); ?>">
|
|
86
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 12H5"/><polyline points="12 19 5 12 12 5"/></svg>
|
|
87
|
+
<span><?php esc_html_e( 'Back to overview', 'sociallane-elements' ); ?></span>
|
|
88
|
+
</a>
|
|
89
|
+
</div>
|
|
90
|
+
<script>
|
|
91
|
+
(function() {
|
|
92
|
+
var wrap = document.getElementById('sociallane-iframe-wrap');
|
|
93
|
+
var iframe = document.getElementById('sociallane-preview-iframe');
|
|
94
|
+
var handle = document.getElementById('sociallane-resize-handle');
|
|
95
|
+
var buttons = document.querySelectorAll('.sociallane-preview-viewports button');
|
|
96
|
+
var widths = { '1280': 1280, '768': 768, '375': 375 };
|
|
97
|
+
var minW = 320;
|
|
98
|
+
var maxW = 1920;
|
|
99
|
+
var DEFAULT_VIEWPORT = 1280;
|
|
100
|
+
|
|
101
|
+
var minH = 600;
|
|
102
|
+
var maxH = 8000;
|
|
103
|
+
|
|
104
|
+
function setWidth(px) {
|
|
105
|
+
px = Math.max(minW, Math.min(maxW, px));
|
|
106
|
+
wrap.style.width = px + 'px';
|
|
107
|
+
iframe.style.width = px + 'px';
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function setIframeHeightToContent() {
|
|
111
|
+
try {
|
|
112
|
+
var doc = iframe.contentDocument;
|
|
113
|
+
if (!doc || !doc.body) return;
|
|
114
|
+
var html = doc.documentElement;
|
|
115
|
+
var h = Math.max(
|
|
116
|
+
doc.body.scrollHeight,
|
|
117
|
+
doc.body.offsetHeight,
|
|
118
|
+
html ? html.clientHeight : 0,
|
|
119
|
+
html ? html.scrollHeight : 0,
|
|
120
|
+
html ? html.offsetHeight : 0
|
|
121
|
+
);
|
|
122
|
+
h = Math.max(minH, Math.min(maxH, h));
|
|
123
|
+
iframe.style.height = h + 'px';
|
|
124
|
+
wrap.style.height = h + 'px';
|
|
125
|
+
wrap.style.minHeight = h + 'px';
|
|
126
|
+
} catch (e) {}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
iframe.addEventListener('load', function() {
|
|
130
|
+
setIframeHeightToContent();
|
|
131
|
+
setTimeout(setIframeHeightToContent, 100);
|
|
132
|
+
setTimeout(setIframeHeightToContent, 500);
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
setWidth(DEFAULT_VIEWPORT);
|
|
136
|
+
|
|
137
|
+
buttons.forEach(function(btn) {
|
|
138
|
+
btn.addEventListener('click', function() {
|
|
139
|
+
var w = this.getAttribute('data-viewport');
|
|
140
|
+
var px = widths[w] || 1280;
|
|
141
|
+
buttons.forEach(function(b) { b.classList.remove('active'); b.setAttribute('aria-pressed', 'false'); });
|
|
142
|
+
this.classList.add('active');
|
|
143
|
+
this.setAttribute('aria-pressed', 'true');
|
|
144
|
+
setWidth(px);
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
if (handle && wrap) {
|
|
149
|
+
var dragging = false;
|
|
150
|
+
var startX = 0;
|
|
151
|
+
var startW = 0;
|
|
152
|
+
|
|
153
|
+
handle.addEventListener('mousedown', function(e) {
|
|
154
|
+
e.preventDefault();
|
|
155
|
+
dragging = true;
|
|
156
|
+
startX = e.clientX;
|
|
157
|
+
startW = wrap.offsetWidth;
|
|
158
|
+
document.body.style.cursor = 'col-resize';
|
|
159
|
+
document.body.style.userSelect = 'none';
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
document.addEventListener('mousemove', function(e) {
|
|
163
|
+
if (!dragging) return;
|
|
164
|
+
var dx = e.clientX - startX;
|
|
165
|
+
setWidth(startW + dx);
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
document.addEventListener('mouseup', function() {
|
|
169
|
+
if (dragging) {
|
|
170
|
+
dragging = false;
|
|
171
|
+
document.body.style.cursor = '';
|
|
172
|
+
document.body.style.userSelect = '';
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
})();
|
|
177
|
+
</script>
|
|
178
|
+
<?php wp_footer(); ?>
|
|
179
|
+
</body>
|
|
180
|
+
</html>
|
|
181
|
+
<?php
|
|
182
|
+
error_reporting( $prev_error_level );
|
|
183
|
+
exit;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
/**
|
|
3
|
+
* Widget Preview — Index (list all widgets with thumbnails and links)
|
|
4
|
+
*
|
|
5
|
+
* @package SocialLane\Elements
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
if ( ! defined( 'ABSPATH' ) ) {
|
|
9
|
+
exit;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
$prev_error_level = error_reporting( E_ERROR | E_PARSE );
|
|
13
|
+
|
|
14
|
+
$registry = \SocialLane\Elements\Widget_Manager::get_widget_registry();
|
|
15
|
+
$widgets_dir = SOCIALLANE_ELEMENTS_PATH . 'packages/widgets';
|
|
16
|
+
if ( ! is_dir( $widgets_dir ) ) {
|
|
17
|
+
$widgets_dir = SOCIALLANE_ELEMENTS_PATH . 'widgets';
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
$widgets = [];
|
|
21
|
+
foreach ( $registry as $slug => $widget ) {
|
|
22
|
+
$view_file = $widgets_dir . '/' . $slug . '/data/view.php';
|
|
23
|
+
$wrapper = $widgets_dir . '/' . $slug . '/templates/wrapper.php';
|
|
24
|
+
if ( is_file( $view_file ) && is_file( $wrapper ) ) {
|
|
25
|
+
$widgets[ $slug ] = $widget;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
$preview_base = home_url( '/widget-preview/' );
|
|
30
|
+
?>
|
|
31
|
+
<!DOCTYPE html>
|
|
32
|
+
<html <?php language_attributes(); ?>>
|
|
33
|
+
<head>
|
|
34
|
+
<meta charset="<?php bloginfo( 'charset' ); ?>">
|
|
35
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
36
|
+
<title><?php esc_html_e( 'Widget Preview', 'sociallane-elements' ); ?></title>
|
|
37
|
+
<?php wp_head(); ?>
|
|
38
|
+
<style>
|
|
39
|
+
.sociallane-preview-index { min-height: 100vh; background: #262626; color: #fafafa; padding: 2rem; }
|
|
40
|
+
.sociallane-preview-index h1 { font-size: 1.5rem; font-weight: 700; margin: 0 0 1.5rem; }
|
|
41
|
+
.sociallane-preview-index .grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1.25rem; }
|
|
42
|
+
.sociallane-preview-index a { display: block; background: #404040; border-radius: 0.5rem; overflow: hidden; text-decoration: none; color: inherit; transition: background 0.2s; }
|
|
43
|
+
.sociallane-preview-index a:hover { background: #525252; }
|
|
44
|
+
.sociallane-preview-index .thumb { aspect-ratio: 16/10; background: #171717; object-fit: cover; width: 100%; }
|
|
45
|
+
.sociallane-preview-index .name { padding: 0.75rem 1rem; font-size: 0.875rem; font-weight: 500; }
|
|
46
|
+
</style>
|
|
47
|
+
</head>
|
|
48
|
+
<body class="sociallane-preview-index-body">
|
|
49
|
+
<div class="sociallane-preview-index">
|
|
50
|
+
<h1><?php esc_html_e( 'Widget Preview', 'sociallane-elements' ); ?></h1>
|
|
51
|
+
<div class="grid">
|
|
52
|
+
<?php foreach ( $widgets as $slug => $widget ) : ?>
|
|
53
|
+
<?php
|
|
54
|
+
$url = $preview_base . $slug . '/';
|
|
55
|
+
$name = $widget['name'] ?? $slug;
|
|
56
|
+
$thumb = \SocialLane\Elements\Widget_Manager::get_widget_preview_url( $slug, $widget );
|
|
57
|
+
?>
|
|
58
|
+
<a href="<?php echo esc_url( $url ); ?>">
|
|
59
|
+
<?php if ( $thumb ) : ?>
|
|
60
|
+
<img src="<?php echo esc_url( $thumb ); ?>" alt="" class="thumb" loading="lazy" />
|
|
61
|
+
<?php else : ?>
|
|
62
|
+
<div class="thumb" style="display:flex;align-items:center;justify-content:center;font-size:0.75rem;color:#737373;"><?php echo esc_html( $name ); ?></div>
|
|
63
|
+
<?php endif; ?>
|
|
64
|
+
<span class="name"><?php echo esc_html( $name ); ?></span>
|
|
65
|
+
</a>
|
|
66
|
+
<?php endforeach; ?>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
<?php wp_footer(); ?>
|
|
70
|
+
</body>
|
|
71
|
+
</html>
|
|
72
|
+
<?php
|
|
73
|
+
error_reporting( $prev_error_level );
|
|
74
|
+
exit;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
/**
|
|
3
|
+
* Admin Settings Page — Widget management
|
|
4
|
+
*
|
|
5
|
+
* @var array $data Contains 'registry', 'categories', 'enabled', 'saved'
|
|
6
|
+
*
|
|
7
|
+
* @package SocialLane\Elements
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
if ( ! defined( 'ABSPATH' ) ) {
|
|
11
|
+
exit;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
$registry = $data['registry'];
|
|
15
|
+
$categories = $data['categories'];
|
|
16
|
+
$enabled = $data['enabled'];
|
|
17
|
+
$saved = ! empty( $data['saved'] );
|
|
18
|
+
$preview_pages_enabled = ! empty( $data['preview_pages_enabled'] );
|
|
19
|
+
$prefix = 'settings-';
|
|
20
|
+
$grid_class = 'settings-widget-grid';
|
|
21
|
+
?>
|
|
22
|
+
<div class="wrap max-w-5xl mx-auto py-8 px-4">
|
|
23
|
+
<h1 class="text-2xl font-bold text-neutral-900 mb-2">
|
|
24
|
+
<?php esc_html_e( 'SocialLane Elements', 'sociallane-elements' ); ?>
|
|
25
|
+
</h1>
|
|
26
|
+
<p class="text-neutral-500 mb-6">
|
|
27
|
+
<?php esc_html_e( 'Choose which widgets to load in the Elementor editor. Elements (Button, Image) are always available.', 'sociallane-elements' ); ?>
|
|
28
|
+
</p>
|
|
29
|
+
|
|
30
|
+
<?php if ( $saved ) : ?>
|
|
31
|
+
<div class="mb-6 p-4 bg-green-50 border border-green-200 rounded-lg text-green-800" role="alert">
|
|
32
|
+
<?php esc_html_e( 'Settings saved.', 'sociallane-elements' ); ?>
|
|
33
|
+
</div>
|
|
34
|
+
<?php endif; ?>
|
|
35
|
+
|
|
36
|
+
<form method="post" action="">
|
|
37
|
+
<?php wp_nonce_field( 'sociallane_settings', 'sociallane_settings_nonce' ); ?>
|
|
38
|
+
|
|
39
|
+
<div class="mb-8 p-4 bg-neutral-50 border border-neutral-200 rounded-lg">
|
|
40
|
+
<label class="flex items-center gap-3 cursor-pointer">
|
|
41
|
+
<input type="checkbox" name="preview_pages_enabled" value="1" <?php checked( $preview_pages_enabled ); ?> class="rounded border-neutral-300 text-primary focus:ring-primary" />
|
|
42
|
+
<span class="font-medium text-neutral-800"><?php esc_html_e( 'Enable preview pages', 'sociallane-elements' ); ?></span>
|
|
43
|
+
</label>
|
|
44
|
+
<p class="mt-2 text-sm text-neutral-500 ml-7">
|
|
45
|
+
<?php esc_html_e( 'When enabled, each widget gets a preview page at /widget-preview/{slug}/ with desktop, tablet, and mobile viewport controls. Only for this installation; imported components do not include the frame.', 'sociallane-elements' ); ?>
|
|
46
|
+
</p>
|
|
47
|
+
<?php if ( $preview_pages_enabled ) : ?>
|
|
48
|
+
<p class="mt-2 text-sm ml-7">
|
|
49
|
+
<a href="<?php echo esc_url( home_url( '/widget-preview/' ) ); ?>" target="_blank" rel="noopener noreferrer" class="text-primary hover:underline"><?php esc_html_e( 'View all previews', 'sociallane-elements' ); ?></a>
|
|
50
|
+
</p>
|
|
51
|
+
<?php endif; ?>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
<?php
|
|
55
|
+
require __DIR__ . '/partials/category-tabs.php';
|
|
56
|
+
$count_id = 'settings-selected-count';
|
|
57
|
+
$select_all_id = 'settings-select-all';
|
|
58
|
+
$deselect_all_id = 'settings-deselect-all';
|
|
59
|
+
require __DIR__ . '/partials/widget-toolbar.php';
|
|
60
|
+
?>
|
|
61
|
+
|
|
62
|
+
<?php $first = true; ?>
|
|
63
|
+
<?php foreach ( $categories as $cat_key => $cat_label ) : ?>
|
|
64
|
+
<?php
|
|
65
|
+
$cat_widgets = array_filter( $registry, function ( $w ) use ( $cat_key ) {
|
|
66
|
+
return $w['category'] === $cat_key;
|
|
67
|
+
} );
|
|
68
|
+
if ( empty( $cat_widgets ) ) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
?>
|
|
72
|
+
<div class="<?php echo esc_attr( $grid_class ); ?> <?php echo $first ? '' : 'hidden'; ?>" data-category="<?php echo esc_attr( $cat_key ); ?>">
|
|
73
|
+
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4">
|
|
74
|
+
<?php foreach ( $cat_widgets as $slug => $widget ) : ?>
|
|
75
|
+
<?php
|
|
76
|
+
$is_enabled = in_array( $slug, $enabled, true );
|
|
77
|
+
require __DIR__ . '/partials/widget-card.php';
|
|
78
|
+
?>
|
|
79
|
+
<?php endforeach; ?>
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
<?php $first = false; ?>
|
|
83
|
+
<?php endforeach; ?>
|
|
84
|
+
|
|
85
|
+
<div class="mt-8 pt-6 border-t border-neutral-200 flex items-center justify-between flex-wrap gap-4">
|
|
86
|
+
<a href="<?php echo esc_url( admin_url( 'admin.php?page=sociallane-onboarding' ) ); ?>" class="text-sm text-neutral-500 hover:text-neutral-700 no-underline">
|
|
87
|
+
<?php esc_html_e( 'Re-run Setup Wizard', 'sociallane-elements' ); ?>
|
|
88
|
+
</a>
|
|
89
|
+
<button type="submit" class="px-6 py-3 bg-primary text-white font-semibold rounded-lg hover:opacity-90 cursor-pointer border-0 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2">
|
|
90
|
+
<?php esc_html_e( 'Save Changes', 'sociallane-elements' ); ?>
|
|
91
|
+
</button>
|
|
92
|
+
</div>
|
|
93
|
+
</form>
|
|
94
|
+
</div>
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
/**
|
|
3
|
+
* Front-end setup guide — Widget Catalog (Widget Filter)
|
|
4
|
+
* Used by shortcode [sociallane_widget_catalog_setup].
|
|
5
|
+
*
|
|
6
|
+
* @package SocialLane_Elements
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
if ( ! defined( 'ABSPATH' ) ) {
|
|
10
|
+
exit;
|
|
11
|
+
}
|
|
12
|
+
?>
|
|
13
|
+
<div class="sociallane-setup-guide max-w-4xl mx-auto py-8 px-4 sm:px-6 text-neutral-700 dark:text-neutral-300">
|
|
14
|
+
<h1 class="text-2xl sm:text-3xl font-bold text-neutral-900 dark:text-white mb-2">
|
|
15
|
+
<?php esc_html_e( 'Widget Catalog Setup', 'sociallane-elements' ); ?>
|
|
16
|
+
</h1>
|
|
17
|
+
<p class="text-neutral-500 dark:text-neutral-400 mb-8">
|
|
18
|
+
<?php esc_html_e( 'How to add the Widget Catalog to a page and which commands to run so you can browse and copy npm install commands for components.', 'sociallane-elements' ); ?>
|
|
19
|
+
</p>
|
|
20
|
+
|
|
21
|
+
<section class="mb-10">
|
|
22
|
+
<h2 class="text-lg font-semibold text-neutral-800 dark:text-neutral-100 mb-3 border-b border-neutral-200 dark:border-neutral-700 pb-2">
|
|
23
|
+
<?php esc_html_e( '1. What is the Widget Catalog?', 'sociallane-elements' ); ?>
|
|
24
|
+
</h2>
|
|
25
|
+
<p class="mb-2">
|
|
26
|
+
<?php esc_html_e( 'The Widget Catalog (Widget Filter) is an Elementor widget that shows a filterable grid of all available SocialLane widgets. You can:', 'sociallane-elements' ); ?>
|
|
27
|
+
</p>
|
|
28
|
+
<ul class="list-disc list-inside space-y-1 mb-4 ml-2">
|
|
29
|
+
<li><?php esc_html_e( 'Filter and search by category', 'sociallane-elements' ); ?></li>
|
|
30
|
+
<li><?php esc_html_e( 'See the exact npm install command for each widget', 'sociallane-elements' ); ?></li>
|
|
31
|
+
<li><?php esc_html_e( 'Copy a single command or build a collection and copy one command to install multiple widgets', 'sociallane-elements' ); ?></li>
|
|
32
|
+
<li><?php esc_html_e( 'Copy the widget slug (e.g. for widgets.json)', 'sociallane-elements' ); ?></li>
|
|
33
|
+
</ul>
|
|
34
|
+
</section>
|
|
35
|
+
|
|
36
|
+
<section class="mb-10">
|
|
37
|
+
<h2 class="text-lg font-semibold text-neutral-800 dark:text-neutral-100 mb-3 border-b border-neutral-200 dark:border-neutral-700 pb-2">
|
|
38
|
+
<?php esc_html_e( '2. Installing the plugin', 'sociallane-elements' ); ?>
|
|
39
|
+
</h2>
|
|
40
|
+
<p class="mb-4">
|
|
41
|
+
<?php esc_html_e( 'Choose one way to get SocialLane Elements into your site.', 'sociallane-elements' ); ?>
|
|
42
|
+
</p>
|
|
43
|
+
|
|
44
|
+
<div class="mb-6">
|
|
45
|
+
<h3 class="text-sm font-semibold text-neutral-800 dark:text-neutral-200 mb-2"><?php esc_html_e( 'Option A: Clone from Git', 'sociallane-elements' ); ?></h3>
|
|
46
|
+
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded-lg p-4 text-sm overflow-x-auto text-neutral-800 dark:text-neutral-200"><code>cd wp-content/plugins
|
|
47
|
+
git clone https://github.com/Mitch00llK/sociallane-elements.git
|
|
48
|
+
cd sociallane-elements
|
|
49
|
+
npm install</code></pre>
|
|
50
|
+
<p class="text-neutral-500 dark:text-neutral-400 text-sm mt-2">
|
|
51
|
+
<?php esc_html_e( 'Build runs automatically after npm install. Then activate the plugin in WordPress → Plugins.', 'sociallane-elements' ); ?>
|
|
52
|
+
</p>
|
|
53
|
+
</div>
|
|
54
|
+
|
|
55
|
+
<div class="mb-6">
|
|
56
|
+
<h3 class="text-sm font-semibold text-neutral-800 dark:text-neutral-200 mb-2"><?php esc_html_e( 'Option B: Git submodule (versioned projects)', 'sociallane-elements' ); ?></h3>
|
|
57
|
+
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded-lg p-4 text-sm overflow-x-auto text-neutral-800 dark:text-neutral-200"><code>cd wp-content/plugins
|
|
58
|
+
git submodule add https://github.com/Mitch00llK/sociallane-elements.git
|
|
59
|
+
cd sociallane-elements
|
|
60
|
+
git submodule update --init --recursive
|
|
61
|
+
npm install</code></pre>
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
<div class="mb-6">
|
|
65
|
+
<h3 class="text-sm font-semibold text-neutral-800 dark:text-neutral-200 mb-2"><?php esc_html_e( 'Option C: Install from npm', 'sociallane-elements' ); ?></h3>
|
|
66
|
+
<p class="text-sm mb-2">
|
|
67
|
+
<?php esc_html_e( 'If the plugin is published as @sociallane/elements:', 'sociallane-elements' ); ?>
|
|
68
|
+
</p>
|
|
69
|
+
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded-lg p-4 text-sm overflow-x-auto text-neutral-800 dark:text-neutral-200"><code>npm install @sociallane/elements
|
|
70
|
+
|
|
71
|
+
# Then copy into WordPress and install dependencies:
|
|
72
|
+
cp -r node_modules/@sociallane/elements wp-content/plugins/sociallane-elements
|
|
73
|
+
cd wp-content/plugins/sociallane-elements
|
|
74
|
+
npm install</code></pre>
|
|
75
|
+
<p class="text-neutral-500 dark:text-neutral-400 text-sm mt-2">
|
|
76
|
+
<?php esc_html_e( 'Or from wp-content/plugins: npm install @sociallane/elements, then move node_modules/@sociallane/elements to ./sociallane-elements and run npm install there.', 'sociallane-elements' ); ?>
|
|
77
|
+
</p>
|
|
78
|
+
</div>
|
|
79
|
+
</section>
|
|
80
|
+
|
|
81
|
+
<section class="mb-10">
|
|
82
|
+
<h2 class="text-lg font-semibold text-neutral-800 dark:text-neutral-100 mb-3 border-b border-neutral-200 dark:border-neutral-700 pb-2">
|
|
83
|
+
<?php esc_html_e( '3. Add the Widget Catalog to a page', 'sociallane-elements' ); ?>
|
|
84
|
+
</h2>
|
|
85
|
+
<ol class="list-decimal list-inside space-y-2 ml-2">
|
|
86
|
+
<li><?php esc_html_e( 'Edit any page with Elementor.', 'sociallane-elements' ); ?></li>
|
|
87
|
+
<li><?php esc_html_e( 'In the left panel, search for “Widget Filter” or “Widget Catalog”.', 'sociallane-elements' ); ?></li>
|
|
88
|
+
<li><?php esc_html_e( 'Drag the Widget Filter widget into your layout (e.g. in a section or container).', 'sociallane-elements' ); ?></li>
|
|
89
|
+
<li><?php esc_html_e( 'Optionally change the headline, number of columns, and whether search and category filters are shown.', 'sociallane-elements' ); ?></li>
|
|
90
|
+
<li><?php esc_html_e( 'Update the page. The catalog will list widgets based on the plugin’s widgets.json.', 'sociallane-elements' ); ?></li>
|
|
91
|
+
</ol>
|
|
92
|
+
</section>
|
|
93
|
+
|
|
94
|
+
<section class="mb-10">
|
|
95
|
+
<h2 class="text-lg font-semibold text-neutral-800 dark:text-neutral-100 mb-3 border-b border-neutral-200 dark:border-neutral-700 pb-2">
|
|
96
|
+
<?php esc_html_e( '4. Commands you need (plugin setup)', 'sociallane-elements' ); ?>
|
|
97
|
+
</h2>
|
|
98
|
+
<p class="mb-4">
|
|
99
|
+
<?php esc_html_e( 'For the catalog and all SocialLane widgets to work and look correct, run these from the plugin root.', 'sociallane-elements' ); ?>
|
|
100
|
+
</p>
|
|
101
|
+
|
|
102
|
+
<div class="mb-6">
|
|
103
|
+
<h3 class="text-sm font-semibold text-neutral-800 dark:text-neutral-200 mb-2"><?php esc_html_e( 'First-time or full install', 'sociallane-elements' ); ?></h3>
|
|
104
|
+
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded-lg p-4 text-sm overflow-x-auto text-neutral-800 dark:text-neutral-200"><code>cd wp-content/plugins/sociallane-elements
|
|
105
|
+
|
|
106
|
+
# Install dependencies (core + widget packages)
|
|
107
|
+
npm install
|
|
108
|
+
|
|
109
|
+
# Build — REQUIRED so Tailwind includes widget styles
|
|
110
|
+
npm run build</code></pre>
|
|
111
|
+
<p class="text-neutral-500 dark:text-neutral-400 text-sm mt-2">
|
|
112
|
+
<?php esc_html_e( 'Tailwind scans the plugin’s PHP templates; without a build, widgets can render unstyled.', 'sociallane-elements' ); ?>
|
|
113
|
+
</p>
|
|
114
|
+
</div>
|
|
115
|
+
|
|
116
|
+
<div class="mb-6">
|
|
117
|
+
<h3 class="text-sm font-semibold text-neutral-800 dark:text-neutral-200 mb-2"><?php esc_html_e( 'After adding or removing widgets', 'sociallane-elements' ); ?></h3>
|
|
118
|
+
<p class="text-sm mb-2">
|
|
119
|
+
<?php esc_html_e( 'widgets.json is synced automatically on npm install. To sync manually (e.g. after adding/removing widget folders or submodules), run:', 'sociallane-elements' ); ?>
|
|
120
|
+
</p>
|
|
121
|
+
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded-lg p-4 text-sm overflow-x-auto text-neutral-800 dark:text-neutral-200"><code>npm run sync-widgets</code></pre>
|
|
122
|
+
<p class="text-neutral-500 dark:text-neutral-400 text-sm mt-2">
|
|
123
|
+
<?php esc_html_e( 'This adds new widget slugs from packages/widgets/ and removes slugs whose folders are missing. You can also edit widgets.json by hand. Include "widget-filter" so the Widget Catalog is available in Elementor. Then run:', 'sociallane-elements' ); ?>
|
|
124
|
+
</p>
|
|
125
|
+
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded-lg p-4 text-sm overflow-x-auto text-neutral-800 dark:text-neutral-200 mt-2"><code>npm run build</code></pre>
|
|
126
|
+
</div>
|
|
127
|
+
|
|
128
|
+
<div class="mb-6">
|
|
129
|
+
<h3 class="text-sm font-semibold text-neutral-800 dark:text-neutral-200 mb-2"><?php esc_html_e( 'Uninstall and reinstall', 'sociallane-elements' ); ?></h3>
|
|
130
|
+
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded-lg p-4 text-sm overflow-x-auto text-neutral-800 dark:text-neutral-200"><code>npm run reinstall</code></pre>
|
|
131
|
+
<p class="text-neutral-500 dark:text-neutral-400 text-sm mt-2">
|
|
132
|
+
<?php esc_html_e( 'Removes node_modules and runs npm install (and postinstall build). Use when dependencies are broken or after changing Node version.', 'sociallane-elements' ); ?>
|
|
133
|
+
</p>
|
|
134
|
+
</div>
|
|
135
|
+
|
|
136
|
+
<div>
|
|
137
|
+
<h3 class="text-sm font-semibold text-neutral-800 dark:text-neutral-200 mb-2"><?php esc_html_e( 'Development (watch mode)', 'sociallane-elements' ); ?></h3>
|
|
138
|
+
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded-lg p-4 text-sm overflow-x-auto text-neutral-800 dark:text-neutral-200"><code>npm run dev</code></pre>
|
|
139
|
+
<p class="text-neutral-500 dark:text-neutral-400 text-sm mt-2">
|
|
140
|
+
<?php esc_html_e( 'Rebuilds automatically when you change templates or styles.', 'sociallane-elements' ); ?>
|
|
141
|
+
</p>
|
|
142
|
+
</div>
|
|
143
|
+
</section>
|
|
144
|
+
|
|
145
|
+
<section class="mb-10">
|
|
146
|
+
<h2 class="text-lg font-semibold text-neutral-800 dark:text-neutral-100 mb-3 border-b border-neutral-200 dark:border-neutral-700 pb-2">
|
|
147
|
+
<?php esc_html_e( '5. Using the catalog', 'sociallane-elements' ); ?>
|
|
148
|
+
</h2>
|
|
149
|
+
<ul class="space-y-2 list-disc list-inside ml-2">
|
|
150
|
+
<li><strong><?php esc_html_e( 'Copy single widget', 'sociallane-elements' ); ?></strong> — Each card shows the full <code class="bg-neutral-100 dark:bg-neutral-700 px-1 rounded text-sm">npm install @sociallane/widget-…</code> command; use the Copy button next to it.</li>
|
|
151
|
+
<li><strong><?php esc_html_e( 'Collection', 'sociallane-elements' ); ?></strong> — Check “Add to collection” on the widgets you want, then use “Copy npm install” in the sidebar to get one command that installs all selected packages.</li>
|
|
152
|
+
<li><strong><?php esc_html_e( 'Copy Name', 'sociallane-elements' ); ?></strong> — Copies the widget slug (e.g. hero-split) for use in widgets.json or docs.</li>
|
|
153
|
+
</ul>
|
|
154
|
+
</section>
|
|
155
|
+
|
|
156
|
+
<section class="mb-10">
|
|
157
|
+
<h2 class="text-lg font-semibold text-neutral-800 dark:text-neutral-100 mb-3 border-b border-neutral-200 dark:border-neutral-700 pb-2">
|
|
158
|
+
<?php esc_html_e( '6. Package mode (widgets.json)', 'sociallane-elements' ); ?>
|
|
159
|
+
</h2>
|
|
160
|
+
<p class="mb-2">
|
|
161
|
+
<?php esc_html_e( 'When widgets.json exists at the plugin root, the plugin runs in package mode: only widget components are loaded. The onboarding wizard, SocialLane settings page, widget preview pages, and this setup guide are not available on that installation.', 'sociallane-elements' ); ?>
|
|
162
|
+
</p>
|
|
163
|
+
<p class="mb-2">
|
|
164
|
+
<?php esc_html_e( 'To get the full admin (widget management, previews, this setup page), remove or rename widgets.json; the plugin will then use the Widget Manager and show all admin features.', 'sociallane-elements' ); ?>
|
|
165
|
+
</p>
|
|
166
|
+
</section>
|
|
167
|
+
|
|
168
|
+
<section class="mb-10">
|
|
169
|
+
<h2 class="text-lg font-semibold text-neutral-800 dark:text-neutral-100 mb-3 border-b border-neutral-200 dark:border-neutral-700 pb-2">
|
|
170
|
+
<?php esc_html_e( '7. Troubleshooting', 'sociallane-elements' ); ?>
|
|
171
|
+
</h2>
|
|
172
|
+
<dl class="space-y-4">
|
|
173
|
+
<dt class="font-medium text-neutral-800 dark:text-neutral-100"><?php esc_html_e( 'Widgets appear unstyled', 'sociallane-elements' ); ?></dt>
|
|
174
|
+
<dd class="ml-4">
|
|
175
|
+
<?php esc_html_e( 'Run', 'sociallane-elements' ); ?> <code class="bg-neutral-100 dark:bg-neutral-700 px-1 rounded text-sm">npm run build</code> <?php esc_html_e( 'from the plugin root. Tailwind only outputs classes it finds in the current PHP templates.', 'sociallane-elements' ); ?>
|
|
176
|
+
</dd>
|
|
177
|
+
<dt class="font-medium text-neutral-800 dark:text-neutral-100"><?php esc_html_e( 'Tailwind / styles not loading', 'sociallane-elements' ); ?></dt>
|
|
178
|
+
<dd class="ml-4">
|
|
179
|
+
<?php esc_html_e( 'If the plugin is using the Vite dev server and styles don’t appear, force production assets by adding to wp-config.php:', 'sociallane-elements' ); ?>
|
|
180
|
+
<pre class="bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-600 rounded p-2 text-sm mt-2 text-neutral-800 dark:text-neutral-200"><code>define( 'SOCIALLANE_ELEMENTS_VITE_PRODUCTION', true );</code></pre>
|
|
181
|
+
<?php esc_html_e( 'Then run', 'sociallane-elements' ); ?> <code class="bg-neutral-100 dark:bg-neutral-700 px-1 rounded text-sm">npm run build</code>.
|
|
182
|
+
</dd>
|
|
183
|
+
<dt class="font-medium text-neutral-800 dark:text-neutral-100"><?php esc_html_e( 'Widget Filter not in Elementor panel', 'sociallane-elements' ); ?></dt>
|
|
184
|
+
<dd class="ml-4">
|
|
185
|
+
<?php esc_html_e( 'Ensure "widget-filter" is listed in widgets.json and that SocialLane settings (Widget management) has the widget enabled.', 'sociallane-elements' ); ?>
|
|
186
|
+
</dd>
|
|
187
|
+
</dl>
|
|
188
|
+
</section>
|
|
189
|
+
</div>
|