@bitbaum/chatkit 0.10.0 → 0.12.0
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/README.md +40 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/react/AnswerActions.d.ts.map +1 -1
- package/dist/react/AnswerActions.js +2 -1
- package/dist/react/AnswerActions.js.map +1 -1
- package/dist/react/Markdown.d.ts +3 -1
- package/dist/react/Markdown.d.ts.map +1 -1
- package/dist/react/Markdown.js +12 -2
- package/dist/react/Markdown.js.map +1 -1
- package/dist/react/RichBlock.d.ts +6 -0
- package/dist/react/RichBlock.d.ts.map +1 -0
- package/dist/react/RichBlock.js +30 -0
- package/dist/react/RichBlock.js.map +1 -0
- package/dist/react/Thread.d.ts.map +1 -1
- package/dist/react/Thread.js +1 -1
- package/dist/react/Thread.js.map +1 -1
- package/dist/react/index.d.ts +1 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +1 -0
- package/dist/react/index.js.map +1 -1
- package/dist/rich.d.ts +49 -0
- package/dist/rich.d.ts.map +1 -0
- package/dist/rich.js +109 -0
- package/dist/rich.js.map +1 -0
- package/dist/speech.d.ts.map +1 -1
- package/dist/speech.js +2 -1
- package/dist/speech.js.map +1 -1
- package/package.json +1 -1
- package/styles.css +210 -0
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ interface that calls them.)
|
|
|
15
15
|
## Install
|
|
16
16
|
|
|
17
17
|
```sh
|
|
18
|
-
pnpm add @bitbaum/chatkit@^0.
|
|
18
|
+
pnpm add @bitbaum/chatkit@^0.11.0
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
**Install releases from npm, never a commit or a branch.** A semver range is
|
|
@@ -312,3 +312,42 @@ pnpm run verify # everything CI runs
|
|
|
312
312
|
```
|
|
313
313
|
|
|
314
314
|
MIT © Cato
|
|
315
|
+
|
|
316
|
+
### Visual answers (0.11)
|
|
317
|
+
|
|
318
|
+
Append `RICH_ANSWERS_INSTRUCTION` from `@bitbaum/chatkit` to a conversational
|
|
319
|
+
system prompt, alongside `REPLIES_INSTRUCTION`. The model can place fenced
|
|
320
|
+
`chat_ui` JSON blocks inline in its answer: galleries with captions and a
|
|
321
|
+
full-size image sheet, dependency diagrams, recommendation callouts, and
|
|
322
|
+
single-choice follow-ups. Markdown tables and step lists remain available.
|
|
323
|
+
`Markdown` renders these automatically; pass `onReply={send}` for choice forms.
|
|
324
|
+
`ChatThread` wires that callback only on the latest answer and disables it
|
|
325
|
+
while another turn is running. Historical forms remain readable.
|
|
326
|
+
|
|
327
|
+
Products keep their own model routing, tools, evidence rules, auth and `--ck-*`
|
|
328
|
+
tokens. For a JSON-output assistant such as Heidi, ask for rich blocks only
|
|
329
|
+
inside its free-text explanation string, never outside the answer envelope.
|
|
330
|
+
Images must come from supplied context or tool results. No HTML or executable
|
|
331
|
+
SVG is accepted. Images suppress referrers and broken thumbnails retain their
|
|
332
|
+
text labels. Blocks are bounded and validated; incomplete/invalid blocks are
|
|
333
|
+
hidden, so always include the takeaway in ordinary prose too. Diagram edges
|
|
334
|
+
retain their direction and labels, including branches and cycles.
|
|
335
|
+
|
|
336
|
+
Release this package before updating consumer lockfiles to `^0.11.0`.
|
|
337
|
+
Run `pnpm run verify`; `demo/index.html` is the visual reference in light/dark
|
|
338
|
+
and at phone width. The diagram and gallery artwork in the demo is a fixture.
|
|
339
|
+
|
|
340
|
+
### Audio in answers
|
|
341
|
+
|
|
342
|
+
A validated `chat_ui` block can attach a real audio asset:
|
|
343
|
+
|
|
344
|
+
```json
|
|
345
|
+
{"type":"audio","title":"Morning sketch","src":"/provided.wav","creator":"Studio","caption":"An original instrumental draft"}
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
The native player waits for explicit playback and does not preload the file.
|
|
349
|
+
Only attach URLs supplied by a person or a completed tool. Generation and
|
|
350
|
+
catalogue access belong to the app's media tools: this renderer does not
|
|
351
|
+
create a song or grant rights to redistribute it. Copy and speech preserve the
|
|
352
|
+
track's title, creator and caption. The demo WAV is an original synthesized
|
|
353
|
+
fixture; it is not a commercial track or a model-generated recording.
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnswerActions.d.ts","sourceRoot":"","sources":["../../src/react/AnswerActions.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AnswerActions.d.ts","sourceRoot":"","sources":["../../src/react/AnswerActions.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAsB,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAOhE,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,mBAO3C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EAAE,SAAS,EACjB,QAAQ,GACT,EAAE;IACD,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,sFAAsF;IACtF,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,+BAoFA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { richAnswerText } from "../rich.js";
|
|
3
4
|
import { useSyncExternalStore } from "react";
|
|
4
5
|
import { formatElapsed } from "../composer.js";
|
|
5
6
|
import { plainTextForSpeech } from "../speech.js";
|
|
@@ -35,7 +36,7 @@ export function AnswerActions({ text, onRetry, speaker, share, labels: overrides
|
|
|
35
36
|
if (speech.speaking) {
|
|
36
37
|
return (_jsxs("div", { className: "ck-turn-actions ck-player", role: "status", "aria-live": "polite", children: [_jsxs("button", { type: "button", className: "ck-action ck-action-stop", onClick: speech.stop, "aria-label": labels.stop, children: [_jsx(IconStop, {}), _jsx("span", { children: labels.stop })] }), _jsx("span", { className: "ck-player-wave", "aria-hidden": true, children: Array.from({ length: 7 }).map((_, i) => (_jsx("span", {}, i))) }), _jsx("span", { className: "ck-player-time", children: formatElapsed(speech.elapsed) })] }));
|
|
37
38
|
}
|
|
38
|
-
return (_jsxs("div", { className: "ck-turn-actions", children: [_jsxs("button", { type: "button", className: "ck-action", onClick: () => copy(text), "aria-label": copied ? labels.copied : labels.copy, children: [copied ? _jsx(IconCheck, {}) : _jsx(IconCopy, {}), _jsx("span", { children: copied ? labels.copied : labels.copy })] }), speech.supported && (_jsxs("button", { type: "button", className: "ck-action", onClick: () => speech.speak(text), "aria-label": labels.listen, children: [_jsx(IconSpeaker, {}), _jsx("span", { children: labels.listen })] })), canShare && share !== false && (_jsxs("button", { type: "button", className: "ck-action",
|
|
39
|
+
return (_jsxs("div", { className: "ck-turn-actions", children: [_jsxs("button", { type: "button", className: "ck-action", onClick: () => copy(richAnswerText(text)), "aria-label": copied ? labels.copied : labels.copy, children: [copied ? _jsx(IconCheck, {}) : _jsx(IconCopy, {}), _jsx("span", { children: copied ? labels.copied : labels.copy })] }), speech.supported && (_jsxs("button", { type: "button", className: "ck-action", onClick: () => speech.speak(text), "aria-label": labels.listen, children: [_jsx(IconSpeaker, {}), _jsx("span", { children: labels.listen })] })), canShare && share !== false && (_jsxs("button", { type: "button", className: "ck-action",
|
|
39
40
|
// A dismissed share sheet rejects; that is the person changing their
|
|
40
41
|
// mind, not an error to report.
|
|
41
42
|
onClick: () => void navigator
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnswerActions.js","sourceRoot":"","sources":["../../src/react/AnswerActions.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,oBAAoB,EAAkB,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAgB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9F,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;AAWnC,MAAM,CAAC,MAAM,6BAA6B,GAAwB;IAChE,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,WAAW;CACnB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,IAAI,EACJ,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EAAE,SAAS,EACjB,QAAQ,GAWT;IACC,MAAM,MAAM,GAAG,EAAE,GAAG,6BAA6B,EAAE,GAAG,SAAS,EAAE,CAAC;IAClE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,oBAAoB,CACnC,WAAW,EACX,GAAG,EAAE,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,UAAU,EAC/E,GAAG,EAAE,CAAC,KAAK,CACZ,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,CACL,eAAK,SAAS,EAAC,2BAA2B,EAAC,IAAI,EAAC,QAAQ,eAAW,QAAQ,aACzE,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,MAAM,CAAC,IAAI,gBACR,MAAM,CAAC,IAAI,aAEvB,KAAC,QAAQ,KAAG,EACZ,yBAAO,MAAM,CAAC,IAAI,GAAQ,IACnB,EACT,eAAM,SAAS,EAAC,gBAAgB,iCAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACvC,iBAAW,CAAC,CAAI,CACjB,CAAC,GACG,EACP,eAAM,SAAS,EAAC,gBAAgB,YAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,GAAQ,IACnE,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,iBAAiB,aAC9B,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,WAAW,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"AnswerActions.js","sourceRoot":"","sources":["../../src/react/AnswerActions.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAkB,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAgB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9F,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;AAWnC,MAAM,CAAC,MAAM,6BAA6B,GAAwB;IAChE,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,WAAW;CACnB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,IAAI,EACJ,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EAAE,SAAS,EACjB,QAAQ,GAWT;IACC,MAAM,MAAM,GAAG,EAAE,GAAG,6BAA6B,EAAE,GAAG,SAAS,EAAE,CAAC;IAClE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,oBAAoB,CACnC,WAAW,EACX,GAAG,EAAE,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,UAAU,EAC/E,GAAG,EAAE,CAAC,KAAK,CACZ,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,CACL,eAAK,SAAS,EAAC,2BAA2B,EAAC,IAAI,EAAC,QAAQ,eAAW,QAAQ,aACzE,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,MAAM,CAAC,IAAI,gBACR,MAAM,CAAC,IAAI,aAEvB,KAAC,QAAQ,KAAG,EACZ,yBAAO,MAAM,CAAC,IAAI,GAAQ,IACnB,EACT,eAAM,SAAS,EAAC,gBAAgB,iCAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACvC,iBAAW,CAAC,CAAI,CACjB,CAAC,GACG,EACP,eAAM,SAAS,EAAC,gBAAgB,YAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,GAAQ,IACnE,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,iBAAiB,aAC9B,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,WAAW,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,gBAC7B,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,aAE/C,MAAM,CAAC,CAAC,CAAC,KAAC,SAAS,KAAG,CAAC,CAAC,CAAC,KAAC,QAAQ,KAAG,EACtC,yBAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAQ,IAC5C,EACR,MAAM,CAAC,SAAS,IAAI,CACnB,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,WAAW,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,gBACrB,MAAM,CAAC,MAAM,aAEzB,KAAC,WAAW,KAAG,EACf,yBAAO,MAAM,CAAC,MAAM,GAAQ,IACrB,CACV,EACA,QAAQ,IAAI,KAAK,KAAK,KAAK,IAAI,CAC9B,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,WAAW;gBACrB,qEAAqE;gBACrE,gCAAgC;gBAChC,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,SAAS;qBACX,KAAK,CAAC;oBACL,KAAK,EAAE,KAAK,EAAE,KAAK;oBACnB,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC;oBAC7C,GAAG,EAAE,KAAK,EAAE,GAAG;iBAChB,CAAC;qBACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,gBAER,MAAM,CAAC,KAAK,aAExB,KAAC,SAAS,KAAG,EACb,yBAAO,MAAM,CAAC,KAAK,GAAQ,IACpB,CACV,EACA,OAAO,IAAI,CACV,kBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,WAAW,EAAC,OAAO,EAAE,OAAO,aAC1D,KAAC,SAAS,KAAG,EACb,yBAAO,MAAM,CAAC,KAAK,GAAQ,IACpB,CACV,EACA,QAAQ,IACL,CACP,CAAC;AACJ,CAAC"}
|
package/dist/react/Markdown.d.ts
CHANGED
|
@@ -61,8 +61,10 @@ export declare const defaultRenderCitation: RenderCitation;
|
|
|
61
61
|
* instead of breaking the page; the sources an answer cites are listed once
|
|
62
62
|
* under it as chips.
|
|
63
63
|
*/
|
|
64
|
-
export declare function Markdown({ text, citations, renderLink, renderCitation, renderSources, sources, sourcesLabel, className, }: {
|
|
64
|
+
export declare function Markdown({ text, citations, renderLink, renderCitation, renderSources, sources, sourcesLabel, className, onReply, }: {
|
|
65
65
|
text: string;
|
|
66
|
+
/** A visual choice sends a normal conversation message. Omit while streaming. */
|
|
67
|
+
onReply?: (text: string) => void;
|
|
66
68
|
citations?: CitationMap;
|
|
67
69
|
renderLink?: RenderLink;
|
|
68
70
|
renderCitation?: RenderCitation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../src/react/Markdown.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../src/react/Markdown.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAgBjD;;2BAE2B;AAC3B,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE3F,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;CACrB,KAAK,SAAS,CAAC;AAEhB;;yBAEyB;AACzB,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE;IAClC,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB,KAAK,SAAS,CAAC;AAEhB;uEACuE;AACvE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE;IACpC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxE,KAAK,EAAE,MAAM,CAAC;CACf,KAAK,SAAS,CAAC;AAEhB,8EAA8E;AAC9E,eAAO,MAAM,iBAAiB,EAAE,UAS7B,CAAC;AAEJ;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,KAAK,EACL,UAA8B,GAC/B,EAAE;IACD,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,sCA+EA;AAED,eAAO,MAAM,qBAAqB,EAAE,cASnC,CAAC;AAwEF;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,SAAS,EACT,UAA8B,EAC9B,cAAsC,EACtC,aAAa,EACb,OAAc,EACd,YAAwB,EACxB,SAAS,EACT,OAAO,GACR,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,gFAAgF;IAChF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BA2IA"}
|
package/dist/react/Markdown.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useState } from "react";
|
|
4
|
+
import { parseRichBlock } from "../rich.js";
|
|
5
|
+
import { RichAnswerBlock } from "./RichBlock.js";
|
|
4
6
|
import { IconBook } from "./icons.js";
|
|
5
7
|
import { Sheet, prefersSheet } from "./Sheet.js";
|
|
6
8
|
import { citedIds, isCardList, isInternalHref, listLead, parseBlocks, parseInline, } from "../markdown.js";
|
|
@@ -84,7 +86,7 @@ function Inline({ spans, citations, renderLink, renderCitation, }) {
|
|
|
84
86
|
* instead of breaking the page; the sources an answer cites are listed once
|
|
85
87
|
* under it as chips.
|
|
86
88
|
*/
|
|
87
|
-
export function Markdown({ text, citations, renderLink = defaultRenderLink, renderCitation = defaultRenderCitation, renderSources, sources = true, sourcesLabel = "Sources", className, }) {
|
|
89
|
+
export function Markdown({ text, citations, renderLink = defaultRenderLink, renderCitation = defaultRenderCitation, renderSources, sources = true, sourcesLabel = "Sources", className, onReply, }) {
|
|
88
90
|
const inline = (t) => (_jsx(Inline, { spans: parseInline(t), citations: citations, renderLink: renderLink, renderCitation: renderCitation }));
|
|
89
91
|
const items = (list, ordered, start = 1) => {
|
|
90
92
|
const List = ordered ? "ol" : "ul";
|
|
@@ -97,8 +99,16 @@ export function Markdown({ text, citations, renderLink = defaultRenderLink, rend
|
|
|
97
99
|
const cited = citations ? citedIds(text).filter((id) => citations[id]) : [];
|
|
98
100
|
return (_jsxs("div", { className: className ? `ck-md ${className}` : "ck-md", children: [parseBlocks(text).map((b, i) => {
|
|
99
101
|
switch (b.kind) {
|
|
100
|
-
case "code":
|
|
102
|
+
case "code": {
|
|
103
|
+
if (b.lang === "chat_ui") {
|
|
104
|
+
const block = parseRichBlock(b.code);
|
|
105
|
+
if (block)
|
|
106
|
+
return _jsx(RichAnswerBlock, { block: block, onReply: onReply }, i);
|
|
107
|
+
// A partial JSON block must not flash in the conversation.
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
101
110
|
return (_jsx("pre", { className: "ck-pre", "data-lang": b.lang || undefined, children: _jsx("code", { children: b.code }) }, i));
|
|
111
|
+
}
|
|
102
112
|
case "ul":
|
|
103
113
|
return (_jsx("div", { children: isCardList(b.items) ? cards(b.items, false) : items(b.items, false) }, i));
|
|
104
114
|
case "ol":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../src/react/Markdown.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../src/react/Markdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichBlock.d.ts","sourceRoot":"","sources":["../../src/react/RichBlock.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,OAAO,GACR,EAAE;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,+BAuIA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useId, useState } from "react";
|
|
4
|
+
import { Sheet } from "./Sheet.js";
|
|
5
|
+
export function RichAnswerBlock({ block, onReply, }) {
|
|
6
|
+
const id = useId();
|
|
7
|
+
const [selected, setSelected] = useState(null);
|
|
8
|
+
const [sent, setSent] = useState(false);
|
|
9
|
+
const [photo, setPhoto] = useState(null);
|
|
10
|
+
if (block.type === "audio")
|
|
11
|
+
return (_jsxs("figure", { className: "ck-rich ck-audio", children: [_jsx("figcaption", { className: "ck-rich-title", children: block.title }), block.creator && _jsx("p", { children: block.creator }), _jsx("audio", { controls: true, preload: "none", src: block.src, "aria-label": block.title }), block.caption && _jsx("p", { children: block.caption }), _jsxs("a", { href: block.src, target: "_blank", rel: "noopener noreferrer", children: [block.title, " \u2197"] })] }));
|
|
12
|
+
if (block.type === "gallery") {
|
|
13
|
+
const active = photo === null ? null : block.images[photo];
|
|
14
|
+
return (_jsxs("figure", { className: "ck-rich ck-gallery", children: [_jsx("figcaption", { className: "ck-rich-title", children: block.title }), _jsx("div", { className: "ck-gallery-grid", children: block.images.map((item, i) => (_jsxs("figure", { children: [_jsxs("button", { type: "button", className: "ck-photo", onClick: () => setPhoto(i), "aria-label": item.alt, "aria-haspopup": "dialog", children: [_jsx("img", { src: item.src, alt: item.alt, loading: "lazy", referrerPolicy: "no-referrer", onError: (e) => {
|
|
15
|
+
e.currentTarget.hidden = true;
|
|
16
|
+
} }), _jsx("span", { className: "ck-photo-label", children: item.alt })] }), item.caption && _jsx("figcaption", { children: item.caption })] }, i))) }), _jsxs(Sheet, { open: !!active, onClose: () => setPhoto(null), title: active?.alt ?? block.title, children: [active && (_jsx("img", { className: "ck-photo-full", src: active.src, alt: active.alt, referrerPolicy: "no-referrer" })), active?.caption && _jsx("p", { children: active.caption })] })] }));
|
|
17
|
+
}
|
|
18
|
+
if (block.type === "diagram")
|
|
19
|
+
return (_jsxs("figure", { className: "ck-rich ck-diagram", children: [_jsx("figcaption", { className: "ck-rich-title", children: block.title }), _jsx("ol", { className: "ck-diagram-nodes", children: block.nodes.map((n, i) => (_jsxs("li", { children: [_jsx("span", { className: "ck-diagram-number", "aria-hidden": true, children: i + 1 }), _jsxs("div", { children: [_jsx("strong", { children: n.label }), n.detail && _jsx("p", { children: n.detail })] })] }, n.id))) }), block.edges.length > 0 && (_jsx("ul", { className: "ck-diagram-edges", children: block.edges.map((e, i) => (_jsxs("li", { children: [_jsx("span", { children: block.nodes.find((n) => n.id === e.from).label }), _jsx("span", { className: "ck-diagram-arrow", "aria-hidden": true, children: "\u2192" }), _jsx("span", { children: block.nodes.find((n) => n.id === e.to).label }), e.label && _jsx("small", { children: e.label })] }, i))) }))] }));
|
|
20
|
+
if (block.type === "callout")
|
|
21
|
+
return (_jsxs("aside", { className: "ck-rich ck-callout", children: [_jsx("strong", { className: "ck-rich-title", children: block.title }), _jsx("p", { children: block.body })] }));
|
|
22
|
+
return (_jsx("form", { className: "ck-rich ck-choice", onSubmit: (e) => {
|
|
23
|
+
e.preventDefault();
|
|
24
|
+
if (selected !== null && onReply && !sent) {
|
|
25
|
+
setSent(true);
|
|
26
|
+
onReply(block.options[selected].reply);
|
|
27
|
+
}
|
|
28
|
+
}, children: _jsxs("fieldset", { disabled: !onReply || sent, children: [_jsx("legend", { className: "ck-rich-title", children: block.title }), block.options.map((option, i) => (_jsxs("label", { className: "ck-choice-option", children: [_jsx("input", { type: "radio", name: id, value: i, checked: selected === i, onChange: () => setSelected(i) }), _jsx("span", { children: option.label })] }, i))), onReply && (_jsxs("button", { type: "submit", className: "ck-choice-submit", disabled: selected === null || sent, children: [block.submit, _jsx("span", { "aria-hidden": true, children: "\u2192" })] }))] }) }));
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=RichBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichBlock.js","sourceRoot":"","sources":["../../src/react/RichBlock.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Thread.d.ts","sourceRoot":"","sources":["../../src/react/Thread.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAA+B,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAG/F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C,MAAM,MAAM,WAAW,GAAG;IACxB,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,YAanC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,OAAO,EACP,UAA8B,EAC9B,WAAkB,EAClB,MAAM,EACN,IAAY,EACZ,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAA8B,GAC/B,EAAE;IACD,OAAO,EAAE,eAAe,CAAC;IACzB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,iEAAiE;IACjE,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IACjD,qEAAqE;IACrE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,+
|
|
1
|
+
{"version":3,"file":"Thread.d.ts","sourceRoot":"","sources":["../../src/react/Thread.tsx"],"names":[],"mappings":"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"}
|
package/dist/react/Thread.js
CHANGED
|
@@ -39,7 +39,7 @@ export function ChatMessage({ message, onRetry, renderLink = defaultRenderLink,
|
|
|
39
39
|
// a phone must not stand between them.
|
|
40
40
|
if (last || message.failed)
|
|
41
41
|
cls.push("ck-turn-pinned");
|
|
42
|
-
return (_jsxs("div", { className: cls.join(" "), children: [showSpeaker && message.speaker && _jsx("span", { className: "ck-speaker", children: message.speaker.name }), message.failed ? (_jsx("p", { className: "ck-failed", role: "status", children: message.content || labels.failed })) : (_jsx(Markdown, { text: parsed.text, citations: message.citations, renderLink: renderLink })), footer, message.failed ? (onRetry && (_jsx("div", { className: "ck-turn-actions", children: _jsxs("button", { type: "button", className: "ck-action", onClick: onRetry, children: [_jsx(IconRetry, {}), _jsx("span", { children: labels.retry })] }) }))) : (_jsx(AnswerActions, { text: parsed.text, onRetry: onRetry, speaker: speaker, share: share, labels: labels })), last && onReply && !message.failed && replies.length > 0 && (_jsx(ChatReplies, { replies: replies, onPick: onReply, label: labels.replies }))] }));
|
|
42
|
+
return (_jsxs("div", { className: cls.join(" "), children: [showSpeaker && message.speaker && _jsx("span", { className: "ck-speaker", children: message.speaker.name }), message.failed ? (_jsx("p", { className: "ck-failed", role: "status", children: message.content || labels.failed })) : (_jsx(Markdown, { text: parsed.text, citations: message.citations, renderLink: renderLink, onReply: last ? onReply : undefined })), footer, message.failed ? (onRetry && (_jsx("div", { className: "ck-turn-actions", children: _jsxs("button", { type: "button", className: "ck-action", onClick: onRetry, children: [_jsx(IconRetry, {}), _jsx("span", { children: labels.retry })] }) }))) : (_jsx(AnswerActions, { text: parsed.text, onRetry: onRetry, speaker: speaker, share: share, labels: labels })), last && onReply && !message.failed && replies.length > 0 && (_jsx(ChatReplies, { replies: replies, onPick: onReply, label: labels.replies }))] }));
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
45
|
* The replies under an answer. Exported for apps that render their own
|
package/dist/react/Thread.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Thread.js","sourceRoot":"","sources":["../../src/react/Thread.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAqC,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAwChE,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,kCAAkC;IAC3C,IAAI,EAAE,4BAA4B;IAClC,MAAM,EAAE,0BAA0B;IAClC,OAAO,EAAE,sBAAsB;IAC/B,OAAO,EAAE,mBAAmB;CAC7B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,OAAO,EACP,OAAO,EACP,UAAU,GAAG,iBAAiB,EAC9B,WAAW,GAAG,IAAI,EAClB,MAAM,EACN,IAAI,GAAG,KAAK,EACZ,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,GAAG,qBAAqB,GAkB/B;IACC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,CACL,cAAK,SAAS,EAAC,sBAAsB,YACnC,cAAK,SAAS,EAAC,WAAW,YAAE,OAAO,CAAC,OAAO,GAAO,GAC9C,CACP,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;IAClD,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IACnE,4EAA4E;IAC5E,2EAA2E;IAC3E,uCAAuC;IACvC,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACvD,OAAO,CACL,eAAK,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,aAC1B,WAAW,IAAI,OAAO,CAAC,OAAO,IAAI,eAAM,SAAS,EAAC,YAAY,YAAE,OAAO,CAAC,OAAO,CAAC,IAAI,GAAQ,EAC5F,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAChB,YAAG,SAAS,EAAC,WAAW,EAAC,IAAI,EAAC,QAAQ,YACnC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,GAC/B,CACL,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"Thread.js","sourceRoot":"","sources":["../../src/react/Thread.tsx"],"names":[],"mappings":"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"}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -26,4 +26,5 @@ export type { AttachMenuLabels } from "./AttachMenu.js";
|
|
|
26
26
|
export { useAttachments } from "./use-attachments.js";
|
|
27
27
|
export type { AttachmentsController } from "./use-attachments.js";
|
|
28
28
|
export { useClipboard, useStickToBottom, useViewportHeight, useAutoGrow } from "./hooks.js";
|
|
29
|
+
export { RichAnswerBlock } from "./RichBlock.js";
|
|
29
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAClE,YAAY,EACV,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAClF,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAClE,YAAY,EACV,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAClF,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/react/index.js
CHANGED
|
@@ -18,4 +18,5 @@ export { useDictation } from "./use-dictation.js";
|
|
|
18
18
|
export { AttachMenu, DEFAULT_ATTACH_MENU_LABELS } from "./AttachMenu.js";
|
|
19
19
|
export { useAttachments } from "./use-attachments.js";
|
|
20
20
|
export { useClipboard, useStickToBottom, useViewportHeight, useAutoGrow } from "./hooks.js";
|
|
21
|
+
export { RichAnswerBlock } from "./RichBlock.js";
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
package/dist/react/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAOlE,OAAO,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAOlE,OAAO,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/rich.d.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/** Declarative answer blocks. Model output is data, never HTML or executable SVG. */
|
|
2
|
+
export type RichBlock = {
|
|
3
|
+
type: "audio";
|
|
4
|
+
title: string;
|
|
5
|
+
src: string;
|
|
6
|
+
creator?: string;
|
|
7
|
+
caption?: string;
|
|
8
|
+
} | {
|
|
9
|
+
type: "gallery";
|
|
10
|
+
title: string;
|
|
11
|
+
images: {
|
|
12
|
+
src: string;
|
|
13
|
+
alt: string;
|
|
14
|
+
caption?: string;
|
|
15
|
+
}[];
|
|
16
|
+
} | {
|
|
17
|
+
type: "diagram";
|
|
18
|
+
title: string;
|
|
19
|
+
nodes: {
|
|
20
|
+
id: string;
|
|
21
|
+
label: string;
|
|
22
|
+
detail?: string;
|
|
23
|
+
}[];
|
|
24
|
+
edges: {
|
|
25
|
+
from: string;
|
|
26
|
+
to: string;
|
|
27
|
+
label?: string;
|
|
28
|
+
}[];
|
|
29
|
+
} | {
|
|
30
|
+
type: "callout";
|
|
31
|
+
title: string;
|
|
32
|
+
body: string;
|
|
33
|
+
} | {
|
|
34
|
+
type: "choices";
|
|
35
|
+
title: string;
|
|
36
|
+
options: {
|
|
37
|
+
label: string;
|
|
38
|
+
reply: string;
|
|
39
|
+
}[];
|
|
40
|
+
submit: string;
|
|
41
|
+
};
|
|
42
|
+
/** Web images or same-origin assets only; no embedded markup or protocol-relative URLs. */
|
|
43
|
+
export declare function safeImageSrc(value: unknown): string | null;
|
|
44
|
+
/** Invalid or oversized blocks are rejected without crashing the answer. */
|
|
45
|
+
export declare function parseRichBlock(raw: string): RichBlock | null;
|
|
46
|
+
export declare const RICH_ANSWERS_INSTRUCTION: string;
|
|
47
|
+
/** Copy, share and voice keep the content of a visual, never its wire JSON. */
|
|
48
|
+
export declare function richAnswerText(text: string): string;
|
|
49
|
+
//# sourceMappingURL=rich.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rich.d.ts","sourceRoot":"","sources":["../src/rich.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACjF;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,GAC5F;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxD,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvD,GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AASpG,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAY1D;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAsE5D;AAED,eAAO,MAAM,wBAAwB,QAUzB,CAAC;AAEb,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBnD"}
|
package/dist/rich.js
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
const record = (v) => !!v && typeof v === "object" && !Array.isArray(v);
|
|
2
|
+
const str = (v, max = 2000) => typeof v === "string" && !!v.trim() && v.length <= max;
|
|
3
|
+
const list = (v, max) => Array.isArray(v) && v.length > 0 && v.length <= max;
|
|
4
|
+
/** Web images or same-origin assets only; no embedded markup or protocol-relative URLs. */
|
|
5
|
+
export function safeImageSrc(value) {
|
|
6
|
+
if (!str(value, 4096) || /[\s\\]/.test(value) || [...value].some((c) => c.charCodeAt(0) < 32))
|
|
7
|
+
return null;
|
|
8
|
+
if (/^\/(?!\/)/.test(value))
|
|
9
|
+
return value;
|
|
10
|
+
try {
|
|
11
|
+
const url = new URL(value);
|
|
12
|
+
return ["https:", "http:"].includes(url.protocol) && !url.username && !url.password
|
|
13
|
+
? value
|
|
14
|
+
: null;
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/** Invalid or oversized blocks are rejected without crashing the answer. */
|
|
21
|
+
export function parseRichBlock(raw) {
|
|
22
|
+
if (raw.length > 40000)
|
|
23
|
+
return null;
|
|
24
|
+
let b;
|
|
25
|
+
try {
|
|
26
|
+
b = JSON.parse(raw);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
if (!record(b) || !str(b.title, 200))
|
|
32
|
+
return null;
|
|
33
|
+
switch (b.type) {
|
|
34
|
+
case "audio":
|
|
35
|
+
return safeImageSrc(b.src) &&
|
|
36
|
+
(b.creator === undefined || str(b.creator, 200)) &&
|
|
37
|
+
(b.caption === undefined || str(b.caption, 1000))
|
|
38
|
+
? b
|
|
39
|
+
: null;
|
|
40
|
+
case "callout":
|
|
41
|
+
return str(b.body) ? { type: b.type, title: b.title, body: b.body } : null;
|
|
42
|
+
case "gallery":
|
|
43
|
+
if (!list(b.images, 6) ||
|
|
44
|
+
!b.images.every((i) => record(i) &&
|
|
45
|
+
safeImageSrc(i.src) &&
|
|
46
|
+
str(i.alt, 300) &&
|
|
47
|
+
(i.caption === undefined || str(i.caption, 500))))
|
|
48
|
+
return null;
|
|
49
|
+
return b;
|
|
50
|
+
case "diagram": {
|
|
51
|
+
if (!list(b.nodes, 8) ||
|
|
52
|
+
!b.nodes.every((n) => record(n) &&
|
|
53
|
+
str(n.id, 50) &&
|
|
54
|
+
str(n.label, 120) &&
|
|
55
|
+
(n.detail === undefined || str(n.detail, 300))))
|
|
56
|
+
return null;
|
|
57
|
+
const ids = new Set(b.nodes.map((n) => n.id));
|
|
58
|
+
if (ids.size !== b.nodes.length ||
|
|
59
|
+
!Array.isArray(b.edges) ||
|
|
60
|
+
b.edges.length > 16 ||
|
|
61
|
+
!b.edges.every((e) => record(e) &&
|
|
62
|
+
ids.has(e.from) &&
|
|
63
|
+
ids.has(e.to) &&
|
|
64
|
+
(e.label === undefined || str(e.label, 100))))
|
|
65
|
+
return null;
|
|
66
|
+
return b;
|
|
67
|
+
}
|
|
68
|
+
case "choices":
|
|
69
|
+
if (!str(b.submit, 80) ||
|
|
70
|
+
!list(b.options, 6) ||
|
|
71
|
+
!b.options.every((o) => record(o) && str(o.label, 200) && str(o.reply, 500)))
|
|
72
|
+
return null;
|
|
73
|
+
return b;
|
|
74
|
+
default:
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
export const RICH_ANSWERS_INSTRUCTION = [
|
|
79
|
+
"## Visual answers",
|
|
80
|
+
"Lead with the answer. Use headings, short paragraphs, markdown tables for comparisons, and numbered steps when they help. Keep simple answers simple.",
|
|
81
|
+
"When useful, insert a fenced chat_ui block containing ONE JSON object at the point it belongs. These are the supported shapes:",
|
|
82
|
+
'{"type":"audio","title":"Song sample","src":"/provided-sample.wav","creator":"Creator name","caption":"What to listen for"}',
|
|
83
|
+
'{"type":"gallery","title":"Reference photos","images":[{"src":"/provided-image.jpg","alt":"Describe the image","caption":"What to notice"}]}',
|
|
84
|
+
'{"type":"diagram","title":"How it connects","nodes":[{"id":"a","label":"Input","detail":"Optional explanation"},{"id":"b","label":"Result"}],"edges":[{"from":"a","to":"b","label":"leads to"}]}',
|
|
85
|
+
'{"type":"callout","title":"Recommendation","body":"The useful takeaway."}',
|
|
86
|
+
'{"type":"choices","title":"What would you like next?","options":[{"label":"Explain the first option","reply":"Explain the first option"},{"label":"Compare the alternatives","reply":"Compare the alternatives"}],"submit":"Continue"}',
|
|
87
|
+
"Use at most 6 images, 8 diagram nodes, 16 edges, or 6 choices per block. Translate titles, labels and submit into the reader's language. A choice sends its reply as a normal message; it never performs an action directly. Audio uses explicit playback, never autoplay. Include audio only for URLs actually provided by a person, context or a completed tool result; a track title or a planned generation is not a playable file. Preserve creator attribution and distinguish previews, generated drafts and finished recordings. Never invent media URLs, numbers, sources, tool results or product capabilities. Use only image URLs provided by the person, context or tools; otherwise use a diagram or plain text. Always explain the takeaway in prose too. No HTML, scripts, raw SVG, or decorative images. Preserve domain-specific evidence and authority rules. Put suggested replies last, outside chat_ui blocks.",
|
|
88
|
+
].join("\n");
|
|
89
|
+
/** Copy, share and voice keep the content of a visual, never its wire JSON. */
|
|
90
|
+
export function richAnswerText(text) {
|
|
91
|
+
return text.replace(/```chat_ui\s*([\s\S]*?)(?:```|$)/g, (_, raw) => {
|
|
92
|
+
const b = parseRichBlock(raw);
|
|
93
|
+
if (!b)
|
|
94
|
+
return "";
|
|
95
|
+
switch (b.type) {
|
|
96
|
+
case "audio":
|
|
97
|
+
return `${b.title}${b.creator ? ` — ${b.creator}` : ""}${b.caption ? `\n${b.caption}` : ""}\n${b.src}`;
|
|
98
|
+
case "callout":
|
|
99
|
+
return `${b.title}\n${b.body}`;
|
|
100
|
+
case "gallery":
|
|
101
|
+
return `${b.title}\n${b.images.map((i) => `${i.alt}${i.caption ? ` — ${i.caption}` : ""}\n${i.src}`).join("\n")}`;
|
|
102
|
+
case "choices":
|
|
103
|
+
return `${b.title}\n${b.options.map((o) => `- ${o.label}`).join("\n")}`;
|
|
104
|
+
case "diagram":
|
|
105
|
+
return `${b.title}\n${b.nodes.map((n) => `${n.label}${n.detail ? `: ${n.detail}` : ""}`).join("\n")}\n${b.edges.map((e) => `${b.nodes.find((n) => n.id === e.from).label} → ${b.nodes.find((n) => n.id === e.to).label}${e.label ? ` (${e.label})` : ""}`).join("\n")}`;
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=rich.js.map
|
package/dist/rich.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rich.js","sourceRoot":"","sources":["../src/rich.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,GAAG,CAAC,CAAU,EAAgC,EAAE,CAC1D,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,GAAG,GAAG,IAAI,EAAe,EAAE,CAClD,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC;AACzD,MAAM,IAAI,GAAG,CAAC,CAAU,EAAE,GAAW,EAAkB,EAAE,CACvD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC;AAEtD,2FAA2F;AAC3F,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC3F,OAAO,IAAI,CAAC;IACd,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ;YACjF,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,IAAI,GAAG,CAAC,MAAM,GAAG,KAAK;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,CAAU,CAAC;IACf,IAAI,CAAC;QACH,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,OAAO;YACV,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;gBACxB,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACjD,CAAC,CAAE,CAAe;gBAClB,CAAC,CAAC,IAAI,CAAC;QACX,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,KAAK,SAAS;YACZ,IACE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACb,CAAC,CAAC,EAAE,EAAE,CACJ,MAAM,CAAC,CAAC,CAAC;oBACT,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;oBACnB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC;oBACf,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CACnD;gBAED,OAAO,IAAI,CAAC;YACd,OAAO,CAAc,CAAC;QACxB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IACE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CACZ,CAAC,CAAC,EAAE,EAAE,CACJ,MAAM,CAAC,CAAC,CAAC;oBACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;oBACb,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC;oBACjB,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACjD;gBAED,OAAO,IAAI,CAAC;YACd,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAA6B,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3E,IACE,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM;gBAC3B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;gBACvB,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE;gBACnB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CACZ,CAAC,CAAC,EAAE,EAAE,CACJ,MAAM,CAAC,CAAC,CAAC;oBACT,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBACf,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACb,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAC/C;gBAED,OAAO,IAAI,CAAC;YACd,OAAO,CAAc,CAAC;QACxB,CAAC;QACD,KAAK,SAAS;YACZ,IACE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBAClB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAE5E,OAAO,IAAI,CAAC;YACd,OAAO,CAAc,CAAC;QACxB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,mBAAmB;IACnB,uJAAuJ;IACvJ,gIAAgI;IAChI,6HAA6H;IAC7H,8IAA8I;IAC9I,kMAAkM;IAClM,2EAA2E;IAC3E,wOAAwO;IACxO,s4BAAs4B;CACv4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,OAAO,CAAC,mCAAmC,EAAE,CAAC,CAAC,EAAE,GAAW,EAAE,EAAE;QAC1E,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAClB,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,OAAO;gBACV,OAAO,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;YACzG,KAAK,SAAS;gBACZ,OAAO,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,KAAK,SAAS;gBACZ,OAAO,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpH,KAAK,SAAS;gBACZ,OAAO,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1E,KAAK,SAAS;gBACZ,OAAO,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAE,CAAC,KAAK,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAE,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9Q,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/speech.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"speech.d.ts","sourceRoot":"","sources":["../src/speech.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"speech.d.ts","sourceRoot":"","sources":["../src/speech.ts"],"names":[],"mappings":"AAWA,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA8B3D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAO,GAAG,MAAM,CAWrE;AAED;0EAC0E;AAC1E,MAAM,MAAM,OAAO,GAAG;IACpB,uEAAuE;IACvE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,IAAI,IAAI,CAAC;CAChB,CAAC;AAEF,kFAAkF;AAClF,wBAAgB,kBAAkB,IAAI,OAAO,GAAG,IAAI,CAuBnD"}
|
package/dist/speech.js
CHANGED
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
* From loki's `speech-text`, where the play button under every answer first
|
|
7
7
|
* lived. Pure, so it is tested without a voice.
|
|
8
8
|
*/
|
|
9
|
+
import { richAnswerText } from "./rich.js";
|
|
9
10
|
import { extractReplies } from "./replies.js";
|
|
10
11
|
export function plainTextForSpeech(markdown) {
|
|
11
12
|
// Suggested replies are buttons, never words: a quick_replies block is
|
|
12
13
|
// dropped outright rather than announced as "(code)".
|
|
13
|
-
const prose = extractReplies(markdown).text;
|
|
14
|
+
const prose = richAnswerText(extractReplies(markdown).text);
|
|
14
15
|
return (prose
|
|
15
16
|
// Fenced code is not prose; say that it is there rather than reading it.
|
|
16
17
|
.replace(/```[\s\S]*?```/g, " (code) ")
|
package/dist/speech.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"speech.js","sourceRoot":"","sources":["../src/speech.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,uEAAuE;IACvE,sDAAsD;IACtD,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"speech.js","sourceRoot":"","sources":["../src/speech.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitbaum/chatkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "One chat for every product: a composer with a microphone that always works, a thread that does not fight the reader, messages with copy and retry, and LLM markdown \u2014 the fleet's chat standard as a package.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Cato",
|
package/styles.css
CHANGED
|
@@ -1325,3 +1325,213 @@ a.ck-source-row:hover .ck-source-title {
|
|
|
1325
1325
|
animation: none;
|
|
1326
1326
|
}
|
|
1327
1327
|
}
|
|
1328
|
+
|
|
1329
|
+
/* Visual answers share the app's palette, with a quiet editorial hierarchy. */
|
|
1330
|
+
.ck-rich {
|
|
1331
|
+
box-sizing: border-box;
|
|
1332
|
+
min-width: 0;
|
|
1333
|
+
margin: 1.5rem 0;
|
|
1334
|
+
color: var(--ck-fg);
|
|
1335
|
+
overflow-wrap: anywhere;
|
|
1336
|
+
}
|
|
1337
|
+
.ck-rich * {
|
|
1338
|
+
box-sizing: border-box;
|
|
1339
|
+
min-width: 0;
|
|
1340
|
+
}
|
|
1341
|
+
.ck-rich-title {
|
|
1342
|
+
display: block;
|
|
1343
|
+
font-size: 1.05em;
|
|
1344
|
+
font-weight: 650;
|
|
1345
|
+
line-height: 1.4;
|
|
1346
|
+
margin-bottom: 1rem;
|
|
1347
|
+
}
|
|
1348
|
+
.ck-gallery-grid {
|
|
1349
|
+
display: grid;
|
|
1350
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
1351
|
+
gap: 0.75rem;
|
|
1352
|
+
}
|
|
1353
|
+
.ck-gallery-grid figure {
|
|
1354
|
+
margin: 0;
|
|
1355
|
+
}
|
|
1356
|
+
.ck-photo {
|
|
1357
|
+
display: flex;
|
|
1358
|
+
flex-direction: column;
|
|
1359
|
+
width: 100%;
|
|
1360
|
+
min-height: var(--ck-target);
|
|
1361
|
+
padding: 0;
|
|
1362
|
+
overflow: hidden;
|
|
1363
|
+
border: 1px solid var(--ck-line);
|
|
1364
|
+
border-radius: var(--ck-radius);
|
|
1365
|
+
background: var(--ck-raised);
|
|
1366
|
+
color: var(--ck-fg);
|
|
1367
|
+
cursor: zoom-in;
|
|
1368
|
+
font: inherit;
|
|
1369
|
+
text-align: start;
|
|
1370
|
+
}
|
|
1371
|
+
.ck-photo img {
|
|
1372
|
+
display: block;
|
|
1373
|
+
width: 100%;
|
|
1374
|
+
aspect-ratio: 1;
|
|
1375
|
+
object-fit: cover;
|
|
1376
|
+
}
|
|
1377
|
+
.ck-photo-label {
|
|
1378
|
+
padding: 0.5rem 0.75rem;
|
|
1379
|
+
font-size: 0.875em;
|
|
1380
|
+
}
|
|
1381
|
+
.ck-gallery-grid figcaption {
|
|
1382
|
+
padding: 0.5rem 0;
|
|
1383
|
+
font-size: 0.875em;
|
|
1384
|
+
color: var(--ck-fg-2);
|
|
1385
|
+
}
|
|
1386
|
+
.ck-photo-full {
|
|
1387
|
+
display: block;
|
|
1388
|
+
max-width: 100%;
|
|
1389
|
+
max-height: 70dvh;
|
|
1390
|
+
object-fit: contain;
|
|
1391
|
+
margin: auto;
|
|
1392
|
+
}
|
|
1393
|
+
.ck-callout {
|
|
1394
|
+
padding: 1.25rem;
|
|
1395
|
+
border-inline-start: 3px solid var(--ck-fg);
|
|
1396
|
+
background: var(--ck-raised);
|
|
1397
|
+
border-radius: 0 var(--ck-radius-sm) var(--ck-radius-sm) 0;
|
|
1398
|
+
}
|
|
1399
|
+
.ck-callout .ck-rich-title {
|
|
1400
|
+
margin-bottom: 0.5rem;
|
|
1401
|
+
}
|
|
1402
|
+
.ck-rich p {
|
|
1403
|
+
margin: 0.25rem 0 0;
|
|
1404
|
+
}
|
|
1405
|
+
.ck-diagram {
|
|
1406
|
+
padding: 1.25rem;
|
|
1407
|
+
border: 1px solid var(--ck-line);
|
|
1408
|
+
border-radius: var(--ck-radius);
|
|
1409
|
+
background: var(--ck-raised);
|
|
1410
|
+
}
|
|
1411
|
+
.ck-md .ck-diagram-nodes {
|
|
1412
|
+
display: grid;
|
|
1413
|
+
grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
|
|
1414
|
+
gap: 0.75rem;
|
|
1415
|
+
padding: 0;
|
|
1416
|
+
list-style: none;
|
|
1417
|
+
margin: 0;
|
|
1418
|
+
}
|
|
1419
|
+
.ck-diagram-nodes li {
|
|
1420
|
+
display: flex;
|
|
1421
|
+
align-items: start;
|
|
1422
|
+
gap: 0.75rem;
|
|
1423
|
+
padding: 1rem;
|
|
1424
|
+
background: var(--ck-bg);
|
|
1425
|
+
border: 1px solid var(--ck-line);
|
|
1426
|
+
border-radius: var(--ck-radius-sm);
|
|
1427
|
+
}
|
|
1428
|
+
.ck-diagram-number {
|
|
1429
|
+
display: grid;
|
|
1430
|
+
place-items: center;
|
|
1431
|
+
flex: 0 0 1.75rem;
|
|
1432
|
+
height: 1.75rem;
|
|
1433
|
+
border-radius: 50%;
|
|
1434
|
+
background: var(--ck-fg);
|
|
1435
|
+
color: var(--ck-bg);
|
|
1436
|
+
font-size: 0.875em;
|
|
1437
|
+
}
|
|
1438
|
+
.ck-diagram-nodes p {
|
|
1439
|
+
font-size: 0.875em;
|
|
1440
|
+
color: var(--ck-fg-2);
|
|
1441
|
+
}
|
|
1442
|
+
.ck-md .ck-diagram-edges {
|
|
1443
|
+
padding: 0.75rem 0 0;
|
|
1444
|
+
margin: 0;
|
|
1445
|
+
list-style: none;
|
|
1446
|
+
}
|
|
1447
|
+
.ck-diagram-edges li {
|
|
1448
|
+
display: flex;
|
|
1449
|
+
align-items: center;
|
|
1450
|
+
gap: 0.5rem;
|
|
1451
|
+
flex-wrap: wrap;
|
|
1452
|
+
border-top: 1px solid var(--ck-line);
|
|
1453
|
+
padding: 0.75rem 0;
|
|
1454
|
+
}
|
|
1455
|
+
.ck-diagram-arrow {
|
|
1456
|
+
color: var(--ck-fg-3);
|
|
1457
|
+
}
|
|
1458
|
+
.ck-diagram-edges small {
|
|
1459
|
+
flex-basis: 100%;
|
|
1460
|
+
color: var(--ck-fg-2);
|
|
1461
|
+
}
|
|
1462
|
+
.ck-choice fieldset {
|
|
1463
|
+
border: 0;
|
|
1464
|
+
margin: 0;
|
|
1465
|
+
padding: 0;
|
|
1466
|
+
}
|
|
1467
|
+
.ck-choice legend {
|
|
1468
|
+
padding: 0;
|
|
1469
|
+
}
|
|
1470
|
+
.ck-choice-option {
|
|
1471
|
+
display: flex;
|
|
1472
|
+
align-items: center;
|
|
1473
|
+
gap: 0.75rem;
|
|
1474
|
+
min-height: var(--ck-target);
|
|
1475
|
+
padding: 0.75rem;
|
|
1476
|
+
border: 1px solid var(--ck-line);
|
|
1477
|
+
border-radius: var(--ck-radius-sm);
|
|
1478
|
+
margin-bottom: 0.5rem;
|
|
1479
|
+
cursor: pointer;
|
|
1480
|
+
}
|
|
1481
|
+
.ck-choice-option:has(:checked) {
|
|
1482
|
+
border-color: var(--ck-fg);
|
|
1483
|
+
background: var(--ck-raised);
|
|
1484
|
+
}
|
|
1485
|
+
.ck-choice-option input {
|
|
1486
|
+
flex: 0 0 auto;
|
|
1487
|
+
width: 1.25rem;
|
|
1488
|
+
height: 1.25rem;
|
|
1489
|
+
accent-color: var(--ck-fg);
|
|
1490
|
+
}
|
|
1491
|
+
.ck-choice-submit {
|
|
1492
|
+
display: flex;
|
|
1493
|
+
justify-content: center;
|
|
1494
|
+
align-items: center;
|
|
1495
|
+
gap: 1rem;
|
|
1496
|
+
width: 100%;
|
|
1497
|
+
min-height: var(--ck-target);
|
|
1498
|
+
border: 0;
|
|
1499
|
+
border-radius: var(--ck-radius);
|
|
1500
|
+
background: var(--ck-fg);
|
|
1501
|
+
color: var(--ck-bg);
|
|
1502
|
+
padding: 0.75rem 1rem;
|
|
1503
|
+
font: inherit;
|
|
1504
|
+
font-weight: 600;
|
|
1505
|
+
cursor: pointer;
|
|
1506
|
+
}
|
|
1507
|
+
.ck-choice-submit:disabled {
|
|
1508
|
+
opacity: 0.45;
|
|
1509
|
+
cursor: default;
|
|
1510
|
+
}
|
|
1511
|
+
.ck-rich button:focus-visible,
|
|
1512
|
+
.ck-rich input:focus-visible {
|
|
1513
|
+
outline: 2px solid var(--ck-fg);
|
|
1514
|
+
outline-offset: 3px;
|
|
1515
|
+
}
|
|
1516
|
+
@media (max-width: 480px) {
|
|
1517
|
+
.ck-gallery-grid {
|
|
1518
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
1519
|
+
}
|
|
1520
|
+
}
|
|
1521
|
+
|
|
1522
|
+
.ck-audio audio {
|
|
1523
|
+
display: block;
|
|
1524
|
+
width: 100%;
|
|
1525
|
+
max-width: 100%;
|
|
1526
|
+
margin: 12px 0;
|
|
1527
|
+
}
|
|
1528
|
+
.ck-audio p {
|
|
1529
|
+
margin: 6px 0;
|
|
1530
|
+
color: var(--ck-muted);
|
|
1531
|
+
}
|
|
1532
|
+
.ck-audio a {
|
|
1533
|
+
display: inline-flex;
|
|
1534
|
+
align-items: center;
|
|
1535
|
+
min-height: 44px;
|
|
1536
|
+
overflow-wrap: anywhere;
|
|
1537
|
+
}
|