@k2b/ui 0.28.0 → 0.29.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 (176) hide show
  1. package/dist/browser/actions/ContextMenu.js +5 -0
  2. package/dist/browser/actions/ContextMenu.js.map +1 -1
  3. package/dist/browser/actions/DragAndDrop.js +89 -0
  4. package/dist/browser/actions/DragAndDrop.js.map +1 -0
  5. package/dist/browser/actions/GestureMenu.js +26 -3
  6. package/dist/browser/actions/GestureMenu.js.map +1 -1
  7. package/dist/browser/actions/drag-and-drop-messages.js +75 -0
  8. package/dist/browser/actions/drag-and-drop-messages.js.map +1 -0
  9. package/dist/browser/actions/drag-and-drop.js +692 -0
  10. package/dist/browser/actions/drag-and-drop.js.map +1 -0
  11. package/dist/browser/actions/index.js +1 -0
  12. package/dist/browser/actions/index.js.map +1 -1
  13. package/dist/browser/chat/ChatComposer.js +385 -265
  14. package/dist/browser/chat/ChatComposer.js.map +1 -1
  15. package/dist/browser/chat/ChatDecision.js +778 -0
  16. package/dist/browser/chat/ChatDecision.js.map +1 -0
  17. package/dist/browser/chat/ChatPrimitives.js +34 -28
  18. package/dist/browser/chat/ChatPrimitives.js.map +1 -1
  19. package/dist/browser/chat/ChatTimeline.js.map +1 -1
  20. package/dist/browser/chat/chat-messages.js +6 -0
  21. package/dist/browser/chat/chat-messages.js.map +1 -1
  22. package/dist/browser/chat/command-search.js +10 -3
  23. package/dist/browser/chat/command-search.js.map +1 -1
  24. package/dist/browser/chat/index.js +6 -1
  25. package/dist/browser/chat/index.js.map +1 -1
  26. package/dist/browser/chat/types.js.map +1 -1
  27. package/dist/browser/content/Calendar.js +3 -3
  28. package/dist/browser/content/Calendar.js.map +1 -1
  29. package/dist/browser/content/Chart.js +54 -71
  30. package/dist/browser/content/Chart.js.map +1 -1
  31. package/dist/browser/content/FileBrowser.js +2 -2
  32. package/dist/browser/content/FileBrowser.js.map +1 -1
  33. package/dist/browser/content/FileTree.js +42 -36
  34. package/dist/browser/content/FileTree.js.map +1 -1
  35. package/dist/browser/content/FileTypeIcon.js +72 -0
  36. package/dist/browser/content/FileTypeIcon.js.map +1 -0
  37. package/dist/browser/content/FileView.js +2 -2
  38. package/dist/browser/content/FileView.js.map +1 -1
  39. package/dist/browser/content/ReferenceChip.js +162 -0
  40. package/dist/browser/content/ReferenceChip.js.map +1 -0
  41. package/dist/browser/content/calendar-pointer.js +9 -0
  42. package/dist/browser/content/calendar-pointer.js.map +1 -1
  43. package/dist/browser/content/calendar-time-view.js +6 -3
  44. package/dist/browser/content/calendar-time-view.js.map +1 -1
  45. package/dist/browser/content/index.js +2 -0
  46. package/dist/browser/content/index.js.map +1 -1
  47. package/dist/browser/layout/AppOverview.js +1 -1
  48. package/dist/browser/layout/AppOverview.js.map +1 -1
  49. package/dist/browser/layout/AppWorkspace.js +644 -445
  50. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  51. package/dist/browser/layout/PanelDialog.js +88 -86
  52. package/dist/browser/layout/PanelDialog.js.map +1 -1
  53. package/dist/browser/layout/ResizeSeparator.js +81 -0
  54. package/dist/browser/layout/ResizeSeparator.js.map +1 -0
  55. package/dist/browser/layout/SidebarSwitcher.js +9 -2
  56. package/dist/browser/layout/SidebarSwitcher.js.map +1 -1
  57. package/dist/browser/layout/TabBar.js +15 -12
  58. package/dist/browser/layout/TabBar.js.map +1 -1
  59. package/dist/browser/layout/app-workspace-controller.js +130 -17
  60. package/dist/browser/layout/app-workspace-controller.js.map +1 -1
  61. package/dist/browser/layout/index.js +3 -1
  62. package/dist/browser/layout/index.js.map +1 -1
  63. package/dist/browser/layout/resize-separator.js +90 -0
  64. package/dist/browser/layout/resize-separator.js.map +1 -0
  65. package/dist/browser/layout/workspace-messages.js +12 -2
  66. package/dist/browser/layout/workspace-messages.js.map +1 -1
  67. package/dist/browser/surfaces/LinkCard.js +1 -1
  68. package/dist/browser/surfaces/LinkCard.js.map +1 -1
  69. package/dist/browser/surfaces/Placeholder.js +14 -3
  70. package/dist/browser/surfaces/Placeholder.js.map +1 -1
  71. package/dist/browser/surfaces/StatCell.js +23 -0
  72. package/dist/browser/surfaces/StatCell.js.map +1 -1
  73. package/dist/browser/widgets/Widget.js +1 -1
  74. package/dist/browser/widgets/Widget.js.map +1 -1
  75. package/dist/ssr/actions/ContextMenu.js +5 -0
  76. package/dist/ssr/actions/ContextMenu.js.map +1 -1
  77. package/dist/ssr/actions/DragAndDrop.js +63 -0
  78. package/dist/ssr/actions/DragAndDrop.js.map +1 -0
  79. package/dist/ssr/actions/GestureMenu.js +26 -3
  80. package/dist/ssr/actions/GestureMenu.js.map +1 -1
  81. package/dist/ssr/actions/drag-and-drop-messages.js +75 -0
  82. package/dist/ssr/actions/drag-and-drop-messages.js.map +1 -0
  83. package/dist/ssr/actions/drag-and-drop.js +692 -0
  84. package/dist/ssr/actions/drag-and-drop.js.map +1 -0
  85. package/dist/ssr/actions/index.js +1 -0
  86. package/dist/ssr/actions/index.js.map +1 -1
  87. package/dist/ssr/chat/ChatComposer.js +131 -14
  88. package/dist/ssr/chat/ChatComposer.js.map +1 -1
  89. package/dist/ssr/chat/ChatDecision.js +465 -0
  90. package/dist/ssr/chat/ChatDecision.js.map +1 -0
  91. package/dist/ssr/chat/ChatPrimitives.js +2 -2
  92. package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
  93. package/dist/ssr/chat/ChatTimeline.js.map +1 -1
  94. package/dist/ssr/chat/chat-messages.js +6 -0
  95. package/dist/ssr/chat/chat-messages.js.map +1 -1
  96. package/dist/ssr/chat/command-search.js +10 -3
  97. package/dist/ssr/chat/command-search.js.map +1 -1
  98. package/dist/ssr/chat/index.js +6 -1
  99. package/dist/ssr/chat/index.js.map +1 -1
  100. package/dist/ssr/chat/types.js.map +1 -1
  101. package/dist/ssr/content/Calendar.js +3 -3
  102. package/dist/ssr/content/Calendar.js.map +1 -1
  103. package/dist/ssr/content/Chart.js +19 -23
  104. package/dist/ssr/content/Chart.js.map +1 -1
  105. package/dist/ssr/content/FileBrowser.js +2 -2
  106. package/dist/ssr/content/FileBrowser.js.map +1 -1
  107. package/dist/ssr/content/FileTree.js +21 -14
  108. package/dist/ssr/content/FileTree.js.map +1 -1
  109. package/dist/ssr/content/FileTypeIcon.js +50 -0
  110. package/dist/ssr/content/FileTypeIcon.js.map +1 -0
  111. package/dist/ssr/content/FileView.js +2 -2
  112. package/dist/ssr/content/FileView.js.map +1 -1
  113. package/dist/ssr/content/ReferenceChip.js +121 -0
  114. package/dist/ssr/content/ReferenceChip.js.map +1 -0
  115. package/dist/ssr/content/calendar-pointer.js +9 -0
  116. package/dist/ssr/content/calendar-pointer.js.map +1 -1
  117. package/dist/ssr/content/calendar-time-view.js +6 -3
  118. package/dist/ssr/content/calendar-time-view.js.map +1 -1
  119. package/dist/ssr/content/index.js +2 -0
  120. package/dist/ssr/content/index.js.map +1 -1
  121. package/dist/ssr/layout/AppOverview.js +1 -1
  122. package/dist/ssr/layout/AppOverview.js.map +1 -1
  123. package/dist/ssr/layout/AppWorkspace.js +272 -95
  124. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  125. package/dist/ssr/layout/PanelDialog.js +7 -6
  126. package/dist/ssr/layout/PanelDialog.js.map +1 -1
  127. package/dist/ssr/layout/ResizeSeparator.js +45 -0
  128. package/dist/ssr/layout/ResizeSeparator.js.map +1 -0
  129. package/dist/ssr/layout/SidebarSwitcher.js +9 -2
  130. package/dist/ssr/layout/SidebarSwitcher.js.map +1 -1
  131. package/dist/ssr/layout/TabBar.js +1 -1
  132. package/dist/ssr/layout/TabBar.js.map +1 -1
  133. package/dist/ssr/layout/app-workspace-controller.js +130 -17
  134. package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
  135. package/dist/ssr/layout/index.js +3 -1
  136. package/dist/ssr/layout/index.js.map +1 -1
  137. package/dist/ssr/layout/resize-separator.js +90 -0
  138. package/dist/ssr/layout/resize-separator.js.map +1 -0
  139. package/dist/ssr/layout/workspace-messages.js +12 -2
  140. package/dist/ssr/layout/workspace-messages.js.map +1 -1
  141. package/dist/ssr/surfaces/LinkCard.js +1 -1
  142. package/dist/ssr/surfaces/LinkCard.js.map +1 -1
  143. package/dist/ssr/surfaces/Placeholder.js +4 -2
  144. package/dist/ssr/surfaces/Placeholder.js.map +1 -1
  145. package/dist/ssr/surfaces/StatCell.js +23 -0
  146. package/dist/ssr/surfaces/StatCell.js.map +1 -1
  147. package/dist/ssr/widgets/Widget.js +1 -1
  148. package/dist/ssr/widgets/Widget.js.map +1 -1
  149. package/dist/styles.css +1 -1
  150. package/dist/types/actions/ContextMenu.d.ts +1 -0
  151. package/dist/types/actions/DragAndDrop.d.ts +29 -0
  152. package/dist/types/actions/drag-and-drop-messages.d.ts +35 -0
  153. package/dist/types/actions/drag-and-drop.d.ts +36 -0
  154. package/dist/types/actions/index.d.ts +2 -0
  155. package/dist/types/chat/ChatComposer.d.ts +19 -1
  156. package/dist/types/chat/ChatDecision.d.ts +133 -0
  157. package/dist/types/chat/ChatPrimitives.d.ts +4 -1
  158. package/dist/types/chat/ChatTimeline.d.ts +2 -1
  159. package/dist/types/chat/chat-messages.d.ts +3 -0
  160. package/dist/types/chat/command-search.d.ts +3 -0
  161. package/dist/types/chat/index.d.ts +23 -1
  162. package/dist/types/chat/types.d.ts +54 -1
  163. package/dist/types/content/Chart.d.ts +9 -3
  164. package/dist/types/content/FileTypeIcon.d.ts +27 -0
  165. package/dist/types/content/ReferenceChip.d.ts +49 -0
  166. package/dist/types/content/calendar-pointer.d.ts +6 -0
  167. package/dist/types/content/index.d.ts +3 -0
  168. package/dist/types/layout/AppWorkspace.d.ts +5 -3
  169. package/dist/types/layout/ResizeSeparator.d.ts +9 -0
  170. package/dist/types/layout/TabBar.d.ts +7 -0
  171. package/dist/types/layout/app-workspace-controller.d.ts +2 -0
  172. package/dist/types/layout/index.d.ts +3 -1
  173. package/dist/types/layout/resize-separator.d.ts +18 -0
  174. package/dist/types/layout/workspace-messages.d.ts +5 -0
  175. package/dist/types/surfaces/StatCell.d.ts +6 -0
  176. package/package.json +2 -2
@@ -26,58 +26,64 @@ var _tmpl$ = /*#__PURE__*/_$template(`<button type=button class=k2b-app-workspac
26
26
  _tmpl$8 = /*#__PURE__*/_$template(`<i class="ti ti-chevron-left"aria-hidden=true>`),
27
27
  _tmpl$9 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__level-body>`),
28
28
  _tmpl$0 = /*#__PURE__*/_$template(`<style>`),
