ai12z 3.3.2 → 3.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/cjs/ai12z-bot-f357d89d.js +2613 -0
  2. package/dist/cjs/ai12z-bot-f357d89d.js.map +1 -0
  3. package/dist/cjs/ai12z-bot.cjs.entry.js +1 -1
  4. package/dist/cjs/ai12z-chat_3.cjs.entry.js +46 -36
  5. package/dist/cjs/ai12z-chat_3.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ai12z-knowledge-box-005b5b85.js +384 -0
  7. package/dist/cjs/ai12z-knowledge-box-005b5b85.js.map +1 -0
  8. package/dist/cjs/ai12z-knowledge-box.cjs.entry.js +1 -1
  9. package/dist/cjs/dynamic-form.cjs.entry.js +35 -31
  10. package/dist/cjs/dynamic-form.cjs.entry.js.map +1 -1
  11. package/dist/cjs/index.cjs.js +2 -2
  12. package/dist/collection/components/ai12z-bot/ai12z-bot.js +51 -30
  13. package/dist/collection/components/ai12z-bot/ai12z-bot.js.map +1 -1
  14. package/dist/collection/components/ai12z-cta/components/Chat.js +46 -36
  15. package/dist/collection/components/ai12z-cta/components/Chat.js.map +1 -1
  16. package/dist/collection/components/ai12z-cta/components/DynamicForm.js +35 -31
  17. package/dist/collection/components/ai12z-cta/components/DynamicForm.js.map +1 -1
  18. package/dist/collection/components/ai12z-knowledge-box/ai12z-knowledge-box.js +45 -30
  19. package/dist/collection/components/ai12z-knowledge-box/ai12z-knowledge-box.js.map +1 -1
  20. package/dist/collection/global/survey-core.min.css +6 -0
  21. package/dist/esm/ai12z-bot-77e7fbec.js +2611 -0
  22. package/dist/esm/ai12z-bot-77e7fbec.js.map +1 -0
  23. package/dist/esm/ai12z-bot.entry.js +1 -1
  24. package/dist/esm/ai12z-chat_3.entry.js +46 -36
  25. package/dist/esm/ai12z-chat_3.entry.js.map +1 -1
  26. package/dist/esm/ai12z-knowledge-box-71a10937.js +382 -0
  27. package/dist/esm/ai12z-knowledge-box-71a10937.js.map +1 -0
  28. package/dist/esm/ai12z-knowledge-box.entry.js +1 -1
  29. package/dist/esm/dynamic-form.entry.js +35 -31
  30. package/dist/esm/dynamic-form.entry.js.map +1 -1
  31. package/dist/esm/index.js +2 -2
  32. package/dist/library/index.esm.js +1 -1
  33. package/dist/library/library.esm.js +1 -1
  34. package/dist/library/{p-3e968bf1.entry.js → p-03269530.entry.js} +2 -2
  35. package/dist/library/p-08bbb4b8.entry.js +2 -0
  36. package/dist/library/p-08bbb4b8.entry.js.map +1 -0
  37. package/dist/library/{p-af76a7c6.entry.js → p-32558909.entry.js} +2 -2
  38. package/dist/library/{p-d567093b.entry.js → p-706e3933.entry.js} +2 -2
  39. package/dist/library/p-706e3933.entry.js.map +1 -0
  40. package/dist/library/p-a8e4dffd.js +2 -0
  41. package/dist/library/p-a8e4dffd.js.map +1 -0
  42. package/dist/library/p-c5f0d025.js +2 -0
  43. package/dist/library/p-c5f0d025.js.map +1 -0
  44. package/dist/types/components/ai12z-bot/ai12z-bot.d.ts +4 -0
  45. package/dist/types/components/ai12z-cta/components/Chat.d.ts +3 -0
  46. package/dist/types/components/ai12z-cta/components/DynamicForm.d.ts +3 -5
  47. package/dist/types/components/ai12z-knowledge-box/ai12z-knowledge-box.d.ts +3 -1
  48. package/package.json +6 -6
  49. package/dist/cjs/ai12z-bot-74f5836f.js +0 -2592
  50. package/dist/cjs/ai12z-bot-74f5836f.js.map +0 -1
  51. package/dist/cjs/ai12z-knowledge-box-30117a83.js +0 -369
  52. package/dist/cjs/ai12z-knowledge-box-30117a83.js.map +0 -1
  53. package/dist/collection/global/survey.min.css +0 -6
  54. package/dist/esm/ai12z-bot-6f64c1b4.js +0 -2590
  55. package/dist/esm/ai12z-bot-6f64c1b4.js.map +0 -1
  56. package/dist/esm/ai12z-knowledge-box-f0962b9a.js +0 -367
  57. package/dist/esm/ai12z-knowledge-box-f0962b9a.js.map +0 -1
  58. package/dist/library/p-03ec5034.js +0 -2
  59. package/dist/library/p-03ec5034.js.map +0 -1
  60. package/dist/library/p-28892eb0.entry.js +0 -2
  61. package/dist/library/p-28892eb0.entry.js.map +0 -1
  62. package/dist/library/p-a6392d09.js +0 -2
  63. package/dist/library/p-a6392d09.js.map +0 -1
  64. package/dist/library/p-d567093b.entry.js.map +0 -1
  65. /package/dist/library/{p-3e968bf1.entry.js.map → p-03269530.entry.js.map} +0 -0
  66. /package/dist/library/{p-af76a7c6.entry.js.map → p-32558909.entry.js.map} +0 -0
@@ -2,13 +2,7 @@ import { h } from "@stencil/core";
2
2
  import { getBroswerLang, getAllLanguagesInSurvey } from "../../../utils/utils";
