@akropolys/kiku 1.7.0 → 1.7.1
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 +98 -173
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +98 -173
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +183 -282
- 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,6 +1317,24 @@ function AtPickerMenu({ onSelect, onDismiss }) {
|
|
|
1345
1317
|
}
|
|
1346
1318
|
);
|
|
1347
1319
|
}
|
|
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
|
+
}
|
|
1348
1338
|
function SourcesCarousel({ sources, defaultCurrency, onSelectSource, onImageClick, referencedIds = [] }) {
|
|
1349
1339
|
const client = useAkropolysContext3();
|
|
1350
1340
|
const isProperty = client?.vertical === "property";
|
|
@@ -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
|
{
|
|
@@ -2099,22 +2082,19 @@ function ChatModal({
|
|
|
2099
2082
|
]
|
|
2100
2083
|
}
|
|
2101
2084
|
),
|
|
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
|
-
/* @__PURE__ */
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
/* @__PURE__ */ jsx7("div", { className: "hsk-cb-dot" })
|
|
2116
|
-
] })
|
|
2117
|
-
] })
|
|
2085
|
+
loading && !streaming && /* @__PURE__ */ jsxs6("div", { className: "hsk-cb-typing-row", style: { display: "flex", alignItems: "center", gap: "10px" }, children: [
|
|
2086
|
+
/* @__PURE__ */ jsxs6("div", { className: "hsk-cb-thinking-icon", children: [
|
|
2087
|
+
/* @__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" }) }),
|
|
2088
|
+
/* @__PURE__ */ jsx7("span", { className: "hsk-handle-orbit", children: /* @__PURE__ */ jsxs6("span", { className: "hsk-handle-ring", children: [
|
|
2089
|
+
/* @__PURE__ */ jsx7("span", { className: "hsk-handle-ball" }),
|
|
2090
|
+
/* @__PURE__ */ jsx7("span", { className: "hsk-handle-ball" }),
|
|
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
|
+
] }) }),
|
|
2095
|
+
/* @__PURE__ */ jsx7("span", { className: "hsk-handle-rest" })
|
|
2096
|
+
] }),
|
|
2097
|
+
/* @__PURE__ */ jsx7("span", { className: "hsk-cb-thinking-text", children: "Thinking\u2026" })
|
|
2118
2098
|
] }),
|
|
2119
2099
|
error && /* @__PURE__ */ jsx7("div", { className: "hsk-cb-error", children: getFriendlyError(error) }),
|
|
2120
2100
|
keyPhase === "prompt_key" && /* @__PURE__ */ jsxs6("div", { className: "hsk-cb-ai-msg", children: [
|
|
@@ -2269,7 +2249,7 @@ function ChatModal({
|
|
|
2269
2249
|
}
|
|
2270
2250
|
)
|
|
2271
2251
|
] }),
|
|
2272
|
-
/* @__PURE__ */ jsx7("div", { className: "hsk-cb-hint", children: "
|
|
2252
|
+
/* @__PURE__ */ jsx7("div", { className: "hsk-cb-hint", children: "kiku \xB7 searches the whole catalogue in real time" })
|
|
2273
2253
|
] })
|
|
2274
2254
|
] })
|
|
2275
2255
|
]
|
|
@@ -2376,74 +2356,19 @@ import { useState as useState6, useEffect as useEffect4, useRef as useRef6 } fro
|
|
|
2376
2356
|
import { createPortal as createPortal2 } from "react-dom";
|
|
2377
2357
|
import { useSearch as useSearch2, useKiku as useKiku3, useAkropolysContext as useAkropolysContext4 } from "@akropolys/sdk";
|
|
2378
2358
|
import { Fragment as Fragment4, jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
2379
|
-
var SparkleIcon3 = ({ className, size = 16 }) => /* @__PURE__ */
|
|
2359
|
+
var SparkleIcon3 = ({ className, size = 16 }) => /* @__PURE__ */ jsx8(
|
|
2380
2360
|
"svg",
|
|
2381
2361
|
{
|
|
2382
|
-
className: cn("hsk-brand-
|
|
2362
|
+
className: cn("hsk-brand-mark", className),
|
|
2383
2363
|
width: size,
|
|
2384
2364
|
height: size,
|
|
2385
|
-
viewBox: "0 0
|
|
2386
|
-
fill: "none",
|
|
2365
|
+
viewBox: "0 0 100 100",
|
|
2387
2366
|
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
|
-
]
|
|
2367
|
+
"aria-label": "kiku",
|
|
2368
|
+
children: /* @__PURE__ */ jsxs7("g", { transform: "translate(22.7 19) scale(0.62)", fill: "currentColor", fillRule: "evenodd", children: [
|
|
2369
|
+
/* @__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" }),
|
|
2370
|
+
/* @__PURE__ */ jsx8("circle", { cx: "55", cy: "82", r: "3.4" })
|
|
2371
|
+
] })
|
|
2447
2372
|
}
|
|
2448
2373
|
);
|
|
2449
2374
|
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 +2530,7 @@ Question: ${q}`;
|
|
|
2605
2530
|
}
|
|
2606
2531
|
)
|
|
2607
2532
|
] }),
|
|
2608
|
-
/* @__PURE__ */ jsx8("div", { className: "hsk-sp-header-sub", children: "
|
|
2533
|
+
/* @__PURE__ */ jsx8("div", { className: "hsk-sp-header-sub", children: "kiku" })
|
|
2609
2534
|
] }),
|
|
2610
2535
|
/* @__PURE__ */ jsx8("button", { className: "hsk-sp-close", onClick: onClose, "aria-label": "Close", children: /* @__PURE__ */ jsx8(CloseIcon2, {}) })
|
|
2611
2536
|
] }),
|