@blotoutio/providers-shop-gpt-sdk 0.72.0 → 1.1.0
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.
- package/index.cjs.js +2460 -1021
- package/index.js +2460 -1021
- package/index.mjs +2460 -1021
- package/package.json +1 -1
- package/stores/shopify/index.cjs.js +5 -2
- package/stores/shopify/index.js +5 -2
- package/stores/shopify/index.mjs +5 -2
package/index.mjs
CHANGED
@@ -38,6 +38,8 @@ const formatMoney = (n, currency, options) => n.toLocaleString('en-US', {
|
|
38
38
|
...options,
|
39
39
|
});
|
40
40
|
|
41
|
+
const delay = (n, resolvedValue) => new Promise((resolve) => setTimeout(() => resolve(resolvedValue), n));
|
42
|
+
|
41
43
|
/**
|
42
44
|
* ISO-3166 2-leter country codes and their names
|
43
45
|
* @see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
|
@@ -298,6 +300,39 @@ const isoCountries = new Map([
|
|
298
300
|
new Set(isoCountries.keys());
|
299
301
|
|
300
302
|
const packageName = 'shopGPT';
|
303
|
+
const previewKeyName = 'previewShopGPT';
|
304
|
+
|
305
|
+
const canLog = () => {
|
306
|
+
try {
|
307
|
+
return localStorage.getItem('edgeTagDebug') === '1';
|
308
|
+
}
|
309
|
+
catch {
|
310
|
+
return false;
|
311
|
+
}
|
312
|
+
};
|
313
|
+
const prefix = `[EdgeTag]`;
|
314
|
+
const logger = {
|
315
|
+
log: (...args) => {
|
316
|
+
if (canLog()) {
|
317
|
+
console.log(prefix, ...args);
|
318
|
+
}
|
319
|
+
},
|
320
|
+
error: (...args) => {
|
321
|
+
if (canLog()) {
|
322
|
+
console.error(prefix, ...args);
|
323
|
+
}
|
324
|
+
},
|
325
|
+
info: (...args) => {
|
326
|
+
if (canLog()) {
|
327
|
+
console.info(prefix, ...args);
|
328
|
+
}
|
329
|
+
},
|
330
|
+
trace: (...args) => {
|
331
|
+
if (canLog()) {
|
332
|
+
console.trace(prefix, ...args);
|
333
|
+
}
|
334
|
+
},
|
335
|
+
};
|
301
336
|
|
302
337
|
var _a$1;
|
303
338
|
const registryKey = Symbol.for('shop-gpt');
|
@@ -326,12 +361,17 @@ const createShopGPTAPI = ({ fetch: fetchImpl = window.fetch, baseURL, userId, st
|
|
326
361
|
const url = new URL(`/providers/shopGPT${path}`, baseURL);
|
327
362
|
return url;
|
328
363
|
};
|
329
|
-
const processQuery = async (query, productHandle) => {
|
364
|
+
const processQuery = async (query, threadId, productHandle) => {
|
330
365
|
var _a;
|
331
366
|
const response = await fetchImpl(getURL('/query'), {
|
332
367
|
method: 'POST',
|
333
368
|
headers: getHeaders(),
|
334
|
-
body: JSON.stringify({
|
369
|
+
body: JSON.stringify({
|
370
|
+
query,
|
371
|
+
timestamp: Date.now(),
|
372
|
+
productHandle,
|
373
|
+
threadId,
|
374
|
+
}),
|
335
375
|
credentials: 'include',
|
336
376
|
});
|
337
377
|
if (!response.ok) {
|
@@ -341,54 +381,71 @@ const createShopGPTAPI = ({ fetch: fetchImpl = window.fetch, baseURL, userId, st
|
|
341
381
|
return {
|
342
382
|
message: data.message,
|
343
383
|
products: (_a = data.products) === null || _a === void 0 ? void 0 : _a.filter((item) => !!item).map((item) => ({ ...item, quantity: 1 })),
|
384
|
+
chatTitle: data.chatTitle,
|
344
385
|
};
|
345
386
|
};
|
346
|
-
const
|
347
|
-
|
387
|
+
const fetchChatHistory = async (threadId) => {
|
388
|
+
if (!threadId) {
|
389
|
+
return [];
|
390
|
+
}
|
391
|
+
const response = await fetchImpl(getURL(`/query-history?threadId=${threadId}`), {
|
348
392
|
method: 'GET',
|
349
393
|
headers: getHeaders(),
|
350
394
|
credentials: 'include',
|
351
395
|
});
|
352
396
|
if (!response.ok) {
|
353
|
-
throw new Error(`Could not fetch query
|
397
|
+
throw new Error(`Could not fetch query history - ${response.status}: ${await response.text()}`);
|
354
398
|
}
|
355
399
|
const data = (await response.json());
|
356
|
-
return data.
|
400
|
+
return data.history;
|
357
401
|
};
|
358
|
-
const
|
359
|
-
const response = await fetchImpl(getURL('/
|
360
|
-
method: '
|
402
|
+
const fetchChatThreads = async () => {
|
403
|
+
const response = await fetchImpl(getURL('/thread'), {
|
404
|
+
method: 'GET',
|
361
405
|
headers: getHeaders(),
|
362
|
-
body: JSON.stringify({ productId }),
|
363
406
|
credentials: 'include',
|
364
407
|
});
|
365
408
|
if (!response.ok) {
|
366
|
-
throw new Error(`Could not fetch
|
409
|
+
throw new Error(`Could not fetch chat threads - ${response.status}: ${await response.text()}`);
|
367
410
|
}
|
368
411
|
const data = (await response.json());
|
369
|
-
return data.
|
412
|
+
return data.threads;
|
370
413
|
};
|
371
|
-
const
|
372
|
-
const response = await fetchImpl(getURL('/
|
373
|
-
method: '
|
414
|
+
const createChatThread = async (payload) => {
|
415
|
+
const response = await fetchImpl(getURL('/thread'), {
|
416
|
+
method: 'POST',
|
374
417
|
headers: getHeaders(),
|
375
418
|
credentials: 'include',
|
419
|
+
body: JSON.stringify({
|
420
|
+
title: payload.title,
|
421
|
+
devContext: payload.devContext,
|
422
|
+
}),
|
376
423
|
});
|
377
424
|
if (!response.ok) {
|
378
|
-
throw new Error(`
|
425
|
+
throw new Error(`Failed to create chat threads - ${response.status}: ${await response.text()}`);
|
379
426
|
}
|
380
427
|
const data = (await response.json());
|
381
|
-
return data
|
428
|
+
return data;
|
382
429
|
};
|
383
430
|
return {
|
384
431
|
processQuery,
|
385
|
-
queryPrompts,
|
386
|
-
initialPrompt,
|
387
432
|
fetchChatHistory,
|
433
|
+
fetchChatThreads,
|
434
|
+
createChatThread,
|
388
435
|
};
|
389
436
|
};
|
390
437
|
|
438
|
+
// eslint-disable-next-line @nx/enforce-module-boundaries
|
391
439
|
const error = (message) => console.error(message);
|
440
|
+
const hasPreviewKey = () => {
|
441
|
+
var _a;
|
442
|
+
try {
|
443
|
+
return ((_a = sessionStorage.getItem(previewKeyName)) !== null && _a !== void 0 ? _a : '0') == '1';
|
444
|
+
}
|
445
|
+
catch {
|
446
|
+
return false;
|
447
|
+
}
|
448
|
+
};
|
392
449
|
const init = (params) => {
|
393
450
|
var _a, _b, _c;
|
394
451
|
if (typeof window == 'undefined' || typeof document == 'undefined') {
|
@@ -408,8 +465,13 @@ const init = (params) => {
|
|
408
465
|
// exit if not in top window
|
409
466
|
return;
|
410
467
|
}
|
411
|
-
const { enabled } = (_c = params.manifest.variables) !== null && _c !== void 0 ? _c : {};
|
412
|
-
|
468
|
+
const { enabled, devMode, merchantUrl, profiles, productHandles, targetPath, uiMode, } = (_c = params.manifest.variables) !== null && _c !== void 0 ? _c : {};
|
469
|
+
let shouldShowUI = enabled;
|
470
|
+
if (!enabled && hasPreviewKey()) {
|
471
|
+
logger.log('Enabling UI in preview mode');
|
472
|
+
shouldShowUI = true;
|
473
|
+
}
|
474
|
+
if (shouldShowUI) {
|
413
475
|
const uiImplementation = window[registryKey].ui;
|
414
476
|
if (!uiImplementation) {
|
415
477
|
error('UI implementation is missing');
|
@@ -423,6 +485,12 @@ const init = (params) => {
|
|
423
485
|
uiImplementation.init({
|
424
486
|
storeAPI,
|
425
487
|
shopGPTAPI,
|
488
|
+
devMode,
|
489
|
+
uiMode,
|
490
|
+
merchantUrl,
|
491
|
+
profiles,
|
492
|
+
productHandles,
|
493
|
+
path: targetPath,
|
426
494
|
});
|
427
495
|
}
|
428
496
|
};
|
@@ -480,114 +548,54 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
480
548
|
* Copyright 2019 Google LLC
|
481
549
|
* SPDX-License-Identifier: BSD-3-Clause
|
482
550
|
*/
|
483
|
-
const t$3=globalThis,e$6=t$3.ShadowRoot&&(void 0===t$3.ShadyCSS||t$3.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$2=Symbol(),o$
|
551
|
+
const t$3=globalThis,e$6=t$3.ShadowRoot&&(void 0===t$3.ShadyCSS||t$3.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$2=Symbol(),o$4=new WeakMap;let n$3 = class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s$2)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e;}get styleSheet(){let t=this.o;const s=this.t;if(e$6&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o$4.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$4.set(s,t));}return t}toString(){return this.cssText}};const r$4=t=>new n$3("string"==typeof t?t:t+"",void 0,s$2),i$3=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[o+1]),t[0]);return new n$3(o,t,s$2)},S$1=(s,o)=>{if(e$6)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement("style"),n=t$3.litNonce;void 0!==n&&o.setAttribute("nonce",n),o.textContent=e.cssText,s.appendChild(o);}},c$2=e$6?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$4(e)})(t):t;
|
484
552
|
|
485
553
|
/**
|
486
554
|
* @license
|
487
555
|
* Copyright 2017 Google LLC
|
488
556
|
* SPDX-License-Identifier: BSD-3-Clause
|
489
|
-
*/const{is:i$2,defineProperty:e$5,getOwnPropertyDescriptor:r$
|
557
|
+
*/const{is:i$2,defineProperty:e$5,getOwnPropertyDescriptor:r$3,getOwnPropertyNames:h$1,getOwnPropertySymbols:o$3,getPrototypeOf:n$2}=Object,a$1=globalThis,c$1=a$1.trustedTypes,l$1=c$1?c$1.emptyScript:"",p$1=a$1.reactiveElementPolyfillSupport,d$1=(t,s)=>t,u$1={toAttribute(t,s){switch(s){case Boolean:t=t?l$1:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t);}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t);}catch(t){i=null;}}return i}},f$1=(t,s)=>!i$2(t,s),y$1={attribute:!0,type:String,converter:u$1,reflect:!1,hasChanged:f$1};Symbol.metadata??=Symbol("metadata"),a$1.litPropertyMetadata??=new WeakMap;let b$1 = class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t);}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y$1){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e$5(this.prototype,t,r);}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r$3(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t;}};return {get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i);},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y$1}static _$Ei(){if(this.hasOwnProperty(d$1("elementProperties")))return;const t=n$2(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties);}static finalize(){if(this.hasOwnProperty(d$1("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d$1("properties"))){const t=this.properties,s=[...h$1(t),...o$3(t)];for(const i of s)this.createProperty(i,t[i]);}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i);}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t);}this.elementStyles=this.finalizeStyles(this.styles);}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(c$2(s));}else void 0!==s&&i.push(c$2(s));return i}static _$Eu(t,s){const i=s.attribute;return !1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev();}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)));}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.();}removeController(t){this._$EO?.delete(t);}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t);}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return S$1(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()));}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()));}attributeChangedCallback(t,s,i){this._$AK(t,i);}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u$1).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null;}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u$1;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null;}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f$1)(this[t],s))return;this.P(t,s,i);}!1===this.isUpdatePending&&(this._$ES=this._$ET());}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t);}async _$ET(){this.isUpdatePending=!0;try{await this._$ES;}catch(t){Promise.reject(t);}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0;}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i);}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU();}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(s);}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t);}_$EU(){this._$AL=new Map,this.isUpdatePending=!1;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return !0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU();}updated(t){}firstUpdated(t){}};b$1.elementStyles=[],b$1.shadowRootOptions={mode:"open"},b$1[d$1("elementProperties")]=new Map,b$1[d$1("finalized")]=new Map,p$1?.({ReactiveElement:b$1}),(a$1.reactiveElementVersions??=[]).push("2.0.4");
|
490
558
|
|
491
559
|
/**
|
492
560
|
* @license
|
493
561
|
* Copyright 2017 Google LLC
|
494
562
|
* SPDX-License-Identifier: BSD-3-Clause
|
495
563
|
*/
|
496
|
-
const t$2=globalThis,i$1=t$2.trustedTypes,s$1=i$1?i$1.createPolicy("lit-html",{createHTML:t=>t}):void 0,e$4="$lit$",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o$
|
497
|
-
|
498
|
-
/**
|
499
|
-
* @license
|
500
|
-
* Copyright 2017 Google LLC
|
501
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
502
|
-
*/class s extends b$1{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=j(i,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1);}render(){return w}}s._$litElement$=!0,s[("finalized")]=!0,globalThis.litElementHydrateSupport?.({LitElement:s});const r$2=globalThis.litElementPolyfillSupport;r$2?.({LitElement:s});(globalThis.litElementVersions??=[]).push("4.0.5");
|
564
|
+
const t$2=globalThis,i$1=t$2.trustedTypes,s$1=i$1?i$1.createPolicy("lit-html",{createHTML:t=>t}):void 0,e$4="$lit$",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o$2="?"+h,n$1=`<${o$2}>`,r$2=document,l=()=>r$2.createComment(""),c=t=>null===t||"object"!=typeof t&&"function"!=typeof t,a=Array.isArray,u=t=>a(t)||"function"==typeof t?.[Symbol.iterator],d="[ \t\n\f\r]",f=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\s"'>=/]+)(${d}*=${d}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),p=/'/g,g=/"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=Symbol.for("lit-noChange"),T=Symbol.for("lit-nothing"),A=new WeakMap,E=r$2.createTreeWalker(r$2,129);function C(t,i){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==s$1?s$1.createHTML(i):i}const P=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?"<svg>":"",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?"!--"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp("</"+u[2],"g")),c=m):void 0!==u[3]&&(c=m):c===m?">"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith("/>")?" ":"";l+=c===f?s+n$1:d>=0?(o.push(a),s.slice(0,d)+e$4+s.slice(d)+h+x):s+h+(-2===d?i:x);}return [C(t,l+(t[s]||"<?>")+(2===i?"</svg>":"")),o]};class V{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=P(t,s);if(this.el=V.createElement(f,n),E.currentNode=this.el.content,2===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes);}for(;null!==(r=E.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e$4)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:"."===e[1]?k:"?"===e[1]?H:"@"===e[1]?I:R}),r.removeAttribute(t);}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i$1?i$1.emptyScript:"";for(let i=0;i<s;i++)r.append(t[i],l()),E.nextNode(),d.push({type:2,index:++c});r.append(t[s],l());}}}else if(8===r.nodeType)if(r.data===o$2)d.push({type:2,index:c});else {let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1;}c++;}}static createElement(t,i){const s=r$2.createElement("template");return s.innerHTML=t,s}}function N(t,i,s=t,e){if(i===w)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=N(t,h._$AS(t,i.values),h,e)),i}class S{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r$2).importNode(i,!0);E.currentNode=e;let h=E.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new M(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new L(h,this,t)),this._$AV.push(i),l=s[++n];}o!==l?.index&&(h=E.nextNode(),o++);}return E.currentNode=r$2,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++;}}class M{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=T,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0;}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=N(this,t,i),c(t)?t===T||null==t||""===t?(this._$AH!==T&&this._$AR(),this._$AH=T):t!==this._$AH&&t!==w&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t);}S(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.S(t));}_(t){this._$AH!==T&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r$2.createTextNode(t)),this._$AH=t;}$(t){const{values:i,_$litType$:s}=t,e="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=V.createElement(C(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else {const t=new S(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t;}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new V(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new M(this.S(l()),this.S(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e);}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i;}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t));}}class R{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=T,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=T;}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=N(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==w,o&&(this._$AH=t);else {const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=N(this,e[s+n],i,n),r===w&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===T?t=T:t!==T&&(t+=(r??"")+h[n+1]),this._$AH[n]=r;}o&&!e&&this.j(t);}j(t){t===T?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"");}}class k extends R{constructor(){super(...arguments),this.type=3;}j(t){this.element[this.name]=t===T?void 0:t;}}class H extends R{constructor(){super(...arguments),this.type=4;}j(t){this.element.toggleAttribute(this.name,!!t&&t!==T);}}class I extends R{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5;}_$AI(t,i=this){if((t=N(this,t,i,0)??T)===w)return;const s=this._$AH,e=t===T&&s!==T||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==T&&(s===T||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t;}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t);}}class L{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){N(this,t);}}const Z=t$2.litHtmlPolyfillSupport;Z?.(V,M),(t$2.litHtmlVersions??=[]).push("3.1.3");const j=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new M(i.insertBefore(l(),t),t,void 0,s??{});}return h._$AI(t),h};
|
503
565
|
|
504
566
|
/**
|
505
567
|
* @license
|
506
568
|
* Copyright 2017 Google LLC
|
507
569
|
* SPDX-License-Identifier: BSD-3-Clause
|
508
|
-
*/
|
509
|
-
const t$1={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e$3=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i;}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}
|
510
|
-
|
511
|
-
/**
|
512
|
-
* @license
|
513
|
-
* Copyright 2018 Google LLC
|
514
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
515
|
-
*/const e$2=e$3(class extends i{constructor(t){if(super(t),t.type!==t$1.ATTRIBUTE||"class"!==t.name||t.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return " "+Object.keys(t).filter((s=>t[s])).join(" ")+" "}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)));}return w}});
|
570
|
+
*/class s extends b$1{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=j(i,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1);}render(){return w}}s._$litElement$=!0,s[("finalized")]=!0,globalThis.litElementHydrateSupport?.({LitElement:s});const r$1=globalThis.litElementPolyfillSupport;r$1?.({LitElement:s});(globalThis.litElementVersions??=[]).push("4.0.5");
|
516
571
|
|
517
572
|
/**
|
518
573
|
* @license
|
519
574
|
* Copyright 2017 Google LLC
|
520
575
|
* SPDX-License-Identifier: BSD-3-Clause
|
521
576
|
*/
|
522
|
-
const t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e);})):customElements.define(t,e);};
|
523
|
-
|
524
|
-
/**
|
525
|
-
* @license
|
526
|
-
* Copyright 2017 Google LLC
|
527
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
528
|
-
*/const o={attribute:!0,type:String,converter:u$1,reflect:!1,hasChanged:f$1},r$1=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),"accessor"===n){const{name:o}=r;return {set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t);},init(e){return void 0!==e&&this.P(o,void 0,t),e}}}if("setter"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t);}}throw Error("Unsupported decorator location: "+n)};function n(t){return (e,o)=>"object"==typeof o?r$1(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}
|
577
|
+
const t$1=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e);})):customElements.define(t,e);};
|
529
578
|
|
530
579
|
/**
|
531
580
|
* @license
|
532
581
|
* Copyright 2017 Google LLC
|
533
582
|
* SPDX-License-Identifier: BSD-3-Clause
|
534
|
-
*/
|
583
|
+
*/const o$1={attribute:!0,type:String,converter:u$1,reflect:!1,hasChanged:f$1},r=(t=o$1,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),"accessor"===n){const{name:o}=r;return {set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t);},init(e){return void 0!==e&&this.P(o,void 0,t),e}}}if("setter"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t);}}throw Error("Unsupported decorator location: "+n)};function n(t){return (e,o)=>"object"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}
|
535
584
|
|
536
585
|
/**
|
537
586
|
* @license
|
538
587
|
* Copyright 2017 Google LLC
|
539
588
|
* SPDX-License-Identifier: BSD-3-Clause
|
540
589
|
*/
|
541
|
-
const e$
|
590
|
+
const e$3=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,c),c);
|
542
591
|
|
543
592
|
/**
|
544
593
|
* @license
|
545
594
|
* Copyright 2017 Google LLC
|
546
595
|
* SPDX-License-Identifier: BSD-3-Clause
|
547
|
-
*/function e(e,r){return (n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}="object"==typeof s?n:i??(()=>{const t=Symbol();return {get(){return this[t]},set(e){this[t]=e;}}})();return e$
|
548
|
-
|
549
|
-
const canLog = () => {
|
550
|
-
try {
|
551
|
-
return localStorage.getItem('edgeTagDebug') === '1';
|
552
|
-
}
|
553
|
-
catch {
|
554
|
-
return false;
|
555
|
-
}
|
556
|
-
};
|
557
|
-
const prefix = `[EdgeTag]`;
|
558
|
-
const logger = {
|
559
|
-
log: (...args) => {
|
560
|
-
if (canLog()) {
|
561
|
-
console.log(prefix, ...args);
|
562
|
-
}
|
563
|
-
},
|
564
|
-
error: (...args) => {
|
565
|
-
if (canLog()) {
|
566
|
-
console.error(prefix, ...args);
|
567
|
-
}
|
568
|
-
},
|
569
|
-
info: (...args) => {
|
570
|
-
if (canLog()) {
|
571
|
-
console.info(prefix, ...args);
|
572
|
-
}
|
573
|
-
},
|
574
|
-
trace: (...args) => {
|
575
|
-
if (canLog()) {
|
576
|
-
console.trace(prefix, ...args);
|
577
|
-
}
|
578
|
-
},
|
579
|
-
};
|
580
|
-
|
581
|
-
const shopGPTStyles = () => i$3 `
|
582
|
-
:host {
|
583
|
-
position: fixed;
|
584
|
-
top: 0;
|
585
|
-
left: 0;
|
586
|
-
height: 100%;
|
587
|
-
width: 100%;
|
588
|
-
z-index: 2147483647;
|
589
|
-
}
|
596
|
+
*/function e$2(e,r){return (n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}="object"==typeof s?n:i??(()=>{const t=Symbol();return {get(){return this[t]},set(e){this[t]=e;}}})();return e$3(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return e$3(n,s,{get(){return o(this)}})}}
|
590
597
|
|
598
|
+
const scrollBarStyles = i$3 `
|
591
599
|
::-webkit-scrollbar {
|
592
600
|
width: 20px;
|
593
601
|
}
|
@@ -606,6 +614,9 @@ const shopGPTStyles = () => i$3 `
|
|
606
614
|
::-webkit-scrollbar-thumb:hover {
|
607
615
|
background-color: #a8bbbf;
|
608
616
|
}
|
617
|
+
`;
|
618
|
+
const shopGPTStyles = i$3 `
|
619
|
+
${scrollBarStyles}
|
609
620
|
|
610
621
|
* {
|
611
622
|
box-sizing: border-box;
|
@@ -617,28 +628,64 @@ const shopGPTStyles = () => i$3 `
|
|
617
628
|
padding: 0;
|
618
629
|
}
|
619
630
|
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
631
|
+
#shop-gpt-dialog-overlay {
|
632
|
+
max-width: 100vw;
|
633
|
+
max-height: 100vh;
|
634
|
+
width: 100%;
|
624
635
|
height: 100%;
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
font-weight: 400;
|
629
|
-
line-height: 21px;
|
636
|
+
margin: 0;
|
637
|
+
padding: 0;
|
638
|
+
border: none;
|
630
639
|
}
|
631
640
|
|
632
|
-
|
633
|
-
|
641
|
+
#shop-gpt-modal {
|
642
|
+
right: 19px;
|
643
|
+
bottom: 28px;
|
644
|
+
height: 80%;
|
645
|
+
width: 35%;
|
646
|
+
min-height: 620px;
|
647
|
+
min-width: 475px;
|
648
|
+
border-radius: 10px;
|
649
|
+
overflow: hidden;
|
650
|
+
box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.12),
|
651
|
+
0px 20px 20px 0px rgba(0, 0, 0, 0.08);
|
652
|
+
position: fixed;
|
653
|
+
z-index: 2000;
|
654
|
+
|
655
|
+
@media screen and (max-width: 768px) {
|
656
|
+
min-height: unset;
|
657
|
+
min-width: unset;
|
658
|
+
width: 90vw;
|
659
|
+
height: 80vh;
|
660
|
+
bottom: 10px;
|
661
|
+
right: 10px;
|
662
|
+
}
|
634
663
|
}
|
635
664
|
|
636
|
-
|
637
|
-
|
638
|
-
|
665
|
+
.chatbot-widget {
|
666
|
+
position: fixed;
|
667
|
+
bottom: 20px;
|
668
|
+
right: 20px;
|
669
|
+
z-index: 1000;
|
670
|
+
|
671
|
+
button {
|
672
|
+
color: #ffffff;
|
673
|
+
border: none;
|
674
|
+
cursor: pointer;
|
675
|
+
width: 56px;
|
676
|
+
height: 56px;
|
677
|
+
background-color: #001531;
|
678
|
+
border-radius: 50%;
|
679
|
+
justify-content: center;
|
680
|
+
align-items: center;
|
681
|
+
box-shadow: 0 0 4px 1px #ffffff;
|
639
682
|
}
|
683
|
+
}
|
684
|
+
|
685
|
+
.mobile-version {
|
686
|
+
display: none;
|
640
687
|
|
641
|
-
|
688
|
+
@media screen and (max-width: 430px) {
|
642
689
|
display: flex;
|
643
690
|
overflow: hidden;
|
644
691
|
height: 100%;
|
@@ -646,566 +693,976 @@ const shopGPTStyles = () => i$3 `
|
|
646
693
|
justify-content: center;
|
647
694
|
align-items: center;
|
648
695
|
padding: 25px;
|
696
|
+
font-weight: 700;
|
649
697
|
}
|
650
698
|
}
|
651
699
|
|
652
|
-
.
|
700
|
+
.shopgpt-container {
|
653
701
|
display: flex;
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
border-bottom: 1px solid #d4d4d8;
|
659
|
-
height: 114px;
|
702
|
+
gap: 1px;
|
703
|
+
background: #dbe2eb;
|
704
|
+
height: 100%;
|
705
|
+
width: 100%;
|
660
706
|
|
661
|
-
|
662
|
-
|
663
|
-
padding: 16px;
|
707
|
+
chat-threads {
|
708
|
+
width: 20%;
|
664
709
|
}
|
665
|
-
}
|
666
710
|
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
font-weight: 700;
|
671
|
-
font-style: normal;
|
672
|
-
line-height: 28px;
|
673
|
-
text-align: left;
|
674
|
-
text-underline-position: from-font;
|
675
|
-
text-decoration-skip-ink: none;
|
676
|
-
margin: 0;
|
677
|
-
}
|
711
|
+
products-section {
|
712
|
+
width: 39%;
|
713
|
+
}
|
678
714
|
|
679
|
-
|
680
|
-
|
681
|
-
|
715
|
+
chat-section {
|
716
|
+
width: 41%;
|
717
|
+
}
|
718
|
+
|
719
|
+
@media screen and (max-width: 430px) {
|
720
|
+
display: none;
|
682
721
|
}
|
683
722
|
}
|
723
|
+
`;
|
684
724
|
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
725
|
+
/**
|
726
|
+
* @license
|
727
|
+
* Copyright 2017 Google LLC
|
728
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
729
|
+
*/
|
730
|
+
const t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e$1=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i;}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}
|
731
|
+
|
732
|
+
/**
|
733
|
+
* @license
|
734
|
+
* Copyright 2018 Google LLC
|
735
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
736
|
+
*/const e=e$1(class extends i{constructor(t$1){if(super(t$1),t$1.type!==t.ATTRIBUTE||"class"!==t$1.name||t$1.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return " "+Object.keys(t).filter((s=>t[s])).join(" ")+" "}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)));}return w}});
|
737
|
+
|
738
|
+
/**
|
739
|
+
* @license
|
740
|
+
* Copyright 2021 Google LLC
|
741
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
742
|
+
*/
|
743
|
+
function*o(o,f){if(void 0!==o){let i=0;for(const t of o)yield f(t,i++);}}
|
744
|
+
|
745
|
+
const sendFilledIcon = b `
|
746
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
747
|
+
<g clip-path="url(#clip0_12481_1826)">
|
748
|
+
<path d="M21.7872 11.3331L5.28724 3.08312C5.15792 3.01844 5.01266 2.99253 4.86895 3.00849C4.72524 3.02446 4.58921 3.08163 4.47724 3.17312C4.37031 3.26273 4.2905 3.3804 4.24677 3.5129C4.20305 3.64539 4.19715 3.78745 4.22974 3.92312L6.21724 11.2506H14.6997V12.7506H6.21724L4.19974 20.0556C4.16916 20.1689 4.16559 20.2878 4.18932 20.4027C4.21305 20.5176 4.26341 20.6254 4.33636 20.7173C4.40931 20.8092 4.50281 20.8827 4.60934 20.9319C4.71587 20.9811 4.83247 21.0047 4.94974 21.0006C5.06715 20.9999 5.18275 20.9717 5.28724 20.9181L21.7872 12.6681C21.9101 12.6052 22.0132 12.5096 22.0852 12.3918C22.1572 12.274 22.1953 12.1386 22.1953 12.0006C22.1953 11.8626 22.1572 11.7272 22.0852 11.6094C22.0132 11.4917 21.9101 11.3961 21.7872 11.3331Z" fill="white"/>
|
749
|
+
</g>
|
750
|
+
<defs>
|
751
|
+
<clipPath id="clip0_12481_1826">
|
752
|
+
<rect width="24" height="24" fill="white"/>
|
753
|
+
</clipPath>
|
754
|
+
</defs>
|
755
|
+
</svg>
|
756
|
+
`;
|
757
|
+
const chatIcon = b `<svg focusable="false" preserveAspectRatio="xMidYMid meet" fill="currentColor" width="16" height="16" viewBox="0 0 32 32" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><path d="M16 19a6.9908 6.9908 0 01-5.833-3.1287l1.666-1.1074a5.0007 5.0007 0 008.334 0l1.666 1.1074A6.9908 6.9908 0 0116 19zM20 8a2 2 0 102 2A1.9806 1.9806 0 0020 8zM12 8a2 2 0 102 2A1.9806 1.9806 0 0012 8z"></path><path d="M17.7358,30,16,29l4-7h6a1.9966,1.9966,0,0,0,2-2V6a1.9966,1.9966,0,0,0-2-2H6A1.9966,1.9966,0,0,0,4,6V20a1.9966,1.9966,0,0,0,2,2h9v2H6a3.9993,3.9993,0,0,1-4-4V6A3.9988,3.9988,0,0,1,6,2H26a3.9988,3.9988,0,0,1,4,4V20a3.9993,3.9993,0,0,1-4,4H21.1646Z"></path></svg>`;
|
758
|
+
const botIcon = b `
|
759
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="18" viewBox="0 0 12 18" fill="none">
|
760
|
+
<g clip-path="url(#clip0_12438_1597)">
|
761
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.0703335 0.211252C0.0351569 0.281773 0.0351562 0.374089 0.0351562 0.55872V17.2552C0.0351562 17.4398 0.0351569 17.5321 0.0703335 17.6026C0.101276 17.6647 0.150648 17.7151 0.211375 17.7468C0.280413 17.7826 0.37079 17.7826 0.551541 17.7826H1.75313C1.93388 17.7826 2.02425 17.7826 2.09329 17.7468C2.15402 17.7151 2.20339 17.6647 2.23433 17.6026C2.26951 17.5321 2.26951 17.4398 2.26951 17.2552V16.6659C3.28957 17.5011 4.58438 18.0007 5.99343 18.0007C9.2841 18.0007 11.9517 15.2758 11.9517 11.9145C11.9517 8.55319 9.2841 5.82832 5.99343 5.82832C4.58438 5.82832 3.28957 6.32793 2.26951 7.1632V0.55872C2.26951 0.374089 2.26951 0.281773 2.23433 0.211252C2.20339 0.149221 2.15402 0.0987883 2.09329 0.0671818C2.02425 0.03125 1.93388 0.03125 1.75313 0.03125H0.551541C0.37079 0.03125 0.280413 0.03125 0.211375 0.0671818C0.150648 0.0987883 0.101276 0.149221 0.0703335 0.211252ZM2.26951 11.9145C2.26951 14.0154 3.93677 15.7184 5.99343 15.7184C8.05007 15.7184 9.71735 14.0154 9.71735 11.9145C9.71735 9.81372 8.05007 8.11064 5.99343 8.11064C3.93677 8.11064 2.26951 9.81372 2.26951 11.9145Z" fill="#F25C2B"/>
|
762
|
+
</g>
|
763
|
+
<defs>
|
764
|
+
<clipPath id="clip0_12438_1597">
|
765
|
+
<rect width="12" height="18" fill="white"/>
|
766
|
+
</clipPath>
|
767
|
+
</defs>
|
768
|
+
</svg>
|
769
|
+
`;
|
770
|
+
const cursorBtn = b `<svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" viewBox="0 0 56 56" fill="none">
|
771
|
+
<path d="M47.8458 21.1038L9.34579 7.10383C9.03323 6.99108 8.69504 6.96965 8.37074 7.04203C8.04645 7.11441 7.74947 7.27761 7.51452 7.51256C7.27957 7.74751 7.11636 8.0445 7.04398 8.36879C6.9716 8.69308 6.99304 9.03128 7.10579 9.34383L21.1058 47.8438C21.2281 48.1821 21.4516 48.4744 21.7459 48.6811C22.0403 48.8877 22.3911 48.9987 22.7508 48.9988C23.1013 48.9992 23.4438 48.8943 23.734 48.6977C24.0241 48.5011 24.2486 48.2219 24.3783 47.8963L31.0983 31.0963L47.8983 24.3763C48.2303 24.2504 48.5162 24.0264 48.7179 23.7342C48.9196 23.4419 49.0277 23.0952 49.0277 22.7401C49.0277 22.385 48.9196 22.0383 48.7179 21.746C48.5162 21.4537 48.2303 21.2298 47.8983 21.1038H47.8458ZM29.1033 28.1038L28.4033 28.3838L28.1233 29.0838L22.7508 42.3488L11.6733 11.6713L42.3508 22.7488L29.1033 28.1038Z" fill="#172A41"/>
|
772
|
+
</svg>`;
|
773
|
+
const closeBtn = b `<svg xmlns="http://www.w3.org/2000/svg" width="36" height="37" viewBox="0 0 36 37" fill="none">
|
774
|
+
<path d="M27 11.075L25.425 9.5L18 16.925L10.575 9.5L9 11.075L16.425 18.5L9 25.925L10.575 27.5L18 20.075L25.425 27.5L27 25.925L19.575 18.5L27 11.075Z" fill="#A3B2C6"/>
|
775
|
+
</svg>`;
|
776
|
+
const leftBtn = b `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
777
|
+
<path d="M6.64645 2.64645L6.9954 2.2975L7.34889 2.64184L8.06389 3.33834L8.42613 3.69121L8.06918 4.04942L5.12908 7H14H14.5V7.5V8.5V9H14H5.1329L8.06839 11.9328L8.42264 12.2867L8.06818 12.6404L7.35318 13.3539L6.99963 13.7067L6.64645 13.3536L1.64645 8.35355L1.29289 8L1.64645 7.64645L6.64645 2.64645Z" fill="#4E647F" stroke="#4E647F"/>
|
778
|
+
</svg>`;
|
779
|
+
const rightBtn = b `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
780
|
+
<path d="M9.35355 2.64645L9.0046 2.2975L8.65111 2.64184L7.93611 3.33834L7.57387 3.69121L7.93082 4.04942L10.8709 7H2H1.5V7.5V8.5V9H2H10.8671L7.93161 11.9328L7.57736 12.2867L7.93182 12.6404L8.64682 13.3539L9.00037 13.7067L9.35355 13.3536L14.3536 8.35355L14.7071 8L14.3536 7.64645L9.35355 2.64645Z" fill="#4E647F" stroke="#4E647F"/>
|
781
|
+
</svg>`;
|
782
|
+
const searchIcon = b `<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" fill="none">
|
783
|
+
<path d="M32 54C27.6488 54 23.3953 52.7097 19.7775 50.2923C16.1596 47.875 13.3398 44.439 11.6747 40.419C10.0095 36.3991 9.57386 31.9756 10.4227 27.708C11.2716 23.4404 13.3669 19.5204 16.4437 16.4437C19.5204 13.3669 23.4404 11.2716 27.708 10.4227C31.9756 9.57386 36.3991 10.0095 40.419 11.6747C44.439 13.3398 47.875 16.1596 50.2923 19.7775C52.7097 23.3953 54 27.6488 54 32C53.9931 37.8327 51.6731 43.4244 47.5488 47.5488C43.4244 51.6731 37.8327 53.9931 32 54ZM32 14C28.4399 14 24.9598 15.0557 21.9997 17.0336C19.0397 19.0114 16.7326 21.8226 15.3702 25.1117C14.0078 28.4008 13.6513 32.02 14.3459 35.5116C15.0404 39.0033 16.7547 42.2106 19.2721 44.7279C21.7894 47.2453 24.9967 48.9596 28.4884 49.6541C31.98 50.3487 35.5992 49.9922 38.8883 48.6298C42.1774 47.2675 44.9886 44.9604 46.9665 42.0003C48.9443 39.0402 50 35.5601 50 32C49.9947 27.2277 48.0966 22.6524 44.7221 19.2779C41.3476 15.9034 36.7723 14.0053 32 14Z" fill="#172A41"/>
|
784
|
+
<path d="M44 34C43.4696 34 42.9609 33.7893 42.5858 33.4142C42.2107 33.0391 42 32.5304 42 32C41.9968 29.3488 40.9422 26.8071 39.0676 24.9324C37.1929 23.0578 34.6512 22.0032 32 22C31.4696 22 30.9609 21.7893 30.5858 21.4142C30.2107 21.0391 30 20.5304 30 20C30 19.4696 30.2107 18.9609 30.5858 18.5858C30.9609 18.2107 31.4696 18 32 18C35.7117 18.0042 39.2702 19.4806 41.8948 22.1052C44.5194 24.7298 45.9958 28.2883 46 32C46 32.5304 45.7893 33.0391 45.4142 33.4142C45.0391 33.7893 44.5304 34 44 34Z" fill="#F25C2B"/>
|
785
|
+
<path d="M59.9997 62.0007C59.4693 62.0006 58.9607 61.7898 58.5857 61.4147L48.9657 51.7947C48.78 51.6086 48.6328 51.3878 48.5324 51.1448C48.4321 50.9019 48.3806 50.6415 48.3809 50.3786C48.3811 50.1157 48.4332 49.8555 48.5341 49.6127C48.6349 49.3699 48.7826 49.1494 48.9687 48.9637C49.1548 48.778 49.3756 48.6308 49.6186 48.5305C49.8616 48.4301 50.1219 48.3786 50.3848 48.3789C50.6477 48.3792 50.9079 48.4312 51.1507 48.5321C51.3935 48.633 51.614 48.7806 51.7997 48.9667L61.4197 58.5867C61.6997 58.8668 61.8902 59.2237 61.9671 59.6121C62.0441 60.0006 62.004 60.4032 61.8519 60.7688C61.6998 61.1345 61.4426 61.4467 61.1129 61.666C60.7831 61.8853 60.3957 62.0018 59.9997 62.0007Z" fill="#172A41"/>
|
786
|
+
</svg>`;
|
787
|
+
const shopGPTIcon = b `<svg xmlns="http://www.w3.org/2000/svg" width="105" height="36" viewBox="0 0 105 36" fill="none">
|
788
|
+
<path d="M10.1239 4.77861C10.0338 3.97936 9.66197 3.36022 9.00845 2.9212C8.35493 2.47655 7.53239 2.25422 6.54084 2.25422C5.83099 2.25422 5.2169 2.36679 4.69859 2.59193C4.18028 2.81144 3.77746 3.11538 3.49014 3.50375C3.20845 3.88649 3.06761 4.3227 3.06761 4.81238C3.06761 5.22326 3.16338 5.57786 3.35493 5.87617C3.55211 6.17448 3.80845 6.42495 4.12394 6.62758C4.44507 6.82458 4.78873 6.99062 5.15493 7.1257C5.52113 7.25516 5.87324 7.3621 6.21127 7.44653L7.90141 7.88555C8.45352 8.02064 9.01972 8.20356 9.6 8.43433C10.1803 8.6651 10.7183 8.96904 11.2141 9.34615C11.7099 9.72326 12.1099 10.1904 12.4141 10.7477C12.7239 11.3049 12.8789 11.9719 12.8789 12.7486C12.8789 13.728 12.6254 14.5976 12.1183 15.3574C11.6169 16.1173 10.8873 16.7167 9.92958 17.1557C8.97746 17.5947 7.82535 17.8143 6.47324 17.8143C5.17746 17.8143 4.05634 17.6088 3.10986 17.1979C2.16338 16.7871 1.42254 16.2045 0.887324 15.4503C0.352113 14.6904 0.056338 13.7899 0 12.7486H2.61972C2.67042 13.3734 2.87324 13.894 3.22817 14.3105C3.58873 14.7214 4.04789 15.0281 4.60563 15.2308C5.16901 15.4278 5.78591 15.5263 6.45634 15.5263C7.19437 15.5263 7.8507 15.4109 8.42535 15.1801C9.00563 14.9437 9.46197 14.6173 9.79437 14.2007C10.1268 13.7786 10.293 13.2861 10.293 12.7233C10.293 12.2111 10.1465 11.7917 9.85352 11.4653C9.5662 11.1388 9.17465 10.8687 8.67887 10.6548C8.18873 10.4409 7.6338 10.2523 7.01408 10.0891L4.96901 9.53189C3.5831 9.15478 2.48451 8.60038 1.67324 7.86867C0.867606 7.13696 0.464789 6.16886 0.464789 4.96435C0.464789 3.9681 0.735211 3.0985 1.27606 2.35553C1.8169 1.61257 2.5493 1.03565 3.47324 0.624766C4.39718 0.208255 5.43944 0 6.6 0C7.77183 0 8.80563 0.205441 9.70141 0.616323C10.6028 1.02721 11.3127 1.59287 11.831 2.31332C12.3493 3.02814 12.6197 3.84991 12.6423 4.77861H10.1239Z" fill="#172A41"/>
|
789
|
+
<path d="M18.1924 9.82739V17.5272H15.6656V0.236398H18.1586V6.66979H18.3191C18.6233 5.97186 19.0881 5.41745 19.7135 5.00657C20.3388 4.59569 21.1557 4.39024 22.1642 4.39024C23.0543 4.39024 23.8318 4.57317 24.4966 4.93902C25.167 5.30488 25.6853 5.85084 26.0515 6.57692C26.4233 7.29737 26.6093 8.19794 26.6093 9.27861V17.5272H24.0825V9.58255C24.0825 8.63133 23.8374 7.894 23.3473 7.37054C22.8571 6.84146 22.1755 6.57692 21.3022 6.57692C20.705 6.57692 20.1698 6.70356 19.6966 6.95685C19.229 7.21013 18.86 7.58161 18.5895 8.07129C18.3247 8.55535 18.1924 9.14071 18.1924 9.82739Z" fill="#172A41"/>
|
790
|
+
<path d="M35.3178 17.7889C34.1009 17.7889 33.0389 17.5103 32.1319 16.9531C31.2248 16.3959 30.5206 15.6163 30.0192 14.6144C29.5178 13.6126 29.2671 12.4418 29.2671 11.1023C29.2671 9.75704 29.5178 8.58068 30.0192 7.57317C30.5206 6.56567 31.2248 5.7833 32.1319 5.22608C33.0389 4.66886 34.1009 4.39024 35.3178 4.39024C36.5347 4.39024 37.5967 4.66886 38.5037 5.22608C39.4108 5.7833 40.115 6.56567 40.6164 7.57317C41.1178 8.58068 41.3685 9.75704 41.3685 11.1023C41.3685 12.4418 41.1178 13.6126 40.6164 14.6144C40.115 15.6163 39.4108 16.3959 38.5037 16.9531C37.5967 17.5103 36.5347 17.7889 35.3178 17.7889ZM35.3263 15.6698C36.115 15.6698 36.7685 15.4615 37.2868 15.045C37.8051 14.6285 38.1882 14.0741 38.4361 13.3818C38.6896 12.6895 38.8164 11.9268 38.8164 11.0938C38.8164 10.2664 38.6896 9.50657 38.4361 8.81426C38.1882 8.11632 37.8051 7.55629 37.2868 7.13415C36.7685 6.71201 36.115 6.50094 35.3263 6.50094C34.5319 6.50094 33.8727 6.71201 33.3488 7.13415C32.8305 7.55629 32.4446 8.11632 32.191 8.81426C31.9432 9.50657 31.8192 10.2664 31.8192 11.0938C31.8192 11.9268 31.9432 12.6895 32.191 13.3818C32.4446 14.0741 32.8305 14.6285 33.3488 15.045C33.8727 15.4615 34.5319 15.6698 35.3263 15.6698Z" fill="#172A41"/>
|
791
|
+
<path d="M44.058 22.3902V4.5591H46.5257V6.66135H46.7369C46.8834 6.39118 47.0947 6.0788 47.3707 5.7242C47.6468 5.36961 48.0299 5.06004 48.52 4.7955C49.0102 4.52533 49.6581 4.39024 50.4637 4.39024C51.5116 4.39024 52.4468 4.65478 53.2693 5.18387C54.0919 5.71295 54.7369 6.47561 55.2045 7.47186C55.6778 8.46811 55.9144 9.66698 55.9144 11.0685C55.9144 12.47 55.6806 13.6717 55.213 14.6735C54.7454 15.6698 54.1031 16.4381 53.2862 16.9784C52.4693 17.5131 51.5369 17.7805 50.489 17.7805C49.7003 17.7805 49.0552 17.6482 48.5538 17.3837C48.058 17.1191 47.6693 16.8096 47.3876 16.455C47.1059 16.1004 46.889 15.7852 46.7369 15.5094H46.5848V22.3902H44.058ZM46.5341 11.0432C46.5341 11.955 46.6665 12.7542 46.9313 13.4409C47.1961 14.1276 47.5792 14.6651 48.0806 15.0535C48.582 15.4362 49.1961 15.6276 49.9228 15.6276C50.6778 15.6276 51.3088 15.4278 51.8158 15.0281C52.3228 14.6229 52.7059 14.0741 52.9651 13.3818C53.2299 12.6895 53.3623 11.9099 53.3623 11.0432C53.3623 10.1876 53.2327 9.41932 52.9735 8.73827C52.72 8.05722 52.3369 7.5197 51.8242 7.1257C51.3172 6.73171 50.6834 6.53471 49.9228 6.53471C49.1904 6.53471 48.5707 6.72326 48.0637 7.10038C47.5623 7.47749 47.182 8.00375 46.9228 8.67917C46.6637 9.3546 46.5341 10.1426 46.5341 11.0432Z" fill="#172A41"/>
|
792
|
+
<path d="M70.53 5.69887C70.3666 5.18668 70.1469 4.72795 69.8708 4.3227C69.6004 3.91182 69.2765 3.56285 68.899 3.2758C68.5215 2.98311 68.0905 2.76079 67.606 2.60882C67.1272 2.45685 66.6004 2.38086 66.0258 2.38086C65.0511 2.38086 64.1722 2.63133 63.3891 3.13227C62.606 3.63321 61.9863 4.36773 61.53 5.33583C61.0793 6.29831 60.8539 7.47749 60.8539 8.87336C60.8539 10.2749 61.0821 11.4597 61.5384 12.4278C61.9948 13.3959 62.6201 14.1304 63.4145 14.6313C64.2089 15.1323 65.1131 15.3827 66.1272 15.3827C67.068 15.3827 67.8877 15.1914 68.5863 14.8086C69.2905 14.4259 69.8342 13.8856 70.2173 13.1876C70.606 12.4841 70.8004 11.6567 70.8004 10.7054L71.4765 10.8321H66.5243V8.67917H73.3272V10.6463C73.3272 12.0985 73.0173 13.3593 72.3976 14.4287C71.7835 15.4925 70.9328 16.3143 69.8455 16.894C68.7638 17.4737 67.5243 17.7636 66.1272 17.7636C64.561 17.7636 63.1863 17.4034 62.0032 16.6829C60.8258 15.9625 59.9074 14.9409 59.2483 13.6182C58.5891 12.2899 58.2596 10.7139 58.2596 8.89024C58.2596 7.51126 58.4511 6.27298 58.8342 5.17542C59.2173 4.07786 59.7553 3.14634 60.4483 2.38086C61.1469 1.60976 61.9666 1.02158 62.9074 0.616323C63.8539 0.205441 64.8877 0 66.0089 0C66.9441 0 67.8145 0.137899 68.6201 0.413696C69.4314 0.689493 70.1525 1.08068 70.7835 1.58724C71.4201 2.09381 71.9469 2.69606 72.3638 3.394C72.7807 4.0863 73.0624 4.8546 73.2089 5.69887H70.53Z" fill="#172A41"/>
|
793
|
+
<path d="M76.5111 17.5272V0.236398H82.6801C84.0266 0.236398 85.1421 0.481238 86.0266 0.970919C86.9111 1.4606 87.573 2.13039 88.0125 2.9803C88.4519 3.82458 88.6716 4.7758 88.6716 5.83396C88.6716 6.89775 88.4491 7.8546 88.004 8.7045C87.5646 9.54878 86.8998 10.2186 86.0097 10.7139C85.1252 11.2036 84.0125 11.4484 82.6716 11.4484H78.4294V9.2364H82.435C83.2857 9.2364 83.9759 9.09006 84.5054 8.79737C85.035 8.49906 85.4237 8.09381 85.6716 7.58161C85.9195 7.06942 86.0435 6.48687 86.0435 5.83396C86.0435 5.18105 85.9195 4.60131 85.6716 4.09475C85.4237 3.58818 85.0322 3.19137 84.497 2.90432C83.9674 2.61726 83.2688 2.47373 82.4012 2.47373H79.1223V17.5272H76.5111Z" fill="#172A41"/>
|
794
|
+
<path d="M90.7485 2.48218V0.236398H104.143V2.48218H98.7429V17.5272H96.14V2.48218H90.7485Z" fill="#172A41"/>
|
795
|
+
<path d="M0.269894 36V28.1989H1.34947V29.1186H1.4419C1.50599 29.0004 1.59842 28.8637 1.71919 28.7086C1.83996 28.5535 2.00757 28.418 2.22201 28.3023C2.43644 28.1841 2.71989 28.125 3.07236 28.125C3.53081 28.125 3.93996 28.2407 4.29982 28.4722C4.65968 28.7037 4.9419 29.0373 5.14648 29.4732C5.35352 29.9091 5.45704 30.4336 5.45704 31.0467C5.45704 31.6599 5.35475 32.1856 5.15018 32.6239C4.9456 33.0598 4.66461 33.3959 4.30722 33.6323C3.94982 33.8663 3.5419 33.9832 3.08345 33.9832C2.73838 33.9832 2.45616 33.9254 2.2368 33.8096C2.01989 33.6939 1.84982 33.5585 1.72658 33.4033C1.60335 33.2482 1.50845 33.1103 1.4419 32.9896H1.37535V36H0.269894ZM1.35317 31.0356C1.35317 31.4346 1.41109 31.7842 1.52694 32.0847C1.64278 32.3851 1.81039 32.6203 2.02975 32.7902C2.24912 32.9576 2.51778 33.0413 2.83574 33.0413C3.16602 33.0413 3.44208 32.9539 3.66391 32.7791C3.88574 32.6018 4.05335 32.3617 4.16673 32.0588C4.28257 31.7559 4.34049 31.4149 4.34049 31.0356C4.34049 30.6614 4.2838 30.3252 4.17042 30.0273C4.05951 29.7293 3.8919 29.4941 3.66761 29.3218C3.44577 29.1494 3.16849 29.0632 2.83574 29.0632C2.51532 29.0632 2.24419 29.1457 2.02236 29.3107C1.80299 29.4757 1.63662 29.7059 1.52324 30.0014C1.40986 30.2969 1.35317 30.6417 1.35317 31.0356Z" fill="#4E647F"/>
|
796
|
+
<path d="M8.95679 33.9869C8.4244 33.9869 7.95978 33.865 7.56295 33.6212C7.16612 33.3775 6.85802 33.0364 6.63866 32.5981C6.41929 32.1598 6.30961 31.6476 6.30961 31.0615C6.30961 30.473 6.41929 29.9583 6.63866 29.5175C6.85802 29.0767 7.16612 28.7345 7.56295 28.4907C7.95978 28.2469 8.4244 28.125 8.95679 28.125C9.48919 28.125 9.9538 28.2469 10.3506 28.4907C10.7475 28.7345 11.0556 29.0767 11.2749 29.5175C11.4943 29.9583 11.604 30.473 11.604 31.0615C11.604 31.6476 11.4943 32.1598 11.2749 32.5981C11.0556 33.0364 10.7475 33.3775 10.3506 33.6212C9.9538 33.865 9.48919 33.9869 8.95679 33.9869ZM8.96049 33.0598C9.30556 33.0598 9.59147 32.9687 9.81824 32.7865C10.045 32.6042 10.2126 32.3617 10.3211 32.0588C10.432 31.7559 10.4874 31.4223 10.4874 31.0578C10.4874 30.6958 10.432 30.3634 10.3211 30.0605C10.2126 29.7552 10.045 29.5101 9.81824 29.3255C9.59147 29.1408 9.30556 29.0484 8.96049 29.0484C8.61295 29.0484 8.32457 29.1408 8.09535 29.3255C7.86859 29.5101 7.69975 29.7552 7.58883 30.0605C7.48038 30.3634 7.42616 30.6958 7.42616 31.0578C7.42616 31.4223 7.48038 31.7559 7.58883 32.0588C7.69975 32.3617 7.86859 32.6042 8.09535 32.7865C8.32457 32.9687 8.61295 33.0598 8.96049 33.0598Z" fill="#4E647F"/>
|
797
|
+
<path d="M13.7653 33.8724L12.0942 28.1989H13.2366L14.3495 32.3654H14.405L15.5215 28.1989H16.6639L17.7731 32.3469H17.8285L18.934 28.1989H20.0764L18.409 33.8724H17.2814L16.1278 29.7761H16.0428L14.8893 33.8724H13.7653Z" fill="#4E647F"/>
|
798
|
+
<path d="M23.2693 33.9869C22.7098 33.9869 22.2279 33.8675 21.8237 33.6286C21.422 33.3873 21.1114 33.0487 20.892 32.6129C20.6751 32.1745 20.5667 31.6611 20.5667 31.0726C20.5667 30.4914 20.6751 29.9792 20.892 29.536C21.1114 29.0928 21.417 28.7468 21.8089 28.4981C22.2033 28.2494 22.6642 28.125 23.1917 28.125C23.5121 28.125 23.8227 28.1779 24.1234 28.2838C24.4241 28.3897 24.694 28.5559 24.9331 28.7825C25.1721 29.009 25.3607 29.3033 25.4987 29.6653C25.6367 30.0248 25.7058 30.4619 25.7058 30.9765V31.3681H21.1915V30.5407H24.6225C24.6225 30.2501 24.5633 29.9928 24.445 29.7687C24.3267 29.5422 24.1603 29.3636 23.9459 29.2331C23.7339 29.1026 23.485 29.0373 23.1991 29.0373C22.8885 29.0373 22.6174 29.1137 22.3857 29.2664C22.1565 29.4166 21.979 29.6136 21.8533 29.8574C21.7301 30.0987 21.6684 30.3609 21.6684 30.6441V31.2905C21.6684 31.6697 21.735 31.9923 21.8681 32.2583C22.0036 32.5242 22.1922 32.7274 22.4338 32.8677C22.6753 33.0056 22.9575 33.0746 23.2804 33.0746C23.4899 33.0746 23.6809 33.045 23.8535 32.9859C24.026 32.9244 24.1751 32.8333 24.3008 32.7126C24.4265 32.5919 24.5227 32.443 24.5892 32.2657L25.6355 32.454C25.5517 32.7618 25.4014 33.0315 25.1845 33.263C24.97 33.492 24.7001 33.6705 24.3748 33.7985C24.0519 33.9241 23.6834 33.9869 23.2693 33.9869Z" fill="#4E647F"/>
|
799
|
+
<path d="M26.8014 33.8724V28.1989H27.8699V29.1001H27.9291C28.0326 28.7948 28.215 28.5547 28.4762 28.3799C28.74 28.2026 29.0382 28.1139 29.371 28.1139C29.44 28.1139 29.5213 28.1164 29.615 28.1213C29.7111 28.1262 29.7863 28.1324 29.8405 28.1398V29.1962C29.7961 29.1839 29.7173 29.1703 29.6039 29.1555C29.4905 29.1383 29.3771 29.1297 29.2637 29.1297C29.0025 29.1297 28.7696 29.1851 28.565 29.2959C28.3629 29.4043 28.2027 29.5557 28.0843 29.7502C27.966 29.9423 27.9069 30.1615 27.9069 30.4077V33.8724H26.8014Z" fill="#4E647F"/>
|
800
|
+
<path d="M32.9104 33.9869C32.3509 33.9869 31.8691 33.8675 31.4649 33.6286C31.0631 33.3873 30.7525 33.0487 30.5332 32.6129C30.3163 32.1745 30.2078 31.6611 30.2078 31.0726C30.2078 30.4914 30.3163 29.9792 30.5332 29.536C30.7525 29.0928 31.0582 28.7468 31.4501 28.4981C31.8444 28.2494 32.3053 28.125 32.8328 28.125C33.1532 28.125 33.4638 28.1779 33.7645 28.2838C34.0652 28.3897 34.3351 28.5559 34.5742 28.7825C34.8133 29.009 35.0018 29.3033 35.1399 29.6653C35.2779 30.0248 35.3469 30.4619 35.3469 30.9765V31.3681H30.8326V30.5407H34.2636C34.2636 30.2501 34.2045 29.9928 34.0862 29.7687C33.9678 29.5422 33.8015 29.3636 33.587 29.2331C33.3751 29.1026 33.1261 29.0373 32.8402 29.0373C32.5296 29.0373 32.2585 29.1137 32.0268 29.2664C31.7976 29.4166 31.6201 29.6136 31.4944 29.8574C31.3712 30.0987 31.3096 30.3609 31.3096 30.6441V31.2905C31.3096 31.6697 31.3761 31.9923 31.5092 32.2583C31.6448 32.5242 31.8333 32.7274 32.0749 32.8677C32.3164 33.0056 32.5987 33.0746 32.9215 33.0746C33.1311 33.0746 33.3221 33.045 33.4946 32.9859C33.6671 32.9244 33.8163 32.8333 33.942 32.7126C34.0677 32.5919 34.1638 32.443 34.2303 32.2657L35.2766 32.454C35.1928 32.7618 35.0425 33.0315 34.8256 33.263C34.6112 33.492 34.3413 33.6705 34.0159 33.7985C33.693 33.9241 33.3245 33.9869 32.9104 33.9869Z" fill="#4E647F"/>
|
801
|
+
<path d="M38.5684 33.9832C38.11 33.9832 37.7008 33.8663 37.341 33.6323C36.9836 33.3959 36.7026 33.0598 36.498 32.6239C36.2959 32.1856 36.1948 31.6599 36.1948 31.0467C36.1948 30.4336 36.2971 29.9091 36.5017 29.4732C36.7087 29.0373 36.9922 28.7037 37.3521 28.4722C37.7119 28.2407 38.1198 28.125 38.5758 28.125C38.9283 28.125 39.2117 28.1841 39.4262 28.3023C39.6431 28.418 39.8107 28.5535 39.929 28.7086C40.0498 28.8637 40.1434 29.0004 40.21 29.1186H40.2765V26.3077H41.382V33.8724H40.3024V32.9896H40.21C40.1434 33.1103 40.0473 33.2482 39.9216 33.4033C39.7984 33.5585 39.6283 33.6939 39.4114 33.8096C39.1945 33.9254 38.9135 33.9832 38.5684 33.9832ZM38.8124 33.0413C39.1304 33.0413 39.3991 32.9576 39.6184 32.7902C39.8403 32.6203 40.0079 32.3851 40.1213 32.0847C40.2371 31.7842 40.295 31.4346 40.295 31.0356C40.295 30.6417 40.2383 30.2969 40.1249 30.0014C40.0116 29.7059 39.8452 29.4757 39.6258 29.3107C39.4065 29.1457 39.1353 29.0632 38.8124 29.0632C38.4797 29.0632 38.2024 29.1494 37.9806 29.3218C37.7587 29.4941 37.5911 29.7293 37.4778 30.0273C37.3668 30.3252 37.3114 30.6614 37.3114 31.0356C37.3114 31.4149 37.3681 31.7559 37.4815 32.0588C37.5948 32.3617 37.7624 32.6018 37.9843 32.7791C38.2086 32.9539 38.4846 33.0413 38.8124 33.0413Z" fill="#4E647F"/>
|
802
|
+
<path d="M45.542 33.8724V26.3077H46.6475V29.1186H46.7141C46.7781 29.0004 46.8706 28.8637 46.9913 28.7086C47.1121 28.5535 47.2797 28.418 47.4942 28.3023C47.7086 28.1841 47.9921 28.125 48.3445 28.125C48.803 28.125 49.2121 28.2407 49.572 28.4722C49.9318 28.7037 50.2141 29.0373 50.4186 29.4732C50.6257 29.9091 50.7292 30.4336 50.7292 31.0467C50.7292 31.6599 50.6269 32.1856 50.4223 32.6239C50.2178 33.0598 49.9368 33.3959 49.5794 33.6323C49.222 33.8663 48.8141 33.9832 48.3556 33.9832C48.0105 33.9832 47.7283 33.9254 47.509 33.8096C47.292 33.6939 47.122 33.5585 46.9987 33.4033C46.8755 33.2482 46.7806 33.1103 46.7141 32.9896H46.6216V33.8724H45.542ZM46.6253 31.0356C46.6253 31.4346 46.6832 31.7842 46.7991 32.0847C46.9149 32.3851 47.0825 32.6203 47.3019 32.7902C47.5213 32.9576 47.7899 33.0413 48.1079 33.0413C48.4382 33.0413 48.7142 32.9539 48.9361 32.7791C49.1579 32.6018 49.3255 32.3617 49.4389 32.0588C49.5547 31.7559 49.6126 31.4149 49.6126 31.0356C49.6126 30.6614 49.556 30.3252 49.4426 30.0273C49.3317 29.7293 49.1641 29.4941 48.9398 29.3218C48.7179 29.1494 48.4406 29.0632 48.1079 29.0632C47.7875 29.0632 47.5163 29.1457 47.2945 29.3107C47.0751 29.4757 46.9088 29.7059 46.7954 30.0014C46.682 30.2969 46.6253 30.6417 46.6253 31.0356Z" fill="#4E647F"/>
|
803
|
+
<path d="M52.3452 36C52.1801 36 52.0297 35.9865 51.8942 35.9594C51.7586 35.9347 51.6576 35.9077 51.591 35.8781L51.8572 34.9731C52.0593 35.0273 52.2393 35.0507 52.397 35.0433C52.5547 35.0359 52.694 34.9768 52.8148 34.866C52.938 34.7552 53.0465 34.5742 53.1401 34.3231L53.2769 33.9463L51.1991 28.1989H52.3822L53.8204 32.6018H53.8796L55.3178 28.1989H56.5046L54.1642 34.6296C54.0558 34.9251 53.9178 35.1751 53.7502 35.3795C53.5826 35.5863 53.3829 35.7414 53.1512 35.8449C52.9195 35.9483 52.6509 36 52.3452 36Z" fill="#4E647F"/>
|
804
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M60.5232 25.7954C60.507 25.8274 60.507 25.8693 60.507 25.9532V33.5339C60.507 33.6178 60.507 33.6597 60.5232 33.6917C60.5374 33.7198 60.56 33.7428 60.5879 33.7571C60.6196 33.7734 60.661 33.7734 60.7439 33.7734H61.2952C61.3781 33.7734 61.4196 33.7734 61.4513 33.7571C61.4791 33.7428 61.5018 33.7198 61.516 33.6917C61.5321 33.6597 61.5321 33.6178 61.5321 33.5339V33.2664C62.0001 33.6456 62.5941 33.8724 63.2406 33.8724C64.7502 33.8724 65.9741 32.6352 65.9741 31.1091C65.9741 29.5829 64.7502 28.3457 63.2406 28.3457C62.5941 28.3457 62.0001 28.5726 61.5321 28.9518V25.9532C61.5321 25.8693 61.5321 25.8274 61.516 25.7954C61.5018 25.7672 61.4791 25.7443 61.4513 25.73C61.4196 25.7137 61.3781 25.7137 61.2952 25.7137H60.7439C60.661 25.7137 60.6196 25.7137 60.5879 25.73C60.56 25.7443 60.5374 25.7672 60.5232 25.7954ZM61.5321 31.1091C61.5321 32.0629 62.297 32.8362 63.2406 32.8362C64.1841 32.8362 64.949 32.0629 64.949 31.1091C64.949 30.1552 64.1841 29.382 63.2406 29.382C62.297 29.382 61.5321 30.1552 61.5321 31.1091Z" fill="#F25C2B"/>
|
805
|
+
<path d="M88.2382 28.5703C88.2221 28.6023 88.2221 28.6442 88.2221 28.7281V31.3302C88.2196 31.5036 88.1831 31.675 88.1149 31.8353C88.0442 32.0015 87.9407 32.1525 87.8101 32.2797C87.7732 32.3156 87.7344 32.3494 87.6938 32.381C87.585 32.4797 87.4613 32.5596 87.3276 32.6173C87.1653 32.6873 86.9915 32.7234 86.8158 32.7234C86.6403 32.7234 86.4663 32.6873 86.3041 32.6173C86.1702 32.5595 86.0463 32.4795 85.9374 32.3805C85.897 32.3491 85.8584 32.3154 85.8217 32.2797C85.6911 32.1525 85.5875 32.0015 85.5169 31.8353C85.4487 31.675 85.4124 31.5036 85.41 31.3302L85.4097 28.7282C85.4097 28.6443 85.4096 28.6024 85.3935 28.5704C85.3793 28.5422 85.3567 28.5193 85.3288 28.505C85.2971 28.4887 85.2557 28.4887 85.1727 28.4887H84.6215C84.5386 28.4887 84.4971 28.4887 84.4654 28.505C84.4376 28.5193 84.4149 28.5422 84.4007 28.5704C84.3846 28.6024 84.3846 28.6443 84.3846 28.7282V31.3302C84.3846 31.6628 84.4475 31.9922 84.5697 32.2995C84.5786 32.322 84.5878 32.3443 84.5973 32.3664C84.7182 32.6474 84.8874 32.9033 85.0967 33.1213C85.3224 33.3566 85.5905 33.5431 85.8855 33.6704C86.1804 33.7977 86.4966 33.8633 86.8158 33.8633C87.1351 33.8633 87.4513 33.7977 87.7462 33.6704C88.0412 33.5431 88.3093 33.3566 88.535 33.1213C88.7443 32.9033 88.9135 32.6474 89.0344 32.3664C89.0439 32.3443 89.0531 32.322 89.0621 32.2995C89.1842 31.9922 89.2471 31.6628 89.2471 31.3302V28.7281C89.2471 28.6442 89.2471 28.6023 89.231 28.5703C89.2168 28.5421 89.1941 28.5192 89.1663 28.5049C89.1346 28.4886 89.0931 28.4886 89.0102 28.4886H88.459C88.376 28.4886 88.3346 28.4886 88.3029 28.5049C88.275 28.5192 88.2524 28.5421 88.2382 28.5703Z" fill="#F25C2B"/>
|
806
|
+
<path d="M66.8112 25.9393C66.8112 25.8555 66.8112 25.8136 66.8273 25.7815C66.8415 25.7534 66.8642 25.7305 66.8921 25.7161C66.9237 25.6998 66.9652 25.6998 67.0481 25.6998H67.5994C67.6823 25.6998 67.7238 25.6998 67.7554 25.7161C67.7833 25.7305 67.8059 25.7534 67.8201 25.7815C67.8363 25.8136 67.8363 25.8555 67.8363 25.9393V33.5201C67.8363 33.6039 67.8363 33.6458 67.8201 33.6778C67.8059 33.706 67.7833 33.7289 67.7554 33.7433C67.7238 33.7595 67.6823 33.7595 67.5994 33.7595H67.0481C66.9652 33.7595 66.9237 33.7595 66.8921 33.7433C66.8642 33.7289 66.8415 33.706 66.8273 33.6778C66.8112 33.6458 66.8112 33.6039 66.8112 33.5201V25.9393Z" fill="#F25C2B"/>
|
807
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M71.4069 32.827C72.3504 32.827 73.1154 32.0538 73.1154 31.0999C73.1154 30.1461 72.3504 29.3728 71.4069 29.3728C70.4633 29.3728 69.6984 30.1461 69.6984 31.0999C69.6984 32.0538 70.4633 32.827 71.4069 32.827ZM71.4069 33.8633C72.9166 33.8633 74.1404 32.6261 74.1404 31.0999C74.1404 29.5738 72.9166 28.3366 71.4069 28.3366C69.8972 28.3366 68.6734 29.5738 68.6734 31.0999C68.6734 32.6261 69.8972 33.8633 71.4069 33.8633Z" fill="#F25C2B"/>
|
808
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M80.8045 32.827C81.748 32.827 82.5129 32.0538 82.5129 31.0999C82.5129 30.1461 81.748 29.3728 80.8045 29.3728C79.8609 29.3728 79.096 30.1461 79.096 31.0999C79.096 32.0538 79.8609 32.827 80.8045 32.827ZM80.8045 33.8633C82.3141 33.8633 83.538 32.6261 83.538 31.0999C83.538 29.5738 82.3141 28.3366 80.8045 28.3366C79.2948 28.3366 78.0709 29.5738 78.0709 31.0999C78.0709 32.6261 79.2948 33.8633 80.8045 33.8633Z" fill="#F25C2B"/>
|
809
|
+
<path d="M75.2265 25.6998C75.1436 25.6998 75.1021 25.6998 75.0705 25.7161C75.0426 25.7305 75.02 25.7534 75.0058 25.7815C74.9896 25.8135 74.9896 25.8555 74.9896 25.9393V26.9083H74.6394C74.5593 26.9083 74.5183 26.9086 74.4872 26.9247C74.4593 26.939 74.4367 26.9619 74.4225 26.99C74.4063 27.0221 74.4063 27.064 74.4063 27.1478V27.7051C74.4063 27.7889 74.4063 27.8308 74.4225 27.8628C74.4367 27.891 74.4593 27.9139 74.4872 27.9282C74.5188 27.9446 74.5603 27.9446 74.6432 27.9446H74.9896V32.0994H74.9882C74.9878 32.1063 74.9874 32.1131 74.987 32.12C74.9876 32.1359 74.9885 32.1518 74.9896 32.1676V32.2073L74.9918 32.2072C75.0376 33.0766 75.7476 33.7581 76.6088 33.7595C76.7762 33.7594 76.9423 33.733 77.1013 33.6816C77.1703 33.6593 77.2245 33.5768 77.2243 33.5035L77.2261 32.7371C77.2261 32.7257 77.224 32.7075 77.2211 32.6964C77.2206 32.6945 77.22 32.6924 77.2194 32.6903C77.2148 32.6737 77.2005 32.6492 77.1865 32.6391C77.1828 32.6365 77.1347 32.6088 77.0944 32.6334C77.0512 32.6536 77.0505 32.654 77.0498 32.6543C77.0388 32.6596 77.0016 32.6737 76.9842 32.6839C76.8335 32.7484 76.8109 32.7469 76.7666 32.7532C76.7363 32.7575 76.7058 32.7596 76.6752 32.7596C76.6174 32.7596 76.56 32.752 76.5042 32.7369C76.4485 32.7218 76.3949 32.6993 76.3449 32.6702C76.3181 32.6523 76.2927 32.6326 76.2687 32.6111C76.2546 32.6011 76.241 32.5905 76.2278 32.5793C76.2212 32.5744 76.2146 32.5693 76.2081 32.5641C76.2064 32.5618 76.2047 32.5596 76.203 32.5573C76.0832 32.4441 76.0151 32.2858 76.0147 32.12C76.0151 32.1146 76.0157 32.1092 76.0163 32.1039C76.0157 32.0999 76.0152 32.0959 76.0147 32.092V27.9446H76.9737C77.0566 27.9446 77.0981 27.9446 77.1298 27.9282C77.1576 27.9139 77.1803 27.891 77.1945 27.8628C77.2106 27.8308 77.2106 27.7889 77.2106 27.7051V27.1478C77.2106 27.064 77.2106 27.0221 77.1945 26.99C77.1803 26.9619 77.1576 26.939 77.1298 26.9247C77.0981 26.9083 77.0566 26.9083 76.9737 26.9083H76.0147V25.9393C76.0147 25.8555 76.0147 25.8135 75.9985 25.7815C75.9843 25.7534 75.9617 25.7305 75.9338 25.7161C75.9021 25.6998 75.8607 25.6998 75.7778 25.6998H75.2265Z" fill="#F25C2B"/>
|
810
|
+
<path d="M90.323 25.7117C90.2401 25.7117 90.1986 25.7117 90.1669 25.7281C90.1391 25.7424 90.1165 25.7653 90.1022 25.7934C90.0861 25.8255 90.0861 25.8674 90.0861 25.9512V26.9203H89.7359C89.6558 26.9203 89.6148 26.9205 89.5836 26.9366C89.5558 26.9509 89.5331 26.9738 89.5189 27.002C89.5028 27.034 89.5028 27.0759 89.5028 27.1597V27.717C89.5028 27.8008 89.5028 27.8427 89.5189 27.8748C89.5331 27.9029 89.5558 27.9258 89.5836 27.9402C89.6153 27.9565 89.6568 27.9565 89.7397 27.9565H90.0861V32.1113H90.0847C90.0843 32.1182 90.0838 32.1251 90.0835 32.1319C90.0841 32.1478 90.085 32.1637 90.0861 32.1795V32.2192L90.0883 32.2191C90.1341 33.0885 90.844 33.7701 91.7052 33.7715C91.8727 33.7713 92.0388 33.745 92.1978 33.6936C92.2668 33.6713 92.321 33.5887 92.3208 33.5154L92.3225 32.749C92.3226 32.7376 92.3205 32.7194 92.3176 32.7084C92.317 32.7064 92.3165 32.7043 92.3159 32.7022C92.3113 32.6856 92.297 32.6611 92.283 32.651C92.2793 32.6484 92.2311 32.6207 92.1908 32.6453C92.1477 32.6656 92.147 32.6659 92.1463 32.6662C92.1353 32.6715 92.0981 32.6856 92.0807 32.6958C91.9299 32.7603 91.9074 32.7589 91.8631 32.7651C91.8328 32.7694 91.8023 32.7716 91.7716 32.7716C91.7139 32.7716 91.6565 32.7639 91.6007 32.7488C91.5449 32.7337 91.4914 32.7113 91.4414 32.6821C91.4146 32.6643 91.3891 32.6445 91.3652 32.623C91.3511 32.613 91.3375 32.6024 91.3243 32.5912C91.3176 32.5863 91.3111 32.5812 91.3046 32.576C91.3029 32.5738 91.3012 32.5715 91.2995 32.5692C91.1797 32.456 91.1115 32.2977 91.1112 32.1319C91.1116 32.1265 91.1121 32.1212 91.1127 32.1158C91.1122 32.1118 91.1116 32.1079 91.1112 32.1039V27.9565H92.0702C92.1531 27.9565 92.1946 27.9565 92.2262 27.9402C92.2541 27.9258 92.2767 27.9029 92.2909 27.8748C92.3071 27.8427 92.3071 27.8008 92.3071 27.717V27.1597C92.3071 27.0759 92.3071 27.034 92.2909 27.002C92.2767 26.9738 92.2541 26.9509 92.2262 26.9366C92.1946 26.9203 92.1531 26.9203 92.0702 26.9203H91.1112V25.9512C91.1112 25.8674 91.1112 25.8255 91.095 25.7934C91.0808 25.7653 91.0582 25.7424 91.0303 25.7281C90.9986 25.7117 90.9572 25.7117 90.8743 25.7117H90.323Z" fill="#F25C2B"/>
|
811
|
+
</svg>`;
|
812
|
+
|
813
|
+
const chatThreadsStyles = i$3 `
|
814
|
+
:host {
|
815
|
+
padding: 24px 24px 21px;
|
816
|
+
font-family: 'Inter', sans-serif;
|
817
|
+
font-size: 16px;
|
818
|
+
font-weight: 400;
|
819
|
+
background-color: #fff;
|
820
|
+
|
821
|
+
button {
|
822
|
+
border-style: none;
|
823
|
+
cursor: pointer;
|
824
|
+
}
|
690
825
|
}
|
691
826
|
|
692
|
-
|
693
|
-
width:
|
694
|
-
height: 6px;
|
695
|
-
background-color: #b6b6b6;
|
696
|
-
border-radius: 50%;
|
697
|
-
animation: bounce 1.2s infinite ease-in-out;
|
827
|
+
::-webkit-scrollbar {
|
828
|
+
width: 20px;
|
698
829
|
}
|
699
830
|
|
700
|
-
|
701
|
-
|
831
|
+
::-webkit-scrollbar-track {
|
832
|
+
background-color: transparent;
|
702
833
|
}
|
703
834
|
|
704
|
-
|
705
|
-
|
835
|
+
::-webkit-scrollbar-thumb {
|
836
|
+
background-color: #d6dee1;
|
837
|
+
border-radius: 20px;
|
838
|
+
border: 6px solid transparent;
|
839
|
+
background-clip: content-box;
|
706
840
|
}
|
707
841
|
|
708
|
-
|
709
|
-
|
842
|
+
::-webkit-scrollbar-thumb:hover {
|
843
|
+
background-color: #a8bbbf;
|
710
844
|
}
|
711
845
|
|
712
|
-
|
713
|
-
|
714
|
-
80%,
|
715
|
-
100% {
|
716
|
-
transform: translateY(0);
|
717
|
-
background-color: #b6b6b6;
|
718
|
-
}
|
719
|
-
40% {
|
720
|
-
transform: translateY(-4px);
|
721
|
-
background-color: #8b8b8b;
|
722
|
-
}
|
846
|
+
* {
|
847
|
+
box-sizing: border-box;
|
723
848
|
}
|
724
849
|
|
725
|
-
.
|
726
|
-
|
727
|
-
height:
|
728
|
-
background
|
729
|
-
|
730
|
-
|
731
|
-
align-items: center;
|
732
|
-
justify-content: center;
|
733
|
-
padding: 5px;
|
850
|
+
.line {
|
851
|
+
display: block;
|
852
|
+
height: 1px;
|
853
|
+
background: #dbe2eb;
|
854
|
+
margin: 16px 0;
|
855
|
+
width: 100%;
|
734
856
|
}
|
735
857
|
|
736
|
-
.
|
737
|
-
display: flex;
|
738
|
-
flex: 1;
|
858
|
+
.btn-new-search {
|
739
859
|
width: 100%;
|
740
|
-
|
741
|
-
align
|
742
|
-
justify-content: center;
|
743
|
-
z-index: 5000;
|
860
|
+
padding: 10px;
|
861
|
+
text-align: center;
|
744
862
|
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
border: 5px solid #f9d5ba;
|
750
|
-
border-top: 5px solid #555;
|
751
|
-
width: 30px;
|
752
|
-
height: 30px;
|
753
|
-
margin: 10px;
|
754
|
-
}
|
755
|
-
}
|
863
|
+
border-radius: 5px;
|
864
|
+
background-color: #172a41;
|
865
|
+
box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1),
|
866
|
+
0px 2px 4px -1px rgba(0, 0, 0, 0.06);
|
756
867
|
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
|
868
|
+
color: #fff;
|
869
|
+
line-height: 150%;
|
870
|
+
text-transform: capitalize;
|
871
|
+
|
872
|
+
&:hover {
|
873
|
+
background: #091627;
|
763
874
|
}
|
764
875
|
}
|
765
876
|
|
766
|
-
.
|
767
|
-
|
768
|
-
font-size: 12px;
|
769
|
-
font-weight: 400;
|
770
|
-
font-style: normal;
|
771
|
-
line-height: 12px;
|
772
|
-
text-align: left;
|
773
|
-
text-underline-position: from-font;
|
774
|
-
text-decoration-skip-ink: none;
|
775
|
-
margin: 0;
|
776
|
-
}
|
777
|
-
|
778
|
-
.body {
|
877
|
+
.history {
|
878
|
+
margin-top: 24px;
|
779
879
|
display: flex;
|
780
|
-
flex:
|
880
|
+
flex-direction: column;
|
881
|
+
height: calc(100% - 183px);
|
882
|
+
overflow: hidden;
|
781
883
|
|
782
|
-
|
783
|
-
|
784
|
-
|
884
|
+
.title {
|
885
|
+
color: #677c95;
|
886
|
+
font-weight: 500;
|
887
|
+
text-transform: uppercase;
|
888
|
+
margin: 0 0 12px;
|
889
|
+
max-height: 18px;
|
890
|
+
padding-left: 12px;
|
785
891
|
}
|
786
|
-
}
|
787
892
|
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
line-height: 150%;
|
793
|
-
|
794
|
-
p {
|
795
|
-
margin: 0;
|
893
|
+
.threads {
|
894
|
+
flex: 1;
|
895
|
+
overflow-y: auto;
|
896
|
+
overflow-x: hidden;
|
796
897
|
}
|
797
|
-
}
|
798
|
-
|
799
|
-
.products-section {
|
800
|
-
flex: 1 0 0;
|
801
|
-
display: flex;
|
802
|
-
flex-direction: column;
|
803
|
-
justify-content: center;
|
804
|
-
align-items: center;
|
805
|
-
gap: 1px;
|
806
|
-
border-right: 1px solid #d4d4d8;
|
807
|
-
background: #f5f3ee;
|
808
898
|
|
809
|
-
.
|
810
|
-
|
811
|
-
padding: 24px;
|
899
|
+
.thread-title {
|
900
|
+
color: #172a41;
|
812
901
|
width: 100%;
|
813
|
-
|
814
|
-
|
815
|
-
color: #a49b94;
|
816
|
-
font-size: 18px;
|
817
|
-
font-weight: 700;
|
818
|
-
line-height: 24px;
|
819
|
-
text-transform: uppercase;
|
820
|
-
margin: 0 0 24px;
|
821
|
-
}
|
822
|
-
|
823
|
-
p.no-product-text {
|
824
|
-
color: #000;
|
825
|
-
font-size: 18px;
|
826
|
-
line-height: 24px;
|
827
|
-
opacity: 0.6;
|
828
|
-
}
|
902
|
+
padding: 12px;
|
903
|
+
cursor: pointer;
|
829
904
|
}
|
830
905
|
|
831
|
-
.
|
832
|
-
|
906
|
+
.thread-title.active {
|
907
|
+
border-radius: 5px;
|
908
|
+
background: #f1f4f8;
|
833
909
|
}
|
834
910
|
|
835
|
-
.
|
836
|
-
|
837
|
-
display: none;
|
838
|
-
margin: 16px 0;
|
839
|
-
color: #a49b94;
|
840
|
-
text-align: center;
|
841
|
-
font-size: 14px;
|
842
|
-
font-weight: 700;
|
843
|
-
line-height: 12px;
|
844
|
-
letter-spacing: -0.28px;
|
845
|
-
text-transform: uppercase;
|
911
|
+
.thread-title.disabled {
|
912
|
+
cursor: not-allowed;
|
846
913
|
}
|
914
|
+
}
|
847
915
|
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
z-index: 1;
|
853
|
-
|
854
|
-
.product-section {
|
855
|
-
padding: 16px 16px 0;
|
856
|
-
|
857
|
-
h2 {
|
858
|
-
display: flex;
|
859
|
-
font-size: 12px;
|
860
|
-
font-weight: 700;
|
861
|
-
line-height: 18px;
|
862
|
-
letter-spacing: -0.36px;
|
863
|
-
margin: 0 0 16px;
|
864
|
-
color: #53433a;
|
865
|
-
align-items: center;
|
866
|
-
gap: 16px;
|
867
|
-
|
868
|
-
&::after {
|
869
|
-
content: '';
|
870
|
-
flex-grow: 1;
|
871
|
-
height: 1px;
|
872
|
-
background: #a49b94;
|
873
|
-
}
|
874
|
-
}
|
875
|
-
|
876
|
-
.no-products {
|
877
|
-
display: none;
|
878
|
-
}
|
879
|
-
}
|
880
|
-
|
881
|
-
.product-section.recommended-product h2 {
|
882
|
-
display: none;
|
883
|
-
}
|
916
|
+
.footer {
|
917
|
+
padding: 10px 0 0;
|
918
|
+
color: #4e647f;
|
919
|
+
line-height: 150%;
|
884
920
|
|
885
|
-
|
886
|
-
|
887
|
-
|
888
|
-
|
921
|
+
a {
|
922
|
+
color: #4e647f;
|
923
|
+
text-decoration-line: underline;
|
924
|
+
text-decoration-style: solid;
|
925
|
+
text-decoration-skip-ink: auto;
|
926
|
+
text-decoration-thickness: auto;
|
927
|
+
text-underline-offset: auto;
|
928
|
+
text-underline-position: from-font;
|
889
929
|
}
|
890
930
|
}
|
931
|
+
`;
|
891
932
|
|
892
|
-
|
893
|
-
|
894
|
-
|
933
|
+
let LoadSpinner =
|
934
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
935
|
+
class LoadSpinner extends s {
|
936
|
+
render() {
|
937
|
+
return x ` <div class="loader"><div class="spinner"></div></div> `;
|
895
938
|
}
|
896
|
-
|
897
|
-
|
898
|
-
|
899
|
-
|
900
|
-
|
901
|
-
|
902
|
-
|
903
|
-
|
904
|
-
|
905
|
-
|
906
|
-
|
907
|
-
|
908
|
-
|
909
|
-
|
910
|
-
|
911
|
-
|
912
|
-
|
913
|
-
|
914
|
-
|
915
|
-
|
916
|
-
|
917
|
-
|
918
|
-
/* Replica of TrueClassic */
|
919
|
-
.buy-now-btn {
|
920
|
-
cursor: pointer;
|
921
|
-
padding: 7px 37px;
|
922
|
-
background: #53433a;
|
923
|
-
border-radius: 5px;
|
924
|
-
margin-top: 12px;
|
925
|
-
color: #ffffff;
|
926
|
-
font-size: 18px;
|
927
|
-
line-height: 24px;
|
928
|
-
letter-spacing: -0.35px;
|
929
|
-
border: 0;
|
930
|
-
text-transform: uppercase;
|
931
|
-
|
932
|
-
:hover {
|
933
|
-
background-color: #2e2520;
|
934
|
-
}
|
935
|
-
|
936
|
-
:active {
|
937
|
-
background-color: #0c0a09;
|
939
|
+
};
|
940
|
+
LoadSpinner.styles = [
|
941
|
+
i$3 `
|
942
|
+
.loader {
|
943
|
+
display: flex;
|
944
|
+
flex: 1;
|
945
|
+
width: 100%;
|
946
|
+
height: 100%;
|
947
|
+
align-items: center;
|
948
|
+
justify-content: center;
|
949
|
+
z-index: 5000;
|
950
|
+
|
951
|
+
.spinner {
|
952
|
+
--webkit-animation: spin 1s linear infinite;
|
953
|
+
animation: 1s linear infinite spin;
|
954
|
+
border-radius: 50%;
|
955
|
+
border: 5px solid #f9d5ba;
|
956
|
+
border-top: 5px solid #555;
|
957
|
+
width: 30px;
|
958
|
+
height: 30px;
|
959
|
+
margin: 10px;
|
938
960
|
}
|
939
961
|
}
|
940
962
|
|
941
|
-
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
img {
|
946
|
-
cursor: pointer;
|
947
|
-
width: 170px;
|
948
|
-
height: 213px;
|
949
|
-
}
|
950
|
-
|
951
|
-
.product-name,
|
952
|
-
.product-variation-details {
|
953
|
-
cursor: pointer;
|
954
|
-
font-size: 16px;
|
955
|
-
line-height: 24px;
|
956
|
-
color: #3f3f46;
|
957
|
-
white-space: nowrap;
|
958
|
-
overflow: hidden;
|
959
|
-
text-overflow: ellipsis;
|
960
|
-
margin-bottom: 12px;
|
961
|
-
}
|
962
|
-
}
|
963
|
-
|
964
|
-
@media screen and (max-width: 430px) {
|
965
|
-
border-bottom: unset;
|
966
|
-
|
967
|
-
.product {
|
968
|
-
img {
|
969
|
-
height: 132px;
|
970
|
-
width: 106px;
|
963
|
+
@keyframes spin {
|
964
|
+
0% {
|
965
|
+
transform: rotate(0deg);
|
971
966
|
}
|
972
|
-
|
973
|
-
|
974
|
-
.product-variation-details {
|
975
|
-
margin: 0;
|
967
|
+
100% {
|
968
|
+
transform: rotate(360deg);
|
976
969
|
}
|
977
970
|
}
|
971
|
+
`,
|
972
|
+
];
|
973
|
+
LoadSpinner = __decorate([
|
974
|
+
t$1('load-spinner')
|
975
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
976
|
+
], LoadSpinner);
|
977
|
+
|
978
|
+
let ChatThreads =
|
979
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
980
|
+
class ChatThreads extends s {
|
981
|
+
renderChatThreads() {
|
982
|
+
if (this.isLoading) {
|
983
|
+
return x `<div class="history">
|
984
|
+
<p class="title">History</p>
|
985
|
+
<load-spinner></load-spinner>
|
986
|
+
</div>`;
|
987
|
+
}
|
988
|
+
return x `
|
989
|
+
<div class="history">
|
990
|
+
<p class="title">History</p>
|
991
|
+
${this.chatThreads.size
|
992
|
+
? x `<div class="threads">
|
993
|
+
${o(this.chatThreads.values(), (thread) => x `
|
994
|
+
<div
|
995
|
+
class=${e({
|
996
|
+
'thread-title': true,
|
997
|
+
active: this.selectedThreadId === thread.threadId,
|
998
|
+
disabled: this.isTyping,
|
999
|
+
})}
|
1000
|
+
@click=${async () => {
|
1001
|
+
if (this.isLoading || this.isTyping) {
|
1002
|
+
return;
|
1003
|
+
}
|
1004
|
+
await this.setSelectedThreadId(thread.threadId);
|
1005
|
+
}}
|
1006
|
+
>
|
1007
|
+
${thread.title || 'New Search'}
|
1008
|
+
</div>
|
1009
|
+
`)}
|
1010
|
+
</div>`
|
1011
|
+
: T}
|
1012
|
+
</div>
|
1013
|
+
`;
|
1014
|
+
}
|
1015
|
+
getDomain() {
|
1016
|
+
var _a;
|
1017
|
+
if ((_a = this.merchantUrl) === null || _a === void 0 ? void 0 : _a.startsWith('https://')) {
|
1018
|
+
return this.merchantUrl;
|
1019
|
+
}
|
1020
|
+
return `https://${this.merchantUrl}`;
|
978
1021
|
}
|
1022
|
+
render() {
|
1023
|
+
return x `
|
1024
|
+
<div class="shop-gpt-icon">${shopGPTIcon}</div>
|
1025
|
+
<span class="line"></span>
|
1026
|
+
<button
|
1027
|
+
class="btn-new-search"
|
1028
|
+
@click=${() => this.setSelectedThreadId('')}
|
1029
|
+
>
|
1030
|
+
New Search
|
1031
|
+
</button>
|
1032
|
+
${this.renderChatThreads()}
|
1033
|
+
${this.merchantUrl
|
1034
|
+
? x `<div class="footer">
|
1035
|
+
Catalog:
|
1036
|
+
<a href="${this.getDomain()}" target="_blank">
|
1037
|
+
${this.getDomain().replace('https://', '')}
|
1038
|
+
</a>
|
1039
|
+
</div>`
|
1040
|
+
: T}
|
1041
|
+
`;
|
1042
|
+
}
|
1043
|
+
};
|
1044
|
+
ChatThreads.styles = [chatThreadsStyles];
|
1045
|
+
__decorate([
|
1046
|
+
n({ type: Object }),
|
1047
|
+
__metadata("design:type", Map)
|
1048
|
+
], ChatThreads.prototype, "chatThreads", void 0);
|
1049
|
+
__decorate([
|
1050
|
+
n({ type: String }),
|
1051
|
+
__metadata("design:type", Object)
|
1052
|
+
], ChatThreads.prototype, "merchantUrl", void 0);
|
1053
|
+
__decorate([
|
1054
|
+
n({ type: Boolean }),
|
1055
|
+
__metadata("design:type", Boolean)
|
1056
|
+
], ChatThreads.prototype, "isLoading", void 0);
|
1057
|
+
__decorate([
|
1058
|
+
n({ type: Boolean }),
|
1059
|
+
__metadata("design:type", Boolean)
|
1060
|
+
], ChatThreads.prototype, "isTyping", void 0);
|
1061
|
+
__decorate([
|
1062
|
+
n({ type: String }),
|
1063
|
+
__metadata("design:type", String)
|
1064
|
+
], ChatThreads.prototype, "selectedThreadId", void 0);
|
1065
|
+
ChatThreads = __decorate([
|
1066
|
+
t$1('chat-threads')
|
1067
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1068
|
+
], ChatThreads);
|
1069
|
+
|
1070
|
+
const productsSectionStyles = i$3 `
|
1071
|
+
:host {
|
1072
|
+
padding: 24px 16px;
|
1073
|
+
background-color: #fff;
|
1074
|
+
font-family: 'Inter', sans-serif;
|
1075
|
+
font-size: 16px;
|
1076
|
+
font-weight: 400;
|
979
1077
|
}
|
980
1078
|
|
981
|
-
.
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
|
987
|
-
|
988
|
-
|
989
|
-
|
1079
|
+
.top-result,
|
1080
|
+
.others {
|
1081
|
+
h2 {
|
1082
|
+
color: #677c95;
|
1083
|
+
font-size: 18px;
|
1084
|
+
font-weight: 700px;
|
1085
|
+
line-height: 24px;
|
1086
|
+
text-transform: uppercase;
|
1087
|
+
margin: 0px 0px 16px;
|
990
1088
|
}
|
1089
|
+
}
|
991
1090
|
|
992
|
-
|
993
|
-
|
1091
|
+
.line {
|
1092
|
+
display: block;
|
1093
|
+
height: 1px;
|
1094
|
+
background: #dbe2eb;
|
1095
|
+
margin: 24px 0;
|
1096
|
+
width: 100%;
|
1097
|
+
}
|
994
1098
|
|
995
|
-
|
996
|
-
|
997
|
-
|
1099
|
+
.no-products {
|
1100
|
+
display: flex;
|
1101
|
+
flex-direction: column;
|
1102
|
+
align-items: center;
|
1103
|
+
justify-content: center;
|
1104
|
+
height: 100%;
|
1105
|
+
}
|
1106
|
+
`;
|
998
1107
|
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
1003
|
-
|
1004
|
-
line-height: 24px;
|
1005
|
-
white-space: nowrap;
|
1006
|
-
overflow: hidden;
|
1007
|
-
text-overflow: ellipsis;
|
1008
|
-
}
|
1108
|
+
const productItemStyles = i$3 `
|
1109
|
+
:host {
|
1110
|
+
font-family: 'Inter', sans-serif;
|
1111
|
+
font-size: 16px;
|
1112
|
+
font-weight: 400;
|
1009
1113
|
|
1010
|
-
|
1011
|
-
|
1012
|
-
width: 140px;
|
1013
|
-
height: 175px;
|
1014
|
-
}
|
1114
|
+
p {
|
1115
|
+
margin: 0;
|
1015
1116
|
}
|
1016
1117
|
|
1017
|
-
|
1018
|
-
|
1118
|
+
button {
|
1119
|
+
border-style: none;
|
1120
|
+
cursor: pointer;
|
1121
|
+
}
|
1122
|
+
}
|
1019
1123
|
|
1020
|
-
|
1021
|
-
|
1022
|
-
|
1124
|
+
.product {
|
1125
|
+
display: flex;
|
1126
|
+
gap: 16px;
|
1023
1127
|
|
1024
|
-
|
1025
|
-
|
1128
|
+
img {
|
1129
|
+
width: 150px;
|
1130
|
+
height: 186px;
|
1131
|
+
object-position: center;
|
1132
|
+
object-fit: contain;
|
1133
|
+
cursor: pointer;
|
1134
|
+
}
|
1135
|
+
}
|
1026
1136
|
|
1027
|
-
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
letter-spacing: -0.36px;
|
1032
|
-
margin: 0;
|
1033
|
-
}
|
1137
|
+
.content {
|
1138
|
+
display: flex;
|
1139
|
+
gap: 8px;
|
1140
|
+
flex-direction: column;
|
1034
1141
|
|
1035
|
-
|
1036
|
-
|
1037
|
-
width: 108px;
|
1038
|
-
}
|
1039
|
-
}
|
1142
|
+
*:last-child {
|
1143
|
+
margin-top: auto;
|
1040
1144
|
}
|
1041
1145
|
}
|
1042
1146
|
|
1043
|
-
|
1044
|
-
|
1045
|
-
|
1046
|
-
|
1147
|
+
.product-name {
|
1148
|
+
display: -webkit-box;
|
1149
|
+
color: #3f3f46;
|
1150
|
+
line-height: 150%;
|
1151
|
+
max-width: 100%;
|
1152
|
+
-webkit-line-clamp: 2;
|
1153
|
+
-webkit-box-orient: vertical;
|
1154
|
+
overflow: hidden;
|
1155
|
+
text-overflow: ellipsis;
|
1156
|
+
word-break: break-word;
|
1157
|
+
white-space: normal;
|
1158
|
+
cursor: pointer;
|
1159
|
+
}
|
1160
|
+
|
1161
|
+
.product-variation-details {
|
1162
|
+
color: #3f3f46;
|
1163
|
+
font-weight: 700;
|
1164
|
+
line-height: 150%;
|
1047
1165
|
}
|
1048
1166
|
|
1049
|
-
.
|
1167
|
+
.prices {
|
1050
1168
|
display: flex;
|
1051
1169
|
gap: 0 8px;
|
1052
|
-
line-height: 24px;
|
1053
1170
|
font-weight: 700;
|
1054
|
-
|
1055
|
-
color: #
|
1171
|
+
line-height: 24px;
|
1172
|
+
color: #000;
|
1056
1173
|
|
1057
|
-
.compared
|
1174
|
+
.price-compared {
|
1058
1175
|
color: #a1a1aa;
|
1059
1176
|
text-decoration: line-through;
|
1060
1177
|
}
|
1061
|
-
|
1062
|
-
@media screen and (max-width: 430px) {
|
1063
|
-
font-size: 14px;
|
1064
|
-
line-height: 21px;
|
1065
|
-
}
|
1066
|
-
}
|
1067
|
-
|
1068
|
-
.chatbot-section {
|
1069
|
-
flex: 1;
|
1070
|
-
flex-direction: column;
|
1071
|
-
padding: 10px 24px 24px;
|
1072
|
-
background: #fff;
|
1073
|
-
display: flex;
|
1074
|
-
gap: 25px;
|
1075
|
-
align-self: stretch;
|
1076
|
-
|
1077
|
-
@media screen and (max-width: 430px) {
|
1078
|
-
padding: 10px 16px 16px;
|
1079
|
-
gap: 16px;
|
1080
|
-
}
|
1081
1178
|
}
|
1082
1179
|
|
1083
|
-
.
|
1084
|
-
|
1085
|
-
|
1086
|
-
|
1087
|
-
|
1088
|
-
|
1089
|
-
|
1180
|
+
.btn-view-product {
|
1181
|
+
color: #fff;
|
1182
|
+
line-height: 150%;
|
1183
|
+
text-transform: capitalize;
|
1184
|
+
max-width: 200px;
|
1185
|
+
padding: 10px;
|
1186
|
+
text-align: center;
|
1090
1187
|
|
1091
|
-
|
1092
|
-
|
1093
|
-
|
1094
|
-
|
1095
|
-
overflow-y: auto;
|
1096
|
-
gap: 28px;
|
1097
|
-
max-height: calc(100vh - 211px);
|
1188
|
+
border-radius: 5px;
|
1189
|
+
background: #172a41;
|
1190
|
+
box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1),
|
1191
|
+
0px 2px 4px -1px rgba(0, 0, 0, 0.06);
|
1098
1192
|
|
1099
|
-
|
1100
|
-
|
1101
|
-
gap: 24px;
|
1193
|
+
&:hover {
|
1194
|
+
background: #091627;
|
1102
1195
|
}
|
1103
1196
|
}
|
1104
1197
|
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
.chat-header-sub-title {
|
1109
|
-
margin-bottom: 16px;
|
1198
|
+
@container productContainer (max-width: 150px) {
|
1199
|
+
.btn-view-product {
|
1200
|
+
display: none;
|
1110
1201
|
}
|
1111
1202
|
|
1112
|
-
.
|
1113
|
-
|
1114
|
-
|
1203
|
+
.product {
|
1204
|
+
flex-direction: column;
|
1205
|
+
gap: 0;
|
1115
1206
|
}
|
1116
|
-
}
|
1117
|
-
|
1118
|
-
.bot-message-container {
|
1119
|
-
display: flex;
|
1120
|
-
gap: 0 16px;
|
1121
|
-
}
|
1122
1207
|
|
1123
|
-
|
1124
|
-
|
1125
|
-
|
1126
|
-
}
|
1208
|
+
.content {
|
1209
|
+
gap: 0;
|
1210
|
+
}
|
1127
1211
|
|
1128
|
-
|
1129
|
-
|
1130
|
-
|
1131
|
-
|
1132
|
-
max-width: 45%;
|
1133
|
-
border-radius: 17.5px;
|
1134
|
-
text-align: right;
|
1135
|
-
letter-spacing: -0.32px;
|
1212
|
+
.product-name {
|
1213
|
+
max-width: 150px;
|
1214
|
+
font-size: 14px;
|
1215
|
+
}
|
1136
1216
|
|
1137
|
-
|
1138
|
-
|
1217
|
+
.product-variation-details {
|
1218
|
+
font-size: 14px;
|
1139
1219
|
}
|
1140
1220
|
}
|
1141
1221
|
|
1142
|
-
|
1143
|
-
|
1144
|
-
|
1222
|
+
@container productContainer (max-height: 124px) {
|
1223
|
+
.btn-view-product {
|
1224
|
+
display: none;
|
1225
|
+
}
|
1145
1226
|
|
1146
|
-
|
1147
|
-
|
1227
|
+
.content {
|
1228
|
+
gap: 0;
|
1148
1229
|
}
|
1149
1230
|
|
1150
1231
|
.product {
|
1151
|
-
|
1152
|
-
display: flex;
|
1153
|
-
gap: 12px;
|
1154
|
-
|
1155
|
-
.product-name,
|
1156
|
-
.product-variation-details {
|
1157
|
-
cursor: pointer;
|
1158
|
-
margin-bottom: 8px;
|
1159
|
-
}
|
1232
|
+
gap: 8px;
|
1160
1233
|
|
1161
1234
|
img {
|
1162
|
-
|
1163
|
-
|
1164
|
-
height: 93px;
|
1235
|
+
width: 100px;
|
1236
|
+
height: 124px;
|
1165
1237
|
}
|
1238
|
+
}
|
1166
1239
|
|
1167
|
-
|
1168
|
-
|
1240
|
+
.product-name {
|
1241
|
+
-webkit-line-clamp: 1;
|
1242
|
+
color: #172a41;
|
1243
|
+
}
|
1169
1244
|
|
1170
|
-
|
1171
|
-
|
1172
|
-
margin: 0;
|
1173
|
-
}
|
1174
|
-
}
|
1245
|
+
.product-variation-details {
|
1246
|
+
color: #172a41;
|
1175
1247
|
}
|
1176
1248
|
}
|
1249
|
+
`;
|
1177
1250
|
|
1178
|
-
|
1179
|
-
|
1251
|
+
let ProductItem =
|
1252
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1253
|
+
class ProductItem extends s {
|
1254
|
+
getLocalPrice(price) {
|
1255
|
+
if (!this.siteCurrency) {
|
1256
|
+
return price;
|
1257
|
+
}
|
1258
|
+
const localPrice = parseFloat(price) * this.siteCurrency.rate;
|
1259
|
+
return formatMoney(localPrice, this.siteCurrency.currency);
|
1260
|
+
}
|
1261
|
+
redirect(url) {
|
1262
|
+
var _a;
|
1263
|
+
if (!url) {
|
1264
|
+
return;
|
1265
|
+
}
|
1266
|
+
(_a = open(url, '_blank')) === null || _a === void 0 ? void 0 : _a.focus();
|
1267
|
+
}
|
1268
|
+
render() {
|
1269
|
+
return x `
|
1270
|
+
<div class="product">
|
1271
|
+
<img
|
1272
|
+
src=${this.product.image.url}
|
1273
|
+
alt=${this.product.image.alt}
|
1274
|
+
@click=${() => { var _a; return this.redirect((_a = this.product) === null || _a === void 0 ? void 0 : _a.url); }}
|
1275
|
+
/>
|
1276
|
+
<div class="content">
|
1277
|
+
<p
|
1278
|
+
class="product-name"
|
1279
|
+
title=${this.product.title}
|
1280
|
+
@click=${() => { var _a; return this.redirect((_a = this.product) === null || _a === void 0 ? void 0 : _a.url); }}
|
1281
|
+
>
|
1282
|
+
${this.product.title}
|
1283
|
+
</p>
|
1284
|
+
${this.product.variants[0].selectedOptions.map((option) => x `
|
1285
|
+
<p class="product-variation-details">
|
1286
|
+
${option.name}: ${option.value}
|
1287
|
+
</p>
|
1288
|
+
`)}
|
1289
|
+
<div class="prices">
|
1290
|
+
${this.product.variants[0].comparedAtPrice &&
|
1291
|
+
this.product.variants[0].comparedAtPrice !==
|
1292
|
+
this.product.variants[0].price
|
1293
|
+
? x `<p class="price-compared">
|
1294
|
+
${this.getLocalPrice(this.product.variants[0].comparedAtPrice)}
|
1295
|
+
</p>`
|
1296
|
+
: T}
|
1297
|
+
<p>${this.getLocalPrice(this.product.variants[0].price)}</p>
|
1298
|
+
</div>
|
1299
|
+
<button
|
1300
|
+
class="btn-view-product"
|
1301
|
+
@click=${() => { var _a; return this.redirect((_a = this.product) === null || _a === void 0 ? void 0 : _a.url); }}
|
1302
|
+
>
|
1303
|
+
View Product
|
1304
|
+
</button>
|
1305
|
+
</div>
|
1306
|
+
</div>
|
1307
|
+
`;
|
1308
|
+
}
|
1309
|
+
};
|
1310
|
+
ProductItem.styles = [productItemStyles];
|
1311
|
+
__decorate([
|
1312
|
+
n({ type: Object }),
|
1313
|
+
__metadata("design:type", Object)
|
1314
|
+
], ProductItem.prototype, "product", void 0);
|
1315
|
+
__decorate([
|
1316
|
+
n({ type: Object }),
|
1317
|
+
__metadata("design:type", Object)
|
1318
|
+
], ProductItem.prototype, "siteCurrency", void 0);
|
1319
|
+
ProductItem = __decorate([
|
1320
|
+
t$1('product-item')
|
1321
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1322
|
+
], ProductItem);
|
1323
|
+
|
1324
|
+
const productsListStyles = i$3 `
|
1325
|
+
.products::-webkit-scrollbar {
|
1326
|
+
display: none;
|
1327
|
+
}
|
1328
|
+
|
1329
|
+
.product-container {
|
1330
|
+
flex: 0 0 150px;
|
1331
|
+
container-type: inline-size;
|
1332
|
+
container-name: productContainer;
|
1333
|
+
}
|
1334
|
+
|
1335
|
+
.product-container.modal {
|
1336
|
+
padding: 8px;
|
1337
|
+
margin-bottom: 4px;
|
1338
|
+
border-radius: 10px;
|
1339
|
+
background: #fff;
|
1340
|
+
box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1),
|
1341
|
+
0px 2px 4px -1px rgba(0, 0, 0, 0.06);
|
1342
|
+
}
|
1343
|
+
|
1344
|
+
.products {
|
1345
|
+
flex: 1;
|
1180
1346
|
display: flex;
|
1181
|
-
|
1182
|
-
|
1183
|
-
|
1347
|
+
gap: 24px;
|
1348
|
+
overflow-x: auto;
|
1349
|
+
scrollbar-width: none;
|
1350
|
+
}
|
1351
|
+
|
1352
|
+
.scroll-btns {
|
1353
|
+
display: flex;
|
1354
|
+
gap: 16px;
|
1355
|
+
height: 150px;
|
1356
|
+
flex-direction: column;
|
1357
|
+
justify-content: center;
|
1358
|
+
align-items: flex-start;
|
1359
|
+
flex: 0;
|
1360
|
+
user-select: none;
|
1361
|
+
|
1362
|
+
div {
|
1363
|
+
display: flex;
|
1364
|
+
padding: 10px;
|
1365
|
+
justify-content: center;
|
1366
|
+
align-items: center;
|
1367
|
+
border-radius: 5px;
|
1368
|
+
border: 2px solid #dbe2eb;
|
1369
|
+
background: #fff;
|
1370
|
+
cursor: pointer;
|
1371
|
+
}
|
1372
|
+
|
1373
|
+
.disabled {
|
1374
|
+
opacity: 0.5;
|
1375
|
+
}
|
1376
|
+
}
|
1377
|
+
|
1378
|
+
.products-wrapper {
|
1379
|
+
display: flex;
|
1380
|
+
gap: 24px;
|
1381
|
+
}
|
1382
|
+
`;
|
1383
|
+
|
1384
|
+
let ProductsList =
|
1385
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1386
|
+
class ProductsList extends s {
|
1387
|
+
connectedCallback() {
|
1388
|
+
super.connectedCallback();
|
1389
|
+
}
|
1390
|
+
updateButtonsState() {
|
1391
|
+
if (!this.leftBtnEle || !this.productsEle || !this.rightBtnEle) {
|
1392
|
+
return;
|
1393
|
+
}
|
1394
|
+
this.leftBtnEle.classList.toggle('disabled', this.productsEle.scrollLeft === 0);
|
1395
|
+
const maxScroll = this.productsEle.scrollWidth - this.productsEle.clientWidth;
|
1396
|
+
this.rightBtnEle.classList.toggle('disabled', this.productsEle.scrollLeft >= maxScroll - 1);
|
1397
|
+
}
|
1398
|
+
scrollToLeft(e) {
|
1399
|
+
var _a;
|
1400
|
+
e.preventDefault();
|
1401
|
+
(_a = this.productsEle) === null || _a === void 0 ? void 0 : _a.scrollBy({ left: -186, behavior: 'smooth' });
|
1402
|
+
}
|
1403
|
+
scrollToRight(e) {
|
1404
|
+
var _a;
|
1405
|
+
e.preventDefault();
|
1406
|
+
(_a = this.productsEle) === null || _a === void 0 ? void 0 : _a.scrollBy({ left: 186, behavior: 'smooth' });
|
1407
|
+
}
|
1408
|
+
render() {
|
1409
|
+
return x `
|
1410
|
+
<div class="products-wrapper">
|
1411
|
+
<div class="products" @scroll=${this.updateButtonsState}>
|
1412
|
+
${o(this.products, (product) => x `
|
1413
|
+
<div
|
1414
|
+
class=${e({
|
1415
|
+
'product-container': true,
|
1416
|
+
modal: this.viewType === 'modal',
|
1417
|
+
})}
|
1418
|
+
>
|
1419
|
+
<product-item
|
1420
|
+
.product=${product}
|
1421
|
+
.siteCurrency=${this.siteCurrency}
|
1422
|
+
></product-item>
|
1423
|
+
</div>
|
1424
|
+
`)}
|
1425
|
+
</div>
|
1426
|
+
<div class="scroll-btns">
|
1427
|
+
<div class="left-btn disabled" @click=${this.scrollToLeft}>
|
1428
|
+
${leftBtn}
|
1429
|
+
</div>
|
1430
|
+
<div class="right-btn" @click=${this.scrollToRight}>${rightBtn}</div>
|
1431
|
+
</div>
|
1432
|
+
</div>
|
1433
|
+
`;
|
1434
|
+
}
|
1435
|
+
};
|
1436
|
+
ProductsList.styles = [productsListStyles];
|
1437
|
+
__decorate([
|
1438
|
+
n({ type: Array }),
|
1439
|
+
__metadata("design:type", Array)
|
1440
|
+
], ProductsList.prototype, "products", void 0);
|
1441
|
+
__decorate([
|
1442
|
+
n({ type: Object }),
|
1443
|
+
__metadata("design:type", Object)
|
1444
|
+
], ProductsList.prototype, "siteCurrency", void 0);
|
1445
|
+
__decorate([
|
1446
|
+
e$2('.left-btn'),
|
1447
|
+
__metadata("design:type", Object)
|
1448
|
+
], ProductsList.prototype, "leftBtnEle", void 0);
|
1449
|
+
__decorate([
|
1450
|
+
e$2('.right-btn'),
|
1451
|
+
__metadata("design:type", Object)
|
1452
|
+
], ProductsList.prototype, "rightBtnEle", void 0);
|
1453
|
+
__decorate([
|
1454
|
+
e$2('.products'),
|
1455
|
+
__metadata("design:type", Object)
|
1456
|
+
], ProductsList.prototype, "productsEle", void 0);
|
1457
|
+
ProductsList = __decorate([
|
1458
|
+
t$1('products-list')
|
1459
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1460
|
+
], ProductsList);
|
1461
|
+
|
1462
|
+
let ProductsSection =
|
1463
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1464
|
+
class ProductsSection extends s {
|
1465
|
+
connectedCallback() {
|
1466
|
+
super.connectedCallback();
|
1467
|
+
}
|
1468
|
+
render() {
|
1469
|
+
if (this.isLoadingHistory) {
|
1470
|
+
return x ` <load-spinner></load-spinner> `;
|
1471
|
+
}
|
1472
|
+
if (!this.products.length) {
|
1473
|
+
return x `
|
1474
|
+
<div class="no-products">
|
1475
|
+
<div>${searchIcon}</div>
|
1476
|
+
<p>
|
1477
|
+
Start exploring by typing your query in the search bar on the right.
|
1478
|
+
</p>
|
1479
|
+
</div>
|
1480
|
+
`;
|
1481
|
+
}
|
1482
|
+
const topResult = this.products[0];
|
1483
|
+
const others = this.products.slice(1);
|
1484
|
+
return x `
|
1485
|
+
<div class="top-result">
|
1486
|
+
<h2>Top Result</h2>
|
1487
|
+
<product-item
|
1488
|
+
.product=${topResult}
|
1489
|
+
.siteCurrency=${this.siteCurrency}
|
1490
|
+
></product-item>
|
1491
|
+
</div>
|
1492
|
+
<span class="line"></span>
|
1493
|
+
<div class="others">
|
1494
|
+
<h2>Other Recommendations</h2>
|
1495
|
+
<products-list
|
1496
|
+
.products=${others}
|
1497
|
+
.siteCurrency=${this.siteCurrency}
|
1498
|
+
.viewType=${'overlay'}
|
1499
|
+
></products-list>
|
1500
|
+
</div>
|
1501
|
+
`;
|
1502
|
+
}
|
1503
|
+
};
|
1504
|
+
ProductsSection.styles = [productsSectionStyles];
|
1505
|
+
__decorate([
|
1506
|
+
n({ type: Array }),
|
1507
|
+
__metadata("design:type", Array)
|
1508
|
+
], ProductsSection.prototype, "products", void 0);
|
1509
|
+
__decorate([
|
1510
|
+
n({ type: Boolean }),
|
1511
|
+
__metadata("design:type", Boolean)
|
1512
|
+
], ProductsSection.prototype, "isLoadingHistory", void 0);
|
1513
|
+
__decorate([
|
1514
|
+
n({ type: Object }),
|
1515
|
+
__metadata("design:type", Object)
|
1516
|
+
], ProductsSection.prototype, "siteCurrency", void 0);
|
1517
|
+
__decorate([
|
1518
|
+
e$2('.left-btn'),
|
1519
|
+
__metadata("design:type", Object)
|
1520
|
+
], ProductsSection.prototype, "leftBtnEle", void 0);
|
1521
|
+
__decorate([
|
1522
|
+
e$2('.right-btn'),
|
1523
|
+
__metadata("design:type", Object)
|
1524
|
+
], ProductsSection.prototype, "rightBtnEle", void 0);
|
1525
|
+
__decorate([
|
1526
|
+
e$2('.products'),
|
1527
|
+
__metadata("design:type", Object)
|
1528
|
+
], ProductsSection.prototype, "productsEle", void 0);
|
1529
|
+
ProductsSection = __decorate([
|
1530
|
+
t$1('products-section')
|
1531
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1532
|
+
], ProductsSection);
|
1533
|
+
|
1534
|
+
const chatSectionStyles = i$3 `
|
1535
|
+
:host {
|
1536
|
+
font-family: 'Inter', sans-serif;
|
1537
|
+
font-size: 16px;
|
1538
|
+
font-weight: 400;
|
1539
|
+
|
1540
|
+
h2,
|
1541
|
+
p {
|
1542
|
+
margin: 0;
|
1543
|
+
}
|
1184
1544
|
|
1185
1545
|
button {
|
1186
|
-
|
1546
|
+
border-style: none;
|
1187
1547
|
cursor: pointer;
|
1188
|
-
|
1189
|
-
|
1190
|
-
|
1548
|
+
}
|
1549
|
+
}
|
1550
|
+
|
1551
|
+
.btn {
|
1552
|
+
cursor: pointer;
|
1553
|
+
}
|
1554
|
+
|
1555
|
+
.chat-header {
|
1556
|
+
padding: 24px 16px;
|
1557
|
+
display: flex;
|
1558
|
+
justify-content: space-between;
|
1559
|
+
align-items: center;
|
1560
|
+
border-bottom: 1px solid #dbe2eb;
|
1561
|
+
background: #fff;
|
1562
|
+
height: 28px;
|
1563
|
+
gap: 8px;
|
1564
|
+
|
1565
|
+
h2 {
|
1566
|
+
color: #4e647f;
|
1567
|
+
font-size: 18px;
|
1568
|
+
font-weight: 600;
|
1569
|
+
line-height: 21px;
|
1570
|
+
text-transform: capitalize;
|
1571
|
+
}
|
1572
|
+
|
1573
|
+
.btn-context {
|
1574
|
+
padding: 8px 10px;
|
1575
|
+
border-radius: 5px;
|
1576
|
+
line-height: 150%;
|
1577
|
+
text-transform: capitalize;
|
1578
|
+
color: #8799af;
|
1579
|
+
border: 2px solid #dbe2eb;
|
1191
1580
|
background: #fff;
|
1192
1581
|
}
|
1582
|
+
|
1583
|
+
.btn-context.active {
|
1584
|
+
background: #f25c2b;
|
1585
|
+
padding: 10px 36px;
|
1586
|
+
border: none;
|
1587
|
+
color: #fff;
|
1588
|
+
|
1589
|
+
&:hover {
|
1590
|
+
background: #cd4b27;
|
1591
|
+
}
|
1592
|
+
}
|
1593
|
+
|
1594
|
+
.btns-wrapper {
|
1595
|
+
margin-left: auto;
|
1596
|
+
display: flex;
|
1597
|
+
gap: 16px;
|
1598
|
+
|
1599
|
+
.btn-icon {
|
1600
|
+
border-radius: 50%;
|
1601
|
+
padding: 0;
|
1602
|
+
background: #a3b2c6;
|
1603
|
+
margin: 0;
|
1604
|
+
display: flex;
|
1605
|
+
align-items: center;
|
1606
|
+
justify-content: center;
|
1607
|
+
}
|
1608
|
+
|
1609
|
+
.threads-btn.active {
|
1610
|
+
background: #2b65cf;
|
1611
|
+
opacity: 1;
|
1612
|
+
}
|
1613
|
+
|
1614
|
+
.close-btn:hover {
|
1615
|
+
background: #dc3545;
|
1616
|
+
}
|
1617
|
+
|
1618
|
+
.threads-btn:hover,
|
1619
|
+
.new-search-btn:hover {
|
1620
|
+
background: #2b65cf;
|
1621
|
+
opacity: 0.8;
|
1622
|
+
}
|
1623
|
+
|
1624
|
+
.threads-btn:active,
|
1625
|
+
.new-search-btn:active {
|
1626
|
+
background: #2b65cf;
|
1627
|
+
opacity: 1;
|
1628
|
+
}
|
1629
|
+
}
|
1630
|
+
}
|
1631
|
+
|
1632
|
+
.chatbot-section {
|
1633
|
+
background: #f7f8fa;
|
1634
|
+
height: calc(100% - 113px);
|
1635
|
+
padding: 0px 36px 36px;
|
1636
|
+
|
1637
|
+
flex-direction: column;
|
1638
|
+
display: flex;
|
1639
|
+
gap: 25px;
|
1640
|
+
}
|
1641
|
+
|
1642
|
+
.chatbot-section.modal-view {
|
1643
|
+
height: calc(100% - 121px);
|
1644
|
+
padding: 0px 16px 44px;
|
1645
|
+
gap: 16px;
|
1193
1646
|
}
|
1194
1647
|
|
1195
|
-
.chat-
|
1648
|
+
.chat-form {
|
1196
1649
|
display: flex;
|
1197
1650
|
align-items: center;
|
1198
1651
|
margin: 0;
|
1199
1652
|
|
1200
1653
|
input {
|
1201
1654
|
flex: 1;
|
1202
|
-
height:
|
1203
|
-
padding:
|
1204
|
-
border-radius: 24px;
|
1205
|
-
background: #f1f1f1;
|
1206
|
-
border-style: none;
|
1207
|
-
border: 0px;
|
1655
|
+
height: 55px;
|
1656
|
+
padding: 8px 68px 8px 16px;
|
1208
1657
|
font-size: 16px;
|
1658
|
+
line-height: 150%;
|
1659
|
+
letter-spacing: -0.32px;
|
1660
|
+
|
1661
|
+
background: #fff;
|
1662
|
+
border-radius: 10px;
|
1663
|
+
border: 1px solid #dbe2eb;
|
1664
|
+
box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1),
|
1665
|
+
0px 2px 4px -1px rgba(0, 0, 0, 0.06);
|
1209
1666
|
|
1210
1667
|
&:focus {
|
1211
1668
|
outline-width: 0;
|
@@ -1213,588 +1670,1552 @@ const shopGPTStyles = () => i$3 `
|
|
1213
1670
|
}
|
1214
1671
|
|
1215
1672
|
&::placeholder {
|
1216
|
-
color: #
|
1673
|
+
color: #677c95;
|
1674
|
+
line-height: 150%;
|
1675
|
+
letter-spacing: -0.32px;
|
1217
1676
|
}
|
1218
1677
|
}
|
1219
1678
|
|
1220
1679
|
button {
|
1221
|
-
cursor: pointer;
|
1222
1680
|
position: absolute;
|
1223
|
-
right:
|
1224
|
-
|
1225
|
-
height: 30px;
|
1681
|
+
right: 44px;
|
1682
|
+
padding: 8px;
|
1226
1683
|
display: flex;
|
1227
1684
|
justify-content: center;
|
1228
1685
|
align-items: center;
|
1229
1686
|
border: 0px solid;
|
1230
|
-
border-radius:
|
1231
|
-
background: #
|
1687
|
+
border-radius: 5px;
|
1688
|
+
background: #172a41;
|
1232
1689
|
|
1233
1690
|
&:disabled {
|
1234
1691
|
background: #808080;
|
1692
|
+
cursor: unset;
|
1235
1693
|
}
|
1236
1694
|
}
|
1695
|
+
|
1696
|
+
button.modal {
|
1697
|
+
right: 26px;
|
1698
|
+
}
|
1699
|
+
}
|
1700
|
+
|
1701
|
+
.messages {
|
1702
|
+
flex: 1;
|
1703
|
+
overflow-y: auto;
|
1704
|
+
display: flex;
|
1705
|
+
flex-direction: column-reverse;
|
1706
|
+
gap: 28px;
|
1707
|
+
padding-bottom: 10px;
|
1708
|
+
margin-bottom: -10px;
|
1709
|
+
}
|
1710
|
+
|
1711
|
+
.message {
|
1712
|
+
padding: 16px;
|
1713
|
+
border-radius: 10px;
|
1714
|
+
background: #fff;
|
1715
|
+
box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1),
|
1716
|
+
0px 2px 4px -1px rgba(0, 0, 0, 0.06);
|
1717
|
+
line-height: 21px;
|
1718
|
+
}
|
1719
|
+
|
1720
|
+
.message-wrapper {
|
1721
|
+
display: flex;
|
1722
|
+
flex-direction: column;
|
1723
|
+
gap: 16px;
|
1724
|
+
}
|
1725
|
+
|
1726
|
+
.message.user {
|
1727
|
+
background: #f25c2b;
|
1728
|
+
color: #fff;
|
1729
|
+
max-width: 75%;
|
1730
|
+
align-self: flex-end;
|
1731
|
+
letter-spacing: -0.32px;
|
1237
1732
|
}
|
1238
1733
|
|
1239
|
-
|
1240
|
-
|
1241
|
-
|
1734
|
+
.message.bot {
|
1735
|
+
display: flex;
|
1736
|
+
gap: 16px;
|
1737
|
+
color: #172a41;
|
1738
|
+
|
1739
|
+
.product-container {
|
1740
|
+
height: 124px;
|
1741
|
+
container-type: size;
|
1742
|
+
container-name: productContainer;
|
1743
|
+
overflow: hidden;
|
1242
1744
|
}
|
1243
1745
|
}
|
1244
1746
|
|
1245
|
-
|
1246
|
-
|
1247
|
-
|
1747
|
+
.bot-icon {
|
1748
|
+
display: flex;
|
1749
|
+
padding: 8px 11px;
|
1750
|
+
justify-content: center;
|
1751
|
+
align-items: center;
|
1752
|
+
border-radius: 5px;
|
1753
|
+
border: 1px solid #dbe2eb;
|
1754
|
+
background: #fff;
|
1755
|
+
}
|
1756
|
+
|
1757
|
+
.line {
|
1758
|
+
display: block;
|
1759
|
+
height: 1px;
|
1760
|
+
background: #dbe2eb;
|
1761
|
+
margin: 12px 0;
|
1762
|
+
width: 100%;
|
1763
|
+
}
|
1764
|
+
|
1765
|
+
.context-container {
|
1766
|
+
display: none;
|
1767
|
+
max-width: 384px;
|
1768
|
+
top: 66px;
|
1769
|
+
right: 16px;
|
1770
|
+
position: absolute;
|
1771
|
+
padding: 24px;
|
1772
|
+
border-radius: 10px;
|
1773
|
+
border: 1px solid #dbe2eb;
|
1774
|
+
background: #fff;
|
1775
|
+
box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.1),
|
1776
|
+
0px 4px 6px -2px rgba(0, 0, 0, 0.05);
|
1777
|
+
|
1778
|
+
.context-title {
|
1779
|
+
display: flex;
|
1780
|
+
justify-content: space-between;
|
1781
|
+
height: 24px;
|
1782
|
+
align-items: center;
|
1783
|
+
|
1784
|
+
p {
|
1785
|
+
color: #172a41;
|
1786
|
+
font-size: 20px;
|
1787
|
+
font-weight: 700;
|
1788
|
+
line-height: 24px;
|
1789
|
+
}
|
1248
1790
|
}
|
1249
1791
|
|
1250
|
-
|
1251
|
-
|
1792
|
+
.context {
|
1793
|
+
span {
|
1794
|
+
color: #172a41;
|
1795
|
+
font-weight: 600;
|
1796
|
+
line-height: 150%;
|
1797
|
+
}
|
1798
|
+
|
1799
|
+
.context-type-value {
|
1800
|
+
color: #4e647f;
|
1801
|
+
line-height: 24px;
|
1802
|
+
text-decoration-line: underline;
|
1803
|
+
text-decoration-style: solid;
|
1804
|
+
text-decoration-skip-ink: auto;
|
1805
|
+
text-decoration-thickness: auto;
|
1806
|
+
text-underline-offset: auto;
|
1807
|
+
text-underline-position: from-font;
|
1808
|
+
font-weight: 400;
|
1809
|
+
}
|
1252
1810
|
}
|
1253
|
-
}
|
1254
|
-
`;
|
1255
1811
|
|
1256
|
-
|
1257
|
-
|
1258
|
-
|
1259
|
-
<path id="Vector" d="M18.1564 9.44101L4.40636 2.56601C4.29859 2.51211 4.17754 2.49052 4.05778 2.50382C3.93803 2.51713 3.82467 2.56477 3.73136 2.64101C3.64225 2.71569 3.57574 2.81375 3.5393 2.92416C3.50287 3.03457 3.49795 3.15296 3.52511 3.26601L5.18136 9.37226H12.2501V10.6223H5.18136L3.50011 16.7098C3.47463 16.8042 3.47165 16.9032 3.49143 16.999C3.5112 17.0948 3.55317 17.1846 3.61396 17.2612C3.67475 17.3378 3.75267 17.399 3.84144 17.44C3.93022 17.481 4.02738 17.5006 4.12511 17.4973C4.22295 17.4967 4.31928 17.4731 4.40636 17.4285L18.1564 10.5535C18.2587 10.5011 18.3447 10.4214 18.4046 10.3232C18.4646 10.2251 18.4964 10.1123 18.4964 9.99726C18.4964 9.88223 18.4646 9.76943 18.4046 9.67129C18.3447 9.57314 18.2587 9.49346 18.1564 9.44101Z" fill="white"/>
|
1260
|
-
</g>
|
1261
|
-
<defs>
|
1262
|
-
<clip-path id="clip0_11627_1046">
|
1263
|
-
<rect width="20" height="20" fill="white"/>
|
1264
|
-
</clip-path>
|
1265
|
-
</defs>
|
1266
|
-
</svg>
|
1267
|
-
`;
|
1268
|
-
const botIcon = () => b `
|
1269
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="11" height="14" viewBox="0 0 11 14" fill="none">
|
1270
|
-
<g clip-path="url(#clip0_12070_2097)">
|
1271
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.80568 0.163439C0.778321 0.218288 0.77832 0.29009 0.77832 0.433692V13.4198C0.77832 13.5635 0.778321 13.6352 0.80568 13.6901C0.829747 13.7383 0.868147 13.7776 0.915379 13.8022C0.969076 13.8301 1.03937 13.8301 1.17995 13.8301H2.11452C2.2551 13.8301 2.32539 13.8301 2.37909 13.8022C2.42632 13.7776 2.46473 13.7383 2.48879 13.6901C2.51615 13.6352 2.51615 13.5635 2.51615 13.4198V12.9615C3.30953 13.6111 4.3166 13.9997 5.41254 13.9997C7.97194 13.9997 10.0468 11.8803 10.0468 9.26597C10.0468 6.65162 7.97194 4.53227 5.41254 4.53227C4.3166 4.53227 3.30953 4.92086 2.51615 5.57051V0.433692C2.51615 0.29009 2.51615 0.218288 2.48879 0.163439C2.46473 0.115193 2.42632 0.0759673 2.37909 0.0513845C2.32539 0.0234375 2.2551 0.0234375 2.11452 0.0234375H1.17995C1.03937 0.0234375 0.969076 0.0234375 0.915379 0.0513845C0.868147 0.0759673 0.829747 0.115193 0.80568 0.163439ZM2.51615 9.26597C2.51615 10.9 3.81291 12.2245 5.41254 12.2245C7.01214 12.2245 8.30892 10.9 8.30892 9.26597C8.30892 7.63202 7.01214 6.30741 5.41254 6.30741C3.81291 6.30741 2.51615 7.63202 2.51615 9.26597Z" fill="white"/>
|
1272
|
-
</g>
|
1273
|
-
<defs>
|
1274
|
-
<clipPath id="clip0_12070_2097">
|
1275
|
-
<rect width="9.33333" height="14" fill="white" transform="translate(0.75)"/>
|
1276
|
-
</clipPath>
|
1277
|
-
</defs>
|
1278
|
-
</svg>
|
1279
|
-
`;
|
1280
|
-
const trueClassicIcon = () => b `<svg xmlns="http://www.w3.org/2000/svg" width="83" height="19" viewBox="0 0 83 19" fill="none">
|
1281
|
-
<g clip-path="url(#clip0_12338_9219)">
|
1282
|
-
<mask id="mask0_12338_9219" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="83" height="19">
|
1283
|
-
<path d="M0.875 0.5H83V18.5H0.875V0.5Z" fill="white"/>
|
1284
|
-
</mask>
|
1285
|
-
<g mask="url(#mask0_12338_9219)">
|
1286
|
-
<path d="M0.875 3.15127C1.5699 3.17412 2.26481 3.19696 2.95901 3.21704V18.182C3.81746 18.1453 4.67381 18.1106 5.53226 18.0767V3.29388L7.61627 3.35412V1.12142C5.36731 1.03835 3.12045 0.944193 0.875 0.844501V3.15127ZM15.4294 11.4984C15.4294 10.543 15.0145 9.74619 14.0087 9.3315C14.9394 9.03519 15.4294 8.28404 15.4294 7.35081V4.20427C15.4294 2.4285 14.326 1.35196 12.2939 1.28135C11.0431 1.24119 9.79504 1.19827 8.54421 1.15258V17.9618C9.40056 17.9306 10.259 17.9023 11.1182 17.8739V10.3942H11.7548C12.5389 10.3942 12.8589 10.7819 12.8589 11.5642V15.7042C12.8589 16.5322 12.9081 17.3145 13.1264 17.8109C13.9855 17.7853 14.8419 17.7597 15.7003 17.7368C15.4785 17.2197 15.4294 16.4235 15.4294 15.5782V11.4984ZM12.8561 7.33073C12.8561 7.97596 12.5613 8.31865 11.997 8.31588C11.7029 8.31588 11.4088 8.31588 11.1154 8.30965V3.37696C11.4088 3.3825 11.7029 3.39081 11.997 3.39981C12.562 3.41365 12.8561 3.76465 12.8561 4.41058V7.33073ZM20.8475 14.6761C20.8475 15.304 20.5281 15.7125 19.9659 15.7215C19.4009 15.7298 19.1068 15.3331 19.1068 14.699V1.48073C18.2489 1.46073 17.3912 1.43789 16.5335 1.41219V15.0133C16.5335 16.7856 17.9542 17.8593 19.9659 17.8109C22.0008 17.7624 23.4215 16.6464 23.4215 14.9101V1.58181C22.5623 1.5645 21.7067 1.54442 20.8475 1.52435V14.6761ZM24.6491 17.5367C26.4797 17.5056 28.3097 17.4772 30.1396 17.4571V15.3698C29.1597 15.3788 28.177 15.3871 27.1971 15.3989V10.3229H29.7219V8.23488C28.8796 8.23488 28.0387 8.22935 27.1971 8.22658V3.74735C28.177 3.75842 29.1597 3.77019 30.1396 3.7785V1.69258C28.3093 1.67018 26.4792 1.64064 24.6491 1.60396V17.5367ZM38.1204 1.61227C36.1087 1.60396 34.7133 2.65765 34.7133 4.36419V14.8416C34.7133 16.546 36.1115 17.6025 38.1204 17.5942C40.1546 17.5852 41.4286 16.5232 41.4314 14.825V11.3219H38.9298V14.5647C38.9298 15.176 38.6616 15.5671 38.0973 15.5671C37.5357 15.5671 37.2873 15.1787 37.2873 14.5674V4.63281C37.2873 4.02219 37.5322 3.63381 38.0973 3.63381C38.6588 3.63381 38.9298 4.02773 38.9298 4.63835V7.64158H41.4314V4.37873C41.4314 2.67981 40.1581 1.61781 38.1204 1.6095V1.61227ZM45.1839 1.7895C44.3346 1.7895 43.4838 1.79504 42.6338 1.79504V17.4135C44.4897 17.4135 46.3428 17.4225 48.1987 17.4343V15.3615C47.1928 15.356 46.1869 15.3532 45.1839 15.3497V1.7895ZM60.3033 1.43227C58.2916 1.47519 56.972 2.57735 56.9692 4.29842V6.79488C56.9692 8.01058 57.436 8.60458 58.1709 9.20135C58.9465 9.86388 59.7242 10.532 60.4999 11.2C60.9407 11.6223 61.0874 11.8937 61.0874 12.6075V14.7024C61.0874 15.3283 60.8424 15.7021 60.2773 15.6931C59.7158 15.6848 59.468 15.3054 59.468 14.6823V11.4423L56.9664 11.434V14.8997C56.9664 16.6208 58.2397 17.7202 60.2745 17.7631C62.2863 17.806 63.6578 16.7385 63.6578 14.9828V12.0419C63.6578 10.8061 63.1945 10.2003 62.4561 9.59527C61.6822 8.92683 60.9061 8.26082 60.1278 7.59727C59.687 7.17704 59.5396 6.91188 59.5396 6.20088V4.51304C59.5396 3.88996 59.7853 3.51058 60.3496 3.50227C60.9147 3.49396 61.1597 3.86781 61.1597 4.49296V7.48165L63.6585 7.46504V4.2105C63.6585 2.45758 62.3354 1.38935 60.3005 1.43504L60.3033 1.43227ZM67.9269 1.24396C65.918 1.30419 64.5949 2.44027 64.5928 4.19319V6.73673C64.5928 7.97596 65.0588 8.57827 65.7938 9.18958C66.5694 9.86596 67.3471 10.5451 68.1227 11.2333C68.5635 11.6673 68.7103 11.9443 68.7103 12.6719V14.816C68.7103 15.4557 68.4653 15.8385 67.9009 15.8267C67.3394 15.8157 67.0909 15.4245 67.0909 14.7903V11.479C66.2577 11.4735 65.4252 11.47 64.5921 11.4652V14.9987C64.5921 16.7517 65.8661 17.8857 67.9009 17.9424C69.9098 17.9992 71.2842 16.9178 71.2842 15.1185V12.1014C71.2842 10.8338 70.8174 10.2114 70.0825 9.59181C69.3091 8.90714 68.5327 8.22568 67.7535 7.54742C67.3127 7.11958 67.166 6.84819 67.166 6.12335V4.39881C67.166 3.76465 67.411 3.37073 67.976 3.35965C68.5404 3.34788 68.7854 3.72796 68.7854 4.36765V7.42488C69.6185 7.41935 70.4517 7.41104 71.2842 7.40481V4.06442C71.2842 2.2665 69.9611 1.18096 67.9269 1.24396ZM72.4375 17.894C73.3015 17.9216 74.1691 17.9507 75.0339 17.9826V1.1955C74.1691 1.22665 73.3015 1.25781 72.4375 1.28689V17.894ZM83 7.40481V3.76258C83 1.8615 81.726 0.737193 79.6911 0.825116C77.6822 0.913732 76.2847 2.11835 76.2847 3.94812V15.2307C76.2847 17.0611 77.6794 18.2657 79.6911 18.3543C81.726 18.4457 82.9972 17.318 83 15.419V11.5109L80.5012 11.4853V15.0569C80.5012 15.7277 80.2302 16.1507 79.668 16.1327C79.1036 16.1126 78.8615 15.6793 78.8587 15.014V4.16758C78.8587 3.4995 79.1036 3.06819 79.668 3.04812C80.233 3.0315 80.5012 3.45104 80.5012 4.12465V7.43388L83 7.40758V7.40481ZM52.4467 1.39835C50.4125 1.42396 48.9911 2.51435 48.9911 4.23335V17.437C49.8503 17.4426 50.7094 17.4481 51.5651 17.4599V13.6418L53.3058 13.6508V17.4765C54.165 17.4848 55.0234 17.4959 55.8798 17.5104V4.17865C55.8798 2.44027 54.4584 1.37481 52.4474 1.40112L52.4467 1.39835ZM51.5651 11.7103V4.48119C51.5651 3.86227 51.8823 3.46212 52.4474 3.45658C53.0117 3.45104 53.303 3.84773 53.3058 4.46735V11.713C52.7268 11.713 52.1442 11.713 51.5651 11.7075V11.7103Z" fill="#2B2A2A"/>
|
1287
|
-
</g>
|
1288
|
-
</g>
|
1289
|
-
<defs>
|
1290
|
-
<clipPath id="clip0_12338_9219">
|
1291
|
-
<rect width="82.125" height="18" fill="white" transform="translate(0.875 0.5)"/>
|
1292
|
-
</clipPath>
|
1293
|
-
</defs>
|
1294
|
-
</svg>`;
|
1295
|
-
const shopGPTIcon = () => b `<svg xmlns="http://www.w3.org/2000/svg" width="105" height="37" viewBox="0 0 105 37" fill="none">
|
1296
|
-
<path d="M10.1239 5.27861C10.0338 4.47936 9.66197 3.86022 9.00845 3.4212C8.35493 2.97655 7.53239 2.75422 6.54084 2.75422C5.83099 2.75422 5.2169 2.86679 4.69859 3.09193C4.18028 3.31144 3.77746 3.61538 3.49014 4.00375C3.20845 4.38649 3.06761 4.8227 3.06761 5.31238C3.06761 5.72326 3.16338 6.07786 3.35493 6.37617C3.55211 6.67448 3.80845 6.92495 4.12394 7.12758C4.44507 7.32458 4.78873 7.49062 5.15493 7.6257C5.52113 7.75516 5.87324 7.8621 6.21127 7.94653L7.90141 8.38555C8.45352 8.52064 9.01972 8.70356 9.6 8.93433C10.1803 9.1651 10.7183 9.46904 11.2141 9.84615C11.7099 10.2233 12.1099 10.6904 12.4141 11.2477C12.7239 11.8049 12.8789 12.4719 12.8789 13.2486C12.8789 14.228 12.6254 15.0976 12.1183 15.8574C11.6169 16.6173 10.8873 17.2167 9.92958 17.6557C8.97746 18.0947 7.82535 18.3143 6.47324 18.3143C5.17746 18.3143 4.05634 18.1088 3.10986 17.6979C2.16338 17.2871 1.42254 16.7045 0.887324 15.9503C0.352113 15.1904 0.056338 14.2899 0 13.2486H2.61972C2.67042 13.8734 2.87324 14.394 3.22817 14.8105C3.58873 15.2214 4.04789 15.5281 4.60563 15.7308C5.16901 15.9278 5.78591 16.0263 6.45634 16.0263C7.19437 16.0263 7.8507 15.9109 8.42535 15.6801C9.00563 15.4437 9.46197 15.1173 9.79437 14.7007C10.1268 14.2786 10.293 13.7861 10.293 13.2233C10.293 12.7111 10.1465 12.2917 9.85352 11.9653C9.5662 11.6388 9.17465 11.3687 8.67887 11.1548C8.18873 10.9409 7.6338 10.7523 7.01408 10.5891L4.96901 10.0319C3.5831 9.65478 2.48451 9.10038 1.67324 8.36867C0.867606 7.63696 0.464789 6.66886 0.464789 5.46435C0.464789 4.4681 0.735211 3.5985 1.27606 2.85553C1.8169 2.11257 2.5493 1.53565 3.47324 1.12477C4.39718 0.708255 5.43944 0.5 6.6 0.5C7.77183 0.5 8.80563 0.705441 9.70141 1.11632C10.6028 1.52721 11.3127 2.09287 11.831 2.81332C12.3493 3.52814 12.6197 4.34991 12.6423 5.27861H10.1239Z" fill="#172A41"/>
|
1297
|
-
<path d="M18.1924 10.3274V18.0272H15.6656V0.736398H18.1586V7.16979H18.3191C18.6233 6.47186 19.0881 5.91745 19.7135 5.50657C20.3388 5.09569 21.1557 4.89024 22.1642 4.89024C23.0543 4.89024 23.8318 5.07317 24.4966 5.43902C25.167 5.80488 25.6853 6.35084 26.0515 7.07692C26.4233 7.79737 26.6093 8.69794 26.6093 9.77861V18.0272H24.0825V10.0826C24.0825 9.13133 23.8374 8.394 23.3473 7.87054C22.8571 7.34146 22.1755 7.07692 21.3022 7.07692C20.705 7.07692 20.1698 7.20356 19.6966 7.45685C19.229 7.71013 18.86 8.08161 18.5895 8.57129C18.3247 9.05535 18.1924 9.64071 18.1924 10.3274Z" fill="#172A41"/>
|
1298
|
-
<path d="M35.3178 18.2889C34.1009 18.2889 33.0389 18.0103 32.1319 17.4531C31.2248 16.8959 30.5206 16.1163 30.0192 15.1144C29.5178 14.1126 29.2671 12.9418 29.2671 11.6023C29.2671 10.257 29.5178 9.08068 30.0192 8.07317C30.5206 7.06567 31.2248 6.2833 32.1319 5.72608C33.0389 5.16886 34.1009 4.89024 35.3178 4.89024C36.5347 4.89024 37.5967 5.16886 38.5037 5.72608C39.4108 6.2833 40.115 7.06567 40.6164 8.07317C41.1178 9.08068 41.3685 10.257 41.3685 11.6023C41.3685 12.9418 41.1178 14.1126 40.6164 15.1144C40.115 16.1163 39.4108 16.8959 38.5037 17.4531C37.5967 18.0103 36.5347 18.2889 35.3178 18.2889ZM35.3263 16.1698C36.115 16.1698 36.7685 15.9615 37.2868 15.545C37.8051 15.1285 38.1882 14.5741 38.4361 13.8818C38.6896 13.1895 38.8164 12.4268 38.8164 11.5938C38.8164 10.7664 38.6896 10.0066 38.4361 9.31426C38.1882 8.61632 37.8051 8.05629 37.2868 7.63415C36.7685 7.21201 36.115 7.00094 35.3263 7.00094C34.5319 7.00094 33.8727 7.21201 33.3488 7.63415C32.8305 8.05629 32.4446 8.61632 32.191 9.31426C31.9432 10.0066 31.8192 10.7664 31.8192 11.5938C31.8192 12.4268 31.9432 13.1895 32.191 13.8818C32.4446 14.5741 32.8305 15.1285 33.3488 15.545C33.8727 15.9615 34.5319 16.1698 35.3263 16.1698Z" fill="#172A41"/>
|
1299
|
-
<path d="M44.058 22.8902V5.0591H46.5257V7.16135H46.7369C46.8834 6.89118 47.0947 6.5788 47.3707 6.2242C47.6468 5.86961 48.0299 5.56004 48.52 5.2955C49.0102 5.02533 49.6581 4.89024 50.4637 4.89024C51.5116 4.89024 52.4468 5.15478 53.2693 5.68387C54.0919 6.21295 54.7369 6.97561 55.2045 7.97186C55.6778 8.96811 55.9144 10.167 55.9144 11.5685C55.9144 12.97 55.6806 14.1717 55.213 15.1735C54.7454 16.1698 54.1031 16.9381 53.2862 17.4784C52.4693 18.0131 51.5369 18.2805 50.489 18.2805C49.7003 18.2805 49.0552 18.1482 48.5538 17.8837C48.058 17.6191 47.6693 17.3096 47.3876 16.955C47.1059 16.6004 46.889 16.2852 46.7369 16.0094H46.5848V22.8902H44.058ZM46.5341 11.5432C46.5341 12.455 46.6665 13.2542 46.9313 13.9409C47.1961 14.6276 47.5792 15.1651 48.0806 15.5535C48.582 15.9362 49.1961 16.1276 49.9228 16.1276C50.6778 16.1276 51.3088 15.9278 51.8158 15.5281C52.3228 15.1229 52.7059 14.5741 52.9651 13.8818C53.2299 13.1895 53.3623 12.4099 53.3623 11.5432C53.3623 10.6876 53.2327 9.91932 52.9735 9.23827C52.72 8.55722 52.3369 8.0197 51.8242 7.6257C51.3172 7.23171 50.6834 7.03471 49.9228 7.03471C49.1904 7.03471 48.5707 7.22326 48.0637 7.60038C47.5623 7.97749 47.182 8.50375 46.9228 9.17917C46.6637 9.8546 46.5341 10.6426 46.5341 11.5432Z" fill="#172A41"/>
|
1300
|
-
<path d="M70.53 6.19887C70.3666 5.68668 70.1469 5.22795 69.8708 4.8227C69.6004 4.41182 69.2765 4.06285 68.899 3.7758C68.5215 3.48311 68.0905 3.26079 67.606 3.10882C67.1272 2.95685 66.6004 2.88086 66.0258 2.88086C65.0511 2.88086 64.1722 3.13133 63.3891 3.63227C62.606 4.13321 61.9863 4.86773 61.53 5.83583C61.0793 6.79831 60.8539 7.97749 60.8539 9.37336C60.8539 10.7749 61.0821 11.9597 61.5384 12.9278C61.9948 13.8959 62.6201 14.6304 63.4145 15.1313C64.2089 15.6323 65.1131 15.8827 66.1272 15.8827C67.068 15.8827 67.8877 15.6914 68.5863 15.3086C69.2905 14.9259 69.8342 14.3856 70.2173 13.6876C70.606 12.9841 70.8004 12.1567 70.8004 11.2054L71.4765 11.3321H66.5243V9.17917H73.3272V11.1463C73.3272 12.5985 73.0173 13.8593 72.3976 14.9287C71.7835 15.9925 70.9328 16.8143 69.8455 17.394C68.7638 17.9737 67.5243 18.2636 66.1272 18.2636C64.561 18.2636 63.1863 17.9034 62.0032 17.1829C60.8258 16.4625 59.9074 15.4409 59.2483 14.1182C58.5891 12.7899 58.2596 11.2139 58.2596 9.39024C58.2596 8.01126 58.4511 6.77298 58.8342 5.67542C59.2173 4.57786 59.7553 3.64634 60.4483 2.88086C61.1469 2.10976 61.9666 1.52158 62.9074 1.11632C63.8539 0.705441 64.8877 0.5 66.0089 0.5C66.9441 0.5 67.8145 0.637899 68.6201 0.913696C69.4314 1.18949 70.1525 1.58068 70.7835 2.08724C71.4201 2.59381 71.9469 3.19606 72.3638 3.894C72.7807 4.5863 73.0624 5.3546 73.2089 6.19887H70.53Z" fill="#172A41"/>
|
1301
|
-
<path d="M76.5111 18.0272V0.736398H82.6801C84.0266 0.736398 85.1421 0.981238 86.0266 1.47092C86.9111 1.9606 87.573 2.63039 88.0125 3.4803C88.4519 4.32458 88.6716 5.2758 88.6716 6.33396C88.6716 7.39775 88.4491 8.3546 88.004 9.2045C87.5646 10.0488 86.8998 10.7186 86.0097 11.2139C85.1252 11.7036 84.0125 11.9484 82.6716 11.9484H78.4294V9.7364H82.435C83.2857 9.7364 83.9759 9.59006 84.5054 9.29737C85.035 8.99906 85.4237 8.59381 85.6716 8.08161C85.9195 7.56942 86.0435 6.98687 86.0435 6.33396C86.0435 5.68105 85.9195 5.10131 85.6716 4.59475C85.4237 4.08818 85.0322 3.69137 84.497 3.40432C83.9674 3.11726 83.2688 2.97373 82.4012 2.97373H79.1223V18.0272H76.5111Z" fill="#172A41"/>
|
1302
|
-
<path d="M90.7485 2.98218V0.736398H104.143V2.98218H98.7429V18.0272H96.14V2.98218H90.7485Z" fill="#172A41"/>
|
1303
|
-
<path d="M0.269894 36.5V28.6989H1.34947V29.6186H1.4419C1.50599 29.5004 1.59842 29.3637 1.71919 29.2086C1.83996 29.0535 2.00757 28.918 2.22201 28.8023C2.43644 28.6841 2.71989 28.625 3.07236 28.625C3.53081 28.625 3.93996 28.7407 4.29982 28.9722C4.65968 29.2037 4.9419 29.5373 5.14648 29.9732C5.35352 30.4091 5.45704 30.9336 5.45704 31.5467C5.45704 32.1599 5.35475 32.6856 5.15018 33.1239C4.9456 33.5598 4.66461 33.8959 4.30722 34.1323C3.94982 34.3663 3.5419 34.4832 3.08345 34.4832C2.73838 34.4832 2.45616 34.4254 2.2368 34.3096C2.01989 34.1939 1.84982 34.0585 1.72658 33.9033C1.60335 33.7482 1.50845 33.6103 1.4419 33.4896H1.37535V36.5H0.269894ZM1.35317 31.5356C1.35317 31.9346 1.41109 32.2842 1.52694 32.5847C1.64278 32.8851 1.81039 33.1203 2.02975 33.2902C2.24912 33.4576 2.51778 33.5413 2.83574 33.5413C3.16602 33.5413 3.44208 33.4539 3.66391 33.2791C3.88574 33.1018 4.05335 32.8617 4.16673 32.5588C4.28257 32.2559 4.34049 31.9149 4.34049 31.5356C4.34049 31.1614 4.2838 30.8252 4.17042 30.5273C4.05951 30.2293 3.8919 29.9941 3.66761 29.8218C3.44577 29.6494 3.16849 29.5632 2.83574 29.5632C2.51532 29.5632 2.24419 29.6457 2.02236 29.8107C1.80299 29.9757 1.63662 30.2059 1.52324 30.5014C1.40986 30.7969 1.35317 31.1417 1.35317 31.5356Z" fill="#4E647F"/>
|
1304
|
-
<path d="M8.95679 34.4869C8.4244 34.4869 7.95978 34.365 7.56295 34.1212C7.16612 33.8775 6.85802 33.5364 6.63866 33.0981C6.41929 32.6598 6.30961 32.1476 6.30961 31.5615C6.30961 30.973 6.41929 30.4583 6.63866 30.0175C6.85802 29.5767 7.16612 29.2345 7.56295 28.9907C7.95978 28.7469 8.4244 28.625 8.95679 28.625C9.48919 28.625 9.9538 28.7469 10.3506 28.9907C10.7475 29.2345 11.0556 29.5767 11.2749 30.0175C11.4943 30.4583 11.604 30.973 11.604 31.5615C11.604 32.1476 11.4943 32.6598 11.2749 33.0981C11.0556 33.5364 10.7475 33.8775 10.3506 34.1212C9.9538 34.365 9.48919 34.4869 8.95679 34.4869ZM8.96049 33.5598C9.30556 33.5598 9.59147 33.4687 9.81824 33.2865C10.045 33.1042 10.2126 32.8617 10.3211 32.5588C10.432 32.2559 10.4874 31.9223 10.4874 31.5578C10.4874 31.1958 10.432 30.8634 10.3211 30.5605C10.2126 30.2552 10.045 30.0101 9.81824 29.8255C9.59147 29.6408 9.30556 29.5484 8.96049 29.5484C8.61295 29.5484 8.32457 29.6408 8.09535 29.8255C7.86859 30.0101 7.69975 30.2552 7.58883 30.5605C7.48038 30.8634 7.42616 31.1958 7.42616 31.5578C7.42616 31.9223 7.48038 32.2559 7.58883 32.5588C7.69975 32.8617 7.86859 33.1042 8.09535 33.2865C8.32457 33.4687 8.61295 33.5598 8.96049 33.5598Z" fill="#4E647F"/>
|
1305
|
-
<path d="M13.7653 34.3724L12.0942 28.6989H13.2366L14.3495 32.8654H14.405L15.5215 28.6989H16.6639L17.7731 32.8469H17.8285L18.934 28.6989H20.0764L18.409 34.3724H17.2814L16.1278 30.2761H16.0428L14.8893 34.3724H13.7653Z" fill="#4E647F"/>
|
1306
|
-
<path d="M23.2693 34.4869C22.7098 34.4869 22.2279 34.3675 21.8237 34.1286C21.422 33.8873 21.1114 33.5487 20.892 33.1129C20.6751 32.6745 20.5667 32.1611 20.5667 31.5726C20.5667 30.9914 20.6751 30.4792 20.892 30.036C21.1114 29.5928 21.417 29.2468 21.8089 28.9981C22.2033 28.7494 22.6642 28.625 23.1917 28.625C23.5121 28.625 23.8227 28.6779 24.1234 28.7838C24.4241 28.8897 24.694 29.0559 24.9331 29.2825C25.1721 29.509 25.3607 29.8033 25.4987 30.1653C25.6367 30.5248 25.7058 30.9619 25.7058 31.4765V31.8681H21.1915V31.0407H24.6225C24.6225 30.7501 24.5633 30.4928 24.445 30.2687C24.3267 30.0422 24.1603 29.8636 23.9459 29.7331C23.7339 29.6026 23.485 29.5373 23.1991 29.5373C22.8885 29.5373 22.6174 29.6137 22.3857 29.7664C22.1565 29.9166 21.979 30.1136 21.8533 30.3574C21.7301 30.5987 21.6684 30.8609 21.6684 31.1441V31.7905C21.6684 32.1697 21.735 32.4923 21.8681 32.7583C22.0036 33.0242 22.1922 33.2274 22.4338 33.3677C22.6753 33.5056 22.9575 33.5746 23.2804 33.5746C23.4899 33.5746 23.6809 33.545 23.8535 33.4859C24.026 33.4244 24.1751 33.3333 24.3008 33.2126C24.4265 33.0919 24.5227 32.943 24.5892 32.7657L25.6355 32.954C25.5517 33.2618 25.4014 33.5315 25.1845 33.763C24.97 33.992 24.7001 34.1705 24.3748 34.2985C24.0519 34.4241 23.6834 34.4869 23.2693 34.4869Z" fill="#4E647F"/>
|
1307
|
-
<path d="M26.8014 34.3724V28.6989H27.8699V29.6001H27.9291C28.0326 29.2948 28.215 29.0547 28.4762 28.8799C28.74 28.7026 29.0382 28.6139 29.371 28.6139C29.44 28.6139 29.5213 28.6164 29.615 28.6213C29.7111 28.6262 29.7863 28.6324 29.8405 28.6398V29.6962C29.7961 29.6839 29.7173 29.6703 29.6039 29.6555C29.4905 29.6383 29.3771 29.6297 29.2637 29.6297C29.0025 29.6297 28.7696 29.6851 28.565 29.7959C28.3629 29.9043 28.2027 30.0557 28.0843 30.2502C27.966 30.4423 27.9069 30.6615 27.9069 30.9077V34.3724H26.8014Z" fill="#4E647F"/>
|
1308
|
-
<path d="M32.9104 34.4869C32.3509 34.4869 31.8691 34.3675 31.4649 34.1286C31.0631 33.8873 30.7525 33.5487 30.5332 33.1129C30.3163 32.6745 30.2078 32.1611 30.2078 31.5726C30.2078 30.9914 30.3163 30.4792 30.5332 30.036C30.7525 29.5928 31.0582 29.2468 31.4501 28.9981C31.8444 28.7494 32.3053 28.625 32.8328 28.625C33.1532 28.625 33.4638 28.6779 33.7645 28.7838C34.0652 28.8897 34.3351 29.0559 34.5742 29.2825C34.8133 29.509 35.0018 29.8033 35.1399 30.1653C35.2779 30.5248 35.3469 30.9619 35.3469 31.4765V31.8681H30.8326V31.0407H34.2636C34.2636 30.7501 34.2045 30.4928 34.0862 30.2687C33.9678 30.0422 33.8015 29.8636 33.587 29.7331C33.3751 29.6026 33.1261 29.5373 32.8402 29.5373C32.5296 29.5373 32.2585 29.6137 32.0268 29.7664C31.7976 29.9166 31.6201 30.1136 31.4944 30.3574C31.3712 30.5987 31.3096 30.8609 31.3096 31.1441V31.7905C31.3096 32.1697 31.3761 32.4923 31.5092 32.7583C31.6448 33.0242 31.8333 33.2274 32.0749 33.3677C32.3164 33.5056 32.5987 33.5746 32.9215 33.5746C33.1311 33.5746 33.3221 33.545 33.4946 33.4859C33.6671 33.4244 33.8163 33.3333 33.942 33.2126C34.0677 33.0919 34.1638 32.943 34.2303 32.7657L35.2766 32.954C35.1928 33.2618 35.0425 33.5315 34.8256 33.763C34.6112 33.992 34.3413 34.1705 34.0159 34.2985C33.693 34.4241 33.3245 34.4869 32.9104 34.4869Z" fill="#4E647F"/>
|
1309
|
-
<path d="M38.5684 34.4832C38.11 34.4832 37.7008 34.3663 37.341 34.1323C36.9836 33.8959 36.7026 33.5598 36.498 33.1239C36.2959 32.6856 36.1948 32.1599 36.1948 31.5467C36.1948 30.9336 36.2971 30.4091 36.5017 29.9732C36.7087 29.5373 36.9922 29.2037 37.3521 28.9722C37.7119 28.7407 38.1198 28.625 38.5758 28.625C38.9283 28.625 39.2117 28.6841 39.4262 28.8023C39.6431 28.918 39.8107 29.0535 39.929 29.2086C40.0498 29.3637 40.1434 29.5004 40.21 29.6186H40.2765V26.8077H41.382V34.3724H40.3024V33.4896H40.21C40.1434 33.6103 40.0473 33.7482 39.9216 33.9033C39.7984 34.0585 39.6283 34.1939 39.4114 34.3096C39.1945 34.4254 38.9135 34.4832 38.5684 34.4832ZM38.8124 33.5413C39.1304 33.5413 39.3991 33.4576 39.6184 33.2902C39.8403 33.1203 40.0079 32.8851 40.1213 32.5847C40.2371 32.2842 40.295 31.9346 40.295 31.5356C40.295 31.1417 40.2383 30.7969 40.1249 30.5014C40.0116 30.2059 39.8452 29.9757 39.6258 29.8107C39.4065 29.6457 39.1353 29.5632 38.8124 29.5632C38.4797 29.5632 38.2024 29.6494 37.9806 29.8218C37.7587 29.9941 37.5911 30.2293 37.4778 30.5273C37.3668 30.8252 37.3114 31.1614 37.3114 31.5356C37.3114 31.9149 37.3681 32.2559 37.4815 32.5588C37.5948 32.8617 37.7624 33.1018 37.9843 33.2791C38.2086 33.4539 38.4846 33.5413 38.8124 33.5413Z" fill="#4E647F"/>
|
1310
|
-
<path d="M45.542 34.3724V26.8077H46.6475V29.6186H46.7141C46.7781 29.5004 46.8706 29.3637 46.9913 29.2086C47.1121 29.0535 47.2797 28.918 47.4942 28.8023C47.7086 28.6841 47.9921 28.625 48.3445 28.625C48.803 28.625 49.2121 28.7407 49.572 28.9722C49.9318 29.2037 50.2141 29.5373 50.4186 29.9732C50.6257 30.4091 50.7292 30.9336 50.7292 31.5467C50.7292 32.1599 50.6269 32.6856 50.4223 33.1239C50.2178 33.5598 49.9368 33.8959 49.5794 34.1323C49.222 34.3663 48.8141 34.4832 48.3556 34.4832C48.0105 34.4832 47.7283 34.4254 47.509 34.3096C47.292 34.1939 47.122 34.0585 46.9987 33.9033C46.8755 33.7482 46.7806 33.6103 46.7141 33.4896H46.6216V34.3724H45.542ZM46.6253 31.5356C46.6253 31.9346 46.6832 32.2842 46.7991 32.5847C46.9149 32.8851 47.0825 33.1203 47.3019 33.2902C47.5213 33.4576 47.7899 33.5413 48.1079 33.5413C48.4382 33.5413 48.7142 33.4539 48.9361 33.2791C49.1579 33.1018 49.3255 32.8617 49.4389 32.5588C49.5547 32.2559 49.6126 31.9149 49.6126 31.5356C49.6126 31.1614 49.556 30.8252 49.4426 30.5273C49.3317 30.2293 49.1641 29.9941 48.9398 29.8218C48.7179 29.6494 48.4406 29.5632 48.1079 29.5632C47.7875 29.5632 47.5163 29.6457 47.2945 29.8107C47.0751 29.9757 46.9088 30.2059 46.7954 30.5014C46.682 30.7969 46.6253 31.1417 46.6253 31.5356Z" fill="#4E647F"/>
|
1311
|
-
<path d="M52.3452 36.5C52.1801 36.5 52.0297 36.4865 51.8942 36.4594C51.7586 36.4347 51.6576 36.4077 51.591 36.3781L51.8572 35.4731C52.0593 35.5273 52.2393 35.5507 52.397 35.5433C52.5547 35.5359 52.694 35.4768 52.8148 35.366C52.938 35.2552 53.0465 35.0742 53.1401 34.8231L53.2769 34.4463L51.1991 28.6989H52.3822L53.8204 33.1018H53.8796L55.3178 28.6989H56.5046L54.1642 35.1296C54.0558 35.4251 53.9178 35.6751 53.7502 35.8795C53.5826 36.0863 53.3829 36.2414 53.1512 36.3449C52.9195 36.4483 52.6509 36.5 52.3452 36.5Z" fill="#4E647F"/>
|
1312
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M60.5232 26.2954C60.507 26.3274 60.507 26.3693 60.507 26.4532V34.0339C60.507 34.1178 60.507 34.1597 60.5232 34.1917C60.5374 34.2198 60.56 34.2428 60.5879 34.2571C60.6196 34.2734 60.661 34.2734 60.7439 34.2734H61.2952C61.3781 34.2734 61.4196 34.2734 61.4513 34.2571C61.4791 34.2428 61.5018 34.2198 61.516 34.1917C61.5321 34.1597 61.5321 34.1178 61.5321 34.0339V33.7664C62.0001 34.1456 62.5941 34.3724 63.2406 34.3724C64.7502 34.3724 65.9741 33.1352 65.9741 31.6091C65.9741 30.0829 64.7502 28.8457 63.2406 28.8457C62.5941 28.8457 62.0001 29.0726 61.5321 29.4518V26.4532C61.5321 26.3693 61.5321 26.3274 61.516 26.2954C61.5018 26.2672 61.4791 26.2443 61.4513 26.23C61.4196 26.2137 61.3781 26.2137 61.2952 26.2137H60.7439C60.661 26.2137 60.6196 26.2137 60.5879 26.23C60.56 26.2443 60.5374 26.2672 60.5232 26.2954ZM61.5321 31.6091C61.5321 32.5629 62.297 33.3362 63.2406 33.3362C64.1841 33.3362 64.949 32.5629 64.949 31.6091C64.949 30.6552 64.1841 29.882 63.2406 29.882C62.297 29.882 61.5321 30.6552 61.5321 31.6091Z" fill="#F25C2B"/>
|
1313
|
-
<path d="M88.2382 29.0703C88.2221 29.1023 88.2221 29.1442 88.2221 29.2281V31.8302C88.2196 32.0036 88.1831 32.175 88.1149 32.3353C88.0442 32.5015 87.9407 32.6525 87.8101 32.7797C87.7732 32.8156 87.7344 32.8494 87.6938 32.881C87.585 32.9797 87.4613 33.0596 87.3276 33.1173C87.1653 33.1873 86.9915 33.2234 86.8158 33.2234C86.6403 33.2234 86.4663 33.1873 86.3041 33.1173C86.1702 33.0595 86.0463 32.9795 85.9374 32.8805C85.897 32.8491 85.8584 32.8154 85.8217 32.7797C85.6911 32.6525 85.5875 32.5015 85.5169 32.3353C85.4487 32.175 85.4124 32.0036 85.41 31.8302L85.4097 29.2282C85.4097 29.1443 85.4096 29.1024 85.3935 29.0704C85.3793 29.0422 85.3567 29.0193 85.3288 29.005C85.2971 28.9887 85.2557 28.9887 85.1727 28.9887H84.6215C84.5386 28.9887 84.4971 28.9887 84.4654 29.005C84.4376 29.0193 84.4149 29.0422 84.4007 29.0704C84.3846 29.1024 84.3846 29.1443 84.3846 29.2282V31.8302C84.3846 32.1628 84.4475 32.4922 84.5697 32.7995C84.5786 32.822 84.5878 32.8443 84.5973 32.8664C84.7182 33.1474 84.8874 33.4033 85.0967 33.6213C85.3224 33.8566 85.5905 34.0431 85.8855 34.1704C86.1804 34.2977 86.4966 34.3633 86.8158 34.3633C87.1351 34.3633 87.4513 34.2977 87.7462 34.1704C88.0412 34.0431 88.3093 33.8566 88.535 33.6213C88.7443 33.4033 88.9135 33.1474 89.0344 32.8664C89.0439 32.8443 89.0531 32.822 89.0621 32.7995C89.1842 32.4922 89.2471 32.1628 89.2471 31.8302V29.2281C89.2471 29.1442 89.2471 29.1023 89.231 29.0703C89.2168 29.0421 89.1941 29.0192 89.1663 29.0049C89.1346 28.9886 89.0931 28.9886 89.0102 28.9886H88.459C88.376 28.9886 88.3346 28.9886 88.3029 29.0049C88.275 29.0192 88.2524 29.0421 88.2382 29.0703Z" fill="#F25C2B"/>
|
1314
|
-
<path d="M66.8112 26.4393C66.8112 26.3555 66.8112 26.3136 66.8273 26.2815C66.8415 26.2534 66.8642 26.2305 66.8921 26.2161C66.9237 26.1998 66.9652 26.1998 67.0481 26.1998H67.5994C67.6823 26.1998 67.7238 26.1998 67.7554 26.2161C67.7833 26.2305 67.8059 26.2534 67.8201 26.2815C67.8363 26.3136 67.8363 26.3555 67.8363 26.4393V34.0201C67.8363 34.1039 67.8363 34.1458 67.8201 34.1778C67.8059 34.206 67.7833 34.2289 67.7554 34.2433C67.7238 34.2595 67.6823 34.2595 67.5994 34.2595H67.0481C66.9652 34.2595 66.9237 34.2595 66.8921 34.2433C66.8642 34.2289 66.8415 34.206 66.8273 34.1778C66.8112 34.1458 66.8112 34.1039 66.8112 34.0201V26.4393Z" fill="#F25C2B"/>
|
1315
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M71.4069 33.327C72.3504 33.327 73.1154 32.5538 73.1154 31.5999C73.1154 30.6461 72.3504 29.8728 71.4069 29.8728C70.4633 29.8728 69.6984 30.6461 69.6984 31.5999C69.6984 32.5538 70.4633 33.327 71.4069 33.327ZM71.4069 34.3633C72.9166 34.3633 74.1404 33.1261 74.1404 31.5999C74.1404 30.0738 72.9166 28.8366 71.4069 28.8366C69.8972 28.8366 68.6734 30.0738 68.6734 31.5999C68.6734 33.1261 69.8972 34.3633 71.4069 34.3633Z" fill="#F25C2B"/>
|
1316
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M80.8045 33.327C81.748 33.327 82.5129 32.5538 82.5129 31.5999C82.5129 30.6461 81.748 29.8728 80.8045 29.8728C79.8609 29.8728 79.096 30.6461 79.096 31.5999C79.096 32.5538 79.8609 33.327 80.8045 33.327ZM80.8045 34.3633C82.3141 34.3633 83.538 33.1261 83.538 31.5999C83.538 30.0738 82.3141 28.8366 80.8045 28.8366C79.2948 28.8366 78.0709 30.0738 78.0709 31.5999C78.0709 33.1261 79.2948 34.3633 80.8045 34.3633Z" fill="#F25C2B"/>
|
1317
|
-
<path d="M75.2265 26.1998C75.1436 26.1998 75.1021 26.1998 75.0705 26.2161C75.0426 26.2305 75.02 26.2534 75.0058 26.2815C74.9896 26.3135 74.9896 26.3555 74.9896 26.4393V27.4083H74.6394C74.5593 27.4083 74.5183 27.4086 74.4872 27.4247C74.4593 27.439 74.4367 27.4619 74.4225 27.49C74.4063 27.5221 74.4063 27.564 74.4063 27.6478V28.2051C74.4063 28.2889 74.4063 28.3308 74.4225 28.3628C74.4367 28.391 74.4593 28.4139 74.4872 28.4282C74.5188 28.4446 74.5603 28.4446 74.6432 28.4446H74.9896V32.5994H74.9882C74.9878 32.6063 74.9874 32.6131 74.987 32.62C74.9876 32.6359 74.9885 32.6518 74.9896 32.6676V32.7073L74.9918 32.7072C75.0376 33.5766 75.7476 34.2581 76.6088 34.2595C76.7762 34.2594 76.9423 34.233 77.1013 34.1816C77.1703 34.1593 77.2245 34.0768 77.2243 34.0035L77.2261 33.2371C77.2261 33.2257 77.224 33.2075 77.2211 33.1964C77.2206 33.1945 77.22 33.1924 77.2194 33.1903C77.2148 33.1737 77.2005 33.1492 77.1865 33.1391C77.1828 33.1365 77.1347 33.1088 77.0944 33.1334C77.0512 33.1536 77.0505 33.154 77.0498 33.1543C77.0388 33.1596 77.0016 33.1737 76.9842 33.1839C76.8335 33.2484 76.8109 33.2469 76.7666 33.2532C76.7363 33.2575 76.7058 33.2596 76.6752 33.2596C76.6174 33.2596 76.56 33.252 76.5042 33.2369C76.4485 33.2218 76.3949 33.1993 76.3449 33.1702C76.3181 33.1523 76.2927 33.1326 76.2687 33.1111C76.2546 33.1011 76.241 33.0905 76.2278 33.0793C76.2212 33.0744 76.2146 33.0693 76.2081 33.0641C76.2064 33.0618 76.2047 33.0596 76.203 33.0573C76.0832 32.9441 76.0151 32.7858 76.0147 32.62C76.0151 32.6146 76.0157 32.6092 76.0163 32.6039C76.0157 32.5999 76.0152 32.5959 76.0147 32.592V28.4446H76.9737C77.0566 28.4446 77.0981 28.4446 77.1298 28.4282C77.1576 28.4139 77.1803 28.391 77.1945 28.3628C77.2106 28.3308 77.2106 28.2889 77.2106 28.2051V27.6478C77.2106 27.564 77.2106 27.5221 77.1945 27.49C77.1803 27.4619 77.1576 27.439 77.1298 27.4247C77.0981 27.4083 77.0566 27.4083 76.9737 27.4083H76.0147V26.4393C76.0147 26.3555 76.0147 26.3135 75.9985 26.2815C75.9843 26.2534 75.9617 26.2305 75.9338 26.2161C75.9021 26.1998 75.8607 26.1998 75.7778 26.1998H75.2265Z" fill="#F25C2B"/>
|
1318
|
-
<path d="M90.323 26.2117C90.2401 26.2117 90.1986 26.2117 90.1669 26.2281C90.1391 26.2424 90.1165 26.2653 90.1022 26.2934C90.0861 26.3255 90.0861 26.3674 90.0861 26.4512V27.4203H89.7359C89.6558 27.4203 89.6148 27.4205 89.5836 27.4366C89.5558 27.4509 89.5331 27.4738 89.5189 27.502C89.5028 27.534 89.5028 27.5759 89.5028 27.6597V28.217C89.5028 28.3008 89.5028 28.3427 89.5189 28.3748C89.5331 28.4029 89.5558 28.4258 89.5836 28.4402C89.6153 28.4565 89.6568 28.4565 89.7397 28.4565H90.0861V32.6113H90.0847C90.0843 32.6182 90.0838 32.6251 90.0835 32.6319C90.0841 32.6478 90.085 32.6637 90.0861 32.6795V32.7192L90.0883 32.7191C90.1341 33.5885 90.844 34.2701 91.7052 34.2715C91.8727 34.2713 92.0388 34.245 92.1978 34.1936C92.2668 34.1713 92.321 34.0887 92.3208 34.0154L92.3225 33.249C92.3226 33.2376 92.3205 33.2194 92.3176 33.2084C92.317 33.2064 92.3165 33.2043 92.3159 33.2022C92.3113 33.1856 92.297 33.1611 92.283 33.151C92.2793 33.1484 92.2311 33.1207 92.1908 33.1453C92.1477 33.1656 92.147 33.1659 92.1463 33.1662C92.1353 33.1715 92.0981 33.1856 92.0807 33.1958C91.9299 33.2603 91.9074 33.2589 91.8631 33.2651C91.8328 33.2694 91.8023 33.2716 91.7716 33.2716C91.7139 33.2716 91.6565 33.2639 91.6007 33.2488C91.5449 33.2337 91.4914 33.2113 91.4414 33.1821C91.4146 33.1643 91.3891 33.1445 91.3652 33.123C91.3511 33.113 91.3375 33.1024 91.3243 33.0912C91.3176 33.0863 91.3111 33.0812 91.3046 33.076C91.3029 33.0738 91.3012 33.0715 91.2995 33.0692C91.1797 32.956 91.1115 32.7977 91.1112 32.6319C91.1116 32.6265 91.1121 32.6212 91.1127 32.6158C91.1122 32.6118 91.1116 32.6079 91.1112 32.6039V28.4565H92.0702C92.1531 28.4565 92.1946 28.4565 92.2262 28.4402C92.2541 28.4258 92.2767 28.4029 92.2909 28.3748C92.3071 28.3427 92.3071 28.3008 92.3071 28.217V27.6597C92.3071 27.5759 92.3071 27.534 92.2909 27.502C92.2767 27.4738 92.2541 27.4509 92.2262 27.4366C92.1946 27.4203 92.1531 27.4203 92.0702 27.4203H91.1112V26.4512C91.1112 26.3674 91.1112 26.3255 91.095 26.2934C91.0808 26.2653 91.0582 26.2424 91.0303 26.2281C90.9986 26.2117 90.9572 26.2117 90.8743 26.2117H90.323Z" fill="#F25C2B"/>
|
1319
|
-
</svg>`;
|
1812
|
+
.user-details {
|
1813
|
+
margin-top: 14px;
|
1814
|
+
}
|
1320
1815
|
|
1321
|
-
|
1322
|
-
|
1323
|
-
|
1324
|
-
|
1816
|
+
.product-handle.context {
|
1817
|
+
padding: 8px 13px;
|
1818
|
+
border-radius: 5px;
|
1819
|
+
border: 1px solid #dbe2eb;
|
1820
|
+
background: #f1f4f8;
|
1821
|
+
margin-top: 16px;
|
1822
|
+
line-height: 24px;
|
1823
|
+
}
|
1824
|
+
}
|
1825
|
+
|
1826
|
+
.context-container.show {
|
1827
|
+
display: flex;
|
1828
|
+
flex-direction: column;
|
1829
|
+
gap: 24px;
|
1830
|
+
}
|
1831
|
+
|
1832
|
+
.typing-dots {
|
1833
|
+
display: flex;
|
1834
|
+
align-items: center;
|
1835
|
+
justify-content: center;
|
1836
|
+
gap: 8px;
|
1837
|
+
}
|
1838
|
+
|
1839
|
+
.dot {
|
1840
|
+
width: 6px;
|
1841
|
+
height: 6px;
|
1842
|
+
background-color: #b6b6b6;
|
1843
|
+
border-radius: 50%;
|
1844
|
+
animation: bounce 1.2s infinite ease-in-out;
|
1845
|
+
}
|
1846
|
+
|
1847
|
+
.dot:nth-child(1) {
|
1848
|
+
animation-delay: 0s;
|
1849
|
+
}
|
1850
|
+
|
1851
|
+
.dot:nth-child(2) {
|
1852
|
+
animation-delay: 0.2s;
|
1853
|
+
}
|
1854
|
+
|
1855
|
+
.dot:nth-child(3) {
|
1856
|
+
animation-delay: 0.4s;
|
1857
|
+
}
|
1858
|
+
|
1859
|
+
@keyframes bounce {
|
1860
|
+
0%,
|
1861
|
+
80%,
|
1862
|
+
100% {
|
1863
|
+
transform: translateY(0);
|
1864
|
+
background-color: #b6b6b6;
|
1865
|
+
}
|
1866
|
+
40% {
|
1867
|
+
transform: translateY(-4px);
|
1868
|
+
background-color: #8b8b8b;
|
1869
|
+
}
|
1870
|
+
}
|
1871
|
+
|
1872
|
+
.prompts {
|
1873
|
+
display: flex;
|
1874
|
+
justify-content: center;
|
1875
|
+
gap: 23px 10px;
|
1876
|
+
flex-wrap: wrap;
|
1877
|
+
|
1878
|
+
.prompt {
|
1879
|
+
padding: 10px;
|
1880
|
+
border-radius: 10px;
|
1881
|
+
border: 1px solid #a3b2c6;
|
1882
|
+
|
1883
|
+
color: #4e647f;
|
1884
|
+
line-height: 21px;
|
1885
|
+
letter-spacing: -0.32px;
|
1886
|
+
|
1887
|
+
&:hover {
|
1888
|
+
background: rgb(241, 244, 248);
|
1889
|
+
}
|
1890
|
+
|
1891
|
+
&:active {
|
1892
|
+
background: rgb(78, 100, 127);
|
1893
|
+
color: rgb(255, 255, 255);
|
1894
|
+
}
|
1895
|
+
}
|
1896
|
+
}
|
1897
|
+
|
1898
|
+
#modal-chat-threads {
|
1899
|
+
.chat-threads {
|
1900
|
+
position: absolute;
|
1901
|
+
overflow: hidden;
|
1902
|
+
z-index: 1;
|
1903
|
+
top: 78px;
|
1904
|
+
height: 30%;
|
1905
|
+
width: 100%;
|
1906
|
+
background: #fff;
|
1907
|
+
box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.12),
|
1908
|
+
0px 20px 20px 0px rgba(0, 0, 0, 0.08);
|
1909
|
+
border-radius: 0px 0px 10px 10px;
|
1910
|
+
|
1911
|
+
h2 {
|
1912
|
+
padding: 10px 16px;
|
1913
|
+
color: #172a41;
|
1914
|
+
font-size: 16px;
|
1915
|
+
font-weight: 700;
|
1916
|
+
line-height: 20px;
|
1917
|
+
border-bottom: 1px solid #dbe2eb;
|
1918
|
+
}
|
1919
|
+
|
1920
|
+
.thread-titles-wrapper {
|
1921
|
+
overflow-y: auto;
|
1922
|
+
height: calc(100% - 40px);
|
1923
|
+
}
|
1924
|
+
|
1925
|
+
.thread-title {
|
1926
|
+
padding: 10px 16px;
|
1927
|
+
color: #4e647f;
|
1928
|
+
font-size: 14px;
|
1929
|
+
font-weight: 400;
|
1930
|
+
line-height: 20px;
|
1931
|
+
cursor: pointer;
|
1932
|
+
|
1933
|
+
&:hover {
|
1934
|
+
background: #f1f4f8;
|
1935
|
+
}
|
1936
|
+
}
|
1937
|
+
|
1938
|
+
.thread-title.disabled {
|
1939
|
+
cursor: not-allowed;
|
1940
|
+
}
|
1941
|
+
}
|
1942
|
+
|
1943
|
+
.chat-threads-background {
|
1944
|
+
position: absolute;
|
1945
|
+
top: 78px;
|
1946
|
+
height: 100%;
|
1947
|
+
width: 100%;
|
1948
|
+
opacity: 0.5;
|
1949
|
+
background: #000;
|
1950
|
+
z-index: 0;
|
1951
|
+
}
|
1952
|
+
}
|
1953
|
+
|
1954
|
+
${scrollBarStyles}
|
1955
|
+
`;
|
1956
|
+
|
1957
|
+
const capitalizeEachWord = (str) => {
|
1958
|
+
return str === null || str === void 0 ? void 0 : str.replace(/^\w/, (char) => char.toUpperCase());
|
1959
|
+
};
|
1960
|
+
|
1961
|
+
const personalizeDialogStyles = i$3 `
|
1962
|
+
:host {
|
1963
|
+
font-family: 'Inter', sans-serif;
|
1964
|
+
font-size: 16px;
|
1965
|
+
font-weight: 400;
|
1966
|
+
|
1967
|
+
h2,
|
1968
|
+
p {
|
1969
|
+
margin: 0;
|
1970
|
+
}
|
1971
|
+
|
1972
|
+
button {
|
1973
|
+
border-style: none;
|
1974
|
+
cursor: pointer;
|
1975
|
+
}
|
1976
|
+
}
|
1977
|
+
|
1978
|
+
dialog::backdrop {
|
1979
|
+
background: rgba(0, 0, 0, 0.5);
|
1980
|
+
}
|
1981
|
+
|
1982
|
+
dialog {
|
1983
|
+
padding: 24px;
|
1984
|
+
border: 1px solid #dbe2eb;
|
1985
|
+
border-radius: 10px;
|
1986
|
+
background: #fff;
|
1987
|
+
box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.1),
|
1988
|
+
0px 4px 6px -2px rgba(0, 0, 0, 0.05);
|
1989
|
+
min-width: 35%;
|
1990
|
+
|
1991
|
+
.btn {
|
1992
|
+
cursor: pointer;
|
1993
|
+
}
|
1994
|
+
|
1995
|
+
.dialog-title {
|
1996
|
+
margin-bottom: 24px;
|
1997
|
+
display: flex;
|
1998
|
+
align-items: center;
|
1999
|
+
gap: 16px;
|
2000
|
+
|
2001
|
+
.close-btn {
|
2002
|
+
margin-left: auto;
|
2003
|
+
}
|
2004
|
+
|
2005
|
+
h2 {
|
2006
|
+
color: #172a41;
|
2007
|
+
font-size: 20px;
|
2008
|
+
font-weight: 700;
|
2009
|
+
line-height: 24px;
|
2010
|
+
}
|
2011
|
+
|
2012
|
+
.back-btn {
|
2013
|
+
display: flex;
|
2014
|
+
padding: 4px;
|
2015
|
+
align-items: center;
|
2016
|
+
border-radius: 5px;
|
2017
|
+
border: 1px solid #dbe2eb;
|
2018
|
+
background: #fff;
|
2019
|
+
}
|
2020
|
+
}
|
2021
|
+
|
2022
|
+
.dialog-content {
|
2023
|
+
display: flex;
|
2024
|
+
flex-direction: column;
|
2025
|
+
gap: 12px;
|
2026
|
+
|
2027
|
+
& > p {
|
2028
|
+
line-height: 150%;
|
2029
|
+
}
|
2030
|
+
}
|
2031
|
+
}
|
2032
|
+
|
2033
|
+
.profile-types,
|
2034
|
+
.visitor-types {
|
2035
|
+
display: flex;
|
2036
|
+
gap: 24px;
|
2037
|
+
|
2038
|
+
.profile-type,
|
2039
|
+
.visitor-type {
|
2040
|
+
display: flex;
|
2041
|
+
padding: 25px 29px;
|
2042
|
+
flex-direction: column;
|
2043
|
+
align-items: center;
|
2044
|
+
gap: 4px;
|
2045
|
+
flex: 1 0 0;
|
2046
|
+
align-self: stretch;
|
2047
|
+
border-radius: 10px;
|
2048
|
+
border: 1px solid #dbe2eb;
|
2049
|
+
background: #fff;
|
2050
|
+
cursor: pointer;
|
2051
|
+
|
2052
|
+
p {
|
2053
|
+
color: #172a41;
|
2054
|
+
text-align: center;
|
2055
|
+
line-height: 150%;
|
2056
|
+
}
|
2057
|
+
|
2058
|
+
&:hover {
|
2059
|
+
background: #f1f4f8;
|
2060
|
+
}
|
2061
|
+
}
|
2062
|
+
}
|
2063
|
+
|
2064
|
+
.profiles {
|
2065
|
+
width: 100%;
|
2066
|
+
border-collapse: collapse;
|
2067
|
+
margin-bottom: 16px;
|
2068
|
+
|
2069
|
+
td {
|
2070
|
+
color: #4e647f;
|
2071
|
+
line-height: 150%;
|
2072
|
+
text-align: left;
|
2073
|
+
padding: 8px;
|
2074
|
+
border-bottom: 1px solid #ddd;
|
2075
|
+
text-transform: capitalize;
|
2076
|
+
}
|
2077
|
+
|
2078
|
+
tr:hover {
|
2079
|
+
background-color: #f9f9f9;
|
2080
|
+
cursor: pointer;
|
2081
|
+
}
|
2082
|
+
|
2083
|
+
.radio-button {
|
2084
|
+
input {
|
2085
|
+
position: absolute;
|
2086
|
+
opacity: 0;
|
2087
|
+
|
2088
|
+
+ label {
|
2089
|
+
&:before {
|
2090
|
+
content: '';
|
2091
|
+
background: radial-gradient(circle, #dadada00 0%, #ffffff 100%);
|
2092
|
+
border-radius: 100%;
|
2093
|
+
border: 1px solid #a3b2c6;
|
2094
|
+
display: inline-block;
|
2095
|
+
width: 16px;
|
2096
|
+
height: 16px;
|
2097
|
+
position: relative;
|
2098
|
+
text-align: center;
|
2099
|
+
cursor: pointer;
|
2100
|
+
}
|
2101
|
+
}
|
2102
|
+
|
2103
|
+
&:checked {
|
2104
|
+
+ label {
|
2105
|
+
&:before {
|
2106
|
+
background-color: #397bf4;
|
2107
|
+
box-shadow: inset 0 0 0 4px #fff;
|
2108
|
+
}
|
2109
|
+
}
|
2110
|
+
}
|
2111
|
+
}
|
2112
|
+
}
|
2113
|
+
}
|
2114
|
+
|
2115
|
+
.product-handle-dropdown {
|
2116
|
+
position: relative;
|
2117
|
+
min-width: 552px;
|
2118
|
+
|
2119
|
+
.dropdown-trigger {
|
2120
|
+
border-radius: 5px;
|
2121
|
+
border: 1px solid #dbe2eb;
|
2122
|
+
background: #fff;
|
2123
|
+
|
2124
|
+
color: #4e647f;
|
2125
|
+
padding: 8px 16px;
|
2126
|
+
cursor: pointer;
|
2127
|
+
}
|
2128
|
+
|
2129
|
+
.dropdown-trigger::after {
|
2130
|
+
position: relative;
|
2131
|
+
content: '⌄';
|
2132
|
+
float: right;
|
2133
|
+
font-size: 22px;
|
2134
|
+
color: #4e647f;
|
2135
|
+
top: -8px;
|
2136
|
+
right: -7px;
|
2137
|
+
}
|
2138
|
+
|
2139
|
+
.dropdown-list {
|
2140
|
+
position: fixed;
|
2141
|
+
width: 100%;
|
2142
|
+
margin: 4px 0 0;
|
2143
|
+
padding: 0;
|
2144
|
+
list-style: none;
|
2145
|
+
border-radius: 5px;
|
2146
|
+
border: 1px solid #dbe2eb;
|
2147
|
+
background: #fff;
|
2148
|
+
display: none;
|
2149
|
+
}
|
2150
|
+
|
2151
|
+
.dropdown-item {
|
2152
|
+
padding: 10px;
|
2153
|
+
font-size: 14px;
|
2154
|
+
color: #333;
|
2155
|
+
cursor: pointer;
|
2156
|
+
}
|
2157
|
+
|
2158
|
+
.dropdown-item:hover {
|
2159
|
+
background-color: #f0f0f0;
|
2160
|
+
box-shadow: 0 0 4px rgba(57, 123, 244, 0.5);
|
2161
|
+
}
|
2162
|
+
|
2163
|
+
.dropdown-list.show {
|
2164
|
+
display: block;
|
2165
|
+
}
|
2166
|
+
}
|
2167
|
+
|
2168
|
+
.finish-btn {
|
2169
|
+
align-self: baseline;
|
2170
|
+
margin-top: 12px;
|
2171
|
+
padding: 10px 36px;
|
2172
|
+
border-radius: 5px;
|
2173
|
+
background: #f25c2b;
|
2174
|
+
color: #fff;
|
2175
|
+
line-height: 150%;
|
2176
|
+
text-transform: capitalize;
|
2177
|
+
|
2178
|
+
&:hover {
|
2179
|
+
background-color: #cd4b27;
|
2180
|
+
}
|
2181
|
+
}
|
2182
|
+
`;
|
2183
|
+
|
2184
|
+
const searchBtn = b `
|
2185
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" viewBox="0 0 56 56" fill="none">
|
2186
|
+
<path d="M50.7494 48.2748L37.5333 35.0586C40.709 31.246 42.2926 26.3558 41.9547 21.4053C41.6167 16.4548 39.3832 11.8252 35.7188 8.47954C32.0544 5.13387 27.2412 3.32975 22.2805 3.44248C17.3197 3.55521 12.5934 5.57611 9.08477 9.08477C5.57611 12.5934 3.55521 17.3197 3.44248 22.2805C3.32975 27.2412 5.13387 32.0544 8.47954 35.7188C11.8252 39.3832 16.4548 41.6167 21.4053 41.9547C26.3558 42.2926 31.246 40.709 35.0586 37.5333L48.2748 50.7494L50.7494 48.2748ZM6.99944 22.7494C6.99944 19.6344 7.92316 16.5893 9.65379 13.9992C11.3844 11.4091 13.8442 9.39042 16.7222 8.19834C19.6001 7.00625 22.7669 6.69435 25.8221 7.30207C28.8773 7.90979 31.6837 9.40983 33.8864 11.6125C36.089 13.8152 37.5891 16.6216 38.1968 19.6768C38.8045 22.732 38.4926 25.8988 37.3005 28.7767C36.1085 31.6546 34.0897 34.1145 31.4997 35.8451C28.9096 37.5757 25.8645 38.4994 22.7494 38.4994C18.5737 38.4948 14.5703 36.834 11.6176 33.8813C8.66493 30.9286 7.00407 26.9252 6.99944 22.7494Z" fill="#172A41"/>
|
2187
|
+
</svg>`;
|
2188
|
+
const backBtn = b `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
2189
|
+
<path d="M10 5H3.90745L5.70115 3.20705L5 2.5L2 5.5L5 8.5L5.70115 7.7927L3.90895 6H10C10.7956 6 11.5587 6.31607 12.1213 6.87868C12.6839 7.44129 13 8.20435 13 9C13 9.79565 12.6839 10.5587 12.1213 11.1213C11.5587 11.6839 10.7956 12 10 12H6V13H10C11.0609 13 12.0783 12.5786 12.8284 11.8284C13.5786 11.0783 14 10.0609 14 9C14 7.93913 13.5786 6.92172 12.8284 6.17157C12.0783 5.42143 11.0609 5 10 5Z" fill="#4E647F"/>
|
2190
|
+
</svg>`;
|
2191
|
+
const anonymousIcon = b `<svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" viewBox="0 0 56 56" fill="none">
|
2192
|
+
<path d="M40.2501 47.0666C44.9122 47.0666 48.7062 43.2744 48.7062 38.6123C48.7062 33.9502 44.9122 30.1562 40.2501 30.1562C37.0516 30.1562 34.2957 31.9628 32.8592 34.5894H23.1404C21.7042 31.9627 18.9486 30.1562 15.7501 30.1562C11.088 30.1562 7.29492 33.9502 7.29492 38.6123C7.29492 43.2744 11.088 47.0666 15.7501 47.0666C20.4122 47.0666 24.2053 43.2744 24.2053 38.6123C24.2053 38.4333 24.1634 38.2657 24.1524 38.0894H31.8469C31.8359 38.2657 31.7941 38.4333 31.7941 38.6123C31.7941 43.2744 35.588 47.0666 40.2501 47.0666ZM40.2501 33.6562C42.9828 33.6562 45.2062 35.8796 45.2062 38.6123C45.2062 41.3449 42.9828 43.5666 40.2501 43.5666C37.5175 43.5666 35.2941 41.3449 35.2941 38.6123C35.2941 35.8796 37.5174 33.6562 40.2501 33.6562ZM15.7501 43.5666C13.0175 43.5666 10.7949 41.345 10.7949 38.6123C10.7949 35.8796 13.0175 33.6562 15.7501 33.6562C18.4828 33.6562 20.7053 35.8796 20.7053 38.6123C20.7053 41.345 18.4828 43.5666 15.7501 43.5666Z" fill="#172A41"/>
|
2193
|
+
<path d="M52.9806 25.8736C50.2295 25.0875 47.4504 24.4455 44.6554 23.9242L41.9653 10.3454C41.8603 9.83795 41.5453 9.40045 41.1078 9.15543C40.6528 8.91041 40.1103 8.87548 39.6379 9.05043C32.1303 11.8854 23.8704 11.8854 16.3628 9.05043C15.8904 8.85796 15.3479 8.91039 14.9104 9.15543C14.4554 9.40045 14.1404 9.83795 14.0354 10.3454L11.3453 23.9242C8.54998 24.4455 5.77063 25.0875 3.01928 25.8736C2.09045 26.1402 1.55212 27.1091 1.81787 28.0371C2.08363 28.9668 3.05176 29.4949 3.98145 29.2403C19.6956 24.749 36.306 24.749 52.0201 29.2403C52.1808 29.2847 52.3414 29.3069 52.5004 29.3069C53.2626 29.3069 53.9633 28.8062 54.1837 28.0371C54.4486 27.1092 53.9103 26.1402 52.9806 25.8736ZM15.0285 23.3093L17.0804 13.0054C24.1854 15.2454 31.8153 15.2454 38.9203 13.0054L40.9668 23.3085C32.3632 22.0673 23.6325 22.0676 15.0285 23.3093Z" fill="#172A41"/>
|
2194
|
+
</svg>`;
|
2195
|
+
const profilePlusIcon = b `<svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" viewBox="0 0 56 56" fill="none">
|
2196
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M21 7C22.7306 7 24.4223 7.51318 25.8612 8.47464C27.3002 9.4361 28.4217 10.8027 29.084 12.4015C29.7462 14.0004 29.9195 15.7597 29.5819 17.457C29.2443 19.1544 28.4109 20.7135 27.1872 21.9372C25.9635 23.1609 24.4044 23.9942 22.707 24.3319C21.0097 24.6695 19.2504 24.4962 17.6515 23.8339C16.0527 23.1717 14.6861 22.0502 13.7246 20.6112C12.7632 19.1723 12.25 17.4806 12.25 15.75C12.25 13.4294 13.1719 11.2038 14.8128 9.56282C16.4538 7.92187 18.6794 7 21 7ZM21 3.5C18.5772 3.5 16.2088 4.21845 14.1943 5.5645C12.1798 6.91054 10.6097 8.82373 9.68248 11.0621C8.75531 13.3005 8.51272 15.7636 8.98539 18.1399C9.45805 20.5161 10.6248 22.6989 12.3379 24.4121C14.0511 26.1252 16.2339 27.2919 18.6101 27.7646C20.9864 28.2373 23.4495 27.9947 25.6879 27.0675C27.9263 26.1403 29.8395 24.5702 31.1855 22.5557C32.5316 20.5412 33.25 18.1728 33.25 15.75C33.25 12.5011 31.9594 9.38526 29.6621 7.08794C27.3647 4.79062 24.2489 3.5 21 3.5ZM56 24.5H49V17.5H45.5V24.5H38.5V28H45.5V35H49V28H56V24.5ZM35 52.5H38.5V43.75C38.5 40.5011 37.2094 37.3853 34.9121 35.0879C32.6147 32.7906 29.4989 31.5 26.25 31.5H15.75C12.5011 31.5 9.38526 32.7906 7.08794 35.0879C4.79062 37.3853 3.5 40.5011 3.5 43.75V52.5H7V43.75C7 41.4294 7.92187 39.2038 9.56282 37.5628C11.2038 35.9219 13.4294 35 15.75 35H26.25C28.5706 35 30.7962 35.9219 32.4372 37.5628C34.0781 39.2038 35 41.4294 35 43.75V52.5Z" fill="#172A41"/>
|
2197
|
+
</svg>`;
|
2198
|
+
|
2199
|
+
let PersonalizeDialog =
|
2200
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
2201
|
+
class PersonalizeDialog extends s {
|
2202
|
+
constructor() {
|
2203
|
+
super(...arguments);
|
2204
|
+
this.isLoading = false;
|
2205
|
+
this.nextStep = () => this.loadState();
|
2206
|
+
this.getContent = () => {
|
2207
|
+
if (this.isLoading) {
|
2208
|
+
return x ` <load-spinner></load-spinner> `;
|
2209
|
+
}
|
2210
|
+
switch (this.state) {
|
2211
|
+
case 'profile-type': {
|
2212
|
+
return this.selectProfileType();
|
2213
|
+
}
|
2214
|
+
case 'profiles': {
|
2215
|
+
return this.selectProfile();
|
2216
|
+
}
|
2217
|
+
case 'visitor-type': {
|
2218
|
+
return this.selectVisitorType();
|
2219
|
+
}
|
2220
|
+
case 'product-handle': {
|
2221
|
+
return this.selectProductHandle();
|
2222
|
+
}
|
2223
|
+
}
|
2224
|
+
return T;
|
2225
|
+
};
|
2226
|
+
}
|
2227
|
+
showModal() {
|
2228
|
+
this.loadState();
|
2229
|
+
this.dialogModal.showModal();
|
2230
|
+
}
|
2231
|
+
resetProperties() {
|
2232
|
+
this.state = 'profile-type';
|
2233
|
+
this.profileType = undefined;
|
2234
|
+
this.selectedProfile = undefined;
|
2235
|
+
this.visitorType = undefined;
|
2236
|
+
this.productHandle = undefined;
|
2237
|
+
}
|
2238
|
+
async handleSubmit() {
|
2239
|
+
var _a, _b;
|
2240
|
+
const devContext = {};
|
2241
|
+
this.isLoading = true;
|
2242
|
+
const profile = (_a = this.defaultProfiles) === null || _a === void 0 ? void 0 : _a.find((profile) => profile.email === this.selectedProfile);
|
2243
|
+
if (profile) {
|
2244
|
+
devContext.email = profile.email;
|
2245
|
+
devContext.firstName = profile.firstName;
|
2246
|
+
devContext.city = profile.city;
|
2247
|
+
devContext.gender = (_b = profile.gender) === null || _b === void 0 ? void 0 : _b.toLowerCase();
|
2248
|
+
}
|
2249
|
+
if (this.productHandle) {
|
2250
|
+
devContext.productHandle = this.productHandle;
|
2251
|
+
}
|
2252
|
+
this.resetProperties();
|
2253
|
+
await this.createChatThread({
|
2254
|
+
title: '',
|
2255
|
+
devContext,
|
2256
|
+
}, true);
|
2257
|
+
this.dialogModal.close();
|
2258
|
+
this.isLoading = false;
|
2259
|
+
}
|
2260
|
+
loadState() {
|
2261
|
+
if (!this.profileType) {
|
2262
|
+
this.state = 'profile-type';
|
2263
|
+
return;
|
2264
|
+
}
|
2265
|
+
if (this.profileType === 'returning' && !this.selectedProfile) {
|
2266
|
+
this.state = 'profiles';
|
2267
|
+
return;
|
2268
|
+
}
|
2269
|
+
if (!this.visitorType) {
|
2270
|
+
this.state = 'visitor-type';
|
2271
|
+
return;
|
2272
|
+
}
|
2273
|
+
if (!this.productHandle) {
|
2274
|
+
this.state = 'product-handle';
|
2275
|
+
return;
|
2276
|
+
}
|
2277
|
+
}
|
2278
|
+
handleBackStep() {
|
2279
|
+
if (this.state === 'profile-type') {
|
2280
|
+
return;
|
2281
|
+
}
|
2282
|
+
if (this.state === 'profiles') {
|
2283
|
+
this.profileType = undefined;
|
2284
|
+
}
|
2285
|
+
if (this.state === 'visitor-type') {
|
2286
|
+
this.selectedProfile = undefined;
|
2287
|
+
if (this.profileType === 'anonymous') {
|
2288
|
+
this.profileType = undefined;
|
2289
|
+
}
|
2290
|
+
}
|
2291
|
+
if (this.state === 'product-handle') {
|
2292
|
+
this.visitorType = undefined;
|
2293
|
+
}
|
2294
|
+
this.loadState();
|
2295
|
+
}
|
2296
|
+
selectProfileType() {
|
2297
|
+
return x `
|
2298
|
+
<p>Select profile type:</p>
|
2299
|
+
<div class="profile-types">
|
2300
|
+
<div
|
2301
|
+
class="profile-type"
|
2302
|
+
@click=${() => {
|
2303
|
+
this.profileType = 'anonymous';
|
2304
|
+
this.nextStep();
|
2305
|
+
}}
|
2306
|
+
>
|
2307
|
+
${anonymousIcon}
|
2308
|
+
<p>Stay Anonymous</p>
|
2309
|
+
</div>
|
2310
|
+
<div
|
2311
|
+
class="profile-type"
|
2312
|
+
@click=${() => {
|
2313
|
+
this.profileType = 'returning';
|
2314
|
+
this.nextStep();
|
2315
|
+
}}
|
2316
|
+
>
|
2317
|
+
${profilePlusIcon}
|
2318
|
+
<p>Pick your profile</p>
|
2319
|
+
</div>
|
2320
|
+
</div>
|
2321
|
+
`;
|
2322
|
+
}
|
2323
|
+
selectProfile() {
|
2324
|
+
var _a;
|
2325
|
+
const handleProfileSelection = (email) => {
|
2326
|
+
this.selectedProfile = email;
|
2327
|
+
this.nextStep();
|
2328
|
+
};
|
2329
|
+
return x `
|
2330
|
+
<p>Select Profile for a returning customer:</p>
|
2331
|
+
<table class="profiles">
|
2332
|
+
<tbody>
|
2333
|
+
${(_a = this.defaultProfiles) === null || _a === void 0 ? void 0 : _a.map((profile) => x `
|
2334
|
+
<tr @click=${handleProfileSelection.bind(this, profile.email)}>
|
2335
|
+
<td class="radio-button btn">
|
2336
|
+
<input
|
2337
|
+
type="radio"
|
2338
|
+
name="profile"
|
2339
|
+
?checked=${this.selectedProfile === profile.email}
|
2340
|
+
/>
|
2341
|
+
<label></label>
|
2342
|
+
</td>
|
2343
|
+
<td>${profile.firstName}</td>
|
2344
|
+
<td>${profile.gender}</td>
|
2345
|
+
<td>
|
2346
|
+
${profile.city} ${profile.state ? ` - ${profile.state}` : ''}
|
2347
|
+
</td>
|
2348
|
+
<td>
|
2349
|
+
${profile.hasOrderHistory
|
2350
|
+
? 'Returning Buyer'
|
2351
|
+
: 'Visitor only'}
|
2352
|
+
</td>
|
2353
|
+
</tr>
|
2354
|
+
`)}
|
2355
|
+
</tbody>
|
2356
|
+
</table>
|
2357
|
+
`;
|
2358
|
+
}
|
2359
|
+
selectVisitorType() {
|
2360
|
+
return x `
|
2361
|
+
<p>Visitation Context:</p>
|
2362
|
+
<div class="visitor-types">
|
2363
|
+
<div
|
2364
|
+
class="visitor-type"
|
2365
|
+
@click=${() => {
|
2366
|
+
this.visitorType = 'direct';
|
2367
|
+
this.handleSubmit();
|
2368
|
+
}}
|
2369
|
+
>
|
2370
|
+
${searchBtn}
|
2371
|
+
<p>Direct Visit</p>
|
2372
|
+
</div>
|
2373
|
+
<div
|
2374
|
+
class="visitor-type"
|
2375
|
+
@click=${() => {
|
2376
|
+
this.visitorType = 'ad';
|
2377
|
+
this.nextStep();
|
2378
|
+
}}
|
2379
|
+
>
|
2380
|
+
${cursorBtn}
|
2381
|
+
<p>Via Ad</p>
|
2382
|
+
</div>
|
2383
|
+
</div>
|
2384
|
+
`;
|
2385
|
+
}
|
2386
|
+
selectProductHandle() {
|
2387
|
+
var _a;
|
2388
|
+
const getProductHandleLabel = (productHandle) => productHandle
|
2389
|
+
.replace(/\b[a-z]/g, (char) => char.toUpperCase())
|
2390
|
+
.replaceAll('-', ' ');
|
2391
|
+
return x `
|
2392
|
+
<p>Select Product Handle:</p>
|
2393
|
+
<div class="product-handle-dropdown">
|
2394
|
+
<div
|
2395
|
+
class="dropdown-trigger"
|
2396
|
+
@click=${() => {
|
2397
|
+
this.dropdownList.classList.toggle('show');
|
2398
|
+
// set the width dynamically
|
2399
|
+
const { width } = this.dropdownTrigger.getBoundingClientRect();
|
2400
|
+
this.dropdownList.style.width = `${width}px`;
|
2401
|
+
}}
|
2402
|
+
>
|
2403
|
+
${this.productHandle
|
2404
|
+
? getProductHandleLabel(this.productHandle)
|
2405
|
+
: 'Select Product'}
|
2406
|
+
</div>
|
2407
|
+
<ul class="dropdown-list">
|
2408
|
+
${(_a = this.defaultProductHandles) === null || _a === void 0 ? void 0 : _a.map((productHandle) => x `<li
|
2409
|
+
class="dropdown-item"
|
2410
|
+
@click=${() => {
|
2411
|
+
this.productHandle = productHandle;
|
2412
|
+
this.dropdownList.classList.remove('show');
|
2413
|
+
}}
|
2414
|
+
>
|
2415
|
+
${getProductHandleLabel(productHandle)}
|
2416
|
+
</li>`)}
|
2417
|
+
</ul>
|
2418
|
+
</div>
|
2419
|
+
${this.productHandle
|
2420
|
+
? x `<button class="finish-btn" @click=${this.handleSubmit}>
|
2421
|
+
Finish
|
2422
|
+
</button>`
|
2423
|
+
: T}
|
2424
|
+
`;
|
2425
|
+
}
|
2426
|
+
render() {
|
2427
|
+
return x `
|
2428
|
+
<dialog>
|
2429
|
+
<div class="dialog-title">
|
2430
|
+
${this.state !== 'profile-type'
|
2431
|
+
? x `<div class="back-btn btn" @click=${this.handleBackStep}>
|
2432
|
+
${backBtn}
|
2433
|
+
</div>`
|
2434
|
+
: T}
|
2435
|
+
<h2>Personalize your search</h2>
|
2436
|
+
<div class="close-btn btn" @click=${() => this.dialogModal.close()}>
|
2437
|
+
${closeBtn}
|
2438
|
+
</div>
|
2439
|
+
</div>
|
2440
|
+
<div class="dialog-content">${this.getContent()}</div>
|
2441
|
+
</dialog>
|
2442
|
+
`;
|
2443
|
+
}
|
2444
|
+
};
|
2445
|
+
PersonalizeDialog.styles = [personalizeDialogStyles];
|
2446
|
+
__decorate([
|
2447
|
+
e$2('dialog'),
|
2448
|
+
__metadata("design:type", HTMLDialogElement)
|
2449
|
+
], PersonalizeDialog.prototype, "dialogModal", void 0);
|
2450
|
+
__decorate([
|
2451
|
+
e$2('.dropdown-list'),
|
2452
|
+
__metadata("design:type", HTMLUListElement)
|
2453
|
+
], PersonalizeDialog.prototype, "dropdownList", void 0);
|
2454
|
+
__decorate([
|
2455
|
+
e$2('.dropdown-trigger'),
|
2456
|
+
__metadata("design:type", HTMLDivElement)
|
2457
|
+
], PersonalizeDialog.prototype, "dropdownTrigger", void 0);
|
2458
|
+
__decorate([
|
2459
|
+
n({ type: Array }),
|
2460
|
+
__metadata("design:type", Array)
|
2461
|
+
], PersonalizeDialog.prototype, "defaultProductHandles", void 0);
|
2462
|
+
__decorate([
|
2463
|
+
n({ type: Array }),
|
2464
|
+
__metadata("design:type", Array)
|
2465
|
+
], PersonalizeDialog.prototype, "defaultProfiles", void 0);
|
2466
|
+
__decorate([
|
2467
|
+
n({ type: Boolean }),
|
2468
|
+
__metadata("design:type", Boolean)
|
2469
|
+
], PersonalizeDialog.prototype, "isLoading", void 0);
|
2470
|
+
__decorate([
|
2471
|
+
n({ type: String }),
|
2472
|
+
__metadata("design:type", Object)
|
2473
|
+
], PersonalizeDialog.prototype, "state", void 0);
|
2474
|
+
__decorate([
|
2475
|
+
n({ type: String }),
|
2476
|
+
__metadata("design:type", Object)
|
2477
|
+
], PersonalizeDialog.prototype, "profileType", void 0);
|
2478
|
+
__decorate([
|
2479
|
+
n({ type: String }),
|
2480
|
+
__metadata("design:type", Object)
|
2481
|
+
], PersonalizeDialog.prototype, "selectedProfile", void 0);
|
2482
|
+
__decorate([
|
2483
|
+
n({ type: String }),
|
2484
|
+
__metadata("design:type", Object)
|
2485
|
+
], PersonalizeDialog.prototype, "visitorType", void 0);
|
2486
|
+
__decorate([
|
2487
|
+
n({ type: String }),
|
2488
|
+
__metadata("design:type", Object)
|
2489
|
+
], PersonalizeDialog.prototype, "productHandle", void 0);
|
2490
|
+
PersonalizeDialog = __decorate([
|
2491
|
+
t$1('personalize-dialog')
|
2492
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
2493
|
+
], PersonalizeDialog);
|
2494
|
+
|
2495
|
+
const plusBtn = b `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
2496
|
+
<path d="M12.75 11.25V6H11.25V11.25H6V12.75H11.25V18H12.75V12.75H18V11.25H12.75Z" fill="white"/>
|
2497
|
+
</svg>`;
|
2498
|
+
const timerBtn = b `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
2499
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.16652 20.7304C7.89323 21.8842 9.9233 22.5 12 22.5C14.7848 22.5 17.4555 21.3938 19.4246 19.4246C21.3938 17.4555 22.5 14.7848 22.5 12C22.5 9.9233 21.8842 7.89323 20.7304 6.16652C19.5767 4.4398 17.9368 3.09399 16.0182 2.29927C14.0996 1.50455 11.9884 1.29661 9.95156 1.70176C7.91476 2.1069 6.04383 3.10693 4.57538 4.57538C3.10693 6.04383 2.1069 7.91476 1.70176 9.95156C1.29661 11.9884 1.50455 14.0996 2.29927 16.0182C3.09399 17.9368 4.4398 19.5767 6.16652 20.7304ZM6.99987 4.51678C8.47992 3.52785 10.22 3 12 3C14.387 3 16.6761 3.94822 18.364 5.63604C20.0518 7.32387 21 9.61306 21 12C21 13.78 20.4722 15.5201 19.4832 17.0001C18.4943 18.4802 17.0887 19.6337 15.4442 20.3149C13.7996 20.9961 11.99 21.1743 10.2442 20.8271C8.49836 20.4798 6.89472 19.6226 5.63604 18.364C4.37737 17.1053 3.5202 15.5016 3.17294 13.7558C2.82567 12.01 3.0039 10.2004 3.68509 8.55585C4.36628 6.91132 5.51983 5.50571 6.99987 4.51678ZM11.25 12.3075L15.4425 16.5L16.5 15.4425L12.75 11.685V5.25H11.25V12.3075Z" fill="white"/>
|
2500
|
+
</svg>`;
|
2501
|
+
const crossBtn = b `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
2502
|
+
<path d="M18 7.05L16.95 6L12 10.95L7.05 6L6 7.05L10.95 12L6 16.95L7.05 18L12 13.05L16.95 18L18 16.95L13.05 12L18 7.05Z" fill="white"/>
|
2503
|
+
</svg>`;
|
2504
|
+
|
2505
|
+
let ChatSection =
|
2506
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
2507
|
+
class ChatSection extends s {
|
2508
|
+
constructor() {
|
2509
|
+
super(...arguments);
|
2510
|
+
this.showChatThreads = false;
|
2511
|
+
this.userQuery = '';
|
2512
|
+
}
|
2513
|
+
scrollToBottom() {
|
2514
|
+
var _a;
|
2515
|
+
(_a = this.chatWindowElement) === null || _a === void 0 ? void 0 : _a.scrollTo({
|
2516
|
+
top: this.chatWindowElement.scrollHeight,
|
2517
|
+
behavior: 'smooth',
|
2518
|
+
});
|
2519
|
+
}
|
2520
|
+
async processMessage(e, message) {
|
2521
|
+
this.scrollToBottom();
|
2522
|
+
if (!this.thread) {
|
2523
|
+
await this.createChatThread({ title: '' }, false);
|
2524
|
+
}
|
2525
|
+
await this.sendMessageToServer(e, message);
|
2526
|
+
}
|
2527
|
+
async onSubmit(e) {
|
2528
|
+
var _a;
|
2529
|
+
e.preventDefault();
|
2530
|
+
const message = (_a = this.userQuery) === null || _a === void 0 ? void 0 : _a.trim();
|
2531
|
+
this.userQuery = '';
|
2532
|
+
await this.processMessage(e, message);
|
2533
|
+
}
|
2534
|
+
typingIndicator() {
|
2535
|
+
return x `<div class="typing-dots">
|
2536
|
+
<div class="dot"></div>
|
2537
|
+
<div class="dot"></div>
|
2538
|
+
<div class="dot"></div>
|
2539
|
+
</div>`;
|
2540
|
+
}
|
2541
|
+
botMessage(message) {
|
2542
|
+
var _a;
|
2543
|
+
return x `
|
2544
|
+
<div class="message-wrapper">
|
2545
|
+
<div class="message bot">
|
2546
|
+
<div>
|
2547
|
+
<div class="bot-icon">${botIcon}</div>
|
2548
|
+
</div>
|
2549
|
+
<div>
|
2550
|
+
${message.message ? x `<p>${message.message}</p>` : T}
|
2551
|
+
${this.viewType !== 'modal' && ((_a = message.products) === null || _a === void 0 ? void 0 : _a[0])
|
2552
|
+
? x `
|
2553
|
+
<span class="line"></span>
|
2554
|
+
<div class="product-container">
|
2555
|
+
<product-item
|
2556
|
+
.product=${message.products[0]}
|
2557
|
+
.siteCurrency=${this.siteCurrency}
|
2558
|
+
></product-item>
|
2559
|
+
</div>
|
2560
|
+
`
|
2561
|
+
: T}
|
2562
|
+
</div>
|
2563
|
+
</div>
|
2564
|
+
${this.viewType === 'modal' && message.products
|
2565
|
+
? x `<products-list
|
2566
|
+
.products=${message.products}
|
2567
|
+
.siteCurrency=${this.siteCurrency}
|
2568
|
+
.viewType=${this.viewType}
|
2569
|
+
></products-list>`
|
2570
|
+
: T}
|
2571
|
+
</div>
|
2572
|
+
`;
|
2573
|
+
}
|
2574
|
+
chatWindow() {
|
2575
|
+
if (this.isLoadingHistory) {
|
2576
|
+
return x ` <load-spinner></load-spinner> `;
|
2577
|
+
}
|
2578
|
+
return x `
|
2579
|
+
<div class="messages">
|
2580
|
+
${this.isTyping
|
2581
|
+
? x `<div class="message bot">
|
2582
|
+
<div>
|
2583
|
+
<div class="bot-icon">${botIcon}</div>
|
2584
|
+
</div>
|
2585
|
+
${this.typingIndicator()}
|
2586
|
+
</div>`
|
2587
|
+
: ''}
|
2588
|
+
${this.isFailed
|
2589
|
+
? this.botMessage({
|
2590
|
+
sender: 'bot',
|
2591
|
+
message: "Uh-oh! Looks like I tripped over some alpha-stage wires. Things are still a bit wobbly here, buy hey, that's what testing is for, Let's try that again; or feel free to throw another challenge my way!",
|
2592
|
+
})
|
2593
|
+
: T}
|
2594
|
+
${this.messages.map((message) => {
|
2595
|
+
if (message.sender === 'bot') {
|
2596
|
+
return this.botMessage(message);
|
2597
|
+
}
|
2598
|
+
return x ` <div class="message user">${message.message}</div> `;
|
2599
|
+
})}
|
2600
|
+
<div class="message bot">
|
2601
|
+
<div>
|
2602
|
+
<div class="bot-icon">${botIcon}</div>
|
2603
|
+
</div>
|
2604
|
+
<div>
|
2605
|
+
<p>
|
2606
|
+
Welcome to the personalized search! How can we help?
|
2607
|
+
<br />
|
2608
|
+
<br />
|
2609
|
+
Type your search query or select one of the prompts to get
|
2610
|
+
started:
|
2611
|
+
</p>
|
2612
|
+
</div>
|
2613
|
+
</div>
|
2614
|
+
</div>
|
2615
|
+
`;
|
2616
|
+
}
|
2617
|
+
quickPrompts() {
|
2618
|
+
var _a;
|
2619
|
+
if (((_a = this.thread) === null || _a === void 0 ? void 0 : _a.threadId) || this.messages.length) {
|
2620
|
+
return T;
|
2621
|
+
}
|
2622
|
+
const defaultPrompts = ['Best Selling Items', 'Hot Sales'];
|
2623
|
+
return x `
|
2624
|
+
<div class="prompts btn">
|
2625
|
+
${defaultPrompts.map((prompt) => x `
|
2626
|
+
<div
|
2627
|
+
class="prompt"
|
2628
|
+
@click=${(e) => this.processMessage(e, prompt)}
|
2629
|
+
>
|
2630
|
+
${prompt}
|
2631
|
+
</div>
|
2632
|
+
`)}
|
2633
|
+
</div>
|
2634
|
+
`;
|
2635
|
+
}
|
2636
|
+
showContext() {
|
2637
|
+
var _a;
|
2638
|
+
if (!((_a = this.thread) === null || _a === void 0 ? void 0 : _a.devContext)) {
|
2639
|
+
return x `
|
2640
|
+
<div class="context-container">
|
2641
|
+
<div class="context-title">
|
2642
|
+
<p>Context</p>
|
2643
|
+
<div
|
2644
|
+
class="btn"
|
2645
|
+
@click=${() => {
|
2646
|
+
if (!this.contextContainerElement) {
|
2647
|
+
return;
|
2648
|
+
}
|
2649
|
+
this.contextContainerElement.classList.remove('show');
|
2650
|
+
}}
|
2651
|
+
>
|
2652
|
+
${closeBtn}
|
2653
|
+
</div>
|
2654
|
+
</div>
|
2655
|
+
<p>
|
2656
|
+
This search thread has no pre-defined context. Start a new search to
|
2657
|
+
personalize.
|
2658
|
+
</p>
|
2659
|
+
</div>
|
2660
|
+
`;
|
2661
|
+
}
|
2662
|
+
const devContext = this.thread.devContext;
|
2663
|
+
const profileType = devContext.email
|
2664
|
+
? 'Pick your profile'
|
2665
|
+
: 'Stay Anonymous';
|
2666
|
+
const userDetails = devContext.email
|
2667
|
+
? `${capitalizeEachWord(devContext.firstName)} / ${capitalizeEachWord(devContext.gender)} / ${devContext.city} / ${devContext.state ? `- ${capitalizeEachWord(devContext.state)}` : ''} - ${devContext.preferences
|
2668
|
+
? `${devContext.preferences.size},${capitalizeEachWord(devContext.preferences.color)},${capitalizeEachWord(devContext.preferences.material)}`
|
2669
|
+
: ''}`
|
2670
|
+
: '';
|
2671
|
+
const visitationType = devContext.productHandle ? 'Via Ad' : 'Direct Visit';
|
2672
|
+
return x `
|
2673
|
+
<div class="context-container">
|
2674
|
+
<div class="context-title">
|
2675
|
+
<p>Context</p>
|
2676
|
+
<div
|
2677
|
+
class="btn"
|
2678
|
+
@click=${() => {
|
2679
|
+
var _a;
|
2680
|
+
(_a = this.contextContainerElement) === null || _a === void 0 ? void 0 : _a.classList.remove('show');
|
2681
|
+
}}
|
2682
|
+
>
|
2683
|
+
${closeBtn}
|
2684
|
+
</div>
|
2685
|
+
</div>
|
2686
|
+
<div>
|
2687
|
+
<div class="context">
|
2688
|
+
<span>Profile Type:</span>${' '}
|
2689
|
+
<span class="context-type-value"> ${profileType} </span>
|
2690
|
+
</div>
|
2691
|
+
${userDetails
|
2692
|
+
? x `<div class="context user-details">${userDetails}</div>`
|
2693
|
+
: T}
|
2694
|
+
</div>
|
2695
|
+
<div>
|
2696
|
+
<div class="context">
|
2697
|
+
<span>Visitation Context:</span>${' '}
|
2698
|
+
<span class="context-type-value">${visitationType}</span>
|
2699
|
+
</div>
|
2700
|
+
${devContext.productHandle
|
2701
|
+
? x `<div class="context product-handle">
|
2702
|
+
${devContext.productHandle}
|
2703
|
+
</div>`
|
2704
|
+
: T}
|
2705
|
+
</div>
|
2706
|
+
</div>
|
2707
|
+
`;
|
2708
|
+
}
|
2709
|
+
modalViewHeader() {
|
2710
|
+
var _a;
|
2711
|
+
return x `
|
2712
|
+
<div>${botIcon}</div>
|
2713
|
+
<h2>${((_a = this.thread) === null || _a === void 0 ? void 0 : _a.title) || 'New Search'}</h2>
|
2714
|
+
<div class="btns-wrapper">
|
2715
|
+
<button
|
2716
|
+
class="btn btn-icon new-search-btn"
|
2717
|
+
title="New chat"
|
2718
|
+
@click=${async () => {
|
2719
|
+
var _a;
|
2720
|
+
await ((_a = this.setSelectedThreadId) === null || _a === void 0 ? void 0 : _a.call(this, ''));
|
2721
|
+
}}
|
2722
|
+
>
|
2723
|
+
${plusBtn}
|
2724
|
+
</button>
|
2725
|
+
<button
|
2726
|
+
class=${e({
|
2727
|
+
btn: true,
|
2728
|
+
'btn-icon': true,
|
2729
|
+
'threads-btn': true,
|
2730
|
+
active: this.showChatThreads,
|
2731
|
+
})}
|
2732
|
+
title="Your Search History"
|
2733
|
+
@click=${() => {
|
2734
|
+
this.showChatThreads = !this.showChatThreads;
|
2735
|
+
}}
|
2736
|
+
>
|
2737
|
+
${timerBtn}
|
2738
|
+
</button>
|
2739
|
+
<button
|
2740
|
+
class="btn btn-icon close-btn"
|
2741
|
+
title="Close chat"
|
2742
|
+
@click=${() => { var _a; return (_a = this.closeModal) === null || _a === void 0 ? void 0 : _a.call(this); }}
|
2743
|
+
>
|
2744
|
+
${crossBtn}
|
2745
|
+
</button>
|
2746
|
+
</div>
|
2747
|
+
`;
|
2748
|
+
}
|
2749
|
+
contextButton() {
|
2750
|
+
var _a, _b, _c, _d;
|
2751
|
+
if (this.viewType === 'modal') {
|
2752
|
+
return this.modalViewHeader();
|
2753
|
+
}
|
2754
|
+
if (!this.devMode) {
|
2755
|
+
return ((_a = this.thread) === null || _a === void 0 ? void 0 : _a.threadId)
|
2756
|
+
? x `<h2>${((_b = this.thread) === null || _b === void 0 ? void 0 : _b.title) || 'New Search'}</h2>`
|
2757
|
+
: x `<h2>New Search</h2>`;
|
2758
|
+
}
|
2759
|
+
if ((_c = this.thread) === null || _c === void 0 ? void 0 : _c.threadId) {
|
2760
|
+
return x `
|
2761
|
+
<h2>${((_d = this.thread) === null || _d === void 0 ? void 0 : _d.title) || 'New Search'}</h2>
|
2762
|
+
<button
|
2763
|
+
class="btn-context btn"
|
2764
|
+
@click=${() => {
|
2765
|
+
if (!this.contextContainerElement) {
|
2766
|
+
return;
|
2767
|
+
}
|
2768
|
+
this.contextContainerElement.classList.toggle('show');
|
2769
|
+
}}
|
2770
|
+
>
|
2771
|
+
SHOW CONTEXT
|
2772
|
+
</button>
|
2773
|
+
${this.showContext()}
|
2774
|
+
`;
|
2775
|
+
}
|
2776
|
+
return x `
|
2777
|
+
<h2>Click personalize for hyper Contextual</h2>
|
2778
|
+
<button
|
2779
|
+
class="btn-context active btn"
|
2780
|
+
@click=${() => this.personalizeDialogElement.showModal()}
|
2781
|
+
>
|
2782
|
+
Personalize
|
2783
|
+
</button>
|
2784
|
+
`;
|
2785
|
+
}
|
2786
|
+
renderChatThreads() {
|
2787
|
+
if (!this.chatThreads || !this.showChatThreads) {
|
2788
|
+
return T;
|
2789
|
+
}
|
2790
|
+
return x `<div id="modal-chat-threads">
|
2791
|
+
<div class="chat-threads">
|
2792
|
+
<h2>Your Search History</h2>
|
2793
|
+
<div class="thread-titles-wrapper">
|
2794
|
+
${o(this.chatThreads.values(), (thread) => x `
|
2795
|
+
<p
|
2796
|
+
class=${e({
|
2797
|
+
'thread-title': true,
|
2798
|
+
disabled: this.isTyping,
|
2799
|
+
})}
|
2800
|
+
@click=${async () => {
|
2801
|
+
var _a;
|
2802
|
+
if (this.isTyping) {
|
2803
|
+
return;
|
2804
|
+
}
|
2805
|
+
this.showChatThreads = false;
|
2806
|
+
await ((_a = this.setSelectedThreadId) === null || _a === void 0 ? void 0 : _a.call(this, thread.threadId));
|
2807
|
+
}}
|
2808
|
+
>
|
2809
|
+
${thread.title || 'New Search'}
|
2810
|
+
</p>
|
2811
|
+
`)}
|
2812
|
+
</div>
|
2813
|
+
</div>
|
2814
|
+
<div
|
2815
|
+
class="chat-threads-background"
|
2816
|
+
@click=${() => (this.showChatThreads = false)}
|
2817
|
+
></div>
|
2818
|
+
</div>`;
|
2819
|
+
}
|
2820
|
+
render() {
|
2821
|
+
return x `
|
2822
|
+
<div class="chat-header">${this.contextButton()}</div>
|
2823
|
+
<div
|
2824
|
+
class=${e({
|
2825
|
+
'chatbot-section': true,
|
2826
|
+
'modal-view': this.viewType === 'modal',
|
2827
|
+
})}
|
2828
|
+
>
|
2829
|
+
${this.chatWindow()} ${this.quickPrompts()}
|
2830
|
+
<form class="chat-form" @submit=${this.onSubmit}>
|
2831
|
+
<input
|
2832
|
+
type="text"
|
2833
|
+
.value=${this.userQuery}
|
2834
|
+
@input=${(e) => (this.userQuery = e.target.value)}
|
2835
|
+
placeholder="Type your search here..."
|
2836
|
+
/>
|
2837
|
+
<button
|
2838
|
+
class=${e({
|
2839
|
+
btn: true,
|
2840
|
+
modal: this.viewType === 'modal',
|
2841
|
+
})}
|
2842
|
+
type="submit"
|
2843
|
+
?disabled=${this.isTyping || this.isLoadingHistory}
|
2844
|
+
>
|
2845
|
+
${sendFilledIcon}
|
2846
|
+
</button>
|
2847
|
+
</form>
|
2848
|
+
</div>
|
2849
|
+
<personalize-dialog
|
2850
|
+
.createChatThread=${this.createChatThread.bind(this)}
|
2851
|
+
.defaultProductHandles=${this.productHandles}
|
2852
|
+
.defaultProfiles=${this.profiles}
|
2853
|
+
></personalize-dialog>
|
2854
|
+
${this.renderChatThreads()}
|
2855
|
+
`;
|
1325
2856
|
}
|
1326
|
-
const image = new URL(src);
|
1327
|
-
const srcSet = IMAGE_WIDTHS.map((width) => {
|
1328
|
-
image.searchParams.set('width', width.toString());
|
1329
|
-
return `${image.toString()} ${width}w`;
|
1330
|
-
});
|
1331
|
-
return {
|
1332
|
-
srcset: srcSet.join(', '),
|
1333
|
-
sizes: '(min-width: 1200px) 140px, (min-width: 990px) 33%',
|
1334
|
-
};
|
1335
2857
|
};
|
2858
|
+
ChatSection.styles = [chatSectionStyles];
|
2859
|
+
__decorate([
|
2860
|
+
n({ type: Object }),
|
2861
|
+
__metadata("design:type", Map)
|
2862
|
+
], ChatSection.prototype, "chatThreads", void 0);
|
2863
|
+
__decorate([
|
2864
|
+
n({ type: Boolean }),
|
2865
|
+
__metadata("design:type", Boolean)
|
2866
|
+
], ChatSection.prototype, "showChatThreads", void 0);
|
2867
|
+
__decorate([
|
2868
|
+
n({ type: Boolean }),
|
2869
|
+
__metadata("design:type", Boolean)
|
2870
|
+
], ChatSection.prototype, "isLoadingHistory", void 0);
|
2871
|
+
__decorate([
|
2872
|
+
n({ type: Boolean }),
|
2873
|
+
__metadata("design:type", Object)
|
2874
|
+
], ChatSection.prototype, "devMode", void 0);
|
2875
|
+
__decorate([
|
2876
|
+
n({ type: Boolean }),
|
2877
|
+
__metadata("design:type", Boolean)
|
2878
|
+
], ChatSection.prototype, "isTyping", void 0);
|
2879
|
+
__decorate([
|
2880
|
+
n({ type: Boolean }),
|
2881
|
+
__metadata("design:type", Boolean)
|
2882
|
+
], ChatSection.prototype, "isFailed", void 0);
|
2883
|
+
__decorate([
|
2884
|
+
n({ type: Array }),
|
2885
|
+
__metadata("design:type", Array)
|
2886
|
+
], ChatSection.prototype, "messages", void 0);
|
2887
|
+
__decorate([
|
2888
|
+
n({ type: Array }),
|
2889
|
+
__metadata("design:type", Array)
|
2890
|
+
], ChatSection.prototype, "profiles", void 0);
|
2891
|
+
__decorate([
|
2892
|
+
n({ type: Array }),
|
2893
|
+
__metadata("design:type", Array)
|
2894
|
+
], ChatSection.prototype, "productHandles", void 0);
|
2895
|
+
__decorate([
|
2896
|
+
n({ type: Object }),
|
2897
|
+
__metadata("design:type", Object)
|
2898
|
+
], ChatSection.prototype, "thread", void 0);
|
2899
|
+
__decorate([
|
2900
|
+
n({ type: Object }),
|
2901
|
+
__metadata("design:type", Object)
|
2902
|
+
], ChatSection.prototype, "siteCurrency", void 0);
|
2903
|
+
__decorate([
|
2904
|
+
e$2('.context-container'),
|
2905
|
+
__metadata("design:type", Object)
|
2906
|
+
], ChatSection.prototype, "contextContainerElement", void 0);
|
2907
|
+
__decorate([
|
2908
|
+
e$2('.chat-window'),
|
2909
|
+
__metadata("design:type", Object)
|
2910
|
+
], ChatSection.prototype, "chatWindowElement", void 0);
|
2911
|
+
__decorate([
|
2912
|
+
e$2('personalize-dialog'),
|
2913
|
+
__metadata("design:type", Object)
|
2914
|
+
], ChatSection.prototype, "personalizeDialogElement", void 0);
|
2915
|
+
__decorate([
|
2916
|
+
n({ type: String }),
|
2917
|
+
__metadata("design:type", String)
|
2918
|
+
], ChatSection.prototype, "userQuery", void 0);
|
2919
|
+
ChatSection = __decorate([
|
2920
|
+
t$1('chat-section')
|
2921
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
2922
|
+
], ChatSection);
|
2923
|
+
|
2924
|
+
const DIALOG_DELAY = 1000;
|
2925
|
+
const normalizePath = (path) => path.replace(/\/$/, '');
|
1336
2926
|
let ShopGPT = class ShopGPT extends s {
|
1337
2927
|
constructor() {
|
1338
2928
|
super(...arguments);
|
1339
|
-
this.
|
1340
|
-
this.chatbotMessages = [];
|
1341
|
-
this.userMessage = '';
|
2929
|
+
this.modalState = 'close';
|
1342
2930
|
this.isLoadingHistory = false;
|
2931
|
+
this.isLoadingThreads = false;
|
1343
2932
|
this.isTyping = false;
|
1344
2933
|
this.isFailed = false;
|
1345
|
-
this.
|
1346
|
-
this.
|
2934
|
+
this.selectedThreadId = '';
|
2935
|
+
this.products = [];
|
2936
|
+
this.messages = [];
|
2937
|
+
this.chatThreads = new Map();
|
1347
2938
|
this.submitQuery = (message) => {
|
1348
2939
|
if (!message) {
|
1349
2940
|
return;
|
1350
2941
|
}
|
1351
2942
|
this.isFailed = false;
|
1352
|
-
return this.shopGPTAPI.processQuery(message);
|
1353
|
-
};
|
1354
|
-
this.onAddToCart = async (ev) => {
|
1355
|
-
ev.preventDefault();
|
1356
|
-
ev.stopPropagation();
|
1357
|
-
await this.storeAPI
|
1358
|
-
.addToCart({
|
1359
|
-
quantity: 1,
|
1360
|
-
productId: this.productId.value,
|
1361
|
-
variantId: this.variantId.value,
|
1362
|
-
})
|
1363
|
-
.catch(logger.error);
|
2943
|
+
return this.shopGPTAPI.processQuery(message, this.selectedThreadId);
|
1364
2944
|
};
|
1365
2945
|
}
|
1366
2946
|
connectedCallback() {
|
1367
2947
|
super.connectedCallback();
|
2948
|
+
if (this.uiMode === 'overlay') {
|
2949
|
+
if (!this.path) {
|
2950
|
+
return;
|
2951
|
+
}
|
2952
|
+
const currentPath = normalizePath(new URL(window.location.href).pathname);
|
2953
|
+
const targetPath = normalizePath(this.path);
|
2954
|
+
if (currentPath != targetPath) {
|
2955
|
+
logger.log(`Target path does not match`);
|
2956
|
+
return;
|
2957
|
+
}
|
2958
|
+
}
|
2959
|
+
this.init();
|
2960
|
+
}
|
2961
|
+
init() {
|
1368
2962
|
window.addEventListener('edgetag-initialized', async () => {
|
1369
2963
|
if (!this.shopGPTAPI) {
|
1370
2964
|
return;
|
1371
2965
|
}
|
1372
|
-
await this.
|
2966
|
+
await this.loadChatThreads();
|
1373
2967
|
await this.loadInitialQuery();
|
1374
2968
|
});
|
1375
|
-
|
1376
|
-
|
1377
|
-
var _a, _b, _c, _d;
|
1378
|
-
try {
|
1379
|
-
this.isLoadingHistory = true;
|
1380
|
-
const data = await this.shopGPTAPI.fetchChatHistory();
|
1381
|
-
this.chatbotMessages = data.map((message) => {
|
2969
|
+
if (!this.uiMode || this.uiMode === 'overlay') {
|
2970
|
+
delay(DIALOG_DELAY).then(() => {
|
1382
2971
|
var _a;
|
1383
|
-
|
1384
|
-
|
1385
|
-
|
1386
|
-
|
1387
|
-
|
1388
|
-
|
2972
|
+
if (document.hidden) {
|
2973
|
+
document.addEventListener('visibilitychange', () => { var _a; return (_a = this.shopGPTDialog) === null || _a === void 0 ? void 0 : _a.showModal(); }, {
|
2974
|
+
once: true,
|
2975
|
+
});
|
2976
|
+
}
|
2977
|
+
else {
|
2978
|
+
(_a = this.shopGPTDialog) === null || _a === void 0 ? void 0 : _a.showModal();
|
2979
|
+
}
|
1389
2980
|
});
|
1390
|
-
if (((_a = data[0]) === null || _a === void 0 ? void 0 : _a.sender) === 'bot' && ((_c = (_b = data[0]) === null || _b === void 0 ? void 0 : _b.products) === null || _c === void 0 ? void 0 : _c.length)) {
|
1391
|
-
const products = (_d = data[0].products) === null || _d === void 0 ? void 0 : _d.map((product) => ({
|
1392
|
-
...product,
|
1393
|
-
quantity: 1,
|
1394
|
-
}));
|
1395
|
-
this.recommendedProduct = products[0];
|
1396
|
-
this.moreRecommendations = products.slice(1, 4);
|
1397
|
-
}
|
1398
|
-
}
|
1399
|
-
catch (e) {
|
1400
|
-
logger.error(e);
|
1401
|
-
}
|
1402
|
-
finally {
|
1403
|
-
this.isLoadingHistory = false;
|
1404
2981
|
}
|
1405
2982
|
}
|
1406
2983
|
async loadInitialQuery() {
|
1407
|
-
var _a
|
1408
|
-
|
1409
|
-
|
2984
|
+
var _a;
|
2985
|
+
if (!this.selectedThreadId) {
|
2986
|
+
return;
|
2987
|
+
}
|
2988
|
+
if (this.messages.length) {
|
2989
|
+
return;
|
2990
|
+
}
|
2991
|
+
const thread = this.chatThreads.get(this.selectedThreadId);
|
2992
|
+
if (!thread) {
|
1410
2993
|
return;
|
1411
2994
|
}
|
2995
|
+
const productHandle = this.devMode
|
2996
|
+
? (_a = thread === null || thread === void 0 ? void 0 : thread.devContext) === null || _a === void 0 ? void 0 : _a.productHandle
|
2997
|
+
: this.storeAPI.getCurrentProductHandle();
|
1412
2998
|
try {
|
1413
2999
|
this.isTyping = true;
|
1414
|
-
const reply = await this.shopGPTAPI.processQuery('', productHandle);
|
1415
|
-
this.
|
1416
|
-
{ sender: 'bot', message: reply.message,
|
1417
|
-
...this.
|
3000
|
+
const reply = await this.shopGPTAPI.processQuery('', thread.threadId, productHandle);
|
3001
|
+
this.messages = [
|
3002
|
+
{ sender: 'bot', message: reply.message, products: reply.products },
|
3003
|
+
...this.messages,
|
1418
3004
|
];
|
1419
|
-
this.
|
1420
|
-
this.moreRecommendations = (_d = (_c = reply.products) === null || _c === void 0 ? void 0 : _c.slice(1, 4)) !== null && _d !== void 0 ? _d : [];
|
1421
|
-
this.setChatWindowHeight();
|
3005
|
+
this.products = reply.products || [];
|
1422
3006
|
}
|
1423
3007
|
catch (error) {
|
1424
3008
|
logger.error(error);
|
1425
|
-
this.resetProductRecommendations();
|
1426
3009
|
this.isFailed = true;
|
1427
3010
|
}
|
1428
3011
|
finally {
|
1429
3012
|
this.isTyping = false;
|
1430
3013
|
}
|
1431
3014
|
}
|
1432
|
-
|
1433
|
-
|
1434
|
-
|
1435
|
-
|
3015
|
+
async loadChatThreads() {
|
3016
|
+
try {
|
3017
|
+
this.isLoadingThreads = true;
|
3018
|
+
const threads = await this.shopGPTAPI.fetchChatThreads();
|
3019
|
+
this.chatThreads = new Map(threads.map((thread) => [thread.threadId, thread]));
|
3020
|
+
}
|
3021
|
+
catch (e) {
|
3022
|
+
logger.error(e);
|
3023
|
+
}
|
3024
|
+
finally {
|
3025
|
+
this.isLoadingThreads = false;
|
1436
3026
|
}
|
1437
|
-
(_a = open(url, '_blank')) === null || _a === void 0 ? void 0 : _a.focus();
|
1438
3027
|
}
|
1439
|
-
|
1440
|
-
|
1441
|
-
|
3028
|
+
async loadHistory(threadId) {
|
3029
|
+
var _a, _b, _c;
|
3030
|
+
try {
|
3031
|
+
if (!threadId) {
|
3032
|
+
this.messages = [];
|
3033
|
+
this.products = [];
|
3034
|
+
return;
|
3035
|
+
}
|
3036
|
+
this.isLoadingHistory = true;
|
3037
|
+
const data = await this.shopGPTAPI.fetchChatHistory(threadId);
|
3038
|
+
this.messages = data.map((message) => {
|
3039
|
+
var _a;
|
3040
|
+
return ({
|
3041
|
+
message: message.message,
|
3042
|
+
sender: message.sender,
|
3043
|
+
products: (_a = message.products) === null || _a === void 0 ? void 0 : _a.map((product) => ({
|
3044
|
+
...product,
|
3045
|
+
quantity: 1,
|
3046
|
+
})),
|
3047
|
+
});
|
3048
|
+
});
|
3049
|
+
this.products =
|
3050
|
+
(_c = (_b = (_a = data === null || data === void 0 ? void 0 : data[0]) === null || _a === void 0 ? void 0 : _a.products) === null || _b === void 0 ? void 0 : _b.map((product) => ({
|
3051
|
+
...product,
|
3052
|
+
quantity: 1,
|
3053
|
+
}))) !== null && _c !== void 0 ? _c : [];
|
1442
3054
|
}
|
1443
|
-
|
1444
|
-
|
1445
|
-
|
1446
|
-
|
3055
|
+
catch (e) {
|
3056
|
+
logger.error(e);
|
3057
|
+
}
|
3058
|
+
finally {
|
3059
|
+
this.isLoadingHistory = false;
|
3060
|
+
}
|
3061
|
+
}
|
3062
|
+
async setSelectedThreadId(threadId) {
|
3063
|
+
this.isFailed = false;
|
3064
|
+
this.selectedThreadId = threadId;
|
3065
|
+
await this.loadHistory(threadId);
|
1447
3066
|
}
|
1448
|
-
|
1449
|
-
|
1450
|
-
|
3067
|
+
async createChatThread(payload, loadInitialQuery) {
|
3068
|
+
try {
|
3069
|
+
const thread = await this.shopGPTAPI.createChatThread(payload);
|
3070
|
+
this.chatThreads = new Map([
|
3071
|
+
[thread.threadId, thread],
|
3072
|
+
...this.chatThreads,
|
3073
|
+
]);
|
3074
|
+
this.selectedThreadId = thread.threadId;
|
3075
|
+
if (loadInitialQuery) {
|
3076
|
+
await this.loadInitialQuery();
|
3077
|
+
}
|
3078
|
+
}
|
3079
|
+
catch (e) {
|
3080
|
+
logger.error(e);
|
3081
|
+
}
|
1451
3082
|
}
|
1452
3083
|
async sendMessageToServer(e, message) {
|
1453
|
-
var _a, _b, _c, _d;
|
1454
3084
|
e.preventDefault();
|
1455
3085
|
e.stopPropagation();
|
1456
3086
|
if (!message || this.isTyping || this.isLoadingHistory) {
|
1457
3087
|
return;
|
1458
3088
|
}
|
3089
|
+
this.isFailed = false;
|
1459
3090
|
try {
|
1460
|
-
this.
|
1461
|
-
{ sender: 'user', message: message },
|
1462
|
-
...this.chatbotMessages,
|
1463
|
-
];
|
3091
|
+
this.messages = [{ sender: 'user', message }, ...this.messages];
|
1464
3092
|
this.isTyping = true;
|
1465
|
-
this.userMessage = '';
|
1466
|
-
this.scrollToBottom();
|
1467
3093
|
const reply = await this.submitQuery(message);
|
1468
3094
|
if (!reply) {
|
1469
3095
|
return;
|
1470
3096
|
}
|
1471
|
-
|
1472
|
-
|
1473
|
-
|
3097
|
+
if (reply.chatTitle) {
|
3098
|
+
// Alternatively we can fetch the chatThreads once again which would cost another network request
|
3099
|
+
const thread = this.chatThreads.get(this.selectedThreadId);
|
3100
|
+
if (thread) {
|
3101
|
+
this.chatThreads.set(thread.threadId, {
|
3102
|
+
...thread,
|
3103
|
+
title: reply.chatTitle,
|
3104
|
+
});
|
3105
|
+
this.chatThreads = new Map(this.chatThreads);
|
3106
|
+
}
|
3107
|
+
}
|
3108
|
+
this.messages = [
|
3109
|
+
{ sender: 'bot', message: reply.message, products: reply.products },
|
3110
|
+
...this.messages,
|
1474
3111
|
];
|
1475
|
-
this.
|
1476
|
-
this.moreRecommendations = (_d = (_c = reply.products) === null || _c === void 0 ? void 0 : _c.slice(1, 4)) !== null && _d !== void 0 ? _d : [];
|
1477
|
-
this.setChatWindowHeight();
|
3112
|
+
this.products = reply.products || [];
|
1478
3113
|
}
|
1479
|
-
catch (
|
1480
|
-
logger.error(
|
1481
|
-
this.resetProductRecommendations();
|
3114
|
+
catch (err) {
|
3115
|
+
logger.error(err);
|
1482
3116
|
this.isFailed = true;
|
1483
3117
|
}
|
1484
3118
|
finally {
|
1485
3119
|
this.isTyping = false;
|
1486
3120
|
}
|
1487
3121
|
}
|
1488
|
-
|
1489
|
-
|
1490
|
-
const localPrice = parseFloat(price) * siteCurrency.rate;
|
1491
|
-
return formatMoney(localPrice, siteCurrency.currency);
|
1492
|
-
}
|
1493
|
-
handleShowMore(value) {
|
1494
|
-
if (!this.chatWindowElement) {
|
1495
|
-
return;
|
1496
|
-
}
|
1497
|
-
this.showMore = value;
|
1498
|
-
// dynamically add the maximum height when more products are shown
|
1499
|
-
const height = value ? 'calc(100vh - 580px' : 'calc(100vh - 351px)';
|
1500
|
-
this.chatWindowElement.style.maxHeight = height;
|
1501
|
-
}
|
1502
|
-
setChatWindowHeight() {
|
1503
|
-
if (!this.chatWindowElement) {
|
1504
|
-
return;
|
1505
|
-
}
|
1506
|
-
if (window.innerWidth < 430) {
|
1507
|
-
this.chatWindowElement.style.maxHeight = 'calc(100vh - 351px)';
|
1508
|
-
}
|
1509
|
-
else {
|
1510
|
-
this.chatWindowElement.style.maxHeight = 'calc(100vh - 221px)';
|
1511
|
-
}
|
1512
|
-
}
|
1513
|
-
async onSubmit(e) {
|
1514
|
-
var _a;
|
1515
|
-
await this.sendMessageToServer(e, (_a = this.userMessage) === null || _a === void 0 ? void 0 : _a.trim());
|
3122
|
+
getSiteCurrency() {
|
3123
|
+
return this.storeAPI.getSiteCurrency();
|
1516
3124
|
}
|
1517
3125
|
render() {
|
1518
|
-
|
1519
|
-
|
1520
|
-
|
1521
|
-
|
1522
|
-
<div class="container">
|
1523
|
-
<div class="header">
|
1524
|
-
${shopGPTIcon()}
|
1525
|
-
<div class="powered-by-tc">
|
1526
|
-
<p>Product catalogue powered by</p>
|
1527
|
-
<a href="https://www.trueclassictees.com" target="_blank">
|
1528
|
-
${trueClassicIcon()}
|
1529
|
-
</a>
|
1530
|
-
</div>
|
1531
|
-
</div>
|
1532
|
-
|
1533
|
-
<div class="body">${this.productSection()} ${this.chatSection()}</div>
|
1534
|
-
</div>
|
1535
|
-
`;
|
3126
|
+
if (this.uiMode === 'modal') {
|
3127
|
+
return this.modalMode();
|
3128
|
+
}
|
3129
|
+
return this.overlayMode();
|
1536
3130
|
}
|
1537
|
-
|
1538
|
-
|
3131
|
+
overlayMode() {
|
3132
|
+
const thread = this.chatThreads.get(this.selectedThreadId);
|
1539
3133
|
return x `
|
1540
|
-
<
|
1541
|
-
class
|
1542
|
-
|
1543
|
-
'no-recommended-product': !this.recommendedProduct,
|
1544
|
-
})}
|
1545
|
-
>
|
1546
|
-
<div class="product-section recommended-product">
|
1547
|
-
<h2>Highly Recommended</h2>
|
1548
|
-
${!((_a = this.recommendedProduct) === null || _a === void 0 ? void 0 : _a.id)
|
1549
|
-
? x `
|
1550
|
-
<p class="no-product-text">
|
1551
|
-
Enter what you’re looking for in the chat to get product
|
1552
|
-
results.
|
1553
|
-
</p>
|
1554
|
-
`
|
1555
|
-
: x `
|
1556
|
-
<div class="product">
|
1557
|
-
<img
|
1558
|
-
src=${this.recommendedProduct.image.url}
|
1559
|
-
alt=${this.recommendedProduct.image.alt}
|
1560
|
-
@click=${() => { var _a; return this.redirect((_a = this.recommendedProduct) === null || _a === void 0 ? void 0 : _a.url); }}
|
1561
|
-
/>
|
1562
|
-
<div class="product-content">
|
1563
|
-
<p
|
1564
|
-
class="product-name"
|
1565
|
-
title=${this.recommendedProduct.title}
|
1566
|
-
@click=${() => { var _a; return this.redirect((_a = this.recommendedProduct) === null || _a === void 0 ? void 0 : _a.url); }}
|
1567
|
-
>
|
1568
|
-
${this.recommendedProduct.title}
|
1569
|
-
</p>
|
1570
|
-
${this.recommendedProduct.variants[0].selectedOptions.map((option) => x `
|
1571
|
-
<p class="product-variation-details">
|
1572
|
-
${option.name}: ${option.value}
|
1573
|
-
</p>
|
1574
|
-
`)}
|
1575
|
-
<div class="product-prices">
|
1576
|
-
${this.recommendedProduct.variants[0].comparedAtPrice &&
|
1577
|
-
this.recommendedProduct.variants[0].comparedAtPrice !==
|
1578
|
-
this.recommendedProduct.variants[0].price
|
1579
|
-
? x `<p class="compared-at-price">
|
1580
|
-
${this.getLocalPrice(this.recommendedProduct.variants[0]
|
1581
|
-
.comparedAtPrice)}
|
1582
|
-
</p>`
|
1583
|
-
: T}
|
1584
|
-
<p class="price">
|
1585
|
-
${this.getLocalPrice(this.recommendedProduct.variants[0].price)}
|
1586
|
-
</p>
|
1587
|
-
</div>
|
1588
|
-
<button
|
1589
|
-
class="buy-now-btn"
|
1590
|
-
@click=${() => { var _a; return this.redirect((_a = this.recommendedProduct) === null || _a === void 0 ? void 0 : _a.url); }}
|
1591
|
-
>
|
1592
|
-
Add To Cart
|
1593
|
-
</button>
|
1594
|
-
</div>
|
1595
|
-
</div>
|
1596
|
-
`}
|
3134
|
+
<dialog id="shop-gpt-dialog-overlay">
|
3135
|
+
<div class="mobile-version">
|
3136
|
+
Please switch to the desktop version for the best experience.
|
1597
3137
|
</div>
|
1598
|
-
|
1599
|
-
|
1600
|
-
|
1601
|
-
|
1602
|
-
|
1603
|
-
|
1604
|
-
|
1605
|
-
|
1606
|
-
|
1607
|
-
|
1608
|
-
|
1609
|
-
|
1610
|
-
|
1611
|
-
|
1612
|
-
|
1613
|
-
|
1614
|
-
|
1615
|
-
|
1616
|
-
|
1617
|
-
|
1618
|
-
|
1619
|
-
|
1620
|
-
|
1621
|
-
|
1622
|
-
|
1623
|
-
|
1624
|
-
|
1625
|
-
|
1626
|
-
/>
|
1627
|
-
<p
|
1628
|
-
class="product-name"
|
1629
|
-
title=${product.title}
|
1630
|
-
@click=${() => this.redirect(product.url)}
|
1631
|
-
>
|
1632
|
-
${product.title}
|
1633
|
-
</p>
|
1634
|
-
<div class="product-prices">
|
1635
|
-
${product.variants[0].comparedAtPrice &&
|
1636
|
-
product.variants[0].comparedAtPrice !==
|
1637
|
-
product.variants[0].price
|
1638
|
-
? x `<p class="compared-at-price">
|
1639
|
-
${this.getLocalPrice(product.variants[0].comparedAtPrice)}
|
1640
|
-
</p>`
|
1641
|
-
: T}
|
1642
|
-
<p class="price">
|
1643
|
-
${this.getLocalPrice(product.variants[0].price)}
|
1644
|
-
</p>
|
1645
|
-
</div>
|
1646
|
-
</div>
|
1647
|
-
`;
|
1648
|
-
})}
|
1649
|
-
</div>`}
|
3138
|
+
<div class="shopgpt-container">
|
3139
|
+
<chat-threads
|
3140
|
+
.chatThreads=${this.chatThreads}
|
3141
|
+
.selectedThreadId=${this.selectedThreadId}
|
3142
|
+
.setSelectedThreadId=${this.setSelectedThreadId.bind(this)}
|
3143
|
+
.isLoading=${this.isLoadingThreads}
|
3144
|
+
.isTyping=${this.isTyping}
|
3145
|
+
.merchantUrl=${this.merchantUrl}
|
3146
|
+
></chat-threads>
|
3147
|
+
<products-section
|
3148
|
+
.products=${this.products}
|
3149
|
+
.isLoadingHistory=${this.isLoadingHistory}
|
3150
|
+
.siteCurrency=${this.getSiteCurrency()}
|
3151
|
+
></products-section>
|
3152
|
+
<chat-section
|
3153
|
+
.isFailed=${this.isFailed}
|
3154
|
+
.isLoadingHistory=${this.isLoadingHistory}
|
3155
|
+
.isTyping=${this.isTyping}
|
3156
|
+
.messages=${this.messages}
|
3157
|
+
.siteCurrency=${this.getSiteCurrency()}
|
3158
|
+
.sendMessageToServer=${this.sendMessageToServer.bind(this)}
|
3159
|
+
.thread=${thread}
|
3160
|
+
.createChatThread=${this.createChatThread.bind(this)}
|
3161
|
+
.devMode=${this.devMode}
|
3162
|
+
.productHandles=${this.productHandles}
|
3163
|
+
.profiles=${this.profiles}
|
3164
|
+
.viewType=${'overlay'}
|
3165
|
+
></chat-section>
|
1650
3166
|
</div>
|
1651
|
-
|
1652
|
-
${this.showMore
|
1653
|
-
? x `
|
1654
|
-
<div class="show-less" @click=${() => this.handleShowMore(false)}>
|
1655
|
-
Show less
|
1656
|
-
</div>
|
1657
|
-
`
|
1658
|
-
: x `
|
1659
|
-
<div class="show-more" @click=${() => this.handleShowMore(true)}>
|
1660
|
-
Show more
|
1661
|
-
</div>
|
1662
|
-
`}
|
1663
|
-
</div>
|
3167
|
+
</dialog>
|
1664
3168
|
`;
|
1665
3169
|
}
|
1666
|
-
|
1667
|
-
|
1668
|
-
|
1669
|
-
|
1670
|
-
|
1671
|
-
|
1672
|
-
|
1673
|
-
|
1674
|
-
|
1675
|
-
|
3170
|
+
modalMode() {
|
3171
|
+
const thread = this.chatThreads.get(this.selectedThreadId);
|
3172
|
+
const closeModal = () => {
|
3173
|
+
this.modalState = 'close';
|
3174
|
+
};
|
3175
|
+
if (this.modalState === 'close') {
|
3176
|
+
return x `<div class="chatbot-widget">
|
3177
|
+
<button
|
3178
|
+
@click=${(e) => {
|
3179
|
+
e.preventDefault();
|
3180
|
+
this.modalState = 'open';
|
3181
|
+
}}
|
3182
|
+
>
|
3183
|
+
${chatIcon}
|
3184
|
+
</button>
|
3185
|
+
</div>`;
|
1676
3186
|
}
|
1677
3187
|
return x `
|
1678
|
-
<div
|
1679
|
-
|
1680
|
-
|
1681
|
-
|
1682
|
-
|
1683
|
-
|
1684
|
-
|
1685
|
-
|
1686
|
-
|
1687
|
-
|
1688
|
-
|
1689
|
-
|
1690
|
-
|
1691
|
-
|
1692
|
-
|
1693
|
-
|
1694
|
-
|
1695
|
-
|
1696
|
-
<div class="bot-message-container">
|
1697
|
-
<div class="bot-icon">${botIcon()}</div>
|
1698
|
-
<div class="message bot">
|
1699
|
-
${message.message ? x `<p>${message.message}</p>` : T}
|
1700
|
-
${message.product
|
1701
|
-
? x `<div class="product">
|
1702
|
-
<img
|
1703
|
-
src=${message.product.image.url}
|
1704
|
-
alt=${message.product.image.alt}
|
1705
|
-
@click=${() => { var _a; return this.redirect((_a = message.product) === null || _a === void 0 ? void 0 : _a.url); }}
|
1706
|
-
/>
|
1707
|
-
<div>
|
1708
|
-
<p
|
1709
|
-
class="product-name"
|
1710
|
-
title=${message.product.title}
|
1711
|
-
@click=${() => { var _a; return this.redirect((_a = message.product) === null || _a === void 0 ? void 0 : _a.url); }}
|
1712
|
-
>
|
1713
|
-
${message.product.title}
|
1714
|
-
</p>
|
1715
|
-
<div class="product-prices">
|
1716
|
-
${message.product.variants[0].comparedAtPrice &&
|
1717
|
-
message.product.variants[0].comparedAtPrice !==
|
1718
|
-
message.product.variants[0].comparedAtPrice
|
1719
|
-
? x `<p class="compared-at-price">
|
1720
|
-
${this.getLocalPrice(message.product.variants[0].comparedAtPrice)}
|
1721
|
-
</p>`
|
1722
|
-
: T}
|
1723
|
-
<p class="price">
|
1724
|
-
${this.getLocalPrice(message.product.variants[0].price)}
|
1725
|
-
</p>
|
1726
|
-
</div>
|
1727
|
-
</div>
|
1728
|
-
</div>`
|
1729
|
-
: T}
|
1730
|
-
</div>
|
1731
|
-
</div>
|
1732
|
-
`;
|
1733
|
-
}
|
1734
|
-
return x ` <div class="message user">${message.message}</div> `;
|
1735
|
-
})}
|
1736
|
-
</div>
|
1737
|
-
`;
|
1738
|
-
}
|
1739
|
-
predefinedPrompts() {
|
1740
|
-
// TODO: ShopGPT - Handle prompt clicks, should enable this when LLM supports it.
|
1741
|
-
return x `
|
1742
|
-
<div class="predefined-prompts" style="display:none;">
|
1743
|
-
${this.promptSuggestions.map((prompt) => x ` <button>${prompt}</button> `)}
|
1744
|
-
</div>
|
1745
|
-
`;
|
1746
|
-
}
|
1747
|
-
chatSection() {
|
1748
|
-
return x `
|
1749
|
-
<div class="chatbot-section">
|
1750
|
-
${this.chatWindow()} ${this.predefinedPrompts()}
|
1751
|
-
<form class="chat-input" @submit=${this.onSubmit}>
|
1752
|
-
<input
|
1753
|
-
type="text"
|
1754
|
-
.value=${this.userMessage}
|
1755
|
-
@input=${(e) => (this.userMessage = e.target.value)}
|
1756
|
-
placeholder="Type your message here"
|
1757
|
-
/>
|
1758
|
-
<button
|
1759
|
-
type="submit"
|
1760
|
-
?disabled=${this.isTyping || this.isLoadingHistory}
|
1761
|
-
>
|
1762
|
-
${sendFilledIcon()}
|
1763
|
-
</button>
|
1764
|
-
</form>
|
3188
|
+
<div id="shop-gpt-modal">
|
3189
|
+
<chat-section
|
3190
|
+
.isFailed=${this.isFailed}
|
3191
|
+
.isLoadingHistory=${this.isLoadingHistory}
|
3192
|
+
.isTyping=${this.isTyping}
|
3193
|
+
.messages=${this.messages}
|
3194
|
+
.siteCurrency=${this.getSiteCurrency()}
|
3195
|
+
.sendMessageToServer=${this.sendMessageToServer.bind(this)}
|
3196
|
+
.thread=${thread}
|
3197
|
+
.createChatThread=${this.createChatThread.bind(this)}
|
3198
|
+
.devMode=${this.devMode}
|
3199
|
+
.productHandles=${this.productHandles}
|
3200
|
+
.profiles=${this.profiles}
|
3201
|
+
.viewType=${'modal'}
|
3202
|
+
.closeModal=${closeModal}
|
3203
|
+
.setSelectedThreadId=${this.setSelectedThreadId.bind(this)}
|
3204
|
+
.chatThreads=${this.chatThreads}
|
3205
|
+
></chat-section>
|
1765
3206
|
</div>
|
1766
3207
|
`;
|
1767
3208
|
}
|
1768
3209
|
};
|
1769
|
-
ShopGPT.styles = [shopGPTStyles
|
1770
|
-
__decorate([
|
1771
|
-
n({ type: Object }),
|
1772
|
-
__metadata("design:type", Object)
|
1773
|
-
], ShopGPT.prototype, "recommendedProduct", void 0);
|
1774
|
-
__decorate([
|
1775
|
-
n({ type: Array }),
|
1776
|
-
__metadata("design:type", Array)
|
1777
|
-
], ShopGPT.prototype, "moreRecommendations", void 0);
|
3210
|
+
ShopGPT.styles = [shopGPTStyles];
|
1778
3211
|
__decorate([
|
1779
|
-
|
1780
|
-
__metadata("design:type", Array)
|
1781
|
-
], ShopGPT.prototype, "chatbotMessages", void 0);
|
1782
|
-
__decorate([
|
1783
|
-
r(),
|
3212
|
+
e$2('#shop-gpt-dialog-overlay'),
|
1784
3213
|
__metadata("design:type", Object)
|
1785
|
-
], ShopGPT.prototype, "
|
1786
|
-
__decorate([
|
1787
|
-
e('input[name=productId]'),
|
1788
|
-
__metadata("design:type", HTMLInputElement)
|
1789
|
-
], ShopGPT.prototype, "productId", void 0);
|
1790
|
-
__decorate([
|
1791
|
-
e('input[name=variantId]'),
|
1792
|
-
__metadata("design:type", HTMLInputElement)
|
1793
|
-
], ShopGPT.prototype, "variantId", void 0);
|
3214
|
+
], ShopGPT.prototype, "shopGPTDialog", void 0);
|
1794
3215
|
__decorate([
|
1795
|
-
|
1796
|
-
__metadata("design:type",
|
1797
|
-
], ShopGPT.prototype, "
|
3216
|
+
n({ type: String }),
|
3217
|
+
__metadata("design:type", String)
|
3218
|
+
], ShopGPT.prototype, "modalState", void 0);
|
1798
3219
|
__decorate([
|
1799
3220
|
n({ type: Boolean }),
|
1800
3221
|
__metadata("design:type", Boolean)
|
@@ -1802,21 +3223,33 @@ __decorate([
|
|
1802
3223
|
__decorate([
|
1803
3224
|
n({ type: Boolean }),
|
1804
3225
|
__metadata("design:type", Boolean)
|
1805
|
-
], ShopGPT.prototype, "
|
3226
|
+
], ShopGPT.prototype, "isLoadingThreads", void 0);
|
1806
3227
|
__decorate([
|
1807
3228
|
n({ type: Boolean }),
|
1808
3229
|
__metadata("design:type", Boolean)
|
1809
|
-
], ShopGPT.prototype, "
|
3230
|
+
], ShopGPT.prototype, "isTyping", void 0);
|
1810
3231
|
__decorate([
|
1811
3232
|
n({ type: Boolean }),
|
1812
3233
|
__metadata("design:type", Boolean)
|
1813
|
-
], ShopGPT.prototype, "
|
3234
|
+
], ShopGPT.prototype, "isFailed", void 0);
|
3235
|
+
__decorate([
|
3236
|
+
n({ type: String }),
|
3237
|
+
__metadata("design:type", String)
|
3238
|
+
], ShopGPT.prototype, "selectedThreadId", void 0);
|
3239
|
+
__decorate([
|
3240
|
+
n({ type: Array }),
|
3241
|
+
__metadata("design:type", Array)
|
3242
|
+
], ShopGPT.prototype, "products", void 0);
|
1814
3243
|
__decorate([
|
1815
|
-
|
3244
|
+
n({ type: Array }),
|
1816
3245
|
__metadata("design:type", Array)
|
1817
|
-
], ShopGPT.prototype, "
|
3246
|
+
], ShopGPT.prototype, "messages", void 0);
|
3247
|
+
__decorate([
|
3248
|
+
n({ type: Object }),
|
3249
|
+
__metadata("design:type", Map)
|
3250
|
+
], ShopGPT.prototype, "chatThreads", void 0);
|
1818
3251
|
ShopGPT = __decorate([
|
1819
|
-
t('shop-gpt')
|
3252
|
+
t$1('shop-gpt')
|
1820
3253
|
], ShopGPT);
|
1821
3254
|
|
1822
3255
|
var _a, _b;
|
@@ -1832,6 +3265,12 @@ if (typeof window != 'undefined' && typeof document != 'undefined') {
|
|
1832
3265
|
shopGPT = document.createElement('shop-gpt');
|
1833
3266
|
shopGPT.storeAPI = params.storeAPI;
|
1834
3267
|
shopGPT.shopGPTAPI = params.shopGPTAPI;
|
3268
|
+
shopGPT.devMode = params.devMode;
|
3269
|
+
shopGPT.merchantUrl = params.merchantUrl;
|
3270
|
+
shopGPT.profiles = params.profiles;
|
3271
|
+
shopGPT.productHandles = params.productHandles;
|
3272
|
+
shopGPT.uiMode = params.uiMode;
|
3273
|
+
shopGPT.path = params.path;
|
1835
3274
|
document.body.append(shopGPT);
|
1836
3275
|
},
|
1837
3276
|
});
|