@aleph-alpha/chat-kit 6.4.2 → 6.5.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.
Files changed (40) hide show
  1. package/dist/{CkHistory.vue_vue_type_script_setup_true_lang-wu1Zrvgc.js → CkHistory.vue_vue_type_script_setup_true_lang-C4XS2QQI.js} +84 -35
  2. package/dist/chat-kit.css +41 -10
  3. package/dist/components/base/CkCitation/CkCitation.vue.d.ts +1 -0
  4. package/dist/components/base/CkCitation/CkCitation.vue.d.ts.map +1 -1
  5. package/dist/components/base/CkCitation/types.d.ts +6 -0
  6. package/dist/components/base/CkCitation/types.d.ts.map +1 -1
  7. package/dist/components/base/CkCitationCard/CkCitationCard.vue.d.ts +1 -0
  8. package/dist/components/base/CkCitationCard/CkCitationCard.vue.d.ts.map +1 -1
  9. package/dist/components/base/CkCitationCard/types.d.ts +6 -0
  10. package/dist/components/base/CkCitationCard/types.d.ts.map +1 -1
  11. package/dist/components/base/CkCodeEditor/CkCodeEditor.vue.d.ts.map +1 -1
  12. package/dist/components/base/CkCodeEditor/createCodeMirror.d.ts +5 -1
  13. package/dist/components/base/CkCodeEditor/createCodeMirror.d.ts.map +1 -1
  14. package/dist/components/base/CkCodeEditor/index.d.ts +1 -0
  15. package/dist/components/base/CkCodeEditor/index.d.ts.map +1 -1
  16. package/dist/components/base/CkCodeEditor/loadCodeMirror.d.ts +17 -0
  17. package/dist/components/base/CkCodeEditor/loadCodeMirror.d.ts.map +1 -0
  18. package/dist/components/base/index.d.ts +1 -1
  19. package/dist/components/base/index.d.ts.map +1 -1
  20. package/dist/components/index.d.ts +1 -1
  21. package/dist/components/index.d.ts.map +1 -1
  22. package/dist/components/index.js +3 -2
  23. package/dist/{createCodeMirror-BO-TWTzn.js → createCodeMirror-CN8xL8qU.js} +20 -10
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +3 -2
  27. package/package.json +3 -3
  28. package/src/components/base/CkCitation/CkCitation.vue +2 -0
  29. package/src/components/base/CkCitation/types.ts +6 -0
  30. package/src/components/base/CkCitationCard/CkCitationCard.spec.ts +15 -0
  31. package/src/components/base/CkCitationCard/CkCitationCard.vue +2 -1
  32. package/src/components/base/CkCitationCard/types.ts +6 -0
  33. package/src/components/base/CkCodeEditor/CkCodeEditor.spec.ts +71 -0
  34. package/src/components/base/CkCodeEditor/CkCodeEditor.vue +89 -20
  35. package/src/components/base/CkCodeEditor/createCodeMirror.ts +34 -13
  36. package/src/components/base/CkCodeEditor/index.ts +1 -0
  37. package/src/components/base/CkCodeEditor/loadCodeMirror.ts +28 -0
  38. package/src/components/base/index.ts +1 -1
  39. package/src/components/index.ts +1 -0
  40. package/src/index.ts +1 -0
@@ -223,7 +223,7 @@ function useIsTruncated(elementRef, watchSource) {
223
223
  const _hoisted_1$f = { class: "ck-citation-card flex w-[22.5rem] max-w-[90vw] flex-col gap-2 rounded-md bg-background-surface-floating px-6 pb-6 pt-4 shadow-md" };
224
224
  const _hoisted_2$9 = { class: "flex min-w-0 items-center gap-3 py-0.5" };
225
225
  const _hoisted_3$8 = { class: "line-clamp-6 break-words text-sm leading-5 text-content-on-surface-secondary" };
226
- const _hoisted_4$7 = {
226
+ const _hoisted_4$8 = {
227
227
  key: 0,
228
228
  class: "flex items-center gap-1.5 text-sm leading-5 text-content-on-surface-muted"
229
229
  };
@@ -243,6 +243,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
243
243
  __name: "CkCitationCard",
244
244
  props: {
245
245
  fileName: {},
246
+ icon: { default: void 0 },
246
247
  snippet: {},
247
248
  locationLabel: { default: void 0 },
248
249
  collectionName: { default: void 0 },
@@ -274,8 +275,9 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
274
275
  createElementVNode("div", _hoisted_2$9, [
275
276
  createVNode(unref(UiFileType), {
276
277
  filename: __props.fileName,
278
+ icon: __props.icon,
277
279
  class: "shrink-0"
278
- }, null, 8, ["filename"]),
280
+ }, null, 8, ["filename", "icon"]),
279
281
  createVNode(unref(UiTooltip), {
280
282
  content: __props.fileName,
281
283
  disabled: !unref(isFileNameTruncated),
@@ -309,7 +311,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
309
311
  }, 8, ["aria-label"])) : createCommentVNode("", true)
310
312
  ]),
