@plasmicpkgs/commerce 0.0.247 → 0.0.248

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.
Files changed (68) hide show
  1. package/dist/api/endpoints/cart.d.ts +4 -4
  2. package/dist/api/endpoints/catalog/products.d.ts +4 -4
  3. package/dist/api/index.d.ts +75 -75
  4. package/dist/api/operations.d.ts +130 -130
  5. package/dist/api/utils/errors.d.ts +10 -10
  6. package/dist/api/utils/is-allowed-method.d.ts +3 -3
  7. package/dist/api/utils/is-allowed-operation.d.ts +6 -6
  8. package/dist/api/utils/types.d.ts +34 -34
  9. package/dist/cart/use-add-item.d.ts +5 -5
  10. package/dist/cart/use-cart.d.ts +5 -5
  11. package/dist/cart/use-remove-item.d.ts +5 -5
  12. package/dist/cart/use-update-item.d.ts +5 -5
  13. package/dist/commerce.cjs.development.js +23 -20
  14. package/dist/commerce.cjs.development.js.map +1 -1
  15. package/dist/commerce.cjs.production.min.js +1 -1
  16. package/dist/commerce.cjs.production.min.js.map +1 -1
  17. package/dist/commerce.d.ts +43 -43
  18. package/dist/commerce.esm.js +23 -20
  19. package/dist/commerce.esm.js.map +1 -1
  20. package/dist/contexts.d.ts +26 -26
  21. package/dist/index.d.ts +46 -46
  22. package/dist/product/use-price.d.ts +26 -26
  23. package/dist/product/use-product.d.ts +5 -5
  24. package/dist/product/use-search.d.ts +6 -6
  25. package/dist/registerAddToCartButton.d.ts +10 -10
  26. package/dist/registerCart.d.ts +12 -12
  27. package/dist/registerCartProvider.d.ts +6 -6
  28. package/dist/registerCategoryCollection.d.ts +20 -20
  29. package/dist/registerCategoryField.d.ts +11 -11
  30. package/dist/registerCategoryLink.d.ts +12 -12
  31. package/dist/registerCategoryMedia.d.ts +11 -11
  32. package/dist/registerProductBox.d.ts +18 -18
  33. package/dist/registerProductCollection.d.ts +29 -29
  34. package/dist/registerProductLink.d.ts +12 -12
  35. package/dist/registerProductMedia.d.ts +14 -14
  36. package/dist/registerProductMediaCollection.d.ts +11 -11
  37. package/dist/registerProductPrice.d.ts +10 -10
  38. package/dist/registerProductQuantity.d.ts +11 -11
  39. package/dist/registerProductSlider.d.ts +14 -14
  40. package/dist/registerProductTextField.d.ts +11 -11
  41. package/dist/registerProductVariantPicker.d.ts +10 -10
  42. package/dist/registerable.d.ts +4 -4
  43. package/dist/site/use-brands.d.ts +5 -5
  44. package/dist/site/use-categories.d.ts +5 -5
  45. package/dist/types/cart.d.ts +157 -157
  46. package/dist/types/checkout.d.ts +57 -57
  47. package/dist/types/common.d.ts +13 -13
  48. package/dist/types/customer/address.d.ts +110 -110
  49. package/dist/types/customer/card.d.ts +113 -113
  50. package/dist/types/customer/index.d.ts +24 -24
  51. package/dist/types/index.d.ts +12 -12
  52. package/dist/types/login.d.ts +27 -27
  53. package/dist/types/logout.d.ts +17 -17
  54. package/dist/types/page.d.ts +24 -24
  55. package/dist/types/product.d.ts +117 -117
  56. package/dist/types/signup.d.ts +23 -23
  57. package/dist/types/site.d.ts +55 -55
  58. package/dist/types/wishlist.d.ts +83 -83
  59. package/dist/utils/default-fetcher.d.ts +4 -4
  60. package/dist/utils/default-product.d.ts +2 -2
  61. package/dist/utils/define-property.d.ts +21 -21
  62. package/dist/utils/errors.d.ts +27 -27
  63. package/dist/utils/get-product-price.d.ts +2 -2
  64. package/dist/utils/types.d.ts +99 -99
  65. package/dist/utils/use-data.d.ts +13 -13
  66. package/dist/utils/use-extra-features.d.ts +1 -1
  67. package/dist/utils/use-hook.d.ts +7 -7
  68. package/package.json +5 -5
