@shane_donnelly/dsi-internal-react-utils 1.3.0 → 1.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.
@@ -0,0 +1,48 @@
1
+ import { useTheme as e } from "./chatbot/theme/useTheme.js";
2
+ import { t } from "./SessionHistory-uFMdR01J.js";
3
+ import { t as n } from "./InputBar-DOkn2T-l.js";
4
+ import { useMemo as r } from "react";
5
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
+ //#region lib/chatbot/SessionContainer/styles.module.css
7
+ var o = {
8
+ "dsi-session-container": "_dsi-session-container_1iida_1",
9
+ "dsi-session-container-history": "_dsi-session-container-history_1iida_11",
10
+ "dsi-session-container-inputbar": "_dsi-session-container-inputbar_1iida_18"
11
+ };
12
+ //#endregion
13
+ //#region lib/chatbot/SessionContainer/index.tsx
14
+ function s({ userMessages: s, botMessages: c, orderedIds: l, botMessageRegistry: u, userMessageSlots: d, alternativeScreenComponent: f, isAlternativeScreenActive: p = !1, value: m, onChange: h, placeholder: g, actionButtonType: _, actionButtonEnabled: v, onActionButtonClick: y, plusSlot: b, upperSlot: x }) {
15
+ let S = e(), C = r(() => {
16
+ let e = new Map(s.map((e) => [e.id, e]));
17
+ return l.filter((t) => e.has(t)).map((t) => e.get(t).text);
18
+ }, [s, l]);
19
+ return /* @__PURE__ */ a("div", {
20
+ className: o["dsi-session-container"],
21
+ style: { "--dsi-bg": S.background },
22
+ children: [/* @__PURE__ */ i("div", {
23
+ className: o["dsi-session-container-history"],
24
+ children: p ? f ?? null : /* @__PURE__ */ i(t, {
25
+ userMessages: s,
26
+ botMessages: c,
27
+ orderedIds: l,
28
+ botMessageRegistry: u,
29
+ userMessageSlots: d
30
+ })
31
+ }), /* @__PURE__ */ i("div", {
32
+ className: o["dsi-session-container-inputbar"],
33
+ children: /* @__PURE__ */ i(n, {
34
+ value: m,
35
+ onChange: h,
36
+ placeholder: g,
37
+ actionButtonType: _,
38
+ actionButtonEnabled: v,
39
+ onActionButtonClick: y,
40
+ plusSlot: b,
41
+ upperSlot: x,
42
+ messageHistory: C
43
+ })
44
+ })]
45
+ });
46
+ }
47
+ //#endregion
48
+ export { s as t };
@@ -3,35 +3,23 @@ import { n as t, t as n } from "./BotMessage-9XyyKf52.js";
3
3
  import { useEffect as r, useRef as i } from "react";
4
4
  import { jsx as a } from "react/jsx-runtime";
5
5
  //#region lib/chatbot/SessionHistory/styles.module.css
6
- var o = { "dsi-session-history": "_dsi-session-history_ju41j_1" };
6
+ var o = { "dsi-session-history": "_dsi-session-history_13fgm_1" };
7
7
  //#endregion
8
8
  //#region lib/chatbot/SessionHistory/index.tsx