3
3
  export class DynamicForm {
4
4
  constructor() {
5
- this.cdnPath = "https://cdn.ai12z.net/assets/bot";
6
- this.scripts = [`${this.cdnPath}/v1/survey.jquery.min.js`, `https://unpkg.com/survey-core/themes/plain-light-panelless.min.js`];
7
- this.styles = [
8
- `${this.cdnPath}/v1/survey.min.css`,
9
- `${this.cdnPath}/v1/survey-core.min.css`,
10
- // `https://unpkg.com/survey-core/defaultV2.min.css`
11
- ];
5
+ this.surveyCDNPath = "https://cdn.ai12z.net/pkg/surveyjs";
12
6
  this.form = undefined;
13
7
  this.formSettings = undefined;
14
8
  this.formsettings = undefined;
@@ -16,8 +10,7 @@ export class DynamicForm {
16
10
  }
17
11
  componentWillLoad() {
18
12
  var _a;
19
- this.loadStyles();
20
- this.loadScripts();
13
+ this.loadScriptsSequentially();
21
14
  // console.log("form", this.form)
22
15
  let supportedLocales;
23
16
  if (this.form) {
@@ -58,6 +51,38 @@ export class DynamicForm {
58
51
  options.htmlElement.name = options.question.name;
59
52
  });
60
53
  }
54
+ async loadScriptsSequentially() {
55
+ try {
56
+ // 2. Load Survey Core
57
+ await this.loadScript(`${this.surveyCDNPath}/survey-core@2.3.4/survey.core.min.js`);
58
+ // 3. Load Survey i18n
59
+ await this.loadScript(`${this.surveyCDNPath}/survey-core@2.3.4/survey.i18n.min.js`);
60
+ // 4. Load Survey themes
61
+ await this.loadScript(`${this.surveyCDNPath}/survey-core@2.3.4/themes/index.min.js`);
62
+ // 6. Load Survey UI
63
+ await this.loadScript(`${this.surveyCDNPath}/survey-js-ui@2.3.4/survey-js-ui.min.js`);
64
+ console.log("All Survey.js scripts loaded successfully");
65
+ }
66
+ catch (error) {
67
+ console.error("Failed to load Survey.js scripts:", error);
68
+ }
69
+ }
70
+ loadScript(src) {
71
+ return new Promise((resolve, reject) => {
72
+ if (document.querySelector(`script[src="${src}"]`)) {
73
+ resolve();
74
+ return;
75
+ }
76
+ const script = document.createElement("script");
77
+ script.src = src;
78
+ script.async = false;
79
+ script.onload = () => resolve();
80
+ script.onerror = () => reject(new Error(`Failed to load script: ${src}`));
81
+ // Load in document head for global access
82
+ // document.head.appendChild(script)
83
+ this.el.shadowRoot.appendChild(script);
84
+ });
85
+ }
61
86
  componentDidLoad() {
62
87
  var _a;
63
88
  // Render the SurveyJS survey
@@ -105,29 +130,8 @@ export class DynamicForm {
105
130
  }
106
131
  return fallback;
107
132
  }
108
- loadScripts() {
109
- for (const script of this.scripts) {
110
- const loadScript = document.createElement("script");
111
- loadScript.src = script;
112
- loadScript.onerror = err => {
113
- console.error("Failed to load script:", err);
114
- };
115
- document.head.appendChild(loadScript);
116
- this.el.appendChild(loadScript);
117
- }
118
- }
119
- loadStyles() {
120
- for (const style of this.styles) {
121
- const loadStyle = document.createElement("link");
122
- loadStyle.rel = "stylesheet";
123
- loadStyle.href = style;
124
- loadStyle.onerror = err => {
125
- console.error("Failed to load style:", err);
126
- };
127
- }
128
- }
129
133
  render() {
130
- return h("div", { key: '3c8b59fdf14bc304cc5f3dda3cf84a649e87aae3', id: "surveyContainer" });
134
+ return h("div", { key: '053846c53d63188b20916b490ffedb31c2cfa9b1', id: "surveyContainer" });
131
135
  }
132
136
  static get is() { return "dynamic-form"; }
133
137
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicForm.js","sourceRoot":"","sources":["../../../../src/components/ai12z-cta/components/DynamicForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Element, Prop, EventEmitter, Event } from \"@stencil/core\"\nimport { getBroswerLang, getAllLanguagesInSurvey } from \"../../../utils/utils\"\n@Component({\n tag: \"dynamic-form\",\n styleUrls: [\"DynamicForm.css\", \"../../../global/tailwind.min.css\"],\n shadow: false, // Set to false if you face Shadow DOM issues\n})\nexport class DynamicForm {\n private cdnPath: string = \"https://cdn.ai12z.net/assets/bot\"\n private surveyModel!: any\n private scripts = [`${this.cdnPath}/v1/survey.jquery.min.js`, `https://unpkg.com/survey-core/themes/plain-light-panelless.min.js`]\n private styles = [\n `${this.cdnPath}/v1/survey.min.css`,\n `${this.cdnPath}/v1/survey-core.min.css`,\n // `https://unpkg.com/survey-core/defaultV2.min.css`\n ]\n\n @Element() el!: HTMLElement\n @Prop() form!: any // Form fields for the dynamic form\n @Prop({ mutable: true }) formSettings!: any // Form settings for the dynamic form\n @Prop() formsettings!: any // Form settings for the dynamic form\n @Prop() theme: any\n @Event({\n eventName: \"formComplete\",\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n formSubmitted!: EventEmitter<any>\n\n componentWillLoad() {\n this.loadStyles()\n this.loadScripts()\n // console.log(\"form\", this.form)\n let supportedLocales\n if (this.form) {\n supportedLocales = getAllLanguagesInSurvey(JSON.parse(this.form))\n }\n // console.log(\"supportedLocales\", supportedLocales)\n if (supportedLocales.has(getBroswerLang())) {\n window[\"Survey\"].surveyLocalization.currentLocale = getBroswerLang()\n } else {\n window[\"Survey\"].surveyLocalization.currentLocale = \"default\"\n }\n // window[\"Survey\"].surveyLocalization.currentLocale = supportedLocales.includes(getBroswerLang()) ? getBroswerLang() : \"default\"\n\n // Initialize the SurveyJS model\n this.surveyModel = new window[\"Survey\"].Model(this.form)\n // window[\"Survey\"].StylesManager.applyTheme(JSON.parse(this.theme))\n // const theme = window[\"SurveyTheme\"]?.PlainLightPanelless\n // const theme = this.theme ? window[\"Survey\"].StylesManager.applyTheme(JSON.parse(this.theme)) : window[\"SurveyTheme\"]?.PlainLightPanelless\n if (this.theme && typeof JSON.parse(this.theme) === \"object\") {\n this.surveyModel.applyTheme(JSON.parse(this.theme))\n } else {\n const theme = window[\"SurveyTheme\"]?.PlainLightPanelless\n if (theme) {\n this.surveyModel.applyTheme(theme)\n }\n console.warn(\"Invalid theme object:\", this.theme)\n }\n if (!this.formSettings) {\n this.formSettings = JSON.parse(this.formsettings)\n }\n // Handle survey completion\n this.surveyModel.onComplete.add(sender => {\n // console.log(\"Survey completed:\", sender.data)\n this.formSubmitted.emit(sender)\n })\n this.surveyModel.onAfterRenderQuestionInput.add(function (_, options) {\n options.htmlElement.name = options.question.name\n })\n }\n\n componentDidLoad() {\n // Render the SurveyJS survey\n const surveyContainer = this.el.querySelector(\"#surveyContainer\")\n if (surveyContainer) {\n this.applySettings()\n this.surveyModel?.render(surveyContainer)\n }\n }\n\n disconnectedCallback() {\n // Dispose of the Form model to free resources\n if (this.surveyModel) {\n this.surveyModel.dispose()\n }\n }\n\n applySettings() {\n if (this.formSettings?.showProgressBar) {\n this.surveyModel.showProgressBar = this.formSettings.showProgressBar\n }\n if (this.formSettings?.showQuestionNumbers) {\n this.surveyModel.showQuestionNumbers = this.formSettings.showQuestionNumbers\n }\n if (this.formSettings?.completeText) {\n this.surveyModel.completeText = this.resolveLocalized(this.formSettings.completeText, \"Submit\")\n }\n if (this.formSettings?.startSurveyText) {\n this.surveyModel.startSurveyText = this.formSettings.startSurveyText\n }\n if (this.formSettings?.pagePrevText) {\n this.surveyModel.pagePrevText = this.formSettings.pagePrevText\n }\n if (this.formSettings?.completedHTML) {\n this.surveyModel.completedHtml = this.resolveLocalized(this.formSettings?.completedHtml, \"Thank You!\")\n }\n }\n\n resolveLocalized(value: any, fallback: string = \"\"): string {\n if (!value) return fallback\n\n if (typeof value === \"string\") {\n return value\n }\n\n if (typeof value === \"object\") {\n return value[getBroswerLang()] || value.default || fallback\n }\n\n return fallback\n }\n\n loadScripts() {\n for (const script of this.scripts) {\n const loadScript = document.createElement(\"script\")\n loadScript.src = script\n loadScript.onerror = err => {\n console.error(\"Failed to load script:\", err)\n }\n\n document.head.appendChild(loadScript)\n this.el.appendChild(loadScript)\n }\n }\n\n loadStyles() {\n for (const style of this.styles) {\n const loadStyle = document.createElement(\"link\")\n loadStyle.rel = \"stylesheet\"\n loadStyle.href = style\n loadStyle.onerror = err => {\n console.error(\"Failed to load style:\", err)\n }\n }\n }\n\n render() {\n return <div id=\"surveyContainer\"></div>\n }\n}\n"]}
1
+ {"version":3,"file":"DynamicForm.js","sourceRoot":"","sources":["../../../../src/components/ai12z-cta/components/DynamicForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Element, Prop, EventEmitter, Event } from \"@stencil/core\"\nimport { getBroswerLang, getAllLanguagesInSurvey } from \"../../../utils/utils\"\n@Component({\n tag: \"dynamic-form\",\n styleUrls: [\"DynamicForm.css\", \"../../../global/tailwind.min.css\"],\n shadow: false, // Set to false if you face Shadow DOM issues\n})\nexport class DynamicForm {\n private surveyCDNPath: string = \"https://cdn.ai12z.net/pkg/surveyjs\"\n private surveyModel!: any\n // private scripts = [`${this.cdnPath}/v1/survey.jquery.min.js`, `https://unpkg.com/survey-core/themes/plain-light-panelless.min.js`]\n\n\n @Element() el!: HTMLElement\n @Prop() form!: any // Form fields for the dynamic form\n @Prop({ mutable: true }) formSettings!: any // Form settings for the dynamic form\n @Prop() formsettings!: any // Form settings for the dynamic form\n @Prop() theme: any\n @Event({\n eventName: \"formComplete\",\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n formSubmitted!: EventEmitter<any>\n\n componentWillLoad() {\n this.loadScriptsSequentially()\n // console.log(\"form\", this.form)\n let supportedLocales\n if (this.form) {\n supportedLocales = getAllLanguagesInSurvey(JSON.parse(this.form))\n }\n // console.log(\"supportedLocales\", supportedLocales)\n if (supportedLocales.has(getBroswerLang())) {\n window[\"Survey\"].surveyLocalization.currentLocale = getBroswerLang()\n } else {\n window[\"Survey\"].surveyLocalization.currentLocale = \"default\"\n }\n // window[\"Survey\"].surveyLocalization.currentLocale = supportedLocales.includes(getBroswerLang()) ? getBroswerLang() : \"default\"\n\n // Initialize the SurveyJS model\n this.surveyModel = new window[\"Survey\"].Model(this.form)\n // window[\"Survey\"].StylesManager.applyTheme(JSON.parse(this.theme))\n // const theme = window[\"SurveyTheme\"]?.PlainLightPanelless\n // const theme = this.theme ? window[\"Survey\"].StylesManager.applyTheme(JSON.parse(this.theme)) : window[\"SurveyTheme\"]?.PlainLightPanelless\n if (this.theme && typeof JSON.parse(this.theme) === \"object\") {\n this.surveyModel.applyTheme(JSON.parse(this.theme))\n } else {\n const theme = window[\"SurveyTheme\"]?.PlainLightPanelless\n if (theme) {\n this.surveyModel.applyTheme(theme)\n }\n console.warn(\"Invalid theme object:\", this.theme)\n }\n if (!this.formSettings) {\n this.formSettings = JSON.parse(this.formsettings)\n }\n // Handle survey completion\n this.surveyModel.onComplete.add(sender => {\n // console.log(\"Survey completed:\", sender.data)\n this.formSubmitted.emit(sender)\n })\n this.surveyModel.onAfterRenderQuestionInput.add(function (_, options) {\n options.htmlElement.name = options.question.name\n })\n }\n\n private async loadScriptsSequentially() {\n try {\n\n // 2. Load Survey Core\n await this.loadScript(`${this.surveyCDNPath}/survey-core@2.3.4/survey.core.min.js`)\n\n // 3. Load Survey i18n\n await this.loadScript(`${this.surveyCDNPath}/survey-core@2.3.4/survey.i18n.min.js`)\n\n // 4. Load Survey themes\n await this.loadScript(`${this.surveyCDNPath}/survey-core@2.3.4/themes/index.min.js`)\n\n\n // 6. Load Survey UI\n await this.loadScript(`${this.surveyCDNPath}/survey-js-ui@2.3.4/survey-js-ui.min.js`)\n\n console.log(\"All Survey.js scripts loaded successfully\")\n } catch (error) {\n console.error(\"Failed to load Survey.js scripts:\", error)\n }\n }\n\n private loadScript(src: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (document.querySelector(`script[src=\"${src}\"]`)) {\n resolve()\n return\n }\n\n const script = document.createElement(\"script\")\n script.src = src\n script.async = false\n script.onload = () => resolve()\n script.onerror = () => reject(new Error(`Failed to load script: ${src}`))\n\n // Load in document head for global access\n // document.head.appendChild(script)\n this.el.shadowRoot.appendChild(script)\n })\n }\n\n componentDidLoad() {\n // Render the SurveyJS survey\n const surveyContainer = this.el.querySelector(\"#surveyContainer\")\n if (surveyContainer) {\n this.applySettings()\n this.surveyModel?.render(surveyContainer)\n }\n }\n\n disconnectedCallback() {\n // Dispose of the Form model to free resources\n if (this.surveyModel) {\n this.surveyModel.dispose()\n }\n }\n\n applySettings() {\n if (this.formSettings?.showProgressBar) {\n this.surveyModel.showProgressBar = this.formSettings.showProgressBar\n }\n if (this.formSettings?.showQuestionNumbers) {\n this.surveyModel.showQuestionNumbers = this.formSettings.showQuestionNumbers\n }\n if (this.formSettings?.completeText) {\n this.surveyModel.completeText = this.resolveLocalized(this.formSettings.completeText, \"Submit\")\n }\n if (this.formSettings?.startSurveyText) {\n this.surveyModel.startSurveyText = this.formSettings.startSurveyText\n }\n if (this.formSettings?.pagePrevText) {\n this.surveyModel.pagePrevText = this.formSettings.pagePrevText\n }\n if (this.formSettings?.completedHTML) {\n this.surveyModel.completedHtml = this.resolveLocalized(this.formSettings?.completedHtml, \"Thank You!\")\n }\n }\n\n resolveLocalized(value: any, fallback: string = \"\"): string {\n if (!value) return fallback\n\n if (typeof value === \"string\") {\n return value\n }\n\n if (typeof value === \"object\") {\n return value[getBroswerLang()] || value.default || fallback\n }\n\n return fallback\n }\n\n render() {\n return <div id=\"surveyContainer\"></div>\n }\n}\n"]}
@@ -7,18 +7,22 @@ import { getEndpoint, generateUUID, updateButtonEvents } from "../../utils/utils
7
7
  // import { Model } from "survey-jquery"
