@plasmicpkgs/commerce 0.0.148 → 0.0.149

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.
@@ -1097,6 +1097,30 @@ var defaultProduct = {
1097
1097
  options: []
1098
1098
  };
1099
1099
 
1100
+ var fetcher$1 = mutationFetcher;
1101
+ var fn$1 = function fn(provider) {
1102
+ var _provider$cart;
1103
+ return (_provider$cart = provider.cart) == null ? void 0 : _provider$cart.useRemoveItem;
1104
+ };
1105
+ var useRemoveItem = function useRemoveItem(input) {
1106
+ var hook = useHook(fn$1);
1107
+ return useMutationHook(_extends({
1108
+ fetcher: fetcher$1
1109
+ }, hook))(input);
1110
+ };
1111
+
1112
+ var fetcher$2 = mutationFetcher;
1113
+ var fn$2 = function fn(provider) {
1114
+ var _provider$cart;
1115
+ return (_provider$cart = provider.cart) == null ? void 0 : _provider$cart.useUpdateItem;
1116
+ };
1117
+ var useUpdateItem = function useUpdateItem(input) {
1118
+ var hook = useHook(fn$2);
1119
+ return useMutationHook(_extends({
1120
+ fetcher: fetcher$2
1121
+ }, hook))(input);
1122
+ };
1123
+
1100
1124
  var productSelector = "currentProduct";
