@k2b/ui 0.31.0 → 0.33.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 (209) hide show
  1. package/dist/base.css +2 -0
  2. package/dist/browser/actions/Dropdown.js +159 -99
  3. package/dist/browser/actions/Dropdown.js.map +1 -1
  4. package/dist/browser/actions/FilterChip.js +113 -56
  5. package/dist/browser/actions/FilterChip.js.map +1 -1
  6. package/dist/browser/actions/ViewTabs.js +8 -0
  7. package/dist/browser/actions/ViewTabs.js.map +1 -1
  8. package/dist/browser/actions/filter-messages.js +26 -2
  9. package/dist/browser/actions/filter-messages.js.map +1 -1
  10. package/dist/browser/actions/menu-rows.js +23 -3
  11. package/dist/browser/actions/menu-rows.js.map +1 -1
  12. package/dist/browser/actions/menu-sheet.js +2 -7
  13. package/dist/browser/actions/menu-sheet.js.map +1 -1
  14. package/dist/browser/chat/ChatComposer.js +480 -403
  15. package/dist/browser/chat/ChatComposer.js.map +1 -1
  16. package/dist/browser/chat/chat-messages.js +14 -0
  17. package/dist/browser/chat/chat-messages.js.map +1 -1
  18. package/dist/browser/chat/index.js.map +1 -1
  19. package/dist/browser/content/Calendar.js +39 -29
  20. package/dist/browser/content/Calendar.js.map +1 -1
  21. package/dist/browser/content/CalendarDayView.js +159 -165
  22. package/dist/browser/content/CalendarDayView.js.map +1 -1
  23. package/dist/browser/content/Chart.js +104 -55
  24. package/dist/browser/content/Chart.js.map +1 -1
  25. package/dist/browser/content/ChartExplorer.js +5 -3
  26. package/dist/browser/content/ChartExplorer.js.map +1 -1
  27. package/dist/browser/content/MapView.js +4 -4
  28. package/dist/browser/content/MapView.js.map +1 -1
  29. package/dist/browser/content/MessageRow.js +607 -343
  30. package/dist/browser/content/MessageRow.js.map +1 -1
  31. package/dist/browser/content/ReactionBar.js +17 -0
  32. package/dist/browser/content/ReactionBar.js.map +1 -1
  33. package/dist/browser/content/chart-inspection-core.js +4 -1
  34. package/dist/browser/content/chart-inspection-core.js.map +1 -1
  35. package/dist/browser/content/code-highlight.js +66 -0
  36. package/dist/browser/content/code-highlight.js.map +1 -1
  37. package/dist/browser/content/index.js +2 -1
  38. package/dist/browser/content/index.js.map +1 -1
  39. package/dist/browser/content/map-view-live.js +47 -10
  40. package/dist/browser/content/map-view-live.js.map +1 -1
  41. package/dist/browser/content/map-view-types.js.map +1 -1
  42. package/dist/browser/feedback/dialog-core.js +6 -0
  43. package/dist/browser/feedback/dialog-core.js.map +1 -1
  44. package/dist/browser/inputs/AutocompleteEditor.js +167 -104
  45. package/dist/browser/inputs/AutocompleteEditor.js.map +1 -1
  46. package/dist/browser/inputs/RichSelect.js +1474 -0
  47. package/dist/browser/inputs/RichSelect.js.map +1 -0
  48. package/dist/browser/inputs/TextInput.js +99 -61
  49. package/dist/browser/inputs/TextInput.js.map +1 -1
  50. package/dist/browser/inputs/choice.js +19 -8
  51. package/dist/browser/inputs/choice.js.map +1 -1
  52. package/dist/browser/inputs/index.js +1 -0
  53. package/dist/browser/inputs/index.js.map +1 -1
  54. package/dist/browser/inputs/rich-select-messages.js +46 -0
  55. package/dist/browser/inputs/rich-select-messages.js.map +1 -0
  56. package/dist/browser/intl/shortcut-messages.js +4 -0
  57. package/dist/browser/intl/shortcut-messages.js.map +1 -1
  58. package/dist/browser/intl/shortcut.js +4 -0
  59. package/dist/browser/intl/shortcut.js.map +1 -1
  60. package/dist/browser/layout/AppWorkspace.js +624 -565
  61. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  62. package/dist/browser/layout/DetailPanel.js +10 -1
  63. package/dist/browser/layout/DetailPanel.js.map +1 -1
  64. package/dist/browser/layout/MobileShell.js +213 -38
  65. package/dist/browser/layout/MobileShell.js.map +1 -1
  66. package/dist/browser/layout/Navigation.js +14 -5
  67. package/dist/browser/layout/Navigation.js.map +1 -1
  68. package/dist/browser/layout/PageTitle.js +9 -3
  69. package/dist/browser/layout/PageTitle.js.map +1 -1
  70. package/dist/browser/layout/ResizeSeparator.js +8 -2
  71. package/dist/browser/layout/ResizeSeparator.js.map +1 -1
  72. package/dist/browser/layout/app-workspace-controller.js +192 -31
  73. package/dist/browser/layout/app-workspace-controller.js.map +1 -1
  74. package/dist/browser/layout/index.js +1 -0
  75. package/dist/browser/layout/index.js.map +1 -1
  76. package/dist/browser/layout/navigation-model.js.map +1 -1
  77. package/dist/browser/layout/resize-separator.js +25 -1
  78. package/dist/browser/layout/resize-separator.js.map +1 -1
  79. package/dist/browser/layout/scroll-fade.js +32 -5
  80. package/dist/browser/layout/scroll-fade.js.map +1 -1
  81. package/dist/browser/surfaces/NoticeCard.js +46 -30
  82. package/dist/browser/surfaces/NoticeCard.js.map +1 -1
  83. package/dist/browser/surfaces/Skeleton.js +14 -0
  84. package/dist/browser/surfaces/Skeleton.js.map +1 -0
  85. package/dist/browser/surfaces/index.js +1 -0
  86. package/dist/browser/surfaces/index.js.map +1 -1
  87. package/dist/browser/surfaces/resource-messages.js +2 -2
  88. package/dist/browser/surfaces/resource-messages.js.map +1 -1
  89. package/dist/ssr/actions/Dropdown.js +51 -27
  90. package/dist/ssr/actions/Dropdown.js.map +1 -1
  91. package/dist/ssr/actions/FilterChip.js +67 -16
  92. package/dist/ssr/actions/FilterChip.js.map +1 -1
  93. package/dist/ssr/actions/ViewTabs.js +8 -0
  94. package/dist/ssr/actions/ViewTabs.js.map +1 -1
  95. package/dist/ssr/actions/filter-messages.js +26 -2
  96. package/dist/ssr/actions/filter-messages.js.map +1 -1
  97. package/dist/ssr/actions/menu-rows.js +23 -3
  98. package/dist/ssr/actions/menu-rows.js.map +1 -1
  99. package/dist/ssr/actions/menu-sheet.js +2 -7
  100. package/dist/ssr/actions/menu-sheet.js.map +1 -1
  101. package/dist/ssr/chat/ChatComposer.js +96 -67
  102. package/dist/ssr/chat/ChatComposer.js.map +1 -1
  103. package/dist/ssr/chat/chat-messages.js +14 -0
  104. package/dist/ssr/chat/chat-messages.js.map +1 -1
  105. package/dist/ssr/chat/index.js.map +1 -1
  106. package/dist/ssr/content/Calendar.js +40 -31
  107. package/dist/ssr/content/Calendar.js.map +1 -1
  108. package/dist/ssr/content/CalendarDayView.js +40 -48
  109. package/dist/ssr/content/CalendarDayView.js.map +1 -1
  110. package/dist/ssr/content/Chart.js +27 -7
  111. package/dist/ssr/content/Chart.js.map +1 -1
  112. package/dist/ssr/content/ChartExplorer.js +5 -3
  113. package/dist/ssr/content/ChartExplorer.js.map +1 -1
  114. package/dist/ssr/content/MapView.js +4 -4
  115. package/dist/ssr/content/MapView.js.map +1 -1
  116. package/dist/ssr/content/MessageRow.js +264 -91
  117. package/dist/ssr/content/MessageRow.js.map +1 -1
  118. package/dist/ssr/content/ReactionBar.js +17 -0
  119. package/dist/ssr/content/ReactionBar.js.map +1 -1
  120. package/dist/ssr/content/chart-inspection-core.js +4 -1
  121. package/dist/ssr/content/chart-inspection-core.js.map +1 -1
  122. package/dist/ssr/content/code-highlight.js +66 -0
  123. package/dist/ssr/content/code-highlight.js.map +1 -1
  124. package/dist/ssr/content/index.js +2 -1
  125. package/dist/ssr/content/index.js.map +1 -1
  126. package/dist/ssr/content/map-view-types.js.map +1 -1
  127. package/dist/ssr/feedback/dialog-core.js +6 -0
  128. package/dist/ssr/feedback/dialog-core.js.map +1 -1
  129. package/dist/ssr/inputs/AutocompleteEditor.js +64 -24
  130. package/dist/ssr/inputs/AutocompleteEditor.js.map +1 -1
  131. package/dist/ssr/inputs/RichSelect.js +950 -0
  132. package/dist/ssr/inputs/RichSelect.js.map +1 -0
  133. package/dist/ssr/inputs/TextInput.js +44 -17
  134. package/dist/ssr/inputs/TextInput.js.map +1 -1
  135. package/dist/ssr/inputs/choice.js +19 -8
  136. package/dist/ssr/inputs/choice.js.map +1 -1
  137. package/dist/ssr/inputs/index.js +1 -0
  138. package/dist/ssr/inputs/index.js.map +1 -1
  139. package/dist/ssr/inputs/rich-select-messages.js +46 -0
  140. package/dist/ssr/inputs/rich-select-messages.js.map +1 -0
  141. package/dist/ssr/intl/shortcut-messages.js +4 -0
  142. package/dist/ssr/intl/shortcut-messages.js.map +1 -1
  143. package/dist/ssr/intl/shortcut.js +4 -0
  144. package/dist/ssr/intl/shortcut.js.map +1 -1
  145. package/dist/ssr/layout/AppWorkspace.js +166 -125
  146. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  147. package/dist/ssr/layout/DetailPanel.js +1 -1
  148. package/dist/ssr/layout/DetailPanel.js.map +1 -1
  149. package/dist/ssr/layout/MobileShell.js +100 -20
  150. package/dist/ssr/layout/MobileShell.js.map +1 -1
  151. package/dist/ssr/layout/Navigation.js +1 -1
  152. package/dist/ssr/layout/Navigation.js.map +1 -1
  153. package/dist/ssr/layout/PageTitle.js +9 -3
  154. package/dist/ssr/layout/PageTitle.js.map +1 -1
  155. package/dist/ssr/layout/ResizeSeparator.js +4 -1
  156. package/dist/ssr/layout/ResizeSeparator.js.map +1 -1
  157. package/dist/ssr/layout/app-workspace-controller.js +192 -31
  158. package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
  159. package/dist/ssr/layout/index.js +1 -0
  160. package/dist/ssr/layout/index.js.map +1 -1
  161. package/dist/ssr/layout/navigation-model.js.map +1 -1
  162. package/dist/ssr/layout/resize-separator.js +25 -1
  163. package/dist/ssr/layout/resize-separator.js.map +1 -1
  164. package/dist/ssr/layout/scroll-fade.js +32 -5
  165. package/dist/ssr/layout/scroll-fade.js.map +1 -1
  166. package/dist/ssr/surfaces/NoticeCard.js +21 -12
  167. package/dist/ssr/surfaces/NoticeCard.js.map +1 -1
  168. package/dist/ssr/surfaces/Skeleton.js +8 -0
  169. package/dist/ssr/surfaces/Skeleton.js.map +1 -0
  170. package/dist/ssr/surfaces/index.js +1 -0
  171. package/dist/ssr/surfaces/index.js.map +1 -1
  172. package/dist/ssr/surfaces/resource-messages.js +2 -2
  173. package/dist/ssr/surfaces/resource-messages.js.map +1 -1
  174. package/dist/styles.css +1 -1
  175. package/dist/types/actions/Dropdown.d.ts +14 -0
  176. package/dist/types/actions/FilterChip.d.ts +11 -0
  177. package/dist/types/actions/filter-messages.d.ts +12 -0
  178. package/dist/types/actions/menu-rows.d.ts +7 -2
  179. package/dist/types/chat/ChatComposer.d.ts +13 -0
  180. package/dist/types/chat/chat-messages.d.ts +7 -0
  181. package/dist/types/chat/index.d.ts +1 -1
  182. package/dist/types/content/Calendar.d.ts +7 -0
  183. package/dist/types/content/Chart.d.ts +4 -2
  184. package/dist/types/content/ChartExplorer.d.ts +0 -1
  185. package/dist/types/content/MessageRow.d.ts +64 -2
  186. package/dist/types/content/code-highlight.d.ts +3 -1
  187. package/dist/types/content/index.d.ts +3 -2
  188. package/dist/types/content/map-view-live.d.ts +1 -1
  189. package/dist/types/content/map-view-types.d.ts +2 -0
  190. package/dist/types/feedback/dialog-core.d.ts +3 -0
  191. package/dist/types/inputs/AutocompleteEditor.d.ts +6 -1
  192. package/dist/types/inputs/RichSelect.d.ts +93 -0
  193. package/dist/types/inputs/TextInput.d.ts +5 -2
  194. package/dist/types/inputs/choice.d.ts +24 -4
  195. package/dist/types/inputs/index.d.ts +2 -0
  196. package/dist/types/inputs/rich-select-messages.d.ts +21 -0
  197. package/dist/types/intl/shortcut-messages.d.ts +2 -0
  198. package/dist/types/layout/AppWorkspace.d.ts +9 -0
  199. package/dist/types/layout/DetailPanel.d.ts +2 -0
  200. package/dist/types/layout/MobileShell.d.ts +52 -5
  201. package/dist/types/layout/app-workspace-controller.d.ts +2 -0
  202. package/dist/types/layout/index.d.ts +2 -1
  203. package/dist/types/layout/navigation-model.d.ts +2 -0
  204. package/dist/types/layout/resize-separator.d.ts +1 -0
  205. package/dist/types/layout/scroll-fade.d.ts +5 -0
  206. package/dist/types/surfaces/NoticeCard.d.ts +3 -0
  207. package/dist/types/surfaces/Skeleton.d.ts +6 -0
  208. package/dist/types/surfaces/index.d.ts +1 -0
  209. package/package.json +4 -4
@@ -17,69 +17,70 @@ import { setAttribute as _$setAttribute } from "solid-js/web";
17
17
  import { effect as _$effect } from "solid-js/web";
18
18
  import { getNextElement as _$getNextElement } from "solid-js/web";
19
19
  var _tmpl$ = /*#__PURE__*/_$template(`<button type=button class=k2b-app-workspace__resize role=separator><span aria-hidden=true>`),
