@plasmicpkgs/commerce 0.0.47 → 0.0.50

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.
@@ -11,6 +11,7 @@ var host = require('@plasmicapp/host');
11
11
  var reactHookForm = require('react-hook-form');
12
12
  var query = require('@plasmicapp/query');
13
13
  var Cookies = _interopDefault(require('js-cookie'));
14
+ var debounce = _interopDefault(require('lodash.debounce'));
14
15
 
15
16
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
16
17
  try {
@@ -1848,6 +1849,21 @@ var useProduct$1 = function useProduct(input) {
1848
1849
  }, hook))(input);
1849
1850
  };
1850
1851
 
1852
+ var fetcher$4 = SWRFetcher;
1853
+
1854
+ var fn$4 = function fn(provider) {
1855
+ var _provider$products;
1856
+
1857
+ return (_provider$products = provider.products) == null ? void 0 : _provider$products.useSearch;
1858
+ };
1859
+
1860
+ var useSearch = function useSearch(input) {
1861
+ var hook = useHook(fn$4);
1862
+ return useSWRHook(_extends({
1863
+ fetcher: fetcher$4
1864
+ }, hook))(input);
1865
+ };
1866
+
1851
1867
  var productBoxMeta = {
1852
1868
  name: "plasmic-commerce-product-box",
1853
1869
  displayName: "Product Box",
@@ -1874,18 +1890,56 @@ var productBoxMeta = {
1874
1890
  },
1875
1891
  noLayout: "boolean",
1876
1892
  id: {
1877
- type: "string",
1878
- description: "Fetch a product by its slug or ID"
1893
+ type: "cardPicker",
1894
+ modalTitle: "Product",
1895
+ onSearch: function onSearch(props, ctx) {
1896
+ return ctx == null ? void 0 : ctx.onSearch;
1897
+ },
1898
+ options: function options(props, ctx) {
1899
+ var _ctx$products$map;
1900
+
1901
+ return (_ctx$products$map = ctx == null ? void 0 : ctx.products.map(function (product) {
1902
+ var _product$slug;
1903
+
1904
+ return {
1905
+ imgUrl: product.images[0].url,
1906
+ value: (_product$slug = product.slug) != null ? _product$slug : product.name,
1907
+ footer: React__default.createElement("div", null, React__default.createElement("div", null, React__default.createElement("strong", null, product.name)), React__default.createElement("div", null, product.slug))
1908
+ };
1909
+ })) != null ? _ctx$products$map : [];
1910
+ }
1879
1911
  }
1880
1912
  },
1881
1913
  importPath: "@plasmicpkgs/commerce",
1882
- importName: "ProductBox"
1914
+ importName: "ProductBox",
1915
+ providesData: true
1883
1916
  };
1884
1917
  function ProductBox(props) {
1885
1918
  var className = props.className,
1886
1919
  children = props.children,
1887
1920
  noLayout = props.noLayout,
1888
- id = props.id;
1921
+ id = props.id,
1922
+ setControlContextData = props.setControlContextData;
1923
+
1924
+ var _React$useState = React__default.useState(""),
1925
+ productSearch = _React$useState[0],
1926
+ setProductSearch = _React$useState[1];
1927
+
1928
+ var _useSearch = useSearch({
1929
+ search: productSearch !== "" ? productSearch : undefined
1930
+ }),
1931
+ allProducts = _useSearch.data;
1932
+
1933
+ var onSearch = React__default.useCallback(debounce(function (value) {
1934
+ return setProductSearch(value);
1935
+ }, 300), []);
1936
+
1937
+ if (allProducts) {
1938
+ setControlContextData == null ? void 0 : setControlContextData({
1939
+ products: allProducts.products,
1940
+ onSearch: onSearch
1941
+ });
1942
+ }
1889
1943
 
1890
1944
  var _useProduct = useProduct$1({
1891
1945
  id: id
@@ -1928,21 +1982,6 @@ function registerProductBox(loader, customProductBoxMeta) {
1928
1982
  doRegisterComponent(ProductBox, customProductBoxMeta != null ? customProductBoxMeta : productBoxMeta);
1929
1983
  }
1930
1984
 
1931
- var fetcher$4 = SWRFetcher;
1932
-
1933
- var fn$4 = function fn(provider) {
1934
- var _provider$products;
1935
-
1936
- return (_provider$products = provider.products) == null ? void 0 : _provider$products.useSearch;
1937
- };
1938
-
1939
- var useSearch = function useSearch(input) {
1940
- var hook = useHook(fn$4);
1941
- return useSWRHook(_extends({
1942
- fetcher: fetcher$4
1943
- }, hook))(input);
1944
- };
1945
-
1946
1985
  var fetcher$5 = SWRFetcher;
1947
1986
 
1948
1987
  var fn$5 = function fn(provider) {
@@ -2078,7 +2117,8 @@ var productCollectionMeta = {
2078
2117
  maxWidth: "100%"
2079
2118
  },
2080
2119
  importPath: "@plasmicpkgs/commerce",
2081
- importName: "ProductCollection"
2120
+ importName: "ProductCollection",
2121
+ providesData: true
2082
2122
  };
2083
2123
  function ProductCollection(props) {
2084
2124
  var _categoryCtx$id;
@@ -2287,7 +2327,8 @@ var productMediaCollectionMeta = {
2287
2327
  maxWidth: "100%"
2288
2328
  },
2289
2329
  importPath: "@plasmicpkgs/commerce",
2290
- importName: "ProductMediaCollection"
2330
+ importName: "ProductMediaCollection",
2331
+ providesData: true
2291
2332
  };
2292
2333
  function ProductMediaCollection(props) {
2293
2334
  var media = props.media,