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 +4 -4
- package/lib/Cart.js +3 -1
- package/lib/CartAlert.js +2 -2
- package/lib/CartProvider.js +1 -1
- package/lib/CartTotals.js +4 -3
- package/lib/MerchiSDK/request.js +5 -1
- package/lib/assets/merchi-swipe-outline.png +0 -0
- package/lib/components/Alert.js +1 -1
- package/lib/components/CartTabPanel.js +8 -2
- package/lib/forms/FormShipmentAddressAndNotes.js +1 -1
- package/lib/panels/PanelCartShipment.js +1 -1
- package/lib/slices/sliceCart.js +1 -2
- package/lib/slices/sliceCartAlert.js +14 -9
- package/lib/store.js +3 -2
- package/lib/styles/globals.css +197 -0
- package/lib/styles/globals.css.map +1 -0
- package/package.json +6 -3
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-
|
|
36
|
-
| `classNameAlertInfo` | `string?` | `"alert alert-info
|
|
37
|
-
| `classNameAlertSuccess` | `string?` | `"alert alert-success
|
|
38
|
-
| `classNameAlertWarning` | `string?` | `"alert 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:
|
|
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,
|
|
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:
|
|
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;
|
package/lib/CartProvider.js
CHANGED
|
@@ -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-
|
|
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(
|
|
21
|
-
var attribute =
|
|
22
|
-
var
|
|
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';
|
package/lib/MerchiSDK/request.js
CHANGED
|
@@ -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 =
|
|
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) {
|
|
Binary file
|
package/lib/components/Alert.js
CHANGED
|
@@ -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; })
|
|
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 ===
|
|
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,
|
|
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; })
|
|
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 ?
|
package/lib/slices/sliceCart.js
CHANGED
|
@@ -174,8 +174,7 @@ export var sliceCart = createSlice({
|
|
|
174
174
|
state.cart.client = action.payload;
|
|
175
175
|
},
|
|
176
176
|
setDomainId: function (state, action) {
|
|
177
|
-
|
|
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
|
-
|
|
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.
|
|
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": "
|
|
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
|
}
|