merchi_cart 0.0.7-e → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/package.json +3 -4
  2. package/src/Cart.tsx +0 -100
  3. package/src/CartAlert.tsx +0 -34
  4. package/src/CartHeader.tsx +0 -27
  5. package/src/CartProvider.tsx +0 -386
  6. package/src/CartTotals.tsx +0 -106
  7. package/src/assets/merchi-monster-loader.gif +0 -0
  8. package/src/assets/merchi-swipe-outline.png +0 -0
  9. package/src/assets/product-not-found.png +0 -0
  10. package/src/buttons/Button.tsx +0 -35
  11. package/src/buttons/ButtonBack.tsx +0 -37
  12. package/src/buttons/ButtonClearCart.tsx +0 -18
  13. package/src/buttons/ButtonInvoiceDownload.tsx +0 -63
  14. package/src/buttons/ButtonNext.tsx +0 -38
  15. package/src/buttons/ButtonNextDynamic.tsx +0 -31
  16. package/src/buttons/ButtonPay.tsx +0 -32
  17. package/src/buttons/ButtonShipmentTabNext.tsx +0 -25
  18. package/src/buttons/index.ts +0 -15
  19. package/src/components/Alert.tsx +0 -31
  20. package/src/components/CartBody.tsx +0 -16
  21. package/src/components/CartClient.tsx +0 -48
  22. package/src/components/CartFooter.tsx +0 -15
  23. package/src/components/CartItemRow.tsx +0 -145
  24. package/src/components/CartPaymentSettingsInvalid.tsx +0 -12
  25. package/src/components/CartShipment.tsx +0 -55
  26. package/src/components/CartTabContent.tsx +0 -15
  27. package/src/components/CartTabPanel.tsx +0 -25
  28. package/src/components/CartTableContainer.tsx +0 -15
  29. package/src/components/Collapse.tsx +0 -23
  30. package/src/components/LoadingTemplate.tsx +0 -22
  31. package/src/components/NoCartItems.tsx +0 -15
  32. package/src/components/ShipmentGroupCard.tsx +0 -156
  33. package/src/components/Table.tsx +0 -14
  34. package/src/components/Title.tsx +0 -22
  35. package/src/components/containers.tsx +0 -40
  36. package/src/components/index.ts +0 -30
  37. package/src/forms/FormNewCustomer.tsx +0 -119
  38. package/src/forms/FormReturningCustomer.tsx +0 -70
  39. package/src/forms/FormShipmentAddressAndNotes.tsx +0 -142
  40. package/src/forms/FormSquarePayment.tsx +0 -14
  41. package/src/forms/FormStripePayment.tsx +0 -14
  42. package/src/forms/InputAcceptUserTermsAndConditions.tsx +0 -43
  43. package/src/forms/InputError.tsx +0 -23
  44. package/src/forms/InputSelect.tsx +0 -58
  45. package/src/forms/InputText.tsx +0 -56
  46. package/src/forms/InputsAddress.tsx +0 -205
  47. package/src/index.tsx +0 -13
  48. package/src/panels/PanelCartItems.tsx +0 -61
  49. package/src/panels/PanelCartShipment.tsx +0 -89
  50. package/src/panels/PanelClearCart.tsx +0 -47
  51. package/src/panels/PanelClientCheckout.tsx +0 -92
  52. package/src/panels/PanelEditCartItem.tsx +0 -58
  53. package/src/panels/PanelPaymentSuccess.tsx +0 -69
  54. package/src/panels/index.ts +0 -15
  55. package/src/slices/sliceCart.ts +0 -159
  56. package/src/slices/sliceCartAlert.ts +0 -39
  57. package/src/slices/sliceCartItem.ts +0 -29
  58. package/src/slices/sliceCartPayment.ts +0 -45
  59. package/src/slices/sliceCartShipment.ts +0 -67
  60. package/src/slices/sliceFormReturningCustomer.ts +0 -25
  61. package/src/slices/sliceNewCustomerForm.ts +0 -24
  62. package/src/square/SquareCard.tsx +0 -58
  63. package/src/square/actions.ts +0 -40
  64. package/src/square/slices/reducersSquare.ts +0 -9
  65. package/src/square/slices/sliceSquareAlerts.ts +0 -29
  66. package/src/square/slices/sliceSquareForm.ts +0 -29
  67. package/src/store.ts +0 -499
  68. package/src/stripe/StripeCardFields.tsx +0 -164
  69. package/src/stripe/StripeCardForm.tsx +0 -86
  70. package/src/stripe/StripePaymentButtons.tsx +0 -117
  71. package/src/stripe/actions.ts +0 -94
  72. package/src/stripe/slices/sliceStripeAlerts.ts +0 -29
  73. package/src/stripe/slices/sliceStripeCardForm.ts +0 -9
  74. package/src/stripe/slices/sliceStripeForm.ts +0 -56
  75. package/src/stripe/utils.ts +0 -21
  76. package/src/styles/globals.css +0 -191
  77. package/src/styles/globals.css.map +0 -1
  78. package/src/styles/globals.scss +0 -197
  79. package/src/tabs/CartNav.tsx +0 -20
  80. package/src/tabs/NavTab.tsx +0 -38
  81. package/src/utilities/address.ts +0 -351
  82. package/src/utilities/cart.ts +0 -73
  83. package/src/utilities/company.ts +0 -8
  84. package/src/utilities/cookie.ts +0 -54
  85. package/src/utilities/currency.ts +0 -216
  86. package/src/utilities/helpers.ts +0 -209
  87. package/src/utilities/invoice.ts +0 -60
  88. package/src/utilities/product.ts +0 -7
  89. package/src/utilities/user.ts +0 -38
  90. package/src/utilities/variations.ts +0 -56
