@plasmicpkgs/commerce 0.0.48 → 0.0.51

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,8 +1890,24 @@ 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",
@@ -1886,7 +1918,28 @@ function ProductBox(props) {
1886
1918
  var className = props.className,
1887
1919
  children = props.children,
1888
1920
  noLayout = props.noLayout,
1889
- 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
+ }
1890
1943
 
1891
1944
  var _useProduct = useProduct$1({
1892
1945
  id: id
@@ -1929,21 +1982,6 @@ function registerProductBox(loader, customProductBoxMeta) {
1929
1982
  doRegisterComponent(ProductBox, customProductBoxMeta != null ? customProductBoxMeta : productBoxMeta);
1930
1983
  }
1931
1984
 
1932
- var fetcher$4 = SWRFetcher;
1933
-
1934
- var fn$4 = function fn(provider) {
1935
- var _provider$products;
1936
-
1937
- return (_provider$products = provider.products) == null ? void 0 : _provider$products.useSearch;
1938
- };
1939
-
1940
- var useSearch = function useSearch(input) {
1941
- var hook = useHook(fn$4);
1942
- return useSWRHook(_extends({
1943
- fetcher: fetcher$4
1944
- }, hook))(input);
1945
- };
1946
-
1947
1985
  var fetcher$5 = SWRFetcher;
1948
1986
 
1949
1987
  var fn$5 = function fn(provider) {