@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.
@@ -4,6 +4,7 @@ import { useSelector, DataProvider, PlasmicCanvasContext, repeatedElement } from
4
4
  import { useForm, FormProvider, useFormContext, Controller } from 'react-hook-form';
5
5
  import { useMutablePlasmicQueryData } from '@plasmicapp/query';
6
6
  import Cookies from 'js-cookie';
7
+ import debounce from 'lodash.debounce';
7
8
 
8
9
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
9
10
  try {
@@ -1841,6 +1842,21 @@ var useProduct$1 = function useProduct(input) {
1841
1842
  }, hook))(input);
1842
1843
  };
1843
1844
 
1845
+ var fetcher$4 = SWRFetcher;
1846
+
1847
+ var fn$4 = function fn(provider) {
1848
+ var _provider$products;
1849
+
1850
+ return (_provider$products = provider.products) == null ? void 0 : _provider$products.useSearch;
1851
+ };
1852
+
1853
+ var useSearch = function useSearch(input) {
1854
+ var hook = useHook(fn$4);
1855
+ return useSWRHook(_extends({
1856
+ fetcher: fetcher$4
1857
+ }, hook))(input);
1858
+ };
1859
+
1844
1860
  var productBoxMeta = {
1845
1861
  name: "plasmic-commerce-product-box",
1846
1862
  displayName: "Product Box",
@@ -1867,18 +1883,56 @@ var productBoxMeta = {
1867
1883
  },
1868
1884
  noLayout: "boolean",
1869
1885
  id: {
1870
- type: "string",
1871
- description: "Fetch a product by its slug or ID"
1886
+ type: "cardPicker",
1887
+ modalTitle: "Product",
1888
+ onSearch: function onSearch(props, ctx) {
1889
+ return ctx == null ? void 0 : ctx.onSearch;
1890
+ },
1891
+ options: function options(props, ctx) {
1892
+ var _ctx$products$map;
1893
+
1894
+ return (_ctx$products$map = ctx == null ? void 0 : ctx.products.map(function (product) {
1895
+ var _product$slug;
1896
+
1897
+ return {
1898
+ imgUrl: product.images[0].url,
1899
+ value: (_product$slug = product.slug) != null ? _product$slug : product.name,
1900
+ footer: React.createElement("div", null, React.createElement("div", null, React.createElement("strong", null, product.name)), React.createElement("div", null, product.slug))
1901
+ };
1902
+ })) != null ? _ctx$products$map : [];
1903
+ }
1872
1904
  }
1873
1905
  },
1874
1906
  importPath: "@plasmicpkgs/commerce",
1875
- importName: "ProductBox"
1907
+ importName: "ProductBox",
1908
+ providesData: true
1876
1909
  };
1877
1910
  function ProductBox(props) {
1878
1911
  var className = props.className,
1879
1912
  children = props.children,
1880
1913
  noLayout = props.noLayout,
1881
- id = props.id;
1914
+ id = props.id,
1915
+ setControlContextData = props.setControlContextData;
1916
+
1917
+ var _React$useState = React.useState(""),
1918
+ productSearch = _React$useState[0],
1919
+ setProductSearch = _React$useState[1];
1920
+
1921
+ var _useSearch = useSearch({
1922
+ search: productSearch !== "" ? productSearch : undefined
1923
+ }),
1924
+ allProducts = _useSearch.data;
1925
+
1926
+ var onSearch = React.useCallback(debounce(function (value) {
1927
+ return setProductSearch(value);
1928
+ }, 300), []);
1929
+
1930
+ if (allProducts) {
1931
+ setControlContextData == null ? void 0 : setControlContextData({
1932
+ products: allProducts.products,
1933
+ onSearch: onSearch
1934
+ });
1935
+ }
1882
1936
 
1883
1937
  var _useProduct = useProduct$1({
1884
1938
  id: id
@@ -1921,21 +1975,6 @@ function registerProductBox(loader, customProductBoxMeta) {
1921
1975
  doRegisterComponent(ProductBox, customProductBoxMeta != null ? customProductBoxMeta : productBoxMeta);
1922
1976
  }
1923
1977
 
1924
- var fetcher$4 = SWRFetcher;
1925
-
1926
- var fn$4 = function fn(provider) {
1927
- var _provider$products;
1928
-
1929
- return (_provider$products = provider.products) == null ? void 0 : _provider$products.useSearch;
1930
- };
1931
-
1932
- var useSearch = function useSearch(input) {
1933
- var hook = useHook(fn$4);
1934
- return useSWRHook(_extends({
1935
- fetcher: fetcher$4
1936
- }, hook))(input);
1937
- };
1938
-
1939
1978
  var fetcher$5 = SWRFetcher;
1940
1979
 
1941
1980
  var fn$5 = function fn(provider) {
@@ -2071,7 +2110,8 @@ var productCollectionMeta = {
2071
2110
  maxWidth: "100%"
2072
2111
  },
2073
2112
  importPath: "@plasmicpkgs/commerce",
2074
- importName: "ProductCollection"
2113
+ importName: "ProductCollection",
2114
+ providesData: true
2075
2115
  };
2076
2116
  function ProductCollection(props) {
2077
2117
  var _categoryCtx$id;
@@ -2280,7 +2320,8 @@ var productMediaCollectionMeta = {
2280
2320
  maxWidth: "100%"
2281
2321
  },
2282
2322
  importPath: "@plasmicpkgs/commerce",
2283
- importName: "ProductMediaCollection"
2323
+ importName: "ProductMediaCollection",
2324
+ providesData: true
2284
2325
  };
2285
2326
  function ProductMediaCollection(props) {
2286
2327
  var media = props.media,