Objects
Everything a theme can read, exposed on the DataApi (useData()) and its companions. Where an industry-standard theme language would give you a template global, theme-kit gives you a typed method or hook.
Store & content
| Object | Access | What you get |
|---|---|---|
shop | useData().shop | Name, description, email/phone, brand (logo, colors), primary domain, payment settings, cookie banner |
shop.policies | useData().shop.policies | Privacy, refund, terms of service, shipping, subscription — each with handle, title, url, body |
menu (linklists) | menu(handle) · listMenus() | Recursive items[] with title, url, typed MenuItemType |
page | pageByHandle(handle) | Title, HTML body, bodySummary, author, timestamps, templateSuffix, SEO |
blog | blogByHandle(handle, { articles }) | Title, articles[], SEO, templateSuffix |
article | articleByHandle(blogHandle, articleHandle) | Title, excerpt, contentHtml, image, author, publishedAt, tags, SEO |
metaobject | metaobject(type, handle) · metaobjects(type, { first }) | fields[] plus a convenient values map |
localization | useData().localization | Active country/currency/language/market + all available countries & languages |
Commerce
| Object | Access | What you get |
|---|---|---|
product | productByHandle(handle) (card) · fetchProduct(handle) (full PDP) | Price/compare-at (Money), images & media[] (image / video / 3D / external video), options[], variants[], selling plan groups, collections, totalInventory, metafields, SEO |
product.variants[] | on a full product | Price, availableForSale, selectedOptions, sku/barcode, inventory policy & quantity, weight, quantityRule, unit price, per-location storeAvailability |
collection | collectionByHandle(handle) · allCollections() | Title, description, image, products, productsCount, metafields, SEO |
collection (paged) | collectionProducts(handle, { first, after, sortKey, reverse, filters }) | Products page + faceted filters[] + pageInfo cursors |
cart | useCart() | Lines, totals, discount & gift-card codes, note, attributes — plus mutations: add, updateQuantity, remove, clear, applyDiscountCodes, applyGiftCardCodes, updateNote, updateAttributes |
recommendations | productRecommendations(productId) | Recommended products[], intent, performed |
search | search(query, { first, after, types }) | totalCount, products/pages/articles, faceted filters[], pageInfo |
predictive_search | predictiveSearch(query, { limit }) | Query suggestions + matching products/collections/pages/articles |
Customer & orders
| Object | Access | What you get |
|---|---|---|
customer | useData().customer | Profile, acceptsMarketing, numberOfOrders, tags, default address, addresses[], store credit accounts |
order | customer.orders(token) · orderByLookup(...) | Name/number, financial & fulfillment status, totals, lineItems[], transactions, addresses, fulfillments, gift cards |
address | customer.addresses + create/update/delete | Full CustomerAddress shape |
| payment methods | customer.paymentMethods(token) | Saved payment methods |
Extras (beyond the classic set)
| Object | Access | Notes |
|---|---|---|
pixels | useData().pixels() | Store tracking pixels for the analytics bus |
locations | useData().locations() | Physical store locations (store locator) |
| raw GraphQL | useData().graphql(query, vars) | Live-only escape hatch to the storefront API |
| dynamic sources | useBound(value) / useResourceContext() | Resolve { '@source': 'product.metafields.custom.x' } bindings, incl. metaobject:type:handle.field |
Differences from a classic template language
| Classic global | In theme-kit |
|---|---|
paginate | Cursor pagination via pageInfo on collectionProducts / search — render your own controls |
form | Ordinary React forms calling CartApi / customer methods |
request / routes | URLs come pre-built on objects (product.onlineStoreUrl, menuItem.url, policy.url) |
typed metafields drops | Metafields arrive as a "namespace.key" → value map, with typed shapes (Rating, Measurement, GenericFile, …) exported for parsing |
section / block | Your component's attributes + children (SectionProps) |