@k2b/ui 0.3.0 → 0.4.1

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 (121) hide show
  1. package/dist/browser/actions/index.js +2 -2
  2. package/dist/browser/actions/index.js.map +1 -1
  3. package/dist/browser/chat/ChatComposer.js +1 -1
  4. package/dist/browser/chat/ChatComposer.js.map +1 -1
  5. package/dist/browser/chat/ChatContextPopup.js.map +1 -1
  6. package/dist/browser/chat/ChatPrimitives.js +2 -2
  7. package/dist/browser/chat/ChatPrimitives.js.map +1 -1
  8. package/dist/browser/chat/ChatTasks.js +1 -1
  9. package/dist/browser/chat/ChatTasks.js.map +1 -1
  10. package/dist/browser/chat/ChatTimeline.js +1 -1
  11. package/dist/browser/chat/ChatTimeline.js.map +1 -1
  12. package/dist/browser/chat/composer-document.js.map +1 -1
  13. package/dist/browser/chat/index.js.map +1 -1
  14. package/dist/browser/content/Chart.js +3 -3
  15. package/dist/browser/content/Chart.js.map +1 -1
  16. package/dist/browser/content/ChartExplorer.js +4 -4
  17. package/dist/browser/content/ChartExplorer.js.map +1 -1
  18. package/dist/browser/content/ChartExplorerControls.js +1 -1
  19. package/dist/browser/content/ChartExplorerControls.js.map +1 -1
  20. package/dist/browser/content/ChartFilterControls.js +2 -2
  21. package/dist/browser/content/ChartFilterControls.js.map +1 -1
  22. package/dist/browser/content/ChartSnapshotView.js +2 -1
  23. package/dist/browser/content/ChartSnapshotView.js.map +1 -1
  24. package/dist/browser/content/FileView.js +7 -3
  25. package/dist/browser/content/FileView.js.map +1 -1
  26. package/dist/browser/content/MarkdownView.js.map +1 -1
  27. package/dist/browser/content/Pagination.js.map +1 -1
  28. package/dist/browser/content/chart-explorer.js.map +1 -1
  29. package/dist/browser/content/chart-inspection.js.map +1 -1
  30. package/dist/browser/content/chart-line-gaps.js.map +1 -1
  31. package/dist/browser/content/chart-snapshot.js.map +1 -1
  32. package/dist/browser/content/file-view-preview.js.map +1 -1
  33. package/dist/browser/content/index.js +9 -9
  34. package/dist/browser/content/index.js.map +1 -1
  35. package/dist/browser/feedback/toast.js.map +1 -1
  36. package/dist/browser/inputs/ChoiceGroups.js.map +1 -1
  37. package/dist/browser/inputs/NumberInput.js +9 -1
  38. package/dist/browser/inputs/NumberInput.js.map +1 -1
  39. package/dist/browser/inputs/Select.js.map +1 -1
  40. package/dist/browser/inputs/markdown/behaviors.js +1 -1
  41. package/dist/browser/inputs/markdown/behaviors.js.map +1 -1
  42. package/dist/browser/layout/AppWorkspace.js +264 -248
  43. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  44. package/dist/browser/layout/DetailPanel.js +1 -1
  45. package/dist/browser/layout/DetailPanel.js.map +1 -1
  46. package/dist/browser/layout/ScrollArea.js.map +1 -1
  47. package/dist/browser/layout/SidebarItemPreview.js +1 -1
  48. package/dist/browser/layout/SidebarItemPreview.js.map +1 -1
  49. package/dist/browser/layout/app-workspace-controller.js +1 -1
  50. package/dist/browser/layout/app-workspace-controller.js.map +1 -1
  51. package/dist/browser/layout/app-workspace-state.js.map +1 -1
  52. package/dist/browser/layout/index.js +3 -3
  53. package/dist/browser/layout/index.js.map +1 -1
  54. package/dist/ssr/actions/index.js +2 -2
  55. package/dist/ssr/actions/index.js.map +1 -1
  56. package/dist/ssr/chat/ChatComposer.js +1 -1
  57. package/dist/ssr/chat/ChatComposer.js.map +1 -1
  58. package/dist/ssr/chat/ChatContextPopup.js.map +1 -1
  59. package/dist/ssr/chat/ChatPrimitives.js +2 -2
  60. package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
  61. package/dist/ssr/chat/ChatTasks.js +1 -1
  62. package/dist/ssr/chat/ChatTasks.js.map +1 -1
  63. package/dist/ssr/chat/ChatTimeline.js +1 -1
  64. package/dist/ssr/chat/ChatTimeline.js.map +1 -1
  65. package/dist/ssr/chat/composer-document.js.map +1 -1
  66. package/dist/ssr/chat/index.js.map +1 -1
  67. package/dist/ssr/content/Chart.js +3 -3
  68. package/dist/ssr/content/Chart.js.map +1 -1
  69. package/dist/ssr/content/ChartExplorer.js +4 -4
  70. package/dist/ssr/content/ChartExplorer.js.map +1 -1
  71. package/dist/ssr/content/ChartExplorerControls.js +1 -1
  72. package/dist/ssr/content/ChartExplorerControls.js.map +1 -1
  73. package/dist/ssr/content/ChartFilterControls.js +2 -2
  74. package/dist/ssr/content/ChartFilterControls.js.map +1 -1
  75. package/dist/ssr/content/ChartSnapshotView.js +2 -1
  76. package/dist/ssr/content/ChartSnapshotView.js.map +1 -1
  77. package/dist/ssr/content/FileView.js +7 -3
  78. package/dist/ssr/content/FileView.js.map +1 -1
  79. package/dist/ssr/content/MarkdownView.js.map +1 -1
  80. package/dist/ssr/content/Pagination.js.map +1 -1
  81. package/dist/ssr/content/chart-explorer.js.map +1 -1
  82. package/dist/ssr/content/chart-inspection.js.map +1 -1
  83. package/dist/ssr/content/chart-line-gaps.js.map +1 -1
  84. package/dist/ssr/content/chart-snapshot.js.map +1 -1
  85. package/dist/ssr/content/file-view-preview.js.map +1 -1
  86. package/dist/ssr/content/index.js +9 -9
  87. package/dist/ssr/content/index.js.map +1 -1
  88. package/dist/ssr/feedback/toast.js.map +1 -1
  89. package/dist/ssr/inputs/ChoiceGroups.js.map +1 -1
  90. package/dist/ssr/inputs/NumberInput.js +9 -1
  91. package/dist/ssr/inputs/NumberInput.js.map +1 -1
  92. package/dist/ssr/inputs/Select.js.map +1 -1
  93. package/dist/ssr/inputs/markdown/behaviors.js +1 -1
  94. package/dist/ssr/inputs/markdown/behaviors.js.map +1 -1
  95. package/dist/ssr/layout/AppWorkspace.js +74 -62
  96. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  97. package/dist/ssr/layout/DetailPanel.js +1 -1
  98. package/dist/ssr/layout/DetailPanel.js.map +1 -1
  99. package/dist/ssr/layout/ScrollArea.js.map +1 -1
  100. package/dist/ssr/layout/SidebarItemPreview.js +1 -1
  101. package/dist/ssr/layout/SidebarItemPreview.js.map +1 -1
  102. package/dist/ssr/layout/app-workspace-controller.js +1 -1
  103. package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
  104. package/dist/ssr/layout/app-workspace-state.js.map +1 -1
  105. package/dist/ssr/layout/index.js +3 -3
  106. package/dist/ssr/layout/index.js.map +1 -1
  107. package/dist/styles.css +1 -1
  108. package/dist/types/actions/index.d.ts +4 -4
  109. package/dist/types/chat/ChatComposer.d.ts +1 -1
  110. package/dist/types/chat/index.d.ts +1 -1
  111. package/dist/types/content/Chart.d.ts +2 -2
  112. package/dist/types/content/ChartExplorer.d.ts +2 -2
  113. package/dist/types/content/ChartExplorerControls.d.ts +1 -1
  114. package/dist/types/content/ChartSnapshotView.d.ts +1 -1
  115. package/dist/types/content/chart-inspection.d.ts +1 -1
  116. package/dist/types/content/index.d.ts +15 -15
  117. package/dist/types/inputs/NumberInput.d.ts +2 -0
  118. package/dist/types/layout/AppWorkspace.d.ts +1 -1
  119. package/dist/types/layout/SidebarItemPreview.d.ts +1 -1
  120. package/dist/types/layout/index.d.ts +3 -3
  121. package/package.json +2 -4
