@aleph-alpha/chat-kit 6.1.1 → 6.3.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/dist/{CkHistory.vue_vue_type_script_setup_true_lang-Cr8vF94e.js → CkHistory.vue_vue_type_script_setup_true_lang-gV-lp0ZB.js} +345 -164
- package/dist/adapters/responses-api.js +1 -1
- package/dist/chat-kit.css +111 -28
- package/dist/code-palette-DAJUTnR-.js +21598 -0
- package/dist/components/base/CkCodeEditor/CkCodeEditor.stories.d.ts +43 -0
- package/dist/components/base/CkCodeEditor/CkCodeEditor.stories.d.ts.map +1 -0
- package/dist/components/base/CkCodeEditor/CkCodeEditor.vue.d.ts +39 -0
- package/dist/components/base/CkCodeEditor/CkCodeEditor.vue.d.ts.map +1 -0
- package/dist/components/base/CkCodeEditor/createCodeMirror.d.ts +44 -0
- package/dist/components/base/CkCodeEditor/createCodeMirror.d.ts.map +1 -0
- package/dist/components/base/CkCodeEditor/index.d.ts +3 -0
- package/dist/components/base/CkCodeEditor/index.d.ts.map +1 -0
- package/dist/components/base/CkCodeEditor/types.d.ts +129 -0
- package/dist/components/base/CkCodeEditor/types.d.ts.map +1 -0
- package/dist/components/base/CkMilkdownEditor/CkMilkdownEditor.stories.d.ts +6 -0
- package/dist/components/base/CkMilkdownEditor/CkMilkdownEditor.stories.d.ts.map +1 -1
- package/dist/components/base/CkMilkdownEditor/CkMilkdownEditor.vue.d.ts +1 -0
- package/dist/components/base/CkMilkdownEditor/CkMilkdownEditor.vue.d.ts.map +1 -1
- package/dist/components/base/CkMilkdownEditor/createCrepeEditor.d.ts +1 -0
- package/dist/components/base/CkMilkdownEditor/createCrepeEditor.d.ts.map +1 -1
- package/dist/components/base/CkMilkdownEditor/types.d.ts +8 -0
- package/dist/components/base/CkMilkdownEditor/types.d.ts.map +1 -1
- package/dist/components/base/index.d.ts +2 -0
- package/dist/components/base/index.d.ts.map +1 -1
- package/dist/components/index.d.ts +2 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +27 -26
- package/dist/composables/index.js +1 -1
- package/dist/createCodeMirror-BkV6FEPn.js +101 -0
- package/dist/{createCrepeEditor-CFbvSH3s.js → createCrepeEditor-Ci5FHHIV.js} +1434 -24739
- package/dist/handlers/index.js +2 -2
- package/dist/handlers/useChatKitLabels.d.ts +6 -0
- package/dist/handlers/useChatKitLabels.d.ts.map +1 -1
- package/dist/{components/base/CkMilkdownEditor/codeMirrorTheme.d.ts → helpers/codemirror/theme.d.ts} +1 -1
- package/dist/helpers/codemirror/theme.d.ts.map +1 -0
- package/dist/helpers/index.d.ts +1 -0
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/markdownToPlainText.d.ts +18 -0
- package/dist/helpers/markdownToPlainText.d.ts.map +1 -0
- package/dist/{index-BWvkps_G.js → index-B2tew8uf.js} +3 -3
- package/dist/{index-DhY_9bdS.js → index-BLVAx_f8.js} +2 -2
- package/dist/{index-B0ldhzaj.js → index-BUCqcTPA.js} +2 -2
- package/dist/{index-DdlzabmR.js → index-BhvbqYsK.js} +2 -2
- package/dist/{index-gzleljO6.js → index-BoUJGvvQ.js} +2 -2
- package/dist/{index-sKO1lHHC.js → index-BtY1uxn6.js} +3 -2
- package/dist/{index-BVOjyn3y.js → index-BvG6l44n.js} +3 -2
- package/dist/{index-BoqzHVNB.js → index-CB6xZVsf.js} +2 -2
- package/dist/{index-BaS8OW8V.js → index-CIF93PZF.js} +3 -3
- package/dist/index-CLdXUpL8.js +9560 -0
- package/dist/{index-DSq3gvqU.js → index-CN8d3yl1.js} +1 -1
- package/dist/{index-CRfGWVdQ.js → index-CYk7AB8M.js} +4 -4
- package/dist/{index-C72e57-5.js → index-CZFx44C7.js} +2 -2
- package/dist/{index-Tj3pzx-E.js → index-Cxs6kPho.js} +3 -3
- package/dist/index-D6ftdiLa.js +1825 -0
- package/dist/{index-CMJGuXap.js → index-DgCcFC3N.js} +3 -3
- package/dist/{index-DSU7cBGz.js → index-DhwsowEf.js} +2 -2
- package/dist/{index-C_gTb50u.js → index-Dl24CCB3.js} +4 -4
- package/dist/{index-BlHHEbV-.js → index-DqGDenO9.js} +2 -2
- package/dist/{index-naWlQpaL.js → index-DufAP1JF.js} +3 -2
- package/dist/{index-Dm6C1blN.js → index-DxTzaHLr.js} +4 -4
- package/dist/{index-A5rWjRtZ.js → index-MfXW4ZyN.js} +3 -2
- package/dist/{index-C6zYjwIQ.js → index-ZHg2R9iD.js} +3 -2
- package/dist/{index-ZeRS5rER.js → index-gYt3E3Cp.js} +2 -2
- package/dist/{index-Da3777l2.js → index-w2yzH7vs.js} +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -30
- package/dist/markdownToPlainText-BOtlQ_BY.js +34 -0
- package/dist/{useChatKitLabels-Ww1Q7xUr.js → useChatKitLabels-CatQSpfL.js} +881 -10428
- package/dist/{useMessageHandler-Tellov3w.js → useMessageHandler-nnsort0-.js} +1 -1
- package/package.json +5 -3
- package/src/components/base/CkCodeEditor/CkCodeEditor.spec.ts +223 -0
- package/src/components/base/CkCodeEditor/CkCodeEditor.stories.ts +311 -0
- package/src/components/base/CkCodeEditor/CkCodeEditor.vue +238 -0
- package/src/components/base/CkCodeEditor/createCodeMirror.ts +188 -0
- package/src/components/base/CkCodeEditor/index.ts +2 -0
- package/src/components/base/CkCodeEditor/types.ts +128 -0
- package/src/components/base/CkMilkdownEditor/CkMilkdownEditor.spec.ts +13 -0
- package/src/components/base/CkMilkdownEditor/CkMilkdownEditor.stories.ts +34 -0
- package/src/components/base/CkMilkdownEditor/CkMilkdownEditor.vue +3 -1
- package/src/components/base/CkMilkdownEditor/createCrepeEditor.ts +2 -1
- package/src/components/base/CkMilkdownEditor/milkdown-theme.css +39 -26
- package/src/components/base/CkMilkdownEditor/types.ts +8 -0
- package/src/components/base/index.ts +6 -0
- package/src/components/index.ts +4 -0
- package/src/handlers/useChatKitLabels.ts +6 -0
- package/src/helpers/codemirror/code-palette.css +49 -0
- package/src/{components/base/CkMilkdownEditor/codeMirrorTheme.ts → helpers/codemirror/theme.ts} +23 -12
- package/src/helpers/index.ts +1 -0
- package/src/helpers/markdownToPlainText.spec.ts +107 -0
- package/src/helpers/markdownToPlainText.ts +69 -0
- package/src/index.ts +5 -1
- package/dist/components/base/CkMilkdownEditor/codeMirrorTheme.d.ts.map +0 -1
- package/dist/generateId-BHf0W4Rq.js +0 -6
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/vue3-vite';
|
|
2
|
+
import CkCodeEditor from './CkCodeEditor.vue';
|
|
3
|
+
declare const meta: Meta<typeof CkCodeEditor>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
/**
|
|
7
|
+
* A TypeScript snippet with the header, copy button and line numbers. Type in
|
|
8
|
+
* it — changes are emitted synchronously, with no debounce.
|
|
9
|
+
*/
|
|
10
|
+
export declare const Default: Story;
|
|
11
|
+
/**
|
|
12
|
+
* `filename` replaces the language in the header, matching the prop of the same
|
|
13
|
+
* name on `UiCodeBlock`. The grammar still comes from `language`.
|
|
14
|
+
*/
|
|
15
|
+
export declare const WithFilename: Story;
|
|
16
|
+
/**
|
|
17
|
+
* With no language the header label is blank and nothing is highlighted, the
|
|
18
|
+
* same treatment `UiCodeBlock` gives plain text. Shown here with a placeholder
|
|
19
|
+
* and no gutter, as a lightweight snippet field.
|
|
20
|
+
*/
|
|
21
|
+
export declare const PlainText: Story;
|
|
22
|
+
/**
|
|
23
|
+
* `readonly` keeps the code selectable and copyable but drops the caret and the
|
|
24
|
+
* active-line band. Use it while a request is in flight.
|
|
25
|
+
*/
|
|
26
|
+
export declare const Readonly: Story;
|
|
27
|
+
/**
|
|
28
|
+
* `showHeader: false` gives a bare editing surface, for forms that already
|
|
29
|
+
* label the field themselves.
|
|
30
|
+
*/
|
|
31
|
+
export declare const WithoutHeader: Story;
|
|
32
|
+
/**
|
|
33
|
+
* `maxHeight` caps the scrollable area and `lineWrapping` folds long lines
|
|
34
|
+
* instead of scrolling sideways.
|
|
35
|
+
*/
|
|
36
|
+
export declare const ScrollingAndWrapping: Story;
|
|
37
|
+
/**
|
|
38
|
+
* Parity check: the editor on the left, the same snippet rendered through
|
|
39
|
+
* `CkMarkdownRenderer` and `UiCodeBlock` on the right. Border, radius, header,
|
|
40
|
+
* font and syntax colours should read as one component in both themes.
|
|
41
|
+
*/
|
|
42
|
+
export declare const MatchesTheRenderer: Story;
|
|
43
|
+
//# sourceMappingURL=CkCodeEditor.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CkCodeEditor.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkCodeEditor/CkCodeEditor.stories.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAG9C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,YAAY,CAiCnC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAiInC;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,KAWrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAW1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,KAevB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAO3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAsBlC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAwBhC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { CkCodeEditorProps } from './types';
|
|
2
|
+
declare function focus(): void;
|
|
3
|
+
declare function getCode(): string;
|
|
4
|
+
declare const __VLS_export: import("vue").DefineComponent<CkCodeEditorProps, {
|
|
5
|
+
focus: typeof focus;
|
|
6
|
+
getCode: typeof getCode;
|
|
7
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
8
|
+
copy: (payload: {
|
|
9
|
+
success: boolean;
|
|
10
|
+
}) => any;
|
|
11
|
+
blur: () => any;
|
|
12
|
+
focus: () => any;
|
|
13
|
+
"update:modelValue": (value: string) => any;
|
|
14
|
+
}, string, import("vue").PublicProps, Readonly<CkCodeEditorProps> & Readonly<{
|
|
15
|
+
onCopy?: ((payload: {
|
|
16
|
+
success: boolean;
|
|
17
|
+
}) => any) | undefined;
|
|
18
|
+
onBlur?: (() => any) | undefined;
|
|
19
|
+
onFocus?: (() => any) | undefined;
|
|
20
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
21
|
+
}>, {
|
|
22
|
+
readonly: boolean;
|
|
23
|
+
ariaLabel: string;
|
|
24
|
+
disabled: boolean;
|
|
25
|
+
filename: string;
|
|
26
|
+
writeToClipboard: (text: string) => Promise<void>;
|
|
27
|
+
modelValue: string;
|
|
28
|
+
placeholder: string;
|
|
29
|
+
autofocus: boolean;
|
|
30
|
+
showLineNumbers: boolean;
|
|
31
|
+
language: string;
|
|
32
|
+
showHeader: boolean;
|
|
33
|
+
showCopyButton: boolean;
|
|
34
|
+
lineWrapping: boolean;
|
|
35
|
+
maxHeight: string;
|
|
36
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
37
|
+
declare const _default: typeof __VLS_export;
|
|
38
|
+
export default _default;
|
|
39
|
+
//# sourceMappingURL=CkCodeEditor.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CkCodeEditor.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkCodeEditor/CkCodeEditor.vue"],"names":[],"mappings":"AA4PA,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AA2JpE,iBAAS,KAAK,IAAI,IAAI,CAErB;AAED,iBAAS,OAAO,IAAI,MAAM,CAEzB;AAsJD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAKhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type LanguageSupport } from '@codemirror/language';
|
|
2
|
+
import { EditorView } from '@codemirror/view';
|
|
3
|
+
import '../../../helpers/codemirror/code-palette.css';
|
|
4
|
+
export interface CreateCodeMirrorOptions {
|
|
5
|
+
/** Element the view is mounted into. */
|
|
6
|
+
parent: HTMLElement;
|
|
7
|
+
doc: string;
|
|
8
|
+
language: string;
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
ariaLabel?: string;
|
|
11
|
+
readonly: boolean;
|
|
12
|
+
showLineNumbers: boolean;
|
|
13
|
+
lineWrapping: boolean;
|
|
14
|
+
/** Called synchronously whenever the document changes. */
|
|
15
|
+
onChange: (value: string) => void;
|
|
16
|
+
onFocus: () => void;
|
|
17
|
+
onBlur: () => void;
|
|
18
|
+
}
|
|
19
|
+
/** Imperative surface `CkCodeEditor` drives; keeps CodeMirror out of the SFC. */
|
|
20
|
+
export interface CodeMirrorHandle {
|
|
21
|
+
view: EditorView;
|
|
22
|
+
getCode: () => string;
|
|
23
|
+
/** Replace the whole document, keeping the cursor where it still fits. */
|
|
24
|
+
setCode: (value: string) => void;
|
|
25
|
+
setLanguage: (language: string) => Promise<void>;
|
|
26
|
+
setReadonly: (readonly: boolean) => void;
|
|
27
|
+
setShowLineNumbers: (show: boolean) => void;
|
|
28
|
+
setLineWrapping: (wrap: boolean) => void;
|
|
29
|
+
focus: () => void;
|
|
30
|
+
destroy: () => void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Resolve a language id the way a reader would expect: by name, by alias, or by
|
|
34
|
+
* file extension, all case-insensitively. Returns `null` for plain text and for
|
|
35
|
+
* anything CodeMirror does not know, so an unrecognised id degrades to
|
|
36
|
+
* unhighlighted code instead of throwing.
|
|
37
|
+
*/
|
|
38
|
+
export declare function resolveLanguage(language: string): Promise<LanguageSupport | null>;
|
|
39
|
+
/**
|
|
40
|
+
* Build a CodeMirror view themed like `UiCodeBlock`. Loaded lazily by
|
|
41
|
+
* `CkCodeEditor` so CodeMirror stays out of the package's main chunk.
|
|
42
|
+
*/
|
|
43
|
+
export declare function createCodeMirror(options: CreateCodeMirrorOptions): Promise<CodeMirrorHandle>;
|
|
44
|
+
//# sourceMappingURL=createCodeMirror.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCodeMirror.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkCodeEditor/createCodeMirror.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,UAAU,EAOX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,8CAA8C,CAAC;AAEtD,MAAM,WAAW,uBAAuB;IACtC,wCAAwC;IACxC,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,MAAM,CAAC;IACtB,0EAA0E;IAC1E,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAKD;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAkBjC;AAuCD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAyD3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkCodeEditor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,mBAAmB,SAAS,CAAC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single-document code editor built on [CodeMirror 6](https://codemirror.net/).
|
|
3
|
+
* Its surface is the one `UiCodeBlock` renders for fenced code inside
|
|
4
|
+
* {@link CkMarkdownRenderer}: the same bordered, rounded panel, the same muted
|
|
5
|
+
* header carrying the language and a copy button, the same monospace metrics,
|
|
6
|
+
* and syntax colours approximating Shiki's `github-light` / `github-dark`. A
|
|
7
|
+
* snippet therefore looks the same whether it is being read in a reply or
|
|
8
|
+
* edited here.
|
|
9
|
+
*
|
|
10
|
+
* Use it wherever a whole document *is* code — a snippet field, a config or
|
|
11
|
+
* template editor, a "create skill" form. For prose that merely contains code,
|
|
12
|
+
* use {@link CkMilkdownEditor}, whose fenced blocks share this same theme.
|
|
13
|
+
*
|
|
14
|
+
* Grammars load on demand from CodeMirror's language data, so only the
|
|
15
|
+
* languages actually opened are fetched, and the editor itself loads lazily on
|
|
16
|
+
* mount so importing the component costs nothing until one is shown.
|
|
17
|
+
*
|
|
18
|
+
* @category Form Inputs
|
|
19
|
+
* @useCases edit a code snippet, config or template editor, code field in a form, review and tweak generated code
|
|
20
|
+
* @keywords code, editor, codemirror, syntax highlighting, snippet, v-model, monospace, language
|
|
21
|
+
* @related CkMilkdownEditor, CkMarkdownRenderer
|
|
22
|
+
*/
|
|
23
|
+
export interface CkCodeEditorProps {
|
|
24
|
+
/**
|
|
25
|
+
* The code. Supports `v-model`.
|
|
26
|
+
*
|
|
27
|
+
* Unlike {@link CkMilkdownEditor}, updates are emitted synchronously on every
|
|
28
|
+
* change, with no debounce and no reformatting of what you pass in.
|
|
29
|
+
*
|
|
30
|
+
* @default ''
|
|
31
|
+
*/
|
|
32
|
+
modelValue?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Language id used for both syntax highlighting and the header label, for
|
|
35
|
+
* example `typescript`, `python`, `json` or `bash`. Matching is on the names,
|
|
36
|
+
* aliases and extensions CodeMirror knows; an unknown value still renders as
|
|
37
|
+
* plain text rather than failing.
|
|
38
|
+
*
|
|
39
|
+
* @default 'text'
|
|
40
|
+
*/
|
|
41
|
+
language?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Filename shown in the header instead of the language, mirroring the prop of
|
|
44
|
+
* the same name on `UiCodeBlock`.
|
|
45
|
+
*/
|
|
46
|
+
filename?: string;
|
|
47
|
+
/** Text shown while the document is empty. */
|
|
48
|
+
placeholder?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Render the code without allowing edits. The caret and the active-line
|
|
51
|
+
* highlight are hidden, but the text stays selectable and copyable.
|
|
52
|
+
*
|
|
53
|
+
* @default false
|
|
54
|
+
*/
|
|
55
|
+
readonly?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Like `readonly`, but also mutes the editor and marks it `aria-disabled`.
|
|
58
|
+
*
|
|
59
|
+
* @default false
|
|
60
|
+
*/
|
|
61
|
+
disabled?: boolean;
|
|
62
|
+
/** Accessible name for the editable region. */
|
|
63
|
+
ariaLabel?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Show the header bar with the language or filename and the copy button. Set
|
|
66
|
+
* it to `false` for a bare editing surface.
|
|
67
|
+
*
|
|
68
|
+
* @default true
|
|
69
|
+
*/
|
|
70
|
+
showHeader?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Show the copy button in the header.
|
|
73
|
+
*
|
|
74
|
+
* @default true
|
|
75
|
+
*/
|
|
76
|
+
showCopyButton?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Show the line-number gutter. On by default, which is what a dedicated code
|
|
79
|
+
* editor is expected to do; `UiCodeBlock` and `CkMilkdownEditor` default to
|
|
80
|
+
* `false` because their code is being read rather than written.
|
|
81
|
+
*
|
|
82
|
+
* @default true
|
|
83
|
+
*/
|
|
84
|
+
showLineNumbers?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Wrap long lines instead of scrolling horizontally. `UiCodeBlock` scrolls,
|
|
87
|
+
* so the default keeps the two consistent.
|
|
88
|
+
*
|
|
89
|
+
* @default false
|
|
90
|
+
*/
|
|
91
|
+
lineWrapping?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Maximum height of the scrollable code area, as any CSS length, for example
|
|
94
|
+
* `'24rem'`. Unset, the editor grows with its content.
|
|
95
|
+
*/
|
|
96
|
+
maxHeight?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Move focus into the editor once it has been created.
|
|
99
|
+
*
|
|
100
|
+
* @default false
|
|
101
|
+
*/
|
|
102
|
+
autofocus?: boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Clipboard writer for the copy button. Injected for tests and for hosts that
|
|
105
|
+
* proxy clipboard access; defaults to `navigator.clipboard.writeText`.
|
|
106
|
+
*/
|
|
107
|
+
writeToClipboard?: (text: string) => Promise<void>;
|
|
108
|
+
}
|
|
109
|
+
/** Events emitted by {@link CkCodeEditor}. */
|
|
110
|
+
export interface CkCodeEditorEmits {
|
|
111
|
+
/** Emitted on every document change, with the full code. */
|
|
112
|
+
'update:modelValue': [value: string];
|
|
113
|
+
/** Emitted when the editing area gains focus. */
|
|
114
|
+
focus: [];
|
|
115
|
+
/** Emitted when focus leaves the editor entirely, header included. */
|
|
116
|
+
blur: [];
|
|
117
|
+
/** Emitted after the copy button runs, whether or not the write succeeded. */
|
|
118
|
+
copy: [payload: {
|
|
119
|
+
success: boolean;
|
|
120
|
+
}];
|
|
121
|
+
}
|
|
122
|
+
/** Methods exposed by {@link CkCodeEditor} through a template ref. */
|
|
123
|
+
export interface CkCodeEditorExposed {
|
|
124
|
+
/** Focus the editing area. No-op until the editor has been created. */
|
|
125
|
+
focus: () => void;
|
|
126
|
+
/** Read the current document synchronously. */
|
|
127
|
+
getCode: () => string;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkCodeEditor/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD;AAED,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrC,iDAAiD;IACjD,KAAK,EAAE,EAAE,CAAC;IACV,sEAAsE;IACtE,IAAI,EAAE,EAAE,CAAC;IACT,8EAA8E;IAC9E,IAAI,EAAE,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACvC;AAED,sEAAsE;AACtE,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,MAAM,CAAC;CACvB"}
|
|
@@ -21,6 +21,12 @@ export declare const WithInitialContent: Story;
|
|
|
21
21
|
* a message in the editor's layout while a request is in flight.
|
|
22
22
|
*/
|
|
23
23
|
export declare const Readonly: Story;
|
|
24
|
+
/**
|
|
25
|
+
* `showLineNumbers` reveals the line-number gutter on fenced code blocks. It
|
|
26
|
+
* matches the prop of the same name on `UiCodeBlock`, so the same flag can keep
|
|
27
|
+
* the editor and the rendered message consistent.
|
|
28
|
+
*/
|
|
29
|
+
export declare const WithLineNumbers: Story;
|
|
24
30
|
/**
|
|
25
31
|
* `disabled` also mutes the content and blocks pointer interaction, and sets
|
|
26
32
|
* `aria-disabled` on the root.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CkMilkdownEditor.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkMilkdownEditor/CkMilkdownEditor.stories.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAGtD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,gBAAgB,
|
|
1
|
+
{"version":3,"file":"CkMilkdownEditor.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkMilkdownEditor/CkMilkdownEditor.stories.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAGtD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,gBAAgB,CAuBvC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AA+InC;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,KAkBrB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAWhC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,KAGtB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,KAW7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,KAiB3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAoBpC,CAAC"}
|
|
@@ -20,6 +20,7 @@ declare const __VLS_export: import("vue").DefineComponent<CkMilkdownEditorProps,
|
|
|
20
20
|
modelValue: string;
|
|
21
21
|
placeholder: string;
|
|
22
22
|
autofocus: boolean;
|
|
23
|
+
showLineNumbers: boolean;
|
|
23
24
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
24
25
|
declare const _default: typeof __VLS_export;
|
|
25
26
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CkMilkdownEditor.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkMilkdownEditor/CkMilkdownEditor.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CkMilkdownEditor.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkMilkdownEditor/CkMilkdownEditor.vue"],"names":[],"mappings":"AAuKA,OAAO,KAAK,EAAyB,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA8G5E,iBAAS,KAAK,IAAI,IAAI,CAErB;AAED,iBAAS,WAAW,IAAI,MAAM,CAE7B;AA4DD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;6EAKhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -8,6 +8,7 @@ import '@milkdown/crepe/theme/common/list-item.css';
|
|
|
8
8
|
import '@milkdown/crepe/theme/common/link-tooltip.css';
|
|
9
9
|
import '@milkdown/crepe/theme/common/toolbar.css';
|
|
10
10
|
import '@milkdown/crepe/theme/common/code-mirror.css';
|
|
11
|
+
import '../../../helpers/codemirror/code-palette.css';
|
|
11
12
|
import './milkdown-theme.css';
|
|
12
13
|
export interface CreateCrepeEditorOptions {
|
|
13
14
|
/** Element the editor is mounted into. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCrepeEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkMilkdownEditor/createCrepeEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAkC,MAAM,iBAAiB,CAAC;AAGxE,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAYtE,OAAO,8CAA8C,CAAC;AACtD,OAAO,yCAAyC,CAAC;AACjD,OAAO,8CAA8C,CAAC;AACtD,OAAO,4CAA4C,CAAC;AACpD,OAAO,+CAA+C,CAAC;AACvD,OAAO,0CAA0C,CAAC;AAClD,OAAO,8CAA8C,CAAC;AACtD,OAAO,sBAAsB,CAAC;AAE9B,MAAM,WAAW,wBAAwB;IACvC,0CAA0C;IAC1C,IAAI,EAAE,WAAW,CAAC;IAClB,wBAAwB;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,OAAO,EAAE,wBAAwB,CAAC;IAClC,MAAM,EAAE,aAAa,CAAC;IACtB,6EAA6E;IAC7E,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,yFAAyF;AACzF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,oDAAoD;IACpD,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAuED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,iBAAiB,CAAC,CA6D5B"}
|
|
1
|
+
{"version":3,"file":"createCrepeEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkMilkdownEditor/createCrepeEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAkC,MAAM,iBAAiB,CAAC;AAGxE,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAYtE,OAAO,8CAA8C,CAAC;AACtD,OAAO,yCAAyC,CAAC;AACjD,OAAO,8CAA8C,CAAC;AACtD,OAAO,4CAA4C,CAAC;AACpD,OAAO,+CAA+C,CAAC;AACvD,OAAO,0CAA0C,CAAC;AAClD,OAAO,8CAA8C,CAAC;AACtD,OAAO,8CAA8C,CAAC;AACtD,OAAO,sBAAsB,CAAC;AAE9B,MAAM,WAAW,wBAAwB;IACvC,0CAA0C;IAC1C,IAAI,EAAE,WAAW,CAAC;IAClB,wBAAwB;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,OAAO,EAAE,wBAAwB,CAAC;IAClC,MAAM,EAAE,aAAa,CAAC;IACtB,6EAA6E;IAC7E,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,yFAAyF;AACzF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,oDAAoD;IACpD,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAuED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,iBAAiB,CAAC,CA6D5B"}
|
|
@@ -70,6 +70,14 @@ export interface CkMilkdownEditorProps {
|
|
|
70
70
|
* @default false
|
|
71
71
|
*/
|
|
72
72
|
autofocus?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Show a line-number gutter on fenced code blocks. Matches the prop of the
|
|
75
|
+
* same name on `UiCodeBlock`, so one flag can drive the editor and the
|
|
76
|
+
* rendered message alike. Applies to code blocks already on screen.
|
|
77
|
+
*
|
|
78
|
+
* @default false
|
|
79
|
+
*/
|
|
80
|
+
showLineNumbers?: boolean;
|
|
73
81
|
}
|
|
74
82
|
/** Events emitted by {@link CkMilkdownEditor}. */
|
|
75
83
|
export interface CkMilkdownEditorEmits {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkMilkdownEditor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkMilkdownEditor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,kDAAkD;AAClD,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrC,oEAAoE;IACpE,KAAK,EAAE,EAAE,CAAC;IACV,qEAAqE;IACrE,IAAI,EAAE,EAAE,CAAC;CACV;AAED,0EAA0E;AAC1E,MAAM,WAAW,uBAAuB;IACtC,0EAA0E;IAC1E,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB;;;;OAIG;IACH,WAAW,EAAE,MAAM,MAAM,CAAC;CAC3B"}
|
|
@@ -43,4 +43,6 @@ export { CkEditableUserMessage } from './CkEditableUserMessage';
|
|
|
43
43
|
export type { CkEditableUserMessageEmits, CkEditableUserMessageProps, } from './CkEditableUserMessage';
|
|
44
44
|
export { CkMilkdownEditor } from './CkMilkdownEditor';
|
|
45
45
|
export type { CkMilkdownEditorEmits, CkMilkdownEditorExposed, CkMilkdownEditorProps, } from './CkMilkdownEditor';
|
|
46
|
+
export { CkCodeEditor } from './CkCodeEditor';
|
|
47
|
+
export type { CkCodeEditorEmits, CkCodeEditorExposed, CkCodeEditorProps, } from './CkCodeEditor';
|
|
46
48
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/base/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/base/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { CkAgentMessage, CkAgentMessageHeader, CkHeaderActivityButton, CkCitation, CkCitationLabel, CkCitationCard, CkConversationLayout, CkCopyMessageButton, CkDropZoneOverlay, CkFeedbackButton, CkFeedbackDialog, CkFileItemsList, CkHistoryItem, CkHistoryWrapper, CkMarkdownRenderer, CkMessageButton, CkModelSelector, CkPromptSendButton, CkPromptMenuButton, CkPromptStopButton, CkPromptInput, CkPromptInputDisclaimer, CkRegenerateMessageButton, CkSendIcon, CkStopIcon, CkUserMessage, CkEditableUserMessage, CkMilkdownEditor, } from './base';
|
|
2
|
-
export type { CkAgentMessageHeaderProps, CkHeaderActivityButtonProps, CkHeaderActivityButtonEmits, CkCitationProps, CkCitationEmits, CkCitationSource, CkCitationLabelProps, CkCitationCardProps, CkCitationCardEmits, CkConversationLayoutProps, CkDropZoneOverlayProps, CkDropZoneOverlayEmits, CkDropZoneRejection, CkDropZoneRejectionReason, CkFeedbackButtonProps, CkFeedbackDialogEmits, CkFeedbackDialogProps, CkFeedbackDialogSubmitPayload, CkFeedbackReason, CkFeedbackSentiment, CkFeedbackValue, CkFileEntry, CkFileItemsListEmits, CkFileItemsListProps, CkHistoryItemEmits, CkHistoryItemProps, CkHistoryWrapperProps, CkMarkdownElementClasses, CkMarkdownRendererProps, CkMarkdownRendererEmits, CkModelOption, CkModelSelectorProps, CkModelSelectorEmits, CkPromptMenuButtonProps, CkUserMessageProps, CkEditableUserMessageProps, CkEditableUserMessageEmits, CkMilkdownEditorEmits, CkMilkdownEditorExposed, CkMilkdownEditorProps, } from './base';
|
|
1
|
+
export { CkAgentMessage, CkAgentMessageHeader, CkHeaderActivityButton, CkCitation, CkCitationLabel, CkCitationCard, CkConversationLayout, CkCopyMessageButton, CkDropZoneOverlay, CkFeedbackButton, CkFeedbackDialog, CkFileItemsList, CkHistoryItem, CkHistoryWrapper, CkMarkdownRenderer, CkMessageButton, CkModelSelector, CkPromptSendButton, CkPromptMenuButton, CkPromptStopButton, CkPromptInput, CkPromptInputDisclaimer, CkRegenerateMessageButton, CkSendIcon, CkStopIcon, CkUserMessage, CkEditableUserMessage, CkMilkdownEditor, CkCodeEditor, } from './base';
|
|
2
|
+
export type { CkAgentMessageHeaderProps, CkHeaderActivityButtonProps, CkHeaderActivityButtonEmits, CkCitationProps, CkCitationEmits, CkCitationSource, CkCitationLabelProps, CkCitationCardProps, CkCitationCardEmits, CkConversationLayoutProps, CkDropZoneOverlayProps, CkDropZoneOverlayEmits, CkDropZoneRejection, CkDropZoneRejectionReason, CkFeedbackButtonProps, CkFeedbackDialogEmits, CkFeedbackDialogProps, CkFeedbackDialogSubmitPayload, CkFeedbackReason, CkFeedbackSentiment, CkFeedbackValue, CkFileEntry, CkFileItemsListEmits, CkFileItemsListProps, CkHistoryItemEmits, CkHistoryItemProps, CkHistoryWrapperProps, CkMarkdownElementClasses, CkMarkdownRendererProps, CkMarkdownRendererEmits, CkModelOption, CkModelSelectorProps, CkModelSelectorEmits, CkPromptMenuButtonProps, CkUserMessageProps, CkEditableUserMessageProps, CkEditableUserMessageEmits, CkMilkdownEditorEmits, CkMilkdownEditorExposed, CkMilkdownEditorProps, CkCodeEditorEmits, CkCodeEditorExposed, CkCodeEditorProps, } from './base';
|
|
3
3
|
export { CkConversation, CkHistory } from './composed';
|
|
4
4
|
export type { CkConversationProps, CkHistoryEmits, CkHistoryProps, } from './composed';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,UAAU,EACV,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,UAAU,EACV,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,GACb,MAAM,QAAQ,CAAC;AAChB,YAAY,EACV,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,6BAA6B,EAC7B,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,QAAQ,CAAC;AAGhB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvD,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,MAAM,YAAY,CAAC"}
|
package/dist/components/index.js
CHANGED
|
@@ -1,33 +1,34 @@
|
|
|
1
|
-
import { _, a, b, c, C, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B } from "../CkHistory.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
import { _, a, b, c, C, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, D } from "../CkHistory.vue_vue_type_script_setup_true_lang-gV-lp0ZB.js";
|
|
2
2
|
export {
|
|
3
3
|
_ as CkAgentMessage,
|
|
4
4
|
a as CkAgentMessageHeader,
|
|
5
5
|
b as CkCitation,
|
|
6
6
|
c as CkCitationCard,
|
|
7
7
|
C as CkCitationLabel,
|
|
8
|
-
d as
|
|
9
|
-
e as
|
|
10
|
-
f as
|
|
11
|
-
g as
|
|
12
|
-
h as
|
|
13
|
-
i as
|
|
14
|
-
j as
|
|
15
|
-
k as
|
|
16
|
-
l as
|
|
17
|
-
m as
|
|
18
|
-
n as
|
|
19
|
-
o as
|
|
20
|
-
p as
|
|
21
|
-
q as
|
|
22
|
-
r as
|
|
23
|
-
s as
|
|
24
|
-
t as
|
|
25
|
-
u as
|
|
26
|
-
v as
|
|
27
|
-
w as
|
|
28
|
-
x as
|
|
29
|
-
y as
|
|
30
|
-
z as
|
|
31
|
-
A as
|
|
32
|
-
B as
|
|
8
|
+
d as CkCodeEditor,
|
|
9
|
+
e as CkConversation,
|
|
10
|
+
f as CkConversationLayout,
|
|
11
|
+
g as CkCopyMessageButton,
|
|
12
|
+
h as CkDropZoneOverlay,
|
|
13
|
+
i as CkEditableUserMessage,
|
|
14
|
+
j as CkFeedbackButton,
|
|
15
|
+
k as CkFeedbackDialog,
|
|
16
|
+
l as CkFileItemsList,
|
|
17
|
+
m as CkHeaderActivityButton,
|
|
18
|
+
n as CkHistory,
|
|
19
|
+
o as CkHistoryItem,
|
|
20
|
+
p as CkHistoryWrapper,
|
|
21
|
+
q as CkMarkdownRenderer,
|
|
22
|
+
r as CkMessageButton,
|
|
23
|
+
s as CkMilkdownEditor,
|
|
24
|
+
t as CkModelSelector,
|
|
25
|
+
u as CkPromptInput,
|
|
26
|
+
v as CkPromptInputDisclaimer,
|
|
27
|
+
w as CkPromptMenuButton,
|
|
28
|
+
x as CkPromptSendButton,
|
|
29
|
+
y as CkPromptStopButton,
|
|
30
|
+
z as CkRegenerateMessageButton,
|
|
31
|
+
A as CkSendIcon,
|
|
32
|
+
B as CkStopIcon,
|
|
33
|
+
D as CkUserMessage
|
|
33
34
|
};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { E as EditorView, a as EditorState, C as Compartment, l as lineNumbers, b as languages, c as ckCodeMirrorTheme, h as history, d as drawSelection, e as highlightSpecialChars, f as highlightActiveLine, g as bracketMatching, i as indentOnInput, j as indentUnit, k as keymap, m as defaultKeymap, n as historyKeymap, o as indentWithTab, p as placeholder } from "./code-palette-DAJUTnR-.js";
|
|
2
|
+
const PLAIN_ALIASES = /* @__PURE__ */ new Set(["text", "txt", "plain", "plaintext", ""]);
|
|
3
|
+
async function resolveLanguage(language) {
|
|
4
|
+
const id = language.trim().toLowerCase();
|
|
5
|
+
if (PLAIN_ALIASES.has(id)) return null;
|
|
6
|
+
const description = languages.find(
|
|
7
|
+
(candidate) => candidate.name.toLowerCase() === id || candidate.alias.includes(id) || candidate.extensions.includes(id)
|
|
8
|
+
);
|
|
9
|
+
if (!description) return null;
|
|
10
|
+
try {
|
|
11
|
+
return await description.load();
|
|
12
|
+
} catch {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function readonlyState(readonly) {
|
|
17
|
+
return [EditorState.readOnly.of(readonly), EditorView.editable.of(!readonly)];
|
|
18
|
+
}
|
|
19
|
+
function baseExtensions(options) {
|
|
20
|
+
return [
|
|
21
|
+
// Deliberately not CodeMirror's `basicSetup`: it also brings autocomplete,
|
|
22
|
+
// search, folding and bracket closing, none of which suit a snippet field,
|
|
23
|
+
// and its fold gutter would sit next to the line numbers.
|
|
24
|
+
history(),
|
|
25
|
+
drawSelection(),
|
|
26
|
+
highlightSpecialChars(),
|
|
27
|
+
highlightActiveLine(),
|
|
28
|
+
bracketMatching(),
|
|
29
|
+
indentOnInput(),
|
|
30
|
+
indentUnit.of(" "),
|
|
31
|
+
keymap.of([...defaultKeymap, ...historyKeymap, indentWithTab]),
|
|
32
|
+
ckCodeMirrorTheme,
|
|
33
|
+
EditorView.contentAttributes.of({
|
|
34
|
+
role: "textbox",
|
|
35
|
+
"aria-multiline": "true",
|
|
36
|
+
...options.ariaLabel ? { "aria-label": options.ariaLabel } : {}
|
|
37
|
+
}),
|
|
38
|
+
EditorView.updateListener.of((update) => {
|
|
39
|
+
if (update.docChanged) options.onChange(update.state.doc.toString());
|
|
40
|
+
if (update.focusChanged) {
|
|
41
|
+
if (update.view.hasFocus) options.onFocus();
|
|
42
|
+
else options.onBlur();
|
|
43
|
+
}
|
|
44
|
+
}),
|
|
45
|
+
...options.placeholder ? [placeholder(options.placeholder)] : []
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
async function createCodeMirror(options) {
|
|
49
|
+
const languageSlot = new Compartment();
|
|
50
|
+
const readonlySlot = new Compartment();
|
|
51
|
+
const lineNumbersSlot = new Compartment();
|
|
52
|
+
const wrappingSlot = new Compartment();
|
|
53
|
+
const support = await resolveLanguage(options.language);
|
|
54
|
+
const view = new EditorView({
|
|
55
|
+
parent: options.parent,
|
|
56
|
+
state: EditorState.create({
|
|
57
|
+
doc: options.doc,
|
|
58
|
+
extensions: [
|
|
59
|
+
...baseExtensions(options),
|
|
60
|
+
languageSlot.of(support ? [support] : []),
|
|
61
|
+
readonlySlot.of(readonlyState(options.readonly)),
|
|
62
|
+
lineNumbersSlot.of(options.showLineNumbers ? lineNumbers() : []),
|
|
63
|
+
wrappingSlot.of(options.lineWrapping ? EditorView.lineWrapping : [])
|
|
64
|
+
]
|
|
65
|
+
})
|
|
66
|
+
});
|
|
67
|
+
function reconfigure(slot, extension) {
|
|
68
|
+
view.dispatch({ effects: slot.reconfigure(extension) });
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
view,
|
|
72
|
+
getCode: () => view.state.doc.toString(),
|
|
73
|
+
setCode: (value) => {
|
|
74
|
+
if (value === view.state.doc.toString()) return;
|
|
75
|
+
const cursor = Math.min(view.state.selection.main.head, value.length);
|
|
76
|
+
view.dispatch({
|
|
77
|
+
changes: { from: 0, to: view.state.doc.length, insert: value },
|
|
78
|
+
selection: { anchor: cursor }
|
|
79
|
+
});
|
|
80
|
+
},
|
|
81
|
+
setLanguage: async (language) => {
|
|
82
|
+
const next = await resolveLanguage(language);
|
|
83
|
+
reconfigure(languageSlot, next ? [next] : []);
|
|
84
|
+
},
|
|
85
|
+
setReadonly: (readonly) => {
|
|
86
|
+
reconfigure(readonlySlot, readonlyState(readonly));
|
|
87
|
+
},
|
|
88
|
+
setShowLineNumbers: (show) => {
|
|
89
|
+
reconfigure(lineNumbersSlot, show ? lineNumbers() : []);
|
|
90
|
+
},
|
|
91
|
+
setLineWrapping: (wrap) => {
|
|
92
|
+
reconfigure(wrappingSlot, wrap ? EditorView.lineWrapping : []);
|
|
93
|
+
},
|
|
94
|
+
focus: () => view.focus(),
|
|
95
|
+
destroy: () => view.destroy()
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
export {
|
|
99
|
+
createCodeMirror,
|
|
100
|
+
resolveLanguage
|
|
101
|
+
};
|