@liip/liipgpt 3.3.1 → 3.3.2

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 (29) hide show
  1. package/button/liipgpt-button.iife.js +16 -16
  2. package/chat/liipgpt-chat.iife.js +19 -19
  3. package/config/index.cjs +1 -0
  4. package/config/index.d.ts +8 -0
  5. package/config/index.js +1 -0
  6. package/configurator/_app/env.js +1 -1
  7. package/configurator/_app/immutable/chunks/{BmNVqpyR.js → BHyoBcMB.js} +1 -1
  8. package/configurator/_app/immutable/chunks/{BGT7v_PO.js → Bwlnp1Fv.js} +2 -2
  9. package/configurator/_app/immutable/chunks/{CNi2SaPI.js → C8ORMuNm.js} +1 -1
  10. package/configurator/_app/immutable/chunks/{CHHZrRW9.js → DEfNJr1d.js} +1 -1
  11. package/configurator/_app/immutable/chunks/{jGV_UJJM.js → DShclvIF.js} +21 -21
  12. package/configurator/_app/immutable/chunks/{czwAZopm.js → Dzs3iOAP.js} +1 -1
  13. package/configurator/_app/immutable/chunks/{CQLbX6SP.js → KwlzJn94.js} +1 -1
  14. package/configurator/_app/immutable/chunks/{fmyr5tfx.js → bzMFxNOM.js} +1 -1
  15. package/configurator/_app/immutable/chunks/{Dqt5NNAB.js → tg4KZpKp.js} +1 -1
  16. package/configurator/_app/immutable/entry/{app.DCW8hLCH.js → app.wS03Lw9v.js} +2 -2
  17. package/configurator/_app/immutable/entry/start.DC6usZVj.js +1 -0
  18. package/configurator/_app/immutable/nodes/{0.BlJDDfTA.js → 0.B1_BHoHM.js} +1 -1
  19. package/configurator/_app/immutable/nodes/{1.B9nip427.js → 1.Qf-3txMY.js} +1 -1
  20. package/configurator/_app/immutable/nodes/{2.BzN7n4XH.js → 2.QF2vvVAB.js} +3 -3
  21. package/configurator/_app/immutable/nodes/{3.NW61fGoD.js → 3.y9o-F-NC.js} +1 -1
  22. package/configurator/_app/version.json +1 -1
  23. package/configurator/index.html +6 -6
  24. package/configurator/sidebar.html +6 -6
  25. package/index.cjs +23 -5
  26. package/index.d.ts +2395 -2371
  27. package/index.js +23 -5
  28. package/package.json +1 -1
  29. package/configurator/_app/immutable/entry/start.WJWOQTjS.js +0 -1
package/index.js CHANGED
@@ -3111,7 +3111,7 @@ var emptyChatReferences = deepFreeze({
3111
3111
  used: [],
3112
3112
  unused: []
3113
3113
  });
