Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

trillion-widget

serjtrillion212MIT0.40.5TypeScript support: included

Trillion AR Widget

AR, Augmented Reality, Jewelry

readme

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:

npm install trillion-widget

Using yarn:

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:

 <div id="trillion-widget"></div>

Then, in your js code (don't forget to set your API key):

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:

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

Setting up the carousel mode:

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:

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:

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:

import { TrillionWidget, JewelryTypeName } from "trillion-widget";

use somewhere in your React application:

function MyComponent() {
  return (
    <div className="MyComponent">
        <TrillionWidget jewelryId={'demo-earrings'} jewelryType={JewelryTypeName.Earrings}/>
    </div>
  )
}