@@ -11,41 +11,42 @@ var _tmpl$ = ["<button type=\"button\" class=\"k2b-app-workspace__resize\" role=
11
11
  _tmpl$3 = ["<section", " class=\"", "\"", " style=\"", "\">", "</section>"],
12
12
  _tmpl$4 = ["<aside", " class=\"", "\"", "", " style=\"", "\">", "</aside>"],
13
13
  _tmpl$5 = ["<aside", " class=\"", "\"", "><div class=\"k2b-app-workspace__sidebar-desktop\">", "</div></aside>"],
14
- _tmpl$6 = ["<span aria-hidden=\"true\"><i", "></i></span>"],
15
- _tmpl$7 = ["<span class=\"k2b-app-workspace__sidebar-section-count\">", "</span>"],
16
- _tmpl$8 = ["<button type=\"button\" class=\"k2b-app-workspace__sidebar-section-toggle\"", ">", "<i", " aria-hidden=\"true\"></i></button>"],
17
- _tmpl$9 = ["<div class=\"k2b-app-workspace__sidebar-section-actions\">", "</div>"],
18
- _tmpl$0 = ["<header class=\"k2b-app-workspace__sidebar-section-header\">", "", "</header>"],
19
- _tmpl$1 = ["<div", "", " class=\"k2b-app-workspace__sidebar-section-content\">", "</div>"],
20
- _tmpl$10 = ["<h2>", "</h2>"],
21
- _tmpl$11 = ["<div class=\"k2b-app-workspace__sidebar-item-actions\"", ">", "</div>"],
22
- _tmpl$12 = ["<span class=\"k2b-app-workspace__sidebar-item-icon\" aria-hidden=\"true\">", "</span>"],
23
- _tmpl$13 = ["<span class=\"k2b-app-workspace__sidebar-item-context-meta\">", "</span>"],
24
- _tmpl$14 = ["<span class=\"k2b-app-workspace__sidebar-item-context\"><span class=\"k2b-app-workspace__sidebar-item-context-label\">", "</span>", "</span>"],
25
- _tmpl$15 = ["<span class=\"k2b-app-workspace__sidebar-item-description\">", "</span>"],
26
- _tmpl$16 = ["<span class=\"k2b-app-workspace__sidebar-item-copy\">", "<span class=\"k2b-app-workspace__sidebar-item-label\"", "><span class=\"k2b-app-workspace__sidebar-item-label-text\">", "</span></span>", "</span>"],
27
- _tmpl$17 = ["<i", "></i>"],
28
- _tmpl$18 = ["<span class=\"k2b-app-workspace__sidebar-item-meta\"", ">", "</span>"],
29
- _tmpl$19 = ["<a", " class=\"k2b-app-workspace__sidebar-item-action\"", ">", "</a>"],
30
- _tmpl$20 = ["<button type=\"button\" class=\"k2b-app-workspace__sidebar-item-action\"", ">", "</button>"],
31
- _tmpl$21 = ["<span class=\"k2b-app-workspace__sidebar-item-icon\"", " aria-hidden=\"true\"><i", "></i></span>"],
32
- _tmpl$22 = ["<span class=\"k2b-app-workspace__sidebar-item-label\"><span class=\"k2b-app-workspace__sidebar-item-label-text\">", "</span></span>"],
33
- _tmpl$23 = ["<span class=\"", "\"", ">", "</span>"],
34
- _tmpl$24 = ["<span class=\"k2b-app-workspace__nav-tree-toggle\" data-k2b-nav-tree-toggle aria-hidden=\"true\"><i class=\"", "\"></i></span>"],
35
- _tmpl$25 = ["<div class=\"k2b-app-workspace__nav-tree-group\" role=\"group\">", "</div>"],
36
- _tmpl$26 = ["<div class=\"k2b-app-workspace__nav-tree-node\" role=\"treeitem\"", ">", "", "</div>"],
37
- _tmpl$27 = ["<div class=\"", "\" role=\"tree\"", ">", "</div>"],
38
- _tmpl$28 = ["<div class=\"k2b-app-workspace__sidebar-icon-grid\"", ">", "</div>"],
39
- _tmpl$29 = ["<i", " aria-hidden=\"true\"></i>"],
40
- _tmpl$30 = ["<div class=\"", "\" data-k2b-app-workspace", " style=\"", "\">", "</div>"],
41
- _tmpl$31 = ["<div class=\"", "\">", "</div>"];
42
- import { createScrollFade } from "./scroll-fade";
43
- import { SidebarItemPreview } from "./SidebarItemPreview";
14
+ _tmpl$6 = ["<script>", "</script>"],
15
+ _tmpl$7 = ["<span aria-hidden=\"true\"><i", "></i></span>"],
16
+ _tmpl$8 = ["<span class=\"k2b-app-workspace__sidebar-section-count\">", "</span>"],
17
+ _tmpl$9 = ["<button type=\"button\" class=\"k2b-app-workspace__sidebar-section-toggle\"", ">", "<i", " aria-hidden=\"true\"></i></button>"],
18
+ _tmpl$0 = ["<div class=\"k2b-app-workspace__sidebar-section-actions\">", "</div>"],
19
+ _tmpl$1 = ["<header class=\"k2b-app-workspace__sidebar-section-header\">", "", "</header>"],
20
+ _tmpl$10 = ["<div", "", " class=\"k2b-app-workspace__sidebar-section-content\">", "</div>"],
21
+ _tmpl$11 = ["<h2>", "</h2>"],
22
+ _tmpl$12 = ["<div class=\"k2b-app-workspace__sidebar-item-actions\"", ">", "</div>"],
23
+ _tmpl$13 = ["<span class=\"k2b-app-workspace__sidebar-item-icon\" aria-hidden=\"true\">", "</span>"],
24
+ _tmpl$14 = ["<span class=\"k2b-app-workspace__sidebar-item-context-meta\">", "</span>"],
25
+ _tmpl$15 = ["<span class=\"k2b-app-workspace__sidebar-item-context\"><span class=\"k2b-app-workspace__sidebar-item-context-label\">", "</span>", "</span>"],
26
+ _tmpl$16 = ["<span class=\"k2b-app-workspace__sidebar-item-description\">", "</span>"],
27
+ _tmpl$17 = ["<span class=\"k2b-app-workspace__sidebar-item-copy\">", "<span class=\"k2b-app-workspace__sidebar-item-label\"", "><span class=\"k2b-app-workspace__sidebar-item-label-text\">", "</span></span>", "</span>"],
28
+ _tmpl$18 = ["<i", "></i>"],
29
+ _tmpl$19 = ["<span class=\"k2b-app-workspace__sidebar-item-meta\"", ">", "</span>"],
30
+ _tmpl$20 = ["<a", " class=\"k2b-app-workspace__sidebar-item-action\"", ">", "</a>"],
31
+ _tmpl$21 = ["<button type=\"button\" class=\"k2b-app-workspace__sidebar-item-action\"", ">", "</button>"],
32
+ _tmpl$22 = ["<span class=\"k2b-app-workspace__sidebar-item-icon\"", " aria-hidden=\"true\"><i", "></i></span>"],
33
+ _tmpl$23 = ["<span class=\"k2b-app-workspace__sidebar-item-label\"><span class=\"k2b-app-workspace__sidebar-item-label-text\">", "</span></span>"],
34
+ _tmpl$24 = ["<span class=\"", "\"", ">", "</span>"],
35
+ _tmpl$25 = ["<span class=\"k2b-app-workspace__nav-tree-toggle\" data-k2b-nav-tree-toggle aria-hidden=\"true\"><i class=\"", "\"></i></span>"],
36
+ _tmpl$26 = ["<div class=\"k2b-app-workspace__nav-tree-group\" role=\"group\">", "</div>"],
37
+ _tmpl$27 = ["<div class=\"k2b-app-workspace__nav-tree-node\" role=\"treeitem\"", ">", "", "</div>"],
38
+ _tmpl$28 = ["<div class=\"", "\" role=\"tree\"", ">", "</div>"],
39
+ _tmpl$29 = ["<div class=\"k2b-app-workspace__sidebar-icon-grid\"", ">", "</div>"],
40
+ _tmpl$30 = ["<i", " aria-hidden=\"true\"></i>"],
41
+ _tmpl$31 = ["<div class=\"", "\" data-k2b-app-workspace", " style=\"", "\">", "</div>"],
42
+ _tmpl$32 = ["<div class=\"", "\">", "</div>"];
44
43
  import { Link } from "@k2b/ssr/nav";
45
- import { children, createContext, createMemo, mergeProps, createSignal, createUniqueId, For, onCleanup, onMount, Show, useContext } from "solid-js";
44
+ import { children, createContext, createMemo, createSignal, createUniqueId, For, mergeProps, onCleanup, onMount, Show, useContext } from "solid-js";
46
45
  import { useUiMessages } from "../intl/messages";
47
46
  import { installAppWorkspaceController } from "./app-workspace-controller";
48
47
  import { APP_WORKSPACE_DETAIL_DEFAULT, APP_WORKSPACE_DETAIL_MAX, APP_WORKSPACE_DETAIL_MIN, APP_WORKSPACE_DRAWER_DEFAULT, APP_WORKSPACE_DRAWER_MAX, APP_WORKSPACE_DRAWER_MIN, APP_WORKSPACE_PANE_DEFAULT, APP_WORKSPACE_PANE_MAX, APP_WORKSPACE_PANE_MIN, APP_WORKSPACE_SIDEBAR_COLLAPSED, APP_WORKSPACE_SIDEBAR_DEFAULT, APP_WORKSPACE_SIDEBAR_MAX, APP_WORKSPACE_SIDEBAR_MIN, appWorkspaceLayoutStyle, appWorkspacePanelVariable } from "./app-workspace-state";
48
+ import { SidebarItemPreview } from "./SidebarItemPreview";
49
+ import { createScrollFade } from "./scroll-fade";
49
50
  import { assertStableUiId, assertUniqueStableUiIds } from "./stable-id";
50
51
  const ResizeContext = createContext(true);
51
52
  const LayoutStateContext = createContext(null);
@@ -364,17 +365,28 @@ const AppWorkspaceSidebarDesktop = props => ({
364
365
  kind: SIDEBAR_DESKTOP,
365
366
  children: props.children
366
367
  });
368
+ // Document navigations rebuild the sidebar from the server, so this inline
369
+ // script restores its offset while the document is still parsing: before the
370
+ // first paint, before a view transition can snapshot it, and before any island
371
+ // hydrates. Islands load asynchronously and server-only sidebars never mount,
372
+ // so `onMount` would be too late or never run. The memory is one
373
+ // `sessionStorage` entry per path segment and sidebar position and ends with
374
+ // the tab. A stored offset is applied first; the current item is then kept in
375
+ // view, which is a no-op when the offset already shows it. The frame callback
376
+ // repeats the restore once the whole document is parsed, because content that
377
+ // follows the sidebar can still change its height before the first paint.
378
+ const SIDEBAR_SCROLL_MEMORY_SCRIPT = ["(function(){", "var body=document.currentScript&&document.currentScript.previousElementSibling;if(!body)return;", "var storage;try{storage=window.sessionStorage}catch(_){return}", 'var key="k2b-sidebar-scroll:"+location.pathname.split("/")[1]+":"+document.querySelectorAll(".k2b-app-workspace__sidebar-body").length;', "var restore=function(){", "var stored=storage.getItem(key);if(stored!==null)body.scrollTop=Number(stored);", 'var current=body.querySelector(\'[aria-current="page"]\');if(current)current.scrollIntoView({block:"nearest"});', "};", "restore();requestAnimationFrame(restore);", "var frame=0;", 'body.addEventListener("scroll",function(){if(frame)return;frame=requestAnimationFrame(function(){frame=0;try{storage.setItem(key,String(body.scrollTop))}catch(_){}})},{passive:true});', "})();"].join("");
367
379
  const AppWorkspaceSidebarBody = props => {
368
380
  let body;
369
381
  createScrollFade(() => body, () => props.scrollFade !== false);
370
- return _$ssrElement("div", _$mergeProps({
382
+ return [_$ssrElement("div", _$mergeProps({
371
383
  get ["class"]() {
372
384
  return `k2b-app-workspace__sidebar-body ${props.class ?? ""}`;
373
385
  },
374
386
  get ["data-scroll-fade-mode"]() {
375
387
  return props.scrollFade !== false ? "both" : undefined;
376
388
  }
377
- }, () => scrollAttrs(props.scrollPreserveKey), () => modeAttrs(props.sidebarMode)), _$escape(props.children), false);
389
+ }, () => scrollAttrs(props.scrollPreserveKey), () => modeAttrs(props.sidebarMode)), _$escape(props.children), false), _$ssr(_tmpl$6, SIDEBAR_SCROLL_MEMORY_SCRIPT)];
378
390
  };
379
391
  const AppWorkspaceSidebarFooter = props => _$ssrElement("footer", _$mergeProps({
380
392
  get ["class"]() {
@@ -390,14 +402,14 @@ const AppWorkspaceSidebarSection = props => {
390
402
  return props.icon;
391
403
  },
392
404
  get children() {
393
- return _$ssr(_tmpl$6, _$ssrAttribute("class", _$escape(iconClass(props.icon), true), false));
405
+ return _$ssr(_tmpl$7, _$ssrAttribute("class", _$escape(iconClass(props.icon), true), false));
394
406
  }
395
407
  }), props.title, _$createComponent(Show, {
396
408
  get when() {
397
409
  return props.count !== undefined;
398
410
  },
399
411
  get children() {
400
- return _$ssr(_tmpl$7, _$escape(props.count));
412
+ return _$ssr(_tmpl$8, _$escape(props.count));
401
413
  }
402
414
  })];
403
415
  return _$ssrElement("section", _$mergeProps({
@@ -412,7 +424,7 @@ const AppWorkspaceSidebarSection = props => {
412
424
  return props.title || props.actions;
413
425
  },
414
426
  get children() {
415
- return _$ssr(_tmpl$0, _$escape(_$createComponent(Show, {
427
+ return _$ssr(_tmpl$1, _$escape(_$createComponent(Show, {
416
428
  get when() {
417
429
  return props.collapsible;
418
430
  },
@@ -422,23 +434,23 @@ const AppWorkspaceSidebarSection = props => {
422
434
  return props.title;
423
435
  },
424
436
  get children() {
425
- return _$ssr(_tmpl$10, _$escape(title()));
437
+ return _$ssr(_tmpl$11, _$escape(title()));
426
438
  }
427
439
  });
428
440
  },
429
441
  get children() {
430
- return _$ssr(_tmpl$8, _$ssrAttribute("aria-expanded", _$escape(open(), true), false) + _$ssrAttribute("aria-controls", _$escape(id, true), false), _$escape(title()), _$ssrAttribute("class", open() ? "ti ti-chevron-down" : "ti ti-chevron-right", false));
442
+ return _$ssr(_tmpl$9, _$ssrAttribute("aria-expanded", _$escape(open(), true), false) + _$ssrAttribute("aria-controls", _$escape(id, true), false), _$escape(title()), _$ssrAttribute("class", open() ? "ti ti-chevron-down" : "ti ti-chevron-right", false));
431
443
  }
432
444
  })), _$escape(_$createComponent(Show, {
433
445
  get when() {
434
446
  return props.actions;
435
447
  },
436
448
  get children() {
437
- return _$ssr(_tmpl$9, _$escape(props.actions));
449
+ return _$ssr(_tmpl$0, _$escape(props.actions));
438
450
  }
439
451
  })));
440
452
  }
441
- })), _$ssr(_tmpl$1, _$ssrAttribute("id", _$escape(id, true), false), _$ssrAttribute("hidden", !open(), true), _$escape(props.children))], false);
453
+ })), _$ssr(_tmpl$10, _$ssrAttribute("id", _$escape(id, true), false), _$ssrAttribute("hidden", !open(), true), _$escape(props.children))], false);
442
454
  };
