@sentecacommerce-theme/lib 0.13.8 → 0.13.9

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.
@@ -346,24 +346,25 @@ var MyCartApiFactory = function() {
346
346
  var queryCache = (0, _reactQuery).useQueryCache();
347
347
  return (0, _reactQuery).useMutation(function() {
348
348
  var _ref = _asyncToGenerator(_regeneratorRuntime.default.mark(function _callee(values) {
349
- var cart, compactCart, lineItemId, lineItems;
349
+ var cart, compactCart, ref, lineItemId, lineItems;
350
350
  return _regeneratorRuntime.default.wrap(function _callee$(_ctx) {
351
351
  while(1)switch(_ctx.prev = _ctx.next){
352
352
  case 0:
353
353
  cart = queryCache.getQueryData(myCartCacheKeys.useGet);
354
354
  compactCart = queryCache.getQueryData(myCartCacheKeys.useGetCompact);
355
- lineItemId = (0, _utils1).getLineItemId({
355
+ ;
356
+ lineItemId = (ref = values === null || values === void 0 ? void 0 : values.lineItemId) !== null && ref !== void 0 ? ref : (0, _utils1).getLineItemId({
356
357
  collapseKey: values === null || values === void 0 ? void 0 : values.collapseKey,
357
358
  productId: values === null || values === void 0 ? void 0 : values.productId,
358
359
  variantId: values === null || values === void 0 ? void 0 : values.variantId,
359
360
  type: LineItemType.Regular
360
361
  });
361
362
  if (!(!cart || !compactCart)) {
362
- _ctx.next = 5;
363
+ _ctx.next = 6;
363
364
  break;
364
365
  }
365
366
  return _ctx.abrupt("return", myCartApi1.deleteLineItem(lineItemId));
366
- case 5:
367
+ case 6:
367
368
  lineItems = cart.lineItems.filter(function(product) {
368
369
  return product._id !== lineItemId;
369
370
  });
@@ -374,7 +375,7 @@ var MyCartApiFactory = function() {
374
375
  lineItemsCount: ((compactCart === null || compactCart === void 0 ? void 0 : compactCart.lineItemsCount) || 1) - 1
375
376
  }));
376
377
  return _ctx.abrupt("return", myCartApi1.deleteLineItem(lineItemId));
377
- case 9:
378
+ case 10:
378
379
  case "end":
379
380
  return _ctx.stop();
380
381
  }
@@ -440,18 +441,19 @@ var MyCartApiFactory = function() {
440
441
  var queryCache = (0, _reactQuery).useQueryCache();
441
442
  return (0, _reactQuery).useMutation(function() {
442
443
  var _ref = _asyncToGenerator(_regeneratorRuntime.default.mark(function _callee(values) {
443
- var lineItemId;
444
+ var ref, lineItemId;
444
445
  return _regeneratorRuntime.default.wrap(function _callee$(_ctx) {
445
446
  while(1)switch(_ctx.prev = _ctx.next){
446
447
  case 0:
447
- lineItemId = (0, _utils1).getLineItemId({
448
+ ;
449
+ lineItemId = (ref = values === null || values === void 0 ? void 0 : values.lineItemId) !== null && ref !== void 0 ? ref : (0, _utils1).getLineItemId({
448
450
  collapseKey: values === null || values === void 0 ? void 0 : values.collapseKey,
449
451
  productId: values === null || values === void 0 ? void 0 : values.productId,
450
452
  variantId: values === null || values === void 0 ? void 0 : values.variantId,
451
453
  type: LineItemType.Regular
452
454
  });
453
455
  return _ctx.abrupt("return", myCartApi1.setLineItemQuantity(lineItemId, values.dto));
454
- case 2:
456
+ case 3:
455
457
  case "end":
456
458
  return _ctx.stop();
457
459
  }
@@ -51,7 +51,7 @@ function _unsupportedIterableToArray(o, minLen) {
51
51
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
52
52
  }
53
53
  var useBasket = function(param) {
54
- var productId = param.productId, variantId = param.variantId, collapseKey = param.collapseKey, offerId = param.offerId, quantity = param.quantity, selectedOptions = param.selectedOptions, onAddCallback = param.onAddCallback, onRemoveCallback = param.onRemoveCallback, onSetQuantityCallback = param.onSetQuantityCallback;
54
+ var productId = param.productId, variantId = param.variantId, collapseKey = param.collapseKey, offerId = param.offerId, lineItemId = param.lineItemId, quantity = param.quantity, selectedOptions = param.selectedOptions, onAddCallback = param.onAddCallback, onRemoveCallback = param.onRemoveCallback, onSetQuantityCallback = param.onSetQuantityCallback;
55
55
  var ref, ref1, ref2;
56
56
  var ref3 = _slicedToArray(_myCartApi.myCartApi.useRemove(onRemoveCallback), 1), remove = ref3[0];
57
57
  var ref4 = _slicedToArray(_myCartApi.myCartApi.useAdd(onAddCallback), 2), add = ref4[0], ref5 = ref4[1], isAddLoading = ref5.isLoading;
@@ -79,7 +79,8 @@ var useBasket = function(param) {
79
79
  var removeFromBasket = function() {
80
80
  isExisting && remove({
81
81
  productId: productId,
82
- variantId: variantId
82
+ variantId: variantId,
83
+ lineItemId: lineItemId
83
84
  });
84
85
  };
85
86
  var setLineItemQuantity = function(qty) {
@@ -88,7 +89,8 @@ var useBasket = function(param) {
88
89
  quantity: qty
89
90
  },
90
91
  productId: productId,
91
- variantId: variantId
92
+ variantId: variantId,
93
+ lineItemId: lineItemId
92
94
  });
93
95
  };
94
96
  return {
@@ -272,10 +272,17 @@ var generateQueryString = function(query, pair, remove) {
272
272
  }
273
273
  });
274
274
  if (remove) {
275
- var applied = activeFilters[pair.aggType].split(';')[2].split(',');
276
- var remaining = applied.filter(function(x) {
277
- return !pair.aggKey.includes(x);
275
+ var applied = pair.aggType !== 'price' ? activeFilters[pair.aggType].split(';')[2].split(',') : activeFilters[pair.aggType].split(';')[2].split(',')// split into chunks of 2
276
+ .map(function(_, i, list) {
277
+ return list.slice(i * 2, i * 2 + 2);
278
+ })// filter out inner array (array of chunks) if no chunks
279
+ .filter(function(el) {
280
+ return el.length;
278
281
  });
282
+ var remaining = applied.filter(function(x) {
283
+ // array if pair.aggType === 'price', otherwise string
284
+ return pair.aggKey !== (Array.isArray(x) ? x.join(',') : x);
285
+ }).flat();
279
286
  if (remaining.length === 0) {
280
287
  activeFilters[pair.aggType] = "";
281
288
  } else {
@@ -333,24 +333,25 @@ export var MyCartApiFactory = function() {
333
333
  var queryCache = useQueryCache();
334
334
  return useMutation(function() {
335
335
  var _ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee(values) {
336
- var cart, compactCart, lineItemId, lineItems;
336
+ var cart, compactCart, ref, lineItemId, lineItems;
337
337
  return regeneratorRuntime.wrap(function _callee$(_ctx) {
338
338
  while(1)switch(_ctx.prev = _ctx.next){
339
339
  case 0:
340
340
  cart = queryCache.getQueryData(myCartCacheKeys.useGet);
341
341
  compactCart = queryCache.getQueryData(myCartCacheKeys.useGetCompact);
342
- lineItemId = getLineItemId({
342
+ ;
343
+ lineItemId = (ref = values === null || values === void 0 ? void 0 : values.lineItemId) !== null && ref !== void 0 ? ref : getLineItemId({
343
344
  collapseKey: values === null || values === void 0 ? void 0 : values.collapseKey,
344
345
  productId: values === null || values === void 0 ? void 0 : values.productId,
345
346
  variantId: values === null || values === void 0 ? void 0 : values.variantId,
346
347
  type: LineItemType.Regular
347
348
  });
348
349
  if (!(!cart || !compactCart)) {
349
- _ctx.next = 5;
350
+ _ctx.next = 6;
350
351
  break;
351
352
  }
352
353
  return _ctx.abrupt("return", myCartApi1.deleteLineItem(lineItemId));
353
- case 5:
354
+ case 6:
354
355
  lineItems = cart.lineItems.filter(function(product) {
355
356
  return product._id !== lineItemId;
356
357
  });
@@ -361,7 +362,7 @@ export var MyCartApiFactory = function() {
361
362
  lineItemsCount: ((compactCart === null || compactCart === void 0 ? void 0 : compactCart.lineItemsCount) || 1) - 1
362
363
  }));
363
364
  return _ctx.abrupt("return", myCartApi1.deleteLineItem(lineItemId));
364
- case 9:
365
+ case 10:
365
366
  case "end":
366
367
  return _ctx.stop();
367
368
  }
@@ -427,18 +428,19 @@ export var MyCartApiFactory = function() {
427
428
  var queryCache = useQueryCache();
428
429
  return useMutation(function() {
429
430
  var _ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee(values) {
430
- var lineItemId;
431
+ var ref, lineItemId;
431
432
  return regeneratorRuntime.wrap(function _callee$(_ctx) {
432
433
  while(1)switch(_ctx.prev = _ctx.next){
433
434
  case 0:
434
- lineItemId = getLineItemId({
435
+ ;
436
+ lineItemId = (ref = values === null || values === void 0 ? void 0 : values.lineItemId) !== null && ref !== void 0 ? ref : getLineItemId({
435
437
  collapseKey: values === null || values === void 0 ? void 0 : values.collapseKey,
436
438
  productId: values === null || values === void 0 ? void 0 : values.productId,
437
439
  variantId: values === null || values === void 0 ? void 0 : values.variantId,
438
440
  type: LineItemType.Regular
439
441
  });
440
442
  return _ctx.abrupt("return", myCartApi1.setLineItemQuantity(lineItemId, values.dto));
441
- case 2:
443
+ case 3:
442
444
  case "end":
443
445
  return _ctx.stop();
444
446
  }
@@ -47,7 +47,7 @@ function _unsupportedIterableToArray(o, minLen) {
47
47
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
48
48
  }
49
49
  export var useBasket = function(param) {
50
- var productId = param.productId, variantId = param.variantId, collapseKey = param.collapseKey, offerId = param.offerId, quantity = param.quantity, selectedOptions = param.selectedOptions, onAddCallback = param.onAddCallback, onRemoveCallback = param.onRemoveCallback, onSetQuantityCallback = param.onSetQuantityCallback;
50
+ var productId = param.productId, variantId = param.variantId, collapseKey = param.collapseKey, offerId = param.offerId, lineItemId = param.lineItemId, quantity = param.quantity, selectedOptions = param.selectedOptions, onAddCallback = param.onAddCallback, onRemoveCallback = param.onRemoveCallback, onSetQuantityCallback = param.onSetQuantityCallback;
51
51
  var ref, ref1, ref2;
52
52
  var ref3 = _slicedToArray(myCartApi.useRemove(onRemoveCallback), 1), remove = ref3[0];
53
53
  var ref4 = _slicedToArray(myCartApi.useAdd(onAddCallback), 2), add = ref4[0], ref5 = ref4[1], isAddLoading = ref5.isLoading;
@@ -75,7 +75,8 @@ export var useBasket = function(param) {
75
75
  var removeFromBasket = function() {
76
76
  isExisting && remove({
77
77
  productId: productId,
78
- variantId: variantId
78
+ variantId: variantId,
79
+ lineItemId: lineItemId
79
80
  });
80
81
  };
81
82
  var setLineItemQuantity = function(qty) {
@@ -84,7 +85,8 @@ export var useBasket = function(param) {
84
85
  quantity: qty
85
86
  },
86
87
  productId: productId,
87
- variantId: variantId
88
+ variantId: variantId,
89
+ lineItemId: lineItemId
88
90
  });
89
91
  };
90
92
  return {
@@ -260,10 +260,17 @@ var generateQueryString = function(query, pair, remove) {
260
260
  }
261
261
  });
262
262
  if (remove) {
263
- var applied = activeFilters[pair.aggType].split(';')[2].split(',');
264
- var remaining = applied.filter(function(x) {
265
- return !pair.aggKey.includes(x);
263
+ var applied = pair.aggType !== 'price' ? activeFilters[pair.aggType].split(';')[2].split(',') : activeFilters[pair.aggType].split(';')[2].split(',')// split into chunks of 2
264
+ .map(function(_, i, list) {
265
+ return list.slice(i * 2, i * 2 + 2);
266
+ })// filter out inner array (array of chunks) if no chunks
267
+ .filter(function(el) {
268
+ return el.length;
266
269
  });
270
+ var remaining = applied.filter(function(x) {
271
+ // array if pair.aggType === 'price', otherwise string
272
+ return pair.aggKey !== (Array.isArray(x) ? x.join(',') : x);
273
+ }).flat();
267
274
  if (remaining.length === 0) {
268
275
  activeFilters[pair.aggType] = "";
269
276
  } else {
@@ -35,6 +35,7 @@ declare type myCartApiType = {
35
35
  }) => MutationResultPair<OrderDTO, unknown, LineItemDraftDTO, unknown>;
36
36
  readonly useAddCustom: (onSuccess?: () => void) => MutationResultPair<OrderDTO, unknown, CustomLineItemDraftDTO, unknown>;
37
37
  readonly useRemove: (onSuccess?: () => void) => MutationResultPair<OrderDTO, unknown, {
38
+ lineItemId?: string;
38
39
  productId: string;
39
40
  variantId?: string;
40
41
  collapseKey?: string;
@@ -47,6 +48,7 @@ declare type myCartApiType = {
47
48
  readonly useSetQuantity: (onSuccess?: () => void) => MutationResultPair<OrderDTO, unknown, {
48
49
  productId: string;
49
50
  variantId?: string;
51
+ lineItemId?: string;
50
52
  dto: QuantityUpdateDTO;
51
53
  collapseKey?: string;
52
54
  }, unknown>;
@@ -7,11 +7,12 @@ declare type UseBasketProps = {
7
7
  variantId: string;
8
8
  collapseKey?: string;
9
9
  quantity?: number;
10
+ lineItemId?: string;
10
11
  onAddCallback?: () => void;
11
12
  onRemoveCallback?: () => void;
12
13
  onSetQuantityCallback?: () => void;
13
14
  };
14
- export declare const useBasket: ({ productId, variantId, collapseKey, offerId, quantity, selectedOptions, onAddCallback, onRemoveCallback, onSetQuantityCallback, }: UseBasketProps) => {
15
+ export declare const useBasket: ({ productId, variantId, collapseKey, offerId, lineItemId, quantity, selectedOptions, onAddCallback, onRemoveCallback, onSetQuantityCallback, }: UseBasketProps) => {
15
16
  addToBasket: (qty: number) => void;
16
17
  removeFromBasket: () => void;
17
18
  setLineItemQuantity: (qty: number) => void;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sentecacommerce-theme/lib",
3
3
  "sideEffects": false,
4
- "version": "0.13.8",
4
+ "version": "0.13.9",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
7
7
  "types": "dist/types/index.d.ts",
@@ -31,13 +31,13 @@
31
31
  "watch:cjs": "swc src --out-dir dist/cjs -w",
32
32
  "watch:esm": "swc src --out-dir dist/esm --no-swcrc -w"
33
33
  },
34
- "gitHead": "497ca9b5c14b9d15c74e09e629cb55f2f221bf7f",
34
+ "gitHead": "f9771caffd2286f147c141cefa198664b0147750",
35
35
  "peerDependencies": {
36
36
  "react-query": "^2.26.2"
37
37
  },
38
38
  "dependencies": {
39
- "@sentecacommerce-theme/base": "^0.13.8",
40
- "@sentecacommerce-theme/cms": "^0.13.8",
39
+ "@sentecacommerce-theme/base": "^0.13.9",
40
+ "@sentecacommerce-theme/cms": "^0.13.9",
41
41
  "@sentecacommerce/sdk": "2.0.175",
42
42
  "body-scroll-lock": "^3.1.5",
43
43
  "copy-to-clipboard": "^3.3.1",