20
- _tmpl$2 = /*#__PURE__*/_$template(`<p class=k2b-truncate-fade>`),
21
- _tmpl$3 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__level-actions>`),
22
- _tmpl$4 = /*#__PURE__*/_$template(`<header class=k2b-app-workspace__level-head><!$><!/><div class=k2b-app-workspace__level-title><h2 tabindex=-1><span class=k2b-truncate-fade></span></h2><!$><!/></div><!$><!/>`),
23
- _tmpl$5 = /*#__PURE__*/_$template(`<div>`),
24
- _tmpl$6 = /*#__PURE__*/_$template(`<style>`),
25
- _tmpl$7 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__main-primary data-workspace-main-region=main>`),
26
- _tmpl$8 = /*#__PURE__*/_$template(`<section>`),
27
- _tmpl$9 = /*#__PURE__*/_$template(`<i class="ti ti-chevron-left"aria-hidden=true>`),
28
- _tmpl$0 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__level-body>`),
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 k2b-truncate-fade"></span><!$><!/>`),
58
- _tmpl$38 = /*#__PURE__*/_$template(`<span class="k2b-app-workspace__sidebar-item-description k2b-truncate-fade">`),
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 k2b-truncate-fade-lines"></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 k2b-truncate-fade-lines"></span></span><span class="k2b-app-workspace__sidebar-item-description k2b-truncate-fade">`),
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 k2b-truncate-fade-lines">`),
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(`<span class=k2b-app-workspace__head-primary-label>`),
75
- _tmpl$55 = /*#__PURE__*/_$template(`<i class="ti ti-layout-sidebar"aria-hidden=true>`),
76
- _tmpl$56 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head-views>`),
77
- _tmpl$57 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head-filters role=group><!$><!/><!$><!/>`),
78
- _tmpl$58 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__head-count><span>`),
79
- _tmpl$59 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head-actions><!$><!/><!$><!/>`),
80
- _tmpl$60 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head><div class=k2b-app-workspace__head-lead><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/></div><!$><!/>`),
81
- _tmpl$61 = /*#__PURE__*/_$template(`<h1 class=k2b-app-workspace__head-heading data-k2b-page-trail-title>`),
82
- _tmpl$62 = /*#__PURE__*/_$template(`<div data-k2b-app-workspace>`);
20
+ _tmpl$2 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__level-lead>`),
21
+ _tmpl$3 = /*#__PURE__*/_$template(`<p class=k2b-truncate-fade>`),
22
+ _tmpl$4 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__level-actions>`),
23
+ _tmpl$5 = /*#__PURE__*/_$template(`<header class=k2b-app-workspace__level-head><!$><!/><div class=k2b-app-workspace__level-title><h2 tabindex=-1><!$><!/><span class=k2b-truncate-fade></span></h2><!$><!/></div><!$><!/>`),
24
+ _tmpl$6 = /*#__PURE__*/_$template(`<div>`),
25
+ _tmpl$7 = /*#__PURE__*/_$template(`<style>`),
26
+ _tmpl$8 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__main-primary data-workspace-main-region=main>`),
27
+ _tmpl$9 = /*#__PURE__*/_$template(`<section>`),
28
+ _tmpl$0 = /*#__PURE__*/_$template(`<i class="ti ti-chevron-left"aria-hidden=true>`),
29
+ _tmpl$1 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__level-body>`),
30
+ _tmpl$10 = /*#__PURE__*/_$template(`<i class="ti ti-layout-sidebar-right"aria-hidden=true>`),
31
+ _tmpl$11 = /*#__PURE__*/_$template(`<aside><button type=button class=k2b-app-workspace__detail-grabber aria-pressed=false><span aria-hidden=true></span></button><!$><!/>`),
32
+ _tmpl$12 = /*#__PURE__*/_$template(`<aside>`),
33
+ _tmpl$13 = /*#__PURE__*/_$template(`<nav class=k2b-app-workspace__sidebar-sheet>`),
34
+ _tmpl$14 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__sidebar-desktop>`),
35
+ _tmpl$15 = /*#__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>`),
36
+ _tmpl$16 = /*#__PURE__*/_$template(`<script>`),
37
+ _tmpl$17 = /*#__PURE__*/_$template(`<footer>`),
38
+ _tmpl$18 = /*#__PURE__*/_$template(`<span aria-hidden=true><i>`),
39
+ _tmpl$19 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-section-count>`),
40
+ _tmpl$20 = /*#__PURE__*/_$template(`<button type=button class=k2b-app-workspace__sidebar-section-toggle><!$><!/><i aria-hidden=true>`),
41
+ _tmpl$21 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__sidebar-section-actions>`),
42
+ _tmpl$22 = /*#__PURE__*/_$template(`<header class=k2b-app-workspace__sidebar-section-header><!$><!/><!$><!/>`),
43
+ _tmpl$23 = /*#__PURE__*/_$template(`<section><!$><!/><div class=k2b-app-workspace__sidebar-section-content>`),
44
+ _tmpl$24 = /*#__PURE__*/_$template(`<h2>`),
45
+ _tmpl$25 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__sidebar-item-actions>`),
46
+ _tmpl$26 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-mention aria-hidden=true>@`),
47
+ _tmpl$27 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-muted aria-hidden=true><i class="ti ti-bell-off">`),
48
+ _tmpl$28 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-count>`),
49
+ _tmpl$29 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-unread aria-hidden=true>`),
50
+ _tmpl$30 = /*#__PURE__*/_$template(`<span class=k2b-sr-only>, <!$><!/>`),
51
+ _tmpl$31 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status>`),
52
+ _tmpl$32 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-status-dot>`),
53
+ _tmpl$33 = /*#__PURE__*/_$template(`<button type=button>`),
54
+ _tmpl$34 = /*#__PURE__*/_$template(`<a>`),
55
+ _tmpl$35 = /*#__PURE__*/_$template(`<div><!$><!/><!$><!/>`),
56
+ _tmpl$36 = /*#__PURE__*/_$template(`<span aria-hidden=true>`),
57
+ _tmpl$37 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-context-meta>`),
58
+ _tmpl$38 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-context><span class="k2b-app-workspace__sidebar-item-context-label k2b-truncate-fade"></span><!$><!/>`),
59
+ _tmpl$39 = /*#__PURE__*/_$template(`<span class="k2b-app-workspace__sidebar-item-description k2b-truncate-fade">`),
60
+ _tmpl$40 = /*#__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 k2b-truncate-fade-lines"></span></span><!$><!/>`),
61
+ _tmpl$41 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-meta>`),
62
+ _tmpl$42 = /*#__PURE__*/_$template(`<i>`),
63
+ _tmpl$43 = /*#__PURE__*/_$template(`<a class=k2b-app-workspace__sidebar-item-action>`),
64
+ _tmpl$44 = /*#__PURE__*/_$template(`<button type=button class=k2b-app-workspace__sidebar-item-action>`),
65
+ _tmpl$45 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-icon><i>`),
66
+ _tmpl$46 = /*#__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 k2b-truncate-fade-lines"></span></span><span class="k2b-app-workspace__sidebar-item-description k2b-truncate-fade">`),
67
+ _tmpl$47 = /*#__PURE__*/_$template(`<span>`),
68
+ _tmpl$48 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__nav-tree-toggle data-k2b-nav-tree-toggle aria-hidden=true><i>`),
69
+ _tmpl$49 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__sidebar-item-label><span class="k2b-app-workspace__sidebar-item-label-text k2b-truncate-fade-lines">`),
70
+ _tmpl$50 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__nav-tree-group role=group>`),
71
+ _tmpl$51 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__nav-tree-node role=treeitem><!$><!/><!$><!/>`),
72
+ _tmpl$52 = /*#__PURE__*/_$template(`<div role=tree>`),
73
+ _tmpl$53 = /*#__PURE__*/_$template(`<section><!$><!/><div class=k2b-app-workspace__sidebar-icon-grid>`),
74
+ _tmpl$54 = /*#__PURE__*/_$template(`<i aria-hidden=true>`),
75
+ _tmpl$55 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__head-primary-label>`),
76
+ _tmpl$56 = /*#__PURE__*/_$template(`<i class="ti ti-layout-sidebar"aria-hidden=true>`),
77
+ _tmpl$57 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head-views>`),
78
+ _tmpl$58 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head-filters role=group><!$><!/><!$><!/>`),
79
+ _tmpl$59 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__head-count><span>`),
80
+ _tmpl$60 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head-actions><!$><!/><!$><!/>`),
81
+ _tmpl$61 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head><!$><!/><div class=k2b-app-workspace__head-lead><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/></div><!$><!/>`),
82
+ _tmpl$62 = /*#__PURE__*/_$template(`<h1 class=k2b-app-workspace__head-heading data-k2b-page-trail-title>`),
83
+ _tmpl$63 = /*#__PURE__*/_$template(`<div data-k2b-app-workspace>`);
83
84
  import { Link } from "@k2b/ssr/nav";
84
85
  import { children, createContext, createEffect, createMemo, createRoot, createSignal, createUniqueId, For, getOwner, mergeProps, on, onCleanup, onMount, Show, useContext } from "solid-js";
85
86
  import { Dynamic, isServer } from "solid-js/web";
@@ -87,7 +88,7 @@ import { Button, ButtonLink, IconButton, IconButtonLink } from "../actions/Butto
87
88
  import { useFilterMessages } from "../actions/filter-messages";
88
89
  import { dialogCore } from "../feedback/dialog-core";
89
90
  import { RenderErrorBoundary } from "../internal/render-error";
90
- import { APP_WORKSPACE_DETAIL_CLOSE_EVENT, APP_WORKSPACE_DETAIL_STEP_EVENT, APP_WORKSPACE_SIDEBAR_HIDE_EVENT, installAppWorkspaceController } from "./app-workspace-controller";
91
+ import { APP_WORKSPACE_DETAIL_CLOSE_EVENT, APP_WORKSPACE_DETAIL_OPEN_EVENT, APP_WORKSPACE_DETAIL_STEP_EVENT, APP_WORKSPACE_SIDEBAR_HIDE_EVENT, installAppWorkspaceController } from "./app-workspace-controller";
91
92
  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_MAIN_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";
92
93
  import { appWorkspaceInverseWidthCss, appWorkspaceWidthCss, appWorkspaceWidthToken, isAppWorkspaceWidthShare } from "./app-workspace-width";
93
94
  import BottomSheet, { bottomSheetAdaptiveOptions } from "./BottomSheet";
@@ -234,39 +235,52 @@ function LevelHead(props) {
234
235
  // server and the client would then disagree on hydration keys.
235
236
  const description = children(() => props.description);
236
237
  const actions = children(() => props.actions);
238
+ const lead = children(() => props.lead);
237
239
  return (() => {
238
- var _el$2 = _$getNextElement(_tmpl$4),
239
- _el$0 = _el$2.firstChild,
240
- [_el$1, _co$2] = _$getNextMarker(_el$0.nextSibling),
241
- _el$3 = _el$1.nextSibling,
240
+ var _el$2 = _$getNextElement(_tmpl$5),
241
+ _el$11 = _el$2.firstChild,
242
+ [_el$12, _co$3] = _$getNextMarker(_el$11.nextSibling),
243
+ _el$3 = _el$12.nextSibling,
242
244
  _el$4 = _el$3.firstChild,
243
- _el$5 = _el$4.firstChild,
244
- _el$7 = _el$4.nextSibling,
245
+ _el$7 = _el$4.firstChild,
245
246
  [_el$8, _co$] = _$getNextMarker(_el$7.nextSibling),
246
- _el$10 = _el$3.nextSibling,
247
- [_el$11, _co$3] = _$getNextMarker(_el$10.nextSibling);
248
- _$insert(_el$2, () => props.children, _el$1, _co$2);
249
- _$insert(_el$5, () => props.label);
247
+ _el$6 = _el$8.nextSibling,
248
+ _el$0 = _el$4.nextSibling,
249
+ [_el$1, _co$2] = _$getNextMarker(_el$0.nextSibling),
250
+ _el$13 = _el$3.nextSibling,
251
+ [_el$14, _co$4] = _$getNextMarker(_el$13.nextSibling);
252
+ _$insert(_el$2, () => props.children, _el$12, _co$3);
253
+ _$insert(_el$4, _$createComponent(Show, {
254
+ get when() {
255
+ return lead();
256
+ },
257
+ get children() {
258
+ var _el$5 = _$getNextElement(_tmpl$2);
259
+ _$insert(_el$5, lead);
260
+ return _el$5;
261
+ }
262
+ }), _el$8, _co$);
263
+ _$insert(_el$6, () => props.label);
250
264
  _$insert(_el$3, _$createComponent(Show, {
251
265
  get when() {
252
266
  return description();
253
267
  },
254
268
  get children() {
255
- var _el$6 = _$getNextElement(_tmpl$2);
256
- _$insert(_el$6, description);
257
- return _el$6;
269
+ var _el$9 = _$getNextElement(_tmpl$3);
270
+ _$insert(_el$9, description);
271
+ return _el$9;
258
272
  }
259
- }), _el$8, _co$);
273
+ }), _el$1, _co$2);
260
274
  _$insert(_el$2, _$createComponent(Show, {
261
275
  get when() {
262
276
  return actions();
263
277
  },
264
278
  get children() {
265
- var _el$9 = _$getNextElement(_tmpl$3);
266
- _$insert(_el$9, actions);
267
- return _el$9;
279
+ var _el$10 = _$getNextElement(_tmpl$4);
280
+ _$insert(_el$10, actions);
281
+ return _el$10;
268
282
  }
269
- }), _el$11, _co$3);
283
+ }), _el$14, _co$4);
270
284
  return _el$2;
271
285
  })();
272
286
  }
@@ -374,15 +388,15 @@ function AppWorkspaceMain(props) {
374
388
  return minWidth();
375
389
  },
376
390
  children: value => (() => {
377
- var _el$13 = _$getNextElement(_tmpl$6);
378
- _$effect(() => _$setProperty(_el$13, "innerHTML", minWidthRule(value())));
379
- return _el$13;
391
+ var _el$16 = _$getNextElement(_tmpl$7);
392
+ _$effect(() => _$setProperty(_el$16, "innerHTML", minWidthRule(value())));
393
+ return _el$16;
380
394
  })()
