@brainfish-ai/widgets-initiator 1.13.5 → 1.14.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/dist/types/actions/clientAction.d.ts +13 -0
- package/dist/types/initIframeTrigger/listeners/initMessageListener.d.ts +1 -1
- package/dist/types/types/brainfish.d.ts +2 -0
- package/dist/types/utils/brainfishQueue.d.ts +2 -0
- package/dist/web.cjs.js +1 -1
- package/dist/web.js +65 -7
- package/package.json +1 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type ClientActionInput = Record<string, any>;
|
|
2
|
+
type ClientActionResult = Record<string, any>;
|
|
3
|
+
type ClientActionExecutionResult = {
|
|
4
|
+
success: true;
|
|
5
|
+
data: Record<string, any>;
|
|
6
|
+
} | {
|
|
7
|
+
reason: string;
|
|
8
|
+
success: false;
|
|
9
|
+
};
|
|
10
|
+
export type ClientActionHandler = (input: ClientActionInput) => Promise<ClientActionResult>;
|
|
11
|
+
export declare const registerClientActionHandler: (key: string, handler: ClientActionHandler) => void;
|
|
12
|
+
export declare const executeClientActionHandler: (key: string, input: ClientActionInput) => Promise<ClientActionExecutionResult>;
|
|
13
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare function initMessageListener({ widgetHost, apiHost, widgetKey, signal, }: {
|
|
1
|
+
export declare function initMessageListener(iframe: HTMLIFrameElement, { widgetHost, apiHost, widgetKey, signal, }: {
|
|
2
2
|
widgetHost: string;
|
|
3
3
|
apiHost: string;
|
|
4
4
|
widgetKey: string;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Config, Settings } from '@brainfish-ai/widgets-common';
|
|
2
|
+
import type { ClientActionHandler } from '../actions/clientAction';
|
|
2
3
|
export type Brainfish = {
|
|
3
4
|
Widgets: {
|
|
4
5
|
init: ({ widgetKey, overrides, }: {
|
|
@@ -12,6 +13,7 @@ export type Brainfish = {
|
|
|
12
13
|
}) => Promise<void>;
|
|
13
14
|
open: () => void;
|
|
14
15
|
close: () => void;
|
|
16
|
+
registerClientActionHandler: (key: string, handler: ClientActionHandler) => void;
|
|
15
17
|
};
|
|
16
18
|
SearchWidget: {
|
|
17
19
|
initStandard: (config: Config) => void;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Brainfish, RedirectRules } from '../types/brainfish';
|
|
2
2
|
import type { Settings } from '@brainfish-ai/widgets-common';
|
|
3
|
+
import type { ClientActionHandler } from '../actions/clientAction';
|
|
3
4
|
export interface BrainfishQueue extends Brainfish {
|
|
4
5
|
_setRealBrainfish: (bf: Brainfish) => void;
|
|
5
6
|
Widgets: {
|
|
@@ -18,6 +19,7 @@ export interface BrainfishQueue extends Brainfish {
|
|
|
18
19
|
isReady: boolean;
|
|
19
20
|
open: () => void;
|
|
20
21
|
close: () => void;
|
|
22
|
+
registerClientActionHandler: (key: string, handler: ClientActionHandler) => void;
|
|
21
23
|
};
|
|
22
24
|
}
|
|
23
25
|
export declare function createBrainfishQueue(): BrainfishQueue;
|
package/dist/web.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,a=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,s=(e,t)=>{for(var n in t||(t={}))i.call(t,n)&&a(e,n,t[n]);if(r)for(var n of r(t))o.call(t,n)&&a(e,n,t[n]);return e},l=(e,r)=>t(e,n(r)),d=(e,t,n)=>a(e,"symbol"!=typeof t?t+"":t,n),u=(e,t,n)=>new Promise((r,i)=>{var o=e=>{try{s(n.next(e))}catch(t){i(t)}},a=e=>{try{s(n.throw(e))}catch(t){i(t)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(o,a);s((n=n.apply(e,t)).next())});!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0407c17f-c663-4314-bf9c-87051ea43d71",e._sentryDebugIdIdentifier="sentry-dbid-0407c17f-c663-4314-bf9c-87051ea43d71")}catch(n){}}(),Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),new TextEncoder;const c=new TextDecoder;const f=e=>{let t=e;t instanceof Uint8Array&&(t=c.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return(e=>{const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n})(t)}catch(n){throw new TypeError("The input to be decoded is not correctly encoded.")}};function p(e){let t;if("string"==typeof e){const n=e.split(".");3!==n.length&&5!==n.length||([t]=n)}else if("object"==typeof e&&e){if(!("protected"in e))throw new TypeError("Token does not contain a Protected Header");t=e.protected}try{if("string"!=typeof t||!t)throw new Error;const e=JSON.parse(c.decode(f(t)));if(!function(e){if("object"!=typeof(t=e)||null===t||"[object Object]"!==Object.prototype.toString.call(e))return!1;var t;if(null===Object.getPrototypeOf(e))return!0;let n=e;for(;null!==Object.getPrototypeOf(n);)n=Object.getPrototypeOf(n);return Object.getPrototypeOf(e)===n}(e))throw new Error;return e}catch(n){throw new TypeError("Invalid Token or Protected Header formatting")}}var g,h,b,m;("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{}).SENTRY_RELEASE={id:"14e0bc79f84327b50667e4da706904980801adbc"},(h=g||(g={})).Sidebar="sidebar",h.Searchbar="searchbar",h.Popup="popup",g.Sidebar,g.Searchbar,g.Popup;class y extends Error{constructor(e,t){super(e,t),d(this,"cause"),this.name="BrainfishWidgetError",this.cause=null==t?void 0:t.cause,Error.captureStackTrace&&Error.captureStackTrace(this,y),this.cause instanceof Error&&this.cause.stack&&(this.stack=this.stack+"\nCaused by: "+this.cause.stack)}toJSON(){return{name:this.name,message:this.message,stack:this.stack,cause:this.cause instanceof Error?{name:this.cause.name,message:this.cause.message,stack:this.cause.stack}:this.cause}}}(m=b||(b={})).LINK="link",m.CALLBACK="callback",m.EMAIL="email",m.PHONE="phone";const v=(e,t,n,r)=>{let i=n,o={};if(t instanceof Error)try{o=JSON.parse(t.message),i+=` - ${o.message||t.message}`}catch(a){i+=` - ${t.message}`}else i+=` - ${String(t)}`;((e,t,n)=>{if(!navigator||navigator.userAgent.toLowerCase().includes("headless"))return;const r=t.toJSON();fetch(`${e||"https://app.brainfi.sh"}/api/trackError.widget.create`,{method:"POST",headers:{"Content-Type":"application/json","api-key":n},body:JSON.stringify({error:`WebWidgetVersion: 1.13.5. ${t.message}`,stack:t.stack,cause:{message:r.message,stack:r.stack,cause:r.cause}})})})(e,new y(i,{cause:o}),r)};const w=e=>u(null,[e],function*({widgetKey:e,apiHost:t}){return function(e,t,n){return u(this,null,function*(){let r,i=0;for(;i<3;)try{const r=yield fetch(`${e}${t}`,{method:"POST",headers:{"Content-Type":"application/json","api-key":n}});if(!r.ok)throw new Error(`API call failed with status: ${r.status}`);const i=yield r.json();if(!i)throw new Error("Error loading config: empty response");return i}catch(o){if(r=o,i++,i>=3)throw v(e,o,"Error fetching config",n),r;yield new Promise(e=>setTimeout(e,500))}})}(t,"/api/searchWidgets.getConfigByKey",e)}),x=({config:e,apiKey:t,apiHost:n})=>{const r=e.settings||{};return["bodyActionButtons","footerActionButtons","nextBestActions"].forEach(e=>{r[e]&&(r[e]=r[e].map(e=>e.type===b.CALLBACK&&e.value?l(s({},e),{value:new Function(`return ${e.value}`)()}):e))}),l(s({},e),{settings:r,apiHost:n,widgetMode:e.widgetType,apiKey:t})},S=e=>(null==e?void 0:e.apiHost)||"https://app.brainfi.sh",_=e=>u(null,[e],function*({apiHost:e,widgetKey:t,version:n}){try{const e=`https://cdn.jsdelivr.net/npm/@brainfish-ai/search-widget@${n}/dist/web.js`,t=yield(e=>u(null,null,function*(){return document.getElementById("brainfish-widget")?window.Brainfish:new Promise((t,n)=>{const r=document.createElement("script");r.id="brainfish-widget",r.src=e,r.type="module",r.async=!0,r.crossOrigin="anonymous",r.onload=()=>{setTimeout(()=>{const e=window.Brainfish;e?t(e):n(new Error("Failed to load Brainfish module"))},200)},r.onerror=t=>{const r=t,i={message:`Failed to load script: ${e}`,type:r.type,fileName:r.filename,lineNumber:r.lineno,columnNumber:r.colno,error:r.error?r.error.toString():"Unknown error"};n(new Error(JSON.stringify(i)))},document.head.appendChild(r)})}))(e);return{widget:t}}catch(r){v(e,r,r.message,t)}});const k=new Set,E=(e,t)=>u(null,null,function*(){const n=S(e.overrides);try{if(k.has(e.widgetKey))return;const r=yield _({apiHost:n,widgetKey:e.widgetKey,version:t.version||"latest"});if(r){const{widget:i}=r,o=x({config:t,apiKey:e.widgetKey,apiHost:n});return e.overrides&&t.settings&&Object.entries(e.overrides).forEach(([e,n])=>{t.settings&&e in t.settings&&(t.settings[e]=((e=[],t)=>{const n=new Map(e.map(e=>[e.label,e]));return t.forEach(e=>n.set(e.label,e)),Array.from(n.values())})(t.settings[e],n))}),function(e,t){t.widgetType===g.Searchbar||"Search"===t.widgetType?e.SearchWidget.initStandard(t):e.HelpWidget.initPopup(t)}(i,o),k.add(e.widgetKey),i}}catch(r){v(n,r,r.message,e.widgetKey)}});let C=!1;const O=(e,t,n,...r)=>u(null,[e,t,n,...r],function*(e,t,n,r="",i=!1,o=[],a,s){if(t||v(n,new Error("Access key is required"),"Access key is required",e),!C)try{const l=(()=>{if("undefined"==typeof window||"undefined"==typeof navigator)return!1;const e=navigator,t=window,n=(e.doNotTrack||t.doNotTrack||e.msDoNotTrack||"0").toString().toLowerCase();return["1","yes","true"].includes(n)})();window.BrainfishAnalytics("init",{apiUrl:r,accessKey:t,trackScreenViews:!0,trackAttributes:!l,trackOutgoingLinks:!l,enableRecording:!l&&i,recordingBlocklist:o,_allowLocalhostRecording:a,_allowScreenRecording:s}),C=!0,yield((e,t)=>u(null,null,function*(){if(document.getElementById("brainfish-analytics"))return window.BrainfishAnalytics;const n=document.createElement("script");n.id="brainfish-analytics",n.src="https://cdn.jsdelivr.net/npm/@brainfish-ai/web-tracker@latest/dist/tracker.js",n.type="module",n.async=!0,n.crossOrigin="anonymous",n.onerror=()=>{v(e,new Error(`Failed to load script: ${n.src}`),`Failed to load script: ${n.src}`,t)},document.head.appendChild(n)}))(n,e)}catch(l){v(n,l,"Failed to initialize BrainfishAnalytics",e)}});function B(e,t,n={}){const r=document.createElement(e);return r.className=t,Object.entries(n).forEach(([e,t])=>{r.setAttribute(e,t)}),r}const T="bf-iframe-container",A="bf-trigger-button";class I{static get isWidgetOpen(){return this.isOpen}static initialize({button:e,icon:t,isButtonHidden:n}){var r,i;this.button=e||null,this.icon=t||null,this.isButtonHidden=n||!1,e&&e.addEventListener("click",()=>this.toggleIframeVisibility()),(null==(r=window.Brainfish)?void 0:r.HelpWidget)&&(window.Brainfish.HelpWidget.close=()=>this.closeWidget(),window.Brainfish.HelpWidget.open=()=>this.openWidget()),(null==(i=window.Brainfish)?void 0:i.Widgets)&&(window.Brainfish.Widgets.open=()=>this.openWidget(),window.Brainfish.Widgets.close=()=>this.closeWidget())}static toggleIframeVisibility(){this.isOpen=!this.isOpen,this.isOpen?this.openWidget():this.closeWidget()}static openWidget(){var e;this.isOpen=!0;const t=document.querySelector(".bf-iframe-container"),n=null==t?void 0:t.querySelector("iframe");if(null==t||t.classList.add("open"),null==t||t.setAttribute("aria-hidden","false"),null==(e=null==n?void 0:n.contentWindow)||e.postMessage({type:"FOCUS_SEARCH_FIELD"},"*"),this.button&&this.icon){const e=this.icon.querySelector(".fish-icon"),t=this.icon.querySelector(".close-icon");this.button.setAttribute("aria-expanded","true"),e.classList.remove("visible"),t.classList.add("visible"),document.body.clientWidth<=576&&this.hideTriggerButton()}window.dispatchEvent(new Event("onBrainfishWidgetOpen")),window.BrainfishAnalytics("track","Open Widget")}static closeWidget(){this.isOpen=!1;const e=document.querySelector(".bf-iframe-container");if(null==e||e.classList.remove("open"),null==e||e.setAttribute("aria-hidden","true"),this.button&&this.icon){this.button.setAttribute("aria-expanded","false");const e=this.icon.querySelector(".fish-icon"),t=this.icon.querySelector(".close-icon");e.classList.add("visible"),t.classList.remove("visible"),document.body.clientWidth<=576&&this.showTriggerButton()}window.dispatchEvent(new Event("onBrainfishWidgetClose")),window.BrainfishAnalytics("track","Close Widget")}static showTriggerButton(){var e;null==(e=this.button)||e.classList.remove("hidden")}static hideTriggerButton(){var e;null==(e=this.button)||e.classList.add("hidden")}}function j({widgetHost:e,apiHost:t,widgetKey:n,signal:r}){window.addEventListener("message",r=>{if(r.origin!==e)return;const{type:i}=r.data;if("TOGGLE_WIDGET_SIZE"===i&&function(){const e=document.querySelector(`.${T}`);e.classList.contains("expanded")?e.classList.remove("expanded"):e.classList.add("expanded")}(),"TRACK_EVENT"===i){if(!window.BrainfishAnalytics)return;const{eventName:e,data:t}=r.data;window.BrainfishAnalytics("track",e,t)}if("CLOSE_WIDGET"===i&&(window.BrainfishAnalytics("track","Close Widget"),I.toggleIframeVisibility()),"NEXT_BEST_ACTION_CLICKED"===i){const{action:e,searchQueryId:i,query:o,answer:a}=r.data,s={action:e,searchQueryId:i};if(!["function","callback"].includes(e.type))return void console.error("Invalid action type",e);if(window.__bfCallbacks=window.__bfCallbacks||{},window.__bfCallbacks[e.id])return void window.__bfCallbacks[e.id](o,a,s);const l=`${t}/api/searchWidgets.callback.codeblocks?apiKey=${n}&codeblockId=${e.id}`,d=document.createElement("script");d.src=l,document.head.appendChild(d),d.onload=()=>{window.__bfCallbacks[e.id](o,a,s),setTimeout(()=>{document.head.removeChild(d)},300)}}},{signal:r})}d(I,"isOpen",!1),d(I,"button",null),d(I,"icon",null),d(I,"isButtonHidden",!1);function P(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var W,M={exports:{}},L={exports:{}},F={exports:{}};function H(){return W||(W=1,function(e,t){function n(e){return Math.round(255*e)}function r(e,t,r){return n(e)+","+n(t)+","+n(r)}t.__esModule=!0,t.default=void 0,t.default=function(e,t,n,i){if(void 0===i&&(i=r),0===t)return i(n,n,n);var o=(e%360+360)%360/60,a=(1-Math.abs(2*n-1))*t,s=a*(1-Math.abs(o%2-1)),l=0,d=0,u=0;o>=0&&o<1?(l=a,d=s):o>=1&&o<2?(l=s,d=a):o>=2&&o<3?(d=a,u=s):o>=3&&o<4?(d=s,u=a):o>=4&&o<5?(l=s,u=a):o>=5&&o<6&&(l=a,u=s);var c=n-a/2;return i(l+c,d+c,u+c)},e.exports=t.default}(F,F.exports)),F.exports}var R,$={exports:{}};function K(){return R||(R=1,function(e,t){t.__esModule=!0,t.default=void 0;var n={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};t.default=function(e){if("string"!=typeof e)return e;var t=e.toLowerCase();return n[t]?"#"+n[t]:e},e.exports=t.default}($,$.exports)),$.exports}var z,N,q,D={exports:{}};function U(){return z||(z=1,function(e,t){function n(e){var t="function"==typeof Map?new Map:void 0;return n=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if(r())return Reflect.construct.apply(null,arguments);var o=[null];o.push.apply(o,t);var a=new(e.bind.apply(e,o));return n&&i(a,n.prototype),a}(e,arguments,o(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),i(n,e)},n(e)}function r(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(r=function(){return!!e})()}function i(e,t){return(i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}t.__esModule=!0,t.default=void 0;var a={1:"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\n\n",2:"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\n\n",3:"Passed an incorrect argument to a color function, please pass a string representation of a color.\n\n",4:"Couldn't generate valid rgb string from %s, it returned %s.\n\n",5:"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\n\n",6:"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\n\n",7:"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\n\n",8:"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\n\n",9:"Please provide a number of steps to the modularScale helper.\n\n",10:"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n",11:'Invalid value passed as base to modularScale, expected number or em string but got "%s"\n\n',12:'Expected a string ending in "px" or a number passed as the first argument to %s(), got "%s" instead.\n\n',13:'Expected a string ending in "px" or a number passed as the second argument to %s(), got "%s" instead.\n\n',14:'Passed invalid pixel value ("%s") to %s(), please pass a value like "12px" or 12.\n\n',15:'Passed invalid base value ("%s") to %s(), please pass a value like "12px" or 12.\n\n',16:"You must provide a template to this method.\n\n",17:"You passed an unsupported selector state to this method.\n\n",18:"minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n",19:"fromSize and toSize must be provided as stringified numbers with the same units.\n\n",20:"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n",21:"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\n\n",22:"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\n\n",23:"fontFace expects a name of a font-family.\n\n",24:"fontFace expects either the path to the font file(s) or a name of a local copy.\n\n",25:"fontFace expects localFonts to be an array.\n\n",26:"fontFace expects fileFormats to be an array.\n\n",27:"radialGradient requries at least 2 color-stops to properly render.\n\n",28:"Please supply a filename to retinaImage() as the first argument.\n\n",29:"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n",30:"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",31:"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\n\n",32:"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\n\n",33:"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\n\n",34:"borderRadius expects a radius value as a string or number as the second argument.\n\n",35:'borderRadius expects one of "top", "bottom", "left" or "right" as the first argument.\n\n',36:"Property must be a string value.\n\n",37:"Syntax Error at %s.\n\n",38:"Formula contains a function that needs parentheses at %s.\n\n",39:"Formula is missing closing parenthesis at %s.\n\n",40:"Formula has too many closing parentheses at %s.\n\n",41:"All values in a formula must have the same unit or be unitless.\n\n",42:"Please provide a number of steps to the modularScale helper.\n\n",43:"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n",44:"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\n\n",45:"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\n\n",46:"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\n\n",47:"minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n",48:"fromSize and toSize must be provided as stringified numbers with the same units.\n\n",49:"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n",50:"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\n\n",51:"Expects the first argument object to have the properties prop, fromSize, and toSize.\n\n",52:"fontFace expects either the path to the font file(s) or a name of a local copy.\n\n",53:"fontFace expects localFonts to be an array.\n\n",54:"fontFace expects fileFormats to be an array.\n\n",55:"fontFace expects a name of a font-family.\n\n",56:"linearGradient requries at least 2 color-stops to properly render.\n\n",57:"radialGradient requries at least 2 color-stops to properly render.\n\n",58:"Please supply a filename to retinaImage() as the first argument.\n\n",59:"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n",60:"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",61:"Property must be a string value.\n\n",62:"borderRadius expects a radius value as a string or number as the second argument.\n\n",63:'borderRadius expects one of "top", "bottom", "left" or "right" as the first argument.\n\n',64:"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\n\n",65:"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\n\n",66:"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\n\n",67:"You must provide a template to this method.\n\n",68:"You passed an unsupported selector state to this method.\n\n",69:'Expected a string ending in "px" or a number passed as the first argument to %s(), got %s instead.\n\n',70:'Expected a string ending in "px" or a number passed as the second argument to %s(), got %s instead.\n\n',71:'Passed invalid pixel value %s to %s(), please pass a value like "12px" or 12.\n\n',72:'Passed invalid base value %s to %s(), please pass a value like "12px" or 12.\n\n',73:"Please provide a valid CSS variable.\n\n",74:"CSS variable not found and no default was provided.\n\n",75:"important requires a valid style object, got a %s instead.\n\n",76:"fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\n\n",77:'remToPx expects a value in "rem" but you provided it in "%s".\n\n',78:'base must be set in "px" or "%" but you set it in "%s".\n'};function s(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r,i=t[0],o=[];for(r=1;r<t.length;r+=1)o.push(t[r]);return o.forEach(function(e){i=i.replace(/%[a-z]/,e)}),i}t.default=function(e){var t,n;function r(t){var n;if("production"===process.env.NODE_ENV)n=e.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+t+" for more information.")||this;else{for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];n=e.call(this,s.apply(void 0,[a[t]].concat(i)))||this}return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(n)}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,i(t,n),r}(n(Error)),e.exports=t.default}(D,D.exports)),D.exports}function J(){return N||(N=1,function(e,t){t.__esModule=!0,t.default=function(e){if("string"!=typeof e)throw new i.default(3);var t=(0,r.default)(e);if(t.match(a))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(s)){var o=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:o}}if(t.match(l))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(d)){var g=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:g}}var h=u.exec(t);if(h)return{red:parseInt(""+h[1],10),green:parseInt(""+h[2],10),blue:parseInt(""+h[3],10)};var b=c.exec(t.substring(0,50));if(b)return{red:parseInt(""+b[1],10),green:parseInt(""+b[2],10),blue:parseInt(""+b[3],10),alpha:parseFloat(""+b[4])>1?parseFloat(""+b[4])/100:parseFloat(""+b[4])};var m=f.exec(t);if(m){var y=parseInt(""+m[1],10),v=parseInt(""+m[2],10)/100,w=parseInt(""+m[3],10)/100,x="rgb("+(0,n.default)(y,v,w)+")",S=u.exec(x);if(!S)throw new i.default(4,t,x);return{red:parseInt(""+S[1],10),green:parseInt(""+S[2],10),blue:parseInt(""+S[3],10)}}var _=p.exec(t.substring(0,50));if(_){var k=parseInt(""+_[1],10),E=parseInt(""+_[2],10)/100,C=parseInt(""+_[3],10)/100,O="rgb("+(0,n.default)(k,E,C)+")",B=u.exec(O);if(!B)throw new i.default(4,t,O);return{red:parseInt(""+B[1],10),green:parseInt(""+B[2],10),blue:parseInt(""+B[3],10),alpha:parseFloat(""+_[4])>1?parseFloat(""+_[4])/100:parseFloat(""+_[4])}}throw new i.default(5)};var n=o(H()),r=o(K()),i=o(U());function o(e){return e&&e.__esModule?e:{default:e}}var a=/^#[a-fA-F0-9]{6}$/,s=/^#[a-fA-F0-9]{8}$/,l=/^#[a-fA-F0-9]{3}$/,d=/^#[a-fA-F0-9]{4}$/,u=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,c=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,f=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,p=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;e.exports=t.default}(L,L.exports)),L.exports}function Y(){return q||(q=1,function(e,t){t.__esModule=!0,t.default=function(e){if("transparent"===e)return 0;var t=(0,r.default)(e),n=Object.keys(t).map(function(e){var n=t[e]/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}),i=n[0],o=n[1],a=n[2];return parseFloat((.2126*i+.7152*o+.0722*a).toFixed(3))};var n,r=(n=J())&&n.__esModule?n:{default:n};e.exports=t.default}(M,M.exports)),M.exports}const G=P(Y());var V,Z={exports:{}},Q={exports:{}};function X(){return V||(V=1,function(e,t){function n(e,t,r){return function(){var i=r.concat(Array.prototype.slice.call(arguments));return i.length>=t?e.apply(this,i):n(e,t,i)}}t.__esModule=!0,t.default=function(e){return n(e,e.length,[])},e.exports=t.default}(Q,Q.exports)),Q.exports}var ee,te={exports:{}};function ne(){return ee||(ee=1,e=te,(t=te.exports).__esModule=!0,t.default=void 0,t.default=function(e,t,n){return Math.max(e,Math.min(t,n))},e.exports=t.default),te.exports;var e,t}var re,ie,oe={exports:{}},ae={exports:{}};function se(){return re||(re=1,e=ae,(t=ae.exports).__esModule=!0,t.default=void 0,t.default=function(e){var t,n=e.red/255,r=e.green/255,i=e.blue/255,o=Math.max(n,r,i),a=Math.min(n,r,i),s=(o+a)/2;if(o===a)return void 0!==e.alpha?{hue:0,saturation:0,lightness:s,alpha:e.alpha}:{hue:0,saturation:0,lightness:s};var l=o-a,d=s>.5?l/(2-o-a):l/(o+a);switch(o){case n:t=(r-i)/l+(r<i?6:0);break;case r:t=(i-n)/l+2;break;default:t=(n-r)/l+4}return t*=60,void 0!==e.alpha?{hue:t,saturation:d,lightness:s,alpha:e.alpha}:{hue:t,saturation:d,lightness:s}},e.exports=t.default),ae.exports;var e,t}function le(){return ie||(ie=1,function(e,t){t.__esModule=!0,t.default=function(e){return(0,r.default)((0,n.default)(e))};var n=i(J()),r=i(se());function i(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default}(oe,oe.exports)),oe.exports}var de,ue={exports:{}},ce={exports:{}},fe={exports:{}},pe={exports:{}};function ge(){return de||(de=1,function(e,t){t.__esModule=!0,t.default=void 0;t.default=function(e){return 7===e.length&&e[1]===e[2]&&e[3]===e[4]&&e[5]===e[6]?"#"+e[1]+e[3]+e[5]:e},e.exports=t.default}(pe,pe.exports)),pe.exports}var he,be,me,ye={exports:{}};function ve(){return he||(he=1,e=ye,(t=ye.exports).__esModule=!0,t.default=void 0,t.default=function(e){var t=e.toString(16);return 1===t.length?"0"+t:t},e.exports=t.default),ye.exports;var e,t}function we(){return be||(be=1,function(e,t){t.__esModule=!0,t.default=void 0;var n=o(H()),r=o(ge()),i=o(ve());function o(e){return e&&e.__esModule?e:{default:e}}function a(e){return(0,i.default)(Math.round(255*e))}function s(e,t,n){return(0,r.default)("#"+a(e)+a(t)+a(n))}t.default=function(e,t,r){return(0,n.default)(e,t,r,s)},e.exports=t.default}(fe,fe.exports)),fe.exports}function xe(){return me||(me=1,function(e,t){t.__esModule=!0,t.default=function(e,t,i){if("number"==typeof e&&"number"==typeof t&&"number"==typeof i)return(0,n.default)(e,t,i);if("object"==typeof e&&void 0===t&&void 0===i)return(0,n.default)(e.hue,e.saturation,e.lightness);throw new r.default(1)};var n=i(we()),r=i(U());function i(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default}(ce,ce.exports)),ce.exports}var Se,_e={exports:{}};function ke(){return Se||(Se=1,function(e,t){t.__esModule=!0,t.default=function(e,t,o,a){if("number"==typeof e&&"number"==typeof t&&"number"==typeof o&&"number"==typeof a)return a>=1?(0,n.default)(e,t,o):"rgba("+(0,r.default)(e,t,o)+","+a+")";if("object"==typeof e&&void 0===t&&void 0===o&&void 0===a)return e.alpha>=1?(0,n.default)(e.hue,e.saturation,e.lightness):"rgba("+(0,r.default)(e.hue,e.saturation,e.lightness)+","+e.alpha+")";throw new i.default(2)};var n=o(we()),r=o(H()),i=o(U());function o(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default}(_e,_e.exports)),_e.exports}var Ee,Ce={exports:{}};function Oe(){return Ee||(Ee=1,function(e,t){t.__esModule=!0,t.default=function(e,t,o){if("number"==typeof e&&"number"==typeof t&&"number"==typeof o)return(0,n.default)("#"+(0,r.default)(e)+(0,r.default)(t)+(0,r.default)(o));if("object"==typeof e&&void 0===t&&void 0===o)return(0,n.default)("#"+(0,r.default)(e.red)+(0,r.default)(e.green)+(0,r.default)(e.blue));throw new i.default(6)};var n=o(ge()),r=o(ve()),i=o(U());function o(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default}(Ce,Ce.exports)),Ce.exports}var Be,Te,Ae,Ie={exports:{}};function je(){return Be||(Be=1,function(e,t){t.__esModule=!0,t.default=function(e,t,o,a){if("string"==typeof e&&"number"==typeof t){var s=(0,n.default)(e);return"rgba("+s.red+","+s.green+","+s.blue+","+t+")"}if("number"==typeof e&&"number"==typeof t&&"number"==typeof o&&"number"==typeof a)return a>=1?(0,r.default)(e,t,o):"rgba("+e+","+t+","+o+","+a+")";if("object"==typeof e&&void 0===t&&void 0===o&&void 0===a)return e.alpha>=1?(0,r.default)(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")";throw new i.default(7)};var n=o(J()),r=o(Oe()),i=o(U());function o(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default}(Ie,Ie.exports)),Ie.exports}function Pe(){return Te||(Te=1,function(e,t){t.__esModule=!0,t.default=function(e){if("object"!=typeof e)throw new a.default(8);if(d(e))return(0,o.default)(e);if(l(e))return(0,i.default)(e);if(c(e))return(0,r.default)(e);if(u(e))return(0,n.default)(e);throw new a.default(8)};var n=s(xe()),r=s(ke()),i=s(Oe()),o=s(je()),a=s(U());function s(e){return e&&e.__esModule?e:{default:e}}var l=function(e){return"number"==typeof e.red&&"number"==typeof e.green&&"number"==typeof e.blue&&("number"!=typeof e.alpha||void 0===e.alpha)},d=function(e){return"number"==typeof e.red&&"number"==typeof e.green&&"number"==typeof e.blue&&"number"==typeof e.alpha},u=function(e){return"number"==typeof e.hue&&"number"==typeof e.saturation&&"number"==typeof e.lightness&&("number"!=typeof e.alpha||void 0===e.alpha)},c=function(e){return"number"==typeof e.hue&&"number"==typeof e.saturation&&"number"==typeof e.lightness&&"number"==typeof e.alpha};e.exports=t.default}(ue,ue.exports)),ue.exports}function We(){return Ae||(Ae=1,function(e,t){t.__esModule=!0,t.default=void 0;var n=a(X()),r=a(ne()),i=a(le()),o=a(Pe());function a(e){return e&&e.__esModule?e:{default:e}}function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s.apply(this,arguments)}var l=(0,n.default)(function(e,t){if("transparent"===t)return t;var n=(0,i.default)(t);return(0,o.default)(s({},n,{lightness:(0,r.default)(0,1,n.lightness-parseFloat(e))}))});t.default=l,e.exports=t.default}(Z,Z.exports)),Z.exports}const Me=P(We());var Le,Fe={exports:{}};function He(){return Le||(Le=1,function(e,t){t.__esModule=!0,t.default=void 0;var n=a(X()),r=a(ne()),i=a(le()),o=a(Pe());function a(e){return e&&e.__esModule?e:{default:e}}function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s.apply(this,arguments)}var l=(0,n.default)(function(e,t){if("transparent"===t)return t;var n=(0,i.default)(t);return(0,o.default)(s({},n,{lightness:(0,r.default)(0,1,n.lightness+parseFloat(e))}))});t.default=l,e.exports=t.default}(Fe,Fe.exports)),Fe.exports}const Re=P(He());function $e(e){var t,n;if(!document.querySelector("style[data-widget-styles]")){!function(e="#000",t="FFF"){const n=document.createElement("style");n.attributes.setNamedItem(document.createAttribute("data-widget-styles"));const r=G(e)>.5;n.textContent=`\n .bf-trigger-button{position:fixed;bottom:16px;right:16px;width:36px;height:36px;border-radius:50%;border:none;box-shadow:0 1px 6px #0000000f,0 2px 32px #00000029;transition:transform 167ms cubic-bezier(.33,0,0,1);box-sizing:content-box;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;padding:12px;gap:10px;overflow:hidden}.bf-trigger-button.hidden{display:none}.trigger-button-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;position:relative}.trigger-button-icon svg{width:100%;height:100%;position:absolute;inset:0}.trigger-button-icon>svg>path{transition:transform .3s ease,opacity .3s ease;transform:scale(.5);transform-origin:center;opacity:0}.trigger-button-icon .fish-icon{display:none}.trigger-button-icon .fish-icon.visible{display:block}.trigger-button-icon svg.visible{display:block}.trigger-button-icon>svg.visible>path{opacity:1;transform:scale(1)}.trigger-iframe{position:relative;width:100%;height:100%;border:none;outline:none;transform:translateZ(0)}.bf-iframe-container{display:none;position:fixed;z-index:2147483000000;background-color:#fff;bottom:0;right:0;width:100vw;height:100vh;border:none;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease,width .2s ease-in-out,height .2s ease-in-out}.bf-iframe-container.open{display:block;opacity:1;transform:translateY(0);pointer-events:auto;top:0;left:0}@media (min-width: 576px){.bf-iframe-container{bottom:80px;right:24px;width:448px;height:min(750px,calc(100vh - 80px));border-radius:8px;border:1px solid var(--Dark-300, #D4D4D4);box-shadow:0 20px 25px -5px #1212171a,0 10px 10px -5px #1212170a}.bf-iframe-container.open{top:unset;left:unset}.bf-iframe-container.expanded{width:min(calc(448px * 1.35),calc(100vw - 16px));height:min(calc(750px * 1.35),calc(100vh - 80px))}}.iframe-loading-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;z-index:10}.spinner{width:24px;height:24px;border:2px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#3498db;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-error{width:24px;height:24px;position:relative;display:flex;align-items:center;justify-content:center}.loading-error:before,.loading-error:after{content:"";position:absolute;width:16px;height:2px;background-color:#e74c3c;border-radius:2px}.loading-error:before{transform:rotate(45deg)}.loading-error:after{transform:rotate(-45deg)}\n .${A} { background: ${e}; }\n .${A}:hover {\n background: ${r?Me(.05,e):Re(.05,e)};\n }\n .trigger-button-icon { color: ${t}; }\n `,document.head.appendChild(n)}((null==(t=null==e?void 0:e.theme)?void 0:t.inputButtonBgColor)||"#007bff",(null==(n=null==e?void 0:e.theme)?void 0:n.textBaseColor)||"#ffffff")}}function Ke(e,t){const n=()=>{(t=>{var n;null==(n=e.contentWindow)||n.postMessage({type:"UPDATE_BODY_CLASS",isDarkMode:t},"*")})(document.body.classList.contains("dark"))};n(),(()=>{const e=new MutationObserver(n);e.observe(document.body,{attributes:!0,attributeFilter:["class"]}),t.addEventListener("abort",()=>e.disconnect())})()}function ze(e,t){let n;const r=()=>{(t=>{var n;const r={type:"UPDATE_BODY_CLASS",isMobile:t};null==(n=e.contentWindow)||n.postMessage(r,"*"),t&&(I.isWidgetOpen?I.hideTriggerButton():I.showTriggerButton())})(document.body.clientWidth<=576)},i=()=>{n&&clearTimeout(n),n=window.setTimeout(r,300)};r(),(()=>{const e=new ResizeObserver(i);e.observe(document.body),t.addEventListener("abort",()=>e.disconnect())})()}function Ne(e){const t=(new TextEncoder).encode(e);if("undefined"!=typeof window&&"function"==typeof window.btoa){const e=Array.from(t,e=>String.fromCharCode(e)).join("");return btoa(e)}if("undefined"!=typeof Buffer)return Buffer.from(t).toString("base64");throw new Error("[utils.base64Encode]: Unsupported environment")}const qe=new Set;function De(e,t,{isButtonHidden:n,triggerButtonIcon:r}){const i=document.createDocumentFragment();if(n)I.initialize({isButtonHidden:n});else{const{button:t,icon:n}=function(e,t){const n=B("button",A,{id:`trigger-button-${e}`,"aria-controls":T,"aria-expanded":"false","data-name":A}),r=B("div","trigger-button-icon",{"aria-hidden":"true"});return r.innerHTML=t?`\n <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" viewBox="0 0 256 256" class="close-icon">\n <path d="M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"></path>\n </svg>\n <img src="${t}" class="fish-icon visible" alt="Trigger button icon" height="32" width="32" aria-hidden="true" aria-label="help button icon" />\n `:'\n <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" viewBox="0 0 256 256" class="close-icon">\n <path d="M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"></path>\n </svg>\n <svg width="24" height="14" viewBox="0 0 24 14" fill="none" xmlns="http://www.w3.org/2000/svg" class="fish-icon visible">\n <path fill-rule="evenodd" clip-rule="evenodd" d="M1.71844 10.3882L4.60606 6.98384L1.71844 3.58375C1.4014 3.21362 1.44424 2.65841 1.81269 2.33993C1.97978 2.1979 2.65242 1.98701 3.04657 2.43461L5.78425 5.65824C6.14281 5.29523 6.51693 4.95924 6.90479 4.65114C8.88976 3.07437 11.2345 2.22803 13.6931 2.22803C16.9492 2.22803 20.0039 3.71718 22.2917 6.41142C22.5702 6.74282 22.5702 7.22916 22.2917 7.56056C20.0039 10.2591 16.9492 11.744 13.6931 11.744C11.2348 11.744 8.89035 10.8948 6.90554 9.31995C6.51741 9.01199 6.14304 8.67628 5.78425 8.31374L3.04657 11.5374C2.72953 11.9075 2.18114 11.9505 1.81269 11.632C1.44852 11.3179 1.40568 10.7584 1.71844 10.3882ZM5.93026 10.4683C8.17161 12.2599 10.8546 13.25 13.6931 13.25C17.4881 13.25 21.019 11.4034 23.4447 8.52942C24.1873 7.64571 24.1843 6.31801 23.4397 5.43663C20.8944 2.43919 17.4337 0.722025 13.6931 0.722025C10.8555 0.722025 8.17194 1.70845 5.92952 3.50276L4.17682 1.43933C3.57943 0.760929 2.79325 0.630009 2.25286 0.662947C1.98116 0.679506 1.73125 0.736852 1.51895 0.811846C1.26839 0.900352 1.03017 1.02718 0.827835 1.20058C-0.165283 2.05903 -0.283916 3.561 0.574656 4.56345L2.63075 6.98445L0.568104 9.41623C-0.272133 10.4106 -0.166523 11.9125 0.827835 12.7714C1.81372 13.6243 3.34308 13.5062 4.19036 12.5171L5.93026 10.4683Z" fill="currentColor"/>\n </svg>\n ',n.setAttribute("aria-label","Open Brainfish widget"),n.appendChild(r),{button:n,icon:r}}(e,r);i.appendChild(t),I.initialize({button:t,icon:n})}const{iframeContainer:o,iframe:a}=function(e){const t=B("div",T,{id:T,"aria-live":"polite","aria-hidden":"true"}),n=B("div","iframe-loading-indicator"),r=B("div","spinner");n.setAttribute("aria-label","Loading content"),n.setAttribute("role","status"),n.appendChild(r),t.appendChild(n);const i=B("iframe","trigger-iframe",{src:e,sandbox:"allow-scripts allow-same-origin allow-popups allow-forms",allow:"clipboard-write",role:"dialog"});return i.style.opacity="0",i.addEventListener("load",()=>{n.style.display="none",i.style.opacity="1"}),i.addEventListener("error",e=>{console.error("Error loading iframe:",e),n.innerHTML="";const t=B("div","loading-error");n.appendChild(t),n.setAttribute("aria-label","Failed to load content")}),t.appendChild(i),{iframeContainer:t,iframe:i}}(t);return i.appendChild(o),{fragment:i,iframe:a}}const Ue=(e,t)=>{var n,r,i;const o=S(e.overrides),a=(null==(s=e.overrides)?void 0:s.widgetHost)||"https://agent.brainfi.sh";var s;const{theme:l,settings:d}=t,u=Ne(JSON.stringify(null==(n=e.overrides)?void 0:n.redirectRules)),c={theme:Ne(JSON.stringify(l)),settings:Ne(JSON.stringify(d)),redirectRules:u};(null==(r=e.overrides)?void 0:r.regions)&&(c.regions=Ne(JSON.stringify(null==(i=e.overrides)?void 0:i.regions)));const f=`${a}/?widgetKey=${e.widgetKey}#${new URLSearchParams(c).toString()}`,p=null==d?void 0:d.hideTriggerButton,g=null==d?void 0:d.triggerButtonIcon;try{if(h=e.widgetKey,qe.has(h))return;if(function(e){return!!document.getElementById(`trigger-button-${e}`)}(e.widgetKey))return;$e(t);const{fragment:n,iframe:r}=De(e.widgetKey,f,{isButtonHidden:p||!1,triggerButtonIcon:g||""}),i=new AbortController,{signal:s}=i;r.onload=()=>{setTimeout(()=>{Ke(r,s),j({widgetHost:a,apiHost:o,widgetKey:e.widgetKey,signal:s}),ze(r,s)},0)},document.body.appendChild(n),qe.add(e.widgetKey);const l=()=>{i.abort(),window.removeEventListener("beforeunload",l)};return void window.addEventListener("beforeunload",l)}catch(b){!function(e,t,n){v(e,t,t.message,n)}(o,b,e.widgetKey)}var h};var Je=(e=>(e.FRESHCHAT="freshchat",e.INTERCOM="intercom",e.ZENDESK="zendesk",e.HELPSCOUT="helpscout",e))(Je||{});const Ye=e=>u(null,null,function*(){if(e.widgetType===g.Popup){const e=window.fcWidget?Je.FRESHCHAT:null;e&&e===Je.FRESHCHAT&&(yield u(null,null,function*(){window.fcWidget||(yield new Promise(e=>setTimeout(e,100))),window.fcWidget.hide(),window.fcWidget.on("widget:closed",()=>{window.fcWidget.hide()})}))}}),Ge="brainfish-nudges",Ve=(e,t)=>u(null,null,function*(){try{yield((e,t)=>u(null,null,function*(){if(document.getElementById(Ge))return;const n=document.createElement("script");n.id=Ge,n.src="https://cdn.jsdelivr.net/npm/@brainfish-ai/nudge-widget@latest/dist/index.js",n.type="module",n.async=!0,n.crossOrigin="anonymous",n.onerror=()=>{v(e,new Error(`Failed to load script: ${n.src}`),`Failed to load script: ${n.src}`,t)},document.head.appendChild(n)}))(e,t)}catch(n){v(e,n,"Failed to initialize Nudge widget",t)}});let Ze=null;const Qe="undefined"!=typeof window&&window.Brainfish?window.Brainfish:(Ze||(Ze=function(){let e=[],t=null;function n(n,r){if(t){const e=n.split(".");let i=t;for(let t=0;t<e.length-1;t++)i=i[e[t]];const o=i[e[e.length-1]];if("function"==typeof o)return o.apply(i,r)}else e.push([n,r])}return{Widgets:{init:(...e)=>n("Widgets.init",e),identify:(...e)=>n("Widgets.identify",e),setSecretAttributes:(...e)=>n("Widgets.setSecretAttributes",e),open:()=>n("Widgets.open",[]),close:()=>n("Widgets.close",[]),isReady:!1},SearchWidget:{initStandard:(...e)=>n("SearchWidget.initStandard",e)},HelpWidget:{initPopup:(...e)=>n("HelpWidget.initPopup",e),close:(...e)=>n("HelpWidget.close",e),open:(...e)=>n("HelpWidget.open",e),toggle:(...e)=>n("HelpWidget.toggle",e)},_setRealBrainfish:function(r){for(t=r;e.length>0;){const[t,r]=e.shift();n(t,r)}}}}(),"undefined"!=typeof window&&(window.Brainfish=Ze)),Ze);let Xe=null;Qe.Widgets.isReady=!1,Qe.Widgets.identify=e=>{window.BrainfishAnalytics("identify",e)},Qe.Widgets.setSecretAttributes=e=>{try{const{alg:t}=p(e);if("dir"!==t)throw new Error("Invalid algorithm")}catch(n){return void console.error("[Brainfish] Invalid JWE provided to setSecretAttributes:",n)}const t=document.querySelector("#bf-iframe-container .trigger-iframe");if(t){const n=()=>{t.contentWindow&&t.contentWindow.postMessage({type:"SET_SECRET_ATTRIBUTES",secretAttributes:e},"*")};t.contentWindow&&n(),t.addEventListener("load",n)}},Qe.Widgets.init=e=>u(null,null,function*(){window&&(window.BrainfishAnalytics=window.BrainfishAnalytics||function(...e){(window.BrainfishAnalytics.q=window.BrainfishAnalytics.q||[]).push(e)});const t=S(e.overrides),n=(null==(r=e.overrides)?void 0:r.analyticsApiHost)||"";var r;let i;if(e.config)i=JSON.parse((e=>{if("undefined"!=typeof window&&"function"==typeof window.atob){const t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return(new TextDecoder).decode(r)}if("undefined"!=typeof Buffer)return Buffer.from(e,"base64").toString("utf-8");throw new Error("[utils.base64Decode]: Unsupported environment")})(e.config));else{const{config:n}=yield w({widgetKey:e.widgetKey,apiHost:t});i=n}Xe||(Xe=function(e,t,n,r){return u(this,null,function*(){var i,o,a,s,l,d;const u=(null==(i=e.overrides)?void 0:i.enableRecording)||(null==(o=null==t?void 0:t.settings)?void 0:o.enableRecording)||!1,c=(null==(a=e.overrides)?void 0:a.version)||(null==t?void 0:t.version),f=[];(null==c?void 0:c.startsWith("2."))?Ue(e,t):f.push(E(e,t)),f.push(O(e.widgetKey,t.trackingToken||"",n,r,u,(null==(s=null==t?void 0:t.settings)?void 0:s.recordingBlocklist)||[],null==(l=null==t?void 0:t.settings)?void 0:l._allowLocalhostRecording,null==(d=null==t?void 0:t.settings)?void 0:d._allowScreenRecording)),f.push(Ve(n,e.widgetKey));const[p]=yield Promise.allSettled(f);p&&"fulfilled"===p.status&&p.value&&Qe._setRealBrainfish(p.value)})}(e,i,t,n)),yield Xe,yield Ye(i),Qe.Widgets.isReady=!0,window.dispatchEvent(new Event("onBrainfishReady"))});exports.BrainfishAnalytics=(...e)=>{"undefined"!=typeof window&&window.BrainfishAnalytics&&window.BrainfishAnalytics(...e)},exports.default=Qe;
|
|
1
|
+
"use strict";var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,a=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,s=(e,t)=>{for(var n in t||(t={}))i.call(t,n)&&a(e,n,t[n]);if(r)for(var n of r(t))o.call(t,n)&&a(e,n,t[n]);return e},l=(e,r)=>t(e,n(r)),d=(e,t,n)=>a(e,"symbol"!=typeof t?t+"":t,n),u=(e,t,n)=>new Promise((r,i)=>{var o=e=>{try{s(n.next(e))}catch(t){i(t)}},a=e=>{try{s(n.throw(e))}catch(t){i(t)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(o,a);s((n=n.apply(e,t)).next())});!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cd8d20e6-d71f-4eae-ac84-3828a21179b7",e._sentryDebugIdIdentifier="sentry-dbid-cd8d20e6-d71f-4eae-ac84-3828a21179b7")}catch(n){}}(),Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),new TextEncoder;const c=new TextDecoder;const f=e=>{let t=e;t instanceof Uint8Array&&(t=c.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return(e=>{const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n})(t)}catch(n){throw new TypeError("The input to be decoded is not correctly encoded.")}};function p(e){let t;if("string"==typeof e){const n=e.split(".");3!==n.length&&5!==n.length||([t]=n)}else if("object"==typeof e&&e){if(!("protected"in e))throw new TypeError("Token does not contain a Protected Header");t=e.protected}try{if("string"!=typeof t||!t)throw new Error;const e=JSON.parse(c.decode(f(t)));if(!function(e){if("object"!=typeof(t=e)||null===t||"[object Object]"!==Object.prototype.toString.call(e))return!1;var t;if(null===Object.getPrototypeOf(e))return!0;let n=e;for(;null!==Object.getPrototypeOf(n);)n=Object.getPrototypeOf(n);return Object.getPrototypeOf(e)===n}(e))throw new Error;return e}catch(n){throw new TypeError("Invalid Token or Protected Header formatting")}}var g,h,b,m;("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{}).SENTRY_RELEASE={id:"03aedc254757699e2d2aca22c018ef134a5de216"},(h=g||(g={})).Sidebar="sidebar",h.Searchbar="searchbar",h.Popup="popup",g.Sidebar,g.Searchbar,g.Popup;class y extends Error{constructor(e,t){super(e,t),d(this,"cause"),this.name="BrainfishWidgetError",this.cause=null==t?void 0:t.cause,Error.captureStackTrace&&Error.captureStackTrace(this,y),this.cause instanceof Error&&this.cause.stack&&(this.stack=this.stack+"\nCaused by: "+this.cause.stack)}toJSON(){return{name:this.name,message:this.message,stack:this.stack,cause:this.cause instanceof Error?{name:this.cause.name,message:this.cause.message,stack:this.cause.stack}:this.cause}}}(m=b||(b={})).LINK="link",m.CALLBACK="callback",m.EMAIL="email",m.PHONE="phone";const v=(e,t,n,r)=>{let i=n,o={};if(t instanceof Error)try{o=JSON.parse(t.message),i+=` - ${o.message||t.message}`}catch(a){i+=` - ${t.message}`}else i+=` - ${String(t)}`;((e,t,n)=>{if(!navigator||navigator.userAgent.toLowerCase().includes("headless"))return;const r=t.toJSON();fetch(`${e||"https://app.brainfi.sh"}/api/trackError.widget.create`,{method:"POST",headers:{"Content-Type":"application/json","api-key":n},body:JSON.stringify({error:`WebWidgetVersion: 1.14.0. ${t.message}`,stack:t.stack,cause:{message:r.message,stack:r.stack,cause:r.cause}})})})(e,new y(i,{cause:o}),r)};const w=e=>u(null,[e],function*({widgetKey:e,apiHost:t}){return function(e,t,n){return u(this,null,function*(){let r,i=0;for(;i<3;)try{const r=yield fetch(`${e}${t}`,{method:"POST",headers:{"Content-Type":"application/json","api-key":n}});if(!r.ok)throw new Error(`API call failed with status: ${r.status}`);const i=yield r.json();if(!i)throw new Error("Error loading config: empty response");return i}catch(o){if(r=o,i++,i>=3)throw v(e,o,"Error fetching config",n),r;yield new Promise(e=>setTimeout(e,500))}})}(t,"/api/searchWidgets.getConfigByKey",e)}),x=({config:e,apiKey:t,apiHost:n})=>{const r=e.settings||{};return["bodyActionButtons","footerActionButtons","nextBestActions"].forEach(e=>{r[e]&&(r[e]=r[e].map(e=>e.type===b.CALLBACK&&e.value?l(s({},e),{value:new Function(`return ${e.value}`)()}):e))}),l(s({},e),{settings:r,apiHost:n,widgetMode:e.widgetType,apiKey:t})},S=e=>(null==e?void 0:e.apiHost)||"https://app.brainfi.sh",E=e=>u(null,[e],function*({apiHost:e,widgetKey:t,version:n}){try{const e=`https://cdn.jsdelivr.net/npm/@brainfish-ai/search-widget@${n}/dist/web.js`,t=yield(e=>u(null,null,function*(){return document.getElementById("brainfish-widget")?window.Brainfish:new Promise((t,n)=>{const r=document.createElement("script");r.id="brainfish-widget",r.src=e,r.type="module",r.async=!0,r.crossOrigin="anonymous",r.onload=()=>{setTimeout(()=>{const e=window.Brainfish;e?t(e):n(new Error("Failed to load Brainfish module"))},200)},r.onerror=t=>{const r=t,i={message:`Failed to load script: ${e}`,type:r.type,fileName:r.filename,lineNumber:r.lineno,columnNumber:r.colno,error:r.error?r.error.toString():"Unknown error"};n(new Error(JSON.stringify(i)))},document.head.appendChild(r)})}))(e);return{widget:t}}catch(r){v(e,r,r.message,t)}});const _=new Set,k=(e,t)=>u(null,null,function*(){const n=S(e.overrides);try{if(_.has(e.widgetKey))return;const r=yield E({apiHost:n,widgetKey:e.widgetKey,version:t.version||"latest"});if(r){const{widget:i}=r,o=x({config:t,apiKey:e.widgetKey,apiHost:n});return e.overrides&&t.settings&&Object.entries(e.overrides).forEach(([e,n])=>{t.settings&&e in t.settings&&(t.settings[e]=((e=[],t)=>{const n=new Map(e.map(e=>[e.label,e]));return t.forEach(e=>n.set(e.label,e)),Array.from(n.values())})(t.settings[e],n))}),function(e,t){t.widgetType===g.Searchbar||"Search"===t.widgetType?e.SearchWidget.initStandard(t):e.HelpWidget.initPopup(t)}(i,o),_.add(e.widgetKey),i}}catch(r){v(n,r,r.message,e.widgetKey)}});let C=!1;const O=(e,t,n,...r)=>u(null,[e,t,n,...r],function*(e,t,n,r="",i=!1,o=[],a,s){if(t||v(n,new Error("Access key is required"),"Access key is required",e),!C)try{const l=(()=>{if("undefined"==typeof window||"undefined"==typeof navigator)return!1;const e=navigator,t=window,n=(e.doNotTrack||t.doNotTrack||e.msDoNotTrack||"0").toString().toLowerCase();return["1","yes","true"].includes(n)})();window.BrainfishAnalytics("init",{apiUrl:r,accessKey:t,trackScreenViews:!0,trackAttributes:!l,trackOutgoingLinks:!l,enableRecording:!l&&i,recordingBlocklist:o,_allowLocalhostRecording:a,_allowScreenRecording:s}),C=!0,yield((e,t)=>u(null,null,function*(){if(document.getElementById("brainfish-analytics"))return window.BrainfishAnalytics;const n=document.createElement("script");n.id="brainfish-analytics",n.src="https://cdn.jsdelivr.net/npm/@brainfish-ai/web-tracker@latest/dist/tracker.js",n.type="module",n.async=!0,n.crossOrigin="anonymous",n.onerror=()=>{v(e,new Error(`Failed to load script: ${n.src}`),`Failed to load script: ${n.src}`,t)},document.head.appendChild(n)}))(n,e)}catch(l){v(n,l,"Failed to initialize BrainfishAnalytics",e)}});function T(e,t,n={}){const r=document.createElement(e);return r.className=t,Object.entries(n).forEach(([e,t])=>{r.setAttribute(e,t)}),r}const A="bf-iframe-container",B="bf-trigger-button";class I{static get isWidgetOpen(){return this.isOpen}static initialize({button:e,icon:t,isButtonHidden:n}){var r,i;this.button=e||null,this.icon=t||null,this.isButtonHidden=n||!1,e&&e.addEventListener("click",()=>this.toggleIframeVisibility()),(null==(r=window.Brainfish)?void 0:r.HelpWidget)&&(window.Brainfish.HelpWidget.close=()=>this.closeWidget(),window.Brainfish.HelpWidget.open=()=>this.openWidget()),(null==(i=window.Brainfish)?void 0:i.Widgets)&&(window.Brainfish.Widgets.open=()=>this.openWidget(),window.Brainfish.Widgets.close=()=>this.closeWidget())}static toggleIframeVisibility(){this.isOpen=!this.isOpen,this.isOpen?this.openWidget():this.closeWidget()}static openWidget(){var e;this.isOpen=!0;const t=document.querySelector(".bf-iframe-container"),n=null==t?void 0:t.querySelector("iframe");if(null==t||t.classList.add("open"),null==t||t.setAttribute("aria-hidden","false"),null==(e=null==n?void 0:n.contentWindow)||e.postMessage({type:"FOCUS_SEARCH_FIELD"},"*"),this.button&&this.icon){const e=this.icon.querySelector(".fish-icon"),t=this.icon.querySelector(".close-icon");this.button.setAttribute("aria-expanded","true"),e.classList.remove("visible"),t.classList.add("visible"),document.body.clientWidth<=576&&this.hideTriggerButton()}window.dispatchEvent(new Event("onBrainfishWidgetOpen")),window.BrainfishAnalytics("track","Open Widget")}static closeWidget(){this.isOpen=!1;const e=document.querySelector(".bf-iframe-container");if(null==e||e.classList.remove("open"),null==e||e.setAttribute("aria-hidden","true"),this.button&&this.icon){this.button.setAttribute("aria-expanded","false");const e=this.icon.querySelector(".fish-icon"),t=this.icon.querySelector(".close-icon");e.classList.add("visible"),t.classList.remove("visible"),document.body.clientWidth<=576&&this.showTriggerButton()}window.dispatchEvent(new Event("onBrainfishWidgetClose")),window.BrainfishAnalytics("track","Close Widget")}static showTriggerButton(){var e;null==(e=this.button)||e.classList.remove("hidden")}static hideTriggerButton(){var e;null==(e=this.button)||e.classList.add("hidden")}}d(I,"isOpen",!1),d(I,"button",null),d(I,"icon",null),d(I,"isButtonHidden",!1);const j=new Map,P=(e,t)=>`Error executing Client Action with key ${e}. Details: ${t instanceof Error?t.message:String(t)}`,W=(e,t)=>u(null,null,function*(){if(j.has(e)){const i=j.get(e);if("function"!=typeof i)return{success:!1,reason:`Client Action registered with key ${e} is not a function`};try{const e=yield i(t);if(n=e,"[object Object]"!==Object.prototype.toString.call(n))throw new TypeError("Invalid result, expecting object type");return{success:!0,data:e}}catch(r){return{success:!1,reason:P(e,r)}}}var n;return{success:!1,reason:`No Client Action registered with key ${e}`}});function M(e,{widgetHost:t,apiHost:n,widgetKey:r,signal:i}){window.addEventListener("message",i=>u(null,null,function*(){var o;if(i.origin!==t)return;const{type:a}=i.data;if("TOGGLE_WIDGET_SIZE"===a&&function(){const e=document.querySelector(`.${A}`);e.classList.contains("expanded")?e.classList.remove("expanded"):e.classList.add("expanded")}(),"TRACK_EVENT"===a){if(!window.BrainfishAnalytics)return;const{eventName:e,data:t}=i.data;window.BrainfishAnalytics("track",e,t)}if("CLOSE_WIDGET"===a&&(window.BrainfishAnalytics("track","Close Widget"),I.toggleIframeVisibility()),"NEXT_BEST_ACTION_CLICKED"===a){const{action:e,searchQueryId:t,query:o,answer:a}=i.data,s={action:e,searchQueryId:t};if(!["function","callback"].includes(e.type))return void console.error("Invalid action type",e);if(window.__bfCallbacks=window.__bfCallbacks||{},window.__bfCallbacks[e.id])return void window.__bfCallbacks[e.id](o,a,s);const l=`${n}/api/searchWidgets.callback.codeblocks?apiKey=${r}&codeblockId=${e.id}`,d=document.createElement("script");d.src=l,document.head.appendChild(d),d.onload=()=>{window.__bfCallbacks[e.id](o,a,s),setTimeout(()=>{document.head.removeChild(d)},300)}}if("CLIENT_EXECUTION"===a){const{actionKey:t,inputs:n,messageId:r}=i.data,a=yield W(t,n);null==(o=e.contentWindow)||o.postMessage({type:"CLIENT_EXECUTION_RESULT",messageId:r,result:a},"*")}}),{signal:i})}function L(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var F,H={exports:{}},$={exports:{}},R={exports:{}};function N(){return F||(F=1,function(e,t){function n(e){return Math.round(255*e)}function r(e,t,r){return n(e)+","+n(t)+","+n(r)}t.__esModule=!0,t.default=void 0,t.default=function(e,t,n,i){if(void 0===i&&(i=r),0===t)return i(n,n,n);var o=(e%360+360)%360/60,a=(1-Math.abs(2*n-1))*t,s=a*(1-Math.abs(o%2-1)),l=0,d=0,u=0;o>=0&&o<1?(l=a,d=s):o>=1&&o<2?(l=s,d=a):o>=2&&o<3?(d=a,u=s):o>=3&&o<4?(d=s,u=a):o>=4&&o<5?(l=s,u=a):o>=5&&o<6&&(l=a,u=s);var c=n-a/2;return i(l+c,d+c,u+c)},e.exports=t.default}(R,R.exports)),R.exports}var K,z={exports:{}};function q(){return K||(K=1,function(e,t){t.__esModule=!0,t.default=void 0;var n={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};t.default=function(e){if("string"!=typeof e)return e;var t=e.toLowerCase();return n[t]?"#"+n[t]:e},e.exports=t.default}(z,z.exports)),z.exports}var D,U,J,Y={exports:{}};function G(){return D||(D=1,function(e,t){function n(e){var t="function"==typeof Map?new Map:void 0;return n=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if(r())return Reflect.construct.apply(null,arguments);var o=[null];o.push.apply(o,t);var a=new(e.bind.apply(e,o));return n&&i(a,n.prototype),a}(e,arguments,o(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),i(n,e)},n(e)}function r(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(r=function(){return!!e})()}function i(e,t){return(i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}t.__esModule=!0,t.default=void 0;var a={1:"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\n\n",2:"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\n\n",3:"Passed an incorrect argument to a color function, please pass a string representation of a color.\n\n",4:"Couldn't generate valid rgb string from %s, it returned %s.\n\n",5:"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\n\n",6:"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\n\n",7:"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\n\n",8:"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\n\n",9:"Please provide a number of steps to the modularScale helper.\n\n",10:"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n",11:'Invalid value passed as base to modularScale, expected number or em string but got "%s"\n\n',12:'Expected a string ending in "px" or a number passed as the first argument to %s(), got "%s" instead.\n\n',13:'Expected a string ending in "px" or a number passed as the second argument to %s(), got "%s" instead.\n\n',14:'Passed invalid pixel value ("%s") to %s(), please pass a value like "12px" or 12.\n\n',15:'Passed invalid base value ("%s") to %s(), please pass a value like "12px" or 12.\n\n',16:"You must provide a template to this method.\n\n",17:"You passed an unsupported selector state to this method.\n\n",18:"minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n",19:"fromSize and toSize must be provided as stringified numbers with the same units.\n\n",20:"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n",21:"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\n\n",22:"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\n\n",23:"fontFace expects a name of a font-family.\n\n",24:"fontFace expects either the path to the font file(s) or a name of a local copy.\n\n",25:"fontFace expects localFonts to be an array.\n\n",26:"fontFace expects fileFormats to be an array.\n\n",27:"radialGradient requries at least 2 color-stops to properly render.\n\n",28:"Please supply a filename to retinaImage() as the first argument.\n\n",29:"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n",30:"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",31:"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\n\n",32:"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\n\n",33:"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\n\n",34:"borderRadius expects a radius value as a string or number as the second argument.\n\n",35:'borderRadius expects one of "top", "bottom", "left" or "right" as the first argument.\n\n',36:"Property must be a string value.\n\n",37:"Syntax Error at %s.\n\n",38:"Formula contains a function that needs parentheses at %s.\n\n",39:"Formula is missing closing parenthesis at %s.\n\n",40:"Formula has too many closing parentheses at %s.\n\n",41:"All values in a formula must have the same unit or be unitless.\n\n",42:"Please provide a number of steps to the modularScale helper.\n\n",43:"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n",44:"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\n\n",45:"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\n\n",46:"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\n\n",47:"minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n",48:"fromSize and toSize must be provided as stringified numbers with the same units.\n\n",49:"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n",50:"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\n\n",51:"Expects the first argument object to have the properties prop, fromSize, and toSize.\n\n",52:"fontFace expects either the path to the font file(s) or a name of a local copy.\n\n",53:"fontFace expects localFonts to be an array.\n\n",54:"fontFace expects fileFormats to be an array.\n\n",55:"fontFace expects a name of a font-family.\n\n",56:"linearGradient requries at least 2 color-stops to properly render.\n\n",57:"radialGradient requries at least 2 color-stops to properly render.\n\n",58:"Please supply a filename to retinaImage() as the first argument.\n\n",59:"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n",60:"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",61:"Property must be a string value.\n\n",62:"borderRadius expects a radius value as a string or number as the second argument.\n\n",63:'borderRadius expects one of "top", "bottom", "left" or "right" as the first argument.\n\n',64:"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\n\n",65:"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\n\n",66:"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\n\n",67:"You must provide a template to this method.\n\n",68:"You passed an unsupported selector state to this method.\n\n",69:'Expected a string ending in "px" or a number passed as the first argument to %s(), got %s instead.\n\n',70:'Expected a string ending in "px" or a number passed as the second argument to %s(), got %s instead.\n\n',71:'Passed invalid pixel value %s to %s(), please pass a value like "12px" or 12.\n\n',72:'Passed invalid base value %s to %s(), please pass a value like "12px" or 12.\n\n',73:"Please provide a valid CSS variable.\n\n",74:"CSS variable not found and no default was provided.\n\n",75:"important requires a valid style object, got a %s instead.\n\n",76:"fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\n\n",77:'remToPx expects a value in "rem" but you provided it in "%s".\n\n',78:'base must be set in "px" or "%" but you set it in "%s".\n'};function s(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r,i=t[0],o=[];for(r=1;r<t.length;r+=1)o.push(t[r]);return o.forEach(function(e){i=i.replace(/%[a-z]/,e)}),i}t.default=function(e){var t,n;function r(t){var n;if("production"===process.env.NODE_ENV)n=e.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+t+" for more information.")||this;else{for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];n=e.call(this,s.apply(void 0,[a[t]].concat(i)))||this}return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(n)}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,i(t,n),r}(n(Error)),e.exports=t.default}(Y,Y.exports)),Y.exports}function V(){return U||(U=1,function(e,t){t.__esModule=!0,t.default=function(e){if("string"!=typeof e)throw new i.default(3);var t=(0,r.default)(e);if(t.match(a))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(s)){var o=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:o}}if(t.match(l))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(d)){var g=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:g}}var h=u.exec(t);if(h)return{red:parseInt(""+h[1],10),green:parseInt(""+h[2],10),blue:parseInt(""+h[3],10)};var b=c.exec(t.substring(0,50));if(b)return{red:parseInt(""+b[1],10),green:parseInt(""+b[2],10),blue:parseInt(""+b[3],10),alpha:parseFloat(""+b[4])>1?parseFloat(""+b[4])/100:parseFloat(""+b[4])};var m=f.exec(t);if(m){var y=parseInt(""+m[1],10),v=parseInt(""+m[2],10)/100,w=parseInt(""+m[3],10)/100,x="rgb("+(0,n.default)(y,v,w)+")",S=u.exec(x);if(!S)throw new i.default(4,t,x);return{red:parseInt(""+S[1],10),green:parseInt(""+S[2],10),blue:parseInt(""+S[3],10)}}var E=p.exec(t.substring(0,50));if(E){var _=parseInt(""+E[1],10),k=parseInt(""+E[2],10)/100,C=parseInt(""+E[3],10)/100,O="rgb("+(0,n.default)(_,k,C)+")",T=u.exec(O);if(!T)throw new i.default(4,t,O);return{red:parseInt(""+T[1],10),green:parseInt(""+T[2],10),blue:parseInt(""+T[3],10),alpha:parseFloat(""+E[4])>1?parseFloat(""+E[4])/100:parseFloat(""+E[4])}}throw new i.default(5)};var n=o(N()),r=o(q()),i=o(G());function o(e){return e&&e.__esModule?e:{default:e}}var a=/^#[a-fA-F0-9]{6}$/,s=/^#[a-fA-F0-9]{8}$/,l=/^#[a-fA-F0-9]{3}$/,d=/^#[a-fA-F0-9]{4}$/,u=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,c=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,f=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,p=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;e.exports=t.default}($,$.exports)),$.exports}function Z(){return J||(J=1,function(e,t){t.__esModule=!0,t.default=function(e){if("transparent"===e)return 0;var t=(0,r.default)(e),n=Object.keys(t).map(function(e){var n=t[e]/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}),i=n[0],o=n[1],a=n[2];return parseFloat((.2126*i+.7152*o+.0722*a).toFixed(3))};var n,r=(n=V())&&n.__esModule?n:{default:n};e.exports=t.default}(H,H.exports)),H.exports}const X=L(Z());var Q,ee={exports:{}},te={exports:{}};function ne(){return Q||(Q=1,function(e,t){function n(e,t,r){return function(){var i=r.concat(Array.prototype.slice.call(arguments));return i.length>=t?e.apply(this,i):n(e,t,i)}}t.__esModule=!0,t.default=function(e){return n(e,e.length,[])},e.exports=t.default}(te,te.exports)),te.exports}var re,ie={exports:{}};function oe(){return re||(re=1,e=ie,(t=ie.exports).__esModule=!0,t.default=void 0,t.default=function(e,t,n){return Math.max(e,Math.min(t,n))},e.exports=t.default),ie.exports;var e,t}var ae,se,le={exports:{}},de={exports:{}};function ue(){return ae||(ae=1,e=de,(t=de.exports).__esModule=!0,t.default=void 0,t.default=function(e){var t,n=e.red/255,r=e.green/255,i=e.blue/255,o=Math.max(n,r,i),a=Math.min(n,r,i),s=(o+a)/2;if(o===a)return void 0!==e.alpha?{hue:0,saturation:0,lightness:s,alpha:e.alpha}:{hue:0,saturation:0,lightness:s};var l=o-a,d=s>.5?l/(2-o-a):l/(o+a);switch(o){case n:t=(r-i)/l+(r<i?6:0);break;case r:t=(i-n)/l+2;break;default:t=(n-r)/l+4}return t*=60,void 0!==e.alpha?{hue:t,saturation:d,lightness:s,alpha:e.alpha}:{hue:t,saturation:d,lightness:s}},e.exports=t.default),de.exports;var e,t}function ce(){return se||(se=1,function(e,t){t.__esModule=!0,t.default=function(e){return(0,r.default)((0,n.default)(e))};var n=i(V()),r=i(ue());function i(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default}(le,le.exports)),le.exports}var fe,pe={exports:{}},ge={exports:{}},he={exports:{}},be={exports:{}};function me(){return fe||(fe=1,function(e,t){t.__esModule=!0,t.default=void 0;t.default=function(e){return 7===e.length&&e[1]===e[2]&&e[3]===e[4]&&e[5]===e[6]?"#"+e[1]+e[3]+e[5]:e},e.exports=t.default}(be,be.exports)),be.exports}var ye,ve,we,xe={exports:{}};function Se(){return ye||(ye=1,e=xe,(t=xe.exports).__esModule=!0,t.default=void 0,t.default=function(e){var t=e.toString(16);return 1===t.length?"0"+t:t},e.exports=t.default),xe.exports;var e,t}function Ee(){return ve||(ve=1,function(e,t){t.__esModule=!0,t.default=void 0;var n=o(N()),r=o(me()),i=o(Se());function o(e){return e&&e.__esModule?e:{default:e}}function a(e){return(0,i.default)(Math.round(255*e))}function s(e,t,n){return(0,r.default)("#"+a(e)+a(t)+a(n))}t.default=function(e,t,r){return(0,n.default)(e,t,r,s)},e.exports=t.default}(he,he.exports)),he.exports}function _e(){return we||(we=1,function(e,t){t.__esModule=!0,t.default=function(e,t,i){if("number"==typeof e&&"number"==typeof t&&"number"==typeof i)return(0,n.default)(e,t,i);if("object"==typeof e&&void 0===t&&void 0===i)return(0,n.default)(e.hue,e.saturation,e.lightness);throw new r.default(1)};var n=i(Ee()),r=i(G());function i(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default}(ge,ge.exports)),ge.exports}var ke,Ce={exports:{}};function Oe(){return ke||(ke=1,function(e,t){t.__esModule=!0,t.default=function(e,t,o,a){if("number"==typeof e&&"number"==typeof t&&"number"==typeof o&&"number"==typeof a)return a>=1?(0,n.default)(e,t,o):"rgba("+(0,r.default)(e,t,o)+","+a+")";if("object"==typeof e&&void 0===t&&void 0===o&&void 0===a)return e.alpha>=1?(0,n.default)(e.hue,e.saturation,e.lightness):"rgba("+(0,r.default)(e.hue,e.saturation,e.lightness)+","+e.alpha+")";throw new i.default(2)};var n=o(Ee()),r=o(N()),i=o(G());function o(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default}(Ce,Ce.exports)),Ce.exports}var Te,Ae={exports:{}};function Be(){return Te||(Te=1,function(e,t){t.__esModule=!0,t.default=function(e,t,o){if("number"==typeof e&&"number"==typeof t&&"number"==typeof o)return(0,n.default)("#"+(0,r.default)(e)+(0,r.default)(t)+(0,r.default)(o));if("object"==typeof e&&void 0===t&&void 0===o)return(0,n.default)("#"+(0,r.default)(e.red)+(0,r.default)(e.green)+(0,r.default)(e.blue));throw new i.default(6)};var n=o(me()),r=o(Se()),i=o(G());function o(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default}(Ae,Ae.exports)),Ae.exports}var Ie,je,Pe,We={exports:{}};function Me(){return Ie||(Ie=1,function(e,t){t.__esModule=!0,t.default=function(e,t,o,a){if("string"==typeof e&&"number"==typeof t){var s=(0,n.default)(e);return"rgba("+s.red+","+s.green+","+s.blue+","+t+")"}if("number"==typeof e&&"number"==typeof t&&"number"==typeof o&&"number"==typeof a)return a>=1?(0,r.default)(e,t,o):"rgba("+e+","+t+","+o+","+a+")";if("object"==typeof e&&void 0===t&&void 0===o&&void 0===a)return e.alpha>=1?(0,r.default)(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")";throw new i.default(7)};var n=o(V()),r=o(Be()),i=o(G());function o(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default}(We,We.exports)),We.exports}function Le(){return je||(je=1,function(e,t){t.__esModule=!0,t.default=function(e){if("object"!=typeof e)throw new a.default(8);if(d(e))return(0,o.default)(e);if(l(e))return(0,i.default)(e);if(c(e))return(0,r.default)(e);if(u(e))return(0,n.default)(e);throw new a.default(8)};var n=s(_e()),r=s(Oe()),i=s(Be()),o=s(Me()),a=s(G());function s(e){return e&&e.__esModule?e:{default:e}}var l=function(e){return"number"==typeof e.red&&"number"==typeof e.green&&"number"==typeof e.blue&&("number"!=typeof e.alpha||void 0===e.alpha)},d=function(e){return"number"==typeof e.red&&"number"==typeof e.green&&"number"==typeof e.blue&&"number"==typeof e.alpha},u=function(e){return"number"==typeof e.hue&&"number"==typeof e.saturation&&"number"==typeof e.lightness&&("number"!=typeof e.alpha||void 0===e.alpha)},c=function(e){return"number"==typeof e.hue&&"number"==typeof e.saturation&&"number"==typeof e.lightness&&"number"==typeof e.alpha};e.exports=t.default}(pe,pe.exports)),pe.exports}function Fe(){return Pe||(Pe=1,function(e,t){t.__esModule=!0,t.default=void 0;var n=a(ne()),r=a(oe()),i=a(ce()),o=a(Le());function a(e){return e&&e.__esModule?e:{default:e}}function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s.apply(this,arguments)}var l=(0,n.default)(function(e,t){if("transparent"===t)return t;var n=(0,i.default)(t);return(0,o.default)(s({},n,{lightness:(0,r.default)(0,1,n.lightness-parseFloat(e))}))});t.default=l,e.exports=t.default}(ee,ee.exports)),ee.exports}const He=L(Fe());var $e,Re={exports:{}};function Ne(){return $e||($e=1,function(e,t){t.__esModule=!0,t.default=void 0;var n=a(ne()),r=a(oe()),i=a(ce()),o=a(Le());function a(e){return e&&e.__esModule?e:{default:e}}function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s.apply(this,arguments)}var l=(0,n.default)(function(e,t){if("transparent"===t)return t;var n=(0,i.default)(t);return(0,o.default)(s({},n,{lightness:(0,r.default)(0,1,n.lightness+parseFloat(e))}))});t.default=l,e.exports=t.default}(Re,Re.exports)),Re.exports}const Ke=L(Ne());function ze(e){var t,n;if(!document.querySelector("style[data-widget-styles]")){!function(e="#000",t="FFF"){const n=document.createElement("style");n.attributes.setNamedItem(document.createAttribute("data-widget-styles"));const r=X(e)>.5;n.textContent=`\n .bf-trigger-button{position:fixed;bottom:16px;right:16px;width:36px;height:36px;border-radius:50%;border:none;box-shadow:0 1px 6px #0000000f,0 2px 32px #00000029;transition:transform 167ms cubic-bezier(.33,0,0,1);box-sizing:content-box;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;padding:12px;gap:10px;overflow:hidden}.bf-trigger-button.hidden{display:none}.trigger-button-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;position:relative}.trigger-button-icon svg{width:100%;height:100%;position:absolute;inset:0}.trigger-button-icon>svg>path{transition:transform .3s ease,opacity .3s ease;transform:scale(.5);transform-origin:center;opacity:0}.trigger-button-icon .fish-icon{display:none}.trigger-button-icon .fish-icon.visible{display:block}.trigger-button-icon svg.visible{display:block}.trigger-button-icon>svg.visible>path{opacity:1;transform:scale(1)}.trigger-iframe{position:relative;width:100%;height:100%;border:none;outline:none;transform:translateZ(0)}.bf-iframe-container{display:none;position:fixed;z-index:2147483000000;background-color:#fff;bottom:0;right:0;width:100vw;height:100vh;border:none;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease,width .2s ease-in-out,height .2s ease-in-out}.bf-iframe-container.open{display:block;opacity:1;transform:translateY(0);pointer-events:auto;top:0;left:0}@media (min-width: 576px){.bf-iframe-container{bottom:80px;right:24px;width:448px;height:min(750px,calc(100vh - 80px));border-radius:8px;border:1px solid var(--Dark-300, #D4D4D4);box-shadow:0 20px 25px -5px #1212171a,0 10px 10px -5px #1212170a}.bf-iframe-container.open{top:unset;left:unset}.bf-iframe-container.expanded{width:min(calc(448px * 1.35),calc(100vw - 16px));height:min(calc(750px * 1.35),calc(100vh - 80px))}}.iframe-loading-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;z-index:10}.spinner{width:24px;height:24px;border:2px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#3498db;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-error{width:24px;height:24px;position:relative;display:flex;align-items:center;justify-content:center}.loading-error:before,.loading-error:after{content:"";position:absolute;width:16px;height:2px;background-color:#e74c3c;border-radius:2px}.loading-error:before{transform:rotate(45deg)}.loading-error:after{transform:rotate(-45deg)}\n .${B} { background: ${e}; }\n .${B}:hover {\n background: ${r?He(.05,e):Ke(.05,e)};\n }\n .trigger-button-icon { color: ${t}; }\n `,document.head.appendChild(n)}((null==(t=null==e?void 0:e.theme)?void 0:t.inputButtonBgColor)||"#007bff",(null==(n=null==e?void 0:e.theme)?void 0:n.textBaseColor)||"#ffffff")}}function qe(e,t){const n=()=>{(t=>{var n;null==(n=e.contentWindow)||n.postMessage({type:"UPDATE_BODY_CLASS",isDarkMode:t},"*")})(document.body.classList.contains("dark"))};n(),(()=>{const e=new MutationObserver(n);e.observe(document.body,{attributes:!0,attributeFilter:["class"]}),t.addEventListener("abort",()=>e.disconnect())})()}function De(e,t){let n;const r=()=>{(t=>{var n;const r={type:"UPDATE_BODY_CLASS",isMobile:t};null==(n=e.contentWindow)||n.postMessage(r,"*"),t&&(I.isWidgetOpen?I.hideTriggerButton():I.showTriggerButton())})(document.body.clientWidth<=576)},i=()=>{n&&clearTimeout(n),n=window.setTimeout(r,300)};r(),(()=>{const e=new ResizeObserver(i);e.observe(document.body),t.addEventListener("abort",()=>e.disconnect())})()}function Ue(e){const t=(new TextEncoder).encode(e);if("undefined"!=typeof window&&"function"==typeof window.btoa){const e=Array.from(t,e=>String.fromCharCode(e)).join("");return btoa(e)}if("undefined"!=typeof Buffer)return Buffer.from(t).toString("base64");throw new Error("[utils.base64Encode]: Unsupported environment")}const Je=new Set;function Ye(e,t,{isButtonHidden:n,triggerButtonIcon:r}){const i=document.createDocumentFragment();if(n)I.initialize({isButtonHidden:n});else{const{button:t,icon:n}=function(e,t){const n=T("button",B,{id:`trigger-button-${e}`,"aria-controls":A,"aria-expanded":"false","data-name":B}),r=T("div","trigger-button-icon",{"aria-hidden":"true"});return r.innerHTML=t?`\n <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" viewBox="0 0 256 256" class="close-icon">\n <path d="M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"></path>\n </svg>\n <img src="${t}" class="fish-icon visible" alt="Trigger button icon" height="32" width="32" aria-hidden="true" aria-label="help button icon" />\n `:'\n <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" viewBox="0 0 256 256" class="close-icon">\n <path d="M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"></path>\n </svg>\n <svg width="24" height="14" viewBox="0 0 24 14" fill="none" xmlns="http://www.w3.org/2000/svg" class="fish-icon visible">\n <path fill-rule="evenodd" clip-rule="evenodd" d="M1.71844 10.3882L4.60606 6.98384L1.71844 3.58375C1.4014 3.21362 1.44424 2.65841 1.81269 2.33993C1.97978 2.1979 2.65242 1.98701 3.04657 2.43461L5.78425 5.65824C6.14281 5.29523 6.51693 4.95924 6.90479 4.65114C8.88976 3.07437 11.2345 2.22803 13.6931 2.22803C16.9492 2.22803 20.0039 3.71718 22.2917 6.41142C22.5702 6.74282 22.5702 7.22916 22.2917 7.56056C20.0039 10.2591 16.9492 11.744 13.6931 11.744C11.2348 11.744 8.89035 10.8948 6.90554 9.31995C6.51741 9.01199 6.14304 8.67628 5.78425 8.31374L3.04657 11.5374C2.72953 11.9075 2.18114 11.9505 1.81269 11.632C1.44852 11.3179 1.40568 10.7584 1.71844 10.3882ZM5.93026 10.4683C8.17161 12.2599 10.8546 13.25 13.6931 13.25C17.4881 13.25 21.019 11.4034 23.4447 8.52942C24.1873 7.64571 24.1843 6.31801 23.4397 5.43663C20.8944 2.43919 17.4337 0.722025 13.6931 0.722025C10.8555 0.722025 8.17194 1.70845 5.92952 3.50276L4.17682 1.43933C3.57943 0.760929 2.79325 0.630009 2.25286 0.662947C1.98116 0.679506 1.73125 0.736852 1.51895 0.811846C1.26839 0.900352 1.03017 1.02718 0.827835 1.20058C-0.165283 2.05903 -0.283916 3.561 0.574656 4.56345L2.63075 6.98445L0.568104 9.41623C-0.272133 10.4106 -0.166523 11.9125 0.827835 12.7714C1.81372 13.6243 3.34308 13.5062 4.19036 12.5171L5.93026 10.4683Z" fill="currentColor"/>\n </svg>\n ',n.setAttribute("aria-label","Open Brainfish widget"),n.appendChild(r),{button:n,icon:r}}(e,r);i.appendChild(t),I.initialize({button:t,icon:n})}const{iframeContainer:o,iframe:a}=function(e){const t=T("div",A,{id:A,"aria-live":"polite","aria-hidden":"true"}),n=T("div","iframe-loading-indicator"),r=T("div","spinner");n.setAttribute("aria-label","Loading content"),n.setAttribute("role","status"),n.appendChild(r),t.appendChild(n);const i=T("iframe","trigger-iframe",{src:e,sandbox:"allow-scripts allow-same-origin allow-popups allow-forms",allow:"clipboard-write",role:"dialog"});return i.style.opacity="0",i.addEventListener("load",()=>{n.style.display="none",i.style.opacity="1"}),i.addEventListener("error",e=>{console.error("Error loading iframe:",e),n.innerHTML="";const t=T("div","loading-error");n.appendChild(t),n.setAttribute("aria-label","Failed to load content")}),t.appendChild(i),{iframeContainer:t,iframe:i}}(t);return i.appendChild(o),{fragment:i,iframe:a}}const Ge=(e,t)=>{var n,r,i;const o=S(e.overrides),a=(null==(s=e.overrides)?void 0:s.widgetHost)||"https://agent.brainfi.sh";var s;const{theme:l,settings:d}=t,u=Ue(JSON.stringify(null==(n=e.overrides)?void 0:n.redirectRules)),c={theme:Ue(JSON.stringify(l)),settings:Ue(JSON.stringify(d)),redirectRules:u};(null==(r=e.overrides)?void 0:r.regions)&&(c.regions=Ue(JSON.stringify(null==(i=e.overrides)?void 0:i.regions)));const f=`${a}/?widgetKey=${e.widgetKey}#${new URLSearchParams(c).toString()}`,p=null==d?void 0:d.hideTriggerButton,g=null==d?void 0:d.triggerButtonIcon;try{if(h=e.widgetKey,Je.has(h))return;if(function(e){return!!document.getElementById(`trigger-button-${e}`)}(e.widgetKey))return;ze(t);const{fragment:n,iframe:r}=Ye(e.widgetKey,f,{isButtonHidden:p||!1,triggerButtonIcon:g||""}),i=new AbortController,{signal:s}=i;r.onload=()=>{setTimeout(()=>{qe(r,s),M(r,{widgetHost:a,apiHost:o,widgetKey:e.widgetKey,signal:s}),De(r,s)},0)},document.body.appendChild(n),Je.add(e.widgetKey);const l=()=>{i.abort(),window.removeEventListener("beforeunload",l)};return void window.addEventListener("beforeunload",l)}catch(b){!function(e,t,n){v(e,t,t.message,n)}(o,b,e.widgetKey)}var h};var Ve=(e=>(e.FRESHCHAT="freshchat",e.INTERCOM="intercom",e.ZENDESK="zendesk",e.HELPSCOUT="helpscout",e))(Ve||{});const Ze=e=>u(null,null,function*(){if(e.widgetType===g.Popup){const e=window.fcWidget?Ve.FRESHCHAT:null;e&&e===Ve.FRESHCHAT&&(yield u(null,null,function*(){window.fcWidget||(yield new Promise(e=>setTimeout(e,100))),window.fcWidget.hide(),window.fcWidget.on("widget:closed",()=>{window.fcWidget.hide()})}))}}),Xe="brainfish-nudges",Qe=(e,t)=>u(null,null,function*(){try{yield((e,t)=>u(null,null,function*(){if(document.getElementById(Xe))return;const n=document.createElement("script");n.id=Xe,n.src="https://cdn.jsdelivr.net/npm/@brainfish-ai/nudge-widget@latest/dist/index.js",n.type="module",n.async=!0,n.crossOrigin="anonymous",n.onerror=()=>{v(e,new Error(`Failed to load script: ${n.src}`),`Failed to load script: ${n.src}`,t)},document.head.appendChild(n)}))(e,t)}catch(n){v(e,n,"Failed to initialize Nudge widget",t)}});let et=null;const tt="undefined"!=typeof window&&window.Brainfish?window.Brainfish:(et||(et=function(){let e=[],t=null;function n(n,r){if(t){const e=n.split(".");let i=t;for(let t=0;t<e.length-1;t++)i=i[e[t]];const o=i[e[e.length-1]];if("function"==typeof o)return o.apply(i,r)}else e.push([n,r])}return{Widgets:{init:(...e)=>n("Widgets.init",e),identify:(...e)=>n("Widgets.identify",e),setSecretAttributes:(...e)=>n("Widgets.setSecretAttributes",e),open:()=>n("Widgets.open",[]),close:()=>n("Widgets.close",[]),registerClientActionHandler:(...e)=>n("Widgets.registerClientActionHandler",e),isReady:!1},SearchWidget:{initStandard:(...e)=>n("SearchWidget.initStandard",e)},HelpWidget:{initPopup:(...e)=>n("HelpWidget.initPopup",e),close:(...e)=>n("HelpWidget.close",e),open:(...e)=>n("HelpWidget.open",e),toggle:(...e)=>n("HelpWidget.toggle",e)},_setRealBrainfish:function(r){for(t=r;e.length>0;){const[t,r]=e.shift();n(t,r)}}}}(),"undefined"!=typeof window&&(window.Brainfish=et)),et);let nt=null;tt.Widgets.isReady=!1,tt.Widgets.identify=e=>{window.BrainfishAnalytics("identify",e)},tt.Widgets.setSecretAttributes=e=>{try{const{alg:t}=p(e);if("dir"!==t)throw new Error("Invalid algorithm")}catch(n){return void console.error("[Brainfish] Invalid JWE provided to setSecretAttributes:",n)}const t=document.querySelector("#bf-iframe-container .trigger-iframe");if(t){const n=()=>{t.contentWindow&&t.contentWindow.postMessage({type:"SET_SECRET_ATTRIBUTES",secretAttributes:e},"*")};t.contentWindow&&n(),t.addEventListener("load",n)}},tt.Widgets.init=e=>u(null,null,function*(){window&&(window.BrainfishAnalytics=window.BrainfishAnalytics||function(...e){(window.BrainfishAnalytics.q=window.BrainfishAnalytics.q||[]).push(e)});const t=S(e.overrides),n=(null==(r=e.overrides)?void 0:r.analyticsApiHost)||"";var r;let i;if(e.config)i=JSON.parse((e=>{if("undefined"!=typeof window&&"function"==typeof window.atob){const t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return(new TextDecoder).decode(r)}if("undefined"!=typeof Buffer)return Buffer.from(e,"base64").toString("utf-8");throw new Error("[utils.base64Decode]: Unsupported environment")})(e.config));else{const{config:n}=yield w({widgetKey:e.widgetKey,apiHost:t});i=n}nt||(nt=function(e,t,n,r){return u(this,null,function*(){var i,o,a,s,l,d;const u=(null==(i=e.overrides)?void 0:i.enableRecording)||(null==(o=null==t?void 0:t.settings)?void 0:o.enableRecording)||!1,c=(null==(a=e.overrides)?void 0:a.version)||(null==t?void 0:t.version),f=[];(null==c?void 0:c.startsWith("2."))?Ge(e,t):f.push(k(e,t)),f.push(O(e.widgetKey,t.trackingToken||"",n,r,u,(null==(s=null==t?void 0:t.settings)?void 0:s.recordingBlocklist)||[],null==(l=null==t?void 0:t.settings)?void 0:l._allowLocalhostRecording,null==(d=null==t?void 0:t.settings)?void 0:d._allowScreenRecording)),f.push(Qe(n,e.widgetKey));const[p]=yield Promise.allSettled(f);p&&"fulfilled"===p.status&&p.value&&tt._setRealBrainfish(p.value)})}(e,i,t,n)),yield nt,yield Ze(i),tt.Widgets.isReady=!0,window.dispatchEvent(new Event("onBrainfishReady"))}),tt.Widgets.registerClientActionHandler=(e,t)=>{((e,t)=>{j.set(e,t)})(e,t)};exports.BrainfishAnalytics=(...e)=>{"undefined"!=typeof window&&window.BrainfishAnalytics&&window.BrainfishAnalytics(...e)},exports.default=tt;
|
|
2
2
|
//# sourceMappingURL=web.cjs.js.map
|
package/dist/web.js
CHANGED
|
@@ -42,7 +42,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
42
42
|
!function() {
|
|
43
43
|
try {
|
|
44
44
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
45
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
45
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "cc70e533-bee1-49bc-ad8a-9e32ce8d059a", e._sentryDebugIdIdentifier = "sentry-dbid-cc70e533-bee1-49bc-ad8a-9e32ce8d059a");
|
|
46
46
|
} catch (e2) {
|
|
47
47
|
}
|
|
48
48
|
}();
|
|
@@ -113,7 +113,7 @@ function decodeProtectedHeader(token) {
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
var _global = typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : {};
|
|
116
|
-
_global.SENTRY_RELEASE = { id: "
|
|
116
|
+
_global.SENTRY_RELEASE = { id: "03aedc254757699e2d2aca22c018ef134a5de216" };
|
|
117
117
|
var WidgetType;
|
|
118
118
|
(function(WidgetType2) {
|
|
119
119
|
WidgetType2["Sidebar"] = "sidebar";
|
|
@@ -171,7 +171,7 @@ const sendErrors = (apiHost, error, widgetKey) => {
|
|
|
171
171
|
"api-key": widgetKey
|
|
172
172
|
},
|
|
173
173
|
body: JSON.stringify({
|
|
174
|
-
error: `WebWidgetVersion: ${"1.
|
|
174
|
+
error: `WebWidgetVersion: ${"1.14.0"}. ${error.message}`,
|
|
175
175
|
stack: error.stack,
|
|
176
176
|
cause: {
|
|
177
177
|
message: errorData.message,
|
|
@@ -481,6 +481,7 @@ function createBrainfishQueue() {
|
|
|
481
481
|
setSecretAttributes: (...args) => queueOrExecute("Widgets.setSecretAttributes", args),
|
|
482
482
|
open: () => queueOrExecute("Widgets.open", []),
|
|
483
483
|
close: () => queueOrExecute("Widgets.close", []),
|
|
484
|
+
registerClientActionHandler: (...args) => queueOrExecute("Widgets.registerClientActionHandler", args),
|
|
484
485
|
isReady: false
|
|
485
486
|
},
|
|
486
487
|
SearchWidget: {
|
|
@@ -687,13 +688,55 @@ __publicField(IframeStateManager, "isOpen", false);
|
|
|
687
688
|
__publicField(IframeStateManager, "button", null);
|
|
688
689
|
__publicField(IframeStateManager, "icon", null);
|
|
689
690
|
__publicField(IframeStateManager, "isButtonHidden", false);
|
|
690
|
-
|
|
691
|
+
const clientActionHandlerMap = /* @__PURE__ */ new Map();
|
|
692
|
+
const registerClientActionHandler = (key, handler) => {
|
|
693
|
+
clientActionHandlerMap.set(key, handler);
|
|
694
|
+
};
|
|
695
|
+
const formatErrorReason = (key, err) => {
|
|
696
|
+
const details = err instanceof Error ? err.message : String(err);
|
|
697
|
+
return `Error executing Client Action with key ${key}. Details: ${details}`;
|
|
698
|
+
};
|
|
699
|
+
const isPlainObject = (obj) => {
|
|
700
|
+
return Object.prototype.toString.call(obj) === "[object Object]";
|
|
701
|
+
};
|
|
702
|
+
const executeClientActionHandler = (key, input) => __async(null, null, function* () {
|
|
703
|
+
if (clientActionHandlerMap.has(key)) {
|
|
704
|
+
const handler = clientActionHandlerMap.get(key);
|
|
705
|
+
if (typeof handler !== "function") {
|
|
706
|
+
return {
|
|
707
|
+
success: false,
|
|
708
|
+
reason: `Client Action registered with key ${key} is not a function`
|
|
709
|
+
};
|
|
710
|
+
}
|
|
711
|
+
try {
|
|
712
|
+
const result = yield handler(input);
|
|
713
|
+
if (!isPlainObject(result)) {
|
|
714
|
+
throw new TypeError("Invalid result, expecting object type");
|
|
715
|
+
}
|
|
716
|
+
return {
|
|
717
|
+
success: true,
|
|
718
|
+
data: result
|
|
719
|
+
};
|
|
720
|
+
} catch (e) {
|
|
721
|
+
return {
|
|
722
|
+
success: false,
|
|
723
|
+
reason: formatErrorReason(key, e)
|
|
724
|
+
};
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
return {
|
|
728
|
+
success: false,
|
|
729
|
+
reason: `No Client Action registered with key ${key}`
|
|
730
|
+
};
|
|
731
|
+
});
|
|
732
|
+
function initMessageListener(iframe, {
|
|
691
733
|
widgetHost,
|
|
692
734
|
apiHost,
|
|
693
735
|
widgetKey,
|
|
694
736
|
signal
|
|
695
737
|
}) {
|
|
696
|
-
const messageHandler = (event) => {
|
|
738
|
+
const messageHandler = (event) => __async(null, null, function* () {
|
|
739
|
+
var _a;
|
|
697
740
|
if (event.origin !== widgetHost) return;
|
|
698
741
|
const { type } = event.data;
|
|
699
742
|
if (type === "TOGGLE_WIDGET_SIZE") {
|
|
@@ -731,7 +774,19 @@ function initMessageListener({
|
|
|
731
774
|
}, 300);
|
|
732
775
|
};
|
|
733
776
|
}
|
|
734
|
-
|
|
777
|
+
if (type === "CLIENT_EXECUTION") {
|
|
778
|
+
const { actionKey, inputs, messageId } = event.data;
|
|
779
|
+
const result = yield executeClientActionHandler(actionKey, inputs);
|
|
780
|
+
(_a = iframe.contentWindow) == null ? void 0 : _a.postMessage(
|
|
781
|
+
{
|
|
782
|
+
type: "CLIENT_EXECUTION_RESULT",
|
|
783
|
+
messageId,
|
|
784
|
+
result
|
|
785
|
+
},
|
|
786
|
+
"*"
|
|
787
|
+
);
|
|
788
|
+
}
|
|
789
|
+
});
|
|
735
790
|
window.addEventListener("message", messageHandler, { signal });
|
|
736
791
|
}
|
|
737
792
|
const styles = '.bf-trigger-button{position:fixed;bottom:16px;right:16px;width:36px;height:36px;border-radius:50%;border:none;box-shadow:0 1px 6px #0000000f,0 2px 32px #00000029;transition:transform 167ms cubic-bezier(.33,0,0,1);box-sizing:content-box;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;padding:12px;gap:10px;overflow:hidden}.bf-trigger-button.hidden{display:none}.trigger-button-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;position:relative}.trigger-button-icon svg{width:100%;height:100%;position:absolute;inset:0}.trigger-button-icon>svg>path{transition:transform .3s ease,opacity .3s ease;transform:scale(.5);transform-origin:center;opacity:0}.trigger-button-icon .fish-icon{display:none}.trigger-button-icon .fish-icon.visible{display:block}.trigger-button-icon svg.visible{display:block}.trigger-button-icon>svg.visible>path{opacity:1;transform:scale(1)}.trigger-iframe{position:relative;width:100%;height:100%;border:none;outline:none;transform:translateZ(0)}.bf-iframe-container{display:none;position:fixed;z-index:2147483000000;background-color:#fff;bottom:0;right:0;width:100vw;height:100vh;border:none;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease,width .2s ease-in-out,height .2s ease-in-out}.bf-iframe-container.open{display:block;opacity:1;transform:translateY(0);pointer-events:auto;top:0;left:0}@media (min-width: 576px){.bf-iframe-container{bottom:80px;right:24px;width:448px;height:min(750px,calc(100vh - 80px));border-radius:8px;border:1px solid var(--Dark-300, #D4D4D4);box-shadow:0 20px 25px -5px #1212171a,0 10px 10px -5px #1212170a}.bf-iframe-container.open{top:unset;left:unset}.bf-iframe-container.expanded{width:min(calc(448px * 1.35),calc(100vw - 16px));height:min(calc(750px * 1.35),calc(100vh - 80px))}}.iframe-loading-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;z-index:10}.spinner{width:24px;height:24px;border:2px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#3498db;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-error{width:24px;height:24px;position:relative;display:flex;align-items:center;justify-content:center}.loading-error:before,.loading-error:after{content:"";position:absolute;width:16px;height:2px;background-color:#e74c3c;border-radius:2px}.loading-error:before{transform:rotate(45deg)}.loading-error:after{transform:rotate(-45deg)}';
|
|
@@ -1887,7 +1942,7 @@ const initIframeTrigger = (options, config) => {
|
|
|
1887
1942
|
iframe.onload = () => {
|
|
1888
1943
|
setTimeout(() => {
|
|
1889
1944
|
initColorSchemeListener(iframe, signal);
|
|
1890
|
-
initMessageListener({
|
|
1945
|
+
initMessageListener(iframe, {
|
|
1891
1946
|
widgetHost,
|
|
1892
1947
|
apiHost,
|
|
1893
1948
|
widgetKey: options.widgetKey,
|
|
@@ -2084,6 +2139,9 @@ Brainfish.Widgets.init = (options) => __async(null, null, function* () {
|
|
|
2084
2139
|
Brainfish.Widgets.isReady = true;
|
|
2085
2140
|
window.dispatchEvent(new Event("onBrainfishReady"));
|
|
2086
2141
|
});
|
|
2142
|
+
Brainfish.Widgets.registerClientActionHandler = (key, handler) => {
|
|
2143
|
+
registerClientActionHandler(key, handler);
|
|
2144
|
+
};
|
|
2087
2145
|
const BrainfishAnalytics = (...args) => {
|
|
2088
2146
|
if (typeof window !== "undefined" && window.BrainfishAnalytics) {
|
|
2089
2147
|
window.BrainfishAnalytics(...args);
|