443
455
  const AppWorkspaceSidebarItemIcon = props => mergeProps({
444
456
  kind: SIDEBAR_ITEM_ICON
@@ -452,7 +464,7 @@ const AppWorkspaceSidebarItemMeta = props => mergeProps({
452
464
  const AppWorkspaceSidebarItemAction = props => mergeProps({
453
465
  kind: SIDEBAR_ITEM_ACTION
454
466
  }, props);
455
- const AppWorkspaceSidebarItemActions = props => _$ssr(_tmpl$11, _$ssrAttribute("data-visibility", props.visibility === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(props.children));
467
+ const AppWorkspaceSidebarItemActions = props => _$ssr(_tmpl$12, _$ssrAttribute("data-visibility", props.visibility === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(props.children));
456
468
  /** Shared visual and semantic row frame for flat sidebar items and tree items. */
457
469
  function AppWorkspaceSidebarRow(props) {
458
470
  const className = () => `k2b-app-workspace__sidebar-item ${props.hasActions ? "has-action" : ""} ${props.active ? props.activeClass ?? "is-active" : ""} ${props.class ?? ""}`;
@@ -584,19 +596,19 @@ function AppWorkspaceSidebarItem(props) {
584
596
  return iconContent() || icon();
585
597
  },
586
598
  get children() {
587
- return _$ssr(_tmpl$12, _$escape(iconContent() ?? _$ssr(_tmpl$17, _$ssrAttribute("class", _$escape(iconClass(icon()), true), false))));
599
+ return _$ssr(_tmpl$13, _$escape(iconContent() ?? _$ssr(_tmpl$18, _$ssrAttribute("class", _$escape(iconClass(icon()), true), false))));
588
600
  }
589
- }), _$ssr(_tmpl$16, _$escape(_$createComponent(Show, {
601
+ }), _$ssr(_tmpl$17, _$escape(_$createComponent(Show, {
590
602
  get when() {
591
603
  return props.context || props.contextMeta;
592
604
  },
593
605
  get children() {
594
- return _$ssr(_tmpl$14, _$escape(props.context), _$escape(_$createComponent(Show, {
606
+ return _$ssr(_tmpl$15, _$escape(props.context), _$escape(_$createComponent(Show, {
595
607
  get when() {
596
608
  return props.contextMeta;
597
609
  },
598
610
  get children() {
599
- return _$ssr(_tmpl$13, _$escape(props.contextMeta));
611
+ return _$ssr(_tmpl$14, _$escape(props.contextMeta));
600
612
  }
601
613
  })));
602
614
  }
@@ -605,13 +617,13 @@ function AppWorkspaceSidebarItem(props) {
605
617
  return props.description;
606
618
  },
607
619
  get children() {
608
- return _$ssr(_tmpl$15, _$escape(props.description));
620
+ return _$ssr(_tmpl$16, _$escape(props.description));
609
621
  }
610
622
  }))), _$createComponent(Show, {
611
623
  get when() {
612
624
  return meta();
613
625
  },
614
- children: value => _$ssr(_tmpl$18, _$ssrAttribute("data-visibility", metaVisibility() === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(value()))
626
+ children: value => _$ssr(_tmpl$19, _$ssrAttribute("data-visibility", metaVisibility() === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(value()))
615
627
  })];
616
628
  const singleAction = () => {
617
629
  const label = () => actionSlot()?.label ?? props.actionLabel ?? messages().rowAction;
@@ -625,7 +637,7 @@ function AppWorkspaceSidebarItem(props) {
625
637
  actionSlot()?.onSelect?.(event);
626
638
  props.onActionClick?.(event);
627
639
  };
628
- const content = () => actionSlot()?.children ?? _$ssr(_tmpl$17, _$ssrAttribute("class", _$escape(iconClass(actionSlot()?.icon ?? props.actionIcon, "ti-dots"), true), false));
640
+ const content = () => actionSlot()?.children ?? _$ssr(_tmpl$18, _$ssrAttribute("class", _$escape(iconClass(actionSlot()?.icon ?? props.actionIcon, "ti-dots"), true), false));
629
641
  return _$createComponent(Show, {
630
642
  get when() {
631
643
  return Boolean(actionSlot() || props.actionIcon);
@@ -636,10 +648,10 @@ function AppWorkspaceSidebarItem(props) {
636
648
  return actionSlot()?.href && !actionSlot()?.disabled;
637
649
  },
638
650
  get fallback() {
639
- return _$ssr(_tmpl$20, _$ssrAttribute("disabled", actionSlot()?.disabled, true) + _$ssrAttribute("data-visibility", actionSlot()?.visibility === "hover" ? "hover" : _$escape(undefined, true), false) + _$ssrAttribute("aria-label", _$escape(label(), true), false), _$escape(content()));
651
+ return _$ssr(_tmpl$21, _$ssrAttribute("disabled", actionSlot()?.disabled, true) + _$ssrAttribute("data-visibility", actionSlot()?.visibility === "hover" ? "hover" : _$escape(undefined, true), false) + _$ssrAttribute("aria-label", _$escape(label(), true), false), _$escape(content()));
640
652
  },
641
653
  get children() {
642
- return _$ssr(_tmpl$19, _$ssrAttribute("href", _$escape(actionSlot()?.href, true), false), _$ssrAttribute("data-visibility", actionSlot()?.visibility === "hover" ? "hover" : _$escape(undefined, true), false) + _$ssrAttribute("aria-label", _$escape(label(), true), false), _$escape(content()));
654
+ return _$ssr(_tmpl$20, _$ssrAttribute("href", _$escape(actionSlot()?.href, true), false), _$ssrAttribute("data-visibility", actionSlot()?.visibility === "hover" ? "hover" : _$escape(undefined, true), false) + _$ssrAttribute("aria-label", _$escape(label(), true), false), _$escape(content()));
643
655
  }
644
656
  });
645
657
  }
@@ -875,21 +887,21 @@ const AppWorkspaceNavTree = props => {
875
887
  return rowIcon();
876
888
  },
877
889
  get children() {
878
- return _$ssr(_tmpl$21, _$ssrAttribute("data-k2b-nav-tree-toggle", usesIconDisclosure() ? "" : _$escape(undefined, true), false), _$ssrAttribute("class", _$escape(iconClass(rowIcon()), true), false));
890
+ return _$ssr(_tmpl$22, _$ssrAttribute("data-k2b-nav-tree-toggle", usesIconDisclosure() ? "" : _$escape(undefined, true), false), _$ssrAttribute("class", _$escape(iconClass(rowIcon()), true), false));
879
891
  }
880
- }), _$ssr(_tmpl$22, _$escape(item.label)), _$createComponent(Show, {
892
+ }), _$ssr(_tmpl$23, _$escape(item.label)), _$createComponent(Show, {
881
893
  get when() {
882
894
  return item.meta !== undefined;
883
895
  },
884
896
  get children() {
885
- return _$ssr(_tmpl$23, `k2b-app-workspace__sidebar-item-meta ${hasChildren() ? "" : "k2b-app-workspace__nav-tree-leaf-meta"}`, _$ssrAttribute("data-visibility", item.metaVisibility === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(item.meta));
897
+ return _$ssr(_tmpl$24, `k2b-app-workspace__sidebar-item-meta ${hasChildren() ? "" : "k2b-app-workspace__nav-tree-leaf-meta"}`, _$ssrAttribute("data-visibility", item.metaVisibility === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(item.meta));
886
898
  }
887
899
  }), _$createComponent(Show, {
888
900
  get when() {
889
901
  return hasChildren() && !usesIconDisclosure();
890
902
  },
891
903
  get children() {
892
- return _$ssr(_tmpl$24, `ti ${isExpanded(item.id) ? "ti-chevron-down" : "ti-chevron-right"}`);
904
+ return _$ssr(_tmpl$25, `ti ${isExpanded(item.id) ? "ti-chevron-down" : "ti-chevron-right"}`);
893
905
  }
894
906
  })];
895
907
  const row = () => _$createComponent(AppWorkspaceSidebarRow, {
@@ -944,17 +956,17 @@ const AppWorkspaceNavTree = props => {
944
956
  },
945
957
  children: rowContent
946
958
  });
947
- return _$ssr(_tmpl$26, _$ssrAttribute("aria-level", _$escape(depth, true) + 1, false) + _$ssrAttribute("aria-selected", _$escape(selected(), true), false) + _$ssrAttribute("aria-expanded", hasChildren() ? _$escape(isExpanded(item.id), true) : _$escape(undefined, true), false) + _$ssrAttribute("aria-disabled", item.disabled ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("tabindex", item.disabled ? -1 : tabStopId() === item.id ? 0 : -1, false) + _$ssrAttribute("data-k2b-nav-tree-id", _$escape(item.id, true), false) + _$ssrAttribute("data-k2b-nav-tree-parent-id", _$escape(parentId, true), false), _$escape(row()), _$escape(_$createComponent(Show, {
959
+ return _$ssr(_tmpl$27, _$ssrAttribute("aria-level", _$escape(depth, true) + 1, false) + _$ssrAttribute("aria-selected", _$escape(selected(), true), false) + _$ssrAttribute("aria-expanded", hasChildren() ? _$escape(isExpanded(item.id), true) : _$escape(undefined, true), false) + _$ssrAttribute("aria-disabled", item.disabled ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("tabindex", item.disabled ? -1 : tabStopId() === item.id ? 0 : -1, false) + _$ssrAttribute("data-k2b-nav-tree-id", _$escape(item.id, true), false) + _$ssrAttribute("data-k2b-nav-tree-parent-id", _$escape(parentId, true), false), _$escape(row()), _$escape(_$createComponent(Show, {
948
960
  get when() {
949
961
  return hasChildren() && isExpanded(item.id);
950
962
  },
951
963
  get children() {
952
- return _$ssr(_tmpl$25, _$escape(renderItems(nested, depth + 1, item.id)));
964
+ return _$ssr(_tmpl$26, _$escape(renderItems(nested, depth + 1, item.id)));
953
965
  }
954
966
  })));
955
967
  }
956
968
  });
957
- return _$ssr(_tmpl$27, `k2b-app-workspace__nav-tree ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("aria-label", _$escape(props.ariaLabel, true), false), _$escape(renderItems(roots, 0)));
969
+ return _$ssr(_tmpl$28, `k2b-app-workspace__nav-tree ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("aria-label", _$escape(props.ariaLabel, true), false), _$escape(renderItems(roots, 0)));
958
970
  };
959
971
  AppWorkspaceNavTree.Item = AppWorkspaceNavTreeItem;
960
972
  const AppWorkspaceSidebarIconGrid = props => _$ssrElement("section", _$mergeProps({
@@ -965,10 +977,10 @@ const AppWorkspaceSidebarIconGrid = props => _$ssrElement("section", _$mergeProp
965
977
  get when() {
966
978
  return props.title;
967
979
  },
968
- children: title => _$ssr(_tmpl$10, _$escape(title()))
969
- })), _$ssr(_tmpl$28, _$ssrAttribute("data-columns", _$escape(props.columns ?? 2, true), false), _$escape(props.children))], false);
980
+ children: title => _$ssr(_tmpl$11, _$escape(title()))
981
+ })), _$ssr(_tmpl$29, _$ssrAttribute("data-columns", _$escape(props.columns ?? 2, true), false), _$escape(props.children))], false);
970
982
  const AppWorkspaceSidebarIconAction = props => {
971
- const content = _$ssr(_tmpl$29, _$ssrAttribute("class", _$escape(iconClass(props.icon), true), false));
983
+ const content = _$ssr(_tmpl$30, _$ssrAttribute("class", _$escape(iconClass(props.icon), true), false));
972
984
  const attrs = () => ({
973
985
  class: `k2b-app-workspace__sidebar-icon-action ${props.active ? "is-active" : ""}`,
974
986
  title: props.label,
@@ -1034,7 +1046,7 @@ const AppWorkspace = props => {
1034
1046
  return props.resizable !== false;
1035
1047
  },
1036
1048
  get children() {
1037
- return _$ssr(_tmpl$30, `k2b-app-workspace ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("data-mobile-surface", _$escape(props.mobileSurface, true), false) + _$ssrAttribute("data-sidebar-collapsed", initialLayoutState()?.sidebarCollapsed === undefined ? _$escape(undefined, true) : _$escape(String(initialLayoutState()?.sidebarCollapsed), true), false) + _$ssrAttribute("data-workspace-resizable", props.resizable === false ? "false" : "true", false), _$ssrStyle(appWorkspaceLayoutStyle(initialLayoutState())), _$escape(props.children));
1049
+ return _$ssr(_tmpl$31, `k2b-app-workspace ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("data-mobile-surface", _$escape(props.mobileSurface, true), false) + _$ssrAttribute("data-sidebar-collapsed", initialLayoutState()?.sidebarCollapsed === undefined ? _$escape(undefined, true) : _$escape(String(initialLayoutState()?.sidebarCollapsed), true), false) + _$ssrAttribute("data-workspace-resizable", props.resizable === false ? "false" : "true", false), _$ssrStyle(appWorkspaceLayoutStyle(initialLayoutState())), _$escape(props.children));
1038
1050
  }
1039
1051
  });
1040
1052
  };
@@ -1046,7 +1058,7 @@ AppWorkspace.LayoutStateProvider = props => _$createComponent(LayoutStateContext
1046
1058
  return props.children;
1047
1059
  }
1048
1060
  });
1049
- AppWorkspace.Content = props => _$ssr(_tmpl$31, `k2b-app-workspace__content ${_$escape(props.class ?? "", true)}`, _$escape(props.children));
1061
+ AppWorkspace.Content = props => _$ssr(_tmpl$32, `k2b-app-workspace__content ${_$escape(props.class ?? "", true)}`, _$escape(props.children));
1050
1062
  AppWorkspace.Main = AppWorkspaceMain;
1051
1063
  AppWorkspace.MainPane = AppWorkspaceMainPane;
1052
1064
  AppWorkspace.Detail = AppWorkspaceDetail;