@ribajs/shopify
Version:
Shopify extension for Riba.js
51 lines (50 loc) • 2.28 kB
TypeScript
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>;
}