@@ -1,2 +1,2 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("@plasmicapp/host/registerComponent")),r=require("react"),n=e(r),o=require("react-hook-form"),a=require("@plasmicapp/query"),i=require("@plasmicapp/host"),c=e(require("js-cookie")),l=e(require("debounce"));function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function p(e,t,r,n,o,a,i){try{var c=e[a](i),l=c.value}catch(e){return void r(e)}c.done?t(l):Promise.resolve(l).then(n,o)}function s(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){p(a,n,o,i,c,"next",e)}function c(e){p(a,n,o,i,c,"throw",e)}i(void 0)}))}}function d(e,t,r){if(g())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,t);var o=new(e.bind.apply(e,n));return r&&C(o,r.prototype),o}function m(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return u(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(){return(f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}function y(e){return(y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,C(e,t)}function g(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(g=function(){return!!e})()}function h(){var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var l=Object.create((n&&n.prototype instanceof c?n:c).prototype);return x(l,"_invoke",function(r,n,o){var a,c,l,u=0,p=o||[],s=!1,d={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(t,r){return a=t,c=0,l=e,d.n=r,i}};function m(r,n){for(c=r,l=n,t=0;!s&&u&&!o&&t<p.length;t++){var o,a=p[t],m=d.p,f=a[2];r>3?(o=f===n)&&(l=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=e):a[0]<=m&&((o=r<2&&m<a[1])?(c=0,d.v=n,d.n=a[1]):m<f&&(o=r<3||a[0]>n||n>f)&&(a[4]=r,a[5]=n,d.n=f,c=0))}if(o||r>1)return i;throw s=!0,n}return function(o,p,f){if(u>1)throw TypeError("Generator is already running");for(s&&1===p&&m(p,f),c=p,l=f;(t=c<2?e:l)||!s;){a||(c?c<3?(c>1&&(d.n=-1),m(c,l)):d.n=l:d.v=l);try{if(u=2,a){if(c||(o="next"),t=a[o]){if(!(t=t.call(a,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,c<2&&(c=0)}else 1===c&&(t=a.return)&&t.call(a),c<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=e}else if((t=(s=d.n<0)?l:r.call(n,d))!==i)break}catch(t){a=e,c=1,l=t}finally{u=1}}return{value:t,done:s}}}(r,o,a),!0),l}var i={};function c(){}function l(){}function u(){}t=Object.getPrototypeOf;var p=[][n]?t(t([][n]())):(x(t={},n,(function(){return this})),t),s=u.prototype=c.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,x(e,o,"GeneratorFunction")),e.prototype=Object.create(s),e}return l.prototype=u,x(s,"constructor",u),x(u,"constructor",l),l.displayName="GeneratorFunction",x(u,o,"GeneratorFunction"),x(s),x(s,o,"Generator"),x(s,n,(function(){return this})),x(s,"toString",(function(){return"[object Generator]"})),(h=function(){return{w:a,m:d}})()}function x(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}(x=function(e,t,r,n){function a(t,r){x(e,t,(function(e){return this._invoke(t,r,e)}))}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(a("next",0),a("throw",1),a("return",2))})(e,t,r,n)}function C(e,t){return(C=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function P(e){var t="function"==typeof Map?new Map:void 0;return(P=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return d(e,arguments,y(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),C(r,e)})(e)}var b=["children"],N=r.createContext({});function E(e){var t=e.provider,o=e.children,a=r.useRef(t),i=r.useRef(t.fetcher),c=a.current,l=c.locale,u=c.cartCookie,p=r.useMemo((function(){return{providerRef:a,fetcherRef:i,locale:l,cartCookie:u}}),[l,u]);return n.createElement(N.Provider,{value:p},o)}function k(){return r.useContext(N)}var w=function(e){function t(t){var r,n=t.message,o=t.code,a=t.errors,i=n?f({message:n},o?{code:o}:{}):a[0];return(r=e.call(this,i.message)||this).errors=n?[i]:a,i.code&&(r.code=i.code),r}return v(t,e),t}(P(Error)),I=function(e){function t(t){var r;return(r=e.call(this,t)||this).code="validation_error",r}return v(t,e),t}(w),M=function(e){function t(t){var r;return(r=e.call(this,t)||this).status=t.status,r}return v(t,e),t}(w);function S(){var e,t=k();return null!=(e=t.providerRef.current.fetcher)?e:t.fetcherRef.current}function V(){return k().providerRef.current}function O(e){return e(k().providerRef.current)}function L(e){var t=S(),r=V();return e.useHook({useData:function(n){var o;return function(e,t,r,n,o){var i=Array.isArray(t)?t:Object.entries(t),c=a.useMutablePlasmicQueryData((function(){var t=e.fetchOptions;return t?[t.url,t.query,t.method].concat(i.map((function(e){return e[1]}))):null}),function(){var t=s(h().m((function t(n,a,c){var l,u,p,s,d=arguments;return h().w((function(t){for(;;)switch(t.p=t.n){case 0:for(t.p=0,l=d.length,u=new Array(l>3?l-3:0),p=3;p<l;p++)u[p-3]=d[p];return t.n=1,e.fetcher({options:{url:n,query:a,method:c},input:u.reduce((function(e,t,r){return e[i[r][0]]=t,e}),{}),fetch:r,provider:o});case 1:return t.a(2,t.v);case 2:throw t.p=2,(s=t.v)instanceof w||console.error(s),s;case 3:return t.a(2)}}),t,null,[[0,2]])})));return function(e,r,n){return t.apply(this,arguments)}}(),n);return"isLoading"in c||Object.defineProperty(c,"isLoading",{get:function(){return void 0===c.data},enumerable:!0}),c}(e,null!=(o=null==n?void 0:n.input)?o:[],t,null==n?void 0:n.swrOptions,r)}})}function F(e){var t=S(),n=V();return e.useHook({fetch:r.useCallback((function(r){return e.fetcher({input:(void 0===r?{}:r).input,options:e.fetchOptions,fetch:t,provider:n})}),[t,e.fetchOptions])})}var T=function(e){return(0,e.fetch)(e.options)},_=function(e){return(0,e.fetch)(f({},e.options,{body:e.input}))},j=_,D=function(e){var t;return null==(t=e.cart)?void 0:t.useAddItem},A=function(){var e=O(D);return F(f({fetcher:j},e)).apply(void 0,arguments)},R=_,q=function(e){var t;return null==(t=e.cart)?void 0:t.useRemoveItem},B=function(e){var t=O(q);return F(f({fetcher:R},t))(e)},Q=_,G=function(e){var t;return null==(t=e.cart)?void 0:t.useUpdateItem},H=function(e){var t=O(G);return F(f({fetcher:Q},t))(e)},U={id:"123456789",name:"Product name",description:"",descriptionHtml:"\n <p>This is a <strong>placeholder</strong>.</p>\n ",images:[{url:"https://static1.plasmic.app/commerce/lightweight-jacket-0.png",alt:"Lightweight Jacket"},{url:"https://static1.plasmic.app/commerce/lightweight-jacket-1.png",alt:"Lightweight Jacket"},{url:"https://static1.plasmic.app/commerce/lightweight-jacket-2.png",alt:"Lightweight Jacket"}],variants:[{id:"variant1",name:"Variant 1",options:[]},{id:"variant2",name:"Variant 2",options:[]}],price:{value:0,currencyCode:"USD"},options:[]};function W(e){var t=e.product,r=e.children,a=o.useForm();return n.createElement(i.DataProvider,{name:"currentProduct",data:t,key:t.id},n.createElement(o.FormProvider,Object.assign({},a),r))}var Y=function(){var e=i.useSelector("currentProduct");return null!=e?e:U},z=n.createContext(void 0);function J(e){var t=e.category;return n.createElement(i.DataProvider,{name:"currentCategory",data:t,key:t.id},e.children)}var X=function(){return i.useSelector("currentCategory")};function $(e){var t=e.mediaIndex,r=e.onClick,o=e.children;return n.createElement(i.DataProvider,{name:"currentMedia",data:t,key:t},n.cloneElement(n.isValidElement(o)?o:n.createElement(n.Fragment,null),{onClick:r}))}var K={name:"plasmic-commerce-add-to-cart-button",displayName:"Add To Cart Button",props:{children:{type:"slot",defaultValue:[{type:"button",value:"Add To Cart"}]}},importPath:"@plasmicpkgs/commerce",importName:"AddToCartButton"};function Z(e){var t=e.children,r=Y(),a=o.useFormContext(),i=A(),c=function(){var e=s(h().m((function e(){var t,n,o,c;return h().w((function(e){for(;;)switch(e.n){case 0:if(n=+(null!=(t=a.getValues().ProductQuantity)?t:1),!(isNaN(n)||n<1)){e.n=1;break}throw new w({message:"The item quantity has to be a valid integer greater than 0"});case 1:if(!r){e.n=2;break}return c=null!=(o=a.getValues().ProductVariant)?o:r.variants[0].id,e.n=2,i({productId:r.id,variantId:c,quantity:n});case 2:return e.a(2)}}),e)})));return function(){return e.apply(this,arguments)}}();return n.isValidElement(t)?n.cloneElement(t,{onClick:function(e){t.props.onClick&&"function"==typeof t.props.onClick&&t.props.onClick(e),c()}}):null}function ee(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(Z,null!=r?r:K)}var te=function(){var e=s(h().m((function e(t){var r,n,o;return h().w((function(e){for(;;)switch(e.n){case 0:if(r=t.options,n=t.fetch,!t.input.cartId){e.n=2;break}return e.n=1,n(r);case 1:o=e.v,e.n=3;break;case 2:o=null;case 3:return e.a(2,o)}}),e)})));return function(t){return e.apply(this,arguments)}}(),re=function(e){var t;return null==(t=e.cart)?void 0:t.useCart},ne=function(e){var t,r=O(re),n=k().cartCookie,o=null!=(t=r.fetcher)?t:te;return L(f({},r,{fetcher:function(e){return e.input.cartId=c.get(n),o(e)}}))(e)};function oe(e){var t=e.amount;return new Intl.NumberFormat(e.locale,{style:"currency",currency:e.currencyCode}).format(t)}function ae(e){var t=null!=e?e:{},n=t.amount,o=t.baseAmount,a=t.currencyCode,i=k().locale,c=r.useMemo((function(){return"number"==typeof n&&a?o?function(e){var t=e.amount,r=e.baseAmount,n=e.currencyCode,o=e.locale,a=r>t,i=new Intl.NumberFormat(o,{style:"percent"}),c=a?i.format((r-t)/r):null;return{price:oe({amount:t,currencyCode:n,locale:o}),basePrice:a?oe({amount:r,currencyCode:n,locale:o}):null,discount:c}}({amount:n,baseAmount:o,currencyCode:a,locale:i}):oe({amount:n,currencyCode:a,locale:i}):""}),[n,o,a]);return"string"==typeof c?{price:c}:c}var ie={name:"plasmic-commerce-cart",displayName:"Cart",description:"Show the size or total of the cart. See Cart Provider component to access more cart data.",props:{field:{type:"choice",options:["Size","Total Price"]},hideIfIsEmpty:{type:"boolean",defaultValue:!1,description:"You can hide this component if the cart is empty"}},importPath:"@plasmicpkgs/commerce",importName:"CartComponent"};function ce(e){var t,r,o,a,i=e.className,c=e.field,l=e.hideIfIsEmpty,u=ne().data,p=ae({amount:null!=(t=null==u?void 0:u.totalPrice)?t:0,currencyCode:null!=(r=null==u?void 0:u.currency.code)?r:"USD"}).price;return c?("Size"===c?o=null!=(a=null==u?void 0:u.lineItems.length)?a:0:"Total Price"===c&&(o=null!=p?p:0),l&&0===o?null:n.createElement("span",{className:i},o)):n.createElement("p",null,"You must set the field prop")}function le(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(ce,null!=r?r:ie)}var ue={name:"plasmic-commerce-cart-provider",displayName:"Cart Provider",description:"Use this to create bespoke cart UI. Inside Cart Provider, use dynamic values to access cart data.",props:{children:"slot"},providesData:!0,importPath:"@plasmicpkgs/commerce",importName:"CartProvider"};function pe(e){var t=ne();return n.createElement(i.DataProvider,{data:t.data,name:"cart"},e.children)}function se(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(pe,null!=r?r:ue)}var de=T,me=function(e){var t;return null==(t=e.site)?void 0:t.useCategories},fe=function(e){var t=O(me);return L(f({fetcher:de},t))(e)},ye={name:"plasmic-commerce-category-collection",displayName:"Category Collection",props:{children:{type:"slot",defaultValue:[{type:"vbox",children:[{type:"component",name:"plasmic-commerce-category-field",props:{field:"name"}},{type:"component",name:"plasmic-commerce-product-collection"}],styles:{width:"100%",minWidth:0}}]},emptyMessage:{type:"slot",defaultValue:{type:"text",value:"No collection found!"}},loadingMessage:{type:"slot",defaultValue:{type:"text",value:"Loading..."}},category:{type:"choice",options:function(e,t){var r;return null!=(r=null==t?void 0:t.categories.map((function(e){var t;return{label:""+" ".repeat(null!=(t=e.depth)?t:0)+e.name,value:e.id}})))?r:[]}},noLayout:{type:"boolean",displayName:"No layout",description:"Do not render a container element."},noAutoRepeat:{type:"boolean",displayName:"No auto-repeat",description:"Do not automatically repeat children for every category."}},defaultStyles:{display:"grid",gridTemplateColumns:"1fr",gridRowGap:"8px",padding:"8px",maxWidth:"100%"},importPath:"@plasmicpkgs/commerce",importName:"CategoryCollection",providesData:!0};function ve(e){var t,r=e.children,o=e.noLayout,a=e.noAutoRepeat,c=e.className,l=e.loadingMessage,u=e.emptyMessage,p=e.category,s=e.setControlContextData,d=n.useContext(i.PlasmicCanvasContext),m=fe(),f=m.data,y=m.isLoading,v=fe({categoryId:p,addIsEmptyField:!!d}),g=v.data,h=v.isLoading;f&&(null==s||s({categories:f}));var x=null==g?void 0:g.find((function(e){return!e.isEmpty})),C=null!=(t=null==g?void 0:g.findIndex((function(e){return!e.isEmpty})))?t:-1,P=a?r:null==g?void 0:g.map((function(e,t){return n.createElement(J,{category:e,key:e.id},i.repeatedElement(t<C?t+1:t===C?0:t,r))}));return[y,h].includes(!0)?n.isValidElement(l)?l:null:g&&0!==g.length?n.createElement(i.DataProvider,{name:"categories",data:g},n.createElement(z.Provider,{value:null!=x?x:g[0]},o?n.createElement(n.Fragment,null,P):n.createElement("div",{className:c},P))):n.isValidElement(u)?u:null}function ge(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(ve,null!=r?r:ye)}var he={name:"plasmic-commerce-category-field",displayName:"Category Field",props:{field:{type:"choice",options:["id","name","slug","path"]}},importPath:"@plasmicpkgs/commerce",importName:"CategoryField"};function xe(e){var t=e.className,r=e.field,o=X();return r?n.createElement("span",{className:t},o?o[r]:"Category field placeholder"):n.createElement("span",null,"You must set the field prop")}function Ce(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(xe,null!=r?r:he)}var Pe={name:"plasmic-commerce-category-link",displayName:"Category Link",props:{children:"slot",linkDest:{type:"string",defaultValueHint:"category/{slug}",description:"Set the link destination. You can use {slug} to replace by the category slug"}},importPath:"@plasmicpkgs/commerce",importName:"CategoryLink"};function be(e){var t=e.className,r=e.children,o=e.linkDest,a=X();return n.createElement("a",{className:t,href:function(e){var t;if(e){for(var r,n=/{[^}]*}/,o=new RegExp(n,"g"),i=null!=(t=e.match(o))?t:[],c=e,l=m(i);!(r=l()).done;){var u=r.value.slice(1,-1);if(!a||!(u in a))return;c=c.replace(n,a[u])}return c}}(o),style:{color:"inherit",textDecoration:"inherit"}},r)}function Ne(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(be,null!=r?r:Pe)}var Ee={name:"plasmic-commerce-category-media",displayName:"Category Media",props:{mediaIndex:"number"},importPath:"@plasmicpkgs/commerce",importName:"CategoryMedia"},ke=n.forwardRef((function(e,t){var r,o=e.className,a=e.mediaIndex,i=void 0===a?0:a,c=X(),l=null!=c&&c.images?c.images[i]:void 0;return n.createElement("img",{ref:t,alt:(null==c?void 0:c.name)||"Category Image",src:null!=(r=null==l?void 0:l.url)?r:"",loading:"lazy",className:o})}));function we(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(ke,null!=r?r:Ee)}var Ie=T,Me=function(e){var t;return null==(t=e.products)?void 0:t.useProduct},Se=function(e){var t=O(Me);return L(f({fetcher:Ie},t))(e)},Ve=T,Oe=function(e){var t;return null==(t=e.products)?void 0:t.useSearch},Le=function(e){var t=O(Oe);return L(f({fetcher:Ve},t))(e)},Fe={name:"plasmic-commerce-product-box",displayName:"Product Box",description:"Show a single product. [See commerce tutorial video](https://www.youtube.com/watch?v=1OJ_gXmta2Q)",props:{children:{type:"slot",defaultValue:[{type:"vbox",children:[{type:"component",name:"plasmic-commerce-product-text-field",props:{field:"name"}},{type:"component",name:"plasmic-commerce-product-media"}],styles:{width:"100%",minWidth:0}}]},noLayout:"boolean",id:{type:"cardPicker",modalTitle:"Product",onSearch:function(e,t){return null==t?void 0:t.onSearch},showInput:!0,options:function(e,t){var r;return null!=(r=null==t?void 0:t.products.map((function(e){var t,r;return{imgUrl:null==(t=e.images)||null==(t=t[0])?void 0:t.url,value:e.id,label:null!=(r=e.slug)?r:e.name,footer:n.createElement("div",null,n.createElement("div",null,n.createElement("strong",null,e.name)),n.createElement("div",null,e.slug))}})))?r:[]}}},importPath:"@plasmicpkgs/commerce",importName:"ProductBox",providesData:!0};function Te(e){var t=e.className,r=e.children,o=e.noLayout,a=e.id,i=e.setControlContextData,c=n.useState(""),u=c[0],p=c[1],s=Le({search:""!==u?u:void 0}).data,d=n.useCallback(l((function(e){return p(e)}),300),[]);s&&(null==i||i({products:s.products,onSearch:d}));var m=Se({id:a}),f=m.data,y=m.error,v=m.isLoading;if(!a)return n.createElement("span",null,"You must set the id prop");if(y)throw new w({message:y.message,code:y.code});if(v)return n.createElement("span",null,"Loading...");if(!f)throw new Error("Product not found!");var g=n.createElement(W,{product:f},r);return o?n.createElement(n.Fragment,null,g):n.createElement("div",{className:t},g)}function _e(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(Te,null!=r?r:Fe)}var je=T,De=function(e){var t;return null==(t=e.site)?void 0:t.useBrands},Ae=function(e){var t=O(De);return L(f({fetcher:je},t))(e)},Re={name:"plasmic-commerce-product-collection",displayName:"Product Collection",description:"Show a product category. [See commerce tutorial video](https://www.youtube.com/watch?v=1OJ_gXmta2Q)",props:{children:{type:"slot",defaultValue:[{type:"vbox",children:[{type:"component",name:"plasmic-commerce-product-text-field",props:{field:"name"}},{type:"component",name:"plasmic-commerce-product-media"}],styles:{width:"100%",minWidth:0}}]},emptyMessage:{type:"slot",defaultValue:{type:"text",value:"No product found!"}},loadingMessage:{type:"slot",defaultValue:{type:"text",value:"Loading..."}},count:"number",category:{type:"choice",options:function(e,t){var r;return null!=(r=null==t?void 0:t.categories.map((function(e){var t;return{label:""+" ".repeat(null!=(t=e.depth)?t:0)+e.name,value:e.id}})))?r:[]},defaultValueHint:function(e,t){var r;return null==t||null==(r=t.categoryCtx)?void 0:r.name},readOnly:function(e,t){return!(null==t||!t.categoryCtx)}},includeSubCategories:{type:"boolean",hidden:function(e,t){var r;return!(null!=t&&null!=(r=t.features)&&r.includeSubCategories)}},brand:{type:"choice",options:function(e,t){var r;return null!=(r=null==t?void 0:t.brands.map((function(e){return{label:e.name,value:e.entityId}})))?r:[]}},search:{type:"string"},sort:{type:"choice",options:[{label:"Trending",value:"trending-desc"},{label:"New Arrivals",value:"latest-desc"},{label:"Price: Low to High",value:"price-asc"},{label:"Price: High to Low",value:"price-desc"}]},noLayout:{type:"boolean",displayName:"No layout",description:"Do not render a container element."},noAutoRepeat:{type:"boolean",displayName:"No auto-repeat",description:"Do not automatically repeat children for every category."}},defaultStyles:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr 1fr",gridRowGap:"8px",gridColumnGap:"8px",padding:"8px",maxWidth:"100%"},importPath:"@plasmicpkgs/commerce",importName:"ProductCollection",providesData:!0};function qe(e){var t,o=e.className,a=e.children,c=e.count,l=e.category,u=e.includeSubCategories,p=e.brand,s=e.noLayout,d=e.noAutoRepeat,m=e.setControlContextData,f=e.emptyMessage,y=e.loadingMessage,v=e.search,g=e.sort,h=fe(),x=h.data,C=h.isLoading,P=Ae(),b=P.data,N=P.isLoading,E=X(),w=Le({categoryId:null!=(t=null==E?void 0:E.id)?t:l,brandId:p,count:c,categories:null!=x?x:[],includeSubCategories:u,search:v,sort:g}),I=w.data,M=w.isLoading,S=k().providerRef.current.extraFeatures,V=r.useContext(z);x&&b&&(null==m||m({categories:x,brands:b,features:S,categoryCtx:V}));var O=d?a:null==I?void 0:I.products.map((function(e,t){return n.createElement(W,{product:e,key:e.id},i.repeatedElement(t,a))}));return[M,N,C].includes(!0)?n.isValidElement(y)?y:null:I&&0!==I.products.length?n.createElement(i.DataProvider,{name:"products",data:null==I?void 0:I.products},s?n.createElement(n.Fragment,null,O):n.createElement("div",{className:o},O)):n.isValidElement(f)?f:null}function Be(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(qe,null!=r?r:Re)}var Qe={name:"plasmic-commerce-product-link",displayName:"Product Link",props:{children:"slot",linkDest:{type:"string",defaultValueHint:"products/{slug}",description:"Set the link destination. You can use {slug} to replace by the product slug"}},importPath:"@plasmicpkgs/commerce",importName:"ProductLink"};function Ge(e){var t=e.className,r=e.children,o=e.linkDest,a=Y();return n.createElement("a",{className:t,href:function(e){var t;if(e){for(var r,n=/{[^}]*}/,o=new RegExp(n,"g"),i=null!=(t=e.match(o))?t:[],c=e,l=m(i);!(r=l()).done;){var u=r.value.slice(1,-1);if(!a||!(u in a))return;c=c.replace(n,a[u])}return c}}(o),style:{color:"inherit",textDecoration:"inherit"}},r)}function He(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(Ge,null!=r?r:Qe)}var Ue={name:"plasmic-commerce-product-media",displayName:"Product Media",props:{mediaIndex:{type:"number",min:0,hidden:function(e,t){return!(null==t||!t.inMediaContext)}}},importPath:"@plasmicpkgs/commerce",importName:"ProductMedia"},We=n.forwardRef((function(e,t){var r,o=e.className,a=e.mediaIndex,c=void 0===a?0:a,l=e.setControlContextData,u=Y(),p=i.useSelector("currentMedia");null==l||l({inMediaContext:void 0!==p});var s=null==u?void 0:u.images[null!=p?p:c];return n.createElement("img",{ref:t,alt:(null==u?void 0:u.name)||"Product Image",src:u?null!=(r=null==s?void 0:s.url)?r:"":"https://static1.plasmic.app/commerce/lightweight-jacket-0.png",loading:"lazy",className:o})}));function Ye(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(We,null!=r?r:Ue)}var ze={name:"plasmic-commerce-product-media-collection",displayName:"Product Media Collection",props:{media:{type:"slot",defaultValue:{type:"component",name:"plasmic-commerce-product-media"},allowedComponents:["plasmic-commerce-product-media"]}},defaultStyles:{display:"grid",gridTemplateColumns:"1fr 1fr",gridRowGap:"8px",gridColumnGap:"8px",padding:"8px",maxWidth:"100%"},importPath:"@plasmicpkgs/commerce",importName:"ProductMediaCollection",providesData:!0};function Je(e){var t=e.media,r=e.className,o=Y();return n.createElement("div",{className:r},null==o?void 0:o.images.map((function(e,r){return i.repeatedElement(r,n.createElement($,{mediaIndex:r,children:t}))})))}function Xe(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(Je,null!=r?r:ze)}var $e=function(e,t){var r,n;return null!=(r=null==(n=e.variants.find((function(e){return e.id===t})))?void 0:n.price)?r:e.price.value},Ke={name:"plasmic-commerce-product-price",displayName:"Product Price",props:{},importPath:"@plasmicpkgs/commerce",importName:"ProductPriceComponent"};function Ze(e){var t,r=e.className,a=Y(),i=o.useFormContext(),c=null==i?void 0:i.watch("ProductVariant",null!=(t=a.price)?t:""),l=ae({amount:a?$e(a,c):0,currencyCode:a?a.price.currencyCode:"USD"});return n.createElement("span",{className:r},l.price)}function et(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(Ze,null!=r?r:Ke)}var tt={name:"plasmic-commerce-product-quantity",displayName:"Product Quantity",props:{children:{type:"slot",defaultValue:[{type:"input",attrs:{value:"1"}}]}},importPath:"@plasmicpkgs/commerce",importName:"ProductQuantity"};function rt(e){var t=e.className,r=e.children,a=o.useFormContext();return n.createElement("div",{className:t},n.createElement(o.Controller,{name:"ProductQuantity",defaultValue:1,control:null==a?void 0:a.control,render:function(e){var t=e.field;return n.isValidElement(r)?n.cloneElement(r,f({},r.props,t,{name:"ProductQuantity"})):n.createElement(n.Fragment,null)}}))}function nt(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(rt,null!=r?r:tt)}var ot={name:"plasmic-commerce-product-slider",displayName:"Product Slider",providesData:!0,props:{thumbsVisible:{type:"number",description:"Number of thumbs visible",defaultValue:4,defaultValueHint:4},slideContainer:{type:"slot",defaultValue:{type:"vbox",children:[{type:"component",name:"plasmic-commerce-product-media"}]}},thumbsContainer:{type:"slot",defaultValue:{type:"hbox",children:[{type:"component",name:"plasmic-commerce-product-media"}]}},slideSelected:{type:"number",defaultValue:0,defaultValueHint:0,description:"Current slide selected"}},importPath:"@plasmicpkgs/commerce",importName:"ProductSlider"};function at(e){var t=e.className,r=e.slideContainer,o=e.thumbsContainer,a=e.thumbsVisible,c=void 0===a?4:a,l=e.slideSelected,u=void 0===l?0:l,p=Y(),s=n.useState(u),d=s[0],m=s[1],f=Math.max(0,p.images.length-c),y=Math.min(f,Math.max(0,d-1));return n.createElement("div",{className:t},n.createElement($,{mediaIndex:d,children:r}),n.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat("+c+", 1fr)"}},p.images.slice(y,y+c).map((function(e,t){return i.repeatedElement(t,n.createElement($,{mediaIndex:y+t,children:o,onClick:function(){return m(y+t)}}))}))))}function it(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(at,null!=r?r:ot)}var ct={name:"plasmic-commerce-product-text-field",displayName:"Product Text Field",props:{field:{type:"choice",options:["id","name","description","sku","slug","path"]}},importPath:"@plasmicpkgs/commerce",importName:"ProductTextField"};function lt(e){var t,r=e.className,o=e.field,a=Y();return a?o?"description"===o?n.createElement("div",{className:r,dangerouslySetInnerHTML:{__html:null!=(t=a.descriptionHtml)?t:a.description}}):n.createElement("span",{className:r},a[o]):n.createElement("span",{className:r},"Unknown Product Field"):n.createElement("span",{className:r},"Fake Product Field")}function ut(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(lt,null!=r?r:ct)}var pt={name:"plasmic-commerce-product-variant-picker",displayName:"Product Variant Picker",props:{},importPath:"@plasmicpkgs/commerce",importName:"ProductVariantPicker"};function st(e){var t,r,a=e.className,i=Y(),c=null!=(t=o.useFormContext())?t:o.useForm();return n.createElement(o.Controller,{name:"ProductVariant",control:null==c?void 0:c.control,defaultValue:null==i||null==(r=i.variants.find((function(e){return e.price===i.price.value})))?void 0:r.id,render:function(e){var t;return n.createElement("select",Object.assign({className:a},e.field),null!=(t=null==i?void 0:i.variants.map((function(e){return n.createElement("option",{value:e.id},e.name)})))?t:n.createElement("option",null,"Product Variant Placeholder"))}})}function dt(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(st,null!=r?r:pt)}exports.AddToCartButton=Z,exports.CartActionsProvider=function(e){var t=A(),r=B(),o=H(),a=n.useMemo((function(){return{addItem:function(e,r,n){t({productId:e,variantId:r,quantity:n})},updateItem:function(e,t){o({id:e,quantity:t})},removeItem:function(e){r({id:e})}}}),[t,r,o]);return n.createElement(i.GlobalActionsProvider,{contextName:e.globalContextName,actions:a},e.children)},exports.CartComponent=ce,exports.CartProvider=pe,exports.CartType={__proto__:null},exports.CategoryCollection=ve,exports.CategoryField=xe,exports.CategoryLink=be,exports.CategoryMedia=ke,exports.CommerceError=w,exports.CoreCommerceProvider=E,exports.FetcherError=M,exports.ProductBox=Te,exports.ProductCollection=qe,exports.ProductLink=Ge,exports.ProductMedia=We,exports.ProductMediaCollection=Je,exports.ProductPlaceholder=U,exports.ProductPriceComponent=Ze,exports.ProductQuantity=rt,exports.ProductSlider=at,exports.ProductTextField=lt,exports.ProductTypes={__proto__:null},exports.ProductVariantPicker=st,exports.SiteTypes={__proto__:null},exports.ValidationError=I,exports.addToCartButtonMeta=K,exports.cartMeta=ie,exports.cartProviderMeta=ue,exports.categoryCollectionMeta=ye,exports.categoryFieldMeta=he,exports.categoryLinkMeta=Pe,exports.categoryMediaMeta=Ee,exports.fetcher=Ve,exports.getCommerceProvider=function(e){return function(t){var r=t.children,o=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(t,b);return n.createElement(E,{provider:f({},e,o)},r)}},exports.globalActionsRegistrations={addItem:{displayName:"Add item to cart",parameters:[{name:"productId",displayName:"Product Id",type:"string"},{name:"variantId",displayName:"Variant Id",type:"string"},{name:"quantity",displayName:"Quantity",type:"number"}]},updateItem:{displayName:"Update item in cart",parameters:[{name:"lineItemId",displayName:"Line Item Id",type:"string"},{name:"quantity",displayName:"New Quantity",type:"number"}]},removeItem:{displayName:"Remove item from cart",parameters:[{name:"lineItemId",displayName:"Line Item Id",type:"string"}]}},exports.productBoxMeta=Fe,exports.productCollectionMeta=Re,exports.productLinkMeta=Qe,exports.productMediaCollectionMeta=ze,exports.productMediaMeta=Ue,exports.productPriceMeta=Ke,exports.productQuantityMeta=tt,exports.productSliderMeta=ot,exports.productTextFieldMeta=ct,exports.productVariantPickerMeta=pt,exports.registerAddToCartButton=ee,exports.registerAll=function(e){Be(e),ut(e),et(e),Ye(e),Xe(e),le(e),se(e),ee(e),nt(e),dt(e),_e(e),it(e),He(e),ge(e),Ce(e),Ne(e),we(e)},exports.registerCart=le,exports.registerCartProvider=se,exports.registerCategoryCollection=ge,exports.registerCategoryField=Ce,exports.registerCategoryLink=Ne,exports.registerCategoryMedia=we,exports.registerProductBox=_e,exports.registerProductCollection=Be,exports.registerProductLink=He,exports.registerProductMedia=Ye,exports.registerProductMediaCollection=Xe,exports.registerProductPrice=et,exports.registerProductQuantity=nt,exports.registerProductSlider=it,exports.registerProductVariantPicker=dt,exports.registerTextField=ut,exports.useAddItem=A,exports.useBrands=Ae,exports.useCart=ne,exports.useCategories=fe,exports.useCommerce=k,exports.useProduct=Se,exports.useRemoveItem=B,exports.useSearch=Le,exports.useUpdateItem=H;
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("@plasmicapp/host/registerComponent")),r=require("react"),n=e(r),o=require("react-hook-form"),a=require("@plasmicapp/query"),i=require("@plasmicapp/host"),c=e(require("js-cookie")),l=e(require("debounce"));function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function p(e,t,r,n,o,a,i){try{var c=e[a](i),l=c.value}catch(e){return void r(e)}c.done?t(l):Promise.resolve(l).then(n,o)}function s(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){p(a,n,o,i,c,"next",e)}function c(e){p(a,n,o,i,c,"throw",e)}i(void 0)}))}}function d(e,t,r){if(g())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,t);var o=new(e.bind.apply(e,n));return r&&C(o,r.prototype),o}function m(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return u(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(){return(f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}function y(e){return(y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,C(e,t)}function g(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(g=function(){return!!e})()}function h(){var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var l=Object.create((n&&n.prototype instanceof c?n:c).prototype);return x(l,"_invoke",function(r,n,o){var a,c,l,u=0,p=o||[],s=!1,d={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(t,r){return a=t,c=0,l=e,d.n=r,i}};function m(r,n){for(c=r,l=n,t=0;!s&&u&&!o&&t<p.length;t++){var o,a=p[t],m=d.p,f=a[2];r>3?(o=f===n)&&(l=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=e):a[0]<=m&&((o=r<2&&m<a[1])?(c=0,d.v=n,d.n=a[1]):m<f&&(o=r<3||a[0]>n||n>f)&&(a[4]=r,a[5]=n,d.n=f,c=0))}if(o||r>1)return i;throw s=!0,n}return function(o,p,f){if(u>1)throw TypeError("Generator is already running");for(s&&1===p&&m(p,f),c=p,l=f;(t=c<2?e:l)||!s;){a||(c?c<3?(c>1&&(d.n=-1),m(c,l)):d.n=l:d.v=l);try{if(u=2,a){if(c||(o="next"),t=a[o]){if(!(t=t.call(a,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,c<2&&(c=0)}else 1===c&&(t=a.return)&&t.call(a),c<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=e}else if((t=(s=d.n<0)?l:r.call(n,d))!==i)break}catch(t){a=e,c=1,l=t}finally{u=1}}return{value:t,done:s}}}(r,o,a),!0),l}var i={};function c(){}function l(){}function u(){}t=Object.getPrototypeOf;var p=[][n]?t(t([][n]())):(x(t={},n,(function(){return this})),t),s=u.prototype=c.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,x(e,o,"GeneratorFunction")),e.prototype=Object.create(s),e}return l.prototype=u,x(s,"constructor",u),x(u,"constructor",l),l.displayName="GeneratorFunction",x(u,o,"GeneratorFunction"),x(s),x(s,o,"Generator"),x(s,n,(function(){return this})),x(s,"toString",(function(){return"[object Generator]"})),(h=function(){return{w:a,m:d}})()}function x(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}(x=function(e,t,r,n){function a(t,r){x(e,t,(function(e){return this._invoke(t,r,e)}))}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(a("next",0),a("throw",1),a("return",2))})(e,t,r,n)}function C(e,t){return(C=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function P(e){var t="function"==typeof Map?new Map:void 0;return(P=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return d(e,arguments,y(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),C(r,e)})(e)}var b=["children"],N=r.createContext({});function E(e){var t=e.provider,o=e.children,a=r.useRef(t),i=r.useRef(t.fetcher),c=a.current,l=c.locale,u=c.cartCookie,p=r.useMemo((function(){return{providerRef:a,fetcherRef:i,locale:l,cartCookie:u}}),[l,u]);return n.createElement(N.Provider,{value:p},o)}function k(){return r.useContext(N)}var w=function(e){function t(t){var r,n=t.message,o=t.code,a=t.errors,i=n?f({message:n},o?{code:o}:{}):a[0];return(r=e.call(this,i.message)||this).code=void 0,r.errors=void 0,r.errors=n?[i]:a,i.code&&(r.code=i.code),r}return v(t,e),t}(P(Error)),I=function(e){function t(t){var r;return(r=e.call(this,t)||this).code="validation_error",r}return v(t,e),t}(w),M=function(e){function t(t){var r;return(r=e.call(this,t)||this).status=void 0,r.status=t.status,r}return v(t,e),t}(w);function S(){var e,t=k();return null!=(e=t.providerRef.current.fetcher)?e:t.fetcherRef.current}function V(){return k().providerRef.current}function O(e){return e(k().providerRef.current)}function L(e){var t=S(),r=V();return e.useHook({useData:function(n){var o;return function(e,t,r,n,o){var i=Array.isArray(t)?t:Object.entries(t),c=a.useMutablePlasmicQueryData((function(){var t=e.fetchOptions;return t?[t.url,t.query,t.method].concat(i.map((function(e){return e[1]}))):null}),function(){var t=s(h().m((function t(n,a,c){var l,u,p,s,d=arguments;return h().w((function(t){for(;;)switch(t.p=t.n){case 0:for(t.p=0,l=d.length,u=new Array(l>3?l-3:0),p=3;p<l;p++)u[p-3]=d[p];return t.n=1,e.fetcher({options:{url:n,query:a,method:c},input:u.reduce((function(e,t,r){return e[i[r][0]]=t,e}),{}),fetch:r,provider:o});case 1:return t.a(2,t.v);case 2:throw t.p=2,(s=t.v)instanceof w||console.error(s),s;case 3:return t.a(2)}}),t,null,[[0,2]])})));return function(e,r,n){return t.apply(this,arguments)}}(),n);return"isLoading"in c||Object.defineProperty(c,"isLoading",{get:function(){return void 0===c.data},enumerable:!0}),c}(e,null!=(o=null==n?void 0:n.input)?o:[],t,null==n?void 0:n.swrOptions,r)}})}function F(e){var t=S(),n=V();return e.useHook({fetch:r.useCallback((function(r){return e.fetcher({input:(void 0===r?{}:r).input,options:e.fetchOptions,fetch:t,provider:n})}),[t,e.fetchOptions])})}var T=function(e){return(0,e.fetch)(e.options)},_=function(e){return(0,e.fetch)(f({},e.options,{body:e.input}))},D=_,j=function(e){var t;return null==(t=e.cart)?void 0:t.useAddItem},A=function(){var e=O(j);return F(f({fetcher:D},e)).apply(void 0,arguments)},R=_,q=function(e){var t;return null==(t=e.cart)?void 0:t.useRemoveItem},B=function(e){var t=O(q);return F(f({fetcher:R},t))(e)},Q=_,G=function(e){var t;return null==(t=e.cart)?void 0:t.useUpdateItem},H=function(e){var t=O(G);return F(f({fetcher:Q},t))(e)},U={id:"123456789",name:"Product name",description:"",descriptionHtml:"\n <p>This is a <strong>placeholder</strong>.</p>\n ",images:[{url:"https://static1.plasmic.app/commerce/lightweight-jacket-0.png",alt:"Lightweight Jacket"},{url:"https://static1.plasmic.app/commerce/lightweight-jacket-1.png",alt:"Lightweight Jacket"},{url:"https://static1.plasmic.app/commerce/lightweight-jacket-2.png",alt:"Lightweight Jacket"}],variants:[{id:"variant1",name:"Variant 1",options:[]},{id:"variant2",name:"Variant 2",options:[]}],price:{value:0,currencyCode:"USD"},options:[]};function W(e){var t=e.product,r=e.children,a=o.useForm();return n.createElement(i.DataProvider,{name:"currentProduct",data:t,key:t.id},n.createElement(o.FormProvider,f({},a),r))}var Y=function(){var e=i.useSelector("currentProduct");return null!=e?e:U},z=n.createContext(void 0);function J(e){var t=e.category;return n.createElement(i.DataProvider,{name:"currentCategory",data:t,key:t.id},e.children)}var X=function(){return i.useSelector("currentCategory")};function $(e){var t=e.mediaIndex,r=e.onClick,o=e.children;return n.createElement(i.DataProvider,{name:"currentMedia",data:t,key:t},n.cloneElement(n.isValidElement(o)?o:n.createElement(n.Fragment,null),{onClick:r}))}var K={name:"plasmic-commerce-add-to-cart-button",displayName:"Add To Cart Button",props:{children:{type:"slot",defaultValue:[{type:"button",value:"Add To Cart"}]}},importPath:"@plasmicpkgs/commerce",importName:"AddToCartButton"};function Z(e){var t=e.children,r=Y(),a=o.useFormContext(),i=A(),c=function(){var e=s(h().m((function e(){var t,n,o,c;return h().w((function(e){for(;;)switch(e.n){case 0:if(n=+(null!=(t=a.getValues().ProductQuantity)?t:1),!(isNaN(n)||n<1)){e.n=1;break}throw new w({message:"The item quantity has to be a valid integer greater than 0"});case 1:if(!r){e.n=2;break}return c=null!=(o=a.getValues().ProductVariant)?o:r.variants[0].id,e.n=2,i({productId:r.id,variantId:c,quantity:n});case 2:return e.a(2)}}),e)})));return function(){return e.apply(this,arguments)}}();return n.isValidElement(t)?n.cloneElement(t,{onClick:function(e){t.props.onClick&&"function"==typeof t.props.onClick&&t.props.onClick(e),c()}}):null}function ee(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(Z,null!=r?r:K)}var te=function(){var e=s(h().m((function e(t){var r,n,o;return h().w((function(e){for(;;)switch(e.n){case 0:if(r=t.options,n=t.fetch,!t.input.cartId){e.n=2;break}return e.n=1,n(r);case 1:o=e.v,e.n=3;break;case 2:o=null;case 3:return e.a(2,o)}}),e)})));return function(t){return e.apply(this,arguments)}}(),re=function(e){var t;return null==(t=e.cart)?void 0:t.useCart},ne=function(e){var t,r=O(re),n=k().cartCookie,o=null!=(t=r.fetcher)?t:te;return L(f({},r,{fetcher:function(e){return e.input.cartId=c.get(n),o(e)}}))(e)};function oe(e){var t=e.amount;return new Intl.NumberFormat(e.locale,{style:"currency",currency:e.currencyCode}).format(t)}function ae(e){var t=null!=e?e:{},n=t.amount,o=t.baseAmount,a=t.currencyCode,i=k().locale,c=r.useMemo((function(){return"number"==typeof n&&a?o?function(e){var t=e.amount,r=e.baseAmount,n=e.currencyCode,o=e.locale,a=r>t,i=new Intl.NumberFormat(o,{style:"percent"}),c=a?i.format((r-t)/r):null;return{price:oe({amount:t,currencyCode:n,locale:o}),basePrice:a?oe({amount:r,currencyCode:n,locale:o}):null,discount:c}}({amount:n,baseAmount:o,currencyCode:a,locale:i}):oe({amount:n,currencyCode:a,locale:i}):""}),[n,o,a]);return"string"==typeof c?{price:c}:c}var ie={name:"plasmic-commerce-cart",displayName:"Cart",description:"Show the size or total of the cart. See Cart Provider component to access more cart data.",props:{field:{type:"choice",options:["Size","Total Price"]},hideIfIsEmpty:{type:"boolean",defaultValue:!1,description:"You can hide this component if the cart is empty"}},importPath:"@plasmicpkgs/commerce",importName:"CartComponent"};function ce(e){var t,r,o,a,i=e.className,c=e.field,l=e.hideIfIsEmpty,u=ne().data,p=ae({amount:null!=(t=null==u?void 0:u.totalPrice)?t:0,currencyCode:null!=(r=null==u?void 0:u.currency.code)?r:"USD"}).price;return c?("Size"===c?o=null!=(a=null==u?void 0:u.lineItems.length)?a:0:"Total Price"===c&&(o=null!=p?p:0),l&&0===o?null:n.createElement("span",{className:i},o)):n.createElement("p",null,"You must set the field prop")}function le(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(ce,null!=r?r:ie)}var ue={name:"plasmic-commerce-cart-provider",displayName:"Cart Provider",description:"Use this to create bespoke cart UI. Inside Cart Provider, use dynamic values to access cart data.",props:{children:"slot"},providesData:!0,importPath:"@plasmicpkgs/commerce",importName:"CartProvider"};function pe(e){var t=ne();return n.createElement(i.DataProvider,{data:t.data,name:"cart"},e.children)}function se(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(pe,null!=r?r:ue)}var de=T,me=function(e){var t;return null==(t=e.site)?void 0:t.useCategories},fe=function(e){var t=O(me);return L(f({fetcher:de},t))(e)},ye={name:"plasmic-commerce-category-collection",displayName:"Category Collection",props:{children:{type:"slot",defaultValue:[{type:"vbox",children:[{type:"component",name:"plasmic-commerce-category-field",props:{field:"name"}},{type:"component",name:"plasmic-commerce-product-collection"}],styles:{width:"100%",minWidth:0}}]},emptyMessage:{type:"slot",defaultValue:{type:"text",value:"No collection found!"}},loadingMessage:{type:"slot",defaultValue:{type:"text",value:"Loading..."}},category:{type:"choice",options:function(e,t){var r;return null!=(r=null==t?void 0:t.categories.map((function(e){var t;return{label:""+" ".repeat(null!=(t=e.depth)?t:0)+e.name,value:e.id}})))?r:[]}},noLayout:{type:"boolean",displayName:"No layout",description:"Do not render a container element."},noAutoRepeat:{type:"boolean",displayName:"No auto-repeat",description:"Do not automatically repeat children for every category."}},defaultStyles:{display:"grid",gridTemplateColumns:"1fr",gridRowGap:"8px",padding:"8px",maxWidth:"100%"},importPath:"@plasmicpkgs/commerce",importName:"CategoryCollection",providesData:!0};function ve(e){var t,r=e.children,o=e.noLayout,a=e.noAutoRepeat,c=e.className,l=e.loadingMessage,u=e.emptyMessage,p=e.category,s=e.setControlContextData,d=n.useContext(i.PlasmicCanvasContext),m=fe(),f=m.data,y=m.isLoading,v=fe({categoryId:p,addIsEmptyField:!!d}),g=v.data,h=v.isLoading;f&&(null==s||s({categories:f}));var x=null==g?void 0:g.find((function(e){return!e.isEmpty})),C=null!=(t=null==g?void 0:g.findIndex((function(e){return!e.isEmpty})))?t:-1,P=a?r:null==g?void 0:g.map((function(e,t){return n.createElement(J,{category:e,key:e.id},i.repeatedElement(t<C?t+1:t===C?0:t,r))}));return[y,h].includes(!0)?n.isValidElement(l)?l:null:g&&0!==g.length?n.createElement(i.DataProvider,{name:"categories",data:g},n.createElement(z.Provider,{value:null!=x?x:g[0]},o?n.createElement(n.Fragment,null,P):n.createElement("div",{className:c},P))):n.isValidElement(u)?u:null}function ge(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(ve,null!=r?r:ye)}var he={name:"plasmic-commerce-category-field",displayName:"Category Field",props:{field:{type:"choice",options:["id","name","slug","path"]}},importPath:"@plasmicpkgs/commerce",importName:"CategoryField"};function xe(e){var t=e.className,r=e.field,o=X();return r?n.createElement("span",{className:t},o?o[r]:"Category field placeholder"):n.createElement("span",null,"You must set the field prop")}function Ce(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(xe,null!=r?r:he)}var Pe={name:"plasmic-commerce-category-link",displayName:"Category Link",props:{children:"slot",linkDest:{type:"string",defaultValueHint:"category/{slug}",description:"Set the link destination. You can use {slug} to replace by the category slug"}},importPath:"@plasmicpkgs/commerce",importName:"CategoryLink"};function be(e){var t=e.className,r=e.children,o=e.linkDest,a=X();return n.createElement("a",{className:t,href:function(e){var t;if(e){for(var r,n=/{[^}]*}/,o=new RegExp(n,"g"),i=null!=(t=e.match(o))?t:[],c=e,l=m(i);!(r=l()).done;){var u=r.value.slice(1,-1);if(!a||!(u in a))return;c=c.replace(n,a[u])}return c}}(o),style:{color:"inherit",textDecoration:"inherit"}},r)}function Ne(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(be,null!=r?r:Pe)}var Ee={name:"plasmic-commerce-category-media",displayName:"Category Media",props:{mediaIndex:"number"},importPath:"@plasmicpkgs/commerce",importName:"CategoryMedia"},ke=n.forwardRef((function(e,t){var r,o=e.className,a=e.mediaIndex,i=void 0===a?0:a,c=X(),l=null!=c&&c.images?c.images[i]:void 0;return n.createElement("img",{ref:t,alt:(null==c?void 0:c.name)||"Category Image",src:null!=(r=null==l?void 0:l.url)?r:"",loading:"lazy",className:o})}));function we(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(ke,null!=r?r:Ee)}var Ie=T,Me=function(e){var t;return null==(t=e.products)?void 0:t.useProduct},Se=function(e){var t=O(Me);return L(f({fetcher:Ie},t))(e)},Ve=T,Oe=function(e){var t;return null==(t=e.products)?void 0:t.useSearch},Le=function(e){var t=O(Oe);return L(f({fetcher:Ve},t))(e)},Fe={name:"plasmic-commerce-product-box",displayName:"Product Box",description:"Show a single product. [See commerce tutorial video](https://www.youtube.com/watch?v=1OJ_gXmta2Q)",props:{children:{type:"slot",defaultValue:[{type:"vbox",children:[{type:"component",name:"plasmic-commerce-product-text-field",props:{field:"name"}},{type:"component",name:"plasmic-commerce-product-media"}],styles:{width:"100%",minWidth:0}}]},noLayout:"boolean",id:{type:"cardPicker",modalTitle:"Product",onSearch:function(e,t){return null==t?void 0:t.onSearch},showInput:!0,options:function(e,t){var r;return null!=(r=null==t?void 0:t.products.map((function(e){var t,r;return{imgUrl:null==(t=e.images)||null==(t=t[0])?void 0:t.url,value:e.id,label:null!=(r=e.slug)?r:e.name,footer:n.createElement("div",null,n.createElement("div",null,n.createElement("strong",null,e.name)),n.createElement("div",null,e.slug))}})))?r:[]}}},importPath:"@plasmicpkgs/commerce",importName:"ProductBox",providesData:!0};function Te(e){var t=e.className,r=e.children,o=e.noLayout,a=e.id,i=e.setControlContextData,c=n.useState(""),u=c[0],p=c[1],s=Le({search:""!==u?u:void 0}).data,d=n.useCallback(l((function(e){return p(e)}),300),[]);s&&(null==i||i({products:s.products,onSearch:d}));var m=Se({id:a}),f=m.data,y=m.error,v=m.isLoading;if(!a)return n.createElement("span",null,"You must set the id prop");if(y)throw new w({message:y.message,code:y.code});if(v)return n.createElement("span",null,"Loading...");if(!f)throw new Error("Product not found!");var g=n.createElement(W,{product:f},r);return o?n.createElement(n.Fragment,null,g):n.createElement("div",{className:t},g)}function _e(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(Te,null!=r?r:Fe)}var De=T,je=function(e){var t;return null==(t=e.site)?void 0:t.useBrands},Ae=function(e){var t=O(je);return L(f({fetcher:De},t))(e)},Re={name:"plasmic-commerce-product-collection",displayName:"Product Collection",description:"Show a product category. [See commerce tutorial video](https://www.youtube.com/watch?v=1OJ_gXmta2Q)",props:{children:{type:"slot",defaultValue:[{type:"vbox",children:[{type:"component",name:"plasmic-commerce-product-text-field",props:{field:"name"}},{type:"component",name:"plasmic-commerce-product-media"}],styles:{width:"100%",minWidth:0}}]},emptyMessage:{type:"slot",defaultValue:{type:"text",value:"No product found!"}},loadingMessage:{type:"slot",defaultValue:{type:"text",value:"Loading..."}},count:"number",category:{type:"choice",options:function(e,t){var r;return null!=(r=null==t?void 0:t.categories.map((function(e){var t;return{label:""+" ".repeat(null!=(t=e.depth)?t:0)+e.name,value:e.id}})))?r:[]},defaultValueHint:function(e,t){var r;return null==t||null==(r=t.categoryCtx)?void 0:r.name},readOnly:function(e,t){return!(null==t||!t.categoryCtx)}},includeSubCategories:{type:"boolean",hidden:function(e,t){var r;return!(null!=t&&null!=(r=t.features)&&r.includeSubCategories)}},brand:{type:"choice",options:function(e,t){var r;return null!=(r=null==t?void 0:t.brands.map((function(e){return{label:e.name,value:e.entityId}})))?r:[]}},search:{type:"string"},sort:{type:"choice",options:[{label:"Trending",value:"trending-desc"},{label:"New Arrivals",value:"latest-desc"},{label:"Price: Low to High",value:"price-asc"},{label:"Price: High to Low",value:"price-desc"}]},noLayout:{type:"boolean",displayName:"No layout",description:"Do not render a container element."},noAutoRepeat:{type:"boolean",displayName:"No auto-repeat",description:"Do not automatically repeat children for every category."}},defaultStyles:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr 1fr",gridRowGap:"8px",gridColumnGap:"8px",padding:"8px",maxWidth:"100%"},importPath:"@plasmicpkgs/commerce",importName:"ProductCollection",providesData:!0};function qe(e){var t,o=e.className,a=e.children,c=e.count,l=e.category,u=e.includeSubCategories,p=e.brand,s=e.noLayout,d=e.noAutoRepeat,m=e.setControlContextData,f=e.emptyMessage,y=e.loadingMessage,v=e.search,g=e.sort,h=fe(),x=h.data,C=h.isLoading,P=Ae(),b=P.data,N=P.isLoading,E=X(),w=Le({categoryId:null!=(t=null==E?void 0:E.id)?t:l,brandId:p,count:c,categories:null!=x?x:[],includeSubCategories:u,search:v,sort:g}),I=w.data,M=w.isLoading,S=k().providerRef.current.extraFeatures,V=r.useContext(z);x&&b&&(null==m||m({categories:x,brands:b,features:S,categoryCtx:V}));var O=d?a:null==I?void 0:I.products.map((function(e,t){return n.createElement(W,{product:e,key:e.id},i.repeatedElement(t,a))}));return[M,N,C].includes(!0)?n.isValidElement(y)?y:null:I&&0!==I.products.length?n.createElement(i.DataProvider,{name:"products",data:null==I?void 0:I.products},s?n.createElement(n.Fragment,null,O):n.createElement("div",{className:o},O)):n.isValidElement(f)?f:null}function Be(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(qe,null!=r?r:Re)}var Qe={name:"plasmic-commerce-product-link",displayName:"Product Link",props:{children:"slot",linkDest:{type:"string",defaultValueHint:"products/{slug}",description:"Set the link destination. You can use {slug} to replace by the product slug"}},importPath:"@plasmicpkgs/commerce",importName:"ProductLink"};function Ge(e){var t=e.className,r=e.children,o=e.linkDest,a=Y();return n.createElement("a",{className:t,href:function(e){var t;if(e){for(var r,n=/{[^}]*}/,o=new RegExp(n,"g"),i=null!=(t=e.match(o))?t:[],c=e,l=m(i);!(r=l()).done;){var u=r.value.slice(1,-1);if(!a||!(u in a))return;c=c.replace(n,a[u])}return c}}(o),style:{color:"inherit",textDecoration:"inherit"}},r)}function He(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(Ge,null!=r?r:Qe)}var Ue={name:"plasmic-commerce-product-media",displayName:"Product Media",props:{mediaIndex:{type:"number",min:0,hidden:function(e,t){return!(null==t||!t.inMediaContext)}}},importPath:"@plasmicpkgs/commerce",importName:"ProductMedia"},We=n.forwardRef((function(e,t){var r,o=e.className,a=e.mediaIndex,c=void 0===a?0:a,l=e.setControlContextData,u=Y(),p=i.useSelector("currentMedia");null==l||l({inMediaContext:void 0!==p});var s=null==u?void 0:u.images[null!=p?p:c];return n.createElement("img",{ref:t,alt:(null==u?void 0:u.name)||"Product Image",src:u?null!=(r=null==s?void 0:s.url)?r:"":"https://static1.plasmic.app/commerce/lightweight-jacket-0.png",loading:"lazy",className:o})}));function Ye(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(We,null!=r?r:Ue)}var ze={name:"plasmic-commerce-product-media-collection",displayName:"Product Media Collection",props:{media:{type:"slot",defaultValue:{type:"component",name:"plasmic-commerce-product-media"},allowedComponents:["plasmic-commerce-product-media"]}},defaultStyles:{display:"grid",gridTemplateColumns:"1fr 1fr",gridRowGap:"8px",gridColumnGap:"8px",padding:"8px",maxWidth:"100%"},importPath:"@plasmicpkgs/commerce",importName:"ProductMediaCollection",providesData:!0};function Je(e){var t=e.media,r=e.className,o=Y();return n.createElement("div",{className:r},null==o?void 0:o.images.map((function(e,r){return i.repeatedElement(r,n.createElement($,{mediaIndex:r,children:t}))})))}function Xe(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(Je,null!=r?r:ze)}var $e=function(e,t){var r,n;return null!=(r=null==(n=e.variants.find((function(e){return e.id===t})))?void 0:n.price)?r:e.price.value},Ke={name:"plasmic-commerce-product-price",displayName:"Product Price",props:{},importPath:"@plasmicpkgs/commerce",importName:"ProductPriceComponent"};function Ze(e){var t,r=e.className,a=Y(),i=o.useFormContext(),c=null==i?void 0:i.watch("ProductVariant",null!=(t=a.price)?t:""),l=ae({amount:a?$e(a,c):0,currencyCode:a?a.price.currencyCode:"USD"});return n.createElement("span",{className:r},l.price)}function et(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(Ze,null!=r?r:Ke)}var tt={name:"plasmic-commerce-product-quantity",displayName:"Product Quantity",props:{children:{type:"slot",defaultValue:[{type:"input",attrs:{value:"1"}}]}},importPath:"@plasmicpkgs/commerce",importName:"ProductQuantity"};function rt(e){var t=e.className,r=e.children,a=o.useFormContext();return n.createElement("div",{className:t},n.createElement(o.Controller,{name:"ProductQuantity",defaultValue:1,control:null==a?void 0:a.control,render:function(e){var t=e.field;return n.isValidElement(r)?n.cloneElement(r,f({},r.props,t,{name:"ProductQuantity"})):n.createElement(n.Fragment,null)}}))}function nt(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(rt,null!=r?r:tt)}var ot={name:"plasmic-commerce-product-slider",displayName:"Product Slider",providesData:!0,props:{thumbsVisible:{type:"number",description:"Number of thumbs visible",defaultValue:4,defaultValueHint:4},slideContainer:{type:"slot",defaultValue:{type:"vbox",children:[{type:"component",name:"plasmic-commerce-product-media"}]}},thumbsContainer:{type:"slot",defaultValue:{type:"hbox",children:[{type:"component",name:"plasmic-commerce-product-media"}]}},slideSelected:{type:"number",defaultValue:0,defaultValueHint:0,description:"Current slide selected"}},importPath:"@plasmicpkgs/commerce",importName:"ProductSlider"};function at(e){var t=e.className,r=e.slideContainer,o=e.thumbsContainer,a=e.thumbsVisible,c=void 0===a?4:a,l=e.slideSelected,u=void 0===l?0:l,p=Y(),s=n.useState(u),d=s[0],m=s[1],f=Math.max(0,p.images.length-c),y=Math.min(f,Math.max(0,d-1));return n.createElement("div",{className:t},n.createElement($,{mediaIndex:d,children:r}),n.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat("+c+", 1fr)"}},p.images.slice(y,y+c).map((function(e,t){return i.repeatedElement(t,n.createElement($,{mediaIndex:y+t,children:o,onClick:function(){return m(y+t)}}))}))))}function it(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(at,null!=r?r:ot)}var ct={name:"plasmic-commerce-product-text-field",displayName:"Product Text Field",props:{field:{type:"choice",options:["id","name","description","sku","slug","path"]}},importPath:"@plasmicpkgs/commerce",importName:"ProductTextField"};function lt(e){var t,r=e.className,o=e.field,a=Y();return a?o?"description"===o?n.createElement("div",{className:r,dangerouslySetInnerHTML:{__html:null!=(t=a.descriptionHtml)?t:a.description}}):n.createElement("span",{className:r},a[o]):n.createElement("span",{className:r},"Unknown Product Field"):n.createElement("span",{className:r},"Fake Product Field")}function ut(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(lt,null!=r?r:ct)}var pt={name:"plasmic-commerce-product-variant-picker",displayName:"Product Variant Picker",props:{},importPath:"@plasmicpkgs/commerce",importName:"ProductVariantPicker"};function st(e){var t,r,a=e.className,i=Y(),c=null!=(t=o.useFormContext())?t:o.useForm();return n.createElement(o.Controller,{name:"ProductVariant",control:null==c?void 0:c.control,defaultValue:null==i||null==(r=i.variants.find((function(e){return e.price===i.price.value})))?void 0:r.id,render:function(e){var t;return n.createElement("select",f({className:a},e.field),null!=(t=null==i?void 0:i.variants.map((function(e){return n.createElement("option",{value:e.id},e.name)})))?t:n.createElement("option",null,"Product Variant Placeholder"))}})}function dt(e,r){!function(){e?e.registerComponent.apply(e,arguments):t.apply(void 0,arguments)}(st,null!=r?r:pt)}exports.AddToCartButton=Z,exports.CartActionsProvider=function(e){var t=A(),r=B(),o=H(),a=n.useMemo((function(){return{addItem:function(e,r,n){t({productId:e,variantId:r,quantity:n})},updateItem:function(e,t){o({id:e,quantity:t})},removeItem:function(e){r({id:e})}}}),[t,r,o]);return n.createElement(i.GlobalActionsProvider,{contextName:e.globalContextName,actions:a},e.children)},exports.CartComponent=ce,exports.CartProvider=pe,exports.CartType={__proto__:null},exports.CategoryCollection=ve,exports.CategoryField=xe,exports.CategoryLink=be,exports.CategoryMedia=ke,exports.CommerceError=w,exports.CoreCommerceProvider=E,exports.FetcherError=M,exports.ProductBox=Te,exports.ProductCollection=qe,exports.ProductLink=Ge,exports.ProductMedia=We,exports.ProductMediaCollection=Je,exports.ProductPlaceholder=U,exports.ProductPriceComponent=Ze,exports.ProductQuantity=rt,exports.ProductSlider=at,exports.ProductTextField=lt,exports.ProductTypes={__proto__:null},exports.ProductVariantPicker=st,exports.SiteTypes={__proto__:null},exports.ValidationError=I,exports.addToCartButtonMeta=K,exports.cartMeta=ie,exports.cartProviderMeta=ue,exports.categoryCollectionMeta=ye,exports.categoryFieldMeta=he,exports.categoryLinkMeta=Pe,exports.categoryMediaMeta=Ee,exports.fetcher=Ve,exports.getCommerceProvider=function(e){return function(t){var r=t.children,o=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(t,b);return n.createElement(E,{provider:f({},e,o)},r)}},exports.globalActionsRegistrations={addItem:{displayName:"Add item to cart",parameters:[{name:"productId",displayName:"Product Id",type:"string"},{name:"variantId",displayName:"Variant Id",type:"string"},{name:"quantity",displayName:"Quantity",type:"number"}]},updateItem:{displayName:"Update item in cart",parameters:[{name:"lineItemId",displayName:"Line Item Id",type:"string"},{name:"quantity",displayName:"New Quantity",type:"number"}]},removeItem:{displayName:"Remove item from cart",parameters:[{name:"lineItemId",displayName:"Line Item Id",type:"string"}]}},exports.productBoxMeta=Fe,exports.productCollectionMeta=Re,exports.productLinkMeta=Qe,exports.productMediaCollectionMeta=ze,exports.productMediaMeta=Ue,exports.productPriceMeta=Ke,exports.productQuantityMeta=tt,exports.productSliderMeta=ot,exports.productTextFieldMeta=ct,exports.productVariantPickerMeta=pt,exports.registerAddToCartButton=ee,exports.registerAll=function(e){Be(e),ut(e),et(e),Ye(e),Xe(e),le(e),se(e),ee(e),nt(e),dt(e),_e(e),it(e),He(e),ge(e),Ce(e),Ne(e),we(e)},exports.registerCart=le,exports.registerCartProvider=se,exports.registerCategoryCollection=ge,exports.registerCategoryField=Ce,exports.registerCategoryLink=Ne,exports.registerCategoryMedia=we,exports.registerProductBox=_e,exports.registerProductCollection=Be,exports.registerProductLink=He,exports.registerProductMedia=Ye,exports.registerProductMediaCollection=Xe,exports.registerProductPrice=et,exports.registerProductQuantity=nt,exports.registerProductSlider=it,exports.registerProductVariantPicker=dt,exports.registerTextField=ut,exports.useAddItem=A,exports.useBrands=Ae,exports.useCart=ne,exports.useCategories=fe,exports.useCommerce=k,exports.useProduct=Se,exports.useRemoveItem=B,exports.useSearch=Le,exports.useUpdateItem=H;
2
2
  //# sourceMappingURL=commerce.cjs.production.min.js.map