311
313
  createElementVNode("p", _hoisted_3$8, toDisplayString(__props.snippet), 1),
312
- __props.collectionName || __props.locationLabel ? (openBlock(), createElementBlock("p", _hoisted_4$7, [
314
+ __props.collectionName || __props.locationLabel ? (openBlock(), createElementBlock("p", _hoisted_4$8, [
313
315
  __props.collectionName ? (openBlock(), createBlock(unref(UiTooltip), {
314
316
  key: 0,
315
317
  content: __props.collectionName,
@@ -393,6 +395,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
393
395
  openSourceLabel: { default: void 0 },
394
396
  index: {},
395
397
  fileName: {},
398
+ icon: { default: void 0 },
396
399
  snippet: {},
397
400
  locationLabel: { default: void 0 },
398
401
  collectionName: {},
@@ -480,13 +483,14 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
480
483
  default: withCtx(() => [
481
484
  createVNode(unref(_sfc_main$r), {
482
485
  "file-name": __props.fileName,
486
+ icon: __props.icon,
483
487
  snippet: __props.snippet,
484
488
  "location-label": __props.locationLabel,
485
489
  "collection-name": __props.collectionName,
486
490
  url: __props.url,
487
491
  "open-source-label": __props.openSourceLabel,
488
492
  onOpenSource: _cache[0] || (_cache[0] = (u) => emit("open-source", u))
489
- }, null, 8, ["file-name", "snippet", "location-label", "collection-name", "url", "open-source-label"])
493
+ }, null, 8, ["file-name", "icon", "snippet", "location-label", "collection-name", "url", "open-source-label"])
490
494
  ]),
491
495
  _: 1
492
496
  })
@@ -502,7 +506,7 @@ const _hoisted_3$7 = {
502
506
  key: 0,
503
507
  class: "flex min-w-0 justify-end"
504
508
  };
505
- const _hoisted_4$6 = {
509
+ const _hoisted_4$7 = {
506
510
  key: 1,
507
511
  class: "flex min-w-0 justify-start"
508
512
  };
@@ -684,7 +688,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
684
688
  }, [
685
689
  message.role === "user" ? (openBlock(), createElementBlock("div", _hoisted_3$7, [
686
690
  renderSlot(_ctx.$slots, "user-message", { message })
687
- ])) : (openBlock(), createElementBlock("div", _hoisted_4$6, [
691
+ ])) : (openBlock(), createElementBlock("div", _hoisted_4$7, [
688
692
  renderSlot(_ctx.$slots, "agent-message", { message })
689
693
  ]))
690
694
  ], 10, _hoisted_2$8);
@@ -853,7 +857,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
853
857
  const _hoisted_1$b = ["aria-label"];
854
858
  const _hoisted_2$7 = { class: "pointer-events-none flex h-full w-full flex-col items-center justify-center gap-4 text-content-on-surface-primary" };
855
859
  const _hoisted_3$6 = { class: "flex flex-col items-center gap-1 text-center" };
856
- const _hoisted_4$5 = { class: "body-16-bold" };
860
+ const _hoisted_4$6 = { class: "body-16-bold" };
857
861
  const _hoisted_5$3 = {
858
862
  key: 0,
859
863
  class: "body-16-regular"
@@ -1029,7 +1033,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
1029
1033
  renderSlot(_ctx.$slots, "default", {}, () => [
1030
1034
  createVNode(_sfc_main$l, { class: "h-36 w-52" }),
1031
1035
  createElementVNode("div", _hoisted_3$6, [
1032
- createElementVNode("p", _hoisted_4$5, toDisplayString(resolvedHeading.value), 1),
1036
+ createElementVNode("p", _hoisted_4$6, toDisplayString(resolvedHeading.value), 1),
1033
1037
  __props.hint ? (openBlock(), createElementBlock("p", _hoisted_5$3, toDisplayString(__props.hint), 1)) : createCommentVNode("", true)
1034
1038
  ])
1035
1039
  ], true)
@@ -1318,7 +1322,7 @@ const _hoisted_1$9 = {
1318
1322
  };
1319
1323
  const _hoisted_2$6 = { class: "ck-feedback-dialog__response min-h-0 flex-1 overflow-y-auto rounded-md border border-input bg-background-input-default px-3 py-2 shadow-xs" };
1320
1324
  const _hoisted_3$5 = { class: "flex min-h-0 flex-col gap-4" };
1321
- const _hoisted_4$4 = {
1325
+ const _hoisted_4$5 = {
1322
1326
  class: "self-end text-sm text-content-on-surface-muted tabular-nums",
1323
1327
  "aria-live": "polite"
1324
1328
  };
@@ -1549,7 +1553,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
1549
1553
  maxlength: __props.maxFreeTextLength,
1550
1554
  rows: "3"
1551
1555
  }, null, 8, ["id", "modelValue", "placeholder", "disabled", "maxlength"]),
1552
- createElementVNode("div", _hoisted_4$4, toDisplayString(characterCount.value) + "/" + toDisplayString(__props.maxFreeTextLength), 1)
1556
+ createElementVNode("div", _hoisted_4$5, toDisplayString(characterCount.value) + "/" + toDisplayString(__props.maxFreeTextLength), 1)
1553
1557
  ]),
1554
1558
  _: 1
1555
1559
  })
