@commercelayer/react-components 2.47.0 → 2.48.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/lib/cjs/components/AddToCartButton.d.ts +2 -2
  2. package/lib/cjs/components/AvailabilityTemplate.d.ts +4 -1
  3. package/lib/cjs/components/AvailabilityTemplate.js +1 -1
  4. package/lib/cjs/components/GiftCardCurrencySelector.js +1 -1
  5. package/lib/cjs/components/VariantSelector.d.ts +4 -2
  6. package/lib/cjs/components/utils/VariantTemplate.d.ts +4 -2
  7. package/lib/cjs/components/utils/VariantTemplate.js +1 -1
  8. package/lib/cjs/config/currency.d.ts +5 -0
  9. package/lib/cjs/config/currency.js +1 -0
  10. package/lib/cjs/reducers/AvailabilityReducer.js +1 -1
  11. package/lib/cjs/reducers/VariantReducer.d.ts +3 -3
  12. package/lib/cjs/reducers/VariantReducer.js +1 -1
  13. package/lib/cjs/utils/getSkus.d.ts +1 -1
  14. package/lib/cjs/utils/getSkus.js +1 -1
  15. package/lib/esm/components/AddToCartButton.d.ts +2 -2
  16. package/lib/esm/components/AvailabilityTemplate.d.ts +4 -1
  17. package/lib/esm/components/AvailabilityTemplate.js +1 -1
  18. package/lib/esm/components/GiftCardCurrencySelector.js +1 -1
  19. package/lib/esm/components/VariantSelector.d.ts +4 -2
  20. package/lib/esm/components/utils/VariantTemplate.d.ts +4 -2
  21. package/lib/esm/components/utils/VariantTemplate.js +1 -1
  22. package/lib/esm/config/currency.d.ts +5 -0
  23. package/lib/esm/config/currency.js +1 -0
  24. package/lib/esm/reducers/AvailabilityReducer.js +1 -1
  25. package/lib/esm/reducers/VariantReducer.d.ts +3 -3
  26. package/lib/esm/reducers/VariantReducer.js +1 -1
  27. package/lib/esm/utils/getSkus.d.ts +1 -1
  28. package/lib/esm/utils/getSkus.js +1 -1
  29. package/lib/tsconfig.prod.esm.tsbuildinfo +1 -1
  30. package/lib/tsconfig.prod.tsbuildinfo +1 -1
  31. package/package.json +4 -5
  32. package/lib/cjs/config/currency.json +0 -1
  33. package/lib/esm/config/currency.json +0 -1
@@ -1,7 +1,7 @@
1
1
  import { FunctionComponent, PropsWithoutRef, ReactNode } from 'react';
2
2
  import { FunctionChildren } from '../typings/index';
3
3
  import { AddToCartReturn } from '../reducers/OrderReducer';
4
- import { VariantOptions } from './VariantSelector';
4
+ import { VariantOption } from './VariantSelector';
5
5
  declare type ChildrenProps = {
6
6
  handleClick: () => AddToCartReturn;
7
7
  } & Omit<AddToCartButtonProps, 'children'>;
@@ -14,7 +14,7 @@ declare type AddToCartButtonProps = {
14
14
  bundleCode?: string;
15
15
  disabled?: boolean;
16
16
  skuListId?: string;
17
- lineItem?: VariantOptions['lineItem'];
17
+ lineItem?: VariantOption['lineItem'];
18
18
  } & PropsWithoutRef<JSX.IntrinsicElements['button']>;
19
19
  declare const AddToCartButton: FunctionComponent<AddToCartButtonProps>;
20
20
  export default AddToCartButton;
@@ -1,7 +1,10 @@
1
1
  import { FunctionComponent } from 'react';
2
2
  import { TimeFormat, FunctionChildren } from '../typings/index';
3
3
  import { DeliveryLeadTime } from '../reducers/AvailabilityReducer';
4
- declare type AvailabilityTemplateChildrenProps = FunctionChildren<Omit<AvailabilityTemplateProps, 'children'> & DeliveryLeadTime>;
4
+ declare type AvailabilityTemplateChildrenProps = FunctionChildren<Omit<AvailabilityTemplateProps, 'children'> & DeliveryLeadTime & {
5
+ text: string;
6
+ quantity: number;
7
+ }>;
5
8
  declare type AvailabilityTemplateProps = {
6
9
  children?: AvailabilityTemplateChildrenProps;
7
10
  timeFormat?: TimeFormat;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});const tslib_1=require("tslib");const jsx_runtime_1=require("react/jsx-runtime");const react_1=require("react");const AvailabilityContext_1=(0,tslib_1.__importDefault)(require("../context/AvailabilityContext"));const Parent_1=(0,tslib_1.__importDefault)(require("./utils/Parent"));const lodash_1=require("lodash");const components_1=(0,tslib_1.__importDefault)(require("../config/components"));const propTypes=components_1.default.AvailabilityTemplate.propTypes;const defaultProps=components_1.default.AvailabilityTemplate.defaultProps;const displayName=components_1.default.AvailabilityTemplate.displayName;const AvailabilityTemplate=t=>{const{timeFormat:e,showShippingMethodName:i,children:a}=t,s=(0,tslib_1.__rest)(t,["timeFormat","showShippingMethodName","children"]);const{min:l,max:o,shipping_method:n,quantity:p}=(0,react_1.useContext)(AvailabilityContext_1.default);const r=!(0,lodash_1.isEmpty)(l)&&e?l===null||l===void 0?void 0:l[e]:"";const c=!(0,lodash_1.isEmpty)(o)&&e?o===null||o===void 0?void 0:o[e]:"";const m=[];const u=i&&n?`with ${n.name}`:"";if(p&&p>0){m.push("Available");if(r&&c){m.push(`in ${r} - ${c} ${e} ${u}`)}}else if(p===0){m.push("Out of stock")}const _=Object.assign({min:l,max:o,shipping_method:n,quantity:p},t);return a?(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},_,{children:a}),void 0):(0,jsx_runtime_1.jsx)("p",Object.assign({},s,{children:m.join(" ")}),void 0)};AvailabilityTemplate.propTypes=propTypes;AvailabilityTemplate.defaultProps=defaultProps;AvailabilityTemplate.displayName=displayName;exports.default=AvailabilityTemplate;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});const tslib_1=require("tslib");const jsx_runtime_1=require("react/jsx-runtime");const react_1=require("react");const AvailabilityContext_1=(0,tslib_1.__importDefault)(require("../context/AvailabilityContext"));const Parent_1=(0,tslib_1.__importDefault)(require("./utils/Parent"));const lodash_1=require("lodash");const components_1=(0,tslib_1.__importDefault)(require("../config/components"));const propTypes=components_1.default.AvailabilityTemplate.propTypes;const defaultProps=components_1.default.AvailabilityTemplate.defaultProps;const displayName=components_1.default.AvailabilityTemplate.displayName;const AvailabilityTemplate=t=>{const{timeFormat:e,showShippingMethodName:i,children:a}=t,s=(0,tslib_1.__rest)(t,["timeFormat","showShippingMethodName","children"]);const{min:l,max:o,shipping_method:n,quantity:p}=(0,react_1.useContext)(AvailabilityContext_1.default);const r=!(0,lodash_1.isEmpty)(l)&&e?l===null||l===void 0?void 0:l[e]:"";const c=!(0,lodash_1.isEmpty)(o)&&e?o===null||o===void 0?void 0:o[e]:"";const m=[];const u=i&&n?`with ${n.name}`:"";if(p&&p>0){m.push("Available");if(r&&c){m.push(`in ${r} - ${c} ${e} ${u}`)}}else if(p===0){m.push("Out of stock")}const _=Object.assign({min:l,max:o,shipping_method:n,quantity:p,text:m.join(" ")},t);return a?(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},_,{children:a}),void 0):(0,jsx_runtime_1.jsx)("p",Object.assign({},s,{children:m.join(" ")}),void 0)};AvailabilityTemplate.propTypes=propTypes;AvailabilityTemplate.defaultProps=defaultProps;AvailabilityTemplate.displayName=displayName;exports.default=AvailabilityTemplate;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});const tslib_1=require("tslib");const jsx_runtime_1=require("react/jsx-runtime");const BaseSelect_1=(0,tslib_1.__importDefault)(require("./utils/BaseSelect"));const currency_json_1=(0,tslib_1.__importDefault)(require("../config/currency.json"));const components_1=(0,tslib_1.__importDefault)(require("../config/components"));const propTypes=components_1.default.GiftCardCurrencySelector.propTypes;const defaultProps=components_1.default.GiftCardCurrencySelector.defaultProps;const displayName=components_1.default.GiftCardCurrencySelector.displayName;const GiftCardCurrencySelector=e=>(0,jsx_runtime_1.jsx)(BaseSelect_1.default,Object.assign({options:currency_json_1.default,name:"currencyCode"},e),void 0);GiftCardCurrencySelector.propTypes=propTypes;GiftCardCurrencySelector.defaultProps=defaultProps;GiftCardCurrencySelector.displayName=displayName;exports.default=GiftCardCurrencySelector;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});const tslib_1=require("tslib");const jsx_runtime_1=require("react/jsx-runtime");const BaseSelect_1=(0,tslib_1.__importDefault)(require("./utils/BaseSelect"));const currency_1=(0,tslib_1.__importDefault)(require("../config/currency"));const components_1=(0,tslib_1.__importDefault)(require("../config/components"));const propTypes=components_1.default.GiftCardCurrencySelector.propTypes;const defaultProps=components_1.default.GiftCardCurrencySelector.defaultProps;const displayName=components_1.default.GiftCardCurrencySelector.displayName;const GiftCardCurrencySelector=e=>(0,jsx_runtime_1.jsx)(BaseSelect_1.default,Object.assign({options:currency_1.default,name:"currencyCode"},e),void 0);GiftCardCurrencySelector.propTypes=propTypes;GiftCardCurrencySelector.defaultProps=defaultProps;GiftCardCurrencySelector.displayName=displayName;exports.default=GiftCardCurrencySelector;
