| Tag | Nearest required ancestor | Context consumed |
|---|---|---|
storesynk-store | (none - root provider) | - (provides storeContext) |
storesynk-product | storesynk-store | storeContext (provides productContext) |
storesynk-cart | storesynk-store | storeContext |
cart-line-list | storesynk-store (usually inside storesynk-cart) | storeContext |
cart-line | cart-line-list | - (provides cartLineContext) |
storesynk-list | storesynk-store | storeContext |
search-result-list | storesynk-store | storeContext |
predictive-search | storesynk-store | storeContext |
search-input | (none - needs a store on the page, not as ancestor) | - (targets by for id) |
search-result-item | search-result-list or predictive-search | - (styleable wrapper; no context) |
show-data, show-title, show-description, show-vendor, show-product-type | storesynk-product | productContext (+ storeContext for money) |
show-min-price, show-max-price, show-min-compare-price, show-max-compare-price | storesynk-product | productContext + storeContext |
show-price, show-compare-price, show-sku, show-barcode, show-stock, show-weight, show-unit-price | storesynk-product | productContext + storeContext |
show-quantity | storesynk-product | productContext |
show-image, show-media, show-thumbnail | storesynk-product | productContext |
change-option | storesynk-product | productContext |
option-value | change-option | - (styleable; engine-populated) |
show-option-title | option-value (within change-option) | - (invisible text holder; the value’s name) |
show-option-swatch | option-value (within change-option) | - (engine-filled swatch) |
show-option-label, show-active-option-title | storesynk-product (optionally inside change-option) | optionContext when nested, else productContext + a group/name attr |
change-purchase-option | storesynk-product | productContext (one-time / subscribe toggle) |
purchase-option | change-purchase-option or change-line-purchase-option | - (styleable; value="single"/"recurring"; engine sets [ss-active]) |
change-selling-plan | storesynk-product | productContext (+ storeContext for money) |
selling-plan-option | change-selling-plan or change-line-selling-plan | - (styleable; engine-populated per plan) |
show-selling-plan-name, show-selling-plan-price | selling-plan-option (within change-selling-plan or change-line-selling-plan) | - (invisible text holders the engine fills) |
show-metafield, metafield-wrapper | storesynk-product | productContext (metafield displayer / label-block wrapper) |
metafield-item | show-metafield | - (styleable; per-value template for list.* metafields) |
change-quantity | storesynk-product | productContext |
increase-quantity, decrease-quantity, input-quantity | change-quantity | productContext (input-quantity only) |
add-to-cart, buy-now | storesynk-product | productContext + storeContext |
product-link | storesynk-product | productContext |
show-sale-badge | storesynk-product | productContext + storeContext |
klaviyo-back-in-stock | storesynk-product | productContext (back-in-stock form for the selected variant) |
show-line-image, show-line-title, show-line-variant, show-line-price, show-line-quantity, show-line-original-price, show-line-discount, show-line-selling-plan | cart-line | cartLineContext (+ storeContext for money) |
increase-line-quantity, decrease-line-quantity, remove-cart-line | cart-line | - (reads .line off nearest cart-line) |
change-line-purchase-option | cart-line | cartLineContext (in-cart one-time / subscribe toggle for THAT line; not a clone container) |
change-line-selling-plan | cart-line | cartLineContext (+ storeContext for money) - in-cart frequency picker; clones selling-plan-option |
show-cart-count, show-cart-total, show-cart-subtotal, show-cart-tax, show-cart-duties, show-cart-discount, show-cart-savings, show-discount-code, show-discount-error, checkout-link, apply-discount, remove-discount, cart-note, clear-cart | storesynk-store | storeContext |
cart-discount-list, cart-order-discount-list | storesynk-store | storeContext |
cart-discount | cart-discount-list or cart-order-discount-list | - (provides discountContext) |
show-discount-amount | cart-discount | discountContext (+ storeContext for money) |
open-cart | (none - needs store + cart on the page) | - (global openCart action) |
close-cart | storesynk-cart | - (calls .close() on nearest drawer) |
change-country, change-language | storesynk-store | storeContext (Markets pickers; dispatch sf:country-change / sf:language-change up to the store) |
locale-value | change-country or change-language | - (styleable; the pill template, engine-populated - template mode only) |
show-locale-name | locale-value (within a picker) | - (invisible text holder; the country name / language endonym) |
show-locale-currency | locale-value (within change-country) | - (invisible text holder; the country’s currency, e.g. “EUR €”) |
storesynk-collection | storesynk-store | storeContext (provides collectionContext) |
product-list, change-sort, change-price, change-filter, filter-list, active-filter-list, clear-filters, load-more, show-result-count | storesynk-collection | collectionContext (SSK-110) |
filter-group | filter-list | - (styleable; engine-populated per facet) |
filter-value | filter-list or change-filter | - (styleable; engine-populated per facet value) |
active-filter-item | active-filter-list | - (styleable; the chip template) |
show-filter-label | filter-list (in a filter-group) or change-filter | - (invisible; the facet’s name) |
show-filter-title | filter-list / change-filter (in a filter-value) or active-filter-list (chip) | - (invisible; the value’s label) |
show-filter-count | filter-list or change-filter (in a filter-value) | - (invisible; the value’s live count) |
show-filter-swatch | change-filter (in a filter-value) | - (styleable; engine paints its swatch color/image) |
storesynk-bundle | storesynk-product (the page’s product) | productContext + storeContext (bundles module; queries the product’s bundles) |
bundle-offer | storesynk-bundle | - (provides bundleContext; fed via provideBundle()) |
bundle-member-list | bundle-offer | bundleContext (attaches a per-clone bundleMemberContext to each member card; feeds each card only the member’s allowed variants) |
show-bundle-title, show-bundle-total, show-bundle-original-total, show-bundle-savings, show-bundle-percentage | bundle-offer | bundleContext (+ storeContext for money) |
show-member-quantity, show-member-subtotal | bundle-member-list (inside the member-card template) | bundleMemberContext (+ storeContext for money) |
add-bundle-to-cart | bundle-offer | bundleContext |
storesynk-volume-discount | storesynk-product (the page’s product) | productContext + storeContext (volume-discount module; queries the product’s volume discounts) |
volume-tier-list | storesynk-volume-discount | volumeDiscountContext (SSK-105; attaches a per-clone volumeTierContext to each tier row) |
volume-tier | volume-tier-list | - (the radio row; cloned + driven by the list, SSK-106) |
show-volume-discount-title | storesynk-volume-discount | volumeDiscountContext (SSK-105; the widget heading) |
show-tier-title, show-tier-label, show-tier-badge, show-tier-price, show-tier-original-price, show-tier-each-price | volume-tier-list (inside the tier-row template) | per-clone volumeTierContext (SSK-105) (+ storeContext for money) |
add-volume-to-cart | storesynk-volume-discount | volumeDiscountContext + productContext + storeContext (SSK-105) |
storesynk-mix-match | storesynk-product (the page’s product), or none with handle="…" (standalone builder page) | productContext + storeContext (mix-match module; queries the product’s mix-match bundles, or one bundle directly by handle) |
mix-match-offer | storesynk-mix-match | (provides mixMatchContext; fed via provideLive(), owns the selection) |
mix-match-section-list | mix-match-offer | mixMatchContext (SSK-105; attaches a per-clone section context, owns the accordion state) |
mix-match-section | mix-match-section-list | (styleable wrapper; the list stamps ss-open/ss-met on it, SSK-106) |
toggle-section | mix-match-section (inside the section template) | per-clone section context (SSK-105; APG disclosure header) |
mix-match-item-list | mix-match-section (inside the section template) | per-clone section context + mixMatchContext (SSK-105; the accordion panel; attaches a per-card item context) |
show-section-title, show-section-image, show-section-requirement, show-section-count, show-section-progress | mix-match-section (inside the section template) | per-clone section context (SSK-105) |
add-mix-match-item, increase-mix-match-item, decrease-mix-match-item, remove-mix-match-item, show-item-quantity | mix-match-item-list (inside the pool-card template) | per-card item context + the card’s productContext (SSK-105) |
mix-match-selection-list | mix-match-offer | mixMatchContext (SSK-105; attaches a per-clone pick context) |
show-pick-image, show-pick-quantity | mix-match-selection-list (inside the pick template) | per-clone pick context (SSK-105) |
show-selection-overflow | mix-match-selection-list (after the pick template) | mixMatchContext + the list’s max attribute (SSK-105) |
show-mix-match-title, show-mix-match-total, show-mix-match-original-total, show-mix-match-savings, show-mix-match-tier-hint, show-mix-match-free-shipping | mix-match-offer | mixMatchContext (SSK-105) (+ storeContext for money) |
add-mix-match-to-cart | mix-match-offer | mixMatchContext (SSK-105) |
storesynk-addons | storesynk-product (the page’s product) | productContext + storeContext (product-addons module; queries the offers targeting the product) |
show-addons-title, show-addons-subtitle | storesynk-addons | addonsContext (SSK-105; the offer’s heading / subheading) |
addon-list | storesynk-addons | addonsContext (SSK-105; attaches a per-clone row context to each row card) |
select-addon, show-addon-price, show-addon-original-price | addon-list (inside the row-card template) | per-clone row context (SSK-105) (+ storeContext for money on the price leaves; select-addon also reads the card’s productContext) |
log-in, log-out | (a storesynk-store anywhere on the page - SSK-101; not an ancestor) | - (global action verbs; drive the store’s single customer session) |
account-link | storesynk-store | storeContext (the account destination; path="…" appends a sub-page) |
show-customer-email, show-customer-first-name, show-customer-last-name, show-customer-name | storesynk-store | storeContext (ctx.customer; hidden + [ss-empty] when anonymous) |
storesynk-customer-pricing | storesynk-product (the page’s product) | productContext + storeContext (customer-pricing widget; finds the rule targeting the product) |
show-pricing-prompt, show-pricing-title, show-pricing-percentage, show-pricing-price, show-pricing-original-price, show-pricing-note | storesynk-customer-pricing | customerPricingContext (SSK-105) (+ storeContext for money on the price leaves) |
(member card) storesynk-product inside bundle-member-list | bundle-member-list | - (provides productContext to the card; a sanctioned storesynk-product nesting - fed via provideProduct(), no handle/product-id) |
(pool card) storesynk-product inside mix-match-item-list | mix-match-item-list | (provides productContext to the card; another sanctioned storesynk-product nesting, fed via provideProduct(), no handle/product-id) |
(row card) storesynk-product inside addon-list | addon-list | (provides productContext to the card; the third sanctioned storesynk-product nesting, fed via provideProduct(), no handle/product-id) |
Imported from the Storesynk skill v0.1.0 (references/component-reference.md). To change this page, change it there.