@@ -1611,7 +1615,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
1611
1615
  const _hoisted_1$8 = ["aria-label"];
1612
1616
  const _hoisted_2$5 = ["onClick"];
1613
1617
  const _hoisted_3$4 = ["disabled", "aria-label"];
1614
- const _hoisted_4$3 = {
1618
+ const _hoisted_4$4 = {
1615
1619
  key: 3,
1616
1620
  class: "flex min-w-0 flex-1 flex-col items-start gap-0.5"
1617
1621
  };
@@ -1789,7 +1793,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
1789
1793
  !__props.showStatus ? (openBlock(), createElementBlock("span", {
1790
1794
  key: 2,
1791
1795
  class: normalizeClass(["min-w-0 flex-1 truncate text-content-on-surface-primary", __props.size === "small" ? "label-12-medium" : "body-14-medium"])
1792
- }, toDisplayString(resolvedTriggerLabel.value), 3)) : (openBlock(), createElementBlock("div", _hoisted_4$3, [
1796
+ }, toDisplayString(resolvedTriggerLabel.value), 3)) : (openBlock(), createElementBlock("div", _hoisted_4$4, [
1793
1797
  createElementVNode("span", {
1794
1798
  class: normalizeClass(["w-full truncate text-content-on-surface-primary", __props.size === "small" ? "label-12-medium" : "body-14-medium"])
1795
1799
  }, toDisplayString(resolvedTriggerLabel.value), 3),
@@ -1858,7 +1862,7 @@ const CHAT_HISTORY_ACTIVE_INDICATOR_CLASS = "ui-active-indicator";
1858
1862
  const _hoisted_1$7 = ["data-active"];
1859
1863
  const _hoisted_2$4 = { class: "min-w-0 flex-1" };
1860
1864
  const _hoisted_3$3 = { class: "truncate body-14-regular text-content-on-surface-primary" };
1861
- const _hoisted_4$2 = {
1865
+ const _hoisted_4$3 = {
1862
1866
  key: 0,
1863
1867
  class: "mt-0.5 flex min-w-0 items-center gap-1 label-12-medium text-content-on-surface-muted"
1864
1868
  };
@@ -2006,7 +2010,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
2006
2010
  default: withCtx(() => [
2007
2011
  createElementVNode("div", _hoisted_2$4, [
2008
2012
  createElementVNode("div", _hoisted_3$3, toDisplayString(props.title), 1),
2009
- props.metaStart || props.metaEnd || _ctx.$slots.meta ? (openBlock(), createElementBlock("div", _hoisted_4$2, [
2013
+ props.metaStart || props.metaEnd || _ctx.$slots.meta ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
2010
2014
  renderSlot(_ctx.$slots, "meta", {}, () => [
2011
2015
  props.metaStart ? (openBlock(), createElementBlock("span", _hoisted_5$1, toDisplayString(props.metaStart), 1)) : createCommentVNode("", true),
2012
2016
  props.metaStart && props.metaEnd ? (openBlock(), createElementBlock("span", _hoisted_6$1, "|")) : createCommentVNode("", true),
@@ -2150,7 +2154,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
2150
2154
  const _hoisted_1$6 = ["disabled", "aria-expanded", "aria-label"];
2151
2155
  const _hoisted_2$3 = { class: "min-w-0 max-w-[10rem] truncate" };
2152
2156
  const _hoisted_3$2 = ["aria-label"];
2153
- const _hoisted_4$1 = ["aria-selected", "onClick"];
2157
+ const _hoisted_4$2 = ["aria-selected", "onClick"];
2154
2158
  const _hoisted_5 = { class: "flex min-w-0 flex-1 flex-col" };
2155
2159
  const _hoisted_6 = { class: "min-w-0 truncate" };
2156
2160
  const _hoisted_7 = {
@@ -2255,7 +2259,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2255
2259
  class: "absolute right-2 text-content-on-surface-primary",
2256
2260
  "aria-hidden": "true"
2257
2261
  })) : createCommentVNode("", true)
2258
- ], 8, _hoisted_4$1)
2262
+ ], 8, _hoisted_4$2)
2259
2263
  ]);
2260
2264
  }), 128))
2261
2265
  ], 8, _hoisted_3$2)
