@sensefuel/sensefuelsdk
Version:
sensefuel discovery API SDK
1 lines • 107 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.SensefuelSdk=t():e.SensefuelSdk=t()}(self,(()=>(()=>{"use strict";var e={3214:function(e,t,s){var r,i,o,n=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(i,o){function n(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(n,a)}c((r=r.apply(e,t||[])).next())}))},a=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s},c=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.ActivityTrackingConnector=void 0;const u=s(8037);t.ActivityTrackingConnector=class{constructor(e){r.add(this),i.set(this,void 0),a(this,i,e,"f")}getUrl(e){const t=c(this,i,"f").credentials,s=c(this,i,"f").url,r=s.activityTracking.get(),o=t.uuid.get(),n=t.activityTracking.key.get();if(!s.proxy.enabled()){if("string"!=typeof o||0===o.length)throw new Error("Client UUID must be specified");if("string"!=typeof n||0===n.length)throw new Error("Client ActivityTracking API key must be specified")}return s.proxy.enabled()?`${r}/tracking/activity/${e}`:`${r}/${o}/${n}/tracking/activity/${e}`}splitEvents(e){const t=[];if(JSON.stringify(e).length/1024>=100){if(1===e.length)throw new Error("Cannot send event with >100kB payload");const s=Math.floor(e.length/2),r=e.slice(0,s);t.push(...this.splitEvents(r));const i=e.slice(s);t.push(...this.splitEvents(i))}else t.push(e);return t}startSession(e,t){return n(this,void 0,void 0,(function*(){const s=this.getUrl("create"),r={timestamp:(new Date).toISOString(),user_agent:c(this,i,"f").application.userAgent.get(),user_id:!0===c(this,i,"f").gdpr.consent()?e:void 0,track_id:!0===c(this,i,"f").gdpr.consent()?t:void 0,ip_source:c(this,i,"f").application.ip.get()},o=yield c(this,i,"f").fetch(s,{method:"POST",mode:"cors",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}),n=yield o.json();if("OK"!==n.code&&"error"in n)throw new u.ApiError(n.error);return n}))}sendEvents(e){return n(this,void 0,void 0,(function*(){const t=this.getUrl("events"),s=this.splitEvents(e);let n=null;c(this,r,"m",o).call(this);for(const e of s)n=yield c(this,i,"f").fetch(t,{method:"POST",mode:"cors",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify({user_id:c(this,i,"f").tracking.user.id.get(),track_id:c(this,i,"f").tracking.session.id.get(),source:c(this,i,"f").application.source.get(),version:c(this,i,"f").application.version.get(),events:e})});const a=null!=n?yield n.json():{};if("OK"!==a.code&&"error"in a)throw new u.ApiError(a.error)}))}},i=new WeakMap,r=new WeakSet,o=function(){const e=c(this,i,"f").tracking.user.id.get();if("string"!=typeof e||0===e.length)throw new Error("No user id detected");const t=c(this,i,"f").tracking.session.id.get();if("string"!=typeof t||0===t.length)throw new Error("No session id detected");const s=c(this,i,"f").application.source.get();if("string"!=typeof s||0===s.length)throw new Error("No application source detected")}},1720:function(e,t,s){var r,i=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.CheckoutBuilder=void 0;const o=s(4057);class n extends o.ActivityTrackingBuilder{constructor(e){super(e),r.set(this,[])}confirmed(e){if(i(this,r,"f").includes("confirmed"))throw new Error("confirmed event already triggered");if("number"!=typeof e)throw new Error("You must provide the cart total amount before calling CheckoutBuilder.confirmed method");const t={timestamp:(new Date).toISOString(),location_name:"checkout",namespace:"cart",type_id:"confirmed",tag:"total",total:e};return this._eventsHandler.push(t),i(this,r,"f").push("confirmed"),this}}t.CheckoutBuilder=n,r=new WeakMap},5097:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ProductListingBuilder=void 0;const r=s(4057);class i extends r.ActivityTrackingBuilder{constructor(e,t){super(e),this._location="product_listing",null!=t&&t.on("items",(e=>this.listedProducts(e.map((e=>e["g:link"])))))}_decorateEvent(e){e.timestamp=(new Date).toISOString(),e.location_name=this._location,e.tag="product"}listedProducts(e){const t={namespace:"product",type_id:"listed",urls:e.map((e=>({link:e})))};return this._decorateEvent(t),this._eventsHandler.push(t),this}inspectedProduct(e){const t={namespace:"product",type_id:"inspected",urls:[{link:e}]};return this._decorateEvent(t),this._eventsHandler.push(t),this}clickedProduct(e){const t={namespace:"product",type_id:"clicked",urls:[{link:e}]};return this._decorateEvent(t),this._eventsHandler.push(t),this}addedToCart(e){const t={namespace:"cart",type_id:"added",urls:[{link:e}]};return this._decorateEvent(t),this._eventsHandler.push(t),this}}t.ProductListingBuilder=i},462:function(e,t,s){var r,i,o,n,a=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s},c=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProductSheetBuilder=void 0;const u=s(4057);class l extends u.ActivityTrackingBuilder{constructor(e,t){super(e),r.set(this,void 0),i.set(this,void 0),o.set(this,void 0),n.set(this,[]),null!=t&&t.on("items",(e=>this.canonicalUrl(e[0]["g:link"]).visited()))}url(e){return a(this,r,e,"f"),this}canonicalUrl(e){return a(this,i,e,"f"),this}breadcrumbs(e){return a(this,o,e,"f"),this}visited(){var e;if(c(this,n,"f").includes("visited"))throw new Error("visited event already triggered");if(!("string"==typeof c(this,r,"f")&&0!==c(this,r,"f").length||"string"==typeof c(this,i,"f")&&0!==c(this,i,"f").length))return console.warn("You must define the current url before sending a visited tracking page"),this;const t={timestamp:(new Date).toISOString(),location_name:"product_sheet",namespace:"product",type_id:"visited",tag:"product",urls:[{link:null!==(e=c(this,i,"f"))&&void 0!==e?e:c(this,r,"f"),doc_link:c(this,i,"f")?c(this,r,"f"):void 0}],breadcrumb:c(this,o,"f")};return this._eventsHandler.push(t),c(this,n,"f").push("visited"),this}addedToCart(){var e;if(c(this,n,"f").includes("addedToCart"))throw new Error("addedToCart event already triggered");if("string"!=typeof c(this,r,"f")||0===c(this,r,"f").length)return console.warn("You must define the current url before sending a visited tracking page"),this;const t={timestamp:(new Date).toISOString(),location_name:"product_sheet",namespace:"cart",type_id:"added",tag:"product",urls:[{link:null!==(e=c(this,i,"f"))&&void 0!==e?e:c(this,r,"f"),doc_link:c(this,i,"f")?c(this,r,"f"):void 0}],breadcrumb:c(this,o,"f")};return this._eventsHandler.push(t),c(this,n,"f").push("addedToCart"),this}}t.ProductSheetBuilder=l,r=new WeakMap,i=new WeakMap,o=new WeakMap,n=new WeakMap},6315:function(e,t,s){var r,i,o=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)},n=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s};Object.defineProperty(t,"__esModule",{value:!0}),t.SearchListingBuilder=void 0;const a=s(5097);class c extends a.ProductListingBuilder{constructor(e,t){var s,o;super(e,t),this._location="search_listing",r.set(this,void 0),i.set(this,void 0),null!=t&&(this.deliveryMode("sensefuel"),null!=(null===(o=null===(s=t._state.query)||void 0===s?void 0:s.terms)||void 0===o?void 0:o.expression)&&this.expression(t._state.query.terms.expression))}_decorateEvent(e){super._decorateEvent(e),e.expression=o(this,r,"f"),e.delivery_mode=o(this,i,"f")}expression(e){return n(this,r,e,"f"),this}deliveryMode(e){return n(this,i,e,"f"),this}}t.SearchListingBuilder=c,r=new WeakMap,i=new WeakMap},3052:function(e,t,s){var r,i,o=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s},n=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.StartupPageBuilder=void 0;const a=s(4057);class c extends a.ActivityTrackingBuilder{constructor(e){super(e),r.set(this,void 0),i.set(this,[])}url(e){return o(this,r,e,"f"),this}visited(){if(n(this,i,"f").includes("visited"))throw new Error("visited event already triggered");if("string"!=typeof n(this,r,"f")||0===n(this,r,"f").length)return console.warn("You must define the current url before sending a visited tracking page"),this;const e={timestamp:(new Date).toISOString(),location_name:"startup_page",namespace:"page",type_id:"visited",tag:"page",urls:[{link:n(this,r,"f")}]};return this._eventsHandler.push(e),n(this,i,"f").push("visited"),this}}t.StartupPageBuilder=c,r=new WeakMap,i=new WeakMap},4057:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ActivityTrackingBuilder=void 0,t.ActivityTrackingBuilder=class{constructor(e){this._eventsHandler=e}}},510:function(e,t,s){var r,i,o,n,a,c,u=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(i,o){function n(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(n,a)}c((r=r.apply(e,t||[])).next())}))},l=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s},d=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.Handler=void 0;const h=s(8298);class p extends h.Observable{constructor(e){super(),r.add(this),i.set(this,void 0),o.set(this,[]),n.set(this,null),a.set(this,null),l(this,i,e,"f")}push(e){return d(this,o,"f").push(e),this.emit(`${e.type_id}:${e.namespace}`,e),d(this,r,"m",c).call(this),this}}t.Handler=p,i=new WeakMap,o=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakSet,c=function(){return u(this,void 0,void 0,(function*(){return null==d(this,n,"f")&&l(this,a,new Promise(((e,t)=>{l(this,n,setTimeout((()=>u(this,void 0,void 0,(function*(){const s=d(this,o,"f").slice(0);l(this,o,[],"f"),l(this,n,null,"f");try{yield d(this,i,"f").sendEvents(s),e()}catch(e){t(e)}}))),100),"f")})),"f"),d(this,a,"f")}))}},5262:function(e,t,s){var r,i,o,n=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(i,o){function n(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(n,a)}c((r=r.apply(e,t||[])).next())}))},a=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s},c=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.ActivityTracking=void 0;const u=s(3214),l=s(3052),d=s(1720),h=s(462),p=s(5097),f=s(6315),v=s(510);t.ActivityTracking=class{constructor(e){r.set(this,void 0),i.set(this,void 0),o.set(this,void 0),a(this,i,e,"f"),a(this,r,new u.ActivityTrackingConnector(c(this,i,"f")),"f"),a(this,o,new v.Handler(c(this,r,"f")),"f")}connect(){return n(this,void 0,void 0,(function*(){}))}startSession(e,t){return n(this,void 0,void 0,(function*(){const s=yield c(this,r,"f").startSession(e,t);return c(this,i,"f").tracking.user.id.set(s.user_id),c(this,i,"f").tracking.session.id.set(s.track_id),this}))}startupPage(){return new l.StartupPageBuilder(c(this,o,"f"))}checkout(){return new d.CheckoutBuilder(c(this,o,"f"))}productSheet(e){return new h.ProductSheetBuilder(c(this,o,"f"),e)}productListing(e){return new p.ProductListingBuilder(c(this,o,"f"),e)}searchListing(e){return new f.SearchListingBuilder(c(this,o,"f"),e)}on(e,t){return c(this,o,"f").on(e,t),this}off(e,t){return c(this,o,"f").off(e,t),this}},r=new WeakMap,i=new WeakMap,o=new WeakMap},170:function(e,t,s){var r,i=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(i,o){function n(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(n,a)}c((r=r.apply(e,t||[])).next())}))},o=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s},n=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.DiscoveryConnector=void 0;const a=s(8037);t.DiscoveryConnector=class{constructor(e){r.set(this,void 0),o(this,r,e,"f")}getUrl(e){const t=n(this,r,"f").credentials,s=n(this,r,"f").url,i=s.discovery.get(),o=t.uuid.get(),a=t.discovery.key.get();if(!s.proxy.enabled()){if("string"!=typeof o||0===o.length)throw new Error("Client UUID must be specified");if("string"!=typeof a||0===a.length)throw new Error("Client Discovery API key must be specified")}return s.proxy.enabled()?`${i}/${e}`:`${i}/${o}/${a}/${e}`}settings(){return i(this,void 0,void 0,(function*(){const e=this.getUrl("settings"),t=yield n(this,r,"f").fetch(e,{method:"GET"}),s=yield t.json();if(!("module"in s)&&s.status>=400)throw new a.ApiError(s.value);return s.settings.filterable=s.settings.fields.filter((e=>e.filterable)).map((e=>e.field)),s.settings.searchAttributes=s.settings.fields.filter((e=>e.search_attributes||e.filterable)).map((e=>e.field)),s}))}call(e,t){return i(this,void 0,void 0,(function*(){const s=this.getUrl(t),i=yield n(this,r,"f").fetch(s,{method:"POST",mode:"cors",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),o=yield i.json();if(!("module"in o)&&o.status>=400)throw new a.ApiError(o.value);return o}))}},r=new WeakMap},5733:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractFiltersAction=void 0;const r=s(6528),i=s(3288),o=(0,s(2039).compile)({type:"string"});class n extends r.ObjectBuilder{constructor(e){super(e)}add(e,t){Array.isArray(t)||(t=[t]);const s=this._get(e);if(null==s)this.set(e,t);else{if(t.some(((e,t)=>!o.validate(e,`filter action item ${t}`))))throw new Error(o.errors[0]);s.add(...t)}return this}set(e,t){if(Array.isArray(t)||(t=[t]),t.some(((e,t)=>!o.validate(e,"filter action item ${idx}"))))throw new Error(o.errors[0]);const s=new i.ArrayBuilder(this);return s.add(...t),this._set(e,s)}remove(e,t){if(null==t)return this._set(e,void 0);Array.isArray(t)||(t=[t]);const s=this._get(e);for(const e of t)s.remove(e);return this}get(e){return this._get(e)}}t.AbstractFiltersAction=n},6270:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ApplyContentFiltersAction=void 0;const r=s(2039),i=s(5733);class o extends i.AbstractFiltersAction{}t.ApplyContentFiltersAction=o,o.schema=(0,r.compile)({type:"object"})},5667:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ApplyContentTypeAction=void 0;const r=s(6528),i=s(2039);class o extends r.ObjectBuilder{constructor(e){super(e)}type(e){return this._set("type",e)}}t.ApplyContentTypeAction=o,o.schema=(0,i.compile)({type:"object",properties:{type:{type:"string"}}})},8461:function(e,t,s){var r,i=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s},o=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.ApplyFiltersAction=void 0;const n=s(5733),a=s(2039);class c extends n.AbstractFiltersAction{constructor(e,t){super(e),r.set(this,void 0),i(this,r,t,"f")}add(e,t){if(Array.isArray(t)||(t=[t]),!o(this,r,"f").filterable.includes(e))throw new Error(`You cannot filter on non filterable item field (${e})`);return super.add(e,t)}set(e,t){if(Array.isArray(t)||(t=[t]),!o(this,r,"f").filterable.includes(e))throw new Error(`You cannot filter on non filterable item field (${e})`);return super.set(e,t)}}t.ApplyFiltersAction=c,r=new WeakMap,c.schema=(0,a.compile)({type:"object"})},2458:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ApplyScopesAction=void 0;const r=s(3288),i=s(2039);class o extends r.ArrayBuilder{constructor(e){super(e)}add(e){const t=this.get();if(null!=t&&t.length>0)throw new Error("Only one scope is allowed in actions.scopes");return"string"==typeof e?super.add({path:e}):super.add(e)}remove(...e){const t=super.get();for(const s of e){const e=null==t?void 0:t.find((e=>e.path===s));super.remove(e)}return this}}t.ApplyScopesAction=o,o.schema=(0,i.compile)({type:"array",items:{type:"object",properties:{path:{type:"string"}}}})},8665:function(e,t,s){var r,i=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s},o=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.ApplySpotlightsAction=void 0;const n=s(3288),a=s(2039);class c extends n.ArrayBuilder{constructor(e,t){super(e),r.set(this,void 0),i(this,r,t,"f")}add(e){var t;const s=this.get();if(null!=s&&s.length>0)throw new Error("Only one spotlights is allowed in actions.spotlights");if(null!==(t=e in o(this,r,"f").spotlights)&&void 0!==t&&!t)throw new Error(`You cannot apply unknown spotlight (${e})`);return super.add(e)}remove(...e){var t;return super.remove(...e),0===(null===(t=this.get())||void 0===t?void 0:t.length)&&this.clear(),this}}t.ApplySpotlightsAction=c,r=new WeakMap,c.schema=(0,a.compile)({type:"array",items:{type:"string"}})},9248:function(e,t,s){var r,i=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s},o=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.DiscoveryBuilder=void 0;const n=s(6528),a=s(3644),c=s(5462),u=s(9505),l=s(8112),d=s(6621);class h extends n.ObjectBuilder{constructor(e,t,s){super(s),r.set(this,void 0),i(this,r,e,"f"),this._settings=t,this.query=new n.ObjectBuilder(this),this._set("query",this.query),this.query._set("store_id",void 0),this.modules=new n.ObjectBuilder(this),this._set("modules",this.modules),this.modules._set("bag",new a.MapBuilder(this.modules)),this.modules._set("statistics",new c.ModuleBuilder(this.modules)),this.user_actions=new n.ObjectBuilder(this),this._set("user_actions",this.user_actions)}getRequest(){return o(this,r,"f").buildRequest(this)}build(){var e;return null!==(e=super.build())&&void 0!==e?e:{}}createMatchValueClause(){return new u.MatchAttributeValueBuilder(this,this._settings)}createMatchRangeClause(){return new l.MatchAttributeRangeBuilder(this,this._settings)}createAttributesClause(){return new d.SearchAttributesBuilder(this,this._settings)}}t.DiscoveryBuilder=h,r=new WeakMap},8990:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DiscoveryLandingBuilder=void 0;const r=s(9248),i=s(286),o=s(4577),n=s(6883),a=s(9341),c=s(9817),u=s(392),l=s(2813),d=s(8461),h=s(2458),p=s(8665),f=s(6621),v=s(2039);class y extends r.DiscoveryBuilder{constructor(e,t,s){super(e,t,s),this.query._set("search_scope",new i.SearchScopeQuery(this.query)),this.query._set("search_attributes",new f.SearchAttributesBuilder(this.query,t)),this.modules._set("items",new o.ItemsModule(this.modules,t)),this.modules._set("facets",new n.FacetsModule(this.modules,t)),this.modules._set("scope_pages",new a.ScopePagesModule(this.modules)),this.modules._set("universe_pages",new c.UniversePagesModule(this.modules)),this.modules._set("spotlights",new u.SpotlightsModule(this.modules)),this.modules._set("acp",new l.AcpModule(this.modules)),this.user_actions._set("apply_filters",new d.ApplyFiltersAction(this.user_actions,t)),this.user_actions._set("apply_scopes",new h.ApplyScopesAction(this.user_actions)),this.user_actions._set("apply_spotlights",new p.ApplySpotlightsAction(this.user_actions,t))}build(){var e,t;const s=super.build();if(!y.schema.validate(s,"landing"))throw new Error(null!==(t=null===(e=y.schema.errors)||void 0===e?void 0:e[0])&&void 0!==t?t:"validation error");return s}}t.DiscoveryLandingBuilder=y,y.schema=(0,v.compile)({type:"object",required:["query"],additionalProperties:!1,properties:{query:{type:"object",required:["search_attributes"],additionalProperties:!1,properties:{search_attributes:f.SearchAttributesBuilder.schema,search_scope:i.SearchScopeQuery.schema,store_id:{type:"string"}}},modules:{type:"object",additionalProperties:!1,properties:{items:o.ItemsModule.schema,facets:n.FacetsModule.schema,scope_pages:a.ScopePagesModule.schema,universe_pages:c.UniversePagesModule.schema,spotlights:u.SpotlightsModule.schema,acp:l.AcpModule.schema,statistics:{type:"object"},bag:{type:"object"}}},user_actions:{type:"object",additionalProperties:!1,properties:{apply_filters:d.ApplyFiltersAction.schema,apply_scopes:h.ApplyScopesAction.schema,apply_spotlights:p.ApplySpotlightsAction.schema}}}})},2813:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AcpModule=void 0;const r=s(5462),i=s(2039);class o extends r.ModuleBuilder{}t.AcpModule=o,o.schema=(0,i.compile)({type:"object"})},9774:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ContentsFacetsModule=void 0;const r=s(5462),i=s(2039);class o extends r.ModuleBuilder{}t.ContentsFacetsModule=o,o.schema=(0,i.compile)({type:"object"})},9221:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ContentsItemsModule=void 0;const r=s(5462),i=s(2039);class o extends r.ModuleBuilder{constructor(e){super(e),this.from(0),this.size(16)}from(e){return this._set("from",e)}size(e){return this._set("size",e)}}t.ContentsItemsModule=o,o.schema=(0,i.compile)({type:"object",properties:{from:{type:"number",minimum:0},size:{type:"number",minimum:0}}})},7186:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ContentsKickerModule=void 0;const r=s(5462),i=s(2039);class o extends r.ModuleBuilder{constructor(e){super(e),this.size(1)}size(e){return this._set("size",e)}}t.ContentsKickerModule=o,o.schema=(0,i.compile)({type:"object",properties:{size:{type:"number",minimum:0}}})},2186:function(e,t,s){var r,i=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s},o=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.FacetsFieldsBuilder=void 0;const n=s(3288),a=s(2039);class c extends n.ArrayBuilder{constructor(e,t){super(e),r.set(this,void 0),i(this,r,t,"f")}add(...e){const t=e.filter((e=>!o(this,r,"f").filterable.includes(e)));if(t.length>0)throw new Error(`You cannot add unknown facet field (${t.join(", ")})`);return super.add(...e)}}t.FacetsFieldsBuilder=c,r=new WeakMap,c.schema=(0,a.compile)({type:"array",items:{type:"string"}})},6883:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FacetsModule=void 0;const r=s(5462),i=s(2186),o=s(2039);class n extends r.ModuleBuilder{constructor(e,t){super(e),this._set("fields",new i.FacetsFieldsBuilder(this,t))}}t.FacetsModule=n,n.schema=(0,o.compile)({type:"object",properties:{fields:i.FacetsFieldsBuilder.schema}})},4745:function(e,t,s){var r,i=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s},o=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.ItemsFieldsBuilder=void 0;const n=s(3288),a=s(2039);class c extends n.ArrayBuilder{constructor(e,t){super(e),r.set(this,void 0),i(this,r,t,"f")}add(...e){const t=e.filter((e=>-1===o(this,r,"f").fields.findIndex((t=>e===t.field))));if(t.length>0)throw new Error(`You cannot add unknown item field (${t.join(", ")})`);return super.add(...e)}}t.ItemsFieldsBuilder=c,r=new WeakMap,c.schema=(0,a.compile)({type:"array",items:{type:"string"}})},4577:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ItemsModule=void 0;const r=s(5462),i=s(760),o=s(4745),n=s(2039);class a extends r.ModuleBuilder{constructor(e,t){super(e),this._set("fields",new o.ItemsFieldsBuilder(this,t)),this._set("variants_fields",new o.ItemsFieldsBuilder(this,t)),this._set("sort",new i.SortItemsBuilder(this,t)),this.from(0),this.size(60)}from(e){return this._set("from",e)}size(e){return this._set("size",e)}}t.ItemsModule=a,a.schema=(0,n.compile)({type:"object",properties:{from:{type:"number",minimum:0},size:{type:"number",minimum:0},fields:o.ItemsFieldsBuilder.schema,variants_fields:o.ItemsFieldsBuilder.schema,sort:i.SortItemsBuilder.schema}})},760:function(e,t,s){var r,i=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s},o=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.SortItemsBuilder=void 0;const n=s(6528),a=s(2039);class c extends n.ObjectBuilder{constructor(e,t){super(e),r.set(this,void 0),i(this,r,t,"f")}field(e){if(-1===o(this,r,"f").fields.findIndex((t=>e===t.field)))throw new Error(`You cannot add unknown sort field (${e})`);return this._set("field",e)}order(e){return this._set("order",e)}}t.SortItemsBuilder=c,r=new WeakMap,c.schema=(0,a.compile)({type:"object",required:["field","order"],properties:{field:{type:"string"},order:{enum:["asc","desc"]}}})},5462:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ModuleBuilder=void 0;const r=s(1729);class i extends r.EnableBuilder{constructor(e){super(e)}}t.ModuleBuilder=i},9904:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ReferencesModule=void 0;const r=s(5462),i=s(2039);class o extends r.ModuleBuilder{constructor(e){super(e),this.size(5)}size(e){this._set("size",e)}}t.ReferencesModule=o,o.schema=(0,i.compile)({type:"object",properties:{size:{type:"number",minimum:0}}})},9341:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ScopePagesModule=void 0;const r=s(5462),i=s(2039);class o extends r.ModuleBuilder{}t.ScopePagesModule=o,o.schema=(0,i.compile)({type:"object"})},3100:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ShortcutsModule=void 0;const r=s(5462),i=s(2039);class o extends r.ModuleBuilder{}t.ShortcutsModule=o,o.schema=(0,i.compile)({type:"object"})},4811:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ShowcasesModule=void 0;const r=s(5462),i=s(2039),o=s(4919);class n extends r.ModuleBuilder{constructor(e,t){super(e),this._set("type",new o.ShowcasesTypeArrayBuilder(this,t))}}t.ShowcasesModule=n,n.schema=(0,i.compile)({type:"object",properties:{type:o.ShowcasesTypeArrayBuilder.schema}})},4919:function(e,t,s){var r,i=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s},o=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.ShowcasesTypeArrayBuilder=void 0;const n=s(3288),a=s(2039),c=s(3498);class u extends n.ArrayBuilder{constructor(e,t){super(e),r.set(this,void 0),i(this,r,t,"f")}validate(e){return super.validate(e)}get(...e){const t=super.get();if(e.length>0){const s=[];for(const r of e){const e=null==t?void 0:t.find((e=>e._get("template")===r));e&&s.push(e)}return s}return t}add(...e){const t=super.get();for(const s of e)if(null==t?void 0:t.find((e=>e._get("template")===s.template)))throw new Error(`cannot add template ${s.template} already exists`);const s=e.map((e=>{const t=new c.ShowcasesTypeBuilder(this,o(this,r,"f"));return t(e),t}));return super.add(...s)}remove(...e){const t=super.get();for(const s of e){const e=null==t?void 0:t.find((e=>e._get("template")===s));super.remove(e)}return this}build(){var e;return null===(e=this.get())||void 0===e?void 0:e.map((e=>{if(![c.ShowcasesTypeBuilder].some((t=>e instanceof t)))throw new Error("showcaseTypeArray value must be a valid clause instance");return e instanceof c.ShowcasesTypeBuilder?e.build():void 0}))}}t.ShowcasesTypeArrayBuilder=u,r=new WeakMap,u.schema=(0,a.compile)({type:"array",items:{type:"object"}})},3498:function(e,t,s){var r,i=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s},o=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.ShowcasesTypeBuilder=void 0;const n=s(6528),a=s(2039);class c extends n.ObjectBuilder{constructor(e,t){super(e),r.set(this,void 0),i(this,r,t,"f")}template(e){var t;if(!(null===(t=o(this,r,"f").showcases)||void 0===t?void 0:t.includes(e)))throw new Error(`showcases template must be a valid showcase type (${e})`);return this._set("template",e)}maxProducts(e){return this._set("maxProducts",e)}}t.ShowcasesTypeBuilder=c,r=new WeakMap,c.schema=(0,a.compile)({type:"object",additionalProperties:!1,required:["template","maxProducts"],properties:{template:{type:"string"},maxProducts:{type:"number"}}})},1177:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SpellCheckModule=void 0;const r=s(5462),i=s(2039);class o extends r.ModuleBuilder{}t.SpellCheckModule=o,o.schema=(0,i.compile)({type:"object"})},392:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SpotlightsModule=void 0;const r=s(5462),i=s(2039);class o extends r.ModuleBuilder{}t.SpotlightsModule=o,o.schema=(0,i.compile)({type:"object"})},4674:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SuggestedKeywordsModule=void 0;const r=s(5462),i=s(2039),o=s(8291);class n extends r.ModuleBuilder{constructor(e,t){super(e),this._set("suggested_products",new o.SuggestedProductsModule(this,t)),this.size(4)}size(e){return this._set("size",e)}}t.SuggestedKeywordsModule=n,n.schema=(0,i.compile)({type:"object",properties:{size:{type:"number",minimum:0},suggested_products:o.SuggestedProductsModule.schema}})},8291:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SuggestedProductsModule=void 0;const r=s(5462),i=s(4745),o=s(2039);class n extends r.ModuleBuilder{constructor(e,t){super(e),this._set("fields",new i.ItemsFieldsBuilder(this,t)),this._set("variants_fields",new i.ItemsFieldsBuilder(this,t)),this.size(4)}size(e){return this._set("size",e)}}t.SuggestedProductsModule=n,n.schema=(0,o.compile)({type:"object",properties:{size:{type:"number",minimum:0},fields:i.ItemsFieldsBuilder.schema,variants_fields:i.ItemsFieldsBuilder.schema}})},6981:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SuggestedScopePagesModule=void 0;const r=s(5462),i=s(2039);class o extends r.ModuleBuilder{constructor(e){super(e),this.size(4)}size(e){return this._set("size",e)}}t.SuggestedScopePagesModule=o,o.schema=(0,i.compile)({type:"object",properties:{size:{type:"number",minimum:0}}})},1834:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SuggestedShortcutsModule=void 0;const r=s(5462),i=s(2039);class o extends r.ModuleBuilder{constructor(e){super(e),this.size(4)}size(e){return this._set("size",e)}}t.SuggestedShortcutsModule=o,o.schema=(0,i.compile)({type:"object",properties:{size:{type:"number",minimum:0}}})},5129:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SuggestedSpotlightsModule=void 0;const r=s(5462),i=s(2039);class o extends r.ModuleBuilder{constructor(e){super(e),this.size(4)}size(e){return this._set("size",e)}}t.SuggestedSpotlightsModule=o,o.schema=(0,i.compile)({type:"object",properties:{size:{type:"number",minimum:0}}})},9817:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UniversePagesModule=void 0;const r=s(5462),i=s(2039);class o extends r.ModuleBuilder{}t.UniversePagesModule=o,o.schema=(0,i.compile)({type:"object"})},9834:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DiscoveryNavigationBuilder=void 0;const r=s(9248),i=s(286),o=s(924),n=s(4577),a=s(6883),c=s(9341),u=s(9817),l=s(392),d=s(4811),h=s(2813),p=s(8461),f=s(8665),v=s(6621),y=s(2039);class m extends r.DiscoveryBuilder{constructor(e,t,s){super(e,t,s),this.query._set("search_scope",new i.SearchScopeQuery(this.query)),this.query._set("segments",new o.SegmentsQuery(this.query,t)),this.query._set("search_attributes",new v.SearchAttributesBuilder(this.query,t)),this.modules._set("items",new n.ItemsModule(this.modules,t)),this.modules._set("showcases",new d.ShowcasesModule(this.modules,t)),this.modules._set("facets",new a.FacetsModule(this.modules,t)),this.modules._set("scope_pages",new c.ScopePagesModule(this.modules)),this.modules._set("universe_pages",new u.UniversePagesModule(this.modules)),this.modules._set("spotlights",new l.SpotlightsModule(this.modules)),this.modules._set("acp",new h.AcpModule(this.modules)),this.user_actions._set("apply_filters",new p.ApplyFiltersAction(this.user_actions,t)),this.user_actions._set("apply_spotlights",new f.ApplySpotlightsAction(this.user_actions,t))}build(){var e,t;const s=super.build();if(!m.schema.validate(s,"navigation"))throw new Error(null!==(t=null===(e=m.schema.errors)||void 0===e?void 0:e[0])&&void 0!==t?t:"validation error");return s}}t.DiscoveryNavigationBuilder=m,m.schema=(0,y.compile)({type:"object",required:["query"],additionalProperties:!1,properties:{query:{type:"object",required:["search_scope"],additionalProperties:!1,properties:{search_attributes:v.SearchAttributesBuilder.schema,search_scope:i.SearchScopeQuery.schema,store_id:{type:"string"},segments:o.SegmentsQuery.schema}},modules:{type:"object",additionalProperties:!1,properties:{items:n.ItemsModule.schema,facets:a.FacetsModule.schema,scope_pages:c.ScopePagesModule.schema,universe_pages:u.UniversePagesModule.schema,spotlights:l.SpotlightsModule.schema,showcases:d.ShowcasesModule.schema,acp:h.AcpModule.schema,statistics:{type:"object"},bag:{type:"object"}}},user_actions:{type:"object",additionalProperties:!1,properties:{apply_filters:p.ApplyFiltersAction.schema,apply_spotlights:f.ApplySpotlightsAction.schema}}}})},4854:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DiscoveryProductSelectionBuilder=void 0;const r=s(9248),i=s(286),o=s(6621),n=s(4577),a=s(6883),c=s(9341),u=s(9817),l=s(392),d=s(2813),h=s(8461),p=s(2458),f=s(8665),v=s(2039);class y extends r.DiscoveryBuilder{constructor(e,t,s){super(e,t,s),this.query._set("search_scope",new i.SearchScopeQuery(this.query)),this.query._set("search_attributes",new o.SearchAttributesBuilder(this.query,t)),this.modules._set("items",new n.ItemsModule(this.modules,t)),this.modules._set("facets",new a.FacetsModule(this.modules,t)),this.modules._set("scope_pages",new c.ScopePagesModule(this.modules)),this.modules._set("universe_pages",new u.UniversePagesModule(this.modules)),this.modules._set("spotlights",new l.SpotlightsModule(this.modules)),this.modules._set("acp",new d.AcpModule(this.modules)),this.user_actions._set("apply_filters",new h.ApplyFiltersAction(this.user_actions,t)),this.user_actions._set("apply_scopes",new p.ApplyScopesAction(this.user_actions)),this.user_actions._set("apply_spotlights",new f.ApplySpotlightsAction(this.user_actions,t))}build(){var e,t;const s=super.build();if(!y.schema.validate(s,"productSelection"))throw new Error(null!==(t=null===(e=y.schema.errors)||void 0===e?void 0:e[0])&&void 0!==t?t:"validation error");return s}}t.DiscoveryProductSelectionBuilder=y,y.schema=(0,v.compile)({type:"object",required:["query"],additionalProperties:!1,properties:{query:{type:"object",required:["search_attributes"],additionalProperties:!1,properties:{search_attributes:o.SearchAttributesBuilder.schema,search_scope:i.SearchScopeQuery.schema,store_id:{type:"string"}}},modules:{type:"object",additionalProperties:!1,properties:{items:n.ItemsModule.schema,facets:a.FacetsModule.schema,scope_pages:c.ScopePagesModule.schema,universe_pages:u.UniversePagesModule.schema,spotlights:l.SpotlightsModule.schema,acp:d.AcpModule.schema,statistics:{type:"object"},bag:{type:"object"}}},user_actions:{type:"object",additionalProperties:!1,properties:{apply_filters:h.ApplyFiltersAction.schema,apply_scopes:p.ApplyScopesAction.schema,apply_spotlights:f.ApplySpotlightsAction.schema}}}})},5146:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DiscoveryProductSheetBuilder=void 0;const r=s(9248),i=s(4577),o=s(6621),n=s(2039);class a extends r.DiscoveryBuilder{constructor(e,t,s){super(e,t,s),this.query._set("search_attributes",new o.SearchAttributesBuilder(this.query,t)),this.query._set("search_id",void 0),this.modules._set("items",new i.ItemsModule(this.modules,t)),this.modules.items.enable()}build(){var e,t;const s=super.build();if(!a.schema.validate(s,"productSheet"))throw new Error(null!==(t=null===(e=a.schema.errors)||void 0===e?void 0:e[0])&&void 0!==t?t:"validation error");return s}}t.DiscoveryProductSheetBuilder=a,a.schema=(0,n.compile)({type:"object",required:["query"],additionalProperties:!1,properties:{query:{type:"object",required:["search_id"],additionalProperties:!1,properties:{search_attributes:o.SearchAttributesBuilder.schema,search_id:{type:"string"},store_id:{type:"string"}}},modules:{type:"object",additionalProperties:!1,required:["items"],properties:{items:i.ItemsModule.schema,statistics:{type:"object"},bag:{type:"object"}}}}})},1646:function(e,t,s){var r,i=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s},o=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.AttributeArrayBuilder=void 0;const n=s(3288),a=s(2039),c=s(9505),u=s(8112),l=s(6621);class d extends n.ArrayBuilder{constructor(e,t){super(e),r.set(this,void 0),i(this,r,t,"f")}validate(e){return super.validate(e)}add(...e){const t={match_attribute_value:c.MatchAttributeValueBuilder,match_attribute_range:u.MatchAttributeRangeBuilder,search_attributes:l.SearchAttributesBuilder},s=e.map(((e,s)=>{if([c.MatchAttributeValueBuilder,u.MatchAttributeRangeBuilder,l.SearchAttributesBuilder].some((t=>e instanceof t)))return e.parent(this),e;const i=Object.keys(e);if(1!==i.length||!Object.keys(t).includes(i[0]))throw new Error(`Attribute ${s} is not valid`);const n=new t[i[0]](this,o(this,r,"f"));return n(e[i[0]]),n}));return super.add(...s)}build(){var e;return null===(e=this.get())||void 0===e?void 0:e.map((e=>{if(![c.MatchAttributeValueBuilder,u.MatchAttributeRangeBuilder,l.SearchAttributesBuilder].some((t=>e instanceof t)))throw new Error("attributeArray value must be a valid clause instance");return e instanceof c.MatchAttributeValueBuilder?{match_attribute_value:e.build()}:e instanceof u.MatchAttributeRangeBuilder?{match_attribute_range:e.build()}:e instanceof l.SearchAttributesBuilder?{search_attributes:e.build()}:void 0}))}}t.AttributeArrayBuilder=d,r=new WeakMap,d.schema=(0,a.compile)({type:"array",items:{anyOf:[{type:"object",required:["match_attribute_value"],properties:{match_attribute_value:c.MatchAttributeValueBuilder.schema}},{type:"object",required:["match_attribute_range"],properties:{match_attribute_range:u.MatchAttributeRangeBuilder.schema}}]}}),setTimeout((()=>{d.schema.get().items.get().anyOf.push((0,a.compile)({type:"object",required:["search_attributes"],properties:{search_attributes:l.SearchAttributesBuilder.schema}})),d.schema.get().items.toJSON=function(){return{[this.key]:this.schema[this.key].filter((e=>e!==l.SearchAttributesBuilder.schema)).map((e=>e.toJSON()))}}}),0)},8112:function(e,t,s){var r,i=this&&this.__classPrivateFieldSet||function(e,t,s,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,s):i?i.value=s:t.set(e,s),s},o=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.MatchAttributeRangeBuilder=void 0;const n=s(6528),a=s(2039);class c extends n.ObjectBuilder{constructor(e,t){super(e),r.set(this,void 0),i(this,r,t,"f")}field(e){var t;if(!(null===(t=o(this,r,"f").searchAttributes)||void 0===t?void 0:t.includes(e)))throw new Error(`match_attribute_value field must be a valid search_attribute (${e})`);return this._set("field",e)}greaterThan(e){return this._set("value_gt",e),this._set("value_gte",void 0)}greaterThanEqual(e){return this._set("value_gte",e),this._set("value_gt",void 0)}lowerThan(e){return this._set("value_lt",e),this._set("value_lte",void 0)}lowerThanEqual(e){return this._set("value_lte",e),this._set("value_lt",void 0)}}t.MatchAttributeRangeBuilder=c,r=new WeakMap,c.schema=(0,a.compile)({type:"object",required:["field"],properties:{field:{type:"string"},value_gt:{type:"number"},value_gte:{type:"number"},value_lt:{type:"number"},value_lte:{type:"number"}},anyOf:[{required:["value_gt"]},{required:["value_gte"]},{required:["value_lt"]},{required:["value_lte"]}]})},9505:function(e,t,s){var r,i=this&&this.__classPrivateFieldSet||function(e,