Build on Luxe
Reference for the storefront components, the public storefront API, the read-only bundle set endpoint and the data Luxe writes to orders.
Luxe works out of the box
No theme code required. Merchants add Luxe in the theme editor: the app embed and theme app blocks. Everything in these docs is for developers and agencies who choose to extend or customise.
Prices are only ever changed by Shopify Functions at checkout: Luxe's Cart Transform and its Luxe Rewards discount. Everything on the storefront, and everything you build on it, predicts that price for display.
What you can build
| Surface | Use it to | Docs |
|---|---|---|
| Theme app blocks and the app embed | Place and configure Luxe in any Online Store 2.0 theme | Theme app blocks |
| CSS custom properties | Match the Luxe components to a brand | Styling |
| window.Luxe.cart and DOM events | Add a widget to the Luxe cart, react to cart changes | Storefront API |
| Bundle set endpoint | Read live sets and the rewards ladder from a headless or mobile client | HTTP |
| Line properties and order data | Read set contents in an ERP, WMS or 3PL | Data |
| Tapcart, Sidekick, AI agents | Sell sets beyond the online store | Channels |
Quick start
- Install Luxe on a development store; development stores are never charged.
- Theme editor > App embeds: turn on Luxe.
- Create a bundle set from a template in the app and add the Bundle set builder block to its product page.
- Open the storefront console and listen for Luxe:
// luxe:ready fires once, at embed setup; after load, read the version here.
console.log("Luxe", document.querySelector("luxe-root")?.dataset.luxeVersion);
// Fires after every cart read, so on each cart change.
document.addEventListener("luxe:cart:updated", (event) => {
const { itemCount, totalPrice, lines } = event.detail;
console.log(itemCount, totalPrice, lines);
});Versions and support
These docs describe Luxe v0.3.0. luxe:ready and data-luxe-version report the storefront runtime version (currently 1.0.0), which is separate from the app release. Breaking changes to the public API are announced in the changelog before they ship. Questions: developers@luxesets.com.