@@ -1,8 +1,9 @@
1
1
  import { FunctionComponent, ReactNode } from 'react';
2
+ import { VariantHandleCallback } from './utils/VariantTemplate';
2
3
  import { BaseSelectorType } from '../typings/index';
3
4
  import { FunctionChildren } from '../typings/index';
4
5
  import { VariantsObject, SetSkuCode } from '../reducers/VariantReducer';
5
- export interface VariantOptions {
6
+ export interface VariantOption {
6
7
  label: string;
7
8
  code: string;
8
9
  lineItem?: {
@@ -17,11 +18,12 @@ declare type VariantSelectorChildrenProps = FunctionChildren<Omit<VariantSelecto
17
18
  }>;
18
19
  declare type VariantSelectorProps = {
19
20
  children?: VariantSelectorChildrenProps;
20
- options: VariantOptions[];
21
+ options: VariantOption[];
21
22
  type?: BaseSelectorType;
22
23
  loader?: ReactNode;
23
24
  placeholder?: string;
24
25
  skuCode?: string;
26
+ handleCallback?: VariantHandleCallback;
25
27
  } & JSX.IntrinsicElements['input'] & JSX.IntrinsicElements['select'];
26
28
  declare const VariantSelector: FunctionComponent<VariantSelectorProps>;
27
29
  export default VariantSelector;
@@ -2,7 +2,7 @@ import { FunctionComponent, ReactNode } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { BaseSelectorType } from '../../typings/index';
4
4
  import { VariantsObject, SetSkuCode } from '../../reducers/VariantReducer';
5
- import { VariantOptions } from '../VariantSelector';
5
+ import { VariantOption } from '../VariantSelector';
6
6
  export declare const propTypes: {
7
7
  variants: PropTypes.Validator<any>;
8
8
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
@@ -21,14 +21,16 @@ export declare const propTypes: {
21
21
  placeholder: PropTypes.Requireable<string>;
22
22
  skuCode: PropTypes.Requireable<string>;
23
23
  };
24
+ export declare type VariantHandleCallback = (variant: VariantOption) => void;
24
25
  export declare type VariantTemplateProps = {
25
26
  variants: VariantsObject | Record<string, any>;
26
27
  handleChange?: SetSkuCode;
27
- options: VariantOptions[];
28
+ options: VariantOption[];
28
29
  type?: BaseSelectorType;
29
30
  loader?: ReactNode;
30
31
  placeholder?: string;
31
32
  skuCode?: string;
33
+ handleCallback?: VariantHandleCallback;
32
34
  } & JSX.IntrinsicElements['input'] & JSX.IntrinsicElements['select'];
33
35
  declare const VariantTemplate: FunctionComponent<VariantTemplateProps>;
34
36
  export default VariantTemplate;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.propTypes=void 0;const tslib_1=require("tslib");const jsx_runtime_1=require("react/jsx-runtime");const react_1=require("react");const lodash_1=require("lodash");const prop_types_1=(0,tslib_1.__importDefault)(require("prop-types"));exports.propTypes={variants:prop_types_1.default.any.isRequired,onChange:prop_types_1.default.func,options:prop_types_1.default.arrayOf(prop_types_1.default.shape({label:prop_types_1.default.string.isRequired,code:prop_types_1.default.string.isRequired,lineItem:prop_types_1.default.shape({name:prop_types_1.default.string.isRequired,imageUrl:prop_types_1.default.string})}).isRequired).isRequired,name:prop_types_1.default.string,children:prop_types_1.default.func,type:prop_types_1.default.oneOf(["select","radio"]),loader:prop_types_1.default.element,placeholder:prop_types_1.default.string,skuCode:prop_types_1.default.string};const VariantTemplate=e=>{const{id:t,variants:s,type:r,placeholder:a,options:p,skuCode:i,handleChange:n}=e,o=(0,tslib_1.__rest)(e,["id","variants","type","placeholder","options","skuCode","handleChange"]);const d=(0,lodash_1.keys)(s).map(((e,a)=>{const d=i===e;return r==="select"?(0,jsx_runtime_1.jsx)("option",Object.assign({"data-sku-id":s[e].id,value:s[e].code},{children:p.length>0?p[a].label:s[e].name}),s[e].id):(0,jsx_runtime_1.jsxs)(react_1.Fragment,{children:[(0,jsx_runtime_1.jsx)("input",Object.assign({id:t&&`${t}-${a}`,defaultChecked:d,type:"radio",value:s[e].code,onChange:t=>n&&n(t.target.value,s[e].id)},o),void 0),p.length>0?p[a].label:s[e].name]},s[e].id)}));if(r==="select"){return(0,jsx_runtime_1.jsxs)("select",Object.assign({id:t,onChange:e=>{const t=e.target.value;const s=e.target.selectedIndex;const r=e.target[s].dataset.skuId;n&&n(t,r)},value:i||""},o,{children:[(0,jsx_runtime_1.jsx)("option",Object.assign({disabled:!!i},{children:a}),void 0),d]}),void 0)}return(0,jsx_runtime_1.jsx)(react_1.Fragment,{children:d},void 0)};VariantTemplate.propTypes=exports.propTypes;exports.default=VariantTemplate;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.propTypes=void 0;const tslib_1=require("tslib");const jsx_runtime_1=require("react/jsx-runtime");const react_1=require("react");const lodash_1=require("lodash");const prop_types_1=(0,tslib_1.__importDefault)(require("prop-types"));exports.propTypes={variants:prop_types_1.default.any.isRequired,onChange:prop_types_1.default.func,options:prop_types_1.default.arrayOf(prop_types_1.default.shape({label:prop_types_1.default.string.isRequired,code:prop_types_1.default.string.isRequired,lineItem:prop_types_1.default.shape({name:prop_types_1.default.string.isRequired,imageUrl:prop_types_1.default.string})}).isRequired).isRequired,name:prop_types_1.default.string,children:prop_types_1.default.func,type:prop_types_1.default.oneOf(["select","radio"]),loader:prop_types_1.default.element,placeholder:prop_types_1.default.string,skuCode:prop_types_1.default.string};const VariantTemplate=e=>{const{id:t,variants:s,type:a,placeholder:r,options:p,skuCode:i,handleChange:n,handleCallback:o}=e,l=(0,tslib_1.__rest)(e,["id","variants","type","placeholder","options","skuCode","handleChange","handleCallback"]);const d=(0,lodash_1.keys)(s).map(((e,r)=>{const d=i===e;const _=p.length>0?p[r].label:s[e].name;return a==="select"?(0,jsx_runtime_1.jsx)("option",Object.assign({"data-sku-id":s[e].id,"data-label":_,value:s[e].code},{children:_}),s[e].id):(0,jsx_runtime_1.jsxs)(react_1.Fragment,{children:[(0,jsx_runtime_1.jsx)("input",Object.assign({id:t&&`${t}-${r}`,defaultChecked:d,type:"radio",value:s[e].code,onChange:t=>{const a=t.target.value;n&&n(a,s[e].id);o&&o({code:a,label:_})}},l),void 0),_]},s[e].id)}));if(a==="select"){return(0,jsx_runtime_1.jsxs)("select",Object.assign({id:t,title:"Variant selector",onChange:e=>{const t=e.target.value;const s=e.target.selectedIndex;const a=e.target[s].dataset.skuId;const r=e.target[s].dataset.label;n&&n(t,a);o&&o({code:t,label:r})},value:i||""},l,{children:[(0,jsx_runtime_1.jsx)("option",Object.assign({disabled:!!i},{children:r}),void 0),d]}),void 0)}return(0,jsx_runtime_1.jsx)(react_1.Fragment,{children:d},void 0)};VariantTemplate.propTypes=exports.propTypes;exports.default=VariantTemplate;
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ value: string;
3
+ label: string;
4
+ }[];
5
+ export default _default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=[{value:"AED",label:"AED"},{value:"AFN",label:"AFN"},{value:"ALL",label:"ALL"},{value:"AMD",label:"AMD"},{value:"ANG",label:"ANG"},{value:"AOA",label:"AOA"},{value:"ARS",label:"ARS"},{value:"AUD",label:"AUD"},{value:"AWG",label:"AWG"},{value:"AZN",label:"AZN"},{value:"BAM",label:"BAM"},{value:"BBD",label:"BBD"},{value:"BDT",label:"BDT"},{value:"BGN",label:"BGN"},{value:"BHD",label:"BHD"},{value:"BIF",label:"BIF"},{value:"BMD",label:"BMD"},{value:"BND",label:"BND"},{value:"BOB",label:"BOB"},{value:"BRL",label:"BRL"},{value:"BSD",label:"BSD"},{value:"BTN",label:"BTN"},{value:"BWP",label:"BWP"},{value:"BYN",label:"BYN"},{value:"BYR",label:"BYR"},{value:"BZD",label:"BZD"},{value:"CAD",label:"CAD"},{value:"CDF",label:"CDF"},{value:"CHF",label:"CHF"},{value:"CLF",label:"CLF"},{value:"CLP",label:"CLP"},{value:"CNY",label:"CNY"},{value:"COP",label:"COP"},{value:"CRC",label:"CRC"},{value:"CUC",label:"CUC"},{value:"CUP",label:"CUP"},{value:"CVE",label:"CVE"},{value:"CZK",label:"CZK"},{value:"DJF",label:"DJF"},{value:"DKK",label:"DKK"},{value:"DOP",label:"DOP"},{value:"DZD",label:"DZD"},{value:"EGP",label:"EGP"},{value:"ERN",label:"ERN"},{value:"ETB",label:"ETB"},{value:"EUR",label:"EUR"},{value:"FJD",label:"FJD"},{value:"FKP",label:"FKP"},{value:"GBP",label:"GBP"},{value:"GEL",label:"GEL"},{value:"GHS",label:"GHS"},{value:"GIP",label:"GIP"},{value:"GMD",label:"GMD"},{value:"GNF",label:"GNF"},{value:"GTQ",label:"GTQ"},{value:"GYD",label:"GYD"},{value:"HKD",label:"HKD"},{value:"HNL",label:"HNL"},{value:"HRK",label:"HRK"},{value:"HTG",label:"HTG"},{value:"HUF",label:"HUF"},{value:"IDR",label:"IDR"},{value:"ILS",label:"ILS"},{value:"INR",label:"INR"},{value:"IQD",label:"IQD"},{value:"IRR",label:"IRR"},{value:"ISK",label:"ISK"},{value:"JMD",label:"JMD"},{value:"JOD",label:"JOD"},{value:"JPY",label:"JPY"},{value:"KES",label:"KES"},{value:"KGS",label:"KGS"},{value:"KHR",label:"KHR"},{value:"KMF",label:"KMF"},{value:"KPW",label:"KPW"},{value:"KRW",label:"KRW"},{value:"KWD",label:"KWD"},{value:"KYD",label:"KYD"},{value:"KZT",label:"KZT"},{value:"LAK",label:"LAK"},{value:"LBP",label:"LBP"},{value:"LKR",label:"LKR"},{value:"LRD",label:"LRD"},{value:"LSL",label:"LSL"},{value:"LTL",label:"LTL"},{value:"LVL",label:"LVL"},{value:"LYD",label:"LYD"},{value:"MAD",label:"MAD"},{value:"MDL",label:"MDL"},{value:"MGA",label:"MGA"},{value:"MKD",label:"MKD"},{value:"MMK",label:"MMK"},{value:"MNT",label:"MNT"},{value:"MOP",label:"MOP"},{value:"MRO",label:"MRO"},{value:"MUR",label:"MUR"},{value:"MVR",label:"MVR"},{value:"MWK",label:"MWK"},{value:"MXN",label:"MXN"},{value:"MYR",label:"MYR"},{value:"MZN",label:"MZN"},{value:"NAD",label:"NAD"},{value:"NGN",label:"NGN"},{value:"NIO",label:"NIO"},{value:"NOK",label:"NOK"},{value:"NPR",label:"NPR"},{value:"NZD",label:"NZD"},{value:"OMR",label:"OMR"},{value:"PAB",label:"PAB"},{value:"PEN",label:"PEN"},{value:"PGK",label:"PGK"},{value:"PHP",label:"PHP"},{value:"PKR",label:"PKR"},{value:"PLN",label:"PLN"},{value:"PYG",label:"PYG"},{value:"QAR",label:"QAR"},{value:"RON",label:"RON"},{value:"RSD",label:"RSD"},{value:"RUB",label:"RUB"},{value:"RWF",label:"RWF"},{value:"SAR",label:"SAR"},{value:"SBD",label:"SBD"},{value:"SCR",label:"SCR"},{value:"SDG",label:"SDG"},{value:"SEK",label:"SEK"},{value:"SGD",label:"SGD"},{value:"SHP",label:"SHP"},{value:"SKK",label:"SKK"},{value:"SLL",label:"SLL"},{value:"SOS",label:"SOS"},{value:"SRD",label:"SRD"},{value:"SSP",label:"SSP"},{value:"STD",label:"STD"},{value:"SVC",label:"SVC"},{value:"SYP",label:"SYP"},{value:"SZL",label:"SZL"},{value:"THB",label:"THB"},{value:"TJS",label:"TJS"},{value:"TMT",label:"TMT"},{value:"TND",label:"TND"},{value:"TOP",label:"TOP"},{value:"TRY",label:"TRY"},{value:"TTD",label:"TTD"},{value:"TWD",label:"TWD"},{value:"TZS",label:"TZS"},{value:"UAH",label:"UAH"},{value:"UGX",label:"UGX"},{value:"USD",label:"USD"},{value:"UYU",label:"UYU"},{value:"UZS",label:"UZS"},{value:"VEF",label:"VEF"},{value:"VND",label:"VND"},{value:"VUV",label:"VUV"},{value:"WST",label:"WST"},{value:"XAF",label:"XAF"},{value:"XAG",label:"XAG"},{value:"XAU",label:"XAU"},{value:"XBA",label:"XBA"},{value:"XBB",label:"XBB"},{value:"XBC",label:"XBC"},{value:"XBD",label:"XBD"},{value:"XCD",label:"XCD"},{value:"XDR",label:"XDR"},{value:"XOF",label:"XOF"},{value:"XPD",label:"XPD"},{value:"XPF",label:"XPF"},{value:"XPT",label:"XPT"},{value:"XTS",label:"XTS"},{value:"YER",label:"YER"},{value:"ZAR",label:"ZAR"},{value:"ZMK",label:"ZMK"},{value:"ZMW",label:"ZMW"},{value:"BTC",label:"BTC"},{value:"JEP",label:"JEP"},{value:"GGP",label:"GGP"},{value:"IMP",label:"IMP"},{value:"XFU",label:"XFU"},{value:"GBX",label:"GBX"},{value:"CNH",label:"CNH"},{value:"EEK",label:"EEK"},{value:"GHS",label:"GHS"},{value:"MTL",label:"MTL"},{value:"TMM",label:"TMM"},{value:"JPY",label:"JPY"},{value:"ZWD",label:"ZWD"},{value:"ZWL",label:"ZWL"},{value:"ZWN",label:"ZWN"},{value:"ZWR",label:"ZWR"}];
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getAvailability=exports.availabilityInitialState=void 0;const tslib_1=require("tslib");const baseReducer_1=(0,tslib_1.__importDefault)(require("../utils/baseReducer"));const getSdk_1=(0,tslib_1.__importDefault)(require("../utils/getSdk"));exports.availabilityInitialState={quantity:null,min:{days:0,hours:0},max:{days:0,hours:0},errors:[]};const getAvailability=async({skuCode:t,dispatch:i,config:e})=>{var s;const a=(0,getSdk_1.default)(e);try{const[e]=await a.skus.list({fields:{skus:["id"]},filters:{code_in:t}});const l=await a.skus.retrieve(e.id,{fields:{skus:["inventory"]}});const[o]=(s=l.inventory)===null||s===void 0?void 0:s.levels;const[r]=o===null||o===void 0?void 0:o.delivery_lead_times;i({type:"setAvailability",payload:Object.assign(Object.assign({},r),{quantity:o===null||o===void 0?void 0:o.quantity})})}catch(t){console.error("Get SKU availability",t)}};exports.getAvailability=getAvailability;const typeAction=["setAvailability","setErrors"];const availabilityReducer=(t,i)=>(0,baseReducer_1.default)(t,i,typeAction);exports.default=availabilityReducer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getAvailability=exports.availabilityInitialState=void 0;const tslib_1=require("tslib");const baseReducer_1=(0,tslib_1.__importDefault)(require("../utils/baseReducer"));const getSdk_1=(0,tslib_1.__importDefault)(require("../utils/getSdk"));exports.availabilityInitialState={quantity:null,min:{days:0,hours:0},max:{days:0,hours:0},errors:[]};const getAvailability=async({skuCode:t,dispatch:i,config:e})=>{var s;const a=(0,getSdk_1.default)(e);try{const[e]=await a.skus.list({fields:{skus:["id"]},filters:{code_in:t}});const l=await a.skus.retrieve(e.id,{fields:{skus:["inventory"]}});debugger;const[r]=((s=l.inventory)===null||s===void 0?void 0:s.levels)||[];const[o]=(r===null||r===void 0?void 0:r.delivery_lead_times)||[];i({type:"setAvailability",payload:Object.assign(Object.assign({},o),{quantity:l.inventory.quantity})})}catch(t){console.error("Get SKU availability",t)}};exports.getAvailability=getAvailability;const typeAction=["setAvailability","setErrors"];const availabilityReducer=(t,i)=>(0,baseReducer_1.default)(t,i,typeAction);exports.default=availabilityReducer;
@@ -1,5 +1,5 @@
1
1
  import { Sku } from '@commercelayer/sdk';
2
- import { VariantOptions } from '../components/VariantSelector';
2
+ import { VariantOption } from '../components/VariantSelector';
3
3
  import { Dispatch } from 'react';
4
4
  import { CommerceLayerConfig } from '../context/CommerceLayerContext';
5
5
  import { Items, CustomLineItem, SetCustomLineItems } from './ItemReducer';
@@ -15,7 +15,7 @@ export interface SetSkuCodeVariant {
15
15
  (params: SetSkuCodeVariantParams): void;
16
16
  }
17
17
  declare type SetVariantSkuCodesParams = {
18
- skuCodes: VariantOptions[];
18
+ skuCodes: VariantOption[];
19
19
  dispatch: Dispatch<VariantAction>;
20
20
  setCustomLineItems?: SetCustomLineItems;
21
21
  };
@@ -37,7 +37,7 @@ export interface VariantPayload {
37
37
  currentQuantity?: number;
38
38
  currentPrices?: Sku[];
39
39
  setSkuCode?: SetSkuCode;
40
- setSkuCodes?: (skuCodes: VariantOptions[]) => void;
40
+ setSkuCodes?: (skuCodes: VariantOption[]) => void;
41
41
  }
42
42
  export interface VariantState extends VariantPayload {
43
43
  skuCodes: string[];
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.variantInitialState=exports.unsetVariantState=exports.getVariants=exports.setSkuCode=exports.setVariantSkuCodes=void 0;const tslib_1=require("tslib");const baseReducer_1=(0,tslib_1.__importDefault)(require("../utils/baseReducer"));const getSkus_1=(0,tslib_1.__importDefault)(require("../utils/getSkus"));const lodash_1=require("lodash");const getSdk_1=(0,tslib_1.__importDefault)(require("../utils/getSdk"));const setVariantSkuCodes=({skuCodes:t,dispatch:e,setCustomLineItems:s})=>{const a={};const r=t.map((t=>{if((0,lodash_1.has)(t,"lineItem")){a[t.code]=t.lineItem}return t.code}));if(!(0,lodash_1.isEmpty)(a)){s&&s(a)}e({type:"setSkuCodes",payload:{skuCodes:r}})};exports.setVariantSkuCodes=setVariantSkuCodes;const setSkuCode=t=>{const{id:e,code:s,config:a,setItem:r,dispatch:o}=t;if(e){const t=(0,getSdk_1.default)(a);t.skus.retrieve(e,{include:["sku_options"]}).then((t=>{r&&r({[`${s}`]:t})})).catch((t=>{debugger;o({type:"setErrors",payload:{errors:t}})}))}};exports.setSkuCode=setSkuCode;const getVariants=t=>{const{config:e,state:s,skuCode:a,dispatch:r,setItem:o,filters:i}=t;const n=(0,getSdk_1.default)(e);n.skus.list({filters:Object.assign({code_in:s.skuCodes.join(",")},i)}).then((t=>{const s=(0,getSkus_1.default)(t);if(a){(0,exports.setSkuCode)({code:s[a].code,id:s[a].id,config:e,dispatch:r,setItem:o})}r({type:"setVariants",payload:{variants:s}});r({type:"setLoading",payload:{loading:false}})})).catch((t=>{r({type:"setErrors",payload:{errors:t}})}))};exports.getVariants=getVariants;const unsetVariantState=t=>{t({type:"setSkuCode",payload:{skuCode:""}});t({type:"setVariants",payload:{variants:{}}});t({type:"setLoading",payload:{loading:false}})};exports.unsetVariantState=unsetVariantState;exports.variantInitialState={loading:false,variants:{},skuCodes:[],skuCode:"",errors:[],currentSkuId:"",currentSkuInventory:{available:false,quantity:0,levels:[]},currentQuantity:1,currentPrices:[]};const actionType=["setLoading","setVariants","setSkuCodes","setSkuCode","setCurrentSkuId","setCurrentSkuInventory","setCurrentPrices","setErrors"];const variantReducer=(t,e)=>(0,baseReducer_1.default)(t,e,actionType);exports.default=variantReducer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.variantInitialState=exports.unsetVariantState=exports.getVariants=exports.setSkuCode=exports.setVariantSkuCodes=void 0;const tslib_1=require("tslib");const baseReducer_1=(0,tslib_1.__importDefault)(require("../utils/baseReducer"));const getSkus_1=(0,tslib_1.__importDefault)(require("../utils/getSkus"));const lodash_1=require("lodash");const getSdk_1=(0,tslib_1.__importDefault)(require("../utils/getSdk"));const setVariantSkuCodes=({skuCodes:e,dispatch:t,setCustomLineItems:s})=>{const a={};const r=e.map((e=>{if((0,lodash_1.has)(e,"lineItem")){a[e.code]=e.lineItem}return e.code}));if(!(0,lodash_1.isEmpty)(a)){s&&s(a)}t({type:"setSkuCodes",payload:{skuCodes:r}})};exports.setVariantSkuCodes=setVariantSkuCodes;const setSkuCode=e=>{const{id:t,code:s,config:a,setItem:r,dispatch:o}=e;if(t){const e=(0,getSdk_1.default)(a);e.skus.retrieve(t,{include:["sku_options"]}).then((e=>{r&&r({[`${s}`]:e})})).catch((e=>{debugger;o({type:"setErrors",payload:{errors:e}})}))}};exports.setSkuCode=setSkuCode;const getVariants=e=>{const{config:t,state:s,skuCode:a,dispatch:r,setItem:o,filters:i}=e;const n=(0,getSdk_1.default)(t);n.skus.list({filters:Object.assign({code_in:s.skuCodes.join(",")},i)}).then((e=>{const i=(0,getSkus_1.default)(e,s.skuCodes);if(a){(0,exports.setSkuCode)({code:i[a].code,id:i[a].id,config:t,dispatch:r,setItem:o})}r({type:"setVariants",payload:{variants:i}});r({type:"setLoading",payload:{loading:false}})})).catch((e=>{r({type:"setErrors",payload:{errors:e}})}))};exports.getVariants=getVariants;const unsetVariantState=e=>{e({type:"setSkuCode",payload:{skuCode:""}});e({type:"setVariants",payload:{variants:{}}});e({type:"setLoading",payload:{loading:false}})};exports.unsetVariantState=unsetVariantState;exports.variantInitialState={loading:false,variants:{},skuCodes:[],skuCode:"",errors:[],currentSkuId:"",currentSkuInventory:{available:false,quantity:0,levels:[]},currentQuantity:1,currentPrices:[]};const actionType=["setLoading","setVariants","setSkuCodes","setSkuCode","setCurrentSkuId","setCurrentSkuInventory","setCurrentPrices","setErrors"];const variantReducer=(e,t)=>(0,baseReducer_1.default)(e,t,actionType);exports.default=variantReducer;
@@ -1,3 +1,3 @@
1
1
  import { Sku } from '@commercelayer/sdk';
2
- declare const getSkus: (skus: Sku[]) => Record<string, any>;
2
+ declare const getSkus: (skus: Sku[], sortBy: string[]) => Record<string, any>;
3
3
  export default getSkus;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});const getSkus=e=>{const t={};e.forEach((e=>{if(e===null||e===void 0?void 0:e.code)t[e.code]=e}));return t};exports.default=getSkus;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});const getSkus=(e,t)=>{const o={};t.forEach((t=>{e.forEach((e=>{if((e===null||e===void 0?void 0:e.code)===t)o[e.code]=e}))}));return o};exports.default=getSkus;