9
9
  function s({ userMessages: s, botMessages: c, orderedIds: l, botMessageRegistry: u = t, userMessageSlots: d }) {
10
- let f = new Map(s.map((e) => [e.id, e])), p = new Map(c.map((e) => [e.id, e])), m = i(null), h = i(null), g = i(!0);
11
- r(() => {
12
- let e = m.current;
13
- if (!e) return;
14
- let t = e.parentElement;
15
- for (; t;) {
16
- let { overflowY: e } = window.getComputedStyle(t);
17
- if (e === "auto" || e === "scroll") break;
18
- t = t.parentElement;
19
- }
20
- h.current = t ?? document.documentElement;
21
- }, []);
22
- let _ = c.some((e) => e.isLoading);
10
+ let f = new Map(s.map((e) => [e.id, e])), p = new Map(c.map((e) => [e.id, e])), m = i(null), h = i(!0);
23
11
  return r(() => {
24
- let e = h.current;
12
+ let e = m.current;
25
13
  if (!e) return;
26
14
  let t = (e) => {
27
- e.deltaY < 0 && _ && (g.current = !1);
15
+ e.deltaY < 0 && (h.current = !1);
28
16
  };
29
17
  return e.addEventListener("wheel", t, { passive: !0 }), () => e.removeEventListener("wheel", t);
30
- }, [_]), r(() => {
31
- _ && (g.current = !0);
32
- }, [_]), r(() => {
33
- if (!g.current) return;
34
- let e = h.current;
18
+ }, []), r(() => {
19
+ h.current = !0;
20
+ }, [l.length]), r(() => {
21
+ if (!h.current) return;
22
+ let e = m.current;
35
23
  e && (e.scrollTop = e.scrollHeight);
36
24
  }, [l.length * 1e5 + c.reduce((e, t) => e + t.elements.reduce((e, t) => {
37
25
  let n = t;
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../SessionContainer-k652tx2b.js";
1
+ import { t as e } from "../../SessionContainer-C4YWEApz.js";
2
2
  export { e as SessionContainer };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../SessionHistory-Ix5_68Dt.js";
1
+ import { t as e } from "../../SessionHistory-uFMdR01J.js";
2
2
  export { e as SessionHistory };
@@ -4,8 +4,8 @@ import { useTheme as i } from "./theme/useTheme.js";
4
4
  import "./theme/index.js";
5
5
  import { t as a } from "../UserMessage-iwSKfrPo.js";
6
6
  import { n as o, t as s } from "../BotMessage-9XyyKf52.js";
7
- import { t as c } from "../SessionHistory-Ix5_68Dt.js";
7
+ import { t as c } from "../SessionHistory-uFMdR01J.js";
8
8
  import { t as l } from "../InputBar-DOkn2T-l.js";
9
9
  import { usePlusSlot as u } from "./InputBar/usePlusSlot.js";
10
- import { t as d } from "../SessionContainer-k652tx2b.js";
10
+ import { t as d } from "../SessionContainer-C4YWEApz.js";
11
11
  export { s as BotMessage, l as InputBar, e as MarkdownRenderer, d as SessionContainer, c as SessionHistory, a as UserMessage, o as defaultBotMessageRegistry, t as getCurrentTheme, n as getTheme, r as setTheme, u as usePlusSlot, i as useTheme };
package/dist/main.js CHANGED
@@ -7,9 +7,9 @@ import { getCurrentTheme as a, getTheme as o, setTheme as s } from "./chatbot/th
7
7
  import { useTheme as c } from "./chatbot/theme/useTheme.js";
8
8
  import { t as l } from "./UserMessage-iwSKfrPo.js";
9
9
  import { n as u, t as d } from "./BotMessage-9XyyKf52.js";
10
- import { t as f } from "./SessionHistory-Ix5_68Dt.js";
10
+ import { t as f } from "./SessionHistory-uFMdR01J.js";
11
11
  import { t as p } from "./InputBar-DOkn2T-l.js";
12
12
  import { usePlusSlot as m } from "./chatbot/InputBar/usePlusSlot.js";
13
- import { t as h } from "./SessionContainer-k652tx2b.js";
13
+ import { t as h } from "./SessionContainer-C4YWEApz.js";
14
14
  import "./chatbot/index.js";
15
15
  export { d as BotMessage, p as InputBar, r as KeycloakProvider, e as MarkdownRenderer, h as SessionContainer, f as SessionHistory, l as UserMessage, u as defaultBotMessageRegistry, a as getCurrentTheme, o as getTheme, t as logoutKeycloak, n as refreshTokenKeycloak, s as setTheme, i as useKeycloakAuth, m as usePlusSlot, c as useTheme };
package/dist/style.css CHANGED
@@ -1,2 +1,2 @@
1
- ._dsi-bot-msg_16idu_2{width:100%;color:var(--dsi-text-primary,#111);flex-direction:column;gap:.5em;padding-bottom:1.4em;font-size:.95rem;display:flex;position:relative}._dsi-bot-loading-dot_16idu_15{color:var(--dsi-text-primary,#111);margin-bottom:.1em;animation:1.4s ease-in-out infinite _dsi-bot-pulse_16idu_1;display:block}@keyframes _dsi-bot-pulse_16idu_1{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.6)}}._dsi-bot-msg-footer_16idu_28{align-items:center;gap:.4em;height:1.2em;display:flex;position:absolute;bottom:0;left:0}._dsi-bot-copy-btn_16idu_39{cursor:pointer;color:var(--dsi-text-secondary,#888);background:0 0;border:none;border-radius:3px;align-items:center;gap:3px;padding:0;font-family:inherit;font-size:.85rem;line-height:1;transition:color .15s;display:flex}._dsi-bot-copy-btn_16idu_39:hover{color:var(--dsi-text-primary,#111)}._dsi-bot-copy-btn_16idu_39 svg{font-size:1em}._dsi-bot-msg-time_16idu_62{color:var(--dsi-text-secondary,#888);opacity:0;white-space:nowrap;font-size:.68rem;line-height:1;transition:opacity .15s}._dsi-bot-msg_16idu_2:hover ._dsi-bot-msg-time_16idu_62{opacity:1}._dsi-bot-reasoning_16idu_75,._dsi-bot-tool_16idu_76,._dsi-bot-search_16idu_77{color:var(--dsi-reasoning-text,#555);font-size:1em;font-style:italic}._dsi-bot-collapsible-header_16idu_84{cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;align-items:center;gap:.4em;max-width:30%;padding:.25em 0;display:flex}._dsi-bot-collapsible-header_16idu_84:focus-visible{outline:2px solid var(--dsi-accent,#06c);border-radius:3px}._dsi-bot-collapsible-header-inner_16idu_99{flex:1;align-items:center;gap:.4em;min-width:0;display:flex;overflow:hidden}._dsi-bot-element-title_16idu_108{white-space:nowrap;text-overflow:ellipsis;font-size:.9em;overflow:hidden}._dsi-bot-collapse-chevron_16idu_115{opacity:.5;flex-shrink:0;font-size:1em;transition:opacity .15s,transform .2s}._dsi-bot-collapsible-header_16idu_84:hover ._dsi-bot-collapse-chevron_16idu_115{opacity:.8}._dsi-bot-collapsible-body_16idu_126{border-left:2px solid var(--dsi-reasoning-border,var(--dsi-tool-border,#d1d5db));max-width:90%;padding:.4em 0 .25em .75em}._dsi-bot-collapsible-content_16idu_132{white-space:pre-wrap;word-break:break-word;margin:0;font-size:.9em}._dsi-bot-search-icon_16idu_140{flex-shrink:0;font-size:1em}._dsi-bot-spinner_16idu_146{border:1.5px solid #00000026;border-top-color:var(--dsi-text-secondary,#888);border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:.7s linear infinite _dsi-spin_16idu_1;display:inline-block}@keyframes _dsi-spin_16idu_1{to{transform:rotate(360deg)}}._dsi-bot-image-wrap_16idu_162{align-self:flex-start;max-width:100%;display:inline-block;position:relative}._dsi-bot-image_16idu_162{border-radius:8px;max-width:100%;height:auto;display:block}._dsi-bot-image-placeholder_16idu_177{width:200px;height:200px;color:var(--dsi-text-secondary,#888);background:#0000000a;border:1px dashed #0000001f;border-radius:8px;justify-content:center;align-items:center;font-size:.85em;display:flex}._dsi-bot-image-spinner_16idu_190{border:2px solid #00000026;border-top-color:var(--dsi-text-secondary,#888);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite _dsi-spin_16idu_1;display:inline-block}._dsi-bot-image-error_16idu_200{text-align:center;padding:0 .5em}._dsi-bot-image-actions_16idu_206{opacity:0;pointer-events:none;gap:4px;transition:opacity .15s;display:flex;position:absolute;top:6px;right:6px}._dsi-bot-image-wrap_16idu_162:hover ._dsi-bot-image-actions_16idu_206{opacity:1;pointer-events:auto}._dsi-bot-image-btn_16idu_221{cursor:pointer;width:26px;height:26px;color:var(--dsi-text-secondary,#888);background:#ffffffd9;border:1px solid #00000014;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:.85rem;transition:color .15s,background .15s;display:flex}._dsi-bot-image-btn_16idu_221:hover{color:var(--dsi-text-primary,#111);background:#fff}._dsi-bot-image-btn_16idu_221 svg{font-size:1em}._dsi-bot-iframe-wrap_16idu_245{border:1px solid var(--dsi-border,#00000014);background:var(--dsi-background,transparent);border-radius:8px;align-self:flex-start;max-width:100%;position:relative;overflow:hidden}._dsi-bot-iframe_16idu_245{border:0;width:100%;display:block}._dsi-bot-iframe-copy_16idu_262{cursor:pointer;color:var(--dsi-text-secondary,#888);opacity:0;background:#ffffffd9;border:1px solid #00000014;border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;font-size:.85rem;transition:color .15s,background .15s;display:flex;position:absolute;top:6px;right:6px}._dsi-bot-iframe-wrap_16idu_245:hover ._dsi-bot-iframe-copy_16idu_262{opacity:1}._dsi-bot-iframe-copy_16idu_262:hover{color:var(--dsi-text-primary,#111);background:#fff}._dsi-bot-iframe-copy_16idu_262 svg{font-size:1em}._dsi-bot-chart-wrap_16idu_292{align-self:flex-start;max-width:100%}._dsi-markdown_23cwi_1{color:inherit;word-break:break-word;font-family:inherit;font-size:1rem;line-height:1.7}._dsi-markdown_23cwi_1 h1,._dsi-markdown_23cwi_1 h2,._dsi-markdown_23cwi_1 h3,._dsi-markdown_23cwi_1 h4,._dsi-markdown_23cwi_1 h5,._dsi-markdown_23cwi_1 h6{margin:1.25em 0 .5em;font-weight:600;line-height:1.3}._dsi-markdown_23cwi_1 h1{font-size:1.6em}._dsi-markdown_23cwi_1 h2{font-size:1.35em}._dsi-markdown_23cwi_1 h3{font-size:1.15em}._dsi-markdown_23cwi_1 h4{font-size:1em}._dsi-markdown_23cwi_1 p{margin:.5em 0}._dsi-markdown_23cwi_1 a{color:var(--dsi-accent,#06c);text-underline-offset:2px;text-decoration:underline}._dsi-markdown_23cwi_1 a:hover{opacity:.8}._dsi-markdown_23cwi_1 ul,._dsi-markdown_23cwi_1 ol{margin:.5em 0;padding-left:1.5em}._dsi-markdown_23cwi_1 li{margin:.2em 0}._dsi-markdown_23cwi_1 li>p{margin:0}._dsi-markdown_23cwi_1 blockquote{border-left:3px solid var(--dsi-border,#e5e5e5);color:var(--dsi-text-secondary,#888);margin:.75em 0;padding:.4em 1em;font-style:italic}._dsi-markdown-table-wrapper_23cwi_64{width:100%;margin:.75em 0;display:inline-block;position:relative}._dsi-markdown-table-wrapper_23cwi_64 table{border-collapse:collapse;width:100%;margin:0;font-size:.9em}._dsi-markdown-table-wrapper_23cwi_64 th,._dsi-markdown-table-wrapper_23cwi_64 td{border:1px solid var(--dsi-border,#e5e5e5);text-align:left;padding:.45em .75em}._dsi-markdown-table-wrapper_23cwi_64 th{background:var(--dsi-bg-secondary,#f7f7f8);font-weight:600}._dsi-markdown-table-copy-btn_23cwi_86{background:var(--dsi-bg-secondary,#f7f7f8);border:1px solid var(--dsi-border,#e5e5e5);cursor:pointer;color:var(--dsi-text-secondary,#888);opacity:0;border-radius:4px;align-items:center;gap:4px;padding:4px 6px;font-family:inherit;font-size:.9em;transition:background .15s,color .15s,opacity .15s;display:flex;position:absolute;bottom:6px;right:6px}._dsi-markdown-table-wrapper_23cwi_64:hover ._dsi-markdown-table-copy-btn_23cwi_86{opacity:1}._dsi-markdown-table-copy-btn_23cwi_86:hover{color:var(--dsi-text-primary,#111);background:#0000000f}._dsi-markdown-table-copy-btn_23cwi_86 svg{font-size:1em}._dsi-markdown_23cwi_1 hr{border:none;border-top:1px solid var(--dsi-border,#e5e5e5);margin:1em 0}._dsi-markdown_23cwi_1 :not(pre)>code{background:var(--dsi-code-bg,#f6f8fa);color:var(--dsi-code-text,#24292e);border-radius:4px;padding:.15em .4em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.875em}._dsi-markdown-code-block_23cwi_133{background:var(--dsi-code-bg,#f6f8fa);border:1px solid var(--dsi-border,#e5e5e5);border-radius:8px;margin:.75em 0;position:relative;overflow:hidden}._dsi-markdown-code-lang_23cwi_142{border-bottom:1px solid var(--dsi-border,#e5e5e5);color:var(--dsi-text-secondary,#888);letter-spacing:.03em;background:#0000000a;justify-content:space-between;align-items:center;padding:.35em .75em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.75em;display:flex}._dsi-markdown-copy-btn_23cwi_155{cursor:pointer;color:var(--dsi-text-secondary,#888);background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-family:inherit;font-size:.9em;transition:background .15s,color .15s;display:flex}._dsi-markdown-copy-btn_23cwi_155:hover{color:var(--dsi-text-primary,#111);background:#0000000f}._dsi-markdown-copy-btn_23cwi_155 svg{font-size:.9em}._dsi-markdown-code-block_23cwi_133 pre{color:var(--dsi-code-text,#24292e);background:0 0;margin:0;padding:.9em 1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.875em;line-height:1.6;overflow-x:auto}._dsi-markdown-code-block_23cwi_133 pre code{font-size:inherit;color:inherit;background:0 0;border-radius:0;padding:0}._dsi-markdown_23cwi_1 input[type=checkbox]{accent-color:var(--dsi-accent,#06c);margin-right:.4em}._dsi-markdown_23cwi_1 img{border-radius:4px;max-width:100%}._dsi-markdown_23cwi_1 del{opacity:.7}._dsi-inputbar_1ngbl_2{box-sizing:border-box;flex-direction:column;gap:0;width:100%;display:flex;position:relative}._dsi-inputbar-upper-slot_1ngbl_12{border:1px solid var(--dsi-border,#e5e5e5);background:var(--dsi-input-bg,#fff);box-sizing:border-box;border-bottom:none;border-radius:14px 14px 0 0;width:100%;padding:.5em .75em}._dsi-inputbar-plus-slot_1ngbl_23{z-index:100;background:var(--dsi-input-bg,#fff);border:1px solid var(--dsi-border,#e5e5e5);box-sizing:border-box;border-radius:12px;min-width:180px;padding:.4em 0;position:absolute;bottom:calc(100% + 4px);left:0;box-shadow:0 4px 20px #0000001a}._dsi-inputbar-row_1ngbl_38{background:var(--dsi-input-bg,#fff);border:1px solid var(--dsi-border,#e5e5e5);box-sizing:border-box;border-radius:14px;align-items:flex-end;gap:8px;padding:.55em .75em;transition:border-color .15s;display:flex}._dsi-inputbar-row_1ngbl_38:focus-within{border-color:var(--dsi-accent,#06c)}._dsi-inputbar-row--with-upper_1ngbl_55{border-radius:0 0 14px 14px}._dsi-inputbar-textarea_1ngbl_60{resize:none;color:var(--dsi-text-primary,#111);background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:200px;padding:0;font-family:inherit;font-size:.95rem;line-height:1.5;overflow-y:auto}._dsi-inputbar-textarea_1ngbl_60::placeholder{color:var(--dsi-text-secondary,#888)}._dsi-inputbar-plus-btn_1ngbl_81{border:1px solid var(--dsi-border,#e5e5e5);background:var(--dsi-button-bg,transparent);width:32px;height:32px;color:var(--dsi-text-primary,#111);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.1em;transition:background .15s;display:flex}._dsi-inputbar-plus-btn_1ngbl_81:hover,._dsi-inputbar-plus-btn--open_1ngbl_100{background:var(--dsi-button-hover-bg,#f0f0f0)}._dsi-inputbar-action-btn_1ngbl_105{background:var(--dsi-action-btn-bg,#111);width:32px;height:32px;color:var(--dsi-action-btn-icon,#fff);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1em;transition:background .15s,opacity .15s;display:flex}._dsi-inputbar-action-btn_1ngbl_105:hover:not(:disabled){background:var(--dsi-action-btn-hover-bg,#333)}._dsi-inputbar-action-btn_1ngbl_105:disabled{opacity:.35;cursor:not-allowed}._dsi-user-msg-wrapper_e7uu3_1{flex-direction:column;align-items:flex-end;width:100%;padding-bottom:1.4em;display:flex;position:relative}._dsi-user-msg-top-slot_e7uu3_12{justify-content:flex-end;margin-bottom:4px;display:flex}._dsi-user-msg-row_e7uu3_19{align-items:center;gap:8px;max-width:70%;display:flex}._dsi-user-msg-left-slot_e7uu3_26,._dsi-user-msg-right-slot_e7uu3_27{flex-shrink:0;align-items:center;display:flex}._dsi-user-msg-bubble_e7uu3_34{background:var(--dsi-user-bubble-bg,#f0f0f0);color:var(--dsi-user-bubble-text,#111);word-break:break-word;border-radius:18px 18px 4px;min-width:40px;padding:10px 16px;font-size:.95rem;line-height:1.5}._dsi-user-msg-bottom-slot_e7uu3_46{justify-content:flex-end;margin-top:4px;display:flex}._dsi-user-msg-footer_e7uu3_53{opacity:0;align-items:center;gap:.35em;height:1.2em;transition:opacity .15s;display:flex;position:absolute;bottom:0;right:0}._dsi-user-msg-wrapper_e7uu3_1:hover ._dsi-user-msg-footer_e7uu3_53{opacity:1}._dsi-user-msg-copy-btn_e7uu3_69{cursor:pointer;color:var(--dsi-text-secondary,#888);background:0 0;border:none;border-radius:3px;align-items:center;gap:3px;padding:0;font-family:inherit;font-size:.85rem;line-height:1;transition:color .15s;display:flex}._dsi-user-msg-copy-btn_e7uu3_69:hover{color:var(--dsi-user-bubble-text,#111)}._dsi-user-msg-copy-btn_e7uu3_69 svg{font-size:.8em}._dsi-user-msg-time_e7uu3_92{color:var(--dsi-text-secondary,#888);white-space:nowrap;font-size:.68rem;line-height:1}._dsi-session-history_ju41j_1{box-sizing:border-box;flex-direction:column;gap:1.5em;width:100%;padding:1em 0;display:flex;overflow-y:auto}._dsi-session-container_1iida_1{box-sizing:border-box;background:var(--dsi-bg,#fff);flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._dsi-session-container-history_1iida_11{box-sizing:border-box;flex:1;padding:0 1.5em;overflow-y:auto}._dsi-session-container-inputbar_1iida_18{box-sizing:border-box;flex-shrink:0;padding:.75em 1.5em 1em}
1
+ ._dsi-bot-msg_16idu_2{width:100%;color:var(--dsi-text-primary,#111);flex-direction:column;gap:.5em;padding-bottom:1.4em;font-size:.95rem;display:flex;position:relative}._dsi-bot-loading-dot_16idu_15{color:var(--dsi-text-primary,#111);margin-bottom:.1em;animation:1.4s ease-in-out infinite _dsi-bot-pulse_16idu_1;display:block}@keyframes _dsi-bot-pulse_16idu_1{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.6)}}._dsi-bot-msg-footer_16idu_28{align-items:center;gap:.4em;height:1.2em;display:flex;position:absolute;bottom:0;left:0}._dsi-bot-copy-btn_16idu_39{cursor:pointer;color:var(--dsi-text-secondary,#888);background:0 0;border:none;border-radius:3px;align-items:center;gap:3px;padding:0;font-family:inherit;font-size:.85rem;line-height:1;transition:color .15s;display:flex}._dsi-bot-copy-btn_16idu_39:hover{color:var(--dsi-text-primary,#111)}._dsi-bot-copy-btn_16idu_39 svg{font-size:1em}._dsi-bot-msg-time_16idu_62{color:var(--dsi-text-secondary,#888);opacity:0;white-space:nowrap;font-size:.68rem;line-height:1;transition:opacity .15s}._dsi-bot-msg_16idu_2:hover ._dsi-bot-msg-time_16idu_62{opacity:1}._dsi-bot-reasoning_16idu_75,._dsi-bot-tool_16idu_76,._dsi-bot-search_16idu_77{color:var(--dsi-reasoning-text,#555);font-size:1em;font-style:italic}._dsi-bot-collapsible-header_16idu_84{cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;align-items:center;gap:.4em;max-width:30%;padding:.25em 0;display:flex}._dsi-bot-collapsible-header_16idu_84:focus-visible{outline:2px solid var(--dsi-accent,#06c);border-radius:3px}._dsi-bot-collapsible-header-inner_16idu_99{flex:1;align-items:center;gap:.4em;min-width:0;display:flex;overflow:hidden}._dsi-bot-element-title_16idu_108{white-space:nowrap;text-overflow:ellipsis;font-size:.9em;overflow:hidden}._dsi-bot-collapse-chevron_16idu_115{opacity:.5;flex-shrink:0;font-size:1em;transition:opacity .15s,transform .2s}._dsi-bot-collapsible-header_16idu_84:hover ._dsi-bot-collapse-chevron_16idu_115{opacity:.8}._dsi-bot-collapsible-body_16idu_126{border-left:2px solid var(--dsi-reasoning-border,var(--dsi-tool-border,#d1d5db));max-width:90%;padding:.4em 0 .25em .75em}._dsi-bot-collapsible-content_16idu_132{white-space:pre-wrap;word-break:break-word;margin:0;font-size:.9em}._dsi-bot-search-icon_16idu_140{flex-shrink:0;font-size:1em}._dsi-bot-spinner_16idu_146{border:1.5px solid #00000026;border-top-color:var(--dsi-text-secondary,#888);border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:.7s linear infinite _dsi-spin_16idu_1;display:inline-block}@keyframes _dsi-spin_16idu_1{to{transform:rotate(360deg)}}._dsi-bot-image-wrap_16idu_162{align-self:flex-start;max-width:100%;display:inline-block;position:relative}._dsi-bot-image_16idu_162{border-radius:8px;max-width:100%;height:auto;display:block}._dsi-bot-image-placeholder_16idu_177{width:200px;height:200px;color:var(--dsi-text-secondary,#888);background:#0000000a;border:1px dashed #0000001f;border-radius:8px;justify-content:center;align-items:center;font-size:.85em;display:flex}._dsi-bot-image-spinner_16idu_190{border:2px solid #00000026;border-top-color:var(--dsi-text-secondary,#888);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite _dsi-spin_16idu_1;display:inline-block}._dsi-bot-image-error_16idu_200{text-align:center;padding:0 .5em}._dsi-bot-image-actions_16idu_206{opacity:0;pointer-events:none;gap:4px;transition:opacity .15s;display:flex;position:absolute;top:6px;right:6px}._dsi-bot-image-wrap_16idu_162:hover ._dsi-bot-image-actions_16idu_206{opacity:1;pointer-events:auto}._dsi-bot-image-btn_16idu_221{cursor:pointer;width:26px;height:26px;color:var(--dsi-text-secondary,#888);background:#ffffffd9;border:1px solid #00000014;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:.85rem;transition:color .15s,background .15s;display:flex}._dsi-bot-image-btn_16idu_221:hover{color:var(--dsi-text-primary,#111);background:#fff}._dsi-bot-image-btn_16idu_221 svg{font-size:1em}._dsi-bot-iframe-wrap_16idu_245{border:1px solid var(--dsi-border,#00000014);background:var(--dsi-background,transparent);border-radius:8px;align-self:flex-start;max-width:100%;position:relative;overflow:hidden}._dsi-bot-iframe_16idu_245{border:0;width:100%;display:block}._dsi-bot-iframe-copy_16idu_262{cursor:pointer;color:var(--dsi-text-secondary,#888);opacity:0;background:#ffffffd9;border:1px solid #00000014;border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;font-size:.85rem;transition:color .15s,background .15s;display:flex;position:absolute;top:6px;right:6px}._dsi-bot-iframe-wrap_16idu_245:hover ._dsi-bot-iframe-copy_16idu_262{opacity:1}._dsi-bot-iframe-copy_16idu_262:hover{color:var(--dsi-text-primary,#111);background:#fff}._dsi-bot-iframe-copy_16idu_262 svg{font-size:1em}._dsi-bot-chart-wrap_16idu_292{align-self:flex-start;max-width:100%}._dsi-markdown_23cwi_1{color:inherit;word-break:break-word;font-family:inherit;font-size:1rem;line-height:1.7}._dsi-markdown_23cwi_1 h1,._dsi-markdown_23cwi_1 h2,._dsi-markdown_23cwi_1 h3,._dsi-markdown_23cwi_1 h4,._dsi-markdown_23cwi_1 h5,._dsi-markdown_23cwi_1 h6{margin:1.25em 0 .5em;font-weight:600;line-height:1.3}._dsi-markdown_23cwi_1 h1{font-size:1.6em}._dsi-markdown_23cwi_1 h2{font-size:1.35em}._dsi-markdown_23cwi_1 h3{font-size:1.15em}._dsi-markdown_23cwi_1 h4{font-size:1em}._dsi-markdown_23cwi_1 p{margin:.5em 0}._dsi-markdown_23cwi_1 a{color:var(--dsi-accent,#06c);text-underline-offset:2px;text-decoration:underline}._dsi-markdown_23cwi_1 a:hover{opacity:.8}._dsi-markdown_23cwi_1 ul,._dsi-markdown_23cwi_1 ol{margin:.5em 0;padding-left:1.5em}._dsi-markdown_23cwi_1 li{margin:.2em 0}._dsi-markdown_23cwi_1 li>p{margin:0}._dsi-markdown_23cwi_1 blockquote{border-left:3px solid var(--dsi-border,#e5e5e5);color:var(--dsi-text-secondary,#888);margin:.75em 0;padding:.4em 1em;font-style:italic}._dsi-markdown-table-wrapper_23cwi_64{width:100%;margin:.75em 0;display:inline-block;position:relative}._dsi-markdown-table-wrapper_23cwi_64 table{border-collapse:collapse;width:100%;margin:0;font-size:.9em}._dsi-markdown-table-wrapper_23cwi_64 th,._dsi-markdown-table-wrapper_23cwi_64 td{border:1px solid var(--dsi-border,#e5e5e5);text-align:left;padding:.45em .75em}._dsi-markdown-table-wrapper_23cwi_64 th{background:var(--dsi-bg-secondary,#f7f7f8);font-weight:600}._dsi-markdown-table-copy-btn_23cwi_86{background:var(--dsi-bg-secondary,#f7f7f8);border:1px solid var(--dsi-border,#e5e5e5);cursor:pointer;color:var(--dsi-text-secondary,#888);opacity:0;border-radius:4px;align-items:center;gap:4px;padding:4px 6px;font-family:inherit;font-size:.9em;transition:background .15s,color .15s,opacity .15s;display:flex;position:absolute;bottom:6px;right:6px}._dsi-markdown-table-wrapper_23cwi_64:hover ._dsi-markdown-table-copy-btn_23cwi_86{opacity:1}._dsi-markdown-table-copy-btn_23cwi_86:hover{color:var(--dsi-text-primary,#111);background:#0000000f}._dsi-markdown-table-copy-btn_23cwi_86 svg{font-size:1em}._dsi-markdown_23cwi_1 hr{border:none;border-top:1px solid var(--dsi-border,#e5e5e5);margin:1em 0}._dsi-markdown_23cwi_1 :not(pre)>code{background:var(--dsi-code-bg,#f6f8fa);color:var(--dsi-code-text,#24292e);border-radius:4px;padding:.15em .4em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.875em}._dsi-markdown-code-block_23cwi_133{background:var(--dsi-code-bg,#f6f8fa);border:1px solid var(--dsi-border,#e5e5e5);border-radius:8px;margin:.75em 0;position:relative;overflow:hidden}._dsi-markdown-code-lang_23cwi_142{border-bottom:1px solid var(--dsi-border,#e5e5e5);color:var(--dsi-text-secondary,#888);letter-spacing:.03em;background:#0000000a;justify-content:space-between;align-items:center;padding:.35em .75em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.75em;display:flex}._dsi-markdown-copy-btn_23cwi_155{cursor:pointer;color:var(--dsi-text-secondary,#888);background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-family:inherit;font-size:.9em;transition:background .15s,color .15s;display:flex}._dsi-markdown-copy-btn_23cwi_155:hover{color:var(--dsi-text-primary,#111);background:#0000000f}._dsi-markdown-copy-btn_23cwi_155 svg{font-size:.9em}._dsi-markdown-code-block_23cwi_133 pre{color:var(--dsi-code-text,#24292e);background:0 0;margin:0;padding:.9em 1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.875em;line-height:1.6;overflow-x:auto}._dsi-markdown-code-block_23cwi_133 pre code{font-size:inherit;color:inherit;background:0 0;border-radius:0;padding:0}._dsi-markdown_23cwi_1 input[type=checkbox]{accent-color:var(--dsi-accent,#06c);margin-right:.4em}._dsi-markdown_23cwi_1 img{border-radius:4px;max-width:100%}._dsi-markdown_23cwi_1 del{opacity:.7}._dsi-inputbar_1ngbl_2{box-sizing:border-box;flex-direction:column;gap:0;width:100%;display:flex;position:relative}._dsi-inputbar-upper-slot_1ngbl_12{border:1px solid var(--dsi-border,#e5e5e5);background:var(--dsi-input-bg,#fff);box-sizing:border-box;border-bottom:none;border-radius:14px 14px 0 0;width:100%;padding:.5em .75em}._dsi-inputbar-plus-slot_1ngbl_23{z-index:100;background:var(--dsi-input-bg,#fff);border:1px solid var(--dsi-border,#e5e5e5);box-sizing:border-box;border-radius:12px;min-width:180px;padding:.4em 0;position:absolute;bottom:calc(100% + 4px);left:0;box-shadow:0 4px 20px #0000001a}._dsi-inputbar-row_1ngbl_38{background:var(--dsi-input-bg,#fff);border:1px solid var(--dsi-border,#e5e5e5);box-sizing:border-box;border-radius:14px;align-items:flex-end;gap:8px;padding:.55em .75em;transition:border-color .15s;display:flex}._dsi-inputbar-row_1ngbl_38:focus-within{border-color:var(--dsi-accent,#06c)}._dsi-inputbar-row--with-upper_1ngbl_55{border-radius:0 0 14px 14px}._dsi-inputbar-textarea_1ngbl_60{resize:none;color:var(--dsi-text-primary,#111);background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:200px;padding:0;font-family:inherit;font-size:.95rem;line-height:1.5;overflow-y:auto}._dsi-inputbar-textarea_1ngbl_60::placeholder{color:var(--dsi-text-secondary,#888)}._dsi-inputbar-plus-btn_1ngbl_81{border:1px solid var(--dsi-border,#e5e5e5);background:var(--dsi-button-bg,transparent);width:32px;height:32px;color:var(--dsi-text-primary,#111);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.1em;transition:background .15s;display:flex}._dsi-inputbar-plus-btn_1ngbl_81:hover,._dsi-inputbar-plus-btn--open_1ngbl_100{background:var(--dsi-button-hover-bg,#f0f0f0)}._dsi-inputbar-action-btn_1ngbl_105{background:var(--dsi-action-btn-bg,#111);width:32px;height:32px;color:var(--dsi-action-btn-icon,#fff);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1em;transition:background .15s,opacity .15s;display:flex}._dsi-inputbar-action-btn_1ngbl_105:hover:not(:disabled){background:var(--dsi-action-btn-hover-bg,#333)}._dsi-inputbar-action-btn_1ngbl_105:disabled{opacity:.35;cursor:not-allowed}._dsi-user-msg-wrapper_e7uu3_1{flex-direction:column;align-items:flex-end;width:100%;padding-bottom:1.4em;display:flex;position:relative}._dsi-user-msg-top-slot_e7uu3_12{justify-content:flex-end;margin-bottom:4px;display:flex}._dsi-user-msg-row_e7uu3_19{align-items:center;gap:8px;max-width:70%;display:flex}._dsi-user-msg-left-slot_e7uu3_26,._dsi-user-msg-right-slot_e7uu3_27{flex-shrink:0;align-items:center;display:flex}._dsi-user-msg-bubble_e7uu3_34{background:var(--dsi-user-bubble-bg,#f0f0f0);color:var(--dsi-user-bubble-text,#111);word-break:break-word;border-radius:18px 18px 4px;min-width:40px;padding:10px 16px;font-size:.95rem;line-height:1.5}._dsi-user-msg-bottom-slot_e7uu3_46{justify-content:flex-end;margin-top:4px;display:flex}._dsi-user-msg-footer_e7uu3_53{opacity:0;align-items:center;gap:.35em;height:1.2em;transition:opacity .15s;display:flex;position:absolute;bottom:0;right:0}._dsi-user-msg-wrapper_e7uu3_1:hover ._dsi-user-msg-footer_e7uu3_53{opacity:1}._dsi-user-msg-copy-btn_e7uu3_69{cursor:pointer;color:var(--dsi-text-secondary,#888);background:0 0;border:none;border-radius:3px;align-items:center;gap:3px;padding:0;font-family:inherit;font-size:.85rem;line-height:1;transition:color .15s;display:flex}._dsi-user-msg-copy-btn_e7uu3_69:hover{color:var(--dsi-user-bubble-text,#111)}._dsi-user-msg-copy-btn_e7uu3_69 svg{font-size:.8em}._dsi-user-msg-time_e7uu3_92{color:var(--dsi-text-secondary,#888);white-space:nowrap;font-size:.68rem;line-height:1}._dsi-session-history_13fgm_1{box-sizing:border-box;flex-direction:column;gap:1.5em;width:100%;height:100%;padding:1em 0;display:flex;overflow-y:auto}._dsi-session-container_1iida_1{box-sizing:border-box;background:var(--dsi-bg,#fff);flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._dsi-session-container-history_1iida_11{box-sizing:border-box;flex:1;padding:0 1.5em;overflow-y:auto}._dsi-session-container-inputbar_1iida_18{box-sizing:border-box;flex-shrink:0;padding:.75em 1.5em 1em}
2
2
  /*$vite$:1*/
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@shane_donnelly/dsi-internal-react-utils",
3
3
  "private": false,
4
- "version": "1.3.0",
4
+ "version": "1.3.2",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "dev": "vite",
@@ -22,8 +22,8 @@
22
22
  "eslint-plugin-react-refresh": "^0.5.2",
23
23
  "glob": "^13.0.6",
24
24
  "globals": "^17.4.0",
25
- "react": "^19.2.4",
26
- "react-dom": "^19.2.4",
25
+ "react": "^19.2.0",
26
+ "react-dom": "^19.2.0",
27
27
  "typescript": "^6.0.2",
28
28
  "typescript-eslint": "^8.58.0",
29
29
  "vite": "^8.0.4",
@@ -43,8 +43,8 @@
43
43
  "dist"
44
44
  ],
45
45
  "peerDependencies": {
46
- "react": "^19.2.4",
47
- "react-dom": "^19.2.4"
46
+ "react": "^19.2.0",
47
+ "react-dom": "^19.2.0"
48
48
  },
49
49
  "dependencies": {
50
50
  "keycloak-js": "^26.0.0",
@@ -1,50 +0,0 @@
1
- import { useTheme as e } from "./chatbot/theme/useTheme.js";
2
- import { t } from "./SessionHistory-Ix5_68Dt.js";
3
- import { t as n } from "./InputBar-DOkn2T-l.js";
4
- import { useEffect as r, useMemo as i, useRef as a } from "react";
5
- import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
6
- //#region lib/chatbot/SessionContainer/styles.module.css
7
- var l = {
8
- "dsi-session-container": "_dsi-session-container_1iida_1",
9
- "dsi-session-container-history": "_dsi-session-container-history_1iida_11",
10
- "dsi-session-container-inputbar": "_dsi-session-container-inputbar_1iida_18"
11
- };
12
- //#endregion
13
- //#region lib/chatbot/SessionContainer/index.tsx
14
- function u({ userMessages: u, botMessages: d, orderedIds: f, botMessageRegistry: p, userMessageSlots: m, alternativeScreenComponent: h, isAlternativeScreenActive: g = !1, value: _, onChange: v, placeholder: y, actionButtonType: b, actionButtonEnabled: x, onActionButtonClick: S, plusSlot: C, upperSlot: w }) {
15
- let T = e(), E = a(null), D = i(() => {
16
- let e = new Map(u.map((e) => [e.id, e]));
17
- return f.filter((t) => e.has(t)).map((t) => e.get(t).text);
18
- }, [u, f]);
19
- return r(() => {
20
- E.current?.scrollIntoView({ behavior: "smooth" });
21
- }, [f.length]), /* @__PURE__ */ c("div", {
22
- className: l["dsi-session-container"],
23
- style: { "--dsi-bg": T.background },
24
- children: [/* @__PURE__ */ s("div", {
25
- className: l["dsi-session-container-history"],
26
- children: g ? h ?? null : /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s(t, {
27
- userMessages: u,
28
- botMessages: d,
29
- orderedIds: f,
30
- botMessageRegistry: p,
31
- userMessageSlots: m
32
- }), /* @__PURE__ */ s("div", { ref: E })] })
33
- }), /* @__PURE__ */ s("div", {
34
- className: l["dsi-session-container-inputbar"],
35
- children: /* @__PURE__ */ s(n, {
36
- value: _,
37
- onChange: v,
38
- placeholder: y,
39
- actionButtonType: b,
40
- actionButtonEnabled: x,
41
- onActionButtonClick: S,
42
- plusSlot: C,
43
- upperSlot: w,
44
- messageHistory: D
45
- })
46
- })]
47
- });
48
- }
49
- //#endregion
50
- export { u as t };