UNPKG

@ribajs/shopify

Version:

Shopify extension for Riba.js

51 lines (50 loc) 2.28 kB
import { Component, ScopeBase } from "@ribajs/core"; import { ShopifyProductVariant, ShopifyProduct, ShopifyProductVariantOption } from "@ribajs/shopify"; export interface Scope extends ScopeBase { handle: string | null; product: ShopifyProduct | null; variant: ShopifyProductVariant | null; quantity: number; showDetailMenu: boolean; detailMenuPadding: string; chooseOption: ShopifyProductItemComponent["chooseOption"]; addToCart: ShopifyProductItemComponent["addToCart"]; toggleDetailMenu: ShopifyProductItemComponent["toggleDetailMenu"]; decrease: ShopifyProductItemComponent["decrease"]; increase: ShopifyProductItemComponent["increase"]; colorOption: ShopifyProductVariantOption | null; sizeOption: ShopifyProductVariantOption | null; available: boolean; } export declare class ShopifyProductItemComponent extends Component { static tagName: string; protected autobind: boolean; static get observedAttributes(): string[]; protected requiredAttributes(): string[]; scope: Scope; private selectedOptions; private _menuPadding; private optionChosen; protected set menuPadding(padding: number); protected set available(available: boolean); protected set showMenu(show: boolean); protected get showMenu(): boolean; protected set product(product: ShopifyProduct | null); protected get product(): ShopifyProduct | null; protected set variant(variant: ShopifyProductVariant | null); protected get variant(): ShopifyProductVariant | null; constructor(); protected connectedCallback(): void; chooseOption(optionValue: string | number, position1: number, optionName: string, event: MouseEvent): void; addToCart(): void; toggleDetailMenu(): void; increase(): void; decrease(): void; protected activateOption(optionValue: string, optionName: string): void; protected activateOptions(): void; protected beforeBind(): Promise<void>; protected fetchProduct(handle: string): Promise<ShopifyProduct>; protected parsedAttributeChangedCallback(attributeName: string, oldValue: any, newValue: any, namespace: string | null): void; protected afterBind(): Promise<void>; protected template(): Promise<string | null>; }