@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.
@@ -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,25 @@ 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.id,
1907
+ label: (_product$slug = product.slug) != null ? _product$slug : product.name,
1908
+ 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))
1909
+ };
1910
+ })) != null ? _ctx$products$map : [];
1911
+ }
1879
1912
  }
1880
1913
  },
1881
1914
  importPath: "@plasmicpkgs/commerce",
@@ -1886,7 +1919,28 @@ function ProductBox(props) {
1886
1919
  var className = props.className,
1887
1920
  children = props.children,
1888
1921
  noLayout = props.noLayout,
1889
- id = props.id;
1922
+ id = props.id,
1923
+ setControlContextData = props.setControlContextData;
1924
+
1925
+ var _React$useState = React__default.useState(""),
1926
+ productSearch = _React$useState[0],
1927
+ setProductSearch = _React$useState[1];
1928
+
1929
+ var _useSearch = useSearch({
1930
+ search: productSearch !== "" ? productSearch : undefined
1931
+ }),
1932
+ allProducts = _useSearch.data;
1933
+
1934
+ var onSearch = React__default.useCallback(debounce(function (value) {
1935
+ return setProductSearch(value);
1936
+ }, 300), []);
1937
+
1938
+ if (allProducts) {
1939
+ setControlContextData == null ? void 0 : setControlContextData({
1940
+ products: allProducts.products,
1941
+ onSearch: onSearch
1942
+ });
1943
+ }
1890
1944
 
1891
1945
  var _useProduct = useProduct$1({
1892
1946
  id: id
@@ -1929,21 +1983,6 @@ function registerProductBox(loader, customProductBoxMeta) {
1929
1983
  doRegisterComponent(ProductBox, customProductBoxMeta != null ? customProductBoxMeta : productBoxMeta);
1930
1984
  }
1931
1985
 
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
1986
  var fetcher$5 = SWRFetcher;
1948
1987
 
1949
1988
  var fn$5 = function fn(provider) {