@@ -2356,7 +2360,7 @@ const _hoisted_2$2 = {
2356
2360
  style: { "grid-area": "top" }
2357
2361
  };
2358
2362
  const _hoisted_3$1 = ["for"];
2359
- const _hoisted_4 = ["id", "value", "placeholder", "disabled"];
2363
+ const _hoisted_4$1 = ["id", "value", "placeholder", "disabled"];
2360
2364
  const MAX_LINES = 6;
2361
2365
  const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2362
2366
  ...{ name: "CkPromptInput" },
@@ -2492,7 +2496,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2492
2496
  onPointerdown: onPointerDown,
2493
2497
  onFocus,
2494
2498
  onBlur
2495
- }, null, 42, _hoisted_4),
2499
+ }, null, 42, _hoisted_4$1),
2496
2500
  createElementVNode("div", {
2497
2501
  class: normalizeClass([!isMultiLine.value && "pl-4"]),
2498
2502
  style: { "grid-area": "right" }
@@ -2820,12 +2824,24 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2820
2824
  }
2821
2825
  });
2822
2826
  const CkMilkdownEditor = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-d1a2a9cf"]]);
2827
+ let pending;
2828
+ function loadCodeMirror() {
2829
+ pending ??= import("./createCodeMirror-CN8xL8qU.js").catch((error) => {
2830
+ pending = void 0;
2831
+ throw error;
2832
+ });
2833
+ return pending;
2834
+ }
2835
+ function preloadCkCodeEditor() {
2836
+ loadCodeMirror().catch(() => void 0);
2837
+ }
2823
2838
  const _hoisted_1$1 = ["aria-disabled"];
2824
2839
  const _hoisted_2 = {
2825
2840
  key: 0,
2826
2841
  class: "bg-background-surface-muted-subtle flex h-9 items-center justify-between px-3"
2827
2842
  };
2828
2843
  const _hoisted_3 = { class: "text-content-on-surface-secondary label-12-regular" };
2844
+ const _hoisted_4 = ["value", "placeholder", "aria-label", "readonly", "disabled", "wrap"];
2829
2845
  const FADE_HEIGHT = "53px";
2830
2846
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
2831
2847
  ...{ name: "CkCodeEditor" },
@@ -2857,8 +2873,10 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
2857
2873
  const labels = useChatKitLabels();
2858
2874
  const rootRef = useTemplateRef("rootRef");
2859
2875
  const hostRef = useTemplateRef("hostRef");
2876
+ const fallbackRef = useTemplateRef("fallbackRef");
2860
2877
  const isLocked = computed(() => props.readonly || props.disabled);
2861
2878
  const isReady = ref(false);
2879
+ const isFallback = ref(false);
2862
2880
  const isCopied = ref(false);
