@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.
Files changed (180) hide show
  1. package/dist/browser/actions/Button.js +15 -7
  2. package/dist/browser/actions/Button.js.map +1 -1
  3. package/dist/browser/actions/ContextMenu.js +55 -15
  4. package/dist/browser/actions/ContextMenu.js.map +1 -1
  5. package/dist/browser/actions/Dropdown.js +39 -15
  6. package/dist/browser/actions/Dropdown.js.map +1 -1
  7. package/dist/browser/actions/FilterChip.js +1 -7
  8. package/dist/browser/actions/FilterChip.js.map +1 -1
  9. package/dist/browser/actions/SplitButton.js +0 -3
  10. package/dist/browser/actions/SplitButton.js.map +1 -1
  11. package/dist/browser/chat/ChatComposer.js +78 -91
  12. package/dist/browser/chat/ChatComposer.js.map +1 -1
  13. package/dist/browser/chat/ChatContextPopup.js +47 -21
  14. package/dist/browser/chat/ChatContextPopup.js.map +1 -1
  15. package/dist/browser/chat/ChatPrimitives.js +221 -232
  16. package/dist/browser/chat/ChatPrimitives.js.map +1 -1
  17. package/dist/browser/chat/index.js +3 -2
  18. package/dist/browser/chat/index.js.map +1 -1
  19. package/dist/browser/content/Chart.js +99 -106
  20. package/dist/browser/content/Chart.js.map +1 -1
  21. package/dist/browser/content/ChartExplorer.js +3 -6
  22. package/dist/browser/content/ChartExplorer.js.map +1 -1
  23. package/dist/browser/content/FileBrowser.js +1 -1
  24. package/dist/browser/content/FileBrowser.js.map +1 -1
  25. package/dist/browser/content/FileTree.js +1 -1
  26. package/dist/browser/content/FileTree.js.map +1 -1
  27. package/dist/browser/content/FileView.js +304 -287
  28. package/dist/browser/content/FileView.js.map +1 -1
  29. package/dist/browser/content/Lightbox.js +18 -0
  30. package/dist/browser/content/Lightbox.js.map +1 -1
  31. package/dist/browser/content/PdfPreview.js +68 -43
  32. package/dist/browser/content/PdfPreview.js.map +1 -1
  33. package/dist/browser/content/ZoomPanViewport.js +51 -52
  34. package/dist/browser/content/ZoomPanViewport.js.map +1 -1
  35. package/dist/browser/feedback/HoverPreview.js +391 -0
  36. package/dist/browser/feedback/HoverPreview.js.map +1 -0
  37. package/dist/browser/feedback/Tooltip.js +50 -8
  38. package/dist/browser/feedback/Tooltip.js.map +1 -1
  39. package/dist/browser/feedback/dialog-core.js +21 -3
  40. package/dist/browser/feedback/dialog-core.js.map +1 -1
  41. package/dist/browser/feedback/index.js +1 -0
  42. package/dist/browser/feedback/index.js.map +1 -1
  43. package/dist/browser/inputs/AutocompleteEditor.js +5 -4
  44. package/dist/browser/inputs/AutocompleteEditor.js.map +1 -1
  45. package/dist/browser/inputs/DatePicker.js +10 -0
  46. package/dist/browser/inputs/DatePicker.js.map +1 -1
  47. package/dist/browser/inputs/FileInputs.js +46 -36
  48. package/dist/browser/inputs/FileInputs.js.map +1 -1
  49. package/dist/browser/inputs/SelectChip.js +2 -1
  50. package/dist/browser/inputs/SelectChip.js.map +1 -1
  51. package/dist/browser/inputs/choice.js +5 -1
  52. package/dist/browser/inputs/choice.js.map +1 -1
  53. package/dist/browser/inputs/markdown/MarkdownEditor.js +173 -173
  54. package/dist/browser/inputs/markdown/MarkdownEditor.js.map +1 -1
  55. package/dist/browser/inputs/markdown/Toolbar.js +31 -34
  56. package/dist/browser/inputs/markdown/Toolbar.js.map +1 -1
  57. package/dist/browser/internal/focus-return.js +61 -0
  58. package/dist/browser/internal/focus-return.js.map +1 -0
  59. package/dist/browser/layout/AppOverview.js +1 -1
  60. package/dist/browser/layout/AppOverview.js.map +1 -1
  61. package/dist/browser/layout/AppWorkspace.js +105 -77
  62. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  63. package/dist/browser/layout/DetailPanel.js +16 -15
  64. package/dist/browser/layout/DetailPanel.js.map +1 -1
  65. package/dist/browser/layout/FloatingWindow.js +3 -1
  66. package/dist/browser/layout/FloatingWindow.js.map +1 -1
  67. package/dist/browser/layout/PanelDialog.js +10 -9
  68. package/dist/browser/layout/PanelDialog.js.map +1 -1
  69. package/dist/browser/layout/Panes.js +82 -81
  70. package/dist/browser/layout/Panes.js.map +1 -1
  71. package/dist/browser/layout/SidebarItemPreview.js +48 -136
  72. package/dist/browser/layout/SidebarItemPreview.js.map +1 -1
  73. package/dist/browser/layout/app-workspace-controller.js +35 -4
  74. package/dist/browser/layout/app-workspace-controller.js.map +1 -1
  75. package/dist/browser/surfaces/ProgressBar.js.map +1 -1
  76. package/dist/browser/surfaces/ProgressRing.js +72 -0
  77. package/dist/browser/surfaces/ProgressRing.js.map +1 -0
  78. package/dist/browser/surfaces/index.js +1 -0
  79. package/dist/browser/surfaces/index.js.map +1 -1
  80. package/dist/ssr/actions/Button.js +15 -7
  81. package/dist/ssr/actions/Button.js.map +1 -1
  82. package/dist/ssr/actions/ContextMenu.js +55 -15
  83. package/dist/ssr/actions/ContextMenu.js.map +1 -1
  84. package/dist/ssr/actions/Dropdown.js +31 -12
  85. package/dist/ssr/actions/Dropdown.js.map +1 -1
  86. package/dist/ssr/actions/FilterChip.js +1 -7
  87. package/dist/ssr/actions/FilterChip.js.map +1 -1
  88. package/dist/ssr/actions/SplitButton.js +0 -3
  89. package/dist/ssr/actions/SplitButton.js.map +1 -1
  90. package/dist/ssr/chat/ChatComposer.js +61 -10
  91. package/dist/ssr/chat/ChatComposer.js.map +1 -1
  92. package/dist/ssr/chat/ChatContextPopup.js +19 -5
  93. package/dist/ssr/chat/ChatContextPopup.js.map +1 -1
  94. package/dist/ssr/chat/ChatPrimitives.js +104 -74
  95. package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
  96. package/dist/ssr/chat/index.js +3 -2
  97. package/dist/ssr/chat/index.js.map +1 -1
  98. package/dist/ssr/content/Chart.js +22 -11
  99. package/dist/ssr/content/Chart.js.map +1 -1
  100. package/dist/ssr/content/ChartExplorer.js +3 -6
  101. package/dist/ssr/content/ChartExplorer.js.map +1 -1
  102. package/dist/ssr/content/FileBrowser.js +1 -1
  103. package/dist/ssr/content/FileBrowser.js.map +1 -1
  104. package/dist/ssr/content/FileTree.js +1 -1
  105. package/dist/ssr/content/FileTree.js.map +1 -1
  106. package/dist/ssr/content/FileView.js +105 -33
  107. package/dist/ssr/content/FileView.js.map +1 -1
  108. package/dist/ssr/content/Lightbox.js +17 -0
  109. package/dist/ssr/content/Lightbox.js.map +1 -1
  110. package/dist/ssr/content/PdfPreview.js +44 -14
  111. package/dist/ssr/content/PdfPreview.js.map +1 -1
  112. package/dist/ssr/content/ZoomPanViewport.js +11 -3
  113. package/dist/ssr/content/ZoomPanViewport.js.map +1 -1
  114. package/dist/ssr/feedback/HoverPreview.js +360 -0
  115. package/dist/ssr/feedback/HoverPreview.js.map +1 -0
  116. package/dist/ssr/feedback/Tooltip.js +50 -8
  117. package/dist/ssr/feedback/Tooltip.js.map +1 -1
  118. package/dist/ssr/feedback/dialog-core.js +21 -3
  119. package/dist/ssr/feedback/dialog-core.js.map +1 -1
  120. package/dist/ssr/feedback/index.js +1 -0
  121. package/dist/ssr/feedback/index.js.map +1 -1
  122. package/dist/ssr/inputs/AutocompleteEditor.js +5 -4
  123. package/dist/ssr/inputs/AutocompleteEditor.js.map +1 -1
  124. package/dist/ssr/inputs/DatePicker.js +5 -0
  125. package/dist/ssr/inputs/DatePicker.js.map +1 -1
  126. package/dist/ssr/inputs/FileInputs.js +29 -11
  127. package/dist/ssr/inputs/FileInputs.js.map +1 -1
  128. package/dist/ssr/inputs/SelectChip.js +2 -1
  129. package/dist/ssr/inputs/SelectChip.js.map +1 -1
  130. package/dist/ssr/inputs/choice.js +5 -1
  131. package/dist/ssr/inputs/choice.js.map +1 -1
  132. package/dist/ssr/inputs/markdown/MarkdownEditor.js +46 -10
  133. package/dist/ssr/inputs/markdown/MarkdownEditor.js.map +1 -1
  134. package/dist/ssr/inputs/markdown/Toolbar.js +30 -2
  135. package/dist/ssr/inputs/markdown/Toolbar.js.map +1 -1
  136. package/dist/ssr/internal/focus-return.js +61 -0
  137. package/dist/ssr/internal/focus-return.js.map +1 -0
  138. package/dist/ssr/layout/AppOverview.js +1 -1
  139. package/dist/ssr/layout/AppOverview.js.map +1 -1
  140. package/dist/ssr/layout/AppWorkspace.js +84 -66
  141. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  142. package/dist/ssr/layout/DetailPanel.js +16 -15
  143. package/dist/ssr/layout/DetailPanel.js.map +1 -1
  144. package/dist/ssr/layout/FloatingWindow.js +3 -1
  145. package/dist/ssr/layout/FloatingWindow.js.map +1 -1
  146. package/dist/ssr/layout/PanelDialog.js +10 -9
  147. package/dist/ssr/layout/PanelDialog.js.map +1 -1
  148. package/dist/ssr/layout/Panes.js +39 -8
  149. package/dist/ssr/layout/Panes.js.map +1 -1
  150. package/dist/ssr/layout/SidebarItemPreview.js +36 -108
  151. package/dist/ssr/layout/SidebarItemPreview.js.map +1 -1
  152. package/dist/ssr/layout/app-workspace-controller.js +35 -4
  153. package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
  154. package/dist/ssr/surfaces/ProgressBar.js.map +1 -1
  155. package/dist/ssr/surfaces/ProgressRing.js +31 -0
  156. package/dist/ssr/surfaces/ProgressRing.js.map +1 -0
  157. package/dist/ssr/surfaces/index.js +1 -0
  158. package/dist/ssr/surfaces/index.js.map +1 -1
  159. package/dist/styles.css +1 -1
  160. package/dist/types/actions/Button.d.ts +5 -0
  161. package/dist/types/actions/Dropdown.d.ts +5 -1
  162. package/dist/types/actions/SplitButton.d.ts +1 -0
  163. package/dist/types/chat/ChatContextPopup.d.ts +8 -0
  164. package/dist/types/chat/index.d.ts +3 -2
  165. package/dist/types/feedback/HoverPreview.d.ts +83 -0
  166. package/dist/types/feedback/Tooltip.d.ts +6 -0
  167. package/dist/types/feedback/index.d.ts +2 -0
  168. package/dist/types/feedback/prompts.d.ts +9 -6
  169. package/dist/types/inputs/SelectChip.d.ts +1 -0
  170. package/dist/types/inputs/completion/overlay.d.ts +3 -1
  171. package/dist/types/internal/focus-return.d.ts +20 -0
  172. package/dist/types/intl/Format.d.ts +16 -8
  173. package/dist/types/layout/AppWorkspace.d.ts +14 -0
  174. package/dist/types/layout/BottomSheet.d.ts +6 -1
  175. package/dist/types/layout/SidebarItemPreview.d.ts +1 -1
  176. package/dist/types/layout/app-workspace-controller.d.ts +5 -0
  177. package/dist/types/surfaces/ProgressBar.d.ts +1 -1
  178. package/dist/types/surfaces/ProgressRing.d.ts +13 -0
  179. package/dist/types/surfaces/index.d.ts +2 -0
  180. package/package.json +3 -2