@@ -1,7 +1,7 @@
1
1
  import { FunctionComponent, PropsWithoutRef, ReactNode } from 'react';
2
2
  import { FunctionChildren } from '../typings/index';
3
3
  import { AddToCartReturn } from '../reducers/OrderReducer';
4
- import { VariantOptions } from './VariantSelector';
4
+ import { VariantOption } from './VariantSelector';
5
5
  declare type ChildrenProps = {
6
6
  handleClick: () => AddToCartReturn;
7
7
  } & Omit<AddToCartButtonProps, 'children'>;
@@ -14,7 +14,7 @@ declare type AddToCartButtonProps = {
14
14
  bundleCode?: string;
15
15
  disabled?: boolean;
16
16
  skuListId?: string;
17
- lineItem?: VariantOptions['lineItem'];
17
+ lineItem?: VariantOption['lineItem'];
18
18
  } & PropsWithoutRef<JSX.IntrinsicElements['button']>;
19
19
  declare const AddToCartButton: FunctionComponent<AddToCartButtonProps>;
20
20
  export default AddToCartButton;
@@ -1,7 +1,10 @@
1
1
  import { FunctionComponent } from 'react';
2
2
  import { TimeFormat, FunctionChildren } from '../typings/index';
3
3
  import { DeliveryLeadTime } from '../reducers/AvailabilityReducer';
