Skip to content

Whats Included

Anthony Baggett edited this page Nov 21, 2025 · 1 revision

What's Included

Complete reference of all sections, snippets, templates, and JavaScript components included in VAST.


Sections (30+)

Page Layout

  • header.liquid - Sticky header with navigation, cart, search, and mobile menu
  • footer.liquid - Footer with links and copyright

Homepage & Content Sections

  • main-index.liquid - Main homepage section
  • hero.liquid - Hero section with full-width or split layouts, image positioning, heading, text, CTA buttons
  • image-text.liquid - Image with text section, configurable image position (left/right), heading sizes, text alignment
  • feature-grid.liquid - Feature grid with icons or images, customizable columns (2/3/4), heading and description per item
  • multicolumn.liquid - Multi-column layout with blocks, heading, description, flexible text alignment
  • rich-text.liquid - Rich text content section with heading size and text alignment controls
  • newsletter.liquid - Newsletter signup form section with heading, description, alignment options
  • divider.liquid - Visual divider section with style options (solid/dotted/dashed), color and thickness controls

Product & Collection

  • main-product.liquid - Full product page with gallery, variants, pricing, and add-to-cart
  • main-collection.liquid - Collection listing with pagination, Quick View support, product prefetching
  • featured-collection.liquid - Featured collection showcase with customizable layout, Quick View support
  • main-search.liquid - Search results grouped by type (products, articles, pages)
  • product-recommendations.liquid - Shopify product recommendations with customizable count, columns, and heading
  • recently-viewed-products.liquid - Recently viewed products tracking with localStorage, configurable display options

Blog & Articles

  • main-blog.liquid - Blog listing with grid layouts (2/3/4 columns, masonry), featured post highlighting, tag filtering
  • main-article.liquid - Blog post display with featured image sizing, content width controls, social sharing, related articles
  • featured-blog-posts.liquid - Featured blog posts showcase section

Content Pages

  • main-page.liquid - Generic page content
  • main-page-contact.liquid - Contact form with validation and breadcrumbs
  • main-list-collections.liquid - All collections listing

Shopping

  • main-cart.liquid - Shopping cart with AJAX updates
  • minicart.liquid - Slide-in mini cart with live updates

Features

  • faq.liquid - Collapsible FAQ/accordion section
  • modal.liquid - Reusable modal dialog with Alpine.js
  • predictive-search-main.liquid - Search overlay
  • predictive-search-results.liquid - Live search results

Utility

  • main-password.liquid - Password-protected store
  • main-404.liquid - 404 error page

Components & Snippets (35+)

Icons

Complete SVG icon set including:

UI Icons:

  • cart, search, user, close-x, hamburger, spinner, plus, minus, caret, chevron, error, bubble-bottom, trash

Social Icons:

  • facebook, instagram, pinterest, snapchat, tiktok, tumblr, twitter, vimeo, youtube

Reusable Components

  • alert.liquid - Alert/message component with 5 variants (success/warning/error/info/neutral), dismissible option, icon support
  • badge.liquid - Badge component for status indicators, 3 sizes (small/default/large), 5 variants, pill shape option
  • btn.liquid - Button component with 6 types (primary/branded/gradient/secondary/destructive/ghost), 3 sizes, full-width option
  • form-input.liquid - Form input component supporting 8 input types (text/email/password/tel/number/url/date/textarea) with validation states

Product Components

  • product-variant-picker.liquid - Smart variant selector with availability tracking
  • product-variant-options.liquid - Radio buttons or dropdowns for variants
  • product-grid-item.liquid - Product card for grids

Blog Components

  • blog-card.liquid - Blog article card component with featured style and customizable display options
  • article-navigation.liquid - Previous/next article navigation with arrows
  • article-social-share.liquid - Social sharing buttons (Twitter, Facebook, LinkedIn, Pinterest)
  • article-related.liquid - Related articles section with source options (same-tags/same-blog/same-author)
  • article-comments.liquid - Article comments display and submission form with pagination

Navigation

  • header-menu.liquid - Desktop navigation
  • mobile-menu.liquid - Mobile menu drawer
  • collections-list.liquid - Collection navigation
  • pagination-navigation.liquid - Pagination controls
  • breadcrumbs.liquid - SEO-optimized breadcrumb navigation with structured data (schema.org/BreadcrumbList)

Section Snippets

  • hero.liquid - Hero section content renderer
  • divider.liquid - Divider section content renderer
  • column-wrapper.liquid - Column layout wrapper utility

