@k2b/ui 0.24.0 → 0.25.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 (128) hide show
  1. package/README.md +2 -2
  2. package/dist/browser/actions/Dropdown.js +67 -52
  3. package/dist/browser/actions/Dropdown.js.map +1 -1
  4. package/dist/browser/actions/GestureMenu.js +3 -3
  5. package/dist/browser/actions/GestureMenu.js.map +1 -1
  6. package/dist/browser/actions/SpotlightSearch.js +13 -6
  7. package/dist/browser/actions/SpotlightSearch.js.map +1 -1
  8. package/dist/browser/actions/Toolbar.js +75 -1
  9. package/dist/browser/actions/Toolbar.js.map +1 -1
  10. package/dist/browser/content/Calendar.js +1538 -911
  11. package/dist/browser/content/Calendar.js.map +1 -1
  12. package/dist/browser/content/CalendarDayView.js +1 -1
  13. package/dist/browser/content/CalendarDayView.js.map +1 -1
  14. package/dist/browser/content/CalendarWeekView.js +1 -1
  15. package/dist/browser/content/CalendarWeekView.js.map +1 -1
  16. package/dist/browser/content/Kbd.js +51 -0
  17. package/dist/browser/content/Kbd.js.map +1 -0
  18. package/dist/browser/content/LabelChip.js +38 -0
  19. package/dist/browser/content/LabelChip.js.map +1 -0
  20. package/dist/browser/content/MarkdownView.js +2 -1
  21. package/dist/browser/content/MarkdownView.js.map +1 -1
  22. package/dist/browser/content/Steps.js +34 -0
  23. package/dist/browser/content/Steps.js.map +1 -0
  24. package/dist/browser/content/VirtualFeed.js +33 -1
  25. package/dist/browser/content/VirtualFeed.js.map +1 -1
  26. package/dist/browser/content/calendar-dialogs.js +32 -60
  27. package/dist/browser/content/calendar-dialogs.js.map +1 -1
  28. package/dist/browser/content/calendar-month-scroll.js +80 -0
  29. package/dist/browser/content/calendar-month-scroll.js.map +1 -0
  30. package/dist/browser/content/index.js +4 -1
  31. package/dist/browser/content/index.js.map +1 -1
  32. package/dist/browser/content/markdown-info-blocks.js +33 -5
  33. package/dist/browser/content/markdown-info-blocks.js.map +1 -1
  34. package/dist/browser/feedback/prompts.js +17 -3
  35. package/dist/browser/feedback/prompts.js.map +1 -1
  36. package/dist/browser/intl/index.js +1 -0
  37. package/dist/browser/intl/index.js.map +1 -1
  38. package/dist/browser/intl/shortcut-messages.js +77 -0
  39. package/dist/browser/intl/shortcut-messages.js.map +1 -0
  40. package/dist/browser/intl/shortcut.js +123 -0
  41. package/dist/browser/intl/shortcut.js.map +1 -0
  42. package/dist/browser/layout/AppWorkspace.js +343 -325
  43. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  44. package/dist/browser/layout/TableOfContents.js +115 -0
  45. package/dist/browser/layout/TableOfContents.js.map +1 -0
  46. package/dist/browser/layout/app-workspace-controller.js +3 -46
  47. package/dist/browser/layout/app-workspace-controller.js.map +1 -1
  48. package/dist/browser/layout/index.js +1 -0
  49. package/dist/browser/layout/index.js.map +1 -1
  50. package/dist/browser/layout/table-of-contents-messages.js +19 -0
  51. package/dist/browser/layout/table-of-contents-messages.js.map +1 -0
  52. package/dist/browser/surfaces/LinkCard.js +40 -24
  53. package/dist/browser/surfaces/LinkCard.js.map +1 -1
  54. package/dist/ssr/actions/Dropdown.js +11 -5
  55. package/dist/ssr/actions/Dropdown.js.map +1 -1
  56. package/dist/ssr/actions/GestureMenu.js +3 -3
  57. package/dist/ssr/actions/GestureMenu.js.map +1 -1
  58. package/dist/ssr/actions/SpotlightSearch.js +9 -3
  59. package/dist/ssr/actions/SpotlightSearch.js.map +1 -1
  60. package/dist/ssr/actions/Toolbar.js +67 -1
  61. package/dist/ssr/actions/Toolbar.js.map +1 -1
  62. package/dist/ssr/content/Calendar.js +863 -312
  63. package/dist/ssr/content/Calendar.js.map +1 -1
  64. package/dist/ssr/content/CalendarDayView.js +1 -1
  65. package/dist/ssr/content/CalendarDayView.js.map +1 -1
  66. package/dist/ssr/content/CalendarWeekView.js +1 -1
  67. package/dist/ssr/content/CalendarWeekView.js.map +1 -1
  68. package/dist/ssr/content/Kbd.js +38 -0
  69. package/dist/ssr/content/Kbd.js.map +1 -0
  70. package/dist/ssr/content/LabelChip.js +21 -0
  71. package/dist/ssr/content/LabelChip.js.map +1 -0
  72. package/dist/ssr/content/MarkdownView.js +2 -1
  73. package/dist/ssr/content/MarkdownView.js.map +1 -1
  74. package/dist/ssr/content/Steps.js +14 -0
  75. package/dist/ssr/content/Steps.js.map +1 -0
  76. package/dist/ssr/content/VirtualFeed.js +33 -1
  77. package/dist/ssr/content/VirtualFeed.js.map +1 -1
  78. package/dist/ssr/content/calendar-dialogs.js +12 -32
  79. package/dist/ssr/content/calendar-dialogs.js.map +1 -1
  80. package/dist/ssr/content/calendar-month-scroll.js +80 -0
  81. package/dist/ssr/content/calendar-month-scroll.js.map +1 -0
  82. package/dist/ssr/content/index.js +4 -1
  83. package/dist/ssr/content/index.js.map +1 -1
  84. package/dist/ssr/content/markdown-info-blocks.js +33 -5
  85. package/dist/ssr/content/markdown-info-blocks.js.map +1 -1
  86. package/dist/ssr/feedback/prompts.js +17 -3
  87. package/dist/ssr/feedback/prompts.js.map +1 -1
  88. package/dist/ssr/intl/index.js +1 -0
  89. package/dist/ssr/intl/index.js.map +1 -1
  90. package/dist/ssr/intl/shortcut-messages.js +77 -0
  91. package/dist/ssr/intl/shortcut-messages.js.map +1 -0
  92. package/dist/ssr/intl/shortcut.js +123 -0
  93. package/dist/ssr/intl/shortcut.js.map +1 -0
  94. package/dist/ssr/layout/AppWorkspace.js +65 -59
  95. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  96. package/dist/ssr/layout/TableOfContents.js +79 -0
  97. package/dist/ssr/layout/TableOfContents.js.map +1 -0
  98. package/dist/ssr/layout/app-workspace-controller.js +3 -46
  99. package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
  100. package/dist/ssr/layout/index.js +1 -0
  101. package/dist/ssr/layout/index.js.map +1 -1
  102. package/dist/ssr/layout/table-of-contents-messages.js +19 -0
  103. package/dist/ssr/layout/table-of-contents-messages.js.map +1 -0
  104. package/dist/ssr/surfaces/LinkCard.js +26 -10
  105. package/dist/ssr/surfaces/LinkCard.js.map +1 -1
  106. package/dist/styles.css +1 -1
  107. package/dist/types/actions/Dropdown.d.ts +12 -0
  108. package/dist/types/actions/SpotlightSearch.d.ts +2 -0
  109. package/dist/types/content/Calendar.d.ts +16 -6
  110. package/dist/types/content/Kbd.d.ts +16 -0
  111. package/dist/types/content/LabelChip.d.ts +12 -0
  112. package/dist/types/content/MarkdownView.d.ts +2 -1
  113. package/dist/types/content/Steps.d.ts +12 -0
  114. package/dist/types/content/VirtualFeed.d.ts +8 -0
  115. package/dist/types/content/calendar-dialogs.d.ts +0 -2
  116. package/dist/types/content/calendar-month-scroll.d.ts +25 -0
  117. package/dist/types/content/index.d.ts +7 -1
  118. package/dist/types/content/markdown-info-blocks.d.ts +21 -4
  119. package/dist/types/feedback/prompts.d.ts +8 -2
  120. package/dist/types/intl/index.d.ts +2 -0
  121. package/dist/types/intl/shortcut-messages.d.ts +35 -0
  122. package/dist/types/intl/shortcut.d.ts +29 -0
  123. package/dist/types/layout/AppWorkspace.d.ts +3 -1
  124. package/dist/types/layout/TableOfContents.d.ts +24 -0
  125. package/dist/types/layout/index.d.ts +2 -0
  126. package/dist/types/layout/table-of-contents-messages.d.ts +4 -0
  127. package/dist/types/surfaces/LinkCard.d.ts +3 -0
  128. package/package.json +3 -3
