@plasmicpkgs/commerce 0.0.49 → 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,8 +1883,24 @@ 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",
@@ -1879,7 +1911,28 @@ function ProductBox(props) {
1879
1911
  var className = props.className,
1880
1912
  children = props.children,
1881
1913
  noLayout = props.noLayout,
1882
- 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
+ }
1883
1936
 
1884
1937
  var _useProduct = useProduct$1({
1885
1938
  id: id
@@ -1922,21 +1975,6 @@ function registerProductBox(loader, customProductBoxMeta) {
1922
1975
  doRegisterComponent(ProductBox, customProductBoxMeta != null ? customProductBoxMeta : productBoxMeta);
1923
1976
  }
1924
1977
 
1925
- var fetcher$4 = SWRFetcher;
1926
-
1927
- var fn$4 = function fn(provider) {
1928
- var _provider$products;
1929
-
1930
- return (_provider$products = provider.products) == null ? void 0 : _provider$products.useSearch;
1931
- };
1932
-
1933
- var useSearch = function useSearch(input) {
1934
- var hook = useHook(fn$4);
1935
- return useSWRHook(_extends({
1936
- fetcher: fetcher$4
1937
- }, hook))(input);
1938
- };
1939
-
1940
1978
  var fetcher$5 = SWRFetcher;
1941
1979
 
1942
1980
  var fn$5 = function fn(provider) {