merchi_cart 0.0.4 → 0.0.5-c
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/lib/Cart.js +56 -33
- package/lib/CartAlert.js +41 -15
- package/lib/CartHeader.js +26 -9
- package/lib/CartProvider.js +236 -165
- package/lib/CartTotals.js +94 -34
- package/lib/MerchiSDK/constants/auto_assign_production_on_actions.js +7 -10
- package/lib/MerchiSDK/constants/call_to_actions.js +15 -18
- package/lib/MerchiSDK/constants/discount_types.js +4 -7
- package/lib/MerchiSDK/constants/domain_types.js +13 -16
- package/lib/MerchiSDK/constants/errors.js +32 -36
- package/lib/MerchiSDK/constants/event_types.js +6 -9
- package/lib/MerchiSDK/constants/field_types.js +14 -17
- package/lib/MerchiSDK/constants/input_types.js +14 -17
- package/lib/MerchiSDK/constants/inventory_statuses.js +7 -10
- package/lib/MerchiSDK/constants/invoice_types.js +6 -9
- package/lib/MerchiSDK/constants/item_types.js +6 -9
- package/lib/MerchiSDK/constants/job/drafting_status.js +8 -11
- package/lib/MerchiSDK/constants/job/payment_status.js +8 -11
- package/lib/MerchiSDK/constants/job/production_status.js +13 -16
- package/lib/MerchiSDK/constants/job/shipment_status.js +12 -15
- package/lib/MerchiSDK/constants/job/supply_chain_request_status.js +7 -10
- package/lib/MerchiSDK/constants/job_priorities.js +7 -10
- package/lib/MerchiSDK/constants/job_status.js +50 -53
- package/lib/MerchiSDK/constants/job_types.js +16 -19
- package/lib/MerchiSDK/constants/notification_sections.js +14 -17
- package/lib/MerchiSDK/constants/notification_types.js +98 -101
- package/lib/MerchiSDK/constants/notification_urgencies.js +7 -10
- package/lib/MerchiSDK/constants/payment_types.js +11 -14
- package/lib/MerchiSDK/constants/platform.js +5 -8
- package/lib/MerchiSDK/constants/product_types.js +26 -29
- package/lib/MerchiSDK/constants/rights.js +6 -9
- package/lib/MerchiSDK/constants/robots_meta_directives.js +1 -14
- package/lib/MerchiSDK/constants/roles.js +19 -36
- package/lib/MerchiSDK/constants/shipment_companies.js +19 -22
- package/lib/MerchiSDK/constants/shipment_services.js +4 -7
- package/lib/MerchiSDK/constants/system_roles.js +4 -7
- package/lib/MerchiSDK/constants/theme_foundations.js +7 -10
- package/lib/MerchiSDK/constants/theme_status.js +6 -9
- package/lib/MerchiSDK/constants/user_types.js +18 -21
- package/lib/MerchiSDK/constants/white_label_accessibilities.js +6 -9
- package/lib/MerchiSDK/cookie.js +15 -18
- package/lib/MerchiSDK/entities/address.js +163 -104
- package/lib/MerchiSDK/entities/assignment.js +182 -123
- package/lib/MerchiSDK/entities/automatic_payment_relationship.js +85 -50
- package/lib/MerchiSDK/entities/backup.js +56 -30
- package/lib/MerchiSDK/entities/bank.js +118 -80
- package/lib/MerchiSDK/entities/cart.js +186 -135
- package/lib/MerchiSDK/entities/cart_item.js +160 -110
- package/lib/MerchiSDK/entities/cart_shipment_group.js +72 -40
- package/lib/MerchiSDK/entities/cart_shipment_quote.js +91 -61
- package/lib/MerchiSDK/entities/category.js +97 -65
- package/lib/MerchiSDK/entities/company.js +579 -437
- package/lib/MerchiSDK/entities/company_invitation.js +88 -61
- package/lib/MerchiSDK/entities/component.js +204 -147
- package/lib/MerchiSDK/entities/component_tag.js +61 -35
- package/lib/MerchiSDK/entities/component_version.js +87 -55
- package/lib/MerchiSDK/entities/country_tax.js +111 -67
- package/lib/MerchiSDK/entities/discount.js +89 -53
- package/lib/MerchiSDK/entities/discount_group.js +82 -49
- package/lib/MerchiSDK/entities/domain.js +489 -372
- package/lib/MerchiSDK/entities/domain_invitation.js +95 -66
- package/lib/MerchiSDK/entities/domain_tag.js +104 -70
- package/lib/MerchiSDK/entities/draft.js +167 -118
- package/lib/MerchiSDK/entities/draft_comment.js +132 -92
- package/lib/MerchiSDK/entities/draft_template.js +109 -72
- package/lib/MerchiSDK/entities/email_address.js +77 -44
- package/lib/MerchiSDK/entities/email_counter.js +73 -40
- package/lib/MerchiSDK/entities/enrolled_domain.js +90 -60
- package/lib/MerchiSDK/entities/exchange_rate.js +71 -44
- package/lib/MerchiSDK/entities/file.js +365 -249
- package/lib/MerchiSDK/entities/internal_tag.js +122 -79
- package/lib/MerchiSDK/entities/inventory.js +125 -81
- package/lib/MerchiSDK/entities/inventory_unit_variation.js +78 -46
- package/lib/MerchiSDK/entities/invoice.js +382 -287
- package/lib/MerchiSDK/entities/item.js +111 -69
- package/lib/MerchiSDK/entities/job.js +673 -521
- package/lib/MerchiSDK/entities/job_comment.js +121 -86
- package/lib/MerchiSDK/entities/matching_inventory.js +85 -52
- package/lib/MerchiSDK/entities/menu.js +85 -55
- package/lib/MerchiSDK/entities/menu_item.js +83 -55
- package/lib/MerchiSDK/entities/notification.js +221 -165
- package/lib/MerchiSDK/entities/page.js +90 -60
- package/lib/MerchiSDK/entities/payment.js +144 -100
- package/lib/MerchiSDK/entities/payment_device.js +94 -55
- package/lib/MerchiSDK/entities/phone_number.js +103 -64
- package/lib/MerchiSDK/entities/product.js +734 -574
- package/lib/MerchiSDK/entities/production_comment.js +121 -86
- package/lib/MerchiSDK/entities/quote.js +216 -128
- package/lib/MerchiSDK/entities/quote_item.js +137 -86
- package/lib/MerchiSDK/entities/seo_domain_page.js +88 -61
- package/lib/MerchiSDK/entities/session.js +92 -52
- package/lib/MerchiSDK/entities/shipment.js +383 -269
- package/lib/MerchiSDK/entities/shipment_item.js +61 -30
- package/lib/MerchiSDK/entities/shipment_item_fulfillment.js +60 -31
- package/lib/MerchiSDK/entities/shipment_method.js +144 -103
- package/lib/MerchiSDK/entities/shipment_method_variation.js +108 -70
- package/lib/MerchiSDK/entities/short_url.js +100 -65
- package/lib/MerchiSDK/entities/subscription_plan.js +165 -126
- package/lib/MerchiSDK/entities/supply_domain.js +81 -51
- package/lib/MerchiSDK/entities/system_role.js +61 -35
- package/lib/MerchiSDK/entities/theme.js +558 -420
- package/lib/MerchiSDK/entities/theme_css_setting.js +76 -45
- package/lib/MerchiSDK/entities/user.js +647 -470
- package/lib/MerchiSDK/entities/user_company.js +86 -51
- package/lib/MerchiSDK/entities/variation.js +145 -103
- package/lib/MerchiSDK/entities/variation_field.js +276 -227
- package/lib/MerchiSDK/entities/variation_fields_option.js +194 -135
- package/lib/MerchiSDK/entities/variation_option.js +121 -94
- package/lib/MerchiSDK/entities/variations_group.js +115 -72
- package/lib/MerchiSDK/entity.js +761 -761
- package/lib/MerchiSDK/merchi.js +313 -304
- package/lib/MerchiSDK/request.js +96 -110
- package/lib/MerchiSDK/test_util.js +14 -19
- package/lib/MerchiSDK/toasts.js +25 -16
- package/lib/MerchiSDK/util/float.js +12 -16
- package/lib/MerchiSDK/util/query_string.js +10 -14
- package/lib/MerchiSDK/util/validation.js +1 -5
- package/lib/MerchiSDK/uuid.js +8 -12
- package/lib/buttons/Button.js +24 -9
- package/lib/buttons/ButtonBack.js +35 -23
- package/lib/buttons/ButtonClearCart.js +14 -10
- package/lib/buttons/ButtonInvoiceDownload.js +57 -26
- package/lib/buttons/ButtonNext.js +38 -18
- package/lib/buttons/ButtonNextDynamic.js +19 -16
- package/lib/buttons/ButtonPay.js +31 -11
- package/lib/buttons/ButtonShipmentTabNext.js +32 -16
- package/lib/buttons/index.js +7 -15
- package/lib/components/Alert.js +29 -19
- package/lib/components/CartBody.js +17 -9
- package/lib/components/CartClient.js +55 -26
- package/lib/components/CartFooter.js +15 -9
- package/lib/components/CartItemRow.js +136 -28
- package/lib/components/CartPaymentSettingsInvalid.js +14 -7
- package/lib/components/CartShipment.js +59 -21
- package/lib/components/CartTabContent.js +15 -9
- package/lib/components/CartTabPanel.js +25 -19
- package/lib/components/CartTableContainer.js +15 -9
- package/lib/components/Collapse.js +24 -12
- package/lib/components/LoadingTemplate.js +25 -14
- package/lib/components/NoCartItems.js +19 -8
- package/lib/components/ShipmentGroupCard.js +156 -47
- package/lib/components/Table.js +14 -9
- package/lib/components/Title.js +30 -10
- package/lib/components/containers.js +32 -20
- package/lib/components/index.js +14 -30
- package/lib/forms/FormNewCustomer.js +126 -49
- package/lib/forms/FormReturningCustomer.js +67 -24
- package/lib/forms/FormShipmentAddressAndNotes.js +106 -48
- package/lib/forms/FormSquarePayment.js +12 -9
- package/lib/forms/FormStripePayment.js +12 -9
- package/lib/forms/InputAcceptUserTermsAndConditions.js +36 -8
- package/lib/forms/InputError.js +18 -11
- package/lib/forms/InputSelect.js +46 -17
- package/lib/forms/InputText.js +52 -20
- package/lib/forms/InputsAddress.js +211 -64
- package/lib/index.js +3 -9
- package/lib/panels/PanelCartItems.js +51 -12
- package/lib/panels/PanelCartShipment.js +65 -17
- package/lib/panels/PanelClearCart.js +46 -13
- package/lib/panels/PanelClientCheckout.js +76 -24
- package/lib/panels/PanelEditCartItem.js +54 -21
- package/lib/panels/PanelPaymentSuccess.js +68 -20
- package/lib/panels/index.js +7 -15
- package/lib/slices/sliceCart.js +162 -143
- package/lib/slices/sliceCartAlert.js +36 -39
- package/lib/slices/sliceCartItem.js +27 -26
- package/lib/slices/sliceCartPayment.js +41 -39
- package/lib/slices/sliceCartShipment.js +66 -66
- package/lib/slices/sliceFormReturningCustomer.js +20 -22
- package/lib/slices/sliceNewCustomerForm.js +19 -21
- package/lib/square/SquareCard.js +48 -41
- package/lib/square/actions.js +29 -30
- package/lib/square/slices/reducersSquare.js +5 -7
- package/lib/square/slices/sliceSquareAlerts.js +24 -26
- package/lib/square/slices/sliceSquareForm.js +27 -26
- package/lib/store.js +457 -362
- package/lib/stripe/StripeCardFields.js +126 -36
- package/lib/stripe/StripeCardForm.js +85 -55
- package/lib/stripe/StripePaymentButtons.js +83 -67
- package/lib/stripe/actions.js +73 -62
- package/lib/stripe/slices/sliceStripeAlerts.js +24 -26
- package/lib/stripe/slices/sliceStripeCardForm.js +5 -7
- package/lib/stripe/slices/sliceStripeForm.js +55 -54
- package/lib/stripe/utils.js +17 -22
- package/lib/tabs/CartNav.js +21 -13
- package/lib/tabs/NavTab.js +38 -17
- package/lib/utilities/address.js +337 -337
- package/lib/utilities/cart.js +59 -61
- package/lib/utilities/company.js +5 -11
- package/lib/utilities/cookie.js +45 -53
- package/lib/utilities/currency.js +213 -210
- package/lib/utilities/helpers.js +176 -160
- package/lib/utilities/invoice.js +45 -43
- package/lib/utilities/product.js +7 -10
- package/lib/utilities/user.js +34 -29
- package/lib/utilities/variations.js +45 -50
- package/package.json +26 -8
package/lib/Cart.js
CHANGED
|
@@ -1,35 +1,58 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Provider, useSelector } from 'react-redux';
|
|
3
|
+
import { store } from "./store";
|
|
4
|
+
import CartAlert from "./CartAlert";
|
|
5
|
+
import CartHeader from "./CartHeader";
|
|
6
|
+
import CartNav from "./tabs/CartNav";
|
|
7
|
+
import CartTotals from "./CartTotals";
|
|
8
|
+
import CartProvider, { useCartContext } from "./CartProvider";
|
|
9
|
+
import { ButtonBack, ButtonClearCart, ButtonNextDynamic } from "./buttons";
|
|
10
|
+
import { CartFooter, CartPaymentSettingsInvalid, LoadingTemplate } from "./components";
|
|
11
|
+
import { PanelCartItems, PanelCartShipment, PanelClearCart, PanelClientCheckout, PanelEditCartItem, PanelPaymentSuccess } from "./panels";
|
|
12
|
+
import { tabIdClearCart, tabIdItem, tabIdPaymentSuccess } from "./slices/sliceCart";
|
|
13
|
+
import { actionFetchTheme, initMerchiCart } from "./store";
|
|
14
|
+
import "./styles/globals.css";
|
|
15
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
18
18
|
function CartComponents() {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
19
|
+
const {
|
|
20
|
+
domainId,
|
|
21
|
+
includeTheme,
|
|
22
|
+
initialiseCart
|
|
23
|
+
} = useCartContext();
|
|
24
|
+
const {
|
|
25
|
+
activeTab,
|
|
26
|
+
cartSettingsInvalid,
|
|
27
|
+
fetchingCart
|
|
28
|
+
} = useSelector(s => s.stateCart);
|
|
29
|
+
React.useEffect(() => {
|
|
30
|
+
if (initialiseCart && domainId) {
|
|
31
|
+
if (includeTheme) {
|
|
32
|
+
actionFetchTheme(domainId);
|
|
33
|
+
}
|
|
34
|
+
initMerchiCart(domainId);
|
|
35
|
+
}
|
|
36
|
+
}, [domainId, includeTheme, initialiseCart]);
|
|
37
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
38
|
+
children: [/*#__PURE__*/_jsx(CartHeader, {}), /*#__PURE__*/_jsx(CartAlert, {}), /*#__PURE__*/_jsx(CartNav, {}), fetchingCart ? /*#__PURE__*/_jsx(LoadingTemplate, {}) : cartSettingsInvalid ? /*#__PURE__*/_jsx(CartPaymentSettingsInvalid, {}) : /*#__PURE__*/_jsxs("div", {
|
|
39
|
+
className: "merchi-tab-pane",
|
|
40
|
+
children: [/*#__PURE__*/_jsx(PanelClearCart, {}), /*#__PURE__*/_jsx(PanelEditCartItem, {}), /*#__PURE__*/_jsx(PanelCartItems, {}), /*#__PURE__*/_jsx(PanelCartShipment, {}), /*#__PURE__*/_jsx(PanelClientCheckout, {}), /*#__PURE__*/_jsx(PanelPaymentSuccess, {}), ![tabIdItem, tabIdClearCart, tabIdPaymentSuccess].includes(activeTab) && /*#__PURE__*/_jsxs(_Fragment, {
|
|
41
|
+
children: [/*#__PURE__*/_jsx(CartFooter, {
|
|
42
|
+
children: /*#__PURE__*/_jsx(CartTotals, {})
|
|
43
|
+
}), /*#__PURE__*/_jsxs(CartFooter, {
|
|
44
|
+
children: [/*#__PURE__*/_jsx(ButtonClearCart, {}), /*#__PURE__*/_jsx(ButtonBack, {}), /*#__PURE__*/_jsx(ButtonNextDynamic, {})]
|
|
45
|
+
})]
|
|
46
|
+
})]
|
|
47
|
+
})]
|
|
48
|
+
});
|
|
31
49
|
}
|
|
32
|
-
function Cart(props) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
50
|
+
export default function Cart(props) {
|
|
51
|
+
return /*#__PURE__*/_jsx(CartProvider, {
|
|
52
|
+
...props,
|
|
53
|
+
children: /*#__PURE__*/_jsx(Provider, {
|
|
54
|
+
store: store,
|
|
55
|
+
children: /*#__PURE__*/_jsx(CartComponents, {})
|
|
56
|
+
})
|
|
57
|
+
});
|
|
58
|
+
}
|
package/lib/CartAlert.js
CHANGED
|
@@ -1,17 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { useSelector } from 'react-redux';
|
|
2
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
3
|
+
import { faTimes } from '@fortawesome/free-solid-svg-icons';
|
|
4
|
+
import { Alert } from "./components";
|
|
5
|
+
import { closeAlert } from "./store";
|
|
6
|
+
import { useCartContext } from "./CartProvider";
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
10
10
|
function CartAlert() {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
const {
|
|
12
|
+
classNameBtnClose
|
|
13
|
+
} = useCartContext();
|
|
14
|
+
const {
|
|
15
|
+
alert
|
|
16
|
+
} = useSelector(s => s.stateCartAlert);
|
|
17
|
+
const {
|
|
18
|
+
icon,
|
|
19
|
+
message,
|
|
20
|
+
show,
|
|
21
|
+
title
|
|
22
|
+
} = alert;
|
|
23
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
24
|
+
children: show && /*#__PURE__*/_jsxs(Alert, {
|
|
25
|
+
alertType: alert.type,
|
|
26
|
+
children: [icon && /*#__PURE__*/_jsx(FontAwesomeIcon, {
|
|
27
|
+
icon: icon
|
|
28
|
+
}), " ", /*#__PURE__*/_jsx("strong", {
|
|
29
|
+
children: title
|
|
30
|
+
}), " ", message, /*#__PURE__*/_jsx("button", {
|
|
31
|
+
type: "button",
|
|
32
|
+
className: classNameBtnClose,
|
|
33
|
+
"data-bs-dismiss": "alert",
|
|
34
|
+
"aria-label": "Close",
|
|
35
|
+
onClick: closeAlert,
|
|
36
|
+
children: /*#__PURE__*/_jsx(FontAwesomeIcon, {
|
|
37
|
+
icon: faTimes
|
|
38
|
+
})
|
|
39
|
+
})]
|
|
40
|
+
})
|
|
41
|
+
});
|
|
16
42
|
}
|
|
17
|
-
|
|
43
|
+
export default CartAlert;
|
package/lib/CartHeader.js
CHANGED
|
@@ -1,11 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
3
|
+
import { faShoppingCart, faTimes } from '@fortawesome/free-solid-svg-icons';
|
|
4
|
+
import { useCartContext } from "./CartProvider";
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
7
|
function CartHeader() {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
const {
|
|
9
|
+
classNameCartHeader,
|
|
10
|
+
classNameBtnClose,
|
|
11
|
+
onClickClose
|
|
12
|
+
} = useCartContext();
|
|
13
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
14
|
+
className: classNameCartHeader,
|
|
15
|
+
children: [/*#__PURE__*/_jsx(FontAwesomeIcon, {
|
|
16
|
+
icon: faShoppingCart
|
|
17
|
+
}), " Shopping cart", /*#__PURE__*/_jsx("button", {
|
|
18
|
+
type: "button",
|
|
19
|
+
className: classNameBtnClose,
|
|
20
|
+
"aria-label": "Close",
|
|
21
|
+
onClick: onClickClose,
|
|
22
|
+
children: /*#__PURE__*/_jsx(FontAwesomeIcon, {
|
|
23
|
+
icon: faTimes
|
|
24
|
+
})
|
|
25
|
+
})]
|
|
26
|
+
});
|
|
10
27
|
}
|
|
11
|
-
|
|
28
|
+
export default CartHeader;
|
package/lib/CartProvider.js
CHANGED
|
@@ -1,168 +1,239 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
urlFrontend: undefined,
|
|
75
|
-
urlTrackingPage: undefined,
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { createContext, useContext, useState } from 'react';
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
+
const CartContext = /*#__PURE__*/createContext({
|
|
5
|
+
classNameAlertError: undefined,
|
|
6
|
+
classNameAlertInfo: undefined,
|
|
7
|
+
classNameAlertSuccess: undefined,
|
|
8
|
+
classNameAlertWarning: undefined,
|
|
9
|
+
classNameBtn: undefined,
|
|
10
|
+
classNameBtnBack: undefined,
|
|
11
|
+
classNameBtnCartClear: undefined,
|
|
12
|
+
classNameBtnClose: undefined,
|
|
13
|
+
classNameBtnDanger: undefined,
|
|
14
|
+
classNameBtnDefault: undefined,
|
|
15
|
+
classNameBtnDownloadInvoice: undefined,
|
|
16
|
+
classNameBtnPrimary: undefined,
|
|
17
|
+
classNameBtnLink: undefined,
|
|
18
|
+
classNameBtnNext: undefined,
|
|
19
|
+
classNameBtnNextComplete: undefined,
|
|
20
|
+
classNameBtnPay: undefined,
|
|
21
|
+
classNameCartBody: undefined,
|
|
22
|
+
classNameCartFooter: undefined,
|
|
23
|
+
classNameCartFormCheckbox: undefined,
|
|
24
|
+
classNameCartFormGroup: undefined,
|
|
25
|
+
classNameCartFormGroupCheckbox: undefined,
|
|
26
|
+
classNameCartFormInput: undefined,
|
|
27
|
+
classNameCartInputError: undefined,
|
|
28
|
+
classNameCartFormLabelCheckbox: undefined,
|
|
29
|
+
classNameCartRow: undefined,
|
|
30
|
+
classNameCartRowColumn: undefined,
|
|
31
|
+
classNameCartTabItem: undefined,
|
|
32
|
+
classNameCartTabItemLink: undefined,
|
|
33
|
+
classNameCartGoogleSuggestList: undefined,
|
|
34
|
+
classNameCartGoogleSuggestListItem: undefined,
|
|
35
|
+
classNameCartHeader: undefined,
|
|
36
|
+
classNameCartItemFeatureImage: undefined,
|
|
37
|
+
classNameCartItemInfo: undefined,
|
|
38
|
+
classNameCartItemInfoCell: undefined,
|
|
39
|
+
classNameCartItemInfoCellRight: undefined,
|
|
40
|
+
classNameCartItemInfoContainer: undefined,
|
|
41
|
+
classNameCartNav: undefined,
|
|
42
|
+
classNameCartTab: undefined,
|
|
43
|
+
classNameCartTabPanel: undefined,
|
|
44
|
+
classNameCartTitle: undefined,
|
|
45
|
+
classNameCartTotalContainer: undefined,
|
|
46
|
+
classNameCartTotalItem: undefined,
|
|
47
|
+
classNameCartTotalItemPrice: undefined,
|
|
48
|
+
classNameClearCartContainer: undefined,
|
|
49
|
+
classNameClearCartText: undefined,
|
|
50
|
+
classNameListClientInfo: undefined,
|
|
51
|
+
classNameListContainer: undefined,
|
|
52
|
+
classNameListItem: undefined,
|
|
53
|
+
classNameList: undefined,
|
|
54
|
+
classNameListInline: undefined,
|
|
55
|
+
classNameListUnstyled: undefined,
|
|
56
|
+
classNameLoadingTemplate: undefined,
|
|
57
|
+
classNameLoadingTemplateContainer: undefined,
|
|
58
|
+
classNameNoItems: undefined,
|
|
59
|
+
classNameShipmentOption: undefined,
|
|
60
|
+
classNameTable: undefined,
|
|
61
|
+
classNameTableContainer: undefined,
|
|
62
|
+
classNameVariationsList: undefined,
|
|
63
|
+
customSuccessMessage: undefined,
|
|
64
|
+
domainId: undefined,
|
|
65
|
+
googlePlacesLoaded: false,
|
|
66
|
+
includeTheme: false,
|
|
67
|
+
initialiseCart: true,
|
|
68
|
+
onClickClose: undefined,
|
|
69
|
+
productFormClassNames: {},
|
|
70
|
+
showUserTermsAndConditions: undefined,
|
|
71
|
+
urlApi: undefined,
|
|
72
|
+
urlFrontend: undefined,
|
|
73
|
+
urlTrackingPage: undefined
|
|
76
74
|
});
|
|
77
|
-
const useCartContext = () =>
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
75
|
+
export const useCartContext = () => useContext(CartContext);
|
|
76
|
+
const CartProvider = _ref => {
|
|
77
|
+
let {
|
|
78
|
+
children,
|
|
79
|
+
classNameAlertError = 'alert alert-danger',
|
|
80
|
+
classNameAlertInfo = 'alert alert-info',
|
|
81
|
+
classNameAlertSuccess = 'alert alert-success',
|
|
82
|
+
classNameAlertWarning = 'alert alert-warning',
|
|
83
|
+
classNameBtn = 'btn',
|
|
84
|
+
classNameBtnBack = 'btn-lg btn-default pull-left',
|
|
85
|
+
classNameBtnCartClear = 'btn-lg btn-danger mr-auto',
|
|
86
|
+
classNameBtnClose = 'btn-close',
|
|
87
|
+
classNameBtnDanger = 'btn btn-md btn-danger',
|
|
88
|
+
classNameBtnDefault = 'btn btn-md btn-default',
|
|
89
|
+
classNameBtnDownloadInvoice = 'btn btn-lg btn-primary',
|
|
90
|
+
classNameBtnPrimary = 'btn btn-md btn-primary',
|
|
91
|
+
classNameBtnLink = 'btn-md btn-link',
|
|
92
|
+
classNameBtnNext = 'btn-lg btn-primary',
|
|
93
|
+
classNameBtnNextComplete = 'btn-lg btn-success',
|
|
94
|
+
classNameBtnPay = 'btn-lg btn-primary width-full',
|
|
95
|
+
classNameCartBody = 'merchi-cart-body',
|
|
96
|
+
classNameCartFooter = 'merchi-cart-footer',
|
|
97
|
+
// add to sass
|
|
98
|
+
classNameCartFormCheckbox = 'form-check-input',
|
|
99
|
+
classNameCartFormGroup = 'form-group',
|
|
100
|
+
classNameCartFormGroupCheckbox = 'form-check',
|
|
101
|
+
classNameCartFormInput = 'form-control',
|
|
102
|
+
classNameCartFormLabelCheckbox = '',
|
|
103
|
+
classNameCartInputError = 'text-danger',
|
|
104
|
+
classNameCartNav = 'nav merchi-nav-tabs merchi-nav merchi-nav-fill merchi-nav-pills',
|
|
105
|
+
classNameCartRow = 'merchi-row',
|
|
106
|
+
classNameCartRowColumn = 'merchi-column',
|
|
107
|
+
classNameCartTabItem = 'nav-item merchi-nav-item',
|
|
108
|
+
classNameCartTabItemLink = 'merchi-nav-link',
|
|
109
|
+
classNameCartGoogleSuggestList = 'list-group m-b-0',
|
|
110
|
+
classNameCartGoogleSuggestListItem = 'list-group-item cursor-pointer',
|
|
111
|
+
classNameCartHeader = 'merchi-cart-header',
|
|
112
|
+
// add to sass
|
|
113
|
+
classNameCartItemFeatureImage = 'img-rounded m-10',
|
|
114
|
+
classNameCartItemInfo = 'text-muted font-weight-normal font-italic',
|
|
115
|
+
classNameCartItemInfoCell = 'border-0 align-middle',
|
|
116
|
+
classNameCartItemInfoCellRight = 'border-0 align-middle text-right',
|
|
117
|
+
classNameCartItemInfoContainer = 'ml-3 d-inline-block align-middle',
|
|
118
|
+
classNameCartTab = 'merchi-tab-content',
|
|
119
|
+
classNameCartTabPanel = 'merchi-tab-panel',
|
|
120
|
+
classNameCartTitle = 'merchi-cart-title',
|
|
121
|
+
// add to sass // paddingBottom: '0.5rem', paddingTop: '0.5rem', textAlign: 'center',
|
|
122
|
+
classNameCartTotalContainer = 'merchi-cart-total-container',
|
|
123
|
+
// add to sass
|
|
124
|
+
classNameCartTotalItem = 'merchi-cart-total-item',
|
|
125
|
+
// add to sass; original text-right cart-cell-width-subtotal
|
|
126
|
+
classNameCartTotalItemPrice = 'merchi-cart-total-item-price',
|
|
127
|
+
// add to sass: original text-right
|
|
128
|
+
classNameClearCartContainer = 'merchi-cart-clear-container',
|
|
129
|
+
classNameClearCartText = 'merchi-cart-clear-text',
|
|
130
|
+
classNameListClientInfo = 'merchi-cart-client-info-list',
|
|
131
|
+
// add to sass: original className='list-unstyled text-center' fontSize: '15px', listStyle: 'none', paddingBottom: '0px', paddingLeft: '0px'
|
|
132
|
+
classNameList = 'list-group',
|
|
133
|
+
classNameListInline = 'list-inline',
|
|
134
|
+
classNameListUnstyled = 'list-unstyled',
|
|
135
|
+
classNameListContainer = 'pb-2',
|
|
136
|
+
classNameListItem = 'list-group-item',
|
|
137
|
+
classNameLoadingTemplate = 'merchi-loading-template',
|
|
138
|
+
classNameLoadingTemplateContainer = 'merchi-loading-template-container',
|
|
139
|
+
classNameNoItems = 'merchi-no-cart-items',
|
|
140
|
+
classNameShipmentOption = 'merchi-shipment-option',
|
|
141
|
+
classNameTable = 'table table-bordered',
|
|
142
|
+
classNameTableContainer = 'table-responsive',
|
|
143
|
+
classNameVariationsList = 'list-unstyled list-inline',
|
|
144
|
+
customSuccessMessage,
|
|
145
|
+
domainId,
|
|
146
|
+
includeTheme = false,
|
|
147
|
+
initialiseCart = true,
|
|
148
|
+
onClickClose = () => console.log('close merchi cart!'),
|
|
149
|
+
productFormClassNames = {},
|
|
150
|
+
showUserTermsAndConditions = true,
|
|
151
|
+
urlApi = 'https://api.merchi.co/v6/',
|
|
152
|
+
urlFrontend = 'https://merchi.co/',
|
|
153
|
+
urlTrackingPage
|
|
154
|
+
} = _ref;
|
|
155
|
+
const [googlePlacesLoaded, setGoogleMapsLoaded] = useState(false);
|
|
156
|
+
// Persistent callback setup
|
|
157
|
+
if (typeof window !== 'undefined') {
|
|
158
|
+
if (!window.googleMapsScriptLoaded) {
|
|
159
|
+
window.googleMapsScriptLoaded = () => {
|
|
160
|
+
setGoogleMapsLoaded(true);
|
|
161
|
+
};
|
|
95
162
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
163
|
+
}
|
|
164
|
+
return /*#__PURE__*/_jsx(CartContext.Provider, {
|
|
165
|
+
value: {
|
|
166
|
+
classNameAlertError,
|
|
167
|
+
classNameAlertInfo,
|
|
168
|
+
classNameAlertSuccess,
|
|
169
|
+
classNameAlertWarning,
|
|
170
|
+
classNameBtn,
|
|
171
|
+
classNameBtnBack,
|
|
172
|
+
classNameBtnCartClear,
|
|
173
|
+
classNameBtnClose,
|
|
174
|
+
classNameBtnDanger,
|
|
175
|
+
classNameBtnDefault,
|
|
176
|
+
classNameBtnDownloadInvoice,
|
|
177
|
+
classNameBtnPrimary,
|
|
178
|
+
classNameBtnLink,
|
|
179
|
+
classNameBtnNext,
|
|
180
|
+
classNameBtnNextComplete,
|
|
181
|
+
classNameBtnPay,
|
|
182
|
+
classNameCartBody,
|
|
183
|
+
classNameCartFooter,
|
|
184
|
+
classNameCartFormCheckbox,
|
|
185
|
+
classNameCartFormGroup,
|
|
186
|
+
classNameCartFormGroupCheckbox,
|
|
187
|
+
classNameCartFormInput,
|
|
188
|
+
classNameCartFormLabelCheckbox,
|
|
189
|
+
classNameCartInputError,
|
|
190
|
+
classNameCartNav,
|
|
191
|
+
classNameCartRow,
|
|
192
|
+
classNameCartRowColumn,
|
|
193
|
+
classNameCartTabItem,
|
|
194
|
+
classNameCartTabItemLink,
|
|
195
|
+
classNameCartGoogleSuggestList,
|
|
196
|
+
classNameCartGoogleSuggestListItem,
|
|
197
|
+
classNameCartHeader,
|
|
198
|
+
classNameCartItemFeatureImage,
|
|
199
|
+
classNameCartItemInfo,
|
|
200
|
+
classNameCartItemInfoCell,
|
|
201
|
+
classNameCartItemInfoCellRight,
|
|
202
|
+
classNameCartItemInfoContainer,
|
|
203
|
+
classNameCartTab,
|
|
204
|
+
classNameCartTabPanel,
|
|
205
|
+
classNameCartTitle,
|
|
206
|
+
classNameCartTotalContainer,
|
|
207
|
+
classNameCartTotalItem,
|
|
208
|
+
classNameCartTotalItemPrice,
|
|
209
|
+
classNameClearCartContainer,
|
|
210
|
+
classNameClearCartText,
|
|
211
|
+
classNameListClientInfo,
|
|
212
|
+
classNameList,
|
|
213
|
+
classNameListInline,
|
|
214
|
+
classNameListContainer,
|
|
215
|
+
classNameListItem,
|
|
216
|
+
classNameListUnstyled,
|
|
217
|
+
classNameLoadingTemplate,
|
|
218
|
+
classNameLoadingTemplateContainer,
|
|
219
|
+
classNameNoItems,
|
|
220
|
+
classNameShipmentOption,
|
|
221
|
+
classNameTable,
|
|
222
|
+
classNameTableContainer,
|
|
223
|
+
classNameVariationsList,
|
|
224
|
+
customSuccessMessage,
|
|
225
|
+
domainId,
|
|
226
|
+
googlePlacesLoaded,
|
|
227
|
+
includeTheme,
|
|
228
|
+
initialiseCart,
|
|
229
|
+
onClickClose,
|
|
230
|
+
productFormClassNames,
|
|
231
|
+
showUserTermsAndConditions,
|
|
232
|
+
urlApi,
|
|
233
|
+
urlFrontend,
|
|
234
|
+
urlTrackingPage
|
|
235
|
+
},
|
|
236
|
+
children: children
|
|
237
|
+
});
|
|
167
238
|
};
|
|
168
|
-
|
|
239
|
+
export default CartProvider;
|