1101
1125
  function ProductProvider(_ref) {
1102
1126
  var product = _ref.product,
@@ -1145,6 +1169,84 @@ function ProductMediaProvider(_ref3) {
1145
1169
  var useProductMediaContext = function useProductMediaContext() {
1146
1170
  return host.useSelector(mediaSelector);
1147
1171
  };
1172
+ function CartActionsProvider(props) {
1173
+ var _addItem = useAddItem();
1174
+ var _removeItem = useRemoveItem();
1175
+ var _updateItem = useUpdateItem();
1176
+ var actions = React__default.useMemo(function () {
1177
+ return {
1178
+ addItem: function addItem(_ref4) {
1179
+ var productId = _ref4.productId,
1180
+ variantId = _ref4.variantId,
1181
+ quantity = _ref4.quantity;
1182
+ _addItem({
1183
+ productId: productId,
1184
+ variantId: variantId,
1185
+ quantity: quantity
1186
+ });
1187
+ },
1188
+ updateItem: function updateItem(_ref5) {
1189
+ var lineItemId = _ref5.lineItemId,
1190
+ quantity = _ref5.quantity;
1191
+ _updateItem({
1192
+ id: lineItemId,
1193
+ quantity: quantity
1194
+ });
1195
+ },
1196
+ removeItem: function removeItem(_ref6) {
1197
+ var lineItemId = _ref6.lineItemId;
1198
+ _removeItem({
1199
+ id: lineItemId
1200
+ });
1201
+ }
1202
+ };
1203
+ }, [_addItem, _removeItem, _updateItem]);
1204
+ return React__default.createElement(host.GlobalActionsProvider, {
1205
+ contextName: props.globalContextName,
1206
+ actions: actions
1207
+ }, props.children);
1208
+ }
1209
+ var globalActionsRegistrations = {
1210
+ addItem: {
1211
+ displayName: "Add item to cart",
1212
+ parameters: {
1213
+ productId: {
1214
+ displayName: "Product Id",
1215
+ type: "string"
1216
+ },
1217
+ variantId: {
1218
+ displayName: "Variant Id",
1219
+ type: "string"
1220
+ },
1221
+ quantity: {
1222
+ displayName: "Quantity",
1223
+ type: "number"
1224
+ }
1225
+ }
1226
+ },
1227
+ updateItem: {
1228
+ displayName: "Update item in cart",
1229
+ parameters: {
1230
+ lineItemId: {
1231
+ displayName: "Line Item Id",
1232
+ type: "string"
1233
+ },
1234
+ quantity: {
1235
+ displayName: "New Quantity",
1236
+ type: "number"
1237
+ }
1238
+ }
1239
+ },
1240
+ removeItem: {
1241
+ displayName: "Remove item from cart",
1242
+ parameters: {
1243
+ lineItemId: {
1244
+ displayName: "Line Item Id",
1245
+ type: "string"
1246
+ }
1247
+ }
1248
+ }
1249
+ };
1148
1250
 
1149
1251
  var addToCartButtonMeta = {
1150
1252
  name: "plasmic-commerce-add-to-cart-button",
@@ -1221,7 +1323,7 @@ function registerAddToCartButton(loader, customAddToCartButtonMeta) {
1221
1323
  doRegisterComponent(AddToCartButton, customAddToCartButtonMeta != null ? customAddToCartButtonMeta : addToCartButtonMeta);
1222
1324
  }
1223
1325
 
1224
- var fetcher$1 = /*#__PURE__*/function () {
1326
+ var fetcher$3 = /*#__PURE__*/function () {
1225
1327
  var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref) {
1226
1328
  var options, cartId, fetch;
1227
1329
  return runtime_1.wrap(function _callee$(_context) {
@@ -1254,16 +1356,16 @@ var fetcher$1 = /*#__PURE__*/function () {
1254
1356
  return _ref2.apply(this, arguments);
1255
1357
  };
1256
1358
  }();
1257
- var fn$1 = function fn(provider) {
1359
+ var fn$3 = function fn(provider) {
1258
1360
  var _provider$cart;
1259
1361
  return (_provider$cart = provider.cart) == null ? void 0 : _provider$cart.useCart;
1260
1362
  };
1261
1363
  var useCart = function useCart(input) {
1262
1364
  var _hook$fetcher;
1263
- var hook = useHook(fn$1);
1365
+ var hook = useHook(fn$3);
1264
1366
  var _useCommerce = useCommerce(),
1265
1367
  cartCookie = _useCommerce.cartCookie;
1266
- var fetcherFn = (_hook$fetcher = hook.fetcher) != null ? _hook$fetcher : fetcher$1;
1368
+ var fetcherFn = (_hook$fetcher = hook.fetcher) != null ? _hook$fetcher : fetcher$3;
1267
1369
  var wrapper = function wrapper(context) {
1268
1370
  context.input.cartId = Cookies.get(cartCookie);
1269
1371
  return fetcherFn(context);
@@ -1388,15 +1490,40 @@ function registerCart(loader, customCartMeta) {
1388
1490
  doRegisterComponent(CartComponent, customCartMeta != null ? customCartMeta : cartMeta);
1389
1491
  }
1390
1492
 
1391
- var fetcher$2 = SWRFetcher;
1392
- var fn$2 = function fn(provider) {
1493
+ var cartProviderMeta = {
1494
+ name: "plasmic-commerce-cart-provider",
1495
+ displayName: "Cart Provider",
1496
+ props: {
1497
+ children: "slot"
1498
+ },
1499
+ providesData: true,
1500
+ importPath: "@plasmicpkgs/commerce",
1501
+ importName: "CartProvider"
1502
+ };
1503
+ function CartProvider(props) {
1504
+ var _useCart = useCart(),
1505
+ data = _useCart.data;
1506
+ return React__default.createElement(host.DataProvider, {
1507
+ data: data,
1508
+ name: "cart"
1509
+ }, props.children);
1510
+ }
1511
+ function registerCartProvider(loader, customCartProviderMeta) {
1512
+ var doRegisterComponent = function doRegisterComponent() {
1513
+ return loader ? loader.registerComponent.apply(loader, arguments) : registerComponent.apply(void 0, arguments);
1514
+ };
1515
+ doRegisterComponent(CartProvider, customCartProviderMeta != null ? customCartProviderMeta : cartProviderMeta);
1516
+ }
1517
+
1518
+ var fetcher$4 = SWRFetcher;
1519
+ var fn$4 = function fn(provider) {
1393
1520
  var _provider$site;
1394
1521
  return (_provider$site = provider.site) == null ? void 0 : _provider$site.useCategories;
1395
1522
  };
1396
1523
  var useCategories = function useCategories(input) {
1397
- var hook = useHook(fn$2);
1524
+ var hook = useHook(fn$4);
1398
1525
  return useSWRHook(_extends({
1399
- fetcher: fetcher$2
1526
+ fetcher: fetcher$4
1400
1527
  }, hook))(input);
1401
1528
  };
1402
1529
 
@@ -1648,27 +1775,27 @@ function registerCategoryMedia(loader, customCategoryMediaMeta) {
1648
1775
  doRegisterComponent(CategoryMedia, customCategoryMediaMeta != null ? customCategoryMediaMeta : categoryMediaMeta);
1649
1776
  }
1650
1777
 
1651
- var fetcher$3 = SWRFetcher;
1652
- var fn$3 = function fn(provider) {
1778
+ var fetcher$5 = SWRFetcher;
1779
+ var fn$5 = function fn(provider) {
1653
1780
  var _provider$products;
1654
1781
  return (_provider$products = provider.products) == null ? void 0 : _provider$products.useProduct;
1655
1782
  };
1656
1783
  var useProduct$1 = function useProduct(input) {
1657
- var hook = useHook(fn$3);
1784
+ var hook = useHook(fn$5);
1658
1785
  return useSWRHook(_extends({
1659
- fetcher: fetcher$3
1786
+ fetcher: fetcher$5
1660
1787
  }, hook))(input);
1661
1788
  };
1662
1789
 
1663
- var fetcher$4 = SWRFetcher;
1664
- var fn$4 = function fn(provider) {
1790
+ var fetcher$6 = SWRFetcher;
1791
+ var fn$6 = function fn(provider) {
1665
1792
  var _provider$products;
1666
1793
  return (_provider$products = provider.products) == null ? void 0 : _provider$products.useSearch;
1667
1794
  };
1668
1795
  var useSearch = function useSearch(input) {
1669
- var hook = useHook(fn$4);
1796
+ var hook = useHook(fn$6);
1670
1797
  return useSWRHook(_extends({
1671
- fetcher: fetcher$4
1798
+ fetcher: fetcher$6
1672
1799
  }, hook))(input);
1673
1800
  };
1674
1801
 
@@ -1779,15 +1906,15 @@ function registerProductBox(loader, customProductBoxMeta) {
1779
1906
  doRegisterComponent(ProductBox, customProductBoxMeta != null ? customProductBoxMeta : productBoxMeta);
1780
1907
  }
1781
1908
 
1782
- var fetcher$5 = SWRFetcher;
1783
- var fn$5 = function fn(provider) {
1909
+ var fetcher$7 = SWRFetcher;
1910
+ var fn$7 = function fn(provider) {
1784
1911
  var _provider$site;
1785
1912
  return (_provider$site = provider.site) == null ? void 0 : _provider$site.useBrands;
1786
1913
  };
1787
1914
  var useBrands = function useBrands(input) {
1788
- var hook = useHook(fn$5);
1915
+ var hook = useHook(fn$7);
1789
1916
  return useSWRHook(_extends({
1790
- fetcher: fetcher$5
1917
+ fetcher: fetcher$7
1791
1918
  }, hook))(input);
1792
1919
  };
1793
1920
 
@@ -2375,30 +2502,6 @@ function registerProductVariantPicker(loader, customProductVariantPickerMeta) {
2375
2502
  doRegisterComponent(ProductVariantPicker, customProductVariantPickerMeta != null ? customProductVariantPickerMeta : productVariantPickerMeta);
2376
2503
  }
2377
2504
 
2378
- var fetcher$6 = mutationFetcher;
2379
- var fn$6 = function fn(provider) {
2380
- var _provider$cart;
2381
- return (_provider$cart = provider.cart) == null ? void 0 : _provider$cart.useRemoveItem;
2382
- };
2383
- var useRemoveItem = function useRemoveItem(input) {
2384
- var hook = useHook(fn$6);
2385
- return useMutationHook(_extends({
2386
- fetcher: fetcher$6
2387
- }, hook))(input);
2388
- };
2389
-
2390
- var fetcher$7 = mutationFetcher;
2391
- var fn$7 = function fn(provider) {
2392
- var _provider$cart;
2393
- return (_provider$cart = provider.cart) == null ? void 0 : _provider$cart.useUpdateItem;
2394
- };
2395
- var useUpdateItem = function useUpdateItem(input) {
2396
- var hook = useHook(fn$7);
2397
- return useMutationHook(_extends({
2398
- fetcher: fetcher$7
2399
- }, hook))(input);
2400
- };
2401
-
2402
2505
 
2403
2506
 
2404
2507
  var cart = {
@@ -2427,6 +2530,7 @@ function registerAll(loader) {
2427
2530
  registerProductMedia(loader);
2428
2531
  registerProductMediaCollection(loader);
2429
2532
  registerCart(loader);
2533
+ registerCartProvider(loader);
2430
2534
  registerAddToCartButton(loader);
2431
2535
  registerProductQuantity(loader);
2432
2536
  registerProductVariantPicker(loader);
@@ -2440,7 +2544,9 @@ function registerAll(loader) {
2440
2544
  }
2441
2545
 
2442
2546
  exports.AddToCartButton = AddToCartButton;
2547
+ exports.CartActionsProvider = CartActionsProvider;
2443
2548
  exports.CartComponent = CartComponent;
2549
+ exports.CartProvider = CartProvider;
2444
2550
  exports.CartType = cart;
2445
2551
  exports.CategoryCollection = CategoryCollection;
2446
2552
  exports.CategoryField = CategoryField;
@@ -2465,12 +2571,14 @@ exports.SiteTypes = site;
2465
2571
  exports.ValidationError = ValidationError;
2466
2572
  exports.addToCartButtonMeta = addToCartButtonMeta;
2467
2573
  exports.cartMeta = cartMeta;
2574
+ exports.cartProviderMeta = cartProviderMeta;
2468
2575
  exports.categoryCollectionMeta = categoryCollectionMeta;
2469
2576
  exports.categoryFieldMeta = categoryFieldMeta;
2470
2577
  exports.categoryLinkMeta = categoryLinkMeta;
2471
2578
  exports.categoryMediaMeta = categoryMediaMeta;
2472
- exports.fetcher = fetcher$4;
2579
+ exports.fetcher = fetcher$6;
2473
2580
  exports.getCommerceProvider = getCommerceProvider;
2581
+ exports.globalActionsRegistrations = globalActionsRegistrations;
2474
2582
  exports.productBoxMeta = productBoxMeta;
2475
2583
  exports.productCollectionMeta = productCollectionMeta;
2476
2584
  exports.productLinkMeta = productLinkMeta;
@@ -2484,6 +2592,7 @@ exports.productVariantPickerMeta = productVariantPickerMeta;
2484
2592
  exports.registerAddToCartButton = registerAddToCartButton;
2485
2593
  exports.registerAll = registerAll;
2486
2594
  exports.registerCart = registerCart;
2595
+ exports.registerCartProvider = registerCartProvider;
2487
2596
  exports.registerCategoryCollection = registerCategoryCollection;
2488
2597
  exports.registerCategoryField = registerCategoryField;
2489
2598
  exports.registerCategoryLink = registerCategoryLink;