2863
2881
  const headerLabel = computed(() => {
2864
2882
  const label = props.filename || props.language;
@@ -2913,16 +2931,13 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
2913
2931
  lastKnownCode = value;
2914
2932
  emit("update:modelValue", value);
2915
2933
  }
2916
- onMounted(async () => {
2917
- const parent = hostRef.value;
2918
- if (!parent) return;
2919
- const { createCodeMirror } = await import("./createCodeMirror-BO-TWTzn.js");
2934
+ async function mountEditor(parent) {
2935
+ const { createCodeMirror } = await loadCodeMirror();
2920
2936
  if (destroyed) return;
2921
- const initialCode = props.modelValue;
2922
- lastKnownCode = initialCode;
2923
- const handle = await createCodeMirror({
2937
+ lastKnownCode = props.modelValue;
2938
+ const handle = createCodeMirror({
2924
2939
  parent,
2925
- doc: initialCode,
2940
+ doc: props.modelValue,
2926
2941
  language: props.language,
2927
2942
  placeholder: props.placeholder,
2928
2943
  ariaLabel: props.ariaLabel,
@@ -2933,16 +2948,31 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
2933
2948
  onChange: handleChange,
2934
2949
  onFocus: () => emit("focus")
2935
2950
  });
2936
- if (destroyed) {
2937
- handle.destroy();
2938
- return;
2939
- }
2940
2951
  editor = handle;
2941
- if (props.modelValue !== initialCode) handle.setCode(props.modelValue);
2942
2952
  watchScrolling(handle.view.scrollDOM, handle.view.contentDOM);
2943
2953
  isReady.value = true;
2944
2954
  if (props.autofocus) handle.focus();
2955
+ }
2956
+ onMounted(async () => {
2957
+ const parent = hostRef.value;
2958
+ if (!parent) return;
2959
+ try {
2960
+ await mountEditor(parent);
2961
+ } catch (error) {
2962
+ console.error("[CkCodeEditor] Falling back to a plain textarea:", error);
2963
+ if (destroyed) return;
2964
+ editor?.destroy();
2965
+ editor = void 0;
2966
+ isFallback.value = true;
2967
+ if (props.autofocus) {
2968
+ await nextTick();
2969
+ fallbackRef.value?.focus();
2970
+ }
2971
+ }
2945
2972
  });
2973
+ function onFallbackInput(event) {
2974
+ handleChange(event.target.value);
2975
+ }
2946
2976
  watch(
2947
2977
  () => props.modelValue,
2948
2978
  (next) => {
@@ -3001,7 +3031,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3001
3031
  if (!isInsideRoot(event.relatedTarget)) emit("blur");
3002
3032
  }
3003
3033
  function focus() {
3004
- editor?.focus();
3034
+ if (editor) editor.focus();
3035
+ else fallbackRef.value?.focus();
3005
3036
  }
3006
3037
  function getCode() {
3007
3038
  return editor?.getCode() ?? props.modelValue;
@@ -3014,6 +3045,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3014
3045
  class: normalizeClass([
3015
3046
  "ck-code-editor ck-code-surface border-border-surface-default bg-background-input-default min-w-0 overflow-hidden rounded-xl border",
3016
3047
  isReady.value && "ck-code-editor--ready",
3048
+ isFallback.value && "ck-code-editor--fallback",
3017
3049
  isLocked.value && "ck-code-editor--readonly",
3018
3050
  __props.disabled && "ck-code-editor--disabled"
3019
3051
  ]),
@@ -3045,7 +3077,23 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3045
3077
  ref: hostRef,
3046
3078
  class: "ck-code-editor__host",
3047
3079
  style: normalizeStyle(__props.maxHeight ? { "--ck-code-max-height": __props.maxHeight } : void 0)
3048
- }, null, 4)
3080
+ }, [
3081
+ isFallback.value ? (openBlock(), createElementBlock("textarea", {
3082
+ key: 0,
3083
+ ref_key: "fallbackRef",
3084
+ ref: fallbackRef,
3085
+ class: "ck-code-editor__fallback",
3086
+ value: __props.modelValue,
3087
+ placeholder: __props.placeholder,
3088
+ "aria-label": __props.ariaLabel,
3089
+ readonly: __props.readonly,
3090
+ disabled: __props.disabled,
3091
+ wrap: __props.lineWrapping ? "soft" : "off",
3092
+ spellcheck: "false",
3093
+ onInput: onFallbackInput,
3094
+ onFocus: _cache[0] || (_cache[0] = ($event) => emit("focus"))
3095
+ }, null, 40, _hoisted_4)) : createCommentVNode("", true)
3096
+ ], 4)
3049
3097
  ]),
3050
3098
  _: 1
3051
3099
  }, 16))
@@ -3053,7 +3101,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3053
3101
  };
3054
3102
  }
3055
3103
  });
