merchi_cart 0.0.2 → 0.0.3-b

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.
package/README.md CHANGED
@@ -32,10 +32,10 @@ yarn add merchi_cart
32
32
 
33
33
  | Name | Type | Default | Description |
34
34
  |-----------------------------------------------|------------|-----------------------------------------------------------------------------|---------------------------------------|
35
- | `classNameAlertError` | `string?` | `"alert alert-error alert-dismissible"` | `Class for alert error` |
36
- | `classNameAlertInfo` | `string?` | `"alert alert-info alert-dismissible"` | `Class for alert info` |
37
- | `classNameAlertSuccess` | `string?` | `"alert alert-success alert-dismissible"` | `Class for alert success` |
38
- | `classNameAlertWarning` | `string?` | `"alert alert-warning alert-dismissible"` | `Class for alert warning` |
35
+ | `classNameAlertError` | `string?` | `"alert alert-danger"` | `Class for alert error` |
36
+ | `classNameAlertInfo` | `string?` | `"alert alert-info"` | `Class for alert info` |
37
+ | `classNameAlertSuccess` | `string?` | `"alert alert-success"` | `Class for alert success` |
38
+ | `classNameAlertWarning` | `string?` | `"alert alert-warning"` | `Class for alert warning` |
39
39
  | `classNameBtn` | `string?` | `"btn"` | `Base class for button elements` |
40
40
  | `classNameBtnBack` | `string?` | `"btn-lg btn-default pull-left"` | `Class for back button` |
41
41
  | `classNameBtnCartClear` | `string?` | `"btn-lg btn-danger mr-auto"` | `Class for clear cart button` |
package/lib/Cart.js CHANGED
@@ -22,6 +22,7 @@ import { CartFooter, CartPaymentSettingsInvalid, LoadingTemplate, } from './comp
22
22
  import { PanelCartItems, PanelCartShipment, PanelClearCart, PanelClientCheckout, PanelEditCartItem, PanelPaymentSuccess, } from './panels';
23
23
  import { tabIdClearCart, tabIdItem, tabIdPaymentSuccess, } from './slices/sliceCart';
24
24
  import { actionFetchTheme, initMerchiCart, } from './store';
25
+ import './styles/globals.css';
25
26
  function CartComponents() {
26
27
  var _a = useCartContext(), domainId = _a.domainId, includeTheme = _a.includeTheme, initialiseCart = _a.initialiseCart;
27
28
  var _b = useSelector(function (s) { return s.stateCart; }), activeTab = _b.activeTab, cartSettingsInvalid = _b.cartSettingsInvalid, fetchingCart = _b.fetchingCart;
@@ -37,5 +38,5 @@ function CartComponents() {
37
38
  _jsxs(_Fragment, { children: [_jsx(CartFooter, { children: _jsx(CartTotals, {}) }), _jsxs(CartFooter, { children: [_jsx(ButtonClearCart, {}), _jsx(ButtonBack, {}), _jsx(ButtonNextDynamic, {})] })] })] }))] }));
38
39
  }
39
40
  export default function Cart(props) {
40
- return (_jsx(CartProvider, __assign({}, props, { children: _jsxs(Provider, { store: store, children: [_jsx(CartComponents, {}), _jsx(CartHeader, {}), _jsx(CartAlert, {})] }) })));
41
+ return (_jsx(CartProvider, __assign({}, props, { children: _jsx(Provider, { store: store, children: _jsx(CartComponents, {}) }) })));
41
42
  }
package/lib/CartAlert.js CHANGED
@@ -8,8 +8,8 @@ import { useCartContext } from './CartProvider';
8
8
  function CartAlert() {
9
9
  var classNameBtnClose = useCartContext().classNameBtnClose;
10
10
  var alert = useSelector(function (s) { return s.stateCartAlert; }).alert;
11
- var icon = alert.icon, message = alert.message, show = alert.show, Title = alert.Title;
11
+ var icon = alert.icon, message = alert.message, show = alert.show, title = alert.title;
12
12
  return (_jsx(_Fragment, { children: show && (_jsxs(Alert, { alertType: alert.type, children: [icon &&
13
- _jsx(FontAwesomeIcon, { icon: icon }), " ", _jsx("strong", { children: Title }), " ", message, _jsx("button", { type: "button", className: classNameBtnClose, "data-bs-dismiss": "alert", "aria-label": "Close", onClick: closeAlert, children: _jsx(FontAwesomeIcon, { icon: faTimes }) })] })) }));
13
+ _jsx(FontAwesomeIcon, { icon: icon }), " ", _jsx("strong", { children: title }), " ", message, _jsx("button", { type: "button", className: classNameBtnClose, "data-bs-dismiss": "alert", "aria-label": "Close", onClick: closeAlert, children: _jsx(FontAwesomeIcon, { icon: faTimes }) })] })) }));
14
14
  }
