jigsaw_engine 0.4.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.
- checksums.yaml +7 -0
- data/README.md +18 -0
- data/Rakefile +6 -0
- data/app/assets/stylesheets/jigsaw/grid_resize.css +21 -0
- data/app/assets/stylesheets/jigsaw/layout_editor.css +356 -0
- data/app/components/custom_module_component.rb +38 -0
- data/app/controllers/jigsaw/application_controller.rb +5 -0
- data/app/controllers/jigsaw/dashboard_controller.rb +8 -0
- data/app/controllers/jigsaw/layout_templates_controller.rb +73 -0
- data/app/controllers/jigsaw/pages_controller.rb +114 -0
- data/app/controllers/jigsaw/slot_templates_controller.rb +71 -0
- data/app/controllers/jigsaw/slots_controller.rb +54 -0
- data/app/helpers/jigsaw/custom_module_helper.rb +7 -0
- data/app/helpers/jigsaw/pages_helper.rb +7 -0
- data/app/javascript/jigsaw/components/ui/button.js +53 -0
- data/app/javascript/jigsaw/components/ui/dropdown-menu.js +157 -0
- data/app/javascript/jigsaw/components/ui/sheet.js +122 -0
- data/app/javascript/jigsaw/components/ui/utils.js +8 -0
- data/app/javascript/jigsaw/controllers/custom_module_controller.js +75 -0
- data/app/javascript/jigsaw/controllers/custom_page_controller.js +23 -0
- data/app/javascript/jigsaw/controllers/flyout_resize_controller.js +60 -0
- data/app/javascript/jigsaw/controllers/grid_resize_controller.js +228 -0
- data/app/javascript/jigsaw/controllers/layout_editor_controller.js +502 -0
- data/app/javascript/jigsaw/controllers/module_editor_controller.js +146 -0
- data/app/javascript/jigsaw/controllers/monaco_editor_controller.js +49 -0
- data/app/javascript/jigsaw/lib/generate_layout_css.js +52 -0
- data/app/javascript/seeds/blocks/authentication-forms-1/config.json +1 -0
- data/app/javascript/seeds/blocks/authentication-forms-1/data.js +1 -0
- data/app/javascript/seeds/blocks/authentication-forms-1/render.jsx +80 -0
- data/app/javascript/seeds/blocks/authentication-forms-2/config.json +1 -0
- data/app/javascript/seeds/blocks/authentication-forms-2/data.js +1 -0
- data/app/javascript/seeds/blocks/authentication-forms-2/render.jsx +90 -0
- data/app/javascript/seeds/blocks/authentication-forms-3/config.json +1 -0
- data/app/javascript/seeds/blocks/authentication-forms-3/data.js +1 -0
- data/app/javascript/seeds/blocks/authentication-forms-3/render.jsx +94 -0
- data/app/javascript/seeds/blocks/authentication-forms-4/config.json +1 -0
- data/app/javascript/seeds/blocks/authentication-forms-4/data.js +1 -0
- data/app/javascript/seeds/blocks/authentication-forms-4/render.jsx +97 -0
- data/app/javascript/seeds/blocks/authentication-forms-5/config.json +1 -0
- data/app/javascript/seeds/blocks/authentication-forms-5/data.js +1 -0
- data/app/javascript/seeds/blocks/authentication-forms-5/render.jsx +82 -0
- data/app/javascript/seeds/blocks/authentication-forms-6/config.json +1 -0
- data/app/javascript/seeds/blocks/authentication-forms-6/data.js +1 -0
- data/app/javascript/seeds/blocks/authentication-forms-6/render.jsx +34 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-1/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-1/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-1/render.jsx +98 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-10/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-10/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-10/render.jsx +181 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-11/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-11/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-11/render.jsx +184 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-12/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-12/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-12/render.jsx +180 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-13/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-13/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-13/render.jsx +151 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-14/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-14/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-14/render.jsx +169 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-15/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-15/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-15/render.jsx +115 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-16/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-16/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-16/render.jsx +128 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-17/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-17/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-17/render.jsx +84 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-18/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-18/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-18/render.jsx +139 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-19/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-19/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-19/render.jsx +146 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-2/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-2/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-2/render.jsx +163 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-20/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-20/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-20/render.jsx +71 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-3/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-3/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-3/render.jsx +122 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-4/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-4/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-4/render.jsx +136 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-5/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-5/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-5/render.jsx +294 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-6/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-6/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-6/render.jsx +139 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-7/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-7/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-7/render.jsx +219 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-8/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-8/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-8/render.jsx +249 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-9/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-9/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/charts-9/render.jsx +213 -0
- data/app/javascript/seeds/blocks/dashboard-ui/form-layouts-1/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/form-layouts-1/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/form-layouts-1/render.jsx +434 -0
- data/app/javascript/seeds/blocks/dashboard-ui/form-layouts-2/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/form-layouts-2/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/form-layouts-2/render.jsx +332 -0
- data/app/javascript/seeds/blocks/dashboard-ui/modal-dialogs-1/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/modal-dialogs-1/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/modal-dialogs-1/render.jsx +121 -0
- data/app/javascript/seeds/blocks/dashboard-ui/modal-dialogs-2/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/modal-dialogs-2/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/modal-dialogs-2/render.jsx +99 -0
- data/app/javascript/seeds/blocks/dashboard-ui/modal-dialogs-3/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/modal-dialogs-3/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/modal-dialogs-3/render.jsx +176 -0
- data/app/javascript/seeds/blocks/dashboard-ui/page-layouts-1/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/page-layouts-1/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/page-layouts-1/render.jsx +20 -0
- data/app/javascript/seeds/blocks/dashboard-ui/page-layouts-2/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/page-layouts-2/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/page-layouts-2/render.jsx +22 -0
- data/app/javascript/seeds/blocks/dashboard-ui/page-layouts-3/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/page-layouts-3/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/page-layouts-3/render.jsx +22 -0
- data/app/javascript/seeds/blocks/dashboard-ui/sidebar-layouts-1/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/sidebar-layouts-1/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/sidebar-layouts-1/render.jsx +20 -0
- data/app/javascript/seeds/blocks/dashboard-ui/sign-in-forms-1/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/sign-in-forms-1/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/sign-in-forms-1/render.jsx +98 -0
- data/app/javascript/seeds/blocks/dashboard-ui/sign-in-forms-2/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/sign-in-forms-2/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/sign-in-forms-2/render.jsx +116 -0
- data/app/javascript/seeds/blocks/dashboard-ui/sign-in-forms-3/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/sign-in-forms-3/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/sign-in-forms-3/render.jsx +104 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-1/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-1/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-1/render.jsx +147 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-2/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-2/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-2/render.jsx +120 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-3/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-3/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-3/render.jsx +62 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-4/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-4/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-4/render.jsx +49 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-5/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-5/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-5/render.jsx +106 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-6/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-6/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-6/render.jsx +79 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-7/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-7/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-7/render.jsx +57 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-8/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-8/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/stat-cards-8/render.jsx +234 -0
- data/app/javascript/seeds/blocks/dashboard-ui/tables-1/config.json +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/tables-1/data.js +1 -0
- data/app/javascript/seeds/blocks/dashboard-ui/tables-1/render.jsx +295 -0
- data/app/javascript/seeds/blocks/datepicker-1/config.json +1 -0
- data/app/javascript/seeds/blocks/datepicker-1/data.js +1 -0
- data/app/javascript/seeds/blocks/datepicker-1/render.jsx +14 -0
- data/app/javascript/seeds/blocks/datepicker-2/config.json +1 -0
- data/app/javascript/seeds/blocks/datepicker-2/data.js +1 -0
- data/app/javascript/seeds/blocks/datepicker-2/render.jsx +29 -0
- data/app/javascript/seeds/blocks/datepicker-3/config.json +1 -0
- data/app/javascript/seeds/blocks/datepicker-3/data.js +1 -0
- data/app/javascript/seeds/blocks/datepicker-3/render.jsx +163 -0
- data/app/javascript/seeds/blocks/datepicker-4/config.json +1 -0
- data/app/javascript/seeds/blocks/datepicker-4/data.js +1 -0
- data/app/javascript/seeds/blocks/datepicker-4/render.jsx +192 -0
- data/app/javascript/seeds/blocks/ecommerce/checkout-page-1/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/checkout-page-1/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/checkout-page-1/render.jsx +723 -0
- data/app/javascript/seeds/blocks/ecommerce/checkout-page-2/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/checkout-page-2/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/checkout-page-2/render.jsx +508 -0
- data/app/javascript/seeds/blocks/ecommerce/checkout-page-3/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/checkout-page-3/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/checkout-page-3/render.jsx +632 -0
- data/app/javascript/seeds/blocks/ecommerce/checkout-page-4/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/checkout-page-4/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/checkout-page-4/render.jsx +1013 -0
- data/app/javascript/seeds/blocks/ecommerce/checkout-page-5/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/checkout-page-5/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/checkout-page-5/render.jsx +520 -0
- data/app/javascript/seeds/blocks/ecommerce/product-category-1/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-category-1/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-category-1/render.jsx +121 -0
- data/app/javascript/seeds/blocks/ecommerce/product-category-2/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-category-2/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-category-2/render.jsx +126 -0
- data/app/javascript/seeds/blocks/ecommerce/product-category-3/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-category-3/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-category-3/render.jsx +81 -0
- data/app/javascript/seeds/blocks/ecommerce/product-category-4/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-category-4/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-category-4/render.jsx +85 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-1/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-1/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-1/render.jsx +80 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-2/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-2/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-2/render.jsx +226 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-3/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-3/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-3/render.jsx +315 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-4/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-4/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-4/render.jsx +269 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-5/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-5/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-5/render.jsx +265 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-6/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-6/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-6/render.jsx +477 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-7/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-7/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-detail-7/render.jsx +405 -0
- data/app/javascript/seeds/blocks/ecommerce/product-features-1/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-features-1/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-features-1/render.jsx +71 -0
- data/app/javascript/seeds/blocks/ecommerce/product-features-2/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-features-2/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-features-2/render.jsx +135 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-1/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-1/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-1/render.jsx +87 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-2/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-2/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-2/render.jsx +151 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-3/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-3/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-3/render.jsx +313 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-4/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-4/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-4/render.jsx +223 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-5/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-5/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-5/render.jsx +200 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-6/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-6/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-6/render.jsx +177 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-7/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-7/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-7/render.jsx +175 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-8/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-8/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-list-8/render.jsx +231 -0
- data/app/javascript/seeds/blocks/ecommerce/product-quickview-1/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-quickview-1/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-quickview-1/render.jsx +64 -0
- data/app/javascript/seeds/blocks/ecommerce/product-quickview-2/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-quickview-2/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/product-quickview-2/render.jsx +62 -0
- data/app/javascript/seeds/blocks/ecommerce/promo-sections-1/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/promo-sections-1/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/promo-sections-1/render.jsx +75 -0
- data/app/javascript/seeds/blocks/ecommerce/shopping-cart-1/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/shopping-cart-1/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/shopping-cart-1/render.jsx +197 -0
- data/app/javascript/seeds/blocks/ecommerce/shopping-cart-2/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/shopping-cart-2/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/shopping-cart-2/render.jsx +143 -0
- data/app/javascript/seeds/blocks/ecommerce/shopping-cart-3/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/shopping-cart-3/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/shopping-cart-3/render.jsx +225 -0
- data/app/javascript/seeds/blocks/ecommerce/shopping-cart-4/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/shopping-cart-4/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/shopping-cart-4/render.jsx +93 -0
- data/app/javascript/seeds/blocks/ecommerce/store-navigation-1/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce/store-navigation-1/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce/store-navigation-1/render.jsx +290 -0
- data/app/javascript/seeds/blocks/ecommerce-charts-1/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce-charts-1/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce-charts-1/render.jsx +86 -0
- data/app/javascript/seeds/blocks/ecommerce-charts-2/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce-charts-2/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce-charts-2/render.jsx +119 -0
- data/app/javascript/seeds/blocks/ecommerce-charts-3/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce-charts-3/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce-charts-3/render.jsx +97 -0
- data/app/javascript/seeds/blocks/ecommerce-charts-4/config.json +1 -0
- data/app/javascript/seeds/blocks/ecommerce-charts-4/data.js +1 -0
- data/app/javascript/seeds/blocks/ecommerce-charts-4/render.jsx +108 -0
- data/app/javascript/seeds/blocks/line-charts-1/config.json +1 -0
- data/app/javascript/seeds/blocks/line-charts-1/data.js +1 -0
- data/app/javascript/seeds/blocks/line-charts-1/render.jsx +230 -0
- data/app/javascript/seeds/blocks/line-charts-2/config.json +1 -0
- data/app/javascript/seeds/blocks/line-charts-2/data.js +1 -0
- data/app/javascript/seeds/blocks/line-charts-2/render.jsx +118 -0
- data/app/javascript/seeds/blocks/line-charts-3/config.json +1 -0
- data/app/javascript/seeds/blocks/line-charts-3/data.js +1 -0
- data/app/javascript/seeds/blocks/line-charts-3/render.jsx +134 -0
- data/app/javascript/seeds/blocks/line-charts-4/config.json +1 -0
- data/app/javascript/seeds/blocks/line-charts-4/data.js +1 -0
- data/app/javascript/seeds/blocks/line-charts-4/render.jsx +115 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-1/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-1/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-1/render.jsx +31 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-10/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-10/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-10/render.jsx +76 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-2/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-2/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-2/render.jsx +78 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-3/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-3/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-3/render.jsx +50 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-4/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-4/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-4/render.jsx +24 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-5/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-5/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-5/render.jsx +66 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-6/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-6/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-6/render.jsx +69 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-7/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-7/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-7/render.jsx +43 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-8/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-8/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-8/render.jsx +63 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-9/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-9/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/call-to-action-9/render.jsx +27 -0
- data/app/javascript/seeds/blocks/marketing/changelog-1/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/changelog-1/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/changelog-1/render.jsx +106 -0
- data/app/javascript/seeds/blocks/marketing/changelog-2/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/changelog-2/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/changelog-2/render.jsx +157 -0
- data/app/javascript/seeds/blocks/marketing/changelog-3/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/changelog-3/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/changelog-3/render.jsx +204 -0
- data/app/javascript/seeds/blocks/marketing/changelog-4/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/changelog-4/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/changelog-4/render.jsx +199 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-1/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-1/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-1/render.jsx +155 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-10/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-10/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-10/render.jsx +83 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-11/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-11/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-11/render.jsx +338 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-12/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-12/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-12/render.jsx +96 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-13/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-13/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-13/render.jsx +77 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-2/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-2/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-2/render.jsx +117 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-3/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-3/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-3/render.jsx +105 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-4/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-4/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-4/render.jsx +127 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-5/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-5/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-5/render.jsx +78 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-6/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-6/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-6/render.jsx +79 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-7/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-7/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-7/render.jsx +138 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-8/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-8/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-8/render.jsx +215 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-9/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-9/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/feature-section-9/render.jsx +81 -0
- data/app/javascript/seeds/blocks/marketing/footers-1/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/footers-1/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/footers-1/render.jsx +106 -0
- data/app/javascript/seeds/blocks/marketing/footers-2/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/footers-2/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/footers-2/render.jsx +76 -0
- data/app/javascript/seeds/blocks/marketing/footers-3/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/footers-3/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/footers-3/render.jsx +160 -0
- data/app/javascript/seeds/blocks/marketing/footers-4/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/footers-4/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/footers-4/render.jsx +167 -0
- data/app/javascript/seeds/blocks/marketing/footers-5/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/footers-5/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/footers-5/render.jsx +223 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-1/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-1/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-1/render.jsx +49 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-10/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-10/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-10/render.jsx +147 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-11/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-11/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-11/render.jsx +218 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-12/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-12/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-12/render.jsx +287 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-13/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-13/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-13/render.jsx +113 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-14/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-14/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-14/render.jsx +249 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-2/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-2/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-2/render.jsx +94 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-3/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-3/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-3/render.jsx +51 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-4/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-4/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-4/render.jsx +153 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-5/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-5/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-5/render.jsx +210 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-6/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-6/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-6/render.jsx +191 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-7/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-7/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-7/render.jsx +306 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-8/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-8/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-8/render.jsx +103 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-9/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-9/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/hero-section-9/render.jsx +354 -0
- data/app/javascript/seeds/blocks/marketing/integrations-1/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/integrations-1/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/integrations-1/render.jsx +483 -0
- data/app/javascript/seeds/blocks/marketing/integrations-2/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/integrations-2/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/integrations-2/render.jsx +468 -0
- data/app/javascript/seeds/blocks/marketing/integrations-3/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/integrations-3/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/integrations-3/render.jsx +441 -0
- data/app/javascript/seeds/blocks/marketing/integrations-4/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/integrations-4/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/integrations-4/render.jsx +433 -0
- data/app/javascript/seeds/blocks/marketing/integrations-5/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/integrations-5/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/integrations-5/render.jsx +477 -0
- data/app/javascript/seeds/blocks/marketing/integrations-6/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/integrations-6/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/integrations-6/render.jsx +468 -0
- data/app/javascript/seeds/blocks/marketing/navbars-1/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/navbars-1/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/navbars-1/render.jsx +133 -0
- data/app/javascript/seeds/blocks/marketing/navbars-2/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/navbars-2/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/navbars-2/render.jsx +95 -0
- data/app/javascript/seeds/blocks/marketing/navbars-3/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/navbars-3/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/navbars-3/render.jsx +246 -0
- data/app/javascript/seeds/blocks/marketing/newsletter-sections-1/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/newsletter-sections-1/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/newsletter-sections-1/render.jsx +45 -0
- data/app/javascript/seeds/blocks/marketing/newsletter-sections-2/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/newsletter-sections-2/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/newsletter-sections-2/render.jsx +55 -0
- data/app/javascript/seeds/blocks/marketing/newsletter-sections-3/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/newsletter-sections-3/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/newsletter-sections-3/render.jsx +29 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-1/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-1/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-1/render.jsx +110 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-2/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-2/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-2/render.jsx +71 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-3/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-3/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-3/render.jsx +124 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-4/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-4/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-4/render.jsx +205 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-5/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-5/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-5/render.jsx +143 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-6/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-6/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-6/render.jsx +195 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-7/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-7/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/pricing-table-7/render.jsx +351 -0
- data/app/javascript/seeds/blocks/marketing/team-sections-1/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/team-sections-1/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/team-sections-1/render.jsx +71 -0
- data/app/javascript/seeds/blocks/marketing/team-sections-2/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/team-sections-2/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/team-sections-2/render.jsx +125 -0
- data/app/javascript/seeds/blocks/marketing/team-sections-3/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/team-sections-3/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/team-sections-3/render.jsx +136 -0
- data/app/javascript/seeds/blocks/marketing/team-sections-4/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/team-sections-4/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/team-sections-4/render.jsx +107 -0
- data/app/javascript/seeds/blocks/marketing/team-sections-5/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/team-sections-5/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/team-sections-5/render.jsx +124 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-1/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-1/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-1/render.jsx +112 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-10/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-10/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-10/render.jsx +106 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-11/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-11/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-11/render.jsx +79 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-12/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-12/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-12/render.jsx +173 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-13/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-13/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-13/render.jsx +121 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-14/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-14/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-14/render.jsx +158 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-15/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-15/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-15/render.jsx +109 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-2/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-2/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-2/render.jsx +81 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-3/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-3/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-3/render.jsx +149 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-4/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-4/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-4/render.jsx +148 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-5/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-5/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-5/render.jsx +153 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-6/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-6/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-6/render.jsx +155 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-7/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-7/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-7/render.jsx +102 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-8/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-8/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-8/render.jsx +161 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-9/config.json +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-9/data.js +1 -0
- data/app/javascript/seeds/blocks/marketing/testimonials-9/render.jsx +195 -0
- data/app/javascript/seeds/blocks/project-management-charts-1/config.json +1 -0
- data/app/javascript/seeds/blocks/project-management-charts-1/data.js +1 -0
- data/app/javascript/seeds/blocks/project-management-charts-1/render.jsx +172 -0
- data/app/javascript/seeds/blocks/project-management-charts-2/config.json +1 -0
- data/app/javascript/seeds/blocks/project-management-charts-2/data.js +1 -0
- data/app/javascript/seeds/blocks/project-management-charts-2/render.jsx +147 -0
- data/app/javascript/seeds/blocks/switch-cards-1/config.json +1 -0
- data/app/javascript/seeds/blocks/switch-cards-1/data.js +1 -0
- data/app/javascript/seeds/blocks/switch-cards-1/render.jsx +116 -0
- data/app/javascript/seeds/blocks/theme-switchers-1/config.json +1 -0
- data/app/javascript/seeds/blocks/theme-switchers-1/data.js +1 -0
- data/app/javascript/seeds/blocks/theme-switchers-1/render.jsx +22 -0
- data/app/javascript/seeds/blocks/theme-switchers-2/config.json +1 -0
- data/app/javascript/seeds/blocks/theme-switchers-2/data.js +1 -0
- data/app/javascript/seeds/blocks/theme-switchers-2/render.jsx +51 -0
- data/app/javascript/seeds/blocks/theme-switchers-3/config.json +1 -0
- data/app/javascript/seeds/blocks/theme-switchers-3/data.js +1 -0
- data/app/javascript/seeds/blocks/theme-switchers-3/render.jsx +37 -0
- data/app/javascript/seeds/examples/blog-cards-1/config.json +1 -0
- data/app/javascript/seeds/examples/blog-cards-1/data.js +1 -0
- data/app/javascript/seeds/examples/blog-cards-1/render.jsx +81 -0
- data/app/javascript/seeds/examples/blog-cards-2/config.json +1 -0
- data/app/javascript/seeds/examples/blog-cards-2/data.js +1 -0
- data/app/javascript/seeds/examples/blog-cards-2/render.jsx +78 -0
- data/app/javascript/seeds/examples/blog-cards-3/config.json +1 -0
- data/app/javascript/seeds/examples/blog-cards-3/data.js +1 -0
- data/app/javascript/seeds/examples/blog-cards-3/render.jsx +80 -0
- data/app/javascript/seeds/examples/blog-cards-4/config.json +1 -0
- data/app/javascript/seeds/examples/blog-cards-4/data.js +1 -0
- data/app/javascript/seeds/examples/blog-cards-4/render.jsx +32 -0
- data/app/javascript/seeds/examples/chat-bubbles-1/config.json +1 -0
- data/app/javascript/seeds/examples/chat-bubbles-1/data.js +1 -0
- data/app/javascript/seeds/examples/chat-bubbles-1/render.jsx +154 -0
- data/app/javascript/seeds/examples/chat-bubbles-2/config.json +1 -0
- data/app/javascript/seeds/examples/chat-bubbles-2/data.js +1 -0
- data/app/javascript/seeds/examples/chat-bubbles-2/render.jsx +88 -0
- data/app/javascript/seeds/examples/chat-bubbles-3/config.json +1 -0
- data/app/javascript/seeds/examples/chat-bubbles-3/data.js +1 -0
- data/app/javascript/seeds/examples/chat-bubbles-3/render.jsx +90 -0
- data/app/javascript/seeds/examples/chat-bubbles-4/config.json +1 -0
- data/app/javascript/seeds/examples/chat-bubbles-4/data.js +1 -0
- data/app/javascript/seeds/examples/chat-bubbles-4/render.jsx +169 -0
- data/app/javascript/seeds/examples/payment-methods-1/config.json +1 -0
- data/app/javascript/seeds/examples/payment-methods-1/data.js +1 -0
- data/app/javascript/seeds/examples/payment-methods-1/render.jsx +128 -0
- data/app/javascript/seeds/examples/payment-methods-2/config.json +1 -0
- data/app/javascript/seeds/examples/payment-methods-2/data.js +1 -0
- data/app/javascript/seeds/examples/payment-methods-2/render.jsx +80 -0
- data/app/javascript/seeds/examples/payment-methods-3/config.json +1 -0
- data/app/javascript/seeds/examples/payment-methods-3/data.js +1 -0
- data/app/javascript/seeds/examples/payment-methods-3/render.jsx +1 -0
- data/app/javascript/seeds/examples/product-cards-1/config.json +1 -0
- data/app/javascript/seeds/examples/product-cards-1/data.js +1 -0
- data/app/javascript/seeds/examples/product-cards-1/render.jsx +48 -0
- data/app/javascript/seeds/examples/product-cards-2/config.json +1 -0
- data/app/javascript/seeds/examples/product-cards-2/data.js +1 -0
- data/app/javascript/seeds/examples/product-cards-2/render.jsx +53 -0
- data/app/javascript/seeds/examples/product-cards-3/config.json +1 -0
- data/app/javascript/seeds/examples/product-cards-3/data.js +1 -0
- data/app/javascript/seeds/examples/product-cards-3/render.jsx +102 -0
- data/app/javascript/seeds/examples/product-cards-4/config.json +1 -0
- data/app/javascript/seeds/examples/product-cards-4/data.js +1 -0
- data/app/javascript/seeds/examples/product-cards-4/render.jsx +40 -0
- data/app/javascript/seeds/examples/product-cards-5/config.json +1 -0
- data/app/javascript/seeds/examples/product-cards-5/data.js +1 -0
- data/app/javascript/seeds/examples/product-cards-5/render.jsx +79 -0
- data/app/javascript/seeds/examples/product-cards-6/config.json +1 -0
- data/app/javascript/seeds/examples/product-cards-6/data.js +1 -0
- data/app/javascript/seeds/examples/product-cards-6/render.jsx +180 -0
- data/app/javascript/seeds/examples/product-cards-7/config.json +1 -0
- data/app/javascript/seeds/examples/product-cards-7/data.js +1 -0
- data/app/javascript/seeds/examples/product-cards-7/render.jsx +181 -0
- data/app/javascript/seeds/examples/product-list-1/config.json +1 -0
- data/app/javascript/seeds/examples/product-list-1/data.js +1 -0
- data/app/javascript/seeds/examples/product-list-1/render.jsx +114 -0
- data/app/javascript/seeds/examples/review-cards-1/config.json +1 -0
- data/app/javascript/seeds/examples/review-cards-1/data.js +1 -0
- data/app/javascript/seeds/examples/review-cards-1/render.jsx +54 -0
- data/app/javascript/seeds/examples/review-cards-2/config.json +1 -0
- data/app/javascript/seeds/examples/review-cards-2/data.js +1 -0
- data/app/javascript/seeds/examples/review-cards-2/render.jsx +68 -0
- data/app/javascript/seeds/examples/review-cards-3/config.json +1 -0
- data/app/javascript/seeds/examples/review-cards-3/data.js +1 -0
- data/app/javascript/seeds/examples/review-cards-3/render.jsx +101 -0
- data/app/javascript/seeds/examples/social-media-post-1/config.json +1 -0
- data/app/javascript/seeds/examples/social-media-post-1/data.js +1 -0
- data/app/javascript/seeds/examples/social-media-post-1/render.jsx +162 -0
- data/app/javascript/seeds/examples/social-media-post-2/config.json +1 -0
- data/app/javascript/seeds/examples/social-media-post-2/data.js +1 -0
- data/app/javascript/seeds/examples/social-media-post-2/render.jsx +172 -0
- data/app/javascript/seeds/examples/social-media-post-3/config.json +1 -0
- data/app/javascript/seeds/examples/social-media-post-3/data.js +1 -0
- data/app/javascript/seeds/examples/social-media-post-3/render.jsx +270 -0
- data/app/javascript/seeds/examples/social-media-post-4/config.json +1 -0
- data/app/javascript/seeds/examples/social-media-post-4/data.js +1 -0
- data/app/javascript/seeds/examples/social-media-post-4/render.jsx +188 -0
- data/app/javascript/seeds/examples/stat-cards-1/config.json +1 -0
- data/app/javascript/seeds/examples/stat-cards-1/data.js +1 -0
- data/app/javascript/seeds/examples/stat-cards-1/render.jsx +31 -0
- data/app/javascript/seeds/examples/stat-cards-2/config.json +1 -0
- data/app/javascript/seeds/examples/stat-cards-2/data.js +1 -0
- data/app/javascript/seeds/examples/stat-cards-2/render.jsx +42 -0
- data/app/javascript/seeds/examples/stat-cards-3/config.json +1 -0
- data/app/javascript/seeds/examples/stat-cards-3/data.js +1 -0
- data/app/javascript/seeds/examples/stat-cards-3/render.jsx +114 -0
- data/app/javascript/seeds/examples/stat-cards-4/config.json +1 -0
- data/app/javascript/seeds/examples/stat-cards-4/data.js +1 -0
- data/app/javascript/seeds/examples/stat-cards-4/render.jsx +117 -0
- data/app/javascript/seeds/examples/task-cards-1/config.json +1 -0
- data/app/javascript/seeds/examples/task-cards-1/data.js +1 -0
- data/app/javascript/seeds/examples/task-cards-1/render.jsx +133 -0
- data/app/javascript/seeds/examples/task-cards-2/config.json +1 -0
- data/app/javascript/seeds/examples/task-cards-2/data.js +1 -0
- data/app/javascript/seeds/examples/task-cards-2/render.jsx +122 -0
- data/app/javascript/seeds/examples/welcome-cards-1/config.json +1 -0
- data/app/javascript/seeds/examples/welcome-cards-1/data.js +1 -0
- data/app/javascript/seeds/examples/welcome-cards-1/render.jsx +40 -0
- data/app/javascript/seeds/examples/welcome-cards-2/config.json +1 -0
- data/app/javascript/seeds/examples/welcome-cards-2/data.js +1 -0
- data/app/javascript/seeds/examples/welcome-cards-2/render.jsx +58 -0
- data/app/javascript/seeds/examples/welcome-cards-3/config.json +1 -0
- data/app/javascript/seeds/examples/welcome-cards-3/data.js +1 -0
- data/app/javascript/seeds/examples/welcome-cards-3/render.jsx +91 -0
- data/app/javascript/seeds/ide-editor/config.json +4 -0
- data/app/javascript/seeds/ide-editor/data.js +16 -0
- data/app/javascript/seeds/ide-editor/render.jsx +132 -0
- data/app/javascript/seeds/ide-file-tree/config.json +4 -0
- data/app/javascript/seeds/ide-file-tree/data.js +50 -0
- data/app/javascript/seeds/ide-file-tree/render.jsx +426 -0
- data/app/javascript/seeds/ide-preview/config.json +4 -0
- data/app/javascript/seeds/ide-preview/data.js +4 -0
- data/app/javascript/seeds/ide-preview/render.jsx +49 -0
- data/app/javascript/seeds/ide-terminal/config.json +4 -0
- data/app/javascript/seeds/ide-terminal/data.js +4 -0
- data/app/javascript/seeds/ide-terminal/render.jsx +247 -0
- data/app/javascript/seeds/main-menu/config.json +9 -0
- data/app/javascript/seeds/main-menu/data.js +6 -0
- data/app/javascript/seeds/main-menu/render.jsx +70 -0
- data/app/models/concerns/jigsaw/grid_configurable.rb +89 -0
- data/app/models/concerns/jigsaw/slot_compilable.rb +69 -0
- data/app/models/jigsaw/application_record.rb +5 -0
- data/app/models/jigsaw/layout.rb +61 -0
- data/app/models/jigsaw/layout_template.rb +16 -0
- data/app/models/jigsaw/page.rb +35 -0
- data/app/models/jigsaw/schemas/layout_config.json +54 -0
- data/app/models/jigsaw/slot.rb +109 -0
- data/app/models/jigsaw/slot_template.rb +29 -0
- data/app/views/jigsaw/dashboard/index.html.ruby +23 -0
- data/app/views/jigsaw/layout_templates/_form.html.ruby +69 -0
- data/app/views/jigsaw/layout_templates/edit.html.ruby +72 -0
- data/app/views/jigsaw/layout_templates/index.html.ruby +48 -0
- data/app/views/jigsaw/layout_templates/new.html.ruby +19 -0
- data/app/views/jigsaw/pages/_form.html.ruby +75 -0
- data/app/views/jigsaw/pages/edit.html.ruby +104 -0
- data/app/views/jigsaw/pages/index.html.ruby +65 -0
- data/app/views/jigsaw/pages/new.html.ruby +34 -0
- data/app/views/jigsaw/pages/show.html.ruby +28 -0
- data/app/views/jigsaw/slot_templates/edit.html.ruby +42 -0
- data/app/views/jigsaw/slot_templates/index.html.ruby +73 -0
- data/app/views/jigsaw/slot_templates/new.html.ruby +21 -0
- data/app/views/jigsaw/slot_templates/show.html.ruby +38 -0
- data/app/views/jigsaw/slots/_shared/_menu.html.ruby +7 -0
- data/app/views/jigsaw/slots/edit.html.ruby +52 -0
- data/app/views/jigsaw/slots/index.html.ruby +17 -0
- data/app/views/layouts/jigsaw/application.html.ruby +31 -0
- data/config/importmap.rb +35 -0
- data/config/routes.rb +27 -0
- data/db/migrate/20260505185636_create_jigsaw_custom_pages.rb +12 -0
- data/db/migrate/20260505185637_create_jigsaw_data_functions.rb +15 -0
- data/db/migrate/20260505185638_create_jigsaw_render_functions.rb +15 -0
- data/db/migrate/20260505185639_create_jigsaw_page_modules.rb +15 -0
- data/db/migrate/20260505185640_create_jigsaw_layouts.rb +14 -0
- data/db/migrate/20260506000001_remove_slot_from_jigsaw_page_modules.rb +5 -0
- data/db/migrate/20260506000002_make_page_module_functions_optional.rb +6 -0
- data/db/migrate/20260506000003_inline_functions_on_page_modules.rb +55 -0
- data/db/migrate/20260507000001_move_layout_fk_to_layouts_table.rb +30 -0
- data/db/migrate/20260507000002_move_page_modules_to_layouts.rb +30 -0
- data/db/migrate/20260508000001_rename_custom_pages_to_pages.rb +18 -0
- data/db/migrate/20260508000002_rename_page_modules_to_slots.rb +7 -0
- data/db/migrate/20260509000001_create_jigsaw_templates.rb +13 -0
- data/db/migrate/20260509000002_create_jigsaw_template_layouts.rb +12 -0
- data/db/migrate/20260509000003_create_jigsaw_template_slots.rb +22 -0
- data/db/migrate/20260509000004_add_template_linking_to_layouts.rb +6 -0
- data/db/migrate/20260509000005_add_linked_to_template_to_slots.rb +5 -0
- data/db/migrate/20260510000001_refactor_templates_to_layout_and_slot_templates.rb +104 -0
- data/db/seeds/01_pages.rb +69 -0
- data/db/seeds/02_main_menu_slot.rb +15 -0
- data/db/seeds/03_webcontainer_ide.rb +51 -0
- data/db/seeds.rb +120 -0
- data/lib/jigsaw/engine.rb +29 -0
- data/lib/jigsaw/grid_layout_generator.rb +55 -0
- data/lib/jigsaw/jsx_compiler.rb +21 -0
- data/lib/jigsaw/version.rb +3 -0
- data/lib/jigsaw/version.rb.erb +3 -0
- data/lib/jigsaw.rb +11 -0
- data/lib/jigsaw_engine.rb +4 -0
- data/lib/tasks/kube_tasks.rake +4 -0
- data/lib/tasks/shadcn.rake +171 -0
- metadata +1033 -0
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { motion } from "motion/react";
|
|
4
|
+
import { Button } from "@/components/ui/button";
|
|
5
|
+
import { Badge } from "@/components/ui/badge";
|
|
6
|
+
import {
|
|
7
|
+
Sheet,
|
|
8
|
+
SheetContent,
|
|
9
|
+
SheetHeader,
|
|
10
|
+
SheetTitle,
|
|
11
|
+
SheetTrigger,
|
|
12
|
+
} from "@/components/ui/sheet";
|
|
13
|
+
import { ArrowRight, Menu } from "lucide-react";
|
|
14
|
+
import Image from "next/image";
|
|
15
|
+
import Link from "next/link";
|
|
16
|
+
|
|
17
|
+
const IMAGES = [
|
|
18
|
+
"https://images.unsplash.com/photo-1500648767791-00dcc994a43e?q=80&w=600&auto=format&fit=crop",
|
|
19
|
+
"https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?q=80&w=600&auto=format&fit=crop",
|
|
20
|
+
"https://images.unsplash.com/photo-1519085360753-af0119f7cbe7?q=80&w=600&auto=format&fit=crop",
|
|
21
|
+
"https://images.unsplash.com/photo-1438761681033-6461ffad8d80?q=80&w=600&auto=format&fit=crop",
|
|
22
|
+
"https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?q=80&w=600&auto=format&fit=crop",
|
|
23
|
+
"https://images.unsplash.com/photo-1534528741775-53994a69daeb?q=80&w=600&auto=format&fit=crop",
|
|
24
|
+
"https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?q=80&w=600&auto=format&fit=crop",
|
|
25
|
+
"https://images.unsplash.com/photo-1531746020798-e6953c6e8e04?q=80&w=600&auto=format&fit=crop",
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
const COPIES = 4;
|
|
29
|
+
|
|
30
|
+
const NAV_ITEMS = [
|
|
31
|
+
{ label: "Products", href: "#" },
|
|
32
|
+
{ label: "Stories", href: "#" },
|
|
33
|
+
{ label: "Pricing", href: "#" },
|
|
34
|
+
{ label: "Docs", href: "#" },
|
|
35
|
+
];
|
|
36
|
+
|
|
37
|
+
export default function HeroSection() {
|
|
38
|
+
return (
|
|
39
|
+
<main
|
|
40
|
+
className="relative w-full overflow-hidden"
|
|
41
|
+
style={
|
|
42
|
+
{
|
|
43
|
+
"--_accent": "#523f71",
|
|
44
|
+
"--_base": "color-mix(in srgb, var(--_accent) 25%, black)",
|
|
45
|
+
"--_gradient-blend-mode": "normal",
|
|
46
|
+
"--_gradient-blur": "30px",
|
|
47
|
+
background:
|
|
48
|
+
"radial-gradient(at 88.9% 55.5%, var(--_accent) 0px, transparent 50%), radial-gradient(at 19.3% 21.6%, var(--_accent) 0px, transparent 50%) var(--_base)",
|
|
49
|
+
mixBlendMode:
|
|
50
|
+
"var(--_gradient-blend-mode)" as React.CSSProperties["mixBlendMode"],
|
|
51
|
+
} as React.CSSProperties
|
|
52
|
+
}
|
|
53
|
+
>
|
|
54
|
+
<header className="p-4">
|
|
55
|
+
<div
|
|
56
|
+
className="relative z-10 mx-auto grid max-w-7xl grid-cols-2 items-center justify-between rounded-2xl border border-white/10 bg-white/5 px-4 py-3 lg:grid-cols-3"
|
|
57
|
+
style={{
|
|
58
|
+
backdropFilter:
|
|
59
|
+
"blur(var(--_gradient-blur)) contrast(100%) brightness(100%)",
|
|
60
|
+
WebkitBackdropFilter:
|
|
61
|
+
"blur(var(--_gradient-blur)) contrast(100%) brightness(100%)",
|
|
62
|
+
}}
|
|
63
|
+
>
|
|
64
|
+
<Link href="#" className="flex shrink-0 items-center gap-2">
|
|
65
|
+
<Image
|
|
66
|
+
src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMCIgd2lkdGg9IjMwMC4wMDAwMDBwdCIgaGVpZ2h0PSIzMDAuMDAwMDAwcHQiIHZpZXdCb3g9IjAgMCAzMDAuMDAwMDAwIDMwMC4wMDAwMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgoKPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsMzAwLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTAgMTUwMCBsMCAtMTUwMCAxNTAwIDAgMTUwMCAwIDAgMTUwMCAwIDE1MDAgLTE1MDAgMCAtMTUwMCAwIDAgLTE1MDB6IG02NDcgMTA2MCBjMzEgLTEyIDE4ODIgLTE4NTYgMTkxNCAtMTkwOCA1NCAtODUgMSAtMjA5IC05NyAtMjI4IC05MSAtMTcgLTMwIC03MSAtMTA1NyA5NTQgLTUzNyA1MzcgLTk1NCA5NjIgLTk2MyA5ODEgLTU2IDExNyA3NiAyNDggMjAzIDIwMXogbTg0NSAtMyBjMTUgLTcgMjYzIC0yNDcgNTUyIC01MzQgNDUxIC00NDkgNTI3IC01MjggNTM2IC01NjMgMTYgLTU4IC0xIC0xMTAgLTUwIC0xNTQgLTM1IC0zMSAtNDcgLTM2IC05MSAtMzYgLTI3IDAgLTYyIDYgLTc3IDE0IC0xNSA4IC0yNjMgMjUxIC01NTEgNTQwIGwtNTI1IDUyNSAtNCA1OCBjLTMgNDkgMCA2NCAyMCA5MyA0MSA2MiAxMjQgODYgMTkwIDU3eiBtODU2IC0xIGMxNSAtOCA3MCAtNTkgMTIzIC0xMTMgMTE2IC0xMTggMTMzIC0xNTQgMTA0IC0yMjkgLTMxIC04MCAtMTM2IC0xMjggLTIwMyAtOTEgLTQ5IDI4IC0yMTIgMTkxIC0yMzMgMjMzIC0zNCA3MiAtOCAxNTEgNjUgMTk1IDM3IDIyIDEwNiAyNSAxNDQgNXogbS0xNjgzIC04NTcgYzE3IC0xMCAyNjIgLTI1MSA1NDcgLTUzNiA1NDggLTU1MCA1MzkgLTUzOSA1MjQgLTYxOCAtMTggLTk2IC0xNDEgLTE1NSAtMjIxIC0xMDcgLTE2IDExIC0yNjUgMjUyIC01NTIgNTM4IC00NjUgNDYxIC01MjMgNTIzIC01MjkgNTU3IC0xNCA4MiAyNyAxNTYgMTAxIDE4MiA0NSAxNiA4NiAxMSAxMzAgLTE2eiBtLTI4IC04MzAgYzMyIC0xMiAyMTggLTE5MSAyMzkgLTIzMSAzMSAtNTkgOSAtMTQ2IC00NyAtMTg3IC0zNSAtMjYgLTkzIC0zNyAtMTM2IC0yNiAtMzAgNyAtMjI2IDE5NCAtMjQ5IDIzNyAtNjAgMTE1IDY5IDI1NCAxOTMgMjA3eiIvPgo8L2c+Cjwvc3ZnPg=="
|
|
67
|
+
alt="Logo"
|
|
68
|
+
className="rounded-sm invert"
|
|
69
|
+
width={28}
|
|
70
|
+
height={28}
|
|
71
|
+
/>
|
|
72
|
+
</Link>
|
|
73
|
+
|
|
74
|
+
<nav className="hidden items-center gap-8 lg:flex">
|
|
75
|
+
{NAV_ITEMS.map((item) => (
|
|
76
|
+
<Link
|
|
77
|
+
key={item.label}
|
|
78
|
+
href={item.href}
|
|
79
|
+
className="text-sm font-medium text-white/80 transition-colors hover:text-white"
|
|
80
|
+
>
|
|
81
|
+
{item.label}
|
|
82
|
+
</Link>
|
|
83
|
+
))}
|
|
84
|
+
</nav>
|
|
85
|
+
|
|
86
|
+
<div className="flex items-center justify-end gap-3">
|
|
87
|
+
<Button
|
|
88
|
+
variant="ghost"
|
|
89
|
+
size="lg"
|
|
90
|
+
className="dark rounded-full border border-white/20 text-white hover:bg-white/10"
|
|
91
|
+
>
|
|
92
|
+
Contact
|
|
93
|
+
</Button>
|
|
94
|
+
<Button
|
|
95
|
+
size="lg"
|
|
96
|
+
className="rounded-full bg-white text-black"
|
|
97
|
+
variant="secondary"
|
|
98
|
+
>
|
|
99
|
+
Get Started
|
|
100
|
+
</Button>
|
|
101
|
+
<Sheet>
|
|
102
|
+
<SheetTrigger asChild>
|
|
103
|
+
<Button
|
|
104
|
+
variant="ghost"
|
|
105
|
+
size="icon"
|
|
106
|
+
className="text-white lg:hidden"
|
|
107
|
+
>
|
|
108
|
+
<Menu className="size-5" />
|
|
109
|
+
</Button>
|
|
110
|
+
</SheetTrigger>
|
|
111
|
+
<SheetContent
|
|
112
|
+
side="right"
|
|
113
|
+
className="flex h-full flex-col border-white/10"
|
|
114
|
+
>
|
|
115
|
+
<SheetContent>
|
|
116
|
+
<SheetHeader>
|
|
117
|
+
<SheetTitle className="font-normal">Menu</SheetTitle>
|
|
118
|
+
</SheetHeader>
|
|
119
|
+
<nav className="mt-auto flex flex-col gap-1 p-4">
|
|
120
|
+
{NAV_ITEMS.map((item) => (
|
|
121
|
+
<Link
|
|
122
|
+
key={item.label}
|
|
123
|
+
href={item.href}
|
|
124
|
+
className="rounded-md py-2.5 text-center"
|
|
125
|
+
>
|
|
126
|
+
{item.label}
|
|
127
|
+
</Link>
|
|
128
|
+
))}
|
|
129
|
+
</nav>
|
|
130
|
+
<div className="mt-auto flex flex-col gap-2 p-4">
|
|
131
|
+
<Button variant="outline">Contact</Button>
|
|
132
|
+
<Button>Get Started</Button>
|
|
133
|
+
</div>
|
|
134
|
+
</SheetContent>
|
|
135
|
+
</SheetContent>
|
|
136
|
+
</Sheet>
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
</header>
|
|
140
|
+
|
|
141
|
+
{/* Hero Content */}
|
|
142
|
+
<div className="relative z-10 container mx-auto flex flex-col items-center px-4 pt-20 text-center md:pt-32">
|
|
143
|
+
<div className="max-w-4xl">
|
|
144
|
+
<Link
|
|
145
|
+
href="#"
|
|
146
|
+
className="group mb-4 inline-flex items-center md:mb-6"
|
|
147
|
+
>
|
|
148
|
+
<Badge
|
|
149
|
+
variant="outline"
|
|
150
|
+
className="inline-flex items-center gap-2 rounded-full border-white/10 bg-white/5 px-4 py-1.5 font-medium text-white/80 transition-colors hover:bg-white/10 hover:text-white md:text-sm"
|
|
151
|
+
>
|
|
152
|
+
Explore how we help grow brands.{" "}
|
|
153
|
+
<span className="underline">Read more</span>
|
|
154
|
+
<ArrowRight className="size-4 transition-transform group-hover:translate-x-0.5" />
|
|
155
|
+
</Badge>
|
|
156
|
+
</Link>
|
|
157
|
+
|
|
158
|
+
<h1 className="mb-4 text-4xl leading-tight font-bold text-balance text-white lg:text-5xl">
|
|
159
|
+
Solutions to Elevate Your Business Growth
|
|
160
|
+
</h1>
|
|
161
|
+
|
|
162
|
+
<p className="mb-10 leading-relaxed text-balance text-white/80 lg:text-xl">
|
|
163
|
+
Unlock potential with tailored strategies designed for success.
|
|
164
|
+
Simplify challenges, maximize results, and stay ahead in the
|
|
165
|
+
competitive market.
|
|
166
|
+
</p>
|
|
167
|
+
|
|
168
|
+
<div className="mb-24 flex items-center justify-center gap-3">
|
|
169
|
+
<Button size="lg" className="dark rounded-full bg-white text-black">
|
|
170
|
+
Get Started
|
|
171
|
+
</Button>
|
|
172
|
+
<Button
|
|
173
|
+
variant="ghost"
|
|
174
|
+
size="lg"
|
|
175
|
+
className="dark flex rounded-full border border-white/20 text-white hover:bg-white/10"
|
|
176
|
+
>
|
|
177
|
+
Learn More
|
|
178
|
+
<ArrowRight className="size-4" />
|
|
179
|
+
</Button>
|
|
180
|
+
</div>
|
|
181
|
+
</div>
|
|
182
|
+
|
|
183
|
+
<div
|
|
184
|
+
className="w-full overflow-hidden"
|
|
185
|
+
style={{
|
|
186
|
+
maskImage:
|
|
187
|
+
"linear-gradient(to right, transparent, black 15%, black 85%, transparent)",
|
|
188
|
+
WebkitMaskImage:
|
|
189
|
+
"linear-gradient(to right, transparent, black 15%, black 85%, transparent)",
|
|
190
|
+
}}
|
|
191
|
+
>
|
|
192
|
+
<motion.div
|
|
193
|
+
className="flex gap-4"
|
|
194
|
+
style={{ width: "fit-content" }}
|
|
195
|
+
animate={{ x: `-${100 / COPIES}%` }}
|
|
196
|
+
transition={{ duration: 10, ease: "linear", repeat: Infinity }}
|
|
197
|
+
>
|
|
198
|
+
{Array.from({ length: COPIES })
|
|
199
|
+
.flatMap(() => IMAGES)
|
|
200
|
+
.map((src, index) => (
|
|
201
|
+
<div
|
|
202
|
+
key={index}
|
|
203
|
+
className="relative aspect-square max-w-36 shrink-0 overflow-hidden rounded-2xl md:max-w-xs"
|
|
204
|
+
>
|
|
205
|
+
<img
|
|
206
|
+
src={src}
|
|
207
|
+
alt={`Team member ${(index % IMAGES.length) + 1}`}
|
|
208
|
+
className="h-full w-full object-cover opacity-80 transition-opacity hover:opacity-100"
|
|
209
|
+
/>
|
|
210
|
+
<div className="absolute inset-0 bg-linear-to-t from-black/60 to-transparent" />
|
|
211
|
+
</div>
|
|
212
|
+
))}
|
|
213
|
+
</motion.div>
|
|
214
|
+
</div>
|
|
215
|
+
</div>
|
|
216
|
+
</main>
|
|
217
|
+
);
|
|
218
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function(shared, config) { return config }
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { Menu, Play, Star } from "lucide-react";
|
|
5
|
+
import { VisuallyHidden } from "radix-ui";
|
|
6
|
+
import Link from "next/link";
|
|
7
|
+
import Image from "next/image";
|
|
8
|
+
|
|
9
|
+
import { Button } from "@/components/ui/button";
|
|
10
|
+
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
|
|
11
|
+
import { Dialog, DialogContent, DialogTitle } from "@/components/ui/dialog";
|
|
12
|
+
import {
|
|
13
|
+
Sheet,
|
|
14
|
+
SheetContent,
|
|
15
|
+
SheetHeader,
|
|
16
|
+
SheetTitle,
|
|
17
|
+
SheetTrigger,
|
|
18
|
+
} from "@/components/ui/sheet";
|
|
19
|
+
|
|
20
|
+
const NAV_ITEMS = [
|
|
21
|
+
{ label: "Shop", href: "#" },
|
|
22
|
+
{ label: "Collections", href: "#" },
|
|
23
|
+
{ label: "Deals", href: "#" },
|
|
24
|
+
{ label: "About", href: "#" },
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
export default function HeroSection() {
|
|
28
|
+
const [videoOpen, setVideoOpen] = useState(false);
|
|
29
|
+
|
|
30
|
+
return (
|
|
31
|
+
<div className="relative min-h-screen w-full">
|
|
32
|
+
<nav className="container mx-auto flex items-center justify-between px-4 py-6">
|
|
33
|
+
<Link href="#" className="flex items-center gap-2">
|
|
34
|
+
<Image
|
|
35
|
+
src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMCIgd2lkdGg9IjMwMC4wMDAwMDBwdCIgaGVpZ2h0PSIzMDAuMDAwMDAwcHQiIHZpZXdCb3g9IjAgMCAzMDAuMDAwMDAwIDMwMC4wMDAwMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgoKPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsMzAwLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTAgMTUwMCBsMCAtMTUwMCAxNTAwIDAgMTUwMCAwIDAgMTUwMCAwIDE1MDAgLTE1MDAgMCAtMTUwMCAwIDAgLTE1MDB6IG02NDcgMTA2MCBjMzEgLTEyIDE4ODIgLTE4NTYgMTkxNCAtMTkwOCA1NCAtODUgMSAtMjA5IC05NyAtMjI4IC05MSAtMTcgLTMwIC03MSAtMTA1NyA5NTQgLTUzNyA1MzcgLTk1NCA5NjIgLTk2MyA5ODEgLTU2IDExNyA3NiAyNDggMjAzIDIwMXogbTg0NSAtMyBjMTUgLTcgMjYzIC0yNDcgNTUyIC01MzQgNDUxIC00NDkgNTI3IC01MjggNTM2IC01NjMgMTYgLTU4IC0xIC0xMTAgLTUwIC0xNTQgLTM1IC0zMSAtNDcgLTM2IC05MSAtMzYgLTI3IDAgLTYyIDYgLTc3IDE0IC0xNSA4IC0yNjMgMjUxIC01NTEgNTQwIGwtNTI1IDUyNSAtNCA1OCBjLTMgNDkgMCA2NCAyMCA5MyA0MSA2MiAxMjQgODYgMTkwIDU3eiBtODU2IC0xIGMxNSAtOCA3MCAtNTkgMTIzIC0xMTMgMTE2IC0xMTggMTMzIC0xNTQgMTA0IC0yMjkgLTMxIC04MCAtMTM2IC0xMjggLTIwMyAtOTEgLTQ5IDI4IC0yMTIgMTkxIC0yMzMgMjMzIC0zNCA3MiAtOCAxNTEgNjUgMTk1IDM3IDIyIDEwNiAyNSAxNDQgNXogbS0xNjgzIC04NTcgYzE3IC0xMCAyNjIgLTI1MSA1NDcgLTUzNiA1NDggLTU1MCA1MzkgLTUzOSA1MjQgLTYxOCAtMTggLTk2IC0xNDEgLTE1NSAtMjIxIC0xMDcgLTE2IDExIC0yNjUgMjUyIC01NTIgNTM4IC00NjUgNDYxIC01MjMgNTIzIC01MjkgNTU3IC0xNCA4MiAyNyAxNTYgMTAxIDE4MiA0NSAxNiA4NiAxMSAxMzAgLTE2eiBtLTI4IC04MzAgYzMyIC0xMiAyMTggLTE5MSAyMzkgLTIzMSAzMSAtNTkgOSAtMTQ2IC00NyAtMTg3IC0zNSAtMjYgLTkzIC0zNyAtMTM2IC0yNiAtMzAgNyAtMjI2IDE5NCAtMjQ5IDIzNyAtNjAgMTE1IDY5IDI1NCAxOTMgMjA3eiIvPgo8L2c+Cjwvc3ZnPg=="
|
|
36
|
+
alt="Logo"
|
|
37
|
+
className="rounded-sm dark:invert"
|
|
38
|
+
width={24}
|
|
39
|
+
height={24}
|
|
40
|
+
/>
|
|
41
|
+
<span className="text-lg font-bold">shadcnuikit</span>
|
|
42
|
+
</Link>
|
|
43
|
+
|
|
44
|
+
<div className="hidden items-center gap-8 md:flex">
|
|
45
|
+
{NAV_ITEMS.map((item) => (
|
|
46
|
+
<Link
|
|
47
|
+
key={item.label}
|
|
48
|
+
href={item.href}
|
|
49
|
+
className="text-muted-foreground hover:text-accent-foreground text-sm font-medium transition-colors"
|
|
50
|
+
>
|
|
51
|
+
{item.label}
|
|
52
|
+
</Link>
|
|
53
|
+
))}
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
<div className="flex items-center gap-3">
|
|
57
|
+
<Button className="rounded-full">Get started</Button>
|
|
58
|
+
<Button variant="outline" className="rounded-full">
|
|
59
|
+
Login
|
|
60
|
+
</Button>
|
|
61
|
+
<Sheet>
|
|
62
|
+
<SheetTrigger asChild>
|
|
63
|
+
<Button variant="ghost" size="icon" className="md:hidden">
|
|
64
|
+
<Menu className="size-5" />
|
|
65
|
+
</Button>
|
|
66
|
+
</SheetTrigger>
|
|
67
|
+
<SheetContent
|
|
68
|
+
side="right"
|
|
69
|
+
className="flex h-full flex-col px-4 py-6 sm:max-w-xs"
|
|
70
|
+
>
|
|
71
|
+
<SheetHeader className="p-0">
|
|
72
|
+
<SheetTitle className="text-left font-medium">Menu</SheetTitle>
|
|
73
|
+
</SheetHeader>
|
|
74
|
+
<nav className="mt-6 flex flex-col gap-1 text-sm font-medium">
|
|
75
|
+
{NAV_ITEMS.map((item) => (
|
|
76
|
+
<Link
|
|
77
|
+
key={item.label}
|
|
78
|
+
href={item.href}
|
|
79
|
+
className="text-accent-foreground hover:bg-accent rounded-md px-3 py-2.5 text-left"
|
|
80
|
+
>
|
|
81
|
+
{item.label}
|
|
82
|
+
</Link>
|
|
83
|
+
))}
|
|
84
|
+
</nav>
|
|
85
|
+
<div className="mt-auto flex flex-col gap-2">
|
|
86
|
+
<Button variant="outline" className="w-full rounded-full">
|
|
87
|
+
Login
|
|
88
|
+
</Button>
|
|
89
|
+
<Button className="w-full rounded-full">Get started</Button>
|
|
90
|
+
</div>
|
|
91
|
+
</SheetContent>
|
|
92
|
+
</Sheet>
|
|
93
|
+
</div>
|
|
94
|
+
</nav>
|
|
95
|
+
|
|
96
|
+
{/* Hero Content */}
|
|
97
|
+
<div className="container mx-auto flex flex-col items-center px-4 py-20 text-center md:py-32">
|
|
98
|
+
<div className="mb-4 flex flex-col items-center gap-3 sm:flex-row">
|
|
99
|
+
<div className="flex -space-x-3">
|
|
100
|
+
{[1, 2, 3, 4, 5].map((i) => (
|
|
101
|
+
<Avatar key={i} className="border-background size-8 border-2">
|
|
102
|
+
<AvatarImage src={`https://i.pravatar.cc/100?img=${i + 10}`} />
|
|
103
|
+
<AvatarFallback>U{i}</AvatarFallback>
|
|
104
|
+
</Avatar>
|
|
105
|
+
))}
|
|
106
|
+
</div>
|
|
107
|
+
<div className="flex flex-col items-start gap-0.5">
|
|
108
|
+
<div className="flex gap-1 text-amber-600">
|
|
109
|
+
{[1, 2, 3, 4, 5].map((i) => (
|
|
110
|
+
<Star key={i} className="size-4 fill-current" />
|
|
111
|
+
))}
|
|
112
|
+
</div>
|
|
113
|
+
<span className="text-muted-foreground text-xs">
|
|
114
|
+
Loved by 10,000+ shoppers
|
|
115
|
+
</span>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
|
|
119
|
+
<h1 className="mb-4 max-w-4xl text-4xl leading-tight font-bold text-balance lg:text-5xl">
|
|
120
|
+
Discover products you will
|
|
121
|
+
<span className="text-indigo-600"> actually love.</span>
|
|
122
|
+
</h1>
|
|
123
|
+
|
|
124
|
+
<p className="text-muted-foreground mb-10 max-w-2xl text-lg leading-relaxed text-balance md:text-xl">
|
|
125
|
+
Shop thousands of curated products with fast delivery, easy returns,
|
|
126
|
+
and unbeatable prices. Your next favorite find is one click away.
|
|
127
|
+
</p>
|
|
128
|
+
|
|
129
|
+
<div className="mb-24 flex items-center gap-3">
|
|
130
|
+
<Button size="lg" className="rounded-full md:h-12">
|
|
131
|
+
Shop Now
|
|
132
|
+
</Button>
|
|
133
|
+
<Button
|
|
134
|
+
variant="outline"
|
|
135
|
+
size="lg"
|
|
136
|
+
className="rounded-full md:h-12"
|
|
137
|
+
onClick={() => setVideoOpen(true)}
|
|
138
|
+
>
|
|
139
|
+
<Play /> Watch our story
|
|
140
|
+
</Button>
|
|
141
|
+
|
|
142
|
+
<Dialog open={videoOpen} onOpenChange={setVideoOpen}>
|
|
143
|
+
<DialogContent className="w-full max-w-5xl border-0 bg-black p-0 shadow-2xl">
|
|
144
|
+
<VisuallyHidden.Root>
|
|
145
|
+
<DialogTitle>Demo video</DialogTitle>
|
|
146
|
+
</VisuallyHidden.Root>
|
|
147
|
+
{videoOpen && (
|
|
148
|
+
<iframe
|
|
149
|
+
src="https://www.youtube.com/embed/dQw4w9WgXcQ?autoplay=1"
|
|
150
|
+
className="aspect-video w-full rounded-lg"
|
|
151
|
+
/>
|
|
152
|
+
)}
|
|
153
|
+
</DialogContent>
|
|
154
|
+
</Dialog>
|
|
155
|
+
</div>
|
|
156
|
+
|
|
157
|
+
<div className="flex flex-col items-center gap-8">
|
|
158
|
+
<p className="text-muted-foreground text-sm">
|
|
159
|
+
Featuring top brands you already know
|
|
160
|
+
</p>
|
|
161
|
+
<div className="flex flex-wrap justify-center gap-8 opacity-50 grayscale md:gap-16 dark:invert">
|
|
162
|
+
<Logo1 />
|
|
163
|
+
<Logo2 />
|
|
164
|
+
<Logo3 />
|
|
165
|
+
<Logo4 />
|
|
166
|
+
<Logo5 />
|
|
167
|
+
</div>
|
|
168
|
+
</div>
|
|
169
|
+
</div>
|
|
170
|
+
</div>
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
const Logo1 = () => (
|
|
175
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="120" height="60">
|
|
176
|
+
<g transform="matrix(.173865 0 0 .173865 7.501548 18.78565)">
|
|
177
|
+
<path
|
|
178
|
+
d="M213.2 74.3l-3.6 10.2h-.3c-.6-2.3-1.7-5.8-3.5-10L186.5 26h-18.9v77.3h12.5V55.6L180 45c-.1-2.1-.3-3.7-.4-4.9h.3c.6 3 1.3 5.2 1.8 6.6l23.2 56.4h8.8l23-56.9c.5-1.3 1-3.9 1.5-6.1h.3l-.6 13.9v49h13.3V25.8H233zm50.6-26.7h13V103h-13zm6.6-23.4c-2.2 0-4 .8-5.5 2.2s-2.3 3.2-2.3 5.4a7.03 7.03 0 0 0 2.3 5.3c1.5 1.4 3.3 2.1 5.5 2.1s4.1-.8 5.5-2.1a7.03 7.03 0 0 0 2.3-5.3c0-2.1-.8-3.9-2.3-5.4-1.3-1.4-3.2-2.2-5.5-2.2m52.5 22.9c-2.4-.5-4.9-.8-7.3-.8-5.9 0-11.3 1.3-15.8 3.9s-8.1 6.2-10.4 10.7c-2.4 4.6-3.6 9.9-3.6 16 0 5.3 1.2 10 3.5 14.3 2.3 4.2 5.5 7.6 9.8 9.9 4.1 2.3 8.9 3.5 14.3 3.5 6.2 0 11.5-1.3 15.7-3.7l.1-.1v-12l-.5.4c-1.9 1.4-4.1 2.6-6.3 3.3-2.3.8-4.4 1.2-6.2 1.2-5.2 0-9.3-1.5-12.2-4.8-3-3.2-4.5-7.6-4.5-13.1 0-5.7 1.5-10.2 4.6-13.5s7.2-5 12.2-5c4.2 0 8.5 1.4 12.4 4.2l.5.4V49.2l-.1-.1c-1.7-.7-3.6-1.5-6.2-2m42.9-.4c-3.2 0-6.2 1-8.8 3.1-2.2 1.8-3.7 4.4-5 7.5h-.1v-9.7h-13V103h13V74.7c0-4.8 1-8.8 3.2-11.7 2.2-3 5-4.5 8.4-4.5 1.2 0 2.4.3 3.9.5 1.4.4 2.4.8 3.1 1.3l.5.4v-13l-.3-.1c-.9-.6-2.7-.9-4.9-.9m35.4-.3c-9.1 0-16.4 2.7-21.5 8-5.2 5.3-7.7 12.6-7.7 21.8 0 8.6 2.6 15.6 7.6 20.7 5 5 11.8 7.6 20.3 7.6 8.9 0 16-2.7 21.1-8.1 5.2-5.4 7.7-12.6 7.7-21.5 0-8.8-2.4-15.8-7.3-20.9-4.7-5.1-11.6-7.6-20.2-7.6M411.6 89c-2.4 3.1-6.2 4.6-10.9 4.6s-8.5-1.5-11.2-4.8c-2.7-3.1-4-7.6-4-13.3 0-5.9 1.4-10.4 4-13.6 2.7-3.2 6.4-4.8 11.1-4.8 4.6 0 8.2 1.5 10.8 4.6s4 7.6 4 13.5c-.2 6-1.3 10.7-3.8 13.8m46.1-18.4c-4.1-1.7-6.7-3-7.9-4.1-1-1-1.5-2.4-1.5-4.2 0-1.5.6-3 2.1-4s3.2-1.5 5.7-1.5c2.2 0 4.5.4 6.7 1s4.2 1.5 5.8 2.7l.5.4V48.7l-.3-.1c-1.5-.6-3.5-1.2-5.9-1.7-2.4-.4-4.6-.6-6.4-.6-6.2 0-11.3 1.5-15.3 4.8-4 3.1-5.9 7.3-5.9 12.2 0 2.6.4 4.9 1.3 6.8s2.2 3.7 4 5.2c1.8 1.4 4.4 3 8 4.5 3 1.3 5.3 2.3 6.7 3.1s2.3 1.7 3 2.4c.5.8.8 1.8.8 3.1 0 3.7-2.8 5.5-8.5 5.5-2.2 0-4.5-.4-7.2-1.3s-5.2-2.2-7.3-3.7l-.5-.4v12.7l.3.1c1.9.9 4.2 1.5 7 2.2 2.8.5 5.3.9 7.5.9 6.7 0 12.2-1.5 16.1-4.8 4-3.2 6.1-7.3 6.1-12.6 0-3.7-1-7-3.2-9.5-2.9-2.4-6.5-4.9-11.7-6.9m49.2-24.2c-9.1 0-16.4 2.7-21.5 8s-7.7 12.6-7.7 21.8c0 8.6 2.6 15.6 7.6 20.7 5 5 11.8 7.6 20.3 7.6 8.9 0 16-2.7 21.1-8.1 5.2-5.4 7.7-12.6 7.7-21.5 0-8.8-2.4-15.8-7.3-20.9-4.7-5.1-11.6-7.6-20.2-7.6M517.2 89c-2.4 3.1-6.2 4.6-10.9 4.6-4.8 0-8.5-1.5-11.2-4.8-2.7-3.1-4-7.6-4-13.3 0-5.9 1.4-10.4 4-13.6 2.7-3.2 6.4-4.8 11.1-4.8 4.5 0 8.2 1.5 10.8 4.6s4 7.6 4 13.5c0 6-1.3 10.7-3.8 13.8m86.7-30.7V47.6h-13.1V31.2l-.4.1L578 35l-.3.1v12.5h-19.6v-7c0-3.2.8-5.7 2.2-7.3s3.5-2.4 6.1-2.4c1.8 0 3.7.4 5.8 1.3l.5.3V21.2l-.3-.1c-1.8-.6-4.2-1-7.3-1-3.9 0-7.3.9-10.4 2.4-3.1 1.7-5.4 4-7.1 7.1-1.7 3-2.6 6.4-2.6 10.3v7.7h-9.1v10.6h9.1V103h13.1V58.3h19.6v28.5c0 11.7 5.5 17.6 16.5 17.6 1.8 0 3.7-.3 5.5-.6 1.9-.4 3.3-.9 4.1-1.3l.1-.1V91.7l-.5.4c-.8.5-1.5.9-2.7 1.2-1 .3-1.9.4-2.6.4-2.6 0-4.4-.6-5.7-2.1-1.2-1.4-1.8-3.7-1.8-7.1V58.3z"
|
|
179
|
+
fill="#737373"
|
|
180
|
+
/>
|
|
181
|
+
<path d="M0 0h61.3v61.3H0z" fill="#f25022" />
|
|
182
|
+
<path d="M67.7 0H129v61.3H67.7z" fill="#7fba00" />
|
|
183
|
+
<path d="M0 67.7h61.3V129H0z" fill="#00a4ef" />
|
|
184
|
+
<path d="M67.7 67.7H129V129H67.7z" fill="#ffb900" />
|
|
185
|
+
</g>
|
|
186
|
+
</svg>
|
|
187
|
+
);
|
|
188
|
+
|
|
189
|
+
const Logo2 = () => (
|
|
190
|
+
<svg
|
|
191
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
192
|
+
xmlnsXlink="http://www.w3.org/1999/xlink"
|
|
193
|
+
id="Layer_1"
|
|
194
|
+
x="0px"
|
|
195
|
+
y="0px"
|
|
196
|
+
viewBox="0 0 120 60"
|
|
197
|
+
width={120}
|
|
198
|
+
height={60}
|
|
199
|
+
xmlSpace="preserve"
|
|
200
|
+
>
|
|
201
|
+
<style type="text/css">
|
|
202
|
+
{
|
|
203
|
+
"\n\t.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#67DBFF;}\n\t.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#01A3FF;}\n\t.st2{fill-rule:evenodd;clip-rule:evenodd;fill:#0162FF;}\n\t.st3{fill:#191D26;}\n"
|
|
204
|
+
}
|
|
205
|
+
</style>
|
|
206
|
+
<g>
|
|
207
|
+
<path className="st0" d="M24.2,26.1h10v-9.8H14.4v0.1L24.2,26.1z" />
|
|
208
|
+
<path
|
|
209
|
+
className="st1"
|
|
210
|
+
d="M24.2,26.1h-10v9.8H34v-0.1L24.2,26.1L24.2,26.1z"
|
|
211
|
+
/>
|
|
212
|
+
<path className="st2" d="M14.3,35.8h9.9v9.9L14.3,35.8z" />
|
|
213
|
+
<path
|
|
214
|
+
className="st3"
|
|
215
|
+
d="M47.8,35.8v-5.4h5.9v-2.5h-5.9v-3.6h6.4v-2.6h-9.3v14H47.8z"
|
|
216
|
+
/>
|
|
217
|
+
<path
|
|
218
|
+
className="st3"
|
|
219
|
+
d="M61.6,25.6c-0.2-0.1-0.6-0.2-1.1-0.2c-1,0-1.8,0.5-2.3,1.2v-1h-2.8v10.2h2.8v-6.3c0.2-0.9,1-1.4,1.9-1.4 c0.5,0,1,0.1,1.4,0.3V25.6z"
|
|
220
|
+
/>
|
|
221
|
+
<path
|
|
222
|
+
className="st3"
|
|
223
|
+
d="M71,35.8v-6.5c0-2.4-1.6-3.9-4.3-3.9c-2.3,0-4,1.4-4.3,3.3h2.7c0.2-0.6,0.7-1,1.5-1c1.1,0,1.7,0.7,1.7,1.6V30 c-0.4-0.3-1.4-0.6-2.3-0.6c-2.2,0-3.9,1.3-3.9,3.3c0,2.1,1.7,3.3,3.8,3.3c1.1,0,2.1-0.4,2.5-0.7v0.5H71z M68.3,33 c-0.3,0.5-1,0.9-1.8,0.9c-0.9,0-1.8-0.4-1.8-1.3c0-0.9,0.9-1.3,1.8-1.3c0.8,0,1.6,0.3,1.8,0.9V33z"
|
|
224
|
+
/>
|
|
225
|
+
<path
|
|
226
|
+
className="st3"
|
|
227
|
+
d="M81,26.7c-0.6-0.8-1.5-1.3-2.7-1.3c-1.1,0-2.1,0.4-2.6,1.1v-0.8h-2.8v10.2h2.8v-6.6c0.2-0.9,0.9-1.3,1.6-1.3 c1,0,1.4,0.7,1.4,1.8v6.1h2.8v-6.6c0.2-0.9,0.8-1.3,1.6-1.3c1,0,1.5,0.7,1.5,1.8v6.1h2.8v-6.7c0-2.3-1.3-3.8-3.4-3.8 C82.7,25.4,81.7,26,81,26.7z"
|
|
228
|
+
/>
|
|
229
|
+
<path
|
|
230
|
+
className="st3"
|
|
231
|
+
d="M95.5,32.5c-0.2,0.9-0.9,1.3-1.9,1.3c-1.3,0-2.1-0.9-2.2-2.4h6.8v-0.9c0-3-1.6-5.1-4.6-5.1 c-2.8,0-4.9,2.3-4.9,5.3c0,3.1,2,5.3,4.9,5.3c2.6,0,4.1-1.4,4.5-3.6H95.5z M93.6,27.7c1.2,0,1.8,0.8,1.8,1.9h-3.9 C91.8,28.4,92.5,27.7,93.6,27.7z"
|
|
232
|
+
/>
|
|
233
|
+
<path
|
|
234
|
+
className="st3"
|
|
235
|
+
d="M105.7,25.6c-0.2-0.1-0.6-0.2-1.1-0.2c-1,0-1.8,0.5-2.3,1.2v-1h-2.8v10.2h2.8v-6.3c0.2-0.9,1-1.4,1.9-1.4 c0.5,0,1,0.1,1.4,0.3V25.6z"
|
|
236
|
+
/>
|
|
237
|
+
</g>
|
|
238
|
+
</svg>
|
|
239
|
+
);
|
|
240
|
+
|
|
241
|
+
const Logo3 = () => (
|
|
242
|
+
<svg
|
|
243
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
244
|
+
width="120"
|
|
245
|
+
height="60"
|
|
246
|
+
preserveAspectRatio="xMidYMid"
|
|
247
|
+
>
|
|
248
|
+
<path d="M40.554 27.4c1.144 0 2.072-.928 2.072-2.073s-.928-2.073-2.072-2.073-2.072.928-2.072 2.073.928 2.073 2.072 2.073zm68.4 7.082c-.315-.222-.56-.258-.76.172-3.48 7.538-9.346 3.777-8.763 4.108 1.3-.595 4.722-3.34 4.205-7.128-.314-2.316-2.302-3.343-4.4-2.975-3.682.642-5.037 4.614-4.347 8.13.12.604.336 1.102.552 1.6-4.16 3.384-5.814-3.03-6-3.796-.007-.04 3.213-2.725 4.1-9.122.94-6.704-1.2-7.925-3.387-7.887-4.047.07-5.14 8.526-3.67 15.573-.123.032-.696.35-1.616.385-.662-2.083-3.5-3.9-4.232-3.206-1.853 1.76.45 5.202 2.07 5.472-.973 5.994-7.06 4.5-5.927-3 1.982-3.68 3.5-9.153 3.22-12.457-.095-1.17-.96-2.737-2.916-2.66-3.762.15-4.17 8.607-3.73 14.6-.022-.148-.23.73-1.773 1.166-.365-2.024-3.624-4.056-4.4-3.08-1.436 1.828 1.053 5.088 2.232 5.315-.973 5.994-7.06 4.5-5.926-3 1.982-3.68 3.5-9.153 3.22-12.457-.095-1.17-.96-2.737-2.916-2.66-3.762.15-4.17 8.607-3.73 14.6-.022-.15-.236.756-1.84 1.185-.054-2.626-3.325-3.83-4.1-2.992-1.4 1.493.32 4.558 1.913 5.315-.973 5.994-7.06 4.5-5.926-3 1.982-3.68 3.5-9.153 3.22-12.457-.095-1.17-.96-2.737-2.916-2.66-3.762.15-4.064 9.032-3.623 15.035-1.24 5.3-5.394 11.94-4.855-1.342.053-.932.112-1.285-.353-1.634-.348-.27-1.14-.14-1.572-.13-.526.02-.658.33-.774.794-.27 1.2-.32 2.365-.358 3.953-.025.743-.085 1.1-.37 2.103s-1.916 2.864-2.8 2.555c-1.238-.426-.832-3.922-.6-6.323.193-1.898-.426-2.75-2.012-3.06-.93-.194-1.493-.164-2.46-.47-.915-.288-1.122-2.02-3.072-1.442-1.067.316-.38 2.576-.638 4.252-1.26 8.242-3.884 8.47-5.1 4.465 5.48-13.424 1.586-18.716-.694-18.716-2.375 0-5.1 1.636-3.94 12.103-.56-.163-.73-.25-1.343-.25-3.46 0-5.82 2.798-5.82 6.25s2.358 6.25 5.82 6.25c2.043 0 3.477-.93 4.564-2.366.7 1.015 1.572 2.382 3.15 2.32 4.704-.183 6.073-9.834 6.234-10.372.503.077.98.224 1.443.302.774.116.83.423.813 1.2-.205 6.563 1.006 8.86 3.753 8.86 1.53 0 2.895-1.504 3.835-2.58.702 1.45 1.82 2.535 3.32 2.58 3.636.1 5.028-5.705 4.9-4.942-.1.598 1.18 4.9 4.923 4.925 4.637.02 5.5-5.08 5.602-5.934.013-.17.018-.152 0 0l-.004.052c1.472-.274 2.232-1.063 2.232-1.063s1.182 7.025 5.56 6.945c4.547-.082 5.404-4.692 5.517-5.6.015-.213.024-.188 0 0l-.002.026c1.75-.636 2.208-1.275 2.208-1.275S74.8 41.94 79.43 42c4.118.054 5.644-4.163 5.653-5.928.695.007 1.98-.412 1.95-.436 0 0 1.508 6.02 5.72 6.33 1.978.145 3.46-1.113 4.307-1.687 1.988 1.6 8.606 3.665 12.785-3.42.6-1.017-.678-2.218-.9-2.375zM15.65 39.626c-2.02 0-3.314-1.867-3.314-3.88s1.188-3.88 3.208-3.88c.9 0 1.414.1 2.122.716a44.69 44.69 0 0 0 .669 2.202c.237.7.52 1.312.803 1.97-.406 1.684-1.738 2.874-3.488 2.874zm4.92-6.985c-.084-.134-.066-.052-.16-.178-.37-1.007-1.083-3.254-1.166-5.807-.093-2.887.388-6.272 1.807-6.272.96 0 1.983 6.86-.48 12.257zM49 29.633c-.228-1.714-.24-9.352 1.594-9.142 1.012.4-.642 7.618-1.594 9.142zm13.4 0c-.228-1.714-.24-9.352 1.594-9.142 1.012.4-.642 7.618-1.594 9.142zm13.284.106c-.228-1.714-.24-9.352 1.594-9.142 1.013.4-.642 7.618-1.594 9.142zm14.666-9.695c1.677-.174 1.607 7.148-1.758 11.77-.434-1.67-1.1-11.196 1.758-11.77zM97.398 35.8c-.54-2.72.853-4.507 2.287-4.703.5-.08 1.228.245 1.373.852.238 1.144-.035 2.842-3.245 4.996a4.46 4.46 0 0 1-.415-1.145z" />
|
|
249
|
+
</svg>
|
|
250
|
+
);
|
|
251
|
+
|
|
252
|
+
const Logo4 = () => (
|
|
253
|
+
<svg
|
|
254
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
255
|
+
xmlnsXlink="http://www.w3.org/1999/xlink"
|
|
256
|
+
height={60}
|
|
257
|
+
width={120}
|
|
258
|
+
>
|
|
259
|
+
<path
|
|
260
|
+
d="M32.377 26.446h-12.52v3.715h8.88c-.44 5.2-4.773 7.432-8.865 7.432a9.76 9.76 0 0 1-9.802-9.891c0-5.624 4.354-9.954 9.814-9.954 4.212 0 6.694 2.685 6.694 2.685l2.6-2.694s-3.34-3.717-9.43-3.717c-7.755 0-13.754 6.545-13.754 13.614 0 6.927 5.643 13.682 13.95 13.682 7.307 0 12.656-5.006 12.656-12.408 0-1.562-.227-2.464-.227-2.464z"
|
|
261
|
+
fill="#4885ed"
|
|
262
|
+
/>
|
|
263
|
+
<use xlinkHref="#A" fill="#db3236" />
|
|
264
|
+
<use xlinkHref="#A" x={19.181} fill="#f4c20d" />
|
|
265
|
+
<path
|
|
266
|
+
d="M80.628 23.765c-4.716 0-8.422 4.13-8.422 8.766 0 5.28 4.297 8.782 8.34 8.782 2.5 0 3.83-.993 4.8-2.132v1.73c0 3.027-1.838 4.84-4.612 4.84-2.68 0-4.024-1.993-4.5-3.123l-3.372 1.4c1.196 2.53 3.604 5.167 7.9 5.167 4.7 0 8.262-2.953 8.262-9.147V24.292H85.36v1.486c-1.13-1.22-2.678-2.013-4.73-2.013zm.34 3.44c2.312 0 4.686 1.974 4.686 5.345 0 3.427-2.37 5.315-4.737 5.315-2.514 0-4.853-2.04-4.853-5.283 0-3.368 2.43-5.378 4.904-5.378z"
|
|
267
|
+
fill="#4885ed"
|
|
268
|
+
/>
|
|
269
|
+
<path
|
|
270
|
+
d="M105.4 23.744c-4.448 0-8.183 3.54-8.183 8.76 0 5.526 4.163 8.803 8.6 8.803 3.712 0 6-2.03 7.35-3.85l-3.033-2.018c-.787 1.22-2.103 2.415-4.298 2.415-2.466 0-3.6-1.35-4.303-2.66l11.763-4.88-.6-1.43c-1.136-2.8-3.787-5.14-7.295-5.14zm.153 3.374c1.603 0 2.756.852 3.246 1.874l-7.856 3.283c-.34-2.542 2.07-5.157 4.6-5.157z"
|
|
271
|
+
fill="#db3236"
|
|
272
|
+
/>
|
|
273
|
+
<path d="M91.6 40.787h3.864V14.93H91.6z" fill="#3cba54" />
|
|
274
|
+
<defs>
|
|
275
|
+
<path
|
|
276
|
+
id="A"
|
|
277
|
+
d="M42.634 23.755c-5.138 0-8.82 4.017-8.82 8.7 0 4.754 3.57 8.845 8.88 8.845 4.806 0 8.743-3.673 8.743-8.743 0-5.8-4.58-8.803-8.803-8.803zm.05 3.446c2.526 0 4.92 2.043 4.92 5.334 0 3.22-2.384 5.322-4.932 5.322-2.8 0-5-2.242-5-5.348 0-3.04 2.18-5.308 5.02-5.308z"
|
|
278
|
+
/>
|
|
279
|
+
</defs>
|
|
280
|
+
</svg>
|
|
281
|
+
);
|
|
282
|
+
|
|
283
|
+
const Logo5 = () => (
|
|
284
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="120" height="60">
|
|
285
|
+
<path d="M12.005 40.177c-2.275-.565-4.078-2.536-4.442-4.857-.077-.493-.136-3.465-.136-6.936l-.001-6.073h3.45v6.89l.515-.27c1.68-.876 4.123-.546 5.826.787.778.6 1.603 1.833 1.904 2.825.227.747.27 1.168.225 2.2-.047 1.1-.113 1.408-.48 2.168-1.224 2.54-4.14 3.92-6.863 3.245zm2.493-3.3c.6-.252 1.4-1.17 1.498-1.745.163-.87-.002-1.76-.43-2.295-1.02-1.284-2.774-1.426-3.94-.32-.565.537-.792 1.073-.804 1.897-.026 1.866 1.944 3.187 3.674 2.463zm10.064 3.287c-1.06-.285-1.918-.803-2.718-1.642-.813-.852-1.193-1.526-1.478-2.62-1.08-4.143 2.5-8.057 6.713-7.36 4.643.767 6.616 6.42 3.447 9.872-1.523 1.66-3.806 2.328-5.964 1.748zm3.058-3.58c1.524-1.077 1.503-3.32-.04-4.4-.474-.328-.676-.382-1.447-.382-.78 0-.97.05-1.472.4-1.7 1.188-1.526 3.604.353 4.63.65.355 1.918.23 2.607-.258zm9.685 3.58c-1.06-.285-1.918-.803-2.718-1.642-.813-.852-1.193-1.526-1.478-2.62-1.08-4.143 2.5-8.057 6.713-7.36 4.643.767 6.616 6.42 3.447 9.872-1.523 1.66-3.806 2.328-5.964 1.748zm3.058-3.58c1.524-1.077 1.503-3.32-.04-4.4-.474-.328-.676-.382-1.447-.382-.78 0-.97.05-1.472.4-1.7 1.188-1.526 3.604.353 4.63.65.355 1.918.23 2.607-.258zm13.852 3.6a10.02 10.02 0 0 1-1.294-.454l-.63-.282v-3.172l1.072.548c.914.467 1.22.555 2.064.598 1.1.056 1.5-.14 1.5-.727 0-.397-.385-.64-1.452-.912-1.1-.285-1.688-.6-2.3-1.216-.664-.688-.927-1.376-.934-2.442-.01-1.48.8-2.642 2.348-3.32 1.165-.515 3.18-.47 4.613.104l.503.2v1.526c0 1.17-.04 1.5-.166 1.453-1.218-.536-1.934-.766-2.578-.826-.988-.092-1.422.113-1.48.7-.036.372.02.452.465.678a4.96 4.96 0 0 0 .965.355c1.865.403 3.022 1.622 3.16 3.33.13 1.62-.646 2.898-2.2 3.604-.886.406-2.64.527-3.686.255zm9.52-.095c-.93-.474-1.088-.894-2.342-6.224l-1.138-5c0-.133.38-.173 1.64-.173h1.64l.495 2.5c.67 3.368.758 3.775.806 3.726.023-.023.288-1.205.6-2.627s.652-2.765.78-2.987c.486-.842 1.852-1.132 2.68-.568.76.518.898.85 1.478 3.584.306 1.442.584 2.594.617 2.56.053-.053 1.084-5.813 1.088-6.078.001-.055.748-.1 1.66-.1s1.66.05 1.66.113c0 .223-1.998 9.52-2.137 9.945-.46 1.4-2.422 2.098-3.553 1.26-.696-.515-.873-.97-1.33-3.404-.243-1.295-.466-2.33-.494-2.303s-.258 1.075-.5 2.326-.55 2.45-.662 2.666c-.496.96-1.907 1.342-2.964.803zm15.902.07c-.97-.272-1.718-.727-2.496-1.517-2.412-2.45-2.32-6.32.203-8.637 3.403-3.124 8.988-1.248 9.853 3.3.075.393.135 2.08.135 3.75V40.1h-1.66c-1.555 0-1.66-.016-1.66-.258s-.035-.242-.743.082c-.947.433-2.56.54-3.635.237zm3.205-3.587c1.52-1.074 1.498-3.32-.045-4.388-.474-.328-.676-.382-1.447-.382-.78 0-.97.05-1.472.4-1.394.968-1.57 3.007-.356 4.14.875.816 2.346.918 3.32.23zM49.54 39.96c-1.975-.4-3.32-1.875-3.627-4-.066-.456-.12-3.442-.122-6.636l-.003-5.807h3.45v5.177h2.124v3.186h-2.124v1.87c0 2.564.22 2.982 1.653 3.157l.67.082.075 3.12-.767-.015c-.422-.01-1.02-.064-1.33-.125zm42.6 0c-1.975-.4-3.32-1.875-3.627-4-.066-.456-.12-3.442-.123-6.636l-.003-5.807h3.45v5.177h2.124v3.186h-2.124v1.87c0 2.564.22 2.982 1.653 3.157l.67.082.075 3.12-.767-.015c-.422-.01-1.02-.064-1.33-.125zm6.933.01c-3.1-.616-4.932-3.012-4.675-6.078.148-1.76.94-3.176 2.278-4.064 1.088-.722 2.053-1.015 3.625-1.102l1.36-.075v3.224h-.954c-1.256 0-1.982.34-2.522 1.18-.352.55-.388.7-.347 1.5.083 1.58 1.03 2.366 2.86 2.372h.962V40.1l-1.03-.014c-.566-.01-1.268-.062-1.56-.12zm3.65-8.76v-8.893h3.45v3.266c0 3.06.015 3.26.232 3.17 1.07-.442 2.7-.394 3.808.113 1.426.653 2.333 1.963 2.6 3.742.073.5.135 2.403.136 4.2l.003 3.285h-3.45l-.003-3.352c-.002-1.843-.058-3.6-.126-3.883-.247-1.07-1.387-1.582-2.382-1.068-.747.386-.808.74-.808 4.705v3.597h-3.45V31.2z" />
|
|
286
|
+
</svg>
|
|
287
|
+
);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function(shared, config) { return config }
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { Button } from "@/components/ui/button";
|
|
2
|
+
import { ArrowRight, Phone, Menu } from "lucide-react";
|
|
3
|
+
import Image from "next/image";
|
|
4
|
+
import Link from "next/link";
|
|
5
|
+
import {
|
|
6
|
+
DropdownMenu,
|
|
7
|
+
DropdownMenuContent,
|
|
8
|
+
DropdownMenuItem,
|
|
9
|
+
DropdownMenuTrigger,
|
|
10
|
+
} from "@/components/ui/dropdown-menu";
|
|
11
|
+
|
|
12
|
+
const NAV_ITEMS = [
|
|
13
|
+
{
|
|
14
|
+
label: "Home",
|
|
15
|
+
href: "#",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
label: "About",
|
|
19
|
+
href: "#",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
label: "Product",
|
|
23
|
+
href: "#",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
label: "Services",
|
|
27
|
+
href: "#",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
label: "Appointment",
|
|
31
|
+
href: "#",
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
export default function HeroSection() {
|
|
36
|
+
return (
|
|
37
|
+
<div className="relative h-screen w-full bg-[url('https://images.unsplash.com/photo-1588776814546-1ffcf47267a5?q=80&w=3000&auto=format&fit=crop')] bg-cover bg-center bg-no-repeat">
|
|
38
|
+
<div className="pointer-events-none absolute inset-0 bg-linear-to-r from-black/90 to-transparent"></div>
|
|
39
|
+
|
|
40
|
+
<nav className="absolute top-0 right-0 left-0 z-50 grid grid-cols-2 items-center justify-between px-6 py-6 lg:grid-cols-3">
|
|
41
|
+
<Link href="#" className="flex items-center gap-2 text-white">
|
|
42
|
+
<Image
|
|
43
|
+
src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMCIgd2lkdGg9IjMwMC4wMDAwMDBwdCIgaGVpZ2h0PSIzMDAuMDAwMDAwcHQiIHZpZXdCb3g9IjAgMCAzMDAuMDAwMDAwIDMwMC4wMDAwMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgoKPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsMzAwLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTAgMTUwMCBsMCAtMTUwMCAxNTAwIDAgMTUwMCAwIDAgMTUwMCAwIDE1MDAgLTE1MDAgMCAtMTUwMCAwIDAgLTE1MDB6IG02NDcgMTA2MCBjMzEgLTEyIDE4ODIgLTE4NTYgMTkxNCAtMTkwOCA1NCAtODUgMSAtMjA5IC05NyAtMjI4IC05MSAtMTcgLTMwIC03MSAtMTA1NyA5NTQgLTUzNyA1MzcgLTk1NCA5NjIgLTk2MyA5ODEgLTU2IDExNyA3NiAyNDggMjAzIDIwMXogbTg0NSAtMyBjMTUgLTcgMjYzIC0yNDcgNTUyIC01MzQgNDUxIC00NDkgNTI3IC01MjggNTM2IC01NjMgMTYgLTU4IC0xIC0xMTAgLTUwIC0xNTQgLTM1IC0zMSAtNDcgLTM2IC05MSAtMzYgLTI3IDAgLTYyIDYgLTc3IDE0IC0xNSA4IC0yNjMgMjUxIC01NTEgNTQwIGwtNTI1IDUyNSAtNCA1OCBjLTMgNDkgMCA2NCAyMCA5MyA0MSA2MiAxMjQgODYgMTkwIDU3eiBtODU2IC0xIGMxNSAtOCA3MCAtNTkgMTIzIC0xMTMgMTE2IC0xMTggMTMzIC0xNTQgMTA0IC0yMjkgLTMxIC04MCAtMTM2IC0xMjggLTIwMyAtOTEgLTQ5IDI4IC0yMTIgMTkxIC0yMzMgMjMzIC0zNCA3MiAtOCAxNTEgNjUgMTk1IDM3IDIyIDEwNiAyNSAxNDQgNXogbS0xNjgzIC04NTcgYzE3IC0xMCAyNjIgLTI1MSA1NDcgLTUzNiA1NDggLTU1MCA1MzkgLTUzOSA1MjQgLTYxOCAtMTggLTk2IC0xNDEgLTE1NSAtMjIxIC0xMDcgLTE2IDExIC0yNjUgMjUyIC01NTIgNTM4IC00NjUgNDYxIC01MjMgNTIzIC01MjkgNTU3IC0xNCA4MiAyNyAxNTYgMTAxIDE4MiA0NSAxNiA4NiAxMSAxMzAgLTE2eiBtLTI4IC04MzAgYzMyIC0xMiAyMTggLTE5MSAyMzkgLTIzMSAzMSAtNTkgOSAtMTQ2IC00NyAtMTg3IC0zNSAtMjYgLTkzIC0zNyAtMTM2IC0yNiAtMzAgNyAtMjI2IDE5NCAtMjQ5IDIzNyAtNjAgMTE1IDY5IDI1NCAxOTMgMjA3eiIvPgo8L2c+Cjwvc3ZnPg=="
|
|
44
|
+
alt="Logo"
|
|
45
|
+
className="rounded-sm invert"
|
|
46
|
+
width={24}
|
|
47
|
+
height={24}
|
|
48
|
+
/>
|
|
49
|
+
<span className="text-lg font-bold">dental</span>
|
|
50
|
+
</Link>
|
|
51
|
+
|
|
52
|
+
<div className="hidden items-center justify-center gap-8 rounded-full bg-white/50 px-8 py-4 backdrop-blur-md lg:flex">
|
|
53
|
+
{NAV_ITEMS.map((item) => (
|
|
54
|
+
<Link
|
|
55
|
+
key={item.label}
|
|
56
|
+
href={item.href}
|
|
57
|
+
className="text-sm font-medium text-black hover:opacity-70"
|
|
58
|
+
>
|
|
59
|
+
{item.label}
|
|
60
|
+
</Link>
|
|
61
|
+
))}
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
<div className="flex items-center justify-end gap-2">
|
|
65
|
+
<Button variant="outline" className="rounded-full md:h-12 md:px-6!">
|
|
66
|
+
<Phone /> Call Now
|
|
67
|
+
</Button>
|
|
68
|
+
<DropdownMenu>
|
|
69
|
+
<DropdownMenuTrigger asChild>
|
|
70
|
+
<Button
|
|
71
|
+
variant="outline"
|
|
72
|
+
size="icon"
|
|
73
|
+
className="md:size-12 rounded-full lg:hidden flex"
|
|
74
|
+
>
|
|
75
|
+
<Menu />
|
|
76
|
+
</Button>
|
|
77
|
+
</DropdownMenuTrigger>
|
|
78
|
+
<DropdownMenuContent
|
|
79
|
+
align="end"
|
|
80
|
+
sideOffset={8}
|
|
81
|
+
className="mt-1 w-44 rounded-2xl bg-white/95 px-1 py-1 text-sm shadow-lg backdrop-blur-md"
|
|
82
|
+
>
|
|
83
|
+
{NAV_ITEMS.map((item) => (
|
|
84
|
+
<DropdownMenuItem
|
|
85
|
+
key={item.label}
|
|
86
|
+
asChild
|
|
87
|
+
className="cursor-pointer rounded-xl px-3 py-2 font-medium text-gray-800 focus:bg-gray-100"
|
|
88
|
+
>
|
|
89
|
+
<Link href={item.href}>{item.label}</Link>
|
|
90
|
+
</DropdownMenuItem>
|
|
91
|
+
))}
|
|
92
|
+
</DropdownMenuContent>
|
|
93
|
+
</DropdownMenu>
|
|
94
|
+
</div>
|
|
95
|
+
</nav>
|
|
96
|
+
|
|
97
|
+
<div className="relative z-10 flex h-full flex-col justify-end px-6 pb-20 md:px-12 md:pb-32">
|
|
98
|
+
<div className="max-w-2xl space-y-6">
|
|
99
|
+
<h1 className="text-4xl leading-tight font-bold text-balance text-white md:text-5xl">
|
|
100
|
+
Smart Dental Solutions You Trust
|
|
101
|
+
</h1>
|
|
102
|
+
<p className="max-w-lg text-lg text-white/80">
|
|
103
|
+
Whether it's a routine check-up or a major dental procedure, our
|
|
104
|
+
experienced professionals are just a call away.
|
|
105
|
+
</p>
|
|
106
|
+
<Button className="rounded-full md:h-12 md:px-6!" variant="outline">
|
|
107
|
+
Book Appointment <ArrowRight />
|
|
108
|
+
</Button>
|
|
109
|
+
</div>
|
|
110
|
+
</div>
|
|
111
|
+
</div>
|
|
112
|
+
);
|
|
113
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function(shared, config) { return config }
|