@@ -1,39 +1,38 @@
1
1
  import { template as _$template } from "solid-js/web";
2
2
  import { delegateEvents as _$delegateEvents } from "solid-js/web";
3
- import { memo as _$memo } from "solid-js/web";
3
+ import { addEventListener as _$addEventListener } from "solid-js/web";
4
+ import { runHydrationEvents as _$runHydrationEvents } from "solid-js/web";
4
5
  import { setProperty as _$setProperty } from "solid-js/web";
5
6
  import { getNextMarker as _$getNextMarker } from "solid-js/web";
6
- import { insert as _$insert } from "solid-js/web";
7
- import { className as _$className } from "solid-js/web";
7
+ import { memo as _$memo } from "solid-js/web";
8
+ import { createComponent as _$createComponent } from "solid-js/web";
8
9
  import { setAttribute as _$setAttribute } from "solid-js/web";
10
+ import { className as _$className } from "solid-js/web";
9
11
  import { effect as _$effect } from "solid-js/web";
10
12
  import { getNextElement as _$getNextElement } from "solid-js/web";
11
- import { runHydrationEvents as _$runHydrationEvents } from "solid-js/web";
12
- import { addEventListener as _$addEventListener } from "solid-js/web";
13
- import { createComponent as _$createComponent } from "solid-js/web";
14
- var _tmpl$ = /*#__PURE__*/_$template(`<button type=button class=k2b-content-file-view__action><i aria-hidden=true>`),
15
- _tmpl$2 = /*#__PURE__*/_$template(`<a class=k2b-content-file-view__action><i aria-hidden=true></i><span class=k2b-sr-only>`),
13
+ import { insert as _$insert } from "solid-js/web";
14
+ import { use as _$use } from "solid-js/web";
15
+ var _tmpl$ = /*#__PURE__*/_$template(`<a><i aria-hidden=true></i><span class=k2b-sr-only>`),
16
+ _tmpl$2 = /*#__PURE__*/_$template(`<i aria-hidden=true>`),
16
17
  _tmpl$3 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__overlay>`),
17
18
  _tmpl$4 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__panel><div class=k2b-content-file-view__preview></div><!$><!/>`),