15
15
  export default CartAlert;
@@ -89,7 +89,7 @@ var CartContext = createContext({
89
89
  });
90
90
  export var useCartContext = function () { return useContext(CartContext); };
91
91
  var CartProvider = function (_a) {
92
- var children = _a.children, _b = _a.classNameAlertError, classNameAlertError = _b === void 0 ? 'alert alert-error alert-dismissible' : _b, _c = _a.classNameAlertInfo, classNameAlertInfo = _c === void 0 ? 'alert alert-info alert-dismissible' : _c, _d = _a.classNameAlertSuccess, classNameAlertSuccess = _d === void 0 ? 'alert alert-success alert-dismissible' : _d, _e = _a.classNameAlertWarning, classNameAlertWarning = _e === void 0 ? 'alert alert-warning alert-dismissible' : _e, _f = _a.classNameBtn, classNameBtn = _f === void 0 ? 'btn' : _f, _g = _a.classNameBtnBack, classNameBtnBack = _g === void 0 ? 'btn-lg btn-default pull-left' : _g, _h = _a.classNameBtnCartClear, classNameBtnCartClear = _h === void 0 ? 'btn-lg btn-danger mr-auto' : _h, _j = _a.classNameBtnClose, classNameBtnClose = _j === void 0 ? 'btn-close' : _j, _k = _a.classNameBtnDanger, classNameBtnDanger = _k === void 0 ? 'btn btn-md btn-danger' : _k, _l = _a.classNameBtnDefault, classNameBtnDefault = _l === void 0 ? 'btn btn-md btn-default' : _l, _m = _a.classNameBtnDownloadInvoice, classNameBtnDownloadInvoice = _m === void 0 ? 'btn btn-lg btn-primary' : _m, _o = _a.classNameBtnPrimary, classNameBtnPrimary = _o === void 0 ? 'btn btn-md btn-primary' : _o, _p = _a.classNameBtnLink, classNameBtnLink = _p === void 0 ? 'btn-md btn-link' : _p, _q = _a.classNameBtnNext, classNameBtnNext = _q === void 0 ? 'btn-lg btn-primary' : _q, _r = _a.classNameBtnNextComplete, classNameBtnNextComplete = _r === void 0 ? 'btn-lg btn-success' : _r, _s = _a.classNameBtnPay, classNameBtnPay = _s === void 0 ? 'btn-lg btn-primary width-full' : _s, _t = _a.classNameCartBody, classNameCartBody = _t === void 0 ? 'merchi-cart-body' : _t, _u = _a.classNameCartFooter, classNameCartFooter = _u === void 0 ? 'merchi-cart-footer' : _u, // add to sass
92
+ var children = _a.children, _b = _a.classNameAlertError, classNameAlertError = _b === void 0 ? 'alert alert-danger' : _b, _c = _a.classNameAlertInfo, classNameAlertInfo = _c === void 0 ? 'alert alert-info' : _c, _d = _a.classNameAlertSuccess, classNameAlertSuccess = _d === void 0 ? 'alert alert-success' : _d, _e = _a.classNameAlertWarning, classNameAlertWarning = _e === void 0 ? 'alert alert-warning' : _e, _f = _a.classNameBtn, classNameBtn = _f === void 0 ? 'btn' : _f, _g = _a.classNameBtnBack, classNameBtnBack = _g === void 0 ? 'btn-lg btn-default pull-left' : _g, _h = _a.classNameBtnCartClear, classNameBtnCartClear = _h === void 0 ? 'btn-lg btn-danger mr-auto' : _h, _j = _a.classNameBtnClose, classNameBtnClose = _j === void 0 ? 'btn-close' : _j, _k = _a.classNameBtnDanger, classNameBtnDanger = _k === void 0 ? 'btn btn-md btn-danger' : _k, _l = _a.classNameBtnDefault, classNameBtnDefault = _l === void 0 ? 'btn btn-md btn-default' : _l, _m = _a.classNameBtnDownloadInvoice, classNameBtnDownloadInvoice = _m === void 0 ? 'btn btn-lg btn-primary' : _m, _o = _a.classNameBtnPrimary, classNameBtnPrimary = _o === void 0 ? 'btn btn-md btn-primary' : _o, _p = _a.classNameBtnLink, classNameBtnLink = _p === void 0 ? 'btn-md btn-link' : _p, _q = _a.classNameBtnNext, classNameBtnNext = _q === void 0 ? 'btn-lg btn-primary' : _q, _r = _a.classNameBtnNextComplete, classNameBtnNextComplete = _r === void 0 ? 'btn-lg btn-success' : _r, _s = _a.classNameBtnPay, classNameBtnPay = _s === void 0 ? 'btn-lg btn-primary width-full' : _s, _t = _a.classNameCartBody, classNameCartBody = _t === void 0 ? 'merchi-cart-body' : _t, _u = _a.classNameCartFooter, classNameCartFooter = _u === void 0 ? 'merchi-cart-footer' : _u, // add to sass
93
93
  _v = _a.classNameCartFormCheckbox, // add to sass
94
94
  classNameCartFormCheckbox = _v === void 0 ? 'form-check-input' : _v, _w = _a.classNameCartFormGroup, classNameCartFormGroup = _w === void 0 ? 'form-group' : _w, _x = _a.classNameCartFormGroupCheckbox, classNameCartFormGroupCheckbox = _x === void 0 ? 'form-check' : _x, _y = _a.classNameCartFormInput, classNameCartFormInput = _y === void 0 ? 'form-control' : _y, _z = _a.classNameCartFormLabelCheckbox, classNameCartFormLabelCheckbox = _z === void 0 ? '' : _z, _0 = _a.classNameCartInputError, classNameCartInputError = _0 === void 0 ? 'text-danger' : _0, _1 = _a.classNameCartNav, classNameCartNav = _1 === void 0 ? 'nav nav-tabs merchi-nav merchi-nav-fill merchi-nav-pills' : _1, _2 = _a.classNameCartRow, classNameCartRow = _2 === void 0 ? 'merchi-row' : _2, _3 = _a.classNameCartRowColumn, classNameCartRowColumn = _3 === void 0 ? 'merchi-column' : _3, _4 = _a.classNameCartTabItem, classNameCartTabItem = _4 === void 0 ? 'nav-item merchi-nav-item' : _4, _5 = _a.classNameCartTabItemLink, classNameCartTabItemLink = _5 === void 0 ? 'nav-link merchi-nav-link' : _5, _6 = _a.classNameCartGoogleSuggestList, classNameCartGoogleSuggestList = _6 === void 0 ? 'list-group m-b-0' : _6, _7 = _a.classNameCartGoogleSuggestListItem, classNameCartGoogleSuggestListItem = _7 === void 0 ? 'list-group-item cursor-pointer' : _7, _8 = _a.classNameCartHeader, classNameCartHeader = _8 === void 0 ? 'merchi-cart-header' : _8, // add to sass
95
95
  _9 = _a.classNameCartItemFeatureImage, // add to sass
package/lib/CartTotals.js CHANGED
@@ -17,9 +17,10 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
17
17
  import { faCircleNotch } from '@fortawesome/free-solid-svg-icons';
18
18
  import { Table } from './components';
19
19
  import { useCartContext } from './CartProvider';
20
- function CartTotal(props) {
21
- var attribute = props.attribute;
22
- var _a = useSelector(function (s) { return s; }), _b = _a.stateCart, cart = _b.cart, fetchingCart = _b.fetchingCart, loading = _b.loading, _c = _a.stateCartShipment, fetchingShipmentGroups = _c.fetchingShipmentGroups, fetchingShipmentQuote = _c.fetchingShipmentQuote;
20
+ function CartTotal(_a) {
21
+ var attribute = _a.attribute;
22
+ var _b = useSelector(function (s) { return s.stateCart; }), cart = _b.cart, fetchingCart = _b.fetchingCart, loading = _b.loading;
23
+ var _c = useSelector(function (s) { return s.stateCartShipment; }), fetchingShipmentGroups = _c.fetchingShipmentGroups, fetchingShipmentQuote = _c.fetchingShipmentQuote;
23
24
  var domain = cart.domain;
24
25
  var company = domain ? domain.company : null;
25
26
  var currency = company ? company.defaultCurrency : 'AUD';
@@ -28,7 +28,11 @@ var __values = (this && this.__values) || function(o) {
28
28
  import { getErrorFromCode } from './constants/errors';
29
29
  /* this constant are expected to be defined in webpack (or provided as
30
30
  globals by some other means. */
31
- var BACKEND_URI = 'https://api.merchi.co/';
31
+ var BACKEND_URI = window && window.merchiBackendUri
32
+ ? window.merchiBackendUri
33
+ : process && process.env.BACKEND_URL
34
+ ? process.env.BACKEND_URL
35
+ : 'https://api.staging.merchi.co/';
32
36
  var ApiError = /** @class */ (function (_super) {
33
37
  __extends(ApiError, _super);
34
38
  function ApiError(err) {
@@ -7,7 +7,7 @@ export default function Alert(_a) {
7
7
  if (alertType === 'success') {
8
8
  className = classNameAlertSuccess;
9
9
  }
10
- if (alertType === 'error') {
10
+ if (alertType === 'danger') {
11
11
  className = classNameAlertError;
12
12
  }
13
13
  if (alertType === 'warning') {
@@ -3,9 +3,15 @@ import { useSelector } from 'react-redux';
3
3
  import { useCartContext } from '../CartProvider';
4
4
  export default function CartTabPanel(_a) {
5
5
  var children = _a.children, tabId = _a.tabId;
6
- var _b = useSelector(function (s) { return s; }).stateCart, activeTab = _b.activeTab, tabs = _b.tabs;
6
+ var _b = useSelector(function (s) { return s.stateCart; }), activeTab = _b.activeTab, tabs = _b.tabs;
7
7
  var classNameCartTabPanel = useCartContext().classNameCartTabPanel;
8
8
  var activeTabValues = tabs[activeTab];
9
- var display = tabId === activeTabValues.tabId ? 'block' : 'none';
9
+ var display = tabId === -1 && activeTab === -1
10
+ ? 'block'
11
+ : tabId === -2 && activeTab === -2
12
+ ? 'block'
13
+ : activeTabValues && tabId === activeTabValues.tabId
14
+ ? 'block'
15
+ : 'none';
10
16
  return (_jsx("div", { className: classNameCartTabPanel, style: { display: display }, children: children }));
11
17
  }
@@ -41,7 +41,7 @@ function FormShipmentAddressAndNotes(_a) {
41
41
  updateCartShipmentAddress(newAddress);
42
42
  }
43
43
  return (_jsxs("form", { id: formId, onSubmit: handleSubmit(onSubmit), children: [showHeadings &&
44
- _jsx(CheckoutContainer, { children: _jsx(InnerContainer, { paddingBottom: '1rem', children: _jsx(Title, { icon: showIcon ? faMapMarkerAlt : null, Title: 'Delivery / billing address' }) }) }), _jsx(AddressGeoSuggestInput, { defaultAddress: address, hookForm: hookForm, labelGeoSuggest: "Enter your ".concat(deliveryNomenclature ? 'delivery' : 'shipping', " address"), name: 'receiverAddress', updateAddress: updateAddress }), _jsxs("div", { className: classNameCartFormGroup, children: [_jsxs("label", { children: [deliveryNomenclature ? 'Delivery' : 'Shipment', " notes"] }), _jsx("textarea", { className: 'form-control input', defaultValue: notes, name: 'receiverNotes', placeholder: 'Example - Leave at top of stairs', rows: 4, ref: register })] })] }));
44
+ _jsx(CheckoutContainer, { children: _jsx(InnerContainer, { paddingBottom: '1rem', children: _jsx(Title, { icon: showIcon ? faMapMarkerAlt : null, Title: 'Delivery / billing address' }) }) }), _jsx(AddressGeoSuggestInput, { defaultAddress: address, hookForm: hookForm, labelGeoSuggest: "Enter your ".concat(deliveryNomenclature ? 'delivery' : 'shipping', " address"), name: 'receiverAddress', updateAddress: updateAddress }), _jsxs("div", { className: classNameCartFormGroup, children: [_jsxs("label", { children: [deliveryNomenclature ? 'Delivery' : 'Shipment', " notes"] }), _jsx("textarea", __assign({ className: 'form-control input', defaultValue: notes, placeholder: 'Example - Leave at top of stairs', rows: 4 }, register('receiverNotes')))] })] }));
45
45
  }
46
46
  export function ActiveFormShipmentAddressAndNotes() {
47
47
  var dispatch = useDispatch();
@@ -7,7 +7,7 @@ import { Alert, CartBody, CartTabPanel, LoadingTemplateSm, ShipmentGroupCard, Ti
7
7
  import { tabIdShipment } from '../slices/sliceCart';
8
8
  import CartNav from '../tabs/CartNav';
9
9
  function PanelCartShipment() {
10
- var _a = useSelector(function (s) { return s; }).stateCartShipment, fetchingShipmentGroups = _a.fetchingShipmentGroups, shipmentGroups = _a.shipmentGroups;
10
+ var _a = useSelector(function (s) { return s.stateCartShipment; }), fetchingShipmentGroups = _a.fetchingShipmentGroups, shipmentGroups = _a.shipmentGroups;
11
11
  return (_jsxs(CartTabPanel, { tabId: tabIdShipment, children: [_jsx(CartNav, {}), _jsx(CartBody, { style: { paddingTop: '2rem' }, children: _jsxs("div", { className: 'merchi-cart-tab-content', children: [_jsx(CheckoutContainer, { textAlign: 'left', children: _jsx(InnerContainer, { width: 700, paddingBottom: '3rem', children: _jsx(ActiveFormShipmentAddressAndNotes, {}) }) }), fetchingShipmentGroups ? (_jsx(CheckoutContainer, { children: _jsxs(InnerContainer, { width: 700, children: [_jsx(LoadingTemplateSm, {}), _jsx("p", { children: "Fetching shipping options." })] }) })) : (_jsxs(_Fragment, { children: [_jsx(CheckoutContainer, { textAlign: 'left', children: _jsx(InnerContainer, { paddingBottom: '1rem', width: 700, children: _jsx(Title, { icon: faTruck, title: shipmentGroups.length > 1 ?
12
12
  'Select shipment methods'
13
13
  : shipmentGroups.length ?
@@ -174,8 +174,7 @@ export var sliceCart = createSlice({
174
174
  state.cart.client = action.payload;
175
175
  },
176
176
  setDomainId: function (state, action) {
177
- var domainId = action.payload.domainId;
178
- state.domainId = domainId;
177
+ state.domainId = action.payload;
179
178
  },
180
179
  toggleCartOpen: function (state) {
181
180
  state.modalCartOpen = !state.modalCartOpen;
@@ -1,3 +1,14 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
1
12
  import { createSlice } from '@reduxjs/toolkit';
2
13
  import { faCheckCircle, faExclamationTriangle, faInfoCircle } from '@fortawesome/free-solid-svg-icons';
3
14
  export var sliceCartAlert = createSlice({
@@ -6,7 +17,7 @@ export var sliceCartAlert = createSlice({
6
17
  icon: faInfoCircle,
7
18
  message: '',
8
19
  show: false,
9
- Title: '',
20
+ title: '',
10
21
  type: 'info',
11
22
  },
12
23
  },
@@ -19,16 +30,10 @@ export var sliceCartAlert = createSlice({
19
30
  state.alert = action.payload;
20
31
  },
21
32
  showAlertDanger: function (state, action) {
22
- state.alert = action.payload;
23
- state.alert.icon = faExclamationTriangle;
24
- state.alert.show = true;
25
- state.alert.type = 'danger';
33
+ state.alert = __assign(__assign({}, action.payload), { icon: faExclamationTriangle, show: true, type: 'danger' });
26
34
  },
27
35
  showAlertSuccess: function (state, action) {
28
- state.alert = action.payload;
29
- state.alert.icon = faCheckCircle;
30
- state.alert.show = true;
31
- state.alert.type = 'success';
36
+ state.alert = __assign(__assign({}, action.payload), { icon: faCheckCircle, show: true, type: 'success' });
32
37
  },
33
38
  },
34
39
  });
package/lib/store.js CHANGED
@@ -144,11 +144,11 @@ export function actionFetchTheme(id) {
144
144
  dispatch(fetchThemeError());
145
145
  });
146
146
  }
147
- function cartAndCookie() {
147
+ function cartAndCookie(domainId) {
148
148
  return __awaiter(this, void 0, void 0, function () {
149
- var domainId, cart;
149
+ var cart;
150
150
  return __generator(this, function (_a) {
151
- domainId = getStore().stateCart.domainId;
151
+ console.log(domainId, 'what is this thing in cartAndCookie');
152
152
  cart = makeCart({ domain: { id: domainId } }, true);
153
153
  return [2 /*return*/, cart.create({ embed: cartEmbed })
154
154
  .then(function (c) {
@@ -162,20 +162,20 @@ function cartAndCookie() {
162
162
  })
163
163
  .catch(function (e) {
164
164
  batch(function () {
165
- alertError(e.errorMessage);
165
+ alertError(e.errorMessage || 'Unable to fetch cart.');
166
166
  dispatch(fetchCartError());
167
167
  });
168
168
  })];
169
169
  });
170
170
  });
171
171
  }
172
- export function createAndSetNewCartCookie() {
172
+ export function createAndSetNewCartCookie(domainId) {
173
173
  return __awaiter(this, void 0, void 0, function () {
174
174
  return __generator(this, function (_a) {
175
175
  switch (_a.label) {
176
176
  case 0:
177
177
  dispatch(fetchCart());
178
- return [4 /*yield*/, cartAndCookie()];
178
+ return [4 /*yield*/, cartAndCookie(domainId)];
179
179
  case 1:
180
180
  _a.sent();
181
181
  return [2 /*return*/];
@@ -185,12 +185,14 @@ export function createAndSetNewCartCookie() {
185
185
  }
186
186
  export function doClearCart() {
187
187
  return __awaiter(this, void 0, void 0, function () {
188
+ var domainId;
188
189
  return __generator(this, function (_a) {
189
190
  switch (_a.label) {
190
191
  case 0:
192
+ domainId = getStore().stateCart.domainId;
191
193
  dispatch(setCart({}));
192
194
  closeClearCart();
193
- return [4 /*yield*/, createAndSetNewCartCookie()];
195
+ return [4 /*yield*/, createAndSetNewCartCookie(domainId)];
194
196
  case 1:
195
197
  _a.sent();
196
198
  return [2 /*return*/];
@@ -456,7 +458,7 @@ function updateCartValues(cartJson) {
456
458
  dispatch(sliceCart.actions.fetchCartSuccess(cartJson));
457
459
  dispatch(initCartShipmentSlice(cartJson));
458
460
  }
459
- function getCart(cartIdAndToken) {
461
+ function getCart(domainId, cartIdAndToken) {
460
462
  var cartSettingsInvalid = sliceCart.actions.cartSettingsInvalid;
461
463
  var id = Number(cartIdAndToken[0]);
462
464
  if (cartIdAndToken[1]) {
@@ -478,7 +480,7 @@ function getCart(cartIdAndToken) {
478
480
  }
479
481
  })
480
482
  .catch(function (e) {
481
- createAndSetNewCartCookie();
483
+ createAndSetNewCartCookie(domainId);
482
484
  });
483
485
  }
484
486
  export function getMerchiCart(domainId) {
@@ -489,12 +491,11 @@ export function getMerchiCart(domainId) {
489
491
  case 0: return [4 /*yield*/, getMerchiCartCookie(domainId)];
490
492
  case 1:
491
493
  cartIdAndToken = _a.sent();
492
- dispatch(setDomainId({ cartIdAndToken: cartIdAndToken, domainId: domainId }));
493
494
  if (cartIdAndToken) {
494
- getCart(cartIdAndToken);
495
+ getCart(domainId, cartIdAndToken);
495
496
  }
496
497
  else {
497
- createAndSetNewCartCookie();
498
+ createAndSetNewCartCookie(domainId);
498
499
  }
499
500
  return [2 /*return*/];
500
501
  }
@@ -528,11 +529,13 @@ export function getMerchiCartValues() {
528
529
  }
529
530
  export function doCartComplete() {
530
531
  return __awaiter(this, void 0, void 0, function () {
532
+ var domainId;
531
533
  return __generator(this, function (_a) {
532
534
  switch (_a.label) {
533
535
  case 0:
536
+ domainId = getStore().stateCart.domainId;
534
537
  dispatch(sliceCartPayment.actions.doCardComplete());
535
- return [4 /*yield*/, cartAndCookie().then(function () { return location.reload(); })];
538
+ return [4 /*yield*/, cartAndCookie(domainId).then(function () { return location.reload(); })];
536
539
  case 1:
537
540
  _a.sent();
538
541
  return [2 /*return*/];
@@ -541,6 +544,7 @@ export function doCartComplete() {
541
544
  });
542
545
  }
543
546
  export function initMerchiCart(domainId) {
547
+ dispatch(setDomainId(domainId));
544
548
  getMerchiCart(domainId);
545
549
  if (window && window !== undefined) {
546
550
  window.getCart = function () { return getMerchiCart(domainId); };
@@ -0,0 +1,197 @@
1
+ .merchi-cart-body {
2
+ display: block;
3
+ min-height: 100px;
4
+ height: 450px;
5
+ }
6
+
7
+ .merchi-loading-container {
8
+ display: flex;
9
+ flex-direction: column;
10
+ align-items: center;
11
+ justify-content: center;
12
+ height: var(--bs-height-md, 100px);
13
+ }
14
+
15
+ .merchi-loading-container-text {
16
+ font-size: 1.2rem;
17
+ font-weight: bold;
18
+ text-align: center;
19
+ }
20
+
21
+ .merchi-payment-gateway-inactive {
22
+ height: 300px;
23
+ background: url("../assets/merchi-swipe-outline.png");
24
+ background-repeat: no-repeat;
25
+ background-position: center center;
26
+ background-size: 276px 215px;
27
+ margin-top: 100px;
28
+ }
29
+
30
+ .merchi-tab-panel {
31
+ display: none;
32
+ padding: 1rem;
33
+ }
34
+
35
+ .merchi-cart-tab-content {
36
+ padding: 15px;
37
+ }
38
+
39
+ .merchi-cart-tab-content > .merchi-cart-tab-panel {
40
+ display: none;
41
+ }
42
+
43
+ .merchi-cart-tab-content > .active {
44
+ display: block;
45
+ }
46
+
47
+ .merchi-cart-clear-container {
48
+ display: flex;
49
+ justify-content: center;
50
+ align-items: center;
51
+ }
52
+
53
+ .merchi-cart-clear-text {
54
+ font-size: 16px;
55
+ margin-top: 3rem;
56
+ margin-bottom: 3rem;
57
+ }
58
+
59
+ .merchi-cart-item-table-head {
60
+ border: none;
61
+ background-color: #f8f9fa;
62
+ padding: 0.5rem;
63
+ padding-left: 0.75rem;
64
+ padding-right: 0.75rem;
65
+ text-transform: uppercase;
66
+ }
67
+
68
+ .merchi-cart-item-table-head-right {
69
+ border: none;
70
+ background-color: #f8f9fa;
71
+ padding: 0.5rem;
72
+ padding-left: 0.75rem;
73
+ padding-right: 0.75rem;
74
+ text-transform: uppercase;
75
+ text-align: right;
76
+ }
77
+
78
+ .merchi-cart-success-message {
79
+ font-size: 16px;
80
+ padding-bottom: 4rem;
81
+ padding-top: 4rem;
82
+ }
83
+
84
+ /* Merchi checkout */
85
+ .merchi-row {
86
+ display: flex;
87
+ flex-direction: column;
88
+ }
89
+
90
+ @media (min-width: 768px) {
91
+ .merchi-row {
92
+ flex-direction: row;
93
+ }
94
+ .merchi-column {
95
+ width: 50%;
96
+ padding-right: 10px;
97
+ }
98
+ .merchi-column:last-child {
99
+ padding-left: 10px;
100
+ padding-right: 0;
101
+ }
102
+ }
103
+ .merchi-collapse {
104
+ display: none;
105
+ }
106
+
107
+ .merchi-collapse.show {
108
+ display: block;
109
+ }
110
+
111
+ .merchi-nav {
112
+ display: flex;
113
+ flex-wrap: wrap;
114
+ padding-left: 0;
115
+ margin-bottom: 0;
116
+ list-style: none;
117
+ }
118
+
119
+ .merchi-nav-link {
120
+ cursor: pointer;
121
+ display: block;
122
+ padding: 0.5rem 1rem;
123
+ }
124
+
125
+ .merchi-nav-link:hover, .merchi-nav-link:focus {
126
+ text-decoration: none;
127
+ }
128
+
129
+ .merchi-nav-link.disabled {
130
+ color: #6c757d;
131
+ pointer-events: none;
132
+ cursor: default;
133
+ }
134
+
135
+ .merchi-nav-tabs {
136
+ border-bottom: 1px solid #dee2e6;
137
+ }
138
+
139
+ .merchi-nav-tabs .merchi-nav-item {
140
+ margin-bottom: -1px;
141
+ }
142
+
143
+ .merchi-nav-tabs .merchi-nav-link {
144
+ border: 1px solid transparent;
145
+ border-top-left-radius: 0.25rem;
146
+ border-top-right-radius: 0.25rem;
147
+ }
148
+
149
+ .merchi-nav-tabs .merchi-nav-link:hover, .merchi-nav-tabs .merchi-nav-link:focus {
150
+ border-color: #e9ecef #e9ecef #dee2e6;
151
+ }
152
+
153
+ .merchi-nav-tabs .merchi-nav-link.disabled {
154
+ color: #6c757d;
155
+ background-color: transparent;
156
+ border-color: transparent;
157
+ }
158
+
159
+ .merchi-nav-tabs .merchi-nav-link.active,
160
+ .merchi-nav-tabs .merchi-nav-item.show .merchi-nav-link {
161
+ color: #495057;
162
+ background-color: #fff;
163
+ border-color: #dee2e6 #dee2e6 #fff;
164
+ }
165
+
166
+ .merchi-nav-pills .merchi-nav-link {
167
+ border-radius: 0.25rem;
168
+ }
169
+
170
+ .merchi-nav-pills .merchi-nav-link.active,
171
+ .merchi-nav-pills .show > .merchi-nav-link {
172
+ color: #fff;
173
+ background-color: #007bff;
174
+ }
175
+
176
+ .merchi-nav-fill .merchi-nav-item {
177
+ flex: 1 1 auto;
178
+ text-align: center;
179
+ }
180
+
181
+ .merchi-no-cart-items {
182
+ display: flex;
183
+ flex-direction: column;
184
+ align-items: center;
185
+ justify-content: center;
186
+ height: 450px;
187
+ }
188
+
189
+ .btn-close {
190
+ background: transparent;
191
+ border: 0px;
192
+ cursor: pointer;
193
+ color: inherit;
194
+ float: right;
195
+ }
196
+
197
+ /*# sourceMappingURL=globals.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../src/styles/globals.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAGF;AACA;EACE;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA","file":"globals.css"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "merchi_cart",
3
- "version": "0.0.2",
3
+ "version": "0.0.3-b",
4
4
  "description": "Merchi's cart",
5
5
  "main": "lib/index.js",
6
6
  "module": "src/index.tsx",
@@ -8,8 +8,9 @@
8
8
  "typings": "index.d.ts",
9
9
  "type": "module",
10
10
  "scripts": {
11
- "build": "tsc && yarn copy-assets",
12
- "copy-assets": "cp -r ./assets lib",
11
+ "build": "tsc && npm run sass && yarn copy-assets",
12
+ "copy-assets": "copyfiles -u 1 src/assets/**/* lib",
13
+ "sass": "sass src/styles/globals.scss lib/styles/globals.css",
13
14
  "start": "react-scripts start",
14
15
  "test": "react-scripts test",
15
16
  "eject": "react-scripts eject"
@@ -74,6 +75,7 @@
74
75
  "@stripe/stripe-js": "^2.1.6",
75
76
  "@types/moment-timezone": "^0.5.30",
76
77
  "@types/node": "^20.11.5",
78
+ "babel-plugin-import-css-to-jss": "^3.1.1",
77
79
  "browser-or-node": "^3.0.0-pre.0",
78
80
  "eslint": "8.47.0",
79
81
  "eslint-config-next": "13.4.16",
@@ -94,6 +96,7 @@
94
96
  "react-transition": "^1.0.3",
95
97
  "react-transition-group": "^4.4.5",
96
98
  "reflect-metadata": "^0.2.1",
99
+ "sass": "^1.70.0",
97
100
  "typescript": "^5.1.6"
98
101
  }
99
102
  }