merchi_cart 0.0.2 → 0.0.3-a

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;
@@ -30,6 +31,7 @@ function CartComponents() {
30
31
  if (includeTheme) {
31
32
  actionFetchTheme(domainId);
32
33
  }
34
+ console.log(domainId, 'whjat os tjos');
33
35
  initMerchiCart(domainId);
34
36
  }
35
37
  }, [domainId, includeTheme, initialiseCart]);
@@ -37,5 +39,5 @@ function CartComponents() {
37
39
  _jsxs(_Fragment, { children: [_jsx(CartFooter, { children: _jsx(CartTotals, {}) }), _jsxs(CartFooter, { children: [_jsx(ButtonClearCart, {}), _jsx(ButtonBack, {}), _jsx(ButtonNextDynamic, {})] })] })] }))] }));
38
40
  }
39
41
  export default function Cart(props) {
40
- return (_jsx(CartProvider, __assign({}, props, { children: _jsxs(Provider, { store: store, children: [_jsx(CartComponents, {}), _jsx(CartHeader, {}), _jsx(CartAlert, {})] }) })));
42
+ return (_jsx(CartProvider, __assign({}, props, { children: _jsx(Provider, { store: store, children: _jsx(CartComponents, {}) }) })));
41
43
  }
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.domainId;
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
@@ -149,6 +149,7 @@ function cartAndCookie() {
149
149
  var domainId, cart;
150
150
  return __generator(this, function (_a) {
151
151
  domainId = getStore().stateCart.domainId;
152
+ console.log(domainId, 'what is this thing in cartAndCookie');
152
153
  cart = makeCart({ domain: { id: domainId } }, true);
153
154
  return [2 /*return*/, cart.create({ embed: cartEmbed })
154
155
  .then(function (c) {
@@ -162,7 +163,7 @@ function cartAndCookie() {
162
163
  })
163
164
  .catch(function (e) {
164
165
  batch(function () {
165
- alertError(e.errorMessage);
166
+ alertError(e.errorMessage || 'Unable to fetch cart.');
166
167
  dispatch(fetchCartError());
167
168
  });
168
169
  })];
@@ -489,7 +490,6 @@ export function getMerchiCart(domainId) {
489
490
  case 0: return [4 /*yield*/, getMerchiCartCookie(domainId)];
490
491
  case 1:
491
492
  cartIdAndToken = _a.sent();
492
- dispatch(setDomainId({ cartIdAndToken: cartIdAndToken, domainId: domainId }));
493
493
  if (cartIdAndToken) {
494
494
  getCart(cartIdAndToken);
495
495
  }
@@ -541,6 +541,7 @@ export function doCartComplete() {
541
541
  });
542
542
  }
543
543
  export function initMerchiCart(domainId) {
544
+ dispatch(setDomainId(domainId));
544
545
  getMerchiCart(domainId);
545
546
  if (window && window !== undefined) {
546
547
  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-a",
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
  }