@plasmicpkgs/commerce 0.0.49 → 0.0.52

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,25 @@ 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.id,
1900
+ label: (_product$slug = product.slug) != null ? _product$slug : product.name,
1901
+ footer: React.createElement("div", null, React.createElement("div", null, React.createElement("strong", null, product.name)), React.createElement("div", null, product.slug))
1902
+ };
1903
+ })) != null ? _ctx$products$map : [];
1904
+ }
1872
1905
  }
1873
1906
  },
1874
1907
  importPath: "@plasmicpkgs/commerce",
@@ -1879,7 +1912,28 @@ function ProductBox(props) {
1879
1912
  var className = props.className,
1880
1913
  children = props.children,
1881
1914
  noLayout = props.noLayout,
1882
- id = props.id;
1915
+ id = props.id,
1916
+ setControlContextData = props.setControlContextData;
1917
+
1918
+ var _React$useState = React.useState(""),
1919
+ productSearch = _React$useState[0],
1920
+ setProductSearch = _React$useState[1];
1921
+
1922
+ var _useSearch = useSearch({
1923
+ search: productSearch !== "" ? productSearch : undefined
1924
+ }),
1925
+ allProducts = _useSearch.data;
1926
+
1927
+ var onSearch = React.useCallback(debounce(function (value) {
1928
+ return setProductSearch(value);
1929
+ }, 300), []);
1930
+
1931
+ if (allProducts) {
1932
+ setControlContextData == null ? void 0 : setControlContextData({
1933
+ products: allProducts.products,
1934
+ onSearch: onSearch
1935
+ });
1936
+ }
1883
1937
 
1884
1938
  var _useProduct = useProduct$1({
1885
1939
  id: id
@@ -1922,21 +1976,6 @@ function registerProductBox(loader, customProductBoxMeta) {
1922
1976
  doRegisterComponent(ProductBox, customProductBoxMeta != null ? customProductBoxMeta : productBoxMeta);
1923
1977
  }
1924
1978
 
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
1979
  var fetcher$5 = SWRFetcher;
1941
1980
 
1942
1981
  var fn$5 = function fn(provider) {