8
8
  export class Ai12zKnowledgeBox {
9
9
  constructor() {
10
- this.cdnPath = "https://cdn.ai12z.net/assets/bot";
10
+ // private cdnPath: string = "https://cdn.ai12z.net/assets/bot"
11
+ this.surveyCDNPath = "https://cdn.ai12z.net/pkg/surveyjs";
11
12
  this.alertResults = sender => {
12
13
  const results = JSON.stringify(sender.data);
13
14
  const query = "Here is the data you requested:" + results;
14
- sender.implementor.renderedElement.innerHTML = `<p><b>Thank you</b></p>`;
15
+ // sender.implementor.renderedElement.innerHTML = `<p><b>Thank you</b></p>`
16
+ this.element.shadowRoot.querySelector(`#${this.surveyDomId}`).innerHTML = `<p><b>Thank you</b></p>`;
15
17
  this.question = query;
16
18
  };
17
19
  this.invokeSurvey = chat => {
18
- const survey = new window["Survey"].Model(chat.formModel);
20
+ const formModel = chat.controlData.data.source;
21
+ const survey = new window["Survey"].Model(JSON.parse(formModel));
19
22
  const domELe = this.element.shadowRoot.querySelector(`#${this.surveyDomId}`);
20
23
  if (domELe) {
21
- window["jQuery"](domELe).Survey({ model: survey });
24
+ survey.render(domELe);
25
+ // window["jQuery"](domELe).Survey({ model: survey })
22
26
  }
23
27
  else {
24
28
  console.error("Survey Element not found");
@@ -134,28 +138,39 @@ export class Ai12zKnowledgeBox {
134
138
  this.buttons = [];
135
139
  }
136
140
  componentDidLoad() {
137
- // Load jQuery first
138
- const jQueryScript = document.createElement("script");
139
- jQueryScript.src = this.cdnPath + "/v1/jquery.min.js"; // Path relative to the www root
140
- jQueryScript.onload = () => {
141
- // console.log("jQuery loaded")
142
- // Load the script that loads and exposes SurveyJS
143
- const loadSurveyScript = document.createElement("script");
144
- loadSurveyScript.src = this.cdnPath + "/v1/survey.jquery.min.js"; // Path relative to the www root
145
- loadSurveyScript.onload = () => {
146
- // console.log("SurveyJS loaded and SurveyModel exposed")
147
- };
148
- loadSurveyScript.onerror = err => {
149
- console.error("Failed to load SurveyJS:", err);
150
- };
151
- document.head.appendChild(loadSurveyScript);
152
- this.element.shadowRoot.appendChild(loadSurveyScript);
153
- };
154
- jQueryScript.onerror = err => {
155
- console.error("Failed to load jQuery:", err);
156
- };
157
- document.head.appendChild(jQueryScript);
158
- this.element.shadowRoot.appendChild(jQueryScript);
141
+ this.loadScriptsSequentially();
142
+ }
143
+ async loadScriptsSequentially() {
144
+ try {
145
+ // 2. Load Survey Core
146
+ await this.loadScript(`${this.surveyCDNPath}/survey-core@2.3.4/survey.core.min.js`);
147
+ // 3. Load Survey i18n
148
+ await this.loadScript(`${this.surveyCDNPath}/survey-core@2.3.4/survey.i18n.min.js`);
149
+ // 4. Load Survey themes
150
+ await this.loadScript(`${this.surveyCDNPath}/survey-core@2.3.4/themes/index.min.js`);
151
+ // 6. Load Survey UI
152
+ await this.loadScript(`${this.surveyCDNPath}/survey-js-ui@2.3.4/survey-js-ui.min.js`);
153
+ console.log("All Survey.js scripts loaded successfully");
154
+ }
155
+ catch (error) {
156
+ console.error("Failed to load Survey.js scripts:", error);
157
+ }
158
+ }
159
+ loadScript(src) {
160
+ return new Promise((resolve, reject) => {
161
+ if (document.querySelector(`script[src="${src}"]`)) {
162
+ resolve();
163
+ return;
164
+ }
165
+ const script = document.createElement("script");
166
+ script.src = src;
167
+ script.async = false;
168
+ script.onload = () => resolve();
169
+ script.onerror = () => reject(new Error(`Failed to load script: ${src}`));
170
+ // Load in document head for global access
171
+ // document.head.appendChild(script)
172
+ this.element.shadowRoot.appendChild(script);
173
+ });
159
174
  }
160
175
  getConfig() {
161
176
  const payload = {
@@ -263,7 +278,7 @@ export class Ai12zKnowledgeBox {
263
278
  this.isLoading = false;
264
279
  this.searchResults = data;
265
280
  this.error = null;
266
- if (finalHtml.indexOf("[form") > -1) {
281
+ if (data.controlType === "form") {
267
282
  this.surveyDomId = "surveyElement-" + generateUUID();
268
283
  finalHtml = `<div id=${this.surveyDomId}></div>`;
269
284
  // finalHtml = finalHtml.replace(RegExp(/\[[^>]*]/gm), `<div id=${this.surveyDomId}></div>`)
@@ -339,7 +354,7 @@ export class Ai12zKnowledgeBox {
339
354
  this.clearThumbsHistory();
340
355
  }
341
356
  render() {
342
- return (h("div", { key: '56248d84d07ae293d31d15037ae03212db7c46cd' }, this.error ? h("p", { class: "ai12z-suggest-error-msg" }, "Error please try again!") : null, this.items.map(item => {
357
+ return (h("div", { key: 'f6eb3e3b9a4816cc88377b2c1acf1362dc67932d' }, this.error ? h("p", { class: "ai12z-suggest-error-msg" }, "Error please try again!") : null, this.items.map(item => {
343
358
  return (h("div", { class: "prose ai12z-suggest-container" }, this.isLoading && (h("svg", { class: "animate-spin h-5 w-5 text-gray-400", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", id: "spinner" }, h("circle", { class: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", "stroke-width": "4" }), h("path", { class: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 0 1 4 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" }))), h("div", null, h("div", { class: { "ai12z-suggest-title": true, "ai12z-suggest-align": item["thumbsUpDown"] } }, h("a", { href: item["title"], target: "_blank" }, item["title"])), item.thumbsUpDown && !this.isLoading && (h("div", { class: "ai12z-suggest-thumbs", id: "thumbsupdown" }, h("button", { id: `thumbsUp_${item.insightId}`, onClick: () => this.thumbsUp(item.insightId), class: "chat-thumbs-up" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", class: "w-6 h-6" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M6.633 10.25c.806 0 1.533-.446 2.031-1.08a9.041 9.041 0 0 1 2.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 0 0 .322-1.672V2.75a.75.75 0 0 1 .75-.75 2.25 2.25 0 0 1 2.25 2.25c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282m0 0h3.126c1.026 0 1.945.694 2.054 1.715.045.422.068.85.068 1.285a11.95 11.95 0 0 1-2.649 7.521c-.388.482-.987.729-1.605.729H13.48c-.483 0-.964-.078-1.423-.23l-3.114-1.04a4.501 4.501 0 0 0-1.423-.23H5.904m10.598-9.75H14.25M5.904 18.5c.083.205.173.405.27.602.197.4-.078.898-.523.898h-.908c-.889 0-1.713-.518-1.972-1.368a12 12 0 0 1-.521-3.507c0-1.553.295-3.036.831-4.398C3.387 9.953 4.167 9.5 5 9.5h1.053c.472 0 .745.556.5.96a8.958 8.958 0 0 0-1.302 4.665c0 1.194.232 2.333.654 3.375Z" }))), h("button", { id: `thumbsDown_${item.insightId}`, onClick: () => this.thumbsDown(item.insightId), class: "chat-thumbs-down" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", class: "w-6 h-6" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M7.498 15.25H4.372c-1.026 0-1.945-.694-2.054-1.715a12.137 12.137 0 0 1-.068-1.285c0-2.848.992-5.464 2.649-7.521C5.287 4.247 5.886 4 6.504 4h4.016a4.5 4.5 0 0 1 1.423.23l3.114 1.04a4.5 4.5 0 0 0 1.423.23h1.294M7.498 15.25c.618 0 .991.724.725 1.282A7.471 7.471 0 0 0 7.5 19.75 2.25 2.25 0 0 0 9.75 22a.75.75 0 0 0 .75-.75v-.633c0-.573.11-1.14.322-1.672.304-.76.93-1.33 1.653-1.715a9.04 9.04 0 0 0 2.86-2.4c.498-.634 1.226-1.08 2.032-1.08h.384m-10.253 1.5H9.7m8.075-9.75c.01.05.027.1.05.148.593 1.2.925 2.55.925 3.977 0 1.487-.36 2.89-.999 4.125m.023-8.25c-.076-.365.183-.75.575-.75h.908c.889 0 1.713.518 1.972 1.368.339 1.11.521 2.287.521 3.507 0 1.553-.295 3.036-.831 4.398-.306.774-1.086 1.227-1.918 1.227h-1.053c-.472 0-.745-.556-.5-.96a8.95 8.95 0 0 0 .303-.54" })))))), h("div", { class: "ai12z-suggest-answer", id: item["id"], innerHTML: item["answer"] }), h("div", { class: { "ai12z-suggest-relevance": true, "ai12z-suggest-hide": !item["isRelavance"] } }, h("a", { href: "" }, item["relavanceScore"])), h("div", { class: "custom-privacy" }, h("slot", { name: "custom-privacy" }))));
344
359
  })));
345
360
  }
@@ -347,12 +362,12 @@ export class Ai12zKnowledgeBox {
347
362
  static get encapsulation() { return "shadow"; }
348
363
  static get originalStyleUrls() {
349
364
  return {
350
- "$": ["./ai12z-knowledge-box.css", "../../global/tailwind.min.css", "../../global/survey.min.css"]
365
+ "$": ["./ai12z-knowledge-box.css", "../../global/tailwind.min.css", "../../global/survey-core.min.css"]
351
366
  };
352
367
  }
353
368
  static get styleUrls() {
354
369
  return {
355
- "$": ["ai12z-knowledge-box.css", "../../global/tailwind.min.css", "../../global/survey.min.css"]
370
+ "$": ["ai12z-knowledge-box.css", "../../global/tailwind.min.css", "../../global/survey-core.min.css"]
356
371
  };
357
372
  }
358
373
  static get assetsDirs() { return ["assets"]; }
@@ -1 +1 @@
1
- {"version":3,"file":"ai12z-knowledge-box.js","sourceRoot":"","sources":["../../../src/components/ai12z-knowledge-box/ai12z-knowledge-box.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State, Watch, Element, Event, EventEmitter, Env } from \"@stencil/core\"\r\nimport { sendFeedback, getConfig } from \"../../utils/utils\"\r\nimport { io } from \"socket.io-client\"\r\nimport showdown from \"showdown\"\r\nimport { getEndpoint, generateUUID, updateButtonEvents } from \"../../utils/utils\"\r\n// import $ from \"jquery\"\r\n// import { Model } from \"survey-jquery\"\r\n\r\n@Component({\r\n tag: \"ai12z-knowledge-box\",\r\n styleUrls: [\"./ai12z-knowledge-box.css\", \"../../global/tailwind.min.css\", \"../../global/survey.min.css\"],\r\n shadow: true,\r\n assetsDirs: [\"assets\"],\r\n // scoped: true,\r\n})\r\nexport class Ai12zKnowledgeBox {\r\n @Element() private element: HTMLElement\r\n @Prop({ reflect: true }) dataKey: string = Env.DATA_KEY || \"\"\r\n @Prop({ reflect: true }) dataMode: string = Env.DATA_MODE || \"prod\" // \"local\", \"dev\", or \"prod\"\r\n @Prop({ reflect: true, mutable: true }) configId: string\r\n @Prop({ reflect: true, mutable: true }) question: string\r\n // @Prop() relavanceScore: boolean\r\n // @Prop() feedback: boolean = true\r\n @Prop({ mutable: true }) socket: any\r\n @Prop({ mutable: true }) isLoading: boolean = true\r\n\r\n @State() questionId = null\r\n @State() kbSettings\r\n @State() searchResults\r\n @State() items = []\r\n @State() error = null\r\n @State() domId: string\r\n @State() surveyDomId: string\r\n @State() buttons: Array<{ id: string; label: string }> = []\r\n\r\n @Event({\r\n eventName: \"errored\",\r\n composed: true,\r\n cancelable: true,\r\n bubbles: true,\r\n })\r\n errored: EventEmitter\r\n\r\n private cdnPath: string = \"https://cdn.ai12z.net/assets/bot\"\r\n\r\n componentDidLoad() {\r\n // Load jQuery first\r\n const jQueryScript = document.createElement(\"script\")\r\n jQueryScript.src = this.cdnPath + \"/v1/jquery.min.js\" // Path relative to the www root\r\n jQueryScript.onload = () => {\r\n // console.log(\"jQuery loaded\")\r\n // Load the script that loads and exposes SurveyJS\r\n const loadSurveyScript = document.createElement(\"script\")\r\n loadSurveyScript.src = this.cdnPath + \"/v1/survey.jquery.min.js\" // Path relative to the www root\r\n loadSurveyScript.onload = () => {\r\n // console.log(\"SurveyJS loaded and SurveyModel exposed\")\r\n }\r\n loadSurveyScript.onerror = err => {\r\n console.error(\"Failed to load SurveyJS:\", err)\r\n }\r\n document.head.appendChild(loadSurveyScript)\r\n this.element.shadowRoot.appendChild(loadSurveyScript)\r\n }\r\n jQueryScript.onerror = err => {\r\n console.error(\"Failed to load jQuery:\", err)\r\n }\r\n document.head.appendChild(jQueryScript)\r\n this.element.shadowRoot.appendChild(jQueryScript)\r\n }\r\n\r\n getConfig() {\r\n const payload = {\r\n apiKey: this.dataKey,\r\n configId: this.configId,\r\n configType: \"kb\",\r\n }\r\n getConfig(payload, this.dataMode)\r\n .then(data => {\r\n console.log(\"Config fetched successfully:\", data)\r\n if (data) {\r\n this.kbSettings = data\r\n switch (this.kbSettings?.questionType) {\r\n case \"static\":\r\n this.question = this.kbSettings?.question\r\n break\r\n case \"query\":\r\n const urlParams = new URLSearchParams(window.location.search)\r\n\r\n // Extract individual query parameters\r\n this.question = urlParams.get(\"q\")\r\n console.log(\"Query string question:\", this.question)\r\n break\r\n }\r\n if (this.kbSettings.customCSS) {\r\n this.insertStyles(this.kbSettings.customCSS)\r\n }\r\n if (this.kbSettings.customJS) {\r\n const scriptEl = document.createElement(\"script\")\r\n scriptEl.setAttribute(\"type\", \"text/javascript\")\r\n scriptEl.setAttribute(\"src\", this.kbSettings.customJS)\r\n this.element.shadowRoot?.appendChild(scriptEl)\r\n }\r\n }\r\n })\r\n .catch(error => {\r\n console.error(\"Error fetching config:\", error)\r\n this.error = error\r\n this.errored.emit(error)\r\n })\r\n }\r\n\r\n insertStyles(linkURL: string) {\r\n const linkEl = document.createElement(\"link\")\r\n linkEl.setAttribute(\"rel\", \"stylesheet\")\r\n linkEl.setAttribute(\"href\", linkURL)\r\n\r\n const shadowRoot = this.element.shadowRoot\r\n if (shadowRoot) {\r\n shadowRoot.appendChild(linkEl)\r\n }\r\n }\r\n\r\n getResults(type) {\r\n try {\r\n if (this.question) {\r\n this.searchResults = null\r\n this.error = null\r\n const newTodo = {\r\n id: \"aimessageId-\" + generateUUID(),\r\n answer: \" \",\r\n title: \"\",\r\n relavanceScore: \"\",\r\n isRelavance: this.kbSettings.relavanceScore,\r\n insightId: \"\",\r\n thumbsUpDown: this.kbSettings.feedback ?? null,\r\n }\r\n if (type === \"add\" || (this.items && this.items.length === 0)) {\r\n this.items = [newTodo]\r\n } else {\r\n this.socket.off(\"response\")\r\n const updatedId = this.items[0].id\r\n this.items = [...this.items, newTodo]\r\n this.items = this.items.filter(item => item.id !== updatedId)\r\n if (this.element.shadowRoot?.querySelector(`#${updatedId}`)) {\r\n this.element.shadowRoot.querySelector(`#${updatedId}`).innerHTML = \"\"\r\n this.element.shadowRoot.querySelector(`#${updatedId}`).setAttribute(\"data-bubbleText\", \"\")\r\n }\r\n }\r\n this.domId = this.items && this.items.length > 0 ? this.items[0].id : null\r\n }\r\n } catch (error) {\r\n console.error(error)\r\n this.error = error\r\n this.errored.emit(error)\r\n }\r\n }\r\n\r\n @Watch(\"question\")\r\n watchPropHandler(_newValue: boolean, _oldValue: boolean) {\r\n this.isLoading = true\r\n this.getResults(\"update\")\r\n }\r\n\r\n @Watch(\"domId\")\r\n watchStateHandler(_newValue: boolean, _oldValue: boolean) {\r\n this.invokeSocket()\r\n this.socket.on(\"response\", event => {\r\n this.isLoading = false\r\n this.handleMessage(event.data, `${this.domId}`) // Use the unique ID to handle messages\r\n })\r\n this.socket.on(\"end_response\", data => {\r\n const converter = new showdown.Converter()\r\n let finalHtml = converter.makeHtml(data.answer)\r\n // document.getElementById(\"messageId\").innerHTML = finalHtml;\r\n finalHtml = updateButtonEvents(finalHtml).body\r\n this.buttons = updateButtonEvents(finalHtml).buttons\r\n this.isLoading = false\r\n\r\n this.searchResults = data\r\n this.error = null\r\n if (finalHtml.indexOf(\"[form\") > -1) {\r\n this.surveyDomId = \"surveyElement-\" + generateUUID()\r\n finalHtml = `<div id=${this.surveyDomId}></div>`\r\n // finalHtml = finalHtml.replace(RegExp(/\\[[^>]*]/gm), `<div id=${this.surveyDomId}></div>`)\r\n }\r\n this.element.shadowRoot.querySelector(`#${this.domId}`).innerHTML = finalHtml\r\n const newTodo = {\r\n id: this.domId,\r\n answer: finalHtml,\r\n title: this.searchResults[\"title\"] ?? this.question,\r\n relavanceScore: this.searchResults[\"relevance_score\"],\r\n isRelavance: this.kbSettings.relavanceScore,\r\n insightId: this.searchResults[\"insight_id\"],\r\n thumbsUpDown: this.kbSettings.feedback,\r\n }\r\n this.addEventListeners(`#${this.domId}`)\r\n this.items = this.items.map(item => (item.id === this.domId ? newTodo : item))\r\n })\r\n }\r\n\r\n @Watch(\"surveyDomId\")\r\n watchSurveyDomIdHandler(_newValue: boolean, _oldValue: boolean) {\r\n setTimeout(() => {\r\n this.invokeSurvey(this.searchResults)\r\n }, 1000)\r\n }\r\n\r\n alertResults = sender => {\r\n const results = JSON.stringify(sender.data)\r\n const query = \"Here is the data you requested:\" + results\r\n sender.implementor.renderedElement.innerHTML = `<p><b>Thank you</b></p>`\r\n this.question = query\r\n }\r\n\r\n invokeSurvey = chat => {\r\n const survey = new window[\"Survey\"].Model(chat.formModel)\r\n const domELe = this.element.shadowRoot.querySelector(`#${this.surveyDomId}`)\r\n if (domELe) {\r\n window[\"jQuery\"](domELe).Survey({ model: survey })\r\n } else {\r\n console.error(\"Survey Element not found\")\r\n }\r\n\r\n survey.showCompletedPage = false\r\n survey.onComplete.add(this.alertResults)\r\n }\r\n\r\n addEventListeners(msgId) {\r\n const container = this.element.shadowRoot.querySelector(msgId)\r\n if (container) {\r\n this.buttons.forEach(button => {\r\n const buttonElement = container.querySelector(`#${button.id}`)\r\n if (buttonElement) {\r\n buttonElement.addEventListener(\"click\", this.handleButtonClick(button.label))\r\n }\r\n })\r\n }\r\n }\r\n\r\n handleButtonClick = (label: string) => (_event: Event) => {\r\n // console.log(`${label} clicked! ${event}`)\r\n this.question = label\r\n }\r\n\r\n componentWillLoad() {\r\n this.socketConnection()\r\n this.getConfig()\r\n setTimeout(() => {\r\n this.getResults(\"add\")\r\n }, 1000)\r\n }\r\n\r\n disconnectedCallback() {\r\n if (this.socket) {\r\n this.socket.disconnect()\r\n this.socket.off(\"response\")\r\n }\r\n }\r\n\r\n async socketConnection() {\r\n let a12z_EndPoint = getEndpoint(this.dataMode)\r\n this.socket = io(a12z_EndPoint, { transports: [\"websocket\"] })\r\n\r\n await new Promise<void>(resolve => {\r\n this.socket.on(\"connect\", () => {\r\n // console.log(\"Connected to Socket.IO server\")\r\n resolve()\r\n })\r\n })\r\n\r\n this.socket.on(\"disconnect\", () => {\r\n console.log(\"Disconnected from Socket.IO server\")\r\n // Handle disconnection if needed\r\n })\r\n }\r\n\r\n invokeSocket() {\r\n const data = {\r\n apiKey: this.dataKey,\r\n query: this.question,\r\n conversationId: this.questionId ?? \"\",\r\n event: \"evaluate_query\",\r\n }\r\n\r\n this.socket.emit(\"evaluate_query\", data)\r\n }\r\n\r\n handleMessage = (data, aiMessageId) => {\r\n const converter = new showdown.Converter()\r\n // const aiMessageBubble = document.getElementById(aiMessageId);\r\n\r\n const aiMessageBubble = this.element.shadowRoot?.querySelector(`#${aiMessageId}`)\r\n // const aiMessageBubble = this.element.querySelector('.ai12z-suggest-answer')\r\n\r\n if (!aiMessageBubble) {\r\n console.error(`Message bubble with ID ${aiMessageId} not found.`)\r\n return\r\n }\r\n var bubbleText = aiMessageBubble.getAttribute(\"data-bubbleText\") || \"\"\r\n bubbleText = bubbleText + data\r\n aiMessageBubble.setAttribute(\"data-bubbleText\", bubbleText)\r\n\r\n // Assuming data is a string containing the message content\r\n let html = converter.makeHtml(bubbleText)\r\n // Append new content to the existing chat bubble\r\n aiMessageBubble.innerHTML = html\r\n }\r\n\r\n componentDidUpdate() {\r\n this.clearThumbsHistory()\r\n }\r\n\r\n removeClass = (className, elem, type) => {\r\n elem.classList.remove(className)\r\n if (type === \"thumbs_up\") {\r\n elem.innerHTML = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-6 h-6\">\r\n <path\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M6.633 10.25c.806 0 1.533-.446 2.031-1.08a9.041 9.041 0 0 1 2.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 0 0 .322-1.672V2.75a.75.75 0 0 1 .75-.75 2.25 2.25 0 0 1 2.25 2.25c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282m0 0h3.126c1.026 0 1.945.694 2.054 1.715.045.422.068.85.068 1.285a11.95 11.95 0 0 1-2.649 7.521c-.388.482-.987.729-1.605.729H13.48c-.483 0-.964-.078-1.423-.23l-3.114-1.04a4.501 4.501 0 0 0-1.423-.23H5.904m10.598-9.75H14.25M5.904 18.5c.083.205.173.405.27.602.197.4-.078.898-.523.898h-.908c-.889 0-1.713-.518-1.972-1.368a12 12 0 0 1-.521-3.507c0-1.553.295-3.036.831-4.398C3.387 9.953 4.167 9.5 5 9.5h1.053c.472 0 .745.556.5.96a8.958 8.958 0 0 0-1.302 4.665c0 1.194.232 2.333.654 3.375Z\"\r\n />\r\n </svg>`\r\n } else {\r\n elem.innerHTML = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-6 h-6\">\r\n <path\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M7.498 15.25H4.372c-1.026 0-1.945-.694-2.054-1.715a12.137 12.137 0 0 1-.068-1.285c0-2.848.992-5.464 2.649-7.521C5.287 4.247 5.886 4 6.504 4h4.016a4.5 4.5 0 0 1 1.423.23l3.114 1.04a4.5 4.5 0 0 0 1.423.23h1.294M7.498 15.25c.618 0 .991.724.725 1.282A7.471 7.471 0 0 0 7.5 19.75 2.25 2.25 0 0 0 9.75 22a.75.75 0 0 0 .75-.75v-.633c0-.573.11-1.14.322-1.672.304-.76.93-1.33 1.653-1.715a9.04 9.04 0 0 0 2.86-2.4c.498-.634 1.226-1.08 2.032-1.08h.384m-10.253 1.5H9.7m8.075-9.75c.01.05.027.1.05.148.593 1.2.925 2.55.925 3.977 0 1.487-.36 2.89-.999 4.125m.023-8.25c-.076-.365.183-.75.575-.75h.908c.889 0 1.713.518 1.972 1.368.339 1.11.521 2.287.521 3.507 0 1.553-.295 3.036-.831 4.398-.306.774-1.086 1.227-1.918 1.227h-1.053c-.472 0-.745-.556-.5-.96a8.95 8.95 0 0 0 .303-.54\"\r\n />\r\n </svg>`\r\n }\r\n }\r\n\r\n clearThumbsHistory = () => {\r\n const elemup = this.element.shadowRoot.querySelector(\".chat-thumbs-up\")\r\n const elemdown = this.element.shadowRoot.querySelector(\".chat-thumbs-down\")\r\n if (elemup) {\r\n elemup.classList.remove(\"not-allowed\")\r\n elemup.removeAttribute(\"disabled\")\r\n }\r\n if (elemdown) {\r\n elemdown.classList.remove(\"not-allowed\")\r\n elemdown.removeAttribute(\"disabled\")\r\n }\r\n if (elemup && elemup.classList.contains(\"ai12z-suggest-thumbs-up\")) {\r\n this.removeClass(\"ai12z-suggest-thumbs-up\", elemup, \"thumbs_up\")\r\n }\r\n if (elemdown && elemdown.classList.contains(\"ai12z-suggest-thumbs-down\")) {\r\n this.removeClass(\"ai12z-suggest-thumbs-down\", elemdown, \"thumbs_down\")\r\n }\r\n }\r\n thumbsUp = (id: string): void => {\r\n const thumbsUp = this.element.shadowRoot.querySelector(`#thumbsUp_${id}`)\r\n thumbsUp.classList.add(\"ai12z-suggest-thumbs-up\")\r\n thumbsUp.innerHTML = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"w-6 h-6\">\r\n <path d=\"M7.493 18.5c-.425 0-.82-.236-.975-.632A7.48 7.48 0 0 1 6 15.125c0-1.75.599-3.358 1.602-4.634.151-.192.373-.309.6-.397.473-.183.89-.514 1.212-.924a9.042 9.042 0 0 1 2.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 0 0 .322-1.672V2.75A.75.75 0 0 1 15 2a2.25 2.25 0 0 1 2.25 2.25c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282h3.126c1.026 0 1.945.694 2.054 1.715.045.422.068.85.068 1.285a11.95 11.95 0 0 1-2.649 7.521c-.388.482-.987.729-1.605.729H14.23c-.483 0-.964-.078-1.423-.23l-3.114-1.04a4.501 4.501 0 0 0-1.423-.23h-.777ZM2.331 10.727a11.969 11.969 0 0 0-.831 4.398 12 12 0 0 0 .52 3.507C2.28 19.482 3.105 20 3.994 20H4.9c.445 0 .72-.498.523-.898a8.963 8.963 0 0 1-.924-3.977c0-1.708.476-3.305 1.302-4.666.245-.403-.028-.959-.5-.959H4.25c-.832 0-1.612.453-1.918 1.227Z\" />\r\n </svg>\r\n `\r\n this.disableFeedback(id)\r\n sendFeedback(this.dataKey, this.dataMode, id, {value: 1})\r\n }\r\n\r\n thumbsDown = (id: string): void => {\r\n const thumbsDown = this.element.shadowRoot.querySelector(`#thumbsDown_${id}`)\r\n thumbsDown.classList.add(\"ai12z-suggest-thumbs-down\")\r\n thumbsDown.innerHTML = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"w-6 h-6\">\r\n <path d=\"M15.73 5.5h1.035A7.465 7.465 0 0 1 18 9.625a7.465 7.465 0 0 1-1.235 4.125h-.148c-.806 0-1.534.446-2.031 1.08a9.04 9.04 0 0 1-2.861 2.4c-.723.384-1.35.956-1.653 1.715a4.499 4.499 0 0 0-.322 1.672v.633A.75.75 0 0 1 9 22a2.25 2.25 0 0 1-2.25-2.25c0-1.152.26-2.243.723-3.218.266-.558-.107-1.282-.725-1.282H3.622c-1.026 0-1.945-.694-2.054-1.715A12.137 12.137 0 0 1 1.5 12.25c0-2.848.992-5.464 2.649-7.521C4.537 4.247 5.136 4 5.754 4H9.77a4.5 4.5 0 0 1 1.423.23l3.114 1.04a4.5 4.5 0 0 0 1.423.23ZM21.669 14.023c.536-1.362.831-2.845.831-4.398 0-1.22-.182-2.398-.52-3.507-.26-.85-1.084-1.368-1.973-1.368H19.1c-.445 0-.72.498-.523.898.591 1.2.924 2.55.924 3.977a8.958 8.958 0 0 1-1.302 4.666c-.245.403.028.959.5.959h1.053c.832 0 1.612-.453 1.918-1.227Z\" />\r\n </svg>\r\n `\r\n this.disableFeedback(id)\r\n sendFeedback(this.dataKey, this.dataMode, id, {value:-1})\r\n }\r\n\r\n disableFeedback = (id: string): void => {\r\n const thumbsUp = this.element.shadowRoot.querySelector(`#thumbsUp_${id}`)\r\n const thumbsDown = this.element.shadowRoot.querySelector(`#thumbsDown_${id}`)\r\n thumbsUp.classList.add(\"not-allowed\")\r\n thumbsUp.setAttribute(\"disabled\", \"true\")\r\n thumbsDown.classList.add(\"not-allowed\")\r\n thumbsDown.setAttribute(\"disabled\", \"true\")\r\n }\r\n\r\n render() {\r\n return (\r\n <div>\r\n {this.error ? <p class=\"ai12z-suggest-error-msg\">Error please try again!</p> : null}\r\n {this.items.map(item => {\r\n return (\r\n <div class=\"prose ai12z-suggest-container\">\r\n {this.isLoading && (\r\n <svg class=\"animate-spin h-5 w-5 text-gray-400\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" id=\"spinner\">\r\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle>\r\n <path\r\n class=\"opacity-75\"\r\n fill=\"currentColor\"\r\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 0 1 4 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\r\n ></path>\r\n </svg>\r\n )}\r\n <div>\r\n <div class={{ \"ai12z-suggest-title\": true, \"ai12z-suggest-align\": item[\"thumbsUpDown\"] }}>\r\n <a href={item[\"title\"]} target=\"_blank\">\r\n {item[\"title\"]}\r\n </a>\r\n </div>\r\n {item.thumbsUpDown && !this.isLoading && (\r\n <div class=\"ai12z-suggest-thumbs\" id=\"thumbsupdown\">\r\n <button id={`thumbsUp_${item.insightId}`} onClick={() => this.thumbsUp(item.insightId)} class={\"chat-thumbs-up\"}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-6 h-6\">\r\n <path\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M6.633 10.25c.806 0 1.533-.446 2.031-1.08a9.041 9.041 0 0 1 2.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 0 0 .322-1.672V2.75a.75.75 0 0 1 .75-.75 2.25 2.25 0 0 1 2.25 2.25c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282m0 0h3.126c1.026 0 1.945.694 2.054 1.715.045.422.068.85.068 1.285a11.95 11.95 0 0 1-2.649 7.521c-.388.482-.987.729-1.605.729H13.48c-.483 0-.964-.078-1.423-.23l-3.114-1.04a4.501 4.501 0 0 0-1.423-.23H5.904m10.598-9.75H14.25M5.904 18.5c.083.205.173.405.27.602.197.4-.078.898-.523.898h-.908c-.889 0-1.713-.518-1.972-1.368a12 12 0 0 1-.521-3.507c0-1.553.295-3.036.831-4.398C3.387 9.953 4.167 9.5 5 9.5h1.053c.472 0 .745.556.5.96a8.958 8.958 0 0 0-1.302 4.665c0 1.194.232 2.333.654 3.375Z\"\r\n />\r\n </svg>\r\n </button>\r\n\r\n <button id={`thumbsDown_${item.insightId}`} onClick={() => this.thumbsDown(item.insightId)} class={\"chat-thumbs-down\"}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-6 h-6\">\r\n <path\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M7.498 15.25H4.372c-1.026 0-1.945-.694-2.054-1.715a12.137 12.137 0 0 1-.068-1.285c0-2.848.992-5.464 2.649-7.521C5.287 4.247 5.886 4 6.504 4h4.016a4.5 4.5 0 0 1 1.423.23l3.114 1.04a4.5 4.5 0 0 0 1.423.23h1.294M7.498 15.25c.618 0 .991.724.725 1.282A7.471 7.471 0 0 0 7.5 19.75 2.25 2.25 0 0 0 9.75 22a.75.75 0 0 0 .75-.75v-.633c0-.573.11-1.14.322-1.672.304-.76.93-1.33 1.653-1.715a9.04 9.04 0 0 0 2.86-2.4c.498-.634 1.226-1.08 2.032-1.08h.384m-10.253 1.5H9.7m8.075-9.75c.01.05.027.1.05.148.593 1.2.925 2.55.925 3.977 0 1.487-.36 2.89-.999 4.125m.023-8.25c-.076-.365.183-.75.575-.75h.908c.889 0 1.713.518 1.972 1.368.339 1.11.521 2.287.521 3.507 0 1.553-.295 3.036-.831 4.398-.306.774-1.086 1.227-1.918 1.227h-1.053c-.472 0-.745-.556-.5-.96a8.95 8.95 0 0 0 .303-.54\"\r\n />\r\n </svg>\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n <div class=\"ai12z-suggest-answer\" id={item[\"id\"]} innerHTML={item[\"answer\"]}></div>\r\n <div class={{ \"ai12z-suggest-relevance\": true, \"ai12z-suggest-hide\": !item[\"isRelavance\"] }}>\r\n <a href=\"\">{item[\"relavanceScore\"]}</a>\r\n </div>\r\n <div class=\"custom-privacy\">\r\n <slot name=\"custom-privacy\" />\r\n </div>\r\n </div>\r\n )\r\n })}\r\n </div>\r\n )\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ai12z-knowledge-box.js","sourceRoot":"","sources":["../../../src/components/ai12z-knowledge-box/ai12z-knowledge-box.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State, Watch, Element, Event, EventEmitter, Env } from \"@stencil/core\"\r\nimport { sendFeedback, getConfig } from \"../../utils/utils\"\r\nimport { io } from \"socket.io-client\"\r\nimport showdown from \"showdown\"\r\nimport { getEndpoint, generateUUID, updateButtonEvents } from \"../../utils/utils\"\r\n// import $ from \"jquery\"\r\n// import { Model } from \"survey-jquery\"\r\n\r\n@Component({\r\n tag: \"ai12z-knowledge-box\",\r\n styleUrls: [\"./ai12z-knowledge-box.css\", \"../../global/tailwind.min.css\", \"../../global/survey-core.min.css\"],\r\n shadow: true,\r\n assetsDirs: [\"assets\"],\r\n // scoped: true,\r\n})\r\nexport class Ai12zKnowledgeBox {\r\n @Element() private element: HTMLElement\r\n @Prop({ reflect: true }) dataKey: string = Env.DATA_KEY || \"\"\r\n @Prop({ reflect: true }) dataMode: string = Env.DATA_MODE || \"prod\" // \"local\", \"dev\", or \"prod\"\r\n @Prop({ reflect: true, mutable: true }) configId: string\r\n @Prop({ reflect: true, mutable: true }) question: string\r\n // @Prop() relavanceScore: boolean\r\n // @Prop() feedback: boolean = true\r\n @Prop({ mutable: true }) socket: any\r\n @Prop({ mutable: true }) isLoading: boolean = true\r\n\r\n @State() questionId = null\r\n @State() kbSettings\r\n @State() searchResults\r\n @State() items = []\r\n @State() error = null\r\n @State() domId: string\r\n @State() surveyDomId: string\r\n @State() buttons: Array<{ id: string; label: string }> = []\r\n\r\n @Event({\r\n eventName: \"errored\",\r\n composed: true,\r\n cancelable: true,\r\n bubbles: true,\r\n })\r\n errored: EventEmitter\r\n\r\n // private cdnPath: string = \"https://cdn.ai12z.net/assets/bot\"\r\n private surveyCDNPath: string = \"https://cdn.ai12z.net/pkg/surveyjs\"\r\n\r\n componentDidLoad() {\r\n this.loadScriptsSequentially()\r\n }\r\n\r\nprivate async loadScriptsSequentially() {\r\n try {\r\n\r\n // 2. Load Survey Core\r\n await this.loadScript(`${this.surveyCDNPath}/survey-core@2.3.4/survey.core.min.js`)\r\n\r\n // 3. Load Survey i18n\r\n await this.loadScript(`${this.surveyCDNPath}/survey-core@2.3.4/survey.i18n.min.js`)\r\n\r\n // 4. Load Survey themes\r\n await this.loadScript(`${this.surveyCDNPath}/survey-core@2.3.4/themes/index.min.js`)\r\n\r\n\r\n // 6. Load Survey UI\r\n await this.loadScript(`${this.surveyCDNPath}/survey-js-ui@2.3.4/survey-js-ui.min.js`)\r\n\r\n console.log(\"All Survey.js scripts loaded successfully\")\r\n\r\n } catch (error) {\r\n console.error(\"Failed to load Survey.js scripts:\", error)\r\n }\r\n}\r\n\r\nprivate loadScript(src: string): Promise<void> {\r\n return new Promise((resolve, reject) => {\r\n if (document.querySelector(`script[src=\"${src}\"]`)) {\r\n resolve()\r\n return\r\n }\r\n\r\n const script = document.createElement(\"script\")\r\n script.src = src\r\n script.async = false\r\n script.onload = () => resolve()\r\n script.onerror = () => reject(new Error(`Failed to load script: ${src}`))\r\n\r\n // Load in document head for global access\r\n // document.head.appendChild(script)\r\n this.element.shadowRoot.appendChild(script)\r\n })\r\n}\r\n\r\n getConfig() {\r\n const payload = {\r\n apiKey: this.dataKey,\r\n configId: this.configId,\r\n configType: \"kb\",\r\n }\r\n getConfig(payload, this.dataMode)\r\n .then(data => {\r\n console.log(\"Config fetched successfully:\", data)\r\n if (data) {\r\n this.kbSettings = data\r\n switch (this.kbSettings?.questionType) {\r\n case \"static\":\r\n this.question = this.kbSettings?.question\r\n break\r\n case \"query\":\r\n const urlParams = new URLSearchParams(window.location.search)\r\n\r\n // Extract individual query parameters\r\n this.question = urlParams.get(\"q\")\r\n console.log(\"Query string question:\", this.question)\r\n break\r\n }\r\n if (this.kbSettings.customCSS) {\r\n this.insertStyles(this.kbSettings.customCSS)\r\n }\r\n if (this.kbSettings.customJS) {\r\n const scriptEl = document.createElement(\"script\")\r\n scriptEl.setAttribute(\"type\", \"text/javascript\")\r\n scriptEl.setAttribute(\"src\", this.kbSettings.customJS)\r\n this.element.shadowRoot?.appendChild(scriptEl)\r\n }\r\n }\r\n })\r\n .catch(error => {\r\n console.error(\"Error fetching config:\", error)\r\n this.error = error\r\n this.errored.emit(error)\r\n })\r\n }\r\n\r\n insertStyles(linkURL: string) {\r\n const linkEl = document.createElement(\"link\")\r\n linkEl.setAttribute(\"rel\", \"stylesheet\")\r\n linkEl.setAttribute(\"href\", linkURL)\r\n\r\n const shadowRoot = this.element.shadowRoot\r\n if (shadowRoot) {\r\n shadowRoot.appendChild(linkEl)\r\n }\r\n }\r\n\r\n getResults(type) {\r\n try {\r\n if (this.question) {\r\n this.searchResults = null\r\n this.error = null\r\n const newTodo = {\r\n id: \"aimessageId-\" + generateUUID(),\r\n answer: \" \",\r\n title: \"\",\r\n relavanceScore: \"\",\r\n isRelavance: this.kbSettings.relavanceScore,\r\n insightId: \"\",\r\n thumbsUpDown: this.kbSettings.feedback ?? null,\r\n }\r\n if (type === \"add\" || (this.items && this.items.length === 0)) {\r\n this.items = [newTodo]\r\n } else {\r\n this.socket.off(\"response\")\r\n const updatedId = this.items[0].id\r\n this.items = [...this.items, newTodo]\r\n this.items = this.items.filter(item => item.id !== updatedId)\r\n if (this.element.shadowRoot?.querySelector(`#${updatedId}`)) {\r\n this.element.shadowRoot.querySelector(`#${updatedId}`).innerHTML = \"\"\r\n this.element.shadowRoot.querySelector(`#${updatedId}`).setAttribute(\"data-bubbleText\", \"\")\r\n }\r\n }\r\n this.domId = this.items && this.items.length > 0 ? this.items[0].id : null\r\n }\r\n } catch (error) {\r\n console.error(error)\r\n this.error = error\r\n this.errored.emit(error)\r\n }\r\n }\r\n\r\n @Watch(\"question\")\r\n watchPropHandler(_newValue: boolean, _oldValue: boolean) {\r\n this.isLoading = true\r\n this.getResults(\"update\")\r\n }\r\n\r\n @Watch(\"domId\")\r\n watchStateHandler(_newValue: boolean, _oldValue: boolean) {\r\n this.invokeSocket()\r\n this.socket.on(\"response\", event => {\r\n this.isLoading = false\r\n this.handleMessage(event.data, `${this.domId}`) // Use the unique ID to handle messages\r\n })\r\n this.socket.on(\"end_response\", data => {\r\n const converter = new showdown.Converter()\r\n let finalHtml = converter.makeHtml(data.answer)\r\n // document.getElementById(\"messageId\").innerHTML = finalHtml;\r\n finalHtml = updateButtonEvents(finalHtml).body\r\n this.buttons = updateButtonEvents(finalHtml).buttons\r\n this.isLoading = false\r\n\r\n this.searchResults = data\r\n this.error = null\r\n if (data.controlType === \"form\") {\r\n this.surveyDomId = \"surveyElement-\" + generateUUID()\r\n finalHtml = `<div id=${this.surveyDomId}></div>`\r\n // finalHtml = finalHtml.replace(RegExp(/\\[[^>]*]/gm), `<div id=${this.surveyDomId}></div>`)\r\n }\r\n this.element.shadowRoot.querySelector(`#${this.domId}`).innerHTML = finalHtml\r\n const newTodo = {\r\n id: this.domId,\r\n answer: finalHtml,\r\n title: this.searchResults[\"title\"] ?? this.question,\r\n relavanceScore: this.searchResults[\"relevance_score\"],\r\n isRelavance: this.kbSettings.relavanceScore,\r\n insightId: this.searchResults[\"insight_id\"],\r\n thumbsUpDown: this.kbSettings.feedback,\r\n }\r\n this.addEventListeners(`#${this.domId}`)\r\n this.items = this.items.map(item => (item.id === this.domId ? newTodo : item))\r\n })\r\n }\r\n\r\n @Watch(\"surveyDomId\")\r\n watchSurveyDomIdHandler(_newValue: boolean, _oldValue: boolean) {\r\n setTimeout(() => {\r\n this.invokeSurvey(this.searchResults)\r\n }, 1000)\r\n }\r\n\r\n alertResults = sender => {\r\n const results = JSON.stringify(sender.data)\r\n const query = \"Here is the data you requested:\" + results\r\n // sender.implementor.renderedElement.innerHTML = `<p><b>Thank you</b></p>`\r\n this.element.shadowRoot.querySelector(`#${this.surveyDomId}`).innerHTML = `<p><b>Thank you</b></p>`\r\n this.question = query\r\n }\r\n\r\n invokeSurvey = chat => {\r\n const formModel = chat.controlData.data.source\r\n const survey = new window[\"Survey\"].Model(JSON.parse(formModel))\r\n const domELe = this.element.shadowRoot.querySelector(`#${this.surveyDomId}`)\r\n if (domELe) {\r\n survey.render(domELe)\r\n // window[\"jQuery\"](domELe).Survey({ model: survey })\r\n } else {\r\n console.error(\"Survey Element not found\")\r\n }\r\n\r\n survey.showCompletedPage = false\r\n survey.onComplete.add(this.alertResults)\r\n }\r\n\r\n addEventListeners(msgId) {\r\n const container = this.element.shadowRoot.querySelector(msgId)\r\n if (container) {\r\n this.buttons.forEach(button => {\r\n const buttonElement = container.querySelector(`#${button.id}`)\r\n if (buttonElement) {\r\n buttonElement.addEventListener(\"click\", this.handleButtonClick(button.label))\r\n }\r\n })\r\n }\r\n }\r\n\r\n handleButtonClick = (label: string) => (_event: Event) => {\r\n // console.log(`${label} clicked! ${event}`)\r\n this.question = label\r\n }\r\n\r\n componentWillLoad() {\r\n this.socketConnection()\r\n this.getConfig()\r\n setTimeout(() => {\r\n this.getResults(\"add\")\r\n }, 1000)\r\n }\r\n\r\n disconnectedCallback() {\r\n if (this.socket) {\r\n this.socket.disconnect()\r\n this.socket.off(\"response\")\r\n }\r\n }\r\n\r\n async socketConnection() {\r\n let a12z_EndPoint = getEndpoint(this.dataMode)\r\n this.socket = io(a12z_EndPoint, { transports: [\"websocket\"] })\r\n\r\n await new Promise<void>(resolve => {\r\n this.socket.on(\"connect\", () => {\r\n // console.log(\"Connected to Socket.IO server\")\r\n resolve()\r\n })\r\n })\r\n\r\n this.socket.on(\"disconnect\", () => {\r\n console.log(\"Disconnected from Socket.IO server\")\r\n // Handle disconnection if needed\r\n })\r\n }\r\n\r\n invokeSocket() {\r\n const data = {\r\n apiKey: this.dataKey,\r\n query: this.question,\r\n conversationId: this.questionId ?? \"\",\r\n event: \"evaluate_query\",\r\n }\r\n\r\n this.socket.emit(\"evaluate_query\", data)\r\n }\r\n\r\n handleMessage = (data, aiMessageId) => {\r\n const converter = new showdown.Converter()\r\n // const aiMessageBubble = document.getElementById(aiMessageId);\r\n\r\n const aiMessageBubble = this.element.shadowRoot?.querySelector(`#${aiMessageId}`)\r\n // const aiMessageBubble = this.element.querySelector('.ai12z-suggest-answer')\r\n\r\n if (!aiMessageBubble) {\r\n console.error(`Message bubble with ID ${aiMessageId} not found.`)\r\n return\r\n }\r\n var bubbleText = aiMessageBubble.getAttribute(\"data-bubbleText\") || \"\"\r\n bubbleText = bubbleText + data\r\n aiMessageBubble.setAttribute(\"data-bubbleText\", bubbleText)\r\n\r\n // Assuming data is a string containing the message content\r\n let html = converter.makeHtml(bubbleText)\r\n // Append new content to the existing chat bubble\r\n aiMessageBubble.innerHTML = html\r\n }\r\n\r\n componentDidUpdate() {\r\n this.clearThumbsHistory()\r\n }\r\n\r\n removeClass = (className, elem, type) => {\r\n elem.classList.remove(className)\r\n if (type === \"thumbs_up\") {\r\n elem.innerHTML = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-6 h-6\">\r\n <path\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M6.633 10.25c.806 0 1.533-.446 2.031-1.08a9.041 9.041 0 0 1 2.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 0 0 .322-1.672V2.75a.75.75 0 0 1 .75-.75 2.25 2.25 0 0 1 2.25 2.25c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282m0 0h3.126c1.026 0 1.945.694 2.054 1.715.045.422.068.85.068 1.285a11.95 11.95 0 0 1-2.649 7.521c-.388.482-.987.729-1.605.729H13.48c-.483 0-.964-.078-1.423-.23l-3.114-1.04a4.501 4.501 0 0 0-1.423-.23H5.904m10.598-9.75H14.25M5.904 18.5c.083.205.173.405.27.602.197.4-.078.898-.523.898h-.908c-.889 0-1.713-.518-1.972-1.368a12 12 0 0 1-.521-3.507c0-1.553.295-3.036.831-4.398C3.387 9.953 4.167 9.5 5 9.5h1.053c.472 0 .745.556.5.96a8.958 8.958 0 0 0-1.302 4.665c0 1.194.232 2.333.654 3.375Z\"\r\n />\r\n </svg>`\r\n } else {\r\n elem.innerHTML = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-6 h-6\">\r\n <path\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M7.498 15.25H4.372c-1.026 0-1.945-.694-2.054-1.715a12.137 12.137 0 0 1-.068-1.285c0-2.848.992-5.464 2.649-7.521C5.287 4.247 5.886 4 6.504 4h4.016a4.5 4.5 0 0 1 1.423.23l3.114 1.04a4.5 4.5 0 0 0 1.423.23h1.294M7.498 15.25c.618 0 .991.724.725 1.282A7.471 7.471 0 0 0 7.5 19.75 2.25 2.25 0 0 0 9.75 22a.75.75 0 0 0 .75-.75v-.633c0-.573.11-1.14.322-1.672.304-.76.93-1.33 1.653-1.715a9.04 9.04 0 0 0 2.86-2.4c.498-.634 1.226-1.08 2.032-1.08h.384m-10.253 1.5H9.7m8.075-9.75c.01.05.027.1.05.148.593 1.2.925 2.55.925 3.977 0 1.487-.36 2.89-.999 4.125m.023-8.25c-.076-.365.183-.75.575-.75h.908c.889 0 1.713.518 1.972 1.368.339 1.11.521 2.287.521 3.507 0 1.553-.295 3.036-.831 4.398-.306.774-1.086 1.227-1.918 1.227h-1.053c-.472 0-.745-.556-.5-.96a8.95 8.95 0 0 0 .303-.54\"\r\n />\r\n </svg>`\r\n }\r\n }\r\n\r\n clearThumbsHistory = () => {\r\n const elemup = this.element.shadowRoot.querySelector(\".chat-thumbs-up\")\r\n const elemdown = this.element.shadowRoot.querySelector(\".chat-thumbs-down\")\r\n if (elemup) {\r\n elemup.classList.remove(\"not-allowed\")\r\n elemup.removeAttribute(\"disabled\")\r\n }\r\n if (elemdown) {\r\n elemdown.classList.remove(\"not-allowed\")\r\n elemdown.removeAttribute(\"disabled\")\r\n }\r\n if (elemup && elemup.classList.contains(\"ai12z-suggest-thumbs-up\")) {\r\n this.removeClass(\"ai12z-suggest-thumbs-up\", elemup, \"thumbs_up\")\r\n }\r\n if (elemdown && elemdown.classList.contains(\"ai12z-suggest-thumbs-down\")) {\r\n this.removeClass(\"ai12z-suggest-thumbs-down\", elemdown, \"thumbs_down\")\r\n }\r\n }\r\n thumbsUp = (id: string): void => {\r\n const thumbsUp = this.element.shadowRoot.querySelector(`#thumbsUp_${id}`)\r\n thumbsUp.classList.add(\"ai12z-suggest-thumbs-up\")\r\n thumbsUp.innerHTML = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"w-6 h-6\">\r\n <path d=\"M7.493 18.5c-.425 0-.82-.236-.975-.632A7.48 7.48 0 0 1 6 15.125c0-1.75.599-3.358 1.602-4.634.151-.192.373-.309.6-.397.473-.183.89-.514 1.212-.924a9.042 9.042 0 0 1 2.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 0 0 .322-1.672V2.75A.75.75 0 0 1 15 2a2.25 2.25 0 0 1 2.25 2.25c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282h3.126c1.026 0 1.945.694 2.054 1.715.045.422.068.85.068 1.285a11.95 11.95 0 0 1-2.649 7.521c-.388.482-.987.729-1.605.729H14.23c-.483 0-.964-.078-1.423-.23l-3.114-1.04a4.501 4.501 0 0 0-1.423-.23h-.777ZM2.331 10.727a11.969 11.969 0 0 0-.831 4.398 12 12 0 0 0 .52 3.507C2.28 19.482 3.105 20 3.994 20H4.9c.445 0 .72-.498.523-.898a8.963 8.963 0 0 1-.924-3.977c0-1.708.476-3.305 1.302-4.666.245-.403-.028-.959-.5-.959H4.25c-.832 0-1.612.453-1.918 1.227Z\" />\r\n </svg>\r\n `\r\n this.disableFeedback(id)\r\n sendFeedback(this.dataKey, this.dataMode, id, {value: 1})\r\n }\r\n\r\n thumbsDown = (id: string): void => {\r\n const thumbsDown = this.element.shadowRoot.querySelector(`#thumbsDown_${id}`)\r\n thumbsDown.classList.add(\"ai12z-suggest-thumbs-down\")\r\n thumbsDown.innerHTML = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"w-6 h-6\">\r\n <path d=\"M15.73 5.5h1.035A7.465 7.465 0 0 1 18 9.625a7.465 7.465 0 0 1-1.235 4.125h-.148c-.806 0-1.534.446-2.031 1.08a9.04 9.04 0 0 1-2.861 2.4c-.723.384-1.35.956-1.653 1.715a4.499 4.499 0 0 0-.322 1.672v.633A.75.75 0 0 1 9 22a2.25 2.25 0 0 1-2.25-2.25c0-1.152.26-2.243.723-3.218.266-.558-.107-1.282-.725-1.282H3.622c-1.026 0-1.945-.694-2.054-1.715A12.137 12.137 0 0 1 1.5 12.25c0-2.848.992-5.464 2.649-7.521C4.537 4.247 5.136 4 5.754 4H9.77a4.5 4.5 0 0 1 1.423.23l3.114 1.04a4.5 4.5 0 0 0 1.423.23ZM21.669 14.023c.536-1.362.831-2.845.831-4.398 0-1.22-.182-2.398-.52-3.507-.26-.85-1.084-1.368-1.973-1.368H19.1c-.445 0-.72.498-.523.898.591 1.2.924 2.55.924 3.977a8.958 8.958 0 0 1-1.302 4.666c-.245.403.028.959.5.959h1.053c.832 0 1.612-.453 1.918-1.227Z\" />\r\n </svg>\r\n `\r\n this.disableFeedback(id)\r\n sendFeedback(this.dataKey, this.dataMode, id, {value:-1})\r\n }\r\n\r\n disableFeedback = (id: string): void => {\r\n const thumbsUp = this.element.shadowRoot.querySelector(`#thumbsUp_${id}`)\r\n const thumbsDown = this.element.shadowRoot.querySelector(`#thumbsDown_${id}`)\r\n thumbsUp.classList.add(\"not-allowed\")\r\n thumbsUp.setAttribute(\"disabled\", \"true\")\r\n thumbsDown.classList.add(\"not-allowed\")\r\n thumbsDown.setAttribute(\"disabled\", \"true\")\r\n }\r\n\r\n render() {\r\n return (\r\n <div>\r\n {this.error ? <p class=\"ai12z-suggest-error-msg\">Error please try again!</p> : null}\r\n {this.items.map(item => {\r\n return (\r\n <div class=\"prose ai12z-suggest-container\">\r\n {this.isLoading && (\r\n <svg class=\"animate-spin h-5 w-5 text-gray-400\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" id=\"spinner\">\r\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle>\r\n <path\r\n class=\"opacity-75\"\r\n fill=\"currentColor\"\r\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 0 1 4 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\r\n ></path>\r\n </svg>\r\n )}\r\n <div>\r\n <div class={{ \"ai12z-suggest-title\": true, \"ai12z-suggest-align\": item[\"thumbsUpDown\"] }}>\r\n <a href={item[\"title\"]} target=\"_blank\">\r\n {item[\"title\"]}\r\n </a>\r\n </div>\r\n {item.thumbsUpDown && !this.isLoading && (\r\n <div class=\"ai12z-suggest-thumbs\" id=\"thumbsupdown\">\r\n <button id={`thumbsUp_${item.insightId}`} onClick={() => this.thumbsUp(item.insightId)} class={\"chat-thumbs-up\"}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-6 h-6\">\r\n <path\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M6.633 10.25c.806 0 1.533-.446 2.031-1.08a9.041 9.041 0 0 1 2.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 0 0 .322-1.672V2.75a.75.75 0 0 1 .75-.75 2.25 2.25 0 0 1 2.25 2.25c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282m0 0h3.126c1.026 0 1.945.694 2.054 1.715.045.422.068.85.068 1.285a11.95 11.95 0 0 1-2.649 7.521c-.388.482-.987.729-1.605.729H13.48c-.483 0-.964-.078-1.423-.23l-3.114-1.04a4.501 4.501 0 0 0-1.423-.23H5.904m10.598-9.75H14.25M5.904 18.5c.083.205.173.405.27.602.197.4-.078.898-.523.898h-.908c-.889 0-1.713-.518-1.972-1.368a12 12 0 0 1-.521-3.507c0-1.553.295-3.036.831-4.398C3.387 9.953 4.167 9.5 5 9.5h1.053c.472 0 .745.556.5.96a8.958 8.958 0 0 0-1.302 4.665c0 1.194.232 2.333.654 3.375Z\"\r\n />\r\n </svg>\r\n </button>\r\n\r\n <button id={`thumbsDown_${item.insightId}`} onClick={() => this.thumbsDown(item.insightId)} class={\"chat-thumbs-down\"}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-6 h-6\">\r\n <path\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M7.498 15.25H4.372c-1.026 0-1.945-.694-2.054-1.715a12.137 12.137 0 0 1-.068-1.285c0-2.848.992-5.464 2.649-7.521C5.287 4.247 5.886 4 6.504 4h4.016a4.5 4.5 0 0 1 1.423.23l3.114 1.04a4.5 4.5 0 0 0 1.423.23h1.294M7.498 15.25c.618 0 .991.724.725 1.282A7.471 7.471 0 0 0 7.5 19.75 2.25 2.25 0 0 0 9.75 22a.75.75 0 0 0 .75-.75v-.633c0-.573.11-1.14.322-1.672.304-.76.93-1.33 1.653-1.715a9.04 9.04 0 0 0 2.86-2.4c.498-.634 1.226-1.08 2.032-1.08h.384m-10.253 1.5H9.7m8.075-9.75c.01.05.027.1.05.148.593 1.2.925 2.55.925 3.977 0 1.487-.36 2.89-.999 4.125m.023-8.25c-.076-.365.183-.75.575-.75h.908c.889 0 1.713.518 1.972 1.368.339 1.11.521 2.287.521 3.507 0 1.553-.295 3.036-.831 4.398-.306.774-1.086 1.227-1.918 1.227h-1.053c-.472 0-.745-.556-.5-.96a8.95 8.95 0 0 0 .303-.54\"\r\n />\r\n </svg>\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n <div class=\"ai12z-suggest-answer\" id={item[\"id\"]} innerHTML={item[\"answer\"]}></div>\r\n <div class={{ \"ai12z-suggest-relevance\": true, \"ai12z-suggest-hide\": !item[\"isRelavance\"] }}>\r\n <a href=\"\">{item[\"relavanceScore\"]}</a>\r\n </div>\r\n <div class=\"custom-privacy\">\r\n <slot name=\"custom-privacy\" />\r\n </div>\r\n </div>\r\n )\r\n })}\r\n </div>\r\n )\r\n }\r\n}\r\n"]}