UNPKG

trillion-widget

Version:

Trillion AR Widget

126 lines (96 loc) 3.84 kB
# Trillion AR Widget This is Trillion AR Widget that allow you to integrate Trillion SDK in your site. For more information please visit https://trillion.jewelry ## Installing Using npm: ```shell npm install trillion-widget ``` Using yarn: ```shell yarn add trillion-widget ``` ## How to use: First of all **get your API key** from https://dashboard.trillion.jewelry/integration Then you need to create an empty div element for widget initialization. For example: ```html <div id="trillion-widget"></div> ``` Then, in your js code (**don't forget to set your API key**): ```js import {TrillionWidgetApp} from "trillion-widget" const elem = document.getElementById('trillion-widget') const trillionWidget = new TrillionWidgetApp() trillionWidget.init(elem) trillionWidget.setServiceActivationKey("YOUR_API_KEY_HERE") trillionWidget.setJewelryID('demo-pendant-ar') trillionWidget.setJewelryType('necklace') trillionWidget.refresh() ``` For typescript: ```ts const elem = document.getElementById('trillion-widget') as HTMLElement ``` ## Instance methods * `trillionWidget#init()` - Create widget on the provided HTML element * `trillionWidget#setServiceActivationKey(KEY)` - Set API key for app * `trillionWidget#refresh()` - reload widget after changing parameters * `trillionWidget#setWidgetMode(mode)` - Set widget mode (basic, ring_carousel, two_hands) * `trillionWidget#getWidgetMode(mode)` - Get current widget mode * `trillionWidget#setJewelryID(sku)` - Set the id(SKU) of the jewelry to load * `trillionWidget#getJewelryID()` - Get the id(SKU) of the uploaded jewelry * `trillionWidget#setCarousel(sku[])` - Set a group of jewelry. If set, the widget shows selector with all elements of the group and ignores jewelry from setJewelryID By default, widget will load first element of the group * `trillionWidget#getCarousel()` - Get a group of jewelry * `trillionWidget#setJewelryType(type)` - Set the jewelry type (earrings, ring, necklace) to load. *Deprecated, type will be detected automatically* * `trillionWidget#getJewelryType()` - Get the uploaded jewelry type. *Deprecated, type will be detected automatically* * `trillionWidget#setUsePerformanceCheck(use)` - use performance check * `trillionWidget#getUsePerformanceCheck()` - get performance check * `trillionWidget#setLanguage(language)` - set language. Available languages: 'en', 'kr', 'ru' * `trillionWidget#getLanguage()` - get language * `trillionWidget#useExternalUi()` - Hide native UI * `trillionWidget#getScreenshot()` - Get screenshot ## Ring carousel Setting up the carousel mode: ```js trillionWidget.setWidgetMode("ring_carousel") // Enables carousel mode trillionWidget.setCarousel(["ring-sku-1", "ring-sku-2", "..."]) // Sets the SKUs of rings used ``` ### Custom If you want to control switching between carousel items yourself, you can hide the native UI and manually update the currently selected carousel item. For example: ```js trillionWidget.useExternalUi(true) trillionWidget.refresh() customButton1.addEventListener('click', () => { trillionWidget.updateCarouselItem('ring-sku-1') }) customButton2.addEventListener('click', () => { trillionWidget.updateCarouselItem('ring-sku-2') }) ``` ## Using CDN to get Trillion Widget use this pattern: `unpkg.com/:package@:version/:file` For example: ```js import {TrillionWidgetApp} from "https://sdk.trillion.jewelry/widget/latest/trillion-widget.js" ``` ## React component This library also provides the React component for widget. ### How to use import component: ```js import { TrillionWidget, JewelryTypeName } from "trillion-widget"; ``` use somewhere in your React application: ```js function MyComponent() { return ( <div className="MyComponent"> <TrillionWidget jewelryId={'demo-earrings'} jewelryType={JewelryTypeName.Earrings}/> </div> ) } ```