@k2b/ui 0.9.1 → 0.11.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/browser/actions/Button.js +15 -7
- package/dist/browser/actions/Button.js.map +1 -1
- package/dist/browser/actions/ContextMenu.js +55 -15
- package/dist/browser/actions/ContextMenu.js.map +1 -1
- package/dist/browser/actions/Dropdown.js +39 -15
- package/dist/browser/actions/Dropdown.js.map +1 -1
- package/dist/browser/actions/FilterChip.js +1 -7
- package/dist/browser/actions/FilterChip.js.map +1 -1
- package/dist/browser/actions/SplitButton.js +0 -3
- package/dist/browser/actions/SplitButton.js.map +1 -1
- package/dist/browser/chat/ChatComposer.js +78 -91
- package/dist/browser/chat/ChatComposer.js.map +1 -1
- package/dist/browser/chat/ChatContextPopup.js +47 -21
- package/dist/browser/chat/ChatContextPopup.js.map +1 -1
- package/dist/browser/chat/ChatPrimitives.js +221 -232
- package/dist/browser/chat/ChatPrimitives.js.map +1 -1
- package/dist/browser/chat/index.js +3 -2
- package/dist/browser/chat/index.js.map +1 -1
- package/dist/browser/content/Chart.js +99 -106
- package/dist/browser/content/Chart.js.map +1 -1
- package/dist/browser/content/ChartExplorer.js +3 -6
- package/dist/browser/content/ChartExplorer.js.map +1 -1
- package/dist/browser/content/FileBrowser.js +1 -1
- package/dist/browser/content/FileBrowser.js.map +1 -1
- package/dist/browser/content/FileTree.js +1 -1
- package/dist/browser/content/FileTree.js.map +1 -1
- package/dist/browser/content/FileView.js +304 -287
- package/dist/browser/content/FileView.js.map +1 -1
- package/dist/browser/content/Lightbox.js +18 -0
- package/dist/browser/content/Lightbox.js.map +1 -1
- package/dist/browser/content/PdfPreview.js +68 -43
- package/dist/browser/content/PdfPreview.js.map +1 -1
- package/dist/browser/content/ZoomPanViewport.js +51 -52
- package/dist/browser/content/ZoomPanViewport.js.map +1 -1
- package/dist/browser/feedback/HoverPreview.js +391 -0
- package/dist/browser/feedback/HoverPreview.js.map +1 -0
- package/dist/browser/feedback/Tooltip.js +50 -8
- package/dist/browser/feedback/Tooltip.js.map +1 -1
- package/dist/browser/feedback/dialog-core.js +21 -3
- package/dist/browser/feedback/dialog-core.js.map +1 -1
- package/dist/browser/feedback/index.js +1 -0
- package/dist/browser/feedback/index.js.map +1 -1
- package/dist/browser/inputs/AutocompleteEditor.js +5 -4
- package/dist/browser/inputs/AutocompleteEditor.js.map +1 -1
- package/dist/browser/inputs/DatePicker.js +10 -0
- package/dist/browser/inputs/DatePicker.js.map +1 -1
- package/dist/browser/inputs/FileInputs.js +46 -36
- package/dist/browser/inputs/FileInputs.js.map +1 -1
- package/dist/browser/inputs/SelectChip.js +2 -1
- package/dist/browser/inputs/SelectChip.js.map +1 -1
- package/dist/browser/inputs/choice.js +5 -1
- package/dist/browser/inputs/choice.js.map +1 -1
- package/dist/browser/inputs/markdown/MarkdownEditor.js +173 -173
- package/dist/browser/inputs/markdown/MarkdownEditor.js.map +1 -1
- package/dist/browser/inputs/markdown/Toolbar.js +31 -34
- package/dist/browser/inputs/markdown/Toolbar.js.map +1 -1
- package/dist/browser/internal/focus-return.js +61 -0
- package/dist/browser/internal/focus-return.js.map +1 -0
- package/dist/browser/layout/AppOverview.js +1 -1
- package/dist/browser/layout/AppOverview.js.map +1 -1
- package/dist/browser/layout/AppWorkspace.js +105 -77
- package/dist/browser/layout/AppWorkspace.js.map +1 -1
- package/dist/browser/layout/DetailPanel.js +16 -15
- package/dist/browser/layout/DetailPanel.js.map +1 -1
- package/dist/browser/layout/FloatingWindow.js +3 -1
- package/dist/browser/layout/FloatingWindow.js.map +1 -1
- package/dist/browser/layout/PanelDialog.js +10 -9
- package/dist/browser/layout/PanelDialog.js.map +1 -1
- package/dist/browser/layout/Panes.js +82 -81
- package/dist/browser/layout/Panes.js.map +1 -1
- package/dist/browser/layout/SidebarItemPreview.js +48 -136
- package/dist/browser/layout/SidebarItemPreview.js.map +1 -1
- package/dist/browser/layout/app-workspace-controller.js +35 -4
- package/dist/browser/layout/app-workspace-controller.js.map +1 -1
- package/dist/browser/surfaces/ProgressBar.js.map +1 -1
- package/dist/browser/surfaces/ProgressRing.js +72 -0
- package/dist/browser/surfaces/ProgressRing.js.map +1 -0
- package/dist/browser/surfaces/index.js +1 -0
- package/dist/browser/surfaces/index.js.map +1 -1
- package/dist/ssr/actions/Button.js +15 -7
- package/dist/ssr/actions/Button.js.map +1 -1
- package/dist/ssr/actions/ContextMenu.js +55 -15
- package/dist/ssr/actions/ContextMenu.js.map +1 -1
- package/dist/ssr/actions/Dropdown.js +31 -12
- package/dist/ssr/actions/Dropdown.js.map +1 -1
- package/dist/ssr/actions/FilterChip.js +1 -7
- package/dist/ssr/actions/FilterChip.js.map +1 -1
- package/dist/ssr/actions/SplitButton.js +0 -3
- package/dist/ssr/actions/SplitButton.js.map +1 -1
- package/dist/ssr/chat/ChatComposer.js +61 -10
- package/dist/ssr/chat/ChatComposer.js.map +1 -1
- package/dist/ssr/chat/ChatContextPopup.js +19 -5
- package/dist/ssr/chat/ChatContextPopup.js.map +1 -1
- package/dist/ssr/chat/ChatPrimitives.js +104 -74
- package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
- package/dist/ssr/chat/index.js +3 -2
- package/dist/ssr/chat/index.js.map +1 -1
- package/dist/ssr/content/Chart.js +22 -11
- package/dist/ssr/content/Chart.js.map +1 -1
- package/dist/ssr/content/ChartExplorer.js +3 -6
- package/dist/ssr/content/ChartExplorer.js.map +1 -1
- package/dist/ssr/content/FileBrowser.js +1 -1
- package/dist/ssr/content/FileBrowser.js.map +1 -1
- package/dist/ssr/content/FileTree.js +1 -1
- package/dist/ssr/content/FileTree.js.map +1 -1
- package/dist/ssr/content/FileView.js +105 -33
- package/dist/ssr/content/FileView.js.map +1 -1
- package/dist/ssr/content/Lightbox.js +17 -0
- package/dist/ssr/content/Lightbox.js.map +1 -1
- package/dist/ssr/content/PdfPreview.js +44 -14
- package/dist/ssr/content/PdfPreview.js.map +1 -1
- package/dist/ssr/content/ZoomPanViewport.js +11 -3
- package/dist/ssr/content/ZoomPanViewport.js.map +1 -1
- package/dist/ssr/feedback/HoverPreview.js +360 -0
- package/dist/ssr/feedback/HoverPreview.js.map +1 -0
- package/dist/ssr/feedback/Tooltip.js +50 -8
- package/dist/ssr/feedback/Tooltip.js.map +1 -1
- package/dist/ssr/feedback/dialog-core.js +21 -3
- package/dist/ssr/feedback/dialog-core.js.map +1 -1
- package/dist/ssr/feedback/index.js +1 -0
- package/dist/ssr/feedback/index.js.map +1 -1
- package/dist/ssr/inputs/AutocompleteEditor.js +5 -4
- package/dist/ssr/inputs/AutocompleteEditor.js.map +1 -1
- package/dist/ssr/inputs/DatePicker.js +5 -0
- package/dist/ssr/inputs/DatePicker.js.map +1 -1
- package/dist/ssr/inputs/FileInputs.js +29 -11
- package/dist/ssr/inputs/FileInputs.js.map +1 -1
- package/dist/ssr/inputs/SelectChip.js +2 -1
- package/dist/ssr/inputs/SelectChip.js.map +1 -1
- package/dist/ssr/inputs/choice.js +5 -1
- package/dist/ssr/inputs/choice.js.map +1 -1
- package/dist/ssr/inputs/markdown/MarkdownEditor.js +46 -10
- package/dist/ssr/inputs/markdown/MarkdownEditor.js.map +1 -1
- package/dist/ssr/inputs/markdown/Toolbar.js +30 -2
- package/dist/ssr/inputs/markdown/Toolbar.js.map +1 -1
- package/dist/ssr/internal/focus-return.js +61 -0
- package/dist/ssr/internal/focus-return.js.map +1 -0
- package/dist/ssr/layout/AppOverview.js +1 -1
- package/dist/ssr/layout/AppOverview.js.map +1 -1
- package/dist/ssr/layout/AppWorkspace.js +84 -66
- package/dist/ssr/layout/AppWorkspace.js.map +1 -1
- package/dist/ssr/layout/DetailPanel.js +16 -15
- package/dist/ssr/layout/DetailPanel.js.map +1 -1
- package/dist/ssr/layout/FloatingWindow.js +3 -1
- package/dist/ssr/layout/FloatingWindow.js.map +1 -1
- package/dist/ssr/layout/PanelDialog.js +10 -9
- package/dist/ssr/layout/PanelDialog.js.map +1 -1
- package/dist/ssr/layout/Panes.js +39 -8
- package/dist/ssr/layout/Panes.js.map +1 -1
- package/dist/ssr/layout/SidebarItemPreview.js +36 -108
- package/dist/ssr/layout/SidebarItemPreview.js.map +1 -1
- package/dist/ssr/layout/app-workspace-controller.js +35 -4
- package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
- package/dist/ssr/surfaces/ProgressBar.js.map +1 -1
- package/dist/ssr/surfaces/ProgressRing.js +31 -0
- package/dist/ssr/surfaces/ProgressRing.js.map +1 -0
- package/dist/ssr/surfaces/index.js +1 -0
- package/dist/ssr/surfaces/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/actions/Button.d.ts +5 -0
- package/dist/types/actions/Dropdown.d.ts +5 -1
- package/dist/types/actions/SplitButton.d.ts +1 -0
- package/dist/types/chat/ChatContextPopup.d.ts +8 -0
- package/dist/types/chat/index.d.ts +3 -2
- package/dist/types/feedback/HoverPreview.d.ts +83 -0
- package/dist/types/feedback/Tooltip.d.ts +6 -0
- package/dist/types/feedback/index.d.ts +2 -0
- package/dist/types/feedback/prompts.d.ts +9 -6
- package/dist/types/inputs/SelectChip.d.ts +1 -0
- package/dist/types/inputs/completion/overlay.d.ts +3 -1
- package/dist/types/internal/focus-return.d.ts +20 -0
- package/dist/types/intl/Format.d.ts +16 -8
- package/dist/types/layout/AppWorkspace.d.ts +14 -0
- package/dist/types/layout/BottomSheet.d.ts +6 -1
- package/dist/types/layout/SidebarItemPreview.d.ts +1 -1
- package/dist/types/layout/app-workspace-controller.d.ts +5 -0
- package/dist/types/surfaces/ProgressBar.d.ts +1 -1
- package/dist/types/surfaces/ProgressRing.d.ts +13 -0
- package/dist/types/surfaces/index.d.ts +2 -0
- package/package.json +3 -2
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import { template as _$template } from "solid-js/web";
|
|
2
2
|
import { delegateEvents as _$delegateEvents } from "solid-js/web";
|
|
3
3
|
import { setStyleProperty as _$setStyleProperty } from "solid-js/web";
|
|
4
|
+
import { runHydrationEvents as _$runHydrationEvents } from "solid-js/web";
|
|
5
|
+
import { setAttribute as _$setAttribute } from "solid-js/web";
|
|
4
6
|
import { getNextMarker as _$getNextMarker } from "solid-js/web";
|
|
5
7
|
import { spread as _$spread } from "solid-js/web";
|
|
6
8
|
import { mergeProps as _$mergeProps } from "solid-js/web";
|
|
7
9
|
import { use as _$use } from "solid-js/web";
|
|
8
10
|
import { insert as _$insert } from "solid-js/web";
|
|
9
|
-
import { memo as _$memo } from "solid-js/web";
|
|
10
11
|
import { createComponent as _$createComponent } from "solid-js/web";
|
|
11
12
|
import { className as _$className } from "solid-js/web";
|
|
12
|
-
import { setProperty as _$setProperty } from "solid-js/web";
|
|
13
|
-
import { setAttribute as _$setAttribute } from "solid-js/web";
|
|
14
13
|
import { effect as _$effect } from "solid-js/web";
|
|
15
14
|
import { getNextElement as _$getNextElement } from "solid-js/web";
|
|
16
|
-
import {
|
|
17
|
-
var _tmpl$ = /*#__PURE__*/_$template(`<
|
|
15
|
+
import { memo as _$memo } from "solid-js/web";
|
|
16
|
+
var _tmpl$ = /*#__PURE__*/_$template(`<i aria-hidden=true>`),
|
|
18
17
|
_tmpl$2 = /*#__PURE__*/_$template(`<div class=k2b-markdown-editor__placeholder aria-hidden=true>`),
|
|
19
18
|
_tmpl$3 = /*#__PURE__*/_$template(`<div class=k2b-markdown-editor__stats aria-hidden=true><span><!$><!/> <!$><!/></span><span><!$><!/> <!$><!/></span><span><!$><!/> <!$><!/>`),
|
|
20
19
|
_tmpl$4 = /*#__PURE__*/_$template(`<div class=k2b-autocomplete__status role=status><i class="ti ti-loader-2 k2b-spin"aria-hidden=true></i>Loading suggestions`),
|
|
21
20
|
_tmpl$5 = /*#__PURE__*/_$template(`<div popover=manual class=k2b-autocomplete__options role=presentation><div class=k2b-autocomplete__listbox role=listbox><!$><!/><!$><!/><!$><!/>`),
|
|
22
21
|
_tmpl$6 = /*#__PURE__*/_$template(`<div class=k2b-markdown-editor role=group><!$><!/><div class=k2b-markdown-editor__surface><!$><!/><div class=k2b-markdown-editor__preview aria-hidden=true></div><textarea class=k2b-markdown-editor__input></textarea></div><!$><!/><!$><!/>`),
|
|
23
|
-
_tmpl$7 = /*#__PURE__*/_$template(`<
|
|
22
|
+
_tmpl$7 = /*#__PURE__*/_$template(`<i class="ti ti-x"aria-hidden=true>`),
|
|
24
23
|
_tmpl$8 = /*#__PURE__*/_$template(`<div class=k2b-autocomplete__status data-error=true role=alert><i class="ti ti-alert-circle"aria-hidden=true></i><span></span><button type=button>`),
|
|
25
24
|
_tmpl$9 = /*#__PURE__*/_$template(`<div class=k2b-autocomplete__option role=option><span></span><!$><!/>`),
|
|
26
25
|
_tmpl$0 = /*#__PURE__*/_$template(`<small>`);
|
|
27
26
|
import { highlight } from "@k2b/stdlib";
|
|
28
27
|
import { createEffect, createMemo, createSignal, createUniqueId, For, onCleanup, onMount, Show, untrack } from "solid-js";
|
|
28
|
+
import { Tooltip } from "../../feedback/Tooltip";
|
|
29
29
|
import { createFieldMeta, Field, fieldControlAria } from "../../internal/field";
|
|
30
30
|
import { useUiMessages } from "../../intl/messages";
|
|
31
31
|
import { abbreviations as abbreviationsCompletion, buildSuggestContext, collectKnownLabels, createCompletionBehaviorState, detectQuery, displayLabel, renderWithOverlay, resolveSuggestions } from "../completion";
|
|
@@ -150,10 +150,6 @@ export function MarkdownEditor(props) {
|
|
|
150
150
|
const maxHeight = 260;
|
|
151
151
|
const spaceBelow = window.innerHeight - rect.bottom;
|
|
152
152
|
const openAbove = spaceBelow < maxHeight && rect.top > spaceBelow;
|
|
153
|
-
const width = Math.min(280, window.innerWidth - 16);
|
|
154
|
-
const left = Math.min(rect.left, window.innerWidth - width - 8);
|
|
155
|
-
dropdown.style.setProperty("left", `${Math.max(8, left)}px`, "important");
|
|
156
|
-
dropdown.style.setProperty("width", `${width}px`, "important");
|
|
157
153
|
if (openAbove) {
|
|
158
154
|
dropdown.style.setProperty("top", "auto", "important");
|
|
159
155
|
dropdown.style.setProperty("bottom", `${window.innerHeight - rect.top + 4}px`, "important");
|
|
@@ -162,6 +158,11 @@ export function MarkdownEditor(props) {
|
|
|
162
158
|
dropdown.style.setProperty("bottom", "auto", "important");
|
|
163
159
|
}
|
|
164
160
|
if (!dropdown.matches(":popover-open")) dropdown.showPopover();
|
|
161
|
+
// The list sizes to its suggestions in CSS; measured once shown, it is
|
|
162
|
+
// clamped into the viewport before the next paint.
|
|
163
|
+
const width = dropdown.getBoundingClientRect().width;
|
|
164
|
+
const left = Math.min(rect.left, window.innerWidth - width - 8);
|
|
165
|
+
dropdown.style.setProperty("left", `${Math.max(8, left)}px`, "important");
|
|
165
166
|
};
|
|
166
167
|
const isAbortError = error => error instanceof DOMException ? error.name === "AbortError" : Boolean(error && typeof error === "object" && "name" in error && error.name === "AbortError");
|
|
167
168
|
const applySuggestionList = (context, suggestions) => {
|
|
@@ -402,28 +403,27 @@ export function MarkdownEditor(props) {
|
|
|
402
403
|
return props.onSave;
|
|
403
404
|
},
|
|
404
405
|
get children() {
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
406
|
+
return _$createComponent(Tooltip.Trigger, {
|
|
407
|
+
type: "button",
|
|
408
|
+
"class": "k2b-markdown-editor__tool",
|
|
409
|
+
get content() {
|
|
410
|
+
return messages().saveShortcut;
|
|
411
|
+
},
|
|
412
|
+
get ["aria-label"]() {
|
|
413
|
+
return messages().save;
|
|
414
|
+
},
|
|
415
|
+
tabIndex: -1,
|
|
416
|
+
get disabled() {
|
|
417
|
+
return props.disabled || props.saveDisabled || props.saving;
|
|
418
|
+
},
|
|
419
|
+
onMouseDown: event => event.preventDefault(),
|
|
420
|
+
onClick: () => props.onSave?.(),
|
|
421
|
+
get children() {
|
|
422
|
+
var _el$ = _$getNextElement(_tmpl$);
|
|
423
|
+
_$effect(() => _$className(_el$, props.saving ? "ti ti-loader-2 k2b-spin" : props.saved ? "ti ti-check" : "ti ti-device-floppy"));
|
|
424
|
+
return _el$;
|
|
425
|
+
}
|
|
424
426
|
});
|
|
425
|
-
_$runHydrationEvents();
|
|
426
|
-
return _el$;
|
|
427
427
|
}
|
|
428
428
|
});
|
|
429
429
|
return _$createComponent(Field, {
|
|
@@ -450,25 +450,25 @@ export function MarkdownEditor(props) {
|
|
|
450
450
|
return props.disabled;
|
|
451
451
|
},
|
|
452
452
|
get children() {
|
|
453
|
-
var _el$
|
|
454
|
-
_el$
|
|
455
|
-
[_el$
|
|
456
|
-
_el$
|
|
457
|
-
_el$
|
|
458
|
-
[_el$
|
|
459
|
-
_el$
|
|
460
|
-
_el$
|
|
461
|
-
_el$
|
|
462
|
-
[_el$
|
|
463
|
-
_el$
|
|
464
|
-
[_el$
|
|
465
|
-
_el$
|
|
453
|
+
var _el$2 = _$getNextElement(_tmpl$6),
|
|
454
|
+
_el$35 = _el$2.firstChild,
|
|
455
|
+
[_el$36, _co$1] = _$getNextMarker(_el$35.nextSibling),
|
|
456
|
+
_el$3 = _el$36.nextSibling,
|
|
457
|
+
_el$7 = _el$3.firstChild,
|
|
458
|
+
[_el$8, _co$] = _$getNextMarker(_el$7.nextSibling),
|
|
459
|
+
_el$5 = _el$8.nextSibling,
|
|
460
|
+
_el$6 = _el$5.nextSibling,
|
|
461
|
+
_el$37 = _el$3.nextSibling,
|
|
462
|
+
[_el$38, _co$10] = _$getNextMarker(_el$37.nextSibling),
|
|
463
|
+
_el$39 = _el$38.nextSibling,
|
|
464
|
+
[_el$40, _co$11] = _$getNextMarker(_el$39.nextSibling);
|
|
465
|
+
_el$2.$$keydown = event => {
|
|
466
466
|
if (props.onSave && (event.metaKey || event.ctrlKey) && event.key.toLowerCase() === "s") {
|
|
467
467
|
event.preventDefault();
|
|
468
468
|
if (!props.disabled && !props.saveDisabled && !props.saving) props.onSave();
|
|
469
469
|
}
|
|
470
470
|
};
|
|
471
|
-
_$insert(_el$
|
|
471
|
+
_$insert(_el$2, _$createComponent(Show, {
|
|
472
472
|
get when() {
|
|
473
473
|
return !props.noToolbar;
|
|
474
474
|
},
|
|
@@ -485,68 +485,68 @@ export function MarkdownEditor(props) {
|
|
|
485
485
|
return props.onClose;
|
|
486
486
|
},
|
|
487
487
|
get children() {
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
488
|
+
return _$createComponent(Tooltip.Trigger, {
|
|
489
|
+
type: "button",
|
|
490
|
+
"class": "k2b-markdown-editor__tool",
|
|
491
|
+
get content() {
|
|
492
|
+
return messages().close;
|
|
493
|
+
},
|
|
494
|
+
get ["aria-label"]() {
|
|
495
|
+
return messages().close;
|
|
496
|
+
},
|
|
497
|
+
get tabIndex() {
|
|
498
|
+
return props.disabled ? 0 : -1;
|
|
499
|
+
},
|
|
500
|
+
onClick: () => props.onClose?.(),
|
|
501
|
+
get children() {
|
|
502
|
+
return _$getNextElement(_tmpl$7);
|
|
503
|
+
}
|
|
502
504
|
});
|
|
503
|
-
_$runHydrationEvents();
|
|
504
|
-
return _el$42;
|
|
505
505
|
}
|
|
506
506
|
})];
|
|
507
507
|
}
|
|
508
508
|
});
|
|
509
509
|
}
|
|
510
|
-
}), _el$
|
|
511
|
-
_$insert(_el$
|
|
510
|
+
}), _el$36, _co$1);
|
|
511
|
+
_$insert(_el$3, _$createComponent(Show, {
|
|
512
512
|
get when() {
|
|
513
513
|
return _$memo(() => !!!localValue())() && props.placeholder;
|
|
514
514
|
},
|
|
515
515
|
get children() {
|
|
516
|
-
var _el$
|
|
517
|
-
_$insert(_el$
|
|
518
|
-
return _el$
|
|
516
|
+
var _el$4 = _$getNextElement(_tmpl$2);
|
|
517
|
+
_$insert(_el$4, () => props.placeholder);
|
|
518
|
+
return _el$4;
|
|
519
519
|
}
|
|
520
|
-
}), _el$
|
|
520
|
+
}), _el$8, _co$);
|
|
521
521
|
var _ref$ = preview;
|
|
522
|
-
typeof _ref$ === "function" ? _$use(_ref$, _el$
|
|
523
|
-
_el$
|
|
522
|
+
typeof _ref$ === "function" ? _$use(_ref$, _el$5) : preview = _el$5;
|
|
523
|
+
_el$6.addEventListener("blur", event => {
|
|
524
524
|
const next = event.relatedTarget;
|
|
525
525
|
if (next && dropdown?.contains(next)) return;
|
|
526
526
|
completionBehavior.reset();
|
|
527
527
|
clearCompletion();
|
|
528
528
|
});
|
|
529
|
-
_el$
|
|
530
|
-
_el$
|
|
531
|
-
_el$
|
|
529
|
+
_el$6.addEventListener("compositionend", () => setComposing(false));
|
|
530
|
+
_el$6.addEventListener("compositionstart", () => setComposing(true));
|
|
531
|
+
_el$6.addEventListener("scroll", event => {
|
|
532
532
|
if (preview) {
|
|
533
533
|
preview.scrollTop = event.currentTarget.scrollTop;
|
|
534
534
|
preview.scrollLeft = event.currentTarget.scrollLeft;
|
|
535
535
|
}
|
|
536
536
|
});
|
|
537
|
-
_el$
|
|
537
|
+
_el$6.addEventListener("paste", event => {
|
|
538
538
|
if (textarea && handleSmartPaste(event, textarea)) {
|
|
539
539
|
event.preventDefault();
|
|
540
540
|
}
|
|
541
541
|
});
|
|
542
|
-
_el$
|
|
543
|
-
_el$
|
|
544
|
-
_el$
|
|
542
|
+
_el$6.$$keydown = onKeyDown;
|
|
543
|
+
_el$6.addEventListener("change", event => props.onValueCommit?.(event.currentTarget.value));
|
|
544
|
+
_el$6.$$input = onInput;
|
|
545
545
|
_$use(element => {
|
|
546
546
|
textarea = element;
|
|
547
547
|
props.textareaRef?.(element);
|
|
548
|
-
}, _el$
|
|
549
|
-
_$spread(_el$
|
|
548
|
+
}, _el$6);
|
|
549
|
+
_$spread(_el$6, _$mergeProps({
|
|
550
550
|
get id() {
|
|
551
551
|
return meta.controlId;
|
|
552
552
|
},
|
|
@@ -575,99 +575,99 @@ export function MarkdownEditor(props) {
|
|
|
575
575
|
return _$memo(() => !!(dropdownOpen() && state()))() ? optionId(state().selectedIndex) : undefined;
|
|
576
576
|
}
|
|
577
577
|
}), false, false);
|
|
578
|
-
_$insert(_el$
|
|
578
|
+
_$insert(_el$2, _$createComponent(Show, {
|
|
579
579
|
get when() {
|
|
580
580
|
return _$memo(() => !!(props.showStats ?? true))() && !props.disabled;
|
|
581
581
|
},
|
|
582
582
|
get children() {
|
|
583
|
-
var _el$
|
|
584
|
-
_el$
|
|
585
|
-
_el$
|
|
586
|
-
[_el$
|
|
587
|
-
_el$
|
|
588
|
-
_el$
|
|
589
|
-
[_el$
|
|
590
|
-
_el$
|
|
591
|
-
_el$
|
|
592
|
-
[_el$
|
|
593
|
-
_el$
|
|
594
|
-
_el$
|
|
595
|
-
[_el$
|
|
596
|
-
_el$
|
|
597
|
-
_el$
|
|
598
|
-
[_el$
|
|
599
|
-
_el$
|
|
600
|
-
_el$
|
|
601
|
-
[_el$
|
|
602
|
-
_$insert(_el$
|
|
603
|
-
_$insert(_el$
|
|
604
|
-
_$insert(_el$
|
|
605
|
-
_$insert(_el$
|
|
606
|
-
_$insert(_el$
|
|
607
|
-
_$insert(_el$
|
|
608
|
-
_$effect(() => _$setAttribute(_el$
|
|
609
|
-
return _el$
|
|
583
|
+
var _el$9 = _$getNextElement(_tmpl$3),
|
|
584
|
+
_el$0 = _el$9.firstChild,
|
|
585
|
+
_el$10 = _el$0.firstChild,
|
|
586
|
+
[_el$11, _co$2] = _$getNextMarker(_el$10.nextSibling),
|
|
587
|
+
_el$1 = _el$11.nextSibling,
|
|
588
|
+
_el$12 = _el$1.nextSibling,
|
|
589
|
+
[_el$13, _co$3] = _$getNextMarker(_el$12.nextSibling),
|
|
590
|
+
_el$14 = _el$0.nextSibling,
|
|
591
|
+
_el$16 = _el$14.firstChild,
|
|
592
|
+
[_el$17, _co$4] = _$getNextMarker(_el$16.nextSibling),
|
|
593
|
+
_el$15 = _el$17.nextSibling,
|
|
594
|
+
_el$18 = _el$15.nextSibling,
|
|
595
|
+
[_el$19, _co$5] = _$getNextMarker(_el$18.nextSibling),
|
|
596
|
+
_el$20 = _el$14.nextSibling,
|
|
597
|
+
_el$22 = _el$20.firstChild,
|
|
598
|
+
[_el$23, _co$6] = _$getNextMarker(_el$22.nextSibling),
|
|
599
|
+
_el$21 = _el$23.nextSibling,
|
|
600
|
+
_el$24 = _el$21.nextSibling,
|
|
601
|
+
[_el$25, _co$7] = _$getNextMarker(_el$24.nextSibling);
|
|
602
|
+
_$insert(_el$0, () => stats().lines, _el$11, _co$2);
|
|
603
|
+
_$insert(_el$0, () => stats().lines === 1 ? "line" : "lines", _el$13, _co$3);
|
|
604
|
+
_$insert(_el$14, () => stats().words, _el$17, _co$4);
|
|
605
|
+
_$insert(_el$14, () => stats().words === 1 ? "word" : "words", _el$19, _co$5);
|
|
606
|
+
_$insert(_el$20, () => stats().chars, _el$23, _co$6);
|
|
607
|
+
_$insert(_el$20, () => stats().chars === 1 ? "char" : "chars", _el$25, _co$7);
|
|
608
|
+
_$effect(() => _$setAttribute(_el$9, "data-empty", stats().chars === 0 ? "true" : undefined));
|
|
609
|
+
return _el$9;
|
|
610
610
|
}
|
|
611
|
-
}), _el$
|
|
612
|
-
_$insert(_el$
|
|
611
|
+
}), _el$38, _co$10);
|
|
612
|
+
_$insert(_el$2, _$createComponent(Show, {
|
|
613
613
|
get when() {
|
|
614
614
|
return state() || loading() || completionError();
|
|
615
615
|
},
|
|
616
616
|
get children() {
|
|
617
|
-
var _el$
|
|
618
|
-
_el$
|
|
619
|
-
_el$
|
|
620
|
-
[_el$
|
|
621
|
-
_el$
|
|
622
|
-
[_el$
|
|
623
|
-
_el$
|
|
624
|
-
[_el$
|
|
617
|
+
var _el$26 = _$getNextElement(_tmpl$5),
|
|
618
|
+
_el$27 = _el$26.firstChild,
|
|
619
|
+
_el$29 = _el$27.firstChild,
|
|
620
|
+
[_el$30, _co$8] = _$getNextMarker(_el$29.nextSibling),
|
|
621
|
+
_el$31 = _el$30.nextSibling,
|
|
622
|
+
[_el$32, _co$9] = _$getNextMarker(_el$31.nextSibling),
|
|
623
|
+
_el$33 = _el$32.nextSibling,
|
|
624
|
+
[_el$34, _co$0] = _$getNextMarker(_el$33.nextSibling);
|
|
625
625
|
var _ref$2 = dropdown;
|
|
626
|
-
typeof _ref$2 === "function" ? _$use(_ref$2, _el$
|
|
627
|
-
_$setAttribute(_el$
|
|
628
|
-
_$insert(_el$
|
|
626
|
+
typeof _ref$2 === "function" ? _$use(_ref$2, _el$26) : dropdown = _el$26;
|
|
627
|
+
_$setAttribute(_el$27, "id", listboxId);
|
|
628
|
+
_$insert(_el$27, _$createComponent(Show, {
|
|
629
629
|
get when() {
|
|
630
630
|
return loading();
|
|
631
631
|
},
|
|
632
632
|
get children() {
|
|
633
633
|
return _$getNextElement(_tmpl$4);
|
|
634
634
|
}
|
|
635
|
-
}), _el$
|
|
636
|
-
_$insert(_el$
|
|
635
|
+
}), _el$30, _co$8);
|
|
636
|
+
_$insert(_el$27, _$createComponent(Show, {
|
|
637
637
|
get when() {
|
|
638
638
|
return completionError();
|
|
639
639
|
},
|
|
640
640
|
children: message => (() => {
|
|
641
|
-
var _el$
|
|
642
|
-
_el$
|
|
643
|
-
_el$
|
|
644
|
-
_el$
|
|
645
|
-
_$insert(_el$
|
|
646
|
-
_el$
|
|
647
|
-
_el$
|
|
648
|
-
_$insert(_el$
|
|
641
|
+
var _el$42 = _$getNextElement(_tmpl$8),
|
|
642
|
+
_el$43 = _el$42.firstChild,
|
|
643
|
+
_el$44 = _el$43.nextSibling,
|
|
644
|
+
_el$45 = _el$44.nextSibling;
|
|
645
|
+
_$insert(_el$44, message);
|
|
646
|
+
_el$45.$$click = retryCompletion;
|
|
647
|
+
_el$45.$$mousedown = event => event.preventDefault();
|
|
648
|
+
_$insert(_el$45, () => messages().retry);
|
|
649
649
|
_$runHydrationEvents();
|
|
650
|
-
return _el$
|
|
650
|
+
return _el$42;
|
|
651
651
|
})()
|
|
652
|
-
}), _el$
|
|
653
|
-
_$insert(_el$
|
|
652
|
+
}), _el$32, _co$9);
|
|
653
|
+
_$insert(_el$27, _$createComponent(For, {
|
|
654
654
|
get each() {
|
|
655
655
|
return state()?.suggestions ?? [];
|
|
656
656
|
},
|
|
657
657
|
children: (suggestion, index) => // biome-ignore lint/a11y/useKeyWithClickEvents: the owning textarea handles keyboard activation through aria-activedescendant.
|
|
658
658
|
(() => {
|
|
659
|
-
var _el$
|
|
660
|
-
_el$
|
|
661
|
-
_el$
|
|
662
|
-
[_el$
|
|
663
|
-
_el$
|
|
659
|
+
var _el$46 = _$getNextElement(_tmpl$9),
|
|
660
|
+
_el$47 = _el$46.firstChild,
|
|
661
|
+
_el$48 = _el$47.nextSibling,
|
|
662
|
+
[_el$49, _co$12] = _$getNextMarker(_el$48.nextSibling);
|
|
663
|
+
_el$46.$$click = () => {
|
|
664
664
|
activateSuggestion(index());
|
|
665
665
|
textarea?.focus();
|
|
666
666
|
};
|
|
667
|
-
_el$
|
|
667
|
+
_el$46.$$mousedown = event => {
|
|
668
668
|
event.preventDefault();
|
|
669
669
|
};
|
|
670
|
-
_el$
|
|
670
|
+
_el$46.addEventListener("mouseenter", () => {
|
|
671
671
|
const current = state();
|
|
672
672
|
if (current) {
|
|
673
673
|
setState({
|
|
@@ -676,59 +676,59 @@ export function MarkdownEditor(props) {
|
|
|
676
676
|
});
|
|
677
677
|
}
|
|
678
678
|
});
|
|
679
|
-
_$insert(_el$
|
|
680
|
-
_$insert(_el$
|
|
679
|
+
_$insert(_el$47, () => displayLabel(suggestion, state().context.completion));
|
|
680
|
+
_$insert(_el$46, _$createComponent(Show, {
|
|
681
681
|
get when() {
|
|
682
682
|
return suggestion.hint;
|
|
683
683
|
},
|
|
684
684
|
children: hint => (() => {
|
|
685
|
-
var _el$
|
|
686
|
-
_$insert(_el$
|
|
687
|
-
return _el$
|
|
685
|
+
var _el$50 = _$getNextElement(_tmpl$0);
|
|
686
|
+
_$insert(_el$50, hint);
|
|
687
|
+
return _el$50;
|
|
688
688
|
})()
|
|
689
|
-
}), _el$
|
|
689
|
+
}), _el$49, _co$12);
|
|
690
690
|
_$effect(_p$ => {
|
|
691
|
-
var _v$
|
|
692
|
-
_v$
|
|
693
|
-
_v$
|
|
694
|
-
_v$
|
|
691
|
+
var _v$0 = optionId(index()),
|
|
692
|
+
_v$1 = index() === state()?.selectedIndex;
|
|
693
|
+
_v$0 !== _p$.e && _$setAttribute(_el$46, "id", _p$.e = _v$0);
|
|
694
|
+
_v$1 !== _p$.t && _$setAttribute(_el$46, "aria-selected", _p$.t = _v$1);
|
|
695
695
|
return _p$;
|
|
696
696
|
}, {
|
|
697
697
|
e: undefined,
|
|
698
698
|
t: undefined
|
|
699
699
|
});
|
|
700
700
|
_$runHydrationEvents();
|
|
701
|
-
return _el$
|
|
701
|
+
return _el$46;
|
|
702
702
|
})()
|
|
703
|
-
}), _el$
|
|
703
|
+
}), _el$34, _co$0);
|
|
704
704
|
_$effect(_p$ => {
|
|
705
|
-
var _v$
|
|
706
|
-
_v$
|
|
707
|
-
_v$
|
|
708
|
-
_v$
|
|
705
|
+
var _v$ = messages().completionSuggestions,
|
|
706
|
+
_v$2 = messages().suggestions;
|
|
707
|
+
_v$ !== _p$.e && _$setAttribute(_el$26, "aria-label", _p$.e = _v$);
|
|
708
|
+
_v$2 !== _p$.t && _$setAttribute(_el$27, "aria-label", _p$.t = _v$2);
|
|
709
709
|
return _p$;
|
|
710
710
|
}, {
|
|
711
711
|
e: undefined,
|
|
712
712
|
t: undefined
|
|
713
713
|
});
|
|
714
|
-
return _el$
|
|
714
|
+
return _el$26;
|
|
715
715
|
}
|
|
716
|
-
}), _el$
|
|
716
|
+
}), _el$40, _co$11);
|
|
717
717
|
_$effect(_p$ => {
|
|
718
|
-
var _v$
|
|
719
|
-
_v$
|
|
720
|
-
_v$
|
|
721
|
-
_v$
|
|
722
|
-
_v$
|
|
723
|
-
_v$
|
|
724
|
-
_v$
|
|
725
|
-
_v$
|
|
726
|
-
_v$
|
|
727
|
-
_v$
|
|
728
|
-
_v$
|
|
729
|
-
_v$
|
|
730
|
-
_v$
|
|
731
|
-
_v$
|
|
718
|
+
var _v$3 = props.label ? meta.labelId : undefined,
|
|
719
|
+
_v$4 = !props.label ? props["aria-label"] : undefined,
|
|
720
|
+
_v$5 = props.disabled ? "true" : undefined,
|
|
721
|
+
_v$6 = error() ? "true" : undefined,
|
|
722
|
+
_v$7 = props.variant === "default" ? undefined : props.variant,
|
|
723
|
+
_v$8 = props.fill ? "true" : undefined,
|
|
724
|
+
_v$9 = String(props.lines ?? 6);
|
|
725
|
+
_v$3 !== _p$.e && _$setAttribute(_el$2, "aria-labelledby", _p$.e = _v$3);
|
|
726
|
+
_v$4 !== _p$.t && _$setAttribute(_el$2, "aria-label", _p$.t = _v$4);
|
|
727
|
+
_v$5 !== _p$.a && _$setAttribute(_el$2, "data-disabled", _p$.a = _v$5);
|
|
728
|
+
_v$6 !== _p$.o && _$setAttribute(_el$2, "data-invalid", _p$.o = _v$6);
|
|
729
|
+
_v$7 !== _p$.i && _$setAttribute(_el$2, "data-variant", _p$.i = _v$7);
|
|
730
|
+
_v$8 !== _p$.n && _$setAttribute(_el$2, "data-fill", _p$.n = _v$8);
|
|
731
|
+
_v$9 !== _p$.s && _$setStyleProperty(_el$2, "--k2b-editor-lines", _p$.s = _v$9);
|
|
732
732
|
return _p$;
|
|
733
733
|
}, {
|
|
734
734
|
e: undefined,
|
|
@@ -740,10 +740,10 @@ export function MarkdownEditor(props) {
|
|
|
740
740
|
s: undefined
|
|
741
741
|
});
|
|
742
742
|
_$runHydrationEvents();
|
|
743
|
-
return _el$
|
|
743
|
+
return _el$2;
|
|
744
744
|
}
|
|
745
745
|
});
|
|
746
746
|
}
|
|
747
747
|
export { abbreviations } from "../completion";
|
|
748
|
-
_$delegateEvents(["
|
|
748
|
+
_$delegateEvents(["keydown", "input", "mousedown", "click"]);
|
|
749
749
|
//# sourceMappingURL=MarkdownEditor.js.map
|