29
- _tmpl$1 = /*#__PURE__*/_$template(`<aside><button type=button class=k2b-app-workspace__detail-grabber aria-pressed=false><span aria-hidden=true></span></button><!$><!/>`),
30
- _tmpl$10 = /*#__PURE__*/_$template(`<aside>`),
31
- _tmpl$11 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__sidebar-desktop>`),
32
- _tmpl$12 = /*#__PURE__*/_$template(`<script>`),
33
- _tmpl$13 = /*#__PURE__*/_$template(`<footer>`),
34
- _tmpl$14 = /*#__PURE__*/_$template(`<span aria-hidden=true><i>`),
35
- _tmpl$15 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-section-count>`),
36
- _tmpl$16 = /*#__PURE__*/_$template(`<button type=button class=k2b-app-workspace__sidebar-section-toggle><!$><!/><i aria-hidden=true>`),
37
- _tmpl$17 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__sidebar-section-actions>`),
38
- _tmpl$18 = /*#__PURE__*/_$template(`<header class=k2b-app-workspace__sidebar-section-header><!$><!/><!$><!/>`),
39
- _tmpl$19 = /*#__PURE__*/_$template(`<section><!$><!/><div class=k2b-app-workspace__sidebar-section-content>`),
40
- _tmpl$20 = /*#__PURE__*/_$template(`<h2>`),
41
- _tmpl$21 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__sidebar-item-actions>`),
42
- _tmpl$22 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-mention aria-hidden=true>@`),
43
- _tmpl$23 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-muted aria-hidden=true><i class="ti ti-bell-off">`),
44
- _tmpl$24 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-count>`),
45
- _tmpl$25 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-unread aria-hidden=true>`),
46
- _tmpl$26 = /*#__PURE__*/_$template(`<span class=k2b-sr-only>, <!$><!/>`),
47
- _tmpl$27 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status>`),
48
- _tmpl$28 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-dot>`),
49
- _tmpl$29 = /*#__PURE__*/_$template(`<button type=button>`),
50
- _tmpl$30 = /*#__PURE__*/_$template(`<a>`),
51
- _tmpl$31 = /*#__PURE__*/_$template(`<div><!$><!/><!$><!/>`),
52
- _tmpl$32 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-icon aria-hidden=true>`),
53
- _tmpl$33 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-context-meta>`),
54
- _tmpl$34 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-context><span class=k2b-app-workspace__sidebar-item-context-label></span><!$><!/>`),
55
- _tmpl$35 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-description>`),
56
- _tmpl$36 = /*#__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><!$><!/>`),
57
- _tmpl$37 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-meta>`),
58
- _tmpl$38 = /*#__PURE__*/_$template(`<i>`),
59
- _tmpl$39 = /*#__PURE__*/_$template(`<a class=k2b-app-workspace__sidebar-item-action>`),
60
- _tmpl$40 = /*#__PURE__*/_$template(`<button type=button class=k2b-app-workspace__sidebar-item-action>`),
61
- _tmpl$41 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-icon><i>`),
62
- _tmpl$42 = /*#__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>`),
63
- _tmpl$43 = /*#__PURE__*/_$template(`<span>`),
64
- _tmpl$44 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__nav-tree-toggle data-k2b-nav-tree-toggle aria-hidden=true><i>`),
65
- _tmpl$45 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-label><span class=k2b-app-workspace__sidebar-item-label-text>`),
66
- _tmpl$46 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__nav-tree-group role=group>`),
67
- _tmpl$47 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__nav-tree-node role=treeitem><!$><!/><!$><!/>`),
68
- _tmpl$48 = /*#__PURE__*/_$template(`<div role=tree>`),
69
- _tmpl$49 = /*#__PURE__*/_$template(`<section><!$><!/><div class=k2b-app-workspace__sidebar-icon-grid>`),
70
- _tmpl$50 = /*#__PURE__*/_$template(`<i aria-hidden=true>`),
71
- _tmpl$51 = /*#__PURE__*/_$template(`<i class="ti ti-layout-sidebar"aria-hidden=true>`),
72
- _tmpl$52 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head><!$><!/><!$><!/>`),
73
- _tmpl$53 = /*#__PURE__*/_$template(`<h1 class=k2b-app-workspace__head-heading data-k2b-page-trail-title>`),
74
- _tmpl$54 = /*#__PURE__*/_$template(`<div data-k2b-app-workspace><!$><!/><!$><!/>`);
29
+ _tmpl$1 = /*#__PURE__*/_$template(`<i class="ti ti-layout-sidebar-right"aria-hidden=true>`),
30
+ _tmpl$10 = /*#__PURE__*/_$template(`<aside><button type=button class=k2b-app-workspace__detail-grabber aria-pressed=false><span aria-hidden=true></span></button><!$><!/>`),
31
+ _tmpl$11 = /*#__PURE__*/_$template(`<aside>`),
32
+ _tmpl$12 = /*#__PURE__*/_$template(`<nav class=k2b-app-workspace__sidebar-sheet>`),
33
+ _tmpl$13 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__sidebar-desktop>`),
34
+ _tmpl$14 = /*#__PURE__*/_$template(`<button type=button class=k2b-app-workspace__sidebar-all aria-haspopup=dialog><span></span><i class="ti ti-chevron-down"aria-hidden=true>`),
35
+ _tmpl$15 = /*#__PURE__*/_$template(`<script>`),
36
+ _tmpl$16 = /*#__PURE__*/_$template(`<footer>`),
37
+ _tmpl$17 = /*#__PURE__*/_$template(`<span aria-hidden=true><i>`),
38
+ _tmpl$18 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-section-count>`),
39
+ _tmpl$19 = /*#__PURE__*/_$template(`<button type=button class=k2b-app-workspace__sidebar-section-toggle><!$><!/><i aria-hidden=true>`),
40
+ _tmpl$20 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__sidebar-section-actions>`),
41
+ _tmpl$21 = /*#__PURE__*/_$template(`<header class=k2b-app-workspace__sidebar-section-header><!$><!/><!$><!/>`),
42
+ _tmpl$22 = /*#__PURE__*/_$template(`<section><!$><!/><div class=k2b-app-workspace__sidebar-section-content>`),
43
+ _tmpl$23 = /*#__PURE__*/_$template(`<h2>`),
44
+ _tmpl$24 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__sidebar-item-actions>`),
45
+ _tmpl$25 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-mention aria-hidden=true>@`),
46
+ _tmpl$26 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-muted aria-hidden=true><i class="ti ti-bell-off">`),
47
+ _tmpl$27 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-count>`),
48
+ _tmpl$28 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-unread aria-hidden=true>`),
49
+ _tmpl$29 = /*#__PURE__*/_$template(`<span class=k2b-sr-only>, <!$><!/>`),
50
+ _tmpl$30 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status>`),
51
+ _tmpl$31 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-dot>`),
52
+ _tmpl$32 = /*#__PURE__*/_$template(`<button type=button>`),
53
+ _tmpl$33 = /*#__PURE__*/_$template(`<a>`),
54
+ _tmpl$34 = /*#__PURE__*/_$template(`<div><!$><!/><!$><!/>`),
55
+ _tmpl$35 = /*#__PURE__*/_$template(`<span aria-hidden=true>`),
56
+ _tmpl$36 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-context-meta>`),
57
+ _tmpl$37 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-context><span class=k2b-app-workspace__sidebar-item-context-label></span><!$><!/>`),
58
+ _tmpl$38 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-description>`),
59
+ _tmpl$39 = /*#__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><!$><!/>`),
60
+ _tmpl$40 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-meta>`),
61
+ _tmpl$41 = /*#__PURE__*/_$template(`<i>`),
62
+ _tmpl$42 = /*#__PURE__*/_$template(`<a class=k2b-app-workspace__sidebar-item-action>`),
63
+ _tmpl$43 = /*#__PURE__*/_$template(`<button type=button class=k2b-app-workspace__sidebar-item-action>`),
64
+ _tmpl$44 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-icon><i>`),
65
+ _tmpl$45 = /*#__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>`),
66
+ _tmpl$46 = /*#__PURE__*/_$template(`<span>`),
67
+ _tmpl$47 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__nav-tree-toggle data-k2b-nav-tree-toggle aria-hidden=true><i>`),
68
+ _tmpl$48 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-label><span class=k2b-app-workspace__sidebar-item-label-text>`),
69
+ _tmpl$49 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__nav-tree-group role=group>`),
70
+ _tmpl$50 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__nav-tree-node role=treeitem><!$><!/><!$><!/>`),
71
+ _tmpl$51 = /*#__PURE__*/_$template(`<div role=tree>`),
72
+ _tmpl$52 = /*#__PURE__*/_$template(`<section><!$><!/><div class=k2b-app-workspace__sidebar-icon-grid>`),
73
+ _tmpl$53 = /*#__PURE__*/_$template(`<i aria-hidden=true>`),
74
+ _tmpl$54 = /*#__PURE__*/_$template(`<i class="ti ti-layout-sidebar"aria-hidden=true>`),
75
+ _tmpl$55 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head><!$><!/><!$><!/>`),
76
+ _tmpl$56 = /*#__PURE__*/_$template(`<h1 class=k2b-app-workspace__head-heading data-k2b-page-trail-title>`),
77
+ _tmpl$57 = /*#__PURE__*/_$template(`<div data-k2b-app-workspace><!$><!/><!$><!/>`);
75
78
  import { Link } from "@k2b/ssr/nav";
76
- import { children, createContext, createEffect, createMemo, createSignal, createUniqueId, For, mergeProps, on, onCleanup, onMount, Show, useContext } from "solid-js";
77
- import { isServer } from "solid-js/web";
78
- import { IconButton, IconButtonLink } from "../actions/Button";
79
+ import { children, createContext, createEffect, createMemo, createRoot, createSignal, createUniqueId, For, getOwner, mergeProps, on, onCleanup, onMount, Show, useContext } from "solid-js";
80
+ import { Dynamic, isServer } from "solid-js/web";
81
+ import { Button, IconButton, IconButtonLink } from "../actions/Button";
82
+ import { dialogCore } from "../feedback/dialog-core";
83
+ import { RenderErrorBoundary } from "../internal/render-error";
79
84
  import { APP_WORKSPACE_DETAIL_CLOSE_EVENT, APP_WORKSPACE_DETAIL_STEP_EVENT, APP_WORKSPACE_SIDEBAR_HIDE_EVENT, installAppWorkspaceController } from "./app-workspace-controller";
80
85
  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";
86
+ import BottomSheet, { bottomSheetAdaptiveOptions } from "./BottomSheet";
81
87
  import { PageTitle, usePageTrail } from "./PageTitle";
82
88
  import { SidebarItemPreview } from "./SidebarItemPreview";
83
89
  import { AppWorkspaceSidebarSwitcher } from "./SidebarSwitcher";
@@ -621,7 +627,19 @@ function AppWorkspaceDetail(props) {
621
627
  var _el$16 = _$getNextElement(_tmpl$0);
622
628
  _$effect(() => _$setProperty(_el$16, "innerHTML", workspaceRule()));
623
629
  return _el$16;
624
- })(), _$createComponent(Show, {
630
+ })(), _$createComponent(Button, {
631
+ type: "button",
632
+ variant: "ghost",
633
+ get ["aria-controls"]() {
634
+ return domId();
635
+ },
636
+ "aria-expanded": "false",
637
+ "data-app-workspace-detail-toggle": "",
638
+ "class": "k2b-app-workspace__detail-toggle",
639
+ get children() {
640
+ return [_$getNextElement(_tmpl$1), _$memo(() => workspaceMessages().details)];
641
+ }
642
+ }), _$createComponent(Show, {
625
643
  get when() {
626
644
  return resizable();
627
645
  },
@@ -650,13 +668,13 @@ function AppWorkspaceDetail(props) {
650
668
  });
651
669
  }
652
670
  }), (() => {
653
- var _el$17 = _$getNextElement(_tmpl$1),
654
- _el$18 = _el$17.firstChild,
655
- _el$19 = _el$18.nextSibling,
656
- [_el$20, _co$4] = _$getNextMarker(_el$19.nextSibling);
671
+ var _el$18 = _$getNextElement(_tmpl$10),
672
+ _el$19 = _el$18.firstChild,
673
+ _el$20 = _el$19.nextSibling,
674
+ [_el$21, _co$4] = _$getNextMarker(_el$20.nextSibling);
657
675
  var _ref$2 = aside;
658
- typeof _ref$2 === "function" ? _$use(_ref$2, _el$17) : aside = _el$17;
659
- _$insert(_el$17, () => props.children, _el$20, _co$4);
676
+ typeof _ref$2 === "function" ? _$use(_ref$2, _el$18) : aside = _el$18;
677
+ _$insert(_el$18, () => props.children, _el$21, _co$4);
660
678
  _$effect(_p$ => {
661
679
  var _v$30 = domId(),
662
680
  _v$31 = `k2b-app-workspace__detail ${props.class ?? ""}`,
@@ -672,17 +690,17 @@ function AppWorkspaceDetail(props) {
672
690
  "view-transition-name": props.viewTransitionName
673
691
  },
674
692
  _v$40 = workspaceMessages().detailFullHeight;
675
- _v$30 !== _p$.e && _$setAttribute(_el$17, "id", _p$.e = _v$30);
676
- _v$31 !== _p$.t && _$className(_el$17, _p$.t = _v$31);
677
- _v$32 !== _p$.a && _$setAttribute(_el$17, "data-width", _p$.a = _v$32);
678
- _v$33 !== _p$.o && _$setAttribute(_el$17, "data-workspace-detail-phone", _p$.o = _v$33);
679
- _v$34 !== _p$.i && _$setAttribute(_el$17, "data-workspace-panel-id", _p$.i = _v$34);
680
- _v$35 !== _p$.n && _$setAttribute(_el$17, "data-workspace-resizable", _p$.n = _v$35);
681
- _v$36 !== _p$.s && _$setAttribute(_el$17, "data-workspace-detail-closable", _p$.s = _v$36);
682
- _v$37 !== _p$.h && _$setAttribute(_el$17, "data-workspace-detail-steppable", _p$.h = _v$37);
683
- _v$38 !== _p$.r && _$setProperty(_el$17, "hidden", _p$.r = _v$38);
684
- _p$.d = _$style(_el$17, _v$39, _p$.d);
685
- _v$40 !== _p$.l && _$setAttribute(_el$18, "aria-label", _p$.l = _v$40);
693
+ _v$30 !== _p$.e && _$setAttribute(_el$18, "id", _p$.e = _v$30);
694
+ _v$31 !== _p$.t && _$className(_el$18, _p$.t = _v$31);
695
+ _v$32 !== _p$.a && _$setAttribute(_el$18, "data-width", _p$.a = _v$32);
696
+ _v$33 !== _p$.o && _$setAttribute(_el$18, "data-workspace-detail-phone", _p$.o = _v$33);
697
+ _v$34 !== _p$.i && _$setAttribute(_el$18, "data-workspace-panel-id", _p$.i = _v$34);
698
+ _v$35 !== _p$.n && _$setAttribute(_el$18, "data-workspace-resizable", _p$.n = _v$35);
699
+ _v$36 !== _p$.s && _$setAttribute(_el$18, "data-workspace-detail-closable", _p$.s = _v$36);
700
+ _v$37 !== _p$.h && _$setAttribute(_el$18, "data-workspace-detail-steppable", _p$.h = _v$37);
701
+ _v$38 !== _p$.r && _$setProperty(_el$18, "hidden", _p$.r = _v$38);
702
+ _p$.d = _$style(_el$18, _v$39, _p$.d);
703
+ _v$40 !== _p$.l && _$setAttribute(_el$19, "aria-label", _p$.l = _v$40);
686
704
  return _p$;
687
705
  }, {
688
706
  e: undefined,
@@ -697,7 +715,7 @@ function AppWorkspaceDetail(props) {
697
715
  d: undefined,
698
716
  l: undefined
699
717
  });
700
- return _el$17;
718
+ return _el$18;
701
719
  })()];
702
720
  }
703
721
  function AppWorkspaceBottomDrawer(props) {
@@ -747,8 +765,8 @@ function AppWorkspaceBottomDrawer(props) {
747
765
  });
748
766
  }
749
767
  }), (() => {
750
- var _el$21 = _$getNextElement(_tmpl$10);
751
- _$insert(_el$21, () => props.children);
768
+ var _el$22 = _$getNextElement(_tmpl$11);
769
+ _$insert(_el$22, () => props.children);
752
770
  _$effect(_p$ => {
753
771
  var _v$41 = domId(),
754
772
  _v$42 = `k2b-app-workspace__drawer ${props.class ?? ""}`,
@@ -758,14 +776,14 @@ function AppWorkspaceBottomDrawer(props) {
758
776
  _v$46 = !props.open,
759
777
  _v$47 = `var(${variable()}, ${defaultHeight()}px)`,
760
778
  _v$48 = props.viewTransitionName;
761
- _v$41 !== _p$.e && _$setAttribute(_el$21, "id", _p$.e = _v$41);
762
- _v$42 !== _p$.t && _$className(_el$21, _p$.t = _v$42);
763
- _v$43 !== _p$.a && _$setAttribute(_el$21, "data-height", _p$.a = _v$43);
764
- _v$44 !== _p$.o && _$setAttribute(_el$21, "data-workspace-panel-id", _p$.o = _v$44);
765
- _v$45 !== _p$.i && _$setAttribute(_el$21, "data-workspace-resizable", _p$.i = _v$45);
766
- _v$46 !== _p$.n && _$setProperty(_el$21, "hidden", _p$.n = _v$46);
767
- _v$47 !== _p$.s && _$setStyleProperty(_el$21, "--k2b-workspace-panel-size", _p$.s = _v$47);
768
- _v$48 !== _p$.h && _$setStyleProperty(_el$21, "view-transition-name", _p$.h = _v$48);
779
+ _v$41 !== _p$.e && _$setAttribute(_el$22, "id", _p$.e = _v$41);
780
+ _v$42 !== _p$.t && _$className(_el$22, _p$.t = _v$42);
781
+ _v$43 !== _p$.a && _$setAttribute(_el$22, "data-height", _p$.a = _v$43);
782
+ _v$44 !== _p$.o && _$setAttribute(_el$22, "data-workspace-panel-id", _p$.o = _v$44);
783
+ _v$45 !== _p$.i && _$setAttribute(_el$22, "data-workspace-resizable", _p$.i = _v$45);
784
+ _v$46 !== _p$.n && _$setProperty(_el$22, "hidden", _p$.n = _v$46);
785
+ _v$47 !== _p$.s && _$setStyleProperty(_el$22, "--k2b-workspace-panel-size", _p$.s = _v$47);
786
+ _v$48 !== _p$.h && _$setStyleProperty(_el$22, "view-transition-name", _p$.h = _v$48);
769
787
  return _p$;
770
788
  }, {
771
789
  e: undefined,
@@ -777,7 +795,7 @@ function AppWorkspaceBottomDrawer(props) {
777
795
  s: undefined,
778
796
  h: undefined
779
797
  });
780
- return _el$21;
798
+ return _el$22;
781
799
  })()];
782
800
  }
783
801
  function AppWorkspaceSidebar(props) {
@@ -796,56 +814,210 @@ function AppWorkspaceSidebar(props) {
796
814
  const resolved = children(() => props.hidden ? undefined : props.children);
797
815
  const slots = createMemo(() => flatten(resolved()).filter(sidebarChildSlot));
798
816
  const desktop = createMemo(() => slots().find(slot => slot.kind === SIDEBAR_DESKTOP));
817
+ const stacked = () => props.mobile === "stacked";
818
+ const workspaceMessages = useWorkspaceMessages();
819
+ const owner = getOwner();
820
+ const [sheetOpen, setSheetOpen] = createSignal(false);
799
821
  let aside;
822
+ let row;
823
+ // Fades mark the row's cut edges; the sidebar column never scrolls sideways, so it never shows one.
824
+ createScrollFade(() => row, () => stacked());
800
825
  onMount(() => {
801
826
  const requestHide = () => props.onHiddenChange?.(true);
802
827
  aside?.addEventListener(APP_WORKSPACE_SIDEBAR_HIDE_EVENT, requestHide);
803
828
  onCleanup(() => aside?.removeEventListener(APP_WORKSPACE_SIDEBAR_HIDE_EVENT, requestHide));
829
+ // A client-rendered row settles here; server markup settled in its inline script.
830
+ if (stacked() && row) settleChipRow(row, scrollFadeEdges);
804
831
  });
805
- return [(() => {
806
- var _el$22 = _$getNextElement(_tmpl$10);
807
- var _ref$3 = aside;
808
- typeof _ref$3 === "function" ? _$use(_ref$3, _el$22) : aside = _el$22;
809
- _$insert(_el$22, _$createComponent(Show, {
810
- get when() {
811
- return !props.hidden;
812
- },
813
- get children() {
814
- var _el$23 = _$getNextElement(_tmpl$11);
815
- _$insert(_el$23, () => desktop()?.children);
816
- return _el$23;
832
+ /**
833
+ * The complete sidebar for a chip row: a second rendering of the same
834
+ * children in a sheet. It shares the application's state through its
835
+ * signals, inherits this sidebar's context and accent, and is disposed with
836
+ * the sheet. A chosen link runs its own handlers in the sheet and closes it.
837
+ */
838
+ const openAll = button => {
839
+ if (sheetOpen() || !aside) return;
840
+ setSheetOpen(true);
841
+ const computed = getComputedStyle(aside);
842
+ const accent = Object.fromEntries(["--k2b-app-workspace-active", "--k2b-app-workspace-selected", "--k2b-link-accent", "--k2b-detail-panel-accent"].map(name => [name, computed.getPropertyValue(name).trim()]).filter(([, value]) => value));
843
+ // The sheet belongs to the chip row: when the workspace widens into the sidebar column, All disappears and the sheet closes.
844
+ const leave = new AbortController();
845
+ const watch = new ResizeObserver(() => {
846
+ if (button.getClientRects().length === 0) leave.abort();
847
+ });
848
+ watch.observe(button);
849
+ /** A chosen link closes the sheet once its own handlers ran, an enhanced navigation's included. */
850
+ const choose = (event, close) => {
851
+ const target = event.target;
852
+ if (!target?.closest?.("a[href]")) return;
853
+ if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;
854
+ // A tree branch's disclosure inside its link only expands the branch.
855
+ if (target.closest("[data-k2b-nav-tree-toggle]")) return;
856
+ // A task, not a microtask: the document's delegated handlers run later in this dispatch.
857
+ setTimeout(close);
858
+ };
859
+ void dialogCore.open((close, context) => {
860
+ let dispose;
861
+ const view = createRoot(disposeRoot => {
862
+ dispose = disposeRoot;
863
+ return _$createComponent(BottomSheet, {
864
+ get onDismiss() {
865
+ return context.requestDismiss;
866
+ },
867
+ get children() {
868
+ return [_$createComponent(BottomSheet.Header, {
869
+ get title() {
870
+ return props.label;
871
+ },
872
+ close: () => void context.requestDismiss()
873
+ }), _$createComponent(BottomSheet.Body, {
874
+ get children() {
875
+ return _$createComponent(RenderErrorBoundary, {
876
+ onClose: () => void context.requestDismiss(),
877
+ content: () => {
878
+ const resolved = children(() => flatten(props.hidden ? undefined : props.children).filter(sidebarChildSlot).find(slot => slot.kind === SIDEBAR_DESKTOP)?.children);
879
+ // Pre-resolved children belong to the row; inserting them here would move its nodes into the sheet.
880
+ if (resolved.toArray().some(node => node instanceof Node && aside?.contains(node))) {
881
+ console.error("AppWorkspace.Sidebar: write the sidebar children as JSX inside AppWorkspace.Sidebar so they can render a second time in the All sheet; pre-resolved children cannot be reused.");
882
+ return null;
883
+ }
884
+ return (() => {
885
+ var _el$23 = _$getNextElement(_tmpl$12);
886
+ _$addEventListener(_el$23, "click", event => choose(event, () => close()));
887
+ _$insert(_el$23, resolved);
888
+ _$effect(_p$ => {
889
+ var _v$49 = props.label,
890
+ _v$50 = accent;
891
+ _v$49 !== _p$.e && _$setAttribute(_el$23, "aria-label", _p$.e = _v$49);
892
+ _p$.t = _$style(_el$23, _v$50, _p$.t);
893
+ return _p$;
894
+ }, {
895
+ e: undefined,
896
+ t: undefined
897
+ });
898
+ return _el$23;
899
+ })();
900
+ }
901
+ });
902
+ }
903
+ })];
904
+ }
905
+ });
906
+ }, owner);
907
+ onCleanup(() => dispose?.());
908
+ return view;
909
+ },
910
+ // No history entry: an application may replace the URL from inside the sidebar, such as a search, and an
911
+ // entry of the sheet would then outlive it. So Back leaves the page here, unlike other phone sheets.
912
+ {
913
+ ...bottomSheetAdaptiveOptions,
914
+ ariaLabel: props.label,
915
+ signal: leave.signal
916
+ }).finally(() => {
917
+ watch.disconnect();
918
+ setSheetOpen(false);
919
+ if (button.isConnected && !aside?.contains(document.activeElement)) {
920
+ if (button.getClientRects().length) button.focus({
921
+ preventScroll: true
922
+ });else {
923
+ const current = aside?.querySelector("[aria-current], .k2b-app-workspace__sidebar-item.is-active");
924
+ const link = current?.matches("a[href]") ? current : current?.querySelector("a[href]");
925
+ (link ?? aside?.querySelector("a[href]"))?.focus({
926
+ preventScroll: true
927
+ });
928
+ }
817
929
  }
818
- }));
819
- _$effect(_p$ => {
820
- var _v$49 = domId(),
821
- _v$50 = `k2b-app-workspace__sidebar ${props.class ?? ""}`,
822
- _v$51 = props.label,
823
- _v$52 = props.hidden || undefined,
824
- _v$53 = props.mobile === "stacked" ? "stacked" : undefined,
825
- _v$54 = resizable() ? "true" : "false",
826
- _v$55 = props.collapsible ? "true" : "false",
827
- _v$56 = props.onHiddenChange ? "true" : undefined;
828
- _v$49 !== _p$.e && _$setAttribute(_el$22, "id", _p$.e = _v$49);
829
- _v$50 !== _p$.t && _$className(_el$22, _p$.t = _v$50);
830
- _v$51 !== _p$.a && _$setAttribute(_el$22, "aria-label", _p$.a = _v$51);
831
- _v$52 !== _p$.o && _$setProperty(_el$22, "hidden", _p$.o = _v$52);
832
- _v$53 !== _p$.i && _$setAttribute(_el$22, "data-mobile", _p$.i = _v$53);
833
- _v$54 !== _p$.n && _$setAttribute(_el$22, "data-workspace-resizable", _p$.n = _v$54);
834
- _v$55 !== _p$.s && _$setAttribute(_el$22, "data-workspace-collapsible", _p$.s = _v$55);
835
- _v$56 !== _p$.h && _$setAttribute(_el$22, "data-workspace-hideable", _p$.h = _v$56);
836
- return _p$;
837
- }, {
838
- e: undefined,
839
- t: undefined,
840
- a: undefined,
841
- o: undefined,
842
- i: undefined,
843
- n: undefined,
844
- s: undefined,
845
- h: undefined
846
930
  });
847
- return _el$22;
848
- })(), _$createComponent(Show, {
931
+ };
932
+ return [_$createComponent(Dynamic, {
933
+ get component() {
934
+ return stacked() ? "nav" : "aside";
935
+ },
936
+ ref(r$) {
937
+ var _ref$3 = aside;
938
+ typeof _ref$3 === "function" ? _ref$3(r$) : aside = r$;
939
+ },
940
+ get id() {
941
+ return domId();
942
+ },
943
+ get ["class"]() {
944
+ return `k2b-app-workspace__sidebar ${props.class ?? ""}`;
945
+ },
946
+ get ["aria-label"]() {
947
+ return props.label;
948
+ },
949
+ get hidden() {
950
+ return props.hidden || undefined;
951
+ },
952
+ get ["data-mobile"]() {
953
+ return stacked() ? "stacked" : undefined;
954
+ },
955
+ get ["data-workspace-resizable"]() {
956
+ return resizable() ? "true" : "false";
957
+ },
958
+ get ["data-workspace-collapsible"]() {
959
+ return props.collapsible ? "true" : "false";
960
+ },
961
+ get ["data-workspace-hideable"]() {
962
+ return props.onHiddenChange ? "true" : undefined;
963
+ },
964
+ get children() {
965
+ return _$createComponent(Show, {
966
+ get when() {
967
+ return !props.hidden;
968
+ },
969
+ get children() {
970
+ return [(() => {
971
+ var _el$24 = _$getNextElement(_tmpl$13);
972
+ var _ref$4 = row;
973
+ typeof _ref$4 === "function" ? _$use(_ref$4, _el$24) : row = _el$24;
974
+ _$insert(_el$24, () => desktop()?.children);
975
+ _$effect(_p$ => {
976
+ var _v$51 = stacked() ? "both" : undefined,
977
+ _v$52 = stacked() ? "horizontal" : undefined;
978
+ _v$51 !== _p$.e && _$setAttribute(_el$24, "data-scroll-fade-mode", _p$.e = _v$51);
979
+ _v$52 !== _p$.t && _$setAttribute(_el$24, "data-scroll-fade-axis", _p$.t = _v$52);
980
+ return _p$;
981
+ }, {
982
+ e: undefined,
983
+ t: undefined
984
+ });
985
+ return _el$24;
986
+ })(), _$createComponent(Show, {
987
+ get when() {
988
+ return stacked();
989
+ },
990
+ get children() {
991
+ return [(() => {
992
+ var _el$25 = _$getNextElement(_tmpl$14),
993
+ _el$26 = _el$25.firstChild;
994
+ _el$25.$$click = event => openAll(event.currentTarget);
995
+ _$insert(_el$26, () => workspaceMessages().sidebarAll);
996
+ _$effect(_p$ => {
997
+ var _v$53 = sheetOpen(),
998
+ _v$54 = props.label ? workspaceMessages().sidebarAllLabel({
999
+ label: props.label
1000
+ }) : undefined;
1001
+ _v$53 !== _p$.e && _$setAttribute(_el$25, "aria-expanded", _p$.e = _v$53);
1002
+ _v$54 !== _p$.t && _$setAttribute(_el$25, "aria-label", _p$.t = _v$54);
1003
+ return _p$;
1004
+ }, {
1005
+ e: undefined,
1006
+ t: undefined
1007
+ });
1008
+ _$runHydrationEvents();
1009
+ return _el$25;
1010
+ })(), (() => {
1011
+ var _el$27 = _$getNextElement(_tmpl$15);
1012
+ _$setProperty(_el$27, "innerHTML", CHIP_ROW_SCRIPT);
1013
+ return _el$27;
1014
+ })()];
1015
+ }
1016
+ })];
1017
+ }
1018
+ });
1019
+ }
1020
+ }), _$createComponent(Show, {
849
1021
  get when() {
850
1022
  return _$memo(() => !!resizable())() && !props.hidden;
851
1023
  },
@@ -872,6 +1044,29 @@ function AppWorkspaceSidebar(props) {
872
1044
  }
873
1045
  })];
874
1046
  }
1047
+
1048
+ /**
1049
+ * A chip row that overflows shows the current object, centered when it is
1050
+ * not in view from the row's start, and fades its cut edges. Self-contained, because the inline script after server markup
1051
+ * embeds its source and runs it before the first paint; at 64 rem the column
1052
+ * does not overflow sideways and nothing changes.
1053
+ */
1054
+ function settleChipRow(row, edges) {
1055
+ if (!(row instanceof HTMLElement) || row.scrollWidth - row.clientWidth <= 1) return;
1056
+ const current = row.querySelector(".k2b-app-workspace__sidebar-item.is-active, [aria-current]");
1057
+ const chip = current && (current.closest(".k2b-app-workspace__sidebar-item") || current);
1058
+ if (chip) {
1059
+ // From the row's start, whatever scrolled it before (a body's own restore
1060
+ // runs first on the client, last on the server), so both paths agree.
1061
+ row.scrollLeft = 0;
1062
+ const bounds = row.getBoundingClientRect();
1063
+ const item = chip.getBoundingClientRect();
1064
+ if (item.left < bounds.left || item.right > bounds.right) row.scrollLeft += item.left - bounds.left - (bounds.width - item.width) / 2;
1065
+ }
1066
+ const fade = edges(row);
1067
+ if (fade) row.setAttribute("data-scroll-fade", fade);
1068
+ }
1069
+ const CHIP_ROW_SCRIPT = `(${settleChipRow})(document.currentScript&&document.currentScript.parentElement.querySelector(":scope>.k2b-app-workspace__sidebar-desktop"),${scrollFadeEdges})`;
875
1070
  const AppWorkspaceSidebarDesktop = props => ({
876
1071
  kind: SIDEBAR_DESKTOP,
877
1072
  children: props.children
@@ -890,10 +1085,10 @@ const AppWorkspaceSidebarBody = props => {
890
1085
  onMount(() => onCleanup(rememberSidebarScroll(body, scrollFadeEdges)));
891
1086
  createScrollFade(() => body, () => props.scrollFade !== false);
892
1087
  return [(() => {
893
- var _el$24 = _$getNextElement(_tmpl$5);
894
- var _ref$4 = body;
895
- typeof _ref$4 === "function" ? _$use(_ref$4, _el$24) : body = _el$24;
896
- _$spread(_el$24, _$mergeProps({
1088
+ var _el$28 = _$getNextElement(_tmpl$5);
1089
+ var _ref$5 = body;
1090
+ typeof _ref$5 === "function" ? _$use(_ref$5, _el$28) : body = _el$28;
1091
+ _$spread(_el$28, _$mergeProps({
897
1092
  get ["class"]() {
898
1093
  return `k2b-app-workspace__sidebar-body ${props.class ?? ""}`;
899
1094
  },
@@ -901,25 +1096,25 @@ const AppWorkspaceSidebarBody = props => {
901
1096
  return props.scrollFade !== false ? "both" : undefined;
902
1097
  }
903
1098
  }, () => scrollAttrs(props.scrollPreserveKey), () => modeAttrs(props.sidebarMode)), false, true);
904
- _$insert(_el$24, () => props.children);
1099
+ _$insert(_el$28, () => props.children);
905
1100
  _$runHydrationEvents();
906
- return _el$24;
1101
+ return _el$28;
907
1102
  })(), (() => {
908
- var _el$25 = _$getNextElement(_tmpl$12);
909
- _$setProperty(_el$25, "innerHTML", SIDEBAR_SCROLL_MEMORY_SCRIPT);
910
- return _el$25;
1103
+ var _el$29 = _$getNextElement(_tmpl$15);
1104
+ _$setProperty(_el$29, "innerHTML", SIDEBAR_SCROLL_MEMORY_SCRIPT);
1105
+ return _el$29;
911
1106
  })()];
912
1107
  };
913
1108
  const AppWorkspaceSidebarFooter = props => (() => {
914
- var _el$26 = _$getNextElement(_tmpl$13);
915
- _$spread(_el$26, _$mergeProps({
1109
+ var _el$30 = _$getNextElement(_tmpl$16);
1110
+ _$spread(_el$30, _$mergeProps({
916
1111
  get ["class"]() {
917
1112
  return `k2b-app-workspace__sidebar-footer ${props.class ?? ""}`;
918
1113
  }
919
1114
  }, () => modeAttrs(props.sidebarMode)), false, true);
920
- _$insert(_el$26, () => props.children);
1115
+ _$insert(_el$30, () => props.children);
921
1116
  _$runHydrationEvents();
922
- return _el$26;
1117
+ return _el$30;
923
1118
  })();
924
1119
  const AppWorkspaceSidebarSection = props => {
925
1120
  const [expanded, setExpanded] = createSignal(props.defaultOpen ?? true);
@@ -930,27 +1125,27 @@ const AppWorkspaceSidebarSection = props => {
930
1125
  return props.icon;
931
1126
  },
932
1127
  get children() {
933
- var _el$27 = _$getNextElement(_tmpl$14),
934
- _el$28 = _el$27.firstChild;
935
- _$effect(() => _$className(_el$28, iconClass(props.icon)));
936
- return _el$27;
1128
+ var _el$31 = _$getNextElement(_tmpl$17),
1129
+ _el$32 = _el$31.firstChild;
1130
+ _$effect(() => _$className(_el$32, iconClass(props.icon)));
1131
+ return _el$31;
937
1132
  }
938
1133
  }), _$memo(() => props.title), _$createComponent(Show, {
939
1134
  get when() {
940
1135
  return props.count !== undefined;
941
1136
  },
942
1137
  get children() {
943
- var _el$29 = _$getNextElement(_tmpl$15);
944
- _$insert(_el$29, () => props.count);
945
- return _el$29;
1138
+ var _el$33 = _$getNextElement(_tmpl$18);
1139
+ _$insert(_el$33, () => props.count);
1140
+ return _el$33;
946
1141
  }
947
1142
  })];
948
1143
  return (() => {
949
- var _el$30 = _$getNextElement(_tmpl$19),
950
- _el$42 = _el$30.firstChild,
951
- [_el$43, _co$8] = _$getNextMarker(_el$42.nextSibling),
952
- _el$41 = _el$43.nextSibling;
953
- _$spread(_el$30, _$mergeProps({
1144
+ var _el$34 = _$getNextElement(_tmpl$22),
1145
+ _el$46 = _el$34.firstChild,
1146
+ [_el$47, _co$8] = _$getNextMarker(_el$46.nextSibling),
1147
+ _el$45 = _el$47.nextSibling;
1148
+ _$spread(_el$34, _$mergeProps({
954
1149
  get ["class"]() {
955
1150
  return `k2b-app-workspace__sidebar-section ${props.class ?? ""}`;
956
1151
  },
@@ -958,17 +1153,17 @@ const AppWorkspaceSidebarSection = props => {
958
1153
  return props.collapsible ? "true" : undefined;
959
1154
  }
960
1155
  }, () => modeAttrs(props.sidebarMode)), false, true);
961
- _$insert(_el$30, _$createComponent(Show, {
1156
+ _$insert(_el$34, _$createComponent(Show, {
962
1157
  get when() {
963
1158
  return props.title || props.actions;
964
1159
  },
965
1160
  get children() {
966
- var _el$31 = _$getNextElement(_tmpl$18),
967
- _el$37 = _el$31.firstChild,
968
- [_el$38, _co$6] = _$getNextMarker(_el$37.nextSibling),
969
- _el$39 = _el$38.nextSibling,
970
- [_el$40, _co$7] = _$getNextMarker(_el$39.nextSibling);
971
- _$insert(_el$31, _$createComponent(Show, {
1161
+ var _el$35 = _$getNextElement(_tmpl$21),
1162
+ _el$41 = _el$35.firstChild,
1163
+ [_el$42, _co$6] = _$getNextMarker(_el$41.nextSibling),
1164
+ _el$43 = _el$42.nextSibling,
1165
+ [_el$44, _co$7] = _$getNextMarker(_el$43.nextSibling);
1166
+ _$insert(_el$35, _$createComponent(Show, {
972
1167
  get when() {
973
1168
  return props.collapsible;
974
1169
  },
@@ -978,56 +1173,56 @@ const AppWorkspaceSidebarSection = props => {
978
1173
  return props.title;
979
1174
  },
980
1175
  get children() {
981
- var _el$44 = _$getNextElement(_tmpl$20);
982
- _$insert(_el$44, title);
983
- return _el$44;
1176
+ var _el$48 = _$getNextElement(_tmpl$23);
1177
+ _$insert(_el$48, title);
1178
+ return _el$48;
984
1179
  }
985
1180
  });
986
1181
  },
987
1182
  get children() {
988
- var _el$32 = _$getNextElement(_tmpl$16),
989
- _el$34 = _el$32.firstChild,
990
- [_el$35, _co$5] = _$getNextMarker(_el$34.nextSibling),
991
- _el$33 = _el$35.nextSibling;
992
- _el$32.$$click = () => {
1183
+ var _el$36 = _$getNextElement(_tmpl$19),
1184
+ _el$38 = _el$36.firstChild,
1185
+ [_el$39, _co$5] = _$getNextMarker(_el$38.nextSibling),
1186
+ _el$37 = _el$39.nextSibling;
1187
+ _el$36.$$click = () => {
993
1188
  const next = !open();
994
1189
  setExpanded(next);
995
1190
  props.onOpenChange?.(next);
996
1191
  };
997
- _$setAttribute(_el$32, "aria-controls", id);
998
- _$insert(_el$32, title, _el$35, _co$5);
1192
+ _$setAttribute(_el$36, "aria-controls", id);
1193
+ _$insert(_el$36, title, _el$39, _co$5);
999
1194
  _$effect(_p$ => {
1000
- var _v$57 = open(),
1001
- _v$58 = open() ? "ti ti-chevron-down" : "ti ti-chevron-right";
1002
- _v$57 !== _p$.e && _$setAttribute(_el$32, "aria-expanded", _p$.e = _v$57);
1003
- _v$58 !== _p$.t && _$className(_el$33, _p$.t = _v$58);
1195
+ var _v$55 = open(),
1196
+ _v$56 = open() ? "ti ti-chevron-down" : "ti ti-chevron-right";
1197
+ _v$55 !== _p$.e && _$setAttribute(_el$36, "aria-expanded", _p$.e = _v$55);
1198
+ _v$56 !== _p$.t && _$className(_el$37, _p$.t = _v$56);
1004
1199
  return _p$;
1005
1200
  }, {
1006
1201
  e: undefined,
1007
1202
  t: undefined
1008
1203
  });
1009
1204
  _$runHydrationEvents();
1010
- return _el$32;
1205
+ return _el$36;
1011
1206
  }
1012
- }), _el$38, _co$6);
1013
- _$insert(_el$31, _$createComponent(Show, {
1207
+ }), _el$42, _co$6);
1208
+ _$insert(_el$35, _$createComponent(Show, {
1014
1209
  get when() {
1015
1210
  return props.actions;
1016
1211
  },
1017
1212
  get children() {
1018
- var _el$36 = _$getNextElement(_tmpl$17);
1019
- _$insert(_el$36, () => props.actions);
1020
- return _el$36;
1213
+ var _el$40 = _$getNextElement(_tmpl$20);
1214
+ _$insert(_el$40, () => props.actions);
1215
+ return _el$40;
1021
1216
  }
1022
- }), _el$40, _co$7);
1023
- return _el$31;
1217
+ }), _el$44, _co$7);
1218
+ return _el$35;
1024
1219
  }
1025
- }), _el$43, _co$8);
1026
- _$setAttribute(_el$41, "id", id);
1027
- _$insert(_el$41, () => props.children);
1028
- _$effect(() => _$setProperty(_el$41, "hidden", !open()));
1220
+ }), _el$47, _co$8);
1221
+ _$setAttribute(_el$45, "id", id);
1222
+ _$insert(_el$45, () => props.children);
1223
+ _$effect(() => _$setProperty(_el$45, "hidden", !open()));
1029
1224
  _$runHydrationEvents();
1030
- return _el$30;
1225
+ return _el$34;
1031
1226
  })();
1032
1227
  };
1033
1228
  const AppWorkspaceSidebarItemIcon = props => mergeProps({
@@ -1043,10 +1238,10 @@ const AppWorkspaceSidebarItemAction = props => mergeProps({
1043
1238
  kind: SIDEBAR_ITEM_ACTION
1044
1239
  }, props);
1045
1240
  const AppWorkspaceSidebarItemActions = props => (() => {
1046
- var _el$45 = _$getNextElement(_tmpl$21);
1047
- _$insert(_el$45, () => props.children);
1048
- _$effect(() => _$setAttribute(_el$45, "data-visibility", props.visibility === "hover" ? "hover" : undefined));
1049
- return _el$45;
1241
+ var _el$49 = _$getNextElement(_tmpl$24);
1242
+ _$insert(_el$49, () => props.children);
1243
+ _$effect(() => _$setAttribute(_el$49, "data-visibility", props.visibility === "hover" ? "hover" : undefined));
1244
+ return _el$49;
1050
1245
  })();
1051
1246
  const AppWorkspaceSidebarItemStatus = props => {
1052
1247
  const workspaceMessages = useWorkspaceMessages();
@@ -1064,8 +1259,8 @@ const AppWorkspaceSidebarItemStatus = props => {
1064
1259
  // space, and it still keeps the row's label on one line, so the first count
1065
1260
  // never re-wraps the label and moves the rows below.
1066
1261
  return (() => {
1067
- var _el$46 = _$getNextElement(_tmpl$27);
1068
- _$insert(_el$46, _$createComponent(Show, {
1262
+ var _el$50 = _$getNextElement(_tmpl$30);
1263
+ _$insert(_el$50, _$createComponent(Show, {
1069
1264
  get when() {
1070
1265
  return description();
1071
1266
  },
@@ -1075,18 +1270,18 @@ const AppWorkspaceSidebarItemStatus = props => {
1075
1270
  return props.mention;
1076
1271
  },
1077
1272
  get children() {
1078
- return _$getNextElement(_tmpl$22);
1273
+ return _$getNextElement(_tmpl$25);
1079
1274
  }
1080
1275
  }), _$createComponent(Show, {
1081
1276
  get when() {
1082
1277
  return props.muted;
1083
1278
  },
1084
1279
  get children() {
1085
- return _$getNextElement(_tmpl$23);
1280
+ return _$getNextElement(_tmpl$26);
1086
1281
  }
1087
1282
  }), (() => {
1088
- var _el$49 = _$getNextElement(_tmpl$25);
1089
- _$insert(_el$49, _$createComponent(Show, {
1283
+ var _el$53 = _$getNextElement(_tmpl$28);
1284
+ _$insert(_el$53, _$createComponent(Show, {
1090
1285
  get when() {
1091
1286
  return count() || waiting() === 0;
1092
1287
  },
@@ -1096,42 +1291,42 @@ const AppWorkspaceSidebarItemStatus = props => {
1096
1291
  return dot();
1097
1292
  },
1098
1293
  get children() {
1099
- return _$getNextElement(_tmpl$28);
1294
+ return _$getNextElement(_tmpl$31);
1100
1295
  }
1101
1296
  });
1102
1297
  },
1103
1298
  get children() {
1104
- var _el$50 = _$getNextElement(_tmpl$24);
1105
- _$insert(_el$50, (() => {
1299
+ var _el$54 = _$getNextElement(_tmpl$27);
1300
+ _$insert(_el$54, (() => {
1106
1301
  var _c$2 = _$memo(() => count() > 99);
1107
1302
  return () => _c$2() ? "99+" : count();
1108
1303
  })());
1109
- _$effect(() => _$setAttribute(_el$50, "data-mention", props.mention ? "true" : undefined));
1110
- return _el$50;
1304
+ _$effect(() => _$setAttribute(_el$54, "data-mention", props.mention ? "true" : undefined));
1305
+ return _el$54;
1111
1306
  }
1112
1307
  }));
1113
- return _el$49;
1308
+ return _el$53;
1114
1309
  })(), (() => {
1115
- var _el$51 = _$getNextElement(_tmpl$26),
1116
- _el$52 = _el$51.firstChild,
1117
- _el$53 = _el$52.nextSibling,
1118
- [_el$54, _co$9] = _$getNextMarker(_el$53.nextSibling);
1119
- _$insert(_el$51, description, _el$54, _co$9);
1120
- return _el$51;
1310
+ var _el$55 = _$getNextElement(_tmpl$29),
1311
+ _el$56 = _el$55.firstChild,
1312
+ _el$57 = _el$56.nextSibling,
1313
+ [_el$58, _co$9] = _$getNextMarker(_el$57.nextSibling);
1314
+ _$insert(_el$55, description, _el$58, _co$9);
1315
+ return _el$55;
1121
1316
  })()];
1122
1317
  }
1123
1318
  }));
1124
1319
  _$effect(_p$ => {
1125
- var _v$59 = waiting() !== null ? undefined : count() ? "count" : dot() ? "dot" : undefined,
1126
- _v$60 = waiting() === null ? undefined : waiting() ? "count" : "zero";
1127
- _v$59 !== _p$.e && _$setAttribute(_el$46, "data-unread", _p$.e = _v$59);
1128
- _v$60 !== _p$.t && _$setAttribute(_el$46, "data-waiting", _p$.t = _v$60);
1320
+ var _v$57 = waiting() !== null ? undefined : count() ? "count" : dot() ? "dot" : undefined,
1321
+ _v$58 = waiting() === null ? undefined : waiting() ? "count" : "zero";
1322
+ _v$57 !== _p$.e && _$setAttribute(_el$50, "data-unread", _p$.e = _v$57);
1323
+ _v$58 !== _p$.t && _$setAttribute(_el$50, "data-waiting", _p$.t = _v$58);
1129
1324
  return _p$;
1130
1325
  }, {
1131
1326
  e: undefined,
1132
1327
  t: undefined
1133
1328
  });
1134
- return _el$46;
1329
+ return _el$50;
1135
1330
  })();
1136
1331
  };
1137
1332
  /** Shared visual and semantic row frame for flat sidebar items and tree items. */
@@ -1159,8 +1354,8 @@ function AppWorkspaceSidebarRow(props) {
1159
1354
  },
1160
1355
  get fallback() {
1161
1356
  return (() => {
1162
- var _el$56 = _$getNextElement(_tmpl$29);
1163
- _$spread(_el$56, _$mergeProps(attrs, {
1357
+ var _el$60 = _$getNextElement(_tmpl$32);
1358
+ _$spread(_el$60, _$mergeProps(attrs, {
1164
1359
  get tabIndex() {
1165
1360
  return props.tabIndex;
1166
1361
  },
@@ -1171,9 +1366,9 @@ function AppWorkspaceSidebarRow(props) {
1171
1366
  return props.onClick;
1172
1367
  }
1173
1368
  }), false, true);
1174
- _$insert(_el$56, () => props.children);
1369
+ _$insert(_el$60, () => props.children);
1175
1370
  _$runHydrationEvents();
1176
- return _el$56;
1371
+ return _el$60;
1177
1372
  })();
1178
1373
  },
1179
1374
  get children() {
@@ -1183,8 +1378,8 @@ function AppWorkspaceSidebarRow(props) {
1183
1378
  },
1184
1379
  get fallback() {
1185
1380
  return (() => {
1186
- var _el$57 = _$getNextElement(_tmpl$30);
1187
- _$spread(_el$57, _$mergeProps({
1381
+ var _el$61 = _$getNextElement(_tmpl$33);
1382
+ _$spread(_el$61, _$mergeProps({
1188
1383
  get href() {
1189
1384
  return props.href;
1190
1385
  }
@@ -1199,9 +1394,9 @@ function AppWorkspaceSidebarRow(props) {
1199
1394
  return props.onClick;
1200
1395
  }
1201
1396
  }), false, true);
1202
- _$insert(_el$57, () => props.children);
1397
+ _$insert(_el$61, () => props.children);
1203
1398
  _$runHydrationEvents();
1204
- return _el$57;
1399
+ return _el$61;
1205
1400
  })();
1206
1401
  },
1207
1402
  get children() {
@@ -1247,22 +1442,22 @@ function AppWorkspaceSidebarRow(props) {
1247
1442
  });
1248
1443
  },
1249
1444
  get children() {
1250
- var _el$58 = _$getNextElement(_tmpl$31),
1251
- _el$59 = _el$58.firstChild,
1252
- [_el$60, _co$0] = _$getNextMarker(_el$59.nextSibling),
1253
- _el$61 = _el$60.nextSibling,
1254
- [_el$62, _co$1] = _$getNextMarker(_el$61.nextSibling);
1255
- _$spread(_el$58, _$mergeProps(common, {
1445
+ var _el$62 = _$getNextElement(_tmpl$34),
1446
+ _el$63 = _el$62.firstChild,
1447
+ [_el$64, _co$0] = _$getNextMarker(_el$63.nextSibling),
1448
+ _el$65 = _el$64.nextSibling,
1449
+ [_el$66, _co$1] = _$getNextMarker(_el$65.nextSibling);
1450
+ _$spread(_el$62, _$mergeProps(common, {
1256
1451
  get ["data-disabled"]() {
1257
1452
  return props.disabled ? "true" : undefined;
1258
1453
  }
1259
1454
  }), false, true);
1260
- _$insert(_el$58, _$createComponent(Control, {
1455
+ _$insert(_el$62, _$createComponent(Control, {
1261
1456
  grouped: true
1262
- }), _el$60, _co$0);
1263
- _$insert(_el$58, () => props.actions, _el$62, _co$1);
1457
+ }), _el$64, _co$0);
1458
+ _$insert(_el$62, () => props.actions, _el$66, _co$1);
1264
1459
  _$runHydrationEvents();
1265
- return _el$58;
1460
+ return _el$62;
1266
1461
  }
1267
1462
  });
1268
1463
  }
@@ -1295,85 +1490,89 @@ function AppWorkspaceSidebarItem(props) {
1295
1490
  return iconContent() || icon();
1296
1491
  },
1297
1492
  get children() {
1298
- var _el$63 = _$getNextElement(_tmpl$32);
1299
- _$insert(_el$63, () => iconContent() ?? (() => {
1300
- var _el$78 = _$getNextElement(_tmpl$38);
1301
- _$effect(() => _$className(_el$78, iconClass(icon())));
1302
- return _el$78;
1493
+ var _el$67 = _$getNextElement(_tmpl$35);
1494
+ _$insert(_el$67, () => iconContent() ?? (() => {
1495
+ var _el$82 = _$getNextElement(_tmpl$41);
1496
+ _$effect(() => _$className(_el$82, iconClass(icon())));
1497
+ return _el$82;
1303
1498
  })());
1304
- return _el$63;
1499
+ _$effect(() => _$className(_el$67,
1500
+ // An object row's own glyph sits in a soft chip of the app colour; custom content such as an avatar keeps
1501
+ // its own look.
1502
+ props.variant === "object" && !iconContent() ? "k2b-app-workspace__sidebar-item-icon k2b-icon-tile" : "k2b-app-workspace__sidebar-item-icon"));
1503
+ return _el$67;
1305
1504
  }
1306
1505
  }), (() => {
1307
- var _el$64 = _$getNextElement(_tmpl$36),
1308
- _el$73 = _el$64.firstChild,
1309
- [_el$74, _co$11] = _$getNextMarker(_el$73.nextSibling),
1310
- _el$70 = _el$74.nextSibling,
1311
- _el$71 = _el$70.firstChild,
1312
- _el$75 = _el$70.nextSibling,
1313
- [_el$76, _co$12] = _$getNextMarker(_el$75.nextSibling);
1314
- _$insert(_el$64, _$createComponent(Show, {
1506
+ var _el$68 = _$getNextElement(_tmpl$39),
1507
+ _el$77 = _el$68.firstChild,
1508
+ [_el$78, _co$11] = _$getNextMarker(_el$77.nextSibling),
1509
+ _el$74 = _el$78.nextSibling,
1510
+ _el$75 = _el$74.firstChild,
1511
+ _el$79 = _el$74.nextSibling,
1512
+ [_el$80, _co$12] = _$getNextMarker(_el$79.nextSibling);
1513
+ _$insert(_el$68, _$createComponent(Show, {
1315
1514
  get when() {
1316
1515
  return props.context || props.contextMeta;
1317
1516
  },
1318
1517
  get children() {
1319
- var _el$65 = _$getNextElement(_tmpl$34),
1320
- _el$66 = _el$65.firstChild,
1321
- _el$68 = _el$66.nextSibling,
1322
- [_el$69, _co$10] = _$getNextMarker(_el$68.nextSibling);
1323
- _$insert(_el$66, () => props.context);
1324
- _$insert(_el$65, _$createComponent(Show, {
1518
+ var _el$69 = _$getNextElement(_tmpl$37),
1519
+ _el$70 = _el$69.firstChild,
1520
+ _el$72 = _el$70.nextSibling,
1521
+ [_el$73, _co$10] = _$getNextMarker(_el$72.nextSibling);
1522
+ _$insert(_el$70, () => props.context);
1523
+ _$insert(_el$69, _$createComponent(Show, {
1325
1524
  get when() {
1326
1525
  return props.contextMeta;
1327
1526
  },
1328
1527
  get children() {
1329
- var _el$67 = _$getNextElement(_tmpl$33);
1330
- _$insert(_el$67, () => props.contextMeta);
1331
- return _el$67;
1528
+ var _el$71 = _$getNextElement(_tmpl$36);
1529
+ _$insert(_el$71, () => props.contextMeta);
1530
+ return _el$71;
1332
1531
  }
1333
- }), _el$69, _co$10);
1334
- return _el$65;
1532
+ }), _el$73, _co$10);
1533
+ return _el$69;
1335
1534
  }
1336
- }), _el$74, _co$11);
1337
- _$insert(_el$71, () => label());
1338
- _$insert(_el$64, _$createComponent(Show, {
1535
+ }), _el$78, _co$11);
1536
+ _$insert(_el$75, () => label());
1537
+ _$insert(_el$68, _$createComponent(Show, {
1339
1538
  get when() {
1340
1539
  return props.description;
1341
1540
  },
1342
1541
  get children() {
1343
- var _el$72 = _$getNextElement(_tmpl$35);
1344
- _$insert(_el$72, () => props.description);
1345
- return _el$72;
1542
+ var _el$76 = _$getNextElement(_tmpl$38);
1543
+ _$insert(_el$76, () => props.description);
1544
+ return _el$76;
1346
1545
  }
1347
- }), _el$76, _co$12);
1546
+ }), _el$80, _co$12);
1348
1547
  _$effect(_p$ => {
1349
- var _v$61 = oneLine() ? "1" : undefined,
1350
- _v$62 = !oneLine() && typeof label() === "string" ? label() : undefined;
1351
- _v$61 !== _p$.e && _$setAttribute(_el$70, "data-lines", _p$.e = _v$61);
1352
- _v$62 !== _p$.t && _$setAttribute(_el$70, "data-label", _p$.t = _v$62);
1548
+ var _v$59 = oneLine() ? "1" : undefined,
1549
+ _v$60 = !oneLine() && typeof label() === "string" ? label() : undefined;
1550
+ _v$59 !== _p$.e && _$setAttribute(_el$74, "data-lines", _p$.e = _v$59);
1551
+ _v$60 !== _p$.t && _$setAttribute(_el$74, "data-label", _p$.t = _v$60);
1353
1552
  return _p$;
1354
1553
  }, {
1355
1554
  e: undefined,
1356
1555
  t: undefined
1357
1556
  });
1358
- return _el$64;
1557
+ return _el$68;
1359
1558
  })(), _$createComponent(Show, {
1360
1559
  get when() {
1361
1560
  return hasMeta();
1362
1561
  },
1363
1562
  get children() {
1364
- var _el$77 = _$getNextElement(_tmpl$37);
1365
- _$insert(_el$77, meta);
1563
+ var _el$81 = _$getNextElement(_tmpl$40);
1564
+ _$insert(_el$81, meta);
1366
1565
  _$effect(_p$ => {
1367
- var _v$63 = props.preview?.trigger === "row" ? metaId : undefined,
1368
- _v$64 = metaVisibility() === "hover" ? "hover" : undefined;
1369
- _v$63 !== _p$.e && _$setAttribute(_el$77, "id", _p$.e = _v$63);
1370
- _v$64 !== _p$.t && _$setAttribute(_el$77, "data-visibility", _p$.t = _v$64);
1566
+ var _v$61 = props.preview?.trigger === "row" ? metaId : undefined,
1567
+ _v$62 = metaVisibility() === "hover" ? "hover" : undefined;
1568
+ _v$61 !== _p$.e && _$setAttribute(_el$81, "id", _p$.e = _v$61);
1569
+ _v$62 !== _p$.t && _$setAttribute(_el$81, "data-visibility", _p$.t = _v$62);
1371
1570
  return _p$;
1372
1571
  }, {
1373
1572
  e: undefined,
1374
1573
  t: undefined
1375
1574
  });
1376
- return _el$77;
1575
+ return _el$81;
1377
1576
  }
1378
1577
  })];
1379
1578
  const singleAction = () => {
@@ -1389,9 +1588,9 @@ function AppWorkspaceSidebarItem(props) {
1389
1588
  props.onActionClick?.(event);
1390
1589
  };
1391
1590
  const content = () => actionSlot()?.children ?? (() => {
1392
- var _el$79 = _$getNextElement(_tmpl$38);
1393
- _$effect(() => _$className(_el$79, iconClass(actionSlot()?.icon ?? props.actionIcon, "ti-dots")));
1394
- return _el$79;
1591
+ var _el$83 = _$getNextElement(_tmpl$41);
1592
+ _$effect(() => _$className(_el$83, iconClass(actionSlot()?.icon ?? props.actionIcon, "ti-dots")));
1593
+ return _el$83;
1395
1594
  })();
1396
1595
  return _$createComponent(Show, {
1397
1596
  get when() {
@@ -1404,16 +1603,16 @@ function AppWorkspaceSidebarItem(props) {
1404
1603
  },
1405
1604
  get fallback() {
1406
1605
  return (() => {
1407
- var _el$81 = _$getNextElement(_tmpl$40);
1408
- _el$81.$$click = select;
1409
- _$insert(_el$81, content);
1606
+ var _el$85 = _$getNextElement(_tmpl$43);
1607
+ _el$85.$$click = select;
1608
+ _$insert(_el$85, content);
1410
1609
  _$effect(_p$ => {
1411
- var _v$68 = actionSlot()?.disabled,
1412
- _v$69 = actionSlot()?.visibility === "hover" ? "hover" : undefined,
1413
- _v$70 = label();
1414
- _v$68 !== _p$.e && _$setProperty(_el$81, "disabled", _p$.e = _v$68);
1415
- _v$69 !== _p$.t && _$setAttribute(_el$81, "data-visibility", _p$.t = _v$69);
1416
- _v$70 !== _p$.a && _$setAttribute(_el$81, "aria-label", _p$.a = _v$70);
1610
+ var _v$66 = actionSlot()?.disabled,
1611
+ _v$67 = actionSlot()?.visibility === "hover" ? "hover" : undefined,
1612
+ _v$68 = label();
1613
+ _v$66 !== _p$.e && _$setProperty(_el$85, "disabled", _p$.e = _v$66);
1614
+ _v$67 !== _p$.t && _$setAttribute(_el$85, "data-visibility", _p$.t = _v$67);
1615
+ _v$68 !== _p$.a && _$setAttribute(_el$85, "aria-label", _p$.a = _v$68);
1417
1616
  return _p$;
1418
1617
  }, {
1419
1618
  e: undefined,
@@ -1421,20 +1620,20 @@ function AppWorkspaceSidebarItem(props) {
1421
1620
  a: undefined
1422
1621
  });
1423
1622
  _$runHydrationEvents();
1424
- return _el$81;
1623
+ return _el$85;
1425
1624
  })();
1426
1625
  },
1427
1626
  get children() {
1428
- var _el$80 = _$getNextElement(_tmpl$39);
1429
- _el$80.$$click = select;
1430
- _$insert(_el$80, content);
1627
+ var _el$84 = _$getNextElement(_tmpl$42);
1628
+ _el$84.$$click = select;
1629
+ _$insert(_el$84, content);
1431
1630
  _$effect(_p$ => {
1432
- var _v$65 = actionSlot()?.href,
1433
- _v$66 = actionSlot()?.visibility === "hover" ? "hover" : undefined,
1434
- _v$67 = label();
1435
- _v$65 !== _p$.e && _$setAttribute(_el$80, "href", _p$.e = _v$65);
1436
- _v$66 !== _p$.t && _$setAttribute(_el$80, "data-visibility", _p$.t = _v$66);
1437
- _v$67 !== _p$.a && _$setAttribute(_el$80, "aria-label", _p$.a = _v$67);
1631
+ var _v$63 = actionSlot()?.href,
1632
+ _v$64 = actionSlot()?.visibility === "hover" ? "hover" : undefined,
1633
+ _v$65 = label();
1634
+ _v$63 !== _p$.e && _$setAttribute(_el$84, "href", _p$.e = _v$63);
1635
+ _v$64 !== _p$.t && _$setAttribute(_el$84, "data-visibility", _p$.t = _v$64);
1636
+ _v$65 !== _p$.a && _$setAttribute(_el$84, "aria-label", _p$.a = _v$65);
1438
1637
  return _p$;
1439
1638
  }, {
1440
1639
  e: undefined,
@@ -1442,7 +1641,7 @@ function AppWorkspaceSidebarItem(props) {
1442
1641
  a: undefined
1443
1642
  });
1444
1643
  _$runHydrationEvents();
1445
- return _el$80;
1644
+ return _el$84;
1446
1645
  }
1447
1646
  });
1448
1647
  }
@@ -1743,16 +1942,16 @@ const AppWorkspaceNavTree = props => {
1743
1942
  return rowIcon();
1744
1943
  },
1745
1944
  get children() {
1746
- var _el$82 = _$getNextElement(_tmpl$41),
1747
- _el$83 = _el$82.firstChild;
1748
- _$spread(_el$82, _$mergeProps({
1945
+ var _el$86 = _$getNextElement(_tmpl$44),
1946
+ _el$87 = _el$86.firstChild;
1947
+ _$spread(_el$86, _$mergeProps({
1749
1948
  get ["data-k2b-nav-tree-toggle"]() {
1750
1949
  return usesIconDisclosure() ? "" : undefined;
1751
1950
  }
1752
1951
  }, () => iconAccessibility(item.iconLabel)), false, true);
1753
- _$effect(() => _$className(_el$83, iconClass(rowIcon())));
1952
+ _$effect(() => _$className(_el$87, iconClass(rowIcon())));
1754
1953
  _$runHydrationEvents();
1755
- return _el$82;
1954
+ return _el$86;
1756
1955
  }
1757
1956
  }), _$createComponent(Show, {
1758
1957
  get when() {
@@ -1760,51 +1959,51 @@ const AppWorkspaceNavTree = props => {
1760
1959
  },
1761
1960
  get fallback() {
1762
1961
  return (() => {
1763
- var _el$91 = _$getNextElement(_tmpl$45),
1764
- _el$92 = _el$91.firstChild;
1765
- _$insert(_el$92, () => item.label);
1766
- _$effect(() => _$setAttribute(_el$91, "data-label", typeof item.label === "string" ? item.label : undefined));
1767
- return _el$91;
1962
+ var _el$95 = _$getNextElement(_tmpl$48),
1963
+ _el$96 = _el$95.firstChild;
1964
+ _$insert(_el$96, () => item.label);
1965
+ _$effect(() => _$setAttribute(_el$95, "data-label", typeof item.label === "string" ? item.label : undefined));
1966
+ return _el$95;
1768
1967
  })();
1769
1968
  },
1770
1969
  get children() {
1771
- var _el$84 = _$getNextElement(_tmpl$42),
1772
- _el$85 = _el$84.firstChild,
1773
- _el$86 = _el$85.firstChild,
1774
- _el$87 = _el$85.nextSibling;
1775
- _$insert(_el$86, () => item.label);
1776
- _$insert(_el$87, () => item.description);
1777
- _$effect(() => _$setAttribute(_el$85, "data-label", typeof item.label === "string" ? item.label : undefined));
1778
- return _el$84;
1970
+ var _el$88 = _$getNextElement(_tmpl$45),
1971
+ _el$89 = _el$88.firstChild,
1972
+ _el$90 = _el$89.firstChild,
1973
+ _el$91 = _el$89.nextSibling;
1974
+ _$insert(_el$90, () => item.label);
1975
+ _$insert(_el$91, () => item.description);
1976
+ _$effect(() => _$setAttribute(_el$89, "data-label", typeof item.label === "string" ? item.label : undefined));
1977
+ return _el$88;
1779
1978
  }
1780
1979
  }), _$createComponent(Show, {
1781
1980
  get when() {
1782
1981
  return item.meta !== undefined;
1783
1982
  },
1784
1983
  get children() {
1785
- var _el$88 = _$getNextElement(_tmpl$43);
1786
- _$insert(_el$88, () => item.meta);
1984
+ var _el$92 = _$getNextElement(_tmpl$46);
1985
+ _$insert(_el$92, () => item.meta);
1787
1986
  _$effect(_p$ => {
1788
- var _v$71 = `k2b-app-workspace__sidebar-item-meta ${hasChildren() ? "" : "k2b-app-workspace__nav-tree-leaf-meta"}`,
1789
- _v$72 = item.metaVisibility === "hover" ? "hover" : undefined;
1790
- _v$71 !== _p$.e && _$className(_el$88, _p$.e = _v$71);
1791
- _v$72 !== _p$.t && _$setAttribute(_el$88, "data-visibility", _p$.t = _v$72);
1987
+ var _v$69 = `k2b-app-workspace__sidebar-item-meta ${hasChildren() ? "" : "k2b-app-workspace__nav-tree-leaf-meta"}`,
1988
+ _v$70 = item.metaVisibility === "hover" ? "hover" : undefined;
1989
+ _v$69 !== _p$.e && _$className(_el$92, _p$.e = _v$69);
1990
+ _v$70 !== _p$.t && _$setAttribute(_el$92, "data-visibility", _p$.t = _v$70);
1792
1991
  return _p$;
1793
1992
  }, {
1794
1993
  e: undefined,
1795
1994
  t: undefined
1796
1995
  });
1797
- return _el$88;
1996
+ return _el$92;
1798
1997
  }
1799
1998
  }), _$createComponent(Show, {
1800
1999
  get when() {
1801
2000
  return _$memo(() => !!hasChildren())() && !usesIconDisclosure();
1802
2001
  },
1803
2002
  get children() {
1804
- var _el$89 = _$getNextElement(_tmpl$44),
1805
- _el$90 = _el$89.firstChild;
1806
- _$effect(() => _$className(_el$90, `ti ${isExpanded(item.id) ? "ti-chevron-down" : "ti-chevron-right"}`));
1807
- return _el$89;
2003
+ var _el$93 = _$getNextElement(_tmpl$47),
2004
+ _el$94 = _el$93.firstChild;
2005
+ _$effect(() => _$className(_el$94, `ti ${isExpanded(item.id) ? "ti-chevron-down" : "ti-chevron-right"}`));
2006
+ return _el$93;
1808
2007
  }
1809
2008
  })];
1810
2009
  const row = () => _$createComponent(AppWorkspaceSidebarRow, {
@@ -1912,56 +2111,56 @@ const AppWorkspaceNavTree = props => {
1912
2111
  requestMove(target.move, false);
1913
2112
  };
1914
2113
  return (() => {
1915
- var _el$93 = _$getNextElement(_tmpl$47),
1916
- _el$95 = _el$93.firstChild,
1917
- [_el$96, _co$13] = _$getNextMarker(_el$95.nextSibling),
1918
- _el$97 = _el$96.nextSibling,
1919
- [_el$98, _co$14] = _$getNextMarker(_el$97.nextSibling);
1920
- _el$93.addEventListener("drop", onDrop);
1921
- _$addEventListener(_el$93, "dragleave", item.onDragLeave);
1922
- _el$93.addEventListener("dragover", onDragOver);
1923
- _$addEventListener(_el$93, "dragenter", item.onDragEnter);
1924
- _el$93.addEventListener("dragstart", onDragStart);
1925
- _el$93.$$keydown = onKeyDown;
1926
- _el$93.addEventListener("focus", () => setFocusedId(item.id));
1927
- var _ref$5 = treeItem;
1928
- typeof _ref$5 === "function" ? _$use(_ref$5, _el$93) : treeItem = _el$93;
1929
- _$setAttribute(_el$93, "aria-level", depth + 1);
1930
- _$setAttribute(_el$93, "data-k2b-nav-tree-parent-id", parentId);
1931
- _$insert(_el$93, row, _el$96, _co$13);
1932
- _$insert(_el$93, _$createComponent(Show, {
2114
+ var _el$97 = _$getNextElement(_tmpl$50),
2115
+ _el$99 = _el$97.firstChild,
2116
+ [_el$100, _co$13] = _$getNextMarker(_el$99.nextSibling),
2117
+ _el$101 = _el$100.nextSibling,
2118
+ [_el$102, _co$14] = _$getNextMarker(_el$101.nextSibling);
2119
+ _el$97.addEventListener("drop", onDrop);
2120
+ _$addEventListener(_el$97, "dragleave", item.onDragLeave);
2121
+ _el$97.addEventListener("dragover", onDragOver);
2122
+ _$addEventListener(_el$97, "dragenter", item.onDragEnter);
2123
+ _el$97.addEventListener("dragstart", onDragStart);
2124
+ _el$97.$$keydown = onKeyDown;
2125
+ _el$97.addEventListener("focus", () => setFocusedId(item.id));
2126
+ var _ref$6 = treeItem;
2127
+ typeof _ref$6 === "function" ? _$use(_ref$6, _el$97) : treeItem = _el$97;
2128
+ _$setAttribute(_el$97, "aria-level", depth + 1);
2129
+ _$setAttribute(_el$97, "data-k2b-nav-tree-parent-id", parentId);
2130
+ _$insert(_el$97, row, _el$100, _co$13);
2131
+ _$insert(_el$97, _$createComponent(Show, {
1933
2132
  get when() {
1934
2133
  return _$memo(() => !!hasChildren())() && isExpanded(item.id);
1935
2134
  },
1936
2135
  get children() {
1937
- var _el$94 = _$getNextElement(_tmpl$46);
1938
- _$insert(_el$94, () => renderItems(nested, depth + 1, item.id));
1939
- return _el$94;
2136
+ var _el$98 = _$getNextElement(_tmpl$49);
2137
+ _$insert(_el$98, () => renderItems(nested, depth + 1, item.id));
2138
+ return _el$98;
1940
2139
  }
1941
- }), _el$98, _co$14);
2140
+ }), _el$102, _co$14);
1942
2141
  _$effect(_p$ => {
1943
- var _v$73 = siblings().length,
1944
- _v$74 = place() + 1,
1945
- _v$75 = selected(),
1946
- _v$76 = hasChildren() ? isExpanded(item.id) : undefined,
1947
- _v$77 = item.disabled ? "true" : undefined,
1948
- _v$78 = item.disabled ? -1 : tabStopId() === item.id ? 0 : -1,
1949
- _v$79 = movable() ? true : undefined,
1950
- _v$80 = item.id,
1951
- _v$81 = dragged()?.id === item.id ? "" : undefined,
1952
- _v$82 = dropTarget()?.id === item.id ? dropTarget().side : undefined,
1953
- _v$83 = String(props.indented === false ? 0 : depth);
1954
- _v$73 !== _p$.e && _$setAttribute(_el$93, "aria-setsize", _p$.e = _v$73);
1955
- _v$74 !== _p$.t && _$setAttribute(_el$93, "aria-posinset", _p$.t = _v$74);
1956
- _v$75 !== _p$.a && _$setAttribute(_el$93, "aria-selected", _p$.a = _v$75);
1957
- _v$76 !== _p$.o && _$setAttribute(_el$93, "aria-expanded", _p$.o = _v$76);
1958
- _v$77 !== _p$.i && _$setAttribute(_el$93, "aria-disabled", _p$.i = _v$77);
1959
- _v$78 !== _p$.n && _$setAttribute(_el$93, "tabindex", _p$.n = _v$78);
1960
- _v$79 !== _p$.s && _$setAttribute(_el$93, "draggable", _p$.s = _v$79);
1961
- _v$80 !== _p$.h && _$setAttribute(_el$93, "data-k2b-nav-tree-id", _p$.h = _v$80);
1962
- _v$81 !== _p$.r && _$setAttribute(_el$93, "data-k2b-nav-tree-dragging", _p$.r = _v$81);
1963
- _v$82 !== _p$.d && _$setAttribute(_el$93, "data-k2b-nav-tree-drop", _p$.d = _v$82);
1964
- _v$83 !== _p$.l && _$setStyleProperty(_el$93, "--k2b-nav-tree-depth", _p$.l = _v$83);
2142
+ var _v$71 = siblings().length,
2143
+ _v$72 = place() + 1,
2144
+ _v$73 = selected(),
2145
+ _v$74 = hasChildren() ? isExpanded(item.id) : undefined,
2146
+ _v$75 = item.disabled ? "true" : undefined,
2147
+ _v$76 = item.disabled ? -1 : tabStopId() === item.id ? 0 : -1,
2148
+ _v$77 = movable() ? true : undefined,
2149
+ _v$78 = item.id,
2150
+ _v$79 = dragged()?.id === item.id ? "" : undefined,
2151
+ _v$80 = dropTarget()?.id === item.id ? dropTarget().side : undefined,
2152
+ _v$81 = String(props.indented === false ? 0 : depth);
2153
+ _v$71 !== _p$.e && _$setAttribute(_el$97, "aria-setsize", _p$.e = _v$71);
2154
+ _v$72 !== _p$.t && _$setAttribute(_el$97, "aria-posinset", _p$.t = _v$72);
2155
+ _v$73 !== _p$.a && _$setAttribute(_el$97, "aria-selected", _p$.a = _v$73);
2156
+ _v$74 !== _p$.o && _$setAttribute(_el$97, "aria-expanded", _p$.o = _v$74);
2157
+ _v$75 !== _p$.i && _$setAttribute(_el$97, "aria-disabled", _p$.i = _v$75);
2158
+ _v$76 !== _p$.n && _$setAttribute(_el$97, "tabindex", _p$.n = _v$76);
2159
+ _v$77 !== _p$.s && _$setAttribute(_el$97, "draggable", _p$.s = _v$77);
2160
+ _v$78 !== _p$.h && _$setAttribute(_el$97, "data-k2b-nav-tree-id", _p$.h = _v$78);
2161
+ _v$79 !== _p$.r && _$setAttribute(_el$97, "data-k2b-nav-tree-dragging", _p$.r = _v$79);
2162
+ _v$80 !== _p$.d && _$setAttribute(_el$97, "data-k2b-nav-tree-drop", _p$.d = _v$80);
2163
+ _v$81 !== _p$.l && _$setStyleProperty(_el$97, "--k2b-nav-tree-depth", _p$.l = _v$81);
1965
2164
  return _p$;
1966
2165
  }, {
1967
2166
  e: undefined,
@@ -1977,7 +2176,7 @@ const AppWorkspaceNavTree = props => {
1977
2176
  l: undefined
1978
2177
  });
1979
2178
  _$runHydrationEvents();
1980
- return _el$93;
2179
+ return _el$97;
1981
2180
  })();
1982
2181
  }
1983
2182
  });
@@ -2002,62 +2201,62 @@ const AppWorkspaceNavTree = props => {
2002
2201
  });
2003
2202
  });
2004
2203
  return (() => {
2005
- var _el$99 = _$getNextElement(_tmpl$48);
2006
- _el$99.addEventListener("dragend", endDrag);
2007
- _el$99.addEventListener("dragleave", event => {
2204
+ var _el$103 = _$getNextElement(_tmpl$51);
2205
+ _el$103.addEventListener("dragend", endDrag);
2206
+ _el$103.addEventListener("dragleave", event => {
2008
2207
  if (!root?.contains(event.relatedTarget)) setDropTarget(null);
2009
2208
  });
2010
- _el$99.addEventListener("dragover", event => {
2209
+ _el$103.addEventListener("dragover", event => {
2011
2210
  // Runs after the rows: a position no row claimed shows no gap.
2012
2211
  if (claimedDragOver !== event) setDropTarget(null);
2013
2212
  });
2014
- var _ref$6 = root;
2015
- typeof _ref$6 === "function" ? _$use(_ref$6, _el$99) : root = _el$99;
2016
- _$insert(_el$99, () => renderItems(roots, 0));
2213
+ var _ref$7 = root;
2214
+ typeof _ref$7 === "function" ? _$use(_ref$7, _el$103) : root = _el$103;
2215
+ _$insert(_el$103, () => renderItems(roots, 0));
2017
2216
  _$effect(_p$ => {
2018
- var _v$84 = `k2b-app-workspace__nav-tree ${props.class ?? ""}`,
2019
- _v$85 = props.ariaLabel;
2020
- _v$84 !== _p$.e && _$className(_el$99, _p$.e = _v$84);
2021
- _v$85 !== _p$.t && _$setAttribute(_el$99, "aria-label", _p$.t = _v$85);
2217
+ var _v$82 = `k2b-app-workspace__nav-tree ${props.class ?? ""}`,
2218
+ _v$83 = props.ariaLabel;
2219
+ _v$82 !== _p$.e && _$className(_el$103, _p$.e = _v$82);
2220
+ _v$83 !== _p$.t && _$setAttribute(_el$103, "aria-label", _p$.t = _v$83);
2022
2221
  return _p$;
2023
2222
  }, {
2024
2223
  e: undefined,
2025
2224
  t: undefined
2026
2225
  });
2027
- return _el$99;
2226
+ return _el$103;
2028
2227
  })();
2029
2228
  };
2030
2229
  AppWorkspaceNavTree.Item = AppWorkspaceNavTreeItem;
2031
2230
  const AppWorkspaceSidebarIconGrid = props => (() => {
2032
- var _el$100 = _$getNextElement(_tmpl$49),
2033
- _el$102 = _el$100.firstChild,
2034
- [_el$103, _co$15] = _$getNextMarker(_el$102.nextSibling),
2035
- _el$101 = _el$103.nextSibling;
2036
- _$spread(_el$100, _$mergeProps({
2231
+ var _el$104 = _$getNextElement(_tmpl$52),
2232
+ _el$106 = _el$104.firstChild,
2233
+ [_el$107, _co$15] = _$getNextMarker(_el$106.nextSibling),
2234
+ _el$105 = _el$107.nextSibling;
2235
+ _$spread(_el$104, _$mergeProps({
2037
2236
  get ["class"]() {
2038
2237
  return `k2b-app-workspace__sidebar-icon-grid-wrap ${props.class ?? ""}`;
2039
2238
  }
2040
2239
  }, () => modeAttrs(props.sidebarMode)), false, true);
2041
- _$insert(_el$100, _$createComponent(Show, {
2240
+ _$insert(_el$104, _$createComponent(Show, {
2042
2241
  get when() {
2043
2242
  return props.title;
2044
2243
  },
2045
2244
  children: title => (() => {
2046
- var _el$104 = _$getNextElement(_tmpl$20);
2047
- _$insert(_el$104, title);
2048
- return _el$104;
2245
+ var _el$108 = _$getNextElement(_tmpl$23);
2246
+ _$insert(_el$108, title);
2247
+ return _el$108;
2049
2248
  })()
2050
- }), _el$103, _co$15);
2051
- _$insert(_el$101, () => props.children);
2052
- _$effect(() => _$setAttribute(_el$101, "data-columns", props.columns ?? 2));
2249
+ }), _el$107, _co$15);
2250
+ _$insert(_el$105, () => props.children);
2251
+ _$effect(() => _$setAttribute(_el$105, "data-columns", props.columns ?? 2));
2053
2252
  _$runHydrationEvents();
2054
- return _el$100;
2253
+ return _el$104;
2055
2254
  })();
2056
2255
  const AppWorkspaceSidebarIconAction = props => {
2057
2256
  const content = (() => {
2058
- var _el$105 = _$getNextElement(_tmpl$50);
2059
- _$effect(() => _$className(_el$105, iconClass(props.icon)));
2060
- return _el$105;
2257
+ var _el$109 = _$getNextElement(_tmpl$53);
2258
+ _$effect(() => _$className(_el$109, iconClass(props.icon)));
2259
+ return _el$109;
2061
2260
  })();
2062
2261
  const attrs = () => ({
2063
2262
  class: `k2b-app-workspace__sidebar-icon-action ${props.active ? "is-active" : ""}`,
@@ -2070,8 +2269,8 @@ const AppWorkspaceSidebarIconAction = props => {
2070
2269
  ...modeAttrs(props.sidebarMode)
2071
2270
  });
2072
2271
  if (!props.href || props.disabled) return (() => {
2073
- var _el$106 = _$getNextElement(_tmpl$29);
2074
- _$spread(_el$106, _$mergeProps(attrs, {
2272
+ var _el$110 = _$getNextElement(_tmpl$32);
2273
+ _$spread(_el$110, _$mergeProps(attrs, {
2075
2274
  get disabled() {
2076
2275
  return props.disabled;
2077
2276
  },
@@ -2079,13 +2278,13 @@ const AppWorkspaceSidebarIconAction = props => {
2079
2278
  return props.onClick;
2080
2279
  }
2081
2280
  }), false, true);
2082
- _$insert(_el$106, content);
2281
+ _$insert(_el$110, content);
2083
2282
  _$runHydrationEvents();
2084
- return _el$106;
2283
+ return _el$110;
2085
2284
  })();
2086
2285
  if (props.navigation !== "enhanced" || !props.onNavigate) return (() => {
2087
- var _el$107 = _$getNextElement(_tmpl$30);
2088
- _$spread(_el$107, _$mergeProps({
2286
+ var _el$111 = _$getNextElement(_tmpl$33);
2287
+ _$spread(_el$111, _$mergeProps({
2089
2288
  get href() {
2090
2289
  return props.href;
2091
2290
  }
@@ -2094,9 +2293,9 @@ const AppWorkspaceSidebarIconAction = props => {
2094
2293
  return props.onClick;
2095
2294
  }
2096
2295
  }), false, true);
2097
- _$insert(_el$107, content);
2296
+ _$insert(_el$111, content);
2098
2297
  _$runHydrationEvents();
2099
- return _el$107;
2298
+ return _el$111;
2100
2299
  })();
2101
2300
  return _$createComponent(Link, _$mergeProps({
2102
2301
  get href() {
@@ -2134,12 +2333,12 @@ function AppWorkspaceHead(props) {
2134
2333
  // A nested workspace is part of a page that already shows its title.
2135
2334
  const trail = props.nested ? () => undefined : usePageTrail();
2136
2335
  return (() => {
2137
- var _el$108 = _$getNextElement(_tmpl$52),
2138
- _el$110 = _el$108.firstChild,
2139
- [_el$111, _co$16] = _$getNextMarker(_el$110.nextSibling),
2140
- _el$112 = _el$111.nextSibling,
2141
- [_el$113, _co$17] = _$getNextMarker(_el$112.nextSibling);
2142
- _$insert(_el$108, _$createComponent(IconButton, {
2336
+ var _el$112 = _$getNextElement(_tmpl$55),
2337
+ _el$114 = _el$112.firstChild,
2338
+ [_el$115, _co$16] = _$getNextMarker(_el$114.nextSibling),
2339
+ _el$116 = _el$115.nextSibling,
2340
+ [_el$117, _co$17] = _$getNextMarker(_el$116.nextSibling);
2341
+ _$insert(_el$112, _$createComponent(IconButton, {
2143
2342
  "class": "k2b-app-workspace__head-toggle",
2144
2343
  get label() {
2145
2344
  return messages().showNavigation;
@@ -2150,10 +2349,10 @@ function AppWorkspaceHead(props) {
2150
2349
  "aria-expanded": "false",
2151
2350
  "data-app-workspace-sidebar-toggle": "",
2152
2351
  get children() {
2153
- return _$getNextElement(_tmpl$51);
2352
+ return _$getNextElement(_tmpl$54);
2154
2353
  }
2155
- }), _el$111, _co$16);
2156
- _$insert(_el$108, _$createComponent(Show, {
2354
+ }), _el$115, _co$16);
2355
+ _$insert(_el$112, _$createComponent(Show, {
2157
2356
  get when() {
2158
2357
  return trail();
2159
2358
  },
@@ -2164,14 +2363,14 @@ function AppWorkspaceHead(props) {
2164
2363
  as: "p",
2165
2364
  fallback: true
2166
2365
  }), (() => {
2167
- var _el$114 = _$getNextElement(_tmpl$53);
2168
- _$setAttribute(_el$114, "data-k2b-server", isServer ? "" : undefined);
2169
- _$insert(_el$114, () => current().title);
2170
- return _el$114;
2366
+ var _el$118 = _$getNextElement(_tmpl$56);
2367
+ _$setAttribute(_el$118, "data-k2b-server", isServer ? "" : undefined);
2368
+ _$insert(_el$118, () => current().title);
2369
+ return _el$118;
2171
2370
  })()]
2172
- }), _el$113, _co$17);
2173
- _$effect(() => _$setAttribute(_el$108, "data-trail", trail()?.ancestors.length ? "up" : trail() ? "title" : undefined));
2174
- return _el$108;
2371
+ }), _el$117, _co$17);
2372
+ _$effect(() => _$setAttribute(_el$112, "data-trail", trail()?.ancestors.length ? "up" : trail() ? "title" : undefined));
2373
+ return _el$112;
2175
2374
  })();
2176
2375
  }
2177
2376
  const AppWorkspace = props => {
@@ -2207,31 +2406,31 @@ const AppWorkspace = props => {
2207
2406
  return _$createComponent(WorkspaceContext.Provider, {
2208
2407
  value: workspace,
2209
2408
  get children() {
2210
- var _el$115 = _$getNextElement(_tmpl$54),
2211
- _el$116 = _el$115.firstChild,
2212
- [_el$117, _co$18] = _$getNextMarker(_el$116.nextSibling),
2213
- _el$118 = _el$117.nextSibling,
2214
- [_el$119, _co$19] = _$getNextMarker(_el$118.nextSibling);
2215
- var _ref$7 = root;
2216
- typeof _ref$7 === "function" ? _$use(_ref$7, _el$115) : root = _el$115;
2217
- _$insert(_el$115, _$createComponent(AppWorkspaceHead, {
2409
+ var _el$119 = _$getNextElement(_tmpl$57),
2410
+ _el$120 = _el$119.firstChild,
2411
+ [_el$121, _co$18] = _$getNextMarker(_el$120.nextSibling),
2412
+ _el$122 = _el$121.nextSibling,
2413
+ [_el$123, _co$19] = _$getNextMarker(_el$122.nextSibling);
2414
+ var _ref$8 = root;
2415
+ typeof _ref$8 === "function" ? _$use(_ref$8, _el$119) : root = _el$119;
2416
+ _$insert(_el$119, _$createComponent(AppWorkspaceHead, {
2218
2417
  sidebarId: sidebarId,
2219
2418
  nested: nested
2220
- }), _el$117, _co$18);
2221
- _$insert(_el$115, () => props.children, _el$119, _co$19);
2419
+ }), _el$121, _co$18);
2420
+ _$insert(_el$119, () => props.children, _el$123, _co$19);
2222
2421
  _$effect(_p$ => {
2223
- var _v$86 = `k2b-app-workspace ${props.class ?? ""}`,
2224
- _v$87 = props.mobileSurface,
2225
- _v$88 = props.flat ? "true" : undefined,
2226
- _v$89 = initialLayoutState()?.sidebarCollapsed === undefined ? undefined : String(initialLayoutState()?.sidebarCollapsed),
2227
- _v$90 = props.resizable === false ? "false" : "true",
2228
- _v$91 = appWorkspaceLayoutStyle(initialLayoutState());
2229
- _v$86 !== _p$.e && _$className(_el$115, _p$.e = _v$86);
2230
- _v$87 !== _p$.t && _$setAttribute(_el$115, "data-mobile-surface", _p$.t = _v$87);
2231
- _v$88 !== _p$.a && _$setAttribute(_el$115, "data-flat", _p$.a = _v$88);
2232
- _v$89 !== _p$.o && _$setAttribute(_el$115, "data-sidebar-collapsed", _p$.o = _v$89);
2233
- _v$90 !== _p$.i && _$setAttribute(_el$115, "data-workspace-resizable", _p$.i = _v$90);
2234
- _p$.n = _$style(_el$115, _v$91, _p$.n);
2422
+ var _v$84 = `k2b-app-workspace ${props.class ?? ""}`,
2423
+ _v$85 = props.mobileSurface,
2424
+ _v$86 = props.flat ? "true" : undefined,
2425
+ _v$87 = initialLayoutState()?.sidebarCollapsed === undefined ? undefined : String(initialLayoutState()?.sidebarCollapsed),
2426
+ _v$88 = props.resizable === false ? "false" : "true",
2427
+ _v$89 = appWorkspaceLayoutStyle(initialLayoutState());
2428
+ _v$84 !== _p$.e && _$className(_el$119, _p$.e = _v$84);
2429
+ _v$85 !== _p$.t && _$setAttribute(_el$119, "data-mobile-surface", _p$.t = _v$85);
2430
+ _v$86 !== _p$.a && _$setAttribute(_el$119, "data-flat", _p$.a = _v$86);
2431
+ _v$87 !== _p$.o && _$setAttribute(_el$119, "data-sidebar-collapsed", _p$.o = _v$87);
2432
+ _v$88 !== _p$.i && _$setAttribute(_el$119, "data-workspace-resizable", _p$.i = _v$88);
2433
+ _p$.n = _$style(_el$119, _v$89, _p$.n);
2235
2434
  return _p$;
2236
2435
  }, {
2237
2436
  e: undefined,
@@ -2241,7 +2440,7 @@ const AppWorkspace = props => {
2241
2440
  i: undefined,
2242
2441
  n: undefined
2243
2442
  });
2244
- return _el$115;
2443
+ return _el$119;
2245
2444
  }
2246
2445
  });
2247
2446
  }
@@ -2256,10 +2455,10 @@ AppWorkspace.LayoutStateProvider = props => _$createComponent(LayoutStateContext
2256
2455
  }
2257
2456
  });
2258
2457
  AppWorkspace.Content = props => (() => {
2259
- var _el$120 = _$getNextElement(_tmpl$5);
2260
- _$insert(_el$120, () => props.children);
2261
- _$effect(() => _$className(_el$120, `k2b-app-workspace__content ${props.class ?? ""}`));
2262
- return _el$120;
2458
+ var _el$124 = _$getNextElement(_tmpl$5);
2459
+ _$insert(_el$124, () => props.children);
2460
+ _$effect(() => _$className(_el$124, `k2b-app-workspace__content ${props.class ?? ""}`));
2461
+ return _el$124;
2263
2462
  })();
2264
2463
  AppWorkspace.Main = AppWorkspaceMain;
2265
2464
  AppWorkspace.MainPane = AppWorkspaceMainPane;