@plasmicpkgs/commerce-shopify 0.0.164 → 0.0.166

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.
@@ -1,2 +1,2 @@
1
- "use strict";function n(n){return n&&"object"==typeof n&&"default"in n?n.default:n}Object.defineProperty(exports,"__esModule",{value:!0});var e=n(require("@plasmicapp/host/registerGlobalContext")),t=require("react"),r=n(t),o=require("@plasmicpkgs/commerce"),i=n(require("js-cookie")),a=n(require("debounce"));function u(n,e,t,r,o,i,a){try{var u=n[i](a),c=u.value}catch(n){return void t(n)}u.done?e(c):Promise.resolve(c).then(r,o)}function c(n){return function(){var e=this,t=arguments;return new Promise((function(r,o){var i=n.apply(e,t);function a(n){u(i,r,o,a,c,"next",n)}function c(n){u(i,r,o,a,c,"throw",n)}a(void 0)}))}}function s(){return(s=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n}).apply(this,arguments)}function l(n,e){if(null==n)return{};var t,r,o={},i=Object.keys(n);for(r=0;r<i.length;r++)e.indexOf(t=i[r])>=0||(o[t]=n[t]);return o}function d(n,e){return n(e={exports:{}},e.exports),e.exports}var p=d((function(n){var e=function(n){var e=Object.prototype,t=e.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},o=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",a=r.toStringTag||"@@toStringTag";function u(n,e,t){return Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}),n[e]}try{u({},"")}catch(n){u=function(n,e,t){return n[e]=t}}function c(n,e,t,r){var o=Object.create((e&&e.prototype instanceof d?e:d).prototype),i=new C(r||[]);return o._invoke=function(n,e,t){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(t.method=o,t.arg=i;;){var a=t.delegate;if(a){var u=b(a,t);if(u){if(u===l)continue;return u}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if("suspendedStart"===r)throw r="completed",t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);r="executing";var c=s(n,e,t);if("normal"===c.type){if(r=t.done?"completed":"suspendedYield",c.arg===l)continue;return{value:c.arg,done:t.done}}"throw"===c.type&&(r="completed",t.method="throw",t.arg=c.arg)}}}(n,t,i),o}function s(n,e,t){try{return{type:"normal",arg:n.call(e,t)}}catch(n){return{type:"throw",arg:n}}}n.wrap=c;var l={};function d(){}function p(){}function h(){}var f={};u(f,o,(function(){return this}));var m=Object.getPrototypeOf,g=m&&m(m(x([])));g&&g!==e&&t.call(g,o)&&(f=g);var v=h.prototype=d.prototype=Object.create(f);function y(n){["next","throw","return"].forEach((function(e){u(n,e,(function(n){return this._invoke(e,n)}))}))}function F(n,e){var r;this._invoke=function(o,i){function a(){return new e((function(r,a){!function r(o,i,a,u){var c=s(n[o],n,i);if("throw"!==c.type){var l=c.arg,d=l.value;return d&&"object"==typeof d&&t.call(d,"__await")?e.resolve(d.__await).then((function(n){r("next",n,a,u)}),(function(n){r("throw",n,a,u)})):e.resolve(d).then((function(n){l.value=n,a(l)}),(function(n){return r("throw",n,a,u)}))}u(c.arg)}(o,i,r,a)}))}return r=r?r.then(a,a):a()}}function b(n,e){var t=n.iterator[e.method];if(void 0===t){if(e.delegate=null,"throw"===e.method){if(n.iterator.return&&(e.method="return",e.arg=void 0,b(n,e),"throw"===e.method))return l;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var r=s(t,n.iterator,e.arg);if("throw"===r.type)return e.method="throw",e.arg=r.arg,e.delegate=null,l;var o=r.arg;return o?o.done?(e[n.resultName]=o.value,e.next=n.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,l):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,l)}function k(n){var e={tryLoc:n[0]};1 in n&&(e.catchLoc=n[1]),2 in n&&(e.finallyLoc=n[2],e.afterLoc=n[3]),this.tryEntries.push(e)}function w(n){var e=n.completion||{};e.type="normal",delete e.arg,n.completion=e}function C(n){this.tryEntries=[{tryLoc:"root"}],n.forEach(k,this),this.reset(!0)}function x(n){if(n){var e=n[o];if(e)return e.call(n);if("function"==typeof n.next)return n;if(!isNaN(n.length)){var r=-1,i=function e(){for(;++r<n.length;)if(t.call(n,r))return e.value=n[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:I}}function I(){return{value:void 0,done:!0}}return p.prototype=h,u(v,"constructor",h),u(h,"constructor",p),p.displayName=u(h,a,"GeneratorFunction"),n.isGeneratorFunction=function(n){var e="function"==typeof n&&n.constructor;return!!e&&(e===p||"GeneratorFunction"===(e.displayName||e.name))},n.mark=function(n){return Object.setPrototypeOf?Object.setPrototypeOf(n,h):(n.__proto__=h,u(n,a,"GeneratorFunction")),n.prototype=Object.create(v),n},n.awrap=function(n){return{__await:n}},y(F.prototype),u(F.prototype,i,(function(){return this})),n.AsyncIterator=F,n.async=function(e,t,r,o,i){void 0===i&&(i=Promise);var a=new F(c(e,t,r,o),i);return n.isGeneratorFunction(t)?a:a.next().then((function(n){return n.done?n.value:a.next()}))},y(v),u(v,a,"Generator"),u(v,o,(function(){return this})),u(v,"toString",(function(){return"[object Generator]"})),n.keys=function(n){var e=[];for(var t in n)e.push(t);return e.reverse(),function t(){for(;e.length;){var r=e.pop();if(r in n)return t.value=r,t.done=!1,t}return t.done=!0,t}},n.values=x,C.prototype={constructor:C,reset:function(n){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(w),!n)for(var e in this)"t"===e.charAt(0)&&t.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var n=this.tryEntries[0].completion;if("throw"===n.type)throw n.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var e=this;function r(t,r){return a.type="throw",a.arg=n,e.next=t,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var u=t.call(i,"catchLoc"),c=t.call(i,"finallyLoc");if(u&&c){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(n,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&t.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===n||"continue"===n)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=n,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,l):this.complete(a)},complete:function(n,e){if("throw"===n.type)throw n.arg;return"break"===n.type||"continue"===n.type?this.next=n.arg:"return"===n.type?(this.rval=this.arg=n.arg,this.method="return",this.next="end"):"normal"===n.type&&e&&(this.next=e),l},finish:function(n){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.finallyLoc===n)return this.complete(t.completion,t.afterLoc),w(t),l}},catch:function(n){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.tryLoc===n){var r=t.completion;if("throw"===r.type){var o=r.arg;w(t)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(n,e,t){return this.delegate={iterator:x(n),resultName:e,nextLoc:t},"next"===this.method&&(this.arg=void 0),l}},n}(n.exports);try{regeneratorRuntime=e}catch(n){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}}));function h(n,e){var t;return n=null!=(t=n)?t:[{message:"Failed to fetch Shopify API"}],new o.FetcherError({errors:n,status:e})}function f(n){return m.apply(this,arguments)}function m(){return(m=c(p.mark((function n(e){return p.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.json();case 2:return n.abrupt("return",h(n.sent.errors,e.status));case 4:case"end":return n.stop()}}),n)})))).apply(this,arguments)}var g=function(){var n=c(p.mark((function n(e){var t,r,o;return p.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!e.ok){n.next=9;break}return n.next=3,e.json();case 3:if(r=(t=n.sent).data,!(o=t.errors)||!o.length){n.next=8;break}throw h(o,e.status);case 8:return n.abrupt("return",r);case 9:return n.next=11,f(e);case 11:throw n.sent;case 12:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),v=function(n){var e=n.brandId,t=n.search,r=n.categoryId,o=n.locale,i=n.count,a="",u=t+"*";return t&&(a+="product_type:"+u+" OR title:"+u+" OR tag:"+u),e&&(a+=(t?"AND ":"")+"vendor:"+e),s({categoryId:r,query:a},function(n,e){void 0===e&&(e=!1);var t={};switch(n){case"price-asc":t={sortKey:"PRICE",reverse:!1};break;case"price-desc":t={sortKey:"PRICE",reverse:!0};break;case"trending-desc":t={sortKey:"BEST_SELLING",reverse:!1};break;case"latest-desc":t={sortKey:e?"CREATED":"CREATED_AT",reverse:!0}}return t}(n.sort,!!r),o&&{locale:o},{first:i})},y=function(n){return null!=n?n:i.get("shopify_checkoutId")},F=function(){var n=c(p.mark((function n(e,t){var r,o,a;return p.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e({query:"\n mutation checkoutCreate($input: CheckoutCreateInput = {}) {\n checkoutCreate(input: $input) {\n checkoutUserErrors {\n code\n field\n message\n }\n checkout {\n ...checkoutDetails\n }\n }\n }\n\n \n fragment checkoutDetails on Checkout {\n id\n webUrl\n subtotalPriceV2 {\n amount\n currencyCode\n }\n totalTaxV2 {\n amount\n currencyCode\n }\n totalPriceV2 {\n amount\n currencyCode\n }\n completedAt\n createdAt\n taxesIncluded\n lineItems(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n variant {\n id\n sku\n title\n selectedOptions {\n name\n value\n }\n image {\n originalSrc\n altText\n width\n height\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n product {\n id\n handle\n }\n }\n quantity\n }\n }\n }\n }\n\n",variables:{input:{lineItems:t}}});case 2:return(o=null==(r=n.sent.checkoutCreate)?void 0:r.checkout)&&(i.set("shopify_checkoutId",null==o?void 0:o.id,a={expires:30,sameSite:"none",secure:!0}),null!=o&&o.webUrl&&i.set("shopify_checkoutUrl",o.webUrl,a)),n.abrupt("return",r);case 7:case"end":return n.stop()}}),n)})));return function(e,t){return n.apply(this,arguments)}}(),b={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#00FFFF",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blue:"#0000FF",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",burgandy:"#800020",burgundy:"#800020",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgreen:"#006400",darkgrey:"#A9A9A9",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#FF00FF",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",green:"#008000",greenyellow:"#ADFF2F",grey:"#808080",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgray:"#D3D3D3",lightgreen:"#90EE90",lightgrey:"#D3D3D3",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",lime:"#00FF00",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",maroon:"#800000",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",navy:"#000080",oldlace:"#FDF5E6",olive:"#808000",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",purple:"#800080",rebeccapurple:"#663399",red:"#FF0000",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",silver:"#C0C0C0",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",spacegrey:"#65737e",spacegray:"#65737e",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",teal:"#008080",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",white:"#FFFFFF",whitesmoke:"#F5F5F5",yellow:"#FFFF00",yellowgreen:"#9ACD32"},k=["originalSrc"],w=["id","title","vendor","images","variants","description","descriptionHtml","handle","priceRange","options","metafields"],C=function(n){return"Title"===n.name},x=function(n){var e=n.name,t=n.values;return{__typename:"MultipleChoiceOption",id:n.id,displayName:e.toLowerCase(),values:t.map((function(n){var t={label:n};if(e.match(/colou?r/gi)){var r=b[n.toLowerCase().replace(/ /g,"")];r&&(t=s({},t,{hexColors:[r]}))}return t}))}},I=function(n){var e=n.edges;return null==e?void 0:e.map((function(n){var e=n.node,t=e.id,r=e.selectedOptions,o=e.sku,i=e.title,a=e.priceV2,u=e.compareAtPriceV2,c=e.requiresShipping,s=e.availableForSale;return{id:t,name:r.some((function(n){return!C(n)}))?i:"Default variant",sku:null!=o?o:t,price:+a.amount,listPrice:+(null==u?void 0:u.amount),requiresShipping:c,availableForSale:s,options:r.map((function(n){return x({id:t,name:n.name,values:[n.value]})}))}}))};function P(n){var e,t,r,o=n.id,i=n.title,a=n.vendor,u=n.images,c=n.variants,d=n.description,p=n.descriptionHtml,h=n.handle,f=n.priceRange,m=n.options,g=l(n,w);return s({id:o,name:i,vendor:a,path:"/"+h,slug:null==h?void 0:h.replace(/^\/+|\/+$/g,""),price:(r=null==f?void 0:f.minVariantPrice,{value:+r.amount,currencyCode:r.currencyCode}),images:(e=u,t=e.edges,null==t?void 0:t.map((function(n){var e=n.node;return s({url:e.originalSrc},l(e,k))}))),variants:c?I(c):[],options:m?m.filter((function(n){return!C(n)})).map((function(n){return x(n)})):[]},d&&{description:d},p&&{descriptionHtml:p},g)}function E(n){var e,t,r,o,i,a,u=n.node,c=u.title,s=u.variant,l=u.quantity;return{id:u.id,variantId:String(null==s?void 0:s.id),productId:String(null==s?void 0:s.product.id),name:""+c,quantity:l,variant:{id:String(null==s?void 0:s.id),sku:null!=(e=null==s?void 0:s.sku)?e:"",name:null==s?void 0:s.title,image:{url:(null==s||null==(t=s.image)?void 0:t.originalSrc)||"/product-img-placeholder.svg"},requiresShipping:null!=(r=null==s?void 0:s.requiresShipping)&&r,price:null==s||null==(o=s.priceV2)?void 0:o.amount,listPrice:null==s||null==(i=s.compareAtPriceV2)?void 0:i.amount},path:String(null==s||null==(a=s.product)?void 0:a.handle),discounts:[],options:"Default Title"==(null==s?void 0:s.title)?[]:null==s?void 0:s.selectedOptions}}var A=function(n){var e=n.handle;return{id:n.id,name:n.title,slug:e,path:"/"+e,isEmpty:0===n.products.edges.length}},D=function(n,e){switch(n){case"UNIDENTIFIED_CUSTOMER":e="Cannot find an account that matches the provided credentials"}return e},q=function(n){if(function(n){if(n&&n.length)throw new o.ValidationError({errors:n.map((function(n){var e=n.code;return{code:null!=e?e:"validation_error",message:D(e,n.message)}}))})}(null==n?void 0:n.checkoutUserErrors),null==n||!n.checkout)throw new o.CommerceError({message:"Missing checkout object from response"});return{id:(e=null==n?void 0:n.checkout).id,url:e.webUrl,customerId:"",email:"",createdAt:e.createdAt,currency:{code:null==(t=e.totalPriceV2)?void 0:t.currencyCode},taxesIncluded:e.taxesIncluded,lineItems:null==(r=e.lineItems)?void 0:r.edges.map(E),lineItemsSubtotalPrice:+(null==(i=e.subtotalPriceV2)?void 0:i.amount),subtotalPrice:+(null==(a=e.subtotalPriceV2)?void 0:a.amount),totalPrice:+(null==(u=e.totalPriceV2)?void 0:u.amount),discounts:[]};var e,t,r,i,a,u},O="\n query getAllProductVendors($first: Int = 250, $cursor: String) {\n products(first: $first, after: $cursor) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n vendor\n }\n cursor\n }\n }\n }\n",S={fetchOptions:{query:'\n query getAllProducts(\n $first: Int = 250\n $query: String = ""\n $sortKey: ProductSortKeys = RELEVANCE\n $reverse: Boolean = false\n ) {\n products(\n first: $first\n sortKey: $sortKey\n reverse: $reverse\n query: $query\n ) {\n ...productConnection\n }\n }\n\n \n fragment productConnection on ProductConnection {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n handle\n title\n vendor\n handle\n description\n descriptionHtml\n priceRange {\n minVariantPrice {\n amount\n currencyCode\n }\n }\n options {\n id\n name\n values\n }\n variants(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n sku\n availableForSale\n requiresShipping\n selectedOptions {\n name\n value\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n }\n }\n }\n images(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n originalSrc\n altText\n width\n height\n }\n }\n }\n }\n }\n }\n\n'},fetcher:function(n){return c(p.mark((function e(){var t,r,o,i,a,u,c,l,d,h,f,m,g,y,F,b,k;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=n.fetch,u=(o=n.input).categoryId,c=o.brandId,l=null==(i=n.options)?void 0:i.method,d=v(o),!u){e.next=11;break}return e.next=7,a({query:"\n query getProductsFromCollection(\n $categoryId: ID!\n $first: Int = 250\n $sortKey: ProductCollectionSortKeys = RELEVANCE\n $reverse: Boolean = false\n ) {\n node(id: $categoryId) {\n id\n ... on Collection {\n products(first: $first, sortKey: $sortKey, reverse: $reverse) {\n ...productConnection\n }\n }\n }\n }\n \n fragment productConnection on ProductConnection {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n handle\n title\n vendor\n handle\n description\n descriptionHtml\n priceRange {\n minVariantPrice {\n amount\n currencyCode\n }\n }\n options {\n id\n name\n values\n }\n variants(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n sku\n availableForSale\n requiresShipping\n selectedOptions {\n name\n value\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n }\n }\n }\n images(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n originalSrc\n altText\n width\n height\n }\n }\n }\n }\n }\n }\n\n",method:l,variables:s({},d,{first:void 0})});case 7:b=e.sent,h=c?null==(f=b.node)||null==(m=f.products)||null==(g=m.edges)?void 0:g.filter((function(n){return n.node.vendor.replace(/\s+/g,"-").toLowerCase()===(""+c).toLowerCase()})).slice(0,o.count):null==(y=b.node)||null==(F=y.products)?void 0:F.edges.slice(0,o.count),e.next=15;break;case 11:return e.next=13,a({query:i.query,method:l,variables:d});case 13:h=null==(k=e.sent.products)?void 0:k.edges;case 15:return e.abrupt("return",{products:null==(t=h)?void 0:t.map((function(n){return P(n.node)})),found:!(null==(r=h)||!r.length)});case 16:case"end":return e.stop()}}),e)})))()},useHook:function(n){var e=n.useData;return function(n){return void 0===n&&(n={}),e({input:[["search",n.search],["categoryId",n.categoryId],["brandId",n.brandId],["sort",n.sort],["locale",n.locale],["count",n.count]],swrOptions:s({revalidateOnFocus:!1},n.swrOptions)})}}},V={fetchOptions:{query:"\n query getProductBySlug($slug: String!) {\n productByHandle(handle: $slug) {\n ...productFields\n }\n }\n\n \n fragment productFields on Product {\n id\n handle\n availableForSale\n title\n productType\n vendor\n description\n descriptionHtml\n options {\n id\n name\n values\n }\n priceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n variants(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n sku\n availableForSale\n requiresShipping\n selectedOptions {\n name\n value\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n }\n }\n }\n images(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n originalSrc\n altText\n width\n height\n }\n }\n }\n }\n\n"},fetcher:function(n){return c(p.mark((function e(){var t,r,o,i,a;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=n.options,r=n.fetch,o=n.input.id){e.next=4;break}return e.abrupt("return",null);case 4:if(i=null,!o.startsWith("gid://shopify")){e.next=12;break}return e.next=8,r({query:"\n query getProductById($id: ID!) {\n product(id: $id) {\n ...productFields\n }\n }\n\n \n fragment productFields on Product {\n id\n handle\n availableForSale\n title\n productType\n vendor\n description\n descriptionHtml\n options {\n id\n name\n values\n }\n priceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n variants(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n sku\n availableForSale\n requiresShipping\n selectedOptions {\n name\n value\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n }\n }\n }\n images(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n originalSrc\n altText\n width\n height\n }\n }\n }\n }\n\n",variables:{id:o}});case 8:i=e.sent.product,e.next=16;break;case 12:return e.next=14,r({query:t.query,variables:{slug:o}});case 14:(a=e.sent).productByHandle&&(i=a.productByHandle);case 16:return e.abrupt("return",i?P(i):null);case 17:case"end":return e.stop()}}),e)})))()},useHook:function(n){var e=n.useData;return function(n){return void 0===n&&(n={}),e({input:[["id",n.id]],swrOptions:s({revalidateOnFocus:!1},n.swrOptions)})}}},B={fetchOptions:{query:"\n query getCheckout($checkoutId: ID!) {\n node(id: $checkoutId) {\n ...checkoutDetails\n }\n }\n \n fragment checkoutDetails on Checkout {\n id\n webUrl\n subtotalPriceV2 {\n amount\n currencyCode\n }\n totalTaxV2 {\n amount\n currencyCode\n }\n totalPriceV2 {\n amount\n currencyCode\n }\n completedAt\n createdAt\n taxesIncluded\n lineItems(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n variant {\n id\n sku\n title\n selectedOptions {\n name\n value\n }\n image {\n originalSrc\n altText\n width\n height\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n product {\n id\n handle\n }\n }\n quantity\n }\n }\n }\n }\n\n"},fetcher:function(n){return c(p.mark((function e(){var t,r,o,a;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.options,o=n.fetch,!(t=n.input.cartId)){e.next=13;break}return e.next=4,o(s({},r,{variables:{checkoutId:t}}));case 4:if(null==(a=e.sent.node)||!a.completedAt){e.next=12;break}return i.remove("shopify_checkoutId"),i.remove("shopify_checkoutUrl"),e.abrupt("return",null);case 12:return e.abrupt("return",q({checkout:a}));case 13:return e.abrupt("return",null);case 14:case"end":return e.stop()}}),e)})))()},useHook:function(n){var e=n.useData;return function(n){var r=e({swrOptions:s({revalidateOnFocus:!1},null==n?void 0:n.swrOptions)});return t.useMemo((function(){return Object.create(r,{isEmpty:{get:function(){var n,e;return(null!=(n=null==(e=r.data)?void 0:e.lineItems.length)?n:0)<=0},enumerable:!0}})}),[r])}}},$={fetchOptions:{query:"\n mutation checkoutLineItemAdd(\n $checkoutId: ID!\n $lineItems: [CheckoutLineItemInput!]!\n ) {\n checkoutLineItemsAdd(checkoutId: $checkoutId, lineItems: $lineItems) {\n checkoutUserErrors {\n code\n field\n message\n }\n checkout {\n ...checkoutDetails\n }\n }\n }\n\n \n fragment checkoutDetails on Checkout {\n id\n webUrl\n subtotalPriceV2 {\n amount\n currencyCode\n }\n totalTaxV2 {\n amount\n currencyCode\n }\n totalPriceV2 {\n amount\n currencyCode\n }\n completedAt\n createdAt\n taxesIncluded\n lineItems(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n variant {\n id\n sku\n title\n selectedOptions {\n name\n value\n }\n image {\n originalSrc\n altText\n width\n height\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n product {\n id\n handle\n }\n }\n quantity\n }\n }\n }\n }\n\n"},fetcher:function(n){return c(p.mark((function e(){var t,r,i,a,u,c;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=n.options,a=n.fetch,!(r=n.input).quantity||Number.isInteger(r.quantity)&&!(r.quantity<1)){e.next=3;break}throw new o.CommerceError({message:"The item quantity has to be a valid integer greater than 0"});case 3:if(u=[{variantId:r.variantId,quantity:null!=(t=r.quantity)?t:1}],c=y()){e.next=13;break}return e.t0=q,e.next=9,F(a,u);case 9:return e.t1=e.sent,e.abrupt("return",(0,e.t0)(e.t1));case 13:return e.next=15,a(s({},i,{variables:{checkoutId:c,lineItems:u}}));case 15:return e.abrupt("return",q(e.sent.checkoutLineItemsAdd));case 18:case"end":return e.stop()}}),e)})))()},useHook:function(n){var e=n.fetch;return function(){var n=o.useCart().mutate;return t.useCallback(function(){var t=c(p.mark((function t(r){var o;return p.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e({input:r});case 2:return o=t.sent,t.next=5,n(o,!1);case 5:return t.abrupt("return",o);case 6:case"end":return t.stop()}}),t)})));return function(n){return t.apply(this,arguments)}}(),[e,n])}}},L={fetchOptions:{query:"\n mutation checkoutLineItemRemove($checkoutId: ID!, $lineItemIds: [ID!]!) {\n checkoutLineItemsRemove(\n checkoutId: $checkoutId\n lineItemIds: $lineItemIds\n ) {\n checkoutUserErrors {\n code\n field\n message\n }\n checkout {\n ...checkoutDetails\n }\n }\n }\n \n fragment checkoutDetails on Checkout {\n id\n webUrl\n subtotalPriceV2 {\n amount\n currencyCode\n }\n totalTaxV2 {\n amount\n currencyCode\n }\n totalPriceV2 {\n amount\n currencyCode\n }\n completedAt\n createdAt\n taxesIncluded\n lineItems(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n variant {\n id\n sku\n title\n selectedOptions {\n name\n value\n }\n image {\n originalSrc\n altText\n width\n height\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n product {\n id\n handle\n }\n }\n quantity\n }\n }\n }\n }\n\n"},fetcher:function(n){return c(p.mark((function e(){var t,r,o;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.input.itemId,r=n.options,o=n.fetch,e.next=3,o(s({},r,{variables:{checkoutId:y(),lineItemIds:[t]}}));case 3:return e.abrupt("return",q(e.sent.checkoutLineItemsRemove));case 5:case"end":return e.stop()}}),e)})))()},useHook:function(n){var e=n.fetch;return function(n){void 0===n&&(n={});var r=n.item,i=o.useCart().mutate;return t.useCallback(function(){var n=c(p.mark((function n(t){var a,u,c;return p.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(u=null!=(a=null==t?void 0:t.id)?a:null==r?void 0:r.id){n.next=3;break}throw new o.ValidationError({message:"Invalid input used for this operation"});case 3:return n.next=5,e({input:{itemId:u}});case 5:return c=n.sent,n.next=8,i(c,!1);case 8:return n.abrupt("return",c);case 9:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),[e,i])}}},T={fetchOptions:{query:"\n mutation checkoutLineItemUpdate(\n $checkoutId: ID!\n $lineItems: [CheckoutLineItemUpdateInput!]!\n ) {\n checkoutLineItemsUpdate(checkoutId: $checkoutId, lineItems: $lineItems) {\n checkoutUserErrors {\n code\n field\n message\n }\n checkout {\n ...checkoutDetails\n }\n }\n }\n\n \n fragment checkoutDetails on Checkout {\n id\n webUrl\n subtotalPriceV2 {\n amount\n currencyCode\n }\n totalTaxV2 {\n amount\n currencyCode\n }\n totalPriceV2 {\n amount\n currencyCode\n }\n completedAt\n createdAt\n taxesIncluded\n lineItems(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n variant {\n id\n sku\n title\n selectedOptions {\n name\n value\n }\n image {\n originalSrc\n altText\n width\n height\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n product {\n id\n handle\n }\n }\n quantity\n }\n }\n }\n }\n\n"},fetcher:function(n){return c(p.mark((function e(){var t,r,i,a,u;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=(t=n.input).itemId,i=t.item,a=n.options,u=n.fetch,!Number.isInteger(i.quantity)){e.next=6;break}if(!(i.quantity<1)){e.next=4;break}return e.abrupt("return",L.fetcher({options:L.fetchOptions,input:{itemId:r},fetch:u}));case 4:e.next=8;break;case 6:if(!i.quantity){e.next=8;break}throw new o.ValidationError({message:"The item quantity has to be a valid integer"});case 8:return e.next=10,u(s({},a,{variables:{checkoutId:y(),lineItems:[{id:r,quantity:i.quantity}]}}));case 10:return e.abrupt("return",q(e.sent.checkoutLineItemsUpdate));case 13:case"end":return e.stop()}}),e)})))()},useHook:function(n){var e=n.fetch;return function(n){var r;void 0===n&&(n={});var i=n.item,u=o.useCart().mutate;return t.useCallback(a(function(){var n=c(p.mark((function n(t){var r,a,c;return p.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if((a=null!=(r=t.id)?r:null==i?void 0:i.id)&&null!=t.quantity){n.next=3;break}throw new o.ValidationError({message:"Invalid input used for this operation"});case 3:return n.next=5,e({input:{item:{quantity:t.quantity},itemId:a}});case 5:return c=n.sent,n.next=8,u(c,!1);case 8:return n.abrupt("return",c);case 9:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),null!=(r=n.wait)?r:500),[e,u])}}},N={fetchOptions:{query:"\n query getSiteCollections($first: Int!) {\n collections(first: $first) {\n edges {\n node {\n ...collectionFieldsFragment\n }\n }\n }\n }\n\n \n fragment collectionFieldsFragment on Collection {\n id\n title\n handle,\n products(first: $first) {\n ...simpleProductConnection\n }\n }\n \nfragment simpleProductConnection on ProductConnection {\n edges {\n node {\n id\n }\n }\n}\n\n\n"},fetcher:function(n){return c(p.mark((function e(){var t,r,o,i,a,u,c,l;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=n.options,r=n.fetch,o=n.input.categoryId){e.next=9;break}return e.next=5,r({query:t.query,variables:{first:250}});case 5:return e.abrupt("return",null!=(i=null==(c=e.sent)||null==(a=c.collections)||null==(u=a.edges)?void 0:u.map((function(n){return A(n.node)})))?i:[]);case 9:return e.next=11,r({query:"\n query getSiteCollection($id: ID, $handle: String, $first: Int = 1) {\n collection(id: $id, handle: $handle) {\n ...collectionFieldsFragment\n }\n }\n \n fragment collectionFieldsFragment on Collection {\n id\n title\n handle,\n products(first: $first) {\n ...simpleProductConnection\n }\n }\n \nfragment simpleProductConnection on ProductConnection {\n edges {\n node {\n id\n }\n }\n}\n\n\n",variables:s({},o.startsWith("gid://")?{id:o}:{handle:o})});case 11:return e.abrupt("return",null!=(l=e.sent)&&l.collection?[A(null==l?void 0:l.collection)]:[]);case 13:case"end":return e.stop()}}),e)})))()},useHook:function(n){var e=n.useData;return function(n){var r=e({input:[["categoryId",null==n?void 0:n.categoryId]],swrOptions:s({revalidateOnFocus:!1},null==n?void 0:n.swrOptions)});return t.useMemo((function(){return Object.create(r,{isEmpty:{get:function(){var n,e;return(null!=(n=null==(e=r.data)?void 0:e.length)?n:0)<=0},enumerable:!0}})}),[r])}}},_={fetchOptions:{query:O},fetcher:function(n){return c(p.mark((function e(){var t,r;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.fetch,e.next=3,t({query:O,variables:{first:250}});case 3:return r=e.sent.products.edges.map((function(n){return n.node.vendor})),e.abrupt("return",Array.from(new Set(r).values()).map((function(n){var e=n.replace(/\s+/g,"-").toLowerCase();return{entityId:e,name:n,path:"brands/"+e}})));case 6:case"end":return e.stop()}}),e)})))()},useHook:function(n){var e=n.useData;return function(n){var r=e({swrOptions:s({revalidateOnFocus:!1},null==n?void 0:n.swrOptions)});return t.useMemo((function(){return Object.create(r,{isEmpty:{get:function(){var n,e;return(null!=(n=null==(e=r.data)?void 0:e.length)?n:0)<=0},enumerable:!0}})}),[r])}}},j=["locale"],R=function(n,e){return function(){var t=c(p.mark((function t(r){var o,i,a,u,c,d,h,f,m;return p.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=void 0===(o=r.url)?"https://"+n+"/api/2022-04/graphql.json":o,u=void 0===(a=r.method)?"POST":a,d=r.query,f=(h=null!=(c=r.variables)?c:{}).locale,m=l(h,j),t.t0=g,t.next=5,fetch(i,{method:u,body:JSON.stringify({query:d,variables:m}),headers:s({"X-Shopify-Storefront-Access-Token":e,"Content-Type":"application/json"},f&&{"Accept-Language":f})});case 5:return t.t1=t.sent,t.abrupt("return",(0,t.t0)(t.t1));case 7:case"end":return t.stop()}}),t)})));return function(n){return t.apply(this,arguments)}}()},U=function(n,e){return o.getCommerceProvider(function(n,e){return{locale:"en-us",cartCookie:"shopify_checkoutId",cart:{useCart:B,useAddItem:$,useUpdateItem:T,useRemoveItem:L},fetcher:R(n,e),products:{useSearch:S,useProduct:V},site:{useCategories:N,useBrands:_}}}(n,e))},H={name:"plasmic-commerce-shopify-provider",displayName:"Shopify Provider",props:{storeDomain:{type:"string",defaultValue:"next-js-store.myshopify.com"},accessToken:{type:"string",defaultValue:"ef7d41c7bf7e1c214074d0d3047bcd7b"}},unstable__globalActions:o.globalActionsRegistrations,description:"Your store domain usually looks like **storename.myshopify.com**.\n\nFor your access token, get it by following [this video](https://www.youtube.com/watch?v=wB_6cM7tdv4).\n\nSee also the [getting started video](https://www.youtube.com/watch?v=1OJ_gXmta2Q).",importPath:"@plasmicpkgs/commerce-shopify",importName:"CommerceProviderComponent"};function K(n){var e=n.storeDomain,t=n.accessToken,i=n.children,a=r.useMemo((function(){return U(e,t)}),[e,t]);return r.createElement(a,null,r.createElement(o.CartActionsProvider,{globalContextName:"plasmic-commerce-shopify-provider"},i))}function G(n,t){!function(){n?n.registerGlobalContext.apply(n,arguments):e.apply(void 0,arguments)}(K,null!=t?t:H)}exports.CommerceProviderComponent=K,exports.commerceProviderMeta=H,exports.getCommerceProvider=U,exports.registerAll=function(n){G(n)},exports.registerCommerceProvider=G,exports.useCommerce=function(){return o.useCommerce()};
1
+ "use strict";function n(n){return n&&"object"==typeof n&&"default"in n?n.default:n}Object.defineProperty(exports,"__esModule",{value:!0});var e,t,r=n(require("@plasmicapp/host/registerGlobalContext")),o=require("react"),i=n(o),a=require("@plasmicpkgs/commerce"),u=n(require("js-cookie")),c=n(require("debounce"));function s(){s=function(){return e};var n,e={},t=Object.prototype,r=t.hasOwnProperty,o=Object.defineProperty||function(n,e,t){n[e]=t.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function l(n,e,t){return Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}),n[e]}try{l({},"")}catch(n){l=function(n,e,t){return n[e]=t}}function d(n,e,t,r){var i=Object.create((e&&e.prototype instanceof v?e:v).prototype),a=new q(r||[]);return o(i,"_invoke",{value:P(n,t,a)}),i}function p(n,e,t){try{return{type:"normal",arg:n.call(e,t)}}catch(n){return{type:"throw",arg:n}}}e.wrap=d;var h="suspendedStart",f="executing",m="completed",g={};function v(){}function y(){}function F(){}var b={};l(b,a,(function(){return this}));var k=Object.getPrototypeOf,w=k&&k(k(O([])));w&&w!==t&&r.call(w,a)&&(b=w);var C=F.prototype=v.prototype=Object.create(b);function I(n){["next","throw","return"].forEach((function(e){l(n,e,(function(n){return this._invoke(e,n)}))}))}function x(n,e){function t(o,i,a,u){var c=p(n[o],n,i);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&r.call(l,"__await")?e.resolve(l.__await).then((function(n){t("next",n,a,u)}),(function(n){t("throw",n,a,u)})):e.resolve(l).then((function(n){s.value=n,a(s)}),(function(n){return t("throw",n,a,u)}))}u(c.arg)}var i;o(this,"_invoke",{value:function(n,r){function o(){return new e((function(e,o){t(n,r,e,o)}))}return i=i?i.then(o,o):o()}})}function P(e,t,r){var o=h;return function(i,a){if(o===f)throw new Error("Generator is already running");if(o===m){if("throw"===i)throw a;return{value:n,done:!0}}for(r.method=i,r.arg=a;;){var u=r.delegate;if(u){var c=E(u,r);if(c){if(c===g)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===h)throw o=m,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=f;var s=p(e,t,r);if("normal"===s.type){if(o=r.done?m:"suspendedYield",s.arg===g)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(o=m,r.method="throw",r.arg=s.arg)}}}function E(e,t){var r=t.method,o=e.iterator[r];if(o===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=n,E(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var i=p(o,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,g;var a=i.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=n),t.delegate=null,g):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,g)}function A(n){var e={tryLoc:n[0]};1 in n&&(e.catchLoc=n[1]),2 in n&&(e.finallyLoc=n[2],e.afterLoc=n[3]),this.tryEntries.push(e)}function D(n){var e=n.completion||{};e.type="normal",delete e.arg,n.completion=e}function q(n){this.tryEntries=[{tryLoc:"root"}],n.forEach(A,this),this.reset(!0)}function O(e){if(e||""===e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function t(){for(;++o<e.length;)if(r.call(e,o))return t.value=e[o],t.done=!1,t;return t.value=n,t.done=!0,t};return i.next=i}}throw new TypeError(typeof e+" is not iterable")}return y.prototype=F,o(C,"constructor",{value:F,configurable:!0}),o(F,"constructor",{value:y,configurable:!0}),y.displayName=l(F,c,"GeneratorFunction"),e.isGeneratorFunction=function(n){var e="function"==typeof n&&n.constructor;return!!e&&(e===y||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(n){return Object.setPrototypeOf?Object.setPrototypeOf(n,F):(n.__proto__=F,l(n,c,"GeneratorFunction")),n.prototype=Object.create(C),n},e.awrap=function(n){return{__await:n}},I(x.prototype),l(x.prototype,u,(function(){return this})),e.AsyncIterator=x,e.async=function(n,t,r,o,i){void 0===i&&(i=Promise);var a=new x(d(n,t,r,o),i);return e.isGeneratorFunction(t)?a:a.next().then((function(n){return n.done?n.value:a.next()}))},I(C),l(C,c,"Generator"),l(C,a,(function(){return this})),l(C,"toString",(function(){return"[object Generator]"})),e.keys=function(n){var e=Object(n),t=[];for(var r in e)t.push(r);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},e.values=O,q.prototype={constructor:q,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=n,this.done=!1,this.delegate=null,this.method="next",this.arg=n,this.tryEntries.forEach(D),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=n)},stop:function(){this.done=!0;var n=this.tryEntries[0].completion;if("throw"===n.type)throw n.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function o(r,o){return u.type="throw",u.arg=e,t.next=r,o&&(t.method="next",t.arg=n),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],u=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(c&&s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(n,e){for(var t=this.tryEntries.length-1;t>=0;--t){var o=this.tryEntries[t];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===n||"continue"===n)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=n,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,g):this.complete(a)},complete:function(n,e){if("throw"===n.type)throw n.arg;return"break"===n.type||"continue"===n.type?this.next=n.arg:"return"===n.type?(this.rval=this.arg=n.arg,this.method="return",this.next="end"):"normal"===n.type&&e&&(this.next=e),g},finish:function(n){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.finallyLoc===n)return this.complete(t.completion,t.afterLoc),D(t),g}},catch:function(n){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.tryLoc===n){var r=t.completion;if("throw"===r.type){var o=r.arg;D(t)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:O(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=n),g}},e}function l(n,e,t,r,o,i,a){try{var u=n[i](a),c=u.value}catch(n){return void t(n)}u.done?e(c):Promise.resolve(c).then(r,o)}function d(n){return function(){var e=this,t=arguments;return new Promise((function(r,o){var i=n.apply(e,t);function a(n){l(i,r,o,a,u,"next",n)}function u(n){l(i,r,o,a,u,"throw",n)}a(void 0)}))}}function p(){return(p=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n}).apply(this,arguments)}function h(n,e){if(null==n)return{};var t,r,o={},i=Object.keys(n);for(r=0;r<i.length;r++)e.indexOf(t=i[r])>=0||(o[t]=n[t]);return o}function f(n,e){var t;return n=null!=(t=n)?t:[{message:"Failed to fetch Shopify API"}],new a.FetcherError({errors:n,status:e})}function m(n){return(e=e||d(s().mark((function n(e){return s().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.json();case 2:return n.abrupt("return",f(n.sent.errors,e.status));case 4:case"end":return n.stop()}}),n)})))).apply(this,arguments)}var g,v=function(n){return(t=t||d(s().mark((function n(e){var t,r,o;return s().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!e.ok){n.next=9;break}return n.next=3,e.json();case 3:if(r=(t=n.sent).data,!(o=t.errors)||!o.length){n.next=8;break}throw f(o,e.status);case 8:return n.abrupt("return",r);case 9:return n.next=11,m(e);case 11:throw n.sent;case 12:case"end":return n.stop()}}),n)})))).apply(this,arguments)},y=function(n){var e=n.brandId,t=n.search,r=n.categoryId,o=n.locale,i=n.count,a="",u=t+"*";return t&&(a+="product_type:"+u+" OR title:"+u+" OR tag:"+u),e&&(a+=(t?"AND ":"")+"vendor:"+e),p({categoryId:r,query:a},function(n,e){void 0===e&&(e=!1);var t={};switch(n){case"price-asc":t={sortKey:"PRICE",reverse:!1};break;case"price-desc":t={sortKey:"PRICE",reverse:!0};break;case"trending-desc":t={sortKey:"BEST_SELLING",reverse:!1};break;case"latest-desc":t={sortKey:e?"CREATED":"CREATED_AT",reverse:!0}}return t}(n.sort,!!r),o&&{locale:o},{first:i})},F=function(n){return null!=n?n:u.get("shopify_checkoutId")},b="\n mutation checkoutCreate($input: CheckoutCreateInput = {}) {\n checkoutCreate(input: $input) {\n checkoutUserErrors {\n code\n field\n message\n }\n checkout {\n ...checkoutDetails\n }\n }\n }\n\n \n fragment checkoutDetails on Checkout {\n id\n webUrl\n subtotalPriceV2 {\n amount\n currencyCode\n }\n totalTaxV2 {\n amount\n currencyCode\n }\n totalPriceV2 {\n amount\n currencyCode\n }\n completedAt\n createdAt\n taxesIncluded\n lineItems(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n variant {\n id\n sku\n title\n selectedOptions {\n name\n value\n }\n image {\n originalSrc\n altText\n width\n height\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n product {\n id\n handle\n }\n }\n quantity\n }\n }\n }\n }\n\n",k=function(n,e){return(g=g||d(s().mark((function n(e,t){var r,o,i;return s().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e({query:b,variables:{input:{lineItems:t}}});case 2:return(o=null==(r=n.sent.checkoutCreate)?void 0:r.checkout)&&(u.set("shopify_checkoutId",null==o?void 0:o.id,i={expires:30,sameSite:"none",secure:!0}),null!=o&&o.webUrl&&u.set("shopify_checkoutUrl",o.webUrl,i)),n.abrupt("return",r);case 7:case"end":return n.stop()}}),n)})))).apply(this,arguments)},w={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#00FFFF",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blue:"#0000FF",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",burgandy:"#800020",burgundy:"#800020",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgreen:"#006400",darkgrey:"#A9A9A9",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#FF00FF",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",green:"#008000",greenyellow:"#ADFF2F",grey:"#808080",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgray:"#D3D3D3",lightgreen:"#90EE90",lightgrey:"#D3D3D3",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",lime:"#00FF00",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",maroon:"#800000",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",navy:"#000080",oldlace:"#FDF5E6",olive:"#808000",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",purple:"#800080",rebeccapurple:"#663399",red:"#FF0000",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",silver:"#C0C0C0",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",spacegrey:"#65737e",spacegray:"#65737e",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",teal:"#008080",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",white:"#FFFFFF",whitesmoke:"#F5F5F5",yellow:"#FFFF00",yellowgreen:"#9ACD32"},C=["originalSrc"],I=["id","title","vendor","images","variants","description","descriptionHtml","handle","priceRange","options","metafields"],x=function(n){return{value:+n.amount,currencyCode:n.currencyCode}},P=function(n){return"Title"===n.name},E=function(n){var e=n.name,t=n.values;return{__typename:"MultipleChoiceOption",id:n.id,displayName:e.toLowerCase(),values:t.map((function(n){var t={label:n};if(e.match(/colou?r/gi)){var r=w[n.toLowerCase().replace(/ /g,"")];r&&(t=p({},t,{hexColors:[r]}))}return t}))}},A=function(n){var e=n.edges;return null==e?void 0:e.map((function(n){var e=n.node,t=e.id,r=e.selectedOptions,o=e.sku,i=e.title,a=e.priceV2,u=e.compareAtPriceV2,c=e.requiresShipping,s=e.availableForSale;return{id:t,name:r.some((function(n){return!P(n)}))?i:"Default variant",sku:null!=o?o:t,price:+a.amount,listPrice:+(null==u?void 0:u.amount),requiresShipping:c,availableForSale:s,options:r.map((function(n){return E({id:t,name:n.name,values:[n.value]})}))}}))};function D(n){var e,t,r=n.id,o=n.title,i=n.vendor,a=n.images,u=n.variants,c=n.description,s=n.descriptionHtml,l=n.handle,d=n.priceRange,f=n.options,m=h(n,I);return p({id:r,name:o,vendor:i,path:"/"+l,slug:null==l?void 0:l.replace(/^\/+|\/+$/g,""),price:x(null==d?void 0:d.minVariantPrice),images:(e=a,t=e.edges,null==t?void 0:t.map((function(n){var e=n.node;return p({url:e.originalSrc},h(e,C))}))),variants:u?A(u):[],options:f?f.filter((function(n){return!P(n)})).map((function(n){return E(n)})):[]},c&&{description:c},s&&{descriptionHtml:s},m)}function q(n){var e,t,r,o,i,a,u=n.node,c=u.title,s=u.variant,l=u.quantity;return{id:u.id,variantId:String(null==s?void 0:s.id),productId:String(null==s?void 0:s.product.id),name:""+c,quantity:l,variant:{id:String(null==s?void 0:s.id),sku:null!=(e=null==s?void 0:s.sku)?e:"",name:null==s?void 0:s.title,image:{url:(null==s||null==(t=s.image)?void 0:t.originalSrc)||"/product-img-placeholder.svg"},requiresShipping:null!=(r=null==s?void 0:s.requiresShipping)&&r,price:null==s||null==(o=s.priceV2)?void 0:o.amount,listPrice:null==s||null==(i=s.compareAtPriceV2)?void 0:i.amount},path:String(null==s||null==(a=s.product)?void 0:a.handle),discounts:[],options:"Default Title"==(null==s?void 0:s.title)?[]:null==s?void 0:s.selectedOptions}}var O=function(n){var e=n.handle;return{id:n.id,name:n.title,slug:e,path:"/"+e,isEmpty:0===n.products.edges.length}},S=function(n,e){switch(n){case"UNIDENTIFIED_CUSTOMER":e="Cannot find an account that matches the provided credentials"}return e},V=function(n){if(function(n){if(n&&n.length)throw new a.ValidationError({errors:n.map((function(n){var e=n.code;return{code:null!=e?e:"validation_error",message:S(e,n.message)}}))})}(null==n?void 0:n.checkoutUserErrors),null==n||!n.checkout)throw new a.CommerceError({message:"Missing checkout object from response"});return{id:(e=null==n?void 0:n.checkout).id,url:e.webUrl,customerId:"",email:"",createdAt:e.createdAt,currency:{code:null==(t=e.totalPriceV2)?void 0:t.currencyCode},taxesIncluded:e.taxesIncluded,lineItems:null==(r=e.lineItems)?void 0:r.edges.map(q),lineItemsSubtotalPrice:+(null==(o=e.subtotalPriceV2)?void 0:o.amount),subtotalPrice:+(null==(i=e.subtotalPriceV2)?void 0:i.amount),totalPrice:+(null==(u=e.totalPriceV2)?void 0:u.amount),discounts:[]};var e,t,r,o,i,u},B="\n query getAllProductVendors($first: Int = 250, $cursor: String) {\n products(first: $first, after: $cursor) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n vendor\n }\n cursor\n }\n }\n }\n",$={fetchOptions:{query:'\n query getAllProducts(\n $first: Int = 250\n $query: String = ""\n $sortKey: ProductSortKeys = RELEVANCE\n $reverse: Boolean = false\n ) {\n products(\n first: $first\n sortKey: $sortKey\n reverse: $reverse\n query: $query\n ) {\n ...productConnection\n }\n }\n\n \n fragment productConnection on ProductConnection {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n handle\n title\n vendor\n handle\n description\n descriptionHtml\n priceRange {\n minVariantPrice {\n amount\n currencyCode\n }\n }\n options {\n id\n name\n values\n }\n variants(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n sku\n availableForSale\n requiresShipping\n selectedOptions {\n name\n value\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n }\n }\n }\n images(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n originalSrc\n altText\n width\n height\n }\n }\n }\n }\n }\n }\n\n'},fetcher:function(n){return d(s().mark((function e(){var t,r,o,i,a,u,c,l,d,h,f,m,g,v;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=n.fetch,u=(o=n.input).categoryId,c=o.brandId,l=null==(i=n.options)?void 0:i.method,d=y(o),!u){e.next=11;break}return e.next=7,a({query:"\n query getProductsFromCollection(\n $categoryId: ID!\n $first: Int = 250\n $sortKey: ProductCollectionSortKeys = RELEVANCE\n $reverse: Boolean = false\n ) {\n node(id: $categoryId) {\n id\n ... on Collection {\n products(first: $first, sortKey: $sortKey, reverse: $reverse) {\n ...productConnection\n }\n }\n }\n }\n \n fragment productConnection on ProductConnection {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n handle\n title\n vendor\n handle\n description\n descriptionHtml\n priceRange {\n minVariantPrice {\n amount\n currencyCode\n }\n }\n options {\n id\n name\n values\n }\n variants(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n sku\n availableForSale\n requiresShipping\n selectedOptions {\n name\n value\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n }\n }\n }\n images(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n originalSrc\n altText\n width\n height\n }\n }\n }\n }\n }\n }\n\n",method:l,variables:p({},d,{first:void 0})});case 7:g=e.sent,h=c?null==(f=g.node)||null==(f=f.products)||null==(f=f.edges)?void 0:f.filter((function(n){return n.node.vendor.replace(/\s+/g,"-").toLowerCase()===(""+c).toLowerCase()})).slice(0,o.count):null==(m=g.node)||null==(m=m.products)?void 0:m.edges.slice(0,o.count),e.next=15;break;case 11:return e.next=13,a({query:i.query,method:l,variables:d});case 13:h=null==(v=e.sent.products)?void 0:v.edges;case 15:return e.abrupt("return",{products:null==(t=h)?void 0:t.map((function(n){return D(n.node)})),found:!(null==(r=h)||!r.length)});case 16:case"end":return e.stop()}}),e)})))()},useHook:function(n){var e=n.useData;return function(n){return void 0===n&&(n={}),e({input:[["search",n.search],["categoryId",n.categoryId],["brandId",n.brandId],["sort",n.sort],["locale",n.locale],["count",n.count]],swrOptions:p({revalidateOnFocus:!1},n.swrOptions)})}}},L={fetchOptions:{query:"\n query getProductBySlug($slug: String!) {\n productByHandle(handle: $slug) {\n ...productFields\n }\n }\n\n \n fragment productFields on Product {\n id\n handle\n availableForSale\n title\n productType\n vendor\n description\n descriptionHtml\n options {\n id\n name\n values\n }\n priceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n variants(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n sku\n availableForSale\n requiresShipping\n selectedOptions {\n name\n value\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n }\n }\n }\n images(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n originalSrc\n altText\n width\n height\n }\n }\n }\n }\n\n"},fetcher:function(n){return d(s().mark((function e(){var t,r,o,i,a;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=n.options,r=n.fetch,o=n.input.id){e.next=4;break}return e.abrupt("return",null);case 4:if(i=null,!o.startsWith("gid://shopify")){e.next=12;break}return e.next=8,r({query:"\n query getProductById($id: ID!) {\n product(id: $id) {\n ...productFields\n }\n }\n\n \n fragment productFields on Product {\n id\n handle\n availableForSale\n title\n productType\n vendor\n description\n descriptionHtml\n options {\n id\n name\n values\n }\n priceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n variants(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n sku\n availableForSale\n requiresShipping\n selectedOptions {\n name\n value\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n }\n }\n }\n images(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n originalSrc\n altText\n width\n height\n }\n }\n }\n }\n\n",variables:{id:o}});case 8:i=e.sent.product,e.next=16;break;case 12:return e.next=14,r({query:t.query,variables:{slug:o}});case 14:(a=e.sent).productByHandle&&(i=a.productByHandle);case 16:return e.abrupt("return",i?D(i):null);case 17:case"end":return e.stop()}}),e)})))()},useHook:function(n){var e=n.useData;return function(n){return void 0===n&&(n={}),e({input:[["id",n.id]],swrOptions:p({revalidateOnFocus:!1},n.swrOptions)})}}},N={fetchOptions:{query:"\n query getCheckout($checkoutId: ID!) {\n node(id: $checkoutId) {\n ...checkoutDetails\n }\n }\n \n fragment checkoutDetails on Checkout {\n id\n webUrl\n subtotalPriceV2 {\n amount\n currencyCode\n }\n totalTaxV2 {\n amount\n currencyCode\n }\n totalPriceV2 {\n amount\n currencyCode\n }\n completedAt\n createdAt\n taxesIncluded\n lineItems(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n variant {\n id\n sku\n title\n selectedOptions {\n name\n value\n }\n image {\n originalSrc\n altText\n width\n height\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n product {\n id\n handle\n }\n }\n quantity\n }\n }\n }\n }\n\n"},fetcher:function(n){return d(s().mark((function e(){var t,r,o,i;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.options,o=n.fetch,!(t=n.input.cartId)){e.next=13;break}return e.next=4,o(p({},r,{variables:{checkoutId:t}}));case 4:if(null==(i=e.sent.node)||!i.completedAt){e.next=12;break}return u.remove("shopify_checkoutId"),u.remove("shopify_checkoutUrl"),e.abrupt("return",null);case 12:return e.abrupt("return",V({checkout:i}));case 13:return e.abrupt("return",null);case 14:case"end":return e.stop()}}),e)})))()},useHook:function(n){var e=n.useData;return function(n){var t=e({swrOptions:p({revalidateOnFocus:!1},null==n?void 0:n.swrOptions)});return o.useMemo((function(){return Object.create(t,{isEmpty:{get:function(){var n,e;return(null!=(n=null==(e=t.data)?void 0:e.lineItems.length)?n:0)<=0},enumerable:!0}})}),[t])}}},T={fetchOptions:{query:"\n mutation checkoutLineItemAdd(\n $checkoutId: ID!\n $lineItems: [CheckoutLineItemInput!]!\n ) {\n checkoutLineItemsAdd(checkoutId: $checkoutId, lineItems: $lineItems) {\n checkoutUserErrors {\n code\n field\n message\n }\n checkout {\n ...checkoutDetails\n }\n }\n }\n\n \n fragment checkoutDetails on Checkout {\n id\n webUrl\n subtotalPriceV2 {\n amount\n currencyCode\n }\n totalTaxV2 {\n amount\n currencyCode\n }\n totalPriceV2 {\n amount\n currencyCode\n }\n completedAt\n createdAt\n taxesIncluded\n lineItems(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n variant {\n id\n sku\n title\n selectedOptions {\n name\n value\n }\n image {\n originalSrc\n altText\n width\n height\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n product {\n id\n handle\n }\n }\n quantity\n }\n }\n }\n }\n\n"},fetcher:function(n){return d(s().mark((function e(){var t,r,o,i,u,c;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=n.options,i=n.fetch,!(r=n.input).quantity||Number.isInteger(r.quantity)&&!(r.quantity<1)){e.next=3;break}throw new a.CommerceError({message:"The item quantity has to be a valid integer greater than 0"});case 3:if(u=[{variantId:r.variantId,quantity:null!=(t=r.quantity)?t:1}],c=F()){e.next=13;break}return e.t0=V,e.next=9,k(i,u);case 9:return e.t1=e.sent,e.abrupt("return",(0,e.t0)(e.t1));case 13:return e.next=15,i(p({},o,{variables:{checkoutId:c,lineItems:u}}));case 15:return e.abrupt("return",V(e.sent.checkoutLineItemsAdd));case 18:case"end":return e.stop()}}),e)})))()},useHook:function(n){var e=n.fetch;return function(){var n,t=a.useCart().mutate;return o.useCallback((function(r){return(n=n||d(s().mark((function n(r){var o;return s().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e({input:r});case 2:return o=n.sent,n.next=5,t(o,!1);case 5:return n.abrupt("return",o);case 6:case"end":return n.stop()}}),n)})))).apply(this,arguments)}),[e,t])}}},_={fetchOptions:{query:"\n mutation checkoutLineItemRemove($checkoutId: ID!, $lineItemIds: [ID!]!) {\n checkoutLineItemsRemove(\n checkoutId: $checkoutId\n lineItemIds: $lineItemIds\n ) {\n checkoutUserErrors {\n code\n field\n message\n }\n checkout {\n ...checkoutDetails\n }\n }\n }\n \n fragment checkoutDetails on Checkout {\n id\n webUrl\n subtotalPriceV2 {\n amount\n currencyCode\n }\n totalTaxV2 {\n amount\n currencyCode\n }\n totalPriceV2 {\n amount\n currencyCode\n }\n completedAt\n createdAt\n taxesIncluded\n lineItems(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n variant {\n id\n sku\n title\n selectedOptions {\n name\n value\n }\n image {\n originalSrc\n altText\n width\n height\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n product {\n id\n handle\n }\n }\n quantity\n }\n }\n }\n }\n\n"},fetcher:function(n){return d(s().mark((function e(){var t,r,o;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.input.itemId,r=n.options,o=n.fetch,e.next=3,o(p({},r,{variables:{checkoutId:F(),lineItemIds:[t]}}));case 3:return e.abrupt("return",V(e.sent.checkoutLineItemsRemove));case 5:case"end":return e.stop()}}),e)})))()},useHook:function(n){var e=n.fetch;return function(n){var t;void 0===n&&(n={});var r=n.item,i=a.useCart().mutate;return o.useCallback((function(n){return(t=t||d(s().mark((function n(t){var o,u,c;return s().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(u=null!=(o=null==t?void 0:t.id)?o:null==r?void 0:r.id){n.next=3;break}throw new a.ValidationError({message:"Invalid input used for this operation"});case 3:return n.next=5,e({input:{itemId:u}});case 5:return c=n.sent,n.next=8,i(c,!1);case 8:return n.abrupt("return",c);case 9:case"end":return n.stop()}}),n)})))).apply(this,arguments)}),[e,i])}}},j={fetchOptions:{query:"\n mutation checkoutLineItemUpdate(\n $checkoutId: ID!\n $lineItems: [CheckoutLineItemUpdateInput!]!\n ) {\n checkoutLineItemsUpdate(checkoutId: $checkoutId, lineItems: $lineItems) {\n checkoutUserErrors {\n code\n field\n message\n }\n checkout {\n ...checkoutDetails\n }\n }\n }\n\n \n fragment checkoutDetails on Checkout {\n id\n webUrl\n subtotalPriceV2 {\n amount\n currencyCode\n }\n totalTaxV2 {\n amount\n currencyCode\n }\n totalPriceV2 {\n amount\n currencyCode\n }\n completedAt\n createdAt\n taxesIncluded\n lineItems(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n variant {\n id\n sku\n title\n selectedOptions {\n name\n value\n }\n image {\n originalSrc\n altText\n width\n height\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n product {\n id\n handle\n }\n }\n quantity\n }\n }\n }\n }\n\n"},fetcher:function(n){return d(s().mark((function e(){var t,r,o,i,u;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=(t=n.input).itemId,o=t.item,i=n.options,u=n.fetch,!Number.isInteger(o.quantity)){e.next=6;break}if(!(o.quantity<1)){e.next=4;break}return e.abrupt("return",_.fetcher({options:_.fetchOptions,input:{itemId:r},fetch:u}));case 4:e.next=8;break;case 6:if(!o.quantity){e.next=8;break}throw new a.ValidationError({message:"The item quantity has to be a valid integer"});case 8:return e.next=10,u(p({},i,{variables:{checkoutId:F(),lineItems:[{id:r,quantity:o.quantity}]}}));case 10:return e.abrupt("return",V(e.sent.checkoutLineItemsUpdate));case 13:case"end":return e.stop()}}),e)})))()},useHook:function(n){var e=n.fetch;return function(n){var t,r;void 0===n&&(n={});var i=n.item,u=a.useCart().mutate;return o.useCallback(c((function(n){return(t=t||d(s().mark((function n(t){var r,o,c;return s().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if((o=null!=(r=t.id)?r:null==i?void 0:i.id)&&null!=t.quantity){n.next=3;break}throw new a.ValidationError({message:"Invalid input used for this operation"});case 3:return n.next=5,e({input:{item:{quantity:t.quantity},itemId:o}});case 5:return c=n.sent,n.next=8,u(c,!1);case 8:return n.abrupt("return",c);case 9:case"end":return n.stop()}}),n)})))).apply(this,arguments)}),null!=(r=n.wait)?r:500),[e,u])}}},U={fetchOptions:{query:"\n query getSiteCollections($first: Int!) {\n collections(first: $first) {\n edges {\n node {\n ...collectionFieldsFragment\n }\n }\n }\n }\n\n \n fragment collectionFieldsFragment on Collection {\n id\n title\n handle,\n products(first: $first) {\n ...simpleProductConnection\n }\n }\n \nfragment simpleProductConnection on ProductConnection {\n edges {\n node {\n id\n }\n }\n}\n\n\n"},fetcher:function(n){return d(s().mark((function e(){var t,r,o,i,a,u,c;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=n.options,r=n.fetch,o=n.input.categoryId){e.next=9;break}return e.next=5,r({query:t.query,variables:{first:250}});case 5:return e.abrupt("return",null!=(i=null==(u=e.sent)||null==(a=u.collections)||null==(a=a.edges)?void 0:a.map((function(n){return O(n.node)})))?i:[]);case 9:return e.next=11,r({query:"\n query getSiteCollection($id: ID, $handle: String, $first: Int = 1) {\n collection(id: $id, handle: $handle) {\n ...collectionFieldsFragment\n }\n }\n \n fragment collectionFieldsFragment on Collection {\n id\n title\n handle,\n products(first: $first) {\n ...simpleProductConnection\n }\n }\n \nfragment simpleProductConnection on ProductConnection {\n edges {\n node {\n id\n }\n }\n}\n\n\n",variables:p({},o.startsWith("gid://")?{id:o}:{handle:o})});case 11:return e.abrupt("return",null!=(c=e.sent)&&c.collection?[O(null==c?void 0:c.collection)]:[]);case 13:case"end":return e.stop()}}),e)})))()},useHook:function(n){var e=n.useData;return function(n){var t=e({input:[["categoryId",null==n?void 0:n.categoryId]],swrOptions:p({revalidateOnFocus:!1},null==n?void 0:n.swrOptions)});return o.useMemo((function(){return Object.create(t,{isEmpty:{get:function(){var n,e;return(null!=(n=null==(e=t.data)?void 0:e.length)?n:0)<=0},enumerable:!0}})}),[t])}}},R={fetchOptions:{query:B},fetcher:function(n){return d(s().mark((function e(){var t,r;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.fetch,e.next=3,t({query:B,variables:{first:250}});case 3:return r=e.sent.products.edges.map((function(n){return n.node.vendor})),e.abrupt("return",Array.from(new Set(r).values()).map((function(n){var e=n.replace(/\s+/g,"-").toLowerCase();return{entityId:e,name:n,path:"brands/"+e}})));case 6:case"end":return e.stop()}}),e)})))()},useHook:function(n){var e=n.useData;return function(n){var t=e({swrOptions:p({revalidateOnFocus:!1},null==n?void 0:n.swrOptions)});return o.useMemo((function(){return Object.create(t,{isEmpty:{get:function(){var n,e;return(null!=(n=null==(e=t.data)?void 0:e.length)?n:0)<=0},enumerable:!0}})}),[t])}}},H=["locale"],K=function(n,e){var t;return function(r){return(t=t||d(s().mark((function t(r){var o,i,a,u,c,l,d,f,m;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=void 0===(o=r.url)?"https://"+n+"/api/2022-04/graphql.json":o,u=void 0===(a=r.method)?"POST":a,l=r.query,f=(d=null!=(c=r.variables)?c:{}).locale,m=h(d,H),t.t0=v,t.next=5,fetch(i,{method:u,body:JSON.stringify({query:l,variables:m}),headers:p({"X-Shopify-Storefront-Access-Token":e,"Content-Type":"application/json"},f&&{"Accept-Language":f})});case 5:return t.t1=t.sent,t.abrupt("return",(0,t.t0)(t.t1));case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},G=function(n,e){return a.getCommerceProvider(function(n,e){return{locale:"en-us",cartCookie:"shopify_checkoutId",cart:{useCart:N,useAddItem:T,useUpdateItem:j,useRemoveItem:_},fetcher:K(n,e),products:{useSearch:$,useProduct:L},site:{useCategories:U,useBrands:R}}}(n,e))},M={name:"plasmic-commerce-shopify-provider",displayName:"Shopify Provider",props:{storeDomain:{type:"string",defaultValue:"next-js-store.myshopify.com"},accessToken:{type:"string",defaultValue:"ef7d41c7bf7e1c214074d0d3047bcd7b"}},unstable__globalActions:a.globalActionsRegistrations,description:"Your store domain usually looks like **storename.myshopify.com**.\n\nFor your access token, get it by following [this video](https://www.youtube.com/watch?v=wB_6cM7tdv4).\n\nSee also the [getting started video](https://www.youtube.com/watch?v=1OJ_gXmta2Q).",importPath:"@plasmicpkgs/commerce-shopify",importName:"CommerceProviderComponent"};function Y(n){var e=n.storeDomain,t=n.accessToken,r=n.children,o=i.useMemo((function(){return G(e,t)}),[e,t]);return i.createElement(o,null,i.createElement(a.CartActionsProvider,{globalContextName:"plasmic-commerce-shopify-provider"},r))}function J(n,e){!function(){n?n.registerGlobalContext.apply(n,arguments):r.apply(void 0,arguments)}(Y,null!=e?e:M)}exports.CommerceProviderComponent=Y,exports.commerceProviderMeta=M,exports.getCommerceProvider=G,exports.registerAll=function(n){J(n)},exports.registerCommerceProvider=J,exports.useCommerce=function(){return a.useCommerce()};
2
2
  //# sourceMappingURL=commerce-shopify.cjs.production.min.js.map