18
- _tmpl$5 = /*#__PURE__*/_$template(`<button type=button class=k2b-markdown-editor__tool tabindex=-1><i>`),
19
- _tmpl$6 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__truncated>`),
20
- _tmpl$7 = /*#__PURE__*/_$template(`<span>`),
21
- _tmpl$8 = /*#__PURE__*/_$template(`<div>`),
22
- _tmpl$9 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__document>`),
23
- _tmpl$0 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__editor>`),
24
- _tmpl$1 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__editor><div class=k2b-markdown-editor data-fill=true role=group><div class="k2b-markdown-editor__toolbar k2b-content-file-view__code-toolbar"><span class=k2b-content-file-view__code-language></span><span class=k2b-markdown-editor__trailing><!$><!/><!$><!/></span></div><div class=k2b-markdown-editor__surface><textarea class=k2b-content-file-view__code-input>`),
25
- _tmpl$10 = /*#__PURE__*/_$template(`<a class=k2b-markdown-editor__tool><i class="ti ti-download">`),
26
- _tmpl$11 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__settings><!$><!/><!$><!/><!$><!/>`),
27
- _tmpl$12 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__sheet><table class=k2b-content-file-view__table><thead><tr></tr></thead><tbody></tbody></table><!$><!/><!$><!/>`),
28
- _tmpl$13 = /*#__PURE__*/_$template(`<th scope=col><span>`),
29
- _tmpl$14 = /*#__PURE__*/_$template(`<tr>`),
30
- _tmpl$15 = /*#__PURE__*/_$template(`<td>`),
31
- _tmpl$16 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__pagination><!$><!/><span><!$><!/>–<!$><!/> / <!$><!/></span><!$><!/>`),
32
- _tmpl$17 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__media><img>`),
33
- _tmpl$18 = /*#__PURE__*/_$template(`<object type=application/pdf class=k2b-content-file-view__pdf>`),
34
- _tmpl$19 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__media data-kind=audio><audio controls preload=metadata>`),
35
- _tmpl$20 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__media data-kind=video><video controls preload=metadata playsinline>`),
36
- _tmpl$21 = /*#__PURE__*/_$template(`<a class=k2b-button data-variant=secondary data-size=sm download><i class="ti ti-download"aria-hidden=true></i><!$><!/>`);
19
+ _tmpl$5 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__truncated>`),
20
+ _tmpl$6 = /*#__PURE__*/_$template(`<span>`),
21
+ _tmpl$7 = /*#__PURE__*/_$template(`<div>`),
22
+ _tmpl$8 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__document>`),
23
+ _tmpl$9 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__editor>`),
24
+ _tmpl$0 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__editor><div class=k2b-markdown-editor data-fill=true role=group><div class="k2b-markdown-editor__toolbar k2b-content-file-view__code-toolbar"><span class=k2b-content-file-view__code-language></span><span class=k2b-markdown-editor__trailing><!$><!/><!$><!/></span></div><div class=k2b-markdown-editor__surface><textarea class=k2b-content-file-view__code-input>`),
25
+ _tmpl$1 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__settings><!$><!/><!$><!/><!$><!/>`),
26
+ _tmpl$10 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__sheet><table class=k2b-content-file-view__table><thead><tr></tr></thead><tbody></tbody></table><!$><!/><!$><!/>`),
27
+ _tmpl$11 = /*#__PURE__*/_$template(`<th scope=col><span>`),
28
+ _tmpl$12 = /*#__PURE__*/_$template(`<tr>`),
29
+ _tmpl$13 = /*#__PURE__*/_$template(`<td>`),
30
+ _tmpl$14 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__pagination><!$><!/><span><!$><!/>–<!$><!/> / <!$><!/></span><!$><!/>`),
31
+ _tmpl$15 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__media><img>`),
32
+ _tmpl$16 = /*#__PURE__*/_$template(`<object type=application/pdf class=k2b-content-file-view__pdf>`),
33
+ _tmpl$17 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__media data-kind=audio><audio controls preload=metadata>`),
34
+ _tmpl$18 = /*#__PURE__*/_$template(`<div class=k2b-content-file-view__media data-kind=video><video controls preload=metadata playsinline>`),
35
+ _tmpl$19 = /*#__PURE__*/_$template(`<a class=k2b-button data-variant=secondary data-size=sm download><i class="ti ti-download"aria-hidden=true></i><!$><!/>`);
37
36
  /**
38
37
  * FileView — renders one file through a small renderer registry keyed by
39
38
  * media type / path. Editing is enabled purely by the presence of `save`;
@@ -48,6 +47,7 @@ import { mutation } from "@k2b/stdlib/solid";
48
47
  import { createEffect, createMemo, createResource, createSignal, For, Match, onCleanup, onMount, Show, Switch, untrack } from "solid-js";
49
48
  import { Button } from "../actions/Button";
50
49
  import { prompts } from "../feedback/prompts";
50
+ import { Tooltip } from "../feedback/Tooltip";
51
51
  import { toast } from "../feedback/toast";
52
52
  import { MarkdownEditor } from "../inputs/markdown/MarkdownEditor";
53
53
  import { Select } from "../inputs/Select";
@@ -80,6 +80,44 @@ const stripFrontmatter = text => {
80
80
  return match ? text.trimStart().slice(match[0].length) : text;
81
81
  };
82
82
 
83
+ /** Icon-only download link with the shared tooltip, for toolbars that style their own controls. */
84
+ function DownloadLink(props) {
85
+ let link;
86
+ return [(() => {
87
+ var _el$ = _$getNextElement(_tmpl$),
88
+ _el$2 = _el$.firstChild,
89
+ _el$3 = _el$2.nextSibling;
90
+ var _ref$ = link;
91
+ typeof _ref$ === "function" ? _$use(_ref$, _el$) : link = _el$;
92
+ _$insert(_el$3, () => props.label);
93
+ _$effect(_p$ => {
94
+ var _v$ = props.class,
95
+ _v$2 = props.href,
96
+ _v$3 = props.download,
97
+ _v$4 = props.label,
98
+ _v$5 = props.icon;
99
+ _v$ !== _p$.e && _$className(_el$, _p$.e = _v$);
100
+ _v$2 !== _p$.t && _$setAttribute(_el$, "href", _p$.t = _v$2);
101
+ _v$3 !== _p$.a && _$setAttribute(_el$, "download", _p$.a = _v$3);
102
+ _v$4 !== _p$.o && _$setAttribute(_el$, "aria-label", _p$.o = _v$4);
103
+ _v$5 !== _p$.i && _$className(_el$2, _p$.i = _v$5);
104
+ return _p$;
105
+ }, {
106
+ e: undefined,
107
+ t: undefined,
108
+ a: undefined,
109
+ o: undefined,
110
+ i: undefined
111
+ });
112
+ return _el$;
113
+ })(), _$createComponent(Tooltip, {
114
+ get content() {
115
+ return props.label;
116
+ },
117
+ target: () => link
118
+ })];
119
+ }
120
+
83
121
  /** Icon-only action, IDE style — sits in the floating top-right cluster of previews. */
84
122
  function OverlayAction(props) {
85
123
  const classes = "k2b-content-file-view__action";
@@ -88,75 +126,62 @@ function OverlayAction(props) {
88
126
  return props.href;
89
127
  },
90
128
  get fallback() {
91
- return (() => {
92
- var _el$ = _$getNextElement(_tmpl$),
93
- _el$2 = _el$.firstChild;
94
- _$addEventListener(_el$, "click", props.onClick, true);
95
- _$effect(_p$ => {
96
- var _v$ = props.title,
97
- _v$2 = props.title,
98
- _v$3 = `ti ${props.icon}`;
99
- _v$ !== _p$.e && _$setAttribute(_el$, "title", _p$.e = _v$);
100
- _v$2 !== _p$.t && _$setAttribute(_el$, "aria-label", _p$.t = _v$2);
101
- _v$3 !== _p$.a && _$className(_el$2, _p$.a = _v$3);
102
- return _p$;
103
- }, {
104
- e: undefined,
105
- t: undefined,
106
- a: undefined
107
- });
108
- _$runHydrationEvents();
109
- return _el$;
110
- })();
111
- },
112
- children: href => (() => {
113
- var _el$3 = _$getNextElement(_tmpl$2),
114
- _el$4 = _el$3.firstChild,
115
- _el$5 = _el$4.nextSibling;
116
- _$insert(_el$5, () => props.title);
117
- _$effect(_p$ => {
118
- var _v$4 = href(),
119
- _v$5 = props.download ?? "",
120
- _v$6 = props.title,
121
- _v$7 = props.title,
122
- _v$8 = `ti ${props.icon}`;
123
- _v$4 !== _p$.e && _$setAttribute(_el$3, "href", _p$.e = _v$4);
124
- _v$5 !== _p$.t && _$setAttribute(_el$3, "download", _p$.t = _v$5);
125
- _v$6 !== _p$.a && _$setAttribute(_el$3, "title", _p$.a = _v$6);
126
- _v$7 !== _p$.o && _$setAttribute(_el$3, "aria-label", _p$.o = _v$7);
127
- _v$8 !== _p$.i && _$className(_el$4, _p$.i = _v$8);
128
- return _p$;
129
- }, {
130
- e: undefined,
131
- t: undefined,
132
- a: undefined,
133
- o: undefined,
134
- i: undefined
129
+ return _$createComponent(Tooltip.Trigger, {
130
+ type: "button",
131
+ "class": classes,
132
+ get content() {
133
+ return props.title;
134
+ },
135
+ get ["aria-label"]() {
136
+ return props.title;
137
+ },
138
+ get onClick() {
139
+ return props.onClick;
140
+ },
141
+ get children() {
142
+ var _el$4 = _$getNextElement(_tmpl$2);
143
+ _$effect(() => _$className(_el$4, `ti ${props.icon}`));
144
+ return _el$4;
145
+ }
135
146
  });
136
- return _el$3;
137
- })()
147
+ },
148
+ children: href => _$createComponent(DownloadLink, {
149
+ "class": classes,
150
+ get href() {
151
+ return href();
152
+ },
153
+ get download() {
154
+ return props.download ?? "";
155
+ },
156
+ get label() {
157
+ return props.title;
158
+ },
159
+ get icon() {
160
+ return `ti ${props.icon}`;
161
+ }
162
+ })
138
163
  });
139
164
  }
140
165
 
141
166
  /** Scrollable preview panel with the floating action cluster overlaid top-right. */
142
167
  function OverlayPanel(props) {
143
168
  return (() => {
144
- var _el$6 = _$getNextElement(_tmpl$4),
145
- _el$7 = _el$6.firstChild,
146
- _el$9 = _el$7.nextSibling,
147
- [_el$0, _co$] = _$getNextMarker(_el$9.nextSibling);
148
- _$insert(_el$7, () => props.children);
149
- _$insert(_el$6, _$createComponent(Show, {
169
+ var _el$5 = _$getNextElement(_tmpl$4),
170
+ _el$6 = _el$5.firstChild,
171
+ _el$8 = _el$6.nextSibling,
172
+ [_el$9, _co$] = _$getNextMarker(_el$8.nextSibling);
173
+ _$insert(_el$6, () => props.children);
174
+ _$insert(_el$5, _$createComponent(Show, {
150
175
  get when() {
151
176
  return props.actions;
152
177
  },
153
178
  get children() {
154
- var _el$8 = _$getNextElement(_tmpl$3);
155
- _$insert(_el$8, () => props.actions);
156
- return _el$8;
179
+ var _el$7 = _$getNextElement(_tmpl$3);
180
+ _$insert(_el$7, () => props.actions);
181
+ return _el$7;
157
182
  }
158
- }), _el$0, _co$);
159
- return _el$6;
183
+ }), _el$9, _co$);
184
+ return _el$5;
160
185
  })();
161
186
  }
162
187
  const DownloadAction = props => {
@@ -182,30 +207,29 @@ const DownloadAction = props => {
182
207
 
183
208
  /** Toolbar-styled icon button — reuses the package markdown-editor tool primitive. */
184
209
  function EditorToolButton(props) {
185
- return (() => {
186
- var _el$1 = _$getNextElement(_tmpl$5),
187
- _el$10 = _el$1.firstChild;
188
- _$addEventListener(_el$1, "click", props.onClick, true);
189
- _el$1.$$mousedown = e => e.preventDefault();
190
- _$effect(_p$ => {
191
- var _v$9 = props.title,
192
- _v$0 = props.title,
193
- _v$1 = props.disabled,
194
- _v$10 = props.icon;
195
- _v$9 !== _p$.e && _$setAttribute(_el$1, "title", _p$.e = _v$9);
196
- _v$0 !== _p$.t && _$setAttribute(_el$1, "aria-label", _p$.t = _v$0);
197
- _v$1 !== _p$.a && _$setProperty(_el$1, "disabled", _p$.a = _v$1);
198
- _v$10 !== _p$.o && _$className(_el$10, _p$.o = _v$10);
199
- return _p$;
200
- }, {
201
- e: undefined,
202
- t: undefined,
203
- a: undefined,
204
- o: undefined
205
- });
206
- _$runHydrationEvents();
207
- return _el$1;
208
- })();
210
+ return _$createComponent(Tooltip.Trigger, {
211
+ type: "button",
212
+ "class": "k2b-markdown-editor__tool",
213
+ get content() {
214
+ return props.title;
215
+ },
216
+ get ["aria-label"]() {
217
+ return props.title;
218
+ },
219
+ tabIndex: -1,
220
+ get disabled() {
221
+ return props.disabled;
222
+ },
223
+ onMouseDown: e => e.preventDefault(),
224
+ get onClick() {
225
+ return props.onClick;
226
+ },
227
+ get children() {
228
+ var _el$0 = _$getNextElement(_tmpl$2);
229
+ _$effect(() => _$className(_el$0, props.icon));
230
+ return _el$0;
231
+ }
232
+ });
209
233
  }
210
234
 
211
235
  // ── Built-in renderers ──────────────────────────────────────────────────────
@@ -217,16 +241,16 @@ function MoreLines(props) {
217
241
  return props.count > 0;
218
242
  },
219
243
  get children() {
220
- var _el$11 = _$getNextElement(_tmpl$6);
221
- _$insert(_el$11, _$createComponent(Show, {
244
+ var _el$1 = _$getNextElement(_tmpl$5);
245
+ _$insert(_el$1, _$createComponent(Show, {
222
246
  get when() {
223
247
  return props.onClick;
224
248
  },
225
249
  get fallback() {
226
250
  return (() => {
227
- var _el$12 = _$getNextElement(_tmpl$7);
228
- _$insert(_el$12, () => messages().previewMoreLines(props.count));
229
- return _el$12;
251
+ var _el$10 = _$getNextElement(_tmpl$6);
252
+ _$insert(_el$10, () => messages().previewMoreLines(props.count));
253
+ return _el$10;
230
254
  })();
231
255
  },
232
256
  get children() {
@@ -242,7 +266,7 @@ function MoreLines(props) {
242
266
  });
243
267
  }
244
268
  }));
245
- return _el$11;
269
+ return _el$1;
246
270
  }
247
271
  });
248
272
  }
@@ -251,8 +275,8 @@ function TextExcerpt(props) {
251
275
  const limit = () => props.renderer.previewLines === undefined ? lines().length : Math.max(1, props.renderer.previewLines);
252
276
  const text = () => lines().slice(0, limit()).join("\n");
253
277
  return [(() => {
254
- var _el$13 = _$getNextElement(_tmpl$8);
255
- _$insert(_el$13, _$createComponent(Show, {
278
+ var _el$11 = _$getNextElement(_tmpl$7);
279
+ _$insert(_el$11, _$createComponent(Show, {
256
280
  get when() {
257
281
  return props.markdown;
258
282
  },
@@ -277,8 +301,8 @@ function TextExcerpt(props) {
277
301
  });
278
302
  }
279
303
  }));
280
- _$effect(() => _el$13.classList.toggle("k2b-content-file-view__excerpt", !!(props.renderer.previewLines !== undefined)));
281
- return _el$13;
304
+ _$effect(() => _el$11.classList.toggle("k2b-content-file-view__excerpt", !!(props.renderer.previewLines !== undefined)));
305
+ return _el$11;
282
306
  })(), _$createComponent(MoreLines, {
283
307
  get count() {
284
308
  return lines().length - limit();
@@ -314,23 +338,23 @@ function MarkdownRenderer(props) {
314
338
  }), _$createComponent(DownloadAction, props)];
315
339
  },
316
340
  get children() {
317
- var _el$14 = _$getNextElement(_tmpl$9);
318
- _$insert(_el$14, _$createComponent(TextExcerpt, {
341
+ var _el$12 = _$getNextElement(_tmpl$8);
342
+ _$insert(_el$12, _$createComponent(TextExcerpt, {
319
343
  renderer: props,
320
344
  get text() {
321
345
  return stripFrontmatter(props.editor?.draft() ?? props.content.content);
322
346
  },
323
347
  markdown: true
324
348
  }));
325
- return _el$14;
349
+ return _el$12;
326
350
  }
327
351
  });
328
352
  },
329
353
  children: _ => {
330
354
  const editor = props.editor;
331
355
  return (() => {
332
- var _el$15 = _$getNextElement(_tmpl$0);
333
- _$insert(_el$15, _$createComponent(MarkdownEditor, {
356
+ var _el$13 = _$getNextElement(_tmpl$9);
357
+ _$insert(_el$13, _$createComponent(MarkdownEditor, {
334
358
  "class": "k2b-content-file-view__markdown-field",
335
359
  get ["aria-label"]() {
336
360
  return `Edit ${props.file.path.slice(props.file.path.lastIndexOf("/") + 1)}`;
@@ -360,7 +384,7 @@ function MarkdownRenderer(props) {
360
384
  });
361
385
  }
362
386
  }));
363
- return _el$15;
387
+ return _el$13;
364
388
  })();
365
389
  }
366
390
  });
@@ -389,50 +413,43 @@ function TextRenderer(props) {
389
413
  children: editor => // Same chrome as the markdown editor — literally the same classes, so
390
414
  // border, radius, focus ring, toolbar height and text metrics cannot drift.
391
415
  (() => {
392
- var _el$16 = _$getNextElement(_tmpl$1),
416
+ var _el$14 = _$getNextElement(_tmpl$0),
417
+ _el$15 = _el$14.firstChild,
418
+ _el$16 = _el$15.firstChild,
393
419
  _el$17 = _el$16.firstChild,
394
- _el$18 = _el$17.firstChild,
420
+ _el$18 = _el$17.nextSibling,
395
421
  _el$19 = _el$18.firstChild,
396
- _el$20 = _el$19.nextSibling,
397
- _el$21 = _el$20.firstChild,
398
- [_el$22, _co$2] = _$getNextMarker(_el$21.nextSibling),
399
- _el$23 = _el$22.nextSibling,
400
- [_el$24, _co$3] = _$getNextMarker(_el$23.nextSibling),
401
- _el$25 = _el$18.nextSibling,
402
- _el$26 = _el$25.firstChild;
403
- _el$17.$$keydown = event => {
422
+ [_el$20, _co$2] = _$getNextMarker(_el$19.nextSibling),
423
+ _el$21 = _el$20.nextSibling,
424
+ [_el$22, _co$3] = _$getNextMarker(_el$21.nextSibling),
425
+ _el$23 = _el$16.nextSibling,
426
+ _el$24 = _el$23.firstChild;
427
+ _el$15.$$keydown = event => {
404
428
  if ((event.metaKey || event.ctrlKey) && event.key.toLowerCase() === "s") {
405
429
  event.preventDefault();
406
430
  if (editor().dirty() && !editor().saving()) void editor().save();
407
431
  }
408
432
  };
409
- _$insert(_el$19, () => codeLanguage(props.file.path));
410
- _$insert(_el$20, _$createComponent(Show, {
433
+ _$insert(_el$17, () => codeLanguage(props.file.path));
434
+ _$insert(_el$18, _$createComponent(Show, {
411
435
  get when() {
412
436
  return props.downloadHref;
413
437
  },
414
- children: href => (() => {
415
- var _el$27 = _$getNextElement(_tmpl$10);
416
- _$effect(_p$ => {
417
- var _v$11 = href(),
418
- _v$12 = props.file.path.slice(props.file.path.lastIndexOf("/") + 1),
419
- _v$13 = messages().download,
420
- _v$14 = messages().download;
421
- _v$11 !== _p$.e && _$setAttribute(_el$27, "href", _p$.e = _v$11);
422
- _v$12 !== _p$.t && _$setAttribute(_el$27, "download", _p$.t = _v$12);
423
- _v$13 !== _p$.a && _$setAttribute(_el$27, "title", _p$.a = _v$13);
424
- _v$14 !== _p$.o && _$setAttribute(_el$27, "aria-label", _p$.o = _v$14);
425
- return _p$;
426
- }, {
427
- e: undefined,
428
- t: undefined,
429
- a: undefined,
430
- o: undefined
431
- });
432
- return _el$27;
433
- })()
434
- }), _el$22, _co$2);
435
- _$insert(_el$20, _$createComponent(EditorToolButton, {
438
+ children: href => _$createComponent(DownloadLink, {
439
+ "class": "k2b-markdown-editor__tool",
440
+ get href() {
441
+ return href();
442
+ },
443
+ get download() {
444
+ return props.file.path.slice(props.file.path.lastIndexOf("/") + 1);
445
+ },
446
+ get label() {
447
+ return messages().download;
448
+ },
449
+ icon: "ti ti-download"
450
+ })
451
+ }), _el$20, _co$2);
452
+ _$insert(_el$18, _$createComponent(EditorToolButton, {
436
453
  get icon() {
437
454
  return editor().saving() ? "ti ti-loader-2 k2b-spin" : "ti ti-device-floppy";
438
455
  },
@@ -443,13 +460,13 @@ function TextRenderer(props) {
443
460
  return !editor().dirty() || editor().saving();
444
461
  },
445
462
  onClick: () => void editor().save()
446
- }), _el$24, _co$3);
447
- _el$26.$$input = event => editor().setDraft(event.currentTarget.value);
448
- _$setAttribute(_el$26, "spellcheck", false);
449
- _$effect(() => _$setAttribute(_el$17, "aria-label", messages().textEditor));
450
- _$effect(() => _$setProperty(_el$26, "value", editor().draft()));
463
+ }), _el$22, _co$3);
464
+ _el$24.$$input = event => editor().setDraft(event.currentTarget.value);
465
+ _$setAttribute(_el$24, "spellcheck", false);
466
+ _$effect(() => _$setAttribute(_el$15, "aria-label", messages().textEditor));
467
+ _$effect(() => _$setProperty(_el$24, "value", editor().draft()));
451
468
  _$runHydrationEvents();
452
- return _el$16;
469
+ return _el$14;
453
470
  })()
454
471
  });
455
472
  }
@@ -475,8 +492,8 @@ function JsonRenderer(props) {
475
492
  return _$createComponent(DownloadAction, props);
476
493
  },
477
494
  get children() {
478
- var _el$28 = _$getNextElement(_tmpl$9);
479
- _$insert(_el$28, _$createComponent(Show, {
495
+ var _el$25 = _$getNextElement(_tmpl$8);
496
+ _$insert(_el$25, _$createComponent(Show, {
480
497
  get when() {
481
498
  return parsed().ok;
482
499
  },
@@ -512,7 +529,7 @@ function JsonRenderer(props) {
512
529
  });
513
530
  }
514
531
  }));
515
- return _el$28;
532
+ return _el$25;
516
533
  }
517
534
  });
518
535
  }
@@ -560,14 +577,14 @@ function DelimitedTextRenderer(props) {
560
577
  offset: page() * pageSize()
561
578
  }));
562
579
  const settings = () => prompts.dialog(() => (() => {
563
- var _el$29 = _$getNextElement(_tmpl$11),
564
- _el$30 = _el$29.firstChild,
565
- [_el$31, _co$4] = _$getNextMarker(_el$30.nextSibling),
566
- _el$32 = _el$31.nextSibling,
567
- [_el$33, _co$5] = _$getNextMarker(_el$32.nextSibling),
568
- _el$34 = _el$33.nextSibling,
569
- [_el$35, _co$6] = _$getNextMarker(_el$34.nextSibling);
570
- _$insert(_el$29, _$createComponent(Select, {
580
+ var _el$26 = _$getNextElement(_tmpl$1),
581
+ _el$27 = _el$26.firstChild,
582
+ [_el$28, _co$4] = _$getNextMarker(_el$27.nextSibling),
583
+ _el$29 = _el$28.nextSibling,
584
+ [_el$30, _co$5] = _$getNextMarker(_el$29.nextSibling),
585
+ _el$31 = _el$30.nextSibling,
586
+ [_el$32, _co$6] = _$getNextMarker(_el$31.nextSibling);
587
+ _$insert(_el$26, _$createComponent(Select, {
571
588
  get label() {
572
589
  return messages().csvEncoding;
573
590
  },
@@ -583,8 +600,8 @@ function DelimitedTextRenderer(props) {
583
600
  encoding: value
584
601
  });
585
602
  }
586
- }), _el$31, _co$4);
587
- _$insert(_el$29, _$createComponent(Select, {
603
+ }), _el$28, _co$4);
604
+ _$insert(_el$26, _$createComponent(Select, {
588
605
  get label() {
589
606
  return messages().csvSeparator;
590
607
  },
@@ -614,8 +631,8 @@ function DelimitedTextRenderer(props) {
614
631
  delimiter: value
615
632
  });
616
633
  }
617
- }), _el$33, _co$5);
618
- _$insert(_el$29, _$createComponent(Select, {
634
+ }), _el$30, _co$5);
635
+ _$insert(_el$26, _$createComponent(Select, {
619
636
  get label() {
620
637
  return messages().csvView;
621
638
  },
@@ -636,8 +653,8 @@ function DelimitedTextRenderer(props) {
636
653
  view: value
637
654
  });
638
655
  }
639
- }), _el$35, _co$6);
640
- return _el$29;
656
+ }), _el$32, _co$6);
657
+ return _el$26;
641
658
  })(), {
642
659
  title: messages().csvSettings
643
660
  });
@@ -683,58 +700,58 @@ function DelimitedTextRenderer(props) {
683
700
  });
684
701
  },
685
702
  get children() {
686
- var _el$36 = _$getNextElement(_tmpl$12),
687
- _el$37 = _el$36.firstChild,
688
- _el$38 = _el$37.firstChild,
689
- _el$39 = _el$38.firstChild,
690
- _el$40 = _el$38.nextSibling,
691
- _el$42 = _el$37.nextSibling,
692
- [_el$43, _co$7] = _$getNextMarker(_el$42.nextSibling),
693
- _el$44 = _el$43.nextSibling,
694
- [_el$45, _co$8] = _$getNextMarker(_el$44.nextSibling);
695
- _$insert(_el$39, _$createComponent(For, {
703
+ var _el$33 = _$getNextElement(_tmpl$10),
704
+ _el$34 = _el$33.firstChild,
705
+ _el$35 = _el$34.firstChild,
706
+ _el$36 = _el$35.firstChild,
707
+ _el$37 = _el$35.nextSibling,
708
+ _el$39 = _el$34.nextSibling,
709
+ [_el$40, _co$7] = _$getNextMarker(_el$39.nextSibling),
710
+ _el$41 = _el$40.nextSibling,
711
+ [_el$42, _co$8] = _$getNextMarker(_el$41.nextSibling);
712
+ _$insert(_el$36, _$createComponent(For, {
696
713
  get each() {
697
714
  return headers();
698
715
  },
699
716
  children: (header, index) => (() => {
700
- var _el$46 = _$getNextElement(_tmpl$13),
701
- _el$47 = _el$46.firstChild;
702
- _$insert(_el$47, () => header || messages().column({
717
+ var _el$43 = _$getNextElement(_tmpl$11),
718
+ _el$44 = _el$43.firstChild;
719
+ _$insert(_el$44, () => header || messages().column({
703
720
  number: index() + 1
704
721
  }));
705
- return _el$46;
722
+ return _el$43;
706
723
  })()
707
724
  }));
708
- _$insert(_el$40, _$createComponent(For, {
725
+ _$insert(_el$37, _$createComponent(For, {
709
726
  get each() {
710
727
  return rows();
711
728
  },
712
729
  children: row => (() => {
713
- var _el$48 = _$getNextElement(_tmpl$14);
714
- _$insert(_el$48, _$createComponent(For, {
730
+ var _el$45 = _$getNextElement(_tmpl$12);
731
+ _$insert(_el$45, _$createComponent(For, {
715
732
  get each() {
716
733
  return headers();
717
734
  },
718
735
  children: (_, index) => (() => {
719
- var _el$49 = _$getNextElement(_tmpl$15);
720
- _$insert(_el$49, () => row[index()] ?? "");
721
- return _el$49;
736
+ var _el$46 = _$getNextElement(_tmpl$13);
737
+ _$insert(_el$46, () => row[index()] ?? "");
738
+ return _el$46;
722
739
  })()
723
740
  }));
724
- return _el$48;
741
+ return _el$45;
725
742
  })()
726
743
  }));
727
- _$insert(_el$36, _$createComponent(Show, {
744
+ _$insert(_el$33, _$createComponent(Show, {
728
745
  get when() {
729
746
  return preview().columnsTruncated;
730
747
  },
731
748
  get children() {
732
- var _el$41 = _$getNextElement(_tmpl$6);
733
- _$insert(_el$41, () => messages().previewColumnsLimited);
734
- return _el$41;
749
+ var _el$38 = _$getNextElement(_tmpl$5);
750
+ _$insert(_el$38, () => messages().previewColumnsLimited);
751
+ return _el$38;
735
752
  }
736
- }), _el$43, _co$7);
737
- _$insert(_el$36, _$createComponent(Show, {
753
+ }), _el$40, _co$7);
754
+ _$insert(_el$33, _$createComponent(Show, {
738
755
  get when() {
739
756
  return props.previewLines !== undefined;
740
757
  },
@@ -744,21 +761,21 @@ function DelimitedTextRenderer(props) {
744
761
  return preview().totalRows > 201;
745
762
  },
746
763
  get children() {
747
- var _el$50 = _$getNextElement(_tmpl$16),
748
- _el$60 = _el$50.firstChild,
749
- [_el$61, _co$10] = _$getNextMarker(_el$60.nextSibling),
750
- _el$51 = _el$61.nextSibling,
751
- _el$54 = _el$51.firstChild,
752
- [_el$55, _co$9] = _$getNextMarker(_el$54.nextSibling),
753
- _el$52 = _el$55.nextSibling,
754
- _el$56 = _el$52.nextSibling,
755
- [_el$57, _co$0] = _$getNextMarker(_el$56.nextSibling),
756
- _el$53 = _el$57.nextSibling,
757
- _el$58 = _el$53.nextSibling,
758
- [_el$59, _co$1] = _$getNextMarker(_el$58.nextSibling),
759
- _el$62 = _el$51.nextSibling,
760
- [_el$63, _co$11] = _$getNextMarker(_el$62.nextSibling);
761
- _$insert(_el$50, _$createComponent(Button, {
764
+ var _el$47 = _$getNextElement(_tmpl$14),
765
+ _el$57 = _el$47.firstChild,
766
+ [_el$58, _co$10] = _$getNextMarker(_el$57.nextSibling),
767
+ _el$48 = _el$58.nextSibling,
768
+ _el$51 = _el$48.firstChild,
769
+ [_el$52, _co$9] = _$getNextMarker(_el$51.nextSibling),
770
+ _el$49 = _el$52.nextSibling,
771
+ _el$53 = _el$49.nextSibling,
772
+ [_el$54, _co$0] = _$getNextMarker(_el$53.nextSibling),
773
+ _el$50 = _el$54.nextSibling,
774
+ _el$55 = _el$50.nextSibling,
775
+ [_el$56, _co$1] = _$getNextMarker(_el$55.nextSibling),
776
+ _el$59 = _el$48.nextSibling,
777
+ [_el$60, _co$11] = _$getNextMarker(_el$59.nextSibling);
778
+ _$insert(_el$47, _$createComponent(Button, {
762
779
  size: "sm",
763
780
  variant: "ghost",
764
781
  get disabled() {
@@ -768,11 +785,11 @@ function DelimitedTextRenderer(props) {
768
785
  get children() {
769
786
  return messages().previous;
770
787
  }
771
- }), _el$61, _co$10);
772
- _$insert(_el$51, () => page() * pageSize() + 1, _el$55, _co$9);
773
- _$insert(_el$51, () => Math.min((page() + 1) * pageSize(), preview().totalRows - 1), _el$57, _co$0);
774
- _$insert(_el$51, () => preview().totalRows - 1, _el$59, _co$1);
775
- _$insert(_el$50, _$createComponent(Button, {
788
+ }), _el$58, _co$10);
789
+ _$insert(_el$48, () => page() * pageSize() + 1, _el$52, _co$9);
790
+ _$insert(_el$48, () => Math.min((page() + 1) * pageSize(), preview().totalRows - 1), _el$54, _co$0);
791
+ _$insert(_el$48, () => preview().totalRows - 1, _el$56, _co$1);
792
+ _$insert(_el$47, _$createComponent(Button, {
776
793
  size: "sm",
777
794
  variant: "ghost",
778
795
  get disabled() {
@@ -782,8 +799,8 @@ function DelimitedTextRenderer(props) {
782
799
  get children() {
783
800
  return messages().next;
784
801
  }
785
- }), _el$63, _co$11);
786
- return _el$50;
802
+ }), _el$60, _co$11);
803
+ return _el$47;
787
804
  }
788
805
  });
789
806
  },
@@ -797,8 +814,8 @@ function DelimitedTextRenderer(props) {
797
814
  }
798
815
  });
799
816
  }
800
- }), _el$45, _co$8);
801
- return _el$36;
817
+ }), _el$42, _co$8);
818
+ return _el$33;
802
819
  }
803
820
  });
804
821
  }
@@ -813,23 +830,23 @@ function ImageRenderer(props) {
813
830
  return _$createComponent(DownloadAction, props);
814
831
  },
815
832
  get children() {
816
- var _el$64 = _$getNextElement(_tmpl$17),
817
- _el$65 = _el$64.firstChild;
818
- _$addEventListener(_el$65, "error", props.onPreviewError);
833
+ var _el$61 = _$getNextElement(_tmpl$15),
834
+ _el$62 = _el$61.firstChild;
835
+ _$addEventListener(_el$62, "error", props.onPreviewError);
819
836
  _$effect(_p$ => {
820
- var _v$15 = props.crossOrigin,
821
- _v$16 = mediaSource(props),
822
- _v$17 = props.file.path;
823
- _v$15 !== _p$.e && _$setAttribute(_el$65, "crossorigin", _p$.e = _v$15);
824
- _v$16 !== _p$.t && _$setAttribute(_el$65, "src", _p$.t = _v$16);
825
- _v$17 !== _p$.a && _$setAttribute(_el$65, "alt", _p$.a = _v$17);
837
+ var _v$6 = props.crossOrigin,
838
+ _v$7 = mediaSource(props),
839
+ _v$8 = props.file.path;
840
+ _v$6 !== _p$.e && _$setAttribute(_el$62, "crossorigin", _p$.e = _v$6);
841
+ _v$7 !== _p$.t && _$setAttribute(_el$62, "src", _p$.t = _v$7);
842
+ _v$8 !== _p$.a && _$setAttribute(_el$62, "alt", _p$.a = _v$8);
826
843
  return _p$;
827
844
  }, {
828
845
  e: undefined,
829
846
  t: undefined,
830
847
  a: undefined
831
848
  });
832
- return _el$64;
849
+ return _el$61;
833
850
  }
834
851
  });
835
852
  }
@@ -889,18 +906,18 @@ function PdfRenderer(props) {
889
906
  });
890
907
  },
891
908
  children: href => (() => {
892
- var _el$66 = _$getNextElement(_tmpl$18);
909
+ var _el$63 = _$getNextElement(_tmpl$16);
893
910
  _$effect(_p$ => {
894
- var _v$18 = href(),
895
- _v$19 = props.file.path;
896
- _v$18 !== _p$.e && _$setAttribute(_el$66, "data", _p$.e = _v$18);
897
- _v$19 !== _p$.t && _$setAttribute(_el$66, "aria-label", _p$.t = _v$19);
911
+ var _v$9 = href(),
912
+ _v$0 = props.file.path;
913
+ _v$9 !== _p$.e && _$setAttribute(_el$63, "data", _p$.e = _v$9);
914
+ _v$0 !== _p$.t && _$setAttribute(_el$63, "aria-label", _p$.t = _v$0);
898
915
  return _p$;
899
916
  }, {
900
917
  e: undefined,
901
918
  t: undefined
902
919
  });
903
- return _el$66;
920
+ return _el$63;
904
921
  })()
905
922
  });
906
923
  }
@@ -911,24 +928,24 @@ function AudioRenderer(props) {
911
928
  return _$createComponent(DownloadAction, props);
912
929
  },
913
930
  get children() {
914
- var _el$67 = _$getNextElement(_tmpl$19),
915
- _el$68 = _el$67.firstChild;
916
- _$addEventListener(_el$68, "error", props.onPreviewError);
917
- _$insert(_el$68, () => messages().audioUnsupported);
931
+ var _el$64 = _$getNextElement(_tmpl$17),
932
+ _el$65 = _el$64.firstChild;
933
+ _$addEventListener(_el$65, "error", props.onPreviewError);
934
+ _$insert(_el$65, () => messages().audioUnsupported);
918
935
  _$effect(_p$ => {
919
- var _v$20 = props.crossOrigin,
920
- _v$21 = mediaSource(props),
921
- _v$22 = props.file.path;
922
- _v$20 !== _p$.e && _$setAttribute(_el$68, "crossorigin", _p$.e = _v$20);
923
- _v$21 !== _p$.t && _$setAttribute(_el$68, "src", _p$.t = _v$21);
924
- _v$22 !== _p$.a && _$setAttribute(_el$68, "aria-label", _p$.a = _v$22);
936
+ var _v$1 = props.crossOrigin,
937
+ _v$10 = mediaSource(props),
938
+ _v$11 = props.file.path;
939
+ _v$1 !== _p$.e && _$setAttribute(_el$65, "crossorigin", _p$.e = _v$1);
940
+ _v$10 !== _p$.t && _$setAttribute(_el$65, "src", _p$.t = _v$10);
941
+ _v$11 !== _p$.a && _$setAttribute(_el$65, "aria-label", _p$.a = _v$11);
925
942
  return _p$;
926
943
  }, {
927
944
  e: undefined,
928
945
  t: undefined,
929
946
  a: undefined
930
947
  });
931
- return _el$67;
948
+ return _el$64;
932
949
  }
933
950
  });
934
951
  }
@@ -939,24 +956,24 @@ function VideoRenderer(props) {
939
956
  return _$createComponent(DownloadAction, props);
940
957
  },
941
958
  get children() {
942
- var _el$69 = _$getNextElement(_tmpl$20),
943
- _el$70 = _el$69.firstChild;
944
- _$addEventListener(_el$70, "error", props.onPreviewError);
945
- _$insert(_el$70, () => messages().videoUnsupported);
959
+ var _el$66 = _$getNextElement(_tmpl$18),
960
+ _el$67 = _el$66.firstChild;
961
+ _$addEventListener(_el$67, "error", props.onPreviewError);
962
+ _$insert(_el$67, () => messages().videoUnsupported);
946
963
  _$effect(_p$ => {
947
- var _v$23 = props.crossOrigin,
948
- _v$24 = mediaSource(props),
949
- _v$25 = props.file.path;
950
- _v$23 !== _p$.e && _$setAttribute(_el$70, "crossorigin", _p$.e = _v$23);
951
- _v$24 !== _p$.t && _$setAttribute(_el$70, "src", _p$.t = _v$24);
952
- _v$25 !== _p$.a && _$setAttribute(_el$70, "aria-label", _p$.a = _v$25);
964
+ var _v$12 = props.crossOrigin,
965
+ _v$13 = mediaSource(props),
966
+ _v$14 = props.file.path;
967
+ _v$12 !== _p$.e && _$setAttribute(_el$67, "crossorigin", _p$.e = _v$12);
968
+ _v$13 !== _p$.t && _$setAttribute(_el$67, "src", _p$.t = _v$13);
969
+ _v$14 !== _p$.a && _$setAttribute(_el$67, "aria-label", _p$.a = _v$14);
953
970
  return _p$;
954
971
  }, {
955
972
  e: undefined,
956
973
  t: undefined,
957
974
  a: undefined
958
975
  });
959
- return _el$69;
976
+ return _el$66;
960
977
  }
961
978
  });
962
979
  }
@@ -976,13 +993,13 @@ function BinaryRenderer(props) {
976
993
  return props.downloadHref;
977
994
  },
978
995
  children: href => (() => {
979
- var _el$71 = _$getNextElement(_tmpl$21),
980
- _el$72 = _el$71.firstChild,
981
- _el$73 = _el$72.nextSibling,
982
- [_el$74, _co$12] = _$getNextMarker(_el$73.nextSibling);
983
- _$insert(_el$71, () => messages().download, _el$74, _co$12);
984
- _$effect(() => _$setAttribute(_el$71, "href", href()));
985
- return _el$71;
996
+ var _el$68 = _$getNextElement(_tmpl$19),
997
+ _el$69 = _el$68.firstChild,
998
+ _el$70 = _el$69.nextSibling,
999
+ [_el$71, _co$12] = _$getNextMarker(_el$70.nextSibling);
1000
+ _$insert(_el$68, () => messages().download, _el$71, _co$12);
1001
+ _$effect(() => _$setAttribute(_el$68, "href", href()));
1002
+ return _el$68;
986
1003
  })()
987
1004
  });
988
1005
  }
@@ -1135,8 +1152,8 @@ export default function FileView(props) {
1135
1152
  save
1136
1153
  } : null;
1137
1154
  return (() => {
1138
- var _el$75 = _$getNextElement(_tmpl$8);
1139
- _$insert(_el$75, _$createComponent(Switch, {
1155
+ var _el$72 = _$getNextElement(_tmpl$7);
1156
+ _$insert(_el$72, _$createComponent(Switch, {
1140
1157
  get children() {
1141
1158
  return [_$createComponent(Match, {
1142
1159
  get when() {
@@ -1211,20 +1228,20 @@ export default function FileView(props) {
1211
1228
  }
1212
1229
  }));
1213
1230
  _$effect(_p$ => {
1214
- var _v$26 = `k2b-content-file-view ${props.class ?? ""}`,
1215
- _v$27 = props.variant,
1216
- _v$28 = props.previewLines !== undefined ? "true" : undefined;
1217
- _v$26 !== _p$.e && _$className(_el$75, _p$.e = _v$26);
1218
- _v$27 !== _p$.t && _$setAttribute(_el$75, "data-variant", _p$.t = _v$27);
1219
- _v$28 !== _p$.a && _$setAttribute(_el$75, "data-excerpt", _p$.a = _v$28);
1231
+ var _v$15 = `k2b-content-file-view ${props.class ?? ""}`,
1232
+ _v$16 = props.variant,
1233
+ _v$17 = props.previewLines !== undefined ? "true" : undefined;
1234
+ _v$15 !== _p$.e && _$className(_el$72, _p$.e = _v$15);
1235
+ _v$16 !== _p$.t && _$setAttribute(_el$72, "data-variant", _p$.t = _v$16);
1236
+ _v$17 !== _p$.a && _$setAttribute(_el$72, "data-excerpt", _p$.a = _v$17);
1220
1237
  return _p$;
1221
1238
  }, {
1222
1239
  e: undefined,
1223
1240
  t: undefined,
1224
1241
  a: undefined
1225
1242
  });
1226
- return _el$75;
1243
+ return _el$72;
1227
1244
  })();
1228
1245
  }
1229
- _$delegateEvents(["click", "mousedown", "keydown", "input"]);
1246
+ _$delegateEvents(["keydown", "input"]);
1230
1247
  //# sourceMappingURL=FileView.js.map