@@ -37,34 +37,36 @@ var _tmpl$ = /*#__PURE__*/_$template(`<button type=button class=k2b-app-workspac
37
37
  _tmpl$17 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-mention aria-hidden=true>@`),
38
38
  _tmpl$18 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-muted aria-hidden=true><i class="ti ti-bell-off">`),
39
39
  _tmpl$19 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-count>`),
40
- _tmpl$20 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status><!$><!/><!$><!/><span class=k2b-app-workspace__sidebar-status-unread aria-hidden=true></span><span class=k2b-sr-only>, <!$><!/>`),
41
- _tmpl$21 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-dot>`),
42
- _tmpl$22 = /*#__PURE__*/_$template(`<button type=button>`),
43
- _tmpl$23 = /*#__PURE__*/_$template(`<a>`),
44
- _tmpl$24 = /*#__PURE__*/_$template(`<div><!$><!/><!$><!/>`),
45
- _tmpl$25 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-icon aria-hidden=true>`),
46
- _tmpl$26 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-context-meta>`),
47
- _tmpl$27 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-context><span class=k2b-app-workspace__sidebar-item-context-label></span><!$><!/>`),
48
- _tmpl$28 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-description>`),
49
- _tmpl$29 = /*#__PURE__*/_$template(`<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><!$><!/>`),
50
- _tmpl$30 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-meta>`),
51
- _tmpl$31 = /*#__PURE__*/_$template(`<i>`),
52
- _tmpl$32 = /*#__PURE__*/_$template(`<a class=k2b-app-workspace__sidebar-item-action>`),
53
- _tmpl$33 = /*#__PURE__*/_$template(`<button type=button class=k2b-app-workspace__sidebar-item-action>`),
54
- _tmpl$34 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-icon><i>`),
55
- _tmpl$35 = /*#__PURE__*/_$template(`<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 class=k2b-app-workspace__sidebar-item-description>`),
56
- _tmpl$36 = /*#__PURE__*/_$template(`<span>`),
57
- _tmpl$37 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__nav-tree-toggle data-k2b-nav-tree-toggle aria-hidden=true><i>`),
58
- _tmpl$38 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-label><span class=k2b-app-workspace__sidebar-item-label-text>`),
59
- _tmpl$39 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__nav-tree-group role=group>`),
60
- _tmpl$40 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__nav-tree-node role=treeitem><!$><!/><!$><!/>`),
61
- _tmpl$41 = /*#__PURE__*/_$template(`<div role=tree>`),
62
- _tmpl$42 = /*#__PURE__*/_$template(`<section><!$><!/><div class=k2b-app-workspace__sidebar-icon-grid>`),
63
- _tmpl$43 = /*#__PURE__*/_$template(`<i aria-hidden=true>`),
64
- _tmpl$44 = /*#__PURE__*/_$template(`<i class="ti ti-layout-sidebar"aria-hidden=true>`),
65
- _tmpl$45 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head><!$><!/><!$><!/>`),
66
- _tmpl$46 = /*#__PURE__*/_$template(`<h1 class=k2b-app-workspace__head-heading data-k2b-page-trail-title>`),
67
- _tmpl$47 = /*#__PURE__*/_$template(`<div data-k2b-app-workspace><!$><!/><!$><!/>`);
40
+ _tmpl$20 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-unread aria-hidden=true>`),
41
+ _tmpl$21 = /*#__PURE__*/_$template(`<span class=k2b-sr-only>, <!$><!/>`),
42
+ _tmpl$22 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status>`),
43
+ _tmpl$23 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-dot>`),
44
+ _tmpl$24 = /*#__PURE__*/_$template(`<button type=button>`),
45
+ _tmpl$25 = /*#__PURE__*/_$template(`<a>`),
46
+ _tmpl$26 = /*#__PURE__*/_$template(`<div><!$><!/><!$><!/>`),
47
+ _tmpl$27 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-icon aria-hidden=true>`),
48
+ _tmpl$28 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-context-meta>`),
49
+ _tmpl$29 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-context><span class=k2b-app-workspace__sidebar-item-context-label></span><!$><!/>`),
50
+ _tmpl$30 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-description>`),
51
+ _tmpl$31 = /*#__PURE__*/_$template(`<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><!$><!/>`),
52
+ _tmpl$32 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-meta>`),
53
+ _tmpl$33 = /*#__PURE__*/_$template(`<i>`),
54
+ _tmpl$34 = /*#__PURE__*/_$template(`<a class=k2b-app-workspace__sidebar-item-action>`),
55
+ _tmpl$35 = /*#__PURE__*/_$template(`<button type=button class=k2b-app-workspace__sidebar-item-action>`),
56
+ _tmpl$36 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-icon><i>`),
57
+ _tmpl$37 = /*#__PURE__*/_$template(`<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 class=k2b-app-workspace__sidebar-item-description>`),
58
+ _tmpl$38 = /*#__PURE__*/_$template(`<span>`),
59
+ _tmpl$39 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__nav-tree-toggle data-k2b-nav-tree-toggle aria-hidden=true><i>`),
60
+ _tmpl$40 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-label><span class=k2b-app-workspace__sidebar-item-label-text>`),
61
+ _tmpl$41 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__nav-tree-group role=group>`),
62
+ _tmpl$42 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__nav-tree-node role=treeitem><!$><!/><!$><!/>`),
63
+ _tmpl$43 = /*#__PURE__*/_$template(`<div role=tree>`),
64
+ _tmpl$44 = /*#__PURE__*/_$template(`<section><!$><!/><div class=k2b-app-workspace__sidebar-icon-grid>`),
65
+ _tmpl$45 = /*#__PURE__*/_$template(`<i aria-hidden=true>`),
66
+ _tmpl$46 = /*#__PURE__*/_$template(`<i class="ti ti-layout-sidebar"aria-hidden=true>`),
67
+ _tmpl$47 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head><!$><!/><!$><!/>`),
68
+ _tmpl$48 = /*#__PURE__*/_$template(`<h1 class=k2b-app-workspace__head-heading data-k2b-page-trail-title>`),
69
+ _tmpl$49 = /*#__PURE__*/_$template(`<div data-k2b-app-workspace><!$><!/><!$><!/>`);
68
70
  import { Link } from "@k2b/ssr/nav";
69
71
  import { children, createContext, createEffect, createMemo, createSignal, createUniqueId, For, mergeProps, onCleanup, onMount, Show, useContext } from "solid-js";
70
72
  import { isServer } from "solid-js/web";
@@ -867,75 +869,79 @@ const AppWorkspaceSidebarItemStatus = props => {
867
869
  }) : dot() ? workspaceMessages().sidebarNewActivity : "", props.mention ? workspaceMessages().sidebarMentioned : "", props.muted ? workspaceMessages().sidebarMuted : ""].filter(Boolean).join(", ");
868
870
  // The unread slot stays reserved at the end, and the marks that change most
869
871
  // often sit outermost, so new activity or a mention never moves another mark.
870
- return _$createComponent(Show, {
871
- get when() {
872
- return description();
873
- },
874
- get children() {
875
- var _el$33 = _$getNextElement(_tmpl$20),
876
- _el$42 = _el$33.firstChild,
877
- [_el$43, _co$7] = _$getNextMarker(_el$42.nextSibling),
878
- _el$44 = _el$43.nextSibling,
879
- [_el$45, _co$8] = _$getNextMarker(_el$44.nextSibling),
880
- _el$36 = _el$45.nextSibling,
881
- _el$38 = _el$36.nextSibling,
882
- _el$39 = _el$38.firstChild,
883
- _el$40 = _el$39.nextSibling,
884
- [_el$41, _co$6] = _$getNextMarker(_el$40.nextSibling);
885
- _$insert(_el$33, _$createComponent(Show, {
886
- get when() {
887
- return props.mention;
888
- },
889
- get children() {
890
- return _$getNextElement(_tmpl$17);
891
- }
892
- }), _el$43, _co$7);
893
- _$insert(_el$33, _$createComponent(Show, {
894
- get when() {
895
- return props.muted;
896
- },
897
- get children() {
898
- return _$getNextElement(_tmpl$18);
899
- }
900
- }), _el$45, _co$8);
901
- _$insert(_el$36, _$createComponent(Show, {
902
- get when() {
903
- return count() || waiting() === 0;
904
- },
905
- get fallback() {
906
- return _$createComponent(Show, {
872
+ // The element itself stays when there is nothing to show: empty, it takes no
873
+ // space, and it still keeps the row's label on one line, so the first count
874
+ // never re-wraps the label and moves the rows below.
875
+ return (() => {
876
+ var _el$33 = _$getNextElement(_tmpl$22);
877
+ _$insert(_el$33, _$createComponent(Show, {
878
+ get when() {
879
+ return description();
880
+ },
881
+ get children() {
882
+ return [_$createComponent(Show, {
883
+ get when() {
884
+ return props.mention;
885
+ },
886
+ get children() {
887
+ return _$getNextElement(_tmpl$17);
888
+ }
889
+ }), _$createComponent(Show, {
890
+ get when() {
891
+ return props.muted;
892
+ },
893
+ get children() {
894
+ return _$getNextElement(_tmpl$18);
895
+ }
896
+ }), (() => {
897
+ var _el$36 = _$getNextElement(_tmpl$20);
898
+ _$insert(_el$36, _$createComponent(Show, {
907
899
  get when() {
908
- return dot();
900
+ return count() || waiting() === 0;
901
+ },
902
+ get fallback() {
903
+ return _$createComponent(Show, {
904
+ get when() {
905
+ return dot();
906
+ },
907
+ get children() {
908
+ return _$getNextElement(_tmpl$23);
909
+ }
910
+ });
909
911
  },
910
912
  get children() {
911
- return _$getNextElement(_tmpl$21);
913
+ var _el$37 = _$getNextElement(_tmpl$19);
914
+ _$insert(_el$37, (() => {
915
+ var _c$ = _$memo(() => count() > 99);
916
+ return () => _c$() ? "99+" : count();
917
+ })());
918
+ _$effect(() => _$setAttribute(_el$37, "data-mention", props.mention ? "true" : undefined));
919
+ return _el$37;
912
920
  }
913
- });
914
- },
915
- get children() {
916
- var _el$37 = _$getNextElement(_tmpl$19);
917
- _$insert(_el$37, (() => {
918
- var _c$ = _$memo(() => count() > 99);
919
- return () => _c$() ? "99+" : count();
920
- })());
921
- _$effect(() => _$setAttribute(_el$37, "data-mention", props.mention ? "true" : undefined));
922
- return _el$37;
923
- }
924
- }));
925
- _$insert(_el$38, description, _el$41, _co$6);
926
- _$effect(_p$ => {
927
- var _v$51 = waiting() !== null ? undefined : count() ? "count" : dot() ? "dot" : undefined,
928
- _v$52 = waiting() === null ? undefined : waiting() ? "count" : "zero";
929
- _v$51 !== _p$.e && _$setAttribute(_el$33, "data-unread", _p$.e = _v$51);
930
- _v$52 !== _p$.t && _$setAttribute(_el$33, "data-waiting", _p$.t = _v$52);
931
- return _p$;
932
- }, {
933
- e: undefined,
934
- t: undefined
935
- });
936
- return _el$33;
937
- }
938
- });
921
+ }));
922
+ return _el$36;
923
+ })(), (() => {
924
+ var _el$38 = _$getNextElement(_tmpl$21),
925
+ _el$39 = _el$38.firstChild,
926
+ _el$40 = _el$39.nextSibling,
927
+ [_el$41, _co$6] = _$getNextMarker(_el$40.nextSibling);
928
+ _$insert(_el$38, description, _el$41, _co$6);
929
+ return _el$38;
930
+ })()];
931
+ }
932
+ }));
933
+ _$effect(_p$ => {
934
+ var _v$51 = waiting() !== null ? undefined : count() ? "count" : dot() ? "dot" : undefined,
935
+ _v$52 = waiting() === null ? undefined : waiting() ? "count" : "zero";
936
+ _v$51 !== _p$.e && _$setAttribute(_el$33, "data-unread", _p$.e = _v$51);
937
+ _v$52 !== _p$.t && _$setAttribute(_el$33, "data-waiting", _p$.t = _v$52);
938
+ return _p$;
939
+ }, {
940
+ e: undefined,
941
+ t: undefined
942
+ });
943
+ return _el$33;
944
+ })();
939
945
  };
940
946
  /** Shared visual and semantic row frame for flat sidebar items and tree items. */
941
947
  function AppWorkspaceSidebarRow(props) {
@@ -962,8 +968,8 @@ function AppWorkspaceSidebarRow(props) {
962
968
  },
963
969
  get fallback() {
964
970
  return (() => {
965
- var _el$47 = _$getNextElement(_tmpl$22);
966
- _$spread(_el$47, _$mergeProps(attrs, {
971
+ var _el$43 = _$getNextElement(_tmpl$24);
972
+ _$spread(_el$43, _$mergeProps(attrs, {
967
973
  get tabIndex() {
968
974
  return props.tabIndex;
969
975
  },
@@ -974,9 +980,9 @@ function AppWorkspaceSidebarRow(props) {
974
980
  return props.onClick;
975
981
  }
976
982
  }), false, true);
977
- _$insert(_el$47, () => props.children);
983
+ _$insert(_el$43, () => props.children);
978
984
  _$runHydrationEvents();
979
- return _el$47;
985
+ return _el$43;
980
986
  })();
981
987
  },
982
988
  get children() {
@@ -986,8 +992,8 @@ function AppWorkspaceSidebarRow(props) {
986
992
  },
987
993
  get fallback() {
988
994
  return (() => {
989
- var _el$48 = _$getNextElement(_tmpl$23);
990
- _$spread(_el$48, _$mergeProps({
995
+ var _el$44 = _$getNextElement(_tmpl$25);
996
+ _$spread(_el$44, _$mergeProps({
991
997
  get href() {
992
998
  return props.href;
993
999
  }
@@ -1002,9 +1008,9 @@ function AppWorkspaceSidebarRow(props) {
1002
1008
  return props.onClick;
1003
1009
  }
1004
1010
  }), false, true);
1005
- _$insert(_el$48, () => props.children);
1011
+ _$insert(_el$44, () => props.children);
1006
1012
  _$runHydrationEvents();
1007
- return _el$48;
1013
+ return _el$44;
1008
1014
  })();
1009
1015
  },
1010
1016
  get children() {
@@ -1050,22 +1056,22 @@ function AppWorkspaceSidebarRow(props) {
1050
1056
  });
1051
1057
  },
1052
1058
  get children() {
1053
- var _el$49 = _$getNextElement(_tmpl$24),
1054
- _el$50 = _el$49.firstChild,
1055
- [_el$51, _co$9] = _$getNextMarker(_el$50.nextSibling),
1056
- _el$52 = _el$51.nextSibling,
1057
- [_el$53, _co$0] = _$getNextMarker(_el$52.nextSibling);
1058
- _$spread(_el$49, _$mergeProps(common, {
1059
+ var _el$45 = _$getNextElement(_tmpl$26),
1060
+ _el$46 = _el$45.firstChild,
1061
+ [_el$47, _co$7] = _$getNextMarker(_el$46.nextSibling),
1062
+ _el$48 = _el$47.nextSibling,
1063
+ [_el$49, _co$8] = _$getNextMarker(_el$48.nextSibling);
1064
+ _$spread(_el$45, _$mergeProps(common, {
1059
1065
  get ["data-disabled"]() {
1060
1066
  return props.disabled ? "true" : undefined;
1061
1067
  }
1062
1068
  }), false, true);
1063
- _$insert(_el$49, _$createComponent(Control, {
1069
+ _$insert(_el$45, _$createComponent(Control, {
1064
1070
  grouped: true
1065
- }), _el$51, _co$9);
1066
- _$insert(_el$49, () => props.actions, _el$53, _co$0);
1071
+ }), _el$47, _co$7);
1072
+ _$insert(_el$45, () => props.actions, _el$49, _co$8);
1067
1073
  _$runHydrationEvents();
1068
- return _el$49;
1074
+ return _el$45;
1069
1075
  }
1070
1076
  });
1071
1077
  }
@@ -1081,10 +1087,11 @@ function AppWorkspaceSidebarItem(props) {
1081
1087
  const actionSlot = createMemo(() => slots().find(slot => slot.kind === SIDEBAR_ITEM_ACTION));
1082
1088
  const legacy = createMemo(() => values().filter(value => !sidebarItemSlot(value)));
1083
1089
  const label = () => labelSlot()?.children ?? (legacy().length === 1 ? legacy()[0] : legacy());
1090
+ const oneLine = () => !(labelSlot()?.marquee ?? (props.variant ?? "row") === "row");
1084
1091
  const icon = () => iconSlot()?.icon ?? props.icon;
1085
1092
  const iconContent = () => iconSlot()?.children;
1086
- // Resolved first, so a component that renders nothing, such as a status with
1087
- // nothing to show, leaves no empty slot in the browser either.
1093
+ // Resolved first, so metadata that renders nothing leaves no empty slot. An
1094
+ // empty status still renders its element; the stylesheet hides that slot.
1088
1095
  const meta = children(() => metaSlot()?.children ?? props.meta);
1089
1096
  const hasMeta = () => meta.toArray().some(Boolean);
1090
1097
  const metaId = createUniqueId();
@@ -1097,76 +1104,85 @@ function AppWorkspaceSidebarItem(props) {
1097
1104
  return iconContent() || icon();
1098
1105
  },
1099
1106
  get children() {
1100
- var _el$54 = _$getNextElement(_tmpl$25);
1101
- _$insert(_el$54, () => iconContent() ?? (() => {
1102
- var _el$69 = _$getNextElement(_tmpl$31);
1103
- _$effect(() => _$className(_el$69, iconClass(icon())));
1104
- return _el$69;
1107
+ var _el$50 = _$getNextElement(_tmpl$27);
1108
+ _$insert(_el$50, () => iconContent() ?? (() => {
1109
+ var _el$65 = _$getNextElement(_tmpl$33);
1110
+ _$effect(() => _$className(_el$65, iconClass(icon())));
1111
+ return _el$65;
1105
1112
  })());
1106
- return _el$54;
1113
+ return _el$50;
1107
1114
  }
1108
1115
  }), (() => {
1109
- var _el$55 = _$getNextElement(_tmpl$29),
1110
- _el$64 = _el$55.firstChild,
1111
- [_el$65, _co$10] = _$getNextMarker(_el$64.nextSibling),
1112
- _el$61 = _el$65.nextSibling,
1113
- _el$62 = _el$61.firstChild,
1114
- _el$66 = _el$61.nextSibling,
1115
- [_el$67, _co$11] = _$getNextMarker(_el$66.nextSibling);
1116
- _$insert(_el$55, _$createComponent(Show, {
1116
+ var _el$51 = _$getNextElement(_tmpl$31),
1117
+ _el$60 = _el$51.firstChild,
1118
+ [_el$61, _co$0] = _$getNextMarker(_el$60.nextSibling),
1119
+ _el$57 = _el$61.nextSibling,
1120
+ _el$58 = _el$57.firstChild,
1121
+ _el$62 = _el$57.nextSibling,
1122
+ [_el$63, _co$1] = _$getNextMarker(_el$62.nextSibling);
1123
+ _$insert(_el$51, _$createComponent(Show, {
1117
1124
  get when() {
1118
1125
  return props.context || props.contextMeta;
1119
1126
  },
1120
1127
  get children() {
1121
- var _el$56 = _$getNextElement(_tmpl$27),
1122
- _el$57 = _el$56.firstChild,
1123
- _el$59 = _el$57.nextSibling,
1124
- [_el$60, _co$1] = _$getNextMarker(_el$59.nextSibling);
1125
- _$insert(_el$57, () => props.context);
1126
- _$insert(_el$56, _$createComponent(Show, {
1128
+ var _el$52 = _$getNextElement(_tmpl$29),
1129
+ _el$53 = _el$52.firstChild,
1130
+ _el$55 = _el$53.nextSibling,
1131
+ [_el$56, _co$9] = _$getNextMarker(_el$55.nextSibling);
1132
+ _$insert(_el$53, () => props.context);
1133
+ _$insert(_el$52, _$createComponent(Show, {
1127
1134
  get when() {
1128
1135
  return props.contextMeta;
1129
1136
  },
1130
1137
  get children() {
1131
- var _el$58 = _$getNextElement(_tmpl$26);
1132
- _$insert(_el$58, () => props.contextMeta);
1133
- return _el$58;
1138
+ var _el$54 = _$getNextElement(_tmpl$28);
1139
+ _$insert(_el$54, () => props.contextMeta);
1140
+ return _el$54;
1134
1141
  }
1135
- }), _el$60, _co$1);
1136
- return _el$56;
1142
+ }), _el$56, _co$9);
1143
+ return _el$52;
1137
1144
  }
1138
- }), _el$65, _co$10);
1139
- _$insert(_el$62, () => label());
1140
- _$insert(_el$55, _$createComponent(Show, {
1145
+ }), _el$61, _co$0);
1146
+ _$insert(_el$58, () => label());
1147
+ _$insert(_el$51, _$createComponent(Show, {
1141
1148
  get when() {
1142
1149
  return props.description;
1143
1150
  },
1144
1151
  get children() {
1145
- var _el$63 = _$getNextElement(_tmpl$28);
1146
- _$insert(_el$63, () => props.description);
1147
- return _el$63;
1152
+ var _el$59 = _$getNextElement(_tmpl$30);
1153
+ _$insert(_el$59, () => props.description);
1154
+ return _el$59;
1148
1155
  }
1149
- }), _el$67, _co$11);
1150
- _$effect(() => _$setAttribute(_el$61, "data-marquee", labelSlot()?.marquee ?? (props.variant ?? "row") === "row" ? "true" : "false"));
1151
- return _el$55;
1156
+ }), _el$63, _co$1);
1157
+ _$effect(_p$ => {
1158
+ var _v$53 = oneLine() ? "1" : undefined,
1159
+ _v$54 = !oneLine() && typeof label() === "string" ? label() : undefined;
1160
+ _v$53 !== _p$.e && _$setAttribute(_el$57, "data-lines", _p$.e = _v$53);
1161
+ _v$54 !== _p$.t && _$setAttribute(_el$57, "data-label", _p$.t = _v$54);
1162
+ return _p$;
1163
+ }, {
1164
+ e: undefined,
1165
+ t: undefined
1166
+ });
1167
+ return _el$51;
1152
1168
  })(), _$createComponent(Show, {
1153
1169
  get when() {
1154
1170
  return hasMeta();
1155
1171
  },
1156
1172
  get children() {
1157
- var _el$68 = _$getNextElement(_tmpl$30);
1158
- _$insert(_el$68, meta);
1173
+ var _el$64 = _$getNextElement(_tmpl$32);
1174
+ _$insert(_el$64, meta);
1159
1175
  _$effect(_p$ => {
1160
- var _v$53 = props.preview?.trigger === "row" ? metaId : undefined,
1161
- _v$54 = metaVisibility() === "hover" ? "hover" : undefined;
1162
- _v$53 !== _p$.e && _$setAttribute(_el$68, "id", _p$.e = _v$53);
1163
- _v$54 !== _p$.t && _$setAttribute(_el$68, "data-visibility", _p$.t = _v$54);
1176
+ var _v$55 = props.preview?.trigger === "row" ? metaId : undefined,
1177
+ _v$56 = metaVisibility() === "hover" ? "hover" : undefined;
1178
+ _v$55 !== _p$.e && _$setAttribute(_el$64, "id", _p$.e = _v$55);
1179
+ _v$56 !== _p$.t && _$setAttribute(_el$64, "data-visibility", _p$.t = _v$56);
1164
1180
  return _p$;
1165
1181
  }, {
1166
1182
  e: undefined,
1167
1183
  t: undefined
1168
1184
  });
1169
- return _el$68;
1185
+ return _el$64;
1170
1186
  }
1171
1187
  })];
1172
1188
  const singleAction = () => {
@@ -1182,9 +1198,9 @@ function AppWorkspaceSidebarItem(props) {
1182
1198
  props.onActionClick?.(event);
1183
1199
  };
1184
1200
  const content = () => actionSlot()?.children ?? (() => {
1185
- var _el$70 = _$getNextElement(_tmpl$31);
1186
- _$effect(() => _$className(_el$70, iconClass(actionSlot()?.icon ?? props.actionIcon, "ti-dots")));
1187
- return _el$70;
1201
+ var _el$66 = _$getNextElement(_tmpl$33);
1202
+ _$effect(() => _$className(_el$66, iconClass(actionSlot()?.icon ?? props.actionIcon, "ti-dots")));
1203
+ return _el$66;
1188
1204
  })();
1189
1205
  return _$createComponent(Show, {
1190
1206
  get when() {
@@ -1197,16 +1213,16 @@ function AppWorkspaceSidebarItem(props) {
1197
1213
  },
1198
1214
  get fallback() {
1199
1215
  return (() => {
1200
- var _el$72 = _$getNextElement(_tmpl$33);
1201
- _el$72.$$click = select;
1202
- _$insert(_el$72, content);
1216
+ var _el$68 = _$getNextElement(_tmpl$35);
1217
+ _el$68.$$click = select;
1218
+ _$insert(_el$68, content);
1203
1219
  _$effect(_p$ => {
1204
- var _v$58 = actionSlot()?.disabled,
1205
- _v$59 = actionSlot()?.visibility === "hover" ? "hover" : undefined,
1206
- _v$60 = label();
1207
- _v$58 !== _p$.e && _$setProperty(_el$72, "disabled", _p$.e = _v$58);
1208
- _v$59 !== _p$.t && _$setAttribute(_el$72, "data-visibility", _p$.t = _v$59);
1209
- _v$60 !== _p$.a && _$setAttribute(_el$72, "aria-label", _p$.a = _v$60);
1220
+ var _v$60 = actionSlot()?.disabled,
1221
+ _v$61 = actionSlot()?.visibility === "hover" ? "hover" : undefined,
1222
+ _v$62 = label();
1223
+ _v$60 !== _p$.e && _$setProperty(_el$68, "disabled", _p$.e = _v$60);
1224
+ _v$61 !== _p$.t && _$setAttribute(_el$68, "data-visibility", _p$.t = _v$61);
1225
+ _v$62 !== _p$.a && _$setAttribute(_el$68, "aria-label", _p$.a = _v$62);
1210
1226
  return _p$;
1211
1227
  }, {
1212
1228
  e: undefined,
@@ -1214,20 +1230,20 @@ function AppWorkspaceSidebarItem(props) {
1214
1230
  a: undefined
1215
1231
  });
1216
1232
  _$runHydrationEvents();
1217
- return _el$72;
1233
+ return _el$68;
1218
1234
  })();
1219
1235
  },
1220
1236
  get children() {
1221
- var _el$71 = _$getNextElement(_tmpl$32);
1222
- _el$71.$$click = select;
1223
- _$insert(_el$71, content);
1237
+ var _el$67 = _$getNextElement(_tmpl$34);
1238
+ _el$67.$$click = select;
1239
+ _$insert(_el$67, content);
1224
1240
  _$effect(_p$ => {
1225
- var _v$55 = actionSlot()?.href,
1226
- _v$56 = actionSlot()?.visibility === "hover" ? "hover" : undefined,
1227
- _v$57 = label();
1228
- _v$55 !== _p$.e && _$setAttribute(_el$71, "href", _p$.e = _v$55);
1229
- _v$56 !== _p$.t && _$setAttribute(_el$71, "data-visibility", _p$.t = _v$56);
1230
- _v$57 !== _p$.a && _$setAttribute(_el$71, "aria-label", _p$.a = _v$57);
1241
+ var _v$57 = actionSlot()?.href,
1242
+ _v$58 = actionSlot()?.visibility === "hover" ? "hover" : undefined,
1243
+ _v$59 = label();
1244
+ _v$57 !== _p$.e && _$setAttribute(_el$67, "href", _p$.e = _v$57);
1245
+ _v$58 !== _p$.t && _$setAttribute(_el$67, "data-visibility", _p$.t = _v$58);
1246
+ _v$59 !== _p$.a && _$setAttribute(_el$67, "aria-label", _p$.a = _v$59);
1231
1247
  return _p$;
1232
1248
  }, {
1233
1249
  e: undefined,
@@ -1235,7 +1251,7 @@ function AppWorkspaceSidebarItem(props) {
1235
1251
  a: undefined
1236
1252
  });
1237
1253
  _$runHydrationEvents();
1238
- return _el$71;
1254
+ return _el$67;
1239
1255
  }
1240
1256
  });
1241
1257
  }
@@ -1536,16 +1552,16 @@ const AppWorkspaceNavTree = props => {
1536
1552
  return rowIcon();
1537
1553
  },
1538
1554
  get children() {
1539
- var _el$73 = _$getNextElement(_tmpl$34),
1540
- _el$74 = _el$73.firstChild;
1541
- _$spread(_el$73, _$mergeProps({
1555
+ var _el$69 = _$getNextElement(_tmpl$36),
1556
+ _el$70 = _el$69.firstChild;
1557
+ _$spread(_el$69, _$mergeProps({
1542
1558
  get ["data-k2b-nav-tree-toggle"]() {
1543
1559
  return usesIconDisclosure() ? "" : undefined;
1544
1560
  }
1545
1561
  }, () => iconAccessibility(item.iconLabel)), false, true);
1546
- _$effect(() => _$className(_el$74, iconClass(rowIcon())));
1562
+ _$effect(() => _$className(_el$70, iconClass(rowIcon())));
1547
1563
  _$runHydrationEvents();
1548
- return _el$73;
1564
+ return _el$69;
1549
1565
  }
1550
1566
  }), _$createComponent(Show, {
1551
1567
  get when() {
@@ -1553,49 +1569,51 @@ const AppWorkspaceNavTree = props => {
1553
1569
  },
1554
1570
  get fallback() {
1555
1571
  return (() => {
1556
- var _el$82 = _$getNextElement(_tmpl$38),
1557
- _el$83 = _el$82.firstChild;
1558
- _$insert(_el$83, () => item.label);
1559
- return _el$82;
1572
+ var _el$78 = _$getNextElement(_tmpl$40),
1573
+ _el$79 = _el$78.firstChild;
1574
+ _$insert(_el$79, () => item.label);
1575
+ _$effect(() => _$setAttribute(_el$78, "data-label", typeof item.label === "string" ? item.label : undefined));
1576
+ return _el$78;
1560
1577
  })();
1561
1578
  },
1562
1579
  get children() {
1563
- var _el$75 = _$getNextElement(_tmpl$35),
1564
- _el$76 = _el$75.firstChild,
1565
- _el$77 = _el$76.firstChild,
1566
- _el$78 = _el$76.nextSibling;
1567
- _$insert(_el$77, () => item.label);
1568
- _$insert(_el$78, () => item.description);
1569
- return _el$75;
1580
+ var _el$71 = _$getNextElement(_tmpl$37),
1581
+ _el$72 = _el$71.firstChild,
1582
+ _el$73 = _el$72.firstChild,
1583
+ _el$74 = _el$72.nextSibling;
1584
+ _$insert(_el$73, () => item.label);
1585
+ _$insert(_el$74, () => item.description);
1586
+ _$effect(() => _$setAttribute(_el$72, "data-label", typeof item.label === "string" ? item.label : undefined));
1587
+ return _el$71;
1570
1588
  }
1571
1589
  }), _$createComponent(Show, {
1572
1590
  get when() {
1573
1591
  return item.meta !== undefined;
1574
1592
  },
1575
1593
  get children() {
1576
- var _el$79 = _$getNextElement(_tmpl$36);
1577
- _$insert(_el$79, () => item.meta);
1594
+ var _el$75 = _$getNextElement(_tmpl$38);
1595
+ _$insert(_el$75, () => item.meta);
1578
1596
  _$effect(_p$ => {
1579
- var _v$61 = `k2b-app-workspace__sidebar-item-meta ${hasChildren() ? "" : "k2b-app-workspace__nav-tree-leaf-meta"}`,
1580
- _v$62 = item.metaVisibility === "hover" ? "hover" : undefined;
1581
- _v$61 !== _p$.e && _$className(_el$79, _p$.e = _v$61);
1582
- _v$62 !== _p$.t && _$setAttribute(_el$79, "data-visibility", _p$.t = _v$62);
1597
+ var _v$63 = `k2b-app-workspace__sidebar-item-meta ${hasChildren() ? "" : "k2b-app-workspace__nav-tree-leaf-meta"}`,
1598
+ _v$64 = item.metaVisibility === "hover" ? "hover" : undefined;
1599
+ _v$63 !== _p$.e && _$className(_el$75, _p$.e = _v$63);
1600
+ _v$64 !== _p$.t && _$setAttribute(_el$75, "data-visibility", _p$.t = _v$64);
1583
1601
  return _p$;
1584
1602
  }, {
1585
1603
  e: undefined,
1586
1604
  t: undefined
1587
1605
  });
1588
- return _el$79;
1606
+ return _el$75;
1589
1607
  }
1590
1608
  }), _$createComponent(Show, {
1591
1609
  get when() {
1592
1610
  return _$memo(() => !!hasChildren())() && !usesIconDisclosure();
1593
1611
  },
1594
1612
  get children() {
1595
- var _el$80 = _$getNextElement(_tmpl$37),
1596
- _el$81 = _el$80.firstChild;
1597
- _$effect(() => _$className(_el$81, `ti ${isExpanded(item.id) ? "ti-chevron-down" : "ti-chevron-right"}`));
1598
- return _el$80;
1613
+ var _el$76 = _$getNextElement(_tmpl$39),
1614
+ _el$77 = _el$76.firstChild;
1615
+ _$effect(() => _$className(_el$77, `ti ${isExpanded(item.id) ? "ti-chevron-down" : "ti-chevron-right"}`));
1616
+ return _el$76;
1599
1617
  }
1600
1618
  })];
1601
1619
  const row = () => _$createComponent(AppWorkspaceSidebarRow, {
@@ -1703,56 +1721,56 @@ const AppWorkspaceNavTree = props => {
1703
1721
  requestMove(target.move, false);
1704
1722
  };
1705
1723
  return (() => {
1706
- var _el$84 = _$getNextElement(_tmpl$40),
1707
- _el$86 = _el$84.firstChild,
1708
- [_el$87, _co$12] = _$getNextMarker(_el$86.nextSibling),
1709
- _el$88 = _el$87.nextSibling,
1710
- [_el$89, _co$13] = _$getNextMarker(_el$88.nextSibling);
1711
- _el$84.addEventListener("drop", onDrop);
1712
- _$addEventListener(_el$84, "dragleave", item.onDragLeave);
1713
- _el$84.addEventListener("dragover", onDragOver);
1714
- _$addEventListener(_el$84, "dragenter", item.onDragEnter);
1715
- _el$84.addEventListener("dragstart", onDragStart);
1716
- _el$84.$$keydown = onKeyDown;
1717
- _el$84.addEventListener("focus", () => setFocusedId(item.id));
1724
+ var _el$80 = _$getNextElement(_tmpl$42),
1725
+ _el$82 = _el$80.firstChild,
1726
+ [_el$83, _co$10] = _$getNextMarker(_el$82.nextSibling),
1727
+ _el$84 = _el$83.nextSibling,
1728
+ [_el$85, _co$11] = _$getNextMarker(_el$84.nextSibling);
1729
+ _el$80.addEventListener("drop", onDrop);
1730
+ _$addEventListener(_el$80, "dragleave", item.onDragLeave);
1731
+ _el$80.addEventListener("dragover", onDragOver);
1732
+ _$addEventListener(_el$80, "dragenter", item.onDragEnter);
1733
+ _el$80.addEventListener("dragstart", onDragStart);
1734
+ _el$80.$$keydown = onKeyDown;
1735
+ _el$80.addEventListener("focus", () => setFocusedId(item.id));
1718
1736
  var _ref$4 = treeItem;
1719
- typeof _ref$4 === "function" ? _$use(_ref$4, _el$84) : treeItem = _el$84;
1720
- _$setAttribute(_el$84, "aria-level", depth + 1);
1721
- _$setAttribute(_el$84, "data-k2b-nav-tree-parent-id", parentId);
1722
- _$insert(_el$84, row, _el$87, _co$12);
1723
- _$insert(_el$84, _$createComponent(Show, {
1737
+ typeof _ref$4 === "function" ? _$use(_ref$4, _el$80) : treeItem = _el$80;
1738
+ _$setAttribute(_el$80, "aria-level", depth + 1);
1739
+ _$setAttribute(_el$80, "data-k2b-nav-tree-parent-id", parentId);
1740
+ _$insert(_el$80, row, _el$83, _co$10);
1741
+ _$insert(_el$80, _$createComponent(Show, {
1724
1742
  get when() {
1725
1743
  return _$memo(() => !!hasChildren())() && isExpanded(item.id);
1726
1744
  },
1727
1745
  get children() {
1728
- var _el$85 = _$getNextElement(_tmpl$39);
1729
- _$insert(_el$85, () => renderItems(nested, depth + 1, item.id));
1730
- return _el$85;
1746
+ var _el$81 = _$getNextElement(_tmpl$41);
1747
+ _$insert(_el$81, () => renderItems(nested, depth + 1, item.id));
1748
+ return _el$81;
1731
1749
  }
1732
- }), _el$89, _co$13);
1750
+ }), _el$85, _co$11);
1733
1751
  _$effect(_p$ => {
1734
- var _v$63 = siblings().length,
1735
- _v$64 = place() + 1,
1736
- _v$65 = selected(),
1737
- _v$66 = hasChildren() ? isExpanded(item.id) : undefined,
1738
- _v$67 = item.disabled ? "true" : undefined,
1739
- _v$68 = item.disabled ? -1 : tabStopId() === item.id ? 0 : -1,
1740
- _v$69 = movable() ? true : undefined,
1741
- _v$70 = item.id,
1742
- _v$71 = dragged()?.id === item.id ? "" : undefined,
1743
- _v$72 = dropTarget()?.id === item.id ? dropTarget().side : undefined,
1744
- _v$73 = String(props.indented === false ? 0 : depth);
1745
- _v$63 !== _p$.e && _$setAttribute(_el$84, "aria-setsize", _p$.e = _v$63);
1746
- _v$64 !== _p$.t && _$setAttribute(_el$84, "aria-posinset", _p$.t = _v$64);
1747
- _v$65 !== _p$.a && _$setAttribute(_el$84, "aria-selected", _p$.a = _v$65);
1748
- _v$66 !== _p$.o && _$setAttribute(_el$84, "aria-expanded", _p$.o = _v$66);
1749
- _v$67 !== _p$.i && _$setAttribute(_el$84, "aria-disabled", _p$.i = _v$67);
1750
- _v$68 !== _p$.n && _$setAttribute(_el$84, "tabindex", _p$.n = _v$68);
1751
- _v$69 !== _p$.s && _$setAttribute(_el$84, "draggable", _p$.s = _v$69);
1752
- _v$70 !== _p$.h && _$setAttribute(_el$84, "data-k2b-nav-tree-id", _p$.h = _v$70);
1753
- _v$71 !== _p$.r && _$setAttribute(_el$84, "data-k2b-nav-tree-dragging", _p$.r = _v$71);
1754
- _v$72 !== _p$.d && _$setAttribute(_el$84, "data-k2b-nav-tree-drop", _p$.d = _v$72);
1755
- _v$73 !== _p$.l && _$setStyleProperty(_el$84, "--k2b-nav-tree-depth", _p$.l = _v$73);
1752
+ var _v$65 = siblings().length,
1753
+ _v$66 = place() + 1,
1754
+ _v$67 = selected(),
1755
+ _v$68 = hasChildren() ? isExpanded(item.id) : undefined,
1756
+ _v$69 = item.disabled ? "true" : undefined,
1757
+ _v$70 = item.disabled ? -1 : tabStopId() === item.id ? 0 : -1,
1758
+ _v$71 = movable() ? true : undefined,
1759
+ _v$72 = item.id,
1760
+ _v$73 = dragged()?.id === item.id ? "" : undefined,
1761
+ _v$74 = dropTarget()?.id === item.id ? dropTarget().side : undefined,
1762
+ _v$75 = String(props.indented === false ? 0 : depth);
1763
+ _v$65 !== _p$.e && _$setAttribute(_el$80, "aria-setsize", _p$.e = _v$65);
1764
+ _v$66 !== _p$.t && _$setAttribute(_el$80, "aria-posinset", _p$.t = _v$66);
1765
+ _v$67 !== _p$.a && _$setAttribute(_el$80, "aria-selected", _p$.a = _v$67);
1766
+ _v$68 !== _p$.o && _$setAttribute(_el$80, "aria-expanded", _p$.o = _v$68);
1767
+ _v$69 !== _p$.i && _$setAttribute(_el$80, "aria-disabled", _p$.i = _v$69);
1768
+ _v$70 !== _p$.n && _$setAttribute(_el$80, "tabindex", _p$.n = _v$70);
1769
+ _v$71 !== _p$.s && _$setAttribute(_el$80, "draggable", _p$.s = _v$71);
1770
+ _v$72 !== _p$.h && _$setAttribute(_el$80, "data-k2b-nav-tree-id", _p$.h = _v$72);
1771
+ _v$73 !== _p$.r && _$setAttribute(_el$80, "data-k2b-nav-tree-dragging", _p$.r = _v$73);
1772
+ _v$74 !== _p$.d && _$setAttribute(_el$80, "data-k2b-nav-tree-drop", _p$.d = _v$74);
1773
+ _v$75 !== _p$.l && _$setStyleProperty(_el$80, "--k2b-nav-tree-depth", _p$.l = _v$75);
1756
1774
  return _p$;
1757
1775
  }, {
1758
1776
  e: undefined,
@@ -1768,7 +1786,7 @@ const AppWorkspaceNavTree = props => {
1768
1786
  l: undefined
1769
1787
  });
1770
1788
  _$runHydrationEvents();
1771
- return _el$84;
1789
+ return _el$80;
1772
1790
  })();
1773
1791
  }
1774
1792
  });
@@ -1793,62 +1811,62 @@ const AppWorkspaceNavTree = props => {
1793
1811
  });
1794
1812
  });
1795
1813
  return (() => {
1796
- var _el$90 = _$getNextElement(_tmpl$41);
1797
- _el$90.addEventListener("dragend", endDrag);
1798
- _el$90.addEventListener("dragleave", event => {
1814
+ var _el$86 = _$getNextElement(_tmpl$43);
1815
+ _el$86.addEventListener("dragend", endDrag);
1816
+ _el$86.addEventListener("dragleave", event => {
1799
1817
  if (!root?.contains(event.relatedTarget)) setDropTarget(null);
1800
1818
  });
1801
- _el$90.addEventListener("dragover", event => {
1819
+ _el$86.addEventListener("dragover", event => {
1802
1820
  // Runs after the rows: a position no row claimed shows no gap.
1803
1821
  if (claimedDragOver !== event) setDropTarget(null);
1804
1822
  });
1805
1823
  var _ref$5 = root;
1806
- typeof _ref$5 === "function" ? _$use(_ref$5, _el$90) : root = _el$90;
1807
- _$insert(_el$90, () => renderItems(roots, 0));
1824
+ typeof _ref$5 === "function" ? _$use(_ref$5, _el$86) : root = _el$86;
1825
+ _$insert(_el$86, () => renderItems(roots, 0));
1808
1826
  _$effect(_p$ => {
1809
- var _v$74 = `k2b-app-workspace__nav-tree ${props.class ?? ""}`,
1810
- _v$75 = props.ariaLabel;
1811
- _v$74 !== _p$.e && _$className(_el$90, _p$.e = _v$74);
1812
- _v$75 !== _p$.t && _$setAttribute(_el$90, "aria-label", _p$.t = _v$75);
1827
+ var _v$76 = `k2b-app-workspace__nav-tree ${props.class ?? ""}`,
1828
+ _v$77 = props.ariaLabel;
1829
+ _v$76 !== _p$.e && _$className(_el$86, _p$.e = _v$76);
1830
+ _v$77 !== _p$.t && _$setAttribute(_el$86, "aria-label", _p$.t = _v$77);
1813
1831
  return _p$;
1814
1832
  }, {
1815
1833
  e: undefined,
1816
1834
  t: undefined
1817
1835
  });
1818
- return _el$90;
1836
+ return _el$86;
1819
1837
  })();
1820
1838
  };
1821
1839
  AppWorkspaceNavTree.Item = AppWorkspaceNavTreeItem;
1822
1840
  const AppWorkspaceSidebarIconGrid = props => (() => {
1823
- var _el$91 = _$getNextElement(_tmpl$42),
1824
- _el$93 = _el$91.firstChild,
1825
- [_el$94, _co$14] = _$getNextMarker(_el$93.nextSibling),
1826
- _el$92 = _el$94.nextSibling;
1827
- _$spread(_el$91, _$mergeProps({
1841
+ var _el$87 = _$getNextElement(_tmpl$44),
1842
+ _el$89 = _el$87.firstChild,
1843
+ [_el$90, _co$12] = _$getNextMarker(_el$89.nextSibling),
1844
+ _el$88 = _el$90.nextSibling;
1845
+ _$spread(_el$87, _$mergeProps({
1828
1846
  get ["class"]() {
1829
1847
  return `k2b-app-workspace__sidebar-icon-grid-wrap ${props.class ?? ""}`;
1830
1848
  }
1831
1849
  }, () => modeAttrs(props.sidebarMode)), false, true);
1832
- _$insert(_el$91, _$createComponent(Show, {
1850
+ _$insert(_el$87, _$createComponent(Show, {
1833
1851
  get when() {
1834
1852
  return props.title;
1835
1853
  },
1836
1854
  children: title => (() => {
1837
- var _el$95 = _$getNextElement(_tmpl$15);
1838
- _$insert(_el$95, title);
1839
- return _el$95;
1855
+ var _el$91 = _$getNextElement(_tmpl$15);
1856
+ _$insert(_el$91, title);
1857
+ return _el$91;
1840
1858
  })()
1841
- }), _el$94, _co$14);
1842
- _$insert(_el$92, () => props.children);
1843
- _$effect(() => _$setAttribute(_el$92, "data-columns", props.columns ?? 2));
1859
+ }), _el$90, _co$12);
1860
+ _$insert(_el$88, () => props.children);
1861
+ _$effect(() => _$setAttribute(_el$88, "data-columns", props.columns ?? 2));
1844
1862
  _$runHydrationEvents();
1845
- return _el$91;
1863
+ return _el$87;
1846
1864
  })();
1847
1865
  const AppWorkspaceSidebarIconAction = props => {
1848
1866
  const content = (() => {
1849
- var _el$96 = _$getNextElement(_tmpl$43);
1850
- _$effect(() => _$className(_el$96, iconClass(props.icon)));
1851
- return _el$96;
1867
+ var _el$92 = _$getNextElement(_tmpl$45);
1868
+ _$effect(() => _$className(_el$92, iconClass(props.icon)));
1869
+ return _el$92;
1852
1870
  })();
1853
1871
  const attrs = () => ({
1854
1872
  class: `k2b-app-workspace__sidebar-icon-action ${props.active ? "is-active" : ""}`,
@@ -1861,8 +1879,8 @@ const AppWorkspaceSidebarIconAction = props => {
1861
1879
  ...modeAttrs(props.sidebarMode)
1862
1880
  });
1863
1881
  if (!props.href || props.disabled) return (() => {
1864
- var _el$97 = _$getNextElement(_tmpl$22);
1865
- _$spread(_el$97, _$mergeProps(attrs, {
1882
+ var _el$93 = _$getNextElement(_tmpl$24);
1883
+ _$spread(_el$93, _$mergeProps(attrs, {
1866
1884
  get disabled() {
1867
1885
  return props.disabled;
1868
1886
  },
@@ -1870,13 +1888,13 @@ const AppWorkspaceSidebarIconAction = props => {
1870
1888
  return props.onClick;
1871
1889
  }
1872
1890
  }), false, true);
1873
- _$insert(_el$97, content);
1891
+ _$insert(_el$93, content);
1874
1892
  _$runHydrationEvents();
1875
- return _el$97;
1893
+ return _el$93;
1876
1894
  })();
1877
1895
  if (props.navigation !== "enhanced" || !props.onNavigate) return (() => {
1878
- var _el$98 = _$getNextElement(_tmpl$23);
1879
- _$spread(_el$98, _$mergeProps({
1896
+ var _el$94 = _$getNextElement(_tmpl$25);
1897
+ _$spread(_el$94, _$mergeProps({
1880
1898
  get href() {
1881
1899
  return props.href;
1882
1900
  }
@@ -1885,9 +1903,9 @@ const AppWorkspaceSidebarIconAction = props => {
1885
1903
  return props.onClick;
1886
1904
  }
1887
1905
  }), false, true);
1888
- _$insert(_el$98, content);
1906
+ _$insert(_el$94, content);
1889
1907
  _$runHydrationEvents();
1890
- return _el$98;
1908
+ return _el$94;
1891
1909
  })();
1892
1910
  return _$createComponent(Link, _$mergeProps({
1893
1911
  get href() {
@@ -1925,12 +1943,12 @@ function AppWorkspaceHead(props) {
1925
1943
  // A nested workspace is part of a page that already shows its title.
1926
1944
  const trail = props.nested ? () => undefined : usePageTrail();
1927
1945
  return (() => {
1928
- var _el$99 = _$getNextElement(_tmpl$45),
1929
- _el$101 = _el$99.firstChild,
1930
- [_el$102, _co$15] = _$getNextMarker(_el$101.nextSibling),
1931
- _el$103 = _el$102.nextSibling,
1932
- [_el$104, _co$16] = _$getNextMarker(_el$103.nextSibling);
1933
- _$insert(_el$99, _$createComponent(IconButton, {
1946
+ var _el$95 = _$getNextElement(_tmpl$47),
1947
+ _el$97 = _el$95.firstChild,
1948
+ [_el$98, _co$13] = _$getNextMarker(_el$97.nextSibling),
1949
+ _el$99 = _el$98.nextSibling,
1950
+ [_el$100, _co$14] = _$getNextMarker(_el$99.nextSibling);
1951
+ _$insert(_el$95, _$createComponent(IconButton, {
1934
1952
  "class": "k2b-app-workspace__head-toggle",
1935
1953
  get label() {
1936
1954
  return messages().showNavigation;
@@ -1941,10 +1959,10 @@ function AppWorkspaceHead(props) {
1941
1959
  "aria-expanded": "false",
1942
1960
  "data-app-workspace-sidebar-toggle": "",
1943
1961
  get children() {
1944
- return _$getNextElement(_tmpl$44);
1962
+ return _$getNextElement(_tmpl$46);
1945
1963
  }
1946
- }), _el$102, _co$15);
1947
- _$insert(_el$99, _$createComponent(Show, {
1964
+ }), _el$98, _co$13);
1965
+ _$insert(_el$95, _$createComponent(Show, {
1948
1966
  get when() {
1949
1967
  return trail();
1950
1968
  },
@@ -1955,14 +1973,14 @@ function AppWorkspaceHead(props) {
1955
1973
  as: "p",
1956
1974
  fallback: true
1957
1975
  }), (() => {
1958
- var _el$105 = _$getNextElement(_tmpl$46);
1959
- _$setAttribute(_el$105, "data-k2b-server", isServer ? "" : undefined);
1960
- _$insert(_el$105, () => current().title);
1961
- return _el$105;
1976
+ var _el$101 = _$getNextElement(_tmpl$48);
1977
+ _$setAttribute(_el$101, "data-k2b-server", isServer ? "" : undefined);
1978
+ _$insert(_el$101, () => current().title);
1979
+ return _el$101;
1962
1980
  })()]
1963
- }), _el$104, _co$16);
1964
- _$effect(() => _$setAttribute(_el$99, "data-trail", trail()?.ancestors.length ? "up" : trail() ? "title" : undefined));
1965
- return _el$99;
1981
+ }), _el$100, _co$14);
1982
+ _$effect(() => _$setAttribute(_el$95, "data-trail", trail()?.ancestors.length ? "up" : trail() ? "title" : undefined));
1983
+ return _el$95;
1966
1984
  })();
1967
1985
  }
1968
1986
  const AppWorkspace = props => {
@@ -1997,31 +2015,31 @@ const AppWorkspace = props => {
1997
2015
  return _$createComponent(WorkspaceContext.Provider, {
1998
2016
  value: workspace,
1999
2017
  get children() {
2000
- var _el$106 = _$getNextElement(_tmpl$47),
2001
- _el$107 = _el$106.firstChild,
2002
- [_el$108, _co$17] = _$getNextMarker(_el$107.nextSibling),
2003
- _el$109 = _el$108.nextSibling,
2004
- [_el$110, _co$18] = _$getNextMarker(_el$109.nextSibling);
2018
+ var _el$102 = _$getNextElement(_tmpl$49),
2019
+ _el$103 = _el$102.firstChild,
2020
+ [_el$104, _co$15] = _$getNextMarker(_el$103.nextSibling),
2021
+ _el$105 = _el$104.nextSibling,
2022
+ [_el$106, _co$16] = _$getNextMarker(_el$105.nextSibling);
2005
2023
  var _ref$6 = root;
2006
- typeof _ref$6 === "function" ? _$use(_ref$6, _el$106) : root = _el$106;
2007
- _$insert(_el$106, _$createComponent(AppWorkspaceHead, {
2024
+ typeof _ref$6 === "function" ? _$use(_ref$6, _el$102) : root = _el$102;
2025
+ _$insert(_el$102, _$createComponent(AppWorkspaceHead, {
2008
2026
  sidebarId: sidebarId,
2009
2027
  nested: nested
2010
- }), _el$108, _co$17);
2011
- _$insert(_el$106, () => props.children, _el$110, _co$18);
2028
+ }), _el$104, _co$15);
2029
+ _$insert(_el$102, () => props.children, _el$106, _co$16);
2012
2030
  _$effect(_p$ => {
2013
- var _v$76 = `k2b-app-workspace ${props.class ?? ""}`,
2014
- _v$77 = props.mobileSurface,
2015
- _v$78 = props.flat ? "true" : undefined,
2016
- _v$79 = initialLayoutState()?.sidebarCollapsed === undefined ? undefined : String(initialLayoutState()?.sidebarCollapsed),
2017
- _v$80 = props.resizable === false ? "false" : "true",
2018
- _v$81 = appWorkspaceLayoutStyle(initialLayoutState());
2019
- _v$76 !== _p$.e && _$className(_el$106, _p$.e = _v$76);
2020
- _v$77 !== _p$.t && _$setAttribute(_el$106, "data-mobile-surface", _p$.t = _v$77);
2021
- _v$78 !== _p$.a && _$setAttribute(_el$106, "data-flat", _p$.a = _v$78);
2022
- _v$79 !== _p$.o && _$setAttribute(_el$106, "data-sidebar-collapsed", _p$.o = _v$79);
2023
- _v$80 !== _p$.i && _$setAttribute(_el$106, "data-workspace-resizable", _p$.i = _v$80);
2024
- _p$.n = _$style(_el$106, _v$81, _p$.n);
2031
+ var _v$78 = `k2b-app-workspace ${props.class ?? ""}`,
2032
+ _v$79 = props.mobileSurface,
2033
+ _v$80 = props.flat ? "true" : undefined,
2034
+ _v$81 = initialLayoutState()?.sidebarCollapsed === undefined ? undefined : String(initialLayoutState()?.sidebarCollapsed),
2035
+ _v$82 = props.resizable === false ? "false" : "true",
2036
+ _v$83 = appWorkspaceLayoutStyle(initialLayoutState());
2037
+ _v$78 !== _p$.e && _$className(_el$102, _p$.e = _v$78);
2038
+ _v$79 !== _p$.t && _$setAttribute(_el$102, "data-mobile-surface", _p$.t = _v$79);
2039
+ _v$80 !== _p$.a && _$setAttribute(_el$102, "data-flat", _p$.a = _v$80);
2040
+ _v$81 !== _p$.o && _$setAttribute(_el$102, "data-sidebar-collapsed", _p$.o = _v$81);
2041
+ _v$82 !== _p$.i && _$setAttribute(_el$102, "data-workspace-resizable", _p$.i = _v$82);
2042
+ _p$.n = _$style(_el$102, _v$83, _p$.n);
2025
2043
  return _p$;
2026
2044
  }, {
2027
2045
  e: undefined,
@@ -2031,7 +2049,7 @@ const AppWorkspace = props => {
2031
2049
  i: undefined,
2032
2050
  n: undefined
2033
2051
  });
2034
- return _el$106;
2052
+ return _el$102;
2035
2053
  }
2036
2054
  });
2037
2055
  }
@@ -2046,10 +2064,10 @@ AppWorkspace.LayoutStateProvider = props => _$createComponent(LayoutStateContext
2046
2064
  }
2047
2065
  });
2048
2066
  AppWorkspace.Content = props => (() => {
2049
- var _el$111 = _$getNextElement(_tmpl$2);
2050
- _$insert(_el$111, () => props.children);
2051
- _$effect(() => _$className(_el$111, `k2b-app-workspace__content ${props.class ?? ""}`));
2052
- return _el$111;
2067
+ var _el$107 = _$getNextElement(_tmpl$2);
2068
+ _$insert(_el$107, () => props.children);
2069
+ _$effect(() => _$className(_el$107, `k2b-app-workspace__content ${props.class ?? ""}`));
2070
+ return _el$107;
2053
2071
  })();
2054
2072
  AppWorkspace.Main = AppWorkspaceMain;
2055
2073
  AppWorkspace.MainPane = AppWorkspaceMainPane;