@liquidcloud/modules-react
v0.1.1
Published
Liquid UI React Components
Downloads
3
Keywords
Readme
Liquid Modules
Getting Started
The Liquid Modules is comprised of modular components encapsulated by our LiquidCommerce SDK.
Components are pre-built, easily styled to assist users in the creation and implementation of a shopping journey from product discovery to order placement without the need to implement functionality against the user interactions.
The Modules were designed to handle the most critical touch-points of the optimized shopping journey specifically for beverage alcohol eCommerce. By simplifying these interactions while also providing customization options, these solutions can cover a variety of use cases and are essentially ready out of the box.
The SDK was built using Web Components but also provided as React components. You can install the package through NPM.
# for Web Components
npm install @liquidcloud/modules-react
# or
yarn add @liquidcloud/modules-react
# for React
npm install @liquidcloud/modules-react
# or
yarn add @liquidcloud/modules-react
To further customize the UI components, users can access and edit our theme providers to ensure the component looks, feels, and functions like it is native.
Authentication
The Liquid Modules methods use API keys to authenticate requests. You can request your keys from your Partnerships liaison.
Development mode secret keys have the prefix dev_
and Production ready secret keys have the prefix prod_
.
Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
Once you create a new instance of the LiquidModules()
library it will generate an access token that then automatically attaches to each request, the access token has a 1 hour expiry that continues to refresh on each call. If an hour has passed without using the token, you must authenticate again to fetch a fresh access token.
import LiquidModules from '@liquidcloud/modules-react';
LiquidModules('dev_******************', {
// You'll need to provide your own Google Maps API Key
googlePlacesApiKey: 'AIzaSyD_******************-********',
}).then((liquidModules) => {
const { setDeliveryAddress } = liquidModules;
// Setting your address
setDeliveryAddress({
address: {
one: '100 madison ave',
two: 'apt 1707',
city: 'New york',
state: 'NY',
zip: '10016',
},
});
});
Product
The product module is a fully encapsulated product details component, with real-time availability and all necessary functionality for user interactions.
import type { FC } from 'react';
import { useEffect } from 'react';
import LiquidModules, { LiquidProductInfo } from '@liquidcloud/modules-react';
const styles: Record<string, any> = {
colors: { primary: '#1F5EA9', bg: { primary: '#FFFFFF', secondary: '#F4F9FD' } }, // remove
fonts: { color: '#1E293B', family: 'Poppins' }, // remove
rounded: true, // remove
text: {
headings: {
font: 'Montserrat',
color: '#1E293B',
},
body: {
font: 'Montserrat',
color: '#1E293B',
},
hyperlink: {
font: 'Montserrat',
color: '#A58154F1',
},
},
components: {
qtyElement: {
type: '-/+',
active: true,
text: '#0f172a',
bg: '#\tD1D5DB',
border: '#0F172A',
btnText: '#0f172a',
btnBg: '#D1D5DB',
btnBorder: '#0F172A',
},
cartItem: {
imgBorder: {
active: true,
border: '#A58154F1',
},
bg: '#333333',
border: '#A58154F1',
},
overlay: {
btnSave: {
text: '#FFFFFF',
bg: '#A58154F1',
border: '#A58154F1',
},
btnCancel: {
text: '#A58154F1',
bg: '#FFFFFF',
border: '#A58154F1',
},
},
alerts: {
text: '#60A5FA',
bg: '#F0F9FF',
border: '#F0F9FF',
},
},
general: {
header: {
text: '#F0F9FF',
bg: '#0F172A',
border: '#A58154F1',
btnText: '#F0F9FF',
btnBg: '#EF444400',
btnBorder: '#A58154F1',
},
footer: {
text: '#F0F9FF',
bg: '#0F172A',
border: '#A58154F1',
btnText: '#F0F9FF',
btnBg: '#EF444400',
btnBorder: '#A58154F1',
},
element: {
corners: 'sharp',
bg: '#333333',
border: '#A58154F1',
liquidLegal: true,
},
engraving: {
active: true,
},
},
};
const LiquidProductPage: FC = () => {
useEffect(() => {
// Your Account token provided to you through your account representative
LiquidModules('dev_******************', {
// You'll need to provide your own Google Maps API Key
googlePlacesApiKey: 'AIzaSyD_******************-********',
}).then((liquidModules) => {
const { setDeliveryAddress } = liquidModules;
// Setting your address
setDeliveryAddress({
address: {
one: '100 madison ave',
two: 'apt 1707',
city: 'New york',
state: 'NY',
zip: '10016',
},
});
});
}, []);
return (
<div style={{ maxWidth: '500px' }}>
<LiquidProductInfo upc="00619947000020" styles={styles} />
</div>
);
};
export default LiquidProductPage;