381
395
  }), (() => {
382
- var _el$12 = _$getNextElement(_tmpl$5);
396
+ var _el$15 = _$getNextElement(_tmpl$6);
383
397
  var _ref$ = mainElement;
384
- typeof _ref$ === "function" ? _$use(_ref$, _el$12) : mainElement = _el$12;
385
- _$spread(_el$12, _$mergeProps({
398
+ typeof _ref$ === "function" ? _$use(_ref$, _el$15) : mainElement = _el$15;
399
+ _$spread(_el$15, _$mergeProps({
386
400
  get ["class"]() {
387
401
  return `k2b-app-workspace__main ${hasPanes() ? "has-panes" : ""} ${props.class ?? ""}`;
388
402
  },
@@ -411,7 +425,7 @@ function AppWorkspaceMain(props) {
411
425
  return props["aria-busy"];
412
426
  }
413
427
  }, () => scrollAttrs(props.scrollPreserveKey)), false, true);
414
- _$insert(_el$12, _$createComponent(Show, {
428
+ _$insert(_el$15, _$createComponent(Show, {
415
429
  get when() {
416
430
  return hasPanes();
417
431
  },
@@ -430,10 +444,10 @@ function AppWorkspaceMain(props) {
430
444
  };
431
445
  if (region.type === "primary") {
432
446
  return (() => {
433
- var _el$14 = _$getNextElement(_tmpl$7);
434
- _$insert(_el$14, () => region.children);
435
- _$effect(() => _$setAttribute(_el$14, "data-workspace-mobile-active", activeMobilePane() === "main" ? "true" : "false"));
436
- return _el$14;
447
+ var _el$17 = _$getNextElement(_tmpl$8);
448
+ _$insert(_el$17, () => region.children);
449
+ _$effect(() => _$setAttribute(_el$17, "data-workspace-mobile-active", activeMobilePane() === "main" ? "true" : "false"));
450
+ return _el$17;
437
451
  })();
438
452
  }
439
453
  const pane = region.slot;
@@ -491,9 +505,9 @@ function AppWorkspaceMain(props) {
491
505
  return handle();
492
506
  }
493
507
  }), (() => {
494
- var _el$15 = _$getNextElement(_tmpl$8);
495
- _$setAttribute(_el$15, "data-workspace-panel-id", panelId);
496
- _$insert(_el$15, (() => {
508
+ var _el$18 = _$getNextElement(_tmpl$9);
509
+ _$setAttribute(_el$18, "data-workspace-panel-id", panelId);
510
+ _$insert(_el$18, (() => {
497
511
  var _c$ = _$memo(() => !!levelsMode());
498
512
  return () => _c$() ? [_$createComponent(LevelHead, {
499
513
  get label() {
@@ -505,6 +519,9 @@ function AppWorkspaceMain(props) {
505
519
  get actions() {
506
520
  return pane.props.actions;
507
521
  },
522
+ get lead() {
523
+ return pane.props.lead;
524
+ },
508
525
  get children() {
509
526
  return _$createComponent(Show, {
510
527
  get when() {
@@ -528,26 +545,26 @@ function AppWorkspaceMain(props) {
528
545
  return props.onLevelNavigate ? navigateBack : undefined;
529
546
  },
530
547
  get children() {
531
- return _$getNextElement(_tmpl$9);
548
+ return _$getNextElement(_tmpl$0);
532
549
  }
533
550
  });
534
551
  }
535
552
  });
536
553
  }
537
554
  }), (() => {
538
- var _el$17 = _$getNextElement(_tmpl$0);
539
- _$insert(_el$17, () => pane.props.children);
555
+ var _el$20 = _$getNextElement(_tmpl$1);
556
+ _$insert(_el$20, () => pane.props.children);
540
557
  _$effect(_p$ => {
541
558
  var _v$28 = pane.props.scroll === false ? "false" : undefined,
542
559
  _v$29 = pane.props.scroll !== false && pane.props.scrollFade !== false ? "both" : undefined;
543
- _v$28 !== _p$.e && _$setAttribute(_el$17, "data-scroll", _p$.e = _v$28);
544
- _v$29 !== _p$.t && _$setAttribute(_el$17, "data-scroll-fade-mode", _p$.t = _v$29);
560
+ _v$28 !== _p$.e && _$setAttribute(_el$20, "data-scroll", _p$.e = _v$28);
561
+ _v$29 !== _p$.t && _$setAttribute(_el$20, "data-scroll-fade-mode", _p$.t = _v$29);
545
562
  return _p$;
546
563
  }, {
547
564
  e: undefined,
548
565
  t: undefined
549
566
  });
550
- return _el$17;
567
+ return _el$20;
551
568
  })()] : pane.props.children;
552
569
  })());
553
570
  _$effect(_p$ => {
@@ -569,20 +586,20 @@ function AppWorkspaceMain(props) {
569
586
  "--k2b-workspace-panel-size": `clamp(${minSize()}px, var(${variable}, ${appWorkspaceWidthCss(defaultSize(), "var(--k2b-workspace-width)")}), ${maxSize()}px)`,
570
587
  "--k2b-workspace-panel-min": `${minSize()}px`
571
588
  };
572
- _v$14 !== _p$.e && _$setAttribute(_el$15, "id", _p$.e = _v$14);
573
- _v$15 !== _p$.t && _$className(_el$15, _p$.t = _v$15);
574
- _v$16 !== _p$.a && _$setAttribute(_el$15, "aria-label", _p$.a = _v$16);
575
- _v$17 !== _p$.o && _$setAttribute(_el$15, "data-workspace-level", _p$.o = _v$17);
576
- _v$18 !== _p$.i && _$setAttribute(_el$15, "data-workspace-level-shown", _p$.i = _v$18);
577
- _v$19 !== _p$.n && _$setAttribute(_el$15, "data-workspace-level-first", _p$.n = _v$19);
578
- _v$20 !== _p$.s && _$setAttribute(_el$15, "data-workspace-level-last", _p$.s = _v$20);
579
- _v$21 !== _p$.h && _$setAttribute(_el$15, "data-workspace-main-region", _p$.h = _v$21);
580
- _v$22 !== _p$.r && _$setAttribute(_el$15, "data-workspace-mobile-active", _p$.r = _v$22);
581
- _v$23 !== _p$.d && _$setAttribute(_el$15, "data-workspace-resizable", _p$.d = _v$23);
582
- _v$24 !== _p$.l && _$setAttribute(_el$15, "data-surface", _p$.l = _v$24);
583
- _v$25 !== _p$.u && _$setAttribute(_el$15, "data-scroll", _p$.u = _v$25);
584
- _v$26 !== _p$.c && _$setAttribute(_el$15, "data-scroll-fade-mode", _p$.c = _v$26);
585
- _p$.w = _$style(_el$15, _v$27, _p$.w);
589
+ _v$14 !== _p$.e && _$setAttribute(_el$18, "id", _p$.e = _v$14);
590
+ _v$15 !== _p$.t && _$className(_el$18, _p$.t = _v$15);
591
+ _v$16 !== _p$.a && _$setAttribute(_el$18, "aria-label", _p$.a = _v$16);
592
+ _v$17 !== _p$.o && _$setAttribute(_el$18, "data-workspace-level", _p$.o = _v$17);
593
+ _v$18 !== _p$.i && _$setAttribute(_el$18, "data-workspace-level-shown", _p$.i = _v$18);
594
+ _v$19 !== _p$.n && _$setAttribute(_el$18, "data-workspace-level-first", _p$.n = _v$19);
595
+ _v$20 !== _p$.s && _$setAttribute(_el$18, "data-workspace-level-last", _p$.s = _v$20);
596
+ _v$21 !== _p$.h && _$setAttribute(_el$18, "data-workspace-main-region", _p$.h = _v$21);
597
+ _v$22 !== _p$.r && _$setAttribute(_el$18, "data-workspace-mobile-active", _p$.r = _v$22);
598
+ _v$23 !== _p$.d && _$setAttribute(_el$18, "data-workspace-resizable", _p$.d = _v$23);
599
+ _v$24 !== _p$.l && _$setAttribute(_el$18, "data-surface", _p$.l = _v$24);
600
+ _v$25 !== _p$.u && _$setAttribute(_el$18, "data-scroll", _p$.u = _v$25);
601
+ _v$26 !== _p$.c && _$setAttribute(_el$18, "data-scroll-fade-mode", _p$.c = _v$26);
602
+ _p$.w = _$style(_el$18, _v$27, _p$.w);
586
603
  return _p$;
587
604
  }, {
588
605
  e: undefined,
@@ -600,7 +617,7 @@ function AppWorkspaceMain(props) {
600
617
  c: undefined,
601
618
  w: undefined
602
619
  });
603
- return _el$15;
620
+ return _el$18;
604
621
  })(), _$createComponent(Show, {
605
622
  get when() {
606
623
  return _$memo(() => !!resizable())() && before();
@@ -616,7 +633,7 @@ function AppWorkspaceMain(props) {
616
633
  }
617
634
  }));
618
635
  _$runHydrationEvents();
619
- return _el$12;
636
+ return _el$15;
620
637
  })()];
621
638
  }
622
639
 
@@ -657,23 +674,28 @@ function AppWorkspaceDetail(props) {
657
674
  let aside;
658
675
  onMount(() => {
659
676
  const close = () => props.onClose?.();
677
+ const open = () => {
678
+ if (props.available !== false) props.onOpen?.();
679
+ };
660
680
  const isStep = detail => typeof detail === "object" && detail !== null && "direction" in detail && (detail.direction === 1 || detail.direction === -1);
661
681
  const step = event => {
662
682
  if (!(event instanceof CustomEvent) || !isStep(event.detail)) return;
663
683
  const item = props.onStep?.(event.detail.direction);
664
684
  if (item instanceof HTMLElement) event.detail.item = item;
665
685
  };
686
+ aside?.addEventListener(APP_WORKSPACE_DETAIL_OPEN_EVENT, open);
666
687
  aside?.addEventListener(APP_WORKSPACE_DETAIL_CLOSE_EVENT, close);
667
688
  aside?.addEventListener(APP_WORKSPACE_DETAIL_STEP_EVENT, step);
668
689
  onCleanup(() => {
690
+ aside?.removeEventListener(APP_WORKSPACE_DETAIL_OPEN_EVENT, open);
669
691
  aside?.removeEventListener(APP_WORKSPACE_DETAIL_CLOSE_EVENT, close);
670
692
  aside?.removeEventListener(APP_WORKSPACE_DETAIL_STEP_EVENT, step);
671
693
  });
672
694
  });
673
695
  return [(() => {
674
- var _el$18 = _$getNextElement(_tmpl$6);
675
- _$effect(() => _$setProperty(_el$18, "innerHTML", workspaceRule()));
676
- return _el$18;
696
+ var _el$21 = _$getNextElement(_tmpl$7);
697
+ _$effect(() => _$setProperty(_el$21, "innerHTML", workspaceRule()));
698
+ return _el$21;
677
699
  })(), _$createComponent(Button, {
678
700
  type: "button",
679
701
  variant: "ghost",
@@ -682,9 +704,15 @@ function AppWorkspaceDetail(props) {
682
704
  },
683
705
  "aria-expanded": "false",
684
706
  "data-app-workspace-detail-toggle": "",
707
+ get ["data-workspace-detail-reopen"]() {
708
+ return props.onOpen ? "true" : undefined;
709
+ },
710
+ get disabled() {
711
+ return props.available === false;
712
+ },
685
713
  "class": "k2b-app-workspace__detail-toggle",
686
714
  get children() {
687
- return [_$getNextElement(_tmpl$1), _$memo(() => workspaceMessages().details)];
715
+ return [_$getNextElement(_tmpl$10), _$memo(() => workspaceMessages().details)];
688
716
  }
689
717
  }), _$createComponent(Show, {
690
718
  get when() {
@@ -709,19 +737,20 @@ function AppWorkspaceDetail(props) {
709
737
  get maxSize() {
710
738
  return maxWidth();
711
739
  },
740
+ shadow: true,
712
741
  get style() {
713
742
  return sizeStyle();
714
743
  }
715
744
  });
716
745
  }
717
746
  }), (() => {
718
- var _el$20 = _$getNextElement(_tmpl$10),
719
- _el$21 = _el$20.firstChild,
720
- _el$22 = _el$21.nextSibling,
721
- [_el$23, _co$4] = _$getNextMarker(_el$22.nextSibling);
747
+ var _el$23 = _$getNextElement(_tmpl$11),
748
+ _el$24 = _el$23.firstChild,
749
+ _el$25 = _el$24.nextSibling,
750
+ [_el$26, _co$5] = _$getNextMarker(_el$25.nextSibling);
722
751
  var _ref$2 = aside;
723
- typeof _ref$2 === "function" ? _$use(_ref$2, _el$20) : aside = _el$20;
724
- _$insert(_el$20, () => props.children, _el$23, _co$4);
752
+ typeof _ref$2 === "function" ? _$use(_ref$2, _el$23) : aside = _el$23;
753
+ _$insert(_el$23, () => props.children, _el$26, _co$5);
725
754
  _$effect(_p$ => {
726
755
  var _v$30 = domId(),
727
756
  _v$31 = `k2b-app-workspace__detail ${props.class ?? ""}`,
@@ -730,26 +759,28 @@ function AppWorkspaceDetail(props) {
730
759
  _v$34 = props.openOnChoice === false ? "request" : undefined,
731
760
  _v$35 = panelId(),
732
761
  _v$36 = resizable() ? "true" : "false",
733
- _v$37 = props.onClose ? "true" : undefined,
734
- _v$38 = props.onStep ? "true" : undefined,
735
- _v$39 = !props.open,
736
- _v$40 = {
762
+ _v$37 = props.onOpen ? "true" : undefined,
763
+ _v$38 = props.onClose ? "true" : undefined,
764
+ _v$39 = props.onStep ? "true" : undefined,
765
+ _v$40 = !props.open || props.available === false,
766
+ _v$41 = {
737
767
  ...sizeStyle(),
738
768
  "view-transition-name": props.viewTransitionName
739
769
  },
740
- _v$41 = workspaceMessages().detailFullHeight;
741
- _v$30 !== _p$.e && _$setAttribute(_el$20, "id", _p$.e = _v$30);
742
- _v$31 !== _p$.t && _$className(_el$20, _p$.t = _v$31);
743
- _v$32 !== _p$.a && _$setAttribute(_el$20, "data-width", _p$.a = _v$32);
744
- _v$33 !== _p$.o && _$setAttribute(_el$20, "data-workspace-detail-phone", _p$.o = _v$33);
745
- _v$34 !== _p$.i && _$setAttribute(_el$20, "data-workspace-detail-choice", _p$.i = _v$34);
746
- _v$35 !== _p$.n && _$setAttribute(_el$20, "data-workspace-panel-id", _p$.n = _v$35);
747
- _v$36 !== _p$.s && _$setAttribute(_el$20, "data-workspace-resizable", _p$.s = _v$36);
748
- _v$37 !== _p$.h && _$setAttribute(_el$20, "data-workspace-detail-closable", _p$.h = _v$37);
749
- _v$38 !== _p$.r && _$setAttribute(_el$20, "data-workspace-detail-steppable", _p$.r = _v$38);
750
- _v$39 !== _p$.d && _$setProperty(_el$20, "hidden", _p$.d = _v$39);
751
- _p$.l = _$style(_el$20, _v$40, _p$.l);
752
- _v$41 !== _p$.u && _$setAttribute(_el$21, "aria-label", _p$.u = _v$41);
770
+ _v$42 = workspaceMessages().detailFullHeight;
771
+ _v$30 !== _p$.e && _$setAttribute(_el$23, "id", _p$.e = _v$30);
772
+ _v$31 !== _p$.t && _$className(_el$23, _p$.t = _v$31);
773
+ _v$32 !== _p$.a && _$setAttribute(_el$23, "data-width", _p$.a = _v$32);
774
+ _v$33 !== _p$.o && _$setAttribute(_el$23, "data-workspace-detail-phone", _p$.o = _v$33);
775
+ _v$34 !== _p$.i && _$setAttribute(_el$23, "data-workspace-detail-choice", _p$.i = _v$34);
776
+ _v$35 !== _p$.n && _$setAttribute(_el$23, "data-workspace-panel-id", _p$.n = _v$35);
777
+ _v$36 !== _p$.s && _$setAttribute(_el$23, "data-workspace-resizable", _p$.s = _v$36);
778
+ _v$37 !== _p$.h && _$setAttribute(_el$23, "data-workspace-detail-reopen", _p$.h = _v$37);
779
+ _v$38 !== _p$.r && _$setAttribute(_el$23, "data-workspace-detail-closable", _p$.r = _v$38);
780
+ _v$39 !== _p$.d && _$setAttribute(_el$23, "data-workspace-detail-steppable", _p$.d = _v$39);
781
+ _v$40 !== _p$.l && _$setProperty(_el$23, "hidden", _p$.l = _v$40);
782
+ _p$.u = _$style(_el$23, _v$41, _p$.u);
783
+ _v$42 !== _p$.c && _$setAttribute(_el$24, "aria-label", _p$.c = _v$42);
753
784
  return _p$;
754
785
  }, {
755
786
  e: undefined,
@@ -763,9 +794,10 @@ function AppWorkspaceDetail(props) {
763
794
  r: undefined,
764
795
  d: undefined,
765
796
  l: undefined,
766
- u: undefined
797
+ u: undefined,
798
+ c: undefined
767
799
  });
768
- return _el$20;
800
+ return _el$23;
769
801
  })()];
770
802
  }
771
803
  function AppWorkspaceBottomDrawer(props) {
@@ -815,25 +847,25 @@ function AppWorkspaceBottomDrawer(props) {
815
847
  });
816
848
  }
817
849
  }), (() => {
818
- var _el$24 = _$getNextElement(_tmpl$11);
819
- _$insert(_el$24, () => props.children);
850
+ var _el$27 = _$getNextElement(_tmpl$12);
851
+ _$insert(_el$27, () => props.children);
820
852
  _$effect(_p$ => {
821
- var _v$42 = domId(),
822
- _v$43 = `k2b-app-workspace__drawer ${props.class ?? ""}`,
823
- _v$44 = props.height ?? "md",
824
- _v$45 = panelId(),
825
- _v$46 = resizable() ? "true" : "false",
826
- _v$47 = !props.open,
827
- _v$48 = `var(${variable()}, ${defaultHeight()}px)`,
828
- _v$49 = props.viewTransitionName;
829
- _v$42 !== _p$.e && _$setAttribute(_el$24, "id", _p$.e = _v$42);
830
- _v$43 !== _p$.t && _$className(_el$24, _p$.t = _v$43);
831
- _v$44 !== _p$.a && _$setAttribute(_el$24, "data-height", _p$.a = _v$44);
832
- _v$45 !== _p$.o && _$setAttribute(_el$24, "data-workspace-panel-id", _p$.o = _v$45);
833
- _v$46 !== _p$.i && _$setAttribute(_el$24, "data-workspace-resizable", _p$.i = _v$46);
834
- _v$47 !== _p$.n && _$setProperty(_el$24, "hidden", _p$.n = _v$47);
835
- _v$48 !== _p$.s && _$setStyleProperty(_el$24, "--k2b-workspace-panel-size", _p$.s = _v$48);
836
- _v$49 !== _p$.h && _$setStyleProperty(_el$24, "view-transition-name", _p$.h = _v$49);
853
+ var _v$43 = domId(),
854
+ _v$44 = `k2b-app-workspace__drawer ${props.class ?? ""}`,
855
+ _v$45 = props.height ?? "md",
856
+ _v$46 = panelId(),
857
+ _v$47 = resizable() ? "true" : "false",
858
+ _v$48 = !props.open,
859
+ _v$49 = `var(${variable()}, ${defaultHeight()}px)`,
860
+ _v$50 = props.viewTransitionName;
861
+ _v$43 !== _p$.e && _$setAttribute(_el$27, "id", _p$.e = _v$43);
862
+ _v$44 !== _p$.t && _$className(_el$27, _p$.t = _v$44);
863
+ _v$45 !== _p$.a && _$setAttribute(_el$27, "data-height", _p$.a = _v$45);
864
+ _v$46 !== _p$.o && _$setAttribute(_el$27, "data-workspace-panel-id", _p$.o = _v$46);
865
+ _v$47 !== _p$.i && _$setAttribute(_el$27, "data-workspace-resizable", _p$.i = _v$47);
866
+ _v$48 !== _p$.n && _$setProperty(_el$27, "hidden", _p$.n = _v$48);
867
+ _v$49 !== _p$.s && _$setStyleProperty(_el$27, "--k2b-workspace-panel-size", _p$.s = _v$49);
868
+ _v$50 !== _p$.h && _$setStyleProperty(_el$27, "view-transition-name", _p$.h = _v$50);
837
869
  return _p$;
838
870
  }, {
839
871
  e: undefined,
@@ -845,7 +877,7 @@ function AppWorkspaceBottomDrawer(props) {
845
877
  s: undefined,
846
878
  h: undefined
847
879
  });
848
- return _el$24;
880
+ return _el$27;
849
881
  })()];
850
882
  }
851
883
  function AppWorkspaceSidebar(props) {
@@ -932,20 +964,20 @@ function AppWorkspaceSidebar(props) {
932
964
  return null;
933
965
  }
934
966
  return (() => {
935
- var _el$25 = _$getNextElement(_tmpl$12);
936
- _$addEventListener(_el$25, "click", event => choose(event, () => close()));
937
- _$insert(_el$25, resolved);
967
+ var _el$28 = _$getNextElement(_tmpl$13);
968
+ _$addEventListener(_el$28, "click", event => choose(event, () => close()));
969
+ _$insert(_el$28, resolved);
938
970
  _$effect(_p$ => {
939
- var _v$50 = props.label,
940
- _v$51 = accent;
941
- _v$50 !== _p$.e && _$setAttribute(_el$25, "aria-label", _p$.e = _v$50);
942
- _p$.t = _$style(_el$25, _v$51, _p$.t);
971
+ var _v$51 = props.label,
972
+ _v$52 = accent;
973
+ _v$51 !== _p$.e && _$setAttribute(_el$28, "aria-label", _p$.e = _v$51);
974
+ _p$.t = _$style(_el$28, _v$52, _p$.t);
943
975
  return _p$;
944
976
  }, {
945
977
  e: undefined,
946
978
  t: undefined
947
979
  });
948
- return _el$25;
980
+ return _el$28;
949
981
  })();
950
982
  }
951
983
  });
@@ -1018,49 +1050,49 @@ function AppWorkspaceSidebar(props) {
1018
1050
  },
1019
1051
  get children() {
1020
1052
  return [(() => {
1021
- var _el$26 = _$getNextElement(_tmpl$13);
1053
+ var _el$29 = _$getNextElement(_tmpl$14);
1022
1054
  var _ref$4 = row;
1023
- typeof _ref$4 === "function" ? _$use(_ref$4, _el$26) : row = _el$26;
1024
- _$insert(_el$26, () => desktop()?.children);
1055
+ typeof _ref$4 === "function" ? _$use(_ref$4, _el$29) : row = _el$29;
1056
+ _$insert(_el$29, () => desktop()?.children);
1025
1057
  _$effect(_p$ => {
1026
- var _v$52 = stacked() ? "both" : undefined,
1027
- _v$53 = stacked() ? "horizontal" : undefined;
1028
- _v$52 !== _p$.e && _$setAttribute(_el$26, "data-scroll-fade-mode", _p$.e = _v$52);
1029
- _v$53 !== _p$.t && _$setAttribute(_el$26, "data-scroll-fade-axis", _p$.t = _v$53);
1058
+ var _v$53 = stacked() ? "both" : undefined,
1059
+ _v$54 = stacked() ? "horizontal" : undefined;
1060
+ _v$53 !== _p$.e && _$setAttribute(_el$29, "data-scroll-fade-mode", _p$.e = _v$53);
1061
+ _v$54 !== _p$.t && _$setAttribute(_el$29, "data-scroll-fade-axis", _p$.t = _v$54);
1030
1062
  return _p$;
1031
1063
  }, {
1032
1064
  e: undefined,
1033
1065
  t: undefined
1034
1066
  });
1035
- return _el$26;
1067
+ return _el$29;
1036
1068
  })(), _$createComponent(Show, {
1037
1069
  get when() {
1038
1070
  return stacked();
1039
1071
  },
1040
1072
  get children() {
1041
1073
  return [(() => {
1042
- var _el$27 = _$getNextElement(_tmpl$14),
1043
- _el$28 = _el$27.firstChild;
1044
- _el$27.$$click = event => openAll(event.currentTarget);
1045
- _$insert(_el$28, () => workspaceMessages().sidebarAll);
1074
+ var _el$30 = _$getNextElement(_tmpl$15),
1075
+ _el$31 = _el$30.firstChild;
1076
+ _el$30.$$click = event => openAll(event.currentTarget);
1077
+ _$insert(_el$31, () => workspaceMessages().sidebarAll);
1046
1078
  _$effect(_p$ => {
1047
- var _v$54 = sheetOpen(),
1048
- _v$55 = props.label ? workspaceMessages().sidebarAllLabel({
1079
+ var _v$55 = sheetOpen(),
1080
+ _v$56 = props.label ? workspaceMessages().sidebarAllLabel({
1049
1081
  label: props.label
1050
1082
  }) : undefined;
1051
- _v$54 !== _p$.e && _$setAttribute(_el$27, "aria-expanded", _p$.e = _v$54);
1052
- _v$55 !== _p$.t && _$setAttribute(_el$27, "aria-label", _p$.t = _v$55);
1083
+ _v$55 !== _p$.e && _$setAttribute(_el$30, "aria-expanded", _p$.e = _v$55);
1084
+ _v$56 !== _p$.t && _$setAttribute(_el$30, "aria-label", _p$.t = _v$56);
1053
1085
  return _p$;
1054
1086
  }, {
1055
1087
  e: undefined,
1056
1088
  t: undefined
1057
1089
  });
1058
1090
  _$runHydrationEvents();
1059
- return _el$27;
1091
+ return _el$30;
1060
1092
  })(), (() => {
1061
- var _el$29 = _$getNextElement(_tmpl$15);
1062
- _$setProperty(_el$29, "innerHTML", CHIP_ROW_SCRIPT);
1063
- return _el$29;
1093
+ var _el$32 = _$getNextElement(_tmpl$16);
1094
+ _$setProperty(_el$32, "innerHTML", CHIP_ROW_SCRIPT);
1095
+ return _el$32;
1064
1096
  })()];
1065
1097
  }
1066
1098
  })];
@@ -1135,10 +1167,10 @@ const AppWorkspaceSidebarBody = props => {
1135
1167
  onMount(() => onCleanup(rememberSidebarScroll(body, scrollFadeEdges)));
1136
1168
  createScrollFade(() => body, () => props.scrollFade !== false);
1137
1169
  return [(() => {
1138
- var _el$30 = _$getNextElement(_tmpl$5);
1170
+ var _el$33 = _$getNextElement(_tmpl$6);
1139
1171
  var _ref$5 = body;
1140
- typeof _ref$5 === "function" ? _$use(_ref$5, _el$30) : body = _el$30;
1141
- _$spread(_el$30, _$mergeProps({
1172
+ typeof _ref$5 === "function" ? _$use(_ref$5, _el$33) : body = _el$33;
1173
+ _$spread(_el$33, _$mergeProps({
1142
1174
  get ["class"]() {
1143
1175
  return `k2b-app-workspace__sidebar-body ${props.class ?? ""}`;
1144
1176
  },
@@ -1146,25 +1178,25 @@ const AppWorkspaceSidebarBody = props => {
1146
1178
  return props.scrollFade !== false ? "both" : undefined;
1147
1179
  }
1148
1180
  }, () => scrollAttrs(props.scrollPreserveKey), () => modeAttrs(props.sidebarMode)), false, true);
1149
- _$insert(_el$30, () => props.children);
1181
+ _$insert(_el$33, () => props.children);
1150
1182
  _$runHydrationEvents();
1151
- return _el$30;
1183
+ return _el$33;
1152
1184
  })(), (() => {
1153
- var _el$31 = _$getNextElement(_tmpl$15);
1154
- _$setProperty(_el$31, "innerHTML", SIDEBAR_SCROLL_MEMORY_SCRIPT);
1155
- return _el$31;
1185
+ var _el$34 = _$getNextElement(_tmpl$16);
1186
+ _$setProperty(_el$34, "innerHTML", SIDEBAR_SCROLL_MEMORY_SCRIPT);
1187
+ return _el$34;
1156
1188
  })()];
1157
1189
  };
1158
1190
  const AppWorkspaceSidebarFooter = props => (() => {
1159
- var _el$32 = _$getNextElement(_tmpl$16);
1160
- _$spread(_el$32, _$mergeProps({
1191
+ var _el$35 = _$getNextElement(_tmpl$17);
1192
+ _$spread(_el$35, _$mergeProps({
1161
1193
  get ["class"]() {
1162
1194
  return `k2b-app-workspace__sidebar-footer ${props.class ?? ""}`;
1163
1195
  }
1164
1196
  }, () => modeAttrs(props.sidebarMode)), false, true);
1165
- _$insert(_el$32, () => props.children);
1197
+ _$insert(_el$35, () => props.children);
1166
1198
  _$runHydrationEvents();
1167
- return _el$32;
1199
+ return _el$35;
1168
1200
  })();
1169
1201
  const AppWorkspaceSidebarSection = props => {
1170
1202
  const [expanded, setExpanded] = createSignal(props.defaultOpen ?? true);
@@ -1175,27 +1207,27 @@ const AppWorkspaceSidebarSection = props => {
1175
1207
  return props.icon;
1176
1208
  },
1177
1209
  get children() {
1178
- var _el$33 = _$getNextElement(_tmpl$17),
1179
- _el$34 = _el$33.firstChild;
1180
- _$effect(() => _$className(_el$34, iconClass(props.icon)));
1181
- return _el$33;
1210
+ var _el$36 = _$getNextElement(_tmpl$18),
1211
+ _el$37 = _el$36.firstChild;
1212
+ _$effect(() => _$className(_el$37, iconClass(props.icon)));
1213
+ return _el$36;
1182
1214
  }
1183
1215
  }), _$memo(() => props.title), _$createComponent(Show, {
1184
1216
  get when() {
1185
1217
  return props.count !== undefined;
1186
1218
  },
1187
1219
  get children() {
1188
- var _el$35 = _$getNextElement(_tmpl$18);
1189
- _$insert(_el$35, () => props.count);
1190
- return _el$35;
1220
+ var _el$38 = _$getNextElement(_tmpl$19);
1221
+ _$insert(_el$38, () => props.count);
1222
+ return _el$38;
1191
1223
  }
1192
1224
  })];
1193
1225
  return (() => {
1194
- var _el$36 = _$getNextElement(_tmpl$22),
1195
- _el$48 = _el$36.firstChild,
1196
- [_el$49, _co$8] = _$getNextMarker(_el$48.nextSibling),
1197
- _el$47 = _el$49.nextSibling;
1198
- _$spread(_el$36, _$mergeProps({
1226
+ var _el$39 = _$getNextElement(_tmpl$23),
1227
+ _el$51 = _el$39.firstChild,
1228
+ [_el$52, _co$9] = _$getNextMarker(_el$51.nextSibling),
1229
+ _el$50 = _el$52.nextSibling;
1230
+ _$spread(_el$39, _$mergeProps({
1199
1231
  get ["class"]() {
1200
1232
  return `k2b-app-workspace__sidebar-section ${props.class ?? ""}`;
1201
1233
  },
@@ -1203,17 +1235,17 @@ const AppWorkspaceSidebarSection = props => {
1203
1235
  return props.collapsible ? "true" : undefined;
1204
1236
  }
1205
1237
  }, () => modeAttrs(props.sidebarMode)), false, true);
1206
- _$insert(_el$36, _$createComponent(Show, {
1238
+ _$insert(_el$39, _$createComponent(Show, {
1207
1239
  get when() {
1208
1240
  return props.title || props.actions;
1209
1241
  },
1210
1242
  get children() {
1211
- var _el$37 = _$getNextElement(_tmpl$21),
1212
- _el$43 = _el$37.firstChild,
1213
- [_el$44, _co$6] = _$getNextMarker(_el$43.nextSibling),
1214
- _el$45 = _el$44.nextSibling,
1215
- [_el$46, _co$7] = _$getNextMarker(_el$45.nextSibling);
1216
- _$insert(_el$37, _$createComponent(Show, {
1243
+ var _el$40 = _$getNextElement(_tmpl$22),
1244
+ _el$46 = _el$40.firstChild,
1245
+ [_el$47, _co$7] = _$getNextMarker(_el$46.nextSibling),
1246
+ _el$48 = _el$47.nextSibling,
1247
+ [_el$49, _co$8] = _$getNextMarker(_el$48.nextSibling);
1248
+ _$insert(_el$40, _$createComponent(Show, {
1217
1249
  get when() {
1218
1250
  return props.collapsible;
1219
1251
  },
@@ -1223,56 +1255,56 @@ const AppWorkspaceSidebarSection = props => {
1223
1255
  return props.title;
1224
1256
  },
1225
1257
  get children() {
1226
- var _el$50 = _$getNextElement(_tmpl$23);
1227
- _$insert(_el$50, title);
1228
- return _el$50;
1258
+ var _el$53 = _$getNextElement(_tmpl$24);
1259
+ _$insert(_el$53, title);
1260
+ return _el$53;
1229
1261
  }
1230
1262
  });
1231
1263
  },
1232
1264
  get children() {
1233
- var _el$38 = _$getNextElement(_tmpl$19),
1234
- _el$40 = _el$38.firstChild,
1235
- [_el$41, _co$5] = _$getNextMarker(_el$40.nextSibling),
1236
- _el$39 = _el$41.nextSibling;
1237
- _el$38.$$click = () => {
1265
+ var _el$41 = _$getNextElement(_tmpl$20),
1266
+ _el$43 = _el$41.firstChild,
1267
+ [_el$44, _co$6] = _$getNextMarker(_el$43.nextSibling),
1268
+ _el$42 = _el$44.nextSibling;
1269
+ _el$41.$$click = () => {
1238
1270
  const next = !open();
1239
1271
  setExpanded(next);
1240
1272
  props.onOpenChange?.(next);
1241
1273
  };
1242
- _$setAttribute(_el$38, "aria-controls", id);
1243
- _$insert(_el$38, title, _el$41, _co$5);
1274
+ _$setAttribute(_el$41, "aria-controls", id);
1275
+ _$insert(_el$41, title, _el$44, _co$6);
1244
1276
  _$effect(_p$ => {
1245
- var _v$56 = open(),
1246
- _v$57 = open() ? "ti ti-chevron-down" : "ti ti-chevron-right";
1247
- _v$56 !== _p$.e && _$setAttribute(_el$38, "aria-expanded", _p$.e = _v$56);
1248
- _v$57 !== _p$.t && _$className(_el$39, _p$.t = _v$57);
1277
+ var _v$57 = open(),
1278
+ _v$58 = open() ? "ti ti-chevron-down" : "ti ti-chevron-right";
1279
+ _v$57 !== _p$.e && _$setAttribute(_el$41, "aria-expanded", _p$.e = _v$57);
1280
+ _v$58 !== _p$.t && _$className(_el$42, _p$.t = _v$58);
1249
1281
  return _p$;
1250
1282
  }, {
1251
1283
  e: undefined,
1252
1284
  t: undefined
1253
1285
  });
1254
1286
  _$runHydrationEvents();
1255
- return _el$38;
1287
+ return _el$41;
1256
1288
  }
1257
- }), _el$44, _co$6);
1258
- _$insert(_el$37, _$createComponent(Show, {
1289
+ }), _el$47, _co$7);
1290
+ _$insert(_el$40, _$createComponent(Show, {
1259
1291
  get when() {
1260
1292
  return props.actions;
1261
1293
  },
1262
1294
  get children() {
1263
- var _el$42 = _$getNextElement(_tmpl$20);
1264
- _$insert(_el$42, () => props.actions);
1265
- return _el$42;
1295
+ var _el$45 = _$getNextElement(_tmpl$21);
1296
+ _$insert(_el$45, () => props.actions);
1297
+ return _el$45;
1266
1298
  }
1267
- }), _el$46, _co$7);
1268
- return _el$37;
1299
+ }), _el$49, _co$8);
1300
+ return _el$40;
1269
1301
  }
1270
- }), _el$49, _co$8);
1271
- _$setAttribute(_el$47, "id", id);
1272
- _$insert(_el$47, () => props.children);
1273
- _$effect(() => _$setProperty(_el$47, "hidden", !open()));
1302
+ }), _el$52, _co$9);
1303
+ _$setAttribute(_el$50, "id", id);
1304
+ _$insert(_el$50, () => props.children);
1305
+ _$effect(() => _$setProperty(_el$50, "hidden", !open()));
1274
1306
  _$runHydrationEvents();
1275
- return _el$36;
1307
+ return _el$39;
1276
1308
  })();
1277
1309
  };
1278
1310
  const AppWorkspaceSidebarItemIcon = props => mergeProps({
@@ -1288,10 +1320,10 @@ const AppWorkspaceSidebarItemAction = props => mergeProps({
1288
1320
  kind: SIDEBAR_ITEM_ACTION
1289
1321
  }, props);
1290
1322
  const AppWorkspaceSidebarItemActions = props => (() => {
1291
- var _el$51 = _$getNextElement(_tmpl$24);
1292
- _$insert(_el$51, () => props.children);
1293
- _$effect(() => _$setAttribute(_el$51, "data-visibility", props.visibility === "hover" ? "hover" : undefined));
1294
- return _el$51;
1323
+ var _el$54 = _$getNextElement(_tmpl$25);
1324
+ _$insert(_el$54, () => props.children);
1325
+ _$effect(() => _$setAttribute(_el$54, "data-visibility", props.visibility === "hover" ? "hover" : undefined));
1326
+ return _el$54;
1295
1327
  })();
1296
1328
  const AppWorkspaceSidebarItemStatus = props => {
1297
1329
  const workspaceMessages = useWorkspaceMessages();
@@ -1309,8 +1341,8 @@ const AppWorkspaceSidebarItemStatus = props => {
1309
1341
  // space, and it still keeps the row's label on one line, so the first count
1310
1342
  // never re-wraps the label and moves the rows below.
1311
1343
  return (() => {
1312
- var _el$52 = _$getNextElement(_tmpl$30);
1313
- _$insert(_el$52, _$createComponent(Show, {
1344
+ var _el$55 = _$getNextElement(_tmpl$31);
1345
+ _$insert(_el$55, _$createComponent(Show, {
1314
1346
  get when() {
1315
1347
  return description();
1316
1348
  },
@@ -1320,18 +1352,18 @@ const AppWorkspaceSidebarItemStatus = props => {
1320
1352
  return props.mention;
1321
1353
  },
1322
1354
  get children() {
1323
- return _$getNextElement(_tmpl$25);
1355
+ return _$getNextElement(_tmpl$26);
1324
1356
  }
1325
1357
  }), _$createComponent(Show, {
1326
1358
  get when() {
1327
1359
  return props.muted;
1328
1360
  },
1329
1361
  get children() {
1330
- return _$getNextElement(_tmpl$26);
1362
+ return _$getNextElement(_tmpl$27);
1331
1363
  }
1332
1364
  }), (() => {
1333
- var _el$55 = _$getNextElement(_tmpl$28);
1334
- _$insert(_el$55, _$createComponent(Show, {
1365
+ var _el$58 = _$getNextElement(_tmpl$29);
1366
+ _$insert(_el$58, _$createComponent(Show, {
1335
1367
  get when() {
1336
1368
  return count() || waiting() === 0;
1337
1369
  },
@@ -1341,42 +1373,42 @@ const AppWorkspaceSidebarItemStatus = props => {
1341
1373
  return dot();
1342
1374
  },
1343
1375
  get children() {
1344
- return _$getNextElement(_tmpl$31);
1376
+ return _$getNextElement(_tmpl$32);
1345
1377
  }
1346
1378
  });
1347
1379
  },
1348
1380
  get children() {
1349
- var _el$56 = _$getNextElement(_tmpl$27);
1350
- _$insert(_el$56, (() => {
1381
+ var _el$59 = _$getNextElement(_tmpl$28);
1382
+ _$insert(_el$59, (() => {
1351
1383
  var _c$2 = _$memo(() => count() > 99);
1352
1384
  return () => _c$2() ? "99+" : count();
1353
1385
  })());
1354
- _$effect(() => _$setAttribute(_el$56, "data-mention", props.mention ? "true" : undefined));
1355
- return _el$56;
1386
+ _$effect(() => _$setAttribute(_el$59, "data-mention", props.mention ? "true" : undefined));
1387
+ return _el$59;
1356
1388
  }
1357
1389
  }));
1358
- return _el$55;
1390
+ return _el$58;
1359
1391
  })(), (() => {
1360
- var _el$57 = _$getNextElement(_tmpl$29),
1361
- _el$58 = _el$57.firstChild,
1362
- _el$59 = _el$58.nextSibling,
1363
- [_el$60, _co$9] = _$getNextMarker(_el$59.nextSibling);
1364
- _$insert(_el$57, description, _el$60, _co$9);
1365
- return _el$57;
1392
+ var _el$60 = _$getNextElement(_tmpl$30),
1393
+ _el$61 = _el$60.firstChild,
1394
+ _el$62 = _el$61.nextSibling,
1395
+ [_el$63, _co$0] = _$getNextMarker(_el$62.nextSibling);
1396
+ _$insert(_el$60, description, _el$63, _co$0);
1397
+ return _el$60;
1366
1398
  })()];
1367
1399
  }
1368
1400
  }));
1369
1401
  _$effect(_p$ => {
1370
- var _v$58 = waiting() !== null ? undefined : count() ? "count" : dot() ? "dot" : undefined,
1371
- _v$59 = waiting() === null ? undefined : waiting() ? "count" : "zero";
1372
- _v$58 !== _p$.e && _$setAttribute(_el$52, "data-unread", _p$.e = _v$58);
1373
- _v$59 !== _p$.t && _$setAttribute(_el$52, "data-waiting", _p$.t = _v$59);
1402
+ var _v$59 = waiting() !== null ? undefined : count() ? "count" : dot() ? "dot" : undefined,
1403
+ _v$60 = waiting() === null ? undefined : waiting() ? "count" : "zero";
1404
+ _v$59 !== _p$.e && _$setAttribute(_el$55, "data-unread", _p$.e = _v$59);
1405
+ _v$60 !== _p$.t && _$setAttribute(_el$55, "data-waiting", _p$.t = _v$60);
1374
1406
  return _p$;
1375
1407
  }, {
1376
1408
  e: undefined,
1377
1409
  t: undefined
1378
1410
  });
1379
- return _el$52;
1411
+ return _el$55;
1380
1412
  })();
1381
1413
  };
1382
1414
  /** Shared visual and semantic row frame for flat sidebar items and tree items. */
@@ -1404,8 +1436,8 @@ function AppWorkspaceSidebarRow(props) {
1404
1436
  },
1405
1437
  get fallback() {
1406
1438
  return (() => {
1407
- var _el$62 = _$getNextElement(_tmpl$32);
1408
- _$spread(_el$62, _$mergeProps(attrs, {
1439
+ var _el$65 = _$getNextElement(_tmpl$33);
1440
+ _$spread(_el$65, _$mergeProps(attrs, {
1409
1441
  get tabIndex() {
1410
1442
  return props.tabIndex;
1411
1443
  },
@@ -1416,9 +1448,9 @@ function AppWorkspaceSidebarRow(props) {
1416
1448
  return props.onClick;
1417
1449
  }
1418
1450
  }), false, true);
1419
- _$insert(_el$62, () => props.children);
1451
+ _$insert(_el$65, () => props.children);
1420
1452
  _$runHydrationEvents();
1421
- return _el$62;
1453
+ return _el$65;
1422
1454
  })();
1423
1455
  },
1424
1456
  get children() {
@@ -1428,8 +1460,8 @@ function AppWorkspaceSidebarRow(props) {
1428
1460
  },
1429
1461
  get fallback() {
1430
1462
  return (() => {
1431
- var _el$63 = _$getNextElement(_tmpl$33);
1432
- _$spread(_el$63, _$mergeProps({
1463
+ var _el$66 = _$getNextElement(_tmpl$34);
1464
+ _$spread(_el$66, _$mergeProps({
1433
1465
  get href() {
1434
1466
  return props.href;
1435
1467
  }
@@ -1444,9 +1476,9 @@ function AppWorkspaceSidebarRow(props) {
1444
1476
  return props.onClick;
1445
1477
  }
1446
1478
  }), false, true);
1447
- _$insert(_el$63, () => props.children);
1479
+ _$insert(_el$66, () => props.children);
1448
1480
  _$runHydrationEvents();
1449
- return _el$63;
1481
+ return _el$66;
1450
1482
  })();
1451
1483
  },
1452
1484
  get children() {
@@ -1492,22 +1524,22 @@ function AppWorkspaceSidebarRow(props) {
1492
1524
  });
1493
1525
  },
1494
1526
  get children() {
1495
- var _el$64 = _$getNextElement(_tmpl$34),
1496
- _el$65 = _el$64.firstChild,
1497
- [_el$66, _co$0] = _$getNextMarker(_el$65.nextSibling),
1498
- _el$67 = _el$66.nextSibling,
1499
- [_el$68, _co$1] = _$getNextMarker(_el$67.nextSibling);
1500
- _$spread(_el$64, _$mergeProps(common, {
1527
+ var _el$67 = _$getNextElement(_tmpl$35),
1528
+ _el$68 = _el$67.firstChild,
1529
+ [_el$69, _co$1] = _$getNextMarker(_el$68.nextSibling),
1530
+ _el$70 = _el$69.nextSibling,
1531
+ [_el$71, _co$10] = _$getNextMarker(_el$70.nextSibling);
1532
+ _$spread(_el$67, _$mergeProps(common, {
1501
1533
  get ["data-disabled"]() {
1502
1534
  return props.disabled ? "true" : undefined;
1503
1535
  }
1504
1536
  }), false, true);
1505
- _$insert(_el$64, _$createComponent(Control, {
1537
+ _$insert(_el$67, _$createComponent(Control, {
1506
1538
  grouped: true
1507
- }), _el$66, _co$0);
1508
- _$insert(_el$64, () => props.actions, _el$68, _co$1);
1539
+ }), _el$69, _co$1);
1540
+ _$insert(_el$67, () => props.actions, _el$71, _co$10);
1509
1541
  _$runHydrationEvents();
1510
- return _el$64;
1542
+ return _el$67;
1511
1543
  }
1512
1544
  });
1513
1545
  }
@@ -1540,89 +1572,89 @@ function AppWorkspaceSidebarItem(props) {
1540
1572
  return iconContent() || icon();
1541
1573
  },
1542
1574
  get children() {
1543
- var _el$69 = _$getNextElement(_tmpl$35);
1544
- _$insert(_el$69, () => iconContent() ?? (() => {
1545
- var _el$84 = _$getNextElement(_tmpl$41);
1546
- _$effect(() => _$className(_el$84, iconClass(icon())));
1547
- return _el$84;
1575
+ var _el$72 = _$getNextElement(_tmpl$36);
1576
+ _$insert(_el$72, () => iconContent() ?? (() => {
1577
+ var _el$87 = _$getNextElement(_tmpl$42);
1578
+ _$effect(() => _$className(_el$87, iconClass(icon())));
1579
+ return _el$87;
1548
1580
  })());
1549
- _$effect(() => _$className(_el$69,
1581
+ _$effect(() => _$className(_el$72,
1550
1582
  // An object row's own glyph sits in a soft chip of the app colour; custom content such as an avatar keeps
1551
1583
  // its own look.
1552
1584
  props.variant === "object" && !iconContent() ? "k2b-app-workspace__sidebar-item-icon k2b-icon-tile" : "k2b-app-workspace__sidebar-item-icon"));
1553
- return _el$69;
1585
+ return _el$72;
1554
1586
  }
1555
1587
  }), (() => {
1556
- var _el$70 = _$getNextElement(_tmpl$39),
1557
- _el$79 = _el$70.firstChild,
1558
- [_el$80, _co$11] = _$getNextMarker(_el$79.nextSibling),
1559
- _el$76 = _el$80.nextSibling,
1560
- _el$77 = _el$76.firstChild,
1561
- _el$81 = _el$76.nextSibling,
1562
- [_el$82, _co$12] = _$getNextMarker(_el$81.nextSibling);
1563
- _$insert(_el$70, _$createComponent(Show, {
1588
+ var _el$73 = _$getNextElement(_tmpl$40),
1589
+ _el$82 = _el$73.firstChild,
1590
+ [_el$83, _co$12] = _$getNextMarker(_el$82.nextSibling),
1591
+ _el$79 = _el$83.nextSibling,
1592
+ _el$80 = _el$79.firstChild,
1593
+ _el$84 = _el$79.nextSibling,
1594
+ [_el$85, _co$13] = _$getNextMarker(_el$84.nextSibling);
1595
+ _$insert(_el$73, _$createComponent(Show, {
1564
1596
  get when() {
1565
1597
  return props.context || props.contextMeta;
1566
1598
  },
1567
1599
  get children() {
1568
- var _el$71 = _$getNextElement(_tmpl$37),
1569
- _el$72 = _el$71.firstChild,
1570
- _el$74 = _el$72.nextSibling,
1571
- [_el$75, _co$10] = _$getNextMarker(_el$74.nextSibling);
1572
- _$insert(_el$72, () => props.context);
1573
- _$insert(_el$71, _$createComponent(Show, {
1600
+ var _el$74 = _$getNextElement(_tmpl$38),
1601
+ _el$75 = _el$74.firstChild,
1602
+ _el$77 = _el$75.nextSibling,
1603
+ [_el$78, _co$11] = _$getNextMarker(_el$77.nextSibling);
1604
+ _$insert(_el$75, () => props.context);
1605
+ _$insert(_el$74, _$createComponent(Show, {
1574
1606
  get when() {
1575
1607
  return props.contextMeta;
1576
1608
  },
1577
1609
  get children() {
1578
- var _el$73 = _$getNextElement(_tmpl$36);
1579
- _$insert(_el$73, () => props.contextMeta);
1580
- return _el$73;
1610
+ var _el$76 = _$getNextElement(_tmpl$37);
1611
+ _$insert(_el$76, () => props.contextMeta);
1612
+ return _el$76;
1581
1613
  }
1582
- }), _el$75, _co$10);
1583
- return _el$71;
1614
+ }), _el$78, _co$11);
1615
+ return _el$74;
1584
1616
  }
1585
- }), _el$80, _co$11);
1586
- _$insert(_el$77, () => label());
1587
- _$insert(_el$70, _$createComponent(Show, {
1617
+ }), _el$83, _co$12);
1618
+ _$insert(_el$80, () => label());
1619
+ _$insert(_el$73, _$createComponent(Show, {
1588
1620
  get when() {
1589
1621
  return props.description;
1590
1622
  },
1591
1623
  get children() {
1592
- var _el$78 = _$getNextElement(_tmpl$38);
1593
- _$insert(_el$78, () => props.description);
1594
- return _el$78;
1624
+ var _el$81 = _$getNextElement(_tmpl$39);
1625
+ _$insert(_el$81, () => props.description);
1626
+ return _el$81;
1595
1627
  }
1596
- }), _el$82, _co$12);
1628
+ }), _el$85, _co$13);
1597
1629
  _$effect(_p$ => {
1598
- var _v$60 = oneLine() ? "1" : undefined,
1599
- _v$61 = !oneLine() && typeof label() === "string" ? label() : undefined;
1600
- _v$60 !== _p$.e && _$setAttribute(_el$76, "data-lines", _p$.e = _v$60);
1601
- _v$61 !== _p$.t && _$setAttribute(_el$76, "data-label", _p$.t = _v$61);
1630
+ var _v$61 = oneLine() ? "1" : undefined,
1631
+ _v$62 = !oneLine() && typeof label() === "string" ? label() : undefined;
1632
+ _v$61 !== _p$.e && _$setAttribute(_el$79, "data-lines", _p$.e = _v$61);
1633
+ _v$62 !== _p$.t && _$setAttribute(_el$79, "data-label", _p$.t = _v$62);
1602
1634
  return _p$;
1603
1635
  }, {
1604
1636
  e: undefined,
1605
1637
  t: undefined
1606
1638
  });
1607
- return _el$70;
1639
+ return _el$73;
1608
1640
  })(), _$createComponent(Show, {
1609
1641
  get when() {
1610
1642
  return hasMeta();
1611
1643
  },
1612
1644
  get children() {
1613
- var _el$83 = _$getNextElement(_tmpl$40);
1614
- _$insert(_el$83, meta);
1645
+ var _el$86 = _$getNextElement(_tmpl$41);
1646
+ _$insert(_el$86, meta);
1615
1647
  _$effect(_p$ => {
1616
- var _v$62 = props.preview?.trigger === "row" ? metaId : undefined,
1617
- _v$63 = metaVisibility() === "hover" ? "hover" : undefined;
1618
- _v$62 !== _p$.e && _$setAttribute(_el$83, "id", _p$.e = _v$62);
1619
- _v$63 !== _p$.t && _$setAttribute(_el$83, "data-visibility", _p$.t = _v$63);
1648
+ var _v$63 = props.preview?.trigger === "row" ? metaId : undefined,
1649
+ _v$64 = metaVisibility() === "hover" ? "hover" : undefined;
1650
+ _v$63 !== _p$.e && _$setAttribute(_el$86, "id", _p$.e = _v$63);
1651
+ _v$64 !== _p$.t && _$setAttribute(_el$86, "data-visibility", _p$.t = _v$64);
1620
1652
  return _p$;
1621
1653
  }, {
1622
1654
  e: undefined,
1623
1655
  t: undefined
1624
1656
  });
1625
- return _el$83;
1657
+ return _el$86;
1626
1658
  }
1627
1659
  })];
1628
1660
  const singleAction = () => {
@@ -1638,9 +1670,9 @@ function AppWorkspaceSidebarItem(props) {
1638
1670
  props.onActionClick?.(event);
1639
1671
  };
1640
1672
  const content = () => actionSlot()?.children ?? (() => {
1641
- var _el$85 = _$getNextElement(_tmpl$41);
1642
- _$effect(() => _$className(_el$85, iconClass(actionSlot()?.icon ?? props.actionIcon, "ti-dots")));
1643
- return _el$85;
1673
+ var _el$88 = _$getNextElement(_tmpl$42);
1674
+ _$effect(() => _$className(_el$88, iconClass(actionSlot()?.icon ?? props.actionIcon, "ti-dots")));
1675
+ return _el$88;
1644
1676
  })();
1645
1677
  return _$createComponent(Show, {
1646
1678
  get when() {
@@ -1653,16 +1685,16 @@ function AppWorkspaceSidebarItem(props) {
1653
1685
  },
1654
1686
  get fallback() {
1655
1687
  return (() => {
1656
- var _el$87 = _$getNextElement(_tmpl$43);
1657
- _el$87.$$click = select;
1658
- _$insert(_el$87, content);
1688
+ var _el$90 = _$getNextElement(_tmpl$44);
1689
+ _el$90.$$click = select;
1690
+ _$insert(_el$90, content);
1659
1691
  _$effect(_p$ => {
1660
- var _v$67 = actionSlot()?.disabled,
1661
- _v$68 = actionSlot()?.visibility === "hover" ? "hover" : undefined,
1662
- _v$69 = label();
1663
- _v$67 !== _p$.e && _$setProperty(_el$87, "disabled", _p$.e = _v$67);
1664
- _v$68 !== _p$.t && _$setAttribute(_el$87, "data-visibility", _p$.t = _v$68);
1665
- _v$69 !== _p$.a && _$setAttribute(_el$87, "aria-label", _p$.a = _v$69);
1692
+ var _v$68 = actionSlot()?.disabled,
1693
+ _v$69 = actionSlot()?.visibility === "hover" ? "hover" : undefined,
1694
+ _v$70 = label();
1695
+ _v$68 !== _p$.e && _$setProperty(_el$90, "disabled", _p$.e = _v$68);
1696
+ _v$69 !== _p$.t && _$setAttribute(_el$90, "data-visibility", _p$.t = _v$69);
1697
+ _v$70 !== _p$.a && _$setAttribute(_el$90, "aria-label", _p$.a = _v$70);
1666
1698
  return _p$;
1667
1699
  }, {
1668
1700
  e: undefined,
@@ -1670,20 +1702,20 @@ function AppWorkspaceSidebarItem(props) {
1670
1702
  a: undefined
1671
1703
  });
1672
1704
  _$runHydrationEvents();
1673
- return _el$87;
1705
+ return _el$90;
1674
1706
  })();
1675
1707
  },
1676
1708
  get children() {
1677
- var _el$86 = _$getNextElement(_tmpl$42);
1678
- _el$86.$$click = select;
1679
- _$insert(_el$86, content);
1709
+ var _el$89 = _$getNextElement(_tmpl$43);
1710
+ _el$89.$$click = select;
1711
+ _$insert(_el$89, content);
1680
1712
  _$effect(_p$ => {
1681
- var _v$64 = actionSlot()?.href,
1682
- _v$65 = actionSlot()?.visibility === "hover" ? "hover" : undefined,
1683
- _v$66 = label();
1684
- _v$64 !== _p$.e && _$setAttribute(_el$86, "href", _p$.e = _v$64);
1685
- _v$65 !== _p$.t && _$setAttribute(_el$86, "data-visibility", _p$.t = _v$65);
1686
- _v$66 !== _p$.a && _$setAttribute(_el$86, "aria-label", _p$.a = _v$66);
1713
+ var _v$65 = actionSlot()?.href,
1714
+ _v$66 = actionSlot()?.visibility === "hover" ? "hover" : undefined,
1715
+ _v$67 = label();
1716
+ _v$65 !== _p$.e && _$setAttribute(_el$89, "href", _p$.e = _v$65);
1717
+ _v$66 !== _p$.t && _$setAttribute(_el$89, "data-visibility", _p$.t = _v$66);
1718
+ _v$67 !== _p$.a && _$setAttribute(_el$89, "aria-label", _p$.a = _v$67);
1687
1719
  return _p$;
1688
1720
  }, {
1689
1721
  e: undefined,
@@ -1691,7 +1723,7 @@ function AppWorkspaceSidebarItem(props) {
1691
1723
  a: undefined
1692
1724
  });
1693
1725
  _$runHydrationEvents();
1694
- return _el$86;
1726
+ return _el$89;
1695
1727
  }
1696
1728
  });
1697
1729
  }
@@ -1992,16 +2024,16 @@ const AppWorkspaceNavTree = props => {
1992
2024
  return rowIcon();
1993
2025
  },
1994
2026
  get children() {
1995
- var _el$88 = _$getNextElement(_tmpl$44),
1996
- _el$89 = _el$88.firstChild;
1997
- _$spread(_el$88, _$mergeProps({
2027
+ var _el$91 = _$getNextElement(_tmpl$45),
2028
+ _el$92 = _el$91.firstChild;
2029
+ _$spread(_el$91, _$mergeProps({
1998
2030
  get ["data-k2b-nav-tree-toggle"]() {
1999
2031
  return usesIconDisclosure() ? "" : undefined;
2000
2032
  }
2001
2033
  }, () => iconAccessibility(item.iconLabel)), false, true);
2002
- _$effect(() => _$className(_el$89, iconClass(rowIcon())));
2034
+ _$effect(() => _$className(_el$92, iconClass(rowIcon())));
2003
2035
  _$runHydrationEvents();
2004
- return _el$88;
2036
+ return _el$91;
2005
2037
  }
2006
2038
  }), _$createComponent(Show, {
2007
2039
  get when() {
@@ -2009,51 +2041,51 @@ const AppWorkspaceNavTree = props => {
2009
2041
  },
2010
2042
  get fallback() {
2011
2043
  return (() => {
2012
- var _el$97 = _$getNextElement(_tmpl$48),
2013
- _el$98 = _el$97.firstChild;
2014
- _$insert(_el$98, () => item.label);
2015
- _$effect(() => _$setAttribute(_el$97, "data-label", typeof item.label === "string" ? item.label : undefined));
2016
- return _el$97;
2044
+ var _el$100 = _$getNextElement(_tmpl$49),
2045
+ _el$101 = _el$100.firstChild;
2046
+ _$insert(_el$101, () => item.label);
2047
+ _$effect(() => _$setAttribute(_el$100, "data-label", typeof item.label === "string" ? item.label : undefined));
2048
+ return _el$100;
2017
2049
  })();
2018
2050
  },
2019
2051
  get children() {
2020
- var _el$90 = _$getNextElement(_tmpl$45),
2021
- _el$91 = _el$90.firstChild,
2022
- _el$92 = _el$91.firstChild,
2023
- _el$93 = _el$91.nextSibling;
2024
- _$insert(_el$92, () => item.label);
2025
- _$insert(_el$93, () => item.description);
2026
- _$effect(() => _$setAttribute(_el$91, "data-label", typeof item.label === "string" ? item.label : undefined));
2027
- return _el$90;
2052
+ var _el$93 = _$getNextElement(_tmpl$46),
2053
+ _el$94 = _el$93.firstChild,
2054
+ _el$95 = _el$94.firstChild,
2055
+ _el$96 = _el$94.nextSibling;
2056
+ _$insert(_el$95, () => item.label);
2057
+ _$insert(_el$96, () => item.description);
2058
+ _$effect(() => _$setAttribute(_el$94, "data-label", typeof item.label === "string" ? item.label : undefined));
2059
+ return _el$93;
2028
2060
  }
2029
2061
  }), _$createComponent(Show, {
2030
2062
  get when() {
2031
2063
  return item.meta !== undefined;
2032
2064
  },
2033
2065
  get children() {
2034
- var _el$94 = _$getNextElement(_tmpl$46);
2035
- _$insert(_el$94, () => item.meta);
2066
+ var _el$97 = _$getNextElement(_tmpl$47);
2067
+ _$insert(_el$97, () => item.meta);
2036
2068
  _$effect(_p$ => {
2037
- var _v$70 = `k2b-app-workspace__sidebar-item-meta ${hasChildren() ? "" : "k2b-app-workspace__nav-tree-leaf-meta"}`,
2038
- _v$71 = item.metaVisibility === "hover" ? "hover" : undefined;
2039
- _v$70 !== _p$.e && _$className(_el$94, _p$.e = _v$70);
2040
- _v$71 !== _p$.t && _$setAttribute(_el$94, "data-visibility", _p$.t = _v$71);
2069
+ var _v$71 = `k2b-app-workspace__sidebar-item-meta ${hasChildren() ? "" : "k2b-app-workspace__nav-tree-leaf-meta"}`,
2070
+ _v$72 = item.metaVisibility === "hover" ? "hover" : undefined;
2071
+ _v$71 !== _p$.e && _$className(_el$97, _p$.e = _v$71);
2072
+ _v$72 !== _p$.t && _$setAttribute(_el$97, "data-visibility", _p$.t = _v$72);
2041
2073
  return _p$;
2042
2074
  }, {
2043
2075
  e: undefined,
2044
2076
  t: undefined
2045
2077
  });
2046
- return _el$94;
2078
+ return _el$97;
2047
2079
  }
2048
2080
  }), _$createComponent(Show, {
2049
2081
  get when() {
2050
2082
  return _$memo(() => !!hasChildren())() && !usesIconDisclosure();
2051
2083
  },
2052
2084
  get children() {
2053
- var _el$95 = _$getNextElement(_tmpl$47),
2054
- _el$96 = _el$95.firstChild;
2055
- _$effect(() => _$className(_el$96, `ti ${isExpanded(item.id) ? "ti-chevron-down" : "ti-chevron-right"}`));
2056
- return _el$95;
2085
+ var _el$98 = _$getNextElement(_tmpl$48),
2086
+ _el$99 = _el$98.firstChild;
2087
+ _$effect(() => _$className(_el$99, `ti ${isExpanded(item.id) ? "ti-chevron-down" : "ti-chevron-right"}`));
2088
+ return _el$98;
2057
2089
  }
2058
2090
  })];
2059
2091
  const row = () => _$createComponent(AppWorkspaceSidebarRow, {
@@ -2161,56 +2193,56 @@ const AppWorkspaceNavTree = props => {
2161
2193
  requestMove(target.move, false);
2162
2194
  };
2163
2195
  return (() => {
2164
- var _el$99 = _$getNextElement(_tmpl$50),
2165
- _el$101 = _el$99.firstChild,
2166
- [_el$102, _co$13] = _$getNextMarker(_el$101.nextSibling),
2167
- _el$103 = _el$102.nextSibling,
2168
- [_el$104, _co$14] = _$getNextMarker(_el$103.nextSibling);
2169
- _el$99.addEventListener("drop", onDrop);
2170
- _$addEventListener(_el$99, "dragleave", item.onDragLeave);
2171
- _el$99.addEventListener("dragover", onDragOver);
2172
- _$addEventListener(_el$99, "dragenter", item.onDragEnter);
2173
- _el$99.addEventListener("dragstart", onDragStart);
2174
- _el$99.$$keydown = onKeyDown;
2175
- _el$99.addEventListener("focus", () => setFocusedId(item.id));
2196
+ var _el$102 = _$getNextElement(_tmpl$51),
2197
+ _el$104 = _el$102.firstChild,
2198
+ [_el$105, _co$14] = _$getNextMarker(_el$104.nextSibling),
2199
+ _el$106 = _el$105.nextSibling,
2200
+ [_el$107, _co$15] = _$getNextMarker(_el$106.nextSibling);
2201
+ _el$102.addEventListener("drop", onDrop);
2202
+ _$addEventListener(_el$102, "dragleave", item.onDragLeave);
2203
+ _el$102.addEventListener("dragover", onDragOver);
2204
+ _$addEventListener(_el$102, "dragenter", item.onDragEnter);
2205
+ _el$102.addEventListener("dragstart", onDragStart);
2206
+ _el$102.$$keydown = onKeyDown;
2207
+ _el$102.addEventListener("focus", () => setFocusedId(item.id));
2176
2208
  var _ref$6 = treeItem;
2177
- typeof _ref$6 === "function" ? _$use(_ref$6, _el$99) : treeItem = _el$99;
2178
- _$setAttribute(_el$99, "aria-level", depth + 1);
2179
- _$setAttribute(_el$99, "data-k2b-nav-tree-parent-id", parentId);
2180
- _$insert(_el$99, row, _el$102, _co$13);
2181
- _$insert(_el$99, _$createComponent(Show, {
2209
+ typeof _ref$6 === "function" ? _$use(_ref$6, _el$102) : treeItem = _el$102;
2210
+ _$setAttribute(_el$102, "aria-level", depth + 1);
2211
+ _$setAttribute(_el$102, "data-k2b-nav-tree-parent-id", parentId);
2212
+ _$insert(_el$102, row, _el$105, _co$14);
2213
+ _$insert(_el$102, _$createComponent(Show, {
2182
2214
  get when() {
2183
2215
  return _$memo(() => !!hasChildren())() && isExpanded(item.id);
2184
2216
  },
2185
2217
  get children() {
2186
- var _el$100 = _$getNextElement(_tmpl$49);
2187
- _$insert(_el$100, () => renderItems(nested, depth + 1, item.id));
2188
- return _el$100;
2218
+ var _el$103 = _$getNextElement(_tmpl$50);
2219
+ _$insert(_el$103, () => renderItems(nested, depth + 1, item.id));
2220
+ return _el$103;
2189
2221
  }
2190
- }), _el$104, _co$14);
2222
+ }), _el$107, _co$15);
2191
2223
  _$effect(_p$ => {
2192
- var _v$72 = siblings().length,
2193
- _v$73 = place() + 1,
2194
- _v$74 = selected(),
2195
- _v$75 = hasChildren() ? isExpanded(item.id) : undefined,
2196
- _v$76 = item.disabled ? "true" : undefined,
2197
- _v$77 = item.disabled ? -1 : tabStopId() === item.id ? 0 : -1,
2198
- _v$78 = movable() ? true : undefined,
2199
- _v$79 = item.id,
2200
- _v$80 = dragged()?.id === item.id ? "" : undefined,
2201
- _v$81 = dropTarget()?.id === item.id ? dropTarget().side : undefined,
2202
- _v$82 = String(props.indented === false ? 0 : depth);
2203
- _v$72 !== _p$.e && _$setAttribute(_el$99, "aria-setsize", _p$.e = _v$72);
2204
- _v$73 !== _p$.t && _$setAttribute(_el$99, "aria-posinset", _p$.t = _v$73);
2205
- _v$74 !== _p$.a && _$setAttribute(_el$99, "aria-selected", _p$.a = _v$74);
2206
- _v$75 !== _p$.o && _$setAttribute(_el$99, "aria-expanded", _p$.o = _v$75);
2207
- _v$76 !== _p$.i && _$setAttribute(_el$99, "aria-disabled", _p$.i = _v$76);
2208
- _v$77 !== _p$.n && _$setAttribute(_el$99, "tabindex", _p$.n = _v$77);
2209
- _v$78 !== _p$.s && _$setAttribute(_el$99, "draggable", _p$.s = _v$78);
2210
- _v$79 !== _p$.h && _$setAttribute(_el$99, "data-k2b-nav-tree-id", _p$.h = _v$79);
2211
- _v$80 !== _p$.r && _$setAttribute(_el$99, "data-k2b-nav-tree-dragging", _p$.r = _v$80);
2212
- _v$81 !== _p$.d && _$setAttribute(_el$99, "data-k2b-nav-tree-drop", _p$.d = _v$81);
2213
- _v$82 !== _p$.l && _$setStyleProperty(_el$99, "--k2b-nav-tree-depth", _p$.l = _v$82);
2224
+ var _v$73 = siblings().length,
2225
+ _v$74 = place() + 1,
2226
+ _v$75 = selected(),
2227
+ _v$76 = hasChildren() ? isExpanded(item.id) : undefined,
2228
+ _v$77 = item.disabled ? "true" : undefined,
2229
+ _v$78 = item.disabled ? -1 : tabStopId() === item.id ? 0 : -1,
2230
+ _v$79 = movable() ? true : undefined,
2231
+ _v$80 = item.id,
2232
+ _v$81 = dragged()?.id === item.id ? "" : undefined,
2233
+ _v$82 = dropTarget()?.id === item.id ? dropTarget().side : undefined,
2234
+ _v$83 = String(props.indented === false ? 0 : depth);
2235
+ _v$73 !== _p$.e && _$setAttribute(_el$102, "aria-setsize", _p$.e = _v$73);
2236
+ _v$74 !== _p$.t && _$setAttribute(_el$102, "aria-posinset", _p$.t = _v$74);
2237
+ _v$75 !== _p$.a && _$setAttribute(_el$102, "aria-selected", _p$.a = _v$75);
2238
+ _v$76 !== _p$.o && _$setAttribute(_el$102, "aria-expanded", _p$.o = _v$76);
2239
+ _v$77 !== _p$.i && _$setAttribute(_el$102, "aria-disabled", _p$.i = _v$77);
2240
+ _v$78 !== _p$.n && _$setAttribute(_el$102, "tabindex", _p$.n = _v$78);
2241
+ _v$79 !== _p$.s && _$setAttribute(_el$102, "draggable", _p$.s = _v$79);
2242
+ _v$80 !== _p$.h && _$setAttribute(_el$102, "data-k2b-nav-tree-id", _p$.h = _v$80);
2243
+ _v$81 !== _p$.r && _$setAttribute(_el$102, "data-k2b-nav-tree-dragging", _p$.r = _v$81);
2244
+ _v$82 !== _p$.d && _$setAttribute(_el$102, "data-k2b-nav-tree-drop", _p$.d = _v$82);
2245
+ _v$83 !== _p$.l && _$setStyleProperty(_el$102, "--k2b-nav-tree-depth", _p$.l = _v$83);
2214
2246
  return _p$;
2215
2247
  }, {
2216
2248
  e: undefined,
@@ -2226,7 +2258,7 @@ const AppWorkspaceNavTree = props => {
2226
2258
  l: undefined
2227
2259
  });
2228
2260
  _$runHydrationEvents();
2229
- return _el$99;
2261
+ return _el$102;
2230
2262
  })();
2231
2263
  }
2232
2264
  });
@@ -2251,62 +2283,62 @@ const AppWorkspaceNavTree = props => {
2251
2283
  });
2252
2284
  });
2253
2285
  return (() => {
2254
- var _el$105 = _$getNextElement(_tmpl$51);
2255
- _el$105.addEventListener("dragend", endDrag);
2256
- _el$105.addEventListener("dragleave", event => {
2286
+ var _el$108 = _$getNextElement(_tmpl$52);
2287
+ _el$108.addEventListener("dragend", endDrag);
2288
+ _el$108.addEventListener("dragleave", event => {
2257
2289
  if (!root?.contains(event.relatedTarget)) setDropTarget(null);
2258
2290
  });
2259
- _el$105.addEventListener("dragover", event => {
2291
+ _el$108.addEventListener("dragover", event => {
2260
2292
  // Runs after the rows: a position no row claimed shows no gap.
2261
2293
  if (claimedDragOver !== event) setDropTarget(null);
2262
2294
  });
2263
2295
  var _ref$7 = root;
2264
- typeof _ref$7 === "function" ? _$use(_ref$7, _el$105) : root = _el$105;
2265
- _$insert(_el$105, () => renderItems(roots, 0));
2296
+ typeof _ref$7 === "function" ? _$use(_ref$7, _el$108) : root = _el$108;
2297
+ _$insert(_el$108, () => renderItems(roots, 0));
2266
2298
  _$effect(_p$ => {
2267
- var _v$83 = `k2b-app-workspace__nav-tree ${props.class ?? ""}`,
2268
- _v$84 = props.ariaLabel;
2269
- _v$83 !== _p$.e && _$className(_el$105, _p$.e = _v$83);
2270
- _v$84 !== _p$.t && _$setAttribute(_el$105, "aria-label", _p$.t = _v$84);
2299
+ var _v$84 = `k2b-app-workspace__nav-tree ${props.class ?? ""}`,
2300
+ _v$85 = props.ariaLabel;
2301
+ _v$84 !== _p$.e && _$className(_el$108, _p$.e = _v$84);
2302
+ _v$85 !== _p$.t && _$setAttribute(_el$108, "aria-label", _p$.t = _v$85);
2271
2303
  return _p$;
2272
2304
  }, {
2273
2305
  e: undefined,
2274
2306
  t: undefined
2275
2307
  });
2276
- return _el$105;
2308
+ return _el$108;
2277
2309
  })();
2278
2310
  };
2279
2311
  AppWorkspaceNavTree.Item = AppWorkspaceNavTreeItem;
2280
2312
  const AppWorkspaceSidebarIconGrid = props => (() => {
2281
- var _el$106 = _$getNextElement(_tmpl$52),
2282
- _el$108 = _el$106.firstChild,
2283
- [_el$109, _co$15] = _$getNextMarker(_el$108.nextSibling),
2284
- _el$107 = _el$109.nextSibling;
2285
- _$spread(_el$106, _$mergeProps({
2313
+ var _el$109 = _$getNextElement(_tmpl$53),
2314
+ _el$111 = _el$109.firstChild,
2315
+ [_el$112, _co$16] = _$getNextMarker(_el$111.nextSibling),
2316
+ _el$110 = _el$112.nextSibling;
2317
+ _$spread(_el$109, _$mergeProps({
2286
2318
  get ["class"]() {
2287
2319
  return `k2b-app-workspace__sidebar-icon-grid-wrap ${props.class ?? ""}`;
2288
2320
  }
2289
2321
  }, () => modeAttrs(props.sidebarMode)), false, true);
2290
- _$insert(_el$106, _$createComponent(Show, {
2322
+ _$insert(_el$109, _$createComponent(Show, {
2291
2323
  get when() {
2292
2324
  return props.title;
2293
2325
  },
2294
2326
  children: title => (() => {
2295
- var _el$110 = _$getNextElement(_tmpl$23);
2296
- _$insert(_el$110, title);
2297
- return _el$110;
2327
+ var _el$113 = _$getNextElement(_tmpl$24);
2328
+ _$insert(_el$113, title);
2329
+ return _el$113;
2298
2330
  })()
2299
- }), _el$109, _co$15);
2300
- _$insert(_el$107, () => props.children);
2301
- _$effect(() => _$setAttribute(_el$107, "data-columns", props.columns ?? 2));
2331
+ }), _el$112, _co$16);
2332
+ _$insert(_el$110, () => props.children);
2333
+ _$effect(() => _$setAttribute(_el$110, "data-columns", props.columns ?? 2));
2302
2334
  _$runHydrationEvents();
2303
- return _el$106;
2335
+ return _el$109;
2304
2336
  })();
2305
2337
  const AppWorkspaceSidebarIconAction = props => {
2306
2338
  const content = (() => {
2307
- var _el$111 = _$getNextElement(_tmpl$53);
2308
- _$effect(() => _$className(_el$111, iconClass(props.icon)));
2309
- return _el$111;
2339
+ var _el$114 = _$getNextElement(_tmpl$54);
2340
+ _$effect(() => _$className(_el$114, iconClass(props.icon)));
2341
+ return _el$114;
2310
2342
  })();
2311
2343
  const attrs = () => ({
2312
2344
  class: `k2b-app-workspace__sidebar-icon-action ${props.active ? "is-active" : ""}`,
@@ -2319,8 +2351,8 @@ const AppWorkspaceSidebarIconAction = props => {
2319
2351
  ...modeAttrs(props.sidebarMode)
2320
2352
  });
2321
2353
  if (!props.href || props.disabled) return (() => {
2322
- var _el$112 = _$getNextElement(_tmpl$32);
2323
- _$spread(_el$112, _$mergeProps(attrs, {
2354
+ var _el$115 = _$getNextElement(_tmpl$33);
2355
+ _$spread(_el$115, _$mergeProps(attrs, {
2324
2356
  get disabled() {
2325
2357
  return props.disabled;
2326
2358
  },
@@ -2328,13 +2360,13 @@ const AppWorkspaceSidebarIconAction = props => {
2328
2360
  return props.onClick;
2329
2361
  }
2330
2362
  }), false, true);
2331
- _$insert(_el$112, content);
2363
+ _$insert(_el$115, content);
2332
2364
  _$runHydrationEvents();
2333
- return _el$112;
2365
+ return _el$115;
2334
2366
  })();
2335
2367
  if (props.navigation !== "enhanced" || !props.onNavigate) return (() => {
2336
- var _el$113 = _$getNextElement(_tmpl$33);
2337
- _$spread(_el$113, _$mergeProps({
2368
+ var _el$116 = _$getNextElement(_tmpl$34);
2369
+ _$spread(_el$116, _$mergeProps({
2338
2370
  get href() {
2339
2371
  return props.href;
2340
2372
  }
@@ -2343,9 +2375,9 @@ const AppWorkspaceSidebarIconAction = props => {
2343
2375
  return props.onClick;
2344
2376
  }
2345
2377
  }), false, true);
2346
- _$insert(_el$113, content);
2378
+ _$insert(_el$116, content);
2347
2379
  _$runHydrationEvents();
2348
- return _el$113;
2380
+ return _el$116;
2349
2381
  })();
2350
2382
  return _$createComponent(Link, _$mergeProps({
2351
2383
  get href() {
@@ -2392,32 +2424,53 @@ function AppWorkspaceHead(props) {
2392
2424
  const resolvedCount = children(() => props.head?.count);
2393
2425
  // A nested workspace is part of a page that already shows its title.
2394
2426
  const trail = props.nested ? () => undefined : usePageTrail();
2427
+ // Main already publishes the active region in SSR and on each selection.
2428
+ // Scope both sides to this workspace, including transparent island hosts;
2429
+ // a nested Main must never decide whether its parent's head is visible.
2430
+ const mobilePane = () => props.head?.mobilePane === undefined ? undefined : assertStableUiId(props.head.mobilePane, "AppWorkspace.Head mobilePane");
2431
+ const mobilePaneRule = pane => {
2432
+ const main = `.k2b-app-workspace__main.has-panes:not([data-workspace-levels]) > [data-workspace-mobile-active="true"]:not([data-workspace-main-region="${pane}"])`;
2433
+ const host = `.k2b-ui .k2b-app-workspace:has(> .k2b-app-workspace__head[data-workspace-head-pane="${pane}"]):has(> .k2b-app-workspace__content > ${main}, > .k2b-app-workspace__content > :is(solid-island, solid-client) > ${main})`;
2434
+ return `@media not all and (min-width:48rem){${host} > .k2b-app-workspace__head,${host} > .k2b-app-workspace__content > .k2b-app-workspace__detail-toggle,${host} > .k2b-app-workspace__content > :is(solid-island, solid-client) > .k2b-app-workspace__detail-toggle{display:none}}`;
2435
+ };
2395
2436
  const resetContent = () => filters().reset;
2396
2437
  const primaryContent = () => [(() => {
2397
- var _el$114 = _$getNextElement(_tmpl$53);
2398
- _$effect(() => _$className(_el$114, props.head?.primary?.icon));
2399
- return _el$114;
2438
+ var _el$117 = _$getNextElement(_tmpl$54);
2439
+ _$effect(() => _$className(_el$117, props.head?.primary?.icon));
2440
+ return _el$117;
2400
2441
  })(), (() => {
2401
- var _el$115 = _$getNextElement(_tmpl$54);
2402
- _$insert(_el$115, () => props.head?.primary?.label);
2403
- return _el$115;
2442
+ var _el$118 = _$getNextElement(_tmpl$55);
2443
+ _$insert(_el$118, () => props.head?.primary?.label);
2444
+ return _el$118;
2404
2445
  })()];
2405
2446
  return (() => {
2406
- var _el$116 = _$getNextElement(_tmpl$60),
2407
- _el$117 = _el$116.firstChild,
2408
- _el$127 = _el$117.firstChild,
2409
- [_el$128, _co$18] = _$getNextMarker(_el$127.nextSibling),
2410
- _el$129 = _el$128.nextSibling,
2411
- [_el$130, _co$19] = _$getNextMarker(_el$129.nextSibling),
2412
- _el$131 = _el$130.nextSibling,
2413
- [_el$132, _co$20] = _$getNextMarker(_el$131.nextSibling),
2414
- _el$133 = _el$132.nextSibling,
2415
- [_el$134, _co$21] = _$getNextMarker(_el$133.nextSibling),
2416
- _el$135 = _el$134.nextSibling,
2417
- [_el$136, _co$22] = _$getNextMarker(_el$135.nextSibling),
2418
- _el$142 = _el$117.nextSibling,
2419
- [_el$143, _co$25] = _$getNextMarker(_el$142.nextSibling);
2420
- _$insert(_el$117, _$createComponent(IconButton, {
2447
+ var _el$119 = _$getNextElement(_tmpl$61),
2448
+ _el$145 = _el$119.firstChild,
2449
+ [_el$146, _co$26] = _$getNextMarker(_el$145.nextSibling),
2450
+ _el$120 = _el$146.nextSibling,
2451
+ _el$130 = _el$120.firstChild,
2452
+ [_el$131, _co$19] = _$getNextMarker(_el$130.nextSibling),
2453
+ _el$132 = _el$131.nextSibling,
2454
+ [_el$133, _co$20] = _$getNextMarker(_el$132.nextSibling),
2455
+ _el$134 = _el$133.nextSibling,
2456
+ [_el$135, _co$21] = _$getNextMarker(_el$134.nextSibling),
2457
+ _el$136 = _el$135.nextSibling,
2458
+ [_el$137, _co$22] = _$getNextMarker(_el$136.nextSibling),
2459
+ _el$138 = _el$137.nextSibling,
2460
+ [_el$139, _co$23] = _$getNextMarker(_el$138.nextSibling),
2461
+ _el$147 = _el$120.nextSibling,
2462
+ [_el$148, _co$27] = _$getNextMarker(_el$147.nextSibling);
2463
+ _$insert(_el$119, _$createComponent(Show, {
2464
+ get when() {
2465
+ return mobilePane();
2466
+ },
2467
+ children: pane => (() => {
2468
+ var _el$149 = _$getNextElement(_tmpl$7);
2469
+ _$effect(() => _$setProperty(_el$149, "innerHTML", mobilePaneRule(pane())));
2470
+ return _el$149;
2471
+ })()
2472
+ }), _el$146, _co$26);
2473
+ _$insert(_el$120, _$createComponent(IconButton, {
2421
2474
  "class": "k2b-app-workspace__head-toggle",
2422
2475
  get label() {
2423
2476
  return messages().showNavigation;
@@ -2428,10 +2481,10 @@ function AppWorkspaceHead(props) {
2428
2481
  "aria-expanded": "false",
2429
2482
  "data-app-workspace-sidebar-toggle": "",
2430
2483
  get children() {
2431
- return _$getNextElement(_tmpl$55);
2484
+ return _$getNextElement(_tmpl$56);
2432
2485
  }
2433
- }), _el$128, _co$18);
2434
- _$insert(_el$117, _$createComponent(Show, {
2486
+ }), _el$131, _co$19);
2487
+ _$insert(_el$120, _$createComponent(Show, {
2435
2488
  get when() {
2436
2489
  return trail();
2437
2490
  },
@@ -2442,34 +2495,34 @@ function AppWorkspaceHead(props) {
2442
2495
  as: "p",
2443
2496
  fallback: true
2444
2497
  }), (() => {
2445
- var _el$144 = _$getNextElement(_tmpl$61);
2446
- _$setAttribute(_el$144, "data-k2b-server", isServer ? "" : undefined);
2447
- _$insert(_el$144, () => current().title);
2448
- return _el$144;
2498
+ var _el$150 = _$getNextElement(_tmpl$62);
2499
+ _$setAttribute(_el$150, "data-k2b-server", isServer ? "" : undefined);
2500
+ _$insert(_el$150, () => current().title);
2501
+ return _el$150;
2449
2502
  })()]
2450
- }), _el$130, _co$19);
2451
- _$insert(_el$117, _$createComponent(Show, {
2503
+ }), _el$133, _co$20);
2504
+ _$insert(_el$120, _$createComponent(Show, {
2452
2505
  get when() {
2453
2506
  return resolvedViews.toArray().some(Boolean);
2454
2507
  },
2455
2508
  get children() {
2456
- var _el$119 = _$getNextElement(_tmpl$56);
2457
- _$insert(_el$119, resolvedViews);
2458
- return _el$119;
2509
+ var _el$122 = _$getNextElement(_tmpl$57);
2510
+ _$insert(_el$122, resolvedViews);
2511
+ return _el$122;
2459
2512
  }
2460
- }), _el$132, _co$20);
2461
- _$insert(_el$117, _$createComponent(Show, {
2513
+ }), _el$135, _co$21);
2514
+ _$insert(_el$120, _$createComponent(Show, {
2462
2515
  get when() {
2463
2516
  return resolvedFilters.toArray().some(Boolean) || props.head?.filtered;
2464
2517
  },
2465
2518
  get children() {
2466
- var _el$120 = _$getNextElement(_tmpl$57),
2467
- _el$121 = _el$120.firstChild,
2468
- [_el$122, _co$16] = _$getNextMarker(_el$121.nextSibling),
2469
- _el$123 = _el$122.nextSibling,
2470
- [_el$124, _co$17] = _$getNextMarker(_el$123.nextSibling);
2471
- _$insert(_el$120, resolvedFilters, _el$122, _co$16);
2472
- _$insert(_el$120, _$createComponent(Show, {
2519
+ var _el$123 = _$getNextElement(_tmpl$58),
2520
+ _el$124 = _el$123.firstChild,
2521
+ [_el$125, _co$17] = _$getNextMarker(_el$124.nextSibling),
2522
+ _el$126 = _el$125.nextSibling,
2523
+ [_el$127, _co$18] = _$getNextMarker(_el$126.nextSibling);
2524
+ _$insert(_el$123, resolvedFilters, _el$125, _co$17);
2525
+ _$insert(_el$123, _$createComponent(Show, {
2473
2526
  get when() {
2474
2527
  return props.head?.filtered;
2475
2528
  },
@@ -2509,34 +2562,34 @@ function AppWorkspaceHead(props) {
2509
2562
  })
2510
2563
  });
2511
2564
  }
2512
- }), _el$124, _co$17);
2513
- _$effect(() => _$setAttribute(_el$120, "aria-label", filters().filters));
2514
- return _el$120;
2565
+ }), _el$127, _co$18);
2566
+ _$effect(() => _$setAttribute(_el$123, "aria-label", filters().filters));
2567
+ return _el$123;
2515
2568
  }
2516
- }), _el$134, _co$21);
2517
- _$insert(_el$117, _$createComponent(Show, {
2569
+ }), _el$137, _co$22);
2570
+ _$insert(_el$120, _$createComponent(Show, {
2518
2571
  get when() {
2519
2572
  return _$memo(() => !!props.head?.filtered)() && resolvedCount.toArray().some(value => value !== undefined && value !== null && value !== false);
2520
2573
  },
2521
2574
  get children() {
2522
- var _el$125 = _$getNextElement(_tmpl$58),
2523
- _el$126 = _el$125.firstChild;
2524
- _$insert(_el$126, resolvedCount);
2525
- return _el$125;
2575
+ var _el$128 = _$getNextElement(_tmpl$59),
2576
+ _el$129 = _el$128.firstChild;
2577
+ _$insert(_el$129, resolvedCount);
2578
+ return _el$128;
2526
2579
  }
2527
- }), _el$136, _co$22);
2528
- _$insert(_el$116, _$createComponent(Show, {
2580
+ }), _el$139, _co$23);
2581
+ _$insert(_el$119, _$createComponent(Show, {
2529
2582
  get when() {
2530
2583
  return resolvedActions.toArray().some(Boolean) || props.head?.primary;
2531
2584
  },
2532
2585
  get children() {
2533
- var _el$137 = _$getNextElement(_tmpl$59),
2534
- _el$138 = _el$137.firstChild,
2535
- [_el$139, _co$23] = _$getNextMarker(_el$138.nextSibling),
2536
- _el$140 = _el$139.nextSibling,
2537
- [_el$141, _co$24] = _$getNextMarker(_el$140.nextSibling);
2538
- _$insert(_el$137, resolvedActions, _el$139, _co$23);
2539
- _$insert(_el$137, _$createComponent(Show, {
2586
+ var _el$140 = _$getNextElement(_tmpl$60),
2587
+ _el$141 = _el$140.firstChild,
2588
+ [_el$142, _co$24] = _$getNextMarker(_el$141.nextSibling),
2589
+ _el$143 = _el$142.nextSibling,
2590
+ [_el$144, _co$25] = _$getNextMarker(_el$143.nextSibling);
2591
+ _$insert(_el$140, resolvedActions, _el$142, _co$24);
2592
+ _$insert(_el$140, _$createComponent(Show, {
2540
2593
  get when() {
2541
2594
  return props.head?.primary;
2542
2595
  },
@@ -2574,21 +2627,24 @@ function AppWorkspaceHead(props) {
2574
2627
  }
2575
2628
  })
2576
2629
  })
2577
- }), _el$141, _co$24);
2578
- return _el$137;
2630
+ }), _el$144, _co$25);
2631
+ return _el$140;
2579
2632
  }
2580
- }), _el$143, _co$25);
2633
+ }), _el$148, _co$27);
2581
2634
  _$effect(_p$ => {
2582
- var _v$85 = trail()?.ancestors.length ? "up" : trail() ? "title" : undefined,
2583
- _v$86 = props.head ? "" : undefined;
2584
- _v$85 !== _p$.e && _$setAttribute(_el$116, "data-trail", _p$.e = _v$85);
2585
- _v$86 !== _p$.t && _$setAttribute(_el$116, "data-row", _p$.t = _v$86);
2635
+ var _v$86 = trail()?.ancestors.length ? "up" : trail() ? "title" : undefined,
2636
+ _v$87 = props.head ? "" : undefined,
2637
+ _v$88 = mobilePane();
2638
+ _v$86 !== _p$.e && _$setAttribute(_el$119, "data-trail", _p$.e = _v$86);
2639
+ _v$87 !== _p$.t && _$setAttribute(_el$119, "data-row", _p$.t = _v$87);
2640
+ _v$88 !== _p$.a && _$setAttribute(_el$119, "data-workspace-head-pane", _p$.a = _v$88);
2586
2641
  return _p$;
2587
2642
  }, {
2588
2643
  e: undefined,
2589
- t: undefined
2644
+ t: undefined,
2645
+ a: undefined
2590
2646
  });
2591
- return _el$116;
2647
+ return _el$119;
2592
2648
  })();
2593
2649
  }
2594
2650
  const AppWorkspace = props => {
@@ -2621,14 +2677,17 @@ const AppWorkspace = props => {
2621
2677
  const slots = createMemo(() => flatten(resolved()));
2622
2678
  // Same props object, same memo value: a sibling change must not rebuild the head's slots.
2623
2679
  const head = createMemo(() => slots().find(headSlot)?.props);
2624
- const content = () => slots().filter(value => !headSlot(value));
2625
- return [_$createComponent(AppWorkspaceHead, {
2680
+ // Keep one head instance at the explicit slot's position. Object links
2681
+ // before it must also precede its view controls in SSR and keyboard order.
2682
+ // Callers without a slot retain the automatic leading head.
2683
+ const renderedHead = _$createComponent(AppWorkspaceHead, {
2626
2684
  sidebarId: sidebarId,
2627
2685
  nested: nested,
2628
2686
  get head() {
2629
2687
  return head();
2630
2688
  }
2631
- }), _$memo(content)];
2689
+ });
2690
+ return _$memo(() => head() ? slots().map(value => headSlot(value) ? value.props === head() ? renderedHead : null : value) : [renderedHead, ...slots()]);
2632
2691
  };
2633
2692
  return _$createComponent(ResizeContext.Provider, {
2634
2693
  get value() {
@@ -2638,23 +2697,23 @@ const AppWorkspace = props => {
2638
2697
  return _$createComponent(WorkspaceContext.Provider, {
2639
2698
  value: workspace,
2640
2699
  get children() {
2641
- var _el$145 = _$getNextElement(_tmpl$62);
2700
+ var _el$151 = _$getNextElement(_tmpl$63);
2642
2701
  var _ref$8 = root;
2643
- typeof _ref$8 === "function" ? _$use(_ref$8, _el$145) : root = _el$145;
2644
- _$insert(_el$145, contents);
2702
+ typeof _ref$8 === "function" ? _$use(_ref$8, _el$151) : root = _el$151;
2703
+ _$insert(_el$151, contents);
2645
2704
  _$effect(_p$ => {
2646
- var _v$87 = `k2b-app-workspace ${props.class ?? ""}`,
2647
- _v$88 = props.mobileSurface,
2648
- _v$89 = props.flat ? "true" : undefined,
2649
- _v$90 = initialLayoutState()?.sidebarCollapsed === undefined ? undefined : String(initialLayoutState()?.sidebarCollapsed),
2650
- _v$91 = props.resizable === false ? "false" : "true",
2651
- _v$92 = appWorkspaceLayoutStyle(initialLayoutState());
2652
- _v$87 !== _p$.e && _$className(_el$145, _p$.e = _v$87);
2653
- _v$88 !== _p$.t && _$setAttribute(_el$145, "data-mobile-surface", _p$.t = _v$88);
2654
- _v$89 !== _p$.a && _$setAttribute(_el$145, "data-flat", _p$.a = _v$89);
2655
- _v$90 !== _p$.o && _$setAttribute(_el$145, "data-sidebar-collapsed", _p$.o = _v$90);
2656
- _v$91 !== _p$.i && _$setAttribute(_el$145, "data-workspace-resizable", _p$.i = _v$91);
2657
- _p$.n = _$style(_el$145, _v$92, _p$.n);
2705
+ var _v$89 = `k2b-app-workspace ${props.class ?? ""}`,
2706
+ _v$90 = props.mobileSurface,
2707
+ _v$91 = props.flat ? "true" : undefined,
2708
+ _v$92 = initialLayoutState()?.sidebarCollapsed === undefined ? undefined : String(initialLayoutState()?.sidebarCollapsed),
2709
+ _v$93 = props.resizable === false ? "false" : "true",
2710
+ _v$94 = appWorkspaceLayoutStyle(initialLayoutState());
2711
+ _v$89 !== _p$.e && _$className(_el$151, _p$.e = _v$89);
2712
+ _v$90 !== _p$.t && _$setAttribute(_el$151, "data-mobile-surface", _p$.t = _v$90);
2713
+ _v$91 !== _p$.a && _$setAttribute(_el$151, "data-flat", _p$.a = _v$91);
2714
+ _v$92 !== _p$.o && _$setAttribute(_el$151, "data-sidebar-collapsed", _p$.o = _v$92);
2715
+ _v$93 !== _p$.i && _$setAttribute(_el$151, "data-workspace-resizable", _p$.i = _v$93);
2716
+ _p$.n = _$style(_el$151, _v$94, _p$.n);
2658
2717
  return _p$;
2659
2718
  }, {
2660
2719
  e: undefined,
@@ -2664,7 +2723,7 @@ const AppWorkspace = props => {
2664
2723
  i: undefined,
2665
2724
  n: undefined
2666
2725
  });
2667
- return _el$145;
2726
+ return _el$151;
2668
2727
  }
2669
2728
  });
2670
2729
  }
@@ -2680,10 +2739,10 @@ AppWorkspace.LayoutStateProvider = props => _$createComponent(LayoutStateContext
2680
2739
  });
2681
2740
  AppWorkspace.Head = AppWorkspaceHeadSlot;
2682
2741
  AppWorkspace.Content = props => (() => {
2683
- var _el$146 = _$getNextElement(_tmpl$5);
2684
- _$insert(_el$146, () => props.children);
2685
- _$effect(() => _$className(_el$146, `k2b-app-workspace__content ${props.class ?? ""}`));
2686
- return _el$146;
2742
+ var _el$152 = _$getNextElement(_tmpl$6);
2743
+ _$insert(_el$152, () => props.children);
2744
+ _$effect(() => _$className(_el$152, `k2b-app-workspace__content ${props.class ?? ""}`));
2745
+ return _el$152;
2687
2746
  })();
2688
2747
  AppWorkspace.Main = AppWorkspaceMain;
2689
2748
  AppWorkspace.MainPane = AppWorkspaceMainPane;