3056
- const CkCodeEditor = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-6dfa80b5"]]);
3104
+ const CkCodeEditor = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-c589384b"]]);
3057
3105
  const _hoisted_1 = {
3058
3106
  key: 1,
3059
3107
  class: "flex size-8 shrink-0 items-center justify-center rounded-2xl bg-background-surface-muted-subtle"
@@ -3391,7 +3439,8 @@ export {
3391
3439
  _sfc_main$v as B,
3392
3440
  CkCitationLabel as C,
3393
3441
  CkUserMessage as D,
3394
- formatRelativeTime as E,
3442
+ preloadCkCodeEditor as E,
3443
+ formatRelativeTime as F,
3395
3444
  _sfc_main$u as _,
3396
3445
  _sfc_main$t as a,
3397
3446
  _sfc_main$p as b,
package/dist/chat-kit.css CHANGED
@@ -176,7 +176,7 @@
176
176
  * `helpers/codemirror/code-palette.css`). The overrides live here, not in
177
177
  * `theme.ts`, because `CkMilkdownEditor`'s code blocks use that theme too and
178
178
  * must keep matching the rendered block. */
179
- .ck-code-editor[data-v-6dfa80b5] {
179
+ .ck-code-editor[data-v-c589384b] {
180
180
  /* `theme.ts` paints the editor from these; transparent lets the root's
181
181
  * input surface show through. */
182
182
  --ck-cm-bg: transparent;
@@ -186,7 +186,7 @@
186
186
 
187
187
  /* `:deep` is needed below because CodeMirror builds its own DOM, which scoped
188
188
  * styles do not reach. Same declarations as the `body-14-regular` typography utility. */
189
- .ck-code-editor__host[data-v-6dfa80b5] .cm-scroller {
189
+ .ck-code-editor__host[data-v-c589384b] .cm-scroller {
190
190
  max-height: var(--ck-code-max-height, none);
191
191
  font-family: Saans, sans-serif;
192
192
  font-size: 0.875rem;
@@ -196,20 +196,20 @@
196
196
 
197
197
  /* 12px below the header, 16px above the bottom edge, and a 20px right inset,
198
198
  * as in the design. */
199
- .ck-code-editor__host[data-v-6dfa80b5] .cm-content {
199
+ .ck-code-editor__host[data-v-c589384b] .cm-content {
200
200
  padding: 0.75rem 1.25rem 1rem 1rem;
201
201
  }
202
202
 
203
203
  /* The number column already carries the 1rem left inset, so the code must not
204
204
  * pay for it a second time. The sibling selector only matches while the gutter
205
205
  * is mounted, which is exactly when `showLineNumbers` is on. */
206
- .ck-code-editor__host[data-v-6dfa80b5] .cm-gutters ~ .cm-content {
206
+ .ck-code-editor__host[data-v-c589384b] .cm-gutters ~ .cm-content {
207
207
  padding-left: 0;
208
208
  }
209
209
 
210
210
  /* Numbers stay monospaced so the column does not jitter as digits change; the
211
211
  * 12px right padding is the gap before the code. */
212
- .ck-code-editor__host[data-v-6dfa80b5] .cm-lineNumbers .cm-gutterElement {
212
+ .ck-code-editor__host[data-v-c589384b] .cm-lineNumbers .cm-gutterElement {
213
213
  min-width: 0;
214
214
  padding: 0 0.75rem 0 1rem;
215
215
  /* `CODE_FONT_FAMILY` from `theme.ts`, repeated because importing it here
@@ -219,7 +219,38 @@
219
219
  monospace;
220
220
  font-weight: 500;
221
221
  }
222
- .ck-code-editor__host[data-v-6dfa80b5] .cm-placeholder {
222
+
223
+ /* A column so the stand-in below grows into a host a consumer has stretched
224
+ * (as a fixed-height dialog does), rather than sitting at its minimum height
225
+ * at the top of an empty panel. */
226
+ .ck-code-editor--fallback .ck-code-editor__host[data-v-c589384b] {
227
+ display: flex;
228
+ flex-direction: column;
229
+ }
230
+
231
+ /* Stand-in for when CodeMirror fails to load: same text metrics and insets as
232
+ * the editor without a gutter, so the field reads as the same surface. Where
233
+ * supported, it grows with its content the way the editor does. */
234
+ .ck-code-editor__fallback[data-v-c589384b] {
235
+ display: block;
236
+ flex: 1 1 auto;
237
+ width: 100%;
238
+ min-height: 5rem;
239
+ field-sizing: content;
240
+ max-height: var(--ck-code-max-height, none);
241
+ resize: none;
242
+ border: 0;
243
+ outline: none;
244
+ padding: 0.75rem 1.25rem 1rem 1rem;
245
+ background: var(--ck-cm-bg);
246
+ color: var(--ck-cm-foreground);
247
+ font-family: Saans, sans-serif;
248
+ font-size: 0.875rem;
249
+ font-weight: 400;
250
+ line-height: 1.25rem;
251
+ }
252
+ .ck-code-editor__fallback[data-v-c589384b]::placeholder,
253
+ .ck-code-editor__host[data-v-c589384b] .cm-placeholder {
223
254
  color: oklch(var(--content-on-surface-muted));
224
255
  }
225
256
 
@@ -228,24 +259,24 @@
228
259
  * both and only knows `primary` and `secondary`. The gradient, edges and band
229
260
  * height stay the mask's own. `[data-background]` outranks the mask's
230
261
  * per-surface rule regardless of stylesheet order. */
231
- .ck-code-editor__body[data-v-6dfa80b5]
262
+ .ck-code-editor__body[data-v-c589384b]
232
263
  .ui-fade-mask__band[data-background][data-position='top'] {
233
264
  --ui-fade-mask-surface: var(--ck-code-fade-top);
234
265
  /* The mask turns its top band opaque halfway down on desktop, which left a
235
266
  * solid strip under the header; mirror the bottom band's stops instead. */
236
267
  --ui-fade-mask-stop: 20%;
237
268
  }
238
- .ck-code-editor__body[data-v-6dfa80b5]
269
+ .ck-code-editor__body[data-v-c589384b]
239
270
  .ui-fade-mask__band[data-background][data-position='bottom'] {
240
271
  --ui-fade-mask-surface: var(--ck-code-fade-bottom);
241
272
  }
242
273
  @media (min-width: 768px) {
243
- .ck-code-editor__body[data-v-6dfa80b5]
274
+ .ck-code-editor__body[data-v-c589384b]
244
275
  .ui-fade-mask__band[data-background][data-position='top'] {
245
276
  --ui-fade-mask-stop: 100%;
246
277
  }
247
278
  }
248
- .ck-code-editor--disabled[data-v-6dfa80b5] {
279
+ .ck-code-editor--disabled[data-v-c589384b] {
249
280
  opacity: 0.6;
250
281
  cursor: not-allowed;
251
282
  pointer-events: none;
@@ -4,6 +4,7 @@ declare const __VLS_export: import("vue").DefineComponent<CkCitationProps, {}, {
4
4
  }, string, import("vue").PublicProps, Readonly<CkCitationProps> & Readonly<{
5
5
  "onOpen-source"?: ((url: string) => any) | undefined;
6
6
  }>, {
7
+ icon: string;
7
8
  ariaLabel: string;
8
9
  locationLabel: string;
9
10
  url: string;
@@ -1 +1 @@
1
- {"version":3,"file":"CkCitation.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkCitation/CkCitation.vue"],"names":[],"mappings":"AA8JA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAiS/C,QAAA,MAAM,YAAY;;;;;;;;;;6EAIhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"CkCitation.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkCitation/CkCitation.vue"],"names":[],"mappings":"AAgKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAqS/C,QAAA,MAAM,YAAY;;;;;;;;;;;6EAIhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -20,6 +20,12 @@ export interface CkCitationSource {
20
20
  * (pass the original name with its extension).
21
21
  */
22
22
  fileName: string;
23
+ /**
24
+ * Explicit Lucide icon for the file-type badge, overriding the one derived
25
+ * from `fileName`. Use for a source that has no meaningful file type, e.g.
26
+ * `"globe"` for a web result.
27
+ */
28
+ icon?: string;
23
29
  /** The cited chunk text, shown in the card body. */
24
30
  snippet: string;
25
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkCitation/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkCitation/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC"}
@@ -4,6 +4,7 @@ declare const __VLS_export: import("vue").DefineComponent<CkCitationCardProps, {
4
4
  }, string, import("vue").PublicProps, Readonly<CkCitationCardProps> & Readonly<{
5
5
  "onOpen-source"?: ((url: string) => any) | undefined;
6
6
  }>, {
7
+ icon: string;
7
8
  locationLabel: string;
8
9
  collectionName: string;
9
10
  url: string;
@@ -1 +1 @@
1
- {"version":3,"file":"CkCitationCard.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkCitationCard/CkCitationCard.vue"],"names":[],"mappings":"AAuIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AA+PnD,QAAA,MAAM,YAAY;;;;;;;;;6EAIhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"CkCitationCard.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkCitationCard/CkCitationCard.vue"],"names":[],"mappings":"AAwIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAmQnD,QAAA,MAAM,YAAY;;;;;;;;;;6EAIhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -20,6 +20,12 @@ export interface CkCitationCardProps {
20
20
  * e.g. `q3-report.pdf`).
21
21
  */
22
22
  fileName: string;
23
+ /**
24
+ * Explicit Lucide icon for the file-type badge, overriding the one derived
25
+ * from `fileName`. Use for a source that has no meaningful file type, e.g.
26
+ * `"globe"` for a web result.
27
+ */
28
+ icon?: string;
23
29
  /** The cited chunk text, shown in the card body. */
24
30
  snippet: string;
25
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkCitationCard/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkCitationCard/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CkCodeEditor.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkCodeEditor/CkCodeEditor.vue"],"names":[],"mappings":"AA4YA,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAqOpE,iBAAS,KAAK,IAAI,IAAI,CAErB;AAED,iBAAS,OAAO,IAAI,MAAM,CAEzB;AAmLD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAKhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"CkCodeEditor.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkCodeEditor/CkCodeEditor.vue"],"names":[],"mappings":"AAkdA,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAyPpE,iBAAS,KAAK,IAAI,IAAI,CAGrB;AAED,iBAAS,OAAO,IAAI,MAAM,CAEzB;AAiND,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAKhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -57,6 +57,10 @@ export declare function detectLineSeparator(doc: string): string;
57
57
  /**
58
58
  * Build a CodeMirror view themed like `UiCodeBlock`. Loaded lazily by
59
59
  * `CkCodeEditor` so CodeMirror stays out of the package's main chunk.
60
+ *
61
+ * The view is built at once, as plain text, and the grammar is applied when it
62
+ * arrives: the placeholder, gutter and content must not wait on a network
63
+ * request that may be slow or never finish. Only the syntax colours do.
60
64
  */
61
- export declare function createCodeMirror(options: CreateCodeMirrorOptions): Promise<CodeMirrorHandle>;
65
+ export declare function createCodeMirror(options: CreateCodeMirrorOptions): CodeMirrorHandle;
62
66
  //# sourceMappingURL=createCodeMirror.d.ts.map
@@ -1 +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,EAAkB,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,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,0EAA0E;IAC1E,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;OAIG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;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,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5D,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;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKvD;AAyCD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CA6E3B"}
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,EAAkB,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,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,0EAA0E;IAC1E,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;OAIG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;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,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5D,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;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKvD;AAyCD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,uBAAuB,GAC/B,gBAAgB,CA8FlB"}
@@ -1,3 +1,4 @@
1
1
  export { default as CkCodeEditor } from './CkCodeEditor.vue';
2
+ export { preloadCkCodeEditor } from './loadCodeMirror';
2
3
  export type * from './types';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
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,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,mBAAmB,SAAS,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type * as CodeMirrorModule from './createCodeMirror';
2
+ /**
3
+ * Import the CodeMirror chunk once and share the result.
4
+ *
5
+ * A failed import is forgotten rather than cached, so the next editor to mount
6
+ * (or the next `preloadCkCodeEditor` call) tries again instead of inheriting the
7
+ * failure.
8
+ */
9
+ export declare function loadCodeMirror(): Promise<typeof CodeMirrorModule>;
10
+ /**
11
+ * Start fetching `CkCodeEditor`'s CodeMirror chunk ahead of time, for example
12
+ * when a view that will open an editor is shown. The editor then appears
13
+ * without waiting on the network. Safe to call repeatedly; failures are
14
+ * swallowed here and surface, if still failing, when an editor mounts.
15
+ */
16
+ export declare function preloadCkCodeEditor(): void;
17
+ //# sourceMappingURL=loadCodeMirror.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadCodeMirror.d.ts","sourceRoot":"","sources":["../../../../src/components/base/CkCodeEditor/loadCodeMirror.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,gBAAgB,MAAM,oBAAoB,CAAC;AAI5D;;;;;;GAMG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAMjE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
@@ -43,6 +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';
46
+ export { CkCodeEditor, preloadCkCodeEditor } from './CkCodeEditor';
47
47
  export type { CkCodeEditorEmits, CkCodeEditorExposed, CkCodeEditorFadeSurface, CkCodeEditorProps, } from './CkCodeEditor';
48
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,4 +1,4 @@
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';
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, preloadCkCodeEditor, } from './base';
2
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, CkCodeEditorFadeSurface, CkCodeEditorProps, } from './base';
3
3
  export { CkConversation, CkHistory } from './composed';
4
4
  export type { CkConversationProps, CkHistoryEmits, CkHistoryProps, } from './composed';
@@ -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,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,uBAAuB,EACvB,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"}
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,EACZ,mBAAmB,GACpB,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,uBAAuB,EACvB,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"}
@@ -1,4 +1,4 @@
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-wu1Zrvgc.js";
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, E } from "../CkHistory.vue_vue_type_script_setup_true_lang-C4XS2QQI.js";
2
2
  export {
3
3
  _ as CkAgentMessage,
4
4
  a as CkAgentMessageHeader,
@@ -30,5 +30,6 @@ export {
30
30
  z as CkRegenerateMessageButton,
31
31
  A as CkSendIcon,
32
32
  B as CkStopIcon,
33
- D as CkUserMessage
33
+ D as CkUserMessage,
34
+ E as preloadCkCodeEditor
34
35
  };