3114
- var getDomPurify = (window2) => {
3114
+ var getDomPurify = (window2, newTabSrText) => {
3115
3115
  const DOMPurify = purify(window2);
3116
3116
  DOMPurify.addHook("uponSanitizeElement", function(node, data) {
3117
3117
  const tagName = data.tagName || node.nodeName.toLowerCase();
@@ -3119,6 +3119,18 @@ var getDomPurify = (window2) => {
3119
3119
  data.allowedTags[tagName] = true;
3120
3120
  }
3121
3121
  });
3122
+ DOMPurify.addHook("afterSanitizeAttributes", function(node) {
3123
+ if (node.tagName !== "A" || !node.getAttribute("href")?.startsWith("http"))
3124
+ return;
3125
+ node.setAttribute("target", "_blank");
3126
+ node.setAttribute("rel", "noopener noreferrer");
3127
+ if (!newTabSrText || node.querySelector(".sr-only"))
3128
+ return;
3129
+ const srSpan = node.ownerDocument.createElement("span");
3130
+ srSpan.className = "sr-only";
3131
+ srSpan.textContent = ` ${newTabSrText}`;
3132
+ node.appendChild(srSpan);
3133
+ });
3122
3134
  return DOMPurify;
3123
3135
  };
3124
3136
 
@@ -3129,7 +3141,7 @@ class MarkdownRenderer {
3129
3141
  DomPurity;
3130
3142
  constructor(options2 = {}) {
3131
3143
  this.marked = new Marked({ async: false, breaks: true }).use(this.createFootnoteExtension(), ...options2.extensions ?? []);
3132
- this.DomPurity = getDomPurify(options2.window);
3144
+ this.DomPurity = getDomPurify(options2.window, options2.newTabSrText);
3133
3145
  }
3134
3146
  createFootnoteExtension = () => {
3135
3147
  const self = this;
@@ -3180,7 +3192,8 @@ class MarkdownRenderer {
3180
3192
  parse(markdown) {
3181
3193
  return this.DomPurity.sanitize(this.marked.parse(markdown), {
3182
3194
  USE_PROFILES: { html: true, svg: true, svgFilters: true, mathMl: true },
3183
- FORBID_TAGS: ["hr"]
3195
+ FORBID_TAGS: ["hr"],
3196
+ ADD_ATTR: ["target"]
3184
3197
  });
3185
3198
  }
3186
3199
  toHTML(markdown, references) {
@@ -10798,6 +10811,7 @@ var translationSchema = exports_external.object({
10798
10811
  ariaSettings: exports_external.string(),
10799
10812
  ariaSettingsRegion: exports_external.string(),
10800
10813
  ariaReferencesRegion: exports_external.string(),
10814
+ ariaOpensInNewTab: exports_external.string(),
10801
10815
  ariaFlyoutRegion: exports_external.string(),
10802
10816
  ariaSelected: exports_external.string(),
10803
10817
  ariaUnselected: exports_external.string(),
@@ -11510,6 +11524,7 @@ class LiipGPTClientPrimitive {
11510
11524
  internalData;
11511
11525
  renderers = new Map;
11512
11526
  markedExtensions = [];
11527
+ _newTabSrText;
11513
11528
  constructor(options2) {
11514
11529
  const restOptions = {
11515
11530
  apiUrl: options2.apiUrl,
@@ -11530,19 +11545,22 @@ class LiipGPTClientPrimitive {
11530
11545
  setMarkedExtensions(...extensions) {
11531
11546
  this.markedExtensions = extensions;
11532
11547
  }
11548
+ setNewTabSrText(text3) {
11549
+ this._newTabSrText = text3;
11550
+ }
11533
11551
  getMetadata() {
11534
11552
  return this.internalData.metadata;
11535
11553
  }
11536
11554
  createConversationId() {
11537
11555
  const conversationId = v4_default();
11538
- this.renderers.set(conversationId, new MarkdownRenderer({ extensions: this.markedExtensions }));
11556
+ this.renderers.set(conversationId, new MarkdownRenderer({ extensions: this.markedExtensions, newTabSrText: this._newTabSrText }));
11539
11557
  return conversationId;
11540
11558
  }
11541
11559
  chat(conversationId, question, options2 = {}) {
11542
11560
  const content = new FutureValue;
11543
11561
  const requestId = v4_default();
11544
11562
  const readyForFeedback = new Flag;
11545
- const markdownRenderer = this.renderers.get(conversationId) ?? new MarkdownRenderer({ extensions: this.markedExtensions });
11563
+ const markdownRenderer = this.renderers.get(conversationId) ?? new MarkdownRenderer({ extensions: this.markedExtensions, newTabSrText: this._newTabSrText });
11546
11564
  const chatResultBuilder = new ChatResultBuilder({
11547
11565
  id: requestId,
11548
11566
  onError: (error) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liip/liipgpt",
3
- "version": "3.3.1",
3
+ "version": "3.3.2",
4
4
  "description": "LiipGPT Chat and Library",
5
5
  "type": "module",
6
6
  "exports": {
@@ -1 +0,0 @@
1
- import{l as o,a as r}from"../chunks/BGT7v_PO.js";export{o as load_css,r as start};