4
- declare type AvailabilityTemplateChildrenProps = FunctionChildren<Omit<AvailabilityTemplateProps, 'children'> & DeliveryLeadTime>;
4
+ declare type AvailabilityTemplateChildrenProps = FunctionChildren<Omit<AvailabilityTemplateProps, 'children'> & DeliveryLeadTime & {
5
+ text: string;
6
+ quantity: number;
7
+ }>;
5
8
  declare type AvailabilityTemplateProps = {
6
9
  children?: AvailabilityTemplateChildrenProps;
7
10
  timeFormat?: TimeFormat;
@@ -1 +1 @@
1
- import{__rest}from"tslib";import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import AvailabilityContext from"../context/AvailabilityContext";import Parent from"./utils/Parent";import{isEmpty}from"lodash";import components from"../config/components";const propTypes=components.AvailabilityTemplate.propTypes;const defaultProps=components.AvailabilityTemplate.defaultProps;const displayName=components.AvailabilityTemplate.displayName;const AvailabilityTemplate=t=>{const{timeFormat:i,showShippingMethodName:e,children:o}=t,a=__rest(t,["timeFormat","showShippingMethodName","children"]);const{min:s,max:p,shipping_method:l,quantity:n}=useContext(AvailabilityContext);const m=!isEmpty(s)&&i?s===null||s===void 0?void 0:s[i]:"";const r=!isEmpty(p)&&i?p===null||p===void 0?void 0:p[i]:"";const c=[];const d=e&&l?`with ${l.name}`:"";if(n&&n>0){c.push("Available");if(m&&r){c.push(`in ${m} - ${r} ${i} ${d}`)}}else if(n===0){c.push("Out of stock")}const y=Object.assign({min:s,max:p,shipping_method:l,quantity:n},t);return o?_jsx(Parent,Object.assign({},y,{children:o}),void 0):_jsx("p",Object.assign({},a,{children:c.join(" ")}),void 0)};AvailabilityTemplate.propTypes=propTypes;AvailabilityTemplate.defaultProps=defaultProps;AvailabilityTemplate.displayName=displayName;export default AvailabilityTemplate;
1
+ import{__rest}from"tslib";import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import AvailabilityContext from"../context/AvailabilityContext";import Parent from"./utils/Parent";import{isEmpty}from"lodash";import components from"../config/components";const propTypes=components.AvailabilityTemplate.propTypes;const defaultProps=components.AvailabilityTemplate.defaultProps;const displayName=components.AvailabilityTemplate.displayName;const AvailabilityTemplate=t=>{const{timeFormat:i,showShippingMethodName:e,children:o}=t,a=__rest(t,["timeFormat","showShippingMethodName","children"]);const{min:s,max:p,shipping_method:n,quantity:l}=useContext(AvailabilityContext);const m=!isEmpty(s)&&i?s===null||s===void 0?void 0:s[i]:"";const r=!isEmpty(p)&&i?p===null||p===void 0?void 0:p[i]:"";const c=[];const d=e&&n?`with ${n.name}`:"";if(l&&l>0){c.push("Available");if(m&&r){c.push(`in ${m} - ${r} ${i} ${d}`)}}else if(l===0){c.push("Out of stock")}const y=Object.assign({min:s,max:p,shipping_method:n,quantity:l,text:c.join(" ")},t);return o?_jsx(Parent,Object.assign({},y,{children:o}),void 0):_jsx("p",Object.assign({},a,{children:c.join(" ")}),void 0)};AvailabilityTemplate.propTypes=propTypes;AvailabilityTemplate.defaultProps=defaultProps;AvailabilityTemplate.displayName=displayName;export default AvailabilityTemplate;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import BaseSelect from"./utils/BaseSelect";import currencyOptions from"../config/currency.json";import components from"../config/components";const propTypes=components.GiftCardCurrencySelector.propTypes;const defaultProps=components.GiftCardCurrencySelector.defaultProps;const displayName=components.GiftCardCurrencySelector.displayName;const GiftCardCurrencySelector=e=>_jsx(BaseSelect,Object.assign({options:currencyOptions,name:"currencyCode"},e),void 0);GiftCardCurrencySelector.propTypes=propTypes;GiftCardCurrencySelector.defaultProps=defaultProps;GiftCardCurrencySelector.displayName=displayName;export default GiftCardCurrencySelector;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import BaseSelect from"./utils/BaseSelect";import currencyOptions from"../config/currency";import components from"../config/components";const propTypes=components.GiftCardCurrencySelector.propTypes;const defaultProps=components.GiftCardCurrencySelector.defaultProps;const displayName=components.GiftCardCurrencySelector.displayName;const GiftCardCurrencySelector=e=>_jsx(BaseSelect,Object.assign({options:currencyOptions,name:"currencyCode"},e),void 0);GiftCardCurrencySelector.propTypes=propTypes;GiftCardCurrencySelector.defaultProps=defaultProps;GiftCardCurrencySelector.displayName=displayName;export default GiftCardCurrencySelector;
@@ -1,8 +1,9 @@
1
1
  import { FunctionComponent, ReactNode } from 'react';
2
+ import { VariantHandleCallback } from './utils/VariantTemplate';
2
3
  import { BaseSelectorType } from '../typings/index';
3
4
  import { FunctionChildren } from '../typings/index';
4
5
  import { VariantsObject, SetSkuCode } from '../reducers/VariantReducer';
5
- export interface VariantOptions {
6
+ export interface VariantOption {
6
7
  label: string;
7
8
  code: string;
8
9
  lineItem?: {
@@ -17,11 +18,12 @@ declare type VariantSelectorChildrenProps = FunctionChildren<Omit<VariantSelecto
17
18
  }>;
18
19
  declare type VariantSelectorProps = {
19
20
  children?: VariantSelectorChildrenProps;
20
- options: VariantOptions[];
21
+ options: VariantOption[];
21
22
  type?: BaseSelectorType;
22
23
  loader?: ReactNode;
23
24
  placeholder?: string;
24
25
  skuCode?: string;
26
+ handleCallback?: VariantHandleCallback;
25
27
  } & JSX.IntrinsicElements['input'] & JSX.IntrinsicElements['select'];
26
28
  declare const VariantSelector: FunctionComponent<VariantSelectorProps>;
27
29
  export default VariantSelector;
@@ -2,7 +2,7 @@ import { FunctionComponent, ReactNode } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { BaseSelectorType } from '../../typings/index';
4
4
  import { VariantsObject, SetSkuCode } from '../../reducers/VariantReducer';
5
- import { VariantOptions } from '../VariantSelector';
5
+ import { VariantOption } from '../VariantSelector';
6
6
  export declare const propTypes: {
7
7
  variants: PropTypes.Validator<any>;
8
8
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
@@ -21,14 +21,16 @@ export declare const propTypes: {
21
21
  placeholder: PropTypes.Requireable<string>;
22
22
  skuCode: PropTypes.Requireable<string>;
23
23
  };
24
+ export declare type VariantHandleCallback = (variant: VariantOption) => void;
24
25
  export declare type VariantTemplateProps = {
25
26
  variants: VariantsObject | Record<string, any>;
26
27
  handleChange?: SetSkuCode;
27
- options: VariantOptions[];
28
+ options: VariantOption[];
28
29
  type?: BaseSelectorType;
29
30
  loader?: ReactNode;
30
31
  placeholder?: string;
31
32
  skuCode?: string;
33
+ handleCallback?: VariantHandleCallback;
32
34
  } & JSX.IntrinsicElements['input'] & JSX.IntrinsicElements['select'];
33
35
  declare const VariantTemplate: FunctionComponent<VariantTemplateProps>;
34
36
  export default VariantTemplate;
@@ -1 +1 @@
1
- import{__rest}from"tslib";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{Fragment}from"react";import{keys}from"lodash";import PropTypes from"prop-types";export const propTypes={variants:PropTypes.any.isRequired,onChange:PropTypes.func,options:PropTypes.arrayOf(PropTypes.shape({label:PropTypes.string.isRequired,code:PropTypes.string.isRequired,lineItem:PropTypes.shape({name:PropTypes.string.isRequired,imageUrl:PropTypes.string})}).isRequired).isRequired,name:PropTypes.string,children:PropTypes.func,type:PropTypes.oneOf(["select","radio"]),loader:PropTypes.element,placeholder:PropTypes.string,skuCode:PropTypes.string};const VariantTemplate=e=>{const{id:s,variants:r,type:t,placeholder:o,options:a,skuCode:p,handleChange:i}=e,n=__rest(e,["id","variants","type","placeholder","options","skuCode","handleChange"]);const d=keys(r).map(((e,o)=>{const d=p===e;return t==="select"?_jsx("option",Object.assign({"data-sku-id":r[e].id,value:r[e].code},{children:a.length>0?a[o].label:r[e].name}),r[e].id):_jsxs(Fragment,{children:[_jsx("input",Object.assign({id:s&&`${s}-${o}`,defaultChecked:d,type:"radio",value:r[e].code,onChange:s=>i&&i(s.target.value,r[e].id)},n),void 0),a.length>0?a[o].label:r[e].name]},r[e].id)}));if(t==="select"){return _jsxs("select",Object.assign({id:s,onChange:e=>{const s=e.target.value;const r=e.target.selectedIndex;const t=e.target[r].dataset.skuId;i&&i(s,t)},value:p||""},n,{children:[_jsx("option",Object.assign({disabled:!!p},{children:o}),void 0),d]}),void 0)}return _jsx(Fragment,{children:d},void 0)};VariantTemplate.propTypes=propTypes;export default VariantTemplate;
1
+ import{__rest}from"tslib";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{Fragment}from"react";import{keys}from"lodash";import PropTypes from"prop-types";export const propTypes={variants:PropTypes.any.isRequired,onChange:PropTypes.func,options:PropTypes.arrayOf(PropTypes.shape({label:PropTypes.string.isRequired,code:PropTypes.string.isRequired,lineItem:PropTypes.shape({name:PropTypes.string.isRequired,imageUrl:PropTypes.string})}).isRequired).isRequired,name:PropTypes.string,children:PropTypes.func,type:PropTypes.oneOf(["select","radio"]),loader:PropTypes.element,placeholder:PropTypes.string,skuCode:PropTypes.string};const VariantTemplate=e=>{const{id:s,variants:t,type:r,placeholder:a,options:o,skuCode:n,handleChange:p,handleCallback:i}=e,l=__rest(e,["id","variants","type","placeholder","options","skuCode","handleChange","handleCallback"]);const d=keys(t).map(((e,a)=>{const d=n===e;const c=o.length>0?o[a].label:t[e].name;return r==="select"?_jsx("option",Object.assign({"data-sku-id":t[e].id,"data-label":c,value:t[e].code},{children:c}),t[e].id):_jsxs(Fragment,{children:[_jsx("input",Object.assign({id:s&&`${s}-${a}`,defaultChecked:d,type:"radio",value:t[e].code,onChange:s=>{const r=s.target.value;p&&p(r,t[e].id);i&&i({code:r,label:c})}},l),void 0),c]},t[e].id)}));if(r==="select"){return _jsxs("select",Object.assign({id:s,title:"Variant selector",onChange:e=>{const s=e.target.value;const t=e.target.selectedIndex;const r=e.target[t].dataset.skuId;const a=e.target[t].dataset.label;p&&p(s,r);i&&i({code:s,label:a})},value:n||""},l,{children:[_jsx("option",Object.assign({disabled:!!n},{children:a}),void 0),d]}),void 0)}return _jsx(Fragment,{children:d},void 0)};VariantTemplate.propTypes=propTypes;export default VariantTemplate;
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ value: string;
3
+ label: string;
4
+ }[];
5
+ export default _default;
@@ -0,0 +1 @@
1
+ export default[{value:"AED",label:"AED"},{value:"AFN",label:"AFN"},{value:"ALL",label:"ALL"},{value:"AMD",label:"AMD"},{value:"ANG",label:"ANG"},{value:"AOA",label:"AOA"},{value:"ARS",label:"ARS"},{value:"AUD",label:"AUD"},{value:"AWG",label:"AWG"},{value:"AZN",label:"AZN"},{value:"BAM",label:"BAM"},{value:"BBD",label:"BBD"},{value:"BDT",label:"BDT"},{value:"BGN",label:"BGN"},{value:"BHD",label:"BHD"},{value:"BIF",label:"BIF"},{value:"BMD",label:"BMD"},{value:"BND",label:"BND"},{value:"BOB",label:"BOB"},{value:"BRL",label:"BRL"},{value:"BSD",label:"BSD"},{value:"BTN",label:"BTN"},{value:"BWP",label:"BWP"},{value:"BYN",label:"BYN"},{value:"BYR",label:"BYR"},{value:"BZD",label:"BZD"},{value:"CAD",label:"CAD"},{value:"CDF",label:"CDF"},{value:"CHF",label:"CHF"},{value:"CLF",label:"CLF"},{value:"CLP",label:"CLP"},{value:"CNY",label:"CNY"},{value:"COP",label:"COP"},{value:"CRC",label:"CRC"},{value:"CUC",label:"CUC"},{value:"CUP",label:"CUP"},{value:"CVE",label:"CVE"},{value:"CZK",label:"CZK"},{value:"DJF",label:"DJF"},{value:"DKK",label:"DKK"},{value:"DOP",label:"DOP"},{value:"DZD",label:"DZD"},{value:"EGP",label:"EGP"},{value:"ERN",label:"ERN"},{value:"ETB",label:"ETB"},{value:"EUR",label:"EUR"},{value:"FJD",label:"FJD"},{value:"FKP",label:"FKP"},{value:"GBP",label:"GBP"},{value:"GEL",label:"GEL"},{value:"GHS",label:"GHS"},{value:"GIP",label:"GIP"},{value:"GMD",label:"GMD"},{value:"GNF",label:"GNF"},{value:"GTQ",label:"GTQ"},{value:"GYD",label:"GYD"},{value:"HKD",label:"HKD"},{value:"HNL",label:"HNL"},{value:"HRK",label:"HRK"},{value:"HTG",label:"HTG"},{value:"HUF",label:"HUF"},{value:"IDR",label:"IDR"},{value:"ILS",label:"ILS"},{value:"INR",label:"INR"},{value:"IQD",label:"IQD"},{value:"IRR",label:"IRR"},{value:"ISK",label:"ISK"},{value:"JMD",label:"JMD"},{value:"JOD",label:"JOD"},{value:"JPY",label:"JPY"},{value:"KES",label:"KES"},{value:"KGS",label:"KGS"},{value:"KHR",label:"KHR"},{value:"KMF",label:"KMF"},{value:"KPW",label:"KPW"},{value:"KRW",label:"KRW"},{value:"KWD",label:"KWD"},{value:"KYD",label:"KYD"},{value:"KZT",label:"KZT"},{value:"LAK",label:"LAK"},{value:"LBP",label:"LBP"},{value:"LKR",label:"LKR"},{value:"LRD",label:"LRD"},{value:"LSL",label:"LSL"},{value:"LTL",label:"LTL"},{value:"LVL",label:"LVL"},{value:"LYD",label:"LYD"},{value:"MAD",label:"MAD"},{value:"MDL",label:"MDL"},{value:"MGA",label:"MGA"},{value:"MKD",label:"MKD"},{value:"MMK",label:"MMK"},{value:"MNT",label:"MNT"},{value:"MOP",label:"MOP"},{value:"MRO",label:"MRO"},{value:"MUR",label:"MUR"},{value:"MVR",label:"MVR"},{value:"MWK",label:"MWK"},{value:"MXN",label:"MXN"},{value:"MYR",label:"MYR"},{value:"MZN",label:"MZN"},{value:"NAD",label:"NAD"},{value:"NGN",label:"NGN"},{value:"NIO",label:"NIO"},{value:"NOK",label:"NOK"},{value:"NPR",label:"NPR"},{value:"NZD",label:"NZD"},{value:"OMR",label:"OMR"},{value:"PAB",label:"PAB"},{value:"PEN",label:"PEN"},{value:"PGK",label:"PGK"},{value:"PHP",label:"PHP"},{value:"PKR",label:"PKR"},{value:"PLN",label:"PLN"},{value:"PYG",label:"PYG"},{value:"QAR",label:"QAR"},{value:"RON",label:"RON"},{value:"RSD",label:"RSD"},{value:"RUB",label:"RUB"},{value:"RWF",label:"RWF"},{value:"SAR",label:"SAR"},{value:"SBD",label:"SBD"},{value:"SCR",label:"SCR"},{value:"SDG",label:"SDG"},{value:"SEK",label:"SEK"},{value:"SGD",label:"SGD"},{value:"SHP",label:"SHP"},{value:"SKK",label:"SKK"},{value:"SLL",label:"SLL"},{value:"SOS",label:"SOS"},{value:"SRD",label:"SRD"},{value:"SSP",label:"SSP"},{value:"STD",label:"STD"},{value:"SVC",label:"SVC"},{value:"SYP",label:"SYP"},{value:"SZL",label:"SZL"},{value:"THB",label:"THB"},{value:"TJS",label:"TJS"},{value:"TMT",label:"TMT"},{value:"TND",label:"TND"},{value:"TOP",label:"TOP"},{value:"TRY",label:"TRY"},{value:"TTD",label:"TTD"},{value:"TWD",label:"TWD"},{value:"TZS",label:"TZS"},{value:"UAH",label:"UAH"},{value:"UGX",label:"UGX"},{value:"USD",label:"USD"},{value:"UYU",label:"UYU"},{value:"UZS",label:"UZS"},{value:"VEF",label:"VEF"},{value:"VND",label:"VND"},{value:"VUV",label:"VUV"},{value:"WST",label:"WST"},{value:"XAF",label:"XAF"},{value:"XAG",label:"XAG"},{value:"XAU",label:"XAU"},{value:"XBA",label:"XBA"},{value:"XBB",label:"XBB"},{value:"XBC",label:"XBC"},{value:"XBD",label:"XBD"},{value:"XCD",label:"XCD"},{value:"XDR",label:"XDR"},{value:"XOF",label:"XOF"},{value:"XPD",label:"XPD"},{value:"XPF",label:"XPF"},{value:"XPT",label:"XPT"},{value:"XTS",label:"XTS"},{value:"YER",label:"YER"},{value:"ZAR",label:"ZAR"},{value:"ZMK",label:"ZMK"},{value:"ZMW",label:"ZMW"},{value:"BTC",label:"BTC"},{value:"JEP",label:"JEP"},{value:"GGP",label:"GGP"},{value:"IMP",label:"IMP"},{value:"XFU",label:"XFU"},{value:"GBX",label:"GBX"},{value:"CNH",label:"CNH"},{value:"EEK",label:"EEK"},{value:"GHS",label:"GHS"},{value:"MTL",label:"MTL"},{value:"TMM",label:"TMM"},{value:"JPY",label:"JPY"},{value:"ZWD",label:"ZWD"},{value:"ZWL",label:"ZWL"},{value:"ZWN",label:"ZWN"},{value:"ZWR",label:"ZWR"}];
@@ -1 +1 @@
1
- import baseReducer from"../utils/baseReducer";import getSdk from"../utils/getSdk";export const availabilityInitialState={quantity:null,min:{days:0,hours:0},max:{days:0,hours:0},errors:[]};export const getAvailability=async({skuCode:t,dispatch:i,config:e})=>{var s;const a=getSdk(e);try{const[e]=await a.skus.list({fields:{skus:["id"]},filters:{code_in:t}});const o=await a.skus.retrieve(e.id,{fields:{skus:["inventory"]}});const[l]=(s=o.inventory)===null||s===void 0?void 0:s.levels;const[r]=l===null||l===void 0?void 0:l.delivery_lead_times;i({type:"setAvailability",payload:Object.assign(Object.assign({},r),{quantity:l===null||l===void 0?void 0:l.quantity})})}catch(t){console.error("Get SKU availability",t)}};const typeAction=["setAvailability","setErrors"];const availabilityReducer=(t,i)=>baseReducer(t,i,typeAction);export default availabilityReducer;
1
+ import baseReducer from"../utils/baseReducer";import getSdk from"../utils/getSdk";export const availabilityInitialState={quantity:null,min:{days:0,hours:0},max:{days:0,hours:0},errors:[]};export const getAvailability=async({skuCode:t,dispatch:i,config:e})=>{var s;const a=getSdk(e);try{const[e]=await a.skus.list({fields:{skus:["id"]},filters:{code_in:t}});const o=await a.skus.retrieve(e.id,{fields:{skus:["inventory"]}});debugger;const[l]=((s=o.inventory)===null||s===void 0?void 0:s.levels)||[];const[r]=(l===null||l===void 0?void 0:l.delivery_lead_times)||[];i({type:"setAvailability",payload:Object.assign(Object.assign({},r),{quantity:o.inventory.quantity})})}catch(t){console.error("Get SKU availability",t)}};const typeAction=["setAvailability","setErrors"];const availabilityReducer=(t,i)=>baseReducer(t,i,typeAction);export default availabilityReducer;
@@ -1,5 +1,5 @@
1
1
  import { Sku } from '@commercelayer/sdk';
2
- import { VariantOptions } from '../components/VariantSelector';
2
+ import { VariantOption } from '../components/VariantSelector';
3
3
  import { Dispatch } from 'react';
4
4
  import { CommerceLayerConfig } from '../context/CommerceLayerContext';
5
5
  import { Items, CustomLineItem, SetCustomLineItems } from './ItemReducer';
@@ -15,7 +15,7 @@ export interface SetSkuCodeVariant {
15
15
  (params: SetSkuCodeVariantParams): void;
16
16
  }
17
17
  declare type SetVariantSkuCodesParams = {
18
- skuCodes: VariantOptions[];
18
+ skuCodes: VariantOption[];
19
19
  dispatch: Dispatch<VariantAction>;
20
20
  setCustomLineItems?: SetCustomLineItems;
21
21
  };
@@ -37,7 +37,7 @@ export interface VariantPayload {
37
37
  currentQuantity?: number;
38
38
  currentPrices?: Sku[];
39
39
  setSkuCode?: SetSkuCode;
40
- setSkuCodes?: (skuCodes: VariantOptions[]) => void;
40
+ setSkuCodes?: (skuCodes: VariantOption[]) => void;
41
41
  }
42
42
  export interface VariantState extends VariantPayload {
43
43
  skuCodes: string[];
@@ -1 +1 @@
1
- import baseReducer from"../utils/baseReducer";import getSkus from"../utils/getSkus";import{isEmpty,has}from"lodash";import getSdk from"../utils/getSdk";export const setVariantSkuCodes=({skuCodes:e,dispatch:t,setCustomLineItems:s})=>{const o={};const a=e.map((e=>{if(has(e,"lineItem")){o[e.code]=e.lineItem}return e.code}));if(!isEmpty(o)){s&&s(o)}t({type:"setSkuCodes",payload:{skuCodes:a}})};export const setSkuCode=e=>{const{id:t,code:s,config:o,setItem:a,dispatch:r}=e;if(t){const e=getSdk(o);e.skus.retrieve(t,{include:["sku_options"]}).then((e=>{a&&a({[`${s}`]:e})})).catch((e=>{debugger;r({type:"setErrors",payload:{errors:e}})}))}};export const getVariants=e=>{const{config:t,state:s,skuCode:o,dispatch:a,setItem:r,filters:n}=e;const i=getSdk(t);i.skus.list({filters:Object.assign({code_in:s.skuCodes.join(",")},n)}).then((e=>{const s=getSkus(e);if(o){setSkuCode({code:s[o].code,id:s[o].id,config:t,dispatch:a,setItem:r})}a({type:"setVariants",payload:{variants:s}});a({type:"setLoading",payload:{loading:false}})})).catch((e=>{a({type:"setErrors",payload:{errors:e}})}))};export const unsetVariantState=e=>{e({type:"setSkuCode",payload:{skuCode:""}});e({type:"setVariants",payload:{variants:{}}});e({type:"setLoading",payload:{loading:false}})};export const variantInitialState={loading:false,variants:{},skuCodes:[],skuCode:"",errors:[],currentSkuId:"",currentSkuInventory:{available:false,quantity:0,levels:[]},currentQuantity:1,currentPrices:[]};const actionType=["setLoading","setVariants","setSkuCodes","setSkuCode","setCurrentSkuId","setCurrentSkuInventory","setCurrentPrices","setErrors"];const variantReducer=(e,t)=>baseReducer(e,t,actionType);export default variantReducer;
1
+ import baseReducer from"../utils/baseReducer";import getSkus from"../utils/getSkus";import{isEmpty,has}from"lodash";import getSdk from"../utils/getSdk";export const setVariantSkuCodes=({skuCodes:e,dispatch:t,setCustomLineItems:s})=>{const o={};const a=e.map((e=>{if(has(e,"lineItem")){o[e.code]=e.lineItem}return e.code}));if(!isEmpty(o)){s&&s(o)}t({type:"setSkuCodes",payload:{skuCodes:a}})};export const setSkuCode=e=>{const{id:t,code:s,config:o,setItem:a,dispatch:r}=e;if(t){const e=getSdk(o);e.skus.retrieve(t,{include:["sku_options"]}).then((e=>{a&&a({[`${s}`]:e})})).catch((e=>{debugger;r({type:"setErrors",payload:{errors:e}})}))}};export const getVariants=e=>{const{config:t,state:s,skuCode:o,dispatch:a,setItem:r,filters:n}=e;const i=getSdk(t);i.skus.list({filters:Object.assign({code_in:s.skuCodes.join(",")},n)}).then((e=>{const n=getSkus(e,s.skuCodes);if(o){setSkuCode({code:n[o].code,id:n[o].id,config:t,dispatch:a,setItem:r})}a({type:"setVariants",payload:{variants:n}});a({type:"setLoading",payload:{loading:false}})})).catch((e=>{a({type:"setErrors",payload:{errors:e}})}))};export const unsetVariantState=e=>{e({type:"setSkuCode",payload:{skuCode:""}});e({type:"setVariants",payload:{variants:{}}});e({type:"setLoading",payload:{loading:false}})};export const variantInitialState={loading:false,variants:{},skuCodes:[],skuCode:"",errors:[],currentSkuId:"",currentSkuInventory:{available:false,quantity:0,levels:[]},currentQuantity:1,currentPrices:[]};const actionType=["setLoading","setVariants","setSkuCodes","setSkuCode","setCurrentSkuId","setCurrentSkuInventory","setCurrentPrices","setErrors"];const variantReducer=(e,t)=>baseReducer(e,t,actionType);export default variantReducer;
@@ -1,3 +1,3 @@
1
1
  import { Sku } from '@commercelayer/sdk';
2
- declare const getSkus: (skus: Sku[]) => Record<string, any>;
2
+ declare const getSkus: (skus: Sku[], sortBy: string[]) => Record<string, any>;
3
3
  export default getSkus;
@@ -1 +1 @@
1
- const getSkus=o=>{const e={};o.forEach((o=>{if(o===null||o===void 0?void 0:o.code)e[o.code]=o}));return e};export default getSkus;
1
+ const getSkus=(o,e)=>{const t={};e.forEach((e=>{o.forEach((o=>{if((o===null||o===void 0?void 0:o.code)===e)t[o.code]=o}))}));return t};export default getSkus;