@akropolys/kiku 1.7.0 → 1.7.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.
- package/dist/index.js +103 -176
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +103 -176
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +230 -294
- package/dist/styles.css.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -222,8 +222,25 @@ var parseInline = (text, keyPrefix) => {
|
|
|
222
222
|
return part;
|
|
223
223
|
});
|
|
224
224
|
};
|
|
225
|
-
function
|
|
225
|
+
function isTableLine(line, inTable) {
|
|
226
|
+
const t = line.trim();
|
|
227
|
+
if (inTable) return t.includes("|");
|
|
228
|
+
return t.startsWith("|");
|
|
229
|
+
}
|
|
230
|
+
function splitTableCells(rowLine) {
|
|
231
|
+
let t = rowLine.trim();
|
|
232
|
+
if (t.startsWith("|")) t = t.slice(1);
|
|
233
|
+
if (t.endsWith("|")) t = t.slice(0, -1);
|
|
234
|
+
return t.split("|").map((c) => c.trim());
|
|
235
|
+
}
|
|
236
|
+
function renderMarkdown(content, streaming = false) {
|
|
226
237
|
const lines = content.split("\n");
|
|
238
|
+
if (streaming && lines.length > 0) {
|
|
239
|
+
const last = lines[lines.length - 1];
|
|
240
|
+
if (last.trim().startsWith("|") && !last.trim().endsWith("|")) {
|
|
241
|
+
lines.pop();
|
|
242
|
+
}
|
|
243
|
+
}
|
|
227
244
|
const elements = [];
|
|
228
245
|
let i = 0;
|
|
229
246
|
while (i < lines.length) {
|
|
@@ -275,17 +292,27 @@ function renderMarkdown(content) {
|
|
|
275
292
|
elements.push(/* @__PURE__ */ jsx2("ul", { className: "hsk-markdown-list", children: listItems }, `ul-${key}`));
|
|
276
293
|
continue;
|
|
277
294
|
}
|
|
278
|
-
if (line.
|
|
295
|
+
if (line.match(/^\d+[.)]\s+/)) {
|
|
296
|
+
const listItems = [];
|
|
297
|
+
while (i < lines.length && lines[i].match(/^\d+[.)]\s+/)) {
|
|
298
|
+
const itemText = lines[i].replace(/^\d+[.)]\s+/, "");
|
|
299
|
+
listItems.push(/* @__PURE__ */ jsx2("li", { children: parseInline(itemText, `li-${i}`) }, `li-${i}`));
|
|
300
|
+
i++;
|
|
301
|
+
}
|
|
302
|
+
elements.push(/* @__PURE__ */ jsx2("ol", { className: "hsk-markdown-list", children: listItems }, `ol-${key}`));
|
|
303
|
+
continue;
|
|
304
|
+
}
|
|
305
|
+
if (isTableLine(line, false)) {
|
|
279
306
|
const tableRows = [];
|
|
280
307
|
let isHeader = true;
|
|
281
|
-
while (i < lines.length && lines[i]
|
|
308
|
+
while (i < lines.length && isTableLine(lines[i], true)) {
|
|
282
309
|
const rowLine = lines[i].trim();
|
|
283
|
-
if (rowLine.match(
|
|
310
|
+
if (rowLine.match(/^\|?[-:| ]+\|?$/) && rowLine.includes("-")) {
|
|
284
311
|
i++;
|
|
285
312
|
isHeader = false;
|
|
286
313
|
continue;
|
|
287
314
|
}
|
|
288
|
-
const cells = rowLine
|
|
315
|
+
const cells = splitTableCells(rowLine);
|
|
289
316
|
const Tag = isHeader ? "th" : "td";
|
|
290
317
|
tableRows.push(
|
|
291
318
|
/* @__PURE__ */ jsx2("tr", { children: cells.map((cell, cIdx) => /* @__PURE__ */ jsx2(Tag, { children: parseInline(cell, `td-${i}-${cIdx}`) }, `td-${i}-${cIdx}`)) }, `tr-${i}`)
|
|
@@ -471,7 +498,7 @@ function SourceCard({
|
|
|
471
498
|
);
|
|
472
499
|
}
|
|
473
500
|
function ChatWidget({
|
|
474
|
-
title = "
|
|
501
|
+
title = "kiku",
|
|
475
502
|
placeholder = "Ask about anything in our store\u2026",
|
|
476
503
|
emptyStateText = "Ask me anything about our products",
|
|
477
504
|
emptyStateSuggestions = '"Find me headphones under KSh 5,000" \xB7 "Gift ideas"',
|
|
@@ -1082,77 +1109,22 @@ function ComparisonMatrix({ sources, defaultCurrency = "KES", displayConfig }) {
|
|
|
1082
1109
|
|
|
1083
1110
|
// src/components/KikuButton.tsx
|
|
1084
1111
|
import { Fragment as Fragment3, jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1085
|
-
var
|
|
1112
|
+
var KikuIcon = ({ className, size = 18 }) => /* @__PURE__ */ jsx7(
|
|
1086
1113
|
"svg",
|
|
1087
1114
|
{
|
|
1088
|
-
className: cn("hsk-brand-
|
|
1115
|
+
className: cn("hsk-brand-mark", className),
|
|
1089
1116
|
width: size,
|
|
1090
1117
|
height: size,
|
|
1091
|
-
viewBox: "0 0
|
|
1092
|
-
fill: "none",
|
|
1118
|
+
viewBox: "0 0 100 100",
|
|
1093
1119
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1094
|
-
"aria-label": "
|
|
1095
|
-
children: [
|
|
1096
|
-
/* @__PURE__ */ jsx7(
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
d: "M14.5 4.5 L6.5 25",
|
|
1100
|
-
stroke: "currentColor",
|
|
1101
|
-
strokeWidth: "2.2",
|
|
1102
|
-
strokeLinecap: "round"
|
|
1103
|
-
}
|
|
1104
|
-
),
|
|
1105
|
-
/* @__PURE__ */ jsx7(
|
|
1106
|
-
"path",
|
|
1107
|
-
{
|
|
1108
|
-
d: "M14.5 4.5 L22.5 25",
|
|
1109
|
-
stroke: "currentColor",
|
|
1110
|
-
strokeWidth: "4.2",
|
|
1111
|
-
strokeLinecap: "round"
|
|
1112
|
-
}
|
|
1113
|
-
),
|
|
1114
|
-
/* @__PURE__ */ jsx7(
|
|
1115
|
-
"path",
|
|
1116
|
-
{
|
|
1117
|
-
d: "M9.5 17 H19.5",
|
|
1118
|
-
stroke: "currentColor",
|
|
1119
|
-
strokeWidth: "2",
|
|
1120
|
-
strokeLinecap: "round"
|
|
1121
|
-
}
|
|
1122
|
-
),
|
|
1123
|
-
/* @__PURE__ */ jsx7(
|
|
1124
|
-
"path",
|
|
1125
|
-
{
|
|
1126
|
-
d: "M3 25 H10",
|
|
1127
|
-
stroke: "currentColor",
|
|
1128
|
-
strokeWidth: "2",
|
|
1129
|
-
strokeLinecap: "round"
|
|
1130
|
-
}
|
|
1131
|
-
),
|
|
1132
|
-
/* @__PURE__ */ jsx7(
|
|
1133
|
-
"path",
|
|
1134
|
-
{
|
|
1135
|
-
d: "M19 25 H26",
|
|
1136
|
-
stroke: "currentColor",
|
|
1137
|
-
strokeWidth: "2.5",
|
|
1138
|
-
strokeLinecap: "round"
|
|
1139
|
-
}
|
|
1140
|
-
),
|
|
1141
|
-
/* @__PURE__ */ jsx7(
|
|
1142
|
-
"path",
|
|
1143
|
-
{
|
|
1144
|
-
d: "M8.5 2.5 C10 2.5, 11 3.5, 11 5 C11 7, 8.5 8.5, 7.5 9.5",
|
|
1145
|
-
stroke: "currentColor",
|
|
1146
|
-
strokeWidth: "2",
|
|
1147
|
-
strokeLinecap: "round",
|
|
1148
|
-
fill: "none",
|
|
1149
|
-
className: "hsk-akr-breath"
|
|
1150
|
-
}
|
|
1151
|
-
)
|
|
1152
|
-
]
|
|
1120
|
+
"aria-label": "kiku",
|
|
1121
|
+
children: /* @__PURE__ */ jsxs6("g", { transform: "translate(22.7 19) scale(0.62)", fill: "currentColor", fillRule: "evenodd", children: [
|
|
1122
|
+
/* @__PURE__ */ jsx7("path", { d: "M39.4 10.4 Q44 0 48.6 10.4 L86.1 95.8 Q88 100 83.4 100 L4.6 100 Q0 100 1.9 95.8 Z M24 100 L24 65 Q24 60 27.4 56.3 Q44 38 60.6 56.3 Q64 60 64 65 L64 100 Z" }),
|
|
1123
|
+
/* @__PURE__ */ jsx7("circle", { cx: "55", cy: "82", r: "3.4" })
|
|
1124
|
+
] })
|
|
1153
1125
|
}
|
|
1154
1126
|
);
|
|
1155
|
-
var SparkleIcon2 =
|
|
1127
|
+
var SparkleIcon2 = KikuIcon;
|
|
1156
1128
|
var ArrowUpIcon2 = () => /* @__PURE__ */ jsxs6("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
1157
1129
|
/* @__PURE__ */ jsx7("path", { d: "m5 12 7-7 7 7" }),
|
|
1158
1130
|
/* @__PURE__ */ jsx7("path", { d: "M12 19V5" })
|
|
@@ -1345,7 +1317,25 @@ function AtPickerMenu({ onSelect, onDismiss }) {
|
|
|
1345
1317
|
}
|
|
1346
1318
|
);
|
|
1347
1319
|
}
|
|
1348
|
-
function
|
|
1320
|
+
function SourceImg({ src, alt, onImageClick }) {
|
|
1321
|
+
const [failed, setFailed] = useState5(false);
|
|
1322
|
+
if (failed) {
|
|
1323
|
+
return /* @__PURE__ */ jsx7("div", { style: { width: "100%", height: "100%", display: "flex", alignItems: "center", justifyContent: "center", background: "var(--hsk-chat-source-bg, rgba(0,0,0,.04))", color: "var(--hsk-chat-muted, #888)" }, children: /* @__PURE__ */ jsx7(SparkleIcon2, {}) });
|
|
1324
|
+
}
|
|
1325
|
+
return /* @__PURE__ */ jsx7(
|
|
1326
|
+
"img",
|
|
1327
|
+
{
|
|
1328
|
+
src,
|
|
1329
|
+
alt: alt ?? "",
|
|
1330
|
+
onError: () => setFailed(true),
|
|
1331
|
+
onClick: onImageClick ? (e) => {
|
|
1332
|
+
e.stopPropagation();
|
|
1333
|
+
onImageClick(src);
|
|
1334
|
+
} : void 0
|
|
1335
|
+
}
|
|
1336
|
+
);
|
|
1337
|
+
}
|
|
1338
|
+
function SourcesCarousel({ sources, defaultCurrency, onSelectSource, onImageClick, referencedIds = [], compact = false }) {
|
|
1349
1339
|
const client = useAkropolysContext3();
|
|
1350
1340
|
const isProperty = client?.vertical === "property";
|
|
1351
1341
|
const railRef = useRef5(null);
|
|
@@ -1373,7 +1363,7 @@ function SourcesCarousel({ sources, defaultCurrency, onSelectSource, onImageClic
|
|
|
1373
1363
|
};
|
|
1374
1364
|
const display = sources.filter((s) => s.id && referencedIds.includes(s.id));
|
|
1375
1365
|
if (display.length === 0) return null;
|
|
1376
|
-
return /* @__PURE__ */ jsxs6("div", { className: "hsk-cb-sources-wrap", children: [
|
|
1366
|
+
return /* @__PURE__ */ jsxs6("div", { className: cn("hsk-cb-sources-wrap", compact && "hsk-cb-sources-wrap--compact"), children: [
|
|
1377
1367
|
/* @__PURE__ */ jsx7("div", { className: "hsk-cb-sources", ref: railRef, children: display.map((src, si) => {
|
|
1378
1368
|
const isReferenced = !!(src.id && referencedIds.includes(src.id));
|
|
1379
1369
|
return /* @__PURE__ */ jsxs6(
|
|
@@ -1384,18 +1374,7 @@ function SourcesCarousel({ sources, defaultCurrency, onSelectSource, onImageClic
|
|
|
1384
1374
|
onClick: () => onSelectSource?.(src),
|
|
1385
1375
|
children: [
|
|
1386
1376
|
src.image ? /* @__PURE__ */ jsxs6("div", { className: "hsk-cb-src-imgwrap", style: { position: "relative" }, children: [
|
|
1387
|
-
/* @__PURE__ */ jsx7(
|
|
1388
|
-
"img",
|
|
1389
|
-
{
|
|
1390
|
-
src: src.image,
|
|
1391
|
-
alt: src.name,
|
|
1392
|
-
loading: "lazy",
|
|
1393
|
-
onClick: onImageClick ? (e) => {
|
|
1394
|
-
e.stopPropagation();
|
|
1395
|
-
onImageClick(src.image);
|
|
1396
|
-
} : void 0
|
|
1397
|
-
}
|
|
1398
|
-
),
|
|
1377
|
+
/* @__PURE__ */ jsx7(SourceImg, { src: src.image, alt: src.name, onImageClick }),
|
|
1399
1378
|
isReferenced && /* @__PURE__ */ jsx7("div", { className: "hsk-cb-source-ref-badge", title: "Featured in response", children: /* @__PURE__ */ jsx7(SparkleIcon2, { size: 10 }) }),
|
|
1400
1379
|
isProperty && /* @__PURE__ */ jsx7("div", { style: {
|
|
1401
1380
|
position: "absolute",
|
|
@@ -1427,7 +1406,7 @@ function SourcesCarousel({ sources, defaultCurrency, onSelectSource, onImageClic
|
|
|
1427
1406
|
] })
|
|
1428
1407
|
]
|
|
1429
1408
|
},
|
|
1430
|
-
si
|
|
1409
|
+
src.id ?? si
|
|
1431
1410
|
);
|
|
1432
1411
|
}) }),
|
|
1433
1412
|
showNext && /* @__PURE__ */ jsxs6(Fragment3, { children: [
|
|
@@ -1652,7 +1631,7 @@ var PROPERTY_CHIPS = [
|
|
|
1652
1631
|
"Studio apartments with pool"
|
|
1653
1632
|
];
|
|
1654
1633
|
function ChatModal({
|
|
1655
|
-
title = "
|
|
1634
|
+
title = "kiku",
|
|
1656
1635
|
placeholder = "Ask me anything \u2014 gifts, budget, use case\u2026",
|
|
1657
1636
|
backdropColor,
|
|
1658
1637
|
backdropBlur,
|
|
@@ -1740,7 +1719,7 @@ function ChatModal({
|
|
|
1740
1719
|
}, []);
|
|
1741
1720
|
const isProperty = client.vertical === "property";
|
|
1742
1721
|
const activeChips = chips === DEFAULT_CHIPS && isProperty ? PROPERTY_CHIPS : chips;
|
|
1743
|
-
const activeTitle = title
|
|
1722
|
+
const activeTitle = title;
|
|
1744
1723
|
const activePlaceholder = placeholder === "Ask me anything \u2014 gifts, budget, use case\u2026" && isProperty ? "Ask me anything \u2014 location, budget, bedrooms\u2026" : placeholder;
|
|
1745
1724
|
const [selectedProduct, setSelectedProduct] = useState5(null);
|
|
1746
1725
|
const [lightboxSrc, setLightboxSrc] = useState5(null);
|
|
@@ -2019,10 +1998,10 @@ function ChatModal({
|
|
|
2019
1998
|
messageRefs.current[idx] = el;
|
|
2020
1999
|
}, children: isUser ? /* @__PURE__ */ jsxs6("div", { className: "hsk-cb-user-msg", children: [
|
|
2021
2000
|
msg.images && msg.images.length > 0 && /* @__PURE__ */ jsx7("div", { className: "hsk-cb-user-imgs", children: msg.images.map((img, i) => /* @__PURE__ */ jsx7("img", { src: img, alt: `attachment ${i + 1}`, className: "hsk-cb-user-img-thumb" }, i)) }),
|
|
2022
|
-
msg.content && /* @__PURE__ */
|
|
2023
|
-
|
|
2024
|
-
msg.content
|
|
2025
|
-
] })
|
|
2001
|
+
msg.content && /* @__PURE__ */ jsx7("div", { className: "hsk-cb-user-bubble", children: /^@kiku\b/i.test(msg.content) ? /* @__PURE__ */ jsxs6(Fragment3, { children: [
|
|
2002
|
+
/* @__PURE__ */ jsx7("span", { className: "hsk-kiku-badge", children: "@kiku" }),
|
|
2003
|
+
msg.content.replace(/^@kiku\s*/i, "")
|
|
2004
|
+
] }) : msg.content })
|
|
2026
2005
|
] }) : /* @__PURE__ */ jsxs6("div", { className: "hsk-cb-ai-msg", children: [
|
|
2027
2006
|
/* @__PURE__ */ jsx7("div", { className: "hsk-cb-ai-icon", style: { display: "flex", alignItems: "center" }, children: /* @__PURE__ */ jsx7(SparkleIcon2, {}) }),
|
|
2028
2007
|
/* @__PURE__ */ jsxs6("div", { className: "hsk-cb-ai-body", children: [
|
|
@@ -2031,7 +2010,7 @@ function ChatModal({
|
|
|
2031
2010
|
return /* @__PURE__ */ jsxs6(Fragment3, { children: [
|
|
2032
2011
|
thinking && /* @__PURE__ */ jsx7(ThinkingBlock, { text: thinking, isComplete }),
|
|
2033
2012
|
content && /* @__PURE__ */ jsxs6("div", { className: "hsk-cb-ai-text", children: [
|
|
2034
|
-
renderMarkdown(content),
|
|
2013
|
+
renderMarkdown(content, isLast && streaming),
|
|
2035
2014
|
isLast && streaming && /* @__PURE__ */ jsx7("span", { style: { display: "inline-block", width: "0.5em", height: "1.05em", marginLeft: "2px", verticalAlign: "text-bottom", background: "currentColor", opacity: 0.55, borderRadius: "1px" } })
|
|
2036
2015
|
] })
|
|
2037
2016
|
] });
|
|
@@ -2046,14 +2025,18 @@ function ChatModal({
|
|
|
2046
2025
|
src: msg.visualization,
|
|
2047
2026
|
alt: "Product visualized in your photo",
|
|
2048
2027
|
className: "hsk-markdown-img",
|
|
2049
|
-
|
|
2028
|
+
onError: (e) => {
|
|
2029
|
+
e.target.style.display = "none";
|
|
2030
|
+
}
|
|
2050
2031
|
}
|
|
2051
2032
|
) }),
|
|
2052
2033
|
isLast && lastIntent === "compare" && sources.length >= 2 && /* @__PURE__ */ jsx7(ComparisonMatrix, { sources, defaultCurrency }),
|
|
2053
2034
|
(() => {
|
|
2054
2035
|
const msgReferencedIds = isLast ? referencedIds : msg.referencedIds ?? [];
|
|
2055
2036
|
const msgSources = isLast ? sources : msg.sources ?? [];
|
|
2056
|
-
const
|
|
2037
|
+
const msgIntent = isLast ? lastIntent : msg.intent;
|
|
2038
|
+
const hiddenIntent = msgIntent === "compare" || msgIntent === "capture" || msgIntent === "capture_all" || msgIntent === "delete" || msgIntent === "view_history";
|
|
2039
|
+
const showCarousel = msgReferencedIds.length > 0 && !hiddenIntent && (!isLast || lastAction?.type !== "request_kiku_key");
|
|
2057
2040
|
return showCarousel && /* @__PURE__ */ jsx7(
|
|
2058
2041
|
SourcesCarousel,
|
|
2059
2042
|
{
|
|
@@ -2061,7 +2044,8 @@ function ChatModal({
|
|
|
2061
2044
|
defaultCurrency,
|
|
2062
2045
|
onSelectSource: handleSourceClick,
|
|
2063
2046
|
onImageClick: setLightboxSrc,
|
|
2064
|
-
referencedIds: msgReferencedIds
|
|
2047
|
+
referencedIds: msgReferencedIds,
|
|
2048
|
+
compact: !!msg.visualization
|
|
2065
2049
|
}
|
|
2066
2050
|
);
|
|
2067
2051
|
})(),
|
|
@@ -2099,22 +2083,20 @@ function ChatModal({
|
|
|
2099
2083
|
]
|
|
2100
2084
|
}
|
|
2101
2085
|
),
|
|
2102
|
-
loading && !streaming && /* @__PURE__ */ jsxs6("div", { className: "hsk-cb-typing-row", style: { display: "flex", alignItems: "
|
|
2103
|
-
/* @__PURE__ */
|
|
2104
|
-
|
|
2105
|
-
/* @__PURE__ */ jsx7("
|
|
2106
|
-
@
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
] })
|
|
2117
|
-
] })
|
|
2086
|
+
loading && !streaming && /* @__PURE__ */ jsxs6("div", { className: "hsk-cb-typing-row", style: { display: "flex", alignItems: "center", gap: "10px" }, children: [
|
|
2087
|
+
/* @__PURE__ */ jsxs6("div", { className: "hsk-cb-thinking-icon", children: [
|
|
2088
|
+
/* @__PURE__ */ jsx7("svg", { className: "hsk-brand-mark", viewBox: "0 0 100 100", "aria-hidden": "true", children: /* @__PURE__ */ jsx7("path", { d: "M39.4 10.4 Q44 0 48.6 10.4 L86.1 95.8 Q88 100 83.4 100 L4.6 100 Q0 100 1.9 95.8 Z M24 100 L24 65 Q24 60 27.4 56.3 Q44 38 60.6 56.3 Q64 60 64 65 L64 100 Z", transform: "translate(22.7 19) scale(0.62)", fillRule: "evenodd" }) }),
|
|
2089
|
+
/* @__PURE__ */ jsx7("svg", { className: "hsk-brand-mark hsk-brand-mark--sheen", viewBox: "0 0 100 100", "aria-hidden": "true", children: /* @__PURE__ */ jsx7("path", { d: "M39.4 10.4 Q44 0 48.6 10.4 L86.1 95.8 Q88 100 83.4 100 L4.6 100 Q0 100 1.9 95.8 Z M24 100 L24 65 Q24 60 27.4 56.3 Q44 38 60.6 56.3 Q64 60 64 65 L64 100 Z", transform: "translate(22.7 19) scale(0.62)", fillRule: "evenodd" }) }),
|
|
2090
|
+
/* @__PURE__ */ jsx7("span", { className: "hsk-handle-orbit", children: /* @__PURE__ */ jsxs6("span", { className: "hsk-handle-ring", children: [
|
|
2091
|
+
/* @__PURE__ */ jsx7("span", { className: "hsk-handle-ball" }),
|
|
2092
|
+
/* @__PURE__ */ jsx7("span", { className: "hsk-handle-ball" }),
|
|
2093
|
+
/* @__PURE__ */ jsx7("span", { className: "hsk-handle-ball" }),
|
|
2094
|
+
/* @__PURE__ */ jsx7("span", { className: "hsk-handle-ball" }),
|
|
2095
|
+
/* @__PURE__ */ jsx7("span", { className: "hsk-handle-ball" })
|
|
2096
|
+
] }) }),
|
|
2097
|
+
/* @__PURE__ */ jsx7("span", { className: "hsk-handle-rest" })
|
|
2098
|
+
] }),
|
|
2099
|
+
/* @__PURE__ */ jsx7("span", { className: "hsk-cb-thinking-text", children: "Thinking\u2026" })
|
|
2118
2100
|
] }),
|
|
2119
2101
|
error && /* @__PURE__ */ jsx7("div", { className: "hsk-cb-error", children: getFriendlyError(error) }),
|
|
2120
2102
|
keyPhase === "prompt_key" && /* @__PURE__ */ jsxs6("div", { className: "hsk-cb-ai-msg", children: [
|
|
@@ -2269,7 +2251,7 @@ function ChatModal({
|
|
|
2269
2251
|
}
|
|
2270
2252
|
)
|
|
2271
2253
|
] }),
|
|
2272
|
-
/* @__PURE__ */ jsx7("div", { className: "hsk-cb-hint", children: "
|
|
2254
|
+
/* @__PURE__ */ jsx7("div", { className: "hsk-cb-hint", children: "kiku \xB7 searches the whole catalogue in real time" })
|
|
2273
2255
|
] })
|
|
2274
2256
|
] })
|
|
2275
2257
|
]
|
|
@@ -2376,74 +2358,19 @@ import { useState as useState6, useEffect as useEffect4, useRef as useRef6 } fro
|
|
|
2376
2358
|
import { createPortal as createPortal2 } from "react-dom";
|
|
2377
2359
|
import { useSearch as useSearch2, useKiku as useKiku3, useAkropolysContext as useAkropolysContext4 } from "@akropolys/sdk";
|
|
2378
2360
|
import { Fragment as Fragment4, jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
2379
|
-
var SparkleIcon3 = ({ className, size = 16 }) => /* @__PURE__ */
|
|
2361
|
+
var SparkleIcon3 = ({ className, size = 16 }) => /* @__PURE__ */ jsx8(
|
|
2380
2362
|
"svg",
|
|
2381
2363
|
{
|
|
2382
|
-
className: cn("hsk-brand-
|
|
2364
|
+
className: cn("hsk-brand-mark", className),
|
|
2383
2365
|
width: size,
|
|
2384
2366
|
height: size,
|
|
2385
|
-
viewBox: "0 0
|
|
2386
|
-
fill: "none",
|
|
2367
|
+
viewBox: "0 0 100 100",
|
|
2387
2368
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2388
|
-
"aria-label": "
|
|
2389
|
-
children: [
|
|
2390
|
-
/* @__PURE__ */ jsx8(
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
d: "M14.5 4.5 L6.5 25",
|
|
2394
|
-
stroke: "currentColor",
|
|
2395
|
-
strokeWidth: "2.2",
|
|
2396
|
-
strokeLinecap: "round"
|
|
2397
|
-
}
|
|
2398
|
-
),
|
|
2399
|
-
/* @__PURE__ */ jsx8(
|
|
2400
|
-
"path",
|
|
2401
|
-
{
|
|
2402
|
-
d: "M14.5 4.5 L22.5 25",
|
|
2403
|
-
stroke: "currentColor",
|
|
2404
|
-
strokeWidth: "4.2",
|
|
2405
|
-
strokeLinecap: "round"
|
|
2406
|
-
}
|
|
2407
|
-
),
|
|
2408
|
-
/* @__PURE__ */ jsx8(
|
|
2409
|
-
"path",
|
|
2410
|
-
{
|
|
2411
|
-
d: "M9.5 17 H19.5",
|
|
2412
|
-
stroke: "currentColor",
|
|
2413
|
-
strokeWidth: "2",
|
|
2414
|
-
strokeLinecap: "round"
|
|
2415
|
-
}
|
|
2416
|
-
),
|
|
2417
|
-
/* @__PURE__ */ jsx8(
|
|
2418
|
-
"path",
|
|
2419
|
-
{
|
|
2420
|
-
d: "M3 25 H10",
|
|
2421
|
-
stroke: "currentColor",
|
|
2422
|
-
strokeWidth: "2",
|
|
2423
|
-
strokeLinecap: "round"
|
|
2424
|
-
}
|
|
2425
|
-
),
|
|
2426
|
-
/* @__PURE__ */ jsx8(
|
|
2427
|
-
"path",
|
|
2428
|
-
{
|
|
2429
|
-
d: "M19 25 H26",
|
|
2430
|
-
stroke: "currentColor",
|
|
2431
|
-
strokeWidth: "2.5",
|
|
2432
|
-
strokeLinecap: "round"
|
|
2433
|
-
}
|
|
2434
|
-
),
|
|
2435
|
-
/* @__PURE__ */ jsx8(
|
|
2436
|
-
"path",
|
|
2437
|
-
{
|
|
2438
|
-
d: "M8.5 2.5 C10 2.5, 11 3.5, 11 5 C11 7, 8.5 8.5, 7.5 9.5",
|
|
2439
|
-
stroke: "currentColor",
|
|
2440
|
-
strokeWidth: "2",
|
|
2441
|
-
strokeLinecap: "round",
|
|
2442
|
-
fill: "none",
|
|
2443
|
-
className: "hsk-akr-breath"
|
|
2444
|
-
}
|
|
2445
|
-
)
|
|
2446
|
-
]
|
|
2369
|
+
"aria-label": "kiku",
|
|
2370
|
+
children: /* @__PURE__ */ jsxs7("g", { transform: "translate(22.7 19) scale(0.62)", fill: "currentColor", fillRule: "evenodd", children: [
|
|
2371
|
+
/* @__PURE__ */ jsx8("path", { d: "M39.4 10.4 Q44 0 48.6 10.4 L86.1 95.8 Q88 100 83.4 100 L4.6 100 Q0 100 1.9 95.8 Z M24 100 L24 65 Q24 60 27.4 56.3 Q44 38 60.6 56.3 Q64 60 64 65 L64 100 Z" }),
|
|
2372
|
+
/* @__PURE__ */ jsx8("circle", { cx: "55", cy: "82", r: "3.4" })
|
|
2373
|
+
] })
|
|
2447
2374
|
}
|
|
2448
2375
|
);
|
|
2449
2376
|
var CloseIcon2 = () => /* @__PURE__ */ jsxs7("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
@@ -2605,7 +2532,7 @@ Question: ${q}`;
|
|
|
2605
2532
|
}
|
|
2606
2533
|
)
|
|
2607
2534
|
] }),
|
|
2608
|
-
/* @__PURE__ */ jsx8("div", { className: "hsk-sp-header-sub", children: "
|
|
2535
|
+
/* @__PURE__ */ jsx8("div", { className: "hsk-sp-header-sub", children: "kiku" })
|
|
2609
2536
|
] }),
|
|
2610
2537
|
/* @__PURE__ */ jsx8("button", { className: "hsk-sp-close", onClick: onClose, "aria-label": "Close", children: /* @__PURE__ */ jsx8(CloseIcon2, {}) })
|
|
2611
2538
|
] }),
|