@@ -1,197 +0,0 @@
1
- .merchi-cart-header {
2
- margin-bottom: 1rem;
3
- }
4
- .merchi-cart-body {
5
- display: block;
6
- min-height: 100px;
7
- height: 450px;
8
- }
9
- .merchi-loading-container {
10
- display: flex;
11
- flex-direction: column;
12
- align-items: center;
13
- justify-content: center;
14
- height: var(--bs-height-md, 100px);
15
- }
16
- .merchi-loading-container-text {
17
- font-size: 1.2rem;
18
- font-weight: bold;
19
- text-align: center;
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
- .merchi-tab-panel {
30
- display: none;
31
- padding: 1rem;
32
- }
33
- .merchi-cart-tab-content {
34
- padding: 15px;
35
- }
36
- .merchi-cart-tab-content > .merchi-cart-tab-panel {
37
- display: none;
38
- }
39
- .merchi-cart-tab-content > .active {
40
- display: block;
41
- }
42
- .merchi-cart-clear-container {
43
- display: flex;
44
- justify-content: center;
45
- align-items: center;
46
- }
47
- .merchi-cart-clear-text {
48
- font-size: 16px;
49
- margin-top: 3rem;
50
- margin-bottom: 3rem;
51
- }
52
- .merchi-cart-item-table-head {
53
- border: none;
54
- background-color: #f8f9fa;
55
- padding: 0.5rem;
56
- padding-left: 0.75rem;
57
- padding-right: 0.75rem;
58
- text-transform: uppercase;
59
- }
60
- .merchi-cart-item-table-head-right {
61
- border: none;
62
- background-color: #f8f9fa;
63
- padding: 0.5rem;
64
- padding-left: 0.75rem;
65
- padding-right: 0.75rem;
66
- text-transform: uppercase;
67
- text-align: right;
68
- }
69
- .merchi-cart-success-message {
70
- font-size: 16px;
71
- padding-bottom: 4rem;
72
- padding-top: 4rem;
73
- }
74
-
75
- /* Merchi checkout */
76
- .merchi-row {
77
- display: flex;
78
- flex-direction: column;
79
- }
80
-
81
- @media (min-width: 768px) {
82
- .merchi-row {
83
- flex-direction: row;
84
- }
85
-
86
- .merchi-column {
87
- width: 50%;
88
- padding-right: 10px;
89
- }
90
-
91
- .merchi-column:last-child {
92
- padding-left: 10px;
93
- padding-right: 0;
94
- }
95
- }
96
-
97
- .merchi-collapse {
98
- display: none;
99
- }
100
-
101
- .merchi-collapse.show {
102
- display: block;
103
- }
104
-
105
- .merchi-nav {
106
- display: flex;
107
- flex-wrap: wrap;
108
- padding-left: 0;
109
- margin-bottom: 0;
110
- list-style: none;
111
- }
112
-
113
- .merchi-nav-link {
114
- cursor: pointer;
115
- display: block;
116
- padding: 0.5rem 1rem;
117
- width: 100%;
118
- border: 0px;
119
- border-radius: 0.375rem;
120
- }
121
-
122
- .merchi-nav-link:hover, .merchi-nav-link:focus {
123
- text-decoration: none;
124
- }
125
-
126
- .merchi-nav-link.disabled {
127
- color: #6c757d;
128
- pointer-events: none;
129
- cursor: default;
130
- }
131
-
132
- .merchi-nav-tabs {}
133
-
134
- .merchi-nav-tabs .merchi-nav-item {
135
- margin-bottom: -1px;
136
- }
137
-
138
- .merchi-nav-tabs .merchi-nav-link {
139
- border: 1px solid transparent;
140
- border-top-left-radius: 0.25rem;
141
- border-top-right-radius: 0.25rem;
142
- }
143
-
144
- .merchi-nav-tabs .merchi-nav-link:hover, .merchi-nav-tabs .merchi-nav-link:focus {
145
- border-color: #e9ecef #e9ecef #dee2e6;
146
- }
147
-
148
- .merchi-nav-tabs .merchi-nav-link.disabled {
149
- color: #6c757d;
150
- background-color: transparent;
151
- border-color: transparent;
152
- }
153
-
154
- .merchi-nav-tabs .merchi-nav-link.active,
155
- .merchi-nav-tabs .merchi-nav-item.show .merchi-nav-link {
156
- color: #495057;
157
- background-color: #fff;
158
- border-color: #dee2e6 #dee2e6 #fff;
159
- }
160
-
161
- .merchi-nav-pills .merchi-nav-link {
162
- border-radius: 0.25rem;
163
- }
164
-
165
- .merchi-nav-pills .merchi-nav-link.active,
166
- .merchi-nav-pills .show > .merchi-nav-link {
167
- color: #fff;
168
- background-color: #303dbf;
169
- }
170
-
171
- .merchi-nav-fill .merchi-nav-item {
172
- flex: 1 1 auto;
173
- text-align: center;
174
- }
175
- .merchi-no-cart-items {
176
- display: flex;
177
- flex-direction: column;
178
- align-items: center;
179
- justify-content: center;
180
- height: 450px;
181
- }
182
-
183
- .btn-close {
184
- background: transparent;
185
- border: 0px;
186
- cursor: pointer;
187
- color: inherit;
188
- float: right;
189
- }
190
-
191
- .merchi-loading-template {
192
- height: 500px;
193
- background: url('../assets/merchi-monster-loader.gif');
194
- background-repeat: no-repeat;
195
- background-position: center center;
196
- background-size: 150px 150px;
197
- }
@@ -1,20 +0,0 @@
1
- import * as React from 'react';
2
- import { useSelector } from 'react-redux';
3
- import { useCartContext } from '../CartProvider';
4
- import { tabIdPaymentSuccess } from '../slices/sliceCart';
5
- import NavTab from './NavTab';
6
-
7
- function CartNav() {
8
- const { classNameCartNav } = useCartContext();
9
- const { tabs } = useSelector((s: any) => s.stateCart);
10
- return (
11
- <div className={classNameCartNav}>
12
- {tabs.filter((tab: any) => tab.tabId !== tabIdPaymentSuccess).
13
- map((tab: any, index: number) =>
14
- <NavTab {...tab} key={`${index}-tab`} />
15
- )}
16
- </div>
17
- );
18
- }
19
-
20
- export default CartNav;
@@ -1,38 +0,0 @@
1
- import * as React from 'react';
2
- import { useDispatch, useSelector } from 'react-redux';
3
- import { sliceCart } from '../slices/sliceCart';
4
- import { useCartContext } from '../CartProvider';
5
- import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
6
-
7
- interface Props {
8
- disabled?: boolean;
9
- icon: any;
10
- name: string;
11
- tabId: number;
12
- }
13
-
14
- function NavTab({ disabled, icon, name, tabId }: Props) {
15
- const dispatch = useDispatch();
16
- const {
17
- classNameCartTabItem,
18
- classNameCartTabItemLink,
19
- } = useCartContext();
20
- const { activeTab } = useSelector((s: any) => s.stateCart);
21
- function toggle() {
22
- dispatch(sliceCart.actions.setActiveTab(tabId));
23
- }
24
- const active = activeTab === tabId;
25
- return (
26
- <div className={classNameCartTabItem}>
27
- <button
28
- className={`${classNameCartTabItemLink} ${active ? 'active' : ''}`}
29
- onClick={toggle}
30
- disabled={disabled}
31
- >
32
- <FontAwesomeIcon icon={icon} /> {name}
33
- </button>
34
- </div>
35
- );
36
- }
37
-
38
- export default NavTab;
@@ -1,351 +0,0 @@
1
- import { Merchi } from 'merchi_sdk_ts';
2
-
3
- const merchi = new Merchi();
4
-
5
- export function makeAddress(addressJson: any, makeDirty?: boolean) {
6
- const address = new merchi.Address();
7
- return address.fromJson(addressJson, { makeDirty });
8
- }
9
-
10
- const isoCountries: any = {
11
- AF: "Afghanistan",
12
- AX: "Aland Islands",
13
- AL: "Albania",
14
- DZ: "Algeria",
15
- AS: "American Samoa",
16
- AD: "Andorra",
17
- AO: "Angola",
18
- AI: "Anguilla",
19
- AQ: "Antarctica",
20
- AG: "Antigua And Barbuda",
21
- AR: "Argentina",
22
- AM: "Armenia",
23
- AW: "Aruba",
24
- AU: "Australia",
25
- AT: "Austria",
26
- AZ: "Azerbaijan",
27
- BS: "Bahamas",
28
- BH: "Bahrain",
29
- BD: "Bangladesh",
30
- BB: "Barbados",
31
- BY: "Belarus",
32
- BE: "Belgium",
33
- BZ: "Belize",
34
- BJ: "Benin",
35
- BM: "Bermuda",
36
- BT: "Bhutan",
37
- BO: "Bolivia",
38
- BA: "Bosnia And Herzegovina",
39
- BW: "Botswana",
40
- BV: "Bouvet Island",
41
- BR: "Brazil",
42
- IO: "British Indian Ocean Territory",
43
- BN: "Brunei Darussalam",
44
- BG: "Bulgaria",
45
- BF: "Burkina Faso",
46
- BI: "Burundi",
47
- KH: "Cambodia",
48
- CM: "Cameroon",
49
- CA: "Canada",
50
- CV: "Cape Verde",
51
- KY: "Cayman Islands",
52
- CF: "Central African Republic",
53
- TD: "Chad",
54
- CL: "Chile",
55
- CN: "China",
56
- CX: "Christmas Island",
57
- CC: "Cocos (Keeling) Islands",
58
- CO: "Colombia",
59
- KM: "Comoros",
60
- CG: "Congo",
61
- CD: "Congo, Democratic Republic",
62
- CK: "Cook Islands",
63
- CR: "Costa Rica",
64
- CI: "Cote D'Ivoire",
65
- HR: "Croatia",
66
- CU: "Cuba",
67
- CY: "Cyprus",
68
- CZ: "Czech Republic",
69
- DK: "Denmark",
70
- DJ: "Djibouti",
71
- DM: "Dominica",
72
- DO: "Dominican Republic",
73
- EC: "Ecuador",
74
- EG: "Egypt",
75
- SV: "El Salvador",
76
- GQ: "Equatorial Guinea",
77
- ER: "Eritrea",
78
- EE: "Estonia",
79
- ET: "Ethiopia",
80
- FK: "Falkland Islands (Malvinas)",
81
- FO: "Faroe Islands",
82
- FJ: "Fiji",
83
- FI: "Finland",
84
- FR: "France",
85
- GF: "French Guiana",
86
- PF: "French Polynesia",
87
- TF: "French Southern Territories",
88
- GA: "Gabon",
89
- GM: "Gambia",
90
- GE: "Georgia",
91
- DE: "Germany",
92
- GH: "Ghana",
93
- GI: "Gibraltar",
94
- GR: "Greece",
95
- GL: "Greenland",
96
- GD: "Grenada",
97
- GP: "Guadeloupe",
98
- GU: "Guam",
99
- GT: "Guatemala",
100
- GG: "Guernsey",
101
- GN: "Guinea",
102
- GW: "Guinea-Bissau",
103
- GY: "Guyana",
104
- HT: "Haiti",
105
- HM: "Heard Island & Mcdonald Islands",
106
- VA: "Holy See (Vatican City State)",
107
- HN: "Honduras",
108
- HK: "Hong Kong",
109
- HU: "Hungary",
110
- IS: "Iceland",
111
- IN: "India",
112
- ID: "Indonesia",
113
- IR: "Iran, Islamic Republic Of",
114
- IQ: "Iraq",
115
- IE: "Ireland",
116
- IM: "Isle Of Man",
117
- IL: "Israel",
118
- IT: "Italy",
119
- JM: "Jamaica",
120
- JP: "Japan",
121
- JE: "Jersey",
122
- JO: "Jordan",
123
- KZ: "Kazakhstan",
124
- KE: "Kenya",
125
- KI: "Kiribati",
126
- KR: "Korea",
127
- KW: "Kuwait",
128
- KG: "Kyrgyzstan",
129
- LA: "Lao People's Democratic Republic",
130
- LV: "Latvia",
131
- LB: "Lebanon",
132
- LS: "Lesotho",
133
- LR: "Liberia",
134
- LY: "Libyan Arab Jamahiriya",
135
- LI: "Liechtenstein",
136
- LT: "Lithuania",
137
- LU: "Luxembourg",
138
- MO: "Macao",
139
- MK: "Macedonia",
140
- MG: "Madagascar",
141
- MW: "Malawi",
142
- MY: "Malaysia",
143
- MV: "Maldives",
144
- ML: "Mali",
145
- MT: "Malta",
146
- MH: "Marshall Islands",
147
- MQ: "Martinique",
148
- MR: "Mauritania",
149
- MU: "Mauritius",
150
- YT: "Mayotte",
151
- MX: "Mexico",
152
- FM: "Micronesia, Federated States Of",
153
- MD: "Moldova",
154
- MC: "Monaco",
155
- MN: "Mongolia",
156
- ME: "Montenegro",
157
- MS: "Montserrat",
158
- MA: "Morocco",
159
- MZ: "Mozambique",
160
- MM: "Myanmar",
161
- NA: "Namibia",
162
- NR: "Nauru",
163
- NP: "Nepal",
164
- NL: "Netherlands",
165
- AN: "Netherlands Antilles",
166
- NC: "New Caledonia",
167
- NZ: "New Zealand",
168
- NI: "Nicaragua",
169
- NE: "Niger",
170
- NG: "Nigeria",
171
- NU: "Niue",
172
- NF: "Norfolk Island",
173
- MP: "Northern Mariana Islands",
174
- NO: "Norway",
175
- OM: "Oman",
176
- PK: "Pakistan",
177
- PW: "Palau",
178
- PS: "Palestinian Territory, Occupied",
179
- PA: "Panama",
180
- PG: "Papua New Guinea",
181
- PY: "Paraguay",
182
- PE: "Peru",
183
- PH: "Philippines",
184
- PN: "Pitcairn",
185
- PL: "Poland",
186
- PT: "Portugal",
187
- PR: "Puerto Rico",
188
- QA: "Qatar",
189
- RE: "Reunion",
190
- RO: "Romania",
191
- RU: "Russian Federation",
192
- RW: "Rwanda",
193
- BL: "Saint Barthelemy",
194
- SH: "Saint Helena",
195
- KN: "Saint Kitts And Nevis",
196
- LC: "Saint Lucia",
197
- MF: "Saint Martin",
198
- PM: "Saint Pierre And Miquelon",
199
- VC: "Saint Vincent And Grenadines",
200
- WS: "Samoa",
201
- SM: "San Marino",
202
- ST: "Sao Tome And Principe",
203
- SA: "Saudi Arabia",
204
- SN: "Senegal",
205
- RS: "Serbia",
206
- SC: "Seychelles",
207
- SL: "Sierra Leone",
208
- SG: "Singapore",
209
- SK: "Slovakia",
210
- SI: "Slovenia",
211
- SB: "Solomon Islands",
212
- SO: "Somalia",
213
- ZA: "South Africa",
214
- GS: "South Georgia And Sandwich Isl.",
215
- ES: "Spain",
216
- LK: "Sri Lanka",
217
- SD: "Sudan",
218
- SR: "Suriname",
219
- SJ: "Svalbard And Jan Mayen",
220
- SZ: "Swaziland",
221
- SE: "Sweden",
222
- CH: "Switzerland",
223
- SY: "Syrian Arab Republic",
224
- TW: "Taiwan",
225
- TJ: "Tajikistan",
226
- TZ: "Tanzania",
227
- TH: "Thailand",
228
- TL: "Timor-Leste",
229
- TG: "Togo",
230
- TK: "Tokelau",
231
- TO: "Tonga",
232
- TT: "Trinidad And Tobago",
233
- TN: "Tunisia",
234
- TR: "Turkey",
235
- TM: "Turkmenistan",
236
- TC: "Turks And Caicos Islands",
237
- TV: "Tuvalu",
238
- UG: "Uganda",
239
- UA: "Ukraine",
240
- AE: "United Arab Emirates",
241
- GB: "United Kingdom",
242
- US: "United States",
243
- UM: "United States Outlying Islands",
244
- UY: "Uruguay",
245
- UZ: "Uzbekistan",
246
- VU: "Vanuatu",
247
- VE: "Venezuela",
248
- VN: "Viet Nam",
249
- VG: "Virgin Islands, British",
250
- VI: "Virgin Islands, U.S.",
251
- WF: "Wallis And Futuna",
252
- EH: "Western Sahara",
253
- YE: "Yemen",
254
- ZM: "Zambia",
255
- ZW: "Zimbabwe"
256
- };
257
-
258
- export function addressInOneLine(address: any) {
259
- const a = address ? address : {};
260
- const {
261
- city,
262
- country,
263
- lineOne,
264
- lineTwo,
265
- postcode,
266
- state
267
- } = a;
268
- const l1 = lineOne ? `${lineOne} ` : '';
269
- const l2 = lineTwo ? `${lineTwo} ` : '';
270
- const c = city ? `${city} ` : '';
271
- const s = state ? `${state} ` : '';
272
- const p = postcode ? `${postcode} ` : '';
273
- const countryFull = country ? isoCountries[country] : '';
274
- return l1 + l2 + c + s + p + countryFull;
275
- }
276
-
277
- export const addressComponentsSettings: any = {
278
- administrative_area_level_1: 'short_name',
279
- administrative_area_level_2: 'short_name',
280
- country: 'short_name',
281
- establishment: 'long_name',
282
- floor: 'short_name',
283
- locality: 'long_name',
284
- postal_code: 'short_name',
285
- premise: 'short_name',
286
- room: 'long_name',
287
- route: 'short_name',
288
- street_number: 'short_name',
289
- sublocality: 'long_name',
290
- subpremise: 'short_name',
291
- };
292
-
293
- export function geoSuggestResultAsNewAddress(resp: any) {
294
- const addressComponents = resp && resp.gmaps ?
295
- resp.gmaps.address_components : null;
296
- const name = resp && resp.gmaps && resp.gmaps.name;
297
- const address = {
298
- city: '',
299
- country: '',
300
- lineOne: name ? name : '',
301
- lineTwo: '',
302
- postcode: '',
303
- state: '',
304
- };
305
- let i;
306
- if (addressComponents) {
307
- for (i = 0; i < addressComponents.length; i++) {
308
- const addrComponent = addressComponents[i];
309
- const addrTypes = addrComponent.types;
310
- const addrType = addrTypes.length > 0 ? addrTypes[0] : null;
311
- const componentSetting = addrType ?
312
- addressComponentsSettings[addrType] : null;
313
- if (componentSetting) {
314
- const addressVal = addrComponent[componentSetting];
315
- switch (addrType) {
316
- case 'establishment':
317
- case 'room':
318
- case 'floor':
319
- case 'street_number':
320
- case 'premise':
321
- case 'subpremise':
322
- case 'route':
323
- const oldLineOne = address.lineOne;
324
- address.lineOne = oldLineOne.includes(addressVal) ?
325
- oldLineOne : `${oldLineOne} ${addressVal}`;
326
- break;
327
- case 'locality':
328
- case 'sublocality':
329
- const oldCity = address.city ? `${address.city} ` : ''
330
- address.city = oldCity + addressVal;
331
- break;
332
- case 'administrative_area_level_1':
333
- address.state = addressVal;
334
- break;
335
- case 'administrative_area_level_2':
336
- break;
337
- case 'country':
338
- address.country = addressVal;
339
- break;
340
- case 'postal_code':
341
- address.postcode = addressVal;
342
- break;
343
- default:
344
- break;
345
- }
346
- }
347
- }
348
- return address;
349
- }
350
- return null;
351
- }
@@ -1,73 +0,0 @@
1
- import { Merchi } from 'merchi_sdk_ts';
2
- import { companyStripePubKeyOrTestPubKey } from './company';
3
-
4
- const merchi = new Merchi();
5
-
6
- export const makeCart = (json: any, makeDirty?: boolean, cartToken?: string) => {
7
- const merchi = new Merchi();
8
- if (cartToken) merchi.cartToken = cartToken;
9
- const cart = new merchi.Cart();
10
- return cart.fromJson(json, { makeDirty });
11
- };
12
-
13
- export const makeCartItem = (json: any, makeDirty?: boolean, cartToken?: string) => {
14
- const merchi = new Merchi();
15
- if (cartToken) merchi.cartToken = cartToken;
16
- const cartItem = new merchi.CartItem();
17
- return cartItem.fromJson(json, { makeDirty });
18
- };
19
-
20
- export function makeCartShipmentQuote(json: any, makeDirty?: boolean) {
21
- const cartShipmentQuote = new merchi.CartShipmentQuote();
22
- return cartShipmentQuote.fromJson(json, { makeDirty });
23
- }
24
-
25
- export function cartHasSelectedQuotes(cart: any) {
26
- const { shipmentGroups = [] } = cart;
27
- if (shipmentGroups.length) {
28
- const selected = shipmentGroups.filter((g: any) => !!g.selectedQuote);
29
- return selected.length === shipmentGroups.length;
30
- }
31
- return false;
32
- }
33
-
34
- export async function getCartShipmentGroupsAndQuotes(cart: any) {
35
- const query: Array<any> = [];
36
- query.push(['cart_token', cart.token]);
37
- return merchi.authenticatedFetch(
38
- `/generate-cart-shipment-quotes/${cart.id}/`,
39
- {method: 'GET', query});
40
- }
41
-
42
- function cartCompany(cart: any) {
43
- return cart && cart.domain && cart.domain.company ?
44
- cart.domain.company : null;
45
- }
46
-
47
- export function hasStripeLegacyAccount(cart: any) {
48
- const company = cartCompany(cart);
49
- return Boolean(company && companyStripePubKeyOrTestPubKey(company));
50
- }
51
-
52
- function hasStripeConnectAccount(cart: any) {
53
- const company = cartCompany(cart);
54
- return Boolean(company && company.isStripeAccountEnabled);
55
- }
56
-
57
- export function stripeIsValidAndActive(cart: any) {
58
- const company = cartCompany(cart);
59
- const hasStripe = hasStripeLegacyAccount(cart) ||
60
- hasStripeConnectAccount(cart);
61
- return Boolean(hasStripe && company && company.acceptStripe);
62
- }
63
-
64
- export function cartRequiresShipment(cart: any) {
65
- const { cartItems = [] } = cart;
66
- for (let i = 0; i < cartItems.length; i++) {
67
- const item = cartItems[i];
68
- if (item && item.product && item.product.needsShipping) {
69
- return true;
70
- }
71
- }
72
- return false;
73
- }
@@ -1,8 +0,0 @@
1
- export function companyPrimaryAddress(company: any) {
2
- return company && company.addresses ? company.addresses[0] : undefined;
3
- }
4
-
5
- export function companyStripePubKeyOrTestPubKey(company: any) {
6
- return company.isTesting ? company.stripePublishableTestKey :
7
- company.stripePublishableKey;
8
- }