Web components overview
Every salla-* web component the storefront can use, with its properties, events, methods and slots.
Salla ships its storefront widgets as web components (<salla-*> tags) in @salla.sa/twilight-components. A theme can use them from React. Each page lists what the component accepts, so an assistant (or you) does not need to guess attributes.
The same data is published with the package as @salla.sa/twilight-components/docs.json.
Which one do I use?
Choose the first that exists:
- A native engine component, such as
Link,ProductCardorBreadcrumb. - A native React version from
@salla.sa/twilight-components-react:SallaButton,SallaProductsList,SallaProductsSlider,SallaSlider(marked native below). - A React wrapper of the web component:
import { SallaX } from '@salla.sa/twilight-components-react/x'(marked wrapper). The subpath is the tag withoutsalla-. - The raw tag
<salla-x>, only when no wrapper exists.
In a wrapper, set props by their Property name (camelCase). In a raw tag, use the Attribute name (kebab-case). Complex values (objects, arrays) are passed as props, not attributes.
All components
Interface
| Tag | Properties | Events | Methods | In React |
|---|---|---|---|---|
<salla-accordion> | 4 | 0 | 0 | wrapper |
<salla-alert> | 3 | 0 | 0 | wrapper |
<salla-badge> | 3 | 0 | 0 | wrapper |
<salla-bottom-alert> | 5 | 0 | 0 | wrapper |
<salla-breadcrumb> | 0 | 0 | 0 | native |
<salla-button> | 11 | 0 | 5 | native |
<salla-count-down> | 19 | 0 | 1 | wrapper |
<salla-drawer> | 11 | 1 | 5 | wrapper |
<salla-infinite-scroll> | 5 | 0 | 0 | wrapper |
<salla-list-tile> | 2 | 0 | 0 | wrapper |
<salla-loading> | 4 | 0 | 0 | wrapper |
<salla-maintenance-alert> | 0 | 0 | 0 | wrapper |
<salla-menu> | 6 | 0 | 0 | wrapper |
<salla-modal> | 14 | 2 | 5 | wrapper |
<salla-placeholder> | 3 | 0 | 0 | wrapper |
<salla-progress-bar> | 10 | 0 | 0 | wrapper |
<salla-skeleton> | 3 | 0 | 0 | wrapper |
<salla-slider> | 22 | 16 | 24 | native |
<salla-tabs> | 2 | 0 | 0 | wrapper |
<salla-tooltip> | 3 | 0 | 0 | wrapper |
Products
| Tag | Properties | Events | Methods | In React |
|---|---|---|---|---|
<salla-add-product-button> | 11 | 2 | 0 | wrapper |
<salla-applied-filters> | 0 | 0 | 0 | wrapper |
<salla-basket-gap> | 1 | 0 | 0 | wrapper |
<salla-bought-together> | 1 | 0 | 0 | wrapper |
<salla-bullet-delivery> | 0 | 4 | 2 | wrapper |
<salla-filters> | 1 | 1 | 4 | wrapper |
<salla-multiple-bundle-product> | 1 | 0 | 0 | wrapper |
<salla-price-range> | 4 | 1 | 1 | wrapper |
<salla-product-availability> | 4 | 0 | 0 | wrapper |
<salla-product-card> | 12 | 0 | 0 | wrapper |
<salla-product-card-embed> | 3 | 0 | 0 | wrapper |
<salla-product-options> | 8 | 1 | 11 | wrapper |
<salla-product-size-guide> | 0 | 0 | 2 | wrapper |
<salla-products-list> | 13 | 2 | 7 | native |
<salla-products-slider> | 12 | 0 | 0 | native |
<salla-quick-buy> | 12 | 2 | 0 | wrapper |
<salla-quick-order> | 9 | 1 | 0 | wrapper |
<salla-search> | 6 | 0 | 0 | wrapper |
<salla-searchable-dropdown> | 15 | 4 | 0 | wrapper |
Cart and offers
| Tag | Properties | Events | Methods | In React |
|---|---|---|---|---|
<salla-cart-coupons> | 0 | 0 | 1 | wrapper |
<salla-cart-item-offers> | 4 | 0 | 0 | wrapper |
<salla-cart-summary> | 1 | 0 | 1 | wrapper |
<salla-cashback-banner> | 0 | 0 | 0 | wrapper |
<salla-conditional-offer> | 0 | 0 | 0 | wrapper |
<salla-delivery-promise> | 0 | 0 | 0 | wrapper |
<salla-fulfillment-methods> | 0 | 0 | 0 | wrapper |
<salla-gift-card-redeem> | 0 | 1 | 0 | wrapper |
<salla-gifting> | 7 | 0 | 3 | wrapper |
<salla-installment> | 4 | 0 | 0 | wrapper |
<salla-next-order-coupon> | 0 | 0 | 0 | wrapper |
<salla-offer> | 1 | 0 | 0 | wrapper |
<salla-offer-modal> | 0 | 0 | 2 | wrapper |
<salla-payments> | 1 | 0 | 0 | wrapper |
<salla-tiered-offer> | 0 | 0 | 0 | wrapper |
Orders
| Tag | Properties | Events | Methods | In React |
|---|---|---|---|---|
<salla-edit-order-button> | 1 | 0 | 0 | wrapper |
<salla-order-branch> | 1 | 0 | 0 | wrapper |
<salla-order-cancel> | 2 | 0 | 0 | wrapper |
<salla-order-details> | 1 | 0 | 0 | wrapper |
<salla-order-edit> | 3 | 0 | 0 | wrapper |
<salla-order-options-modal> | 0 | 0 | 2 | wrapper |
<salla-order-shipments> | 1 | 0 | 0 | wrapper |
<salla-order-summary> | 1 | 0 | 0 | wrapper |
<salla-order-totals-card> | 1 | 0 | 0 | wrapper |
<salla-orders> | 2 | 0 | 0 | wrapper |
Reviews
| Tag | Properties | Events | Methods | In React |
|---|---|---|---|---|
<salla-comment-form> | 3 | 1 | 0 | wrapper |
<salla-comments> | 10 | 0 | 1 | wrapper |
<salla-rating-modal> | 2 | 0 | 3 | wrapper |
<salla-rating-stars> | 8 | 0 | 0 | wrapper |
<salla-review-card> | 1 | 0 | 0 | wrapper |
<salla-reviews> | 7 | 0 | 0 | wrapper |
<salla-reviews-page> | 0 | 0 | 0 | wrapper |
<salla-reviews-summary> | 1 | 0 | 0 | wrapper |
<salla-verified-review> | 1 | 0 | 0 | wrapper |
Account and loyalty
| Tag | Properties | Events | Methods | In React |
|---|---|---|---|---|
<salla-login-modal> | 9 | 0 | 1 | wrapper |
<salla-loyalty> | 7 | 0 | 4 | wrapper |
<salla-loyalty-banner> | 0 | 0 | 0 | wrapper |
<salla-loyalty-panel> | 3 | 0 | 0 | wrapper |
<salla-loyalty-points-banner> | 0 | 0 | 0 | wrapper |
<salla-loyalty-points-history> | 0 | 0 | 0 | wrapper |
<salla-loyalty-program> | 0 | 0 | 0 | wrapper |
<salla-notifications> | 2 | 0 | 0 | wrapper |
<salla-user-menu> | 5 | 0 | 0 | wrapper |
<salla-user-profile> | 1 | 0 | 0 | wrapper |
<salla-user-settings> | 0 | 0 | 0 | wrapper |
<salla-verify> | 4 | 1 | 2 | wrapper |
<salla-wallet> | 0 | 0 | 0 | wrapper |
<salla-wishlist-actions> | 0 | 0 | 4 | wrapper |
<salla-wishlist-summary> | 0 | 0 | 0 | wrapper |
Form fields
| Tag | Properties | Events | Methods | In React |
|---|---|---|---|---|
<salla-attachment-view> | 1 | 0 | 2 | wrapper |
<salla-attachments> | 8 | 0 | 0 | wrapper |
<salla-booking-field> | 2 | 1 | 0 | wrapper |
<salla-color-picker> | 7 | 5 | 6 | wrapper |
<salla-conditional-fields> | 0 | 0 | 0 | wrapper |
<salla-custom-fields> | 3 | 2 | 3 | wrapper |
<salla-datetime-picker> | 49 | 2 | 0 | wrapper |
<salla-file-upload> | 58 | 5 | 1 | wrapper |
<salla-quantity-input> | 1 | 0 | 3 | wrapper |
<salla-tel-input> | 5 | 1 | 2 | wrapper |
Store and platform
| Tag | Properties | Events | Methods | In React |
|---|---|---|---|---|
<salla-advertisement> | 0 | 0 | 0 | wrapper |
<salla-app-install-alert> | 0 | 0 | 0 | wrapper |
<salla-apps-icons> | 3 | 0 | 0 | wrapper |
<salla-contacts> | 5 | 0 | 0 | wrapper |
<salla-cookies-bar> | 0 | 0 | 3 | wrapper |
<salla-hook> | 1 | 0 | 1 | wrapper |
<salla-localization-modal> | 3 | 0 | 3 | wrapper |
<salla-map> | 10 | 4 | 2 | wrapper |
<salla-metadata> | 2 | 0 | 0 | wrapper |
<salla-scopes> | 2 | 0 | 3 | wrapper |
<salla-social> | 0 | 0 | 0 | wrapper |
<salla-social-share> | 5 | 0 | 3 | wrapper |
<salla-trust-badges> | 1 | 0 | 0 | wrapper |