Utilities

  • head-meta.liquid - SEO meta tags, Open Graph, Twitter Cards
  • head-css.liquid - Critical CSS and x-cloak styling
  • head-scripts.liquid - Inline scripts and design mode detection
  • liquid-ajax-cart.liquid - Cart initialization
  • font-face.liquid - Font face definitions
  • promo-bar.liquid - Promotional banner with scroll-collapse (rendered in header)

Templates (12+)

Main Templates

  • index.json - Homepage
  • product.json - Product detail page
  • collection.json - Collection listing
  • search.json - Search results
  • cart.json - Shopping cart
  • blog.json / article.json - Blog pages
  • page.json / page.contact.json - Content pages
  • list-collections.json - All collections
  • 404.json / password.json - Utility pages

Customer Account Templates

  • customers/account.liquid - Account dashboard
  • customers/login.liquid / register.liquid - Authentication
  • customers/addresses.liquid - Address management
  • customers/order.liquid - Order history
  • customers/activate_account.liquid / reset_password.liquid - Account recovery

Gift Cards

  • gift_card.liquid - Gift card display

JavaScript Features

Alpine.js Architecture

VAST uses a single-entrypoint architecture with auto-registered components for optimal developer experience and maintainability.

Component Organization

Components are extracted to separate JavaScript files organized by feature area:

src/js/alpine/components/product/ - Product page components

  • productGallery - Variant-aware product image gallery with thumbnail navigation
  • priceComponent - Dynamic pricing with flash animation on variant change
  • productForm - Add to cart with quantity management and validation
  • lightboxZoom - Full-screen image zoom functionality

src/js/alpine/components/collection/ - Collection and search page components

  • collectionSort - Collection sorting controls
  • collectionFilters - Advanced filtering interface
  • quickViewModal - Quick view modal with product details

src/js/alpine/components/blog/ - Blog page components

  • blogListing - Blog post listing and pagination

src/js/alpine/components/shared/ - Shared components used across multiple page types

  • modal - Reusable dialog management with click-outside-to-close
  • variantPicker - Intelligent variant selection with availability tracking
  • productRecommendations - Product recommendation display
  • recentlyViewedSection - Recently viewed products tracking

Auto-Registration System

All components are automatically registered at startup via src/js/alpine/index.js using Vite's glob imports. Components initialize only when their x-data directive is found in the DOM, providing efficient lazy initialization.

Usage Pattern

Pass configuration to components via data attributes in Liquid templates:

<div x-data="productGallery"
     data-images='{{ product.images | json }}'
     data-gallery-layout="{{ section.settings.gallery_layout }}">
  <!-- Component markup -->
</div>

Alpine Stores

Global stores provide cross-component state management:

src/js/alpine/stores/

  • global - Mobile menu, minicart, predictive search, promo bar, scroll state, cart data
  • recentlyViewed - Recently viewed products tracking with localStorage persistence
  • debug - Accessibility debugging utilities for development

Helper Utilities

src/js/helpers.js

  • emitEvent() - Custom event dispatcher
  • fetchHTML() - Async HTML fetching
  • throttle() / debounce() - Performance utilities
  • truncateLongTitle() - String manipulation
  • Body class and random number helpers

Web Components

  • PredictiveSearch - Custom element for live search (in public/predictive-search.js)

Custom Event System

  • variant:change - Product variant selection
  • liquid-ajax-cart:* - Cart operation events
  • show-modal / close-modal - Modal controls

CSS Architecture

Tailwind v4 Layers

  • src/css/base.css - Base element styles
  • src/css/components.css - Reusable component classes (.btn, .input-select, .pill-button)
  • src/css/utilities.css - Custom utility classes
  • src/css/global.css - Non-tree-shaken global styles

Alpine.js Plugins Included

  • @alpinejs/collapse - Smooth collapse/expand animations (used in FAQ, promo bar)
  • @alpinejs/focus - Focus management for modals and dialogs
  • @alpinejs/morph - DOM morphing for dynamic content updates

Theme Settings

Configurable via Shopify theme customizer (config/settings_schema.json):

Global Settings

  • Logo image upload - Custom logo for header
  • Promo bar - Toggle, content, scroll behavior
  • Predictive search - Enable/disable search-as-you-type
  • Modal configuration - Default title and description

Section-Specific Settings

Individual sections have additional settings for:

  • Collection selection - Choose which collections to display
  • Color schemes - Customize colors per section
  • Layout options - Grid columns, image positions, text alignment
  • Content blocks - FAQ items, collapsible rows, feature items

Next Steps


← Back to Home

Clone this wiki locally